//https://redd.it/9g5t45
!function (e) {
var t = {};
function n(r) {
if (t[r])
return t[r].exports;
var i = t[r] = {
i: r,
l: !1,
exports: {}
};
return e[r].call(i.exports, i, i.exports, n),
i.l = !0,
i.exports
}
n.m = e,
n.c = t,
n.d = function (e, t, r) {
n.o(e, t) || Object.defineProperty(e, t, {
configurable: !1,
enumerable: !0,
get: r
})
},
n.n = function (e) {
var t = e && e.__esModule ? function () {
return e.default
}
: function () {
return e
};
return n.d(t, "a", t),
t
},
n.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
},
n.p = "/",
n(n.s = 0)
}
([function (e, t, n) {
n(1),
e.exports = n(6)
}, function (e, t, n) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
});
var r = n(2),
i = (n.n(r), n(3));
window.jq = window.$ = window.jQuery = r;
var o = n(4),
a = {
css: function () {
var e = document.createElement("link");
return e.setAttribute("href", "https://venipa.net/user-scripts/ytd/css/app.css"),
e.rel = "stylesheet",
e
},
converterUrl: "https://yt2mp3.venipa.net/",
mp3Url: "https://www.convertmp3.io/fetch/?video=v=",
test: {
url: "https://www.youtube.com/embed/Um15yw9Vp"
},
playerControls: ".ytp-chrome-controls .ytp-right-controls",
title: function () {
var e = document.querySelector("title");
return e ? e.innerText : null
},
templates: {
button: '<button class="ytd-button">{{text}}</button>',
icon: '<i class="mdi mdi-{{icon}}"></i>',
videoControlButton: '<button class="ytd-download-button ytd-button" data-tippy aria-pressed="false" title="{{title}}">{{text}}</button>'
},
icons: {
download: function () {
return atob("PHN2ZyBzdHlsZT0id2lkdGg6MjRweDtoZWlnaHQ6MjRweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik01LDIwSDE5VjE4SDVNMTksOUgxNVYzSDlWOUg1TDEyLDE2TDE5LDlaIiAvPgo8L3N2Zz4=")
}
}
};
String.prototype.replaceVar || Object.defineProperty(String.prototype, "replaceVar", {
value: function (e, t) {
return this.replace("{{" + e + "}}", t)
},
enumerable: !1
}),
function (e) {
document.querySelector("head").appendChild(a.css());
var t = e(a.templates.videoControlButton.replaceVar("title", "Download MP3").replaceVar("text", a.icons.download()));
setInterval(function () {
(-1 === window.location.pathname.indexOf("embed") || -1 === window.location.pathname.indexOf("watch")) && e(".ytd-download-button").length > 0 || (t = e(a.playerControls).append(t), e(".ytd-download-button").on("click", function (e) {
e.preventDefault();
var t,
n = new URL(window.location.href);
if (n.pathname.indexOf("/embed/") > -1) {
var r = n.pathname.split("/");
t = r[r.length - 1]
} else {
if (!n.searchParams.has("v"))
return;
t = n.searchParams.get("v")
}
i.nativeDownload(a.mp3Url + t, a.title() + ".mp3")
}), o("[data-tippy]"))
}, 1e3)
}
(r)
}, function (e, t, n) {
var r,
i,
o;
i = "undefined" != typeof window ? window : this,
o = function (n, i) {
var o = [],
a = n.document,
s = o.slice,
u = o.concat,
l = o.push,
c = o.indexOf,
f = {},
d = f.toString,
p = f.hasOwnProperty,
h = {},
m = function (e, t) {
return new m.fn.init(e, t)
},
v = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
g = /^-ms-/,
y = /-([\da-z])/gi,
b = function (e, t) {
return t.toUpperCase()
};
function w(e) {
var t = !!e && "length" in e && e.length,
n = m.type(e);
return "function" !== n && !m.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
}
m.fn = m.prototype = {
jquery: "1.12.4",
constructor: m,
selector: "",
length: 0,
toArray: function () {
return s.call(this)
},
get: function (e) {
return null != e ? e < 0 ? this[e + this.length] : this[e] : s.call(this)
},
pushStack: function (e) {
var t = m.merge(this.constructor(), e);
return t.prevObject = this,
t.context = this.context,
t
},
each: function (e) {
return m.each(this, e)
},
map: function (e) {
return this.pushStack(m.map(this, function (t, n) {
return e.call(t, n, t)
}))
},
slice: function () {
return this.pushStack(s.apply(this, arguments))
},
first: function () {
return this.eq(0)
},
last: function () {
return this.eq(-1)
},
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: l,
sort: o.sort,
splice: o.splice
},
m.extend = m.fn.extend = function () {
var e,
t,
n,
r,
i,
o,
a = arguments[0] || {},
s = 1,
u = arguments.length,
l = !1;
for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m.isFunction(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
if (null != (i = arguments[s]))
for (r in i)
e = a[r], a !== (n = i[r]) && (l && n && (m.isPlainObject(n) || (t = m.isArray(n))) ? (t ? (t = !1, o = e && m.isArray(e) ? e : []) : o = e && m.isPlainObject(e) ? e : {}, a[r] = m.extend(l, o, n)) : void 0 !== n && (a[r] = n));
return a
},
m.extend({
expando: "jQuery" + ("1.12.4" + Math.random()).replace(/\D/g, ""),
isReady: !0,
error: function (e) {
throw new Error(e)
},
noop: function () {},
isFunction: function (e) {
return "function" === m.type(e)
},
isArray: Array.isArray || function (e) {
return "array" === m.type(e)
},
isWindow: function (e) {
return null != e && e == e.window
},
isNumeric: function (e) {
var t = e && e.toString();
return !m.isArray(e) && t - parseFloat(t) + 1 >= 0
},
isEmptyObject: function (e) {
var t;
for (t in e)
return !1;
return !0
},
isPlainObject: function (e) {
var t;
if (!e || "object" !== m.type(e) || e.nodeType || m.isWindow(e))
return !1;
try {
if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isPrototypeOf"))
return !1
} catch (e) {
return !1
}
if (!h.ownFirst)
for (t in e)
return p.call(e, t);
for (t in e);
return void 0 === t || p.call(e, t)
},
type: function (e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? f[d.call(e)] || "object" : typeof e
},
globalEval: function (e) {
e && m.trim(e) && (n.execScript || function (e) {
n.eval.call(n, e)
})(e)
},
camelCase: function (e) {
return e.replace(g, "ms-").replace(y, b)
},
nodeName: function (e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
},
each: function (e, t) {
var n,
r = 0;
if (w(e))
for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++);
else
for (r in e)
if (!1 === t.call(e[r], r, e[r]))
break;
return e
},
trim: function (e) {
return null == e ? "" : (e + "").replace(v, "")
},
makeArray: function (e, t) {
var n = t || [];
return null != e && (w(Object(e)) ? m.merge(n, "string" == typeof e ? [e] : e) : l.call(n, e)),
n
},
inArray: function (e, t, n) {
var r;
if (t) {
if (c)
return c.call(t, e, n);
for (r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0; n < r; n++)
if (n in t && t[n] === e)
return n
}
return -1
},
merge: function (e, t) {
for (var n = +t.length, r = 0, i = e.length; r < n; )
e[i++] = t[r++];
if (n != n)
for (; void 0 !== t[r]; )
e[i++] = t[r++];
return e.length = i,
e
},
grep: function (e, t, n) {
for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)
!t(e[i], i) !== a && r.push(e[i]);
return r
},
map: function (e, t, n) {
var r,
i,
o = 0,
a = [];
if (w(e))
for (r = e.length; o < r; o++)
null != (i = t(e[o], o, n)) && a.push(i);
else
for (o in e)
null != (i = t(e[o], o, n)) && a.push(i);
return u.apply([], a)
},
guid: 1,
proxy: function (e, t) {
var n,
r,
i;
if ("string" == typeof t && (i = e[t], t = e, e = i), m.isFunction(e))
return n = s.call(arguments, 2), (r = function () {
return e.apply(t || this, n.concat(s.call(arguments)))
}).guid = e.guid = e.guid || m.guid++, r
},
now: function () {
return +new Date
},
support: h
}),
"function" == typeof Symbol && (m.fn[Symbol.iterator] = o[Symbol.iterator]),
m.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
f["[object " + t + "]"] = t.toLowerCase()
});
var x = function (e) {
var t,
n,
r,
i,
o,
a,
s,
u,
l,
c,
f,
d,
p,
h,
m,
v,
g,
y,
b,
w = "sizzle" + 1 * new Date,
x = e.document,
T = 0,
E = 0,
C = oe(),
k = oe(),
S = oe(),
L = function (e, t) {
return e === t && (f = !0),
0
},
N = 1 << 31,
A = {}
.hasOwnProperty,
D = [],
O = D.pop,
j = D.push,
H = D.push,
P = D.slice,
M = function (e, t) {
for (var n = 0, r = e.length; n < r; n++)
if (e[n] === t)
return n;
return -1
},
R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
q = "[\\x20\\t\\r\\n\\f]",
I = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
F = "\\[" + q + "*(" + I + ")(?:" + q + "*([*^$|!~]?=)" + q + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + q + "*\\]",
B = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + F + ")*)|.*)\\)|)",
_ = new RegExp(q + "+", "g"),
W = new RegExp("^" + q + "+|((?:^|[^\\\\])(?:\\\\.)*)" + q + "+$", "g"),
z = new RegExp("^" + q + "*," + q + "*"),
U = new RegExp("^" + q + "*([>+~]|" + q + ")" + q + "*"),
$ = new RegExp("=" + q + "*([^\\]'\"]*?)" + q + "*\\]", "g"),
X = new RegExp(B),
V = new RegExp("^" + I + "$"),
Y = {
ID: new RegExp("^#(" + I + ")"),
CLASS: new RegExp("^\\.(" + I + ")"),
TAG: new RegExp("^(" + I + "|[*])"),
ATTR: new RegExp("^" + F),
PSEUDO: new RegExp("^" + B),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + q + "*(even|odd|(([+-]|)(\\d*)n|)" + q + "*(?:([+-]|)" + q + "*(\\d+)|))" + q + "*\\)|)", "i"),
bool: new RegExp("^(?:" + R + ")$", "i"),
needsContext: new RegExp("^" + q + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + q + "*((?:-\\d)?\\d*)" + q + "*\\)|)(?=[^-]|$)", "i")
},
G = /^(?:input|select|textarea|button)$/i,
J = /^h\d$/i,
K = /^[^{]+\{\s*\[native \w/,
Q = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
Z = /[+~]/,
ee = /'|\\/g,
te = new RegExp("\\\\([\\da-f]{1,6}" + q + "?|(" + q + ")|.)", "ig"),
ne = function (e, t, n) {
var r = "0x" + t - 65536;
return r != r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
},
re = function () {
d()
};
try {
H.apply(D = P.call(x.childNodes), x.childNodes),
D[x.childNodes.length].nodeType
} catch (e) {
H = {
apply: D.length ? function (e, t) {
j.apply(e, P.call(t))
}
: function (e, t) {
for (var n = e.length, r = 0; e[n++] = t[r++]; );
e.length = n - 1
}
}
}
function ie(e, t, r, i) {
var o,
s,
l,
c,
f,
h,
g,
y,
T = t && t.ownerDocument,
E = t ? t.nodeType : 9;
if (r = r || [], "string" != typeof e || !e || 1 !== E && 9 !== E && 11 !== E)
return r;
if (!i && ((t ? t.ownerDocument || t : x) !== p && d(t), t = t || p, m)) {
if (11 !== E && (h = Q.exec(e)))
if (o = h[1]) {
if (9 === E) {
if (!(l = t.getElementById(o)))
return r;
if (l.id === o)
return r.push(l), r
} else if (T && (l = T.getElementById(o)) && b(t, l) && l.id === o)
return r.push(l), r
} else {
if (h[2])
return H.apply(r, t.getElementsByTagName(e)), r;
if ((o = h[3]) && n.getElementsByClassName && t.getElementsByClassName)
return H.apply(r, t.getElementsByClassName(o)), r
}
if (n.qsa && !S[e + " "] && (!v || !v.test(e))) {
if (1 !== E)
T = t, y = e;
else if ("object" !== t.nodeName.toLowerCase()) {
for ((c = t.getAttribute("id")) ? c = c.replace(ee, "\\$&") : t.setAttribute("id", c = w), s = (g = a(e)).length, f = V.test(c) ? "#" + c : "[id='" + c + "']"; s--; )
g[s] = f + " " + me(g[s]);
y = g.join(","),
T = Z.test(e) && pe(t.parentNode) || t
}
if (y)
try {
return H.apply(r, T.querySelectorAll(y)),
r
} catch (e) {}
finally {
c === w && t.removeAttribute("id")
}
}
}
return u(e.replace(W, "$1"), t, r, i)
}
function oe() {
var e = [];
return function t(n, i) {
return e.push(n + " ") > r.cacheLength && delete t[e.shift()],
t[n + " "] = i
}
}
function ae(e) {
return e[w] = !0,
e
}
function se(e) {
var t = p.createElement("div");
try {
return !!e(t)
} catch (e) {
return !1
}
finally {
t.parentNode && t.parentNode.removeChild(t),
t = null
}
}
function ue(e, t) {
for (var n = e.split("|"), i = n.length; i--; )
r.attrHandle[n[i]] = t
}
function le(e, t) {
var n = t && e,
r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || N) - (~e.sourceIndex || N);
if (r)
return r;
if (n)
for (; n = n.nextSibling; )
if (n === t)
return -1;
return e ? 1 : -1
}
function ce(e) {
return function (t) {
return "input" === t.nodeName.toLowerCase() && t.type === e
}
}
function fe(e) {
return function (t) {
var n = t.nodeName.toLowerCase();
return ("input" === n || "button" === n) && t.type === e
}
}
function de(e) {
return ae(function (t) {
return t = +t,
ae(function (n, r) {
for (var i, o = e([], n.length, t), a = o.length; a--; )
n[i = o[a]] && (n[i] = !(r[i] = n[i]))
})
})
}
function pe(e) {
return e && void 0 !== e.getElementsByTagName && e
}
for (t in n = ie.support = {}, o = ie.isXML = function (e) {
var t = e && (e.ownerDocument || e).documentElement;
return !!t && "HTML" !== t.nodeName
}, d = ie.setDocument = function (e) {
var t,
i,
a = e ? e.ownerDocument || e : x;
return a !== p && 9 === a.nodeType && a.documentElement ? (h = (p = a).documentElement, m = !o(p), (i = p.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", re, !1) : i.attachEvent && i.attachEvent("onunload", re)), n.attributes = se(function (e) {
return e.className = "i",
!e.getAttribute("className")
}), n.getElementsByTagName = se(function (e) {
return e.appendChild(p.createComment("")),
!e.getElementsByTagName("*").length
}), n.getElementsByClassName = K.test(p.getElementsByClassName), n.getById = se(function (e) {
return h.appendChild(e).id = w,
!p.getElementsByName || !p.getElementsByName(w).length
}), n.getById ? (r.find.ID = function (e, t) {
if (void 0 !== t.getElementById && m) {
var n = t.getElementById(e);
return n ? [n] : []
}
}, r.filter.ID = function (e) {
var t = e.replace(te, ne);
return function (e) {
return e.getAttribute("id") === t
}
}) : (delete r.find.ID, r.filter.ID = function (e) {
var t = e.replace(te, ne);
return function (e) {
var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
return n && n.value === t
}
}), r.find.TAG = n.getElementsByTagName ? function (e, t) {
return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0
}
: function (e, t) {
var n,
r = [],
i = 0,
o = t.getElementsByTagName(e);
if ("*" === e) {
for (; n = o[i++]; )
1 === n.nodeType && r.push(n);
return r
}
return o
}, r.find.CLASS = n.getElementsByClassName && function (e, t) {
if (void 0 !== t.getElementsByClassName && m)
return t.getElementsByClassName(e)
}, g = [], v = [], (n.qsa = K.test(p.querySelectorAll)) && (se(function (e) {
h.appendChild(e).innerHTML = "<a id='" + w + "'></a><select id='" + w + "-\r\\' msallowcapture=''><option selected=''></option></select>",
e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + q + "*(?:''|\"\")"),
e.querySelectorAll("[selected]").length || v.push("\\[" + q + "*(?:value|" + R + ")"),
e.querySelectorAll("[id~=" + w + "-]").length || v.push("~="),
e.querySelectorAll(":checked").length || v.push(":checked"),
e.querySelectorAll("a#" + w + "+*").length || v.push(".#.+[+~]")
}), se(function (e) {
var t = p.createElement("input");
t.setAttribute("type", "hidden"),
e.appendChild(t).setAttribute("name", "D"),
e.querySelectorAll("[name=d]").length && v.push("name" + q + "*[*^$|!~]?="),
e.querySelectorAll(":enabled").length || v.push(":enabled", ":disabled"),
e.querySelectorAll("*,:x"),
v.push(",.*:")
})), (n.matchesSelector = K.test(y = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && se(function (e) {
n.disconnectedMatch = y.call(e, "div"),
y.call(e, "[s!='']:x"),
g.push("!=", B)
}), v = v.length && new RegExp(v.join("|")), g = g.length && new RegExp(g.join("|")), t = K.test(h.compareDocumentPosition), b = t || K.test(h.contains) ? function (e, t) {
var n = 9 === e.nodeType ? e.documentElement : e,
r = t && t.parentNode;
return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
}
: function (e, t) {
if (t)
for (; t = t.parentNode; )
if (t === e)
return !0;
return !1
}, L = t ? function (e, t) {
if (e === t)
return f = !0, 0;
var r = !e.compareDocumentPosition - !t.compareDocumentPosition;
return r || (1 & (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e === p || e.ownerDocument === x && b(x, e) ? -1 : t === p || t.ownerDocument === x && b(x, t) ? 1 : c ? M(c, e) - M(c, t) : 0 : 4 & r ? -1 : 1)
}
: function (e, t) {
if (e === t)
return f = !0, 0;
var n,
r = 0,
i = e.parentNode,
o = t.parentNode,
a = [e],
s = [t];
if (!i || !o)
return e === p ? -1 : t === p ? 1 : i ? -1 : o ? 1 : c ? M(c, e) - M(c, t) : 0;
if (i === o)
return le(e, t);
for (n = e; n = n.parentNode; )
a.unshift(n);
for (n = t; n = n.parentNode; )
s.unshift(n);
for (; a[r] === s[r]; )
r++;
return r ? le(a[r], s[r]) : a[r] === x ? -1 : s[r] === x ? 1 : 0
}, p) : p
}, ie.matches = function (e, t) {
return ie(e, null, null, t)
}, ie.matchesSelector = function (e, t) {
if ((e.ownerDocument || e) !== p && d(e), t = t.replace($, "='$1']"), n.matchesSelector && m && !S[t + " "] && (!g || !g.test(t)) && (!v || !v.test(t)))
try {
var r = y.call(e, t);
if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType)
return r
} catch (e) {}
return ie(t, p, null, [e]).length > 0
}, ie.contains = function (e, t) {
return (e.ownerDocument || e) !== p && d(e),
b(e, t)
}, ie.attr = function (e, t) {
(e.ownerDocument || e) !== p && d(e);
var i = r.attrHandle[t.toLowerCase()],
o = i && A.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !m) : void 0;
return void 0 !== o ? o : n.attributes || !m ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null
}, ie.error = function (e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}, ie.uniqueSort = function (e) {
var t,
r = [],
i = 0,
o = 0;
if (f = !n.detectDuplicates, c = !n.sortStable && e.slice(0), e.sort(L), f) {
for (; t = e[o++]; )
t === e[o] && (i = r.push(o));
for (; i--; )
e.splice(r[i], 1)
}
return c = null,
e
}, i = ie.getText = function (e) {
var t,
n = "",
r = 0,
o = e.nodeType;
if (o) {
if (1 === o || 9 === o || 11 === o) {
if ("string" == typeof e.textContent)
return e.textContent;
for (e = e.firstChild; e; e = e.nextSibling)
n += i(e)
} else if (3 === o || 4 === o)
return e.nodeValue
} else
for (; t = e[r++]; )
n += i(t);
return n
}, (r = ie.selectors = {
cacheLength: 50,
createPseudo: ae,
match: Y,
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(te, ne),
e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne),
"~=" === 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] || ie.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] && ie.error(e[0]),
e
},
PSEUDO: function (e) {
var t,
n = !e[6] && e[2];
return Y.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = a(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(te, ne).toLowerCase();
return "*" === e ? function () {
return !0
}
: function (e) {
return e.nodeName && e.nodeName.toLowerCase() === t
}
},
CLASS: function (e) {
var t = C[e + " "];
return t || (t = new RegExp("(^|" + q + ")" + e + "(" + q + "|$)")) && C(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 (r) {
var i = ie.attr(r, e);
return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i.replace(_, " ") + " ").indexOf(n) > -1 : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-"))
}
},
CHILD: function (e, t, n, r, i) {
var o = "nth" !== e.slice(0, 3),
a = "last" !== e.slice(-4),
s = "of-type" === t;
return 1 === r && 0 === i ? function (e) {
return !!e.parentNode
}
: function (t, n, u) {
var l,
c,
f,
d,
p,
h,
m = o !== a ? "nextSibling" : "previousSibling",
v = t.parentNode,
g = s && t.nodeName.toLowerCase(),
y = !u && !s,
b = !1;
if (v) {
if (o) {
for (; m; ) {
for (d = t; d = d[m]; )
if (s ? d.nodeName.toLowerCase() === g : 1 === d.nodeType)
return !1;
h = m = "only" === e && !h && "nextSibling"
}
return !0
}
if (h = [a ? v.firstChild : v.lastChild], a && y) {
for (b = (p = (l = (c = (f = (d = v)[w] || (d[w] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] || [])[0] === T && l[1]) && l[2], d = p && v.childNodes[p]; d = ++p && d && d[m] || (b = p = 0) || h.pop(); )
if (1 === d.nodeType && ++b && d === t) {
c[e] = [T, p, b];
break
}
} else if (y && (b = p = (l = (c = (f = (d = t)[w] || (d[w] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] || [])[0] === T && l[1]), !1 === b)
for (; (d = ++p && d && d[m] || (b = p = 0) || h.pop()) && ((s ? d.nodeName.toLowerCase() !== g : 1 !== d.nodeType) || !++b || (y && ((c = (f = d[w] || (d[w] = {}))[d.uniqueID] || (f[d.uniqueID] = {}))[e] = [T, b]), d !== t)); );
return (b -= i) === r || b % r == 0 && b / r >= 0
}
}
},
PSEUDO: function (e, t) {
var n,
i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || ie.error("unsupported pseudo: " + e);
return i[w] ? i(t) : i.length > 1 ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? ae(function (e, n) {
for (var r, o = i(e, t), a = o.length; a--; )
e[r = M(e, o[a])] = !(n[r] = o[a])
}) : function (e) {
return i(e, 0, n)
}) : i
}
},
pseudos: {
not: ae(function (e) {
var t = [],
n = [],
r = s(e.replace(W, "$1"));
return r[w] ? ae(function (e, t, n, i) {
for (var o, a = r(e, null, i, []), s = e.length; s--; )
(o = a[s]) && (e[s] = !(t[s] = o))
}) : function (e, i, o) {
return t[0] = e,
r(t, null, o, n),
t[0] = null,
!n.pop()
}
}),
has: ae(function (e) {
return function (t) {
return ie(e, t).length > 0
}
}),
contains: ae(function (e) {
return e = e.replace(te, ne),
function (t) {
return (t.textContent || t.innerText || i(t)).indexOf(e) > -1
}
}),
lang: ae(function (e) {
return V.test(e || "") || ie.error("unsupported lang: " + e),
e = e.replace(te, ne).toLowerCase(),
function (t) {
var n;
do {
if (n = m ? 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 === h
},
focus: function (e) {
return e === p.activeElement && (!p.hasFocus || p.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
},
enabled: function (e) {
return !1 === e.disabled
},
disabled: function (e) {
return !0 === e.disabled
},
checked: function (e) {
var t = e.nodeName.toLowerCase();
return "input" === t && !!e.checked || "option" === t && !!e.selected
},
selected: function (e) {
return e.parentNode && e.parentNode.selectedIndex,
!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 !r.pseudos.empty(e)
},
header: function (e) {
return J.test(e.nodeName)
},
input: function (e) {
return G.test(e.nodeName)
},
button: function (e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
},
text: function (e) {
var t;
return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
},
first: de(function () {
return [0]
}),
last: de(function (e, t) {
return [t - 1]
}),
eq: de(function (e, t, n) {
return [n < 0 ? n + t : n]
}),
even: de(function (e, t) {
for (var n = 0; n < t; n += 2)
e.push(n);
return e
}),
odd: de(function (e, t) {
for (var n = 1; n < t; n += 2)
e.push(n);
return e
}),
lt: de(function (e, t, n) {
for (var r = n < 0 ? n + t : n; --r >= 0; )
e.push(r);
return e
}),
gt: de(function (e, t, n) {
for (var r = n < 0 ? n + t : n; ++r < t; )
e.push(r);
return e
})
}
}).pseudos.nth = r.pseudos.eq, {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
})r.pseudos[t] = ce(t);
for (t in {
submit: !0,
reset: !0
})
r.pseudos[t] = fe(t);
function he() {}
function me(e) {
for (var t = 0, n = e.length, r = ""; t < n; t++)
r += e[t].value;
return r
}
function ve(e, t, n) {
var r = t.dir,
i = n && "parentNode" === r,
o = E++;
return t.first ? function (t, n, o) {
for (; t = t[r]; )
if (1 === t.nodeType || i)
return e(t, n, o)
}
: function (t, n, a) {
var s,
u,
l,
c = [T, o];
if (a) {
for (; t = t[r]; )
if ((1 === t.nodeType || i) && e(t, n, a))
return !0
} else
for (; t = t[r]; )
if (1 === t.nodeType || i) {
if ((s = (u = (l = t[w] || (t[w] = {}))[t.uniqueID] || (l[t.uniqueID] = {}))[r]) && s[0] === T && s[1] === o)
return c[2] = s[2];
if (u[r] = c, c[2] = e(t, n, a))
return !0
}
}
}
function ge(e) {
return e.length > 1 ? function (t, n, r) {
for (var i = e.length; i--; )
if (!e[i](t, n, r))
return !1;
return !0
}
: e[0]
}
function ye(e, t, n, r, i) {
for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)
(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s)));
return a
}
function be(e, t, n, r, i, o) {
return r && !r[w] && (r = be(r)),
i && !i[w] && (i = be(i, o)),
ae(function (o, a, s, u) {
var l,
c,
f,
d = [],
p = [],
h = a.length,
m = o || function (e, t, n) {
for (var r = 0, i = t.length; r < i; r++)
ie(e, t[r], n);
return n
}
(t || "*", s.nodeType ? [s] : s, []),
v = !e || !o && t ? m : ye(m, d, e, s, u),
g = n ? i || (o ? e : h || r) ? [] : a : v;
if (n && n(v, g, s, u), r)
for (l = ye(g, p), r(l, [], s, u), c = l.length; c--; )
(f = l[c]) && (g[p[c]] = !(v[p[c]] = f));
if (o) {
if (i || e) {
if (i) {
for (l = [], c = g.length; c--; )
(f = g[c]) && l.push(v[c] = f);
i(null, g = [], l, u)
}
for (c = g.length; c--; )
(f = g[c]) && (l = i ? M(o, f) : d[c]) > -1 && (o[l] = !(a[l] = f))
}
} else
g = ye(g === a ? g.splice(h, g.length) : g), i ? i(null, a, g, u) : H.apply(a, g)
})
}
function we(e) {
for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], u = a ? 1 : 0, c = ve(function (e) {
return e === t
}, s, !0), f = ve(function (e) {
return M(t, e) > -1
}, s, !0), d = [function (e, n, r) {
var i = !a && (r || n !== l) || ((t = n).nodeType ? c(e, n, r) : f(e, n, r));
return t = null,
i
}
]; u < o; u++)
if (n = r.relative[e[u].type])
d = [ve(ge(d), n)];
else {
if ((n = r.filter[e[u].type].apply(null, e[u].matches))[w]) {
for (i = ++u; i < o && !r.relative[e[i].type]; i++);
return be(u > 1 && ge(d), u > 1 && me(e.slice(0, u - 1).concat({
value: " " === e[u - 2].type ? "*" : ""
})).replace(W, "$1"), n, u < i && we(e.slice(u, i)), i < o && we(e = e.slice(i)), i < o && me(e))
}
d.push(n)
}
return ge(d)
}
return he.prototype = r.filters = r.pseudos,
r.setFilters = new he,
a = ie.tokenize = function (e, t) {
var n,
i,
o,
a,
s,
u,
l,
c = k[e + " "];
if (c)
return t ? 0 : c.slice(0);
for (s = e, u = [], l = r.preFilter; s; ) {
for (a in n && !(i = z.exec(s)) || (i && (s = s.slice(i[0].length) || s), u.push(o = [])), n = !1, (i = U.exec(s)) && (n = i.shift(), o.push({
value: n,
type: i[0].replace(W, " ")
}), s = s.slice(n.length)), r.filter)
!(i = Y[a].exec(s)) || l[a] && !(i = l[a](i)) || (n = i.shift(), o.push({
value: n,
type: a,
matches: i
}), s = s.slice(n.length));
if (!n)
break
}
return t ? s.length : s ? ie.error(e) : k(e, u).slice(0)
},
s = ie.compile = function (e, t) {
var n,
i = [],
o = [],
s = S[e + " "];
if (!s) {
for (t || (t = a(e)), n = t.length; n--; )
(s = we(t[n]))[w] ? i.push(s) : o.push(s);
(s = S(e, function (e, t) {
var n = t.length > 0,
i = e.length > 0,
o = function (o, a, s, u, c) {
var f,
h,
v,
g = 0,
y = "0",
b = o && [],
w = [],
x = l,
E = o || i && r.find.TAG("*", c),
C = T += null == x ? 1 : Math.random() || .1,
k = E.length;
for (c && (l = a === p || a || c); y !== k && null != (f = E[y]); y++) {
if (i && f) {
for (h = 0, a || f.ownerDocument === p || (d(f), s = !m); v = e[h++]; )
if (v(f, a || p, s)) {
u.push(f);
break
}
c && (T = C)
}
n && ((f = !v && f) && g--, o && b.push(f))
}
if (g += y, n && y !== g) {
for (h = 0; v = t[h++]; )
v(b, w, a, s);
if (o) {
if (g > 0)
for (; y--; )
b[y] || w[y] || (w[y] = O.call(u));
w = ye(w)
}
H.apply(u, w),
c && !o && w.length > 0 && g + t.length > 1 && ie.uniqueSort(u)
}
return c && (T = C, l = x),
b
};
return n ? ae(o) : o
}
(o, i))).selector = e
}
return s
},
u = ie.select = function (e, t, i, o) {
var u,
l,
c,
f,
d,
p = "function" == typeof e && e,
h = !o && a(e = p.selector || e);
if (i = i || [], 1 === h.length) {
if ((l = h[0] = h[0].slice(0)).length > 2 && "ID" === (c = l[0]).type && n.getById && 9 === t.nodeType && m && r.relative[l[1].type]) {
if (!(t = (r.find.ID(c.matches[0].replace(te, ne), t) || [])[0]))
return i;
p && (t = t.parentNode),
e = e.slice(l.shift().value.length)
}
for (u = Y.needsContext.test(e) ? 0 : l.length; u-- && (c = l[u], !r.relative[f = c.type]); )
if ((d = r.find[f]) && (o = d(c.matches[0].replace(te, ne), Z.test(l[0].type) && pe(t.parentNode) || t))) {
if (l.splice(u, 1), !(e = o.length && me(l)))
return H.apply(i, o), i;
break
}
}
return (p || s(e, h))(o, t, !m, i, !t || Z.test(e) && pe(t.parentNode) || t),
i
},
n.sortStable = w.split("").sort(L).join("") === w,
n.detectDuplicates = !!f,
d(),
n.sortDetached = se(function (e) {
return 1 & e.compareDocumentPosition(p.createElement("div"))
}),
se(function (e) {
return e.innerHTML = "<a href='#'></a>",
"#" === e.firstChild.getAttribute("href")
}) || ue("type|href|height|width", function (e, t, n) {
if (!n)
return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
}),
n.attributes && se(function (e) {
return e.innerHTML = "<input/>",
e.firstChild.setAttribute("value", ""),
"" === e.firstChild.getAttribute("value")
}) || ue("value", function (e, t, n) {
if (!n && "input" === e.nodeName.toLowerCase())
return e.defaultValue
}),
se(function (e) {
return null == e.getAttribute("disabled")
}) || ue(R, function (e, t, n) {
var r;
if (!n)
return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
}),
ie
}
(n);
m.find = x,
m.expr = x.selectors,
m.expr[":"] = m.expr.pseudos,
m.uniqueSort = m.unique = x.uniqueSort,
m.text = x.getText,
m.isXMLDoc = x.isXML,
m.contains = x.contains;
var T = function (e, t, n) {
for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; )
if (1 === e.nodeType) {
if (i && m(e).is(n))
break;
r.push(e)
}
return r
},
E = function (e, t) {
for (var n = []; e; e = e.nextSibling)
1 === e.nodeType && e !== t && n.push(e);
return n
},
C = m.expr.match.needsContext,
k = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
S = /^.[^:#\[\.,]*$/;
function L(e, t, n) {
if (m.isFunction(t))
return m.grep(e, function (e, r) {
return !!t.call(e, r, e) !== n
});
if (t.nodeType)
return m.grep(e, function (e) {
return e === t !== n
});
if ("string" == typeof t) {
if (S.test(t))
return m.filter(t, e, n);
t = m.filter(t, e)
}
return m.grep(e, function (e) {
return m.inArray(e, t) > -1 !== n
})
}
m.filter = function (e, t, n) {
var r = t[0];
return n && (e = ":not(" + e + ")"),
1 === t.length && 1 === r.nodeType ? m.find.matchesSelector(r, e) ? [r] : [] : m.find.matches(e, m.grep(t, function (e) {
return 1 === e.nodeType
}))
},
m.fn.extend({
find: function (e) {
var t,
n = [],
r = this,
i = r.length;
if ("string" != typeof e)
return this.pushStack(m(e).filter(function () {
for (t = 0; t < i; t++)
if (m.contains(r[t], this))
return !0
}));
for (t = 0; t < i; t++)
m.find(e, r[t], n);
return (n = this.pushStack(i > 1 ? m.unique(n) : n)).selector = this.selector ? this.selector + " " + e : e,
n
},
filter: function (e) {
return this.pushStack(L(this, e || [], !1))
},
not: function (e) {
return this.pushStack(L(this, e || [], !0))
},
is: function (e) {
return !!L(this, "string" == typeof e && C.test(e) ? m(e) : e || [], !1).length
}
});
var N,
A = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;
(m.fn.init = function (e, t, n) {
var r,
i;
if (!e)
return this;
if (n = n || N, "string" == typeof e) {
if (!(r = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : A.exec(e)) || !r[1] && t)
return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
if (r[1]) {
if (t = t instanceof m ? t[0] : t, m.merge(this, m.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : a, !0)), k.test(r[1]) && m.isPlainObject(t))
for (r in t)
m.isFunction(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
return this
}
if ((i = a.getElementById(r[2])) && i.parentNode) {
if (i.id !== r[2])
return N.find(e);
this.length = 1,
this[0] = i
}
return this.context = a,
this.selector = e,
this
}
return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : m.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(m) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), m.makeArray(e, this))
}).prototype = m.fn,
N = m(a);
var D = /^(?:parents|prev(?:Until|All))/,
O = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
function j(e, t) {
do {
e = e[t]
} while (e && 1 !== e.nodeType);
return e
}
m.fn.extend({
has: function (e) {
var t,
n = m(e, this),
r = n.length;
return this.filter(function () {
for (t = 0; t < r; t++)
if (m.contains(this, n[t]))
return !0
})
},
closest: function (e, t) {
for (var n, r = 0, i = this.length, o = [], a = C.test(e) || "string" != typeof e ? m(e, t || this.context) : 0; r < i; r++)
for (n = this[r]; n && n !== t; n = n.parentNode)
if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && m.find.matchesSelector(n, e))) {
o.push(n);
break
}
return this.pushStack(o.length > 1 ? m.uniqueSort(o) : o)
},
index: function (e) {
return e ? "string" == typeof e ? m.inArray(this[0], m(e)) : m.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function (e, t) {
return this.pushStack(m.uniqueSort(m.merge(this.get(), m(e, t))))
},
addBack: function (e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
}
}),
m.each({
parent: function (e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
},
parents: function (e) {
return T(e, "parentNode")
},
parentsUntil: function (e, t, n) {
return T(e, "parentNode", n)
},
next: function (e) {
return j(e, "nextSibling")
},
prev: function (e) {
return j(e, "previousSibling")
},
nextAll: function (e) {
return T(e, "nextSibling")
},
prevAll: function (e) {
return T(e, "previousSibling")
},
nextUntil: function (e, t, n) {
return T(e, "nextSibling", n)
},
prevUntil: function (e, t, n) {
return T(e, "previousSibling", n)
},
siblings: function (e) {
return E((e.parentNode || {}).firstChild, e)
},
children: function (e) {
return E(e.firstChild)
},
contents: function (e) {
return m.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : m.merge([], e.childNodes)
}
}, function (e, t) {
m.fn[e] = function (n, r) {
var i = m.map(this, t, n);
return "Until" !== e.slice(-5) && (r = n),
r && "string" == typeof r && (i = m.filter(r, i)),
this.length > 1 && (O[e] || (i = m.uniqueSort(i)), D.test(e) && (i = i.reverse())),
this.pushStack(i)
}
});
var H,
P,
M = /\S+/g;
function R() {
a.addEventListener ? (a.removeEventListener("DOMContentLoaded", q), n.removeEventListener("load", q)) : (a.detachEvent("onreadystatechange", q), n.detachEvent("onload", q))
}
function q() {
(a.addEventListener || "load" === n.event.type || "complete" === a.readyState) && (R(), m.ready())
}
for (P in m.Callbacks = function (e) {
e = "string" == typeof e ? function (e) {
var t = {};
return m.each(e.match(M) || [], function (e, n) {
t[n] = !0
}),
t
}
(e) : m.extend({}, e);
var t,
n,
r,
i,
o = [],
a = [],
s = -1,
u = function () {
for (i = e.once, r = 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,
i && (o = n ? [] : "")
},
l = {
add: function () {
return o && (n && !t && (s = o.length - 1, a.push(n)), function t(n) {
m.each(n, function (n, r) {
m.isFunction(r) ? e.unique && l.has(r) || o.push(r) : r && r.length && "string" !== m.type(r) && t(r)
})
}
(arguments), n && !t && u()),
this
},
remove: function () {
return m.each(arguments, function (e, t) {
for (var n; (n = m.inArray(t, o, n)) > -1; )
o.splice(n, 1), n <= s && s--
}),
this
},
has: function (e) {
return e ? m.inArray(e, o) > -1 : o.length > 0
},
empty: function () {
return o && (o = []),
this
},
disable: function () {
return i = a = [],
o = n = "",
this
},
disabled: function () {
return !o
},
lock: function () {
return i = !0,
n || l.disable(),
this
},
locked: function () {
return !!i
},
fireWith: function (e, n) {
return i || (n = [e, (n = n || []).slice ? n.slice() : n], a.push(n), t || u()),
this
},
fire: function () {
return l.fireWith(this, arguments),
this
},
fired: function () {
return !!r
}
};
return l
}, m.extend({
Deferred: function (e) {
var t = [["resolve", "done", m.Callbacks("once memory"), "resolved"], ["reject", "fail", m.Callbacks("once memory"), "rejected"], ["notify", "progress", m.Callbacks("memory")]],
n = "pending",
r = {
state: function () {
return n
},
always: function () {
return i.done(arguments).fail(arguments),
this
},
then: function () {
var e = arguments;
return m.Deferred(function (n) {
m.each(t, function (t, o) {
var a = m.isFunction(e[t]) && e[t];
i[o[1]](function () {
var e = a && a.apply(this, arguments);
e && m.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === r ? n.promise() : this, a ? [e] : arguments)
})
}),
e = null
}).promise()
},
promise: function (e) {
return null != e ? m.extend(e, r) : r
}
},
i = {};
return r.pipe = r.then,
m.each(t, function (e, o) {
var a = o[2],
s = o[3];
r[o[1]] = a.add,
s && a.add(function () {
n = s
}, t[1 ^ e][2].disable, t[2][2].lock),
i[o[0]] = function () {
return i[o[0] + "With"](this === i ? r : this, arguments),
this
},
i[o[0] + "With"] = a.fireWith
}),
r.promise(i),
e && e.call(i, i),
i
},
when: function (e) {
var t,
n,
r,
i = 0,
o = s.call(arguments),
a = o.length,
u = 1 !== a || e && m.isFunction(e.promise) ? a : 0,
l = 1 === u ? e : m.Deferred(),
c = function (e, n, r) {
return function (i) {
n[e] = this,
r[e] = arguments.length > 1 ? s.call(arguments) : i,
r === t ? l.notifyWith(n, r) : --u || l.resolveWith(n, r)
}
};
if (a > 1)
for (t = new Array(a), n = new Array(a), r = new Array(a); i < a; i++)
o[i] && m.isFunction(o[i].promise) ? o[i].promise().progress(c(i, n, t)).done(c(i, r, o)).fail(l.reject) : --u;
return u || l.resolveWith(r, o),
l.promise()
}
}), m.fn.ready = function (e) {
return m.ready.promise().done(e),
this
}, m.extend({
isReady: !1,
readyWait: 1,
holdReady: function (e) {
e ? m.readyWait++ : m.ready(!0)
},
ready: function (e) {
(!0 === e ? --m.readyWait : m.isReady) || (m.isReady = !0, !0 !== e && --m.readyWait > 0 || (H.resolveWith(a, [m]), m.fn.triggerHandler && (m(a).triggerHandler("ready"), m(a).off("ready"))))
}
}), m.ready.promise = function (e) {
if (!H)
if (H = m.Deferred(), "complete" === a.readyState || "loading" !== a.readyState && !a.documentElement.doScroll)
n.setTimeout(m.ready);
else if (a.addEventListener)
a.addEventListener("DOMContentLoaded", q), n.addEventListener("load", q);
else {
a.attachEvent("onreadystatechange", q),
n.attachEvent("onload", q);
var t = !1;
try {
t = null == n.frameElement && a.documentElement
} catch (e) {}
t && t.doScroll && function e() {
if (!m.isReady) {
try {
t.doScroll("left")
} catch (t) {
return n.setTimeout(e, 50)
}
R(),
m.ready()
}
}
()
}
return H.promise(e)
}, m.ready.promise(), m(h))break;
h.ownFirst = "0" === P,
h.inlineBlockNeedsLayout = !1,
m(function () {
var e,
t,
n,
r;
(n = a.getElementsByTagName("body")[0]) && n.style && (t = a.createElement("div"), (r = a.createElement("div")).style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", n.appendChild(r).appendChild(t), void 0 !== t.style.zoom && (t.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", h.inlineBlockNeedsLayout = e = 3 === t.offsetWidth, e && (n.style.zoom = 1)), n.removeChild(r))
}),
function () {
var e = a.createElement("div");
h.deleteExpando = !0;
try {
delete e.test
} catch (e) {
h.deleteExpando = !1
}
e = null
}
();
var I,
F = function (e) {
var t = m.noData[(e.nodeName + " ").toLowerCase()],
n = +e.nodeType || 1;
return (1 === n || 9 === n) && (!t || !0 !== t && e.getAttribute("classid") === t)
},
B = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
_ = /([A-Z])/g;
function W(e, t, n) {
if (void 0 === n && 1 === e.nodeType) {
var r = "data-" + t.replace(_, "-$1").toLowerCase();
if ("string" == typeof(n = e.getAttribute(r))) {
try {
n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : B.test(n) ? m.parseJSON(n) : n)
} catch (e) {}
m.data(e, t, n)
} else
n = void 0
}
return n
}
function z(e) {
var t;
for (t in e)
if (("data" !== t || !m.isEmptyObject(e[t])) && "toJSON" !== t)
return !1;
return !0
}
function U(e, t, n, r) {
if (F(e)) {
var i,
a,
s = m.expando,
u = e.nodeType,
l = u ? m.cache : e,
c = u ? e[s] : e[s] && s;
if (c && l[c] && (r || l[c].data) || void 0 !== n || "string" != typeof t)
return c || (c = u ? e[s] = o.pop() || m.guid++ : s), l[c] || (l[c] = u ? {}
: {
toJSON: m.noop
}), "object" != typeof t && "function" != typeof t || (r ? l[c] = m.extend(l[c], t) : l[c].data = m.extend(l[c].data, t)), a = l[c], r || (a.data || (a.data = {}), a = a.data), void 0 !== n && (a[m.camelCase(t)] = n), "string" == typeof t ? null == (i = a[t]) && (i = a[m.camelCase(t)]) : i = a, i
}
}
function $(e, t, n) {
if (F(e)) {
var r,
i,
o = e.nodeType,
a = o ? m.cache : e,
s = o ? e[m.expando] : m.expando;
if (a[s]) {
if (t && (r = n ? a[s] : a[s].data)) {
i = (t = m.isArray(t) ? t.concat(m.map(t, m.camelCase)) : t in r ? [t] : (t = m.camelCase(t))in r ? [t] : t.split(" ")).length;
for (; i--; )
delete r[t[i]];
if (n ? !z(r) : !m.isEmptyObject(r))
return
}
(n || (delete a[s].data, z(a[s]))) && (o ? m.cleanData([e], !0) : h.deleteExpando || a != a.window ? delete a[s] : a[s] = void 0)
}
}
}
m.extend({
cache: {},
noData: {
"applet ": !0,
"embed ": !0,
"object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData: function (e) {
return !!(e = e.nodeType ? m.cache[e[m.expando]] : e[m.expando]) && !z(e)
},
data: function (e, t, n) {
return U(e, t, n)
},
removeData: function (e, t) {
return $(e, t)
},
_data: function (e, t, n) {
return U(e, t, n, !0)
},
_removeData: function (e, t) {
return $(e, t, !0)
}
}),
m.fn.extend({
data: function (e, t) {
var n,
r,
i,
o = this[0],
a = o && o.attributes;
if (void 0 === e) {
if (this.length && (i = m.data(o), 1 === o.nodeType && !m._data(o, "parsedAttrs"))) {
for (n = a.length; n--; )
a[n] && 0 === (r = a[n].name).indexOf("data-") && W(o, r = m.camelCase(r.slice(5)), i[r]);
m._data(o, "parsedAttrs", !0)
}
return i
}
return "object" == typeof e ? this.each(function () {
m.data(this, e)
}) : arguments.length > 1 ? this.each(function () {
m.data(this, e, t)
}) : o ? W(o, e, m.data(o, e)) : void 0
},
removeData: function (e) {
return this.each(function () {
m.removeData(this, e)
})
}
}),
m.extend({
queue: function (e, t, n) {
var r;
if (e)
return t = (t || "fx") + "queue", r = m._data(e, t), n && (!r || m.isArray(n) ? r = m._data(e, t, m.makeArray(n)) : r.push(n)), r || []
},
dequeue: function (e, t) {
t = t || "fx";
var n = m.queue(e, t),
r = n.length,
i = n.shift(),
o = m._queueHooks(e, t);
"inprogress" === i && (i = n.shift(), r--),
i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () {
m.dequeue(e, t)
}, o)),
!r && o && o.empty.fire()
},
_queueHooks: function (e, t) {
var n = t + "queueHooks";
return m._data(e, n) || m._data(e, n, {
empty: m.Callbacks("once memory").add(function () {
m._removeData(e, t + "queue"),
m._removeData(e, n)
})
})
}
}),
m.fn.extend({
queue: function (e, t) {
var n = 2;
return "string" != typeof e && (t = e, e = "fx", n--),
arguments.length < n ? m.queue(this[0], e) : void 0 === t ? this : this.each(function () {
var n = m.queue(this, e, t);
m._queueHooks(this, e),
"fx" === e && "inprogress" !== n[0] && m.dequeue(this, e)
})
},
dequeue: function (e) {
return this.each(function () {
m.dequeue(this, e)
})
},
clearQueue: function (e) {
return this.queue(e || "fx", [])
},
promise: function (e, t) {
var n,
r = 1,
i = m.Deferred(),
o = this,
a = this.length,
s = function () {
--r || i.resolveWith(o, [o])
};
for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--; )
(n = m._data(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s));
return s(),
i.promise(t)
}
}),
h.shrinkWrapBlocks = function () {
return null != I ? I : (I = !1, (t = a.getElementsByTagName("body")[0]) && t.style ? (e = a.createElement("div"), (n = a.createElement("div")).style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", t.appendChild(n).appendChild(e), void 0 !== e.style.zoom && (e.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", e.appendChild(a.createElement("div")).style.width = "5px", I = 3 !== e.offsetWidth), t.removeChild(n), I) : void 0);
var e,
t,
n
};
var X = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
V = new RegExp("^(?:([+-])=|)(" + X + ")([a-z%]*)$", "i"),
Y = ["Top", "Right", "Bottom", "Left"],
G = function (e, t) {
return e = t || e,
"none" === m.css(e, "display") || !m.contains(e.ownerDocument, e)
};
function J(e, t, n, r) {
var i,
o = 1,
a = 20,
s = r ? function () {
return r.cur()
}
: function () {
return m.css(e, t, "")
},
u = s(),
l = n && n[3] || (m.cssNumber[t] ? "" : "px"),
c = (m.cssNumber[t] || "px" !== l && +u) && V.exec(m.css(e, t));
if (c && c[3] !== l) {
l = l || c[3],
n = n || [],
c = +u || 1;
do {
c /= o = o || ".5",
m.style(e, t, c + l)
} while (o !== (o = s() / u) && 1 !== o && --a)
}
return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)),
i
}
var K,
Q,
Z,
ee = function (e, t, n, r, i, o, a) {
var s = 0,
u = e.length,
l = null == n;
if ("object" === m.type(n))
for (s in i = !0, n)
ee(e, t, s, n[s], !0, o, a);
else if (void 0 !== r && (i = !0, m.isFunction(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) {
return l.call(m(e), n)
})), t))
for (; s < u; s++)
t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
},
te = /^(?:checkbox|radio)$/i,
ne = /<([\w:-]+)/,
re = /^$|\/(?:java|ecma)script/i,
ie = /^\s+/,
oe = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";
function ae(e) {
var t = oe.split("|"),
n = e.createDocumentFragment();
if (n.createElement)
for (; t.length; )
n.createElement(t.pop());
return n
}
K = a.createElement("div"),
Q = a.createDocumentFragment(),
Z = a.createElement("input"),
K.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",
h.leadingWhitespace = 3 === K.firstChild.nodeType,
h.tbody = !K.getElementsByTagName("tbody").length,
h.htmlSerialize = !!K.getElementsByTagName("link").length,
h.html5Clone = "<:nav></:nav>" !== a.createElement("nav").cloneNode(!0).outerHTML,
Z.type = "checkbox",
Z.checked = !0,
Q.appendChild(Z),
h.appendChecked = Z.checked,
K.innerHTML = "<textarea>x</textarea>",
h.noCloneChecked = !!K.cloneNode(!0).lastChild.defaultValue,
Q.appendChild(K),
(Z = a.createElement("input")).setAttribute("type", "radio"),
Z.setAttribute("checked", "checked"),
Z.setAttribute("name", "t"),
K.appendChild(Z),
h.checkClone = K.cloneNode(!0).cloneNode(!0).lastChild.checked,
h.noCloneEvent = !!K.addEventListener,
K[m.expando] = 1,
h.attributes = !K.getAttribute(m.expando);
var se = {
option: [1, "<select multiple='multiple'>", "</select>"],
legend: [1, "<fieldset>", "</fieldset>"],
area: [1, "<map>", "</map>"],
param: [1, "<object>", "</object>"],
thead: [1, "<table>", "</table>"],
tr: [2, "<table><tbody>", "</tbody></table>"],
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
_default: h.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
};
function ue(e, t) {
var n,
r,
i = 0,
o = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : void 0;
if (!o)
for (o = [], n = e.childNodes || e; null != (r = n[i]); i++)
!t || m.nodeName(r, t) ? o.push(r) : m.merge(o, ue(r, t));
return void 0 === t || t && m.nodeName(e, t) ? m.merge([e], o) : o
}
function le(e, t) {
for (var n, r = 0; null != (n = e[r]); r++)
m._data(n, "globalEval", !t || m._data(t[r], "globalEval"))
}
se.optgroup = se.option,
se.tbody = se.tfoot = se.colgroup = se.caption = se.thead,
se.th = se.td;
var ce = /<|&#?\w+;/,
fe = /<tbody/i;
function de(e) {
te.test(e.type) && (e.defaultChecked = e.checked)
}
function pe(e, t, n, r, i) {
for (var o, a, s, u, l, c, f, d = e.length, p = ae(t), v = [], g = 0; g < d; g++)
if ((a = e[g]) || 0 === a)
if ("object" === m.type(a))
m.merge(v, a.nodeType ? [a] : a);
else if (ce.test(a)) {
for (u = u || p.appendChild(t.createElement("div")), l = (ne.exec(a) || ["", ""])[1].toLowerCase(), f = se[l] || se._default, u.innerHTML = f[1] + m.htmlPrefilter(a) + f[2], o = f[0]; o--; )
u = u.lastChild;
if (!h.leadingWhitespace && ie.test(a) && v.push(t.createTextNode(ie.exec(a)[0])), !h.tbody)
for (o = (a = "table" !== l || fe.test(a) ? "<table>" !== f[1] || fe.test(a) ? 0 : u : u.firstChild) && a.childNodes.length; o--; )
m.nodeName(c = a.childNodes[o], "tbody") && !c.childNodes.length && a.removeChild(c);
for (m.merge(v, u.childNodes), u.textContent = ""; u.firstChild; )
u.removeChild(u.firstChild);
u = p.lastChild
} else
v.push(t.createTextNode(a));
for (u && p.removeChild(u), h.appendChecked || m.grep(ue(v, "input"), de), g = 0; a = v[g++]; )
if (r && m.inArray(a, r) > -1)
i && i.push(a);
else if (s = m.contains(a.ownerDocument, a), u = ue(p.appendChild(a), "script"), s && le(u), n)
for (o = 0; a = u[o++]; )
re.test(a.type || "") && n.push(a);
return u = null,
p
}
!function () {
var e,
t,
r = a.createElement("div");
for (e in {
submit: !0,
change: !0,
focusin: !0
})
t = "on" + e, (h[e] = t in n) || (r.setAttribute(t, "t"), h[e] = !1 === r.attributes[t].expando);
r = null
}
();
var he = /^(?:input|select|textarea)$/i,
me = /^key/,
ve = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
ge = /^(?:focusinfocus|focusoutblur)$/,
ye = /^([^.]*)(?:\.(.+)|)/;
function be() {
return !0
}
function we() {
return !1
}
function xe() {
try {
return a.activeElement
} catch (e) {}
}
function Te(e, t, n, r, i, o) {
var a,
s;
if ("object" == typeof t) {
for (s in "string" != typeof n && (r = r || n, n = void 0), t)
Te(e, s, n, r, t[s], o);
return e
}
if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i)
i = we;
else if (!i)
return e;
return 1 === o && (a = i, (i = function (e) {
return m().off(e),
a.apply(this, arguments)
}).guid = a.guid || (a.guid = m.guid++)),
e.each(function () {
m.event.add(this, t, i, r, n)
})
}
m.event = {
global: {},
add: function (e, t, n, r, i) {
var o,
a,
s,
u,
l,
c,
f,
d,
p,
h,
v,
g = m._data(e);
if (g) {
for (n.handler && (n = (u = n).handler, i = u.selector), n.guid || (n.guid = m.guid++), (a = g.events) || (a = g.events = {}), (c = g.handle) || ((c = g.handle = function (e) {
return void 0 === m || e && m.event.triggered === e.type ? void 0 : m.event.dispatch.apply(c.elem, arguments)
}).elem = e), s = (t = (t || "").match(M) || [""]).length; s--; )
p = v = (o = ye.exec(t[s]) || [])[1], h = (o[2] || "").split(".").sort(), p && (l = m.event.special[p] || {}, p = (i ? l.delegateType : l.bindType) || p, l = m.event.special[p] || {}, f = m.extend({
type: p,
origType: v,
data: r,
handler: n,
guid: n.guid,
selector: i,
needsContext: i && m.expr.match.needsContext.test(i),
namespace: h.join(".")
}, u), (d = a[p]) || ((d = a[p] = []).delegateCount = 0, l.setup && !1 !== l.setup.call(e, r, h, c) || (e.addEventListener ? e.addEventListener(p, c, !1) : e.attachEvent && e.attachEvent("on" + p, c))), l.add && (l.add.call(e, f), f.handler.guid || (f.handler.guid = n.guid)), i ? d.splice(d.delegateCount++, 0, f) : d.push(f), m.event.global[p] = !0);
e = null
}
},
remove: function (e, t, n, r, i) {
var o,
a,
s,
u,
l,
c,
f,
d,
p,
h,
v,
g = m.hasData(e) && m._data(e);
if (g && (c = g.events)) {
for (l = (t = (t || "").match(M) || [""]).length; l--; )
if (p = v = (s = ye.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), p) {
for (f = m.event.special[p] || {}, d = c[p = (r ? f.delegateType : f.bindType) || p] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), u = o = d.length; o--; )
a = d[o], !i && v !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || r && r !== a.selector && ("**" !== r || !a.selector) || (d.splice(o, 1), a.selector && d.delegateCount--, f.remove && f.remove.call(e, a));
u && !d.length && (f.teardown && !1 !== f.teardown.call(e, h, g.handle) || m.removeEvent(e, p, g.handle), delete c[p])
} else
for (p in c)
m.event.remove(e, p + t[l], n, r, !0);
m.isEmptyObject(c) && (delete g.handle, m._removeData(e, "events"))
}
},
trigger: function (e, t, r, i) {
var o,
s,
u,
l,
c,
f,
d,
h = [r || a],
v = p.call(e, "type") ? e.type : e,
g = p.call(e, "namespace") ? e.namespace.split(".") : [];
if (u = f = r = r || a, 3 !== r.nodeType && 8 !== r.nodeType && !ge.test(v + m.event.triggered) && (v.indexOf(".") > -1 && (v = (g = v.split(".")).shift(), g.sort()), s = v.indexOf(":") < 0 && "on" + v, (e = e[m.expando] ? e : new m.Event(v, "object" == typeof e && e)).isTrigger = i ? 2 : 3, e.namespace = g.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = r), t = null == t ? [e] : m.makeArray(t, [e]), c = m.event.special[v] || {}, i || !c.trigger || !1 !== c.trigger.apply(r, t))) {
if (!i && !c.noBubble && !m.isWindow(r)) {
for (l = c.delegateType || v, ge.test(l + v) || (u = u.parentNode); u; u = u.parentNode)
h.push(u), f = u;
f === (r.ownerDocument || a) && h.push(f.defaultView || f.parentWindow || n)
}
for (d = 0; (u = h[d++]) && !e.isPropagationStopped(); )
e.type = d > 1 ? l : c.bindType || v, (o = (m._data(u, "events") || {})[e.type] && m._data(u, "handle")) && o.apply(u, t), (o = s && u[s]) && o.apply && F(u) && (e.result = o.apply(u, t), !1 === e.result && e.preventDefault());
if (e.type = v, !i && !e.isDefaultPrevented() && (!c._default || !1 === c._default.apply(h.pop(), t)) && F(r) && s && r[v] && !m.isWindow(r)) {
(f = r[s]) && (r[s] = null),
m.event.triggered = v;
try {
r[v]()
} catch (e) {}
m.event.triggered = void 0,
f && (r[s] = f)
}
return e.result
}
},
dispatch: function (e) {
e = m.event.fix(e);
var t,
n,
r,
i,
o,
a,
u = s.call(arguments),
l = (m._data(this, "events") || {})[e.type] || [],
c = m.event.special[e.type] || {};
if (u[0] = e, e.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, e)) {
for (a = m.event.handlers.call(this, e, l), t = 0; (i = a[t++]) && !e.isPropagationStopped(); )
for (e.currentTarget = i.elem, n = 0; (o = i.handlers[n++]) && !e.isImmediatePropagationStopped(); )
e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, void 0 !== (r = ((m.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, u)) && !1 === (e.result = r) && (e.preventDefault(), e.stopPropagation()));
return c.postDispatch && c.postDispatch.call(this, e),
e.result
}
},
handlers: function (e, t) {
var n,
r,
i,
o,
a = [],
s = t.delegateCount,
u = e.target;
if (s && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
for (; u != this; u = u.parentNode || this)
if (1 === u.nodeType && (!0 !== u.disabled || "click" !== e.type)) {
for (r = [], n = 0; n < s; n++)
void 0 === r[i = (o = t[n]).selector + " "] && (r[i] = o.needsContext ? m(i, this).index(u) > -1 : m.find(i, this, null, [u]).length), r[i] && r.push(o);
r.length && a.push({
elem: u,
handlers: r
})
}
return s < t.length && a.push({
elem: this,
handlers: t.slice(s)
}),
a
},
fix: function (e) {
if (e[m.expando])
return e;
var t,
n,
r,
i = e.type,
o = e,
s = this.fixHooks[i];
for (s || (this.fixHooks[i] = s = ve.test(i) ? this.mouseHooks : me.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new m.Event(o), t = r.length; t--; )
e[n = r[t]] = o[n];
return e.target || (e.target = o.srcElement || a),
3 === e.target.nodeType && (e.target = e.target.parentNode),
e.metaKey = !!e.metaKey,
s.filter ? s.filter(e, o) : e
},
props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function (e, t) {
return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode),
e
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function (e, t) {
var n,
r,
i,
o = t.button,
s = t.fromElement;
return null == e.pageX && null != t.clientX && (i = (r = e.target.ownerDocument || a).documentElement, n = r.body, e.pageX = t.clientX + (i && i.scrollLeft || n && n.scrollLeft || 0) - (i && i.clientLeft || n && n.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || n && n.scrollTop || 0) - (i && i.clientTop || n && n.clientTop || 0)),
!e.relatedTarget && s && (e.relatedTarget = s === e.target ? t.toElement : s),
e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0),
e
}
},
special: {
load: {
noBubble: !0
},
focus: {
trigger: function () {
if (this !== xe() && this.focus)
try {
return this.focus(),
!1
} catch (e) {}
},
delegateType: "focusin"
},
blur: {
trigger: function () {
if (this === xe() && this.blur)
return this.blur(), !1
},
delegateType: "focusout"
},
click: {
trigger: function () {
if (m.nodeName(this, "input") && "checkbox" === this.type && this.click)
return this.click(), !1
},
_default: function (e) {
return m.nodeName(e.target, "a")
}
},
beforeunload: {
postDispatch: function (e) {
void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
}
}
},
simulate: function (e, t, n) {
var r = m.extend(new m.Event, n, {
type: e,
isSimulated: !0
});
m.event.trigger(r, null, t),
r.isDefaultPrevented() && n.preventDefault()
}
},
m.removeEvent = a.removeEventListener ? function (e, t, n) {
e.removeEventListener && e.removeEventListener(t, n)
}
: function (e, t, n) {
var r = "on" + t;
e.detachEvent && (void 0 === e[r] && (e[r] = null), e.detachEvent(r, n))
},
m.Event = function (e, t) {
if (!(this instanceof m.Event))
return new m.Event(e, t);
e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? be : we) : this.type = e,
t && m.extend(this, t),
this.timeStamp = e && e.timeStamp || m.now(),
this[m.expando] = !0
},
m.Event.prototype = {
constructor: m.Event,
isDefaultPrevented: we,
isPropagationStopped: we,
isImmediatePropagationStopped: we,
preventDefault: function () {
var e = this.originalEvent;
this.isDefaultPrevented = be,
e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
},
stopPropagation: function () {
var e = this.originalEvent;
this.isPropagationStopped = be,
e && !this.isSimulated && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
},
stopImmediatePropagation: function () {
var e = this.originalEvent;
this.isImmediatePropagationStopped = be,
e && e.stopImmediatePropagation && e.stopImmediatePropagation(),
this.stopPropagation()
}
},
m.each({
mouseenter: "mouseover",
mouseleave: "mouseout",
pointerenter: "pointerover",
pointerleave: "pointerout"
}, function (e, t) {
m.event.special[e] = {
delegateType: t,
bindType: t,
handle: function (e) {
var n,
r = e.relatedTarget,
i = e.handleObj;
return r && (r === this || m.contains(this, r)) || (e.type = i.origType, n = i.handler.apply(this, arguments), e.type = t),
n
}
}
}),
h.submit || (m.event.special.submit = {
setup: function () {
if (m.nodeName(this, "form"))
return !1;
m.event.add(this, "click._submit keypress._submit", function (e) {
var t = e.target,
n = m.nodeName(t, "input") || m.nodeName(t, "button") ? m.prop(t, "form") : void 0;
n && !m._data(n, "submit") && (m.event.add(n, "submit._submit", function (e) {
e._submitBubble = !0
}), m._data(n, "submit", !0))
})
},
postDispatch: function (e) {
e._submitBubble && (delete e._submitBubble, this.parentNode && !e.isTrigger && m.event.simulate("submit", this.parentNode, e))
},
teardown: function () {
if (m.nodeName(this, "form"))
return !1;
m.event.remove(this, "._submit")
}
}),
h.change || (m.event.special.change = {
setup: function () {
if (he.test(this.nodeName))
return "checkbox" !== this.type && "radio" !== this.type || (m.event.add(this, "propertychange._change", function (e) {
"checked" === e.originalEvent.propertyName && (this._justChanged = !0)
}), m.event.add(this, "click._change", function (e) {
this._justChanged && !e.isTrigger && (this._justChanged = !1),
m.event.simulate("change", this, e)
})), !1;
m.event.add(this, "beforeactivate._change", function (e) {
var t = e.target;
he.test(t.nodeName) && !m._data(t, "change") && (m.event.add(t, "change._change", function (e) {
!this.parentNode || e.isSimulated || e.isTrigger || m.event.simulate("change", this.parentNode, e)
}), m._data(t, "change", !0))
})
},
handle: function (e) {
var t = e.target;
if (this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type)
return e.handleObj.handler.apply(this, arguments)
},
teardown: function () {
return m.event.remove(this, "._change"),
!he.test(this.nodeName)
}
}),
h.focusin || m.each({
focus: "focusin",
blur: "focusout"
}, function (e, t) {
var n = function (e) {
m.event.simulate(t, e.target, m.event.fix(e))
};
m.event.special[t] = {
setup: function () {
var r = this.ownerDocument || this,
i = m._data(r, t);
i || r.addEventListener(e, n, !0),
m._data(r, t, (i || 0) + 1)
},
teardown: function () {
var r = this.ownerDocument || this,
i = m._data(r, t) - 1;
i ? m._data(r, t, i) : (r.removeEventListener(e, n, !0), m._removeData(r, t))
}
}
}),
m.fn.extend({
on: function (e, t, n, r) {
return Te(this, e, t, n, r)
},
one: function (e, t, n, r) {
return Te(this, e, t, n, r, 1)
},
off: function (e, t, n) {
var r,
i;
if (e && e.preventDefault && e.handleObj)
return r = e.handleObj, m(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
if ("object" == typeof e) {
for (i in e)
this.off(i, t, e[i]);
return this
}
return !1 !== t && "function" != typeof t || (n = t, t = void 0),
!1 === n && (n = we),
this.each(function () {
m.event.remove(this, e, n, t)
})
},
trigger: function (e, t) {
return this.each(function () {
m.event.trigger(e, t, this)
})
},
triggerHandler: function (e, t) {
var n = this[0];
if (n)
return m.event.trigger(e, t, n, !0)
}
});
var Ee = / jQuery\d+="(?:null|\d+)"/g,
Ce = new RegExp("<(?:" + oe + ")[\\s/>]", "i"),
ke = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
Se = /<script|<style|<link/i,
Le = /checked\s*(?:[^=]|=\s*.checked.)/i,
Ne = /^true\/(.*)/,
Ae = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
De = ae(a).appendChild(a.createElement("div"));
function Oe(e, t) {
return m.nodeName(e, "table") && m.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
}
function je(e) {
return e.type = (null !== m.find.attr(e, "type")) + "/" + e.type,
e
}
function He(e) {
var t = Ne.exec(e.type);
return t ? e.type = t[1] : e.removeAttribute("type"),
e
}
function Pe(e, t) {
if (1 === t.nodeType && m.hasData(e)) {
var n,
r,
i,
o = m._data(e),
a = m._data(t, o),
s = o.events;
if (s)
for (n in delete a.handle, a.events = {}, s)
for (r = 0, i = s[n].length; r < i; r++)
m.event.add(t, n, s[n][r]);
a.data && (a.data = m.extend({}, a.data))
}
}
function Me(e, t) {
var n,
r,
i;
if (1 === t.nodeType) {
if (n = t.nodeName.toLowerCase(), !h.noCloneEvent && t[m.expando]) {
for (r in(i = m._data(t)).events)
m.removeEvent(t, r, i.handle);
t.removeAttribute(m.expando)
}
"script" === n && t.text !== e.text ? (je(t).text = e.text, He(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), h.html5Clone && e.innerHTML && !m.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && te.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
}
}
function Re(e, t, n, r) {
t = u.apply([], t);
var i,
o,
a,
s,
l,
c,
f = 0,
d = e.length,
p = d - 1,
v = t[0],
g = m.isFunction(v);
if (g || d > 1 && "string" == typeof v && !h.checkClone && Le.test(v))
return e.each(function (i) {
var o = e.eq(i);
g && (t[0] = v.call(this, i, o.html())),
Re(o, t, n, r)
});
if (d && (i = (c = pe(t, e[0].ownerDocument, !1, e, r)).firstChild, 1 === c.childNodes.length && (c = i), i || r)) {
for (a = (s = m.map(ue(c, "script"), je)).length; f < d; f++)
o = c, f !== p && (o = m.clone(o, !0, !0), a && m.merge(s, ue(o, "script"))), n.call(e[f], o, f);
if (a)
for (l = s[s.length - 1].ownerDocument, m.map(s, He), f = 0; f < a; f++)
o = s[f], re.test(o.type || "") && !m._data(o, "globalEval") && m.contains(l, o) && (o.src ? m._evalUrl && m._evalUrl(o.src) : m.globalEval((o.text || o.textContent || o.innerHTML || "").replace(Ae, "")));
c = i = null
}
return e
}
function qe(e, t, n) {
for (var r, i = t ? m.filter(t, e) : e, o = 0; null != (r = i[o]); o++)
n || 1 !== r.nodeType || m.cleanData(ue(r)), r.parentNode && (n && m.contains(r.ownerDocument, r) && le(ue(r, "script")), r.parentNode.removeChild(r));
return e
}
m.extend({
htmlPrefilter: function (e) {
return e.replace(ke, "<$1></$2>")
},
clone: function (e, t, n) {
var r,
i,
o,
a,
s,
u = m.contains(e.ownerDocument, e);
if (h.html5Clone || m.isXMLDoc(e) || !Ce.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (De.innerHTML = e.outerHTML, De.removeChild(o = De.firstChild)), !(h.noCloneEvent && h.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || m.isXMLDoc(e)))
for (r = ue(o), s = ue(e), a = 0; null != (i = s[a]); ++a)
r[a] && Me(i, r[a]);
if (t)
if (n)
for (s = s || ue(e), r = r || ue(o), a = 0; null != (i = s[a]); a++)
Pe(i, r[a]);
else
Pe(e, o);
return (r = ue(o, "script")).length > 0 && le(r, !u && ue(e, "script")),
r = s = i = null,
o
},
cleanData: function (e, t) {
for (var n, r, i, a, s = 0, u = m.expando, l = m.cache, c = h.attributes, f = m.event.special; null != (n = e[s]); s++)
if ((t || F(n)) && (a = (i = n[u]) && l[i])) {
if (a.events)
for (r in a.events)
f[r] ? m.event.remove(n, r) : m.removeEvent(n, r, a.handle);
l[i] && (delete l[i], c || void 0 === n.removeAttribute ? n[u] = void 0 : n.removeAttribute(u), o.push(i))
}
}
}),
m.fn.extend({
domManip: Re,
detach: function (e) {
return qe(this, e, !0)
},
remove: function (e) {
return qe(this, e)
},
text: function (e) {
return ee(this, function (e) {
return void 0 === e ? m.text(this) : this.empty().append((this[0] && this[0].ownerDocument || a).createTextNode(e))
}, null, e, arguments.length)
},
append: function () {
return Re(this, arguments, function (e) {
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Oe(this, e).appendChild(e)
})
},
prepend: function () {
return Re(this, arguments, function (e) {
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
var t = Oe(this, e);
t.insertBefore(e, t.firstChild)
}
})
},
before: function () {
return Re(this, arguments, function (e) {
this.parentNode && this.parentNode.insertBefore(e, this)
})
},
after: function () {
return Re(this, arguments, function (e) {
this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
})
},
empty: function () {
for (var e, t = 0; null != (e = this[t]); t++) {
for (1 === e.nodeType && m.cleanData(ue(e, !1)); e.firstChild; )
e.removeChild(e.firstChild);
e.options && m.nodeName(e, "select") && (e.options.length = 0)
}
return this
},
clone: function (e, t) {
return e = null != e && e,
t = null == t ? e : t,
this.map(function () {
return m.clone(this, e, t)
})
},
html: function (e) {
return ee(this, function (e) {
var t = this[0] || {},
n = 0,
r = this.length;
if (void 0 === e)
return 1 === t.nodeType ? t.innerHTML.replace(Ee, "") : void 0;
if ("string" == typeof e && !Se.test(e) && (h.htmlSerialize || !Ce.test(e)) && (h.leadingWhitespace || !ie.test(e)) && !se[(ne.exec(e) || ["", ""])[1].toLowerCase()]) {
e = m.htmlPrefilter(e);
try {
for (; n < r; n++)
1 === (t = this[n] || {}).nodeType && (m.cleanData(ue(t, !1)), t.innerHTML = e);
t = 0
} catch (e) {}
}
t && this.empty().append(e)
}, null, e, arguments.length)
},
replaceWith: function () {
var e = [];
return Re(this, arguments, function (t) {
var n = this.parentNode;
m.inArray(this, e) < 0 && (m.cleanData(ue(this)), n && n.replaceChild(t, this))
}, e)
}
}),
m.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function (e, t) {
m.fn[e] = function (e) {
for (var n, r = 0, i = [], o = m(e), a = o.length - 1; r <= a; r++)
n = r === a ? this : this.clone(!0), m(o[r])[t](n), l.apply(i, n.get());
return this.pushStack(i)
}
});
var Ie,
Fe = {
HTML: "block",
BODY: "block"
};
function Be(e, t) {
var n = m(t.createElement(e)).appendTo(t.body),
r = m.css(n[0], "display");
return n.detach(),
r
}
function _e(e) {
var t = a,
n = Fe[e];
return n || ("none" !== (n = Be(e, t)) && n || ((t = ((Ie = (Ie || m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement))[0].contentWindow || Ie[0].contentDocument).document).write(), t.close(), n = Be(e, t), Ie.detach()), Fe[e] = n),
n
}
var We = /^margin/,
ze = new RegExp("^(" + X + ")(?!px)[a-z%]+$", "i"),
Ue = function (e, t, n, r) {
var i,
o,
a = {};
for (o in t)
a[o] = e.style[o], e.style[o] = t[o];
for (o in i = n.apply(e, r || []), t)
e.style[o] = a[o];
return i
},
$e = a.documentElement;
!function () {
var e,
t,
r,
i,
o,
s,
u = a.createElement("div"),
l = a.createElement("div");
function c() {
var c,
f,
d = a.documentElement;
d.appendChild(u),
l.style.cssText = "-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",
e = r = s = !1,
t = o = !0,
n.getComputedStyle && (f = n.getComputedStyle(l), e = "1%" !== (f || {}).top, s = "2px" === (f || {}).marginLeft, r = "4px" === (f || {
width: "4px"
}).width, l.style.marginRight = "50%", t = "4px" === (f || {
marginRight: "4px"
}).marginRight, (c = l.appendChild(a.createElement("div"))).style.cssText = l.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", c.style.marginRight = c.style.width = "0", l.style.width = "1px", o = !parseFloat((n.getComputedStyle(c) || {}).marginRight), l.removeChild(c)),
l.style.display = "none",
(i = 0 === l.getClientRects().length) && (l.style.display = "", l.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", l.childNodes[0].style.borderCollapse = "separate", (c = l.getElementsByTagName("td"))[0].style.cssText = "margin:0;border:0;padding:0;display:none", (i = 0 === c[0].offsetHeight) && (c[0].style.display = "", c[1].style.display = "none", i = 0 === c[0].offsetHeight)),
d.removeChild(u)
}
l.style && (l.style.cssText = "float:left;opacity:.5", h.opacity = "0.5" === l.style.opacity, h.cssFloat = !!l.style.cssFloat, l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", h.clearCloneStyle = "content-box" === l.style.backgroundClip, (u = a.createElement("div")).style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", l.innerHTML = "", u.appendChild(l), h.boxSizing = "" === l.style.boxSizing || "" === l.style.MozBoxSizing || "" === l.style.WebkitBoxSizing, m.extend(h, {
reliableHiddenOffsets: function () {
return null == e && c(),
i
},
boxSizingReliable: function () {
return null == e && c(),
r
},
pixelMarginRight: function () {
return null == e && c(),
t
},
pixelPosition: function () {
return null == e && c(),
e
},
reliableMarginRight: function () {
return null == e && c(),
o
},
reliableMarginLeft: function () {
return null == e && c(),
s
}
}))
}
();
var Xe,
Ve,
Ye = /^(top|right|bottom|left)$/;
function Ge(e, t) {
return {
get: function () {
if (!e())
return (this.get = t).apply(this, arguments);
delete this.get
}
}
}
n.getComputedStyle ? (Xe = function (e) {
var t = e.ownerDocument.defaultView;
return t && t.opener || (t = n),
t.getComputedStyle(e)
}, Ve = function (e, t, n) {
var r,
i,
o,
a,
s = e.style;
return "" !== (a = (n = n || Xe(e)) ? n.getPropertyValue(t) || n[t] : void 0) && void 0 !== a || m.contains(e.ownerDocument, e) || (a = m.style(e, t)),
n && !h.pixelMarginRight() && ze.test(a) && We.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o),
void 0 === a ? a : a + ""
}) : $e.currentStyle && (Xe = function (e) {
return e.currentStyle
}, Ve = function (e, t, n) {
var r,
i,
o,
a,
s = e.style;
return null == (a = (n = n || Xe(e)) ? n[t] : void 0) && s && s[t] && (a = s[t]),
ze.test(a) && !Ye.test(t) && (r = s.left, (o = (i = e.runtimeStyle) && i.left) && (i.left = e.currentStyle.left), s.left = "fontSize" === t ? "1em" : a, a = s.pixelLeft + "px", s.left = r, o && (i.left = o)),
void 0 === a ? a : a + "" || "auto"
});
var Je = /alpha\([^)]*\)/i,
Ke = /opacity\s*=\s*([^)]*)/i,
Qe = /^(none|table(?!-c[ea]).+)/,
Ze = new RegExp("^(" + X + ")(.*)$", "i"),
et = {
position: "absolute",
visibility: "hidden",
display: "block"
},
tt = {
letterSpacing: "0",
fontWeight: "400"
},
nt = ["Webkit", "O", "Moz", "ms"],
rt = a.createElement("div").style;
function it(e) {
if (e in rt)
return e;
for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = nt.length; n--; )
if ((e = nt[n] + t)in rt)
return e
}
function ot(e, t) {
for (var n, r, i, o = [], a = 0, s = e.length; a < s; a++)
(r = e[a]).style && (o[a] = m._data(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && G(r) && (o[a] = m._data(r, "olddisplay", _e(r.nodeName)))) : (i = G(r), (n && "none" !== n || !i) && m._data(r, "olddisplay", i ? n : m.css(r, "display"))));
for (a = 0; a < s; a++)
(r = e[a]).style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none"));
return e
}
function at(e, t, n) {
var r = Ze.exec(t);
return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
}
function st(e, t, n, r, i) {
for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; o < 4; o += 2)
"margin" === n && (a += m.css(e, n + Y[o], !0, i)), r ? ("content" === n && (a -= m.css(e, "padding" + Y[o], !0, i)), "margin" !== n && (a -= m.css(e, "border" + Y[o] + "Width", !0, i))) : (a += m.css(e, "padding" + Y[o], !0, i), "padding" !== n && (a += m.css(e, "border" + Y[o] + "Width", !0, i)));
return a
}
function ut(e, t, n) {
var r = !0,
i = "width" === t ? e.offsetWidth : e.offsetHeight,
o = Xe(e),
a = h.boxSizing && "border-box" === m.css(e, "boxSizing", !1, o);
if (i <= 0 || null == i) {
if (((i = Ve(e, t, o)) < 0 || null == i) && (i = e.style[t]), ze.test(i))
return i;
r = a && (h.boxSizingReliable() || i === e.style[t]),
i = parseFloat(i) || 0
}
return i + st(e, t, n || (a ? "border" : "content"), r, o) + "px"
}
function lt(e, t, n, r, i) {
return new lt.prototype.init(e, t, n, r, i)
}
m.extend({
cssHooks: {
opacity: {
get: function (e, t) {
if (t) {
var n = Ve(e, "opacity");
return "" === n ? "1" : n
}
}
}
},
cssNumber: {
animationIterationCount: !0,
columnCount: !0,
fillOpacity: !0,
flexGrow: !0,
flexShrink: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
float: h.cssFloat ? "cssFloat" : "styleFloat"
},
style: function (e, t, n, r) {
if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
var i,
o,
a,
s = m.camelCase(t),
u = e.style;
if (t = m.cssProps[s] || (m.cssProps[s] = it(s) || s), a = m.cssHooks[t] || m.cssHooks[s], void 0 === n)
return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : u[t];
if ("string" === (o = typeof n) && (i = V.exec(n)) && i[1] && (n = J(e, t, i), o = "number"), null != n && n == n && ("number" === o && (n += i && i[3] || (m.cssNumber[s] ? "" : "px")), h.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), !(a && "set" in a && void 0 === (n = a.set(e, n, r)))))
try {
u[t] = n
} catch (e) {}
}
},
css: function (e, t, n, r) {
var i,
o,
a,
s = m.camelCase(t);
return t = m.cssProps[s] || (m.cssProps[s] = it(s) || s),
(a = m.cssHooks[t] || m.cssHooks[s]) && "get" in a && (o = a.get(e, !0, n)),
void 0 === o && (o = Ve(e, t, r)),
"normal" === o && t in tt && (o = tt[t]),
"" === n || n ? (i = parseFloat(o), !0 === n || isFinite(i) ? i || 0 : o) : o
}
}),
m.each(["height", "width"], function (e, t) {
m.cssHooks[t] = {
get: function (e, n, r) {
if (n)
return Qe.test(m.css(e, "display")) && 0 === e.offsetWidth ? Ue(e, et, function () {
return ut(e, t, r)
}) : ut(e, t, r)
},
set: function (e, n, r) {
var i = r && Xe(e);
return at(0, n, r ? st(e, t, r, h.boxSizing && "border-box" === m.css(e, "boxSizing", !1, i), i) : 0)
}
}
}),
h.opacity || (m.cssHooks.opacity = {
get: function (e, t) {
return Ke.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
},
set: function (e, t) {
var n = e.style,
r = e.currentStyle,
i = m.isNumeric(t) ? "alpha(opacity=" + 100 * t + ")" : "",
o = r && r.filter || n.filter || "";
n.zoom = 1,
(t >= 1 || "" === t) && "" === m.trim(o.replace(Je, "")) && n.removeAttribute && (n.removeAttribute("filter"), "" === t || r && !r.filter) || (n.filter = Je.test(o) ? o.replace(Je, i) : o + " " + i)
}
}),
m.cssHooks.marginRight = Ge(h.reliableMarginRight, function (e, t) {
if (t)
return Ue(e, {
display: "inline-block"
}, Ve, [e, "marginRight"])
}),
m.cssHooks.marginLeft = Ge(h.reliableMarginLeft, function (e, t) {
if (t)
return (parseFloat(Ve(e, "marginLeft")) || (m.contains(e.ownerDocument, e) ? e.getBoundingClientRect().left - Ue(e, {
marginLeft: 0
}, function () {
return e.getBoundingClientRect().left
}) : 0)) + "px"
}),
m.each({
margin: "",
padding: "",
border: "Width"
}, function (e, t) {
m.cssHooks[e + t] = {
expand: function (n) {
for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++)
i[e + Y[r] + t] = o[r] || o[r - 2] || o[0];
return i
}
},
We.test(e) || (m.cssHooks[e + t].set = at)
}),
m.fn.extend({
css: function (e, t) {
return ee(this, function (e, t, n) {
var r,
i,
o = {},
a = 0;
if (m.isArray(t)) {
for (r = Xe(e), i = t.length; a < i; a++)
o[t[a]] = m.css(e, t[a], !1, r);
return o
}
return void 0 !== n ? m.style(e, t, n) : m.css(e, t)
}, e, t, arguments.length > 1)
},
show: function () {
return ot(this, !0)
},
hide: function () {
return ot(this)
},
toggle: function (e) {
return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
G(this) ? m(this).show() : m(this).hide()
})
}
}),
m.Tween = lt,
lt.prototype = {
constructor: lt,
init: function (e, t, n, r, i, o) {
this.elem = e,
this.prop = n,
this.easing = i || m.easing._default,
this.options = t,
this.start = this.now = this.cur(),
this.end = r,
this.unit = o || (m.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 = m.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 = m.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0
},
set: function (e) {
m.fx.step[e.prop] ? m.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[m.cssProps[e.prop]] && !m.cssHooks[e.prop] ? e.elem[e.prop] = e.now : m.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)
}
},
m.easing = {
linear: function (e) {
return e
},
swing: function (e) {
return .5 - Math.cos(e * Math.PI) / 2
},
_default: "swing"
},
m.fx = lt.prototype.init,
m.fx.step = {};
var ct,
ft,
dt = /^(?:toggle|show|hide)$/,
pt = /queueHooks$/;
function ht() {
return n.setTimeout(function () {
ct = void 0
}),
ct = m.now()
}
function mt(e, t) {
var n,
r = {
height: e
},
i = 0;
for (t = t ? 1 : 0; i < 4; i += 2 - t)
r["margin" + (n = Y[i])] = r["padding" + n] = e;
return t && (r.opacity = r.width = e),
r
}
function vt(e, t, n) {
for (var r, i = (gt.tweeners[t] || []).concat(gt.tweeners["*"]), o = 0, a = i.length; o < a; o++)
if (r = i[o].call(n, t, e))
return r
}
function gt(e, t, n) {
var r,
i,
o = 0,
a = gt.prefilters.length,
s = m.Deferred().always(function () {
delete u.elem
}),
u = function () {
if (i)
return !1;
for (var t = ct || ht(), n = Math.max(0, l.startTime + l.duration - t), r = 1 - (n / l.duration || 0), o = 0, a = l.tweens.length; o < a; o++)
l.tweens[o].run(r);
return s.notifyWith(e, [l, r, n]),
r < 1 && a ? n : (s.resolveWith(e, [l]), !1)
},
l = s.promise({
elem: e,
props: m.extend({}, t),
opts: m.extend(!0, {
specialEasing: {},
easing: m.easing._default
}, n),
originalProperties: t,
originalOptions: n,
startTime: ct || ht(),
duration: n.duration,
tweens: [],
createTween: function (t, n) {
var r = m.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
return l.tweens.push(r),
r
},
stop: function (t) {
var n = 0,
r = t ? l.tweens.length : 0;
if (i)
return this;
for (i = !0; n < r; n++)
l.tweens[n].run(1);
return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]),
this
}
}),
c = l.props;
for (!function (e, t) {
var n,
r,
i,
o,
a;
for (n in e)
if (i = t[r = m.camelCase(n)], o = e[n], m.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = m.cssHooks[r]) && "expand" in a)
for (n in o = a.expand(o), delete e[r], o)
n in e || (e[n] = o[n], t[n] = i);
else
t[r] = i
}
(c, l.opts.specialEasing); o < a; o++)if (r = gt.prefilters[o].call(l, e, c, l.opts))
return m.isFunction(r.stop) && (m._queueHooks(l.elem, l.opts.queue).stop = m.proxy(r.stop, r)), r;
return m.map(c, vt, l),
m.isFunction(l.opts.start) && l.opts.start.call(e, l),
m.fx.timer(m.extend(u, {
elem: e,
anim: l,
queue: l.opts.queue
})),
l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
}
m.Animation = m.extend(gt, {
tweeners: {
"*": [function (e, t) {
var n = this.createTween(e, t);
return J(n.elem, e, V.exec(t), n),
n
}
]
},
tweener: function (e, t) {
m.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(M);
for (var n, r = 0, i = e.length; r < i; r++)
n = e[r], gt.tweeners[n] = gt.tweeners[n] || [], gt.tweeners[n].unshift(t)
},
prefilters: [function (e, t, n) {
var r,
i,
o,
a,
s,
u,
l,
c = this,
f = {},
d = e.style,
p = e.nodeType && G(e),
v = m._data(e, "fxshow");
for (r in n.queue || (null == (s = m._queueHooks(e, "fx")).unqueued && (s.unqueued = 0, u = s.empty.fire, s.empty.fire = function () {
s.unqueued || u()
}), s.unqueued++, c.always(function () {
c.always(function () {
s.unqueued--,
m.queue(e, "fx").length || s.empty.fire()
})
})), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [d.overflow, d.overflowX, d.overflowY], "inline" === ("none" === (l = m.css(e, "display")) ? m._data(e, "olddisplay") || _e(e.nodeName) : l) && "none" === m.css(e, "float") && (h.inlineBlockNeedsLayout && "inline" !== _e(e.nodeName) ? d.zoom = 1 : d.display = "inline-block")), n.overflow && (d.overflow = "hidden", h.shrinkWrapBlocks() || c.always(function () {
d.overflow = n.overflow[0],
d.overflowX = n.overflow[1],
d.overflowY = n.overflow[2]
})), t)
if (i = t[r], dt.exec(i)) {
if (delete t[r], o = o || "toggle" === i, i === (p ? "hide" : "show")) {
if ("show" !== i || !v || void 0 === v[r])
continue;
p = !0
}
f[r] = v && v[r] || m.style(e, r)
} else
l = void 0;
if (m.isEmptyObject(f))
"inline" === ("none" === l ? _e(e.nodeName) : l) && (d.display = l);
else
for (r in v ? "hidden" in v && (p = v.hidden) : v = m._data(e, "fxshow", {}), o && (v.hidden = !p), p ? m(e).show() : c.done(function () {
m(e).hide()
}), c.done(function () {
var t;
for (t in m._removeData(e, "fxshow"), f)
m.style(e, t, f[t])
}), f)a = vt(p ? v[r] : 0, r, c), r in v || (v[r] = a.start, p && (a.end = a.start, a.start = "width" === r || "height" === r ? 1 : 0))
}
],
prefilter: function (e, t) {
t ? gt.prefilters.unshift(e) : gt.prefilters.push(e)
}
}),
m.speed = function (e, t, n) {
var r = e && "object" == typeof e ? m.extend({}, e) : {
complete: n || !n && t || m.isFunction(e) && e,
duration: e,
easing: n && t || t && !m.isFunction(t) && t
};
return r.duration = m.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in m.fx.speeds ? m.fx.speeds[r.duration] : m.fx.speeds._default,
null != r.queue && !0 !== r.queue || (r.queue = "fx"),
r.old = r.complete,
r.complete = function () {
m.isFunction(r.old) && r.old.call(this),
r.queue && m.dequeue(this, r.queue)
},
r
},
m.fn.extend({
fadeTo: function (e, t, n, r) {
return this.filter(G).css("opacity", 0).show().end().animate({
opacity: t
}, e, n, r)
},
animate: function (e, t, n, r) {
var i = m.isEmptyObject(e),
o = m.speed(t, n, r),
a = function () {
var t = gt(this, m.extend({}, e), o);
(i || m._data(this, "finish")) && t.stop(!0)
};
return a.finish = a,
i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
},
stop: function (e, t, n) {
var r = function (e) {
var t = e.stop;
delete e.stop,
t(n)
};
return "string" != typeof e && (n = t, t = e, e = void 0),
t && !1 !== e && this.queue(e || "fx", []),
this.each(function () {
var t = !0,
i = null != e && e + "queueHooks",
o = m.timers,
a = m._data(this);
if (i)
a[i] && a[i].stop && r(a[i]);
else
for (i in a)
a[i] && a[i].stop && pt.test(i) && r(a[i]);
for (i = o.length; i--; )
o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
!t && n || m.dequeue(this, e)
})
},
finish: function (e) {
return !1 !== e && (e = e || "fx"),
this.each(function () {
var t,
n = m._data(this),
r = n[e + "queue"],
i = n[e + "queueHooks"],
o = m.timers,
a = r ? r.length : 0;
for (n.finish = !0, m.queue(this, e, []), i && i.stop && i.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++)
r[t] && r[t].finish && r[t].finish.call(this);
delete n.finish
})
}
}),
m.each(["toggle", "show", "hide"], function (e, t) {
var n = m.fn[t];
m.fn[t] = function (e, r, i) {
return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(mt(t, !0), e, r, i)
}
}),
m.each({
slideDown: mt("show"),
slideUp: mt("hide"),
slideToggle: mt("toggle"),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function (e, t) {
m.fn[e] = function (e, n, r) {
return this.animate(t, e, n, r)
}
}),
m.timers = [],
m.fx.tick = function () {
var e,
t = m.timers,
n = 0;
for (ct = m.now(); n < t.length; n++)
(e = t[n])() || t[n] !== e || t.splice(n--, 1);
t.length || m.fx.stop(),
ct = void 0
},
m.fx.timer = function (e) {
m.timers.push(e),
e() ? m.fx.start() : m.timers.pop()
},
m.fx.interval = 13,
m.fx.start = function () {
ft || (ft = n.setInterval(m.fx.tick, m.fx.interval))
},
m.fx.stop = function () {
n.clearInterval(ft),
ft = null
},
m.fx.speeds = {
slow: 600,
fast: 200,
_default: 400
},
m.fn.delay = function (e, t) {
return e = m.fx && m.fx.speeds[e] || e,
t = t || "fx",
this.queue(t, function (t, r) {
var i = n.setTimeout(t, e);
r.stop = function () {
n.clearTimeout(i)
}
})
},
function () {
var e,
t = a.createElement("input"),
n = a.createElement("div"),
r = a.createElement("select"),
i = r.appendChild(a.createElement("option"));
(n = a.createElement("div")).setAttribute("className", "t"),
n.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",
e = n.getElementsByTagName("a")[0],
t.setAttribute("type", "checkbox"),
n.appendChild(t),
(e = n.getElementsByTagName("a")[0]).style.cssText = "top:1px",
h.getSetAttribute = "t" !== n.className,
h.style = /top/.test(e.getAttribute("style")),
h.hrefNormalized = "/a" === e.getAttribute("href"),
h.checkOn = !!t.value,
h.optSelected = i.selected,
h.enctype = !!a.createElement("form").enctype,
r.disabled = !0,
h.optDisabled = !i.disabled,
(t = a.createElement("input")).setAttribute("value", ""),
h.input = "" === t.getAttribute("value"),
t.value = "t",
t.setAttribute("type", "radio"),
h.radioValue = "t" === t.value
}
();
var yt = /\r/g,
bt = /[\x20\t\r\n\f]+/g;
m.fn.extend({
val: function (e) {
var t,
n,
r,
i = this[0];
return arguments.length ? (r = m.isFunction(e), this.each(function (n) {
var i;
1 === this.nodeType && (null == (i = r ? e.call(this, n, m(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : m.isArray(i) && (i = m.map(i, function (e) {
return null == e ? "" : e + ""
})), (t = m.valHooks[this.type] || m.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i))
})) : i ? (t = m.valHooks[i.type] || m.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof(n = i.value) ? n.replace(yt, "") : null == n ? "" : n : void 0
}
}),
m.extend({
valHooks: {
option: {
get: function (e) {
var t = m.find.attr(e, "value");
return null != t ? t : m.trim(m.text(e)).replace(bt, " ")
}
},
select: {
get: function (e) {
for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || i < 0, a = o ? null : [], s = o ? i + 1 : r.length, u = i < 0 ? s : o ? i : 0; u < s; u++)
if (((n = r[u]).selected || u === i) && (h.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !m.nodeName(n.parentNode, "optgroup"))) {
if (t = m(n).val(), o)
return t;
a.push(t)
}
return a
},
set: function (e, t) {
for (var n, r, i = e.options, o = m.makeArray(t), a = i.length; a--; )
if (r = i[a], m.inArray(m.valHooks.option.get(r), o) > -1)
try {
r.selected = n = !0
} catch (e) {
r.scrollHeight
}
else
r.selected = !1;
return n || (e.selectedIndex = -1),
i
}
}
}
}),
m.each(["radio", "checkbox"], function () {
m.valHooks[this] = {
set: function (e, t) {
if (m.isArray(t))
return e.checked = m.inArray(m(e).val(), t) > -1
}
},
h.checkOn || (m.valHooks[this].get = function (e) {
return null === e.getAttribute("value") ? "on" : e.value
})
});
var wt,
xt,
Tt = m.expr.attrHandle,
Et = /^(?:checked|selected)$/i,
Ct = h.getSetAttribute,
kt = h.input;
m.fn.extend({
attr: function (e, t) {
return ee(this, m.attr, e, t, arguments.length > 1)
},
removeAttr: function (e) {
return this.each(function () {
m.removeAttr(this, e)
})
}
}),
m.extend({
attr: function (e, t, n) {
var r,
i,
o = e.nodeType;
if (3 !== o && 8 !== o && 2 !== o)
return void 0 === e.getAttribute ? m.prop(e, t, n) : (1 === o && m.isXMLDoc(e) || (t = t.toLowerCase(), i = m.attrHooks[t] || (m.expr.match.bool.test(t) ? xt : wt)), void 0 !== n ? null === n ? void m.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = m.find.attr(e, t)) ? void 0 : r)
},
attrHooks: {
type: {
set: function (e, t) {
if (!h.radioValue && "radio" === t && m.nodeName(e, "input")) {
var n = e.value;
return e.setAttribute("type", t),
n && (e.value = n),
t
}
}
}
},
removeAttr: function (e, t) {
var n,
r,
i = 0,
o = t && t.match(M);
if (o && 1 === e.nodeType)
for (; n = o[i++]; )
r = m.propFix[n] || n, m.expr.match.bool.test(n) ? kt && Ct || !Et.test(n) ? e[r] = !1 : e[m.camelCase("default-" + n)] = e[r] = !1 : m.attr(e, n, ""), e.removeAttribute(Ct ? n : r)
}
}),
xt = {
set: function (e, t, n) {
return !1 === t ? m.removeAttr(e, n) : kt && Ct || !Et.test(n) ? e.setAttribute(!Ct && m.propFix[n] || n, n) : e[m.camelCase("default-" + n)] = e[n] = !0,
n
}
},
m.each(m.expr.match.bool.source.match(/\w+/g), function (e, t) {
var n = Tt[t] || m.find.attr;
kt && Ct || !Et.test(t) ? Tt[t] = function (e, t, r) {
var i,
o;
return r || (o = Tt[t], Tt[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, Tt[t] = o),
i
}
: Tt[t] = function (e, t, n) {
if (!n)
return e[m.camelCase("default-" + t)] ? t.toLowerCase() : null
}
}),
kt && Ct || (m.attrHooks.value = {
set: function (e, t, n) {
if (!m.nodeName(e, "input"))
return wt && wt.set(e, t, n);
e.defaultValue = t
}
}),
Ct || (wt = {
set: function (e, t, n) {
var r = e.getAttributeNode(n);
if (r || e.setAttributeNode(r = e.ownerDocument.createAttribute(n)), r.value = t += "", "value" === n || t === e.getAttribute(n))
return t
}
}, Tt.id = Tt.name = Tt.coords = function (e, t, n) {
var r;
if (!n)
return (r = e.getAttributeNode(t)) && "" !== r.value ? r.value : null
}, m.valHooks.button = {
get: function (e, t) {
var n = e.getAttributeNode(t);
if (n && n.specified)
return n.value
},
set: wt.set
}, m.attrHooks.contenteditable = {
set: function (e, t, n) {
wt.set(e, "" !== t && t, n)
}
}, m.each(["width", "height"], function (e, t) {
m.attrHooks[t] = {
set: function (e, n) {
if ("" === n)
return e.setAttribute(t, "auto"), n
}
}
})),
h.style || (m.attrHooks.style = {
get: function (e) {
return e.style.cssText || void 0
},
set: function (e, t) {
return e.style.cssText = t + ""
}
});
var St = /^(?:input|select|textarea|button|object)$/i,
Lt = /^(?:a|area)$/i;
m.fn.extend({
prop: function (e, t) {
return ee(this, m.prop, e, t, arguments.length > 1)
},
removeProp: function (e) {
return e = m.propFix[e] || e,
this.each(function () {
try {
this[e] = void 0,
delete this[e]
} catch (e) {}
})
}
}),
m.extend({
prop: function (e, t, n) {
var r,
i,
o = e.nodeType;
if (3 !== o && 8 !== o && 2 !== o)
return 1 === o && m.isXMLDoc(e) || (t = m.propFix[t] || t, i = m.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]
},
propHooks: {
tabIndex: {
get: function (e) {
var t = m.find.attr(e, "tabindex");
return t ? parseInt(t, 10) : St.test(e.nodeName) || Lt.test(e.nodeName) && e.href ? 0 : -1
}
}
},
propFix: {
for : "htmlFor", class: "className"
}
}),
h.hrefNormalized || m.each(["href", "src"], function (e, t) {
m.propHooks[t] = {
get: function (e) {
return e.getAttribute(t, 4)
}
}
}),
h.optSelected || (m.propHooks.selected = {
get: function (e) {
var t = e.parentNode;
return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex),
null
},
set: function (e) {
var t = e.parentNode;
t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
}
}),
m.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
m.propFix[this.toLowerCase()] = this
}),
h.enctype || (m.propFix.enctype = "encoding");
var Nt = /[\t\r\n\f]/g;
function At(e) {
return m.attr(e, "class") || ""
}
m.fn.extend({
addClass: function (e) {
var t,
n,
r,
i,
o,
a,
s,
u = 0;
if (m.isFunction(e))
return this.each(function (t) {
m(this).addClass(e.call(this, t, At(this)))
});
if ("string" == typeof e && e)
for (t = e.match(M) || []; n = this[u++]; )
if (i = At(n), r = 1 === n.nodeType && (" " + i + " ").replace(Nt, " ")) {
for (a = 0; o = t[a++]; )
r.indexOf(" " + o + " ") < 0 && (r += o + " ");
i !== (s = m.trim(r)) && m.attr(n, "class", s)
}
return this
},
removeClass: function (e) {
var t,
n,
r,
i,
o,
a,
s,
u = 0;
if (m.isFunction(e))
return this.each(function (t) {
m(this).removeClass(e.call(this, t, At(this)))
});
if (!arguments.length)
return this.attr("class", "");
if ("string" == typeof e && e)
for (t = e.match(M) || []; n = this[u++]; )
if (i = At(n), r = 1 === n.nodeType && (" " + i + " ").replace(Nt, " ")) {
for (a = 0; o = t[a++]; )
for (; r.indexOf(" " + o + " ") > -1; )
r = r.replace(" " + o + " ", " ");
i !== (s = m.trim(r)) && m.attr(n, "class", s)
}
return this
},
toggleClass: function (e, t) {
var n = typeof e;
return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : m.isFunction(e) ? this.each(function (n) {
m(this).toggleClass(e.call(this, n, At(this), t), t)
}) : this.each(function () {
var t,
r,
i,
o;
if ("string" === n)
for (r = 0, i = m(this), o = e.match(M) || []; t = o[r++]; )
i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
else
void 0 !== e && "boolean" !== n || ((t = At(this)) && m._data(this, "__className__", t), m.attr(this, "class", t || !1 === e ? "" : m._data(this, "__className__") || ""))
})
},
hasClass: function (e) {
var t,
n,
r = 0;
for (t = " " + e + " "; n = this[r++]; )
if (1 === n.nodeType && (" " + At(n) + " ").replace(Nt, " ").indexOf(t) > -1)
return !0;
return !1
}
}),
m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) {
m.fn[t] = function (e, n) {
return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
}
}),
m.fn.extend({
hover: function (e, t) {
return this.mouseenter(e).mouseleave(t || e)
}
});
var Dt = n.location,
Ot = m.now(),
jt = /\?/,
Ht = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
m.parseJSON = function (e) {
if (n.JSON && n.JSON.parse)
return n.JSON.parse(e + "");
var t,
r = null,
i = m.trim(e + "");
return i && !m.trim(i.replace(Ht, function (e, n, i, o) {
return t && n && (r = 0),
0 === r ? e : (t = i || n, r += !o - !i, "")
})) ? Function("return " + i)() : m.error("Invalid JSON: " + e)
},
m.parseXML = function (e) {
var t;
if (!e || "string" != typeof e)
return null;
try {
n.DOMParser ? t = (new n.DOMParser).parseFromString(e, "text/xml") : ((t = new n.ActiveXObject("Microsoft.XMLDOM")).async = "false", t.loadXML(e))
} catch (e) {
t = void 0
}
return t && t.documentElement && !t.getElementsByTagName("parsererror").length || m.error("Invalid XML: " + e),
t
};
var Pt = /#.*$/,
Mt = /([?&])_=[^&]*/,
Rt = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
qt = /^(?:GET|HEAD)$/,
It = /^\/\//,
Ft = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
Bt = {},
_t = {},
Wt = "*/".concat("*"),
zt = Dt.href,
Ut = Ft.exec(zt.toLowerCase()) || [];
function $t(e) {
return function (t, n) {
"string" != typeof t && (n = t, t = "*");
var r,
i = 0,
o = t.toLowerCase().match(M) || [];
if (m.isFunction(n))
for (; r = o[i++]; )
"+" === r.charAt(0) ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
}
}
function Xt(e, t, n, r) {
var i = {},
o = e === _t;
function a(s) {
var u;
return i[s] = !0,
m.each(e[s] || [], function (e, s) {
var l = s(t, n, r);
return "string" != typeof l || o || i[l] ? o ? !(u = l) : void 0 : (t.dataTypes.unshift(l), a(l), !1)
}),
u
}
return a(t.dataTypes[0]) || !i["*"] && a("*")
}
function Vt(e, t) {
var n,
r,
i = m.ajaxSettings.flatOptions || {};
for (r in t)
void 0 !== t[r] && ((i[r] ? e : n || (n = {}))[r] = t[r]);
return n && m.extend(!0, e, n),
e
}
function Yt(e) {
return e.style && e.style.display || m.css(e, "display")
}
m.extend({
active: 0,
lastModified: {},
etag: {},
ajaxSettings: {
url: zt,
type: "GET",
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Ut[1]),
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": m.parseJSON,
"text xml": m.parseXML
},
flatOptions: {
url: !0,
context: !0
}
},
ajaxSetup: function (e, t) {
return t ? Vt(Vt(e, m.ajaxSettings), t) : Vt(m.ajaxSettings, e)
},
ajaxPrefilter: $t(Bt),
ajaxTransport: $t(_t),
ajax: function (e, t) {
"object" == typeof e && (t = e, e = void 0),
t = t || {};
var r,
i,
o,
a,
s,
u,
l,
c,
f = m.ajaxSetup({}, t),
d = f.context || f,
p = f.context && (d.nodeType || d.jquery) ? m(d) : m.event,
h = m.Deferred(),
v = m.Callbacks("once memory"),
g = f.statusCode || {},
y = {},
b = {},
w = 0,
x = "canceled",
T = {
readyState: 0,
getResponseHeader: function (e) {
var t;
if (2 === w) {
if (!c)
for (c = {}; t = Rt.exec(a); )
c[t[1].toLowerCase()] = t[2];
t = c[e.toLowerCase()]
}
return null == t ? null : t
},
getAllResponseHeaders: function () {
return 2 === w ? a : null
},
setRequestHeader: function (e, t) {
var n = e.toLowerCase();
return w || (e = b[n] = b[n] || e, y[e] = t),
this
},
overrideMimeType: function (e) {
return w || (f.mimeType = e),
this
},
statusCode: function (e) {
var t;
if (e)
if (w < 2)
for (t in e)
g[t] = [g[t], e[t]];
else
T.always(e[T.status]);
return this
},
abort: function (e) {
var t = e || x;
return l && l.abort(t),
E(0, t),
this
}
};
if (h.promise(T).complete = v.add, T.success = T.done, T.error = T.fail, f.url = ((e || f.url || zt) + "").replace(Pt, "").replace(It, Ut[1] + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = m.trim(f.dataType || "*").toLowerCase().match(M) || [""], null == f.crossDomain && (r = Ft.exec(f.url.toLowerCase()), f.crossDomain = !(!r || r[1] === Ut[1] && r[2] === Ut[2] && (r[3] || ("http:" === r[1] ? "80" : "443")) === (Ut[3] || ("http:" === Ut[1] ? "80" : "443")))), f.data && f.processData && "string" != typeof f.data && (f.data = m.param(f.data, f.traditional)), Xt(Bt, f, t, T), 2 === w)
return T;
for (i in(u = m.event && f.global) && 0 == m.active++ && m.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !qt.test(f.type), o = f.url, f.hasContent || (f.data && (o = f.url += (jt.test(o) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (f.url = Mt.test(o) ? o.replace(Mt, "$1_=" + Ot++) : o + (jt.test(o) ? "&" : "?") + "_=" + Ot++)), f.ifModified && (m.lastModified[o] && T.setRequestHeader("If-Modified-Since", m.lastModified[o]), m.etag[o] && T.setRequestHeader("If-None-Match", m.etag[o])), (f.data && f.hasContent && !1 !== f.contentType || t.contentType) && T.setRequestHeader("Content-Type", f.contentType), T.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)
T.setRequestHeader(i, f.headers[i]);
if (f.beforeSend && (!1 === f.beforeSend.call(d, T, f) || 2 === w))
return T.abort();
for (i in x = "abort", {
success: 1,
error: 1,
complete: 1
})
T[i](f[i]);
if (l = Xt(_t, f, t, T)) {
if (T.readyState = 1, u && p.trigger("ajaxSend", [T, f]), 2 === w)
return T;
f.async && f.timeout > 0 && (s = n.setTimeout(function () {
T.abort("timeout")
}, f.timeout));
try {
w = 1,
l.send(y, E)
} catch (e) {
if (!(w < 2))
throw e;
E(-1, e)
}
} else
E(-1, "No Transport");
function E(e, t, r, i) {
var c,
y,
b,
x,
E,
C = t;
2 !== w && (w = 2, s && n.clearTimeout(s), l = void 0, a = i || "", T.readyState = e > 0 ? 4 : 0, c = e >= 200 && e < 300 || 304 === e, r && (x = function (e, t, n) {
for (var r, i, o, a, s = e.contents, u = e.dataTypes; "*" === u[0]; )
u.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
if (i)
for (a in s)
if (s[a] && s[a].test(i)) {
u.unshift(a);
break
}
if (u[0]in n)
o = u[0];
else {
for (a in n) {
if (!u[0] || e.converters[a + " " + u[0]]) {
o = a;
break
}
r || (r = a)
}
o = o || r
}
if (o)
return o !== u[0] && u.unshift(o), n[o]
}
(f, T, r)), x = function (e, t, n, r) {
var i,
o,
a,
s,
u,
l = {},
c = e.dataTypes.slice();
if (c[1])
for (a in e.converters)
l[a.toLowerCase()] = e.converters[a];
for (o = c.shift(); o; )
if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
if ("*" === o)
o = u;
else if ("*" !== u && u !== o) {
if (!(a = l[u + " " + o] || l["* " + o]))
for (i in l)
if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
!0 === a ? a = l[i] : !0 !== l[i] && (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 " + u + " to " + o
}
}
}
return {
state: "success",
data: t
}
}
(f, x, T, c), c ? (f.ifModified && ((E = T.getResponseHeader("Last-Modified")) && (m.lastModified[o] = E), (E = T.getResponseHeader("etag")) && (m.etag[o] = E)), 204 === e || "HEAD" === f.type ? C = "nocontent" : 304 === e ? C = "notmodified" : (C = x.state, y = x.data, c = !(b = x.error))) : (b = C, !e && C || (C = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || C) + "", c ? h.resolveWith(d, [y, C, T]) : h.rejectWith(d, [T, C, b]), T.statusCode(g), g = void 0, u && p.trigger(c ? "ajaxSuccess" : "ajaxError", [T, f, c ? y : b]), v.fireWith(d, [T, C]), u && (p.trigger("ajaxComplete", [T, f]), --m.active || m.event.trigger("ajaxStop")))
}
return T
},
getJSON: function (e, t, n) {
return m.get(e, t, n, "json")
},
getScript: function (e, t) {
return m.get(e, void 0, t, "script")
}
}),
m.each(["get", "post"], function (e, t) {
m[t] = function (e, n, r, i) {
return m.isFunction(n) && (i = i || r, r = n, n = void 0),
m.ajax(m.extend({
url: e,
type: t,
dataType: i,
data: n,
success: r
}, m.isPlainObject(e) && e))
}
}),
m._evalUrl = function (e) {
return m.ajax({
url: e,
type: "GET",
dataType: "script",
cache: !0,
async: !1,
global: !1,
throws: !0
})
},
m.fn.extend({
wrapAll: function (e) {
if (m.isFunction(e))
return this.each(function (t) {
m(this).wrapAll(e.call(this, t))
});
if (this[0]) {
var t = m(e, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && t.insertBefore(this[0]),
t.map(function () {
for (var e = this; e.firstChild && 1 === e.firstChild.nodeType; )
e = e.firstChild;
return e
}).append(this)
}
return this
},
wrapInner: function (e) {
return m.isFunction(e) ? this.each(function (t) {
m(this).wrapInner(e.call(this, t))
}) : this.each(function () {
var t = m(this),
n = t.contents();
n.length ? n.wrapAll(e) : t.append(e)
})
},
wrap: function (e) {
var t = m.isFunction(e);
return this.each(function (n) {
m(this).wrapAll(t ? e.call(this, n) : e)
})
},
unwrap: function () {
return this.parent().each(function () {
m.nodeName(this, "body") || m(this).replaceWith(this.childNodes)
}).end()
}
}),
m.expr.filters.hidden = function (e) {
return h.reliableHiddenOffsets() ? e.offsetWidth <= 0 && e.offsetHeight <= 0 && !e.getClientRects().length : function (e) {
if (!m.contains(e.ownerDocument || a, e))
return !0;
for (; e && 1 === e.nodeType; ) {
if ("none" === Yt(e) || "hidden" === e.type)
return !0;
e = e.parentNode
}
return !1
}
(e)
},
m.expr.filters.visible = function (e) {
return !m.expr.filters.hidden(e)
};
var Gt = /%20/g,
Jt = /\[\]$/,
Kt = /\r?\n/g,
Qt = /^(?:submit|button|image|reset|file)$/i,
Zt = /^(?:input|select|textarea|keygen)/i;
function en(e, t, n, r) {
var i;
if (m.isArray(t))
m.each(t, function (t, i) {
n || Jt.test(e) ? r(e, i) : en(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
});
else if (n || "object" !== m.type(t))
r(e, t);
else
for (i in t)
en(e + "[" + i + "]", t[i], n, r)
}
m.param = function (e, t) {
var n,
r = [],
i = function (e, t) {
t = m.isFunction(t) ? t() : null == t ? "" : t,
r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
};
if (void 0 === t && (t = m.ajaxSettings && m.ajaxSettings.traditional), m.isArray(e) || e.jquery && !m.isPlainObject(e))
m.each(e, function () {
i(this.name, this.value)
});
else
for (n in e)
en(n, e[n], t, i);
return r.join("&").replace(Gt, "+")
},
m.fn.extend({
serialize: function () {
return m.param(this.serializeArray())
},
serializeArray: function () {
return this.map(function () {
var e = m.prop(this, "elements");
return e ? m.makeArray(e) : this
}).filter(function () {
var e = this.type;
return this.name && !m(this).is(":disabled") && Zt.test(this.nodeName) && !Qt.test(e) && (this.checked || !te.test(e))
}).map(function (e, t) {
var n = m(this).val();
return null == n ? null : m.isArray(n) ? m.map(n, function (e) {
return {
name: t.name,
value: e.replace(Kt, "\r\n")
}
}) : {
name: t.name,
value: n.replace(Kt, "\r\n")
}
}).get()
}
}),
m.ajaxSettings.xhr = void 0 !== n.ActiveXObject ? function () {
return this.isLocal ? an() : a.documentMode > 8 ? on() : /^(get|post|head|put|delete|options)$/i.test(this.type) && on() || an()
}
: on;
var tn = 0,
nn = {},
rn = m.ajaxSettings.xhr();
function on() {
try {
return new n.XMLHttpRequest
} catch (e) {}
}
function an() {
try {
return new n.ActiveXObject("Microsoft.XMLHTTP")
} catch (e) {}
}
n.attachEvent && n.attachEvent("onunload", function () {
for (var e in nn)
nn[e](void 0, !0)
}),
h.cors = !!rn && "withCredentials" in rn,
(rn = h.ajax = !!rn) && m.ajaxTransport(function (e) {
var t;
if (!e.crossDomain || h.cors)
return {
send: function (r, i) {
var o,
a = e.xhr(),
s = ++tn;
if (a.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)
for (o in e.xhrFields)
a[o] = e.xhrFields[o];
for (o in e.mimeType && a.overrideMimeType && a.overrideMimeType(e.mimeType), e.crossDomain || r["X-Requested-With"] || (r["X-Requested-With"] = "XMLHttpRequest"), r)
void 0 !== r[o] && a.setRequestHeader(o, r[o] + "");
a.send(e.hasContent && e.data || null),
t = function (n, r) {
var o,
u,
l;
if (t && (r || 4 === a.readyState))
if (delete nn[s], t = void 0, a.onreadystatechange = m.noop, r)
4 !== a.readyState && a.abort();
else {
l = {},
o = a.status,
"string" == typeof a.responseText && (l.text = a.responseText);
try {
u = a.statusText
} catch (e) {
u = ""
}
o || !e.isLocal || e.crossDomain ? 1223 === o && (o = 204) : o = l.text ? 200 : 404
}
l && i(o, u, l, a.getAllResponseHeaders())
},
e.async ? 4 === a.readyState ? n.setTimeout(t) : a.onreadystatechange = nn[s] = t : t()
},
abort: function () {
t && t(void 0, !0)
}
}
}),
m.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 m.globalEval(e),
e
}
}
}),
m.ajaxPrefilter("script", function (e) {
void 0 === e.cache && (e.cache = !1),
e.crossDomain && (e.type = "GET", e.global = !1)
}),
m.ajaxTransport("script", function (e) {
if (e.crossDomain) {
var t,
n = a.head || m("head")[0] || a.documentElement;
return {
send: function (r, i) {
(t = a.createElement("script")).async = !0,
e.scriptCharset && (t.charset = e.scriptCharset),
t.src = e.url,
t.onload = t.onreadystatechange = function (e, n) {
(n || !t.readyState || /loaded|complete/.test(t.readyState)) && (t.onload = t.onreadystatechange = null, t.parentNode && t.parentNode.removeChild(t), t = null, n || i(200, "success"))
},
n.insertBefore(t, n.firstChild)
},
abort: function () {
t && t.onload(void 0, !0)
}
}
}
});
var sn = [],
un = /(=)\?(?=&|$)|\?\?/;
m.ajaxSetup({
jsonp: "callback",
jsonpCallback: function () {
var e = sn.pop() || m.expando + "_" + Ot++;
return this[e] = !0,
e
}
}),
m.ajaxPrefilter("json jsonp", function (e, t, r) {
var i,
o,
a,
s = !1 !== e.jsonp && (un.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && un.test(e.data) && "data");
if (s || "jsonp" === e.dataTypes[0])
return i = e.jsonpCallback = m.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, s ? e[s] = e[s].replace(un, "$1" + i) : !1 !== e.jsonp && (e.url += (jt.test(e.url) ? "&" : "?") + e.jsonp + "=" + i), e.converters["script json"] = function () {
return a || m.error(i + " was not called"),
a[0]
},
e.dataTypes[0] = "json",
o = n[i],
n[i] = function () {
a = arguments
},
r.always(function () {
void 0 === o ? m(n).removeProp(i) : n[i] = o,
e[i] && (e.jsonpCallback = t.jsonpCallback, sn.push(i)),
a && m.isFunction(o) && o(a[0]),
a = o = void 0
}),
"script"
}),
m.parseHTML = function (e, t, n) {
if (!e || "string" != typeof e)
return null;
"boolean" == typeof t && (n = t, t = !1),
t = t || a;
var r = k.exec(e),
i = !n && [];
return r ? [t.createElement(r[1])] : (r = pe([e], t, i), i && i.length && m(i).remove(), m.merge([], r.childNodes))
};
var ln = m.fn.load;
function cn(e) {
return m.isWindow(e) ? e : 9 === e.nodeType && (e.defaultView || e.parentWindow)
}
m.fn.load = function (e, t, n) {
if ("string" != typeof e && ln)
return ln.apply(this, arguments);
var r,
i,
o,
a = this,
s = e.indexOf(" ");
return s > -1 && (r = m.trim(e.slice(s, e.length)), e = e.slice(0, s)),
m.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"),
a.length > 0 && m.ajax({
url: e,
type: i || "GET",
dataType: "html",
data: t
}).done(function (e) {
o = arguments,
a.html(r ? m("<div>").append(m.parseHTML(e)).find(r) : e)
}).always(n && function (e, t) {
a.each(function () {
n.apply(this, o || [e.responseText, t, e])
})
}),
this
},
m.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
m.fn[t] = function (e) {
return this.on(t, e)
}
}),
m.expr.filters.animated = function (e) {
return m.grep(m.timers, function (t) {
return e === t.elem
}).length
},
m.offset = {
setOffset: function (e, t, n) {
var r,
i,
o,
a,
s,
u,
l = m.css(e, "position"),
c = m(e),
f = {};
"static" === l && (e.style.position = "relative"),
s = c.offset(),
o = m.css(e, "top"),
u = m.css(e, "left"),
("absolute" === l || "fixed" === l) && m.inArray("auto", [o, u]) > -1 ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0),
m.isFunction(t) && (t = t.call(e, n, m.extend({}, s))),
null != t.top && (f.top = t.top - s.top + a),
null != t.left && (f.left = t.left - s.left + i),
"using" in t ? t.using.call(e, f) : c.css(f)
}
},
m.fn.extend({
offset: function (e) {
if (arguments.length)
return void 0 === e ? this : this.each(function (t) {
m.offset.setOffset(this, e, t)
});
var t,
n,
r = {
top: 0,
left: 0
},
i = this[0],
o = i && i.ownerDocument;
return o ? (t = o.documentElement, m.contains(t, i) ? (void 0 !== i.getBoundingClientRect && (r = i.getBoundingClientRect()), n = cn(o), {
top: r.top + (n.pageYOffset || t.scrollTop) - (t.clientTop || 0),
left: r.left + (n.pageXOffset || t.scrollLeft) - (t.clientLeft || 0)
}) : r) : void 0
},
position: function () {
if (this[0]) {
var e,
t,
n = {
top: 0,
left: 0
},
r = this[0];
return "fixed" === m.css(r, "position") ? t = r.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), m.nodeName(e[0], "html") || (n = e.offset()), n.top += m.css(e[0], "borderTopWidth", !0), n.left += m.css(e[0], "borderLeftWidth", !0)), {
top: t.top - n.top - m.css(r, "marginTop", !0),
left: t.left - n.left - m.css(r, "marginLeft", !0)
}
}
},
offsetParent: function () {
return this.map(function () {
for (var e = this.offsetParent; e && !m.nodeName(e, "html") && "static" === m.css(e, "position"); )
e = e.offsetParent;
return e || $e
})
}
}),
m.each({
scrollLeft: "pageXOffset",
scrollTop: "pageYOffset"
}, function (e, t) {
var n = /Y/.test(t);
m.fn[e] = function (r) {
return ee(this, function (e, r, i) {
var o = cn(e);
if (void 0 === i)
return o ? t in o ? o[t] : o.document.documentElement[r] : e[r];
o ? o.scrollTo(n ? m(o).scrollLeft() : i, n ? i : m(o).scrollTop()) : e[r] = i
}, e, r, arguments.length, null)
}
}),
m.each(["top", "left"], function (e, t) {
m.cssHooks[t] = Ge(h.pixelPosition, function (e, n) {
if (n)
return n = Ve(e, t), ze.test(n) ? m(e).position()[t] + "px" : n
})
}),
m.each({
Height: "height",
Width: "width"
}, function (e, t) {
m.each({
padding: "inner" + e,
content: t,
"": "outer" + e
}, function (n, r) {
m.fn[r] = function (r, i) {
var o = arguments.length && (n || "boolean" != typeof r),
a = n || (!0 === r || !0 === i ? "margin" : "border");
return ee(this, function (t, n, r) {
var i;
return m.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? m.css(t, n, a) : m.style(t, n, r, a)
}, t, o ? r : void 0, o, null)
}
})
}),
m.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, r) {
return this.on(t, e, n, r)
},
undelegate: function (e, t, n) {
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
}
}),
m.fn.size = function () {
return this.length
},
m.fn.andSelf = m.fn.addBack,
void 0 === (r = function () {
return m
}
.apply(t, [])) || (e.exports = r);
var fn = n.jQuery,
dn = n.$;
return m.noConflict = function (e) {
return n.$ === m && (n.$ = dn),
e && n.jQuery === m && (n.jQuery = fn),
m
},
i || (n.jQuery = n.$ = m),
m
},
"object" == typeof e && "object" == typeof e.exports ? e.exports = i.document ? o(i, !0) : function (e) {
if (!e.document)
throw new Error("jQuery requires a window with a document");
return o(e)
}
: o(i)
}, function (e, t) {
e.exports = {
openUrl: function (e) {
window.location.href = e
},
nativeDownload: function (e, t) {
var n = document.createElement("a");
n.setAttribute("href", e),
n.setAttribute("download", t),
n.style.display = "none",
document.body.appendChild(n),
n.click(),
setTimeout(function () {
document.body.removeChild(n)
}, 100)
},
download: function (e, t, n) {
var r,
i,
o,
a = window,
s = "application/octet-stream",
u = n || s,
l = e,
c = document,
f = c.createElement("a"),
d = function (e) {
return String(e)
},
p = a.Blob || a.MozBlob || a.WebKitBlob || d,
h = a.MSBlobBuilder || a.WebKitBlobBuilder || a.BlobBuilder,
m = t || "download";
if ("true" === String(this) && (u = (l = [l, u])[0], l = l[1]), String(l).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))
return navigator.msSaveBlob ? navigator.msSaveBlob(function (e) {
var t = e.split(/[:;,]/),
n = t[1],
r = ("base64" == t[2] ? atob : decodeURIComponent)(t.pop()),
i = r.length,
o = 0,
a = new Uint8Array(i);
for (; o < i; ++o)
a[o] = r.charCodeAt(o);
return new p([a], {
type: n
})
}
(l), m) : v(l);
try {
r = l instanceof p ? l : new p([l], {
type: u
})
} catch (e) {
h && ((i = new h).append([l]), r = i.getBlob(u))
}
function v(e, t) {
if ("download" in f)
return f.href = e, f.setAttribute("download", m), f.innerHTML = "downloading...", c.body.appendChild(f), setTimeout(function () {
f.click(),
c.body.removeChild(f),
!0 === t && setTimeout(function () {
a.URL.revokeObjectURL(f.href)
}, 250)
}, 66), !0;
var n = c.createElement("iframe");
c.body.appendChild(n),
t || (e = "data:" + e.replace(/^data:([\w\/\-\+]+)/, s)),
n.src = e,
setTimeout(function () {
c.body.removeChild(n)
}, 333)
}
if (navigator.msSaveBlob)
return navigator.msSaveBlob(r, m);
if (a.URL)
v(a.URL.createObjectURL(r), !0);
else {
if ("string" == typeof r || r.constructor === d)
try {
return v("data:" + u + ";base64," + a.btoa(r))
} catch (e) {
return v("data:" + u + "," + encodeURIComponent(r))
}
(o = new FileReader).onload = function (e) {
v(this.result)
},
o.readAsDataURL(r)
}
return !0
}
}
}, function (e, t, n) {
(function (t) {
var n;
n = function () {
"use strict";
var e = {};
"undefined" != typeof window && (e.SUPPORTED = "requestAnimationFrame" in window, e.SUPPORTS_TOUCH = "ontouchstart" in window, e.touch = !1, e.dynamicInputDetection = !0, e.iOS = function () {
return /iPhone|iPad|iPod/.test(navigator.userAgent) && !window.MSStream
});
var n = [],
r = {
POPPER: ".tippy-popper",
TOOLTIP: ".tippy-tooltip",
CONTENT: ".tippy-tooltip-content",
CIRCLE: "[x-circle]",
ARROW: "[x-arrow]",
TOOLTIPPED_EL: "[data-tooltipped]",
CONTROLLER: "[data-tippy-controller]"
},
i = {
html: !1,
position: "top",
animation: "shift",
animateFill: !0,
arrow: !1,
arrowSize: "regular",
delay: 0,
trigger: "mouseenter focus",
duration: 350,
interactive: !1,
interactiveBorder: 2,
theme: "dark",
size: "regular",
distance: 10,
offset: 0,
hideOnClick: !0,
multiple: !1,
followCursor: !1,
inertia: !1,
flipDuration: 350,
sticky: !1,
stickyDuration: 200,
appendTo: function () {
return document.body
},
zIndex: 9999,
touchHold: !1,
performance: !1,
dynamicTitle: !1,
popperOptions: {}
},
o = e.SUPPORTED && Object.keys(i);
function a(e) {
n.forEach(function (t) {
var n = t.popper,
r = t.tippyInstance,
i = t.settings,
o = i.appendTo,
a = i.hideOnClick,
s = i.trigger;
if (o.contains(n)) {
var u = !0 === a || -1 !== s.indexOf("focus"),
l = !e || n !== e.popper;
u && l && r.hide(n)
}
})
}
var s = {};
if ("undefined" != typeof Element) {
var u = Element.prototype;
s = u.matches || u.matchesSelector || u.webkitMatchesSelector || u.mozMatchesSelector || u.msMatchesSelector || function (e) {
for (var t = (this.document || this.ownerDocument).querySelectorAll(e), n = t.length; --n >= 0 && t.item(n) !== this; );
return n > -1
}
}
var l = s;
function c(e, t) {
return (Element.prototype.closest || function (e) {
for (var t = this; t; ) {
if (l.call(t, e))
return t;
t = t.parentElement
}
}).call(e, t)
}
function f(e, t) {
return Array.prototype.find ? e.find(t) : e.filter(t)[0]
}
function d() {
return !d.done && (d.done = !0, i = function () {
e.touch = !0,
e.iOS() && document.body.classList.add("tippy-touch"),
e.dynamicInputDetection && window.performance && document.addEventListener("mousemove", o)
}, t = void 0, o = function () {
var n = performance.now();
n - t < 20 && (e.touch = !1, document.removeEventListener("mousemove", o), e.iOS() || document.body.classList.remove("tippy-touch")),
t = n
}, document.addEventListener("click", function (t) {
if (!(t.target instanceof Element))
return a();
var i = c(t.target, r.TOOLTIPPED_EL),
o = c(t.target, r.POPPER);
if (!o || !f(n, function (e) {
return e.popper === o
}).settings.interactive) {
if (i) {
var s = f(n, function (e) {
return e.el === i
}),
u = s.settings,
l = u.hideOnClick,
d = u.multiple,
p = u.trigger;
if (!d && e.touch || !d && -1 !== p.indexOf("click"))
return a(s);
if (!0 !== l || -1 !== p.indexOf("click"))
return
}
!c(t.target, r.CONTROLLER) && document.querySelector(r.POPPER) && a()
}
}), document.addEventListener("touchstart", i), window.addEventListener("blur", function (e) {
var t = document.activeElement;
t && t.blur && l.call(t, r.TOOLTIPPED_EL) && t.blur()
}), !e.SUPPORTS_TOUCH && (navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0) && document.addEventListener("pointerdown", i), !0);
var t,
i,
o
}
function p(e) {
window.requestAnimationFrame(function () {
setTimeout(e, 0)
})
}
function h(e) {
for (var t = [!1, "webkit"], n = e.charAt(0).toUpperCase() + e.slice(1), r = 0; r < t.length; r++) {
var i = t[r],
o = i ? "" + i + n : e;
if (void 0 !== window.document.body.style[o])
return o
}
return null
}
function m(e) {
var t = e.getAttribute("title");
t && e.setAttribute("data-original-title", t),
e.removeAttribute("title")
}
function v(e, t) {
e.forEach(function (e) {
e && t(e.classList)
})
}
function g(e) {
return {
tooltip: e.querySelector(r.TOOLTIP),
circle: e.querySelector(r.CIRCLE),
content: e.querySelector(r.CONTENT)
}
}
function y(e, t) {
e.forEach(function (e) {
if (e) {
var n = l.call(e, r.CONTENT) ? Math.round(t / 1.3) : t;
e.style[h("transitionDuration")] = n + "ms"
}
})
}
function b(e) {
return "visible" === e.style.visibility
}
function w() {}
function x(e) {
return !!e && "[object Object]" === e.toString()
}
function T(e) {
return e.replace(/-.+/, "")
}
function E(e) {
var t = this,
r = f(n, function (e) {
return e.el === t
}),
i = r.popper,
o = r.settings.offset,
a = T(i.getAttribute("x-placement")),
s = Math.round(i.offsetWidth / 2),
u = Math.round(i.offsetHeight / 2),
l = document.documentElement.offsetWidth || document.body.offsetWidth,
c = e.pageX,
d = e.pageY,
p = void 0,
m = void 0;
switch (a) {
case "top":
p = c - s + o,
m = d - 2 * u;
break;
case "bottom":
p = c - s + o,
m = d + 10;
break;
case "left":
p = c - 2 * s,
m = d - u + o;
break;
case "right":
p = c + 5,
m = d - u + o
}
"top" !== a && "bottom" !== a || (c + 5 + s + o > l && (p = l - 5 - 2 * s), c - 5 - s + o < 0 && (p = 5)),
i.style[h("transform")] = "translate3d(" + p + "px, " + m + "px, 0)"
}
function C(e, t, n) {
if (!t)
return n();
var r = g(e.popper).tooltip,
i = !1,
o = function (e) {
r[e + "EventListener"]("webkitTransitionEnd", a),
r[e + "EventListener"]("transitionend", a)
},
a = function (e) {
e.target !== r || i || (i = !0, o("remove"), n())
};
o("add"),
clearTimeout(e._transitionendTimeout),
e._transitionendTimeout = setTimeout(function () {
i || (o("remove"), n())
}, t)
}
for (var k = "undefined" != typeof window && "undefined" != typeof document, S = ["Edge", "Trident", "Firefox"], L = 0, N = 0; N < S.length; N += 1)
if (k && navigator.userAgent.indexOf(S[N]) >= 0) {
L = 1;
break
}
var A = k && window.Promise ? function (e) {
var t = !1;
return function () {
t || (t = !0, window.Promise.resolve().then(function () {
t = !1,
e()
}))
}
}
: function (e) {
var t = !1;
return function () {
t || (t = !0, setTimeout(function () {
t = !1,
e()
}, L))
}
};
function D(e) {
return e && "[object Function]" === {}
.toString.call(e)
}
function O(e, t) {
if (1 !== e.nodeType)
return [];
var n = getComputedStyle(e, null);
return t ? n[t] : n
}
function j(e) {
return "HTML" === e.nodeName ? e : e.parentNode || e.host
}
function H(e) {
if (!e)
return document.body;
switch (e.nodeName) {
case "HTML":
case "BODY":
return e.ownerDocument.body;
case "#document":
return e.body
}
var t = O(e),
n = t.overflow,
r = t.overflowX,
i = t.overflowY;
return /(auto|scroll)/.test(n + i + r) ? e : H(j(e))
}
function P(e) {
var t = e && e.offsetParent,
n = t && t.nodeName;
return n && "BODY" !== n && "HTML" !== n ? -1 !== ["TD", "TABLE"].indexOf(t.nodeName) && "static" === O(t, "position") ? P(t) : t : e ? e.ownerDocument.documentElement : document.documentElement
}
function M(e) {
return null !== e.parentNode ? M(e.parentNode) : e
}
function R(e, t) {
if (!(e && e.nodeType && t && t.nodeType))
return document.documentElement;
var n = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
r = n ? e : t,
i = n ? t : e,
o = document.createRange();
o.setStart(r, 0),
o.setEnd(i, 0);
var a,
s,
u = o.commonAncestorContainer;
if (e !== u && t !== u || r.contains(i))
return "BODY" === (s = (a = u).nodeName) || "HTML" !== s && P(a.firstElementChild) !== a ? P(u) : u;
var l = M(e);
return l.host ? R(l.host, t) : R(e, M(t).host)
}
function q(e) {
var t = "top" === (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top") ? "scrollTop" : "scrollLeft",
n = e.nodeName;
if ("BODY" === n || "HTML" === n) {
var r = e.ownerDocument.documentElement;
return (e.ownerDocument.scrollingElement || r)[t]
}
return e[t]
}
function I(e, t) {
var n = "x" === t ? "Left" : "Top",
r = "Left" === n ? "Right" : "Bottom";
return parseFloat(e["border" + n + "Width"], 10) + parseFloat(e["border" + r + "Width"], 10)
}
var F = void 0,
B = function () {
return void 0 === F && (F = -1 !== navigator.appVersion.indexOf("MSIE 10")),
F
};
function _(e, t, n, r) {
return Math.max(t["offset" + e], t["scroll" + e], n["client" + e], n["offset" + e], n["scroll" + e], B() ? n["offset" + e] + r["margin" + ("Height" === e ? "Top" : "Left")] + r["margin" + ("Height" === e ? "Bottom" : "Right")] : 0)
}
function W() {
var e = document.body,
t = document.documentElement,
n = B() && getComputedStyle(t);
return {
height: _("Height", e, t, n),
width: _("Width", e, t, n)
}
}
var z = function (e, t) {
if (!(e instanceof t))
throw new TypeError("Cannot call a class as a function")
},
U = function () {
function e(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1,
r.configurable = !0,
"value" in r && (r.writable = !0),
Object.defineProperty(e, r.key, r)
}
}
return function (t, n, r) {
return n && e(t.prototype, n),
r && e(t, r),
t
}
}
(),
$ = function (e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n,
e
},
X = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n)
Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
};
function V(e) {
return X({}, e, {
right: e.left + e.width,
bottom: e.top + e.height
})
}
function Y(e) {
var t = {};
if (B())
try {
t = e.getBoundingClientRect();
var n = q(e, "top"),
r = q(e, "left");
t.top += n,
t.left += r,
t.bottom += n,
t.right += r
} catch (e) {}
else
t = e.getBoundingClientRect();
var i = {
left: t.left,
top: t.top,
width: t.right - t.left,
height: t.bottom - t.top
},
o = "HTML" === e.nodeName ? W() : {},
a = o.width || e.clientWidth || i.right - i.left,
s = o.height || e.clientHeight || i.bottom - i.top,
u = e.offsetWidth - a,
l = e.offsetHeight - s;
if (u || l) {
var c = O(e);
u -= I(c, "x"),
l -= I(c, "y"),
i.width -= u,
i.height -= l
}
return V(i)
}
function G(e, t) {
var n = B(),
r = "HTML" === t.nodeName,
i = Y(e),
o = Y(t),
a = H(e),
s = O(t),
u = parseFloat(s.borderTopWidth, 10),
l = parseFloat(s.borderLeftWidth, 10),
c = V({
top: i.top - o.top - u,
left: i.left - o.left - l,
width: i.width,
height: i.height
});
if (c.marginTop = 0, c.marginLeft = 0, !n && r) {
var f = parseFloat(s.marginTop, 10),
d = parseFloat(s.marginLeft, 10);
c.top -= u - f,
c.bottom -= u - f,
c.left -= l - d,
c.right -= l - d,
c.marginTop = f,
c.marginLeft = d
}
return (n ? t.contains(a) : t === a && "BODY" !== a.nodeName) && (c = function (e, t) {
var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
r = q(t, "top"),
i = q(t, "left"),
o = n ? -1 : 1;
return e.top += r * o,
e.bottom += r * o,
e.left += i * o,
e.right += i * o,
e
}
(c, t)),
c
}
function J(e, t, n, r) {
var i = {
top: 0,
left: 0
},
o = R(e, t);
if ("viewport" === r)
i = function (e) {
var t = e.ownerDocument.documentElement,
n = G(e, t),
r = Math.max(t.clientWidth, window.innerWidth || 0),
i = Math.max(t.clientHeight, window.innerHeight || 0),
o = q(t),
a = q(t, "left");
return V({
top: o - n.top + n.marginTop,
left: a - n.left + n.marginLeft,
width: r,
height: i
})
}
(o);
else {
var a = void 0;
"scrollParent" === r ? "BODY" === (a = H(j(t))).nodeName && (a = e.ownerDocument.documentElement) : a = "window" === r ? e.ownerDocument.documentElement : r;
var s = G(a, o);
if ("HTML" !== a.nodeName || function e(t) {
var n = t.nodeName;
return "BODY" !== n && "HTML" !== n && ("fixed" === O(t, "position") || e(j(t)))
}
(o))
i = s;
else {
var u = W(),
l = u.height,
c = u.width;
i.top += s.top - s.marginTop,
i.bottom = l + s.top,
i.left += s.left - s.marginLeft,
i.right = c + s.left
}
}
return i.left += n,
i.top += n,
i.right -= n,
i.bottom -= n,
i
}
function K(e, t, n, r, i) {
var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
if (-1 === e.indexOf("auto"))
return e;
var a = J(n, r, o, i),
s = {
top: {
width: a.width,
height: t.top - a.top
},
right: {
width: a.right - t.right,
height: a.height
},
bottom: {
width: a.width,
height: a.bottom - t.bottom
},
left: {
width: t.left - a.left,
height: a.height
}
},
u = Object.keys(s).map(function (e) {
return X({
key: e
}, s[e], {
area: (t = s[e], t.width * t.height)
});
var t
}).sort(function (e, t) {
return t.area - e.area
}),
l = u.filter(function (e) {
var t = e.width,
r = e.height;
return t >= n.clientWidth && r >= n.clientHeight
}),
c = l.length > 0 ? l[0].key : u[0].key,
f = e.split("-")[1];
return c + (f ? "-" + f : "")
}
function Q(e, t, n) {
return G(n, R(t, n))
}
function Z(e) {
var t = getComputedStyle(e),
n = parseFloat(t.marginTop) + parseFloat(t.marginBottom),
r = parseFloat(t.marginLeft) + parseFloat(t.marginRight);
return {
width: e.offsetWidth + r,
height: e.offsetHeight + n
}
}
function ee(e) {
var t = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
};
return e.replace(/left|right|bottom|top/g, function (e) {
return t[e]
})
}
function te(e, t, n) {
n = n.split("-")[0];
var r = Z(e),
i = {
width: r.width,
height: r.height
},
o = -1 !== ["right", "left"].indexOf(n),
a = o ? "top" : "left",
s = o ? "left" : "top",
u = o ? "height" : "width",
l = o ? "width" : "height";
return i[a] = t[a] + t[u] / 2 - r[u] / 2,
i[s] = n === s ? t[s] - r[l] : t[ee(s)],
i
}
function ne(e, t) {
return Array.prototype.find ? e.find(t) : e.filter(t)[0]
}
function re(e, t, n) {
return (void 0 === n ? e : e.slice(0, function (e, t, n) {
if (Array.prototype.findIndex)
return e.findIndex(function (e) {
return e[t] === n
});
var r = ne(e, function (e) {
return e[t] === n
});
return e.indexOf(r)
}
(e, "name", n))).forEach(function (e) {
e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
var n = e.function || e.fn;
e.enabled && D(n) && (t.offsets.popper = V(t.offsets.popper), t.offsets.reference = V(t.offsets.reference), t = n(t, e))
}),
t
}
function ie(e, t) {
return e.some(function (e) {
var n = e.name;
return e.enabled && n === t
})
}
function oe(e) {
for (var t = [!1, "ms", "Webkit", "Moz", "O"], n = e.charAt(0).toUpperCase() + e.slice(1), r = 0; r < t.length - 1; r++) {
var i = t[r],
o = i ? "" + i + n : e;
if (void 0 !== document.body.style[o])
return o
}
return null
}
function ae(e) {
var t = e.ownerDocument;
return t ? t.defaultView : window
}
function se(e, t, n, r) {
n.updateBound = r,
ae(e).addEventListener("resize", n.updateBound, {
passive: !0
});
var i = H(e);
return function e(t, n, r, i) {
var o = "BODY" === t.nodeName,
a = o ? t.ownerDocument.defaultView : t;
a.addEventListener(n, r, {
passive: !0
}),
o || e(H(a.parentNode), n, r, i),
i.push(a)
}
(i, "scroll", n.updateBound, n.scrollParents),
n.scrollElement = i,
n.eventsEnabled = !0,
n
}
function ue() {
var e,
t;
this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = (e = this.reference, t = this.state, ae(e).removeEventListener("resize", t.updateBound), t.scrollParents.forEach(function (e) {
e.removeEventListener("scroll", t.updateBound)
}), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t))
}
function le(e) {
return "" !== e && !isNaN(parseFloat(e)) && isFinite(e)
}
function ce(e, t) {
Object.keys(t).forEach(function (n) {
var r = "";
-1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(n) && le(t[n]) && (r = "px"),
e.style[n] = t[n] + r
})
}
function fe(e, t, n) {
var r = ne(e, function (e) {
return e.name === t
}),
i = !!r && e.some(function (e) {
return e.name === n && e.enabled && e.order < r.order
});
if (!i) {
var o = "`" + t + "`",
a = "`" + n + "`";
console.warn(a + " modifier is required by " + o + " modifier in order to work, be sure to include it before " + o + "!")
}
return i
}
var de = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
pe = de.slice(3);
function he(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
n = pe.indexOf(e),
r = pe.slice(n + 1).concat(pe.slice(0, n));
return t ? r.reverse() : r
}
var me = {
FLIP: "flip",
CLOCKWISE: "clockwise",
COUNTERCLOCKWISE: "counterclockwise"
};
function ve(e, t, n, r) {
var i = [0, 0],
o = -1 !== ["right", "left"].indexOf(r),
a = e.split(/(\+|\-)/).map(function (e) {
return e.trim()
}),
s = a.indexOf(ne(a, function (e) {
return -1 !== e.search(/,|\s/)
}));
a[s] && -1 === a[s].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
var u = /\s*,\s*|\s+/,
l = -1 !== s ? [a.slice(0, s).concat([a[s].split(u)[0]]), [a[s].split(u)[1]].concat(a.slice(s + 1))] : [a];
return (l = l.map(function (e, r) {
var i = (1 === r ? !o : o) ? "height" : "width",
a = !1;
return e.reduce(function (e, t) {
return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? (e[e.length - 1] = t, a = !0, e) : a ? (e[e.length - 1] += t, a = !1, e) : e.concat(t)
}, []).map(function (e) {
return function (e, t, n, r) {
var i = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
o = +i[1],
a = i[2];
if (!o)
return e;
if (0 === a.indexOf("%")) {
var s = void 0;
switch (a) {
case "%p":
s = n;
break;
case "%":
case "%r":
default:
s = r
}
return V(s)[t] / 100 * o
}
if ("vh" === a || "vw" === a)
return ("vh" === a ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * o;
return o
}
(e, i, t, n)
})
})).forEach(function (e, t) {
e.forEach(function (n, r) {
le(n) && (i[t] += n * ("-" === e[r - 1] ? -1 : 1))
})
}),
i
}
var ge = {
placement: "bottom",
eventsEnabled: !0,
removeOnDestroy: !1,
onCreate: function () {},
onUpdate: function () {},
modifiers: {
shift: {
order: 100,
enabled: !0,
fn: function (e) {
var t = e.placement,
n = t.split("-")[0],
r = t.split("-")[1];
if (r) {
var i = e.offsets,
o = i.reference,
a = i.popper,
s = -1 !== ["bottom", "top"].indexOf(n),
u = s ? "left" : "top",
l = s ? "width" : "height",
c = {
start: $({}, u, o[u]),
end: $({}, u, o[u] + o[l] - a[l])
};
e.offsets.popper = X({}, a, c[r])
}
return e
}
},
offset: {
order: 200,
enabled: !0,
fn: function (e, t) {
var n = t.offset,
r = e.placement,
i = e.offsets,
o = i.popper,
a = i.reference,
s = r.split("-")[0],
u = void 0;
return u = le(+n) ? [+n, 0] : ve(n, o, a, s),
"left" === s ? (o.top += u[0], o.left -= u[1]) : "right" === s ? (o.top += u[0], o.left += u[1]) : "top" === s ? (o.left += u[0], o.top -= u[1]) : "bottom" === s && (o.left += u[0], o.top += u[1]),
e.popper = o,
e
},
offset: 0
},
preventOverflow: {
order: 300,
enabled: !0,
fn: function (e, t) {
var n = t.boundariesElement || P(e.instance.popper);
e.instance.reference === n && (n = P(n));
var r = J(e.instance.popper, e.instance.reference, t.padding, n);
t.boundaries = r;
var i = t.priority,
o = e.offsets.popper,
a = {
primary: function (e) {
var n = o[e];
return o[e] < r[e] && !t.escapeWithReference && (n = Math.max(o[e], r[e])),
$({}, e, n)
},
secondary: function (e) {
var n = "right" === e ? "left" : "top",
i = o[n];
return o[e] > r[e] && !t.escapeWithReference && (i = Math.min(o[n], r[e] - ("right" === e ? o.width : o.height))),
$({}, n, i)
}
};
return i.forEach(function (e) {
var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary";
o = X({}, o, a[t](e))
}),
e.offsets.popper = o,
e
},
priority: ["left", "right", "top", "bottom"],
padding: 5,
boundariesElement: "scrollParent"
},
keepTogether: {
order: 400,
enabled: !0,
fn: function (e) {
var t = e.offsets,
n = t.popper,
r = t.reference,
i = e.placement.split("-")[0],
o = Math.floor,
a = -1 !== ["top", "bottom"].indexOf(i),
s = a ? "right" : "bottom",
u = a ? "left" : "top",
l = a ? "width" : "height";
return n[s] < o(r[u]) && (e.offsets.popper[u] = o(r[u]) - n[l]),
n[u] > o(r[s]) && (e.offsets.popper[u] = o(r[s])),
e
}
},
arrow: {
order: 500,
enabled: !0,
fn: function (e, t) {
var n;
if (!fe(e.instance.modifiers, "arrow", "keepTogether"))
return e;
var r = t.element;
if ("string" == typeof r) {
if (!(r = e.instance.popper.querySelector(r)))
return e
} else if (!e.instance.popper.contains(r))
return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e;
var i = e.placement.split("-")[0],
o = e.offsets,
a = o.popper,
s = o.reference,
u = -1 !== ["left", "right"].indexOf(i),
l = u ? "height" : "width",
c = u ? "Top" : "Left",
f = c.toLowerCase(),
d = u ? "left" : "top",
p = u ? "bottom" : "right",
h = Z(r)[l];
s[p] - h < a[f] && (e.offsets.popper[f] -= a[f] - (s[p] - h)),
s[f] + h > a[p] && (e.offsets.popper[f] += s[f] + h - a[p]),
e.offsets.popper = V(e.offsets.popper);
var m = s[f] + s[l] / 2 - h / 2,
v = O(e.instance.popper),
g = parseFloat(v["margin" + c], 10),
y = parseFloat(v["border" + c + "Width"], 10),
b = m - e.offsets.popper[f] - g - y;
return b = Math.max(Math.min(a[l] - h, b), 0),
e.arrowElement = r,
e.offsets.arrow = ($(n = {}, f, Math.round(b)), $(n, d, ""), n),
e
},
element: "[x-arrow]"
},
flip: {
order: 600,
enabled: !0,
fn: function (e, t) {
if (ie(e.instance.modifiers, "inner"))
return e;
if (e.flipped && e.placement === e.originalPlacement)
return e;
var n = J(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement),
r = e.placement.split("-")[0],
i = ee(r),
o = e.placement.split("-")[1] || "",
a = [];
switch (t.behavior) {
case me.FLIP:
a = [r, i];
break;
case me.CLOCKWISE:
a = he(r);
break;
case me.COUNTERCLOCKWISE:
a = he(r, !0);
break;
default:
a = t.behavior
}
return a.forEach(function (s, u) {
if (r !== s || a.length === u + 1)
return e;
r = e.placement.split("-")[0],
i = ee(r);
var l = e.offsets.popper,
c = e.offsets.reference,
f = Math.floor,
d = "left" === r && f(l.right) > f(c.left) || "right" === r && f(l.left) < f(c.right) || "top" === r && f(l.bottom) > f(c.top) || "bottom" === r && f(l.top) < f(c.bottom),
p = f(l.left) < f(n.left),
h = f(l.right) > f(n.right),
m = f(l.top) < f(n.top),
v = f(l.bottom) > f(n.bottom),
g = "left" === r && p || "right" === r && h || "top" === r && m || "bottom" === r && v,
y = -1 !== ["top", "bottom"].indexOf(r),
b = !!t.flipVariations && (y && "start" === o && p || y && "end" === o && h || !y && "start" === o && m || !y && "end" === o && v);
(d || g || b) && (e.flipped = !0, (d || g) && (r = a[u + 1]), b && (o = function (e) {
return "end" === e ? "start" : "start" === e ? "end" : e
}
(o)), e.placement = r + (o ? "-" + o : ""), e.offsets.popper = X({}, e.offsets.popper, te(e.instance.popper, e.offsets.reference, e.placement)), e = re(e.instance.modifiers, e, "flip"))
}),
e
},
behavior: "flip",
padding: 5,
boundariesElement: "viewport"
},
inner: {
order: 700,
enabled: !1,
fn: function (e) {
var t = e.placement,
n = t.split("-")[0],
r = e.offsets,
i = r.popper,
o = r.reference,
a = -1 !== ["left", "right"].indexOf(n),
s = -1 === ["top", "left"].indexOf(n);
return i[a ? "left" : "top"] = o[n] - (s ? i[a ? "width" : "height"] : 0),
e.placement = ee(t),
e.offsets.popper = V(i),
e
}
},
hide: {
order: 800,
enabled: !0,
fn: function (e) {
if (!fe(e.instance.modifiers, "hide", "preventOverflow"))
return e;
var t = e.offsets.reference,
n = ne(e.instance.modifiers, function (e) {
return "preventOverflow" === e.name
}).boundaries;
if (t.bottom < n.top || t.left > n.right || t.top > n.bottom || t.right < n.left) {
if (!0 === e.hide)
return e;
e.hide = !0,
e.attributes["x-out-of-boundaries"] = ""
} else {
if (!1 === e.hide)
return e;
e.hide = !1,
e.attributes["x-out-of-boundaries"] = !1
}
return e
}
},
computeStyle: {
order: 850,
enabled: !0,
fn: function (e, t) {
var n = t.x,
r = t.y,
i = e.offsets.popper,
o = ne(e.instance.modifiers, function (e) {
return "applyStyle" === e.name
}).gpuAcceleration;
void 0 !== o && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
var a = void 0 !== o ? o : t.gpuAcceleration,
s = Y(P(e.instance.popper)),
u = {
position: i.position
},
l = {
left: Math.floor(i.left),
top: Math.floor(i.top),
bottom: Math.floor(i.bottom),
right: Math.floor(i.right)
},
c = "bottom" === n ? "top" : "bottom",
f = "right" === r ? "left" : "right",
d = oe("transform"),
p = void 0,
h = void 0;
if (h = "bottom" === c ? -s.height + l.bottom : l.top, p = "right" === f ? -s.width + l.right : l.left, a && d)
u[d] = "translate3d(" + p + "px, " + h + "px, 0)", u[c] = 0, u[f] = 0, u.willChange = "transform";
else {
var m = "bottom" === c ? -1 : 1,
v = "right" === f ? -1 : 1;
u[c] = h * m,
u[f] = p * v,
u.willChange = c + ", " + f
}
var g = {
"x-placement": e.placement
};
return e.attributes = X({}, g, e.attributes),
e.styles = X({}, u, e.styles),
e.arrowStyles = X({}, e.offsets.arrow, e.arrowStyles),
e
},
gpuAcceleration: !0,
x: "bottom",
y: "right"
},
applyStyle: {
order: 900,
enabled: !0,
fn: function (e) {
var t,
n;
return ce(e.instance.popper, e.styles),
t = e.instance.popper,
n = e.attributes,
Object.keys(n).forEach(function (e) {
!1 !== n[e] ? t.setAttribute(e, n[e]) : t.removeAttribute(e)
}),
e.arrowElement && Object.keys(e.arrowStyles).length && ce(e.arrowElement, e.arrowStyles),
e
},
onLoad: function (e, t, n, r, i) {
var o = Q(0, t, e),
a = K(n.placement, o, t, e, n.modifiers.flip.boundariesElement, n.modifiers.flip.padding);
return t.setAttribute("x-placement", a),
ce(t, {
position: "absolute"
}),
n
},
gpuAcceleration: void 0
}
}
},
ye = function () {
function e(t, n) {
var r = this,
i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
z(this, e),
this.scheduleUpdate = function () {
return requestAnimationFrame(r.update)
},
this.update = A(this.update.bind(this)),
this.options = X({}, e.Defaults, i),
this.state = {
isDestroyed: !1,
isCreated: !1,
scrollParents: []
},
this.reference = t && t.jquery ? t[0] : t,
this.popper = n && n.jquery ? n[0] : n,
this.options.modifiers = {},
Object.keys(X({}, e.Defaults.modifiers, i.modifiers)).forEach(function (t) {
r.options.modifiers[t] = X({}, e.Defaults.modifiers[t] || {}, i.modifiers ? i.modifiers[t] : {})
}),
this.modifiers = Object.keys(this.options.modifiers).map(function (e) {
return X({
name: e
}, r.options.modifiers[e])
}).sort(function (e, t) {
return e.order - t.order
}),
this.modifiers.forEach(function (e) {
e.enabled && D(e.onLoad) && e.onLoad(r.reference, r.popper, r.options, e, r.state)
}),
this.update();
var o = this.options.eventsEnabled;
o && this.enableEventListeners(),
this.state.eventsEnabled = o
}
return U(e, [{
key: "update",
value: function () {
return function () {
if (!this.state.isDestroyed) {
var e = {
instance: this,
styles: {},
arrowStyles: {},
attributes: {},
flipped: !1,
offsets: {}
};
e.offsets.reference = Q(this.state, this.popper, this.reference),
e.placement = K(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding),
e.originalPlacement = e.placement,
e.offsets.popper = te(this.popper, e.offsets.reference, e.placement),
e.offsets.popper.position = "absolute",
e = re(this.modifiers, e),
this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e))
}
}
.call(this)
}
}, {
key: "destroy",
value: function () {
return function () {
return this.state.isDestroyed = !0,
ie(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.left = "", this.popper.style.position = "", this.popper.style.top = "", this.popper.style[oe("transform")] = ""),
this.disableEventListeners(),
this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper),
this
}
.call(this)
}
}, {
key: "enableEventListeners",
value: function () {
return function () {
this.state.eventsEnabled || (this.state = se(this.reference, this.options, this.state, this.scheduleUpdate))
}
.call(this)
}
}, {
key: "disableEventListeners",
value: function () {
return ue.call(this)
}
}
]),
e
}
();
function be(e) {
return - (e - i.distance) + "px"
}
ye.Utils = ("undefined" != typeof window ? window : t).PopperUtils,
ye.placements = de,
ye.Defaults = ge;
var we = function (e, t) {
if (!(e instanceof t))
throw new TypeError("Cannot call a class as a function")
},
xe = function () {
function e(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1,
r.configurable = !0,
"value" in r && (r.writable = !0),
Object.defineProperty(e, r.key, r)
}
}
return function (t, n, r) {
return n && e(t.prototype, n),
r && e(t, r),
t
}
}
(),
Te = Object.assign || function (e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n)
Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
}
return e
};
function Ee(t) {
var n = t.el,
r = t.popper,
i = t.settings,
o = i.appendTo,
a = i.followCursor;
o.contains(r) || (o.appendChild(r), t.popperInstance ? (t.popperInstance.update(), a && !e.touch || t.popperInstance.enableEventListeners()) : t.popperInstance = function (e) {
var t = e.el,
n = e.popper,
r = e.settings,
i = r.position,
o = r.popperOptions,
a = r.offset,
s = r.distance,
u = r.flipDuration,
l = g(n).tooltip,
c = Te({
placement: i
}, o || {}, {
modifiers: Te({}, o ? o.modifiers : {}, {
flip: Te({
padding: s + 5
}, o && o.modifiers ? o.modifiers.flip : {}),
offset: Te({
offset: a
}, o && o.modifiers ? o.modifiers.offset : {})
}),
onUpdate: function () {
var e = l.style;
e.top = "",
e.bottom = "",
e.left = "",
e.right = "",
e[T(n.getAttribute("x-placement"))] = be(s)
}
});
if (window.MutationObserver) {
var f = n.style,
d = new MutationObserver(function () {
f[h("transitionDuration")] = "0ms",
e.popperInstance.update(),
p(function () {
f[h("transitionDuration")] = u + "ms"
})
});
d.observe(n, {
childList: !0,
subtree: !0,
characterData: !0
}),
e._mutationObservers.push(d)
}
return new ye(t, n, c)
}
(t), a && !e.touch && (n.addEventListener("mousemove", E), t.popperInstance.disableEventListeners()))
}
function Ce(e) {
var t = e.popper,
n = e.popperInstance,
r = e.settings.stickyDuration;
p(function e() {
n && n.scheduleUpdate(),
t.style[h("transitionDuration")] = r + "ms",
b(t) ? window.requestAnimationFrame(e) : t.style[h("transitionDuration")] = ""
})
}
function ke(t, n, i) {
var o = this,
a = (i.position, i.delay),
s = (i.duration, i.interactive),
u = (i.interactiveBorder, i.distance, i.hideOnClick),
l = i.trigger,
f = i.touchHold,
d = (i.touchWait, void 0),
p = void 0,
h = function () {
clearTimeout(d),
clearTimeout(p)
},
m = function () {
if (h(), !b(n)) {
var e = Array.isArray(a) ? a[0] : a;
a ? d = setTimeout(function () {
return o.show(n)
}, e) : o.show(n)
}
},
v = function () {
h();
var e = Array.isArray(a) ? a[1] : a;
a ? p = setTimeout(function () {
return o.hide(n)
}, e) : o.hide(n)
};
return {
handleTrigger: function (r) {
var i = "mouseenter" === r.type && e.SUPPORTS_TOUCH && e.touch;
if (!i || !f) {
var a = "click" === r.type,
s = "persistent" !== u;
a && b(n) && s ? v() : function (e) {
o.callbacks.wait ? o.callbacks.wait.call(n, m, e) : m()
}
(r),
i && e.iOS() && t.click && t.click()
}
},
handleMouseleave: function (o) {
if (!("mouseleave" === o.type && e.SUPPORTS_TOUCH && e.touch && f)) {
if (s)
return document.body.addEventListener("mouseleave", v), void document.addEventListener("mousemove", function e(o) {
var a = function () {
document.body.removeEventListener("mouseleave", v),
document.removeEventListener("mousemove", e),
v()
},
s = c(o.target, r.TOOLTIPPED_EL),
u = c(o.target, r.POPPER) === n,
f = s === t,
d = -1 !== l.indexOf("click");
if (s && s !== t)
return a();
u || f || d || function (e, t, n) {
if (!t.getAttribute("x-placement"))
return !0;
var r = e.clientX,
i = e.clientY,
o = n.interactiveBorder,
a = n.distance,
s = t.getBoundingClientRect(),
u = T(t.getAttribute("x-placement")),
l = o + a,
c = {
top: s.top - i > o,
bottom: i - s.bottom > o,
left: s.left - r > o,
right: r - s.right > o
};
switch (u) {
case "top":
c.top = s.top - i > l;
break;
case "bottom":
c.bottom = i - s.bottom > l;
break;
case "left":
c.left = s.left - r > l;
break;
case "right":
c.right = r - s.right > l
}
return c.top || c.bottom || c.left || c.right
}
(o, n, i) && a()
});
v()
}
},
handleBlur: function (t) {
t.relatedTarget && !e.touch && (c(t.relatedTarget, r.POPPER) || v())
}
}
}
var Se = 1;
function Le(t) {
var n = this;
return t.reduce(function (t, r) {
var i = Se,
a = Te({}, function (e) {
return e.arrow && (e.animateFill = !1),
e.appendTo && "function" == typeof e.appendTo && (e.appendTo = e.appendTo()),
e
}
(n.settings.performance ? n.settings : function (e, t) {
var n = o.reduce(function (n, r) {
var i = e.getAttribute("data-" + r.toLowerCase()) || t[r];
return "false" === i && (i = !1),
"true" === i && (i = !0),
isFinite(i) && !isNaN(parseFloat(i)) && (i = parseFloat(i)),
"string" == typeof i && "[" === i.trim().charAt(0) && (i = JSON.parse(i)),
n[r] = i,
n
}, {});
return Te({}, t, n)
}
(r, n.settings)));
"function" == typeof a.html && (a.html = a.html(r));
var s = a.html,
u = a.trigger,
l = a.touchHold,
c = a.dynamicTitle,
f = r.getAttribute("title");
if (!f && !s)
return t;
r.setAttribute("data-tooltipped", ""),
r.setAttribute("aria-describedby", "tippy-tooltip-" + i),
m(r);
var d = function (e, t, n) {
var r = n.position,
i = n.distance,
o = n.arrow,
a = n.animateFill,
s = n.inertia,
u = n.animation,
l = n.arrowSize,
c = n.size,
f = n.theme,
d = n.html,
p = n.zIndex,
h = n.interactive,
m = document.createElement("div");
m.setAttribute("class", "tippy-popper"),
m.setAttribute("role", "tooltip"),
m.setAttribute("aria-hidden", "true"),
m.setAttribute("id", "tippy-tooltip-" + e),
m.style.zIndex = p;
var v = document.createElement("div");
if (v.setAttribute("class", "tippy-tooltip tippy-tooltip--" + c + " leave"), v.setAttribute("data-animation", u), f.split(" ").forEach(function (e) {
v.classList.add(e + "-theme")
}), o) {
var g = document.createElement("div");
g.setAttribute("class", "arrow-" + l),
g.setAttribute("x-arrow", ""),
v.appendChild(g)
}
if (a) {
v.setAttribute("data-animatefill", "");
var y = document.createElement("div");
y.setAttribute("class", "leave"),
y.setAttribute("x-circle", ""),
v.appendChild(y)
}
s && v.setAttribute("data-inertia", ""),
h && v.setAttribute("data-interactive", "");
var b = document.createElement("div");
if (b.setAttribute("class", "tippy-tooltip-content"), d) {
var w = void 0;
d instanceof Element ? (b.appendChild(d), w = "#" + d.id || "tippy-html-template") : (b.innerHTML = document.getElementById(d.replace("#", "")).innerHTML, w = d),
m.classList.add("html-template"),
h && m.setAttribute("tabindex", "-1"),
v.setAttribute("data-template-id", w)
} else
b.innerHTML = t;
return v.style[T(r)] = be(i),
v.appendChild(b),
m.appendChild(v),
m
}
(i, f, a),
p = ke.call(n, r, d, a),
h = [];
u.trim().split(" ").forEach(function (t) {
return h = h.concat(function (t, n, r, i) {
var o = [];
return "manual" === t ? o : (n.addEventListener(t, r.handleTrigger), o.push({
event: t,
handler: r.handleTrigger
}), "mouseenter" === t && (e.SUPPORTS_TOUCH && i && (n.addEventListener("touchstart", r.handleTrigger), o.push({
event: "touchstart",
handler: r.handleTrigger
}), n.addEventListener("touchend", r.handleMouseleave), o.push({
event: "touchend",
handler: r.handleMouseleave
})), n.addEventListener("mouseleave", r.handleMouseleave), o.push({
event: "mouseleave",
handler: r.handleMouseleave
})), "focus" === t && (n.addEventListener("blur", r.handleBlur), o.push({
event: "blur",
handler: r.handleBlur
})), o)
}
(t, r, p, l))
});
var v = void 0;
if (c && window.MutationObserver) {
var y = g(d).content;
(v = new MutationObserver(function () {
var e = r.getAttribute("title");
e && (y.innerHTML = e, m(r))
})).observe(r, {
attributes: !0
})
}
return t.push({
id: i,
el: r,
popper: d,
settings: a,
listeners: h,
tippyInstance: n,
_mutationObservers: [v]
}),
Se++,
t
}, [])
}
var Ne = function () {
function t(r) {
var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
we(this, t),
e.SUPPORTED && (d(), this.state = {
destroyed: !1
}, this.selector = r, this.settings = Te({}, i, o), (o.show || o.shown || o.hide || o.hidden) && console.warn("Callbacks without the `on` prefix are deprecated (with the exception of `wait`). Use onShow, onShown, onHide, and onHidden instead."), this.callbacks = {
wait: o.wait,
show: o.onShow || o.show || w,
shown: o.onShown || o.shown || w,
hide: o.onHide || o.hide || w,
hidden: o.onHidden || o.hidden || w
}, this.store = Le.call(this, function (e) {
if (e instanceof Element || x(e))
return [e];
if (e instanceof NodeList)
return [].slice.call(e);
if (Array.isArray(e))
return e;
try {
return [].slice.call(document.querySelectorAll(e))
} catch (e) {
return []
}
}
(r)), n.push.apply(n, this.store))
}
return xe(t, [{
key: "getPopperElement",
value: function (e) {
try {
return f(this.store, function (t) {
return t.el === e
}).popper
} catch (e) {
console.error("[getPopperElement]: Element passed as the argument does not exist in the instance")
}
}
}, {
key: "getReferenceElement",
value: function (e) {
try {
return f(this.store, function (t) {
return t.popper === e
}).el
} catch (e) {
console.error("[getReferenceElement]: Popper passed as the argument does not exist in the instance")
}
}
}, {
key: "getReferenceData",
value: function (e) {
return f(this.store, function (t) {
return t.el === e || t.popper === e
})
}
}, {
key: "show",
value: function (t, n) {
var r = this;
if (!this.state.destroyed) {
var i = f(this.store, function (e) {
return e.popper === t
}),
o = g(t),
a = o.tooltip,
s = o.circle,
u = o.content;
if (this.selector.refObj || document.body.contains(i.el)) {
this.callbacks.show.call(t);
var l = i.el,
c = i.settings,
d = (c.appendTo, c.sticky),
m = c.interactive,
w = c.followCursor,
x = c.flipDuration,
T = c.duration,
E = void 0 !== n ? n : Array.isArray(T) ? T[0] : T;
y([t, a, s], 0),
Ee(i),
t.style.visibility = "visible",
t.setAttribute("aria-hidden", "false"),
p(function () {
b(t) && (w && !e.touch || (i.popperInstance.update(), y([t], x)), y([a, s], E), s && (u.style.opacity = 1), m && l.classList.add("active"), d && Ce(i), function (e, t) {
t ? window.getComputedStyle(t)[h("transform")] : window.getComputedStyle(e).opacity
}
(a, s), v([a, s], function (e) {
e.contains("tippy-notransition") && e.remove("tippy-notransition"),
e.remove("leave"),
e.add("enter")
}), C(i, E, function () {
b(t) && !i._onShownFired && (m && t.focus(), a.classList.add("tippy-notransition"), i._onShownFired = !0, r.callbacks.shown.call(t))
}))
})
} else
this.destroy(t)
}
}
}, {
key: "hide",
value: function (e, t) {
var n = this;
if (!this.state.destroyed) {
this.callbacks.hide.call(e);
var r = f(this.store, function (t) {
return t.popper === e
}),
i = g(e),
o = i.tooltip,
a = i.circle,
s = i.content,
u = r.el,
l = r.settings,
c = l.appendTo,
d = (l.sticky, l.interactive),
p = (l.followCursor, l.html),
h = l.trigger,
m = l.duration,
w = void 0 !== t ? t : Array.isArray(m) ? m[1] : m;
r._onShownFired = !1,
d && u.classList.remove("active"),
e.style.visibility = "hidden",
e.setAttribute("aria-hidden", "true"),
y([o, a, a ? s : null], w),
a && (s.style.opacity = 0),
v([o, a], function (e) {
e.contains("tippy-tooltip") && e.remove("tippy-notransition"),
e.remove("enter"),
e.add("leave")
}),
p && -1 !== h.indexOf("click") && function (e) {
var t = e.getBoundingClientRect();
return t.top >= 0 && t.left >= 0 && t.bottom <= (window.innerHeight || document.documentElement.clientHeight) && t.right <= (window.innerWidth || document.documentElement.clientWidth)
}
(u) && u.focus(),
C(r, w, function () {
!b(e) && c.contains(e) && "1" !== getComputedStyle(o).opacity && (u.removeEventListener("mousemove", E), r.popperInstance.disableEventListeners(), c.removeChild(e), n.callbacks.hidden.call(e))
})
}
}
}, {
key: "update",
value: function (e) {
if (!this.state.destroyed) {
var t = f(this.store, function (t) {
return t.popper === e
}),
n = g(e).content,
r = t.el,
i = t.settings.html;
i instanceof Element ? console.warn("Aborted: update() should not be used if `html` is a DOM element") : (n.innerHTML = i ? document.getElementById(i.replace("#", "")).innerHTML : r.getAttribute("title") || r.getAttribute("data-original-title"), i || m(r))
}
}
}, {
key: "destroy",
value: function (e, t) {
var r = this;
if (!this.state.destroyed) {
var i,
o,
a = f(this.store, function (t) {
return t.popper === e
}),
s = a.el,
u = a.popperInstance,
l = a.listeners,
c = a._mutationObservers;
b(e) && this.hide(e, 0),
l.forEach(function (e) {
return s.removeEventListener(e.event, e.handler)
}),
s.setAttribute("title", s.getAttribute("data-original-title")),
s.removeAttribute("data-original-title"),
s.removeAttribute("data-tooltipped"),
s.removeAttribute("aria-describedby"),
u && u.destroy(),
c.forEach(function (e) {
e && e.disconnect()
}),
n.splice((i = n, o = function (t) {
return t.popper === e
}, Array.prototype.findIndex ? i.findIndex(o) : i.indexOf(f(i, o))), 1),
(void 0 === t || t) && (this.store = n.filter(function (e) {
return e.tippyInstance === r
}))
}
}
}, {
key: "destroyAll",
value: function () {
var e = this;
if (!this.state.destroyed) {
var t = this.store.length;
this.store.forEach(function (n, r) {
var i = n.popper;
e.destroy(i, r === t - 1)
}),
this.store = null,
this.state.destroyed = !0
}
}
}
]),
t
}
();
function Ae(e, t) {
return x(e) && (e = {
refObj: !0,
attributes: e.attributes || {},
getBoundingClientRect: e.getBoundingClientRect,
clientWidth: e.clientWidth,
clientHeight: e.clientHeight,
setAttribute: function (t, n) {
e.attributes[t] = n
},
getAttribute: function (t) {
return e.attributes[t]
},
removeAttribute: function (t) {
delete e.attributes[t]
},
addEventListener: function () {},
removeEventListener: function () {},
classList: {
classNames: {},
add: function (t) {
e.classList.classNames[t] = !0
},
remove: function (t) {
return e.classList.classNames[t] = !1,
!0
},
contains: function (t) {
return !!e.classList.classNames[t]
}
}
}),
new Ne(e, t)
}
return Ae.Browser = e,
Ae.Defaults = i,
Ae.disableDynamicInputDetection = function () {
return e.dynamicInputDetection = !1
},
Ae.enableDynamicInputDetection = function () {
return e.dynamicInputDetection = !0
},
Ae
},
e.exports = n()
}).call(t, n(5))
}, function (e, t) {
var n;
n = function () {
return this
}
();
try {
n = n || Function("return this")() || (0, eval)("this")
} catch (e) {
"object" == typeof window && (n = window)
}
e.exports = n
}, function (e, t) {}
]);
Comments
0 B
|👍
/👎