· 5 years ago · Apr 20, 2020, 04:40 PM
1/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ ! function (e, t) {
2 "use strict";
3 "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) {
4 if (!e.document) throw new Error("jQuery requires a window with a document");
5 return t(e)
6 } : t(e)
7}("undefined" != typeof window ? window : this, function (C, e) {
8 "use strict";
9 var t = [],
10 E = C.document,
11 r = Object.getPrototypeOf,
12 s = t.slice,
13 g = t.concat,
14 u = t.push,
15 i = t.indexOf,
16 n = {},
17 o = n.toString,
18 v = n.hasOwnProperty,
19 a = v.toString,
20 l = a.call(Object),
21 y = {},
22 m = function (e) {
23 return "function" == typeof e && "number" != typeof e.nodeType
24 },
25 x = function (e) {
26 return null != e && e === e.window
27 },
28 c = {
29 type: !0,
30 src: !0,
31 nonce: !0,
32 noModule: !0
33 };
34
35 function b(e, t, n) {
36 var r, i, o = (n = n || E).createElement("script");
37 if (o.text = e, t)
38 for (r in c)(i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i);
39 n.head.appendChild(o).parentNode.removeChild(o)
40 }
41
42 function w(e) {
43 return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e
44 }
45 var f = "3.4.1",
46 k = function (e, t) {
47 return new k.fn.init(e, t)
48 },
49 p = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
50
51 function d(e) {
52 var t = !!e && "length" in e && e.length,
53 n = w(e);
54 return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e)
55 }
56 k.fn = k.prototype = {
57 jquery: f,
58 constructor: k,
59 length: 0,
60 toArray: function () {
61 return s.call(this)
62 },
63 get: function (e) {
64 return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e]
65 },
66 pushStack: function (e) {
67 var t = k.merge(this.constructor(), e);
68 return t.prevObject = this, t
69 },
70 each: function (e) {
71 return k.each(this, e)
72 },
73 map: function (n) {
74 return this.pushStack(k.map(this, function (e, t) {
75 return n.call(e, t, e)
76 }))
77 },
78 slice: function () {
79 return this.pushStack(s.apply(this, arguments))
80 },
81 first: function () {
82 return this.eq(0)
83 },
84 last: function () {
85 return this.eq(-1)
86 },
87 eq: function (e) {
88 var t = this.length,
89 n = +e + (e < 0 ? t : 0);
90 return this.pushStack(0 <= n && n < t ? [this[n]] : [])
91 },
92 end: function () {
93 return this.prevObject || this.constructor()
94 },
95 push: u,
96 sort: t.sort,
97 splice: t.splice
98 }, k.extend = k.fn.extend = function () {
99 var e, t, n, r, i, o, a = arguments[0] || {},
100 s = 1,
101 u = arguments.length,
102 l = !1;
103 for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
104 if (null != (e = arguments[s]))
105 for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (k.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || k.isPlainObject(n) ? n : {}, i = !1, a[t] = k.extend(l, o, r)) : void 0 !== r && (a[t] = r));
106 return a
107 }, k.extend({
108 expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""),
109 isReady: !0,
110 error: function (e) {
111 throw new Error(e)
112 },
113 noop: function () {},
114 isPlainObject: function (e) {
115 var t, n;
116 return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof (n = v.call(t, "constructor") && t.constructor) && a.call(n) === l)
117 },
118 isEmptyObject: function (e) {
119 var t;
120 for (t in e) return !1;
121 return !0
122 },
123 globalEval: function (e, t) {
124 b(e, {
125 nonce: t && t.nonce
126 })
127 },
128 each: function (e, t) {
129 var n, r = 0;
130 if (d(e)) {
131 for (n = e.length; r < n; r++)
132 if (!1 === t.call(e[r], r, e[r])) break
133 } else
134 for (r in e)
135 if (!1 === t.call(e[r], r, e[r])) break;
136 return e
137 },
138 trim: function (e) {
139 return null == e ? "" : (e + "").replace(p, "")
140 },
141 makeArray: function (e, t) {
142 var n = t || [];
143 return null != e && (d(Object(e)) ? k.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n
144 },
145 inArray: function (e, t, n) {
146 return null == t ? -1 : i.call(t, e, n)
147 },
148 merge: function (e, t) {
149 for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r];
150 return e.length = i, e
151 },
152 grep: function (e, t, n) {
153 for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) !t(e[i], i) !== a && r.push(e[i]);
154 return r
155 },
156 map: function (e, t, n) {
157 var r, i, o = 0,
158 a = [];
159 if (d(e))
160 for (r = e.length; o < r; o++) null != (i = t(e[o], o, n)) && a.push(i);
161 else
162 for (o in e) null != (i = t(e[o], o, n)) && a.push(i);
163 return g.apply([], a)
164 },
165 guid: 1,
166 support: y
167 }), "function" == typeof Symbol && (k.fn[Symbol.iterator] = t[Symbol.iterator]), k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
168 n["[object " + t + "]"] = t.toLowerCase()
169 });
170 var h = function (n) {
171 var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, v, s, c, y, k = "sizzle" + 1 * new Date,
172 m = n.document,
173 S = 0,
174 r = 0,
175 p = ue(),
176 x = ue(),
177 N = ue(),
178 A = ue(),
179 D = function (e, t) {
180 return e === t && (l = !0), 0
181 },
182 j = {}.hasOwnProperty,
183 t = [],
184 q = t.pop,
185 L = t.push,
186 H = t.push,
187 O = t.slice,
188 P = function (e, t) {
189 for (var n = 0, r = e.length; n < r; n++)
190 if (e[n] === t) return n;
191 return -1
192 },
193 R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
194 M = "[\\x20\\t\\r\\n\\f]",
195 I = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
196 W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]",
197 $ = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)",
198 F = new RegExp(M + "+", "g"),
199 B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"),
200 _ = new RegExp("^" + M + "*," + M + "*"),
201 z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"),
202 U = new RegExp(M + "|>"),
203 X = new RegExp($),
204 V = new RegExp("^" + I + "$"),
205 G = {
206 ID: new RegExp("^#(" + I + ")"),
207 CLASS: new RegExp("^\\.(" + I + ")"),
208 TAG: new RegExp("^(" + I + "|[*])"),
209 ATTR: new RegExp("^" + W),
210 PSEUDO: new RegExp("^" + $),
211 CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"),
212 bool: new RegExp("^(?:" + R + ")$", "i"),
213 needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i")
214 },
215 Y = /HTML$/i,
216 Q = /^(?:input|select|textarea|button)$/i,
217 J = /^h\d$/i,
218 K = /^[^{]+\{\s*\[native \w/,
219 Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
220 ee = /[+~]/,
221 te = new RegExp("\\\\([\\da-f]{1,6}" + M + "?|(" + M + ")|.)", "ig"),
222 ne = function (e, t, n) {
223 var r = "0x" + t - 65536;
224 return r != r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
225 },
226 re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
227 ie = function (e, t) {
228 return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e
229 },
230 oe = function () {
231 T()
232 },
233 ae = be(function (e) {
234 return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase()
235 }, {
236 dir: "parentNode",
237 next: "legend"
238 });
239 try {
240 H.apply(t = O.call(m.childNodes), m.childNodes), t[m.childNodes.length].nodeType
241 } catch (e) {
242 H = {
243 apply: t.length ? function (e, t) {
244 L.apply(e, O.call(t))
245 } : function (e, t) {
246 var n = e.length,
247 r = 0;
248 while (e[n++] = t[r++]);
249 e.length = n - 1
250 }
251 }
252 }
253
254 function se(t, e, n, r) {
255 var i, o, a, s, u, l, c, f = e && e.ownerDocument,
256 p = e ? e.nodeType : 9;
257 if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n;
258 if (!r && ((e ? e.ownerDocument || e : m) !== C && T(e), e = e || C, E)) {
259 if (11 !== p && (u = Z.exec(t)))
260 if (i = u[1]) {
261 if (9 === p) {
262 if (!(a = e.getElementById(i))) return n;
263 if (a.id === i) return n.push(a), n
264 } else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i) return n.push(a), n
265 } else {
266 if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n;
267 if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return H.apply(n, e.getElementsByClassName(i)), n
268 }
269 if (d.qsa && !A[t + " "] && (!v || !v.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) {
270 if (c = t, f = e, 1 === p && U.test(t)) {
271 (s = e.getAttribute("id")) ? s = s.replace(re, ie): e.setAttribute("id", s = k), o = (l = h(t)).length;
272 while (o--) l[o] = "#" + s + " " + xe(l[o]);
273 c = l.join(","), f = ee.test(t) && ye(e.parentNode) || e
274 }
275 try {
276 return H.apply(n, f.querySelectorAll(c)), n
277 } catch (e) {
278 A(t, !0)
279 } finally {
280 s === k && e.removeAttribute("id")
281 }
282 }
283 }
284 return g(t.replace(B, "$1"), e, n, r)
285 }
286
287 function ue() {
288 var r = [];
289 return function e(t, n) {
290 return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n
291 }
292 }
293
294 function le(e) {
295 return e[k] = !0, e
296 }
297
298 function ce(e) {
299 var t = C.createElement("fieldset");
300 try {
301 return !!e(t)
302 } catch (e) {
303 return !1
304 } finally {
305 t.parentNode && t.parentNode.removeChild(t), t = null
306 }
307 }
308
309 function fe(e, t) {
310 var n = e.split("|"),
311 r = n.length;
312 while (r--) b.attrHandle[n[r]] = t
313 }
314
315 function pe(e, t) {
316 var n = t && e,
317 r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
318 if (r) return r;
319 if (n)
320 while (n = n.nextSibling)
321 if (n === t) return -1;
322 return e ? 1 : -1
323 }
324
325 function de(t) {
326 return function (e) {
327 return "input" === e.nodeName.toLowerCase() && e.type === t
328 }
329 }
330
331 function he(n) {
332 return function (e) {
333 var t = e.nodeName.toLowerCase();
334 return ("input" === t || "button" === t) && e.type === n
335 }
336 }
337
338 function ge(t) {
339 return function (e) {
340 return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t
341 }
342 }
343
344 function ve(a) {
345 return le(function (o) {
346 return o = +o, le(function (e, t) {
347 var n, r = a([], e.length, o),
348 i = r.length;
349 while (i--) e[n = r[i]] && (e[n] = !(t[n] = e[n]))
350 })
351 })
352 }
353
354 function ye(e) {
355 return e && "undefined" != typeof e.getElementsByTagName && e
356 }
357 for (e in d = se.support = {}, i = se.isXML = function (e) {
358 var t = e.namespaceURI,
359 n = (e.ownerDocument || e).documentElement;
360 return !Y.test(t || n && n.nodeName || "HTML")
361 }, T = se.setDocument = function (e) {
362 var t, n, r = e ? e.ownerDocument || e : m;
363 return r !== C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), m !== C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.attributes = ce(function (e) {
364 return e.className = "i", !e.getAttribute("className")
365 }), d.getElementsByTagName = ce(function (e) {
366 return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length
367 }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function (e) {
368 return a.appendChild(e).id = k, !C.getElementsByName || !C.getElementsByName(k).length
369 }), d.getById ? (b.filter.ID = function (e) {
370 var t = e.replace(te, ne);
371 return function (e) {
372 return e.getAttribute("id") === t
373 }
374 }, b.find.ID = function (e, t) {
375 if ("undefined" != typeof t.getElementById && E) {
376 var n = t.getElementById(e);
377 return n ? [n] : []
378 }
379 }) : (b.filter.ID = function (e) {
380 var n = e.replace(te, ne);
381 return function (e) {
382 var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
383 return t && t.value === n
384 }
385 }, b.find.ID = function (e, t) {
386 if ("undefined" != typeof t.getElementById && E) {
387 var n, r, i, o = t.getElementById(e);
388 if (o) {
389 if ((n = o.getAttributeNode("id")) && n.value === e) return [o];
390 i = t.getElementsByName(e), r = 0;
391 while (o = i[r++])
392 if ((n = o.getAttributeNode("id")) && n.value === e) return [o]
393 }
394 return []
395 }
396 }), b.find.TAG = d.getElementsByTagName ? function (e, t) {
397 return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0
398 } : function (e, t) {
399 var n, r = [],
400 i = 0,
401 o = t.getElementsByTagName(e);
402 if ("*" === e) {
403 while (n = o[i++]) 1 === n.nodeType && r.push(n);
404 return r
405 }
406 return o
407 }, b.find.CLASS = d.getElementsByClassName && function (e, t) {
408 if ("undefined" != typeof t.getElementsByClassName && E) return t.getElementsByClassName(e)
409 }, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function (e) {
410 a.appendChild(e).innerHTML = "<a id='" + k + "'></a><select id='" + k + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + k + "-]").length || v.push("~="), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + k + "+*").length || v.push(".#.+[+~]")
411 }), ce(function (e) {
412 e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
413 var t = C.createElement("input");
414 t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:")
415 })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) {
416 d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", $)
417 }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function (e, t) {
418 var n = 9 === e.nodeType ? e.documentElement : e,
419 r = t && t.parentNode;
420 return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
421 } : function (e, t) {
422 if (t)
423 while (t = t.parentNode)
424 if (t === e) return !0;
425 return !1
426 }, D = t ? function (e, t) {
427 if (e === t) return l = !0, 0;
428 var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
429 return n || (1 & (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e === C || e.ownerDocument === m && y(m, e) ? -1 : t === C || t.ownerDocument === m && y(m, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1)
430 } : function (e, t) {
431 if (e === t) return l = !0, 0;
432 var n, r = 0,
433 i = e.parentNode,
434 o = t.parentNode,
435 a = [e],
436 s = [t];
437 if (!i || !o) return e === C ? -1 : t === C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0;
438 if (i === o) return pe(e, t);
439 n = e;
440 while (n = n.parentNode) a.unshift(n);
441 n = t;
442 while (n = n.parentNode) s.unshift(n);
443 while (a[r] === s[r]) r++;
444 return r ? pe(a[r], s[r]) : a[r] === m ? -1 : s[r] === m ? 1 : 0
445 }), C
446 }, se.matches = function (e, t) {
447 return se(e, null, null, t)
448 }, se.matchesSelector = function (e, t) {
449 if ((e.ownerDocument || e) !== C && T(e), d.matchesSelector && E && !A[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t))) try {
450 var n = c.call(e, t);
451 if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n
452 } catch (e) {
453 A(t, !0)
454 }
455 return 0 < se(t, C, null, [e]).length
456 }, se.contains = function (e, t) {
457 return (e.ownerDocument || e) !== C && T(e), y(e, t)
458 }, se.attr = function (e, t) {
459 (e.ownerDocument || e) !== C && T(e);
460 var n = b.attrHandle[t.toLowerCase()],
461 r = n && j.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0;
462 return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
463 }, se.escape = function (e) {
464 return (e + "").replace(re, ie)
465 }, se.error = function (e) {
466 throw new Error("Syntax error, unrecognized expression: " + e)
467 }, se.uniqueSort = function (e) {
468 var t, n = [],
469 r = 0,
470 i = 0;
471 if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(D), l) {
472 while (t = e[i++]) t === e[i] && (r = n.push(i));
473 while (r--) e.splice(n[r], 1)
474 }
475 return u = null, e
476 }, o = se.getText = function (e) {
477 var t, n = "",
478 r = 0,
479 i = e.nodeType;
480 if (i) {
481 if (1 === i || 9 === i || 11 === i) {
482 if ("string" == typeof e.textContent) return e.textContent;
483 for (e = e.firstChild; e; e = e.nextSibling) n += o(e)
484 } else if (3 === i || 4 === i) return e.nodeValue
485 } else
486 while (t = e[r++]) n += o(t);
487 return n
488 }, (b = se.selectors = {
489 cacheLength: 50,
490 createPseudo: le,
491 match: G,
492 attrHandle: {},
493 find: {},
494 relative: {
495 ">": {
496 dir: "parentNode",
497 first: !0
498 },
499 " ": {
500 dir: "parentNode"
501 },
502 "+": {
503 dir: "previousSibling",
504 first: !0
505 },
506 "~": {
507 dir: "previousSibling"
508 }
509 },
510 preFilter: {
511 ATTR: function (e) {
512 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)
513 },
514 CHILD: function (e) {
515 return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.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] && se.error(e[0]), e
516 },
517 PSEUDO: function (e) {
518 var t, n = !e[6] && e[2];
519 return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(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))
520 }
521 },
522 filter: {
523 TAG: function (e) {
524 var t = e.replace(te, ne).toLowerCase();
525 return "*" === e ? function () {
526 return !0
527 } : function (e) {
528 return e.nodeName && e.nodeName.toLowerCase() === t
529 }
530 },
531 CLASS: function (e) {
532 var t = p[e + " "];
533 return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && p(e, function (e) {
534 return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
535 })
536 },
537 ATTR: function (n, r, i) {
538 return function (e) {
539 var t = se.attr(e, n);
540 return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(F, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-"))
541 }
542 },
543 CHILD: function (h, e, t, g, v) {
544 var y = "nth" !== h.slice(0, 3),
545 m = "last" !== h.slice(-4),
546 x = "of-type" === e;
547 return 1 === g && 0 === v ? function (e) {
548 return !!e.parentNode
549 } : function (e, t, n) {
550 var r, i, o, a, s, u, l = y !== m ? "nextSibling" : "previousSibling",
551 c = e.parentNode,
552 f = x && e.nodeName.toLowerCase(),
553 p = !n && !x,
554 d = !1;
555 if (c) {
556 if (y) {
557 while (l) {
558 a = e;
559 while (a = a[l])
560 if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1;
561 u = l = "only" === h && !u && "nextSibling"
562 }
563 return !0
564 }
565 if (u = [m ? c.firstChild : c.lastChild], m && p) {
566 d = (s = (r = (i = (o = (a = c)[k] || (a[k] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === S && r[1]) && r[2], a = s && c.childNodes[s];
567 while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
568 if (1 === a.nodeType && ++d && a === e) {
569 i[h] = [S, s, d];
570 break
571 }
572 } else if (p && (d = s = (r = (i = (o = (a = e)[k] || (a[k] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === S && r[1]), !1 === d)
573 while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
574 if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[k] || (a[k] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [S, d]), a === e)) break;
575 return (d -= v) === g || d % g == 0 && 0 <= d / g
576 }
577 }
578 },
579 PSEUDO: function (e, o) {
580 var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e);
581 return a[k] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) {
582 var n, r = a(e, o),
583 i = r.length;
584 while (i--) e[n = P(e, r[i])] = !(t[n] = r[i])
585 }) : function (e) {
586 return a(e, 0, t)
587 }) : a
588 }
589 },
590 pseudos: {
591 not: le(function (e) {
592 var r = [],
593 i = [],
594 s = f(e.replace(B, "$1"));
595 return s[k] ? le(function (e, t, n, r) {
596 var i, o = s(e, null, r, []),
597 a = e.length;
598 while (a--)(i = o[a]) && (e[a] = !(t[a] = i))
599 }) : function (e, t, n) {
600 return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop()
601 }
602 }),
603 has: le(function (t) {
604 return function (e) {
605 return 0 < se(t, e).length
606 }
607 }),
608 contains: le(function (t) {
609 return t = t.replace(te, ne),
610 function (e) {
611 return -1 < (e.textContent || o(e)).indexOf(t)
612 }
613 }),
614 lang: le(function (n) {
615 return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(),
616 function (e) {
617 var t;
618 do {
619 if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-")
620 } while ((e = e.parentNode) && 1 === e.nodeType);
621 return !1
622 }
623 }),
624 target: function (e) {
625 var t = n.location && n.location.hash;
626 return t && t.slice(1) === e.id
627 },
628 root: function (e) {
629 return e === a
630 },
631 focus: function (e) {
632 return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
633 },
634 enabled: ge(!1),
635 disabled: ge(!0),
636 checked: function (e) {
637 var t = e.nodeName.toLowerCase();
638 return "input" === t && !!e.checked || "option" === t && !!e.selected
639 },
640 selected: function (e) {
641 return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
642 },
643 empty: function (e) {
644 for (e = e.firstChild; e; e = e.nextSibling)
645 if (e.nodeType < 6) return !1;
646 return !0
647 },
648 parent: function (e) {
649 return !b.pseudos.empty(e)
650 },
651 header: function (e) {
652 return J.test(e.nodeName)
653 },
654 input: function (e) {
655 return Q.test(e.nodeName)
656 },
657 button: function (e) {
658 var t = e.nodeName.toLowerCase();
659 return "input" === t && "button" === e.type || "button" === t
660 },
661 text: function (e) {
662 var t;
663 return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
664 },
665 first: ve(function () {
666 return [0]
667 }),
668 last: ve(function (e, t) {
669 return [t - 1]
670 }),
671 eq: ve(function (e, t, n) {
672 return [n < 0 ? n + t : n]
673 }),
674 even: ve(function (e, t) {
675 for (var n = 0; n < t; n += 2) e.push(n);
676 return e
677 }),
678 odd: ve(function (e, t) {
679 for (var n = 1; n < t; n += 2) e.push(n);
680 return e
681 }),
682 lt: ve(function (e, t, n) {
683 for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) e.push(r);
684 return e
685 }),
686 gt: ve(function (e, t, n) {
687 for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
688 return e
689 })
690 }
691 }).pseudos.nth = b.pseudos.eq, {
692 radio: !0,
693 checkbox: !0,
694 file: !0,
695 password: !0,
696 image: !0
697 }) b.pseudos[e] = de(e);
698 for (e in {
699 submit: !0,
700 reset: !0
701 }) b.pseudos[e] = he(e);
702
703 function me() {}
704
705 function xe(e) {
706 for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
707 return r
708 }
709
710 function be(s, e, t) {
711 var u = e.dir,
712 l = e.next,
713 c = l || u,
714 f = t && "parentNode" === c,
715 p = r++;
716 return e.first ? function (e, t, n) {
717 while (e = e[u])
718 if (1 === e.nodeType || f) return s(e, t, n);
719 return !1
720 } : function (e, t, n) {
721 var r, i, o, a = [S, p];
722 if (n) {
723 while (e = e[u])
724 if ((1 === e.nodeType || f) && s(e, t, n)) return !0
725 } else
726 while (e = e[u])
727 if (1 === e.nodeType || f)
728 if (i = (o = e[k] || (e[k] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e;
729 else {
730 if ((r = i[c]) && r[0] === S && r[1] === p) return a[2] = r[2];
731 if ((i[c] = a)[2] = s(e, t, n)) return !0
732 } return !1
733 }
734 }
735
736 function we(i) {
737 return 1 < i.length ? function (e, t, n) {
738 var r = i.length;
739 while (r--)
740 if (!i[r](e, t, n)) return !1;
741 return !0
742 } : i[0]
743 }
744
745 function Te(e, t, n, r, i) {
746 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)));
747 return a
748 }
749
750 function Ce(d, h, g, v, y, e) {
751 return v && !v[k] && (v = Ce(v)), y && !y[k] && (y = Ce(y, e)), le(function (e, t, n, r) {
752 var i, o, a, s = [],
753 u = [],
754 l = t.length,
755 c = e || function (e, t, n) {
756 for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n);
757 return n
758 }(h || "*", n.nodeType ? [n] : n, []),
759 f = !d || !e && h ? c : Te(c, s, d, n, r),
760 p = g ? y || (e ? d : l || v) ? [] : t : f;
761 if (g && g(f, p, n, r), v) {
762 i = Te(p, u), v(i, [], n, r), o = i.length;
763 while (o--)(a = i[o]) && (p[u[o]] = !(f[u[o]] = a))
764 }
765 if (e) {
766 if (y || d) {
767 if (y) {
768 i = [], o = p.length;
769 while (o--)(a = p[o]) && i.push(f[o] = a);
770 y(null, p = [], i, r)
771 }
772 o = p.length;
773 while (o--)(a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a))
774 }
775 } else p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p)
776 })
777 }
778
779 function Ee(e) {
780 for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function (e) {
781 return e === i
782 }, a, !0), l = be(function (e) {
783 return -1 < P(i, e)
784 }, a, !0), c = [function (e, t, n) {
785 var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n));
786 return i = null, r
787 }]; s < r; s++)
788 if (t = b.relative[e[s].type]) c = [be(we(c), t)];
789 else {
790 if ((t = b.filter[e[s].type].apply(null, e[s].matches))[k]) {
791 for (n = ++s; n < r; n++)
792 if (b.relative[e[n].type]) break;
793 return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({
794 value: " " === e[s - 2].type ? "*" : ""
795 })).replace(B, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e))
796 }
797 c.push(t)
798 }
799 return we(c)
800 }
801 return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function (e, t) {
802 var n, r, i, o, a, s, u, l = x[e + " "];
803 if (l) return t ? 0 : l.slice(0);
804 a = e, s = [], u = b.preFilter;
805 while (a) {
806 for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({
807 value: n,
808 type: r[0].replace(B, " ")
809 }), a = a.slice(n.length)), b.filter) !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({
810 value: n,
811 type: o,
812 matches: r
813 }), a = a.slice(n.length));
814 if (!n) break
815 }
816 return t ? a.length : a ? se.error(e) : x(e, s).slice(0)
817 }, f = se.compile = function (e, t) {
818 var n, v, y, m, x, r, i = [],
819 o = [],
820 a = N[e + " "];
821 if (!a) {
822 t || (t = h(e)), n = t.length;
823 while (n--)(a = Ee(t[n]))[k] ? i.push(a) : o.push(a);
824 (a = N(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function (e, t, n, r, i) {
825 var o, a, s, u = 0,
826 l = "0",
827 c = e && [],
828 f = [],
829 p = w,
830 d = e || x && b.find.TAG("*", i),
831 h = S += null == p ? 1 : Math.random() || .1,
832 g = d.length;
833 for (i && (w = t === C || t || i); l !== g && null != (o = d[l]); l++) {
834 if (x && o) {
835 a = 0, t || o.ownerDocument === C || (T(o), n = !E);
836 while (s = v[a++])
837 if (s(o, t || C, n)) {
838 r.push(o);
839 break
840 }
841 i && (S = h)
842 }
843 m && ((o = !s && o) && u--, e && c.push(o))
844 }
845 if (u += l, m && l !== u) {
846 a = 0;
847 while (s = y[a++]) s(c, f, t, n);
848 if (e) {
849 if (0 < u)
850 while (l--) c[l] || f[l] || (f[l] = q.call(r));
851 f = Te(f)
852 }
853 H.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(r)
854 }
855 return i && (S = h, w = p), c
856 }, m ? le(r) : r))).selector = e
857 }
858 return a
859 }, g = se.select = function (e, t, n, r) {
860 var i, o, a, s, u, l = "function" == typeof e && e,
861 c = !r && h(e = l.selector || e);
862 if (n = n || [], 1 === c.length) {
863 if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) {
864 if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n;
865 l && (t = t.parentNode), e = e.slice(o.shift().value.length)
866 }
867 i = G.needsContext.test(e) ? 0 : o.length;
868 while (i--) {
869 if (a = o[i], b.relative[s = a.type]) break;
870 if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) {
871 if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n;
872 break
873 }
874 }
875 }
876 return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n
877 }, d.sortStable = k.split("").sort(D).join("") === k, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) {
878 return 1 & e.compareDocumentPosition(C.createElement("fieldset"))
879 }), ce(function (e) {
880 return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
881 }) || fe("type|href|height|width", function (e, t, n) {
882 if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
883 }), d.attributes && ce(function (e) {
884 return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
885 }) || fe("value", function (e, t, n) {
886 if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
887 }), ce(function (e) {
888 return null == e.getAttribute("disabled")
889 }) || fe(R, function (e, t, n) {
890 var r;
891 if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
892 }), se
893 }(C);
894 k.find = h, k.expr = h.selectors, k.expr[":"] = k.expr.pseudos, k.uniqueSort = k.unique = h.uniqueSort, k.text = h.getText, k.isXMLDoc = h.isXML, k.contains = h.contains, k.escapeSelector = h.escape;
895 var T = function (e, t, n) {
896 var r = [],
897 i = void 0 !== n;
898 while ((e = e[t]) && 9 !== e.nodeType)
899 if (1 === e.nodeType) {
900 if (i && k(e).is(n)) break;
901 r.push(e)
902 }
903 return r
904 },
905 S = function (e, t) {
906 for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
907 return n
908 },
909 N = k.expr.match.needsContext;
910
911 function A(e, t) {
912 return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
913 }
914 var D = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
915
916 function j(e, n, r) {
917 return m(n) ? k.grep(e, function (e, t) {
918 return !!n.call(e, t, e) !== r
919 }) : n.nodeType ? k.grep(e, function (e) {
920 return e === n !== r
921 }) : "string" != typeof n ? k.grep(e, function (e) {
922 return -1 < i.call(n, e) !== r
923 }) : k.filter(n, e, r)
924 }
925 k.filter = function (e, t, n) {
926 var r = t[0];
927 return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? k.find.matchesSelector(r, e) ? [r] : [] : k.find.matches(e, k.grep(t, function (e) {
928 return 1 === e.nodeType
929 }))
930 }, k.fn.extend({
931 find: function (e) {
932 var t, n, r = this.length,
933 i = this;
934 if ("string" != typeof e) return this.pushStack(k(e).filter(function () {
935 for (t = 0; t < r; t++)
936 if (k.contains(i[t], this)) return !0
937 }));
938 for (n = this.pushStack([]), t = 0; t < r; t++) k.find(e, i[t], n);
939 return 1 < r ? k.uniqueSort(n) : n
940 },
941 filter: function (e) {
942 return this.pushStack(j(this, e || [], !1))
943 },
944 not: function (e) {
945 return this.pushStack(j(this, e || [], !0))
946 },
947 is: function (e) {
948 return !!j(this, "string" == typeof e && N.test(e) ? k(e) : e || [], !1).length
949 }
950 });
951 var q, L = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
952 (k.fn.init = function (e, t, n) {
953 var r, i;
954 if (!e) return this;
955 if (n = n || q, "string" == typeof e) {
956 if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : L.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
957 if (r[1]) {
958 if (t = t instanceof k ? t[0] : t, k.merge(this, k.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), D.test(r[1]) && k.isPlainObject(t))
959 for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
960 return this
961 }
962 return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this
963 }
964 return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(k) : k.makeArray(e, this)
965 }).prototype = k.fn, q = k(E);
966 var H = /^(?:parents|prev(?:Until|All))/,
967 O = {
968 children: !0,
969 contents: !0,
970 next: !0,
971 prev: !0
972 };
973
974 function P(e, t) {
975 while ((e = e[t]) && 1 !== e.nodeType);
976 return e
977 }
978 k.fn.extend({
979 has: function (e) {
980 var t = k(e, this),
981 n = t.length;
982 return this.filter(function () {
983 for (var e = 0; e < n; e++)
984 if (k.contains(this, t[e])) return !0
985 })
986 },
987 closest: function (e, t) {
988 var n, r = 0,
989 i = this.length,
990 o = [],
991 a = "string" != typeof e && k(e);
992 if (!N.test(e))
993 for (; r < i; r++)
994 for (n = this[r]; n && n !== t; n = n.parentNode)
995 if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && k.find.matchesSelector(n, e))) {
996 o.push(n);
997 break
998 }
999 return this.pushStack(1 < o.length ? k.uniqueSort(o) : o)
1000 },
1001 index: function (e) {
1002 return e ? "string" == typeof e ? i.call(k(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
1003 },
1004 add: function (e, t) {
1005 return this.pushStack(k.uniqueSort(k.merge(this.get(), k(e, t))))
1006 },
1007 addBack: function (e) {
1008 return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
1009 }
1010 }), k.each({
1011 parent: function (e) {
1012 var t = e.parentNode;
1013 return t && 11 !== t.nodeType ? t : null
1014 },
1015 parents: function (e) {
1016 return T(e, "parentNode")
1017 },
1018 parentsUntil: function (e, t, n) {
1019 return T(e, "parentNode", n)
1020 },
1021 next: function (e) {
1022 return P(e, "nextSibling")
1023 },
1024 prev: function (e) {
1025 return P(e, "previousSibling")
1026 },
1027 nextAll: function (e) {
1028 return T(e, "nextSibling")
1029 },
1030 prevAll: function (e) {
1031 return T(e, "previousSibling")
1032 },
1033 nextUntil: function (e, t, n) {
1034 return T(e, "nextSibling", n)
1035 },
1036 prevUntil: function (e, t, n) {
1037 return T(e, "previousSibling", n)
1038 },
1039 siblings: function (e) {
1040 return S((e.parentNode || {}).firstChild, e)
1041 },
1042 children: function (e) {
1043 return S(e.firstChild)
1044 },
1045 contents: function (e) {
1046 return "undefined" != typeof e.contentDocument ? e.contentDocument : (A(e, "template") && (e = e.content || e), k.merge([], e.childNodes))
1047 }
1048 }, function (r, i) {
1049 k.fn[r] = function (e, t) {
1050 var n = k.map(this, i, e);
1051 return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = k.filter(t, n)), 1 < this.length && (O[r] || k.uniqueSort(n), H.test(r) && n.reverse()), this.pushStack(n)
1052 }
1053 });
1054 var R = /[^\x20\t\r\n\f]+/g;
1055
1056 function M(e) {
1057 return e
1058 }
1059
1060 function I(e) {
1061 throw e
1062 }
1063
1064 function W(e, t, n, r) {
1065 var i;
1066 try {
1067 e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r))
1068 } catch (e) {
1069 n.apply(void 0, [e])
1070 }
1071 }
1072 k.Callbacks = function (r) {
1073 var e, n;
1074 r = "string" == typeof r ? (e = r, n = {}, k.each(e.match(R) || [], function (e, t) {
1075 n[t] = !0
1076 }), n) : k.extend({}, r);
1077 var i, t, o, a, s = [],
1078 u = [],
1079 l = -1,
1080 c = function () {
1081 for (a = a || r.once, o = i = !0; u.length; l = -1) {
1082 t = u.shift();
1083 while (++l < s.length) !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1)
1084 }
1085 r.memory || (t = !1), i = !1, a && (s = t ? [] : "")
1086 },
1087 f = {
1088 add: function () {
1089 return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) {
1090 k.each(e, function (e, t) {
1091 m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t)
1092 })
1093 }(arguments), t && !i && c()), this
1094 },
1095 remove: function () {
1096 return k.each(arguments, function (e, t) {
1097 var n;
1098 while (-1 < (n = k.inArray(t, s, n))) s.splice(n, 1), n <= l && l--
1099 }), this
1100 },
1101 has: function (e) {
1102 return e ? -1 < k.inArray(e, s) : 0 < s.length
1103 },
1104 empty: function () {
1105 return s && (s = []), this
1106 },
1107 disable: function () {
1108 return a = u = [], s = t = "", this
1109 },
1110 disabled: function () {
1111 return !s
1112 },
1113 lock: function () {
1114 return a = u = [], t || i || (s = t = ""), this
1115 },
1116 locked: function () {
1117 return !!a
1118 },
1119 fireWith: function (e, t) {
1120 return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this
1121 },
1122 fire: function () {
1123 return f.fireWith(this, arguments), this
1124 },
1125 fired: function () {
1126 return !!o
1127 }
1128 };
1129 return f
1130 }, k.extend({
1131 Deferred: function (e) {
1132 var o = [
1133 ["notify", "progress", k.Callbacks("memory"), k.Callbacks("memory"), 2],
1134 ["resolve", "done", k.Callbacks("once memory"), k.Callbacks("once memory"), 0, "resolved"],
1135 ["reject", "fail", k.Callbacks("once memory"), k.Callbacks("once memory"), 1, "rejected"]
1136 ],
1137 i = "pending",
1138 a = {
1139 state: function () {
1140 return i
1141 },
1142 always: function () {
1143 return s.done(arguments).fail(arguments), this
1144 },
1145 "catch": function (e) {
1146 return a.then(null, e)
1147 },
1148 pipe: function () {
1149 var i = arguments;
1150 return k.Deferred(function (r) {
1151 k.each(o, function (e, t) {
1152 var n = m(i[t[4]]) && i[t[4]];
1153 s[t[1]](function () {
1154 var e = n && n.apply(this, arguments);
1155 e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments)
1156 })
1157 }), i = null
1158 }).promise()
1159 },
1160 then: function (t, n, r) {
1161 var u = 0;
1162
1163 function l(i, o, a, s) {
1164 return function () {
1165 var n = this,
1166 r = arguments,
1167 e = function () {
1168 var e, t;
1169 if (!(i < u)) {
1170 if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution");
1171 t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, M, s), l(u, o, I, s)) : (u++, t.call(e, l(u, o, M, s), l(u, o, I, s), l(u, o, M, o.notifyWith))) : (a !== M && (n = void 0, r = [e]), (s || o.resolveWith)(n, r))
1172 }
1173 },
1174 t = s ? e : function () {
1175 try {
1176 e()
1177 } catch (e) {
1178 k.Deferred.exceptionHook && k.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== I && (n = void 0, r = [e]), o.rejectWith(n, r))
1179 }
1180 };
1181 i ? t() : (k.Deferred.getStackHook && (t.stackTrace = k.Deferred.getStackHook()), C.setTimeout(t))
1182 }
1183 }
1184 return k.Deferred(function (e) {
1185 o[0][3].add(l(0, e, m(r) ? r : M, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : M)), o[2][3].add(l(0, e, m(n) ? n : I))
1186 }).promise()
1187 },
1188 promise: function (e) {
1189 return null != e ? k.extend(e, a) : a
1190 }
1191 },
1192 s = {};
1193 return k.each(o, function (e, t) {
1194 var n = t[2],
1195 r = t[5];
1196 a[t[1]] = n.add, r && n.add(function () {
1197 i = r
1198 }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () {
1199 return s[t[0] + "With"](this === s ? void 0 : this, arguments), this
1200 }, s[t[0] + "With"] = n.fireWith
1201 }), a.promise(s), e && e.call(s, s), s
1202 },
1203 when: function (e) {
1204 var n = arguments.length,
1205 t = n,
1206 r = Array(t),
1207 i = s.call(arguments),
1208 o = k.Deferred(),
1209 a = function (t) {
1210 return function (e) {
1211 r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i)
1212 }
1213 };
1214 if (n <= 1 && (W(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then))) return o.then();
1215 while (t--) W(i[t], a(t), o.reject);
1216 return o.promise()
1217 }
1218 });
1219 var $ = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
1220 k.Deferred.exceptionHook = function (e, t) {
1221 C.console && C.console.warn && e && $.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t)
1222 }, k.readyException = function (e) {
1223 C.setTimeout(function () {
1224 throw e
1225 })
1226 };
1227 var F = k.Deferred();
1228
1229 function B() {
1230 E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), k.ready()
1231 }
1232 k.fn.ready = function (e) {
1233 return F.then(e)["catch"](function (e) {
1234 k.readyException(e)
1235 }), this
1236 }, k.extend({
1237 isReady: !1,
1238 readyWait: 1,
1239 ready: function (e) {
1240 (!0 === e ? --k.readyWait : k.isReady) || (k.isReady = !0) !== e && 0 < --k.readyWait || F.resolveWith(E, [k])
1241 }
1242 }), k.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(k.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B));
1243 var _ = function (e, t, n, r, i, o, a) {
1244 var s = 0,
1245 u = e.length,
1246 l = null == n;
1247 if ("object" === w(n))
1248 for (s in i = !0, n) _(e, t, s, n[s], !0, o, a);
1249 else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) {
1250 return l.call(k(e), n)
1251 })), t))
1252 for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
1253 return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
1254 },
1255 z = /^-ms-/,
1256 U = /-([a-z])/g;
1257
1258 function X(e, t) {
1259 return t.toUpperCase()
1260 }
1261
1262 function V(e) {
1263 return e.replace(z, "ms-").replace(U, X)
1264 }
1265 var G = function (e) {
1266 return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
1267 };
1268
1269 function Y() {
1270 this.expando = k.expando + Y.uid++
1271 }
1272 Y.uid = 1, Y.prototype = {
1273 cache: function (e) {
1274 var t = e[this.expando];
1275 return t || (t = {}, G(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
1276 value: t,
1277 configurable: !0
1278 }))), t
1279 },
1280 set: function (e, t, n) {
1281 var r, i = this.cache(e);
1282 if ("string" == typeof t) i[V(t)] = n;
1283 else
1284 for (r in t) i[V(r)] = t[r];
1285 return i
1286 },
1287 get: function (e, t) {
1288 return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][V(t)]
1289 },
1290 access: function (e, t, n) {
1291 return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t)
1292 },
1293 remove: function (e, t) {
1294 var n, r = e[this.expando];
1295 if (void 0 !== r) {
1296 if (void 0 !== t) {
1297 n = (t = Array.isArray(t) ? t.map(V) : (t = V(t)) in r ? [t] : t.match(R) || []).length;
1298 while (n--) delete r[t[n]]
1299 }(void 0 === t || k.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
1300 }
1301 },
1302 hasData: function (e) {
1303 var t = e[this.expando];
1304 return void 0 !== t && !k.isEmptyObject(t)
1305 }
1306 };
1307 var Q = new Y,
1308 J = new Y,
1309 K = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1310 Z = /[A-Z]/g;
1311
1312 function ee(e, t, n) {
1313 var r, i;
1314 if (void 0 === n && 1 === e.nodeType)
1315 if (r = "data-" + t.replace(Z, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) {
1316 try {
1317 n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : K.test(i) ? JSON.parse(i) : i)
1318 } catch (e) {}
1319 J.set(e, t, n)
1320 } else n = void 0;
1321 return n
1322 }
1323 k.extend({
1324 hasData: function (e) {
1325 return J.hasData(e) || Q.hasData(e)
1326 },
1327 data: function (e, t, n) {
1328 return J.access(e, t, n)
1329 },
1330 removeData: function (e, t) {
1331 J.remove(e, t)
1332 },
1333 _data: function (e, t, n) {
1334 return Q.access(e, t, n)
1335 },
1336 _removeData: function (e, t) {
1337 Q.remove(e, t)
1338 }
1339 }), k.fn.extend({
1340 data: function (n, e) {
1341 var t, r, i, o = this[0],
1342 a = o && o.attributes;
1343 if (void 0 === n) {
1344 if (this.length && (i = J.get(o), 1 === o.nodeType && !Q.get(o, "hasDataAttrs"))) {
1345 t = a.length;
1346 while (t--) a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = V(r.slice(5)), ee(o, r, i[r]));
1347 Q.set(o, "hasDataAttrs", !0)
1348 }
1349 return i
1350 }
1351 return "object" == typeof n ? this.each(function () {
1352 J.set(this, n)
1353 }) : _(this, function (e) {
1354 var t;
1355 if (o && void 0 === e) return void 0 !== (t = J.get(o, n)) ? t : void 0 !== (t = ee(o, n)) ? t : void 0;
1356 this.each(function () {
1357 J.set(this, n, e)
1358 })
1359 }, null, e, 1 < arguments.length, null, !0)
1360 },
1361 removeData: function (e) {
1362 return this.each(function () {
1363 J.remove(this, e)
1364 })
1365 }
1366 }), k.extend({
1367 queue: function (e, t, n) {
1368 var r;
1369 if (e) return t = (t || "fx") + "queue", r = Q.get(e, t), n && (!r || Array.isArray(n) ? r = Q.access(e, t, k.makeArray(n)) : r.push(n)), r || []
1370 },
1371 dequeue: function (e, t) {
1372 t = t || "fx";
1373 var n = k.queue(e, t),
1374 r = n.length,
1375 i = n.shift(),
1376 o = k._queueHooks(e, t);
1377 "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () {
1378 k.dequeue(e, t)
1379 }, o)), !r && o && o.empty.fire()
1380 },
1381 _queueHooks: function (e, t) {
1382 var n = t + "queueHooks";
1383 return Q.get(e, n) || Q.access(e, n, {
1384 empty: k.Callbacks("once memory").add(function () {
1385 Q.remove(e, [t + "queue", n])
1386 })
1387 })
1388 }
1389 }), k.fn.extend({
1390 queue: function (t, n) {
1391 var e = 2;
1392 return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? k.queue(this[0], t) : void 0 === n ? this : this.each(function () {
1393 var e = k.queue(this, t, n);
1394 k._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && k.dequeue(this, t)
1395 })
1396 },
1397 dequeue: function (e) {
1398 return this.each(function () {
1399 k.dequeue(this, e)
1400 })
1401 },
1402 clearQueue: function (e) {
1403 return this.queue(e || "fx", [])
1404 },
1405 promise: function (e, t) {
1406 var n, r = 1,
1407 i = k.Deferred(),
1408 o = this,
1409 a = this.length,
1410 s = function () {
1411 --r || i.resolveWith(o, [o])
1412 };
1413 "string" != typeof e && (t = e, e = void 0), e = e || "fx";
1414 while (a--)(n = Q.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s));
1415 return s(), i.promise(t)
1416 }
1417 });
1418 var te = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1419 ne = new RegExp("^(?:([+-])=|)(" + te + ")([a-z%]*)$", "i"),
1420 re = ["Top", "Right", "Bottom", "Left"],
1421 ie = E.documentElement,
1422 oe = function (e) {
1423 return k.contains(e.ownerDocument, e)
1424 },
1425 ae = {
1426 composed: !0
1427 };
1428 ie.getRootNode && (oe = function (e) {
1429 return k.contains(e.ownerDocument, e) || e.getRootNode(ae) === e.ownerDocument
1430 });
1431 var se = function (e, t) {
1432 return "none" === (e = t || e).style.display || "" === e.style.display && oe(e) && "none" === k.css(e, "display")
1433 },
1434 ue = function (e, t, n, r) {
1435 var i, o, a = {};
1436 for (o in t) a[o] = e.style[o], e.style[o] = t[o];
1437 for (o in i = n.apply(e, r || []), t) e.style[o] = a[o];
1438 return i
1439 };
1440
1441 function le(e, t, n, r) {
1442 var i, o, a = 20,
1443 s = r ? function () {
1444 return r.cur()
1445 } : function () {
1446 return k.css(e, t, "")
1447 },
1448 u = s(),
1449 l = n && n[3] || (k.cssNumber[t] ? "" : "px"),
1450 c = e.nodeType && (k.cssNumber[t] || "px" !== l && +u) && ne.exec(k.css(e, t));
1451 if (c && c[3] !== l) {
1452 u /= 2, l = l || c[3], c = +u || 1;
1453 while (a--) k.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;
1454 c *= 2, k.style(e, t, c + l), n = n || []
1455 }
1456 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
1457 }
1458 var ce = {};
1459
1460 function fe(e, t) {
1461 for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Q.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && se(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ce[s]) || (o = a.body.appendChild(a.createElement(s)), u = k.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ce[s] = u)))) : "none" !== n && (l[c] = "none", Q.set(r, "display", n)));
1462 for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]);
1463 return e
1464 }
1465 k.fn.extend({
1466 show: function () {
1467 return fe(this, !0)
1468 },
1469 hide: function () {
1470 return fe(this)
1471 },
1472 toggle: function (e) {
1473 return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
1474 se(this) ? k(this).show() : k(this).hide()
1475 })
1476 }
1477 });
1478 var pe = /^(?:checkbox|radio)$/i,
1479 de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
1480 he = /^$|^module$|\/(?:java|ecma)script/i,
1481 ge = {
1482 option: [1, "<select multiple='multiple'>", "</select>"],
1483 thead: [1, "<table>", "</table>"],
1484 col: [2, "<table><colgroup>", "</colgroup></table>"],
1485 tr: [2, "<table><tbody>", "</tbody></table>"],
1486 td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1487 _default: [0, "", ""]
1488 };
1489
1490 function ve(e, t) {
1491 var n;
1492 return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? k.merge([e], n) : n
1493 }
1494
1495 function ye(e, t) {
1496 for (var n = 0, r = e.length; n < r; n++) Q.set(e[n], "globalEval", !t || Q.get(t[n], "globalEval"))
1497 }
1498 ge.optgroup = ge.option, ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td;
1499 var me, xe, be = /<|&#?\w+;/;
1500
1501 function we(e, t, n, r, i) {
1502 for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)
1503 if ((o = e[d]) || 0 === o)
1504 if ("object" === w(o)) k.merge(p, o.nodeType ? [o] : o);
1505 else if (be.test(o)) {
1506 a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + k.htmlPrefilter(o) + u[2], c = u[0];
1507 while (c--) a = a.lastChild;
1508 k.merge(p, a.childNodes), (a = f.firstChild).textContent = ""
1509 } else p.push(t.createTextNode(o));
1510 f.textContent = "", d = 0;
1511 while (o = p[d++])
1512 if (r && -1 < k.inArray(o, r)) i && i.push(o);
1513 else if (l = oe(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) {
1514 c = 0;
1515 while (o = a[c++]) he.test(o.type || "") && n.push(o)
1516 }
1517 return f
1518 }
1519 me = E.createDocumentFragment().appendChild(E.createElement("div")), (xe = E.createElement("input")).setAttribute("type", "radio"), xe.setAttribute("checked", "checked"), xe.setAttribute("name", "t"), me.appendChild(xe), y.checkClone = me.cloneNode(!0).cloneNode(!0).lastChild.checked, me.innerHTML = "<textarea>x</textarea>", y.noCloneChecked = !!me.cloneNode(!0).lastChild.defaultValue;
1520 var Te = /^key/,
1521 Ce = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
1522 Ee = /^([^.]*)(?:\.(.+)|)/;
1523
1524 function ke() {
1525 return !0
1526 }
1527
1528 function Se() {
1529 return !1
1530 }
1531
1532 function Ne(e, t) {
1533 return e === function () {
1534 try {
1535 return E.activeElement
1536 } catch (e) {}
1537 }() == ("focus" === t)
1538 }
1539
1540 function Ae(e, t, n, r, i, o) {
1541 var a, s;
1542 if ("object" == typeof t) {
1543 for (s in "string" != typeof n && (r = r || n, n = void 0), t) Ae(e, s, n, r, t[s], o);
1544 return e
1545 }
1546 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 = Se;
1547 else if (!i) return e;
1548 return 1 === o && (a = i, (i = function (e) {
1549 return k().off(e), a.apply(this, arguments)
1550 }).guid = a.guid || (a.guid = k.guid++)), e.each(function () {
1551 k.event.add(this, t, i, r, n)
1552 })
1553 }
1554
1555 function De(e, i, o) {
1556 o ? (Q.set(e, i, !1), k.event.add(e, i, {
1557 namespace: !1,
1558 handler: function (e) {
1559 var t, n, r = Q.get(this, i);
1560 if (1 & e.isTrigger && this[i]) {
1561 if (r.length)(k.event.special[i] || {}).delegateType && e.stopPropagation();
1562 else if (r = s.call(arguments), Q.set(this, i, r), t = o(this, i), this[i](), r !== (n = Q.get(this, i)) || t ? Q.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n.value
1563 } else r.length && (Q.set(this, i, {
1564 value: k.event.trigger(k.extend(r[0], k.Event.prototype), r.slice(1), this)
1565 }), e.stopImmediatePropagation())
1566 }
1567 })) : void 0 === Q.get(e, i) && k.event.add(e, i, ke)
1568 }
1569 k.event = {
1570 global: {},
1571 add: function (t, e, n, r, i) {
1572 var o, a, s, u, l, c, f, p, d, h, g, v = Q.get(t);
1573 if (v) {
1574 n.handler && (n = (o = n).handler, i = o.selector), i && k.find.matchesSelector(ie, i), n.guid || (n.guid = k.guid++), (u = v.events) || (u = v.events = {}), (a = v.handle) || (a = v.handle = function (e) {
1575 return "undefined" != typeof k && k.event.triggered !== e.type ? k.event.dispatch.apply(t, arguments) : void 0
1576 }), l = (e = (e || "").match(R) || [""]).length;
1577 while (l--) d = g = (s = Ee.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = k.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = k.event.special[d] || {}, c = k.extend({
1578 type: d,
1579 origType: g,
1580 data: r,
1581 handler: n,
1582 guid: n.guid,
1583 selector: i,
1584 needsContext: i && k.expr.match.needsContext.test(i),
1585 namespace: h.join(".")
1586 }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), k.event.global[d] = !0)
1587 }
1588 },
1589 remove: function (e, t, n, r, i) {
1590 var o, a, s, u, l, c, f, p, d, h, g, v = Q.hasData(e) && Q.get(e);
1591 if (v && (u = v.events)) {
1592 l = (t = (t || "").match(R) || [""]).length;
1593 while (l--)
1594 if (d = g = (s = Ee.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) {
1595 f = k.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length;
1596 while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
1597 a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || k.removeEvent(e, d, v.handle), delete u[d])
1598 } else
1599 for (d in u) k.event.remove(e, d + t[l], n, r, !0);
1600 k.isEmptyObject(u) && Q.remove(e, "handle events")
1601 }
1602 },
1603 dispatch: function (e) {
1604 var t, n, r, i, o, a, s = k.event.fix(e),
1605 u = new Array(arguments.length),
1606 l = (Q.get(this, "events") || {})[s.type] || [],
1607 c = k.event.special[s.type] || {};
1608 for (u[0] = s, t = 1; t < arguments.length; t++) u[t] = arguments[t];
1609 if (s.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, s)) {
1610 a = k.event.handlers.call(this, s, l), t = 0;
1611 while ((i = a[t++]) && !s.isPropagationStopped()) {
1612 s.currentTarget = i.elem, n = 0;
1613 while ((o = i.handlers[n++]) && !s.isImmediatePropagationStopped()) s.rnamespace && !1 !== o.namespace && !s.rnamespace.test(o.namespace) || (s.handleObj = o, s.data = o.data, void 0 !== (r = ((k.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, u)) && !1 === (s.result = r) && (s.preventDefault(), s.stopPropagation()))
1614 }
1615 return c.postDispatch && c.postDispatch.call(this, s), s.result
1616 }
1617 },
1618 handlers: function (e, t) {
1619 var n, r, i, o, a, s = [],
1620 u = t.delegateCount,
1621 l = e.target;
1622 if (u && l.nodeType && !("click" === e.type && 1 <= e.button))
1623 for (; l !== this; l = l.parentNode || this)
1624 if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
1625 for (o = [], a = {}, n = 0; n < u; n++) void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < k(i, this).index(l) : k.find(i, this, null, [l]).length), a[i] && o.push(r);
1626 o.length && s.push({
1627 elem: l,
1628 handlers: o
1629 })
1630 }
1631 return l = this, u < t.length && s.push({
1632 elem: l,
1633 handlers: t.slice(u)
1634 }), s
1635 },
1636 addProp: function (t, e) {
1637 Object.defineProperty(k.Event.prototype, t, {
1638 enumerable: !0,
1639 configurable: !0,
1640 get: m(e) ? function () {
1641 if (this.originalEvent) return e(this.originalEvent)
1642 } : function () {
1643 if (this.originalEvent) return this.originalEvent[t]
1644 },
1645 set: function (e) {
1646 Object.defineProperty(this, t, {
1647 enumerable: !0,
1648 configurable: !0,
1649 writable: !0,
1650 value: e
1651 })
1652 }
1653 })
1654 },
1655 fix: function (e) {
1656 return e[k.expando] ? e : new k.Event(e)
1657 },
1658 special: {
1659 load: {
1660 noBubble: !0
1661 },
1662 click: {
1663 setup: function (e) {
1664 var t = this || e;
1665 return pe.test(t.type) && t.click && A(t, "input") && De(t, "click", ke), !1
1666 },
1667 trigger: function (e) {
1668 var t = this || e;
1669 return pe.test(t.type) && t.click && A(t, "input") && De(t, "click"), !0
1670 },
1671 _default: function (e) {
1672 var t = e.target;
1673 return pe.test(t.type) && t.click && A(t, "input") && Q.get(t, "click") || A(t, "a")
1674 }
1675 },
1676 beforeunload: {
1677 postDispatch: function (e) {
1678 void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
1679 }
1680 }
1681 }
1682 }, k.removeEvent = function (e, t, n) {
1683 e.removeEventListener && e.removeEventListener(t, n)
1684 }, k.Event = function (e, t) {
1685 if (!(this instanceof k.Event)) return new k.Event(e, t);
1686 e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? ke : Se, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && k.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[k.expando] = !0
1687 }, k.Event.prototype = {
1688 constructor: k.Event,
1689 isDefaultPrevented: Se,
1690 isPropagationStopped: Se,
1691 isImmediatePropagationStopped: Se,
1692 isSimulated: !1,
1693 preventDefault: function () {
1694 var e = this.originalEvent;
1695 this.isDefaultPrevented = ke, e && !this.isSimulated && e.preventDefault()
1696 },
1697 stopPropagation: function () {
1698 var e = this.originalEvent;
1699 this.isPropagationStopped = ke, e && !this.isSimulated && e.stopPropagation()
1700 },
1701 stopImmediatePropagation: function () {
1702 var e = this.originalEvent;
1703 this.isImmediatePropagationStopped = ke, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
1704 }
1705 }, k.each({
1706 altKey: !0,
1707 bubbles: !0,
1708 cancelable: !0,
1709 changedTouches: !0,
1710 ctrlKey: !0,
1711 detail: !0,
1712 eventPhase: !0,
1713 metaKey: !0,
1714 pageX: !0,
1715 pageY: !0,
1716 shiftKey: !0,
1717 view: !0,
1718 "char": !0,
1719 code: !0,
1720 charCode: !0,
1721 key: !0,
1722 keyCode: !0,
1723 button: !0,
1724 buttons: !0,
1725 clientX: !0,
1726 clientY: !0,
1727 offsetX: !0,
1728 offsetY: !0,
1729 pointerId: !0,
1730 pointerType: !0,
1731 screenX: !0,
1732 screenY: !0,
1733 targetTouches: !0,
1734 toElement: !0,
1735 touches: !0,
1736 which: function (e) {
1737 var t = e.button;
1738 return null == e.which && Te.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && Ce.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which
1739 }
1740 }, k.event.addProp), k.each({
1741 focus: "focusin",
1742 blur: "focusout"
1743 }, function (e, t) {
1744 k.event.special[e] = {
1745 setup: function () {
1746 return De(this, e, Ne), !1
1747 },
1748 trigger: function () {
1749 return De(this, e), !0
1750 },
1751 delegateType: t
1752 }
1753 }), k.each({
1754 mouseenter: "mouseover",
1755 mouseleave: "mouseout",
1756 pointerenter: "pointerover",
1757 pointerleave: "pointerout"
1758 }, function (e, i) {
1759 k.event.special[e] = {
1760 delegateType: i,
1761 bindType: i,
1762 handle: function (e) {
1763 var t, n = e.relatedTarget,
1764 r = e.handleObj;
1765 return n && (n === this || k.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t
1766 }
1767 }
1768 }), k.fn.extend({
1769 on: function (e, t, n, r) {
1770 return Ae(this, e, t, n, r)
1771 },
1772 one: function (e, t, n, r) {
1773 return Ae(this, e, t, n, r, 1)
1774 },
1775 off: function (e, t, n) {
1776 var r, i;
1777 if (e && e.preventDefault && e.handleObj) return r = e.handleObj, k(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
1778 if ("object" == typeof e) {
1779 for (i in e) this.off(i, t, e[i]);
1780 return this
1781 }
1782 return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Se), this.each(function () {
1783 k.event.remove(this, e, n, t)
1784 })
1785 }
1786 });
1787 var je = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
1788 qe = /<script|<style|<link/i,
1789 Le = /checked\s*(?:[^=]|=\s*.checked.)/i,
1790 He = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
1791
1792 function Oe(e, t) {
1793 return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && k(e).children("tbody")[0] || e
1794 }
1795
1796 function Pe(e) {
1797 return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
1798 }
1799
1800 function Re(e) {
1801 return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e
1802 }
1803
1804 function Me(e, t) {
1805 var n, r, i, o, a, s, u, l;
1806 if (1 === t.nodeType) {
1807 if (Q.hasData(e) && (o = Q.access(e), a = Q.set(t, o), l = o.events))
1808 for (i in delete a.handle, a.events = {}, l)
1809 for (n = 0, r = l[i].length; n < r; n++) k.event.add(t, i, l[i][n]);
1810 J.hasData(e) && (s = J.access(e), u = k.extend({}, s), J.set(t, u))
1811 }
1812 }
1813
1814 function Ie(n, r, i, o) {
1815 r = g.apply([], r);
1816 var e, t, a, s, u, l, c = 0,
1817 f = n.length,
1818 p = f - 1,
1819 d = r[0],
1820 h = m(d);
1821 if (h || 1 < f && "string" == typeof d && !y.checkClone && Le.test(d)) return n.each(function (e) {
1822 var t = n.eq(e);
1823 h && (r[0] = d.call(this, e, t.html())), Ie(t, r, i, o)
1824 });
1825 if (f && (t = (e = we(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) {
1826 for (s = (a = k.map(ve(e, "script"), Pe)).length; c < f; c++) u = e, c !== p && (u = k.clone(u, !0, !0), s && k.merge(a, ve(u, "script"))), i.call(n[c], u, c);
1827 if (s)
1828 for (l = a[a.length - 1].ownerDocument, k.map(a, Re), c = 0; c < s; c++) u = a[c], he.test(u.type || "") && !Q.access(u, "globalEval") && k.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? k._evalUrl && !u.noModule && k._evalUrl(u.src, {
1829 nonce: u.nonce || u.getAttribute("nonce")
1830 }) : b(u.textContent.replace(He, ""), u, l))
1831 }
1832 return n
1833 }
1834
1835 function We(e, t, n) {
1836 for (var r, i = t ? k.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || k.cleanData(ve(r)), r.parentNode && (n && oe(r) && ye(ve(r, "script")), r.parentNode.removeChild(r));
1837 return e
1838 }
1839 k.extend({
1840 htmlPrefilter: function (e) {
1841 return e.replace(je, "<$1></$2>")
1842 },
1843 clone: function (e, t, n) {
1844 var r, i, o, a, s, u, l, c = e.cloneNode(!0),
1845 f = oe(e);
1846 if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || k.isXMLDoc(e)))
1847 for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue);
1848 if (t)
1849 if (n)
1850 for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) Me(o[r], a[r]);
1851 else Me(e, c);
1852 return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c
1853 },
1854 cleanData: function (e) {
1855 for (var t, n, r, i = k.event.special, o = 0; void 0 !== (n = e[o]); o++)
1856 if (G(n)) {
1857 if (t = n[Q.expando]) {
1858 if (t.events)
1859 for (r in t.events) i[r] ? k.event.remove(n, r) : k.removeEvent(n, r, t.handle);
1860 n[Q.expando] = void 0
1861 }
1862 n[J.expando] && (n[J.expando] = void 0)
1863 }
1864 }
1865 }), k.fn.extend({
1866 detach: function (e) {
1867 return We(this, e, !0)
1868 },
1869 remove: function (e) {
1870 return We(this, e)
1871 },
1872 text: function (e) {
1873 return _(this, function (e) {
1874 return void 0 === e ? k.text(this) : this.empty().each(function () {
1875 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
1876 })
1877 }, null, e, arguments.length)
1878 },
1879 append: function () {
1880 return Ie(this, arguments, function (e) {
1881 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Oe(this, e).appendChild(e)
1882 })
1883 },
1884 prepend: function () {
1885 return Ie(this, arguments, function (e) {
1886 if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1887 var t = Oe(this, e);
1888 t.insertBefore(e, t.firstChild)
1889 }
1890 })
1891 },
1892 before: function () {
1893 return Ie(this, arguments, function (e) {
1894 this.parentNode && this.parentNode.insertBefore(e, this)
1895 })
1896 },
1897 after: function () {
1898 return Ie(this, arguments, function (e) {
1899 this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
1900 })
1901 },
1902 empty: function () {
1903 for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (k.cleanData(ve(e, !1)), e.textContent = "");
1904 return this
1905 },
1906 clone: function (e, t) {
1907 return e = null != e && e, t = null == t ? e : t, this.map(function () {
1908 return k.clone(this, e, t)
1909 })
1910 },
1911 html: function (e) {
1912 return _(this, function (e) {
1913 var t = this[0] || {},
1914 n = 0,
1915 r = this.length;
1916 if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
1917 if ("string" == typeof e && !qe.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) {
1918 e = k.htmlPrefilter(e);
1919 try {
1920 for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (k.cleanData(ve(t, !1)), t.innerHTML = e);
1921 t = 0
1922 } catch (e) {}
1923 }
1924 t && this.empty().append(e)
1925 }, null, e, arguments.length)
1926 },
1927 replaceWith: function () {
1928 var n = [];
1929 return Ie(this, arguments, function (e) {
1930 var t = this.parentNode;
1931 k.inArray(this, n) < 0 && (k.cleanData(ve(this)), t && t.replaceChild(e, this))
1932 }, n)
1933 }
1934 }), k.each({
1935 appendTo: "append",
1936 prependTo: "prepend",
1937 insertBefore: "before",
1938 insertAfter: "after",
1939 replaceAll: "replaceWith"
1940 }, function (e, a) {
1941 k.fn[e] = function (e) {
1942 for (var t, n = [], r = k(e), i = r.length - 1, o = 0; o <= i; o++) t = o === i ? this : this.clone(!0), k(r[o])[a](t), u.apply(n, t.get());
1943 return this.pushStack(n)
1944 }
1945 });
1946 var $e = new RegExp("^(" + te + ")(?!px)[a-z%]+$", "i"),
1947 Fe = function (e) {
1948 var t = e.ownerDocument.defaultView;
1949 return t && t.opener || (t = C), t.getComputedStyle(e)
1950 },
1951 Be = new RegExp(re.join("|"), "i");
1952
1953 function _e(e, t, n) {
1954 var r, i, o, a, s = e.style;
1955 return (n = n || Fe(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || oe(e) || (a = k.style(e, t)), !y.pixelBoxStyles() && $e.test(a) && Be.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
1956 }
1957
1958 function ze(e, t) {
1959 return {
1960 get: function () {
1961 if (!e()) return (this.get = t).apply(this, arguments);
1962 delete this.get
1963 }
1964 }
1965 }! function () {
1966 function e() {
1967 if (u) {
1968 s.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", u.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", ie.appendChild(s).appendChild(u);
1969 var e = C.getComputedStyle(u);
1970 n = "1%" !== e.top, a = 12 === t(e.marginLeft), u.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), u.style.position = "absolute", i = 12 === t(u.offsetWidth / 3), ie.removeChild(s), u = null
1971 }
1972 }
1973
1974 function t(e) {
1975 return Math.round(parseFloat(e))
1976 }
1977 var n, r, i, o, a, s = E.createElement("div"),
1978 u = E.createElement("div");
1979 u.style && (u.style.backgroundClip = "content-box", u.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === u.style.backgroundClip, k.extend(y, {
1980 boxSizingReliable: function () {
1981 return e(), r
1982 },
1983 pixelBoxStyles: function () {
1984 return e(), o
1985 },
1986 pixelPosition: function () {
1987 return e(), n
1988 },
1989 reliableMarginLeft: function () {
1990 return e(), a
1991 },
1992 scrollboxSize: function () {
1993 return e(), i
1994 }
1995 }))
1996 }();
1997 var Ue = ["Webkit", "Moz", "ms"],
1998 Xe = E.createElement("div").style,
1999 Ve = {};
2000
2001 function Ge(e) {
2002 var t = k.cssProps[e] || Ve[e];
2003 return t || (e in Xe ? e : Ve[e] = function (e) {
2004 var t = e[0].toUpperCase() + e.slice(1),
2005 n = Ue.length;
2006 while (n--)
2007 if ((e = Ue[n] + t) in Xe) return e
2008 }(e) || e)
2009 }
2010 var Ye = /^(none|table(?!-c[ea]).+)/,
2011 Qe = /^--/,
2012 Je = {
2013 position: "absolute",
2014 visibility: "hidden",
2015 display: "block"
2016 },
2017 Ke = {
2018 letterSpacing: "0",
2019 fontWeight: "400"
2020 };
2021
2022 function Ze(e, t, n) {
2023 var r = ne.exec(t);
2024 return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
2025 }
2026
2027 function et(e, t, n, r, i, o) {
2028 var a = "width" === t ? 1 : 0,
2029 s = 0,
2030 u = 0;
2031 if (n === (r ? "border" : "content")) return 0;
2032 for (; a < 4; a += 2) "margin" === n && (u += k.css(e, n + re[a], !0, i)), r ? ("content" === n && (u -= k.css(e, "padding" + re[a], !0, i)), "margin" !== n && (u -= k.css(e, "border" + re[a] + "Width", !0, i))) : (u += k.css(e, "padding" + re[a], !0, i), "padding" !== n ? u += k.css(e, "border" + re[a] + "Width", !0, i) : s += k.css(e, "border" + re[a] + "Width", !0, i));
2033 return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u
2034 }
2035
2036 function tt(e, t, n) {
2037 var r = Fe(e),
2038 i = (!y.boxSizingReliable() || n) && "border-box" === k.css(e, "boxSizing", !1, r),
2039 o = i,
2040 a = _e(e, t, r),
2041 s = "offset" + t[0].toUpperCase() + t.slice(1);
2042 if ($e.test(a)) {
2043 if (!n) return a;
2044 a = "auto"
2045 }
2046 return (!y.boxSizingReliable() && i || "auto" === a || !parseFloat(a) && "inline" === k.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === k.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + et(e, t, n || (i ? "border" : "content"), o, r, a) + "px"
2047 }
2048
2049 function nt(e, t, n, r, i) {
2050 return new nt.prototype.init(e, t, n, r, i)
2051 }
2052 k.extend({
2053 cssHooks: {
2054 opacity: {
2055 get: function (e, t) {
2056 if (t) {
2057 var n = _e(e, "opacity");
2058 return "" === n ? "1" : n
2059 }
2060 }
2061 }
2062 },
2063 cssNumber: {
2064 animationIterationCount: !0,
2065 columnCount: !0,
2066 fillOpacity: !0,
2067 flexGrow: !0,
2068 flexShrink: !0,
2069 fontWeight: !0,
2070 gridArea: !0,
2071 gridColumn: !0,
2072 gridColumnEnd: !0,
2073 gridColumnStart: !0,
2074 gridRow: !0,
2075 gridRowEnd: !0,
2076 gridRowStart: !0,
2077 lineHeight: !0,
2078 opacity: !0,
2079 order: !0,
2080 orphans: !0,
2081 widows: !0,
2082 zIndex: !0,
2083 zoom: !0
2084 },
2085 cssProps: {},
2086 style: function (e, t, n, r) {
2087 if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
2088 var i, o, a, s = V(t),
2089 u = Qe.test(t),
2090 l = e.style;
2091 if (u || (t = Ge(s)), a = k.cssHooks[t] || k.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];
2092 "string" === (o = typeof n) && (i = ne.exec(n)) && i[1] && (n = le(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (k.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n))
2093 }
2094 },
2095 css: function (e, t, n, r) {
2096 var i, o, a, s = V(t);
2097 return Qe.test(t) || (t = Ge(s)), (a = k.cssHooks[t] || k.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = _e(e, t, r)), "normal" === i && t in Ke && (i = Ke[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i
2098 }
2099 }), k.each(["height", "width"], function (e, u) {
2100 k.cssHooks[u] = {
2101 get: function (e, t, n) {
2102 if (t) return !Ye.test(k.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? tt(e, u, n) : ue(e, Je, function () {
2103 return tt(e, u, n)
2104 })
2105 },
2106 set: function (e, t, n) {
2107 var r, i = Fe(e),
2108 o = !y.scrollboxSize() && "absolute" === i.position,
2109 a = (o || n) && "border-box" === k.css(e, "boxSizing", !1, i),
2110 s = n ? et(e, u, n, a, i) : 0;
2111 return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - et(e, u, "border", !1, i) - .5)), s && (r = ne.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = k.css(e, u)), Ze(0, t, s)
2112 }
2113 }
2114 }), k.cssHooks.marginLeft = ze(y.reliableMarginLeft, function (e, t) {
2115 if (t) return (parseFloat(_e(e, "marginLeft")) || e.getBoundingClientRect().left - ue(e, {
2116 marginLeft: 0
2117 }, function () {
2118 return e.getBoundingClientRect().left
2119 })) + "px"
2120 }), k.each({
2121 margin: "",
2122 padding: "",
2123 border: "Width"
2124 }, function (i, o) {
2125 k.cssHooks[i + o] = {
2126 expand: function (e) {
2127 for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[i + re[t] + o] = r[t] || r[t - 2] || r[0];
2128 return n
2129 }
2130 }, "margin" !== i && (k.cssHooks[i + o].set = Ze)
2131 }), k.fn.extend({
2132 css: function (e, t) {
2133 return _(this, function (e, t, n) {
2134 var r, i, o = {},
2135 a = 0;
2136 if (Array.isArray(t)) {
2137 for (r = Fe(e), i = t.length; a < i; a++) o[t[a]] = k.css(e, t[a], !1, r);
2138 return o
2139 }
2140 return void 0 !== n ? k.style(e, t, n) : k.css(e, t)
2141 }, e, t, 1 < arguments.length)
2142 }
2143 }), ((k.Tween = nt).prototype = {
2144 constructor: nt,
2145 init: function (e, t, n, r, i, o) {
2146 this.elem = e, this.prop = n, this.easing = i || k.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (k.cssNumber[n] ? "" : "px")
2147 },
2148 cur: function () {
2149 var e = nt.propHooks[this.prop];
2150 return e && e.get ? e.get(this) : nt.propHooks._default.get(this)
2151 },
2152 run: function (e) {
2153 var t, n = nt.propHooks[this.prop];
2154 return this.options.duration ? this.pos = t = k.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) : nt.propHooks._default.set(this), this
2155 }
2156 }).init.prototype = nt.prototype, (nt.propHooks = {
2157 _default: {
2158 get: function (e) {
2159 var t;
2160 return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = k.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0
2161 },
2162 set: function (e) {
2163 k.fx.step[e.prop] ? k.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !k.cssHooks[e.prop] && null == e.elem.style[Ge(e.prop)] ? e.elem[e.prop] = e.now : k.style(e.elem, e.prop, e.now + e.unit)
2164 }
2165 }
2166 }).scrollTop = nt.propHooks.scrollLeft = {
2167 set: function (e) {
2168 e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
2169 }
2170 }, k.easing = {
2171 linear: function (e) {
2172 return e
2173 },
2174 swing: function (e) {
2175 return .5 - Math.cos(e * Math.PI) / 2
2176 },
2177 _default: "swing"
2178 }, k.fx = nt.prototype.init, k.fx.step = {};
2179 var rt, it, ot, at, st = /^(?:toggle|show|hide)$/,
2180 ut = /queueHooks$/;
2181
2182 function lt() {
2183 it && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(lt) : C.setTimeout(lt, k.fx.interval), k.fx.tick())
2184 }
2185
2186 function ct() {
2187 return C.setTimeout(function () {
2188 rt = void 0
2189 }), rt = Date.now()
2190 }
2191
2192 function ft(e, t) {
2193 var n, r = 0,
2194 i = {
2195 height: e
2196 };
2197 for (t = t ? 1 : 0; r < 4; r += 2 - t) i["margin" + (n = re[r])] = i["padding" + n] = e;
2198 return t && (i.opacity = i.width = e), i
2199 }
2200
2201 function pt(e, t, n) {
2202 for (var r, i = (dt.tweeners[t] || []).concat(dt.tweeners["*"]), o = 0, a = i.length; o < a; o++)
2203 if (r = i[o].call(n, t, e)) return r
2204 }
2205
2206 function dt(o, e, t) {
2207 var n, a, r = 0,
2208 i = dt.prefilters.length,
2209 s = k.Deferred().always(function () {
2210 delete u.elem
2211 }),
2212 u = function () {
2213 if (a) return !1;
2214 for (var e = rt || ct(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++) l.tweens[r].run(n);
2215 return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1)
2216 },
2217 l = s.promise({
2218 elem: o,
2219 props: k.extend({}, e),
2220 opts: k.extend(!0, {
2221 specialEasing: {},
2222 easing: k.easing._default
2223 }, t),
2224 originalProperties: e,
2225 originalOptions: t,
2226 startTime: rt || ct(),
2227 duration: t.duration,
2228 tweens: [],
2229 createTween: function (e, t) {
2230 var n = k.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing);
2231 return l.tweens.push(n), n
2232 },
2233 stop: function (e) {
2234 var t = 0,
2235 n = e ? l.tweens.length : 0;
2236 if (a) return this;
2237 for (a = !0; t < n; t++) l.tweens[t].run(1);
2238 return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this
2239 }
2240 }),
2241 c = l.props;
2242 for (! function (e, t) {
2243 var n, r, i, o, a;
2244 for (n in e)
2245 if (i = t[r = V(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = k.cssHooks[r]) && "expand" in a)
2246 for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i);
2247 else t[r] = i
2248 }(c, l.opts.specialEasing); r < i; r++)
2249 if (n = dt.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (k._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n;
2250 return k.map(c, pt, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), k.fx.timer(k.extend(u, {
2251 elem: o,
2252 anim: l,
2253 queue: l.opts.queue
2254 })), l
2255 }
2256 k.Animation = k.extend(dt, {
2257 tweeners: {
2258 "*": [function (e, t) {
2259 var n = this.createTween(e, t);
2260 return le(n.elem, e, ne.exec(t), n), n
2261 }]
2262 },
2263 tweener: function (e, t) {
2264 m(e) ? (t = e, e = ["*"]) : e = e.match(R);
2265 for (var n, r = 0, i = e.length; r < i; r++) n = e[r], dt.tweeners[n] = dt.tweeners[n] || [], dt.tweeners[n].unshift(t)
2266 },
2267 prefilters: [function (e, t, n) {
2268 var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t,
2269 p = this,
2270 d = {},
2271 h = e.style,
2272 g = e.nodeType && se(e),
2273 v = Q.get(e, "fxshow");
2274 for (r in n.queue || (null == (a = k._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () {
2275 a.unqueued || s()
2276 }), a.unqueued++, p.always(function () {
2277 p.always(function () {
2278 a.unqueued--, k.queue(e, "fx").length || a.empty.fire()
2279 })
2280 })), t)
2281 if (i = t[r], st.test(i)) {
2282 if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) {
2283 if ("show" !== i || !v || void 0 === v[r]) continue;
2284 g = !0
2285 }
2286 d[r] = v && v[r] || k.style(e, r)
2287 }
2288 if ((u = !k.isEmptyObject(t)) || !k.isEmptyObject(d))
2289 for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Q.get(e, "display")), "none" === (c = k.css(e, "display")) && (l ? c = l : (fe([e], !0), l = e.style.display || l, c = k.css(e, "display"), fe([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === k.css(e, "float") && (u || (p.done(function () {
2290 h.display = l
2291 }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () {
2292 h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]
2293 })), u = !1, d) u || (v ? "hidden" in v && (g = v.hidden) : v = Q.access(e, "fxshow", {
2294 display: l
2295 }), o && (v.hidden = !g), g && fe([e], !0), p.done(function () {
2296 for (r in g || fe([e]), Q.remove(e, "fxshow"), d) k.style(e, r, d[r])
2297 })), u = pt(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0))
2298 }],
2299 prefilter: function (e, t) {
2300 t ? dt.prefilters.unshift(e) : dt.prefilters.push(e)
2301 }
2302 }), k.speed = function (e, t, n) {
2303 var r = e && "object" == typeof e ? k.extend({}, e) : {
2304 complete: n || !n && t || m(e) && e,
2305 duration: e,
2306 easing: n && t || t && !m(t) && t
2307 };
2308 return k.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in k.fx.speeds ? r.duration = k.fx.speeds[r.duration] : r.duration = k.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () {
2309 m(r.old) && r.old.call(this), r.queue && k.dequeue(this, r.queue)
2310 }, r
2311 }, k.fn.extend({
2312 fadeTo: function (e, t, n, r) {
2313 return this.filter(se).css("opacity", 0).show().end().animate({
2314 opacity: t
2315 }, e, n, r)
2316 },
2317 animate: function (t, e, n, r) {
2318 var i = k.isEmptyObject(t),
2319 o = k.speed(e, n, r),
2320 a = function () {
2321 var e = dt(this, k.extend({}, t), o);
2322 (i || Q.get(this, "finish")) && e.stop(!0)
2323 };
2324 return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
2325 },
2326 stop: function (i, e, o) {
2327 var a = function (e) {
2328 var t = e.stop;
2329 delete e.stop, t(o)
2330 };
2331 return "string" != typeof i && (o = e, e = i, i = void 0), e && !1 !== i && this.queue(i || "fx", []), this.each(function () {
2332 var e = !0,
2333 t = null != i && i + "queueHooks",
2334 n = k.timers,
2335 r = Q.get(this);
2336 if (t) r[t] && r[t].stop && a(r[t]);
2337 else
2338 for (t in r) r[t] && r[t].stop && ut.test(t) && a(r[t]);
2339 for (t = n.length; t--;) n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1));
2340 !e && o || k.dequeue(this, i)
2341 })
2342 },
2343 finish: function (a) {
2344 return !1 !== a && (a = a || "fx"), this.each(function () {
2345 var e, t = Q.get(this),
2346 n = t[a + "queue"],
2347 r = t[a + "queueHooks"],
2348 i = k.timers,
2349 o = n ? n.length : 0;
2350 for (t.finish = !0, k.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;) i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1));
2351 for (e = 0; e < o; e++) n[e] && n[e].finish && n[e].finish.call(this);
2352 delete t.finish
2353 })
2354 }
2355 }), k.each(["toggle", "show", "hide"], function (e, r) {
2356 var i = k.fn[r];
2357 k.fn[r] = function (e, t, n) {
2358 return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(ft(r, !0), e, t, n)
2359 }
2360 }), k.each({
2361 slideDown: ft("show"),
2362 slideUp: ft("hide"),
2363 slideToggle: ft("toggle"),
2364 fadeIn: {
2365 opacity: "show"
2366 },
2367 fadeOut: {
2368 opacity: "hide"
2369 },
2370 fadeToggle: {
2371 opacity: "toggle"
2372 }
2373 }, function (e, r) {
2374 k.fn[e] = function (e, t, n) {
2375 return this.animate(r, e, t, n)
2376 }
2377 }), k.timers = [], k.fx.tick = function () {
2378 var e, t = 0,
2379 n = k.timers;
2380 for (rt = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
2381 n.length || k.fx.stop(), rt = void 0
2382 }, k.fx.timer = function (e) {
2383 k.timers.push(e), k.fx.start()
2384 }, k.fx.interval = 13, k.fx.start = function () {
2385 it || (it = !0, lt())
2386 }, k.fx.stop = function () {
2387 it = null
2388 }, k.fx.speeds = {
2389 slow: 600,
2390 fast: 200,
2391 _default: 400
2392 }, k.fn.delay = function (r, e) {
2393 return r = k.fx && k.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) {
2394 var n = C.setTimeout(e, r);
2395 t.stop = function () {
2396 C.clearTimeout(n)
2397 }
2398 })
2399 }, ot = E.createElement("input"), at = E.createElement("select").appendChild(E.createElement("option")), ot.type = "checkbox", y.checkOn = "" !== ot.value, y.optSelected = at.selected, (ot = E.createElement("input")).value = "t", ot.type = "radio", y.radioValue = "t" === ot.value;
2400 var ht, gt = k.expr.attrHandle;
2401 k.fn.extend({
2402 attr: function (e, t) {
2403 return _(this, k.attr, e, t, 1 < arguments.length)
2404 },
2405 removeAttr: function (e) {
2406 return this.each(function () {
2407 k.removeAttr(this, e)
2408 })
2409 }
2410 }), k.extend({
2411 attr: function (e, t, n) {
2412 var r, i, o = e.nodeType;
2413 if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? k.prop(e, t, n) : (1 === o && k.isXMLDoc(e) || (i = k.attrHooks[t.toLowerCase()] || (k.expr.match.bool.test(t) ? ht : void 0)), void 0 !== n ? null === n ? void k.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 = k.find.attr(e, t)) ? void 0 : r)
2414 },
2415 attrHooks: {
2416 type: {
2417 set: function (e, t) {
2418 if (!y.radioValue && "radio" === t && A(e, "input")) {
2419 var n = e.value;
2420 return e.setAttribute("type", t), n && (e.value = n), t
2421 }
2422 }
2423 }
2424 },
2425 removeAttr: function (e, t) {
2426 var n, r = 0,
2427 i = t && t.match(R);
2428 if (i && 1 === e.nodeType)
2429 while (n = i[r++]) e.removeAttribute(n)
2430 }
2431 }), ht = {
2432 set: function (e, t, n) {
2433 return !1 === t ? k.removeAttr(e, n) : e.setAttribute(n, n), n
2434 }
2435 }, k.each(k.expr.match.bool.source.match(/\w+/g), function (e, t) {
2436 var a = gt[t] || k.find.attr;
2437 gt[t] = function (e, t, n) {
2438 var r, i, o = t.toLowerCase();
2439 return n || (i = gt[o], gt[o] = r, r = null != a(e, t, n) ? o : null, gt[o] = i), r
2440 }
2441 });
2442 var vt = /^(?:input|select|textarea|button)$/i,
2443 yt = /^(?:a|area)$/i;
2444
2445 function mt(e) {
2446 return (e.match(R) || []).join(" ")
2447 }
2448
2449 function xt(e) {
2450 return e.getAttribute && e.getAttribute("class") || ""
2451 }
2452
2453 function bt(e) {
2454 return Array.isArray(e) ? e : "string" == typeof e && e.match(R) || []
2455 }
2456 k.fn.extend({
2457 prop: function (e, t) {
2458 return _(this, k.prop, e, t, 1 < arguments.length)
2459 },
2460 removeProp: function (e) {
2461 return this.each(function () {
2462 delete this[k.propFix[e] || e]
2463 })
2464 }
2465 }), k.extend({
2466 prop: function (e, t, n) {
2467 var r, i, o = e.nodeType;
2468 if (3 !== o && 8 !== o && 2 !== o) return 1 === o && k.isXMLDoc(e) || (t = k.propFix[t] || t, i = k.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]
2469 },
2470 propHooks: {
2471 tabIndex: {
2472 get: function (e) {
2473 var t = k.find.attr(e, "tabindex");
2474 return t ? parseInt(t, 10) : vt.test(e.nodeName) || yt.test(e.nodeName) && e.href ? 0 : -1
2475 }
2476 }
2477 },
2478 propFix: {
2479 "for": "htmlFor",
2480 "class": "className"
2481 }
2482 }), y.optSelected || (k.propHooks.selected = {
2483 get: function (e) {
2484 var t = e.parentNode;
2485 return t && t.parentNode && t.parentNode.selectedIndex, null
2486 },
2487 set: function (e) {
2488 var t = e.parentNode;
2489 t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
2490 }
2491 }), k.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
2492 k.propFix[this.toLowerCase()] = this
2493 }), k.fn.extend({
2494 addClass: function (t) {
2495 var e, n, r, i, o, a, s, u = 0;
2496 if (m(t)) return this.each(function (e) {
2497 k(this).addClass(t.call(this, e, xt(this)))
2498 });
2499 if ((e = bt(t)).length)
2500 while (n = this[u++])
2501 if (i = xt(n), r = 1 === n.nodeType && " " + mt(i) + " ") {
2502 a = 0;
2503 while (o = e[a++]) r.indexOf(" " + o + " ") < 0 && (r += o + " ");
2504 i !== (s = mt(r)) && n.setAttribute("class", s)
2505 }
2506 return this
2507 },
2508 removeClass: function (t) {
2509 var e, n, r, i, o, a, s, u = 0;
2510 if (m(t)) return this.each(function (e) {
2511 k(this).removeClass(t.call(this, e, xt(this)))
2512 });
2513 if (!arguments.length) return this.attr("class", "");
2514 if ((e = bt(t)).length)
2515 while (n = this[u++])
2516 if (i = xt(n), r = 1 === n.nodeType && " " + mt(i) + " ") {
2517 a = 0;
2518 while (o = e[a++])
2519 while (-1 < r.indexOf(" " + o + " ")) r = r.replace(" " + o + " ", " ");
2520 i !== (s = mt(r)) && n.setAttribute("class", s)
2521 }
2522 return this
2523 },
2524 toggleClass: function (i, t) {
2525 var o = typeof i,
2526 a = "string" === o || Array.isArray(i);
2527 return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function (e) {
2528 k(this).toggleClass(i.call(this, e, xt(this), t), t)
2529 }) : this.each(function () {
2530 var e, t, n, r;
2531 if (a) {
2532 t = 0, n = k(this), r = bt(i);
2533 while (e = r[t++]) n.hasClass(e) ? n.removeClass(e) : n.addClass(e)
2534 } else void 0 !== i && "boolean" !== o || ((e = xt(this)) && Q.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Q.get(this, "__className__") || ""))
2535 })
2536 },
2537 hasClass: function (e) {
2538 var t, n, r = 0;
2539 t = " " + e + " ";
2540 while (n = this[r++])
2541 if (1 === n.nodeType && -1 < (" " + mt(xt(n)) + " ").indexOf(t)) return !0;
2542 return !1
2543 }
2544 });
2545 var wt = /\r/g;
2546 k.fn.extend({
2547 val: function (n) {
2548 var r, e, i, t = this[0];
2549 return arguments.length ? (i = m(n), this.each(function (e) {
2550 var t;
2551 1 === this.nodeType && (null == (t = i ? n.call(this, e, k(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = k.map(t, function (e) {
2552 return null == e ? "" : e + ""
2553 })), (r = k.valHooks[this.type] || k.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t))
2554 })) : t ? (r = k.valHooks[t.type] || k.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(wt, "") : null == e ? "" : e : void 0
2555 }
2556 }), k.extend({
2557 valHooks: {
2558 option: {
2559 get: function (e) {
2560 var t = k.find.attr(e, "value");
2561 return null != t ? t : mt(k.text(e))
2562 }
2563 },
2564 select: {
2565 get: function (e) {
2566 var t, n, r, i = e.options,
2567 o = e.selectedIndex,
2568 a = "select-one" === e.type,
2569 s = a ? null : [],
2570 u = a ? o + 1 : i.length;
2571 for (r = o < 0 ? u : a ? o : 0; r < u; r++)
2572 if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) {
2573 if (t = k(n).val(), a) return t;
2574 s.push(t)
2575 }
2576 return s
2577 },
2578 set: function (e, t) {
2579 var n, r, i = e.options,
2580 o = k.makeArray(t),
2581 a = i.length;
2582 while (a--)((r = i[a]).selected = -1 < k.inArray(k.valHooks.option.get(r), o)) && (n = !0);
2583 return n || (e.selectedIndex = -1), o
2584 }
2585 }
2586 }
2587 }), k.each(["radio", "checkbox"], function () {
2588 k.valHooks[this] = {
2589 set: function (e, t) {
2590 if (Array.isArray(t)) return e.checked = -1 < k.inArray(k(e).val(), t)
2591 }
2592 }, y.checkOn || (k.valHooks[this].get = function (e) {
2593 return null === e.getAttribute("value") ? "on" : e.value
2594 })
2595 }), y.focusin = "onfocusin" in C;
2596 var Tt = /^(?:focusinfocus|focusoutblur)$/,
2597 Ct = function (e) {
2598 e.stopPropagation()
2599 };
2600 k.extend(k.event, {
2601 trigger: function (e, t, n, r) {
2602 var i, o, a, s, u, l, c, f, p = [n || E],
2603 d = v.call(e, "type") ? e.type : e,
2604 h = v.call(e, "namespace") ? e.namespace.split(".") : [];
2605 if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !Tt.test(d + k.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[k.expando] ? e : new k.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : k.makeArray(t, [e]), c = k.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) {
2606 if (!r && !c.noBubble && !x(n)) {
2607 for (s = c.delegateType || d, Tt.test(s + d) || (o = o.parentNode); o; o = o.parentNode) p.push(o), a = o;
2608 a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C)
2609 }
2610 i = 0;
2611 while ((o = p[i++]) && !e.isPropagationStopped()) f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Q.get(o, "events") || {})[e.type] && Q.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && G(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault());
2612 return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !G(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), k.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, Ct), n[d](), e.isPropagationStopped() && f.removeEventListener(d, Ct), k.event.triggered = void 0, a && (n[u] = a)), e.result
2613 }
2614 },
2615 simulate: function (e, t, n) {
2616 var r = k.extend(new k.Event, n, {
2617 type: e,
2618 isSimulated: !0
2619 });
2620 k.event.trigger(r, null, t)
2621 }
2622 }), k.fn.extend({
2623 trigger: function (e, t) {
2624 return this.each(function () {
2625 k.event.trigger(e, t, this)
2626 })
2627 },
2628 triggerHandler: function (e, t) {
2629 var n = this[0];
2630 if (n) return k.event.trigger(e, t, n, !0)
2631 }
2632 }), y.focusin || k.each({
2633 focus: "focusin",
2634 blur: "focusout"
2635 }, function (n, r) {
2636 var i = function (e) {
2637 k.event.simulate(r, e.target, k.event.fix(e))
2638 };
2639 k.event.special[r] = {
2640 setup: function () {
2641 var e = this.ownerDocument || this,
2642 t = Q.access(e, r);
2643 t || e.addEventListener(n, i, !0), Q.access(e, r, (t || 0) + 1)
2644 },
2645 teardown: function () {
2646 var e = this.ownerDocument || this,
2647 t = Q.access(e, r) - 1;
2648 t ? Q.access(e, r, t) : (e.removeEventListener(n, i, !0), Q.remove(e, r))
2649 }
2650 }
2651 });
2652 var Et = C.location,
2653 kt = Date.now(),
2654 St = /\?/;
2655 k.parseXML = function (e) {
2656 var t;
2657 if (!e || "string" != typeof e) return null;
2658 try {
2659 t = (new C.DOMParser).parseFromString(e, "text/xml")
2660 } catch (e) {
2661 t = void 0
2662 }
2663 return t && !t.getElementsByTagName("parsererror").length || k.error("Invalid XML: " + e), t
2664 };
2665 var Nt = /\[\]$/,
2666 At = /\r?\n/g,
2667 Dt = /^(?:submit|button|image|reset|file)$/i,
2668 jt = /^(?:input|select|textarea|keygen)/i;
2669
2670 function qt(n, e, r, i) {
2671 var t;
2672 if (Array.isArray(e)) k.each(e, function (e, t) {
2673 r || Nt.test(n) ? i(n, t) : qt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i)
2674 });
2675 else if (r || "object" !== w(e)) i(n, e);
2676 else
2677 for (t in e) qt(n + "[" + t + "]", e[t], r, i)
2678 }
2679 k.param = function (e, t) {
2680 var n, r = [],
2681 i = function (e, t) {
2682 var n = m(t) ? t() : t;
2683 r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n)
2684 };
2685 if (null == e) return "";
2686 if (Array.isArray(e) || e.jquery && !k.isPlainObject(e)) k.each(e, function () {
2687 i(this.name, this.value)
2688 });
2689 else
2690 for (n in e) qt(n, e[n], t, i);
2691 return r.join("&")
2692 }, k.fn.extend({
2693 serialize: function () {
2694 return k.param(this.serializeArray())
2695 },
2696 serializeArray: function () {
2697 return this.map(function () {
2698 var e = k.prop(this, "elements");
2699 return e ? k.makeArray(e) : this
2700 }).filter(function () {
2701 var e = this.type;
2702 return this.name && !k(this).is(":disabled") && jt.test(this.nodeName) && !Dt.test(e) && (this.checked || !pe.test(e))
2703 }).map(function (e, t) {
2704 var n = k(this).val();
2705 return null == n ? null : Array.isArray(n) ? k.map(n, function (e) {
2706 return {
2707 name: t.name,
2708 value: e.replace(At, "\r\n")
2709 }
2710 }) : {
2711 name: t.name,
2712 value: n.replace(At, "\r\n")
2713 }
2714 }).get()
2715 }
2716 });
2717 var Lt = /%20/g,
2718 Ht = /#.*$/,
2719 Ot = /([?&])_=[^&]*/,
2720 Pt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
2721 Rt = /^(?:GET|HEAD)$/,
2722 Mt = /^\/\//,
2723 It = {},
2724 Wt = {},
2725 $t = "*/".concat("*"),
2726 Ft = E.createElement("a");
2727
2728 function Bt(o) {
2729 return function (e, t) {
2730 "string" != typeof e && (t = e, e = "*");
2731 var n, r = 0,
2732 i = e.toLowerCase().match(R) || [];
2733 if (m(t))
2734 while (n = i[r++]) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t)
2735 }
2736 }
2737
2738 function _t(t, i, o, a) {
2739 var s = {},
2740 u = t === Wt;
2741
2742 function l(e) {
2743 var r;
2744 return s[e] = !0, k.each(t[e] || [], function (e, t) {
2745 var n = t(i, o, a);
2746 return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1)
2747 }), r
2748 }
2749 return l(i.dataTypes[0]) || !s["*"] && l("*")
2750 }
2751
2752 function zt(e, t) {
2753 var n, r, i = k.ajaxSettings.flatOptions || {};
2754 for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
2755 return r && k.extend(!0, e, r), e
2756 }
2757 Ft.href = Et.href, k.extend({
2758 active: 0,
2759 lastModified: {},
2760 etag: {},
2761 ajaxSettings: {
2762 url: Et.href,
2763 type: "GET",
2764 isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),
2765 global: !0,
2766 processData: !0,
2767 async: !0,
2768 contentType: "application/x-www-form-urlencoded; charset=UTF-8",
2769 accepts: {
2770 "*": $t,
2771 text: "text/plain",
2772 html: "text/html",
2773 xml: "application/xml, text/xml",
2774 json: "application/json, text/javascript"
2775 },
2776 contents: {
2777 xml: /\bxml\b/,
2778 html: /\bhtml/,
2779 json: /\bjson\b/
2780 },
2781 responseFields: {
2782 xml: "responseXML",
2783 text: "responseText",
2784 json: "responseJSON"
2785 },
2786 converters: {
2787 "* text": String,
2788 "text html": !0,
2789 "text json": JSON.parse,
2790 "text xml": k.parseXML
2791 },
2792 flatOptions: {
2793 url: !0,
2794 context: !0
2795 }
2796 },
2797 ajaxSetup: function (e, t) {
2798 return t ? zt(zt(e, k.ajaxSettings), t) : zt(k.ajaxSettings, e)
2799 },
2800 ajaxPrefilter: Bt(It),
2801 ajaxTransport: Bt(Wt),
2802 ajax: function (e, t) {
2803 "object" == typeof e && (t = e, e = void 0), t = t || {};
2804 var c, f, p, n, d, r, h, g, i, o, v = k.ajaxSetup({}, t),
2805 y = v.context || v,
2806 m = v.context && (y.nodeType || y.jquery) ? k(y) : k.event,
2807 x = k.Deferred(),
2808 b = k.Callbacks("once memory"),
2809 w = v.statusCode || {},
2810 a = {},
2811 s = {},
2812 u = "canceled",
2813 T = {
2814 readyState: 0,
2815 getResponseHeader: function (e) {
2816 var t;
2817 if (h) {
2818 if (!n) {
2819 n = {};
2820 while (t = Pt.exec(p)) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2])
2821 }
2822 t = n[e.toLowerCase() + " "]
2823 }
2824 return null == t ? null : t.join(", ")
2825 },
2826 getAllResponseHeaders: function () {
2827 return h ? p : null
2828 },
2829 setRequestHeader: function (e, t) {
2830 return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this
2831 },
2832 overrideMimeType: function (e) {
2833 return null == h && (v.mimeType = e), this
2834 },
2835 statusCode: function (e) {
2836 var t;
2837 if (e)
2838 if (h) T.always(e[T.status]);
2839 else
2840 for (t in e) w[t] = [w[t], e[t]];
2841 return this
2842 },
2843 abort: function (e) {
2844 var t = e || u;
2845 return c && c.abort(t), l(0, t), this
2846 }
2847 };
2848 if (x.promise(T), v.url = ((e || v.url || Et.href) + "").replace(Mt, Et.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(R) || [""], null == v.crossDomain) {
2849 r = E.createElement("a");
2850 try {
2851 r.href = v.url, r.href = r.href, v.crossDomain = Ft.protocol + "//" + Ft.host != r.protocol + "//" + r.host
2852 } catch (e) {
2853 v.crossDomain = !0
2854 }
2855 }
2856 if (v.data && v.processData && "string" != typeof v.data && (v.data = k.param(v.data, v.traditional)), _t(It, v, t, T), h) return T;
2857 for (i in (g = k.event && v.global) && 0 == k.active++ && k.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Rt.test(v.type), f = v.url.replace(Ht, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(Lt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (St.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Ot, "$1"), o = (St.test(f) ? "&" : "?") + "_=" + kt++ + o), v.url = f + o), v.ifModified && (k.lastModified[f] && T.setRequestHeader("If-Modified-Since", k.lastModified[f]), k.etag[f] && T.setRequestHeader("If-None-Match", k.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + $t + "; q=0.01" : "") : v.accepts["*"]), v.headers) T.setRequestHeader(i, v.headers[i]);
2858 if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort();
2859 if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = _t(Wt, v, t, T)) {
2860 if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h) return T;
2861 v.async && 0 < v.timeout && (d = C.setTimeout(function () {
2862 T.abort("timeout")
2863 }, v.timeout));
2864 try {
2865 h = !1, c.send(a, l)
2866 } catch (e) {
2867 if (h) throw e;
2868 l(-1, e)
2869 }
2870 } else l(-1, "No Transport");
2871
2872 function l(e, t, n, r) {
2873 var i, o, a, s, u, l = t;
2874 h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) {
2875 var r, i, o, a, s = e.contents,
2876 u = e.dataTypes;
2877 while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
2878 if (r)
2879 for (i in s)
2880 if (s[i] && s[i].test(r)) {
2881 u.unshift(i);
2882 break
2883 }
2884 if (u[0] in n) o = u[0];
2885 else {
2886 for (i in n) {
2887 if (!u[0] || e.converters[i + " " + u[0]]) {
2888 o = i;
2889 break
2890 }
2891 a || (a = i)
2892 }
2893 o = o || a
2894 }
2895 if (o) return o !== u[0] && u.unshift(o), n[o]
2896 }(v, T, n)), s = function (e, t, n, r) {
2897 var i, o, a, s, u, l = {},
2898 c = e.dataTypes.slice();
2899 if (c[1])
2900 for (a in e.converters) l[a.toLowerCase()] = e.converters[a];
2901 o = c.shift();
2902 while (o)
2903 if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
2904 if ("*" === o) o = u;
2905 else if ("*" !== u && u !== o) {
2906 if (!(a = l[u + " " + o] || l["* " + o]))
2907 for (i in l)
2908 if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
2909 !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));
2910 break
2911 }
2912 if (!0 !== a)
2913 if (a && e["throws"]) t = a(t);
2914 else try {
2915 t = a(t)
2916 } catch (e) {
2917 return {
2918 state: "parsererror",
2919 error: a ? e : "No conversion from " + u + " to " + o
2920 }
2921 }
2922 }
2923 return {
2924 state: "success",
2925 data: t
2926 }
2927 }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (k.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (k.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --k.active || k.event.trigger("ajaxStop")))
2928 }
2929 return T
2930 },
2931 getJSON: function (e, t, n) {
2932 return k.get(e, t, n, "json")
2933 },
2934 getScript: function (e, t) {
2935 return k.get(e, void 0, t, "script")
2936 }
2937 }), k.each(["get", "post"], function (e, i) {
2938 k[i] = function (e, t, n, r) {
2939 return m(t) && (r = r || n, n = t, t = void 0), k.ajax(k.extend({
2940 url: e,
2941 type: i,
2942 dataType: r,
2943 data: t,
2944 success: n
2945 }, k.isPlainObject(e) && e))
2946 }
2947 }), k._evalUrl = function (e, t) {
2948 return k.ajax({
2949 url: e,
2950 type: "GET",
2951 dataType: "script",
2952 cache: !0,
2953 async: !1,
2954 global: !1,
2955 converters: {
2956 "text script": function () {}
2957 },
2958 dataFilter: function (e) {
2959 k.globalEval(e, t)
2960 }
2961 })
2962 }, k.fn.extend({
2963 wrapAll: function (e) {
2964 var t;
2965 return this[0] && (m(e) && (e = e.call(this[0])), t = k(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
2966 var e = this;
2967 while (e.firstElementChild) e = e.firstElementChild;
2968 return e
2969 }).append(this)), this
2970 },
2971 wrapInner: function (n) {
2972 return m(n) ? this.each(function (e) {
2973 k(this).wrapInner(n.call(this, e))
2974 }) : this.each(function () {
2975 var e = k(this),
2976 t = e.contents();
2977 t.length ? t.wrapAll(n) : e.append(n)
2978 })
2979 },
2980 wrap: function (t) {
2981 var n = m(t);
2982 return this.each(function (e) {
2983 k(this).wrapAll(n ? t.call(this, e) : t)
2984 })
2985 },
2986 unwrap: function (e) {
2987 return this.parent(e).not("body").each(function () {
2988 k(this).replaceWith(this.childNodes)
2989 }), this
2990 }
2991 }), k.expr.pseudos.hidden = function (e) {
2992 return !k.expr.pseudos.visible(e)
2993 }, k.expr.pseudos.visible = function (e) {
2994 return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length)
2995 }, k.ajaxSettings.xhr = function () {
2996 try {
2997 return new C.XMLHttpRequest
2998 } catch (e) {}
2999 };
3000 var Ut = {
3001 0: 200,
3002 1223: 204
3003 },
3004 Xt = k.ajaxSettings.xhr();
3005 y.cors = !!Xt && "withCredentials" in Xt, y.ajax = Xt = !!Xt, k.ajaxTransport(function (i) {
3006 var o, a;
3007 if (y.cors || Xt && !i.crossDomain) return {
3008 send: function (e, t) {
3009 var n, r = i.xhr();
3010 if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields)
3011 for (n in i.xhrFields) r[n] = i.xhrFields[n];
3012 for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) r.setRequestHeader(n, e[n]);
3013 o = function (e) {
3014 return function () {
3015 o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(Ut[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? {
3016 binary: r.response
3017 } : {
3018 text: r.responseText
3019 }, r.getAllResponseHeaders()))
3020 }
3021 }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () {
3022 4 === r.readyState && C.setTimeout(function () {
3023 o && a()
3024 })
3025 }, o = o("abort");
3026 try {
3027 r.send(i.hasContent && i.data || null)
3028 } catch (e) {
3029 if (o) throw e
3030 }
3031 },
3032 abort: function () {
3033 o && o()
3034 }
3035 }
3036 }), k.ajaxPrefilter(function (e) {
3037 e.crossDomain && (e.contents.script = !1)
3038 }), k.ajaxSetup({
3039 accepts: {
3040 script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3041 },
3042 contents: {
3043 script: /\b(?:java|ecma)script\b/
3044 },
3045 converters: {
3046 "text script": function (e) {
3047 return k.globalEval(e), e
3048 }
3049 }
3050 }), k.ajaxPrefilter("script", function (e) {
3051 void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
3052 }), k.ajaxTransport("script", function (n) {
3053 var r, i;
3054 if (n.crossDomain || n.scriptAttrs) return {
3055 send: function (e, t) {
3056 r = k("<script>").attr(n.scriptAttrs || {}).prop({
3057 charset: n.scriptCharset,
3058 src: n.url
3059 }).on("load error", i = function (e) {
3060 r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type)
3061 }), E.head.appendChild(r[0])
3062 },
3063 abort: function () {
3064 i && i()
3065 }
3066 }
3067 });
3068 var Vt, Gt = [],
3069 Yt = /(=)\?(?=&|$)|\?\?/;
3070 k.ajaxSetup({
3071 jsonp: "callback",
3072 jsonpCallback: function () {
3073 var e = Gt.pop() || k.expando + "_" + kt++;
3074 return this[e] = !0, e
3075 }
3076 }), k.ajaxPrefilter("json jsonp", function (e, t, n) {
3077 var r, i, o, a = !1 !== e.jsonp && (Yt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Yt.test(e.data) && "data");
3078 if (a || "jsonp" === e.dataTypes[0]) return r = e.jsonpCallback = m(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Yt, "$1" + r) : !1 !== e.jsonp && (e.url += (St.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () {
3079 return o || k.error(r + " was not called"), o[0]
3080 }, e.dataTypes[0] = "json", i = C[r], C[r] = function () {
3081 o = arguments
3082 }, n.always(function () {
3083 void 0 === i ? k(C).removeProp(r) : C[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Gt.push(r)), o && m(i) && i(o[0]), o = i = void 0
3084 }), "script"
3085 }), y.createHTMLDocument = ((Vt = E.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Vt.childNodes.length), k.parseHTML = function (e, t, n) {
3086 return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (y.createHTMLDocument ? ((r = (t = E.implementation.createHTMLDocument("")).createElement("base")).href = E.location.href, t.head.appendChild(r)) : t = E), o = !n && [], (i = D.exec(e)) ? [t.createElement(i[1])] : (i = we([e], t, o), o && o.length && k(o).remove(), k.merge([], i.childNodes)));
3087 var r, i, o
3088 }, k.fn.load = function (e, t, n) {
3089 var r, i, o, a = this,
3090 s = e.indexOf(" ");
3091 return -1 < s && (r = mt(e.slice(s)), e = e.slice(0, s)), m(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && k.ajax({
3092 url: e,
3093 type: i || "GET",
3094 dataType: "html",
3095 data: t
3096 }).done(function (e) {
3097 o = arguments, a.html(r ? k("<div>").append(k.parseHTML(e)).find(r) : e)
3098 }).always(n && function (e, t) {
3099 a.each(function () {
3100 n.apply(this, o || [e.responseText, t, e])
3101 })
3102 }), this
3103 }, k.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
3104 k.fn[t] = function (e) {
3105 return this.on(t, e)
3106 }
3107 }), k.expr.pseudos.animated = function (t) {
3108 return k.grep(k.timers, function (e) {
3109 return t === e.elem
3110 }).length
3111 }, k.offset = {
3112 setOffset: function (e, t, n) {
3113 var r, i, o, a, s, u, l = k.css(e, "position"),
3114 c = k(e),
3115 f = {};
3116 "static" === l && (e.style.position = "relative"), s = c.offset(), o = k.css(e, "top"), u = k.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), m(t) && (t = t.call(e, n, k.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)
3117 }
3118 }, k.fn.extend({
3119 offset: function (t) {
3120 if (arguments.length) return void 0 === t ? this : this.each(function (e) {
3121 k.offset.setOffset(this, t, e)
3122 });
3123 var e, n, r = this[0];
3124 return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, {
3125 top: e.top + n.pageYOffset,
3126 left: e.left + n.pageXOffset
3127 }) : {
3128 top: 0,
3129 left: 0
3130 } : void 0
3131 },
3132 position: function () {
3133 if (this[0]) {
3134 var e, t, n, r = this[0],
3135 i = {
3136 top: 0,
3137 left: 0
3138 };
3139 if ("fixed" === k.css(r, "position")) t = r.getBoundingClientRect();
3140 else {
3141 t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement;
3142 while (e && (e === n.body || e === n.documentElement) && "static" === k.css(e, "position")) e = e.parentNode;
3143 e && e !== r && 1 === e.nodeType && ((i = k(e).offset()).top += k.css(e, "borderTopWidth", !0), i.left += k.css(e, "borderLeftWidth", !0))
3144 }
3145 return {
3146 top: t.top - i.top - k.css(r, "marginTop", !0),
3147 left: t.left - i.left - k.css(r, "marginLeft", !0)
3148 }
3149 }
3150 },
3151 offsetParent: function () {
3152 return this.map(function () {
3153 var e = this.offsetParent;
3154 while (e && "static" === k.css(e, "position")) e = e.offsetParent;
3155 return e || ie
3156 })
3157 }
3158 }), k.each({
3159 scrollLeft: "pageXOffset",
3160 scrollTop: "pageYOffset"
3161 }, function (t, i) {
3162 var o = "pageYOffset" === i;
3163 k.fn[t] = function (e) {
3164 return _(this, function (e, t, n) {
3165 var r;
3166 if (x(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n) return r ? r[i] : e[t];
3167 r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n
3168 }, t, e, arguments.length)
3169 }
3170 }), k.each(["top", "left"], function (e, n) {
3171 k.cssHooks[n] = ze(y.pixelPosition, function (e, t) {
3172 if (t) return t = _e(e, n), $e.test(t) ? k(e).position()[n] + "px" : t
3173 })
3174 }), k.each({
3175 Height: "height",
3176 Width: "width"
3177 }, function (a, s) {
3178 k.each({
3179 padding: "inner" + a,
3180 content: s,
3181 "": "outer" + a
3182 }, function (r, o) {
3183 k.fn[o] = function (e, t) {
3184 var n = arguments.length && (r || "boolean" != typeof e),
3185 i = r || (!0 === e || !0 === t ? "margin" : "border");
3186 return _(this, function (e, t, n) {
3187 var r;
3188 return x(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? k.css(e, t, i) : k.style(e, t, n, i)
3189 }, s, n ? e : void 0, n)
3190 }
3191 })
3192 }), k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) {
3193 k.fn[n] = function (e, t) {
3194 return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n)
3195 }
3196 }), k.fn.extend({
3197 hover: function (e, t) {
3198 return this.mouseenter(e).mouseleave(t || e)
3199 }
3200 }), k.fn.extend({
3201 bind: function (e, t, n) {
3202 return this.on(e, null, t, n)
3203 },
3204 unbind: function (e, t) {
3205 return this.off(e, null, t)
3206 },
3207 delegate: function (e, t, n, r) {
3208 return this.on(t, e, n, r)
3209 },
3210 undelegate: function (e, t, n) {
3211 return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
3212 }
3213 }), k.proxy = function (e, t) {
3214 var n, r, i;
3215 if ("string" == typeof t && (n = e[t], t = e, e = n), m(e)) return r = s.call(arguments, 2), (i = function () {
3216 return e.apply(t || this, r.concat(s.call(arguments)))
3217 }).guid = e.guid = e.guid || k.guid++, i
3218 }, k.holdReady = function (e) {
3219 e ? k.readyWait++ : k.ready(!0)
3220 }, k.isArray = Array.isArray, k.parseJSON = JSON.parse, k.nodeName = A, k.isFunction = m, k.isWindow = x, k.camelCase = V, k.type = w, k.now = Date.now, k.isNumeric = function (e) {
3221 var t = k.type(e);
3222 return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e))
3223 }, "function" == typeof define && define.amd && define("jquery", [], function () {
3224 return k
3225 });
3226 var Qt = C.jQuery,
3227 Jt = C.$;
3228 return k.noConflict = function (e) {
3229 return C.$ === k && (C.$ = Jt), e && C.jQuery === k && (C.jQuery = Qt), k
3230 }, e || (C.jQuery = C.$ = k), k
3231});
3232
3233/* popper JS */
3234/*
3235 Copyright (C) Federico Zivolo 2019
3236 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
3237 */
3238(function (e, t) {
3239 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : e.Popper = t()
3240})(this, function () {
3241 'use strict';
3242
3243 function e(e) {
3244 return e && '[object Function]' === {}.toString.call(e)
3245 }
3246
3247 function t(e, t) {
3248 if (1 !== e.nodeType) return [];
3249 var o = e.ownerDocument.defaultView,
3250 n = o.getComputedStyle(e, null);
3251 return t ? n[t] : n
3252 }
3253
3254 function o(e) {
3255 return 'HTML' === e.nodeName ? e : e.parentNode || e.host
3256 }
3257
3258 function n(e) {
3259 if (!e) return document.body;
3260 switch (e.nodeName) {
3261 case 'HTML':
3262 case 'BODY':
3263 return e.ownerDocument.body;
3264 case '#document':
3265 return e.body;
3266 }
3267 var i = t(e),
3268 r = i.overflow,
3269 p = i.overflowX,
3270 s = i.overflowY;
3271 return /(auto|scroll|overlay)/.test(r + s + p) ? e : n(o(e))
3272 }
3273
3274 function r(e) {
3275 return 11 === e ? pe : 10 === e ? se : pe || se
3276 }
3277
3278 function p(e) {
3279 if (!e) return document.documentElement;
3280 for (var o = r(10) ? document.body : null, n = e.offsetParent || null; n === o && e.nextElementSibling;) n = (e = e.nextElementSibling).offsetParent;
3281 var i = n && n.nodeName;
3282 return i && 'BODY' !== i && 'HTML' !== i ? -1 !== ['TH', 'TD', 'TABLE'].indexOf(n.nodeName) && 'static' === t(n, 'position') ? p(n) : n : e ? e.ownerDocument.documentElement : document.documentElement
3283 }
3284
3285 function s(e) {
3286 var t = e.nodeName;
3287 return 'BODY' !== t && ('HTML' === t || p(e.firstElementChild) === e)
3288 }
3289
3290 function d(e) {
3291 return null === e.parentNode ? e : d(e.parentNode)
3292 }
3293
3294 function a(e, t) {
3295 if (!e || !e.nodeType || !t || !t.nodeType) return document.documentElement;
3296 var o = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
3297 n = o ? e : t,
3298 i = o ? t : e,
3299 r = document.createRange();
3300 r.setStart(n, 0), r.setEnd(i, 0);
3301 var l = r.commonAncestorContainer;
3302 if (e !== l && t !== l || n.contains(i)) return s(l) ? l : p(l);
3303 var f = d(e);
3304 return f.host ? a(f.host, t) : a(e, d(t).host)
3305 }
3306
3307 function l(e) {
3308 var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'top',
3309 o = 'top' === t ? 'scrollTop' : 'scrollLeft',
3310 n = e.nodeName;
3311 if ('BODY' === n || 'HTML' === n) {
3312 var i = e.ownerDocument.documentElement,
3313 r = e.ownerDocument.scrollingElement || i;
3314 return r[o]
3315 }
3316 return e[o]
3317 }
3318
3319 function f(e, t) {
3320 var o = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
3321 n = l(t, 'top'),
3322 i = l(t, 'left'),
3323 r = o ? -1 : 1;
3324 return e.top += n * r, e.bottom += n * r, e.left += i * r, e.right += i * r, e
3325 }
3326
3327 function m(e, t) {
3328 var o = 'x' === t ? 'Left' : 'Top',
3329 n = 'Left' == o ? 'Right' : 'Bottom';
3330 return parseFloat(e['border' + o + 'Width'], 10) + parseFloat(e['border' + n + 'Width'], 10)
3331 }
3332
3333 function h(e, t, o, n) {
3334 return ee(t['offset' + e], t['scroll' + e], o['client' + e], o['offset' + e], o['scroll' + e], r(10) ? parseInt(o['offset' + e]) + parseInt(n['margin' + ('Height' === e ? 'Top' : 'Left')]) + parseInt(n['margin' + ('Height' === e ? 'Bottom' : 'Right')]) : 0)
3335 }
3336
3337 function c(e) {
3338 var t = e.body,
3339 o = e.documentElement,
3340 n = r(10) && getComputedStyle(o);
3341 return {
3342 height: h('Height', t, o, n),
3343 width: h('Width', t, o, n)
3344 }
3345 }
3346
3347 function g(e) {
3348 return fe({}, e, {
3349 right: e.left + e.width,
3350 bottom: e.top + e.height
3351 })
3352 }
3353
3354 function u(e) {
3355 var o = {};
3356 try {
3357 if (r(10)) {
3358 o = e.getBoundingClientRect();
3359 var n = l(e, 'top'),
3360 i = l(e, 'left');
3361 o.top += n, o.left += i, o.bottom += n, o.right += i
3362 } else o = e.getBoundingClientRect()
3363 } catch (t) {}
3364 var p = {
3365 left: o.left,
3366 top: o.top,
3367 width: o.right - o.left,
3368 height: o.bottom - o.top
3369 },
3370 s = 'HTML' === e.nodeName ? c(e.ownerDocument) : {},
3371 d = s.width || e.clientWidth || p.right - p.left,
3372 a = s.height || e.clientHeight || p.bottom - p.top,
3373 f = e.offsetWidth - d,
3374 h = e.offsetHeight - a;
3375 if (f || h) {
3376 var u = t(e);
3377 f -= m(u, 'x'), h -= m(u, 'y'), p.width -= f, p.height -= h
3378 }
3379 return g(p)
3380 }
3381
3382 function b(e, o) {
3383 var i = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
3384 p = r(10),
3385 s = 'HTML' === o.nodeName,
3386 d = u(e),
3387 a = u(o),
3388 l = n(e),
3389 m = t(o),
3390 h = parseFloat(m.borderTopWidth, 10),
3391 c = parseFloat(m.borderLeftWidth, 10);
3392 i && s && (a.top = ee(a.top, 0), a.left = ee(a.left, 0));
3393 var b = g({
3394 top: d.top - a.top - h,
3395 left: d.left - a.left - c,
3396 width: d.width,
3397 height: d.height
3398 });
3399 if (b.marginTop = 0, b.marginLeft = 0, !p && s) {
3400 var w = parseFloat(m.marginTop, 10),
3401 y = parseFloat(m.marginLeft, 10);
3402 b.top -= h - w, b.bottom -= h - w, b.left -= c - y, b.right -= c - y, b.marginTop = w, b.marginLeft = y
3403 }
3404 return (p && !i ? o.contains(l) : o === l && 'BODY' !== l.nodeName) && (b = f(b, o)), b
3405 }
3406
3407 function w(e) {
3408 var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
3409 o = e.ownerDocument.documentElement,
3410 n = b(e, o),
3411 i = ee(o.clientWidth, window.innerWidth || 0),
3412 r = ee(o.clientHeight, window.innerHeight || 0),
3413 p = t ? 0 : l(o),
3414 s = t ? 0 : l(o, 'left'),
3415 d = {
3416 top: p - n.top + n.marginTop,
3417 left: s - n.left + n.marginLeft,
3418 width: i,
3419 height: r
3420 };
3421 return g(d)
3422 }
3423
3424 function y(e) {
3425 var n = e.nodeName;
3426 if ('BODY' === n || 'HTML' === n) return !1;
3427 if ('fixed' === t(e, 'position')) return !0;
3428 var i = o(e);
3429 return !!i && y(i)
3430 }
3431
3432 function E(e) {
3433 if (!e || !e.parentElement || r()) return document.documentElement;
3434 for (var o = e.parentElement; o && 'none' === t(o, 'transform');) o = o.parentElement;
3435 return o || document.documentElement
3436 }
3437
3438 function v(e, t, i, r) {
3439 var p = 4 < arguments.length && void 0 !== arguments[4] && arguments[4],
3440 s = {
3441 top: 0,
3442 left: 0
3443 },
3444 d = p ? E(e) : a(e, t);
3445 if ('viewport' === r) s = w(d, p);
3446 else {
3447 var l;
3448 'scrollParent' === r ? (l = n(o(t)), 'BODY' === l.nodeName && (l = e.ownerDocument.documentElement)) : 'window' === r ? l = e.ownerDocument.documentElement : l = r;
3449 var f = b(l, d, p);
3450 if ('HTML' === l.nodeName && !y(d)) {
3451 var m = c(e.ownerDocument),
3452 h = m.height,
3453 g = m.width;
3454 s.top += f.top - f.marginTop, s.bottom = h + f.top, s.left += f.left - f.marginLeft, s.right = g + f.left
3455 } else s = f
3456 }
3457 i = i || 0;
3458 var u = 'number' == typeof i;
3459 return s.left += u ? i : i.left || 0, s.top += u ? i : i.top || 0, s.right -= u ? i : i.right || 0, s.bottom -= u ? i : i.bottom || 0, s
3460 }
3461
3462 function x(e) {
3463 var t = e.width,
3464 o = e.height;
3465 return t * o
3466 }
3467
3468 function O(e, t, o, n, i) {
3469 var r = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0;
3470 if (-1 === e.indexOf('auto')) return e;
3471 var p = v(o, n, r, i),
3472 s = {
3473 top: {
3474 width: p.width,
3475 height: t.top - p.top
3476 },
3477 right: {
3478 width: p.right - t.right,
3479 height: p.height
3480 },
3481 bottom: {
3482 width: p.width,
3483 height: p.bottom - t.bottom
3484 },
3485 left: {
3486 width: t.left - p.left,
3487 height: p.height
3488 }
3489 },
3490 d = Object.keys(s).map(function (e) {
3491 return fe({
3492 key: e
3493 }, s[e], {
3494 area: x(s[e])
3495 })
3496 }).sort(function (e, t) {
3497 return t.area - e.area
3498 }),
3499 a = d.filter(function (e) {
3500 var t = e.width,
3501 n = e.height;
3502 return t >= o.clientWidth && n >= o.clientHeight
3503 }),
3504 l = 0 < a.length ? a[0].key : d[0].key,
3505 f = e.split('-')[1];
3506 return l + (f ? '-' + f : '')
3507 }
3508
3509 function L(e, t, o) {
3510 var n = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null,
3511 i = n ? E(t) : a(t, o);
3512 return b(o, i, n)
3513 }
3514
3515 function S(e) {
3516 var t = e.ownerDocument.defaultView,
3517 o = t.getComputedStyle(e),
3518 n = parseFloat(o.marginTop || 0) + parseFloat(o.marginBottom || 0),
3519 i = parseFloat(o.marginLeft || 0) + parseFloat(o.marginRight || 0),
3520 r = {
3521 width: e.offsetWidth + i,
3522 height: e.offsetHeight + n
3523 };
3524 return r
3525 }
3526
3527 function T(e) {
3528 var t = {
3529 left: 'right',
3530 right: 'left',
3531 bottom: 'top',
3532 top: 'bottom'
3533 };
3534 return e.replace(/left|right|bottom|top/g, function (e) {
3535 return t[e]
3536 })
3537 }
3538
3539 function D(e, t, o) {
3540 o = o.split('-')[0];
3541 var n = S(e),
3542 i = {
3543 width: n.width,
3544 height: n.height
3545 },
3546 r = -1 !== ['right', 'left'].indexOf(o),
3547 p = r ? 'top' : 'left',
3548 s = r ? 'left' : 'top',
3549 d = r ? 'height' : 'width',
3550 a = r ? 'width' : 'height';
3551 return i[p] = t[p] + t[d] / 2 - n[d] / 2, i[s] = o === s ? t[s] - n[a] : t[T(s)], i
3552 }
3553
3554 function C(e, t) {
3555 return Array.prototype.find ? e.find(t) : e.filter(t)[0]
3556 }
3557
3558 function N(e, t, o) {
3559 if (Array.prototype.findIndex) return e.findIndex(function (e) {
3560 return e[t] === o
3561 });
3562 var n = C(e, function (e) {
3563 return e[t] === o
3564 });
3565 return e.indexOf(n)
3566 }
3567
3568 function P(t, o, n) {
3569 var i = void 0 === n ? t : t.slice(0, N(t, 'name', n));
3570 return i.forEach(function (t) {
3571 t['function'] && console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
3572 var n = t['function'] || t.fn;
3573 t.enabled && e(n) && (o.offsets.popper = g(o.offsets.popper), o.offsets.reference = g(o.offsets.reference), o = n(o, t))
3574 }), o
3575 }
3576
3577 function k() {
3578 if (!this.state.isDestroyed) {
3579 var e = {
3580 instance: this,
3581 styles: {},
3582 arrowStyles: {},
3583 attributes: {},
3584 flipped: !1,
3585 offsets: {}
3586 };
3587 e.offsets.reference = L(this.state, this.popper, this.reference, this.options.positionFixed), e.placement = O(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.positionFixed = this.options.positionFixed, e.offsets.popper = D(this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute', e = P(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e))
3588 }
3589 }
3590
3591 function W(e, t) {
3592 return e.some(function (e) {
3593 var o = e.name,
3594 n = e.enabled;
3595 return n && o === t
3596 })
3597 }
3598
3599 function H(e) {
3600 for (var t = [!1, 'ms', 'Webkit', 'Moz', 'O'], o = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < t.length; n++) {
3601 var i = t[n],
3602 r = i ? '' + i + o : e;
3603 if ('undefined' != typeof document.body.style[r]) return r
3604 }
3605 return null
3606 }
3607
3608 function B() {
3609 return this.state.isDestroyed = !0, W(this.modifiers, 'applyStyle') && (this.popper.removeAttribute('x-placement'), this.popper.style.position = '', this.popper.style.top = '', this.popper.style.left = '', this.popper.style.right = '', this.popper.style.bottom = '', this.popper.style.willChange = '', this.popper.style[H('transform')] = ''), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this
3610 }
3611
3612 function A(e) {
3613 var t = e.ownerDocument;
3614 return t ? t.defaultView : window
3615 }
3616
3617 function M(e, t, o, i) {
3618 var r = 'BODY' === e.nodeName,
3619 p = r ? e.ownerDocument.defaultView : e;
3620 p.addEventListener(t, o, {
3621 passive: !0
3622 }), r || M(n(p.parentNode), t, o, i), i.push(p)
3623 }
3624
3625 function F(e, t, o, i) {
3626 o.updateBound = i, A(e).addEventListener('resize', o.updateBound, {
3627 passive: !0
3628 });
3629 var r = n(e);
3630 return M(r, 'scroll', o.updateBound, o.scrollParents), o.scrollElement = r, o.eventsEnabled = !0, o
3631 }
3632
3633 function I() {
3634 this.state.eventsEnabled || (this.state = F(this.reference, this.options, this.state, this.scheduleUpdate))
3635 }
3636
3637 function R(e, t) {
3638 return A(e).removeEventListener('resize', t.updateBound), t.scrollParents.forEach(function (e) {
3639 e.removeEventListener('scroll', t.updateBound)
3640 }), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t
3641 }
3642
3643 function U() {
3644 this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = R(this.reference, this.state))
3645 }
3646
3647 function Y(e) {
3648 return '' !== e && !isNaN(parseFloat(e)) && isFinite(e)
3649 }
3650
3651 function j(e, t) {
3652 Object.keys(t).forEach(function (o) {
3653 var n = ''; - 1 !== ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(o) && Y(t[o]) && (n = 'px'), e.style[o] = t[o] + n
3654 })
3655 }
3656
3657 function V(e, t) {
3658 Object.keys(t).forEach(function (o) {
3659 var n = t[o];
3660 !1 === n ? e.removeAttribute(o) : e.setAttribute(o, t[o])
3661 })
3662 }
3663
3664 function q(e, t) {
3665 var o = e.offsets,
3666 n = o.popper,
3667 i = o.reference,
3668 r = $,
3669 p = function (e) {
3670 return e
3671 },
3672 s = r(i.width),
3673 d = r(n.width),
3674 a = -1 !== ['left', 'right'].indexOf(e.placement),
3675 l = -1 !== e.placement.indexOf('-'),
3676 f = t ? a || l || s % 2 == d % 2 ? r : Z : p,
3677 m = t ? r : p;
3678 return {
3679 left: f(1 == s % 2 && 1 == d % 2 && !l && t ? n.left - 1 : n.left),
3680 top: m(n.top),
3681 bottom: m(n.bottom),
3682 right: f(n.right)
3683 }
3684 }
3685
3686 function K(e, t, o) {
3687 var n = C(e, function (e) {
3688 var o = e.name;
3689 return o === t
3690 }),
3691 i = !!n && e.some(function (e) {
3692 return e.name === o && e.enabled && e.order < n.order
3693 });
3694 if (!i) {
3695 var r = '`' + t + '`';
3696 console.warn('`' + o + '`' + ' modifier is required by ' + r + ' modifier in order to work, be sure to include it before ' + r + '!')
3697 }
3698 return i
3699 }
3700
3701 function z(e) {
3702 return 'end' === e ? 'start' : 'start' === e ? 'end' : e
3703 }
3704
3705 function G(e) {
3706 var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
3707 o = ce.indexOf(e),
3708 n = ce.slice(o + 1).concat(ce.slice(0, o));
3709 return t ? n.reverse() : n
3710 }
3711
3712 function _(e, t, o, n) {
3713 var i = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
3714 r = +i[1],
3715 p = i[2];
3716 if (!r) return e;
3717 if (0 === p.indexOf('%')) {
3718 var s;
3719 switch (p) {
3720 case '%p':
3721 s = o;
3722 break;
3723 case '%':
3724 case '%r':
3725 default:
3726 s = n;
3727 }
3728 var d = g(s);
3729 return d[t] / 100 * r
3730 }
3731 if ('vh' === p || 'vw' === p) {
3732 var a;
3733 return a = 'vh' === p ? ee(document.documentElement.clientHeight, window.innerHeight || 0) : ee(document.documentElement.clientWidth, window.innerWidth || 0), a / 100 * r
3734 }
3735 return r
3736 }
3737
3738 function X(e, t, o, n) {
3739 var i = [0, 0],
3740 r = -1 !== ['right', 'left'].indexOf(n),
3741 p = e.split(/(\+|\-)/).map(function (e) {
3742 return e.trim()
3743 }),
3744 s = p.indexOf(C(p, function (e) {
3745 return -1 !== e.search(/,|\s/)
3746 }));
3747 p[s] && -1 === p[s].indexOf(',') && console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
3748 var d = /\s*,\s*|\s+/,
3749 a = -1 === s ? [p] : [p.slice(0, s).concat([p[s].split(d)[0]]), [p[s].split(d)[1]].concat(p.slice(s + 1))];
3750 return a = a.map(function (e, n) {
3751 var i = (1 === n ? !r : r) ? 'height' : 'width',
3752 p = !1;
3753 return e.reduce(function (e, t) {
3754 return '' === e[e.length - 1] && -1 !== ['+', '-'].indexOf(t) ? (e[e.length - 1] = t, p = !0, e) : p ? (e[e.length - 1] += t, p = !1, e) : e.concat(t)
3755 }, []).map(function (e) {
3756 return _(e, i, t, o)
3757 })
3758 }), a.forEach(function (e, t) {
3759 e.forEach(function (o, n) {
3760 Y(o) && (i[t] += o * ('-' === e[n - 1] ? -1 : 1))
3761 })
3762 }), i
3763 }
3764
3765 function J(e, t) {
3766 var o, n = t.offset,
3767 i = e.placement,
3768 r = e.offsets,
3769 p = r.popper,
3770 s = r.reference,
3771 d = i.split('-')[0];
3772 return o = Y(+n) ? [+n, 0] : X(n, p, s, d), 'left' === d ? (p.top += o[0], p.left -= o[1]) : 'right' === d ? (p.top += o[0], p.left += o[1]) : 'top' === d ? (p.left += o[0], p.top -= o[1]) : 'bottom' === d && (p.left += o[0], p.top += o[1]), e.popper = p, e
3773 }
3774 for (var Q = Math.min, Z = Math.floor, $ = Math.round, ee = Math.max, te = 'undefined' != typeof window && 'undefined' != typeof document, oe = ['Edge', 'Trident', 'Firefox'], ne = 0, ie = 0; ie < oe.length; ie += 1)
3775 if (te && 0 <= navigator.userAgent.indexOf(oe[ie])) {
3776 ne = 1;
3777 break
3778 }
3779 var i = te && window.Promise,
3780 re = i ? function (e) {
3781 var t = !1;
3782 return function () {
3783 t || (t = !0, window.Promise.resolve().then(function () {
3784 t = !1, e()
3785 }))
3786 }
3787 } : function (e) {
3788 var t = !1;
3789 return function () {
3790 t || (t = !0, setTimeout(function () {
3791 t = !1, e()
3792 }, ne))
3793 }
3794 },
3795 pe = te && !!(window.MSInputMethodContext && document.documentMode),
3796 se = te && /MSIE 10/.test(navigator.userAgent),
3797 de = function (e, t) {
3798 if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
3799 },
3800 ae = function () {
3801 function e(e, t) {
3802 for (var o, n = 0; n < t.length; n++) o = t[n], o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o)
3803 }
3804 return function (t, o, n) {
3805 return o && e(t.prototype, o), n && e(t, n), t
3806 }
3807 }(),
3808 le = function (e, t, o) {
3809 return t in e ? Object.defineProperty(e, t, {
3810 value: o,
3811 enumerable: !0,
3812 configurable: !0,
3813 writable: !0
3814 }) : e[t] = o, e
3815 },
3816 fe = Object.assign || function (e) {
3817 for (var t, o = 1; o < arguments.length; o++)
3818 for (var n in t = arguments[o], t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
3819 return e
3820 },
3821 me = te && /Firefox/i.test(navigator.userAgent),
3822 he = ['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'],
3823 ce = he.slice(3),
3824 ge = {
3825 FLIP: 'flip',
3826 CLOCKWISE: 'clockwise',
3827 COUNTERCLOCKWISE: 'counterclockwise'
3828 },
3829 ue = function () {
3830 function t(o, n) {
3831 var i = this,
3832 r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};
3833 de(this, t), this.scheduleUpdate = function () {
3834 return requestAnimationFrame(i.update)
3835 }, this.update = re(this.update.bind(this)), this.options = fe({}, t.Defaults, r), this.state = {
3836 isDestroyed: !1,
3837 isCreated: !1,
3838 scrollParents: []
3839 }, this.reference = o && o.jquery ? o[0] : o, this.popper = n && n.jquery ? n[0] : n, this.options.modifiers = {}, Object.keys(fe({}, t.Defaults.modifiers, r.modifiers)).forEach(function (e) {
3840 i.options.modifiers[e] = fe({}, t.Defaults.modifiers[e] || {}, r.modifiers ? r.modifiers[e] : {})
3841 }), this.modifiers = Object.keys(this.options.modifiers).map(function (e) {
3842 return fe({
3843 name: e
3844 }, i.options.modifiers[e])
3845 }).sort(function (e, t) {
3846 return e.order - t.order
3847 }), this.modifiers.forEach(function (t) {
3848 t.enabled && e(t.onLoad) && t.onLoad(i.reference, i.popper, i.options, t, i.state)
3849 }), this.update();
3850 var p = this.options.eventsEnabled;
3851 p && this.enableEventListeners(), this.state.eventsEnabled = p
3852 }
3853 return ae(t, [{
3854 key: 'update',
3855 value: function () {
3856 return k.call(this)
3857 }
3858 }, {
3859 key: 'destroy',
3860 value: function () {
3861 return B.call(this)
3862 }
3863 }, {
3864 key: 'enableEventListeners',
3865 value: function () {
3866 return I.call(this)
3867 }
3868 }, {
3869 key: 'disableEventListeners',
3870 value: function () {
3871 return U.call(this)
3872 }
3873 }]), t
3874 }();
3875 return ue.Utils = ('undefined' == typeof window ? global : window).PopperUtils, ue.placements = he, ue.Defaults = {
3876 placement: 'bottom',
3877 positionFixed: !1,
3878 eventsEnabled: !0,
3879 removeOnDestroy: !1,
3880 onCreate: function () {},
3881 onUpdate: function () {},
3882 modifiers: {
3883 shift: {
3884 order: 100,
3885 enabled: !0,
3886 fn: function (e) {
3887 var t = e.placement,
3888 o = t.split('-')[0],
3889 n = t.split('-')[1];
3890 if (n) {
3891 var i = e.offsets,
3892 r = i.reference,
3893 p = i.popper,
3894 s = -1 !== ['bottom', 'top'].indexOf(o),
3895 d = s ? 'left' : 'top',
3896 a = s ? 'width' : 'height',
3897 l = {
3898 start: le({}, d, r[d]),
3899 end: le({}, d, r[d] + r[a] - p[a])
3900 };
3901 e.offsets.popper = fe({}, p, l[n])
3902 }
3903 return e
3904 }
3905 },
3906 offset: {
3907 order: 200,
3908 enabled: !0,
3909 fn: J,
3910 offset: 0
3911 },
3912 preventOverflow: {
3913 order: 300,
3914 enabled: !0,
3915 fn: function (e, t) {
3916 var o = t.boundariesElement || p(e.instance.popper);
3917 e.instance.reference === o && (o = p(o));
3918 var n = H('transform'),
3919 i = e.instance.popper.style,
3920 r = i.top,
3921 s = i.left,
3922 d = i[n];
3923 i.top = '', i.left = '', i[n] = '';
3924 var a = v(e.instance.popper, e.instance.reference, t.padding, o, e.positionFixed);
3925 i.top = r, i.left = s, i[n] = d, t.boundaries = a;
3926 var l = t.priority,
3927 f = e.offsets.popper,
3928 m = {
3929 primary: function (e) {
3930 var o = f[e];
3931 return f[e] < a[e] && !t.escapeWithReference && (o = ee(f[e], a[e])), le({}, e, o)
3932 },
3933 secondary: function (e) {
3934 var o = 'right' === e ? 'left' : 'top',
3935 n = f[o];
3936 return f[e] > a[e] && !t.escapeWithReference && (n = Q(f[o], a[e] - ('right' === e ? f.width : f.height))), le({}, o, n)
3937 }
3938 };
3939 return l.forEach(function (e) {
3940 var t = -1 === ['left', 'top'].indexOf(e) ? 'secondary' : 'primary';
3941 f = fe({}, f, m[t](e))
3942 }), e.offsets.popper = f, e
3943 },
3944 priority: ['left', 'right', 'top', 'bottom'],
3945 padding: 5,
3946 boundariesElement: 'scrollParent'
3947 },
3948 keepTogether: {
3949 order: 400,
3950 enabled: !0,
3951 fn: function (e) {
3952 var t = e.offsets,
3953 o = t.popper,
3954 n = t.reference,
3955 i = e.placement.split('-')[0],
3956 r = Z,
3957 p = -1 !== ['top', 'bottom'].indexOf(i),
3958 s = p ? 'right' : 'bottom',
3959 d = p ? 'left' : 'top',
3960 a = p ? 'width' : 'height';
3961 return o[s] < r(n[d]) && (e.offsets.popper[d] = r(n[d]) - o[a]), o[d] > r(n[s]) && (e.offsets.popper[d] = r(n[s])), e
3962 }
3963 },
3964 arrow: {
3965 order: 500,
3966 enabled: !0,
3967 fn: function (e, o) {
3968 var n;
3969 if (!K(e.instance.modifiers, 'arrow', 'keepTogether')) return e;
3970 var i = o.element;
3971 if ('string' == typeof i) {
3972 if (i = e.instance.popper.querySelector(i), !i) return e;
3973 } else if (!e.instance.popper.contains(i)) return console.warn('WARNING: `arrow.element` must be child of its popper element!'), e;
3974 var r = e.placement.split('-')[0],
3975 p = e.offsets,
3976 s = p.popper,
3977 d = p.reference,
3978 a = -1 !== ['left', 'right'].indexOf(r),
3979 l = a ? 'height' : 'width',
3980 f = a ? 'Top' : 'Left',
3981 m = f.toLowerCase(),
3982 h = a ? 'left' : 'top',
3983 c = a ? 'bottom' : 'right',
3984 u = S(i)[l];
3985 d[c] - u < s[m] && (e.offsets.popper[m] -= s[m] - (d[c] - u)), d[m] + u > s[c] && (e.offsets.popper[m] += d[m] + u - s[c]), e.offsets.popper = g(e.offsets.popper);
3986 var b = d[m] + d[l] / 2 - u / 2,
3987 w = t(e.instance.popper),
3988 y = parseFloat(w['margin' + f], 10),
3989 E = parseFloat(w['border' + f + 'Width'], 10),
3990 v = b - e.offsets.popper[m] - y - E;
3991 return v = ee(Q(s[l] - u, v), 0), e.arrowElement = i, e.offsets.arrow = (n = {}, le(n, m, $(v)), le(n, h, ''), n), e
3992 },
3993 element: '[x-arrow]'
3994 },
3995 flip: {
3996 order: 600,
3997 enabled: !0,
3998 fn: function (e, t) {
3999 if (W(e.instance.modifiers, 'inner')) return e;
4000 if (e.flipped && e.placement === e.originalPlacement) return e;
4001 var o = v(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement, e.positionFixed),
4002 n = e.placement.split('-')[0],
4003 i = T(n),
4004 r = e.placement.split('-')[1] || '',
4005 p = [];
4006 switch (t.behavior) {
4007 case ge.FLIP:
4008 p = [n, i];
4009 break;
4010 case ge.CLOCKWISE:
4011 p = G(n);
4012 break;
4013 case ge.COUNTERCLOCKWISE:
4014 p = G(n, !0);
4015 break;
4016 default:
4017 p = t.behavior;
4018 }
4019 return p.forEach(function (s, d) {
4020 if (n !== s || p.length === d + 1) return e;
4021 n = e.placement.split('-')[0], i = T(n);
4022 var a = e.offsets.popper,
4023 l = e.offsets.reference,
4024 f = Z,
4025 m = 'left' === n && f(a.right) > f(l.left) || 'right' === n && f(a.left) < f(l.right) || 'top' === n && f(a.bottom) > f(l.top) || 'bottom' === n && f(a.top) < f(l.bottom),
4026 h = f(a.left) < f(o.left),
4027 c = f(a.right) > f(o.right),
4028 g = f(a.top) < f(o.top),
4029 u = f(a.bottom) > f(o.bottom),
4030 b = 'left' === n && h || 'right' === n && c || 'top' === n && g || 'bottom' === n && u,
4031 w = -1 !== ['top', 'bottom'].indexOf(n),
4032 y = !!t.flipVariations && (w && 'start' === r && h || w && 'end' === r && c || !w && 'start' === r && g || !w && 'end' === r && u);
4033 (m || b || y) && (e.flipped = !0, (m || b) && (n = p[d + 1]), y && (r = z(r)), e.placement = n + (r ? '-' + r : ''), e.offsets.popper = fe({}, e.offsets.popper, D(e.instance.popper, e.offsets.reference, e.placement)), e = P(e.instance.modifiers, e, 'flip'))
4034 }), e
4035 },
4036 behavior: 'flip',
4037 padding: 5,
4038 boundariesElement: 'viewport'
4039 },
4040 inner: {
4041 order: 700,
4042 enabled: !1,
4043 fn: function (e) {
4044 var t = e.placement,
4045 o = t.split('-')[0],
4046 n = e.offsets,
4047 i = n.popper,
4048 r = n.reference,
4049 p = -1 !== ['left', 'right'].indexOf(o),
4050 s = -1 === ['top', 'left'].indexOf(o);
4051 return i[p ? 'left' : 'top'] = r[o] - (s ? i[p ? 'width' : 'height'] : 0), e.placement = T(t), e.offsets.popper = g(i), e
4052 }
4053 },
4054 hide: {
4055 order: 800,
4056 enabled: !0,
4057 fn: function (e) {
4058 if (!K(e.instance.modifiers, 'hide', 'preventOverflow')) return e;
4059 var t = e.offsets.reference,
4060 o = C(e.instance.modifiers, function (e) {
4061 return 'preventOverflow' === e.name
4062 }).boundaries;
4063 if (t.bottom < o.top || t.left > o.right || t.top > o.bottom || t.right < o.left) {
4064 if (!0 === e.hide) return e;
4065 e.hide = !0, e.attributes['x-out-of-boundaries'] = ''
4066 } else {
4067 if (!1 === e.hide) return e;
4068 e.hide = !1, e.attributes['x-out-of-boundaries'] = !1
4069 }
4070 return e
4071 }
4072 },
4073 computeStyle: {
4074 order: 850,
4075 enabled: !0,
4076 fn: function (e, t) {
4077 var o = t.x,
4078 n = t.y,
4079 i = e.offsets.popper,
4080 r = C(e.instance.modifiers, function (e) {
4081 return 'applyStyle' === e.name
4082 }).gpuAcceleration;
4083 void 0 !== r && console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
4084 var s, d, a = void 0 === r ? t.gpuAcceleration : r,
4085 l = p(e.instance.popper),
4086 f = u(l),
4087 m = {
4088 position: i.position
4089 },
4090 h = q(e, 2 > window.devicePixelRatio || !me),
4091 c = 'bottom' === o ? 'top' : 'bottom',
4092 g = 'right' === n ? 'left' : 'right',
4093 b = H('transform');
4094 if (d = 'bottom' == c ? 'HTML' === l.nodeName ? -l.clientHeight + h.bottom : -f.height + h.bottom : h.top, s = 'right' == g ? 'HTML' === l.nodeName ? -l.clientWidth + h.right : -f.width + h.right : h.left, a && b) m[b] = 'translate3d(' + s + 'px, ' + d + 'px, 0)', m[c] = 0, m[g] = 0, m.willChange = 'transform';
4095 else {
4096 var w = 'bottom' == c ? -1 : 1,
4097 y = 'right' == g ? -1 : 1;
4098 m[c] = d * w, m[g] = s * y, m.willChange = c + ', ' + g
4099 }
4100 var E = {
4101 "x-placement": e.placement
4102 };
4103 return e.attributes = fe({}, E, e.attributes), e.styles = fe({}, m, e.styles), e.arrowStyles = fe({}, e.offsets.arrow, e.arrowStyles), e
4104 },
4105 gpuAcceleration: !0,
4106 x: 'bottom',
4107 y: 'right'
4108 },
4109 applyStyle: {
4110 order: 900,
4111 enabled: !0,
4112 fn: function (e) {
4113 return j(e.instance.popper, e.styles), V(e.instance.popper, e.attributes), e.arrowElement && Object.keys(e.arrowStyles).length && j(e.arrowElement, e.arrowStyles), e
4114 },
4115 onLoad: function (e, t, o, n, i) {
4116 var r = L(i, t, e, o.positionFixed),
4117 p = O(o.placement, r, t, e, o.modifiers.flip.boundariesElement, o.modifiers.flip.padding);
4118 return t.setAttribute('x-placement', p), j(t, {
4119 position: o.positionFixed ? 'fixed' : 'absolute'
4120 }), o
4121 },
4122 gpuAcceleration: void 0
4123 }
4124 }
4125 }, ue
4126});
4127//# sourceMappingURL=popper.min.js.map
4128
4129/*!
4130 * Bootstrap v4.3.1 (https://getbootstrap.com/)
4131 * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4132 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4133 */
4134! function (t, e) {
4135 "object" == typeof exports && "undefined" != typeof module ? e(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], e) : e((t = t || self).bootstrap = {}, t.jQuery, t.Popper)
4136}(this, function (t, g, u) {
4137 "use strict";
4138
4139 function i(t, e) {
4140 for (var n = 0; n < e.length; n++) {
4141 var i = e[n];
4142 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
4143 }
4144 }
4145
4146 function s(t, e, n) {
4147 return e && i(t.prototype, e), n && i(t, n), t
4148 }
4149
4150 function l(o) {
4151 for (var t = 1; t < arguments.length; t++) {
4152 var r = null != arguments[t] ? arguments[t] : {},
4153 e = Object.keys(r);
4154 "function" == typeof Object.getOwnPropertySymbols && (e = e.concat(Object.getOwnPropertySymbols(r).filter(function (t) {
4155 return Object.getOwnPropertyDescriptor(r, t).enumerable
4156 }))), e.forEach(function (t) {
4157 var e, n, i;
4158 e = o, i = r[n = t], n in e ? Object.defineProperty(e, n, {
4159 value: i,
4160 enumerable: !0,
4161 configurable: !0,
4162 writable: !0
4163 }) : e[n] = i
4164 })
4165 }
4166 return o
4167 }
4168 g = g && g.hasOwnProperty("default") ? g.default : g, u = u && u.hasOwnProperty("default") ? u.default : u;
4169 var e = "transitionend";
4170
4171 function n(t) {
4172 var e = this,
4173 n = !1;
4174 return g(this).one(_.TRANSITION_END, function () {
4175 n = !0
4176 }), setTimeout(function () {
4177 n || _.triggerTransitionEnd(e)
4178 }, t), this
4179 }
4180 var _ = {
4181 TRANSITION_END: "bsTransitionEnd",
4182 getUID: function (t) {
4183 for (; t += ~~(1e6 * Math.random()), document.getElementById(t););
4184 return t
4185 },
4186 getSelectorFromElement: function (t) {
4187 var e = t.getAttribute("data-target");
4188 if (!e || "#" === e) {
4189 var n = t.getAttribute("href");
4190 e = n && "#" !== n ? n.trim() : ""
4191 }
4192 try {
4193 return document.querySelector(e) ? e : null
4194 } catch (t) {
4195 return null
4196 }
4197 },
4198 getTransitionDurationFromElement: function (t) {
4199 if (!t) return 0;
4200 var e = g(t).css("transition-duration"),
4201 n = g(t).css("transition-delay"),
4202 i = parseFloat(e),
4203 o = parseFloat(n);
4204 return i || o ? (e = e.split(",")[0], n = n.split(",")[0], 1e3 * (parseFloat(e) + parseFloat(n))) : 0
4205 },
4206 reflow: function (t) {
4207 return t.offsetHeight
4208 },
4209 triggerTransitionEnd: function (t) {
4210 g(t).trigger(e)
4211 },
4212 supportsTransitionEnd: function () {
4213 return Boolean(e)
4214 },
4215 isElement: function (t) {
4216 return (t[0] || t).nodeType
4217 },
4218 typeCheckConfig: function (t, e, n) {
4219 for (var i in n)
4220 if (Object.prototype.hasOwnProperty.call(n, i)) {
4221 var o = n[i],
4222 r = e[i],
4223 s = r && _.isElement(r) ? "element" : (a = r, {}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());
4224 if (!new RegExp(o).test(s)) throw new Error(t.toUpperCase() + ': Option "' + i + '" provided type "' + s + '" but expected type "' + o + '".')
4225 }
4226 var a
4227 },
4228 findShadowRoot: function (t) {
4229 if (!document.documentElement.attachShadow) return null;
4230 if ("function" != typeof t.getRootNode) return t instanceof ShadowRoot ? t : t.parentNode ? _.findShadowRoot(t.parentNode) : null;
4231 var e = t.getRootNode();
4232 return e instanceof ShadowRoot ? e : null
4233 }
4234 };
4235 g.fn.emulateTransitionEnd = n, g.event.special[_.TRANSITION_END] = {
4236 bindType: e,
4237 delegateType: e,
4238 handle: function (t) {
4239 if (g(t.target).is(this)) return t.handleObj.handler.apply(this, arguments)
4240 }
4241 };
4242 var o = "alert",
4243 r = "bs.alert",
4244 a = "." + r,
4245 c = g.fn[o],
4246 h = {
4247 CLOSE: "close" + a,
4248 CLOSED: "closed" + a,
4249 CLICK_DATA_API: "click" + a + ".data-api"
4250 },
4251 f = "alert",
4252 d = "fade",
4253 m = "show",
4254 p = function () {
4255 function i(t) {
4256 this._element = t
4257 }
4258 var t = i.prototype;
4259 return t.close = function (t) {
4260 var e = this._element;
4261 t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e)
4262 }, t.dispose = function () {
4263 g.removeData(this._element, r), this._element = null
4264 }, t._getRootElement = function (t) {
4265 var e = _.getSelectorFromElement(t),
4266 n = !1;
4267 return e && (n = document.querySelector(e)), n || (n = g(t).closest("." + f)[0]), n
4268 }, t._triggerCloseEvent = function (t) {
4269 var e = g.Event(h.CLOSE);
4270 return g(t).trigger(e), e
4271 }, t._removeElement = function (e) {
4272 var n = this;
4273 if (g(e).removeClass(m), g(e).hasClass(d)) {
4274 var t = _.getTransitionDurationFromElement(e);
4275 g(e).one(_.TRANSITION_END, function (t) {
4276 return n._destroyElement(e, t)
4277 }).emulateTransitionEnd(t)
4278 } else this._destroyElement(e)
4279 }, t._destroyElement = function (t) {
4280 g(t).detach().trigger(h.CLOSED).remove()
4281 }, i._jQueryInterface = function (n) {
4282 return this.each(function () {
4283 var t = g(this),
4284 e = t.data(r);
4285 e || (e = new i(this), t.data(r, e)), "close" === n && e[n](this)
4286 })
4287 }, i._handleDismiss = function (e) {
4288 return function (t) {
4289 t && t.preventDefault(), e.close(this)
4290 }
4291 }, s(i, null, [{
4292 key: "VERSION",
4293 get: function () {
4294 return "4.3.1"
4295 }
4296 }]), i
4297 }();
4298 g(document).on(h.CLICK_DATA_API, '[data-dismiss="alert"]', p._handleDismiss(new p)), g.fn[o] = p._jQueryInterface, g.fn[o].Constructor = p, g.fn[o].noConflict = function () {
4299 return g.fn[o] = c, p._jQueryInterface
4300 };
4301 var v = "button",
4302 y = "bs.button",
4303 E = "." + y,
4304 C = ".data-api",
4305 T = g.fn[v],
4306 S = "active",
4307 b = "btn",
4308 I = "focus",
4309 D = '[data-toggle^="button"]',
4310 w = '[data-toggle="buttons"]',
4311 A = 'input:not([type="hidden"])',
4312 N = ".active",
4313 O = ".btn",
4314 k = {
4315 CLICK_DATA_API: "click" + E + C,
4316 FOCUS_BLUR_DATA_API: "focus" + E + C + " blur" + E + C
4317 },
4318 P = function () {
4319 function n(t) {
4320 this._element = t
4321 }
4322 var t = n.prototype;
4323 return t.toggle = function () {
4324 var t = !0,
4325 e = !0,
4326 n = g(this._element).closest(w)[0];
4327 if (n) {
4328 var i = this._element.querySelector(A);
4329 if (i) {
4330 if ("radio" === i.type)
4331 if (i.checked && this._element.classList.contains(S)) t = !1;
4332 else {
4333 var o = n.querySelector(N);
4334 o && g(o).removeClass(S)
4335 }
4336 if (t) {
4337 if (i.hasAttribute("disabled") || n.hasAttribute("disabled") || i.classList.contains("disabled") || n.classList.contains("disabled")) return;
4338 i.checked = !this._element.classList.contains(S), g(i).trigger("change")
4339 }
4340 i.focus(), e = !1
4341 }
4342 }
4343 e && this._element.setAttribute("aria-pressed", !this._element.classList.contains(S)), t && g(this._element).toggleClass(S)
4344 }, t.dispose = function () {
4345 g.removeData(this._element, y), this._element = null
4346 }, n._jQueryInterface = function (e) {
4347 return this.each(function () {
4348 var t = g(this).data(y);
4349 t || (t = new n(this), g(this).data(y, t)), "toggle" === e && t[e]()
4350 })
4351 }, s(n, null, [{
4352 key: "VERSION",
4353 get: function () {
4354 return "4.3.1"
4355 }
4356 }]), n
4357 }();
4358 g(document).on(k.CLICK_DATA_API, D, function (t) {
4359 t.preventDefault();
4360 var e = t.target;
4361 g(e).hasClass(b) || (e = g(e).closest(O)), P._jQueryInterface.call(g(e), "toggle")
4362 }).on(k.FOCUS_BLUR_DATA_API, D, function (t) {
4363 var e = g(t.target).closest(O)[0];
4364 g(e).toggleClass(I, /^focus(in)?$/.test(t.type))
4365 }), g.fn[v] = P._jQueryInterface, g.fn[v].Constructor = P, g.fn[v].noConflict = function () {
4366 return g.fn[v] = T, P._jQueryInterface
4367 };
4368 var L = "carousel",
4369 j = "bs.carousel",
4370 H = "." + j,
4371 R = ".data-api",
4372 x = g.fn[L],
4373 F = {
4374 interval: 5e3,
4375 keyboard: !0,
4376 slide: !1,
4377 pause: "hover",
4378 wrap: !0,
4379 touch: !0
4380 },
4381 U = {
4382 interval: "(number|boolean)",
4383 keyboard: "boolean",
4384 slide: "(boolean|string)",
4385 pause: "(string|boolean)",
4386 wrap: "boolean",
4387 touch: "boolean"
4388 },
4389 W = "next",
4390 q = "prev",
4391 M = "left",
4392 K = "right",
4393 Q = {
4394 SLIDE: "slide" + H,
4395 SLID: "slid" + H,
4396 KEYDOWN: "keydown" + H,
4397 MOUSEENTER: "mouseenter" + H,
4398 MOUSELEAVE: "mouseleave" + H,
4399 TOUCHSTART: "touchstart" + H,
4400 TOUCHMOVE: "touchmove" + H,
4401 TOUCHEND: "touchend" + H,
4402 POINTERDOWN: "pointerdown" + H,
4403 POINTERUP: "pointerup" + H,
4404 DRAG_START: "dragstart" + H,
4405 LOAD_DATA_API: "load" + H + R,
4406 CLICK_DATA_API: "click" + H + R
4407 },
4408 B = "carousel",
4409 V = "active",
4410 Y = "slide",
4411 z = "carousel-item-right",
4412 X = "carousel-item-left",
4413 $ = "carousel-item-next",
4414 G = "carousel-item-prev",
4415 J = "pointer-event",
4416 Z = ".active",
4417 tt = ".active.carousel-item",
4418 et = ".carousel-item",
4419 nt = ".carousel-item img",
4420 it = ".carousel-item-next, .carousel-item-prev",
4421 ot = ".carousel-indicators",
4422 rt = "[data-slide], [data-slide-to]",
4423 st = '[data-ride="carousel"]',
4424 at = {
4425 TOUCH: "touch",
4426 PEN: "pen"
4427 },
4428 lt = function () {
4429 function r(t, e) {
4430 this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(ot), this._touchSupported = "ontouchstart" in document.documentElement || 0 < navigator.maxTouchPoints, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners()
4431 }
4432 var t = r.prototype;
4433 return t.next = function () {
4434 this._isSliding || this._slide(W)
4435 }, t.nextWhenVisible = function () {
4436 !document.hidden && g(this._element).is(":visible") && "hidden" !== g(this._element).css("visibility") && this.next()
4437 }, t.prev = function () {
4438 this._isSliding || this._slide(q)
4439 }, t.pause = function (t) {
4440 t || (this._isPaused = !0), this._element.querySelector(it) && (_.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
4441 }, t.cycle = function (t) {
4442 t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
4443 }, t.to = function (t) {
4444 var e = this;
4445 this._activeElement = this._element.querySelector(tt);
4446 var n = this._getItemIndex(this._activeElement);
4447 if (!(t > this._items.length - 1 || t < 0))
4448 if (this._isSliding) g(this._element).one(Q.SLID, function () {
4449 return e.to(t)
4450 });
4451 else {
4452 if (n === t) return this.pause(), void this.cycle();
4453 var i = n < t ? W : q;
4454 this._slide(i, this._items[t])
4455 }
4456 }, t.dispose = function () {
4457 g(this._element).off(H), g.removeData(this._element, j), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
4458 }, t._getConfig = function (t) {
4459 return t = l({}, F, t), _.typeCheckConfig(L, t, U), t
4460 }, t._handleSwipe = function () {
4461 var t = Math.abs(this.touchDeltaX);
4462 if (!(t <= 40)) {
4463 var e = t / this.touchDeltaX;
4464 0 < e && this.prev(), e < 0 && this.next()
4465 }
4466 }, t._addEventListeners = function () {
4467 var e = this;
4468 this._config.keyboard && g(this._element).on(Q.KEYDOWN, function (t) {
4469 return e._keydown(t)
4470 }), "hover" === this._config.pause && g(this._element).on(Q.MOUSEENTER, function (t) {
4471 return e.pause(t)
4472 }).on(Q.MOUSELEAVE, function (t) {
4473 return e.cycle(t)
4474 }), this._config.touch && this._addTouchEventListeners()
4475 }, t._addTouchEventListeners = function () {
4476 var n = this;
4477 if (this._touchSupported) {
4478 var e = function (t) {
4479 n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] ? n.touchStartX = t.originalEvent.clientX : n._pointerEvent || (n.touchStartX = t.originalEvent.touches[0].clientX)
4480 },
4481 i = function (t) {
4482 n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] && (n.touchDeltaX = t.originalEvent.clientX - n.touchStartX), n._handleSwipe(), "hover" === n._config.pause && (n.pause(), n.touchTimeout && clearTimeout(n.touchTimeout), n.touchTimeout = setTimeout(function (t) {
4483 return n.cycle(t)
4484 }, 500 + n._config.interval))
4485 };
4486 g(this._element.querySelectorAll(nt)).on(Q.DRAG_START, function (t) {
4487 return t.preventDefault()
4488 }), this._pointerEvent ? (g(this._element).on(Q.POINTERDOWN, function (t) {
4489 return e(t)
4490 }), g(this._element).on(Q.POINTERUP, function (t) {
4491 return i(t)
4492 }), this._element.classList.add(J)) : (g(this._element).on(Q.TOUCHSTART, function (t) {
4493 return e(t)
4494 }), g(this._element).on(Q.TOUCHMOVE, function (t) {
4495 var e;
4496 (e = t).originalEvent.touches && 1 < e.originalEvent.touches.length ? n.touchDeltaX = 0 : n.touchDeltaX = e.originalEvent.touches[0].clientX - n.touchStartX
4497 }), g(this._element).on(Q.TOUCHEND, function (t) {
4498 return i(t)
4499 }))
4500 }
4501 }, t._keydown = function (t) {
4502 if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) {
4503 case 37:
4504 t.preventDefault(), this.prev();
4505 break;
4506 case 39:
4507 t.preventDefault(), this.next()
4508 }
4509 }, t._getItemIndex = function (t) {
4510 return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(et)) : [], this._items.indexOf(t)
4511 }, t._getItemByDirection = function (t, e) {
4512 var n = t === W,
4513 i = t === q,
4514 o = this._getItemIndex(e),
4515 r = this._items.length - 1;
4516 if ((i && 0 === o || n && o === r) && !this._config.wrap) return e;
4517 var s = (o + (t === q ? -1 : 1)) % this._items.length;
4518 return -1 === s ? this._items[this._items.length - 1] : this._items[s]
4519 }, t._triggerSlideEvent = function (t, e) {
4520 var n = this._getItemIndex(t),
4521 i = this._getItemIndex(this._element.querySelector(tt)),
4522 o = g.Event(Q.SLIDE, {
4523 relatedTarget: t,
4524 direction: e,
4525 from: i,
4526 to: n
4527 });
4528 return g(this._element).trigger(o), o
4529 }, t._setActiveIndicatorElement = function (t) {
4530 if (this._indicatorsElement) {
4531 var e = [].slice.call(this._indicatorsElement.querySelectorAll(Z));
4532 g(e).removeClass(V);
4533 var n = this._indicatorsElement.children[this._getItemIndex(t)];
4534 n && g(n).addClass(V)
4535 }
4536 }, t._slide = function (t, e) {
4537 var n, i, o, r = this,
4538 s = this._element.querySelector(tt),
4539 a = this._getItemIndex(s),
4540 l = e || s && this._getItemByDirection(t, s),
4541 c = this._getItemIndex(l),
4542 h = Boolean(this._interval);
4543 if (o = t === W ? (n = X, i = $, M) : (n = z, i = G, K), l && g(l).hasClass(V)) this._isSliding = !1;
4544 else if (!this._triggerSlideEvent(l, o).isDefaultPrevented() && s && l) {
4545 this._isSliding = !0, h && this.pause(), this._setActiveIndicatorElement(l);
4546 var u = g.Event(Q.SLID, {
4547 relatedTarget: l,
4548 direction: o,
4549 from: a,
4550 to: c
4551 });
4552 if (g(this._element).hasClass(Y)) {
4553 g(l).addClass(i), _.reflow(l), g(s).addClass(n), g(l).addClass(n);
4554 var f = parseInt(l.getAttribute("data-interval"), 10);
4555 this._config.interval = f ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, f) : this._config.defaultInterval || this._config.interval;
4556 var d = _.getTransitionDurationFromElement(s);
4557 g(s).one(_.TRANSITION_END, function () {
4558 g(l).removeClass(n + " " + i).addClass(V), g(s).removeClass(V + " " + i + " " + n), r._isSliding = !1, setTimeout(function () {
4559 return g(r._element).trigger(u)
4560 }, 0)
4561 }).emulateTransitionEnd(d)
4562 } else g(s).removeClass(V), g(l).addClass(V), this._isSliding = !1, g(this._element).trigger(u);
4563 h && this.cycle()
4564 }
4565 }, r._jQueryInterface = function (i) {
4566 return this.each(function () {
4567 var t = g(this).data(j),
4568 e = l({}, F, g(this).data());
4569 "object" == typeof i && (e = l({}, e, i));
4570 var n = "string" == typeof i ? i : e.slide;
4571 if (t || (t = new r(this, e), g(this).data(j, t)), "number" == typeof i) t.to(i);
4572 else if ("string" == typeof n) {
4573 if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
4574 t[n]()
4575 } else e.interval && e.ride && (t.pause(), t.cycle())
4576 })
4577 }, r._dataApiClickHandler = function (t) {
4578 var e = _.getSelectorFromElement(this);
4579 if (e) {
4580 var n = g(e)[0];
4581 if (n && g(n).hasClass(B)) {
4582 var i = l({}, g(n).data(), g(this).data()),
4583 o = this.getAttribute("data-slide-to");
4584 o && (i.interval = !1), r._jQueryInterface.call(g(n), i), o && g(n).data(j).to(o), t.preventDefault()
4585 }
4586 }
4587 }, s(r, null, [{
4588 key: "VERSION",
4589 get: function () {
4590 return "4.3.1"
4591 }
4592 }, {
4593 key: "Default",
4594 get: function () {
4595 return F
4596 }
4597 }]), r
4598 }();
4599 g(document).on(Q.CLICK_DATA_API, rt, lt._dataApiClickHandler), g(window).on(Q.LOAD_DATA_API, function () {
4600 for (var t = [].slice.call(document.querySelectorAll(st)), e = 0, n = t.length; e < n; e++) {
4601 var i = g(t[e]);
4602 lt._jQueryInterface.call(i, i.data())
4603 }
4604 }), g.fn[L] = lt._jQueryInterface, g.fn[L].Constructor = lt, g.fn[L].noConflict = function () {
4605 return g.fn[L] = x, lt._jQueryInterface
4606 };
4607 var ct = "collapse",
4608 ht = "bs.collapse",
4609 ut = "." + ht,
4610 ft = g.fn[ct],
4611 dt = {
4612 toggle: !0,
4613 parent: ""
4614 },
4615 gt = {
4616 toggle: "boolean",
4617 parent: "(string|element)"
4618 },
4619 _t = {
4620 SHOW: "show" + ut,
4621 SHOWN: "shown" + ut,
4622 HIDE: "hide" + ut,
4623 HIDDEN: "hidden" + ut,
4624 CLICK_DATA_API: "click" + ut + ".data-api"
4625 },
4626 mt = "show",
4627 pt = "collapse",
4628 vt = "collapsing",
4629 yt = "collapsed",
4630 Et = "width",
4631 Ct = "height",
4632 Tt = ".show, .collapsing",
4633 St = '[data-toggle="collapse"]',
4634 bt = function () {
4635 function a(e, t) {
4636 this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'));
4637 for (var n = [].slice.call(document.querySelectorAll(St)), i = 0, o = n.length; i < o; i++) {
4638 var r = n[i],
4639 s = _.getSelectorFromElement(r),
4640 a = [].slice.call(document.querySelectorAll(s)).filter(function (t) {
4641 return t === e
4642 });
4643 null !== s && 0 < a.length && (this._selector = s, this._triggerArray.push(r))
4644 }
4645 this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
4646 }
4647 var t = a.prototype;
4648 return t.toggle = function () {
4649 g(this._element).hasClass(mt) ? this.hide() : this.show()
4650 }, t.show = function () {
4651 var t, e, n = this;
4652 if (!this._isTransitioning && !g(this._element).hasClass(mt) && (this._parent && 0 === (t = [].slice.call(this._parent.querySelectorAll(Tt)).filter(function (t) {
4653 return "string" == typeof n._config.parent ? t.getAttribute("data-parent") === n._config.parent : t.classList.contains(pt)
4654 })).length && (t = null), !(t && (e = g(t).not(this._selector).data(ht)) && e._isTransitioning))) {
4655 var i = g.Event(_t.SHOW);
4656 if (g(this._element).trigger(i), !i.isDefaultPrevented()) {
4657 t && (a._jQueryInterface.call(g(t).not(this._selector), "hide"), e || g(t).data(ht, null));
4658 var o = this._getDimension();
4659 g(this._element).removeClass(pt).addClass(vt), this._element.style[o] = 0, this._triggerArray.length && g(this._triggerArray).removeClass(yt).attr("aria-expanded", !0), this.setTransitioning(!0);
4660 var r = "scroll" + (o[0].toUpperCase() + o.slice(1)),
4661 s = _.getTransitionDurationFromElement(this._element);
4662 g(this._element).one(_.TRANSITION_END, function () {
4663 g(n._element).removeClass(vt).addClass(pt).addClass(mt), n._element.style[o] = "", n.setTransitioning(!1), g(n._element).trigger(_t.SHOWN)
4664 }).emulateTransitionEnd(s), this._element.style[o] = this._element[r] + "px"
4665 }
4666 }
4667 }, t.hide = function () {
4668 var t = this;
4669 if (!this._isTransitioning && g(this._element).hasClass(mt)) {
4670 var e = g.Event(_t.HIDE);
4671 if (g(this._element).trigger(e), !e.isDefaultPrevented()) {
4672 var n = this._getDimension();
4673 this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", _.reflow(this._element), g(this._element).addClass(vt).removeClass(pt).removeClass(mt);
4674 var i = this._triggerArray.length;
4675 if (0 < i)
4676 for (var o = 0; o < i; o++) {
4677 var r = this._triggerArray[o],
4678 s = _.getSelectorFromElement(r);
4679 if (null !== s) g([].slice.call(document.querySelectorAll(s))).hasClass(mt) || g(r).addClass(yt).attr("aria-expanded", !1)
4680 }
4681 this.setTransitioning(!0);
4682 this._element.style[n] = "";
4683 var a = _.getTransitionDurationFromElement(this._element);
4684 g(this._element).one(_.TRANSITION_END, function () {
4685 t.setTransitioning(!1), g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)
4686 }).emulateTransitionEnd(a)
4687 }
4688 }
4689 }, t.setTransitioning = function (t) {
4690 this._isTransitioning = t
4691 }, t.dispose = function () {
4692 g.removeData(this._element, ht), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
4693 }, t._getConfig = function (t) {
4694 return (t = l({}, dt, t)).toggle = Boolean(t.toggle), _.typeCheckConfig(ct, t, gt), t
4695 }, t._getDimension = function () {
4696 return g(this._element).hasClass(Et) ? Et : Ct
4697 }, t._getParent = function () {
4698 var t, n = this;
4699 _.isElement(this._config.parent) ? (t = this._config.parent, "undefined" != typeof this._config.parent.jquery && (t = this._config.parent[0])) : t = document.querySelector(this._config.parent);
4700 var e = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]',
4701 i = [].slice.call(t.querySelectorAll(e));
4702 return g(i).each(function (t, e) {
4703 n._addAriaAndCollapsedClass(a._getTargetFromElement(e), [e])
4704 }), t
4705 }, t._addAriaAndCollapsedClass = function (t, e) {
4706 var n = g(t).hasClass(mt);
4707 e.length && g(e).toggleClass(yt, !n).attr("aria-expanded", n)
4708 }, a._getTargetFromElement = function (t) {
4709 var e = _.getSelectorFromElement(t);
4710 return e ? document.querySelector(e) : null
4711 }, a._jQueryInterface = function (i) {
4712 return this.each(function () {
4713 var t = g(this),
4714 e = t.data(ht),
4715 n = l({}, dt, t.data(), "object" == typeof i && i ? i : {});
4716 if (!e && n.toggle && /show|hide/.test(i) && (n.toggle = !1), e || (e = new a(this, n), t.data(ht, e)), "string" == typeof i) {
4717 if ("undefined" == typeof e[i]) throw new TypeError('No method named "' + i + '"');
4718 e[i]()
4719 }
4720 })
4721 }, s(a, null, [{
4722 key: "VERSION",
4723 get: function () {
4724 return "4.3.1"
4725 }
4726 }, {
4727 key: "Default",
4728 get: function () {
4729 return dt
4730 }
4731 }]), a
4732 }();
4733 g(document).on(_t.CLICK_DATA_API, St, function (t) {
4734 "A" === t.currentTarget.tagName && t.preventDefault();
4735 var n = g(this),
4736 e = _.getSelectorFromElement(this),
4737 i = [].slice.call(document.querySelectorAll(e));
4738 g(i).each(function () {
4739 var t = g(this),
4740 e = t.data(ht) ? "toggle" : n.data();
4741 bt._jQueryInterface.call(t, e)
4742 })
4743 }), g.fn[ct] = bt._jQueryInterface, g.fn[ct].Constructor = bt, g.fn[ct].noConflict = function () {
4744 return g.fn[ct] = ft, bt._jQueryInterface
4745 };
4746 var It = "dropdown",
4747 Dt = "bs.dropdown",
4748 wt = "." + Dt,
4749 At = ".data-api",
4750 Nt = g.fn[It],
4751 Ot = new RegExp("38|40|27"),
4752 kt = {
4753 HIDE: "hide" + wt,
4754 HIDDEN: "hidden" + wt,
4755 SHOW: "show" + wt,
4756 SHOWN: "shown" + wt,
4757 CLICK: "click" + wt,
4758 CLICK_DATA_API: "click" + wt + At,
4759 KEYDOWN_DATA_API: "keydown" + wt + At,
4760 KEYUP_DATA_API: "keyup" + wt + At
4761 },
4762 Pt = "disabled",
4763 Lt = "show",
4764 jt = "dropup",
4765 Ht = "dropright",
4766 Rt = "dropleft",
4767 xt = "dropdown-menu-right",
4768 Ft = "position-static",
4769 Ut = '[data-toggle="dropdown"]',
4770 Wt = ".dropdown form",
4771 qt = ".dropdown-menu",
4772 Mt = ".navbar-nav",
4773 Kt = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
4774 Qt = "top-start",
4775 Bt = "top-end",
4776 Vt = "bottom-start",
4777 Yt = "bottom-end",
4778 zt = "right-start",
4779 Xt = "left-start",
4780 $t = {
4781 offset: 0,
4782 flip: !0,
4783 boundary: "scrollParent",
4784 reference: "toggle",
4785 display: "dynamic"
4786 },
4787 Gt = {
4788 offset: "(number|string|function)",
4789 flip: "boolean",
4790 boundary: "(string|element)",
4791 reference: "(string|element)",
4792 display: "string"
4793 },
4794 Jt = function () {
4795 function c(t, e) {
4796 this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
4797 }
4798 var t = c.prototype;
4799 return t.toggle = function () {
4800 if (!this._element.disabled && !g(this._element).hasClass(Pt)) {
4801 var t = c._getParentFromElement(this._element),
4802 e = g(this._menu).hasClass(Lt);
4803 if (c._clearMenus(), !e) {
4804 var n = {
4805 relatedTarget: this._element
4806 },
4807 i = g.Event(kt.SHOW, n);
4808 if (g(t).trigger(i), !i.isDefaultPrevented()) {
4809 if (!this._inNavbar) {
4810 if ("undefined" == typeof u) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");
4811 var o = this._element;
4812 "parent" === this._config.reference ? o = t : _.isElement(this._config.reference) && (o = this._config.reference, "undefined" != typeof this._config.reference.jquery && (o = this._config.reference[0])), "scrollParent" !== this._config.boundary && g(t).addClass(Ft), this._popper = new u(o, this._menu, this._getPopperConfig())
4813 }
4814 "ontouchstart" in document.documentElement && 0 === g(t).closest(Mt).length && g(document.body).children().on("mouseover", null, g.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), g(this._menu).toggleClass(Lt), g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN, n))
4815 }
4816 }
4817 }
4818 }, t.show = function () {
4819 if (!(this._element.disabled || g(this._element).hasClass(Pt) || g(this._menu).hasClass(Lt))) {
4820 var t = {
4821 relatedTarget: this._element
4822 },
4823 e = g.Event(kt.SHOW, t),
4824 n = c._getParentFromElement(this._element);
4825 g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN, t)))
4826 }
4827 }, t.hide = function () {
4828 if (!this._element.disabled && !g(this._element).hasClass(Pt) && g(this._menu).hasClass(Lt)) {
4829 var t = {
4830 relatedTarget: this._element
4831 },
4832 e = g.Event(kt.HIDE, t),
4833 n = c._getParentFromElement(this._element);
4834 g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN, t)))
4835 }
4836 }, t.dispose = function () {
4837 g.removeData(this._element, Dt), g(this._element).off(wt), this._element = null, (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null)
4838 }, t.update = function () {
4839 this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
4840 }, t._addEventListeners = function () {
4841 var e = this;
4842 g(this._element).on(kt.CLICK, function (t) {
4843 t.preventDefault(), t.stopPropagation(), e.toggle()
4844 })
4845 }, t._getConfig = function (t) {
4846 return t = l({}, this.constructor.Default, g(this._element).data(), t), _.typeCheckConfig(It, t, this.constructor.DefaultType), t
4847 }, t._getMenuElement = function () {
4848 if (!this._menu) {
4849 var t = c._getParentFromElement(this._element);
4850 t && (this._menu = t.querySelector(qt))
4851 }
4852 return this._menu
4853 }, t._getPlacement = function () {
4854 var t = g(this._element.parentNode),
4855 e = Vt;
4856 return t.hasClass(jt) ? (e = Qt, g(this._menu).hasClass(xt) && (e = Bt)) : t.hasClass(Ht) ? e = zt : t.hasClass(Rt) ? e = Xt : g(this._menu).hasClass(xt) && (e = Yt), e
4857 }, t._detectNavbar = function () {
4858 return 0 < g(this._element).closest(".navbar").length
4859 }, t._getOffset = function () {
4860 var e = this,
4861 t = {};
4862 return "function" == typeof this._config.offset ? t.fn = function (t) {
4863 return t.offsets = l({}, t.offsets, e._config.offset(t.offsets, e._element) || {}), t
4864 } : t.offset = this._config.offset, t
4865 }, t._getPopperConfig = function () {
4866 var t = {
4867 placement: this._getPlacement(),
4868 modifiers: {
4869 offset: this._getOffset(),
4870 flip: {
4871 enabled: this._config.flip
4872 },
4873 preventOverflow: {
4874 boundariesElement: this._config.boundary
4875 }
4876 }
4877 };
4878 return "static" === this._config.display && (t.modifiers.applyStyle = {
4879 enabled: !1
4880 }), t
4881 }, c._jQueryInterface = function (e) {
4882 return this.each(function () {
4883 var t = g(this).data(Dt);
4884 if (t || (t = new c(this, "object" == typeof e ? e : null), g(this).data(Dt, t)), "string" == typeof e) {
4885 if ("undefined" == typeof t[e]) throw new TypeError('No method named "' + e + '"');
4886 t[e]()
4887 }
4888 })
4889 }, c._clearMenus = function (t) {
4890 if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which))
4891 for (var e = [].slice.call(document.querySelectorAll(Ut)), n = 0, i = e.length; n < i; n++) {
4892 var o = c._getParentFromElement(e[n]),
4893 r = g(e[n]).data(Dt),
4894 s = {
4895 relatedTarget: e[n]
4896 };
4897 if (t && "click" === t.type && (s.clickEvent = t), r) {
4898 var a = r._menu;
4899 if (g(o).hasClass(Lt) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && g.contains(o, t.target))) {
4900 var l = g.Event(kt.HIDE, s);
4901 g(o).trigger(l), l.isDefaultPrevented() || ("ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), e[n].setAttribute("aria-expanded", "false"), g(a).removeClass(Lt), g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN, s)))
4902 }
4903 }
4904 }
4905 }, c._getParentFromElement = function (t) {
4906 var e, n = _.getSelectorFromElement(t);
4907 return n && (e = document.querySelector(n)), e || t.parentNode
4908 }, c._dataApiKeydownHandler = function (t) {
4909 if ((/input|textarea/i.test(t.target.tagName) ? !(32 === t.which || 27 !== t.which && (40 !== t.which && 38 !== t.which || g(t.target).closest(qt).length)) : Ot.test(t.which)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !g(this).hasClass(Pt))) {
4910 var e = c._getParentFromElement(this),
4911 n = g(e).hasClass(Lt);
4912 if (n && (!n || 27 !== t.which && 32 !== t.which)) {
4913 var i = [].slice.call(e.querySelectorAll(Kt));
4914 if (0 !== i.length) {
4915 var o = i.indexOf(t.target);
4916 38 === t.which && 0 < o && o--, 40 === t.which && o < i.length - 1 && o++, o < 0 && (o = 0), i[o].focus()
4917 }
4918 } else {
4919 if (27 === t.which) {
4920 var r = e.querySelector(Ut);
4921 g(r).trigger("focus")
4922 }
4923 g(this).trigger("click")
4924 }
4925 }
4926 }, s(c, null, [{
4927 key: "VERSION",
4928 get: function () {
4929 return "4.3.1"
4930 }
4931 }, {
4932 key: "Default",
4933 get: function () {
4934 return $t
4935 }
4936 }, {
4937 key: "DefaultType",
4938 get: function () {
4939 return Gt
4940 }
4941 }]), c
4942 }();
4943 g(document).on(kt.KEYDOWN_DATA_API, Ut, Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API, qt, Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API + " " + kt.KEYUP_DATA_API, Jt._clearMenus).on(kt.CLICK_DATA_API, Ut, function (t) {
4944 t.preventDefault(), t.stopPropagation(), Jt._jQueryInterface.call(g(this), "toggle")
4945 }).on(kt.CLICK_DATA_API, Wt, function (t) {
4946 t.stopPropagation()
4947 }), g.fn[It] = Jt._jQueryInterface, g.fn[It].Constructor = Jt, g.fn[It].noConflict = function () {
4948 return g.fn[It] = Nt, Jt._jQueryInterface
4949 };
4950 var Zt = "modal",
4951 te = "bs.modal",
4952 ee = "." + te,
4953 ne = g.fn[Zt],
4954 ie = {
4955 backdrop: !0,
4956 keyboard: !0,
4957 focus: !0,
4958 show: !0
4959 },
4960 oe = {
4961 backdrop: "(boolean|string)",
4962 keyboard: "boolean",
4963 focus: "boolean",
4964 show: "boolean"
4965 },
4966 re = {
4967 HIDE: "hide" + ee,
4968 HIDDEN: "hidden" + ee,
4969 SHOW: "show" + ee,
4970 SHOWN: "shown" + ee,
4971 FOCUSIN: "focusin" + ee,
4972 RESIZE: "resize" + ee,
4973 CLICK_DISMISS: "click.dismiss" + ee,
4974 KEYDOWN_DISMISS: "keydown.dismiss" + ee,
4975 MOUSEUP_DISMISS: "mouseup.dismiss" + ee,
4976 MOUSEDOWN_DISMISS: "mousedown.dismiss" + ee,
4977 CLICK_DATA_API: "click" + ee + ".data-api"
4978 },
4979 se = "modal-dialog-scrollable",
4980 ae = "modal-scrollbar-measure",
4981 le = "modal-backdrop",
4982 ce = "modal-open",
4983 he = "fade",
4984 ue = "show",
4985 fe = ".modal-dialog",
4986 de = ".modal-body",
4987 ge = '[data-toggle="modal"]',
4988 _e = '[data-dismiss="modal"]',
4989 me = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
4990 pe = ".sticky-top",
4991 ve = function () {
4992 function o(t, e) {
4993 this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(fe), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0
4994 }
4995 var t = o.prototype;
4996 return t.toggle = function (t) {
4997 return this._isShown ? this.hide() : this.show(t)
4998 }, t.show = function (t) {
4999 var e = this;
5000 if (!this._isShown && !this._isTransitioning) {
5001 g(this._element).hasClass(he) && (this._isTransitioning = !0);
5002 var n = g.Event(re.SHOW, {
5003 relatedTarget: t
5004 });
5005 g(this._element).trigger(n), this._isShown || n.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), g(this._element).on(re.CLICK_DISMISS, _e, function (t) {
5006 return e.hide(t)
5007 }), g(this._dialog).on(re.MOUSEDOWN_DISMISS, function () {
5008 g(e._element).one(re.MOUSEUP_DISMISS, function (t) {
5009 g(t.target).is(e._element) && (e._ignoreBackdropClick = !0)
5010 })
5011 }), this._showBackdrop(function () {
5012 return e._showElement(t)
5013 }))
5014 }
5015 }, t.hide = function (t) {
5016 var e = this;
5017 if (t && t.preventDefault(), this._isShown && !this._isTransitioning) {
5018 var n = g.Event(re.HIDE);
5019 if (g(this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) {
5020 this._isShown = !1;
5021 var i = g(this._element).hasClass(he);
5022 if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), g(document).off(re.FOCUSIN), g(this._element).removeClass(ue), g(this._element).off(re.CLICK_DISMISS), g(this._dialog).off(re.MOUSEDOWN_DISMISS), i) {
5023 var o = _.getTransitionDurationFromElement(this._element);
5024 g(this._element).one(_.TRANSITION_END, function (t) {
5025 return e._hideModal(t)
5026 }).emulateTransitionEnd(o)
5027 } else this._hideModal()
5028 }
5029 }
5030 }, t.dispose = function () {
5031 [window, this._element, this._dialog].forEach(function (t) {
5032 return g(t).off(ee)
5033 }), g(document).off(re.FOCUSIN), g.removeData(this._element, te), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null
5034 }, t.handleUpdate = function () {
5035 this._adjustDialog()
5036 }, t._getConfig = function (t) {
5037 return t = l({}, ie, t), _.typeCheckConfig(Zt, t, oe), t
5038 }, t._showElement = function (t) {
5039 var e = this,
5040 n = g(this._element).hasClass(he);
5041 this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), g(this._dialog).hasClass(se) ? this._dialog.querySelector(de).scrollTop = 0 : this._element.scrollTop = 0, n && _.reflow(this._element), g(this._element).addClass(ue), this._config.focus && this._enforceFocus();
5042 var i = g.Event(re.SHOWN, {
5043 relatedTarget: t
5044 }),
5045 o = function () {
5046 e._config.focus && e._element.focus(), e._isTransitioning = !1, g(e._element).trigger(i)
5047 };
5048 if (n) {
5049 var r = _.getTransitionDurationFromElement(this._dialog);
5050 g(this._dialog).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
5051 } else o()
5052 }, t._enforceFocus = function () {
5053 var e = this;
5054 g(document).off(re.FOCUSIN).on(re.FOCUSIN, function (t) {
5055 document !== t.target && e._element !== t.target && 0 === g(e._element).has(t.target).length && e._element.focus()
5056 })
5057 }, t._setEscapeEvent = function () {
5058 var e = this;
5059 this._isShown && this._config.keyboard ? g(this._element).on(re.KEYDOWN_DISMISS, function (t) {
5060 27 === t.which && (t.preventDefault(), e.hide())
5061 }) : this._isShown || g(this._element).off(re.KEYDOWN_DISMISS)
5062 }, t._setResizeEvent = function () {
5063 var e = this;
5064 this._isShown ? g(window).on(re.RESIZE, function (t) {
5065 return e.handleUpdate(t)
5066 }) : g(window).off(re.RESIZE)
5067 }, t._hideModal = function () {
5068 var t = this;
5069 this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._isTransitioning = !1, this._showBackdrop(function () {
5070 g(document.body).removeClass(ce), t._resetAdjustments(), t._resetScrollbar(), g(t._element).trigger(re.HIDDEN)
5071 })
5072 }, t._removeBackdrop = function () {
5073 this._backdrop && (g(this._backdrop).remove(), this._backdrop = null)
5074 }, t._showBackdrop = function (t) {
5075 var e = this,
5076 n = g(this._element).hasClass(he) ? he : "";
5077 if (this._isShown && this._config.backdrop) {
5078 if (this._backdrop = document.createElement("div"), this._backdrop.className = le, n && this._backdrop.classList.add(n), g(this._backdrop).appendTo(document.body), g(this._element).on(re.CLICK_DISMISS, function (t) {
5079 e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._element.focus() : e.hide())
5080 }), n && _.reflow(this._backdrop), g(this._backdrop).addClass(ue), !t) return;
5081 if (!n) return void t();
5082 var i = _.getTransitionDurationFromElement(this._backdrop);
5083 g(this._backdrop).one(_.TRANSITION_END, t).emulateTransitionEnd(i)
5084 } else if (!this._isShown && this._backdrop) {
5085 g(this._backdrop).removeClass(ue);
5086 var o = function () {
5087 e._removeBackdrop(), t && t()
5088 };
5089 if (g(this._element).hasClass(he)) {
5090 var r = _.getTransitionDurationFromElement(this._backdrop);
5091 g(this._backdrop).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
5092 } else o()
5093 } else t && t()
5094 }, t._adjustDialog = function () {
5095 var t = this._element.scrollHeight > document.documentElement.clientHeight;
5096 !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px")
5097 }, t._resetAdjustments = function () {
5098 this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
5099 }, t._checkScrollbar = function () {
5100 var t = document.body.getBoundingClientRect();
5101 this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
5102 }, t._setScrollbar = function () {
5103 var o = this;
5104 if (this._isBodyOverflowing) {
5105 var t = [].slice.call(document.querySelectorAll(me)),
5106 e = [].slice.call(document.querySelectorAll(pe));
5107 g(t).each(function (t, e) {
5108 var n = e.style.paddingRight,
5109 i = g(e).css("padding-right");
5110 g(e).data("padding-right", n).css("padding-right", parseFloat(i) + o._scrollbarWidth + "px")
5111 }), g(e).each(function (t, e) {
5112 var n = e.style.marginRight,
5113 i = g(e).css("margin-right");
5114 g(e).data("margin-right", n).css("margin-right", parseFloat(i) - o._scrollbarWidth + "px")
5115 });
5116 var n = document.body.style.paddingRight,
5117 i = g(document.body).css("padding-right");
5118 g(document.body).data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px")
5119 }
5120 g(document.body).addClass(ce)
5121 }, t._resetScrollbar = function () {
5122 var t = [].slice.call(document.querySelectorAll(me));
5123 g(t).each(function (t, e) {
5124 var n = g(e).data("padding-right");
5125 g(e).removeData("padding-right"), e.style.paddingRight = n || ""
5126 });
5127 var e = [].slice.call(document.querySelectorAll("" + pe));
5128 g(e).each(function (t, e) {
5129 var n = g(e).data("margin-right");
5130 "undefined" != typeof n && g(e).css("margin-right", n).removeData("margin-right")
5131 });
5132 var n = g(document.body).data("padding-right");
5133 g(document.body).removeData("padding-right"), document.body.style.paddingRight = n || ""
5134 }, t._getScrollbarWidth = function () {
5135 var t = document.createElement("div");
5136 t.className = ae, document.body.appendChild(t);
5137 var e = t.getBoundingClientRect().width - t.clientWidth;
5138 return document.body.removeChild(t), e
5139 }, o._jQueryInterface = function (n, i) {
5140 return this.each(function () {
5141 var t = g(this).data(te),
5142 e = l({}, ie, g(this).data(), "object" == typeof n && n ? n : {});
5143 if (t || (t = new o(this, e), g(this).data(te, t)), "string" == typeof n) {
5144 if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
5145 t[n](i)
5146 } else e.show && t.show(i)
5147 })
5148 }, s(o, null, [{
5149 key: "VERSION",
5150 get: function () {
5151 return "4.3.1"
5152 }
5153 }, {
5154 key: "Default",
5155 get: function () {
5156 return ie
5157 }
5158 }]), o
5159 }();
5160 g(document).on(re.CLICK_DATA_API, ge, function (t) {
5161 var e, n = this,
5162 i = _.getSelectorFromElement(this);
5163 i && (e = document.querySelector(i));
5164 var o = g(e).data(te) ? "toggle" : l({}, g(e).data(), g(this).data());
5165 "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault();
5166 var r = g(e).one(re.SHOW, function (t) {
5167 t.isDefaultPrevented() || r.one(re.HIDDEN, function () {
5168 g(n).is(":visible") && n.focus()
5169 })
5170 });
5171 ve._jQueryInterface.call(g(e), o, this)
5172 }), g.fn[Zt] = ve._jQueryInterface, g.fn[Zt].Constructor = ve, g.fn[Zt].noConflict = function () {
5173 return g.fn[Zt] = ne, ve._jQueryInterface
5174 };
5175 var ye = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"],
5176 Ee = {
5177 "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
5178 a: ["target", "href", "title", "rel"],
5179 area: [],
5180 b: [],
5181 br: [],
5182 col: [],
5183 code: [],
5184 div: [],
5185 em: [],
5186 hr: [],
5187 h1: [],
5188 h2: [],
5189 h3: [],
5190 h4: [],
5191 h5: [],
5192 h6: [],
5193 i: [],
5194 img: ["src", "alt", "title", "width", "height"],
5195 li: [],
5196 ol: [],
5197 p: [],
5198 pre: [],
5199 s: [],
5200 small: [],
5201 span: [],
5202 sub: [],
5203 sup: [],
5204 strong: [],
5205 u: [],
5206 ul: []
5207 },
5208 Ce = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,
5209 Te = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
5210
5211 function Se(t, s, e) {
5212 if (0 === t.length) return t;
5213 if (e && "function" == typeof e) return e(t);
5214 for (var n = (new window.DOMParser).parseFromString(t, "text/html"), a = Object.keys(s), l = [].slice.call(n.body.querySelectorAll("*")), i = function (t, e) {
5215 var n = l[t],
5216 i = n.nodeName.toLowerCase();
5217 if (-1 === a.indexOf(n.nodeName.toLowerCase())) return n.parentNode.removeChild(n), "continue";
5218 var o = [].slice.call(n.attributes),
5219 r = [].concat(s["*"] || [], s[i] || []);
5220 o.forEach(function (t) {
5221 (function (t, e) {
5222 var n = t.nodeName.toLowerCase();
5223 if (-1 !== e.indexOf(n)) return -1 === ye.indexOf(n) || Boolean(t.nodeValue.match(Ce) || t.nodeValue.match(Te));
5224 for (var i = e.filter(function (t) {
5225 return t instanceof RegExp
5226 }), o = 0, r = i.length; o < r; o++)
5227 if (n.match(i[o])) return !0;
5228 return !1
5229 })(t, r) || n.removeAttribute(t.nodeName)
5230 })
5231 }, o = 0, r = l.length; o < r; o++) i(o);
5232 return n.body.innerHTML
5233 }
5234 var be = "tooltip",
5235 Ie = "bs.tooltip",
5236 De = "." + Ie,
5237 we = g.fn[be],
5238 Ae = "bs-tooltip",
5239 Ne = new RegExp("(^|\\s)" + Ae + "\\S+", "g"),
5240 Oe = ["sanitize", "whiteList", "sanitizeFn"],
5241 ke = {
5242 animation: "boolean",
5243 template: "string",
5244 title: "(string|element|function)",
5245 trigger: "string",
5246 delay: "(number|object)",
5247 html: "boolean",
5248 selector: "(string|boolean)",
5249 placement: "(string|function)",
5250 offset: "(number|string|function)",
5251 container: "(string|element|boolean)",
5252 fallbackPlacement: "(string|array)",
5253 boundary: "(string|element)",
5254 sanitize: "boolean",
5255 sanitizeFn: "(null|function)",
5256 whiteList: "object"
5257 },
5258 Pe = {
5259 AUTO: "auto",
5260 TOP: "top",
5261 RIGHT: "right",
5262 BOTTOM: "bottom",
5263 LEFT: "left"
5264 },
5265 Le = {
5266 animation: !0,
5267 template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
5268 trigger: "hover focus",
5269 title: "",
5270 delay: 0,
5271 html: !1,
5272 selector: !1,
5273 placement: "top",
5274 offset: 0,
5275 container: !1,
5276 fallbackPlacement: "flip",
5277 boundary: "scrollParent",
5278 sanitize: !0,
5279 sanitizeFn: null,
5280 whiteList: Ee
5281 },
5282 je = "show",
5283 He = "out",
5284 Re = {
5285 HIDE: "hide" + De,
5286 HIDDEN: "hidden" + De,
5287 SHOW: "show" + De,
5288 SHOWN: "shown" + De,
5289 INSERTED: "inserted" + De,
5290 CLICK: "click" + De,
5291 FOCUSIN: "focusin" + De,
5292 FOCUSOUT: "focusout" + De,
5293 MOUSEENTER: "mouseenter" + De,
5294 MOUSELEAVE: "mouseleave" + De
5295 },
5296 xe = "fade",
5297 Fe = "show",
5298 Ue = ".tooltip-inner",
5299 We = ".arrow",
5300 qe = "hover",
5301 Me = "focus",
5302 Ke = "click",
5303 Qe = "manual",
5304 Be = function () {
5305 function i(t, e) {
5306 if ("undefined" == typeof u) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");
5307 this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners()
5308 }
5309 var t = i.prototype;
5310 return t.enable = function () {
5311 this._isEnabled = !0
5312 }, t.disable = function () {
5313 this._isEnabled = !1
5314 }, t.toggleEnabled = function () {
5315 this._isEnabled = !this._isEnabled
5316 }, t.toggle = function (t) {
5317 if (this._isEnabled)
5318 if (t) {
5319 var e = this.constructor.DATA_KEY,
5320 n = g(t.currentTarget).data(e);
5321 n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(e, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n)
5322 } else {
5323 if (g(this.getTipElement()).hasClass(Fe)) return void this._leave(null, this);
5324 this._enter(null, this)
5325 }
5326 }, t.dispose = function () {
5327 clearTimeout(this._timeout), g.removeData(this.element, this.constructor.DATA_KEY), g(this.element).off(this.constructor.EVENT_KEY), g(this.element).closest(".modal").off("hide.bs.modal"), this.tip && g(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, (this._activeTrigger = null) !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
5328 }, t.show = function () {
5329 var e = this;
5330 if ("none" === g(this.element).css("display")) throw new Error("Please use show on visible elements");
5331 var t = g.Event(this.constructor.Event.SHOW);
5332 if (this.isWithContent() && this._isEnabled) {
5333 g(this.element).trigger(t);
5334 var n = _.findShadowRoot(this.element),
5335 i = g.contains(null !== n ? n : this.element.ownerDocument.documentElement, this.element);
5336 if (t.isDefaultPrevented() || !i) return;
5337 var o = this.getTipElement(),
5338 r = _.getUID(this.constructor.NAME);
5339 o.setAttribute("id", r), this.element.setAttribute("aria-describedby", r), this.setContent(), this.config.animation && g(o).addClass(xe);
5340 var s = "function" == typeof this.config.placement ? this.config.placement.call(this, o, this.element) : this.config.placement,
5341 a = this._getAttachment(s);
5342 this.addAttachmentClass(a);
5343 var l = this._getContainer();
5344 g(o).data(this.constructor.DATA_KEY, this), g.contains(this.element.ownerDocument.documentElement, this.tip) || g(o).appendTo(l), g(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new u(this.element, o, {
5345 placement: a,
5346 modifiers: {
5347 offset: this._getOffset(),
5348 flip: {
5349 behavior: this.config.fallbackPlacement
5350 },
5351 arrow: {
5352 element: We
5353 },
5354 preventOverflow: {
5355 boundariesElement: this.config.boundary
5356 }
5357 },
5358 onCreate: function (t) {
5359 t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t)
5360 },
5361 onUpdate: function (t) {
5362 return e._handlePopperPlacementChange(t)
5363 }
5364 }), g(o).addClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().on("mouseover", null, g.noop);
5365 var c = function () {
5366 e.config.animation && e._fixTransition();
5367 var t = e._hoverState;
5368 e._hoverState = null, g(e.element).trigger(e.constructor.Event.SHOWN), t === He && e._leave(null, e)
5369 };
5370 if (g(this.tip).hasClass(xe)) {
5371 var h = _.getTransitionDurationFromElement(this.tip);
5372 g(this.tip).one(_.TRANSITION_END, c).emulateTransitionEnd(h)
5373 } else c()
5374 }
5375 }, t.hide = function (t) {
5376 var e = this,
5377 n = this.getTipElement(),
5378 i = g.Event(this.constructor.Event.HIDE),
5379 o = function () {
5380 e._hoverState !== je && n.parentNode && n.parentNode.removeChild(n), e._cleanTipClass(), e.element.removeAttribute("aria-describedby"), g(e.element).trigger(e.constructor.Event.HIDDEN), null !== e._popper && e._popper.destroy(), t && t()
5381 };
5382 if (g(this.element).trigger(i), !i.isDefaultPrevented()) {
5383 if (g(n).removeClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), this._activeTrigger[Ke] = !1, this._activeTrigger[Me] = !1, this._activeTrigger[qe] = !1, g(this.tip).hasClass(xe)) {
5384 var r = _.getTransitionDurationFromElement(n);
5385 g(n).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
5386 } else o();
5387 this._hoverState = ""
5388 }
5389 }, t.update = function () {
5390 null !== this._popper && this._popper.scheduleUpdate()
5391 }, t.isWithContent = function () {
5392 return Boolean(this.getTitle())
5393 }, t.addAttachmentClass = function (t) {
5394 g(this.getTipElement()).addClass(Ae + "-" + t)
5395 }, t.getTipElement = function () {
5396 return this.tip = this.tip || g(this.config.template)[0], this.tip
5397 }, t.setContent = function () {
5398 var t = this.getTipElement();
5399 this.setElementContent(g(t.querySelectorAll(Ue)), this.getTitle()), g(t).removeClass(xe + " " + Fe)
5400 }, t.setElementContent = function (t, e) {
5401 "object" != typeof e || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = Se(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? g(e).parent().is(t) || t.empty().append(e) : t.text(g(e).text())
5402 }, t.getTitle = function () {
5403 var t = this.element.getAttribute("data-original-title");
5404 return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t
5405 }, t._getOffset = function () {
5406 var e = this,
5407 t = {};
5408 return "function" == typeof this.config.offset ? t.fn = function (t) {
5409 return t.offsets = l({}, t.offsets, e.config.offset(t.offsets, e.element) || {}), t
5410 } : t.offset = this.config.offset, t
5411 }, t._getContainer = function () {
5412 return !1 === this.config.container ? document.body : _.isElement(this.config.container) ? g(this.config.container) : g(document).find(this.config.container)
5413 }, t._getAttachment = function (t) {
5414 return Pe[t.toUpperCase()]
5415 }, t._setListeners = function () {
5416 var i = this;
5417 this.config.trigger.split(" ").forEach(function (t) {
5418 if ("click" === t) g(i.element).on(i.constructor.Event.CLICK, i.config.selector, function (t) {
5419 return i.toggle(t)
5420 });
5421 else if (t !== Qe) {
5422 var e = t === qe ? i.constructor.Event.MOUSEENTER : i.constructor.Event.FOCUSIN,
5423 n = t === qe ? i.constructor.Event.MOUSELEAVE : i.constructor.Event.FOCUSOUT;
5424 g(i.element).on(e, i.config.selector, function (t) {
5425 return i._enter(t)
5426 }).on(n, i.config.selector, function (t) {
5427 return i._leave(t)
5428 })
5429 }
5430 }), g(this.element).closest(".modal").on("hide.bs.modal", function () {
5431 i.element && i.hide()
5432 }), this.config.selector ? this.config = l({}, this.config, {
5433 trigger: "manual",
5434 selector: ""
5435 }) : this._fixTitle()
5436 }, t._fixTitle = function () {
5437 var t = typeof this.element.getAttribute("data-original-title");
5438 (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
5439 }, t._enter = function (t, e) {
5440 var n = this.constructor.DATA_KEY;
5441 (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusin" === t.type ? Me : qe] = !0), g(e.getTipElement()).hasClass(Fe) || e._hoverState === je ? e._hoverState = je : (clearTimeout(e._timeout), e._hoverState = je, e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function () {
5442 e._hoverState === je && e.show()
5443 }, e.config.delay.show) : e.show())
5444 }, t._leave = function (t, e) {
5445 var n = this.constructor.DATA_KEY;
5446 (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusout" === t.type ? Me : qe] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = He, e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function () {
5447 e._hoverState === He && e.hide()
5448 }, e.config.delay.hide) : e.hide())
5449 }, t._isWithActiveTrigger = function () {
5450 for (var t in this._activeTrigger)
5451 if (this._activeTrigger[t]) return !0;
5452 return !1
5453 }, t._getConfig = function (t) {
5454 var e = g(this.element).data();
5455 return Object.keys(e).forEach(function (t) {
5456 -1 !== Oe.indexOf(t) && delete e[t]
5457 }), "number" == typeof (t = l({}, this.constructor.Default, e, "object" == typeof t && t ? t : {})).delay && (t.delay = {
5458 show: t.delay,
5459 hide: t.delay
5460 }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), _.typeCheckConfig(be, t, this.constructor.DefaultType), t.sanitize && (t.template = Se(t.template, t.whiteList, t.sanitizeFn)), t
5461 }, t._getDelegateConfig = function () {
5462 var t = {};
5463 if (this.config)
5464 for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
5465 return t
5466 }, t._cleanTipClass = function () {
5467 var t = g(this.getTipElement()),
5468 e = t.attr("class").match(Ne);
5469 null !== e && e.length && t.removeClass(e.join(""))
5470 }, t._handlePopperPlacementChange = function (t) {
5471 var e = t.instance;
5472 this.tip = e.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement))
5473 }, t._fixTransition = function () {
5474 var t = this.getTipElement(),
5475 e = this.config.animation;
5476 null === t.getAttribute("x-placement") && (g(t).removeClass(xe), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e)
5477 }, i._jQueryInterface = function (n) {
5478 return this.each(function () {
5479 var t = g(this).data(Ie),
5480 e = "object" == typeof n && n;
5481 if ((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ie, t)), "string" == typeof n)) {
5482 if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
5483 t[n]()
5484 }
5485 })
5486 }, s(i, null, [{
5487 key: "VERSION",
5488 get: function () {
5489 return "4.3.1"
5490 }
5491 }, {
5492 key: "Default",
5493 get: function () {
5494 return Le
5495 }
5496 }, {
5497 key: "NAME",
5498 get: function () {
5499 return be
5500 }
5501 }, {
5502 key: "DATA_KEY",
5503 get: function () {
5504 return Ie
5505 }
5506 }, {
5507 key: "Event",
5508 get: function () {
5509 return Re
5510 }
5511 }, {
5512 key: "EVENT_KEY",
5513 get: function () {
5514 return De
5515 }
5516 }, {
5517 key: "DefaultType",
5518 get: function () {
5519 return ke
5520 }
5521 }]), i
5522 }();
5523 g.fn[be] = Be._jQueryInterface, g.fn[be].Constructor = Be, g.fn[be].noConflict = function () {
5524 return g.fn[be] = we, Be._jQueryInterface
5525 };
5526 var Ve = "popover",
5527 Ye = "bs.popover",
5528 ze = "." + Ye,
5529 Xe = g.fn[Ve],
5530 $e = "bs-popover",
5531 Ge = new RegExp("(^|\\s)" + $e + "\\S+", "g"),
5532 Je = l({}, Be.Default, {
5533 placement: "right",
5534 trigger: "click",
5535 content: "",
5536 template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
5537 }),
5538 Ze = l({}, Be.DefaultType, {
5539 content: "(string|element|function)"
5540 }),
5541 tn = "fade",
5542 en = "show",
5543 nn = ".popover-header",
5544 on = ".popover-body",
5545 rn = {
5546 HIDE: "hide" + ze,
5547 HIDDEN: "hidden" + ze,
5548 SHOW: "show" + ze,
5549 SHOWN: "shown" + ze,
5550 INSERTED: "inserted" + ze,
5551 CLICK: "click" + ze,
5552 FOCUSIN: "focusin" + ze,
5553 FOCUSOUT: "focusout" + ze,
5554 MOUSEENTER: "mouseenter" + ze,
5555 MOUSELEAVE: "mouseleave" + ze
5556 },
5557 sn = function (t) {
5558 var e, n;
5559
5560 function i() {
5561 return t.apply(this, arguments) || this
5562 }
5563 n = t, (e = i).prototype = Object.create(n.prototype), (e.prototype.constructor = e).__proto__ = n;
5564 var o = i.prototype;
5565 return o.isWithContent = function () {
5566 return this.getTitle() || this._getContent()
5567 }, o.addAttachmentClass = function (t) {
5568 g(this.getTipElement()).addClass($e + "-" + t)
5569 }, o.getTipElement = function () {
5570 return this.tip = this.tip || g(this.config.template)[0], this.tip
5571 }, o.setContent = function () {
5572 var t = g(this.getTipElement());
5573 this.setElementContent(t.find(nn), this.getTitle());
5574 var e = this._getContent();
5575 "function" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(on), e), t.removeClass(tn + " " + en)
5576 }, o._getContent = function () {
5577 return this.element.getAttribute("data-content") || this.config.content
5578 }, o._cleanTipClass = function () {
5579 var t = g(this.getTipElement()),
5580 e = t.attr("class").match(Ge);
5581 null !== e && 0 < e.length && t.removeClass(e.join(""))
5582 }, i._jQueryInterface = function (n) {
5583 return this.each(function () {
5584 var t = g(this).data(Ye),
5585 e = "object" == typeof n ? n : null;
5586 if ((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ye, t)), "string" == typeof n)) {
5587 if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
5588 t[n]()
5589 }
5590 })
5591 }, s(i, null, [{
5592 key: "VERSION",
5593 get: function () {
5594 return "4.3.1"
5595 }
5596 }, {
5597 key: "Default",
5598 get: function () {
5599 return Je
5600 }
5601 }, {
5602 key: "NAME",
5603 get: function () {
5604 return Ve
5605 }
5606 }, {
5607 key: "DATA_KEY",
5608 get: function () {
5609 return Ye
5610 }
5611 }, {
5612 key: "Event",
5613 get: function () {
5614 return rn
5615 }
5616 }, {
5617 key: "EVENT_KEY",
5618 get: function () {
5619 return ze
5620 }
5621 }, {
5622 key: "DefaultType",
5623 get: function () {
5624 return Ze
5625 }
5626 }]), i
5627 }(Be);
5628 g.fn[Ve] = sn._jQueryInterface, g.fn[Ve].Constructor = sn, g.fn[Ve].noConflict = function () {
5629 return g.fn[Ve] = Xe, sn._jQueryInterface
5630 };
5631 var an = "scrollspy",
5632 ln = "bs.scrollspy",
5633 cn = "." + ln,
5634 hn = g.fn[an],
5635 un = {
5636 offset: 10,
5637 method: "auto",
5638 target: ""
5639 },
5640 fn = {
5641 offset: "number",
5642 method: "string",
5643 target: "(string|element)"
5644 },
5645 dn = {
5646 ACTIVATE: "activate" + cn,
5647 SCROLL: "scroll" + cn,
5648 LOAD_DATA_API: "load" + cn + ".data-api"
5649 },
5650 gn = "dropdown-item",
5651 _n = "active",
5652 mn = '[data-spy="scroll"]',
5653 pn = ".nav, .list-group",
5654 vn = ".nav-link",
5655 yn = ".nav-item",
5656 En = ".list-group-item",
5657 Cn = ".dropdown",
5658 Tn = ".dropdown-item",
5659 Sn = ".dropdown-toggle",
5660 bn = "offset",
5661 In = "position",
5662 Dn = function () {
5663 function n(t, e) {
5664 var n = this;
5665 this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + " " + vn + "," + this._config.target + " " + En + "," + this._config.target + " " + Tn, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, g(this._scrollElement).on(dn.SCROLL, function (t) {
5666 return n._process(t)
5667 }), this.refresh(), this._process()
5668 }
5669 var t = n.prototype;
5670 return t.refresh = function () {
5671 var e = this,
5672 t = this._scrollElement === this._scrollElement.window ? bn : In,
5673 o = "auto" === this._config.method ? t : this._config.method,
5674 r = o === In ? this._getScrollTop() : 0;
5675 this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function (t) {
5676 var e, n = _.getSelectorFromElement(t);
5677 if (n && (e = document.querySelector(n)), e) {
5678 var i = e.getBoundingClientRect();
5679 if (i.width || i.height) return [g(e)[o]().top + r, n]
5680 }
5681 return null
5682 }).filter(function (t) {
5683 return t
5684 }).sort(function (t, e) {
5685 return t[0] - e[0]
5686 }).forEach(function (t) {
5687 e._offsets.push(t[0]), e._targets.push(t[1])
5688 })
5689 }, t.dispose = function () {
5690 g.removeData(this._element, ln), g(this._scrollElement).off(cn), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
5691 }, t._getConfig = function (t) {
5692 if ("string" != typeof (t = l({}, un, "object" == typeof t && t ? t : {})).target) {
5693 var e = g(t.target).attr("id");
5694 e || (e = _.getUID(an), g(t.target).attr("id", e)), t.target = "#" + e
5695 }
5696 return _.typeCheckConfig(an, t, fn), t
5697 }, t._getScrollTop = function () {
5698 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
5699 }, t._getScrollHeight = function () {
5700 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
5701 }, t._getOffsetHeight = function () {
5702 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
5703 }, t._process = function () {
5704 var t = this._getScrollTop() + this._config.offset,
5705 e = this._getScrollHeight(),
5706 n = this._config.offset + e - this._getOffsetHeight();
5707 if (this._scrollHeight !== e && this.refresh(), n <= t) {
5708 var i = this._targets[this._targets.length - 1];
5709 this._activeTarget !== i && this._activate(i)
5710 } else {
5711 if (this._activeTarget && t < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear();
5712 for (var o = this._offsets.length; o--;) {
5713 this._activeTarget !== this._targets[o] && t >= this._offsets[o] && ("undefined" == typeof this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o])
5714 }
5715 }
5716 }, t._activate = function (e) {
5717 this._activeTarget = e, this._clear();
5718 var t = this._selector.split(",").map(function (t) {
5719 return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]'
5720 }),
5721 n = g([].slice.call(document.querySelectorAll(t.join(","))));
5722 n.hasClass(gn) ? (n.closest(Cn).find(Sn).addClass(_n), n.addClass(_n)) : (n.addClass(_n), n.parents(pn).prev(vn + ", " + En).addClass(_n), n.parents(pn).prev(yn).children(vn).addClass(_n)), g(this._scrollElement).trigger(dn.ACTIVATE, {
5723 relatedTarget: e
5724 })
5725 }, t._clear = function () {
5726 [].slice.call(document.querySelectorAll(this._selector)).filter(function (t) {
5727 return t.classList.contains(_n)
5728 }).forEach(function (t) {
5729 return t.classList.remove(_n)
5730 })
5731 }, n._jQueryInterface = function (e) {
5732 return this.each(function () {
5733 var t = g(this).data(ln);
5734 if (t || (t = new n(this, "object" == typeof e && e), g(this).data(ln, t)), "string" == typeof e) {
5735 if ("undefined" == typeof t[e]) throw new TypeError('No method named "' + e + '"');
5736 t[e]()
5737 }
5738 })
5739 }, s(n, null, [{
5740 key: "VERSION",
5741 get: function () {
5742 return "4.3.1"
5743 }
5744 }, {
5745 key: "Default",
5746 get: function () {
5747 return un
5748 }
5749 }]), n
5750 }();
5751 g(window).on(dn.LOAD_DATA_API, function () {
5752 for (var t = [].slice.call(document.querySelectorAll(mn)), e = t.length; e--;) {
5753 var n = g(t[e]);
5754 Dn._jQueryInterface.call(n, n.data())
5755 }
5756 }), g.fn[an] = Dn._jQueryInterface, g.fn[an].Constructor = Dn, g.fn[an].noConflict = function () {
5757 return g.fn[an] = hn, Dn._jQueryInterface
5758 };
5759 var wn = "bs.tab",
5760 An = "." + wn,
5761 Nn = g.fn.tab,
5762 On = {
5763 HIDE: "hide" + An,
5764 HIDDEN: "hidden" + An,
5765 SHOW: "show" + An,
5766 SHOWN: "shown" + An,
5767 CLICK_DATA_API: "click" + An + ".data-api"
5768 },
5769 kn = "dropdown-menu",
5770 Pn = "active",
5771 Ln = "disabled",
5772 jn = "fade",
5773 Hn = "show",
5774 Rn = ".dropdown",
5775 xn = ".nav, .list-group",
5776 Fn = ".active",
5777 Un = "> li > .active",
5778 Wn = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
5779 qn = ".dropdown-toggle",
5780 Mn = "> .dropdown-menu .active",
5781 Kn = function () {
5782 function i(t) {
5783 this._element = t
5784 }
5785 var t = i.prototype;
5786 return t.show = function () {
5787 var n = this;
5788 if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && g(this._element).hasClass(Pn) || g(this._element).hasClass(Ln))) {
5789 var t, i, e = g(this._element).closest(xn)[0],
5790 o = _.getSelectorFromElement(this._element);
5791 if (e) {
5792 var r = "UL" === e.nodeName || "OL" === e.nodeName ? Un : Fn;
5793 i = (i = g.makeArray(g(e).find(r)))[i.length - 1]
5794 }
5795 var s = g.Event(On.HIDE, {
5796 relatedTarget: this._element
5797 }),
5798 a = g.Event(On.SHOW, {
5799 relatedTarget: i
5800 });
5801 if (i && g(i).trigger(s), g(this._element).trigger(a), !a.isDefaultPrevented() && !s.isDefaultPrevented()) {
5802 o && (t = document.querySelector(o)), this._activate(this._element, e);
5803 var l = function () {
5804 var t = g.Event(On.HIDDEN, {
5805 relatedTarget: n._element
5806 }),
5807 e = g.Event(On.SHOWN, {
5808 relatedTarget: i
5809 });
5810 g(i).trigger(t), g(n._element).trigger(e)
5811 };
5812 t ? this._activate(t, t.parentNode, l) : l()
5813 }
5814 }
5815 }, t.dispose = function () {
5816 g.removeData(this._element, wn), this._element = null
5817 }, t._activate = function (t, e, n) {
5818 var i = this,
5819 o = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? g(e).children(Fn) : g(e).find(Un))[0],
5820 r = n && o && g(o).hasClass(jn),
5821 s = function () {
5822 return i._transitionComplete(t, o, n)
5823 };
5824 if (o && r) {
5825 var a = _.getTransitionDurationFromElement(o);
5826 g(o).removeClass(Hn).one(_.TRANSITION_END, s).emulateTransitionEnd(a)
5827 } else s()
5828 }, t._transitionComplete = function (t, e, n) {
5829 if (e) {
5830 g(e).removeClass(Pn);
5831 var i = g(e.parentNode).find(Mn)[0];
5832 i && g(i).removeClass(Pn), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1)
5833 }
5834 if (g(t).addClass(Pn), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), _.reflow(t), t.classList.contains(jn) && t.classList.add(Hn), t.parentNode && g(t.parentNode).hasClass(kn)) {
5835 var o = g(t).closest(Rn)[0];
5836 if (o) {
5837 var r = [].slice.call(o.querySelectorAll(qn));
5838 g(r).addClass(Pn)
5839 }
5840 t.setAttribute("aria-expanded", !0)
5841 }
5842 n && n()
5843 }, i._jQueryInterface = function (n) {
5844 return this.each(function () {
5845 var t = g(this),
5846 e = t.data(wn);
5847 if (e || (e = new i(this), t.data(wn, e)), "string" == typeof n) {
5848 if ("undefined" == typeof e[n]) throw new TypeError('No method named "' + n + '"');
5849 e[n]()
5850 }
5851 })
5852 }, s(i, null, [{
5853 key: "VERSION",
5854 get: function () {
5855 return "4.3.1"
5856 }
5857 }]), i
5858 }();
5859 g(document).on(On.CLICK_DATA_API, Wn, function (t) {
5860 t.preventDefault(), Kn._jQueryInterface.call(g(this), "show")
5861 }), g.fn.tab = Kn._jQueryInterface, g.fn.tab.Constructor = Kn, g.fn.tab.noConflict = function () {
5862 return g.fn.tab = Nn, Kn._jQueryInterface
5863 };
5864 var Qn = "toast",
5865 Bn = "bs.toast",
5866 Vn = "." + Bn,
5867 Yn = g.fn[Qn],
5868 zn = {
5869 CLICK_DISMISS: "click.dismiss" + Vn,
5870 HIDE: "hide" + Vn,
5871 HIDDEN: "hidden" + Vn,
5872 SHOW: "show" + Vn,
5873 SHOWN: "shown" + Vn
5874 },
5875 Xn = "fade",
5876 $n = "hide",
5877 Gn = "show",
5878 Jn = "showing",
5879 Zn = {
5880 animation: "boolean",
5881 autohide: "boolean",
5882 delay: "number"
5883 },
5884 ti = {
5885 animation: !0,
5886 autohide: !0,
5887 delay: 500
5888 },
5889 ei = '[data-dismiss="toast"]',
5890 ni = function () {
5891 function i(t, e) {
5892 this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners()
5893 }
5894 var t = i.prototype;
5895 return t.show = function () {
5896 var t = this;
5897 g(this._element).trigger(zn.SHOW), this._config.animation && this._element.classList.add(Xn);
5898 var e = function () {
5899 t._element.classList.remove(Jn), t._element.classList.add(Gn), g(t._element).trigger(zn.SHOWN), t._config.autohide && t.hide()
5900 };
5901 if (this._element.classList.remove($n), this._element.classList.add(Jn), this._config.animation) {
5902 var n = _.getTransitionDurationFromElement(this._element);
5903 g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
5904 } else e()
5905 }, t.hide = function (t) {
5906 var e = this;
5907 this._element.classList.contains(Gn) && (g(this._element).trigger(zn.HIDE), t ? this._close() : this._timeout = setTimeout(function () {
5908 e._close()
5909 }, this._config.delay))
5910 }, t.dispose = function () {
5911 clearTimeout(this._timeout), this._timeout = null, this._element.classList.contains(Gn) && this._element.classList.remove(Gn), g(this._element).off(zn.CLICK_DISMISS), g.removeData(this._element, Bn), this._element = null, this._config = null
5912 }, t._getConfig = function (t) {
5913 return t = l({}, ti, g(this._element).data(), "object" == typeof t && t ? t : {}), _.typeCheckConfig(Qn, t, this.constructor.DefaultType), t
5914 }, t._setListeners = function () {
5915 var t = this;
5916 g(this._element).on(zn.CLICK_DISMISS, ei, function () {
5917 return t.hide(!0)
5918 })
5919 }, t._close = function () {
5920 var t = this,
5921 e = function () {
5922 t._element.classList.add($n), g(t._element).trigger(zn.HIDDEN)
5923 };
5924 if (this._element.classList.remove(Gn), this._config.animation) {
5925 var n = _.getTransitionDurationFromElement(this._element);
5926 g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
5927 } else e()
5928 }, i._jQueryInterface = function (n) {
5929 return this.each(function () {
5930 var t = g(this),
5931 e = t.data(Bn);
5932 if (e || (e = new i(this, "object" == typeof n && n), t.data(Bn, e)), "string" == typeof n) {
5933 if ("undefined" == typeof e[n]) throw new TypeError('No method named "' + n + '"');
5934 e[n](this)
5935 }
5936 })
5937 }, s(i, null, [{
5938 key: "VERSION",
5939 get: function () {
5940 return "4.3.1"
5941 }
5942 }, {
5943 key: "DefaultType",
5944 get: function () {
5945 return Zn
5946 }
5947 }, {
5948 key: "Default",
5949 get: function () {
5950 return ti
5951 }
5952 }]), i
5953 }();
5954 g.fn[Qn] = ni._jQueryInterface, g.fn[Qn].Constructor = ni, g.fn[Qn].noConflict = function () {
5955 return g.fn[Qn] = Yn, ni._jQueryInterface
5956 },
5957 function () {
5958 if ("undefined" == typeof g) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
5959 var t = g.fn.jquery.split(" ")[0].split(".");
5960 if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
5961 }(), t.Util = _, t.Alert = p, t.Button = P, t.Carousel = lt, t.Collapse = bt, t.Dropdown = Jt, t.Modal = ve, t.Popover = sn, t.Scrollspy = Dn, t.Tab = Kn, t.Toast = ni, t.Tooltip = Be, Object.defineProperty(t, "__esModule", {
5962 value: !0
5963 })
5964});
5965//# sourceMappingURL=bootstrap.min.js.map
5966
5967/*!
5968 * perfect-scrollbar v1.4.0
5969 * (c) 2018 Hyunje Jun
5970 * @license MIT
5971 */
5972! function (t, e) {
5973 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.PerfectScrollbar = e()
5974}(this, function () {
5975 "use strict";
5976
5977 function t(t) {
5978 return getComputedStyle(t)
5979 }
5980
5981 function e(t, e) {
5982 for (var i in e) {
5983 var r = e[i];
5984 "number" == typeof r && (r += "px"), t.style[i] = r
5985 }
5986 return t
5987 }
5988
5989 function i(t) {
5990 var e = document.createElement("div");
5991 return e.className = t, e
5992 }
5993
5994 function r(t, e) {
5995 if (!v) throw new Error("No element matching method supported");
5996 return v.call(t, e)
5997 }
5998
5999 function l(t) {
6000 t.remove ? t.remove() : t.parentNode && t.parentNode.removeChild(t)
6001 }
6002
6003 function n(t, e) {
6004 return Array.prototype.filter.call(t.children, function (t) {
6005 return r(t, e)
6006 })
6007 }
6008
6009 function o(t, e) {
6010 var i = t.element.classList,
6011 r = m.state.scrolling(e);
6012 i.contains(r) ? clearTimeout(Y[e]) : i.add(r)
6013 }
6014
6015 function s(t, e) {
6016 Y[e] = setTimeout(function () {
6017 return t.isAlive && t.element.classList.remove(m.state.scrolling(e))
6018 }, t.settings.scrollingThreshold)
6019 }
6020
6021 function a(t, e) {
6022 o(t, e), s(t, e)
6023 }
6024
6025 function c(t) {
6026 if ("function" == typeof window.CustomEvent) return new CustomEvent(t);
6027 var e = document.createEvent("CustomEvent");
6028 return e.initCustomEvent(t, !1, !1, void 0), e
6029 }
6030
6031 function h(t, e, i, r, l) {
6032 var n = i[0],
6033 o = i[1],
6034 s = i[2],
6035 h = i[3],
6036 u = i[4],
6037 d = i[5];
6038 void 0 === r && (r = !0), void 0 === l && (l = !1);
6039 var f = t.element;
6040 t.reach[h] = null, f[s] < 1 && (t.reach[h] = "start"), f[s] > t[n] - t[o] - 1 && (t.reach[h] = "end"), e && (f.dispatchEvent(c("ps-scroll-" + h)), e < 0 ? f.dispatchEvent(c("ps-scroll-" + u)) : e > 0 && f.dispatchEvent(c("ps-scroll-" + d)), r && a(t, h)), t.reach[h] && (e || l) && f.dispatchEvent(c("ps-" + h + "-reach-" + t.reach[h]))
6041 }
6042
6043 function u(t) {
6044 return parseInt(t, 10) || 0
6045 }
6046
6047 function d(t) {
6048 return r(t, "input,[contenteditable]") || r(t, "select,[contenteditable]") || r(t, "textarea,[contenteditable]") || r(t, "button,[contenteditable]")
6049 }
6050
6051 function f(e) {
6052 var i = t(e);
6053 return u(i.width) + u(i.paddingLeft) + u(i.paddingRight) + u(i.borderLeftWidth) + u(i.borderRightWidth)
6054 }
6055
6056 function p(t, e) {
6057 return t.settings.minScrollbarLength && (e = Math.max(e, t.settings.minScrollbarLength)), t.settings.maxScrollbarLength && (e = Math.min(e, t.settings.maxScrollbarLength)), e
6058 }
6059
6060 function b(t, i) {
6061 var r = {
6062 width: i.railXWidth
6063 },
6064 l = Math.floor(t.scrollTop);
6065 i.isRtl ? r.left = i.negativeScrollAdjustment + t.scrollLeft + i.containerWidth - i.contentWidth : r.left = t.scrollLeft, i.isScrollbarXUsingBottom ? r.bottom = i.scrollbarXBottom - l : r.top = i.scrollbarXTop + l, e(i.scrollbarXRail, r);
6066 var n = {
6067 top: l,
6068 height: i.railYHeight
6069 };
6070 i.isScrollbarYUsingRight ? i.isRtl ? n.right = i.contentWidth - (i.negativeScrollAdjustment + t.scrollLeft) - i.scrollbarYRight - i.scrollbarYOuterWidth : n.right = i.scrollbarYRight - t.scrollLeft : i.isRtl ? n.left = i.negativeScrollAdjustment + t.scrollLeft + 2 * i.containerWidth - i.contentWidth - i.scrollbarYLeft - i.scrollbarYOuterWidth : n.left = i.scrollbarYLeft + t.scrollLeft, e(i.scrollbarYRail, n), e(i.scrollbarX, {
6071 left: i.scrollbarXLeft,
6072 width: i.scrollbarXWidth - i.railBorderXWidth
6073 }), e(i.scrollbarY, {
6074 top: i.scrollbarYTop,
6075 height: i.scrollbarYHeight - i.railBorderYWidth
6076 })
6077 }
6078
6079 function g(t, e) {
6080 function i(e) {
6081 b[d] = g + Y * (e[a] - v), o(t, f), R(t), e.stopPropagation(), e.preventDefault()
6082 }
6083
6084 function r() {
6085 s(t, f), t[p].classList.remove(m.state.clicking), t.event.unbind(t.ownerDocument, "mousemove", i)
6086 }
6087 var l = e[0],
6088 n = e[1],
6089 a = e[2],
6090 c = e[3],
6091 h = e[4],
6092 u = e[5],
6093 d = e[6],
6094 f = e[7],
6095 p = e[8],
6096 b = t.element,
6097 g = null,
6098 v = null,
6099 Y = null;
6100 t.event.bind(t[h], "mousedown", function (e) {
6101 g = b[d], v = e[a], Y = (t[n] - t[l]) / (t[c] - t[u]), t.event.bind(t.ownerDocument, "mousemove", i), t.event.once(t.ownerDocument, "mouseup", r), t[p].classList.add(m.state.clicking), e.stopPropagation(), e.preventDefault()
6102 })
6103 }
6104 var v = "undefined" != typeof Element && (Element.prototype.matches || Element.prototype.webkitMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector),
6105 m = {
6106 main: "ps",
6107 element: {
6108 thumb: function (t) {
6109 return "ps__thumb-" + t
6110 },
6111 rail: function (t) {
6112 return "ps__rail-" + t
6113 },
6114 consuming: "ps__child--consume"
6115 },
6116 state: {
6117 focus: "ps--focus",
6118 clicking: "ps--clicking",
6119 active: function (t) {
6120 return "ps--active-" + t
6121 },
6122 scrolling: function (t) {
6123 return "ps--scrolling-" + t
6124 }
6125 }
6126 },
6127 Y = {
6128 x: null,
6129 y: null
6130 },
6131 X = function (t) {
6132 this.element = t, this.handlers = {}
6133 },
6134 w = {
6135 isEmpty: {
6136 configurable: !0
6137 }
6138 };
6139 X.prototype.bind = function (t, e) {
6140 void 0 === this.handlers[t] && (this.handlers[t] = []), this.handlers[t].push(e), this.element.addEventListener(t, e, !1)
6141 }, X.prototype.unbind = function (t, e) {
6142 var i = this;
6143 this.handlers[t] = this.handlers[t].filter(function (r) {
6144 return !(!e || r === e) || (i.element.removeEventListener(t, r, !1), !1)
6145 })
6146 }, X.prototype.unbindAll = function () {
6147 var t = this;
6148 for (var e in t.handlers) t.unbind(e)
6149 }, w.isEmpty.get = function () {
6150 var t = this;
6151 return Object.keys(this.handlers).every(function (e) {
6152 return 0 === t.handlers[e].length
6153 })
6154 }, Object.defineProperties(X.prototype, w);
6155 var y = function () {
6156 this.eventElements = []
6157 };
6158 y.prototype.eventElement = function (t) {
6159 var e = this.eventElements.filter(function (e) {
6160 return e.element === t
6161 })[0];
6162 return e || (e = new X(t), this.eventElements.push(e)), e
6163 }, y.prototype.bind = function (t, e, i) {
6164 this.eventElement(t).bind(e, i)
6165 }, y.prototype.unbind = function (t, e, i) {
6166 var r = this.eventElement(t);
6167 r.unbind(e, i), r.isEmpty && this.eventElements.splice(this.eventElements.indexOf(r), 1)
6168 }, y.prototype.unbindAll = function () {
6169 this.eventElements.forEach(function (t) {
6170 return t.unbindAll()
6171 }), this.eventElements = []
6172 }, y.prototype.once = function (t, e, i) {
6173 var r = this.eventElement(t),
6174 l = function (t) {
6175 r.unbind(e, l), i(t)
6176 };
6177 r.bind(e, l)
6178 };
6179 var W = function (t, e, i, r, l) {
6180 void 0 === r && (r = !0), void 0 === l && (l = !1);
6181 var n;
6182 if ("top" === e) n = ["contentHeight", "containerHeight", "scrollTop", "y", "up", "down"];
6183 else {
6184 if ("left" !== e) throw new Error("A proper axis should be provided");
6185 n = ["contentWidth", "containerWidth", "scrollLeft", "x", "left", "right"]
6186 }
6187 h(t, i, n, r, l)
6188 },
6189 L = {
6190 isWebKit: "undefined" != typeof document && "WebkitAppearance" in document.documentElement.style,
6191 supportsTouch: "undefined" != typeof window && ("ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch),
6192 supportsIePointer: "undefined" != typeof navigator && navigator.msMaxTouchPoints,
6193 isChrome: "undefined" != typeof navigator && /Chrome/i.test(navigator && navigator.userAgent)
6194 },
6195 R = function (t) {
6196 var e = t.element,
6197 i = Math.floor(e.scrollTop);
6198 t.containerWidth = e.clientWidth, t.containerHeight = e.clientHeight, t.contentWidth = e.scrollWidth, t.contentHeight = e.scrollHeight, e.contains(t.scrollbarXRail) || (n(e, m.element.rail("x")).forEach(function (t) {
6199 return l(t)
6200 }), e.appendChild(t.scrollbarXRail)), e.contains(t.scrollbarYRail) || (n(e, m.element.rail("y")).forEach(function (t) {
6201 return l(t)
6202 }), e.appendChild(t.scrollbarYRail)), !t.settings.suppressScrollX && t.containerWidth + t.settings.scrollXMarginOffset < t.contentWidth ? (t.scrollbarXActive = !0, t.railXWidth = t.containerWidth - t.railXMarginWidth, t.railXRatio = t.containerWidth / t.railXWidth, t.scrollbarXWidth = p(t, u(t.railXWidth * t.containerWidth / t.contentWidth)), t.scrollbarXLeft = u((t.negativeScrollAdjustment + e.scrollLeft) * (t.railXWidth - t.scrollbarXWidth) / (t.contentWidth - t.containerWidth))) : t.scrollbarXActive = !1, !t.settings.suppressScrollY && t.containerHeight + t.settings.scrollYMarginOffset < t.contentHeight ? (t.scrollbarYActive = !0, t.railYHeight = t.containerHeight - t.railYMarginHeight, t.railYRatio = t.containerHeight / t.railYHeight, t.scrollbarYHeight = p(t, u(t.railYHeight * t.containerHeight / t.contentHeight)), t.scrollbarYTop = u(i * (t.railYHeight - t.scrollbarYHeight) / (t.contentHeight - t.containerHeight))) : t.scrollbarYActive = !1, t.scrollbarXLeft >= t.railXWidth - t.scrollbarXWidth && (t.scrollbarXLeft = t.railXWidth - t.scrollbarXWidth), t.scrollbarYTop >= t.railYHeight - t.scrollbarYHeight && (t.scrollbarYTop = t.railYHeight - t.scrollbarYHeight), b(e, t), t.scrollbarXActive ? e.classList.add(m.state.active("x")) : (e.classList.remove(m.state.active("x")), t.scrollbarXWidth = 0, t.scrollbarXLeft = 0, e.scrollLeft = 0), t.scrollbarYActive ? e.classList.add(m.state.active("y")) : (e.classList.remove(m.state.active("y")), t.scrollbarYHeight = 0, t.scrollbarYTop = 0, e.scrollTop = 0)
6203 },
6204 T = {
6205 "click-rail": function (t) {
6206 t.event.bind(t.scrollbarY, "mousedown", function (t) {
6207 return t.stopPropagation()
6208 }), t.event.bind(t.scrollbarYRail, "mousedown", function (e) {
6209 var i = e.pageY - window.pageYOffset - t.scrollbarYRail.getBoundingClientRect().top > t.scrollbarYTop ? 1 : -1;
6210 t.element.scrollTop += i * t.containerHeight, R(t), e.stopPropagation()
6211 }), t.event.bind(t.scrollbarX, "mousedown", function (t) {
6212 return t.stopPropagation()
6213 }), t.event.bind(t.scrollbarXRail, "mousedown", function (e) {
6214 var i = e.pageX - window.pageXOffset - t.scrollbarXRail.getBoundingClientRect().left > t.scrollbarXLeft ? 1 : -1;
6215 t.element.scrollLeft += i * t.containerWidth, R(t), e.stopPropagation()
6216 })
6217 },
6218 "drag-thumb": function (t) {
6219 g(t, ["containerWidth", "contentWidth", "pageX", "railXWidth", "scrollbarX", "scrollbarXWidth", "scrollLeft", "x", "scrollbarXRail"]), g(t, ["containerHeight", "contentHeight", "pageY", "railYHeight", "scrollbarY", "scrollbarYHeight", "scrollTop", "y", "scrollbarYRail"])
6220 },
6221 keyboard: function (t) {
6222 function e(e, r) {
6223 var l = Math.floor(i.scrollTop);
6224 if (0 === e) {
6225 if (!t.scrollbarYActive) return !1;
6226 if (0 === l && r > 0 || l >= t.contentHeight - t.containerHeight && r < 0) return !t.settings.wheelPropagation
6227 }
6228 var n = i.scrollLeft;
6229 if (0 === r) {
6230 if (!t.scrollbarXActive) return !1;
6231 if (0 === n && e < 0 || n >= t.contentWidth - t.containerWidth && e > 0) return !t.settings.wheelPropagation
6232 }
6233 return !0
6234 }
6235 var i = t.element,
6236 l = function () {
6237 return r(i, ":hover")
6238 },
6239 n = function () {
6240 return r(t.scrollbarX, ":focus") || r(t.scrollbarY, ":focus")
6241 };
6242 t.event.bind(t.ownerDocument, "keydown", function (r) {
6243 if (!(r.isDefaultPrevented && r.isDefaultPrevented() || r.defaultPrevented) && (l() || n())) {
6244 var o = document.activeElement ? document.activeElement : t.ownerDocument.activeElement;
6245 if (o) {
6246 if ("IFRAME" === o.tagName) o = o.contentDocument.activeElement;
6247 else
6248 for (; o.shadowRoot;) o = o.shadowRoot.activeElement;
6249 if (d(o)) return
6250 }
6251 var s = 0,
6252 a = 0;
6253 switch (r.which) {
6254 case 37:
6255 s = r.metaKey ? -t.contentWidth : r.altKey ? -t.containerWidth : -30;
6256 break;
6257 case 38:
6258 a = r.metaKey ? t.contentHeight : r.altKey ? t.containerHeight : 30;
6259 break;
6260 case 39:
6261 s = r.metaKey ? t.contentWidth : r.altKey ? t.containerWidth : 30;
6262 break;
6263 case 40:
6264 a = r.metaKey ? -t.contentHeight : r.altKey ? -t.containerHeight : -30;
6265 break;
6266 case 32:
6267 a = r.shiftKey ? t.containerHeight : -t.containerHeight;
6268 break;
6269 case 33:
6270 a = t.containerHeight;
6271 break;
6272 case 34:
6273 a = -t.containerHeight;
6274 break;
6275 case 36:
6276 a = t.contentHeight;
6277 break;
6278 case 35:
6279 a = -t.contentHeight;
6280 break;
6281 default:
6282 return
6283 }
6284 t.settings.suppressScrollX && 0 !== s || t.settings.suppressScrollY && 0 !== a || (i.scrollTop -= a, i.scrollLeft += s, R(t), e(s, a) && r.preventDefault())
6285 }
6286 })
6287 },
6288 wheel: function (e) {
6289 function i(t, i) {
6290 var r = Math.floor(o.scrollTop),
6291 l = 0 === o.scrollTop,
6292 n = r + o.offsetHeight === o.scrollHeight,
6293 s = 0 === o.scrollLeft,
6294 a = o.scrollLeft + o.offsetWidth === o.scrollWidth;
6295 return !(Math.abs(i) > Math.abs(t) ? l || n : s || a) || !e.settings.wheelPropagation
6296 }
6297
6298 function r(t) {
6299 var e = t.deltaX,
6300 i = -1 * t.deltaY;
6301 return void 0 !== e && void 0 !== i || (e = -1 * t.wheelDeltaX / 6, i = t.wheelDeltaY / 6), t.deltaMode && 1 === t.deltaMode && (e *= 10, i *= 10), e !== e && i !== i && (e = 0, i = t.wheelDelta), t.shiftKey ? [-i, -e] : [e, i]
6302 }
6303
6304 function l(e, i, r) {
6305 if (!L.isWebKit && o.querySelector("select:focus")) return !0;
6306 if (!o.contains(e)) return !1;
6307 for (var l = e; l && l !== o;) {
6308 if (l.classList.contains(m.element.consuming)) return !0;
6309 var n = t(l);
6310 if ([n.overflow, n.overflowX, n.overflowY].join("").match(/(scroll|auto)/)) {
6311 var s = l.scrollHeight - l.clientHeight;
6312 if (s > 0 && !(0 === l.scrollTop && r > 0 || l.scrollTop === s && r < 0)) return !0;
6313 var a = l.scrollWidth - l.clientWidth;
6314 if (a > 0 && !(0 === l.scrollLeft && i < 0 || l.scrollLeft === a && i > 0)) return !0
6315 }
6316 l = l.parentNode
6317 }
6318 return !1
6319 }
6320
6321 function n(t) {
6322 var n = r(t),
6323 s = n[0],
6324 a = n[1];
6325 if (!l(t.target, s, a)) {
6326 var c = !1;
6327 e.settings.useBothWheelAxes ? e.scrollbarYActive && !e.scrollbarXActive ? (a ? o.scrollTop -= a * e.settings.wheelSpeed : o.scrollTop += s * e.settings.wheelSpeed, c = !0) : e.scrollbarXActive && !e.scrollbarYActive && (s ? o.scrollLeft += s * e.settings.wheelSpeed : o.scrollLeft -= a * e.settings.wheelSpeed, c = !0) : (o.scrollTop -= a * e.settings.wheelSpeed, o.scrollLeft += s * e.settings.wheelSpeed), R(e), (c = c || i(s, a)) && !t.ctrlKey && (t.stopPropagation(), t.preventDefault())
6328 }
6329 }
6330 var o = e.element;
6331 void 0 !== window.onwheel ? e.event.bind(o, "wheel", n) : void 0 !== window.onmousewheel && e.event.bind(o, "mousewheel", n)
6332 },
6333 touch: function (e) {
6334 function i(t, i) {
6335 var r = Math.floor(h.scrollTop),
6336 l = h.scrollLeft,
6337 n = Math.abs(t),
6338 o = Math.abs(i);
6339 if (o > n) {
6340 if (i < 0 && r === e.contentHeight - e.containerHeight || i > 0 && 0 === r) return 0 === window.scrollY && i > 0 && L.isChrome
6341 } else if (n > o && (t < 0 && l === e.contentWidth - e.containerWidth || t > 0 && 0 === l)) return !0;
6342 return !0
6343 }
6344
6345 function r(t, i) {
6346 h.scrollTop -= i, h.scrollLeft -= t, R(e)
6347 }
6348
6349 function l(t) {
6350 return t.targetTouches ? t.targetTouches[0] : t
6351 }
6352
6353 function n(t) {
6354 return !(t.pointerType && "pen" === t.pointerType && 0 === t.buttons || (!t.targetTouches || 1 !== t.targetTouches.length) && (!t.pointerType || "mouse" === t.pointerType || t.pointerType === t.MSPOINTER_TYPE_MOUSE))
6355 }
6356
6357 function o(t) {
6358 if (n(t)) {
6359 var e = l(t);
6360 u.pageX = e.pageX, u.pageY = e.pageY, d = (new Date).getTime(), null !== p && clearInterval(p)
6361 }
6362 }
6363
6364 function s(e, i, r) {
6365 if (!h.contains(e)) return !1;
6366 for (var l = e; l && l !== h;) {
6367 if (l.classList.contains(m.element.consuming)) return !0;
6368 var n = t(l);
6369 if ([n.overflow, n.overflowX, n.overflowY].join("").match(/(scroll|auto)/)) {
6370 var o = l.scrollHeight - l.clientHeight;
6371 if (o > 0 && !(0 === l.scrollTop && r > 0 || l.scrollTop === o && r < 0)) return !0;
6372 var s = l.scrollLeft - l.clientWidth;
6373 if (s > 0 && !(0 === l.scrollLeft && i < 0 || l.scrollLeft === s && i > 0)) return !0
6374 }
6375 l = l.parentNode
6376 }
6377 return !1
6378 }
6379
6380 function a(t) {
6381 if (n(t)) {
6382 var e = l(t),
6383 o = {
6384 pageX: e.pageX,
6385 pageY: e.pageY
6386 },
6387 a = o.pageX - u.pageX,
6388 c = o.pageY - u.pageY;
6389 if (s(t.target, a, c)) return;
6390 r(a, c), u = o;
6391 var h = (new Date).getTime(),
6392 p = h - d;
6393 p > 0 && (f.x = a / p, f.y = c / p, d = h), i(a, c) && t.preventDefault()
6394 }
6395 }
6396
6397 function c() {
6398 e.settings.swipeEasing && (clearInterval(p), p = setInterval(function () {
6399 e.isInitialized ? clearInterval(p) : f.x || f.y ? Math.abs(f.x) < .01 && Math.abs(f.y) < .01 ? clearInterval(p) : (r(30 * f.x, 30 * f.y), f.x *= .8, f.y *= .8) : clearInterval(p)
6400 }, 10))
6401 }
6402 if (L.supportsTouch || L.supportsIePointer) {
6403 var h = e.element,
6404 u = {},
6405 d = 0,
6406 f = {},
6407 p = null;
6408 L.supportsTouch ? (e.event.bind(h, "touchstart", o), e.event.bind(h, "touchmove", a), e.event.bind(h, "touchend", c)) : L.supportsIePointer && (window.PointerEvent ? (e.event.bind(h, "pointerdown", o), e.event.bind(h, "pointermove", a), e.event.bind(h, "pointerup", c)) : window.MSPointerEvent && (e.event.bind(h, "MSPointerDown", o), e.event.bind(h, "MSPointerMove", a), e.event.bind(h, "MSPointerUp", c)))
6409 }
6410 }
6411 },
6412 H = function (r, l) {
6413 var n = this;
6414 if (void 0 === l && (l = {}), "string" == typeof r && (r = document.querySelector(r)), !r || !r.nodeName) throw new Error("no element is specified to initialize PerfectScrollbar");
6415 this.element = r, r.classList.add(m.main), this.settings = {
6416 handlers: ["click-rail", "drag-thumb", "keyboard", "wheel", "touch"],
6417 maxScrollbarLength: null,
6418 minScrollbarLength: null,
6419 scrollingThreshold: 1e3,
6420 scrollXMarginOffset: 0,
6421 scrollYMarginOffset: 0,
6422 suppressScrollX: !1,
6423 suppressScrollY: !1,
6424 swipeEasing: !0,
6425 useBothWheelAxes: !1,
6426 wheelPropagation: !0,
6427 wheelSpeed: 1
6428 };
6429 for (var o in l) n.settings[o] = l[o];
6430 this.containerWidth = null, this.containerHeight = null, this.contentWidth = null, this.contentHeight = null;
6431 var s = function () {
6432 return r.classList.add(m.state.focus)
6433 },
6434 a = function () {
6435 return r.classList.remove(m.state.focus)
6436 };
6437 this.isRtl = "rtl" === t(r).direction, this.isNegativeScroll = function () {
6438 var t = r.scrollLeft,
6439 e = null;
6440 return r.scrollLeft = -1, e = r.scrollLeft < 0, r.scrollLeft = t, e
6441 }(), this.negativeScrollAdjustment = this.isNegativeScroll ? r.scrollWidth - r.clientWidth : 0, this.event = new y, this.ownerDocument = r.ownerDocument || document, this.scrollbarXRail = i(m.element.rail("x")), r.appendChild(this.scrollbarXRail), this.scrollbarX = i(m.element.thumb("x")), this.scrollbarXRail.appendChild(this.scrollbarX), this.scrollbarX.setAttribute("tabindex", 0), this.event.bind(this.scrollbarX, "focus", s), this.event.bind(this.scrollbarX, "blur", a), this.scrollbarXActive = null, this.scrollbarXWidth = null, this.scrollbarXLeft = null;
6442 var c = t(this.scrollbarXRail);
6443 this.scrollbarXBottom = parseInt(c.bottom, 10), isNaN(this.scrollbarXBottom) ? (this.isScrollbarXUsingBottom = !1, this.scrollbarXTop = u(c.top)) : this.isScrollbarXUsingBottom = !0, this.railBorderXWidth = u(c.borderLeftWidth) + u(c.borderRightWidth), e(this.scrollbarXRail, {
6444 display: "block"
6445 }), this.railXMarginWidth = u(c.marginLeft) + u(c.marginRight), e(this.scrollbarXRail, {
6446 display: ""
6447 }), this.railXWidth = null, this.railXRatio = null, this.scrollbarYRail = i(m.element.rail("y")), r.appendChild(this.scrollbarYRail), this.scrollbarY = i(m.element.thumb("y")), this.scrollbarYRail.appendChild(this.scrollbarY), this.scrollbarY.setAttribute("tabindex", 0), this.event.bind(this.scrollbarY, "focus", s), this.event.bind(this.scrollbarY, "blur", a), this.scrollbarYActive = null, this.scrollbarYHeight = null, this.scrollbarYTop = null;
6448 var h = t(this.scrollbarYRail);
6449 this.scrollbarYRight = parseInt(h.right, 10), isNaN(this.scrollbarYRight) ? (this.isScrollbarYUsingRight = !1, this.scrollbarYLeft = u(h.left)) : this.isScrollbarYUsingRight = !0, this.scrollbarYOuterWidth = this.isRtl ? f(this.scrollbarY) : null, this.railBorderYWidth = u(h.borderTopWidth) + u(h.borderBottomWidth), e(this.scrollbarYRail, {
6450 display: "block"
6451 }), this.railYMarginHeight = u(h.marginTop) + u(h.marginBottom), e(this.scrollbarYRail, {
6452 display: ""
6453 }), this.railYHeight = null, this.railYRatio = null, this.reach = {
6454 x: r.scrollLeft <= 0 ? "start" : r.scrollLeft >= this.contentWidth - this.containerWidth ? "end" : null,
6455 y: r.scrollTop <= 0 ? "start" : r.scrollTop >= this.contentHeight - this.containerHeight ? "end" : null
6456 }, this.isAlive = !0, this.settings.handlers.forEach(function (t) {
6457 return T[t](n)
6458 }), this.lastScrollTop = Math.floor(r.scrollTop), this.lastScrollLeft = r.scrollLeft, this.event.bind(this.element, "scroll", function (t) {
6459 return n.onScroll(t)
6460 }), R(this)
6461 };
6462 return H.prototype.update = function () {
6463 this.isAlive && (this.negativeScrollAdjustment = this.isNegativeScroll ? this.element.scrollWidth - this.element.clientWidth : 0, e(this.scrollbarXRail, {
6464 display: "block"
6465 }), e(this.scrollbarYRail, {
6466 display: "block"
6467 }), this.railXMarginWidth = u(t(this.scrollbarXRail).marginLeft) + u(t(this.scrollbarXRail).marginRight), this.railYMarginHeight = u(t(this.scrollbarYRail).marginTop) + u(t(this.scrollbarYRail).marginBottom), e(this.scrollbarXRail, {
6468 display: "none"
6469 }), e(this.scrollbarYRail, {
6470 display: "none"
6471 }), R(this), W(this, "top", 0, !1, !0), W(this, "left", 0, !1, !0), e(this.scrollbarXRail, {
6472 display: ""
6473 }), e(this.scrollbarYRail, {
6474 display: ""
6475 }))
6476 }, H.prototype.onScroll = function (t) {
6477 this.isAlive && (R(this), W(this, "top", this.element.scrollTop - this.lastScrollTop), W(this, "left", this.element.scrollLeft - this.lastScrollLeft), this.lastScrollTop = Math.floor(this.element.scrollTop), this.lastScrollLeft = this.element.scrollLeft)
6478 }, H.prototype.destroy = function () {
6479 this.isAlive && (this.event.unbindAll(), l(this.scrollbarX), l(this.scrollbarY), l(this.scrollbarXRail), l(this.scrollbarYRail), this.removePsClasses(), this.element = null, this.scrollbarX = null, this.scrollbarY = null, this.scrollbarXRail = null, this.scrollbarYRail = null, this.isAlive = !1)
6480 }, H.prototype.removePsClasses = function () {
6481 this.element.className = this.element.className.split(" ").filter(function (t) {
6482 return !t.match(/^ps([-_].+|)$/)
6483 }).join(" ")
6484 }, H
6485});
6486
6487/*! Hammer.JS - v2.0.8 - 2016-04-23
6488 * http://hammerjs.github.io/
6489 *
6490 * Copyright (c) 2016 Jorik Tangelder;
6491 * Licensed under the MIT license */
6492! function (a, b, c, d) {
6493 "use strict";
6494
6495 function e(a, b, c) {
6496 return setTimeout(j(a, c), b)
6497 }
6498
6499 function f(a, b, c) {
6500 return Array.isArray(a) ? (g(a, c[b], c), !0) : !1
6501 }
6502
6503 function g(a, b, c) {
6504 var e;
6505 if (a)
6506 if (a.forEach) a.forEach(b, c);
6507 else if (a.length !== d)
6508 for (e = 0; e < a.length;) b.call(c, a[e], e, a), e++;
6509 else
6510 for (e in a) a.hasOwnProperty(e) && b.call(c, a[e], e, a)
6511 }
6512
6513 function h(b, c, d) {
6514 var e = "DEPRECATED METHOD: " + c + "\n" + d + " AT \n";
6515 return function () {
6516 var c = new Error("get-stack-trace"),
6517 d = c && c.stack ? c.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace",
6518 f = a.console && (a.console.warn || a.console.log);
6519 return f && f.call(a.console, e, d), b.apply(this, arguments)
6520 }
6521 }
6522
6523 function i(a, b, c) {
6524 var d, e = b.prototype;
6525 d = a.prototype = Object.create(e), d.constructor = a, d._super = e, c && la(d, c)
6526 }
6527
6528 function j(a, b) {
6529 return function () {
6530 return a.apply(b, arguments)
6531 }
6532 }
6533
6534 function k(a, b) {
6535 return typeof a == oa ? a.apply(b ? b[0] || d : d, b) : a
6536 }
6537
6538 function l(a, b) {
6539 return a === d ? b : a
6540 }
6541
6542 function m(a, b, c) {
6543 g(q(b), function (b) {
6544 a.addEventListener(b, c, !1)
6545 })
6546 }
6547
6548 function n(a, b, c) {
6549 g(q(b), function (b) {
6550 a.removeEventListener(b, c, !1)
6551 })
6552 }
6553
6554 function o(a, b) {
6555 for (; a;) {
6556 if (a == b) return !0;
6557 a = a.parentNode
6558 }
6559 return !1
6560 }
6561
6562 function p(a, b) {
6563 return a.indexOf(b) > -1
6564 }
6565
6566 function q(a) {
6567 return a.trim().split(/\s+/g)
6568 }
6569
6570 function r(a, b, c) {
6571 if (a.indexOf && !c) return a.indexOf(b);
6572 for (var d = 0; d < a.length;) {
6573 if (c && a[d][c] == b || !c && a[d] === b) return d;
6574 d++
6575 }
6576 return -1
6577 }
6578
6579 function s(a) {
6580 return Array.prototype.slice.call(a, 0)
6581 }
6582
6583 function t(a, b, c) {
6584 for (var d = [], e = [], f = 0; f < a.length;) {
6585 var g = b ? a[f][b] : a[f];
6586 r(e, g) < 0 && d.push(a[f]), e[f] = g, f++
6587 }
6588 return c && (d = b ? d.sort(function (a, c) {
6589 return a[b] > c[b]
6590 }) : d.sort()), d
6591 }
6592
6593 function u(a, b) {
6594 for (var c, e, f = b[0].toUpperCase() + b.slice(1), g = 0; g < ma.length;) {
6595 if (c = ma[g], e = c ? c + f : b, e in a) return e;
6596 g++
6597 }
6598 return d
6599 }
6600
6601 function v() {
6602 return ua++
6603 }
6604
6605 function w(b) {
6606 var c = b.ownerDocument || b;
6607 return c.defaultView || c.parentWindow || a
6608 }
6609
6610 function x(a, b) {
6611 var c = this;
6612 this.manager = a, this.callback = b, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function (b) {
6613 k(a.options.enable, [a]) && c.handler(b)
6614 }, this.init()
6615 }
6616
6617 function y(a) {
6618 var b, c = a.options.inputClass;
6619 return new(b = c ? c : xa ? M : ya ? P : wa ? R : L)(a, z)
6620 }
6621
6622 function z(a, b, c) {
6623 var d = c.pointers.length,
6624 e = c.changedPointers.length,
6625 f = b & Ea && d - e === 0,
6626 g = b & (Ga | Ha) && d - e === 0;
6627 c.isFirst = !!f, c.isFinal = !!g, f && (a.session = {}), c.eventType = b, A(a, c), a.emit("hammer.input", c), a.recognize(c), a.session.prevInput = c
6628 }
6629
6630 function A(a, b) {
6631 var c = a.session,
6632 d = b.pointers,
6633 e = d.length;
6634 c.firstInput || (c.firstInput = D(b)), e > 1 && !c.firstMultiple ? c.firstMultiple = D(b) : 1 === e && (c.firstMultiple = !1);
6635 var f = c.firstInput,
6636 g = c.firstMultiple,
6637 h = g ? g.center : f.center,
6638 i = b.center = E(d);
6639 b.timeStamp = ra(), b.deltaTime = b.timeStamp - f.timeStamp, b.angle = I(h, i), b.distance = H(h, i), B(c, b), b.offsetDirection = G(b.deltaX, b.deltaY);
6640 var j = F(b.deltaTime, b.deltaX, b.deltaY);
6641 b.overallVelocityX = j.x, b.overallVelocityY = j.y, b.overallVelocity = qa(j.x) > qa(j.y) ? j.x : j.y, b.scale = g ? K(g.pointers, d) : 1, b.rotation = g ? J(g.pointers, d) : 0, b.maxPointers = c.prevInput ? b.pointers.length > c.prevInput.maxPointers ? b.pointers.length : c.prevInput.maxPointers : b.pointers.length, C(c, b);
6642 var k = a.element;
6643 o(b.srcEvent.target, k) && (k = b.srcEvent.target), b.target = k
6644 }
6645
6646 function B(a, b) {
6647 var c = b.center,
6648 d = a.offsetDelta || {},
6649 e = a.prevDelta || {},
6650 f = a.prevInput || {};
6651 b.eventType !== Ea && f.eventType !== Ga || (e = a.prevDelta = {
6652 x: f.deltaX || 0,
6653 y: f.deltaY || 0
6654 }, d = a.offsetDelta = {
6655 x: c.x,
6656 y: c.y
6657 }), b.deltaX = e.x + (c.x - d.x), b.deltaY = e.y + (c.y - d.y)
6658 }
6659
6660 function C(a, b) {
6661 var c, e, f, g, h = a.lastInterval || b,
6662 i = b.timeStamp - h.timeStamp;
6663 if (b.eventType != Ha && (i > Da || h.velocity === d)) {
6664 var j = b.deltaX - h.deltaX,
6665 k = b.deltaY - h.deltaY,
6666 l = F(i, j, k);
6667 e = l.x, f = l.y, c = qa(l.x) > qa(l.y) ? l.x : l.y, g = G(j, k), a.lastInterval = b
6668 } else c = h.velocity, e = h.velocityX, f = h.velocityY, g = h.direction;
6669 b.velocity = c, b.velocityX = e, b.velocityY = f, b.direction = g
6670 }
6671
6672 function D(a) {
6673 for (var b = [], c = 0; c < a.pointers.length;) b[c] = {
6674 clientX: pa(a.pointers[c].clientX),
6675 clientY: pa(a.pointers[c].clientY)
6676 }, c++;
6677 return {
6678 timeStamp: ra(),
6679 pointers: b,
6680 center: E(b),
6681 deltaX: a.deltaX,
6682 deltaY: a.deltaY
6683 }
6684 }
6685
6686 function E(a) {
6687 var b = a.length;
6688 if (1 === b) return {
6689 x: pa(a[0].clientX),
6690 y: pa(a[0].clientY)
6691 };
6692 for (var c = 0, d = 0, e = 0; b > e;) c += a[e].clientX, d += a[e].clientY, e++;
6693 return {
6694 x: pa(c / b),
6695 y: pa(d / b)
6696 }
6697 }
6698
6699 function F(a, b, c) {
6700 return {
6701 x: b / a || 0,
6702 y: c / a || 0
6703 }
6704 }
6705
6706 function G(a, b) {
6707 return a === b ? Ia : qa(a) >= qa(b) ? 0 > a ? Ja : Ka : 0 > b ? La : Ma
6708 }
6709
6710 function H(a, b, c) {
6711 c || (c = Qa);
6712 var d = b[c[0]] - a[c[0]],
6713 e = b[c[1]] - a[c[1]];
6714 return Math.sqrt(d * d + e * e)
6715 }
6716
6717 function I(a, b, c) {
6718 c || (c = Qa);
6719 var d = b[c[0]] - a[c[0]],
6720 e = b[c[1]] - a[c[1]];
6721 return 180 * Math.atan2(e, d) / Math.PI
6722 }
6723
6724 function J(a, b) {
6725 return I(b[1], b[0], Ra) + I(a[1], a[0], Ra)
6726 }
6727
6728 function K(a, b) {
6729 return H(b[0], b[1], Ra) / H(a[0], a[1], Ra)
6730 }
6731
6732 function L() {
6733 this.evEl = Ta, this.evWin = Ua, this.pressed = !1, x.apply(this, arguments)
6734 }
6735
6736 function M() {
6737 this.evEl = Xa, this.evWin = Ya, x.apply(this, arguments), this.store = this.manager.session.pointerEvents = []
6738 }
6739
6740 function N() {
6741 this.evTarget = $a, this.evWin = _a, this.started = !1, x.apply(this, arguments)
6742 }
6743
6744 function O(a, b) {
6745 var c = s(a.touches),
6746 d = s(a.changedTouches);
6747 return b & (Ga | Ha) && (c = t(c.concat(d), "identifier", !0)), [c, d]
6748 }
6749
6750 function P() {
6751 this.evTarget = bb, this.targetIds = {}, x.apply(this, arguments)
6752 }
6753
6754 function Q(a, b) {
6755 var c = s(a.touches),
6756 d = this.targetIds;
6757 if (b & (Ea | Fa) && 1 === c.length) return d[c[0].identifier] = !0, [c, c];
6758 var e, f, g = s(a.changedTouches),
6759 h = [],
6760 i = this.target;
6761 if (f = c.filter(function (a) {
6762 return o(a.target, i)
6763 }), b === Ea)
6764 for (e = 0; e < f.length;) d[f[e].identifier] = !0, e++;
6765 for (e = 0; e < g.length;) d[g[e].identifier] && h.push(g[e]), b & (Ga | Ha) && delete d[g[e].identifier], e++;
6766 return h.length ? [t(f.concat(h), "identifier", !0), h] : void 0
6767 }
6768
6769 function R() {
6770 x.apply(this, arguments);
6771 var a = j(this.handler, this);
6772 this.touch = new P(this.manager, a), this.mouse = new L(this.manager, a), this.primaryTouch = null, this.lastTouches = []
6773 }
6774
6775 function S(a, b) {
6776 a & Ea ? (this.primaryTouch = b.changedPointers[0].identifier, T.call(this, b)) : a & (Ga | Ha) && T.call(this, b)
6777 }
6778
6779 function T(a) {
6780 var b = a.changedPointers[0];
6781 if (b.identifier === this.primaryTouch) {
6782 var c = {
6783 x: b.clientX,
6784 y: b.clientY
6785 };
6786 this.lastTouches.push(c);
6787 var d = this.lastTouches,
6788 e = function () {
6789 var a = d.indexOf(c);
6790 a > -1 && d.splice(a, 1)
6791 };
6792 setTimeout(e, cb)
6793 }
6794 }
6795
6796 function U(a) {
6797 for (var b = a.srcEvent.clientX, c = a.srcEvent.clientY, d = 0; d < this.lastTouches.length; d++) {
6798 var e = this.lastTouches[d],
6799 f = Math.abs(b - e.x),
6800 g = Math.abs(c - e.y);
6801 if (db >= f && db >= g) return !0
6802 }
6803 return !1
6804 }
6805
6806 function V(a, b) {
6807 this.manager = a, this.set(b)
6808 }
6809
6810 function W(a) {
6811 if (p(a, jb)) return jb;
6812 var b = p(a, kb),
6813 c = p(a, lb);
6814 return b && c ? jb : b || c ? b ? kb : lb : p(a, ib) ? ib : hb
6815 }
6816
6817 function X() {
6818 if (!fb) return !1;
6819 var b = {},
6820 c = a.CSS && a.CSS.supports;
6821 return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function (d) {
6822 b[d] = c ? a.CSS.supports("touch-action", d) : !0
6823 }), b
6824 }
6825
6826 function Y(a) {
6827 this.options = la({}, this.defaults, a || {}), this.id = v(), this.manager = null, this.options.enable = l(this.options.enable, !0), this.state = nb, this.simultaneous = {}, this.requireFail = []
6828 }
6829
6830 function Z(a) {
6831 return a & sb ? "cancel" : a & qb ? "end" : a & pb ? "move" : a & ob ? "start" : ""
6832 }
6833
6834 function $(a) {
6835 return a == Ma ? "down" : a == La ? "up" : a == Ja ? "left" : a == Ka ? "right" : ""
6836 }
6837
6838 function _(a, b) {
6839 var c = b.manager;
6840 return c ? c.get(a) : a
6841 }
6842
6843 function aa() {
6844 Y.apply(this, arguments)
6845 }
6846
6847 function ba() {
6848 aa.apply(this, arguments), this.pX = null, this.pY = null
6849 }
6850
6851 function ca() {
6852 aa.apply(this, arguments)
6853 }
6854
6855 function da() {
6856 Y.apply(this, arguments), this._timer = null, this._input = null
6857 }
6858
6859 function ea() {
6860 aa.apply(this, arguments)
6861 }
6862
6863 function fa() {
6864 aa.apply(this, arguments)
6865 }
6866
6867 function ga() {
6868 Y.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0
6869 }
6870
6871 function ha(a, b) {
6872 return b = b || {}, b.recognizers = l(b.recognizers, ha.defaults.preset), new ia(a, b)
6873 }
6874
6875 function ia(a, b) {
6876 this.options = la({}, ha.defaults, b || {}), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = a, this.input = y(this), this.touchAction = new V(this, this.options.touchAction), ja(this, !0), g(this.options.recognizers, function (a) {
6877 var b = this.add(new a[0](a[1]));
6878 a[2] && b.recognizeWith(a[2]), a[3] && b.requireFailure(a[3])
6879 }, this)
6880 }
6881
6882 function ja(a, b) {
6883 var c = a.element;
6884 if (c.style) {
6885 var d;
6886 g(a.options.cssProps, function (e, f) {
6887 d = u(c.style, f), b ? (a.oldCssProps[d] = c.style[d], c.style[d] = e) : c.style[d] = a.oldCssProps[d] || ""
6888 }), b || (a.oldCssProps = {})
6889 }
6890 }
6891
6892 function ka(a, c) {
6893 var d = b.createEvent("Event");
6894 d.initEvent(a, !0, !0), d.gesture = c, c.target.dispatchEvent(d)
6895 }
6896 var la, ma = ["", "webkit", "Moz", "MS", "ms", "o"],
6897 na = b.createElement("div"),
6898 oa = "function",
6899 pa = Math.round,
6900 qa = Math.abs,
6901 ra = Date.now;
6902 la = "function" != typeof Object.assign ? function (a) {
6903 if (a === d || null === a) throw new TypeError("Cannot convert undefined or null to object");
6904 for (var b = Object(a), c = 1; c < arguments.length; c++) {
6905 var e = arguments[c];
6906 if (e !== d && null !== e)
6907 for (var f in e) e.hasOwnProperty(f) && (b[f] = e[f])
6908 }
6909 return b
6910 } : Object.assign;
6911 var sa = h(function (a, b, c) {
6912 for (var e = Object.keys(b), f = 0; f < e.length;)(!c || c && a[e[f]] === d) && (a[e[f]] = b[e[f]]), f++;
6913 return a
6914 }, "extend", "Use `assign`."),
6915 ta = h(function (a, b) {
6916 return sa(a, b, !0)
6917 }, "merge", "Use `assign`."),
6918 ua = 1,
6919 va = /mobile|tablet|ip(ad|hone|od)|android/i,
6920 wa = "ontouchstart" in a,
6921 xa = u(a, "PointerEvent") !== d,
6922 ya = wa && va.test(navigator.userAgent),
6923 za = "touch",
6924 Aa = "pen",
6925 Ba = "mouse",
6926 Ca = "kinect",
6927 Da = 25,
6928 Ea = 1,
6929 Fa = 2,
6930 Ga = 4,
6931 Ha = 8,
6932 Ia = 1,
6933 Ja = 2,
6934 Ka = 4,
6935 La = 8,
6936 Ma = 16,
6937 Na = Ja | Ka,
6938 Oa = La | Ma,
6939 Pa = Na | Oa,
6940 Qa = ["x", "y"],
6941 Ra = ["clientX", "clientY"];
6942 x.prototype = {
6943 handler: function () {},
6944 init: function () {
6945 this.evEl && m(this.element, this.evEl, this.domHandler), this.evTarget && m(this.target, this.evTarget, this.domHandler), this.evWin && m(w(this.element), this.evWin, this.domHandler)
6946 },
6947 destroy: function () {
6948 this.evEl && n(this.element, this.evEl, this.domHandler), this.evTarget && n(this.target, this.evTarget, this.domHandler), this.evWin && n(w(this.element), this.evWin, this.domHandler)
6949 }
6950 };
6951 var Sa = {
6952 mousedown: Ea,
6953 mousemove: Fa,
6954 mouseup: Ga
6955 },
6956 Ta = "mousedown",
6957 Ua = "mousemove mouseup";
6958 i(L, x, {
6959 handler: function (a) {
6960 var b = Sa[a.type];
6961 b & Ea && 0 === a.button && (this.pressed = !0), b & Fa && 1 !== a.which && (b = Ga), this.pressed && (b & Ga && (this.pressed = !1), this.callback(this.manager, b, {
6962 pointers: [a],
6963 changedPointers: [a],
6964 pointerType: Ba,
6965 srcEvent: a
6966 }))
6967 }
6968 });
6969 var Va = {
6970 pointerdown: Ea,
6971 pointermove: Fa,
6972 pointerup: Ga,
6973 pointercancel: Ha,
6974 pointerout: Ha
6975 },
6976 Wa = {
6977 2: za,
6978 3: Aa,
6979 4: Ba,
6980 5: Ca
6981 },
6982 Xa = "pointerdown",
6983 Ya = "pointermove pointerup pointercancel";
6984 a.MSPointerEvent && !a.PointerEvent && (Xa = "MSPointerDown", Ya = "MSPointerMove MSPointerUp MSPointerCancel"), i(M, x, {
6985 handler: function (a) {
6986 var b = this.store,
6987 c = !1,
6988 d = a.type.toLowerCase().replace("ms", ""),
6989 e = Va[d],
6990 f = Wa[a.pointerType] || a.pointerType,
6991 g = f == za,
6992 h = r(b, a.pointerId, "pointerId");
6993 e & Ea && (0 === a.button || g) ? 0 > h && (b.push(a), h = b.length - 1) : e & (Ga | Ha) && (c = !0), 0 > h || (b[h] = a, this.callback(this.manager, e, {
6994 pointers: b,
6995 changedPointers: [a],
6996 pointerType: f,
6997 srcEvent: a
6998 }), c && b.splice(h, 1))
6999 }
7000 });
7001 var Za = {
7002 touchstart: Ea,
7003 touchmove: Fa,
7004 touchend: Ga,
7005 touchcancel: Ha
7006 },
7007 $a = "touchstart",
7008 _a = "touchstart touchmove touchend touchcancel";
7009 i(N, x, {
7010 handler: function (a) {
7011 var b = Za[a.type];
7012 if (b === Ea && (this.started = !0), this.started) {
7013 var c = O.call(this, a, b);
7014 b & (Ga | Ha) && c[0].length - c[1].length === 0 && (this.started = !1), this.callback(this.manager, b, {
7015 pointers: c[0],
7016 changedPointers: c[1],
7017 pointerType: za,
7018 srcEvent: a
7019 })
7020 }
7021 }
7022 });
7023 var ab = {
7024 touchstart: Ea,
7025 touchmove: Fa,
7026 touchend: Ga,
7027 touchcancel: Ha
7028 },
7029 bb = "touchstart touchmove touchend touchcancel";
7030 i(P, x, {
7031 handler: function (a) {
7032 var b = ab[a.type],
7033 c = Q.call(this, a, b);
7034 c && this.callback(this.manager, b, {
7035 pointers: c[0],
7036 changedPointers: c[1],
7037 pointerType: za,
7038 srcEvent: a
7039 })
7040 }
7041 });
7042 var cb = 2500,
7043 db = 25;
7044 i(R, x, {
7045 handler: function (a, b, c) {
7046 var d = c.pointerType == za,
7047 e = c.pointerType == Ba;
7048 if (!(e && c.sourceCapabilities && c.sourceCapabilities.firesTouchEvents)) {
7049 if (d) S.call(this, b, c);
7050 else if (e && U.call(this, c)) return;
7051 this.callback(a, b, c)
7052 }
7053 },
7054 destroy: function () {
7055 this.touch.destroy(), this.mouse.destroy()
7056 }
7057 });
7058 var eb = u(na.style, "touchAction"),
7059 fb = eb !== d,
7060 gb = "compute",
7061 hb = "auto",
7062 ib = "manipulation",
7063 jb = "none",
7064 kb = "pan-x",
7065 lb = "pan-y",
7066 mb = X();
7067 V.prototype = {
7068 set: function (a) {
7069 a == gb && (a = this.compute()), fb && this.manager.element.style && mb[a] && (this.manager.element.style[eb] = a), this.actions = a.toLowerCase().trim()
7070 },
7071 update: function () {
7072 this.set(this.manager.options.touchAction)
7073 },
7074 compute: function () {
7075 var a = [];
7076 return g(this.manager.recognizers, function (b) {
7077 k(b.options.enable, [b]) && (a = a.concat(b.getTouchAction()))
7078 }), W(a.join(" "))
7079 },
7080 preventDefaults: function (a) {
7081 var b = a.srcEvent,
7082 c = a.offsetDirection;
7083 if (this.manager.session.prevented) return void b.preventDefault();
7084 var d = this.actions,
7085 e = p(d, jb) && !mb[jb],
7086 f = p(d, lb) && !mb[lb],
7087 g = p(d, kb) && !mb[kb];
7088 if (e) {
7089 var h = 1 === a.pointers.length,
7090 i = a.distance < 2,
7091 j = a.deltaTime < 250;
7092 if (h && i && j) return
7093 }
7094 return g && f ? void 0 : e || f && c & Na || g && c & Oa ? this.preventSrc(b) : void 0
7095 },
7096 preventSrc: function (a) {
7097 this.manager.session.prevented = !0, a.preventDefault()
7098 }
7099 };
7100 var nb = 1,
7101 ob = 2,
7102 pb = 4,
7103 qb = 8,
7104 rb = qb,
7105 sb = 16,
7106 tb = 32;
7107 Y.prototype = {
7108 defaults: {},
7109 set: function (a) {
7110 return la(this.options, a), this.manager && this.manager.touchAction.update(), this
7111 },
7112 recognizeWith: function (a) {
7113 if (f(a, "recognizeWith", this)) return this;
7114 var b = this.simultaneous;
7115 return a = _(a, this), b[a.id] || (b[a.id] = a, a.recognizeWith(this)), this
7116 },
7117 dropRecognizeWith: function (a) {
7118 return f(a, "dropRecognizeWith", this) ? this : (a = _(a, this), delete this.simultaneous[a.id], this)
7119 },
7120 requireFailure: function (a) {
7121 if (f(a, "requireFailure", this)) return this;
7122 var b = this.requireFail;
7123 return a = _(a, this), -1 === r(b, a) && (b.push(a), a.requireFailure(this)), this
7124 },
7125 dropRequireFailure: function (a) {
7126 if (f(a, "dropRequireFailure", this)) return this;
7127 a = _(a, this);
7128 var b = r(this.requireFail, a);
7129 return b > -1 && this.requireFail.splice(b, 1), this
7130 },
7131 hasRequireFailures: function () {
7132 return this.requireFail.length > 0
7133 },
7134 canRecognizeWith: function (a) {
7135 return !!this.simultaneous[a.id]
7136 },
7137 emit: function (a) {
7138 function b(b) {
7139 c.manager.emit(b, a)
7140 }
7141 var c = this,
7142 d = this.state;
7143 qb > d && b(c.options.event + Z(d)), b(c.options.event), a.additionalEvent && b(a.additionalEvent), d >= qb && b(c.options.event + Z(d))
7144 },
7145 tryEmit: function (a) {
7146 return this.canEmit() ? this.emit(a) : void(this.state = tb)
7147 },
7148 canEmit: function () {
7149 for (var a = 0; a < this.requireFail.length;) {
7150 if (!(this.requireFail[a].state & (tb | nb))) return !1;
7151 a++
7152 }
7153 return !0
7154 },
7155 recognize: function (a) {
7156 var b = la({}, a);
7157 return k(this.options.enable, [this, b]) ? (this.state & (rb | sb | tb) && (this.state = nb), this.state = this.process(b), void(this.state & (ob | pb | qb | sb) && this.tryEmit(b))) : (this.reset(), void(this.state = tb))
7158 },
7159 process: function (a) {},
7160 getTouchAction: function () {},
7161 reset: function () {}
7162 }, i(aa, Y, {
7163 defaults: {
7164 pointers: 1
7165 },
7166 attrTest: function (a) {
7167 var b = this.options.pointers;
7168 return 0 === b || a.pointers.length === b
7169 },
7170 process: function (a) {
7171 var b = this.state,
7172 c = a.eventType,
7173 d = b & (ob | pb),
7174 e = this.attrTest(a);
7175 return d && (c & Ha || !e) ? b | sb : d || e ? c & Ga ? b | qb : b & ob ? b | pb : ob : tb
7176 }
7177 }), i(ba, aa, {
7178 defaults: {
7179 event: "pan",
7180 threshold: 10,
7181 pointers: 1,
7182 direction: Pa
7183 },
7184 getTouchAction: function () {
7185 var a = this.options.direction,
7186 b = [];
7187 return a & Na && b.push(lb), a & Oa && b.push(kb), b
7188 },
7189 directionTest: function (a) {
7190 var b = this.options,
7191 c = !0,
7192 d = a.distance,
7193 e = a.direction,
7194 f = a.deltaX,
7195 g = a.deltaY;
7196 return e & b.direction || (b.direction & Na ? (e = 0 === f ? Ia : 0 > f ? Ja : Ka, c = f != this.pX, d = Math.abs(a.deltaX)) : (e = 0 === g ? Ia : 0 > g ? La : Ma, c = g != this.pY, d = Math.abs(a.deltaY))), a.direction = e, c && d > b.threshold && e & b.direction
7197 },
7198 attrTest: function (a) {
7199 return aa.prototype.attrTest.call(this, a) && (this.state & ob || !(this.state & ob) && this.directionTest(a))
7200 },
7201 emit: function (a) {
7202 this.pX = a.deltaX, this.pY = a.deltaY;
7203 var b = $(a.direction);
7204 b && (a.additionalEvent = this.options.event + b), this._super.emit.call(this, a)
7205 }
7206 }), i(ca, aa, {
7207 defaults: {
7208 event: "pinch",
7209 threshold: 0,
7210 pointers: 2
7211 },
7212 getTouchAction: function () {
7213 return [jb]
7214 },
7215 attrTest: function (a) {
7216 return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & ob)
7217 },
7218 emit: function (a) {
7219 if (1 !== a.scale) {
7220 var b = a.scale < 1 ? "in" : "out";
7221 a.additionalEvent = this.options.event + b
7222 }
7223 this._super.emit.call(this, a)
7224 }
7225 }), i(da, Y, {
7226 defaults: {
7227 event: "press",
7228 pointers: 1,
7229 time: 251,
7230 threshold: 9
7231 },
7232 getTouchAction: function () {
7233 return [hb]
7234 },
7235 process: function (a) {
7236 var b = this.options,
7237 c = a.pointers.length === b.pointers,
7238 d = a.distance < b.threshold,
7239 f = a.deltaTime > b.time;
7240 if (this._input = a, !d || !c || a.eventType & (Ga | Ha) && !f) this.reset();
7241 else if (a.eventType & Ea) this.reset(), this._timer = e(function () {
7242 this.state = rb, this.tryEmit()
7243 }, b.time, this);
7244 else if (a.eventType & Ga) return rb;
7245 return tb
7246 },
7247 reset: function () {
7248 clearTimeout(this._timer)
7249 },
7250 emit: function (a) {
7251 this.state === rb && (a && a.eventType & Ga ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = ra(), this.manager.emit(this.options.event, this._input)))
7252 }
7253 }), i(ea, aa, {
7254 defaults: {
7255 event: "rotate",
7256 threshold: 0,
7257 pointers: 2
7258 },
7259 getTouchAction: function () {
7260 return [jb]
7261 },
7262 attrTest: function (a) {
7263 return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & ob)
7264 }
7265 }), i(fa, aa, {
7266 defaults: {
7267 event: "swipe",
7268 threshold: 10,
7269 velocity: .3,
7270 direction: Na | Oa,
7271 pointers: 1
7272 },
7273 getTouchAction: function () {
7274 return ba.prototype.getTouchAction.call(this)
7275 },
7276 attrTest: function (a) {
7277 var b, c = this.options.direction;
7278 return c & (Na | Oa) ? b = a.overallVelocity : c & Na ? b = a.overallVelocityX : c & Oa && (b = a.overallVelocityY), this._super.attrTest.call(this, a) && c & a.offsetDirection && a.distance > this.options.threshold && a.maxPointers == this.options.pointers && qa(b) > this.options.velocity && a.eventType & Ga
7279 },
7280 emit: function (a) {
7281 var b = $(a.offsetDirection);
7282 b && this.manager.emit(this.options.event + b, a), this.manager.emit(this.options.event, a)
7283 }
7284 }), i(ga, Y, {
7285 defaults: {
7286 event: "tap",
7287 pointers: 1,
7288 taps: 1,
7289 interval: 300,
7290 time: 250,
7291 threshold: 9,
7292 posThreshold: 10
7293 },
7294 getTouchAction: function () {
7295 return [ib]
7296 },
7297 process: function (a) {
7298 var b = this.options,
7299 c = a.pointers.length === b.pointers,
7300 d = a.distance < b.threshold,
7301 f = a.deltaTime < b.time;
7302 if (this.reset(), a.eventType & Ea && 0 === this.count) return this.failTimeout();
7303 if (d && f && c) {
7304 if (a.eventType != Ga) return this.failTimeout();
7305 var g = this.pTime ? a.timeStamp - this.pTime < b.interval : !0,
7306 h = !this.pCenter || H(this.pCenter, a.center) < b.posThreshold;
7307 this.pTime = a.timeStamp, this.pCenter = a.center, h && g ? this.count += 1 : this.count = 1, this._input = a;
7308 var i = this.count % b.taps;
7309 if (0 === i) return this.hasRequireFailures() ? (this._timer = e(function () {
7310 this.state = rb, this.tryEmit()
7311 }, b.interval, this), ob) : rb
7312 }
7313 return tb
7314 },
7315 failTimeout: function () {
7316 return this._timer = e(function () {
7317 this.state = tb
7318 }, this.options.interval, this), tb
7319 },
7320 reset: function () {
7321 clearTimeout(this._timer)
7322 },
7323 emit: function () {
7324 this.state == rb && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input))
7325 }
7326 }), ha.VERSION = "2.0.8", ha.defaults = {
7327 domEvents: !1,
7328 touchAction: gb,
7329 enable: !0,
7330 inputTarget: null,
7331 inputClass: null,
7332 preset: [
7333 [ea, {
7334 enable: !1
7335 }],
7336 [ca, {
7337 enable: !1
7338 },
7339 ["rotate"]
7340 ],
7341 [fa, {
7342 direction: Na
7343 }],
7344 [ba, {
7345 direction: Na
7346 },
7347 ["swipe"]
7348 ],
7349 [ga],
7350 [ga, {
7351 event: "doubletap",
7352 taps: 2
7353 },
7354 ["tap"]
7355 ],
7356 [da]
7357 ],
7358 cssProps: {
7359 userSelect: "none",
7360 touchSelect: "none",
7361 touchCallout: "none",
7362 contentZooming: "none",
7363 userDrag: "none",
7364 tapHighlightColor: "rgba(0,0,0,0)"
7365 }
7366 };
7367 var ub = 1,
7368 vb = 2;
7369 ia.prototype = {
7370 set: function (a) {
7371 return la(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this
7372 },
7373 stop: function (a) {
7374 this.session.stopped = a ? vb : ub
7375 },
7376 recognize: function (a) {
7377 var b = this.session;
7378 if (!b.stopped) {
7379 this.touchAction.preventDefaults(a);
7380 var c, d = this.recognizers,
7381 e = b.curRecognizer;
7382 (!e || e && e.state & rb) && (e = b.curRecognizer = null);
7383 for (var f = 0; f < d.length;) c = d[f], b.stopped === vb || e && c != e && !c.canRecognizeWith(e) ? c.reset() : c.recognize(a), !e && c.state & (ob | pb | qb) && (e = b.curRecognizer = c), f++
7384 }
7385 },
7386 get: function (a) {
7387 if (a instanceof Y) return a;
7388 for (var b = this.recognizers, c = 0; c < b.length; c++)
7389 if (b[c].options.event == a) return b[c];
7390 return null
7391 },
7392 add: function (a) {
7393 if (f(a, "add", this)) return this;
7394 var b = this.get(a.options.event);
7395 return b && this.remove(b), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a
7396 },
7397 remove: function (a) {
7398 if (f(a, "remove", this)) return this;
7399 if (a = this.get(a)) {
7400 var b = this.recognizers,
7401 c = r(b, a); - 1 !== c && (b.splice(c, 1), this.touchAction.update())
7402 }
7403 return this
7404 },
7405 on: function (a, b) {
7406 if (a !== d && b !== d) {
7407 var c = this.handlers;
7408 return g(q(a), function (a) {
7409 c[a] = c[a] || [], c[a].push(b)
7410 }), this
7411 }
7412 },
7413 off: function (a, b) {
7414 if (a !== d) {
7415 var c = this.handlers;
7416 return g(q(a), function (a) {
7417 b ? c[a] && c[a].splice(r(c[a], b), 1) : delete c[a]
7418 }), this
7419 }
7420 },
7421 emit: function (a, b) {
7422 this.options.domEvents && ka(a, b);
7423 var c = this.handlers[a] && this.handlers[a].slice();
7424 if (c && c.length) {
7425 b.type = a, b.preventDefault = function () {
7426 b.srcEvent.preventDefault()
7427 };
7428 for (var d = 0; d < c.length;) c[d](b), d++
7429 }
7430 },
7431 destroy: function () {
7432 this.element && ja(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null
7433 }
7434 }, la(ha, {
7435 INPUT_START: Ea,
7436 INPUT_MOVE: Fa,
7437 INPUT_END: Ga,
7438 INPUT_CANCEL: Ha,
7439 STATE_POSSIBLE: nb,
7440 STATE_BEGAN: ob,
7441 STATE_CHANGED: pb,
7442 STATE_ENDED: qb,
7443 STATE_RECOGNIZED: rb,
7444 STATE_CANCELLED: sb,
7445 STATE_FAILED: tb,
7446 DIRECTION_NONE: Ia,
7447 DIRECTION_LEFT: Ja,
7448 DIRECTION_RIGHT: Ka,
7449 DIRECTION_UP: La,
7450 DIRECTION_DOWN: Ma,
7451 DIRECTION_HORIZONTAL: Na,
7452 DIRECTION_VERTICAL: Oa,
7453 DIRECTION_ALL: Pa,
7454 Manager: ia,
7455 Input: x,
7456 TouchAction: V,
7457 TouchInput: P,
7458 MouseInput: L,
7459 PointerEventInput: M,
7460 TouchMouseInput: R,
7461 SingleTouchInput: N,
7462 Recognizer: Y,
7463 AttrRecognizer: aa,
7464 Tap: ga,
7465 Pan: ba,
7466 Swipe: fa,
7467 Pinch: ca,
7468 Rotate: ea,
7469 Press: da,
7470 on: m,
7471 off: n,
7472 each: g,
7473 merge: ta,
7474 extend: sa,
7475 assign: la,
7476 inherit: i,
7477 bindFn: j,
7478 prefixed: u
7479 });
7480 var wb = "undefined" != typeof a ? a : "undefined" != typeof self ? self : {};
7481 wb.Hammer = ha, "function" == typeof define && define.amd ? define(function () {
7482 return ha
7483 }) : "undefined" != typeof module && module.exports ? module.exports = ha : a[c] = ha
7484}(window, document, "Hammer");
7485
7486/* Unison JS */
7487Unison = function () {
7488 "use strict";
7489 var a, b = window,
7490 c = document,
7491 d = c.head,
7492 e = {},
7493 f = !1,
7494 g = {
7495 parseMQ: function (a) {
7496 var c = b.getComputedStyle(a, null).getPropertyValue("font-family");
7497 return c.replace(/"/g, "").replace(/'/g, "")
7498 },
7499 debounce: function (a, b, c) {
7500 var d;
7501 return function () {
7502 var e = this,
7503 f = arguments;
7504 clearTimeout(d), d = setTimeout(function () {
7505 d = null, c || a.apply(e, f)
7506 }, b), c && !d && a.apply(e, f)
7507 }
7508 },
7509 isObject: function (a) {
7510 return "object" == typeof a
7511 },
7512 isUndefined: function (a) {
7513 return "undefined" == typeof a
7514 }
7515 },
7516 h = {
7517 on: function (a, b) {
7518 g.isObject(e[a]) || (e[a] = []), e[a].push(b)
7519 },
7520 emit: function (a, b) {
7521 if (g.isObject(e[a]))
7522 for (var c = e[a].slice(), d = 0; d < c.length; d++) c[d].call(this, b)
7523 }
7524 },
7525 i = {
7526 all: function () {
7527 for (var a = {}, b = g.parseMQ(c.querySelector("title")).split(","), d = 0; d < b.length; d++) {
7528 var e = b[d].trim().split(" ");
7529 a[e[0]] = e[1]
7530 }
7531 return f ? a : null
7532 },
7533 now: function (a) {
7534 var b = g.parseMQ(d).split(" "),
7535 c = {
7536 name: b[0],
7537 width: b[1]
7538 };
7539 return f ? g.isUndefined(a) ? c : a(c) : null
7540 },
7541 update: function () {
7542 i.now(function (b) {
7543 b.name !== a && (h.emit(b.name), h.emit("change", b), a = b.name)
7544 })
7545 }
7546 };
7547 return b.onresize = g.debounce(i.update, 100), c.addEventListener("DOMContentLoaded", function () {
7548 f = "none" !== b.getComputedStyle(d, null).getPropertyValue("clear"), i.update()
7549 }), {
7550 fetch: {
7551 all: i.all,
7552 now: i.now
7553 },
7554 on: h.on,
7555 emit: h.emit,
7556 util: {
7557 debounce: g.debounce,
7558 isObject: g.isObject
7559 }
7560 }
7561}();
7562
7563/*!
7564 * jQuery blockUI plugin
7565 * Version 2.70.0-2014.11.23
7566 * Requires jQuery v1.7 or later
7567 *
7568 * Examples at: http://malsup.com/jquery/block/
7569 * Copyright (c) 2007-2013 M. Alsup
7570 * Dual licensed under the MIT and GPL licenses:
7571 * http://www.opensource.org/licenses/mit-license.php
7572 * http://www.gnu.org/licenses/gpl.html
7573 *
7574 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
7575 */
7576
7577! function () {
7578 "use strict";
7579
7580 function e(e) {
7581 function t(t, n) {
7582 var s, h, k = t == window,
7583 y = n && void 0 !== n.message ? n.message : void 0;
7584 if (n = e.extend({}, e.blockUI.defaults, n || {}), !n.ignoreIfBlocked || !e(t).data("blockUI.isBlocked")) {
7585 if (n.overlayCSS = e.extend({}, e.blockUI.defaults.overlayCSS, n.overlayCSS || {}), s = e.extend({}, e.blockUI.defaults.css, n.css || {}), n.onOverlayClick && (n.overlayCSS.cursor = "pointer"), h = e.extend({}, e.blockUI.defaults.themedCSS, n.themedCSS || {}), y = void 0 === y ? n.message : y, k && p && o(window, {
7586 fadeOut: 0
7587 }), y && "string" != typeof y && (y.parentNode || y.jquery)) {
7588 var m = y.jquery ? y[0] : y,
7589 v = {};
7590 e(t).data("blockUI.history", v), v.el = m, v.parent = m.parentNode, v.display = m.style.display, v.position = m.style.position, v.parent && v.parent.removeChild(m)
7591 }
7592 e(t).data("blockUI.onUnblock", n.onUnblock);
7593 var g, I, w, U, x = n.baseZ;
7594 g = e(r || n.forceIframe ? '<iframe class="blockUI" style="z-index:' + x++ + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + n.iframeSrc + '"></iframe>' : '<div class="blockUI" style="display:none"></div>'), I = e(n.theme ? '<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:' + x++ + ';display:none"></div>' : '<div class="blockUI blockOverlay" style="z-index:' + x++ + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'), n.theme && k ? (U = '<div class="blockUI ' + n.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + (x + 10) + ';display:none;position:fixed">', n.title && (U += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (n.title || " ") + "</div>"), U += '<div class="ui-widget-content ui-dialog-content"></div>', U += "</div>") : n.theme ? (U = '<div class="blockUI ' + n.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + (x + 10) + ';display:none;position:absolute">', n.title && (U += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (n.title || " ") + "</div>"), U += '<div class="ui-widget-content ui-dialog-content"></div>', U += "</div>") : U = k ? '<div class="blockUI ' + n.blockMsgClass + ' blockPage" style="z-index:' + (x + 10) + ';display:none;position:fixed"></div>' : '<div class="blockUI ' + n.blockMsgClass + ' blockElement" style="z-index:' + (x + 10) + ';display:none;position:absolute"></div>', w = e(U), y && (n.theme ? (w.css(h), w.addClass("ui-widget-content")) : w.css(s)), n.theme || I.css(n.overlayCSS), I.css("position", k ? "fixed" : "absolute"), (r || n.forceIframe) && g.css("opacity", 0);
7595 var C = [g, I, w],
7596 S = e(k ? "body" : t);
7597 e.each(C, function () {
7598 this.appendTo(S)
7599 }), n.theme && n.draggable && e.fn.draggable && w.draggable({
7600 handle: ".ui-dialog-titlebar",
7601 cancel: "li"
7602 });
7603 var O = f && (!e.support.boxModel || e("object,embed", k ? null : t).length > 0);
7604 if (u || O) {
7605 if (k && n.allowBodyStretch && e.support.boxModel && e("html,body").css("height", "100%"), (u || !e.support.boxModel) && !k) var E = d(t, "borderTopWidth"),
7606 T = d(t, "borderLeftWidth"),
7607 M = E ? "(0 - " + E + ")" : 0,
7608 B = T ? "(0 - " + T + ")" : 0;
7609 e.each(C, function (e, t) {
7610 var o = t[0].style;
7611 if (o.position = "absolute", 2 > e) k ? o.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + n.quirksmodeOffsetHack + ') + "px"') : o.setExpression("height", 'this.parentNode.offsetHeight + "px"'), k ? o.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : o.setExpression("width", 'this.parentNode.offsetWidth + "px"'), B && o.setExpression("left", B), M && o.setExpression("top", M);
7612 else if (n.centerY) k && o.setExpression("top", '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'), o.marginTop = 0;
7613 else if (!n.centerY && k) {
7614 var i = n.css && n.css.top ? parseInt(n.css.top, 10) : 0,
7615 s = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + i + ') + "px"';
7616 o.setExpression("top", s)
7617 }
7618 })
7619 }
7620 if (y && (n.theme ? w.find(".ui-widget-content").append(y) : w.append(y), (y.jquery || y.nodeType) && e(y).show()), (r || n.forceIframe) && n.showOverlay && g.show(), n.fadeIn) {
7621 var j = n.onBlock ? n.onBlock : c,
7622 H = n.showOverlay && !y ? j : c,
7623 z = y ? j : c;
7624 n.showOverlay && I._fadeIn(n.fadeIn, H), y && w._fadeIn(n.fadeIn, z)
7625 } else n.showOverlay && I.show(), y && w.show(), n.onBlock && n.onBlock.bind(w)();
7626 if (i(1, t, n), k ? (p = w[0], b = e(n.focusableElements, p), n.focusInput && setTimeout(l, 20)) : a(w[0], n.centerX, n.centerY), n.timeout) {
7627 var W = setTimeout(function () {
7628 k ? e.unblockUI(n) : e(t).unblock(n)
7629 }, n.timeout);
7630 e(t).data("blockUI.timeout", W)
7631 }
7632 }
7633 }
7634
7635 function o(t, o) {
7636 var s, l = t == window,
7637 a = e(t),
7638 d = a.data("blockUI.history"),
7639 c = a.data("blockUI.timeout");
7640 c && (clearTimeout(c), a.removeData("blockUI.timeout")), o = e.extend({}, e.blockUI.defaults, o || {}), i(0, t, o), null === o.onUnblock && (o.onUnblock = a.data("blockUI.onUnblock"), a.removeData("blockUI.onUnblock"));
7641 var r;
7642 r = l ? e("body").children().filter(".blockUI").add("body > .blockUI") : a.find(">.blockUI"), o.cursorReset && (r.length > 1 && (r[1].style.cursor = o.cursorReset), r.length > 2 && (r[2].style.cursor = o.cursorReset)), l && (p = b = null), o.fadeOut ? (s = r.length, r.stop().fadeOut(o.fadeOut, function () {
7643 0 === --s && n(r, d, o, t)
7644 })) : n(r, d, o, t)
7645 }
7646
7647 function n(t, o, n, i) {
7648 var s = e(i);
7649 if (!s.data("blockUI.isBlocked")) {
7650 t.each(function (e, t) {
7651 this.parentNode && this.parentNode.removeChild(this)
7652 }), o && o.el && (o.el.style.display = o.display, o.el.style.position = o.position, o.el.style.cursor = "default", o.parent && o.parent.appendChild(o.el), s.removeData("blockUI.history")), s.data("blockUI.static") && s.css("position", "static"), "function" == typeof n.onUnblock && n.onUnblock(i, n);
7653 var l = e(document.body),
7654 a = l.width(),
7655 d = l[0].style.width;
7656 l.width(a - 1).width(a), l[0].style.width = d
7657 }
7658 }
7659
7660 function i(t, o, n) {
7661 var i = o == window,
7662 l = e(o);
7663 if ((t || (!i || p) && (i || l.data("blockUI.isBlocked"))) && (l.data("blockUI.isBlocked", t), i && n.bindEvents && (!t || n.showOverlay))) {
7664 var a = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove";
7665 t ? e(document).bind(a, n, s) : e(document).unbind(a, s)
7666 }
7667 }
7668
7669 function s(t) {
7670 if ("keydown" === t.type && t.keyCode && 9 == t.keyCode && p && t.data.constrainTabKey) {
7671 var o = b,
7672 n = !t.shiftKey && t.target === o[o.length - 1],
7673 i = t.shiftKey && t.target === o[0];
7674 if (n || i) return setTimeout(function () {
7675 l(i)
7676 }, 10), !1
7677 }
7678 var s = t.data,
7679 a = e(t.target);
7680 return a.hasClass("blockOverlay") && s.onOverlayClick && s.onOverlayClick(t), a.parents("div." + s.blockMsgClass).length > 0 ? !0 : 0 === a.parents().children().filter("div.blockUI").length
7681 }
7682
7683 function l(e) {
7684 if (b) {
7685 var t = b[e === !0 ? b.length - 1 : 0];
7686 t && t.focus()
7687 }
7688 }
7689
7690 function a(e, t, o) {
7691 var n = e.parentNode,
7692 i = e.style,
7693 s = (n.offsetWidth - e.offsetWidth) / 2 - d(n, "borderLeftWidth"),
7694 l = (n.offsetHeight - e.offsetHeight) / 2 - d(n, "borderTopWidth");
7695 t && (i.left = s > 0 ? s + "px" : "0"), o && (i.top = l > 0 ? l + "px" : "0")
7696 }
7697
7698 function d(t, o) {
7699 return parseInt(e.css(t, o), 10) || 0
7700 }
7701 e.fn._fadeIn = e.fn.fadeIn;
7702 var c = e.noop || function () {},
7703 r = /MSIE/.test(navigator.userAgent),
7704 u = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent),
7705 f = (document.documentMode || 0, e.isFunction(document.createElement("div").style.setExpression));
7706 e.blockUI = function (e) {
7707 t(window, e)
7708 }, e.unblockUI = function (e) {
7709 o(window, e)
7710 }, e.growlUI = function (t, o, n, i) {
7711 var s = e('<div class="growlUI"></div>');
7712 t && s.append("<h1>" + t + "</h1>"), o && s.append("<h2>" + o + "</h2>"), void 0 === n && (n = 3e3);
7713 var l = function (t) {
7714 t = t || {}, e.blockUI({
7715 message: s,
7716 fadeIn: "undefined" != typeof t.fadeIn ? t.fadeIn : 700,
7717 fadeOut: "undefined" != typeof t.fadeOut ? t.fadeOut : 1e3,
7718 timeout: "undefined" != typeof t.timeout ? t.timeout : n,
7719 centerY: !1,
7720 showOverlay: !1,
7721 onUnblock: i,
7722 css: e.blockUI.defaults.growlCSS
7723 })
7724 };
7725 l();
7726 s.css("opacity");
7727 s.mouseover(function () {
7728 l({
7729 fadeIn: 0,
7730 timeout: 3e4
7731 });
7732 var t = e(".blockMsg");
7733 t.stop(), t.fadeTo(300, 1)
7734 }).mouseout(function () {
7735 e(".blockMsg").fadeOut(1e3)
7736 })
7737 }, e.fn.block = function (o) {
7738 if (this[0] === window) return e.blockUI(o), this;
7739 var n = e.extend({}, e.blockUI.defaults, o || {});
7740 return this.each(function () {
7741 var t = e(this);
7742 n.ignoreIfBlocked && t.data("blockUI.isBlocked") || t.unblock({
7743 fadeOut: 0
7744 })
7745 }), this.each(function () {
7746 "static" == e.css(this, "position") && (this.style.position = "relative", e(this).data("blockUI.static", !0)), this.style.zoom = 1, t(this, o)
7747 })
7748 }, e.fn.unblock = function (t) {
7749 return this[0] === window ? (e.unblockUI(t), this) : this.each(function () {
7750 o(this, t)
7751 })
7752 }, e.blockUI.version = 2.7, e.blockUI.defaults = {
7753 message: "<h1>Please wait...</h1>",
7754 title: null,
7755 draggable: !0,
7756 theme: !1,
7757 css: {
7758 padding: 0,
7759 margin: 0,
7760 width: "30%",
7761 top: "40%",
7762 left: "35%",
7763 textAlign: "center",
7764 color: "#000",
7765 border: "3px solid #aaa",
7766 backgroundColor: "#fff",
7767 cursor: "wait"
7768 },
7769 themedCSS: {
7770 width: "30%",
7771 top: "40%",
7772 left: "35%"
7773 },
7774 overlayCSS: {
7775 backgroundColor: "#000",
7776 opacity: .6,
7777 cursor: "wait"
7778 },
7779 cursorReset: "default",
7780 growlCSS: {
7781 width: "350px",
7782 top: "10px",
7783 left: "",
7784 right: "10px",
7785 border: "none",
7786 padding: "5px",
7787 opacity: .6,
7788 cursor: "default",
7789 color: "#fff",
7790 backgroundColor: "#000",
7791 "-webkit-border-radius": "10px",
7792 "-moz-border-radius": "10px",
7793 "border-radius": "10px"
7794 },
7795 iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank",
7796 forceIframe: !1,
7797 baseZ: 1e3,
7798 centerX: !0,
7799 centerY: !0,
7800 allowBodyStretch: !0,
7801 bindEvents: !0,
7802 constrainTabKey: !0,
7803 fadeIn: 200,
7804 fadeOut: 400,
7805 timeout: 0,
7806 showOverlay: !0,
7807 focusInput: !0,
7808 focusableElements: ":input:enabled:visible",
7809 onBlock: null,
7810 onUnblock: null,
7811 onOverlayClick: null,
7812 quirksmodeOffsetHack: 4,
7813 blockMsgClass: "blockMsg",
7814 ignoreIfBlocked: !1
7815 };
7816 var p = null,
7817 b = []
7818 }
7819 "function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery)
7820}();
7821
7822/*
7823 * jquery-match-height 0.7.2 by @liabru
7824 * http://brm.io/jquery-match-height/
7825 * License MIT
7826 */
7827! function (t) {
7828 "use strict";
7829 "function" == typeof define && define.amd ? define(["jquery"], t) : "undefined" != typeof module && module.exports ? module.exports = t(require("jquery")) : t(jQuery)
7830}(function (t) {
7831 var e = -1,
7832 o = -1,
7833 n = function (t) {
7834 return parseFloat(t) || 0
7835 },
7836 a = function (e) {
7837 var o = 1,
7838 a = t(e),
7839 i = null,
7840 r = [];
7841 return a.each(function () {
7842 var e = t(this),
7843 a = e.offset().top - n(e.css("margin-top")),
7844 s = r.length > 0 ? r[r.length - 1] : null;
7845 null === s ? r.push(e) : Math.floor(Math.abs(i - a)) <= o ? r[r.length - 1] = s.add(e) : r.push(e), i = a
7846 }), r
7847 },
7848 i = function (e) {
7849 var o = {
7850 byRow: !0,
7851 property: "height",
7852 target: null,
7853 remove: !1
7854 };
7855 return "object" == typeof e ? t.extend(o, e) : ("boolean" == typeof e ? o.byRow = e : "remove" === e && (o.remove = !0), o)
7856 },
7857 r = t.fn.matchHeight = function (e) {
7858 var o = i(e);
7859 if (o.remove) {
7860 var n = this;
7861 return this.css(o.property, ""), t.each(r._groups, function (t, e) {
7862 e.elements = e.elements.not(n)
7863 }), this
7864 }
7865 return this.length <= 1 && !o.target ? this : (r._groups.push({
7866 elements: this,
7867 options: o
7868 }), r._apply(this, o), this)
7869 };
7870 r.version = "0.7.2", r._groups = [], r._throttle = 80, r._maintainScroll = !1, r._beforeUpdate = null,
7871 r._afterUpdate = null, r._rows = a, r._parse = n, r._parseOptions = i, r._apply = function (e, o) {
7872 var s = i(o),
7873 h = t(e),
7874 l = [h],
7875 c = t(window).scrollTop(),
7876 p = t("html").outerHeight(!0),
7877 u = h.parents().filter(":hidden");
7878 return u.each(function () {
7879 var e = t(this);
7880 e.data("style-cache", e.attr("style"))
7881 }), u.css("display", "block"), s.byRow && !s.target && (h.each(function () {
7882 var e = t(this),
7883 o = e.css("display");
7884 "inline-block" !== o && "flex" !== o && "inline-flex" !== o && (o = "block"), e.data("style-cache", e.attr("style")), e.css({
7885 display: o,
7886 "padding-top": "0",
7887 "padding-bottom": "0",
7888 "margin-top": "0",
7889 "margin-bottom": "0",
7890 "border-top-width": "0",
7891 "border-bottom-width": "0",
7892 height: "100px",
7893 overflow: "hidden"
7894 })
7895 }), l = a(h), h.each(function () {
7896 var e = t(this);
7897 e.attr("style", e.data("style-cache") || "")
7898 })), t.each(l, function (e, o) {
7899 var a = t(o),
7900 i = 0;
7901 if (s.target) i = s.target.outerHeight(!1);
7902 else {
7903 if (s.byRow && a.length <= 1) return void a.css(s.property, "");
7904 a.each(function () {
7905 var e = t(this),
7906 o = e.attr("style"),
7907 n = e.css("display");
7908 "inline-block" !== n && "flex" !== n && "inline-flex" !== n && (n = "block");
7909 var a = {
7910 display: n
7911 };
7912 a[s.property] = "", e.css(a), e.outerHeight(!1) > i && (i = e.outerHeight(!1)), o ? e.attr("style", o) : e.css("display", "")
7913 })
7914 }
7915 a.each(function () {
7916 var e = t(this),
7917 o = 0;
7918 s.target && e.is(s.target) || ("border-box" !== e.css("box-sizing") && (o += n(e.css("border-top-width")) + n(e.css("border-bottom-width")), o += n(e.css("padding-top")) + n(e.css("padding-bottom"))), e.css(s.property, i - o + "px"))
7919 })
7920 }), u.each(function () {
7921 var e = t(this);
7922 e.attr("style", e.data("style-cache") || null)
7923 }), r._maintainScroll && t(window).scrollTop(c / p * t("html").outerHeight(!0)),
7924 this
7925 }, r._applyDataApi = function () {
7926 var e = {};
7927 t("[data-match-height], [data-mh]").each(function () {
7928 var o = t(this),
7929 n = o.attr("data-mh") || o.attr("data-match-height");
7930 n in e ? e[n] = e[n].add(o) : e[n] = o
7931 }), t.each(e, function () {
7932 this.matchHeight(!0)
7933 })
7934 };
7935 var s = function (e) {
7936 r._beforeUpdate && r._beforeUpdate(e, r._groups), t.each(r._groups, function () {
7937 r._apply(this.elements, this.options)
7938 }), r._afterUpdate && r._afterUpdate(e, r._groups)
7939 };
7940 r._update = function (n, a) {
7941 if (a && "resize" === a.type) {
7942 var i = t(window).width();
7943 if (i === e) return;
7944 e = i;
7945 }
7946 n ? o === -1 && (o = setTimeout(function () {
7947 s(a), o = -1
7948 }, r._throttle)) : s(a)
7949 }, t(r._applyDataApi);
7950 var h = t.fn.on ? "on" : "bind";
7951 t(window)[h]("load", function (t) {
7952 r._update(!1, t)
7953 }), t(window)[h]("resize orientationchange", function (t) {
7954 r._update(!0, t)
7955 })
7956});
7957/*
7958 * jQuery Sliding Menu Plugin
7959 * Mobile app list-style navigation in the browser
7960 *
7961 * Written by Ali Zahid
7962 * http://designplox.com/jquery-sliding-menu
7963 */
7964! function (a) {
7965 var e = [];
7966 a.fn.slidingMenu = function (t) {
7967 function n(e) {
7968 var t = a("ul", e),
7969 n = [];
7970 return a(t).each(function (e, t) {
7971 var r = a(t),
7972 s = r.prev(),
7973 l = i();
7974 if (1 == s.length && (s.addClass("nav-has-children dropdown-item").attr("href", "#menu-panel-" + l), s.append('<i class="ft-arrow-right children-in"></i>')), r.attr("id", "menu-panel-" + l), 0 == e) r.addClass("menu-panel-root");
7975 else {
7976 r.addClass("menu-panel");
7977 var d = (a("<li></li>"), a("<a></a>").addClass("nav-has-parent back primary dropdown-item").attr("href", "#menu-panel-back"));
7978 r.prepend(d)
7979 }
7980 n.push(t)
7981 }), n
7982 }
7983
7984 function r(e, t) {
7985 var n = {
7986 id: "menu-panel-" + i(),
7987 children: [],
7988 root: t ? !1 : !0
7989 },
7990 s = [];
7991 return t && n.children.push({
7992 styleClass: "back",
7993 href: "#" + t.id
7994 }), a(e).each(function (a, e) {
7995 if (n.children.push(e), e.children) {
7996 var t = r(e.children, n);
7997 e.href = "#" + t[0].id, e.styleClass = "nav", s = s.concat(t)
7998 }
7999 }), [n].concat(s)
8000 }
8001
8002 function i() {
8003 var a;
8004 do a = Math.random().toString(36).substring(3, 8); while (e.indexOf(a) >= 0);
8005 return e.push(a), a
8006 }
8007
8008 function s() {
8009 var e = a(".sliding-menu-wrapper"),
8010 t = a(".sliding-menu-wrapper ul");
8011 t.length && setTimeout(function () {
8012 var n = a(l).width();
8013 e.width(t.length * n), t.each(function (e, t) {
8014 var r = a(t);
8015 r.width(n)
8016 }), e.css("margin-left", "")
8017 }, 300)
8018 }
8019 var l = this.selector,
8020 d = !1;
8021 "rtl" == a("html").data("textdirection") && (d = !0);
8022 var h = a.extend({
8023 dataJSON: !1,
8024 backLabel: "Back"
8025 }, t);
8026 return this.each(function () {
8027 var e, t = this,
8028 i = a(t);
8029 if (i.hasClass("sliding-menu")) return void s();
8030 var l = i.outerWidth();
8031 e = h.dataJSON ? r(h.dataJSON) : n(i), i.empty().addClass("sliding-menu");
8032 var p;
8033 h.dataJSON ? a(e).each(function (e, t) {
8034 var n = a("<ul></ul>");
8035 t.root && (p = "#" + t.id), n.attr("id", t.id), n.addClass("menu-panel"), n.width(l), a(t.children).each(function (e, t) {
8036 var r = a("<a></a>");
8037 r.attr("class", t.styleClass), r.attr("href", t.href), r.text(t.label);
8038 var i = a("<li></li>");
8039 i.append(r), n.append(i)
8040 }), i.append(n)
8041 }) : a(e).each(function (e, t) {
8042 var n = a(t);
8043 n.hasClass("menu-panel-root") && (p = "#" + n.attr("id")), n.width(l), i.append(t)
8044 }), p = a(p), p.addClass("menu-panel-root");
8045 var c = p;
8046 i.height(p.height());
8047 var u = a("<div></div>").addClass("sliding-menu-wrapper").width(e.length * l);
8048 return i.wrapInner(u), u = a(".sliding-menu-wrapper", i), a("a", t).on("click", function (e) {
8049 var t = a(this).attr("href"),
8050 n = a(this).text();
8051 if (u.is(":animated")) return void e.preventDefault();
8052 if ("#" == t) e.preventDefault();
8053 else if (0 == t.indexOf("#menu-panel")) {
8054 var r, s, l = a(t),
8055 o = a(this).hasClass("back");
8056 d === !0 ? s = parseInt(u.css("margin-right")) : r = parseInt(u.css("margin-left"));
8057 var f = i.width();
8058 a(this).closest("ul").hasClass("menu-panel-root") && (c = p), o ? ("#menu-panel-back" == t && (l = c.prev()), d === !0 ? properties = {
8059 marginRight: s + f
8060 } : properties = {
8061 marginLeft: r + f
8062 }, u.stop(!0, !0).animate(properties, "fast")) : (l.insertAfter(c), h.backLabel === !0 ? a(".back", l).html('<i class="fa fa-arrow-circle-o-left back-in"></i>' + n) : a(".back", l).text(h.backLabel), d === !0 ? properties = {
8063 marginRight: s - f
8064 } : properties = {
8065 marginLeft: r - f
8066 }, u.stop(!0, !0).animate(properties, "fast")), c = l, i.stop(!0, !0).animate({
8067 height: l.height()
8068 }, "fast"), e.preventDefault()
8069 }
8070 }), this
8071 })
8072 }
8073}(jQuery);
8074
8075/*!
8076 * screenfull
8077 * v5.0.0 - 2019-09-09
8078 * (c) Sindre Sorhus; MIT License
8079 */
8080
8081! function () {
8082 "use strict";
8083 var u = "undefined" != typeof window && void 0 !== window.document ? window.document : {},
8084 e = "undefined" != typeof module && module.exports,
8085 t = function () {
8086 for (var e, n = [
8087 ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
8088 ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
8089 ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
8090 ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
8091 ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
8092 ], l = 0, r = n.length, t = {}; l < r; l++)
8093 if ((e = n[l]) && e[1] in u) {
8094 for (l = 0; l < e.length; l++) t[n[0][l]] = e[l];
8095 return t
8096 }
8097 return !1
8098 }(),
8099 r = {
8100 change: t.fullscreenchange,
8101 error: t.fullscreenerror
8102 },
8103 n = {
8104 request: function (r) {
8105 return new Promise(function (e, n) {
8106 var l = function () {
8107 this.off("change", l), e()
8108 }.bind(this);
8109 this.on("change", l), r = r || u.documentElement, Promise.resolve(r[t.requestFullscreen]()).catch(n)
8110 }.bind(this))
8111 },
8112 exit: function () {
8113 return new Promise(function (e, n) {
8114 if (this.isFullscreen) {
8115 var l = function () {
8116 this.off("change", l), e()
8117 }.bind(this);
8118 this.on("change", l), Promise.resolve(u[t.exitFullscreen]()).catch(n)
8119 } else e()
8120 }.bind(this))
8121 },
8122 toggle: function (e) {
8123 return this.isFullscreen ? this.exit() : this.request(e)
8124 },
8125 onchange: function (e) {
8126 this.on("change", e)
8127 },
8128 onerror: function (e) {
8129 this.on("error", e)
8130 },
8131 on: function (e, n) {
8132 var l = r[e];
8133 l && u.addEventListener(l, n, !1)
8134 },
8135 off: function (e, n) {
8136 var l = r[e];
8137 l && u.removeEventListener(l, n, !1)
8138 },
8139 raw: t
8140 };
8141 t ? (Object.defineProperties(n, {
8142 isFullscreen: {
8143 get: function () {
8144 return Boolean(u[t.fullscreenElement])
8145 }
8146 },
8147 element: {
8148 enumerable: !0,
8149 get: function () {
8150 return u[t.fullscreenElement]
8151 }
8152 },
8153 isEnabled: {
8154 enumerable: !0,
8155 get: function () {
8156 return Boolean(u[t.fullscreenEnabled])
8157 }
8158 }
8159 }), e ? module.exports = n : window.screenfull = n) : e ? module.exports = {
8160 isEnabled: !1
8161 } : window.screenfull = {
8162 isEnabled: !1
8163 }
8164}();
8165
8166/*! pace 1.0.2 */
8167(function () {
8168 var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X = [].slice,
8169 Y = {}.hasOwnProperty,
8170 Z = function (a, b) {
8171 function c() {
8172 this.constructor = a
8173 }
8174 for (var d in b) Y.call(b, d) && (a[d] = b[d]);
8175 return c.prototype = b.prototype, a.prototype = new c, a.__super__ = b.prototype, a
8176 },
8177 $ = [].indexOf || function (a) {
8178 for (var b = 0, c = this.length; c > b; b++)
8179 if (b in this && this[b] === a) return b;
8180 return -1
8181 };
8182 for (u = {
8183 catchupTime: 100,
8184 initialRate: .03,
8185 minTime: 250,
8186 ghostTime: 100,
8187 maxProgressPerFrame: 20,
8188 easeFactor: 1.25,
8189 startOnPageLoad: !0,
8190 restartOnPushState: !0,
8191 restartOnRequestAfter: 500,
8192 target: "body",
8193 elements: {
8194 checkInterval: 100,
8195 selectors: ["body"]
8196 },
8197 eventLag: {
8198 minSamples: 10,
8199 sampleCount: 3,
8200 lagThreshold: 3
8201 },
8202 ajax: {
8203 trackMethods: ["GET"],
8204 trackWebSockets: !0,
8205 ignoreURLs: []
8206 }
8207 }, C = function () {
8208 var a;
8209 return null != (a = "undefined" != typeof performance && null !== performance && "function" == typeof performance.now ? performance.now() : void 0) ? a : +new Date
8210 }, E = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame, t = window.cancelAnimationFrame || window.mozCancelAnimationFrame, null == E && (E = function (a) {
8211 return setTimeout(a, 50)
8212 }, t = function (a) {
8213 return clearTimeout(a)
8214 }), G = function (a) {
8215 var b, c;
8216 return b = C(), (c = function () {
8217 var d;
8218 return d = C() - b, d >= 33 ? (b = C(), a(d, function () {
8219 return E(c)
8220 })) : setTimeout(c, 33 - d)
8221 })()
8222 }, F = function () {
8223 var a, b, c;
8224 return c = arguments[0], b = arguments[1], a = 3 <= arguments.length ? X.call(arguments, 2) : [], "function" == typeof c[b] ? c[b].apply(c, a) : c[b]
8225 }, v = function () {
8226 var a, b, c, d, e, f, g;
8227 for (b = arguments[0], d = 2 <= arguments.length ? X.call(arguments, 1) : [], f = 0, g = d.length; g > f; f++)
8228 if (c = d[f])
8229 for (a in c) Y.call(c, a) && (e = c[a], null != b[a] && "object" == typeof b[a] && null != e && "object" == typeof e ? v(b[a], e) : b[a] = e);
8230 return b
8231 }, q = function (a) {
8232 var b, c, d, e, f;
8233 for (c = b = 0, e = 0, f = a.length; f > e; e++) d = a[e], c += Math.abs(d), b++;
8234 return c / b
8235 }, x = function (a, b) {
8236 var c, d, e;
8237 if (null == a && (a = "options"), null == b && (b = !0), e = document.querySelector("[data-pace-" + a + "]")) {
8238 if (c = e.getAttribute("data-pace-" + a), !b) return c;
8239 try {
8240 return JSON.parse(c)
8241 } catch (f) {
8242 return d = f, "undefined" != typeof console && null !== console ? console.error("Error parsing inline pace options", d) : void 0
8243 }
8244 }
8245 }, g = function () {
8246 function a() {}
8247 return a.prototype.on = function (a, b, c, d) {
8248 var e;
8249 return null == d && (d = !1), null == this.bindings && (this.bindings = {}), null == (e = this.bindings)[a] && (e[a] = []), this.bindings[a].push({
8250 handler: b,
8251 ctx: c,
8252 once: d
8253 })
8254 }, a.prototype.once = function (a, b, c) {
8255 return this.on(a, b, c, !0)
8256 }, a.prototype.off = function (a, b) {
8257 var c, d, e;
8258 if (null != (null != (d = this.bindings) ? d[a] : void 0)) {
8259 if (null == b) return delete this.bindings[a];
8260 for (c = 0, e = []; c < this.bindings[a].length;) e.push(this.bindings[a][c].handler === b ? this.bindings[a].splice(c, 1) : c++);
8261 return e
8262 }
8263 }, a.prototype.trigger = function () {
8264 var a, b, c, d, e, f, g, h, i;
8265 if (c = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], null != (g = this.bindings) ? g[c] : void 0) {
8266 for (e = 0, i = []; e < this.bindings[c].length;) h = this.bindings[c][e], d = h.handler, b = h.ctx, f = h.once, d.apply(null != b ? b : this, a), i.push(f ? this.bindings[c].splice(e, 1) : e++);
8267 return i
8268 }
8269 }, a
8270 }(), j = window.Pace || {}, window.Pace = j, v(j, g.prototype), D = j.options = v({}, u, window.paceOptions, x()), U = ["ajax", "document", "eventLag", "elements"], Q = 0, S = U.length; S > Q; Q++) K = U[Q], D[K] === !0 && (D[K] = u[K]);
8271 i = function (a) {
8272 function b() {
8273 return V = b.__super__.constructor.apply(this, arguments)
8274 }
8275 return Z(b, a), b
8276 }(Error), b = function () {
8277 function a() {
8278 this.progress = 0
8279 }
8280 return a.prototype.getElement = function () {
8281 var a;
8282 if (null == this.el) {
8283 if (a = document.querySelector(D.target), !a) throw new i;
8284 this.el = document.createElement("div"), this.el.className = "pace pace-active", document.body.className = document.body.className.replace(/pace-done/g, ""), document.body.className += " pace-running", this.el.innerHTML = '<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>', null != a.firstChild ? a.insertBefore(this.el, a.firstChild) : a.appendChild(this.el)
8285 }
8286 return this.el
8287 }, a.prototype.finish = function () {
8288 var a;
8289 return a = this.getElement(), a.className = a.className.replace("pace-active", ""), a.className += " pace-inactive", document.body.className = document.body.className.replace("pace-running", ""), document.body.className += " pace-done"
8290 }, a.prototype.update = function (a) {
8291 return this.progress = a, this.render()
8292 }, a.prototype.destroy = function () {
8293 try {
8294 this.getElement().parentNode.removeChild(this.getElement())
8295 } catch (a) {
8296 i = a
8297 }
8298 return this.el = void 0
8299 }, a.prototype.render = function () {
8300 var a, b, c, d, e, f, g;
8301 if (null == document.querySelector(D.target)) return !1;
8302 for (a = this.getElement(), d = "translate3d(" + this.progress + "%, 0, 0)", g = ["webkitTransform", "msTransform", "transform"], e = 0, f = g.length; f > e; e++) b = g[e], a.children[0].style[b] = d;
8303 return (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) && (a.children[0].setAttribute("data-progress-text", "" + (0 | this.progress) + "%"), this.progress >= 100 ? c = "99" : (c = this.progress < 10 ? "0" : "", c += 0 | this.progress), a.children[0].setAttribute("data-progress", "" + c)), this.lastRenderedProgress = this.progress
8304 }, a.prototype.done = function () {
8305 return this.progress >= 100
8306 }, a
8307 }(), h = function () {
8308 function a() {
8309 this.bindings = {}
8310 }
8311 return a.prototype.trigger = function (a, b) {
8312 var c, d, e, f, g;
8313 if (null != this.bindings[a]) {
8314 for (f = this.bindings[a], g = [], d = 0, e = f.length; e > d; d++) c = f[d], g.push(c.call(this, b));
8315 return g
8316 }
8317 }, a.prototype.on = function (a, b) {
8318 var c;
8319 return null == (c = this.bindings)[a] && (c[a] = []), this.bindings[a].push(b)
8320 }, a
8321 }(), P = window.XMLHttpRequest, O = window.XDomainRequest, N = window.WebSocket, w = function (a, b) {
8322 var c, d, e;
8323 e = [];
8324 for (d in b.prototype) try {
8325 e.push(null == a[d] && "function" != typeof b[d] ? "function" == typeof Object.defineProperty ? Object.defineProperty(a, d, {
8326 get: function () {
8327 return b.prototype[d]
8328 },
8329 configurable: !0,
8330 enumerable: !0
8331 }) : a[d] = b.prototype[d] : void 0)
8332 } catch (f) {
8333 c = f
8334 }
8335 return e
8336 }, A = [], j.ignore = function () {
8337 var a, b, c;
8338 return b = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], A.unshift("ignore"), c = b.apply(null, a), A.shift(), c
8339 }, j.track = function () {
8340 var a, b, c;
8341 return b = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], A.unshift("track"), c = b.apply(null, a), A.shift(), c
8342 }, J = function (a) {
8343 var b;
8344 if (null == a && (a = "GET"), "track" === A[0]) return "force";
8345 if (!A.length && D.ajax) {
8346 if ("socket" === a && D.ajax.trackWebSockets) return !0;
8347 if (b = a.toUpperCase(), $.call(D.ajax.trackMethods, b) >= 0) return !0
8348 }
8349 return !1
8350 }, k = function (a) {
8351 function b() {
8352 var a, c = this;
8353 b.__super__.constructor.apply(this, arguments), a = function (a) {
8354 var b;
8355 return b = a.open, a.open = function (d, e) {
8356 return J(d) && c.trigger("request", {
8357 type: d,
8358 url: e,
8359 request: a
8360 }), b.apply(a, arguments)
8361 }
8362 }, window.XMLHttpRequest = function (b) {
8363 var c;
8364 return c = new P(b), a(c), c
8365 };
8366 try {
8367 w(window.XMLHttpRequest, P)
8368 } catch (d) {}
8369 if (null != O) {
8370 window.XDomainRequest = function () {
8371 var b;
8372 return b = new O, a(b), b
8373 };
8374 try {
8375 w(window.XDomainRequest, O)
8376 } catch (d) {}
8377 }
8378 if (null != N && D.ajax.trackWebSockets) {
8379 window.WebSocket = function (a, b) {
8380 var d;
8381 return d = null != b ? new N(a, b) : new N(a), J("socket") && c.trigger("request", {
8382 type: "socket",
8383 url: a,
8384 protocols: b,
8385 request: d
8386 }), d
8387 };
8388 try {
8389 w(window.WebSocket, N)
8390 } catch (d) {}
8391 }
8392 }
8393 return Z(b, a), b
8394 }(h), R = null, y = function () {
8395 return null == R && (R = new k), R
8396 }, I = function (a) {
8397 var b, c, d, e;
8398 for (e = D.ajax.ignoreURLs, c = 0, d = e.length; d > c; c++)
8399 if (b = e[c], "string" == typeof b) {
8400 if (-1 !== a.indexOf(b)) return !0
8401 } else if (b.test(a)) return !0;
8402 return !1
8403 }, y().on("request", function (b) {
8404 var c, d, e, f, g;
8405 return f = b.type, e = b.request, g = b.url, I(g) ? void 0 : j.running || D.restartOnRequestAfter === !1 && "force" !== J(f) ? void 0 : (d = arguments, c = D.restartOnRequestAfter || 0, "boolean" == typeof c && (c = 0), setTimeout(function () {
8406 var b, c, g, h, i, k;
8407 if (b = "socket" === f ? e.readyState < 2 : 0 < (h = e.readyState) && 4 > h) {
8408 for (j.restart(), i = j.sources, k = [], c = 0, g = i.length; g > c; c++) {
8409 if (K = i[c], K instanceof a) {
8410 K.watch.apply(K, d);
8411 break
8412 }
8413 k.push(void 0)
8414 }
8415 return k
8416 }
8417 }, c))
8418 }), a = function () {
8419 function a() {
8420 var a = this;
8421 this.elements = [], y().on("request", function () {
8422 return a.watch.apply(a, arguments)
8423 })
8424 }
8425 return a.prototype.watch = function (a) {
8426 var b, c, d, e;
8427 return d = a.type, b = a.request, e = a.url, I(e) ? void 0 : (c = "socket" === d ? new n(b) : new o(b), this.elements.push(c))
8428 }, a
8429 }(), o = function () {
8430 function a(a) {
8431 var b, c, d, e, f, g, h = this;
8432 if (this.progress = 0, null != window.ProgressEvent)
8433 for (c = null, a.addEventListener("progress", function (a) {
8434 return h.progress = a.lengthComputable ? 100 * a.loaded / a.total : h.progress + (100 - h.progress) / 2
8435 }, !1), g = ["load", "abort", "timeout", "error"], d = 0, e = g.length; e > d; d++) b = g[d], a.addEventListener(b, function () {
8436 return h.progress = 100
8437 }, !1);
8438 else f = a.onreadystatechange, a.onreadystatechange = function () {
8439 var b;
8440 return 0 === (b = a.readyState) || 4 === b ? h.progress = 100 : 3 === a.readyState && (h.progress = 50), "function" == typeof f ? f.apply(null, arguments) : void 0
8441 }
8442 }
8443 return a
8444 }(), n = function () {
8445 function a(a) {
8446 var b, c, d, e, f = this;
8447 for (this.progress = 0, e = ["error", "open"], c = 0, d = e.length; d > c; c++) b = e[c], a.addEventListener(b, function () {
8448 return f.progress = 100
8449 }, !1)
8450 }
8451 return a
8452 }(), d = function () {
8453 function a(a) {
8454 var b, c, d, f;
8455 for (null == a && (a = {}), this.elements = [], null == a.selectors && (a.selectors = []), f = a.selectors, c = 0, d = f.length; d > c; c++) b = f[c], this.elements.push(new e(b))
8456 }
8457 return a
8458 }(), e = function () {
8459 function a(a) {
8460 this.selector = a, this.progress = 0, this.check()
8461 }
8462 return a.prototype.check = function () {
8463 var a = this;
8464 return document.querySelector(this.selector) ? this.done() : setTimeout(function () {
8465 return a.check()
8466 }, D.elements.checkInterval)
8467 }, a.prototype.done = function () {
8468 return this.progress = 100
8469 }, a
8470 }(), c = function () {
8471 function a() {
8472 var a, b, c = this;
8473 this.progress = null != (b = this.states[document.readyState]) ? b : 100, a = document.onreadystatechange, document.onreadystatechange = function () {
8474 return null != c.states[document.readyState] && (c.progress = c.states[document.readyState]), "function" == typeof a ? a.apply(null, arguments) : void 0
8475 }
8476 }
8477 return a.prototype.states = {
8478 loading: 0,
8479 interactive: 50,
8480 complete: 100
8481 }, a
8482 }(), f = function () {
8483 function a() {
8484 var a, b, c, d, e, f = this;
8485 this.progress = 0, a = 0, e = [], d = 0, c = C(), b = setInterval(function () {
8486 var g;
8487 return g = C() - c - 50, c = C(), e.push(g), e.length > D.eventLag.sampleCount && e.shift(), a = q(e), ++d >= D.eventLag.minSamples && a < D.eventLag.lagThreshold ? (f.progress = 100, clearInterval(b)) : f.progress = 100 * (3 / (a + 3))
8488 }, 50)
8489 }
8490 return a
8491 }(), m = function () {
8492 function a(a) {
8493 this.source = a, this.last = this.sinceLastUpdate = 0, this.rate = D.initialRate, this.catchup = 0, this.progress = this.lastProgress = 0, null != this.source && (this.progress = F(this.source, "progress"))
8494 }
8495 return a.prototype.tick = function (a, b) {
8496 var c;
8497 return null == b && (b = F(this.source, "progress")), b >= 100 && (this.done = !0), b === this.last ? this.sinceLastUpdate += a : (this.sinceLastUpdate && (this.rate = (b - this.last) / this.sinceLastUpdate), this.catchup = (b - this.progress) / D.catchupTime, this.sinceLastUpdate = 0, this.last = b), b > this.progress && (this.progress += this.catchup * a), c = 1 - Math.pow(this.progress / 100, D.easeFactor), this.progress += c * this.rate * a, this.progress = Math.min(this.lastProgress + D.maxProgressPerFrame, this.progress), this.progress = Math.max(0, this.progress), this.progress = Math.min(100, this.progress), this.lastProgress = this.progress, this.progress
8498 }, a
8499 }(), L = null, H = null, r = null, M = null, p = null, s = null, j.running = !1, z = function () {
8500 return D.restartOnPushState ? j.restart() : void 0
8501 }, null != window.history.pushState && (T = window.history.pushState, window.history.pushState = function () {
8502 return z(), T.apply(window.history, arguments)
8503 }), null != window.history.replaceState && (W = window.history.replaceState, window.history.replaceState = function () {
8504 return z(), W.apply(window.history, arguments)
8505 }), l = {
8506 ajax: a,
8507 elements: d,
8508 document: c,
8509 eventLag: f
8510 }, (B = function () {
8511 var a, c, d, e, f, g, h, i;
8512 for (j.sources = L = [], g = ["ajax", "elements", "document", "eventLag"], c = 0, e = g.length; e > c; c++) a = g[c], D[a] !== !1 && L.push(new l[a](D[a]));
8513 for (i = null != (h = D.extraSources) ? h : [], d = 0, f = i.length; f > d; d++) K = i[d], L.push(new K(D));
8514 return j.bar = r = new b, H = [], M = new m
8515 })(), j.stop = function () {
8516 return j.trigger("stop"), j.running = !1, r.destroy(), s = !0, null != p && ("function" == typeof t && t(p), p = null), B()
8517 }, j.restart = function () {
8518 return j.trigger("restart"), j.stop(), j.start()
8519 }, j.go = function () {
8520 var a;
8521 return j.running = !0, r.render(), a = C(), s = !1, p = G(function (b, c) {
8522 var d, e, f, g, h, i, k, l, n, o, p, q, t, u, v, w;
8523 for (l = 100 - r.progress, e = p = 0, f = !0, i = q = 0, u = L.length; u > q; i = ++q)
8524 for (K = L[i], o = null != H[i] ? H[i] : H[i] = [], h = null != (w = K.elements) ? w : [K], k = t = 0, v = h.length; v > t; k = ++t) g = h[k], n = null != o[k] ? o[k] : o[k] = new m(g), f &= n.done, n.done || (e++, p += n.tick(b));
8525 return d = p / e, r.update(M.tick(b, d)), r.done() || f || s ? (r.update(100), j.trigger("done"), setTimeout(function () {
8526 return r.finish(), j.running = !1, j.trigger("hide")
8527 }, Math.max(D.ghostTime, Math.max(D.minTime - (C() - a), 0)))) : c()
8528 })
8529 }, j.start = function (a) {
8530 v(D, a), j.running = !0;
8531 try {
8532 r.render()
8533 } catch (b) {
8534 i = b
8535 }
8536 return document.querySelector(".pace") ? (j.trigger("start"), j.go()) : setTimeout(j.start, 50)
8537 }, "function" == typeof define && define.amd ? define(["pace"], function () {
8538 return j
8539 }) : "object" == typeof exports ? module.exports = j : D.startOnPageLoad && j.start()
8540}).call(this);
8541
8542// Waves
8543
8544! function (t, e) {
8545 "use strict";
8546 "function" == typeof define && define.amd ? define([], function () {
8547 return t.Waves = e.call(t), t.Waves
8548 }) : "object" == typeof exports ? module.exports = e.call(t) : t.Waves = e.call(t)
8549}("object" == typeof global ? global : this, function () {
8550 "use strict";
8551
8552 function t(t) {
8553 return null !== t && t === t.window
8554 }
8555
8556 function e(e) {
8557 return t(e) ? e : 9 === e.nodeType && e.defaultView
8558 }
8559
8560 function n(t) {
8561 var e = typeof t;
8562 return "function" === e || "object" === e && !!t
8563 }
8564
8565 function o(t) {
8566 return n(t) && t.nodeType > 0
8567 }
8568
8569 function a(t) {
8570 var e = f.call(t);
8571 return "[object String]" === e ? d(t) : n(t) && /^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(e) && t.hasOwnProperty("length") ? t : o(t) ? [t] : []
8572 }
8573
8574 function i(t) {
8575 var n, o, a = {
8576 top: 0,
8577 left: 0
8578 },
8579 i = t && t.ownerDocument;
8580 return n = i.documentElement, void 0 !== t.getBoundingClientRect && (a = t.getBoundingClientRect()), o = e(i), {
8581 top: a.top + o.pageYOffset - n.clientTop,
8582 left: a.left + o.pageXOffset - n.clientLeft
8583 }
8584 }
8585
8586 function r(t) {
8587 var e = "";
8588 for (var n in t) t.hasOwnProperty(n) && (e += n + ":" + t[n] + ";");
8589 return e
8590 }
8591
8592 function s(t, e, n) {
8593 if (n) {
8594 n.classList.remove("waves-rippling");
8595 var o = n.getAttribute("data-x"),
8596 a = n.getAttribute("data-y"),
8597 i = n.getAttribute("data-scale"),
8598 s = n.getAttribute("data-translate"),
8599 u = 350 - (Date.now() - Number(n.getAttribute("data-hold")));
8600 u < 0 && (u = 0), "mousemove" === t.type && (u = 150);
8601 var c = "mousemove" === t.type ? 2500 : v.duration;
8602 setTimeout(function () {
8603 var t = {
8604 top: a + "px",
8605 left: o + "px",
8606 opacity: "0",
8607 "-webkit-transition-duration": c + "ms",
8608 "-moz-transition-duration": c + "ms",
8609 "-o-transition-duration": c + "ms",
8610 "transition-duration": c + "ms",
8611 "-webkit-transform": i + " " + s,
8612 "-moz-transform": i + " " + s,
8613 "-ms-transform": i + " " + s,
8614 "-o-transform": i + " " + s,
8615 transform: i + " " + s
8616 };
8617 n.setAttribute("style", r(t)), setTimeout(function () {
8618 try {
8619 e.removeChild(n)
8620 } catch (t) {
8621 return !1
8622 }
8623 }, c)
8624 }, u)
8625 }
8626 }
8627
8628 function u(t) {
8629 if (!1 === h.allowEvent(t)) return null;
8630 for (var e = null, n = t.target || t.srcElement; n.parentElement;) {
8631 if (!(n instanceof SVGElement) && n.classList.contains("waves-effect")) {
8632 e = n;
8633 break
8634 }
8635 n = n.parentElement
8636 }
8637 return e
8638 }
8639
8640 function c(t) {
8641 var e = u(t);
8642 if (null !== e) {
8643 if (e.disabled || e.getAttribute("disabled") || e.classList.contains("disabled")) return;
8644 if (h.registerEvent(t), "touchstart" === t.type && v.delay) {
8645 var n = !1,
8646 o = setTimeout(function () {
8647 o = null, v.show(t, e)
8648 }, v.delay),
8649 a = function (a) {
8650 o && (clearTimeout(o), o = null, v.show(t, e)), n || (n = !0, v.hide(a, e)), r()
8651 },
8652 i = function (t) {
8653 o && (clearTimeout(o), o = null), a(t), r()
8654 };
8655 e.addEventListener("touchmove", i, !1), e.addEventListener("touchend", a, !1), e.addEventListener("touchcancel", a, !1);
8656 var r = function () {
8657 e.removeEventListener("touchmove", i), e.removeEventListener("touchend", a), e.removeEventListener("touchcancel", a)
8658 }
8659 } else v.show(t, e), m && (e.addEventListener("touchend", v.hide, !1), e.addEventListener("touchcancel", v.hide, !1)), e.addEventListener("mouseup", v.hide, !1), e.addEventListener("mouseleave", v.hide, !1)
8660 }
8661 }
8662 var l = l || {},
8663 d = document.querySelectorAll.bind(document),
8664 f = Object.prototype.toString,
8665 m = "ontouchstart" in window,
8666 v = {
8667 duration: 750,
8668 delay: 200,
8669 show: function (t, e, n) {
8670 if (2 === t.button) return !1;
8671 e = e || this;
8672 var o = document.createElement("div");
8673 o.className = "waves-ripple waves-rippling", e.appendChild(o);
8674 var a = i(e),
8675 s = 0,
8676 u = 0;
8677 "touches" in t && t.touches.length ? (s = t.touches[0].pageY - a.top, u = t.touches[0].pageX - a.left) : (s = t.pageY - a.top, u = t.pageX - a.left), u = u >= 0 ? u : 0, s = s >= 0 ? s : 0;
8678 var c = "scale(" + e.clientWidth / 100 * 3 + ")",
8679 l = "translate(0,0)";
8680 n && (l = "translate(" + n.x + "px, " + n.y + "px)"), o.setAttribute("data-hold", Date.now()), o.setAttribute("data-x", u), o.setAttribute("data-y", s), o.setAttribute("data-scale", c), o.setAttribute("data-translate", l);
8681 var d = {
8682 top: s + "px",
8683 left: u + "px"
8684 };
8685 o.classList.add("waves-notransition"), o.setAttribute("style", r(d)), o.classList.remove("waves-notransition"), d["-webkit-transform"] = c + " " + l, d["-moz-transform"] = c + " " + l, d["-ms-transform"] = c + " " + l, d["-o-transform"] = c + " " + l, d.transform = c + " " + l, d.opacity = "1";
8686 var f = "mousemove" === t.type ? 2500 : v.duration;
8687 d["-webkit-transition-duration"] = f + "ms", d["-moz-transition-duration"] = f + "ms", d["-o-transition-duration"] = f + "ms", d["transition-duration"] = f + "ms", o.setAttribute("style", r(d))
8688 },
8689 hide: function (t, e) {
8690 for (var n = (e = e || this).getElementsByClassName("waves-rippling"), o = 0, a = n.length; o < a; o++) s(t, e, n[o]);
8691 m && (e.removeEventListener("touchend", v.hide), e.removeEventListener("touchcancel", v.hide)), e.removeEventListener("mouseup", v.hide), e.removeEventListener("mouseleave", v.hide)
8692 }
8693 },
8694 p = {
8695 input: function (t) {
8696 var e = t.parentNode;
8697 if ("i" !== e.tagName.toLowerCase() || !e.classList.contains("waves-effect")) {
8698 var n = document.createElement("i");
8699 n.className = t.className + " waves-input-wrapper", t.className = "waves-button-input", e.replaceChild(n, t), n.appendChild(t);
8700 var o = window.getComputedStyle(t, null),
8701 a = o.color,
8702 i = o.backgroundColor;
8703 n.setAttribute("style", "color:" + a + ";background:" + i), t.setAttribute("style", "background-color:rgba(0,0,0,0);")
8704 }
8705 },
8706 img: function (t) {
8707 var e = t.parentNode;
8708 if ("i" !== e.tagName.toLowerCase() || !e.classList.contains("waves-effect")) {
8709 var n = document.createElement("i");
8710 e.replaceChild(n, t), n.appendChild(t)
8711 }
8712 }
8713 },
8714 h = {
8715 touches: 0,
8716 allowEvent: function (t) {
8717 var e = !0;
8718 return /^(mousedown|mousemove)$/.test(t.type) && h.touches && (e = !1), e
8719 },
8720 registerEvent: function (t) {
8721 var e = t.type;
8722 "touchstart" === e ? h.touches += 1 : /^(touchend|touchcancel)$/.test(e) && setTimeout(function () {
8723 h.touches && (h.touches -= 1)
8724 }, 500)
8725 }
8726 };
8727 return l.init = function (t) {
8728 var e = document.body;
8729 "duration" in (t = t || {}) && (v.duration = t.duration), "delay" in t && (v.delay = t.delay), m && (e.addEventListener("touchstart", c, !1), e.addEventListener("touchcancel", h.registerEvent, !1), e.addEventListener("touchend", h.registerEvent, !1)), e.addEventListener("mousedown", c, !1)
8730 }, l.attach = function (t, e) {
8731 t = a(t), "[object Array]" === f.call(e) && (e = e.join(" ")), e = e ? " " + e : "";
8732 for (var n, o, i = 0, r = t.length; i < r; i++) o = (n = t[i]).tagName.toLowerCase(), -1 !== ["input", "img"].indexOf(o) && (p[o](n), n = n.parentElement), -1 === n.className.indexOf("waves-effect") && (n.className += " waves-effect" + e)
8733 }, l.ripple = function (t, e) {
8734 var n = (t = a(t)).length;
8735 if (e = e || {}, e.wait = e.wait || 0, e.position = e.position || null, n)
8736 for (var o, r, s, u = {}, c = 0, l = {
8737 type: "mousedown",
8738 button: 1
8739 }; c < n; c++)
8740 if (o = t[c], r = e.position || {
8741 x: o.clientWidth / 2,
8742 y: o.clientHeight / 2
8743 }, s = i(o), u.x = s.left + r.x, u.y = s.top + r.y, l.pageX = u.x, l.pageY = u.y, v.show(l, o), e.wait >= 0 && null !== e.wait) {
8744 var d = {
8745 type: "mouseup",
8746 button: 1
8747 };
8748 setTimeout(function (t, e) {
8749 return function () {
8750 v.hide(t, e)
8751 }
8752 }(d, o), e.wait)
8753 }
8754 }, l.calm = function (t) {
8755 for (var e = {
8756 type: "mouseup",
8757 button: 1
8758 }, n = 0, o = (t = a(t)).length; n < o; n++) v.hide(e, t[n])
8759 }, l.displayEffect = function (t) {
8760 l.init(t)
8761 }, l
8762});
8763//# sourceMappingURL=waves.min.js.map
8764
8765// Internationalization
8766! function (e, t) {
8767 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).i18next = t()
8768}(this, function () {
8769 "use strict";
8770
8771 function e(t) {
8772 return (e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
8773 return typeof e
8774 } : function (e) {
8775 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
8776 })(t)
8777 }
8778
8779 function t(n) {
8780 return (t = "function" == typeof Symbol && "symbol" === e(Symbol.iterator) ? function (t) {
8781 return e(t)
8782 } : function (t) {
8783 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : e(t)
8784 })(n)
8785 }
8786
8787 function n(e, t, n) {
8788 return t in e ? Object.defineProperty(e, t, {
8789 value: n,
8790 enumerable: !0,
8791 configurable: !0,
8792 writable: !0
8793 }) : e[t] = n, e
8794 }
8795
8796 function r(e) {
8797 for (var t = 1; t < arguments.length; t++) {
8798 var r = null != arguments[t] ? arguments[t] : {},
8799 o = Object.keys(r);
8800 "function" == typeof Object.getOwnPropertySymbols && (o = o.concat(Object.getOwnPropertySymbols(r).filter(function (e) {
8801 return Object.getOwnPropertyDescriptor(r, e).enumerable
8802 }))), o.forEach(function (t) {
8803 n(e, t, r[t])
8804 })
8805 }
8806 return e
8807 }
8808
8809 function o(e, t) {
8810 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
8811 }
8812
8813 function i(e, t) {
8814 for (var n = 0; n < t.length; n++) {
8815 var r = t[n];
8816 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
8817 }
8818 }
8819
8820 function a(e, t, n) {
8821 return t && i(e.prototype, t), n && i(e, n), e
8822 }
8823
8824 function s(e) {
8825 if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8826 return e
8827 }
8828
8829 function u(e, n) {
8830 return !n || "object" !== t(n) && "function" != typeof n ? s(e) : n
8831 }
8832
8833 function l(e) {
8834 return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {
8835 return e.__proto__ || Object.getPrototypeOf(e)
8836 })(e)
8837 }
8838
8839 function c(e, t) {
8840 return (c = Object.setPrototypeOf || function (e, t) {
8841 return e.__proto__ = t, e
8842 })(e, t)
8843 }
8844
8845 function f(e, t) {
8846 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
8847 e.prototype = Object.create(t && t.prototype, {
8848 constructor: {
8849 value: e,
8850 writable: !0,
8851 configurable: !0
8852 }
8853 }), t && c(e, t)
8854 }
8855
8856 function p(e) {
8857 return function (e) {
8858 if (Array.isArray(e)) {
8859 for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
8860 return n
8861 }
8862 }(e) || function (e) {
8863 if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
8864 }(e) || function () {
8865 throw new TypeError("Invalid attempt to spread non-iterable instance")
8866 }()
8867 }
8868 var g = {
8869 type: "logger",
8870 log: function (e) {
8871 this.output("log", e)
8872 },
8873 warn: function (e) {
8874 this.output("warn", e)
8875 },
8876 error: function (e) {
8877 this.output("error", e)
8878 },
8879 output: function (e, t) {
8880 var n;
8881 console && console[e] && (n = console)[e].apply(n, p(t))
8882 }
8883 },
8884 h = new(function () {
8885 function e(t) {
8886 var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
8887 o(this, e), this.init(t, n)
8888 }
8889 return a(e, [{
8890 key: "init",
8891 value: function (e) {
8892 var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
8893 this.prefix = t.prefix || "i18next:", this.logger = e || g, this.options = t, this.debug = t.debug
8894 }
8895 }, {
8896 key: "setDebug",
8897 value: function (e) {
8898 this.debug = e
8899 }
8900 }, {
8901 key: "log",
8902 value: function () {
8903 for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
8904 return this.forward(t, "log", "", !0)
8905 }
8906 }, {
8907 key: "warn",
8908 value: function () {
8909 for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
8910 return this.forward(t, "warn", "", !0)
8911 }
8912 }, {
8913 key: "error",
8914 value: function () {
8915 for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
8916 return this.forward(t, "error", "")
8917 }
8918 }, {
8919 key: "deprecate",
8920 value: function () {
8921 for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
8922 return this.forward(t, "warn", "WARNING DEPRECATED: ", !0)
8923 }
8924 }, {
8925 key: "forward",
8926 value: function (e, t, n, r) {
8927 return r && !this.debug ? null : ("string" == typeof e[0] && (e[0] = "".concat(n).concat(this.prefix, " ").concat(e[0])), this.logger[t](e))
8928 }
8929 }, {
8930 key: "create",
8931 value: function (t) {
8932 return new e(this.logger, r({}, {
8933 prefix: "".concat(this.prefix, ":").concat(t, ":")
8934 }, this.options))
8935 }
8936 }]), e
8937 }()),
8938 d = function () {
8939 function e() {
8940 o(this, e), this.observers = {}
8941 }
8942 return a(e, [{
8943 key: "on",
8944 value: function (e, t) {
8945 var n = this;
8946 return e.split(" ").forEach(function (e) {
8947 n.observers[e] = n.observers[e] || [], n.observers[e].push(t)
8948 }), this
8949 }
8950 }, {
8951 key: "off",
8952 value: function (e, t) {
8953 var n = this;
8954 this.observers[e] && this.observers[e].forEach(function () {
8955 if (t) {
8956 var r = n.observers[e].indexOf(t);
8957 r > -1 && n.observers[e].splice(r, 1)
8958 } else delete n.observers[e]
8959 })
8960 }
8961 }, {
8962 key: "emit",
8963 value: function (e) {
8964 for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
8965 this.observers[e] && [].concat(this.observers[e]).forEach(function (e) {
8966 e.apply(void 0, n)
8967 });
8968 this.observers["*"] && [].concat(this.observers["*"]).forEach(function (t) {
8969 t.apply(t, [e].concat(n))
8970 })
8971 }
8972 }]), e
8973 }();
8974
8975 function v() {
8976 var e, t, n = new Promise(function (n, r) {
8977 e = n, t = r
8978 });
8979 return n.resolve = e, n.reject = t, n
8980 }
8981
8982 function y(e) {
8983 return null == e ? "" : "" + e
8984 }
8985
8986 function m(e, t, n) {
8987 function r(e) {
8988 return e && e.indexOf("###") > -1 ? e.replace(/###/g, ".") : e
8989 }
8990
8991 function o() {
8992 return !e || "string" == typeof e
8993 }
8994 for (var i = "string" != typeof t ? [].concat(t) : t.split("."); i.length > 1;) {
8995 if (o()) return {};
8996 var a = r(i.shift());
8997 !e[a] && n && (e[a] = new n), e = e[a]
8998 }
8999 return o() ? {} : {
9000 obj: e,
9001 k: r(i.shift())
9002 }
9003 }
9004
9005 function b(e, t, n) {
9006 var r = m(e, t, Object);
9007 r.obj[r.k] = n
9008 }
9009
9010 function k(e, t) {
9011 var n = m(e, t),
9012 r = n.obj,
9013 o = n.k;
9014 if (r) return r[o]
9015 }
9016
9017 function x(e) {
9018 return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
9019 }
9020 var S = {
9021 "&": "&",
9022 "<": "<",
9023 ">": ">",
9024 '"': """,
9025 "'": "'",
9026 "/": "/"
9027 };
9028
9029 function w(e) {
9030 return "string" == typeof e ? e.replace(/[&<>"'\/]/g, function (e) {
9031 return S[e]
9032 }) : e
9033 }
9034 var O = function (e) {
9035 function t(e) {
9036 var n, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
9037 ns: ["translation"],
9038 defaultNS: "translation"
9039 };
9040 return o(this, t), n = u(this, l(t).call(this)), d.call(s(n)), n.data = e || {}, n.options = r, void 0 === n.options.keySeparator && (n.options.keySeparator = "."), n
9041 }
9042 return f(t, d), a(t, [{
9043 key: "addNamespaces",
9044 value: function (e) {
9045 this.options.ns.indexOf(e) < 0 && this.options.ns.push(e)
9046 }
9047 }, {
9048 key: "removeNamespaces",
9049 value: function (e) {
9050 var t = this.options.ns.indexOf(e);
9051 t > -1 && this.options.ns.splice(t, 1)
9052 }
9053 }, {
9054 key: "getResource",
9055 value: function (e, t, n) {
9056 var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
9057 o = void 0 !== r.keySeparator ? r.keySeparator : this.options.keySeparator,
9058 i = [e, t];
9059 return n && "string" != typeof n && (i = i.concat(n)), n && "string" == typeof n && (i = i.concat(o ? n.split(o) : n)), e.indexOf(".") > -1 && (i = e.split(".")), k(this.data, i)
9060 }
9061 }, {
9062 key: "addResource",
9063 value: function (e, t, n, r) {
9064 var o = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {
9065 silent: !1
9066 },
9067 i = this.options.keySeparator;
9068 void 0 === i && (i = ".");
9069 var a = [e, t];
9070 n && (a = a.concat(i ? n.split(i) : n)), e.indexOf(".") > -1 && (r = t, t = (a = e.split("."))[1]), this.addNamespaces(t), b(this.data, a, r), o.silent || this.emit("added", e, t, n, r)
9071 }
9072 }, {
9073 key: "addResources",
9074 value: function (e, t, n) {
9075 var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {
9076 silent: !1
9077 };
9078 for (var o in n) "string" != typeof n[o] && "[object Array]" !== Object.prototype.toString.apply(n[o]) || this.addResource(e, t, o, n[o], {
9079 silent: !0
9080 });
9081 r.silent || this.emit("added", e, t, n)
9082 }
9083 }, {
9084 key: "addResourceBundle",
9085 value: function (e, t, n, o, i) {
9086 var a = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {
9087 silent: !1
9088 },
9089 s = [e, t];
9090 e.indexOf(".") > -1 && (o = n, n = t, t = (s = e.split("."))[1]), this.addNamespaces(t);
9091 var u = k(this.data, s) || {};
9092 o ? function e(t, n, r) {
9093 for (var o in n) o in t ? "string" == typeof t[o] || t[o] instanceof String || "string" == typeof n[o] || n[o] instanceof String ? r && (t[o] = n[o]) : e(t[o], n[o], r) : t[o] = n[o];
9094 return t
9095 }(u, n, i) : u = r({}, u, n), b(this.data, s, u), a.silent || this.emit("added", e, t, n)
9096 }
9097 }, {
9098 key: "removeResourceBundle",
9099 value: function (e, t) {
9100 this.hasResourceBundle(e, t) && delete this.data[e][t], this.removeNamespaces(t), this.emit("removed", e, t)
9101 }
9102 }, {
9103 key: "hasResourceBundle",
9104 value: function (e, t) {
9105 return void 0 !== this.getResource(e, t)
9106 }
9107 }, {
9108 key: "getResourceBundle",
9109 value: function (e, t) {
9110 return t || (t = this.options.defaultNS), "v1" === this.options.compatibilityAPI ? r({}, {}, this.getResource(e, t)) : this.getResource(e, t)
9111 }
9112 }, {
9113 key: "getDataByLanguage",
9114 value: function (e) {
9115 return this.data[e]
9116 }
9117 }, {
9118 key: "toJSON",
9119 value: function () {
9120 return this.data
9121 }
9122 }]), t
9123 }(),
9124 R = {
9125 processors: {},
9126 addPostProcessor: function (e) {
9127 this.processors[e.name] = e
9128 },
9129 handle: function (e, t, n, r, o) {
9130 var i = this;
9131 return e.forEach(function (e) {
9132 i.processors[e] && (t = i.processors[e].process(t, n, r, o))
9133 }), t
9134 }
9135 },
9136 j = function (e) {
9137 function n(e) {
9138 var t, r, i, a, c = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
9139 return o(this, n), t = u(this, l(n).call(this)), d.call(s(t)), r = ["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat"], i = e, a = s(t), r.forEach(function (e) {
9140 i[e] && (a[e] = i[e])
9141 }), t.options = c, void 0 === t.options.keySeparator && (t.options.keySeparator = "."), t.logger = h.create("translator"), t
9142 }
9143 return f(n, d), a(n, [{
9144 key: "changeLanguage",
9145 value: function (e) {
9146 e && (this.language = e)
9147 }
9148 }, {
9149 key: "exists",
9150 value: function (e) {
9151 var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
9152 interpolation: {}
9153 },
9154 n = this.resolve(e, t);
9155 return n && void 0 !== n.res
9156 }
9157 }, {
9158 key: "extractFromKey",
9159 value: function (e, t) {
9160 var n = t.nsSeparator || this.options.nsSeparator;
9161 void 0 === n && (n = ":");
9162 var r = void 0 !== t.keySeparator ? t.keySeparator : this.options.keySeparator,
9163 o = t.ns || this.options.defaultNS;
9164 if (n && e.indexOf(n) > -1) {
9165 var i = e.split(n);
9166 (n !== r || n === r && this.options.ns.indexOf(i[0]) > -1) && (o = i.shift()), e = i.join(r)
9167 }
9168 return "string" == typeof o && (o = [o]), {
9169 key: e,
9170 namespaces: o
9171 }
9172 }
9173 }, {
9174 key: "translate",
9175 value: function (e, n) {
9176 var o = this;
9177 if ("object" !== t(n) && this.options.overloadTranslationOptionHandler && (n = this.options.overloadTranslationOptionHandler(arguments)), n || (n = {}), null == e) return "";
9178 Array.isArray(e) || (e = [String(e)]);
9179 var i = void 0 !== n.keySeparator ? n.keySeparator : this.options.keySeparator,
9180 a = this.extractFromKey(e[e.length - 1], n),
9181 s = a.key,
9182 u = a.namespaces,
9183 l = u[u.length - 1],
9184 c = n.lng || this.language,
9185 f = n.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
9186 if (c && "cimode" === c.toLowerCase()) {
9187 if (f) {
9188 var p = n.nsSeparator || this.options.nsSeparator;
9189 return l + p + s
9190 }
9191 return s
9192 }
9193 var g = this.resolve(e, n),
9194 h = g && g.res,
9195 d = g && g.usedKey || s,
9196 v = g && g.exactUsedKey || s,
9197 y = Object.prototype.toString.apply(h),
9198 m = void 0 !== n.joinArrays ? n.joinArrays : this.options.joinArrays,
9199 b = !this.i18nFormat || this.i18nFormat.handleAsObject;
9200 if (b && h && ("string" != typeof h && "boolean" != typeof h && "number" != typeof h) && ["[object Number]", "[object Function]", "[object RegExp]"].indexOf(y) < 0 && ("string" != typeof m || "[object Array]" !== y)) {
9201 if (!n.returnObjects && !this.options.returnObjects) return this.logger.warn("accessing an object - but returnObjects options is not enabled!"), this.options.returnedObjectHandler ? this.options.returnedObjectHandler(d, h, n) : "key '".concat(s, " (").concat(this.language, ")' returned an object instead of string.");
9202 if (i) {
9203 var k = "[object Array]" === y,
9204 x = k ? [] : {},
9205 S = k ? v : d;
9206 for (var w in h)
9207 if (Object.prototype.hasOwnProperty.call(h, w)) {
9208 var O = "".concat(S).concat(i).concat(w);
9209 x[w] = this.translate(O, r({}, n, {
9210 joinArrays: !1,
9211 ns: u
9212 })), x[w] === O && (x[w] = h[w])
9213 }
9214 h = x
9215 }
9216 } else if (b && "string" == typeof m && "[object Array]" === y)(h = h.join(m)) && (h = this.extendTranslation(h, e, n));
9217 else {
9218 var R = !1,
9219 j = !1;
9220 if (!this.isValidLookup(h) && void 0 !== n.defaultValue) {
9221 if (R = !0, void 0 !== n.count) {
9222 var L = this.pluralResolver.getSuffix(c, n.count);
9223 h = n["defaultValue".concat(L)]
9224 }
9225 h || (h = n.defaultValue)
9226 }
9227 this.isValidLookup(h) || (j = !0, h = s);
9228 var N = n.defaultValue && n.defaultValue !== h && this.options.updateMissing;
9229 if (j || R || N) {
9230 this.logger.log(N ? "updateKey" : "missingKey", c, l, s, N ? n.defaultValue : h);
9231 var C = [],
9232 E = this.languageUtils.getFallbackCodes(this.options.fallbackLng, n.lng || this.language);
9233 if ("fallback" === this.options.saveMissingTo && E && E[0])
9234 for (var P = 0; P < E.length; P++) C.push(E[P]);
9235 else "all" === this.options.saveMissingTo ? C = this.languageUtils.toResolveHierarchy(n.lng || this.language) : C.push(n.lng || this.language);
9236 var F = function (e, t) {
9237 o.options.missingKeyHandler ? o.options.missingKeyHandler(e, l, t, N ? n.defaultValue : h, N, n) : o.backendConnector && o.backendConnector.saveMissing && o.backendConnector.saveMissing(e, l, t, N ? n.defaultValue : h, N, n), o.emit("missingKey", e, l, t, h)
9238 };
9239 if (this.options.saveMissing) {
9240 var A = void 0 !== n.count && "string" != typeof n.count;
9241 this.options.saveMissingPlurals && A ? C.forEach(function (e) {
9242 o.pluralResolver.getPluralFormsOfKey(e, s).forEach(function (t) {
9243 return F([e], t)
9244 })
9245 }) : F(C, s)
9246 }
9247 }
9248 h = this.extendTranslation(h, e, n, g), j && h === s && this.options.appendNamespaceToMissingKey && (h = "".concat(l, ":").concat(s)), j && this.options.parseMissingKeyHandler && (h = this.options.parseMissingKeyHandler(h))
9249 }
9250 return h
9251 }
9252 }, {
9253 key: "extendTranslation",
9254 value: function (e, t, n, o) {
9255 var i = this;
9256 if (this.i18nFormat && this.i18nFormat.parse) e = this.i18nFormat.parse(e, n, o.usedLng, o.usedNS, o.usedKey, {
9257 resolved: o
9258 });
9259 else if (!n.skipInterpolation) {
9260 n.interpolation && this.interpolator.init(r({}, n, {
9261 interpolation: r({}, this.options.interpolation, n.interpolation)
9262 }));
9263 var a = n.replace && "string" != typeof n.replace ? n.replace : n;
9264 this.options.interpolation.defaultVariables && (a = r({}, this.options.interpolation.defaultVariables, a)), e = this.interpolator.interpolate(e, a, n.lng || this.language, n), !1 !== n.nest && (e = this.interpolator.nest(e, function () {
9265 return i.translate.apply(i, arguments)
9266 }, n)), n.interpolation && this.interpolator.reset()
9267 }
9268 var s = n.postProcess || this.options.postProcess,
9269 u = "string" == typeof s ? [s] : s;
9270 return null != e && u && u.length && !1 !== n.applyPostProcessor && (e = R.handle(u, e, t, n, this)), e
9271 }
9272 }, {
9273 key: "resolve",
9274 value: function (e) {
9275 var t, n, r, o, i, a = this,
9276 s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
9277 return "string" == typeof e && (e = [e]), e.forEach(function (e) {
9278 if (!a.isValidLookup(t)) {
9279 var u = a.extractFromKey(e, s),
9280 l = u.key;
9281 n = l;
9282 var c = u.namespaces;
9283 a.options.fallbackNS && (c = c.concat(a.options.fallbackNS));
9284 var f = void 0 !== s.count && "string" != typeof s.count,
9285 p = void 0 !== s.context && "string" == typeof s.context && "" !== s.context,
9286 g = s.lngs ? s.lngs : a.languageUtils.toResolveHierarchy(s.lng || a.language, s.fallbackLng);
9287 c.forEach(function (e) {
9288 a.isValidLookup(t) || (i = e, g.forEach(function (n) {
9289 if (!a.isValidLookup(t)) {
9290 o = n;
9291 var i, u, c = l,
9292 g = [c];
9293 if (a.i18nFormat && a.i18nFormat.addLookupKeys) a.i18nFormat.addLookupKeys(g, l, n, e, s);
9294 else f && (i = a.pluralResolver.getSuffix(n, s.count)), f && p && g.push(c + i), p && g.push(c += "".concat(a.options.contextSeparator).concat(s.context)), f && g.push(c += i);
9295 for (; u = g.pop();) a.isValidLookup(t) || (r = u, t = a.getResource(n, e, u, s))
9296 }
9297 }))
9298 })
9299 }
9300 }), {
9301 res: t,
9302 usedKey: n,
9303 exactUsedKey: r,
9304 usedLng: o,
9305 usedNS: i
9306 }
9307 }
9308 }, {
9309 key: "isValidLookup",
9310 value: function (e) {
9311 return !(void 0 === e || !this.options.returnNull && null === e || !this.options.returnEmptyString && "" === e)
9312 }
9313 }, {
9314 key: "getResource",
9315 value: function (e, t, n) {
9316 var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
9317 return this.i18nFormat && this.i18nFormat.getResource ? this.i18nFormat.getResource(e, t, n, r) : this.resourceStore.getResource(e, t, n, r)
9318 }
9319 }]), n
9320 }();
9321
9322 function L(e) {
9323 return e.charAt(0).toUpperCase() + e.slice(1)
9324 }
9325 var N = function () {
9326 function e(t) {
9327 o(this, e), this.options = t, this.whitelist = this.options.whitelist || !1, this.logger = h.create("languageUtils")
9328 }
9329 return a(e, [{
9330 key: "getScriptPartFromCode",
9331 value: function (e) {
9332 if (!e || e.indexOf("-") < 0) return null;
9333 var t = e.split("-");
9334 return 2 === t.length ? null : (t.pop(), this.formatLanguageCode(t.join("-")))
9335 }
9336 }, {
9337 key: "getLanguagePartFromCode",
9338 value: function (e) {
9339 if (!e || e.indexOf("-") < 0) return e;
9340 var t = e.split("-");
9341 return this.formatLanguageCode(t[0])
9342 }
9343 }, {
9344 key: "formatLanguageCode",
9345 value: function (e) {
9346 if ("string" == typeof e && e.indexOf("-") > -1) {
9347 var t = ["hans", "hant", "latn", "cyrl", "cans", "mong", "arab"],
9348 n = e.split("-");
9349 return this.options.lowerCaseLng ? n = n.map(function (e) {
9350 return e.toLowerCase()
9351 }) : 2 === n.length ? (n[0] = n[0].toLowerCase(), n[1] = n[1].toUpperCase(), t.indexOf(n[1].toLowerCase()) > -1 && (n[1] = L(n[1].toLowerCase()))) : 3 === n.length && (n[0] = n[0].toLowerCase(), 2 === n[1].length && (n[1] = n[1].toUpperCase()), "sgn" !== n[0] && 2 === n[2].length && (n[2] = n[2].toUpperCase()), t.indexOf(n[1].toLowerCase()) > -1 && (n[1] = L(n[1].toLowerCase())), t.indexOf(n[2].toLowerCase()) > -1 && (n[2] = L(n[2].toLowerCase()))), n.join("-")
9352 }
9353 return this.options.cleanCode || this.options.lowerCaseLng ? e.toLowerCase() : e
9354 }
9355 }, {
9356 key: "isWhitelisted",
9357 value: function (e) {
9358 return ("languageOnly" === this.options.load || this.options.nonExplicitWhitelist) && (e = this.getLanguagePartFromCode(e)), !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(e) > -1
9359 }
9360 }, {
9361 key: "getFallbackCodes",
9362 value: function (e, t) {
9363 if (!e) return [];
9364 if ("string" == typeof e && (e = [e]), "[object Array]" === Object.prototype.toString.apply(e)) return e;
9365 if (!t) return e.default || [];
9366 var n = e[t];
9367 return n || (n = e[this.getScriptPartFromCode(t)]), n || (n = e[this.formatLanguageCode(t)]), n || (n = e.default), n || []
9368 }
9369 }, {
9370 key: "toResolveHierarchy",
9371 value: function (e, t) {
9372 var n = this,
9373 r = this.getFallbackCodes(t || this.options.fallbackLng || [], e),
9374 o = [],
9375 i = function (e) {
9376 e && (n.isWhitelisted(e) ? o.push(e) : n.logger.warn("rejecting non-whitelisted language code: ".concat(e)))
9377 };
9378 return "string" == typeof e && e.indexOf("-") > -1 ? ("languageOnly" !== this.options.load && i(this.formatLanguageCode(e)), "languageOnly" !== this.options.load && "currentOnly" !== this.options.load && i(this.getScriptPartFromCode(e)), "currentOnly" !== this.options.load && i(this.getLanguagePartFromCode(e))) : "string" == typeof e && i(this.formatLanguageCode(e)), r.forEach(function (e) {
9379 o.indexOf(e) < 0 && i(n.formatLanguageCode(e))
9380 }), o
9381 }
9382 }]), e
9383 }(),
9384 C = [{
9385 lngs: ["ach", "ak", "am", "arn", "br", "fil", "gun", "ln", "mfe", "mg", "mi", "oc", "pt", "pt-BR", "tg", "ti", "tr", "uz", "wa"],
9386 nr: [1, 2],
9387 fc: 1
9388 }, {
9389 lngs: ["af", "an", "ast", "az", "bg", "bn", "ca", "da", "de", "dev", "el", "en", "eo", "es", "et", "eu", "fi", "fo", "fur", "fy", "gl", "gu", "ha", "hi", "hu", "hy", "ia", "it", "kn", "ku", "lb", "mai", "ml", "mn", "mr", "nah", "nap", "nb", "ne", "nl", "nn", "no", "nso", "pa", "pap", "pms", "ps", "pt-PT", "rm", "sco", "se", "si", "so", "son", "sq", "sv", "sw", "ta", "te", "tk", "ur", "yo"],
9390 nr: [1, 2],
9391 fc: 2
9392 }, {
9393 lngs: ["ay", "bo", "cgg", "fa", "id", "ja", "jbo", "ka", "kk", "km", "ko", "ky", "lo", "ms", "sah", "su", "th", "tt", "ug", "vi", "wo", "zh"],
9394 nr: [1],
9395 fc: 3
9396 }, {
9397 lngs: ["be", "bs", "cnr", "dz", "hr", "ru", "sr", "uk"],
9398 nr: [1, 2, 5],
9399 fc: 4
9400 }, {
9401 lngs: ["ar"],
9402 nr: [0, 1, 2, 3, 11, 100],
9403 fc: 5
9404 }, {
9405 lngs: ["cs", "sk"],
9406 nr: [1, 2, 5],
9407 fc: 6
9408 }, {
9409 lngs: ["csb", "pl"],
9410 nr: [1, 2, 5],
9411 fc: 7
9412 }, {
9413 lngs: ["cy"],
9414 nr: [1, 2, 3, 8],
9415 fc: 8
9416 }, {
9417 lngs: ["fr"],
9418 nr: [1, 2],
9419 fc: 9
9420 }, {
9421 lngs: ["ga"],
9422 nr: [1, 2, 3, 7, 11],
9423 fc: 10
9424 }, {
9425 lngs: ["gd"],
9426 nr: [1, 2, 3, 20],
9427 fc: 11
9428 }, {
9429 lngs: ["is"],
9430 nr: [1, 2],
9431 fc: 12
9432 }, {
9433 lngs: ["jv"],
9434 nr: [0, 1],
9435 fc: 13
9436 }, {
9437 lngs: ["kw"],
9438 nr: [1, 2, 3, 4],
9439 fc: 14
9440 }, {
9441 lngs: ["lt"],
9442 nr: [1, 2, 10],
9443 fc: 15
9444 }, {
9445 lngs: ["lv"],
9446 nr: [1, 2, 0],
9447 fc: 16
9448 }, {
9449 lngs: ["mk"],
9450 nr: [1, 2],
9451 fc: 17
9452 }, {
9453 lngs: ["mnk"],
9454 nr: [0, 1, 2],
9455 fc: 18
9456 }, {
9457 lngs: ["mt"],
9458 nr: [1, 2, 11, 20],
9459 fc: 19
9460 }, {
9461 lngs: ["or"],
9462 nr: [2, 1],
9463 fc: 2
9464 }, {
9465 lngs: ["ro"],
9466 nr: [1, 2, 20],
9467 fc: 20
9468 }, {
9469 lngs: ["sl"],
9470 nr: [5, 1, 2, 3],
9471 fc: 21
9472 }, {
9473 lngs: ["he"],
9474 nr: [1, 2, 20, 21],
9475 fc: 22
9476 }],
9477 E = {
9478 1: function (e) {
9479 return Number(e > 1)
9480 },
9481 2: function (e) {
9482 return Number(1 != e)
9483 },
9484 3: function (e) {
9485 return 0
9486 },
9487 4: function (e) {
9488 return Number(e % 10 == 1 && e % 100 != 11 ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
9489 },
9490 5: function (e) {
9491 return Number(0 === e ? 0 : 1 == e ? 1 : 2 == e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5)
9492 },
9493 6: function (e) {
9494 return Number(1 == e ? 0 : e >= 2 && e <= 4 ? 1 : 2)
9495 },
9496 7: function (e) {
9497 return Number(1 == e ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
9498 },
9499 8: function (e) {
9500 return Number(1 == e ? 0 : 2 == e ? 1 : 8 != e && 11 != e ? 2 : 3)
9501 },
9502 9: function (e) {
9503 return Number(e >= 2)
9504 },
9505 10: function (e) {
9506 return Number(1 == e ? 0 : 2 == e ? 1 : e < 7 ? 2 : e < 11 ? 3 : 4)
9507 },
9508 11: function (e) {
9509 return Number(1 == e || 11 == e ? 0 : 2 == e || 12 == e ? 1 : e > 2 && e < 20 ? 2 : 3)
9510 },
9511 12: function (e) {
9512 return Number(e % 10 != 1 || e % 100 == 11)
9513 },
9514 13: function (e) {
9515 return Number(0 !== e)
9516 },
9517 14: function (e) {
9518 return Number(1 == e ? 0 : 2 == e ? 1 : 3 == e ? 2 : 3)
9519 },
9520 15: function (e) {
9521 return Number(e % 10 == 1 && e % 100 != 11 ? 0 : e % 10 >= 2 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2)
9522 },
9523 16: function (e) {
9524 return Number(e % 10 == 1 && e % 100 != 11 ? 0 : 0 !== e ? 1 : 2)
9525 },
9526 17: function (e) {
9527 return Number(1 == e || e % 10 == 1 ? 0 : 1)
9528 },
9529 18: function (e) {
9530 return Number(0 == e ? 0 : 1 == e ? 1 : 2)
9531 },
9532 19: function (e) {
9533 return Number(1 == e ? 0 : 0 === e || e % 100 > 1 && e % 100 < 11 ? 1 : e % 100 > 10 && e % 100 < 20 ? 2 : 3)
9534 },
9535 20: function (e) {
9536 return Number(1 == e ? 0 : 0 === e || e % 100 > 0 && e % 100 < 20 ? 1 : 2)
9537 },
9538 21: function (e) {
9539 return Number(e % 100 == 1 ? 1 : e % 100 == 2 ? 2 : e % 100 == 3 || e % 100 == 4 ? 3 : 0)
9540 },
9541 22: function (e) {
9542 return Number(1 === e ? 0 : 2 === e ? 1 : (e < 0 || e > 10) && e % 10 == 0 ? 2 : 3)
9543 }
9544 };
9545 var P = function () {
9546 function e(t) {
9547 var n, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
9548 o(this, e), this.languageUtils = t, this.options = r, this.logger = h.create("pluralResolver"), this.rules = (n = {}, C.forEach(function (e) {
9549 e.lngs.forEach(function (t) {
9550 n[t] = {
9551 numbers: e.nr,
9552 plurals: E[e.fc]
9553 }
9554 })
9555 }), n)
9556 }
9557 return a(e, [{
9558 key: "addRule",
9559 value: function (e, t) {
9560 this.rules[e] = t
9561 }
9562 }, {
9563 key: "getRule",
9564 value: function (e) {
9565 return this.rules[e] || this.rules[this.languageUtils.getLanguagePartFromCode(e)]
9566 }
9567 }, {
9568 key: "needsPlural",
9569 value: function (e) {
9570 var t = this.getRule(e);
9571 return t && t.numbers.length > 1
9572 }
9573 }, {
9574 key: "getPluralFormsOfKey",
9575 value: function (e, t) {
9576 var n = this,
9577 r = [],
9578 o = this.getRule(e);
9579 return o ? (o.numbers.forEach(function (o) {
9580 var i = n.getSuffix(e, o);
9581 r.push("".concat(t).concat(i))
9582 }), r) : r
9583 }
9584 }, {
9585 key: "getSuffix",
9586 value: function (e, t) {
9587 var n = this,
9588 r = this.getRule(e);
9589 if (r) {
9590 var o = r.noAbs ? r.plurals(t) : r.plurals(Math.abs(t)),
9591 i = r.numbers[o];
9592 this.options.simplifyPluralSuffix && 2 === r.numbers.length && 1 === r.numbers[0] && (2 === i ? i = "plural" : 1 === i && (i = ""));
9593 var a = function () {
9594 return n.options.prepend && i.toString() ? n.options.prepend + i.toString() : i.toString()
9595 };
9596 return "v1" === this.options.compatibilityJSON ? 1 === i ? "" : "number" == typeof i ? "_plural_".concat(i.toString()) : a() : "v2" === this.options.compatibilityJSON ? a() : this.options.simplifyPluralSuffix && 2 === r.numbers.length && 1 === r.numbers[0] ? a() : this.options.prepend && o.toString() ? this.options.prepend + o.toString() : o.toString()
9597 }
9598 return this.logger.warn("no plural rule found for: ".concat(e)), ""
9599 }
9600 }]), e
9601 }(),
9602 F = function () {
9603 function e() {
9604 var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
9605 o(this, e), this.logger = h.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || function (e) {
9606 return e
9607 }, this.init(t)
9608 }
9609 return a(e, [{
9610 key: "init",
9611 value: function () {
9612 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
9613 e.interpolation || (e.interpolation = {
9614 escapeValue: !0
9615 });
9616 var t = e.interpolation;
9617 this.escape = void 0 !== t.escape ? t.escape : w, this.escapeValue = void 0 === t.escapeValue || t.escapeValue, this.useRawValueToEscape = void 0 !== t.useRawValueToEscape && t.useRawValueToEscape, this.prefix = t.prefix ? x(t.prefix) : t.prefixEscaped || "{{", this.suffix = t.suffix ? x(t.suffix) : t.suffixEscaped || "}}", this.formatSeparator = t.formatSeparator ? t.formatSeparator : t.formatSeparator || ",", this.unescapePrefix = t.unescapeSuffix ? "" : t.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : t.unescapeSuffix || "", this.nestingPrefix = t.nestingPrefix ? x(t.nestingPrefix) : t.nestingPrefixEscaped || x("$t("), this.nestingSuffix = t.nestingSuffix ? x(t.nestingSuffix) : t.nestingSuffixEscaped || x(")"), this.maxReplaces = t.maxReplaces ? t.maxReplaces : 1e3, this.resetRegExp()
9618 }
9619 }, {
9620 key: "reset",
9621 value: function () {
9622 this.options && this.init(this.options)
9623 }
9624 }, {
9625 key: "resetRegExp",
9626 value: function () {
9627 var e = "".concat(this.prefix, "(.+?)").concat(this.suffix);
9628 this.regexp = new RegExp(e, "g");
9629 var t = "".concat(this.prefix).concat(this.unescapePrefix, "(.+?)").concat(this.unescapeSuffix).concat(this.suffix);
9630 this.regexpUnescape = new RegExp(t, "g");
9631 var n = "".concat(this.nestingPrefix, "(.+?)").concat(this.nestingSuffix);
9632 this.nestingRegexp = new RegExp(n, "g")
9633 }
9634 }, {
9635 key: "interpolate",
9636 value: function (e, t, n, o) {
9637 var i, a, s, u = this,
9638 l = r({}, this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}, t);
9639
9640 function c(e) {
9641 return e.replace(/\$/g, "$$$$")
9642 }
9643 var f = function (e) {
9644 if (e.indexOf(u.formatSeparator) < 0) return k(l, e);
9645 var t = e.split(u.formatSeparator),
9646 r = t.shift().trim(),
9647 o = t.join(u.formatSeparator).trim();
9648 return u.format(k(l, r), o, n)
9649 };
9650 this.resetRegExp();
9651 var p = o && o.missingInterpolationHandler || this.options.missingInterpolationHandler;
9652 for (s = 0; i = this.regexpUnescape.exec(e);) {
9653 if (void 0 === (a = f(i[1].trim())))
9654 if ("function" == typeof p) {
9655 var g = p(e, i, o);
9656 a = "string" == typeof g ? g : ""
9657 } else this.logger.warn("missed to pass in variable ".concat(i[1], " for interpolating ").concat(e)), a = "";
9658 else "string" == typeof a || this.useRawValueToEscape || (a = y(a));
9659 if (e = e.replace(i[0], c(a)), this.regexpUnescape.lastIndex = 0, ++s >= this.maxReplaces) break
9660 }
9661 for (s = 0; i = this.regexp.exec(e);) {
9662 if (void 0 === (a = f(i[1].trim())))
9663 if ("function" == typeof p) {
9664 var h = p(e, i, o);
9665 a = "string" == typeof h ? h : ""
9666 } else this.logger.warn("missed to pass in variable ".concat(i[1], " for interpolating ").concat(e)), a = "";
9667 else "string" == typeof a || this.useRawValueToEscape || (a = y(a));
9668 if (a = this.escapeValue ? c(this.escape(a)) : c(a), e = e.replace(i[0], a), this.regexp.lastIndex = 0, ++s >= this.maxReplaces) break
9669 }
9670 return e
9671 }
9672 }, {
9673 key: "nest",
9674 value: function (e, t) {
9675 var n, o, i = r({}, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {});
9676
9677 function a(e, t) {
9678 if (e.indexOf(",") < 0) return e;
9679 var n = e.split(",");
9680 e = n.shift();
9681 var o = n.join(",");
9682 o = (o = this.interpolate(o, i)).replace(/'/g, '"');
9683 try {
9684 i = JSON.parse(o), t && (i = r({}, t, i))
9685 } catch (t) {
9686 this.logger.error("failed parsing options string in nesting for key ".concat(e), t)
9687 }
9688 return e
9689 }
9690 for (i.applyPostProcessor = !1; n = this.nestingRegexp.exec(e);) {
9691 if ((o = t(a.call(this, n[1].trim(), i), i)) && n[0] === e && "string" != typeof o) return o;
9692 "string" != typeof o && (o = y(o)), o || (this.logger.warn("missed to resolve ".concat(n[1], " for nesting ").concat(e)), o = ""), e = e.replace(n[0], o), this.regexp.lastIndex = 0
9693 }
9694 return e
9695 }
9696 }]), e
9697 }();
9698
9699 function A(e, t) {
9700 return function (e) {
9701 if (Array.isArray(e)) return e
9702 }(e) || function (e, t) {
9703 var n = [],
9704 r = !0,
9705 o = !1,
9706 i = void 0;
9707 try {
9708 for (var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0);
9709 } catch (e) {
9710 o = !0, i = e
9711 } finally {
9712 try {
9713 r || null == s.return || s.return()
9714 } finally {
9715 if (o) throw i
9716 }
9717 }
9718 return n
9719 }(e, t) || function () {
9720 throw new TypeError("Invalid attempt to destructure non-iterable instance")
9721 }()
9722 }
9723 var T = function (e) {
9724 function t(e, n, r) {
9725 var i, a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
9726 return o(this, t), i = u(this, l(t).call(this)), d.call(s(i)), i.backend = e, i.store = n, i.languageUtils = r.languageUtils, i.options = a, i.logger = h.create("backendConnector"), i.state = {}, i.queue = [], i.backend && i.backend.init && i.backend.init(r, a.backend, a), i
9727 }
9728 return f(t, d), a(t, [{
9729 key: "queueLoad",
9730 value: function (e, t, n, r) {
9731 var o = this,
9732 i = [],
9733 a = [],
9734 s = [],
9735 u = [];
9736 return e.forEach(function (e) {
9737 var r = !0;
9738 t.forEach(function (t) {
9739 var s = "".concat(e, "|").concat(t);
9740 !n.reload && o.store.hasResourceBundle(e, t) ? o.state[s] = 2 : o.state[s] < 0 || (1 === o.state[s] ? a.indexOf(s) < 0 && a.push(s) : (o.state[s] = 1, r = !1, a.indexOf(s) < 0 && a.push(s), i.indexOf(s) < 0 && i.push(s), u.indexOf(t) < 0 && u.push(t)))
9741 }), r || s.push(e)
9742 }), (i.length || a.length) && this.queue.push({
9743 pending: a,
9744 loaded: {},
9745 errors: [],
9746 callback: r
9747 }), {
9748 toLoad: i,
9749 pending: a,
9750 toLoadLanguages: s,
9751 toLoadNamespaces: u
9752 }
9753 }
9754 }, {
9755 key: "loaded",
9756 value: function (e, t, n) {
9757 var r = A(e.split("|"), 2),
9758 o = r[0],
9759 i = r[1];
9760 t && this.emit("failedLoading", o, i, t), n && this.store.addResourceBundle(o, i, n), this.state[e] = t ? -1 : 2;
9761 var a = {};
9762 this.queue.forEach(function (n) {
9763 var r, s, u, l, c, f;
9764 r = n.loaded, s = i, l = m(r, [o], Object), c = l.obj, f = l.k, c[f] = c[f] || [], u && (c[f] = c[f].concat(s)), u || c[f].push(s),
9765 function (e, t) {
9766 for (var n = e.indexOf(t); - 1 !== n;) e.splice(n, 1), n = e.indexOf(t)
9767 }(n.pending, e), t && n.errors.push(t), 0 !== n.pending.length || n.done || (Object.keys(n.loaded).forEach(function (e) {
9768 a[e] || (a[e] = []), n.loaded[e].length && n.loaded[e].forEach(function (t) {
9769 a[e].indexOf(t) < 0 && a[e].push(t)
9770 })
9771 }), n.done = !0, n.errors.length ? n.callback(n.errors) : n.callback())
9772 }), this.emit("loaded", a), this.queue = this.queue.filter(function (e) {
9773 return !e.done
9774 })
9775 }
9776 }, {
9777 key: "read",
9778 value: function (e, t, n) {
9779 var r = this,
9780 o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
9781 i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 250,
9782 a = arguments.length > 5 ? arguments[5] : void 0;
9783 return e.length ? this.backend[n](e, t, function (s, u) {
9784 s && u && o < 5 ? setTimeout(function () {
9785 r.read.call(r, e, t, n, o + 1, 2 * i, a)
9786 }, i) : a(s, u)
9787 }) : a(null, {})
9788 }
9789 }, {
9790 key: "prepareLoading",
9791 value: function (e, t) {
9792 var n = this,
9793 r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
9794 o = arguments.length > 3 ? arguments[3] : void 0;
9795 if (!this.backend) return this.logger.warn("No backend was added via i18next.use. Will not load resources."), o && o();
9796 "string" == typeof e && (e = this.languageUtils.toResolveHierarchy(e)), "string" == typeof t && (t = [t]);
9797 var i = this.queueLoad(e, t, r, o);
9798 if (!i.toLoad.length) return i.pending.length || o(), null;
9799 i.toLoad.forEach(function (e) {
9800 n.loadOne(e)
9801 })
9802 }
9803 }, {
9804 key: "load",
9805 value: function (e, t, n) {
9806 this.prepareLoading(e, t, {}, n)
9807 }
9808 }, {
9809 key: "reload",
9810 value: function (e, t, n) {
9811 this.prepareLoading(e, t, {
9812 reload: !0
9813 }, n)
9814 }
9815 }, {
9816 key: "loadOne",
9817 value: function (e) {
9818 var t = this,
9819 n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
9820 r = A(e.split("|"), 2),
9821 o = r[0],
9822 i = r[1];
9823 this.read(o, i, "read", null, null, function (r, a) {
9824 r && t.logger.warn("".concat(n, "loading namespace ").concat(i, " for language ").concat(o, " failed"), r), !r && a && t.logger.log("".concat(n, "loaded namespace ").concat(i, " for language ").concat(o), a), t.loaded(e, r, a)
9825 })
9826 }
9827 }, {
9828 key: "saveMissing",
9829 value: function (e, t, n, o, i) {
9830 var a = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {};
9831 this.backend && this.backend.create && this.backend.create(e, t, n, o, null, r({}, a, {
9832 isUpdate: i
9833 })), e && e[0] && this.store.addResource(e[0], t, n, o)
9834 }
9835 }]), t
9836 }();
9837
9838 function V(e) {
9839 return "string" == typeof e.ns && (e.ns = [e.ns]), "string" == typeof e.fallbackLng && (e.fallbackLng = [e.fallbackLng]), "string" == typeof e.fallbackNS && (e.fallbackNS = [e.fallbackNS]), e.whitelist && e.whitelist.indexOf("cimode") < 0 && (e.whitelist = e.whitelist.concat(["cimode"])), e
9840 }
9841
9842 function U() {}
9843 return new(function (e) {
9844 function n() {
9845 var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
9846 r = arguments.length > 1 ? arguments[1] : void 0;
9847 if (o(this, n), e = u(this, l(n).call(this)), d.call(s(e)), e.options = V(t), e.services = {}, e.logger = h, e.modules = {
9848 external: []
9849 }, r && !e.isInitialized && !t.isClone) {
9850 if (!e.options.initImmediate) return e.init(t, r), u(e, s(e));
9851 setTimeout(function () {
9852 e.init(t, r)
9853 }, 0)
9854 }
9855 return e
9856 }
9857 return f(n, d), a(n, [{
9858 key: "init",
9859 value: function () {
9860 var e = this,
9861 n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
9862 o = arguments.length > 1 ? arguments[1] : void 0;
9863
9864 function i(e) {
9865 return e ? "function" == typeof e ? new e : e : null
9866 }
9867 if ("function" == typeof n && (o = n, n = {}), this.options = r({}, {
9868 debug: !1,
9869 initImmediate: !0,
9870 ns: ["translation"],
9871 defaultNS: ["translation"],
9872 fallbackLng: ["dev"],
9873 fallbackNS: !1,
9874 whitelist: !1,
9875 nonExplicitWhitelist: !1,
9876 load: "all",
9877 preload: !1,
9878 simplifyPluralSuffix: !0,
9879 keySeparator: ".",
9880 nsSeparator: ":",
9881 pluralSeparator: "_",
9882 contextSeparator: "_",
9883 partialBundledLanguages: !1,
9884 saveMissing: !1,
9885 updateMissing: !1,
9886 saveMissingTo: "fallback",
9887 saveMissingPlurals: !0,
9888 missingKeyHandler: !1,
9889 missingInterpolationHandler: !1,
9890 postProcess: !1,
9891 returnNull: !0,
9892 returnEmptyString: !0,
9893 returnObjects: !1,
9894 joinArrays: !1,
9895 returnedObjectHandler: !1,
9896 parseMissingKeyHandler: !1,
9897 appendNamespaceToMissingKey: !1,
9898 appendNamespaceToCIMode: !1,
9899 overloadTranslationOptionHandler: function (e) {
9900 var n = {};
9901 if ("object" === t(e[1]) && (n = e[1]), "string" == typeof e[1] && (n.defaultValue = e[1]), "string" == typeof e[2] && (n.tDescription = e[2]), "object" === t(e[2]) || "object" === t(e[3])) {
9902 var r = e[3] || e[2];
9903 Object.keys(r).forEach(function (e) {
9904 n[e] = r[e]
9905 })
9906 }
9907 return n
9908 },
9909 interpolation: {
9910 escapeValue: !0,
9911 format: function (e, t, n) {
9912 return e
9913 },
9914 prefix: "{{",
9915 suffix: "}}",
9916 formatSeparator: ",",
9917 unescapePrefix: "-",
9918 nestingPrefix: "$t(",
9919 nestingSuffix: ")",
9920 maxReplaces: 1e3
9921 }
9922 }, this.options, V(n)), this.format = this.options.interpolation.format, o || (o = U), !this.options.isClone) {
9923 this.modules.logger ? h.init(i(this.modules.logger), this.options) : h.init(null, this.options);
9924 var a = new N(this.options);
9925 this.store = new O(this.options.resources, this.options);
9926 var s = this.services;
9927 s.logger = h, s.resourceStore = this.store, s.languageUtils = a, s.pluralResolver = new P(a, {
9928 prepend: this.options.pluralSeparator,
9929 compatibilityJSON: this.options.compatibilityJSON,
9930 simplifyPluralSuffix: this.options.simplifyPluralSuffix
9931 }), s.interpolator = new F(this.options), s.backendConnector = new T(i(this.modules.backend), s.resourceStore, s, this.options), s.backendConnector.on("*", function (t) {
9932 for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o];
9933 e.emit.apply(e, [t].concat(r))
9934 }), this.modules.languageDetector && (s.languageDetector = i(this.modules.languageDetector), s.languageDetector.init(s, this.options.detection, this.options)), this.modules.i18nFormat && (s.i18nFormat = i(this.modules.i18nFormat), s.i18nFormat.init && s.i18nFormat.init(this)), this.translator = new j(this.services, this.options), this.translator.on("*", function (t) {
9935 for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o];
9936 e.emit.apply(e, [t].concat(r))
9937 }), this.modules.external.forEach(function (t) {
9938 t.init && t.init(e)
9939 })
9940 }["getResource", "addResource", "addResources", "addResourceBundle", "removeResourceBundle", "hasResourceBundle", "getResourceBundle", "getDataByLanguage"].forEach(function (t) {
9941 e[t] = function () {
9942 var n;
9943 return (n = e.store)[t].apply(n, arguments)
9944 }
9945 });
9946 var u = v(),
9947 l = function () {
9948 e.changeLanguage(e.options.lng, function (t, n) {
9949 e.isInitialized = !0, e.logger.log("initialized", e.options), e.emit("initialized", e.options), u.resolve(n), o(t, n)
9950 })
9951 };
9952 return this.options.resources || !this.options.initImmediate ? l() : setTimeout(l, 0), u
9953 }
9954 }, {
9955 key: "loadResources",
9956 value: function () {
9957 var e = this,
9958 t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : U;
9959 if (!this.options.resources || this.options.partialBundledLanguages) {
9960 if (this.language && "cimode" === this.language.toLowerCase()) return t();
9961 var n = [],
9962 r = function (t) {
9963 t && e.services.languageUtils.toResolveHierarchy(t).forEach(function (e) {
9964 n.indexOf(e) < 0 && n.push(e)
9965 })
9966 };
9967 if (this.language) r(this.language);
9968 else this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function (e) {
9969 return r(e)
9970 });
9971 this.options.preload && this.options.preload.forEach(function (e) {
9972 return r(e)
9973 }), this.services.backendConnector.load(n, this.options.ns, t)
9974 } else t(null)
9975 }
9976 }, {
9977 key: "reloadResources",
9978 value: function (e, t, n) {
9979 var r = v();
9980 return e || (e = this.languages), t || (t = this.options.ns), n || (n = U), this.services.backendConnector.reload(e, t, function (e) {
9981 r.resolve(), n(e)
9982 }), r
9983 }
9984 }, {
9985 key: "use",
9986 value: function (e) {
9987 return "backend" === e.type && (this.modules.backend = e), ("logger" === e.type || e.log && e.warn && e.error) && (this.modules.logger = e), "languageDetector" === e.type && (this.modules.languageDetector = e), "i18nFormat" === e.type && (this.modules.i18nFormat = e), "postProcessor" === e.type && R.addPostProcessor(e), "3rdParty" === e.type && this.modules.external.push(e), this
9988 }
9989 }, {
9990 key: "changeLanguage",
9991 value: function (e, t) {
9992 var n = this,
9993 r = v();
9994 this.emit("languageChanging", e);
9995 var o = function (e) {
9996 e && (n.language = e, n.languages = n.services.languageUtils.toResolveHierarchy(e), n.translator.language || n.translator.changeLanguage(e), n.services.languageDetector && n.services.languageDetector.cacheUserLanguage(e)), n.loadResources(function (o) {
9997 ! function (e, o) {
9998 n.translator.changeLanguage(o), o && (n.emit("languageChanged", o), n.logger.log("languageChanged", o)), r.resolve(function () {
9999 return n.t.apply(n, arguments)
10000 }), t && t(e, function () {
10001 return n.t.apply(n, arguments)
10002 })
10003 }(o, e)
10004 })
10005 };
10006 return e || !this.services.languageDetector || this.services.languageDetector.async ? !e && this.services.languageDetector && this.services.languageDetector.async ? this.services.languageDetector.detect(o) : o(e) : o(this.services.languageDetector.detect()), r
10007 }
10008 }, {
10009 key: "getFixedT",
10010 value: function (e, n) {
10011 var o = this,
10012 i = function e(n, i) {
10013 var a;
10014 if ("object" !== t(i)) {
10015 for (var s = arguments.length, u = new Array(s > 2 ? s - 2 : 0), l = 2; l < s; l++) u[l - 2] = arguments[l];
10016 a = o.options.overloadTranslationOptionHandler([n, i].concat(u))
10017 } else a = r({}, i);
10018 return a.lng = a.lng || e.lng, a.lngs = a.lngs || e.lngs, a.ns = a.ns || e.ns, o.t(n, a)
10019 };
10020 return "string" == typeof e ? i.lng = e : i.lngs = e, i.ns = n, i
10021 }
10022 }, {
10023 key: "t",
10024 value: function () {
10025 var e;
10026 return this.translator && (e = this.translator).translate.apply(e, arguments)
10027 }
10028 }, {
10029 key: "exists",
10030 value: function () {
10031 var e;
10032 return this.translator && (e = this.translator).exists.apply(e, arguments)
10033 }
10034 }, {
10035 key: "setDefaultNamespace",
10036 value: function (e) {
10037 this.options.defaultNS = e
10038 }
10039 }, {
10040 key: "loadNamespaces",
10041 value: function (e, t) {
10042 var n = this,
10043 r = v();
10044 return this.options.ns ? ("string" == typeof e && (e = [e]), e.forEach(function (e) {
10045 n.options.ns.indexOf(e) < 0 && n.options.ns.push(e)
10046 }), this.loadResources(function (e) {
10047 r.resolve(), t && t(e)
10048 }), r) : (t && t(), Promise.resolve())
10049 }
10050 }, {
10051 key: "loadLanguages",
10052 value: function (e, t) {
10053 var n = v();
10054 "string" == typeof e && (e = [e]);
10055 var r = this.options.preload || [],
10056 o = e.filter(function (e) {
10057 return r.indexOf(e) < 0
10058 });
10059 return o.length ? (this.options.preload = r.concat(o), this.loadResources(function (e) {
10060 n.resolve(), t && t(e)
10061 }), n) : (t && t(), Promise.resolve())
10062 }
10063 }, {
10064 key: "dir",
10065 value: function (e) {
10066 if (e || (e = this.languages && this.languages.length > 0 ? this.languages[0] : this.language), !e) return "rtl";
10067 return ["ar", "shu", "sqr", "ssh", "xaa", "yhd", "yud", "aao", "abh", "abv", "acm", "acq", "acw", "acx", "acy", "adf", "ads", "aeb", "aec", "afb", "ajp", "apc", "apd", "arb", "arq", "ars", "ary", "arz", "auz", "avl", "ayh", "ayl", "ayn", "ayp", "bbz", "pga", "he", "iw", "ps", "pbt", "pbu", "pst", "prp", "prd", "ur", "ydd", "yds", "yih", "ji", "yi", "hbo", "men", "xmn", "fa", "jpr", "peo", "pes", "prs", "dv", "sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e)) >= 0 ? "rtl" : "ltr"
10068 }
10069 }, {
10070 key: "createInstance",
10071 value: function () {
10072 return new n(arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, arguments.length > 1 ? arguments[1] : void 0)
10073 }
10074 }, {
10075 key: "cloneInstance",
10076 value: function () {
10077 var e = this,
10078 t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
10079 o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : U,
10080 i = r({}, this.options, t, {
10081 isClone: !0
10082 }),
10083 a = new n(i);
10084 return ["store", "services", "language"].forEach(function (t) {
10085 a[t] = e[t]
10086 }), a.translator = new j(a.services, a.options), a.translator.on("*", function (e) {
10087 for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
10088 a.emit.apply(a, [e].concat(n))
10089 }), a.init(i, o), a.translator.options = a.options, a
10090 }
10091 }]), n
10092 }())
10093});
10094
10095// I18n XHR Backend
10096! function (t, e) {
10097 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = t || self).i18nextXHRBackend = e()
10098}(this, function () {
10099 "use strict";
10100
10101 function t(t, e) {
10102 for (var n = 0; n < e.length; n++) {
10103 var o = e[n];
10104 o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
10105 }
10106 }
10107 var e = [],
10108 n = e.forEach,
10109 o = e.slice;
10110
10111 function i(t) {
10112 return n.call(o.call(arguments, 1), function (e) {
10113 if (e)
10114 for (var n in e) void 0 === t[n] && (t[n] = e[n])
10115 }), t
10116 }
10117
10118 function r(t) {
10119 return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
10120 return typeof t
10121 } : function (t) {
10122 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
10123 })(t)
10124 }
10125
10126 function a(t) {
10127 return (a = "function" == typeof Symbol && "symbol" === r(Symbol.iterator) ? function (t) {
10128 return r(t)
10129 } : function (t) {
10130 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : r(t)
10131 })(t)
10132 }
10133
10134 function s(t, e) {
10135 if (e && "object" === a(e)) {
10136 var n = "",
10137 o = encodeURIComponent;
10138 for (var i in e) n += "&" + o(i) + "=" + o(e[i]);
10139 if (!n) return t;
10140 t = t + (-1 !== t.indexOf("?") ? "&" : "?") + n.slice(1)
10141 }
10142 return t
10143 }
10144
10145 function l(t, e, n, o, i) {
10146 o && "object" === a(o) && (i || (o._t = new Date), o = s("", o).slice(1)), e.queryStringParams && (t = s(t, e.queryStringParams));
10147 try {
10148 var r;
10149 (r = XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("MSXML2.XMLHTTP.3.0")).open(o ? "POST" : "GET", t, 1), e.crossDomain || r.setRequestHeader("X-Requested-With", "XMLHttpRequest"), r.withCredentials = !!e.withCredentials, o && r.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), r.overrideMimeType && r.overrideMimeType("application/json");
10150 var l = e.customHeaders;
10151 if (l = "function" == typeof l ? l() : l)
10152 for (var u in l) r.setRequestHeader(u, l[u]);
10153 r.onreadystatechange = function () {
10154 r.readyState > 3 && n && n(r.responseText, r)
10155 }, r.send(o)
10156 } catch (t) {
10157 console && console.log(t)
10158 }
10159 }
10160
10161 function u() {
10162 return {
10163 loadPath: "/locales/{{lng}}/{{ns}}.json",
10164 addPath: "/locales/add/{{lng}}/{{ns}}",
10165 allowMultiLoading: !1,
10166 parse: JSON.parse,
10167 parsePayload: function (t, e, n) {
10168 return function (t, e, n) {
10169 return e in t ? Object.defineProperty(t, e, {
10170 value: n,
10171 enumerable: !0,
10172 configurable: !0,
10173 writable: !0
10174 }) : t[e] = n, t
10175 }({}, e, n || "")
10176 },
10177 crossDomain: !1,
10178 ajax: l
10179 }
10180 }
10181 var c = function () {
10182 function e(t) {
10183 var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
10184 ! function (t, e) {
10185 if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
10186 }(this, e), this.init(t, n), this.type = "backend"
10187 }
10188 var n, o, r;
10189 return n = e, (o = [{
10190 key: "init",
10191 value: function (t) {
10192 var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
10193 this.services = t, this.options = i(e, this.options || {}, u())
10194 }
10195 }, {
10196 key: "readMulti",
10197 value: function (t, e, n) {
10198 var o = this.options.loadPath;
10199 "function" == typeof this.options.loadPath && (o = this.options.loadPath(t, e));
10200 var i = this.services.interpolator.interpolate(o, {
10201 lng: t.join("+"),
10202 ns: e.join("+")
10203 });
10204 this.loadUrl(i, n)
10205 }
10206 }, {
10207 key: "read",
10208 value: function (t, e, n) {
10209 var o = this.options.loadPath;
10210 "function" == typeof this.options.loadPath && (o = this.options.loadPath([t], [e]));
10211 var i = this.services.interpolator.interpolate(o, {
10212 lng: t,
10213 ns: e
10214 });
10215 this.loadUrl(i, n)
10216 }
10217 }, {
10218 key: "loadUrl",
10219 value: function (t, e) {
10220 var n = this;
10221 this.options.ajax(t, this.options, function (o, i) {
10222 if (i.status >= 500 && i.status < 600) return e("failed loading " + t, !0);
10223 if (i.status >= 400 && i.status < 500) return e("failed loading " + t, !1);
10224 var r, a;
10225 try {
10226 r = n.options.parse(o, t)
10227 } catch (e) {
10228 a = "failed parsing " + t + " to json"
10229 }
10230 if (a) return e(a, !1);
10231 e(null, r)
10232 })
10233 }
10234 }, {
10235 key: "create",
10236 value: function (t, e, n, o) {
10237 var i = this;
10238 "string" == typeof t && (t = [t]);
10239 var r = this.options.parsePayload(e, n, o);
10240 t.forEach(function (t) {
10241 var n = i.services.interpolator.interpolate(i.options.addPath, {
10242 lng: t,
10243 ns: e
10244 });
10245 i.options.ajax(n, i.options, function (t, e) {}, r)
10246 })
10247 }
10248 }]) && t(n.prototype, o), r && t(n, r), e
10249 }();
10250 return c.type = "backend", c
10251});
10252
10253// Language detector i18n
10254! function (e, o) {
10255 "object" == typeof exports && "undefined" != typeof module ? module.exports = o() : "function" == typeof define && define.amd ? define(o) : e.i18nextBrowserLanguageDetector = o()
10256}(this, function () {
10257 "use strict";
10258
10259 function e(e) {
10260 return a.call(i.call(arguments, 1), function (o) {
10261 if (o)
10262 for (var t in o) void 0 === e[t] && (e[t] = o[t])
10263 }), e
10264 }
10265
10266 function o(e, o) {
10267 if (!(e instanceof o)) throw new TypeError("Cannot call a class as a function")
10268 }
10269
10270 function t() {
10271 return {
10272 order: ["querystring", "cookie", "localStorage", "navigator", "htmlTag"],
10273 lookupQuerystring: "lng",
10274 lookupCookie: "i18next",
10275 lookupLocalStorage: "i18nextLng",
10276 caches: ["localStorage"],
10277 excludeCacheFor: ["cimode"]
10278 }
10279 }
10280 var n = [],
10281 a = n.forEach,
10282 i = n.slice,
10283 r = {
10284 create: function (e, o, t, n) {
10285 var a = void 0;
10286 if (t) {
10287 var i = new Date;
10288 i.setTime(i.getTime() + 60 * t * 1e3), a = "; expires=" + i.toGMTString()
10289 } else a = "";
10290 n = n ? "domain=" + n + ";" : "", document.cookie = e + "=" + o + a + ";" + n + "path=/"
10291 },
10292 read: function (e) {
10293 for (var o = e + "=", t = document.cookie.split(";"), n = 0; n < t.length; n++) {
10294 for (var a = t[n];
10295 " " === a.charAt(0);) a = a.substring(1, a.length);
10296 if (0 === a.indexOf(o)) return a.substring(o.length, a.length)
10297 }
10298 return null
10299 },
10300 remove: function (e) {
10301 this.create(e, "", -1)
10302 }
10303 },
10304 u = {
10305 name: "cookie",
10306 lookup: function (e) {
10307 var o = void 0;
10308 if (e.lookupCookie && "undefined" != typeof document) {
10309 var t = r.read(e.lookupCookie);
10310 t && (o = t)
10311 }
10312 return o
10313 },
10314 cacheUserLanguage: function (e, o) {
10315 o.lookupCookie && "undefined" != typeof document && r.create(o.lookupCookie, e, o.cookieMinutes, o.cookieDomain)
10316 }
10317 },
10318 c = {
10319 name: "querystring",
10320 lookup: function (e) {
10321 var o = void 0;
10322 if ("undefined" != typeof window)
10323 for (var t = window.location.search.substring(1), n = t.split("&"), a = 0; a < n.length; a++) {
10324 var i = n[a].indexOf("=");
10325 if (i > 0) {
10326 var r = n[a].substring(0, i);
10327 r === e.lookupQuerystring && (o = n[a].substring(i + 1))
10328 }
10329 }
10330 return o
10331 }
10332 },
10333 l = void 0;
10334 try {
10335 l = "undefined" !== window && null !== window.localStorage;
10336 window.localStorage.setItem("i18next.translate.boo", "foo"), window.localStorage.removeItem("i18next.translate.boo")
10337 } catch (e) {
10338 l = !1
10339 }
10340 var s = {
10341 name: "localStorage",
10342 lookup: function (e) {
10343 var o = void 0;
10344 if (e.lookupLocalStorage && l) {
10345 var t = window.localStorage.getItem(e.lookupLocalStorage);
10346 t && (o = t)
10347 }
10348 return o
10349 },
10350 cacheUserLanguage: function (e, o) {
10351 o.lookupLocalStorage && l && window.localStorage.setItem(o.lookupLocalStorage, e)
10352 }
10353 },
10354 d = {
10355 name: "navigator",
10356 lookup: function (e) {
10357 var o = [];
10358 if ("undefined" != typeof navigator) {
10359 if (navigator.languages)
10360 for (var t = 0; t < navigator.languages.length; t++) o.push(navigator.languages[t]);
10361 navigator.userLanguage && o.push(navigator.userLanguage), navigator.language && o.push(navigator.language)
10362 }
10363 return o.length > 0 ? o : void 0
10364 }
10365 },
10366 f = {
10367 name: "htmlTag",
10368 lookup: function (e) {
10369 var o = void 0,
10370 t = e.htmlTag || ("undefined" != typeof document ? document.documentElement : null);
10371 return t && "function" == typeof t.getAttribute && (o = t.getAttribute("lang")), o
10372 }
10373 },
10374 g = {
10375 name: "path",
10376 lookup: function (e) {
10377 var o = void 0;
10378 if ("undefined" != typeof window) {
10379 var t = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
10380 if (t instanceof Array)
10381 if ("number" == typeof e.lookupFromPathIndex) {
10382 if ("string" != typeof t[e.lookupFromPathIndex]) return;
10383 o = t[e.lookupFromPathIndex].replace("/", "")
10384 } else o = t[0].replace("/", "")
10385 }
10386 return o
10387 }
10388 },
10389 p = {
10390 name: "subdomain",
10391 lookup: function (e) {
10392 var o = void 0;
10393 if ("undefined" != typeof window) {
10394 var t = window.location.href.match(/(?:http[s]*\:\/\/)*(.*?)\.(?=[^\/]*\..{2,5})/gi);
10395 t instanceof Array && (o = "number" == typeof e.lookupFromSubdomainIndex ? t[e.lookupFromSubdomainIndex].replace("http://", "").replace("https://", "").replace(".", "") : t[0].replace("http://", "").replace("https://", "").replace(".", ""))
10396 }
10397 return o
10398 }
10399 },
10400 h = function () {
10401 function e(e, o) {
10402 for (var t = 0; t < o.length; t++) {
10403 var n = o[t];
10404 n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
10405 }
10406 }
10407 return function (o, t, n) {
10408 return t && e(o.prototype, t), n && e(o, n), o
10409 }
10410 }(),
10411 v = function () {
10412 function n(e) {
10413 var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
10414 o(this, n), this.type = "languageDetector", this.detectors = {}, this.init(e, t)
10415 }
10416 return h(n, [{
10417 key: "init",
10418 value: function (o) {
10419 var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
10420 a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
10421 this.services = o, this.options = e(n, this.options || {}, t()), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = a, this.addDetector(u), this.addDetector(c), this.addDetector(s), this.addDetector(d), this.addDetector(f), this.addDetector(g), this.addDetector(p)
10422 }
10423 }, {
10424 key: "addDetector",
10425 value: function (e) {
10426 this.detectors[e.name] = e
10427 }
10428 }, {
10429 key: "detect",
10430 value: function (e) {
10431 var o = this;
10432 e || (e = this.options.order);
10433 var t = [];
10434 e.forEach(function (e) {
10435 if (o.detectors[e]) {
10436 var n = o.detectors[e].lookup(o.options);
10437 n && "string" == typeof n && (n = [n]), n && (t = t.concat(n))
10438 }
10439 });
10440 var n = void 0;
10441 if (t.forEach(function (e) {
10442 if (!n) {
10443 var t = o.services.languageUtils.formatLanguageCode(e);
10444 o.services.languageUtils.isWhitelisted(t) && (n = t)
10445 }
10446 }), !n) {
10447 var a = this.i18nOptions.fallbackLng;
10448 "string" == typeof a && (a = [a]), a || (a = []), n = "[object Array]" === Object.prototype.toString.apply(a) ? a[0] : a[0] || a.default && a.default[0]
10449 }
10450 return n
10451 }
10452 }, {
10453 key: "cacheUserLanguage",
10454 value: function (e, o) {
10455 var t = this;
10456 o || (o = this.options.caches), o && (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(e) > -1 || o.forEach(function (o) {
10457 t.detectors[o] && t.detectors[o].cacheUserLanguage(e, t.options)
10458 }))
10459 }
10460 }]), n
10461 }();
10462 return v.type = "languageDetector", v
10463});
10464
10465// I18n Jquery
10466! function (t, e) {
10467 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.jqueryI18next = e()
10468}(this, function () {
10469 "use strict";
10470
10471 function t(t, a) {
10472 function i(n, a, i) {
10473 function r(t, n) {
10474 return f.parseDefaultValueFromContent ? e({}, t, {
10475 defaultValue: n
10476 }) : t
10477 }
10478 if (0 !== a.length) {
10479 var o = "text";
10480 if (0 === a.indexOf("[")) {
10481 var l = a.split("]");
10482 a = l[1], o = l[0].substr(1, l[0].length - 1)
10483 }
10484 if (a.indexOf(";") === a.length - 1 && (a = a.substr(0, a.length - 2)), "html" === o) n.html(t.t(a, r(i, n.html())));
10485 else if ("text" === o) n.text(t.t(a, r(i, n.text())));
10486 else if ("prepend" === o) n.prepend(t.t(a, r(i, n.html())));
10487 else if ("append" === o) n.append(t.t(a, r(i, n.html())));
10488 else if (0 === o.indexOf("data-")) {
10489 var s = o.substr("data-".length),
10490 d = t.t(a, r(i, n.data(s)));
10491 n.data(s, d), n.attr(o, d)
10492 } else n.attr(o, t.t(a, r(i, n.attr(o))))
10493 }
10494 }
10495
10496 function r(t, n) {
10497 var r = t.attr(f.selectorAttr);
10498 if (r || void 0 === r || !1 === r || (r = t.text() || t.val()), r) {
10499 var o = t,
10500 l = t.data(f.targetAttr);
10501 if (l && (o = t.find(l) || t), n || !0 !== f.useOptionsAttr || (n = t.data(f.optionsAttr)), n = n || {}, r.indexOf(";") >= 0) {
10502 var s = r.split(";");
10503 a.each(s, function (t, e) {
10504 "" !== e && i(o, e.trim(), n)
10505 })
10506 } else i(o, r, n);
10507 if (!0 === f.useOptionsAttr) {
10508 var d = {};
10509 d = e({
10510 clone: d
10511 }, n), delete d.lng, t.data(f.optionsAttr, d)
10512 }
10513 }
10514 }
10515
10516 function o(t) {
10517 return this.each(function () {
10518 r(a(this), t), a(this).find("[" + f.selectorAttr + "]").each(function () {
10519 r(a(this), t)
10520 })
10521 })
10522 }
10523 var f = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
10524 f = e({}, n, f), a[f.tName] = t.t.bind(t), a[f.i18nName] = t, a.fn[f.handleName] = o
10525 }
10526 var e = Object.assign || function (t) {
10527 for (var e = 1; e < arguments.length; e++) {
10528 var n = arguments[e];
10529 for (var a in n) Object.prototype.hasOwnProperty.call(n, a) && (t[a] = n[a])
10530 }
10531 return t
10532 },
10533 n = {
10534 tName: "t",
10535 i18nName: "i18n",
10536 handleName: "localize",
10537 selectorAttr: "data-i18n",
10538 targetAttr: "i18n-target",
10539 optionsAttr: "i18n-options",
10540 useOptionsAttr: !1,
10541 parseDefaultValueFromContent: !0
10542 };
10543 return {
10544 init: t
10545 }
10546});
10547
10548// Promises - for IE11
10549/*!
10550 * @overview es6-promise - a tiny implementation of Promises/A+.
10551 * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
10552 * @license Licensed under MIT license
10553 * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
10554 * @version 3.2.1
10555 */
10556
10557(function () {
10558 "use strict";
10559
10560 function t(t) {
10561 return "function" == typeof t || "object" == typeof t && null !== t
10562 }
10563
10564 function e(t) {
10565 return "function" == typeof t
10566 }
10567
10568 function n(t) {
10569 G = t
10570 }
10571
10572 function r(t) {
10573 Q = t
10574 }
10575
10576 function o() {
10577 return function () {
10578 process.nextTick(a)
10579 }
10580 }
10581
10582 function i() {
10583 return function () {
10584 B(a)
10585 }
10586 }
10587
10588 function s() {
10589 var t = 0,
10590 e = new X(a),
10591 n = document.createTextNode("");
10592 return e.observe(n, {
10593 characterData: !0
10594 }),
10595 function () {
10596 n.data = t = ++t % 2
10597 }
10598 }
10599
10600 function u() {
10601 var t = new MessageChannel;
10602 return t.port1.onmessage = a,
10603 function () {
10604 t.port2.postMessage(0)
10605 }
10606 }
10607
10608 function c() {
10609 return function () {
10610 setTimeout(a, 1)
10611 }
10612 }
10613
10614 function a() {
10615 for (var t = 0; J > t; t += 2) {
10616 var e = tt[t],
10617 n = tt[t + 1];
10618 e(n), tt[t] = void 0, tt[t + 1] = void 0
10619 }
10620 J = 0
10621 }
10622
10623 function f() {
10624 try {
10625 var t = require,
10626 e = t("vertx");
10627 return B = e.runOnLoop || e.runOnContext, i()
10628 } catch (n) {
10629 return c()
10630 }
10631 }
10632
10633 function l(t, e) {
10634 var n = this,
10635 r = new this.constructor(p);
10636 void 0 === r[rt] && k(r);
10637 var o = n._state;
10638 if (o) {
10639 var i = arguments[o - 1];
10640 Q(function () {
10641 x(o, r, i, n._result)
10642 })
10643 } else E(n, r, t, e);
10644 return r
10645 }
10646
10647 function h(t) {
10648 var e = this;
10649 if (t && "object" == typeof t && t.constructor === e) return t;
10650 var n = new e(p);
10651 return g(n, t), n
10652 }
10653
10654 function p() {}
10655
10656 function _() {
10657 return new TypeError("You cannot resolve a promise with itself")
10658 }
10659
10660 function d() {
10661 return new TypeError("A promises callback cannot return that same promise.")
10662 }
10663
10664 function v(t) {
10665 try {
10666 return t.then
10667 } catch (e) {
10668 return ut.error = e, ut
10669 }
10670 }
10671
10672 function y(t, e, n, r) {
10673 try {
10674 t.call(e, n, r)
10675 } catch (o) {
10676 return o
10677 }
10678 }
10679
10680 function m(t, e, n) {
10681 Q(function (t) {
10682 var r = !1,
10683 o = y(n, e, function (n) {
10684 r || (r = !0, e !== n ? g(t, n) : S(t, n))
10685 }, function (e) {
10686 r || (r = !0, j(t, e))
10687 }, "Settle: " + (t._label || " unknown promise"));
10688 !r && o && (r = !0, j(t, o))
10689 }, t)
10690 }
10691
10692 function b(t, e) {
10693 e._state === it ? S(t, e._result) : e._state === st ? j(t, e._result) : E(e, void 0, function (e) {
10694 g(t, e)
10695 }, function (e) {
10696 j(t, e)
10697 })
10698 }
10699
10700 function w(t, n, r) {
10701 n.constructor === t.constructor && r === et && constructor.resolve === nt ? b(t, n) : r === ut ? j(t, ut.error) : void 0 === r ? S(t, n) : e(r) ? m(t, n, r) : S(t, n)
10702 }
10703
10704 function g(e, n) {
10705 e === n ? j(e, _()) : t(n) ? w(e, n, v(n)) : S(e, n)
10706 }
10707
10708 function A(t) {
10709 t._onerror && t._onerror(t._result), T(t)
10710 }
10711
10712 function S(t, e) {
10713 t._state === ot && (t._result = e, t._state = it, 0 !== t._subscribers.length && Q(T, t))
10714 }
10715
10716 function j(t, e) {
10717 t._state === ot && (t._state = st, t._result = e, Q(A, t))
10718 }
10719
10720 function E(t, e, n, r) {
10721 var o = t._subscribers,
10722 i = o.length;
10723 t._onerror = null, o[i] = e, o[i + it] = n, o[i + st] = r, 0 === i && t._state && Q(T, t)
10724 }
10725
10726 function T(t) {
10727 var e = t._subscribers,
10728 n = t._state;
10729 if (0 !== e.length) {
10730 for (var r, o, i = t._result, s = 0; s < e.length; s += 3) r = e[s], o = e[s + n], r ? x(n, r, o, i) : o(i);
10731 t._subscribers.length = 0
10732 }
10733 }
10734
10735 function M() {
10736 this.error = null
10737 }
10738
10739 function P(t, e) {
10740 try {
10741 return t(e)
10742 } catch (n) {
10743 return ct.error = n, ct
10744 }
10745 }
10746
10747 function x(t, n, r, o) {
10748 var i, s, u, c, a = e(r);
10749 if (a) {
10750 if (i = P(r, o), i === ct ? (c = !0, s = i.error, i = null) : u = !0, n === i) return void j(n, d())
10751 } else i = o, u = !0;
10752 n._state !== ot || (a && u ? g(n, i) : c ? j(n, s) : t === it ? S(n, i) : t === st && j(n, i))
10753 }
10754
10755 function C(t, e) {
10756 try {
10757 e(function (e) {
10758 g(t, e)
10759 }, function (e) {
10760 j(t, e)
10761 })
10762 } catch (n) {
10763 j(t, n)
10764 }
10765 }
10766
10767 function O() {
10768 return at++
10769 }
10770
10771 function k(t) {
10772 t[rt] = at++, t._state = void 0, t._result = void 0, t._subscribers = []
10773 }
10774
10775 function Y(t) {
10776 return new _t(this, t).promise
10777 }
10778
10779 function q(t) {
10780 var e = this;
10781 return new e(I(t) ? function (n, r) {
10782 for (var o = t.length, i = 0; o > i; i++) e.resolve(t[i]).then(n, r)
10783 } : function (t, e) {
10784 e(new TypeError("You must pass an array to race."))
10785 })
10786 }
10787
10788 function F(t) {
10789 var e = this,
10790 n = new e(p);
10791 return j(n, t), n
10792 }
10793
10794 function D() {
10795 throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
10796 }
10797
10798 function K() {
10799 throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
10800 }
10801
10802 function L(t) {
10803 this[rt] = O(), this._result = this._state = void 0, this._subscribers = [], p !== t && ("function" != typeof t && D(), this instanceof L ? C(this, t) : K())
10804 }
10805
10806 function N(t, e) {
10807 this._instanceConstructor = t, this.promise = new t(p), this.promise[rt] || k(this.promise), I(e) ? (this._input = e, this.length = e.length, this._remaining = e.length, this._result = new Array(this.length), 0 === this.length ? S(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(), 0 === this._remaining && S(this.promise, this._result))) : j(this.promise, U())
10808 }
10809
10810 function U() {
10811 return new Error("Array Methods must be provided an Array")
10812 }
10813
10814 function W() {
10815 var t;
10816 if ("undefined" != typeof global) t = global;
10817 else if ("undefined" != typeof self) t = self;
10818 else try {
10819 t = Function("return this")()
10820 } catch (e) {
10821 throw new Error("polyfill failed because global object is unavailable in this environment")
10822 }
10823 var n = t.Promise;
10824 (!n || "[object Promise]" !== Object.prototype.toString.call(n.resolve()) || n.cast) && (t.Promise = pt)
10825 }
10826 var z;
10827 z = Array.isArray ? Array.isArray : function (t) {
10828 return "[object Array]" === Object.prototype.toString.call(t)
10829 };
10830 var B, G, H, I = z,
10831 J = 0,
10832 Q = function (t, e) {
10833 tt[J] = t, tt[J + 1] = e, J += 2, 2 === J && (G ? G(a) : H())
10834 },
10835 R = "undefined" != typeof window ? window : void 0,
10836 V = R || {},
10837 X = V.MutationObserver || V.WebKitMutationObserver,
10838 Z = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process),
10839 $ = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
10840 tt = new Array(1e3);
10841 H = Z ? o() : X ? s() : $ ? u() : void 0 === R && "function" == typeof require ? f() : c();
10842 var et = l,
10843 nt = h,
10844 rt = Math.random().toString(36).substring(16),
10845 ot = void 0,
10846 it = 1,
10847 st = 2,
10848 ut = new M,
10849 ct = new M,
10850 at = 0,
10851 ft = Y,
10852 lt = q,
10853 ht = F,
10854 pt = L;
10855 L.all = ft, L.race = lt, L.resolve = nt, L.reject = ht, L._setScheduler = n, L._setAsap = r, L._asap = Q, L.prototype = {
10856 constructor: L,
10857 then: et,
10858 "catch": function (t) {
10859 return this.then(null, t)
10860 }
10861 };
10862 var _t = N;
10863 N.prototype._enumerate = function () {
10864 for (var t = this.length, e = this._input, n = 0; this._state === ot && t > n; n++) this._eachEntry(e[n], n)
10865 }, N.prototype._eachEntry = function (t, e) {
10866 var n = this._instanceConstructor,
10867 r = n.resolve;
10868 if (r === nt) {
10869 var o = v(t);
10870 if (o === et && t._state !== ot) this._settledAt(t._state, e, t._result);
10871 else if ("function" != typeof o) this._remaining--, this._result[e] = t;
10872 else if (n === pt) {
10873 var i = new n(p);
10874 w(i, t, o), this._willSettleAt(i, e)
10875 } else this._willSettleAt(new n(function (e) {
10876 e(t)
10877 }), e)
10878 } else this._willSettleAt(r(t), e)
10879 }, N.prototype._settledAt = function (t, e, n) {
10880 var r = this.promise;
10881 r._state === ot && (this._remaining--, t === st ? j(r, n) : this._result[e] = n), 0 === this._remaining && S(r, this._result)
10882 }, N.prototype._willSettleAt = function (t, e) {
10883 var n = this;
10884 E(t, void 0, function (t) {
10885 n._settledAt(it, e, t)
10886 }, function (t) {
10887 n._settledAt(st, e, t)
10888 })
10889 };
10890 var dt = W,
10891 vt = {
10892 Promise: pt,
10893 polyfill: dt
10894 };
10895 "function" == typeof define && define.amd ? define(function () {
10896 return vt
10897 }) : "undefined" != typeof module && module.exports ? module.exports = vt : "undefined" != typeof this && (this.ES6Promise = vt), dt()
10898}).call(this);