PageSourceSearch

https://wallpaperbat.com/wallpaperbat.js

js wallpaperbat.com collected 2026-10-02 16:30:36 UTC 538,324 bytes, 9,023 lines download raw bytes

1! function(e) {
2    function t(i) {
3        if (n[i]) return n[i].exports;
4        var o = n[i] = {
5            i: i,
6            l: !1,
7            exports: {}
8        };
9        return e[i].call(o.exports, o, o.exports, t), o.l = !0, o.exports
10    }
11    var n = {};
12    t.m = e, t.c = n, t.d = function(e, n, i) {
13        t.o(e, n) || Object.defineProperty(e, n, {
14            configurable: !1,
15            enumerable: !0,
16            get: i
17        })
18    }, t.n = function(e) {
19        var n = e && e.__esModule ? function() {
20            return e.default
21        } : function() {
22            return e
23        };
24        return t.d(n, "a", n), n
25    }, t.o = function(e, t) {
26        return Object.prototype.hasOwnProperty.call(e, t)
27    }, t.p = "", t(t.s = 0)
28}({
29    0: function(e, t, n) {
30        n("sV/x"), e.exports = n("xZZD")
31    },
32    OF5A: function(e, t, n) {
33        var i, o;
34        ! function(t, n) {
35            "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function(e) {
36                if (!e.document) throw new Error("jQuery requires a window with a document");
37                return n(e)
38            } : n(t)
39        }("undefined" != typeof window ? window : this, function(r, a) {
40            function s(e) {
41                var t = !!e && "length" in e && e.length,
42                    n = ue.type(e);
43                return "function" !== n && !ue.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
44            }
45
46            function l(e, t, n) {
47                if (ue.isFunction(t)) return ue.grep(e, function(e, i) {
48                    return !!t.call(e, i, e) !== n
49                });
50                if (t.nodeType) return ue.grep(e, function(e) {
51                    return e === t !== n
52                });
53                if ("string" == typeof t) {
54                    if (xe.test(t)) return ue.filter(t, e, n);
55                    t = ue.filter(t, e)
56                }
57                return ue.grep(e, function(e) {
58                    return oe.call(t, e) > -1 !== n
59                })
60            }
61
62            function c(e, t) {
63                for (;
64                    (e = e[t]) && 1 !== e.nodeType;);
65                return e
66            }
67
68            function u(e) {
69                var t = {};
70                return ue.each(e.match(Te) || [], function(e, n) {
71                    t[n] = !0
72                }), t
73            }
74
75            function d() {
76                ee.removeEventListener("DOMContentLoaded", d), r.removeEventListener("load", d), ue.ready()
77            }
78
79            function f() {
80                this.expando = ue.expando + f.uid++
81            }
82
83            function p(e, t, n) {
84                var i;
85                if (void 0 === n && 1 === e.nodeType)
86                    if (i = "data-" + t.replace(qe, "-$&").toLowerCase(), "string" == typeof(n = e.getAttribute(i))) {
87                        try {
88                            n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : je.test(n) ? ue.parseJSON(n) : n)
89                        } catch (e) {}
90                        Fe.set(e, t, n)
91                    } else n = void 0;
92                return n
93            }
94
95            function h(e, t, n, i) {
96                var o, r = 1,
97                    a = 20,
98                    s = i ? function() {
99                        return i.cur()
100                    } : function() {
101                        return ue.css(e, t, "")
102                    },
103                    l = s(),
104                    c = n && n[3] || (ue.cssNumber[t] ? "" : "px"),
105                    u = (ue.cssNumber[t] || "px" !== c && +l) && Ne.exec(ue.css(e, t));
106                if (u && u[3] !== c) {
107                    c = c || u[3], n = n || [], u = +l || 1;
108                    do {
109                        r = r || ".5", u /= r, ue.style(e, t, u + c)
110                    } while (r !== (r = s() / l) && 1 !== r && --a)
111                }
112                return n && (u = +u || +l || 0, o = n[1] ? u + (n[1] + 1) * n[2] : +n[2], i && (i.unit = c, i.start = u, i.end = o)), o
113            }
114
115            function m(e, t) {
116                var n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
117                return void 0 === t || t && ue.nodeName(e, t) ? ue.merge([e], n) : n
118            }
119
120            function g(e, t) {
121                for (var n = 0, i = e.length; i > n; n++) Oe.set(e[n], "globalEval", !t || Oe.get(t[n], "globalEval"))
122            }
123
124            function v(e, t, n, i, o) {
125                for (var r, a, s, l, c, u, d = t.createDocumentFragment(), f = [], p 
vendor: 7,870 bytes, lines 125-277
125= 0, h = e.length; h > p; p++)
126                    if ((r = e[p]) || 0 === r)
127                        if ("object" === ue.type(r)) ue.merge(f, r.nodeType ? [r] : r);
128                        else if ($e.test(r)) {
129                    for (a = a || d.appendChild(t.createElement("div")), s = (Me.exec(r) || ["", ""])[1].toLowerCase(), l = ze[s] || ze._default, a.innerHTML = l[1] + ue.htmlPrefilter(r) + l[2], u = l[0]; u--;) a = a.lastChild;
130                    ue.merge(f, a.childNodes), a = d.firstChild, a.textContent = ""
131                } else f.push(t.createTextNode(r));
132                for (d.textContent = "", p = 0; r = f[p++];)
133                    if (i && ue.inArray(r, i) > -1) o && o.push(r);
134                    else if (c = ue.contains(r.ownerDocument, r), a = m(d.appendChild(r), "script"), c && g(a), n)
135                    for (u = 0; r = a[u++];) He.test(r.type || "") && n.push(r);
136                return d
137            }
138
139            function b() {
140                return !0
141            }
142
143            function y() {
144                return !1
145            }
146
147            function x() {
148                try {
149                    return ee.activeElement
150                } catch (e) {}
151            }
152
153            function w(e, t, n, i, o, r) {
154                var a, s;
155                if ("object" == typeof t) {
156                    "string" != typeof n && (i = i || n, n = void 0);
157                    for (s in t) w(e, s, n, i, t[s], r);
158                    return e
159                }
160                if (null == i && null == o ? (o = n, i = n = void 0) : null == o && ("string" == typeof n ? (o = i, i = void 0) : (o = i, i = n, n = void 0)), !1 === o) o = y;
161                else if (!o) return e;
162                return 1 === r && (a = o, o = function(e) {
163                    return ue().off(e), a.apply(this, arguments)
164                }, o.guid = a.guid || (a.guid = ue.guid++)), e.each(function() {
165                    ue.event.add(this, t, o, i, n)
166                })
167            }
168
169            function C(e, t) {
170                return ue.nodeName(e, "table") && ue.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
171            }
172
173            function k(e) {
174                return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
175            }
176
177            function S(e) {
178                var t = Qe.exec(e.type);
179                return t ? e.type = t[1] : e.removeAttribute("type"), e
180            }
181
182            function T(e, t) {
183                var n, i, o, r, a, s, l, c;
184                if (1 === t.nodeType) {
185                    if (Oe.hasData(e) && (r = Oe.access(e), a = Oe.set(t, r), c = r.events)) {
186                        delete a.handle, a.events = {};
187                        for (o in c)
188                            for (n = 0, i = c[o].length; i > n; n++) ue.event.add(t, o, c[o][n])
189                    }
190                    Fe.hasData(e) && (s = Fe.access(e), l = ue.extend({}, s), Fe.set(t, l))
191                }
192            }
193
194            function A(e, t) {
195                var n = t.nodeName.toLowerCase();
196                "input" === n && Ie.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
197            }
198
199            function E(e, t, n, i) {
200                t = ne.apply([], t);
201                var o, r, a, s, l, c, u = 0,
202                    d = e.length,
203                    f = d - 1,
204                    p = t[0],
205                    h = ue.isFunction(p);
206                if (h || d > 1 && "string" == typeof p && !le.checkClone && Xe.test(p)) return e.each(function(o) {
207                    var r = e.eq(o);
208                    h && (t[0] = p.call(this, o, r.html())), E(r, t, n, i)
209                });
210                if (d && (o = v(t, e[0].ownerDocument, !1, e, i), r = o.firstChild, 1 === o.childNodes.length && (o = r), r || i)) {
211                    for (a = ue.map(m(o, "script"), k), s = a.length; d > u; u++) l = o, u !== f && (l = ue.clone(l, !0, !0), s && ue.merge(a, m(l, "script"))), n.call(e[u], l, u);
212                    if (s)
213                        for (c = a[a.length - 1].ownerDocument, ue.map(a, S), u = 0; s > u; u++) l = a[u], He.test(l.type || "") && !Oe.access(l, "globalEval") && ue.contains(c, l) && (l.src ? ue._evalUrl && ue._evalUrl(l.src) : ue.globalEval(l.textContent.replace(Ye, "")))
214                }
215                return e
216            }
217
218            function D(e, t, n) {
219                for (var i, o = t ? ue.filter(t, e) : e, r = 0; null != (i = o[r]); r++) n || 1 !== i.nodeType || ue.cleanData(m(i)), i.parentNode && (n && ue.contains(i.ownerDocument, i) && g(m(i, "script")), i.parentNode.removeChild(i));
220                return e
221            }
222
223            function O(e, t) {
224                var n = ue(t.createElement(e)).appendTo(t.body),
225                    i = ue.css(n[0], "display");
226                return n.detach(), i
227            }
228
229            function F(e) {
230                var t = ee,
231                    n = Ke[e];
232                return n || (n = O(e, t), "none" !== n && n || (Ge = (Ge || ue("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = Ge[0].contentDocument, t.write(), t.close(), n = O(e, t), Ge.detach()), Ke[e] = n), n
233            }
234
235            function j(e, t, n) {
236                var i, o, r, a, s = e.style;
237                return n = n || et(e), a = n ? n.getPropertyValue(t) || n[t] : void 0, "" !== a && void 0 !== a || ue.contains(e.ownerDocument, e) || (a = ue.style(e, t)), n && !le.pixelMarginRight() && Ze.test(a) && Je.test(t) && (i = s.width, o = s.minWidth, r = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = i, s.minWidth = o, s.maxWidth = r), void 0 !== a ? a + "" : a
238            }
239
240            function q(e, t) {
241                return {
242                    get: function() {
243                        return e() ? void delete this.get : (this.get = t).apply(this, arguments)
244                    }
245                }
246            }
247
248            function L(e) {
249                if (e in st) return e;
250                for (var t = e[0].toUpperCase() + e.slice(1), n = at.length; n--;)
251                    if ((e = at[n] + t) in st) return e
252            }
253
254            function N(e, t, n) {
255                var i = Ne.exec(t);
256                return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t
257            }
258
259            function P(e, t, n, i, o) {
260                for (var r = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; 4 > r; r += 2) "margin" === n && (a += ue.css(e, n + Pe[r], !0, o)), i ? ("content" === n && (a -= ue.css(e, "padding" + Pe[r], !0, o)), "margin" !== n && (a -= ue.css(e, "border" + Pe[r] + "Width", !0, o))) : (a += ue.css(e, "padding" + Pe[r], !0, o), "padding" !== n && (a += ue.css(e, "border" + Pe[r] + "Width", !0, o)));
261                return a
262            }
263
264            function R(e, t, n) {
265                var i = !0,
266                    o = "width" === t ? e.offsetWidth : e.offsetHeight,
267                    r = et(e),
268                    a = "border-box" === ue.css(e, "boxSizing", !1, r);
269                if (0 >= o || null == o) {
270                    if (o = j(e, t, r), (0 > o || null == o) && (o = e.style[t]), Ze.test(o)) return o;
271                    i = a && (le.boxSizingReliable() || o === e.style[t]), o = parseFloat(o) || 0
272                }
273                return o + P(e, t, n || (a ? "border" : "content"), i, r) + "px"
274            }
275
276            function I(e, t) {
277                for (var n, i, o, r = [], a = 0, s = e.length; s > a; a++) i = e[a], i.style && (r[a] = Oe.get(i, "olddisplay"), n = i.style.display, t ? (r[a] || "none" !== n || (i.style.display = ""), "" === i.style.display && Re(i) && (r[a
vendor: 5,945 bytes, lines 277-388
277] = Oe.access(i, "olddisplay", F(i.nodeName)))) : (o = Re(i), "none" === n && o || Oe.set(i, "olddisplay", o ? n : ue.css(i, "display"))));
278                for (a = 0; s > a; a++) i = e[a], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? r[a] || "" : "none"));
279                return e
280            }
281
282            function M(e, t, n, i, o) {
283                return new M.prototype.init(e, t, n, i, o)
284            }
285
286            function H() {
287                return r.setTimeout(function() {
288                    lt = void 0
289                }), lt = ue.now()
290            }
291
292            function z(e, t) {
293                var n, i = 0,
294                    o = {
295                        height: e
296                    };
297                for (t = t ? 1 : 0; 4 > i; i += 2 - t) n = Pe[i], o["margin" + n] = o["padding" + n] = e;
298                return t && (o.opacity = o.width = e), o
299            }
300
301            function $(e, t, n) {
302                for (var i, o = (W.tweeners[t] || []).concat(W.tweeners["*"]), r = 0, a = o.length; a > r; r++)
303                    if (i = o[r].call(n, t, e)) return i
304            }
305
306            function V(e, t, n) {
307                var i, o, r, a, s, l, c, u = this,
308                    d = {},
309                    f = e.style,
310                    p = e.nodeType && Re(e),
311                    h = Oe.get(e, "fxshow");
312                n.queue || (s = ue._queueHooks(e, "fx"), null == s.unqueued && (s.unqueued = 0, l = s.empty.fire, s.empty.fire = function() {
313                    s.unqueued || l()
314                }), s.unqueued++, u.always(function() {
315                    u.always(function() {
316                        s.unqueued--, ue.queue(e, "fx").length || s.empty.fire()
317                    })
318                })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [f.overflow, f.overflowX, f.overflowY], c = ue.css(e, "display"), "inline" === ("none" === c ? Oe.get(e, "olddisplay") || F(e.nodeName) : c) && "none" === ue.css(e, "float") && (f.display = "inline-block")), n.overflow && (f.overflow = "hidden", u.always(function() {
319                    f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2]
320                }));
321                for (i in t)
322                    if (o = t[i], ut.exec(o)) {
323                        if (delete t[i], r = r || "toggle" === o, o === (p ? "hide" : "show")) {
324                            if ("show" !== o || !h || void 0 === h[i]) continue;
325                            p = !0
326                        }
327                        d[i] = h && h[i] || ue.style(e, i)
328                    } else c = void 0;
329                if (ue.isEmptyObject(d)) "inline" === ("none" === c ? F(e.nodeName) : c) && (f.display = c);
330                else {
331                    h ? "hidden" in h && (p = h.hidden) : h = Oe.access(e, "fxshow", {}), r && (h.hidden = !p), p ? ue(e).show() : u.done(function() {
332                        ue(e).hide()
333                    }), u.done(function() {
334                        var t;
335                        Oe.remove(e, "fxshow");
336                        for (t in d) ue.style(e, t, d[t])
337                    });
338                    for (i in d) a = $(p ? h[i] : 0, i, u), i in h || (h[i] = a.start, p && (a.end = a.start, a.start = "width" === i || "height" === i ? 1 : 0))
339                }
340            }
341
342            function B(e, t) {
343                var n, i, o, r, a;
344                for (n in e)
345                    if (i = ue.camelCase(n), o = t[i], r = e[n], ue.isArray(r) && (o = r[1], r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), (a = ue.cssHooks[i]) && "expand" in a) {
346                        r = a.expand(r), delete e[i];
347                        for (n in r) n in e || (e[n] = r[n], t[n] = o)
348                    } else t[i] = o
349            }
350
351            function W(e, t, n) {
352                var i, o, r = 0,
353                    a = W.prefilters.length,
354                    s = ue.Deferred().always(function() {
355                        delete l.elem
356                    }),
357                    l = function() {
358                        if (o) return !1;
359                        for (var t = lt || H(), n = Math.max(0, c.startTime + c.duration - t), i = n / c.duration || 0, r = 1 - i, a = 0, l = c.tweens.length; l > a; a++) c.tweens[a].run(r);
360                        return s.notifyWith(e, [c, r, n]), 1 > r && l ? n : (s.resolveWith(e, [c]), !1)
361                    },
362                    c = s.promise({
363                        elem: e,
364                        props: ue.extend({}, t),
365                        opts: ue.extend(!0, {
366                            specialEasing: {},
367                            easing: ue.easing._default
368                        }, n),
369                        originalProperties: t,
370                        originalOptions: n,
371                        startTime: lt || H(),
372                        duration: n.duration,
373                        tweens: [],
374                        createTween: function(t, n) {
375                            var i = ue.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing);
376                            return c.tweens.push(i), i
377                        },
378                        stop: function(t) {
379                            var n = 0,
380                                i = t ? c.tweens.length : 0;
381                            if (o) return this;
382                            for (o = !0; i > n; n++) c.tweens[n].run(1);
383                            return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]), this
384                        }
385                    }),
386                    u = c.props;
387                for (B(u, c.opts.specialEasing); a > r; r++)
388                    if (i = W.prefilters[r].call(c, e, u, c.opts)) return ue.isFunction(i.stop) && (ue._queueHooks(c.elem, c.opts.queue).stop = ue.proxy(i.stop, i)), i;
389                return ue.map(u, $, c), ue.isFunction(c.opts.start) && c.opts.start.call(e, c), ue.fx.timer(ue.extend(l, {
390                    elem: e,
391                    anim: c,
392                    queue: c.opts.queue
393                })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always)
394            }
395
396            function U(e) {
397                return e.getAttribute && e.getAttribute("class") || ""
398            }
399
400            function _(e) {
401                return function(t, n) {
402                    "string" != typeof t && (n = t, t = "*");
403                    var i, o = 0,
404                        r = t.toLowerCase().match(Te) || [];
405                    if (ue.isFunction(n))
406                        for (; i = r[o++];) "+" === i[0] ? (i = i.slice(1) || "*", (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n)
407                }
408            }
409
410            function X(e, t, n, i) {
411                function o(s) {
412                    var l;
413                    return r[s] = !0, ue.each(e[s] || [], function(e, s) {
414                        var c = s(t, n, i);
415                        return "string" != typeof c || a || r[c] ? a ? !(l = c) : void 0 : (t.dataTypes.unshift(c), o(c), !1)
416                    }), l
417                }
418                var r = {},
419                    a = e === Ft;
420                return o(t.dataTypes[0]) || !r["*"] && o("*")
421            }
422
423            function Q(e, t) {
424                var n, i, o = ue.ajaxSettings.flatOptions || {};
425                for (n in t) void 0 !== t[n] && ((o[n] ? e : i || (i = {}))[n] = t[n]);
426                return i && ue.extend(!0, e, i), e
427            }
428
429            function Y(e, t, n) {
430                for (var i, o, r, a, s = e.contents, l = e.dataTypes;
431                    "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
432                if (i)
433                    for (o in s)
434                        if (s[o] && s[o].test(i)) {
435                            l.unshift(o);
436                            break
437                        }
438                if (l[0] in n) r = l[0];
439                else {
440                    for (o in n) {
441                        if (!l[0] || e.converters[o + " " + l[0]]) {
442                            r = o;
443                            break
444                        }
445                        a || (a = o)
446                    }
447                    r = r || a
448                }
449                return r ? (r !== l[0] && l.unshift(r), n[r]) : void 0
450            }
451
452            function G(e, t, n, i) {
453                var o, r, a, s, l, c = {},
454                    u = e.dataTypes.slice();
455                if (u[1])
456                    for (a in e.converters) c[a.toLowerCase()] = e.converters[a];
457                for (r = u.shift(); r;)
458                    if (e.responseFields[r] && (n[e.responseFields[r]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = u.shift())
459                        if ("*" === r) r = l;
460                        else if ("*" !== l && l !== r) {
461                    if (!(a = c[l + " " + r] || c["* " + r]))
462                        for (o in c)
463                            if (s = o.split(" "), s[1] === r && (a = c[l + " " + s[0]] || c["* " + s[0]])) {
464                                !0 === a ? a = c[o] : !0 !== c[o] && (r = s[0], u.unshift(s[1]));
465                                break
466                            }
467                    if (!0 !== a)
468                        if (a && e.throws) t = a(t);
469                        else try {
470                            t = a(t)
471                        } catch (e) {
472                            return {
473                                state: "parsererror",
474                                error: a ? e : "No conversion from " + l + " to " + r
475                            }
476                        }
477                }
478                return {
479                    state: "success",
480                    data: t
481                }
482            }
483
484            function K(e, t, n, i) {
485                var o;
486                if (ue.isArray(t)) ue.each(t, function(t, o) {
487                    n || Nt.test(e) ? i(e, o) : K(e + "[" + ("object" == typeof o && null != o ? t : "") + "]", o, n, i)
488                });
489                else if (n || "object" !== ue.type(t)) i(e, t);
490                else
491                    for (o in t) K(e + "[" + o + "]", t[o], n, i)
492            }
493
494            function J(e) {
vendor: 5,051 bytes, lines 495-609
495                return ue.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
496            }
497            var Z = [],
498                ee = r.document,
499                te = Z.slice,
500                ne = Z.concat,
501                ie = Z.push,
502                oe = Z.indexOf,
503                re = {},
504                ae = re.toString,
505                se = re.hasOwnProperty,
506                le = {},
507                ce = "2.2.4",
508                ue = function(e, t) {
509                    return new ue.fn.init(e, t)
510                },
511                de = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
512                fe = /^-ms-/,
513                pe = /-([\da-z])/gi,
514                he = function(e, t) {
515                    return t.toUpperCase()
516                };
517            ue.fn = ue.prototype = {
518                jquery: ce,
519                constructor: ue,
520                selector: "",
521                length: 0,
522                toArray: function() {
523                    return te.call(this)
524                },
525                get: function(e) {
526                    return null != e ? 0 > e ? this[e + this.length] : this[e] : te.call(this)
527                },
528                pushStack: function(e) {
529                    var t = ue.merge(this.constructor(), e);
530                    return t.prevObject = this, t.context = this.context, t
531                },
532                each: function(e) {
533                    return ue.each(this, e)
534                },
535                map: function(e) {
536                    return this.pushStack(ue.map(this, function(t, n) {
537                        return e.call(t, n, t)
538                    }))
539                },
540                slice: function() {
541                    return this.pushStack(te.apply(this, arguments))
542                },
543                first: function() {
544                    return this.eq(0)
545                },
546                last: function() {
547                    return this.eq(-1)
548                },
549                eq: function(e) {
550                    var t = this.length,
551                        n = +e + (0 > e ? t : 0);
552                    return this.pushStack(n >= 0 && t > n ? [this[n]] : [])
553                },
554                end: function() {
555                    return this.prevObject || this.constructor()
556                },
557                push: ie,
558                sort: Z.sort,
559                splice: Z.splice
560            }, ue.extend = ue.fn.extend = function() {
561                var e, t, n, i, o, r, a = arguments[0] || {},
562                    s = 1,
563                    l = arguments.length,
564                    c = !1;
565                for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++), "object" == typeof a || ue.isFunction(a) || (a = {}), s === l && (a = this, s--); l > s; s++)
566                    if (null != (e = arguments[s]))
567                        for (t in e) n = a[t], i = e[t], a !== i && (c && i && (ue.isPlainObject(i) || (o = ue.isArray(i))) ? (o ? (o = !1, r = n && ue.isArray(n) ? n : []) : r = n && ue.isPlainObject(n) ? n : {}, a[t] = ue.extend(c, r, i)) : void 0 !== i && (a[t] = i));
568                return a
569            }, ue.extend({
570                expando: "jQuery" + (ce + Math.random()).replace(/\D/g, ""),
571                isReady: !0,
572                error: function(e) {
573                    throw new Error(e)
574                },
575                noop: function() {},
576                isFunction: function(e) {
577                    return "function" === ue.type(e)
578                },
579                isArray: Array.isArray,
580                isWindow: function(e) {
581                    return null != e && e === e.window
582                },
583                isNumeric: function(e) {
584                    var t = e && e.toString();
585                    return !ue.isArray(e) && t - parseFloat(t) + 1 >= 0
586                },
587                isPlainObject: function(e) {
588                    var t;
589                    if ("object" !== ue.type(e) || e.nodeType || ue.isWindow(e)) return !1;
590                    if (e.constructor && !se.call(e, "constructor") && !se.call(e.constructor.prototype || {}, "isPrototypeOf")) return !1;
591                    for (t in e);
592                    return void 0 === t || se.call(e, t)
593                },
594                isEmptyObject: function(e) {
595                    var t;
596                    for (t in e) return !1;
597                    return !0
598                },
599                type: function(e) {
600                    return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? re[ae.call(e)] || "object" : typeof e
601                },
602                globalEval: function(e) {
603                    var t, n = eval;
604                    (e = ue.trim(e)) && (1 === e.indexOf("use strict") ? (t = ee.createElement("script"), t.text = e, ee.head.appendChild(t).parentNode.removeChild(t)) : n(e))
605                },
606                camelCase: function(e) {
607                    return e.replace(fe, "ms-").replace(pe, he)
608                },
609                nodeName: function(e, t) {
vendor: 20,877 bytes, lines 610-984
610                    return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
611                },
612                each: function(e, t) {
613                    var n, i = 0;
614                    if (s(e))
615                        for (n = e.length; n > i && !1 !== t.call(e[i], i, e[i]); i++);
616                    else
617                        for (i in e)
618                            if (!1 === t.call(e[i], i, e[i])) break;
619                    return e
620                },
621                trim: function(e) {
622                    return null == e ? "" : (e + "").replace(de, "")
623                },
624                makeArray: function(e, t) {
625                    var n = t || [];
626                    return null != e && (s(Object(e)) ? ue.merge(n, "string" == typeof e ? [e] : e) : ie.call(n, e)), n
627                },
628                inArray: function(e, t, n) {
629                    return null == t ? -1 : oe.call(t, e, n)
630                },
631                merge: function(e, t) {
632                    for (var n = +t.length, i = 0, o = e.length; n > i; i++) e[o++] = t[i];
633                    return e.length = o, e
634                },
635                grep: function(e, t, n) {
636                    for (var i = [], o = 0, r = e.length, a = !n; r > o; o++) !t(e[o], o) !== a && i.push(e[o]);
637                    return i
638                },
639                map: function(e, t, n) {
640                    var i, o, r = 0,
641                        a = [];
642                    if (s(e))
643                        for (i = e.length; i > r; r++) null != (o = t(e[r], r, n)) && a.push(o);
644                    else
645                        for (r in e) null != (o = t(e[r], r, n)) && a.push(o);
646                    return ne.apply([], a)
647                },
648                guid: 1,
649                proxy: function(e, t) {
650                    var n, i, o;
651                    return "string" == typeof t && (n = e[t], t = e, e = n), ue.isFunction(e) ? (i = te.call(arguments, 2), o = function() {
652                        return e.apply(t || this, i.concat(te.call(arguments)))
653                    }, o.guid = e.guid = e.guid || ue.guid++, o) : void 0
654                },
655                now: Date.now,
656                support: le
657            }), "function" == typeof Symbol && (ue.fn[Symbol.iterator] = Z[Symbol.iterator]), ue.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
658                re["[object " + t + "]"] = t.toLowerCase()
659            });
660            var me = function(e) {
661                function t(e, t, n, i) {
662                    var o, r, a, s, c, d, f, p, h = t && t.ownerDocument,
663                        m = t ? t.nodeType : 9;
664                    if (n = n || [], "string" != typeof e || !e || 1 !== m && 9 !== m && 11 !== m) return n;
665                    if (!i && ((t ? t.ownerDocument || t : M) !== F && O(t), t = t || F, q)) {
666                        if (11 !== m && (d = me.exec(e)))
667                            if (o = d[1]) {
668                                if (9 === m) {
669                                    if (!(a = t.getElementById(o))) return n;
670                                    if (a.id === o) return n.push(a), n
671                                } else if (h && (a = h.getElementById(o)) && R(t, a) && a.id === o) return n.push(a), n
672                            } else {
673                                if (d[2]) return G.apply(n, t.getElementsByTagName(e)), n;
674                                if ((o = d[3]) && y.getElementsByClassName && t.getElementsByClassName) return G.apply(n, t.getElementsByClassName(o)), n
675                            }
676                        if (y.qsa && !B[e + " "] && (!L || !L.test(e))) {
677                            if (1 !== m) h = t, p = e;
678                            else if ("object" !== t.nodeName.toLowerCase()) {
679                                for ((s = t.getAttribute("id")) ? s = s.replace(ve, "\\$&") : t.setAttribute("id", s = I), f = k(e), r = f.length, c = ue.test(s) ? "#" + s : "[id='" + s + "']"; r--;) f[r] = c + " " + u(f[r]);
680                                p = f.join(","), h = ge.test(e) && l(t.parentNode) || t
681                            }
682                            if (p) try {
683                                return G.apply(n, h.querySelectorAll(p)), n
684                            } catch (e) {} finally {
685                                s === I && t.removeAttribute("id")
686                            }
687                        }
688                    }
689                    return T(e.replace(re, "$1"), t, n, i)
690                }
691
692                function n() {
693                    function e(n, i) {
694                        return t.push(n + " ") > x.cacheLength && delete e[t.shift()], e[n + " "] = i
695                    }
696                    var t = [];
697                    return e
698                }
699
700                function i(e) {
701                    return e[I] = !0, e
702                }
703
704                function o(e) {
705                    var t = F.createElement("div");
706                    try {
707                        return !!e(t)
708                    } catch (e) {
709                        return !1
710                    } finally {
711                        t.parentNode && t.parentNode.removeChild(t), t = null
712                    }
713                }
714
715                function r(e, t) {
716                    for (var n = e.split("|"), i = n.length; i--;) x.attrHandle[n[i]] = t
717                }
718
719                function a(e, t) {
720                    var n = t && e,
721                        i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || U) - (~e.sourceIndex || U);
722                    if (i) return i;
723                    if (n)
724                        for (; n = n.nextSibling;)
725                            if (n === t) return -1;
726                    return e ? 1 : -1
727                }
728
729                function s(e) {
730                    return i(function(t) {
731                        return t = +t, i(function(n, i) {
732                            for (var o, r = e([], n.length, t), a = r.length; a--;) n[o = r[a]] && (n[o] = !(i[o] = n[o]))
733                        })
734                    })
735                }
736
737                function l(e) {
738                    return e && void 0 !== e.getElementsByTagName && e
739                }
740
741                function c() {}
742
743                function u(e) {
744                    for (var t = 0, n = e.length, i = ""; n > t; t++) i += e[t].value;
745                    return i
746                }
747
748                function d(e, t, n) {
749                    var i = t.dir,
750                        o = n && "parentNode" === i,
751                        r = z++;
752                    return t.first ? function(t, n, r) {
753                        for (; t = t[i];)
754                            if (1 === t.nodeType || o) return e(t, n, r)
755                    } : function(t, n, a) {
756                        var s, l, c, u = [H, r];
757                        if (a) {
758                            for (; t = t[i];)
759                                if ((1 === t.nodeType || o) && e(t, n, a)) return !0
760                        } else
761                            for (; t = t[i];)
762                                if (1 === t.nodeType || o) {
763                                    if (c = t[I] || (t[I] = {}), l = c[t.uniqueID] || (c[t.uniqueID] = {}), (s = l[i]) && s[0] === H && s[1] === r) return u[2] = s[2];
764                                    if (l[i] = u, u[2] = e(t, n, a)) return !0
765                                }
766                    }
767                }
768
769                function f(e) {
770                    return e.length > 1 ? function(t, n, i) {
771                        for (var o = e.length; o--;)
772                            if (!e[o](t, n, i)) return !1;
773                        return !0
774                    } : e[0]
775                }
776
777                function p(e, n, i) {
778                    for (var o = 0, r = n.length; r > o; o++) t(e, n[o], i);
779                    return i
780                }
781
782                function h(e, t, n, i, o) {
783                    for (var r, a = [], s = 0, l = e.length, c = null != t; l > s; s++)(r = e[s]) && (n && !n(r, i, o) || (a.push(r), c && t.push(s)));
784                    return a
785                }
786
787                function m(e, t, n, o, r, a) {
788                    return o && !o[I] && (o = m(o)), r && !r[I] && (r = m(r, a)), i(function(i, a, s, l) {
789                        var c, u, d, f = [],
790                            m = [],
791                            g = a.length,
792                            v = i || p(t || "*", s.nodeType ? [s] : s, []),
793                            b = !e || !i && t ? v : h(v, f, e, s, l),
794                            y = n ? r || (i ? e : g || o) ? [] : a : b;
795                        if (n && n(b, y, s, l), o)
796                            for (c = h(y, m), o(c, [], s, l), u = c.length; u--;)(d = c[u]) && (y[m[u]] = !(b[m[u]] = d));
797                        if (i) {
798                            if (r || e) {
799                                if (r) {
800                                    for (c = [], u = y.length; u--;)(d = y[u]) && c.push(b[u] = d);
801                                    r(null, y = [], c, l)
802                                }
803                                for (u = y.length; u--;)(d = y[u]) && (c = r ? J(i, d) : f[u]) > -1 && (i[c] = !(a[c] = d))
804                            }
805                        } else y = h(y === a ? y.splice(g, y.length) : y), r ? r(null, a, y, l) : G.apply(a, y)
806                    })
807                }
808
809                function g(e) {
810                    for (var t, n, i, o = e.length, r = x.relative[e[0].type], a = r || x.relative[" "], s = r ? 1 : 0, l = d(function(e) {
811                            return e === t
812                        }, a, !0), c = d(function(e) {
813                            return J(t, e) > -1
814                        }, a, !0), p = [function(e, n, i) {
815                            var o = !r && (i || n !== A) || ((t = n).nodeType ? l(e, n, i) : c(e, n, i));
816                            return t = null, o
817                        }]; o > s; s++)
818                        if (n = x.relative[e[s].type]) p = [d(f(p), n)];
819                        else {
820                            if (n = x.filter[e[s].type].apply(null, e[s].matches), n[I]) {
821                                for (i = ++s; o > i && !x.relative[e[i].type]; i++);
822                                return m(s > 1 && f(p), s > 1 && u(e.slice(0, s - 1).concat({
823                                    value: " " === e[s - 2].type ? "*" : ""
824                                })).replace(re, "$1"), n, i > s && g(e.slice(s, i)), o > i && g(e = e.slice(i)), o > i && u(e))
825                            }
826                            p.push(n)
827                        }
828                    return f(p)
829                }
830
831                function v(e, n) {
832                    var o = n.length > 0,
833                        r = e.length > 0,
834                        a = function(i, a, s, l, c) {
835                            var u, d, f, p = 0,
836                                m = "0",
837                                g = i && [],
838                                v = [],
839                                b = A,
840                                y = i || r && x.find.TAG("*", c),
841                                w = H += null == b ? 1 : Math.random() || .1,
842                                C = y.length;
843                            for (c && (A = a === F || a || c); m !== C && null != (u = y[m]); m++) {
844                                if (r && u) {
845                                    for (d = 0, a || u.ownerDocument === F || (O(u), s = !q); f = e[d++];)
846                                        if (f(u, a || F, s)) {
847                                            l.push(u);
848                                            break
849                                        }
850                                    c && (H = w)
851                                }
852                                o && ((u = !f && u) && p--, i && g.push(u))
853                            }
854                            if (p += m, o && m !== p) {
855                                for (d = 0; f = n[d++];) f(g, v, a, s);
856                                if (i) {
857                                    if (p > 0)
858                                        for (; m--;) g[m] || v[m] || (v[m] = Q.call(l));
859                                    v = h(v)
860                                }
861                                G.apply(l, v), c && !i && v.length > 0 && p + n.length > 1 && t.uniqueSort(l)
862                            }
863                            return c && (H = w, A = b), g
864                        };
865                    return o ? i(a) : a
866                }
867                var b, y, x, w, C, k, S, T, A, E, D, O, F, j, q, L, N, P, R, I = "sizzle" + 1 * new Date,
868                    M = e.document,
869                    H = 0,
870                    z = 0,
871                    $ = n(),
872                    V = n(),
873                    B = n(),
874                    W = function(e, t) {
875                        return e === t && (D = !0), 0
876                    },
877                    U = 1 << 31,
878                    _ = {}.hasOwnProperty,
879                    X = [],
880                    Q = X.pop,
881                    Y = X.push,
882                    G = X.push,
883                    K = X.slice,
884                    J = function(e, t) {
885                        for (var n = 0, i = e.length; i > n; n++)
886                            if (e[n] === t) return n;
887                        return -1
888                    },
889                    Z = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
890                    ee = "[\\x20\\t\\r\\n\\f]",
891                    te = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
892                    ne = "\\[" + ee + "*(" + te + ")(?:" + ee + "*([*^$|!~]?=)" + ee + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + te + "))|)" + ee + "*\\]",
893                    ie = ":(" + te + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ne + ")*)|.*)\\)|)",
894                    oe = new RegExp(ee + "+", "g"),
895                    re = new RegExp("^" + ee + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ee + "+$", "g"),
896                    ae = new RegExp("^" + ee + "*," + ee + "*"),
897                    se = new RegExp("^" + ee + "*([>+~]|" + ee + ")" + ee + "*"),
898                    le = new RegExp("=" + ee + "*([^\\]'\"]*?)" + ee + "*\\]", "g"),
899                    ce = new RegExp(ie),
900                    ue = new RegExp("^" + te + "$"),
901                    de = {
902                        ID: new RegExp("^#(" + te + ")"),
903                        CLASS: new RegExp("^\\.(" + te + ")"),
904                        TAG: new RegExp("^(" + te + "|[*])"),
905                        ATTR: new RegExp("^" + ne),
906                        PSEUDO: new RegExp("^" + ie),
907                        CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ee + "*(even|odd|(([+-]|)(\\d*)n|)" + ee + "*(?:([+-]|)" + ee + "*(\\d+)|))" + ee + "*\\)|)", "i"),
908                        bool: new RegExp("^(?:" + Z + ")$", "i"),
909                        needsContext: new RegExp("^" + ee + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ee + "*((?:-\\d)?\\d*)" + ee + "*\\)|)(?=[^-]|$)", "i")
910                    },
911                    fe = /^(?:input|select|textarea|button)$/i,
912                    pe = /^h\d$/i,
913                    he = /^[^{]+\{\s*\[native \w/,
914                    me = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
915                    ge = /[+~]/,
916                    ve = /'|\\/g,
917                    be = new RegExp("\\\\([\\da-f]{1,6}" + ee + "?|(" + ee + ")|.)", "ig"),
918                    ye = function(e, t, n) {
919                        var i = "0x" + t - 65536;
920                        return i !== i || n ? t : 0 > i ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320)
921                    },
922                    xe = function() {
923                        O()
924                    };
925                try {
926                    G.apply(X = K.call(M.childNodes), M.childNodes), X[M.childNodes.length].nodeType
927                } catch (e) {
928                    G = {
929                        apply: X.length ? function(e, t) {
930                            Y.apply(e, K.call(t))
931                        } : function(e, t) {
932                            for (var n = e.length, i = 0; e[n++] = t[i++];);
933                            e.length = n - 1
934                        }
935                    }
936                }
937                y = t.support = {}, C = t.isXML = function(e) {
938                    var t = e && (e.ownerDocument || e).documentElement;
939                    return !!t && "HTML" !== t.nodeName
940                }, O = t.setDocument = function(e) {
941                    var t, n, i = e ? e.ownerDocument || e : M;
942                    return i !== F && 9 === i.nodeType && i.documentElement ? (F = i, j = F.documentElement, q = !C(F), (n = F.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", xe, !1) : n.attachEvent && n.attachEvent("onunload", xe)), y.attributes = o(function(e) {
943                        return e.className = "i", !e.getAttribute("className")
944                    }), y.getElementsByTagName = o(function(e) {
945                        return e.appendChild(F.createComment("")), !e.getElementsByTagName("*").length
946                    }), y.getElementsByClassName = he.test(F.getElementsByClassName), y.getById = o(function(e) {
947                        return j.appendChild(e).id = I, !F.getElementsByName || !F.getElementsByName(I).length
948                    }), y.getById ? (x.find.ID = function(e, t) {
949                        if (void 0 !== t.getElementById && q) {
950                            var n = t.getElementById(e);
951                            return n ? [n] : []
952                        }
953                    }, x.filter.ID = function(e) {
954                        var t = e.replace(be, ye);
955                        return function(e) {
956                            return e.getAttribute("id") === t
957                        }
958                    }) : (delete x.find.ID, x.filter.ID = function(e) {
959                        var t = e.replace(be, ye);
960                        return function(e) {
961                            var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
962                            return n && n.value === t
963                        }
964                    }), x.find.TAG = y.getElementsByTagName ? function(e, t) {
965                        return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : y.qsa ? t.querySelectorAll(e) : void 0
966                    } : function(e, t) {
967                        var n, i = [],
968                            o = 0,
969                            r = t.getElementsByTagName(e);
970                        if ("*" === e) {
971                            for (; n = r[o++];) 1 === n.nodeType && i.push(n);
972                            return i
973                        }
974                        return r
975                    }, x.find.CLASS = y.getElementsByClassName && function(e, t) {
976                        return void 0 !== t.getElementsByClassName && q ? t.getElementsByClassName(e) : void 0
977                    }, N = [], L = [], (y.qsa = he.test(F.querySelectorAll)) && (o(function(e) {
978                        j.appendChild(e).innerHTML = "<a id='" + I + "'></a><select id='" + I + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && L.push("[*^$]=" + ee + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || L.push("\\[" + ee + "*(?:value|" + Z + ")"), e.querySelectorAll("[id~=" + I + "-]").length || L.push("~="), e.querySelectorAll(":checked").length || L.push(":checked"), e.querySelectorAll("a#" + I + "+*").length || L.push(".#.+[+~]")
979                    }), o(function(e) {
980                        var t = F.createElement("input");
981                        t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && L.push("name" + ee + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || L.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), L.push(",.*:")
982                    })), (y.matchesSelector = he.test(P = j.matches || j.webkitMatchesSelector || j.mozMatchesSelector || j.oMatchesSelector || j.msMatchesSelector)) && o(function(e) {
983                        y.disconnectedMatch = P.call(e, "div"), P.call(e, "[s!='']:x"), N.push("!=", ie)
984                    }), L = L.length && new RegExp(L.join("|")), N = N.length && new RegExp(N.join("|")), t = he.test(j.compareDocumentPosition), R = t || he.test(j.contains) ? function(e, t) {
vendor: 6,149 bytes, lines 985-1088
985                        var n = 9 === e.nodeType ? e.documentElement : e,
986                            i = t && t.parentNode;
987                        return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i)))
988                    } : function(e, t) {
989                        if (t)
990                            for (; t = t.parentNode;)
991                                if (t === e) return !0;
992                        return !1
993                    }, W = t ? function(e, t) {
994                        if (e === t) return D = !0, 0;
995                        var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
996                        return n || (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !y.sortDetached && t.compareDocumentPosition(e) === n ? e === F || e.ownerDocument === M && R(M, e) ? -1 : t === F || t.ownerDocument === M && R(M, t) ? 1 : E ? J(E, e) - J(E, t) : 0 : 4 & n ? -1 : 1)
997                    } : function(e, t) {
998                        if (e === t) return D = !0, 0;
999                        var n, i = 0,
1000                            o = e.parentNode,
1001                            r = t.parentNode,
1002                            s = [e],
1003                            l = [t];
1004                        if (!o || !r) return e === F ? -1 : t === F ? 1 : o ? -1 : r ? 1 : E ? J(E, e) - J(E, t) : 0;
1005                        if (o === r) return a(e, t);
1006                        for (n = e; n = n.parentNode;) s.unshift(n);
1007                        for (n = t; n = n.parentNode;) l.unshift(n);
1008                        for (; s[i] === l[i];) i++;
1009                        return i ? a(s[i], l[i]) : s[i] === M ? -1 : l[i] === M ? 1 : 0
1010                    }, F) : F
1011                }, t.matches = function(e, n) {
1012                    return t(e, null, null, n)
1013                }, t.matchesSelector = function(e, n) {
1014                    if ((e.ownerDocument || e) !== F && O(e), n = n.replace(le, "='$1']"), y.matchesSelector && q && !B[n + " "] && (!N || !N.test(n)) && (!L || !L.test(n))) try {
1015                        var i = P.call(e, n);
1016                        if (i || y.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i
1017                    } catch (e) {}
1018                    return t(n, F, null, [e]).length > 0
1019                }, t.contains = function(e, t) {
1020                    return (e.ownerDocument || e) !== F && O(e), R(e, t)
1021                }, t.attr = function(e, t) {
1022                    (e.ownerDocument || e) !== F && O(e);
1023                    var n = x.attrHandle[t.toLowerCase()],
1024                        i = n && _.call(x.attrHandle, t.toLowerCase()) ? n(e, t, !q) : void 0;
1025                    return void 0 !== i ? i : y.attributes || !q ? e.getAttribute(t) : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
1026                }, t.error = function(e) {
1027                    throw new Error("Syntax error, unrecognized expression: " + e)
1028                }, t.uniqueSort = function(e) {
1029                    var t, n = [],
1030                        i = 0,
1031                        o = 0;
1032                    if (D = !y.detectDuplicates, E = !y.sortStable && e.slice(0), e.sort(W), D) {
1033                        for (; t = e[o++];) t === e[o] && (i = n.push(o));
1034                        for (; i--;) e.splice(n[i], 1)
1035                    }
1036                    return E = null, e
1037                }, w = t.getText = function(e) {
1038                    var t, n = "",
1039                        i = 0,
1040                        o = e.nodeType;
1041                    if (o) {
1042                        if (1 === o || 9 === o || 11 === o) {
1043                            if ("string" == typeof e.textContent) return e.textContent;
1044                            for (e = e.firstChild; e; e = e.nextSibling) n += w(e)
1045                        } else if (3 === o || 4 === o) return e.nodeValue
1046                    } else
1047                        for (; t = e[i++];) n += w(t);
1048                    return n
1049                }, x = t.selectors = {
1050                    cacheLength: 50,
1051                    createPseudo: i,
1052                    match: de,
1053                    attrHandle: {},
1054                    find: {},
1055                    relative: {
1056                        ">": {
1057                            dir: "parentNode",
1058                            first: !0
1059                        },
1060                        " ": {
1061                            dir: "parentNode"
1062                        },
1063                        "+": {
1064                            dir: "previousSibling",
1065                            first: !0
1066                        },
1067                        "~": {
1068                            dir: "previousSibling"
1069                        }
1070                    },
1071                    preFilter: {
1072                        ATTR: function(e) {
1073                            return e[1] = e[1].replace(be, ye), e[3] = (e[3] || e[4] || e[5] || "").replace(be, ye), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
1074                        },
1075                        CHILD: function(e) {
1076                            return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e
1077                        },
1078                        PSEUDO: function(e) {
1079                            var t, n = !e[6] && e[2];
1080                            return de.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && ce.test(n) && (t = k(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))
1081                        }
1082                    },
1083                    filter: {
1084                        TAG: function(e) {
1085                            var t = e.replace(be, ye).toLowerCase();
1086                            return "*" === e ? function() {
1087                                return !0
1088                            } : function(e) {
vendor: 25,084 bytes, lines 1089-1540
1089                                return e.nodeName && e.nodeName.toLowerCase() === t
1090                            }
1091                        },
1092                        CLASS: function(e) {
1093                            var t = $[e + " "];
1094                            return t || (t = new RegExp("(^|" + ee + ")" + e + "(" + ee + "|$)")) && $(e, function(e) {
1095                                return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
1096                            })
1097                        },
1098                        ATTR: function(e, n, i) {
1099                            return function(o) {
1100                                var r = t.attr(o, e);
1101                                return null == r ? "!=" === n : !n || (r += "", "=" === n ? r === i : "!=" === n ? r !== i : "^=" === n ? i && 0 === r.indexOf(i) : "*=" === n ? i && r.indexOf(i) > -1 : "$=" === n ? i && r.slice(-i.length) === i : "~=" === n ? (" " + r.replace(oe, " ") + " ").indexOf(i) > -1 : "|=" === n && (r === i || r.slice(0, i.length + 1) === i + "-"))
1102                            }
1103                        },
1104                        CHILD: function(e, t, n, i, o) {
1105                            var r = "nth" !== e.slice(0, 3),
1106                                a = "last" !== e.slice(-4),
1107                                s = "of-type" === t;
1108                            return 1 === i && 0 === o ? function(e) {
1109                                return !!e.parentNode
1110                            } : function(t, n, l) {
1111                                var c, u, d, f, p, h, m = r !== a ? "nextSibling" : "previousSibling",
1112                                    g = t.parentNode,
1113                                    v = s && t.nodeName.toLowerCase(),
1114                                    b = !l && !s,
1115                                    y = !1;
1116                                if (g) {
1117                                    if (r) {
1118                                        for (; m;) {
1119                                            for (f = t; f = f[m];)
1120                                                if (s ? f.nodeName.toLowerCase() === v : 1 === f.nodeType) return !1;
1121                                            h = m = "only" === e && !h && "nextSibling"
1122                                        }
1123                                        return !0
1124                                    }
1125                                    if (h = [a ? g.firstChild : g.lastChild], a && b) {
1126                                        for (f = g, d = f[I] || (f[I] = {}), u = d[f.uniqueID] || (d[f.uniqueID] = {}), c = u[e] || [], p = c[0] === H && c[1], y = p && c[2], f = p && g.childNodes[p]; f = ++p && f && f[m] || (y = p = 0) || h.pop();)
1127                                            if (1 === f.nodeType && ++y && f === t) {
1128                                                u[e] = [H, p, y];
1129                                                break
1130                                            }
1131                                    } else if (b && (f = t, d = f[I] || (f[I] = {}), u = d[f.uniqueID] || (d[f.uniqueID] = {}), c = u[e] || [], p = c[0] === H && c[1], y = p), !1 === y)
1132                                        for (;
1133                                            (f = ++p && f && f[m] || (y = p = 0) || h.pop()) && ((s ? f.nodeName.toLowerCase() !== v : 1 !== f.nodeType) || !++y || (b && (d = f[I] || (f[I] = {}), u = d[f.uniqueID] || (d[f.uniqueID] = {}), u[e] = [H, y]), f !== t)););
1134                                    return (y -= o) === i || y % i == 0 && y / i >= 0
1135                                }
1136                            }
1137                        },
1138                        PSEUDO: function(e, n) {
1139                            var o, r = x.pseudos[e] || x.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
1140                            return r[I] ? r(n) : r.length > 1 ? (o = [e, e, "", n], x.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function(e, t) {
1141                                for (var i, o = r(e, n), a = o.length; a--;) i = J(e, o[a]), e[i] = !(t[i] = o[a])
1142                            }) : function(e) {
1143                                return r(e, 0, o)
1144                            }) : r
1145                        }
1146                    },
1147                    pseudos: {
1148                        not: i(function(e) {
1149                            var t = [],
1150                                n = [],
1151                                o = S(e.replace(re, "$1"));
1152                            return o[I] ? i(function(e, t, n, i) {
1153                                for (var r, a = o(e, null, i, []), s = e.length; s--;)(r = a[s]) && (e[s] = !(t[s] = r))
1154                            }) : function(e, i, r) {
1155                                return t[0] = e, o(t, null, r, n), t[0] = null, !n.pop()
1156                            }
1157                        }),
1158                        has: i(function(e) {
1159                            return function(n) {
1160                                return t(e, n).length > 0
1161                            }
1162                        }),
1163                        contains: i(function(e) {
1164                            return e = e.replace(be, ye),
1165                                function(t) {
1166                                    return (t.textContent || t.innerText || w(t)).indexOf(e) > -1
1167                                }
1168                        }),
1169                        lang: i(function(e) {
1170                            return ue.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(be, ye).toLowerCase(),
1171                                function(t) {
1172                                    var n;
1173                                    do {
1174                                        if (n = q ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-")
1175                                    } while ((t = t.parentNode) && 1 === t.nodeType);
1176                                    return !1
1177                                }
1178                        }),
1179                        target: function(t) {
1180                            var n = e.location && e.location.hash;
1181                            return n && n.slice(1) === t.id
1182                        },
1183                        root: function(e) {
1184                            return e === j
1185                        },
1186                        focus: function(e) {
1187                            return e === F.activeElement && (!F.hasFocus || F.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
1188                        },
1189                        enabled: function(e) {
1190                            return !1 === e.disabled
1191                        },
1192                        disabled: function(e) {
1193                            return !0 === e.disabled
1194                        },
1195                        checked: function(e) {
1196                            var t = e.nodeName.toLowerCase();
1197                            return "input" === t && !!e.checked || "option" === t && !!e.selected
1198                        },
1199                        selected: function(e) {
1200                            return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
1201                        },
1202                        empty: function(e) {
1203                            for (e = e.firstChild; e; e = e.nextSibling)
1204                                if (e.nodeType < 6) return !1;
1205                            return !0
1206                        },
1207                        parent: function(e) {
1208                            return !x.pseudos.empty(e)
1209                        },
1210                        header: function(e) {
1211                            return pe.test(e.nodeName)
1212                        },
1213                        input: function(e) {
1214                            return fe.test(e.nodeName)
1215                        },
1216                        button: function(e) {
1217                            var t = e.nodeName.toLowerCase();
1218                            return "input" === t && "button" === e.type || "button" === t
1219                        },
1220                        text: function(e) {
1221                            var t;
1222                            return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
1223                        },
1224                        first: s(function() {
1225                            return [0]
1226                        }),
1227                        last: s(function(e, t) {
1228                            return [t - 1]
1229                        }),
1230                        eq: s(function(e, t, n) {
1231                            return [0 > n ? n + t : n]
1232                        }),
1233                        even: s(function(e, t) {
1234                            for (var n = 0; t > n; n += 2) e.push(n);
1235                            return e
1236                        }),
1237                        odd: s(function(e, t) {
1238                            for (var n = 1; t > n; n += 2) e.push(n);
1239                            return e
1240                        }),
1241                        lt: s(function(e, t, n) {
1242                            for (var i = 0 > n ? n + t : n; --i >= 0;) e.push(i);
1243                            return e
1244                        }),
1245                        gt: s(function(e, t, n) {
1246                            for (var i = 0 > n ? n + t : n; ++i < t;) e.push(i);
1247                            return e
1248                        })
1249                    }
1250                }, x.pseudos.nth = x.pseudos.eq;
1251                for (b in {
1252                        radio: !0,
1253                        checkbox: !0,
1254                        file: !0,
1255                        password: !0,
1256                        image: !0
1257                    }) x.pseudos[b] = function(e) {
1258                    return function(t) {
1259                        return "input" === t.nodeName.toLowerCase() && t.type === e
1260                    }
1261                }(b);
1262                for (b in {
1263                        submit: !0,
1264                        reset: !0
1265                    }) x.pseudos[b] = function(e) {
1266                    return function(t) {
1267                        var n = t.nodeName.toLowerCase();
1268                        return ("input" === n || "button" === n) && t.type === e
1269                    }
1270                }(b);
1271                return c.prototype = x.filters = x.pseudos, x.setFilters = new c, k = t.tokenize = function(e, n) {
1272                    var i, o, r, a, s, l, c, u = V[e + " "];
1273                    if (u) return n ? 0 : u.slice(0);
1274                    for (s = e, l = [], c = x.preFilter; s;) {
1275                        i && !(o = ae.exec(s)) || (o && (s = s.slice(o[0].length) || s), l.push(r = [])), i = !1, (o = se.exec(s)) && (i = o.shift(), r.push({
1276                            value: i,
1277                            type: o[0].replace(re, " ")
1278                        }), s = s.slice(i.length));
1279                        for (a in x.filter) !(o = de[a].exec(s)) || c[a] && !(o = c[a](o)) || (i = o.shift(), r.push({
1280                            value: i,
1281                            type: a,
1282                            matches: o
1283                        }), s = s.slice(i.length));
1284                        if (!i) break
1285                    }
1286                    return n ? s.length : s ? t.error(e) : V(e, l).slice(0)
1287                }, S = t.compile = function(e, t) {
1288                    var n, i = [],
1289                        o = [],
1290                        r = B[e + " "];
1291                    if (!r) {
1292                        for (t || (t = k(e)), n = t.length; n--;) r = g(t[n]), r[I] ? i.push(r) : o.push(r);
1293                        r = B(e, v(o, i)), r.selector = e
1294                    }
1295                    return r
1296                }, T = t.select = function(e, t, n, i) {
1297                    var o, r, a, s, c, d = "function" == typeof e && e,
1298                        f = !i && k(e = d.selector || e);
1299                    if (n = n || [], 1 === f.length) {
1300                        if (r = f[0] = f[0].slice(0), r.length > 2 && "ID" === (a = r[0]).type && y.getById && 9 === t.nodeType && q && x.relative[r[1].type]) {
1301                            if (!(t = (x.find.ID(a.matches[0].replace(be, ye), t) || [])[0])) return n;
1302                            d && (t = t.parentNode), e = e.slice(r.shift().value.length)
1303                        }
1304                        for (o = de.needsContext.test(e) ? 0 : r.length; o-- && (a = r[o], !x.relative[s = a.type]);)
1305                            if ((c = x.find[s]) && (i = c(a.matches[0].replace(be, ye), ge.test(r[0].type) && l(t.parentNode) || t))) {
1306                                if (r.splice(o, 1), !(e = i.length && u(r))) return G.apply(n, i), n;
1307                                break
1308                            }
1309                    }
1310                    return (d || S(e, f))(i, t, !q, n, !t || ge.test(e) && l(t.parentNode) || t), n
1311                }, y.sortStable = I.split("").sort(W).join("") === I, y.detectDuplicates = !!D, O(), y.sortDetached = o(function(e) {
1312                    return 1 & e.compareDocumentPosition(F.createElement("div"))
1313                }), o(function(e) {
1314                    return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
1315                }) || r("type|href|height|width", function(e, t, n) {
1316                    return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
1317                }), y.attributes && o(function(e) {
1318                    return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
1319                }) || r("value", function(e, t, n) {
1320                    return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue
1321                }), o(function(e) {
1322                    return null == e.getAttribute("disabled")
1323                }) || r(Z, function(e, t, n) {
1324                    var i;
1325                    return n ? void 0 : !0 === e[t] ? t.toLowerCase() : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
1326                }), t
1327            }(r);
1328            ue.find = me, ue.expr = me.selectors, ue.expr[":"] = ue.expr.pseudos, ue.uniqueSort = ue.unique = me.uniqueSort, ue.text = me.getText, ue.isXMLDoc = me.isXML, ue.contains = me.contains;
1329            var ge = function(e, t, n) {
1330                    for (var i = [], o = void 0 !== n;
1331                        (e = e[t]) && 9 !== e.nodeType;)
1332                        if (1 === e.nodeType) {
1333                            if (o && ue(e).is(n)) break;
1334                            i.push(e)
1335                        }
1336                    return i
1337                },
1338                ve = function(e, t) {
1339                    for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
1340                    return n
1341                },
1342                be = ue.expr.match.needsContext,
1343                ye = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
1344                xe = /^.[^:#\[\.,]*$/;
1345            ue.filter = function(e, t, n) {
1346                var i = t[0];
1347                return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? ue.find.matchesSelector(i, e) ? [i] : [] : ue.find.matches(e, ue.grep(t, function(e) {
1348                    return 1 === e.nodeType
1349                }))
1350            }, ue.fn.extend({
1351                find: function(e) {
1352                    var t, n = this.length,
1353                        i = [],
1354                        o = this;
1355                    if ("string" != typeof e) return this.pushStack(ue(e).filter(function() {
1356                        for (t = 0; n > t; t++)
1357                            if (ue.contains(o[t], this)) return !0
1358                    }));
1359                    for (t = 0; n > t; t++) ue.find(e, o[t], i);
1360                    return i = this.pushStack(n > 1 ? ue.unique(i) : i), i.selector = this.selector ? this.selector + " " + e : e, i
1361                },
1362                filter: function(e) {
1363                    return this.pushStack(l(this, e || [], !1))
1364                },
1365                not: function(e) {
1366                    return this.pushStack(l(this, e || [], !0))
1367                },
1368                is: function(e) {
1369                    return !!l(this, "string" == typeof e && be.test(e) ? ue(e) : e || [], !1).length
1370                }
1371            });
1372            var we, Ce = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;
1373            (ue.fn.init = function(e, t, n) {
1374                var i, o;
1375                if (!e) return this;
1376                if (n = n || we, "string" == typeof e) {
1377                    if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : Ce.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
1378                    if (i[1]) {
1379                        if (t = t instanceof ue ? t[0] : t, ue.merge(this, ue.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : ee, !0)), ye.test(i[1]) && ue.isPlainObject(t))
1380                            for (i in t) ue.isFunction(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
1381                        return this
1382                    }
1383                    return o = ee.getElementById(i[2]), o && o.parentNode && (this.length = 1, this[0] = o), this.context = ee, this.selector = e, this
1384                }
1385                return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : ue.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(ue) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ue.makeArray(e, this))
1386            }).prototype = ue.fn, we = ue(ee);
1387            var ke = /^(?:parents|prev(?:Until|All))/,
1388                Se = {
1389                    children: !0,
1390                    contents: !0,
1391                    next: !0,
1392                    prev: !0
1393                };
1394            ue.fn.extend({
1395                has: function(e) {
1396                    var t = ue(e, this),
1397                        n = t.length;
1398                    return this.filter(function() {
1399                        for (var e = 0; n > e; e++)
1400                            if (ue.contains(this, t[e])) return !0
1401                    })
1402                },
1403                closest: function(e, t) {
1404                    for (var n, i = 0, o = this.length, r = [], a = be.test(e) || "string" != typeof e ? ue(e, t || this.context) : 0; o > i; i++)
1405                        for (n = this[i]; n && n !== t; n = n.parentNode)
1406                            if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && ue.find.matchesSelector(n, e))) {
1407                                r.push(n);
1408                                break
1409                            }
1410                    return this.pushStack(r.length > 1 ? ue.uniqueSort(r) : r)
1411                },
1412                index: function(e) {
1413                    return e ? "string" == typeof e ? oe.call(ue(e), this[0]) : oe.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
1414                },
1415                add: function(e, t) {
1416                    return this.pushStack(ue.uniqueSort(ue.merge(this.get(), ue(e, t))))
1417                },
1418                addBack: function(e) {
1419                    return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
1420                }
1421            }), ue.each({
1422                parent: function(e) {
1423                    var t = e.parentNode;
1424                    return t && 11 !== t.nodeType ? t : null
1425                },
1426                parents: function(e) {
1427                    return ge(e, "parentNode")
1428                },
1429                parentsUntil: function(e, t, n) {
1430                    return ge(e, "parentNode", n)
1431                },
1432                next: function(e) {
1433                    return c(e, "nextSibling")
1434                },
1435                prev: function(e) {
1436                    return c(e, "previousSibling")
1437                },
1438                nextAll: function(e) {
1439                    return ge(e, "nextSibling")
1440                },
1441                prevAll: function(e) {
1442                    return ge(e, "previousSibling")
1443                },
1444                nextUntil: function(e, t, n) {
1445                    return ge(e, "nextSibling", n)
1446                },
1447                prevUntil: function(e, t, n) {
1448                    return ge(e, "previousSibling", n)
1449                },
1450                siblings: function(e) {
1451                    return ve((e.parentNode || {}).firstChild, e)
1452                },
1453                children: function(e) {
1454                    return ve(e.firstChild)
1455                },
1456                contents: function(e) {
1457                    return e.contentDocument || ue.merge([], e.childNodes)
1458                }
1459            }, function(e, t) {
1460                ue.fn[e] = function(n, i) {
1461                    var o = ue.map(this, t, n);
1462                    return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (o = ue.filter(i, o)), this.length > 1 && (Se[e] || ue.uniqueSort(o), ke.test(e) && o.reverse()), this.pushStack(o)
1463                }
1464            });
1465            var Te = /\S+/g;
1466            ue.Callbacks = function(e) {
1467                e = "string" == typeof e ? u(e) : ue.extend({}, e);
1468                var t, n, i, o, r = [],
1469                    a = [],
1470                    s = -1,
1471                    l = function() {
1472                        for (o = e.once, i = t = !0; a.length; s = -1)
1473                            for (n = a.shift(); ++s < r.length;) !1 === r[s].apply(n[0], n[1]) && e.stopOnFalse && (s = r.length, n = !1);
1474                        e.memory || (n = !1), t = !1, o && (r = n ? [] : "")
1475                    },
1476                    c = {
1477                        add: function() {
1478                            return r && (n && !t && (s = r.length - 1, a.push(n)), function t(n) {
1479                                ue.each(n, function(n, i) {
1480                                    ue.isFunction(i) ? e.unique && c.has(i) || r.push(i) : i && i.length && "string" !== ue.type(i) && t(i)
1481                                })
1482                            }(arguments), n && !t && l()), this
1483                        },
1484                        remove: function() {
1485                            return ue.each(arguments, function(e, t) {
1486                                for (var n;
1487                                    (n = ue.inArray(t, r, n)) > -1;) r.splice(n, 1), s >= n && s--
1488                            }), this
1489                        },
1490                        has: function(e) {
1491                            return e ? ue.inArray(e, r) > -1 : r.length > 0
1492                        },
1493                        empty: function() {
1494                            return r && (r = []), this
1495                        },
1496                        disable: function() {
1497                            return o = a = [], r = n = "", this
1498                        },
1499                        disabled: function() {
1500                            return !r
1501                        },
1502                        lock: function() {
1503                            return o = a = [], n || (r = n = ""), this
1504                        },
1505                        locked: function() {
1506                            return !!o
1507                        },
1508                        fireWith: function(e, n) {
1509                            return o || (n = n || [], n = [e, n.slice ? n.slice() : n], a.push(n), t || l()), this
1510                        },
1511                        fire: function() {
1512                            return c.fireWith(this, arguments), this
1513                        },
1514                        fired: function() {
1515                            return !!i
1516                        }
1517                    };
1518                return c
1519            }, ue.extend({
1520                Deferred: function(e) {
1521                    var t = [
1522                            ["resolve", "done", ue.Callbacks("once memory"), "resolved"],
1523                            ["reject", "fail", ue.Callbacks("once memory"), "rejected"],
1524                            ["notify", "progress", ue.Callbacks("memory")]
1525                        ],
1526                        n = "pending",
1527                        i = {
1528                            state: function() {
1529                                return n
1530                            },
1531                            always: function() {
1532                                return o.done(arguments).fail(arguments), this
1533                            },
1534                            then: function() {
1535                                var e = arguments;
1536                                return ue.Deferred(function(n) {
1537                                    ue.each(t, function(t, r) {
1538                                        var a = ue.isFunction(e[t]) && e[t];
1539                                        o[r[1]](function() {
1540                                            var e = a && a.apply(this, arguments);
vendor: 3,872 bytes, lines 1541-1606
1541                                            e && ue.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[r[0] + "With"](this === i ? n.promise() : this, a ? [e] : arguments)
1542                                        })
1543                                    }), e = null
1544                                }).promise()
1545                            },
1546                            promise: function(e) {
1547                                return null != e ? ue.extend(e, i) : i
1548                            }
1549                        },
1550                        o = {};
1551                    return i.pipe = i.then, ue.each(t, function(e, r) {
1552                        var a = r[2],
1553                            s = r[3];
1554                        i[r[1]] = a.add, s && a.add(function() {
1555                            n = s
1556                        }, t[1 ^ e][2].disable, t[2][2].lock), o[r[0]] = function() {
1557                            return o[r[0] + "With"](this === o ? i : this, arguments), this
1558                        }, o[r[0] + "With"] = a.fireWith
1559                    }), i.promise(o), e && e.call(o, o), o
1560                },
1561                when: function(e) {
1562                    var t, n, i, o = 0,
1563                        r = te.call(arguments),
1564                        a = r.length,
1565                        s = 1 !== a || e && ue.isFunction(e.promise) ? a : 0,
1566                        l = 1 === s ? e : ue.Deferred(),
1567                        c = function(e, n, i) {
1568                            return function(o) {
1569                                n[e] = this, i[e] = arguments.length > 1 ? te.call(arguments) : o, i === t ? l.notifyWith(n, i) : --s || l.resolveWith(n, i)
1570                            }
1571                        };
1572                    if (a > 1)
1573                        for (t = new Array(a), n = new Array(a), i = new Array(a); a > o; o++) r[o] && ue.isFunction(r[o].promise) ? r[o].promise().progress(c(o, n, t)).done(c(o, i, r)).fail(l.reject) : --s;
1574                    return s || l.resolveWith(i, r), l.promise()
1575                }
1576            });
1577            var Ae;
1578            ue.fn.ready = function(e) {
1579                return ue.ready.promise().done(e), this
1580            }, ue.extend({
1581                isReady: !1,
1582                readyWait: 1,
1583                holdReady: function(e) {
1584                    e ? ue.readyWait++ : ue.ready(!0)
1585                },
1586                ready: function(e) {
1587                    (!0 === e ? --ue.readyWait : ue.isReady) || (ue.isReady = !0, !0 !== e && --ue.readyWait > 0 || (Ae.resolveWith(ee, [ue]), ue.fn.triggerHandler && (ue(ee).triggerHandler("ready"), ue(ee).off("ready"))))
1588                }
1589            }), ue.ready.promise = function(e) {
1590                return Ae || (Ae = ue.Deferred(), "complete" === ee.readyState || "loading" !== ee.readyState && !ee.documentElement.doScroll ? r.setTimeout(ue.ready) : (ee.addEventListener("DOMContentLoaded", d), r.addEventListener("load", d))), Ae.promise(e)
1591            }, ue.ready.promise();
1592            var Ee = function(e, t, n, i, o, r, a) {
1593                    var s = 0,
1594                        l = e.length,
1595                        c = null == n;
1596                    if ("object" === ue.type(n)) {
1597                        o = !0;
1598                        for (s in n) Ee(e, t, s, n[s], !0, r, a)
1599                    } else if (void 0 !== i && (o = !0, ue.isFunction(i) || (a = !0), c && (a ? (t.call(e, i), t = null) : (c = t, t = function(e, t, n) {
1600                            return c.call(ue(e), n)
1601                        })), t))
1602                        for (; l > s; s++) t(e[s], n, a ? i : i.call(e[s], s, t(e[s], n)));
1603                    return o ? e : c ? t.call(e) : l ? t(e[0], n) : r
1604                },
1605                De = function(e) {
1606                    return 1 === e.nodeType || 9 === e.nodeType || !+e.n
vendor: 14,080 bytes, lines 1606-1848
1606odeType
1607                };
1608            f.uid = 1, f.prototype = {
1609                register: function(e, t) {
1610                    var n = t || {};
1611                    return e.nodeType ? e[this.expando] = n : Object.defineProperty(e, this.expando, {
1612                        value: n,
1613                        writable: !0,
1614                        configurable: !0
1615                    }), e[this.expando]
1616                },
1617                cache: function(e) {
1618                    if (!De(e)) return {};
1619                    var t = e[this.expando];
1620                    return t || (t = {}, De(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
1621                        value: t,
1622                        configurable: !0
1623                    }))), t
1624                },
1625                set: function(e, t, n) {
1626                    var i, o = this.cache(e);
1627                    if ("string" == typeof t) o[t] = n;
1628                    else
1629                        for (i in t) o[i] = t[i];
1630                    return o
1631                },
1632                get: function(e, t) {
1633                    return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][t]
1634                },
1635                access: function(e, t, n) {
1636                    var i;
1637                    return void 0 === t || t && "string" == typeof t && void 0 === n ? (i = this.get(e, t), void 0 !== i ? i : this.get(e, ue.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
1638                },
1639                remove: function(e, t) {
1640                    var n, i, o, r = e[this.expando];
1641                    if (void 0 !== r) {
1642                        if (void 0 === t) this.register(e);
1643                        else {
1644                            ue.isArray(t) ? i = t.concat(t.map(ue.camelCase)) : (o = ue.camelCase(t), t in r ? i = [t, o] : (i = o, i = i in r ? [i] : i.match(Te) || [])), n = i.length;
1645                            for (; n--;) delete r[i[n]]
1646                        }(void 0 === t || ue.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
1647                    }
1648                },
1649                hasData: function(e) {
1650                    var t = e[this.expando];
1651                    return void 0 !== t && !ue.isEmptyObject(t)
1652                }
1653            };
1654            var Oe = new f,
1655                Fe = new f,
1656                je = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1657                qe = /[A-Z]/g;
1658            ue.extend({
1659                hasData: function(e) {
1660                    return Fe.hasData(e) || Oe.hasData(e)
1661                },
1662                data: function(e, t, n) {
1663                    return Fe.access(e, t, n)
1664                },
1665                removeData: function(e, t) {
1666                    Fe.remove(e, t)
1667                },
1668                _data: function(e, t, n) {
1669                    return Oe.access(e, t, n)
1670                },
1671                _removeData: function(e, t) {
1672                    Oe.remove(e, t)
1673                }
1674            }), ue.fn.extend({
1675                data: function(e, t) {
1676                    var n, i, o, r = this[0],
1677                        a = r && r.attributes;
1678                    if (void 0 === e) {
1679                        if (this.length && (o = Fe.get(r), 1 === r.nodeType && !Oe.get(r, "hasDataAttrs"))) {
1680                            for (n = a.length; n--;) a[n] && (i = a[n].name, 0 === i.indexOf("data-") && (i = ue.camelCase(i.slice(5)), p(r, i, o[i])));
1681                            Oe.set(r, "hasDataAttrs", !0)
1682                        }
1683                        return o
1684                    }
1685                    return "object" == typeof e ? this.each(function() {
1686                        Fe.set(this, e)
1687                    }) : Ee(this, function(t) {
1688                        var n, i;
1689                        if (r && void 0 === t) {
1690                            if (void 0 !== (n = Fe.get(r, e) || Fe.get(r, e.replace(qe, "-$&").toLowerCase()))) return n;
1691                            if (i = ue.camelCase(e), void 0 !== (n = Fe.get(r, i))) return n;
1692                            if (void 0 !== (n = p(r, i, void 0))) return n
1693                        } else i = ue.camelCase(e), this.each(function() {
1694                            var n = Fe.get(this, i);
1695                            Fe.set(this, i, t), e.indexOf("-") > -1 && void 0 !== n && Fe.set(this, e, t)
1696                        })
1697                    }, null, t, arguments.length > 1, null, !0)
1698                },
1699                removeData: function(e) {
1700                    return this.each(function() {
1701                        Fe.remove(this, e)
1702                    })
1703                }
1704            }), ue.extend({
1705                queue: function(e, t, n) {
1706                    var i;
1707                    return e ? (t = (t || "fx") + "queue", i = Oe.get(e, t), n && (!i || ue.isArray(n) ? i = Oe.access(e, t, ue.makeArray(n)) : i.push(n)), i || []) : void 0
1708                },
1709                dequeue: function(e, t) {
1710                    t = t || "fx";
1711                    var n = ue.queue(e, t),
1712                        i = n.length,
1713                        o = n.shift(),
1714                        r = ue._queueHooks(e, t),
1715                        a = function() {
1716                            ue.dequeue(e, t)
1717                        };
1718                    "inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete r.stop, o.call(e, a, r)), !i && r && r.empty.fire()
1719                },
1720                _queueHooks: function(e, t) {
1721                    var n = t + "queueHooks";
1722                    return Oe.get(e, n) || Oe.access(e, n, {
1723                        empty: ue.Callbacks("once memory").add(function() {
1724                            Oe.remove(e, [t + "queue", n])
1725                        })
1726                    })
1727                }
1728            }), ue.fn.extend({
1729                queue: function(e, t) {
1730                    var n = 2;
1731                    return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? ue.queue(this[0], e) : void 0 === t ? this : this.each(function() {
1732                        var n = ue.queue(this, e, t);
1733                        ue._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ue.dequeue(this, e)
1734                    })
1735                },
1736                dequeue: function(e) {
1737                    return this.each(function() {
1738                        ue.dequeue(this, e)
1739                    })
1740                },
1741                clearQueue: function(e) {
1742                    return this.queue(e || "fx", [])
1743                },
1744                promise: function(e, t) {
1745                    var n, i = 1,
1746                        o = ue.Deferred(),
1747                        r = this,
1748                        a = this.length,
1749                        s = function() {
1750                            --i || o.resolveWith(r, [r])
1751                        };
1752                    for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Oe.get(r[a], e + "queueHooks")) && n.empty && (i++, n.empty.add(s));
1753                    return s(), o.promise(t)
1754                }
1755            });
1756            var Le = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1757                Ne = new RegExp("^(?:([+-])=|)(" + Le + ")([a-z%]*)$", "i"),
1758                Pe = ["Top", "Right", "Bottom", "Left"],
1759                Re = function(e, t) {
1760                    return e = t || e, "none" === ue.css(e, "display") || !ue.contains(e.ownerDocument, e)
1761                },
1762                Ie = /^(?:checkbox|radio)$/i,
1763                Me = /<([\w:-]+)/,
1764                He = /^$|\/(?:java|ecma)script/i,
1765                ze = {
1766                    option: [1, "<select multiple='multiple'>", "</select>"],
1767                    thead: [1, "<table>", "</table>"],
1768                    col: [2, "<table><colgroup>", "</colgroup></table>"],
1769                    tr: [2, "<table><tbody>", "</tbody></table>"],
1770                    td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1771                    _default: [0, "", ""]
1772                };
1773            ze.optgroup = ze.option, ze.tbody = ze.tfoot = ze.colgroup = ze.caption = ze.thead, ze.th = ze.td;
1774            var $e = /<|&#?\w+;/;
1775            ! function() {
1776                var e = ee.createDocumentFragment(),
1777                    t = e.appendChild(ee.createElement("div")),
1778                    n = ee.createElement("input");
1779                n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), t.appendChild(n), le.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", le.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
1780            }();
1781            var Ve = /^key/,
1782                Be = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
1783                We = /^([^.]*)(?:\.(.+)|)/;
1784            ue.event = {
1785                global: {},
1786                add: function(e, t, n, i, o) {
1787                    var r, a, s, l, c, u, d, f, p, h, m, g = Oe.get(e);
1788                    if (g)
1789                        for (n.handler && (r = n, n = r.handler, o = r.selector), n.guid || (n.guid = ue.guid++), (l = g.events) || (l = g.events = {}), (a = g.handle) || (a = g.handle = function(t) {
1790                                return void 0 !== ue && ue.event.triggered !== t.type ? ue.event.dispatch.apply(e, arguments) : void 0
1791                            }), t = (t || "").match(Te) || [""], c = t.length; c--;) s = We.exec(t[c]) || [], p = m = s[1], h = (s[2] || "").split(".").sort(), p && (d = ue.event.special[p] || {}, p = (o ? d.delegateType : d.bindType) || p, d = ue.event.special[p] || {}, u = ue.extend({
1792                            type: p,
1793                            origType: m,
1794                            data: i,
1795                            handler: n,
1796                            guid: n.guid,
1797                            selector: o,
1798                            needsContext: o && ue.expr.match.needsContext.test(o),
1799                            namespace: h.join(".")
1800                        }, r), (f = l[p]) || (f = l[p] = [], f.delegateCount = 0, d.setup && !1 !== d.setup.call(e, i, h, a) || e.addEventListener && e.addEventListener(p, a)), d.add && (d.add.call(e, u), u.handler.guid || (u.handler.guid = n.guid)), o ? f.splice(f.delegateCount++, 0, u) : f.push(u), ue.event.global[p] = !0)
1801                },
1802                remove: function(e, t, n, i, o) {
1803                    var r, a, s, l, c, u, d, f, p, h, m, g = Oe.hasData(e) && Oe.get(e);
1804                    if (g && (l = g.events)) {
1805                        for (t = (t || "").match(Te) || [""], c = t.length; c--;)
1806                            if (s = We.exec(t[c]) || [], p = m = s[1], h = (s[2] || "").split(".").sort(), p) {
1807                                for (d = ue.event.special[p] || {}, p = (i ? d.delegateType : d.bindType) || p, f = l[p] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = r = f.length; r--;) u = f[r], !o && m !== u.origType || n && n.guid !== u.guid || s && !s.test(u.namespace) || i && i !== u.selector && ("**" !== i || !u.selector) || (f.splice(r, 1), u.selector && f.delegateCount--, d.remove && d.remove.call(e, u));
1808                                a && !f.length && (d.teardown && !1 !== d.teardown.call(e, h, g.handle) || ue.removeEvent(e, p, g.handle), delete l[p])
1809                            } else
1810                                for (p in l) ue.event.remove(e, p + t[c], n, i, !0);
1811                        ue.isEmptyObject(l) && Oe.remove(e, "handle events")
1812                    }
1813                },
1814                dispatch: function(e) {
1815                    e = ue.event.fix(e);
1816                    var t, n, i, o, r, a = [],
1817                        s = te.call(arguments),
1818                        l = (Oe.get(this, "events") || {})[e.type] || [],
1819                        c = ue.event.special[e.type] || {};
1820                    if (s[0] = e, e.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, e)) {
1821                        for (a = ue.event.handlers.call(this, e, l), t = 0;
1822                            (o = a[t++]) && !e.isPropagationStopped();)
1823                            for (e.currentTarget = o.elem, n = 0;
1824                                (r = o.handlers[n++]) && !e.isImmediatePropagationStopped();) e.rnamespace && !e.rnamespace.test(r.namespace) || (e.handleObj = r, e.data = r.data, void 0 !== (i = ((ue.event.special[r.origType] || {}).handle || r.handler).apply(o.elem, s)) && !1 === (e.result = i) && (e.preventDefault(), e.stopPropagation()));
1825                        return c.postDispatch && c.postDispatch.call(this, e), e.result
1826                    }
1827                },
1828                handlers: function(e, t) {
1829                    var n, i, o, r, a = [],
1830                        s = t.delegateCount,
1831                        l = e.target;
1832                    if (s && l.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
1833                        for (; l !== this; l = l.parentNode || this)
1834                            if (1 === l.nodeType && (!0 !== l.disabled || "click" !== e.type)) {
1835                                for (i = [], n = 0; s > n; n++) r = t[n], o = r.selector + " ", void 0 === i[o] && (i[o] = r.needsContext ? ue(o, this).index(l) > -1 : ue.find(o, this, null, [l]).length), i[o] && i.push(r);
1836                                i.length && a.push({
1837                                    elem: l,
1838                                    handlers: i
1839                                })
1840                            }
1841                    return s < t.length && a.push({
1842                        elem: this,
1843                        handlers: t.slice(s)
1844                    }), a
1845                },
1846                props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1847                fixHooks: {},
1848                keyHooks: {
vendor: 6,670 bytes, lines 1849-1968
1849                    props: "char charCode key keyCode".split(" "),
1850                    filter: function(e, t) {
1851                        return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
1852                    }
1853                },
1854                mouseHooks: {
1855                    props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1856                    filter: function(e, t) {
1857                        var n, i, o, r = t.button;
1858                        return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || ee, i = n.documentElement, o = n.body, e.pageX = t.clientX + (i && i.scrollLeft || o && o.scrollLeft || 0) - (i && i.clientLeft || o && o.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || o && o.scrollTop || 0) - (i && i.clientTop || o && o.clientTop || 0)), e.which || void 0 === r || (e.which = 1 & r ? 1 : 2 & r ? 3 : 4 & r ? 2 : 0), e
1859                    }
1860                },
1861                fix: function(e) {
1862                    if (e[ue.expando]) return e;
1863                    var t, n, i, o = e.type,
1864                        r = e,
1865                        a = this.fixHooks[o];
1866                    for (a || (this.fixHooks[o] = a = Be.test(o) ? this.mouseHooks : Ve.test(o) ? this.keyHooks : {}), i = a.props ? this.props.concat(a.props) : this.props, e = new ue.Event(r), t = i.length; t--;) n = i[t], e[n] = r[n];
1867                    return e.target || (e.target = ee), 3 === e.target.nodeType && (e.target = e.target.parentNode), a.filter ? a.filter(e, r) : e
1868                },
1869                special: {
1870                    load: {
1871                        noBubble: !0
1872                    },
1873                    focus: {
1874                        trigger: function() {
1875                            return this !== x() && this.focus ? (this.focus(), !1) : void 0
1876                        },
1877                        delegateType: "focusin"
1878                    },
1879                    blur: {
1880                        trigger: function() {
1881                            return this === x() && this.blur ? (this.blur(), !1) : void 0
1882                        },
1883                        delegateType: "focusout"
1884                    },
1885                    click: {
1886                        trigger: function() {
1887                            return "checkbox" === this.type && this.click && ue.nodeName(this, "input") ? (this.click(), !1) : void 0
1888                        },
1889                        _default: function(e) {
1890                            return ue.nodeName(e.target, "a")
1891                        }
1892                    },
1893                    beforeunload: {
1894                        postDispatch: function(e) {
1895                            void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
1896                        }
1897                    }
1898                }
1899            }, ue.removeEvent = function(e, t, n) {
1900                e.removeEventListener && e.removeEventListener(t, n)
1901            }, ue.Event = function(e, t) {
1902                return this instanceof ue.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? b : y) : this.type = e, t && ue.extend(this, t), this.timeStamp = e && e.timeStamp || ue.now(), void(this[ue.expando] = !0)) : new ue.Event(e, t)
1903            }, ue.Event.prototype = {
1904                constructor: ue.Event,
1905                isDefaultPrevented: y,
1906                isPropagationStopped: y,
1907                isImmediatePropagationStopped: y,
1908                isSimulated: !1,
1909                preventDefault: function() {
1910                    var e = this.originalEvent;
1911                    this.isDefaultPrevented = b, e && !this.isSimulated && e.preventDefault()
1912                },
1913                stopPropagation: function() {
1914                    var e = this.originalEvent;
1915                    this.isPropagationStopped = b, e && !this.isSimulated && e.stopPropagation()
1916                },
1917                stopImmediatePropagation: function() {
1918                    var e = this.originalEvent;
1919                    this.isImmediatePropagationStopped = b, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
1920                }
1921            }, ue.each({
1922                mouseenter: "mouseover",
1923                mouseleave: "mouseout",
1924                pointerenter: "pointerover",
1925                pointerleave: "pointerout"
1926            }, function(e, t) {
1927                ue.event.special[e] = {
1928                    delegateType: t,
1929                    bindType: t,
1930                    handle: function(e) {
1931                        var n, i = this,
1932                            o = e.relatedTarget,
1933                            r = e.handleObj;
1934                        return o && (o === i || ue.contains(i, o)) || (e.type = r.origType, n = r.handler.apply(this, arguments), e.type = t), n
1935                    }
1936                }
1937            }), ue.fn.extend({
1938                on: function(e, t, n, i) {
1939                    return w(this, e, t, n, i)
1940                },
1941                one: function(e, t, n, i) {
1942                    return w(this, e, t, n, i, 1)
1943                },
1944                off: function(e, t, n) {
1945                    var i, o;
1946                    if (e && e.preventDefault && e.handleObj) return i = e.handleObj, ue(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
1947                    if ("object" == typeof e) {
1948                        for (o in e) this.off(o, t, e[o]);
1949                        return this
1950                    }
1951                    return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = y), this.each(function() {
1952                        ue.event.remove(this, e, n, t)
1953                    })
1954                }
1955            });
1956            var Ue = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
1957                _e = /<script|<style|<link/i,
1958                Xe = /checked\s*(?:[^=]|=\s*.checked.)/i,
1959                Qe = /^true\/(.*)/,
1960                Ye = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
1961            ue.extend({
1962                htmlPrefilter: function(e) {
1963                    return e.replace(Ue, "<$1></$2>")
1964                },
1965                clone: function(e, t, n) {
1966                    var i, o, r, a, s = e.cloneNode(!0),
1967                        l = ue.contains(e.ownerDocument, e);
1968                    if (!(le.noCloneChecked || 1 !== e.nodeType && 11 !== e.
vendor: 13,979 bytes, lines 1968-2236
1968nodeType || ue.isXMLDoc(e)))
1969                        for (a = m(s), r = m(e), i = 0, o = r.length; o > i; i++) A(r[i], a[i]);
1970                    if (t)
1971                        if (n)
1972                            for (r = r || m(e), a = a || m(s), i = 0, o = r.length; o > i; i++) T(r[i], a[i]);
1973                        else T(e, s);
1974                    return a = m(s, "script"), a.length > 0 && g(a, !l && m(e, "script")), s
1975                },
1976                cleanData: function(e) {
1977                    for (var t, n, i, o = ue.event.special, r = 0; void 0 !== (n = e[r]); r++)
1978                        if (De(n)) {
1979                            if (t = n[Oe.expando]) {
1980                                if (t.events)
1981                                    for (i in t.events) o[i] ? ue.event.remove(n, i) : ue.removeEvent(n, i, t.handle);
1982                                n[Oe.expando] = void 0
1983                            }
1984                            n[Fe.expando] && (n[Fe.expando] = void 0)
1985                        }
1986                }
1987            }), ue.fn.extend({
1988                domManip: E,
1989                detach: function(e) {
1990                    return D(this, e, !0)
1991                },
1992                remove: function(e) {
1993                    return D(this, e)
1994                },
1995                text: function(e) {
1996                    return Ee(this, function(e) {
1997                        return void 0 === e ? ue.text(this) : this.empty().each(function() {
1998                            1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
1999                        })
2000                    }, null, e, arguments.length)
2001                },
2002                append: function() {
2003                    return E(this, arguments, function(e) {
2004                        if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
2005                            C(this, e).appendChild(e)
2006                        }
2007                    })
2008                },
2009                prepend: function() {
2010                    return E(this, arguments, function(e) {
2011                        if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
2012                            var t = C(this, e);
2013                            t.insertBefore(e, t.firstChild)
2014                        }
2015                    })
2016                },
2017                before: function() {
2018                    return E(this, arguments, function(e) {
2019                        this.parentNode && this.parentNode.insertBefore(e, this)
2020                    })
2021                },
2022                after: function() {
2023                    return E(this, arguments, function(e) {
2024                        this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
2025                    })
2026                },
2027                empty: function() {
2028                    for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (ue.cleanData(m(e, !1)), e.textContent = "");
2029                    return this
2030                },
2031                clone: function(e, t) {
2032                    return e = null != e && e, t = null == t ? e : t, this.map(function() {
2033                        return ue.clone(this, e, t)
2034                    })
2035                },
2036                html: function(e) {
2037                    return Ee(this, function(e) {
2038                        var t = this[0] || {},
2039                            n = 0,
2040                            i = this.length;
2041                        if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
2042                        if ("string" == typeof e && !_e.test(e) && !ze[(Me.exec(e) || ["", ""])[1].toLowerCase()]) {
2043                            e = ue.htmlPrefilter(e);
2044                            try {
2045                                for (; i > n; n++) t = this[n] || {}, 1 === t.nodeType && (ue.cleanData(m(t, !1)), t.innerHTML = e);
2046                                t = 0
2047                            } catch (e) {}
2048                        }
2049                        t && this.empty().append(e)
2050                    }, null, e, arguments.length)
2051                },
2052                replaceWith: function() {
2053                    var e = [];
2054                    return E(this, arguments, function(t) {
2055                        var n = this.parentNode;
2056                        ue.inArray(this, e) < 0 && (ue.cleanData(m(this)), n && n.replaceChild(t, this))
2057                    }, e)
2058                }
2059            }), ue.each({
2060                appendTo: "append",
2061                prependTo: "prepend",
2062                insertBefore: "before",
2063                insertAfter: "after",
2064                replaceAll: "replaceWith"
2065            }, function(e, t) {
2066                ue.fn[e] = function(e) {
2067                    for (var n, i = [], o = ue(e), r = o.length - 1, a = 0; r >= a; a++) n = a === r ? this : this.clone(!0), ue(o[a])[t](n), ie.apply(i, n.get());
2068                    return this.pushStack(i)
2069                }
2070            });
2071            var Ge, Ke = {
2072                    HTML: "block",
2073                    BODY: "block"
2074                },
2075                Je = /^margin/,
2076                Ze = new RegExp("^(" + Le + ")(?!px)[a-z%]+$", "i"),
2077                et = function(e) {
2078                    var t = e.ownerDocument.defaultView;
2079                    return t && t.opener || (t = r), t.getComputedStyle(e)
2080                },
2081                tt = function(e, t, n, i) {
2082                    var o, r, a = {};
2083                    for (r in t) a[r] = e.style[r], e.style[r] = t[r];
2084                    o = n.apply(e, i || []);
2085                    for (r in t) e.style[r] = a[r];
2086                    return o
2087                },
2088                nt = ee.documentElement;
2089            ! function() {
2090                function e() {
2091                    s.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", s.innerHTML = "", nt.appendChild(a);
2092                    var e = r.getComputedStyle(s);
2093                    t = "1%" !== e.top, o = "2px" === e.marginLeft, n = "4px" === e.width, s.style.marginRight = "50%", i = "4px" === e.marginRight, nt.removeChild(a)
2094                }
2095                var t, n, i, o, a = ee.createElement("div"),
2096                    s = ee.createElement("div");
2097                s.style && (s.style.backgroundClip = "content-box", s.cloneNode(!0).style.backgroundClip = "", le.clearCloneStyle = "content-box" === s.style.backgroundClip, a.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", a.appendChild(s), ue.extend(le, {
2098                    pixelPosition: function() {
2099                        return e(), t
2100                    },
2101                    boxSizingReliable: function() {
2102                        return null == n && e(), n
2103                    },
2104                    pixelMarginRight: function() {
2105                        return null == n && e(), i
2106                    },
2107                    reliableMarginLeft: function() {
2108                        return null == n && e(), o
2109                    },
2110                    reliableMarginRight: function() {
2111                        var e, t = s.appendChild(ee.createElement("div"));
2112                        return t.style.cssText = s.style.cssText = "-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", t.style.marginRight = t.style.width = "0", s.style.width = "1px", nt.appendChild(a), e = !parseFloat(r.getComputedStyle(t).marginRight), nt.removeChild(a), s.removeChild(t), e
2113                    }
2114                }))
2115            }();
2116            var it = /^(none|table(?!-c[ea]).+)/,
2117                ot = {
2118                    position: "absolute",
2119                    visibility: "hidden",
2120                    display: "block"
2121                },
2122                rt = {
2123                    letterSpacing: "0",
2124                    fontWeight: "400"
2125                },
2126                at = ["Webkit", "O", "Moz", "ms"],
2127                st = ee.createElement("div").style;
2128            ue.extend({
2129                cssHooks: {
2130                    opacity: {
2131                        get: function(e, t) {
2132                            if (t) {
2133                                var n = j(e, "opacity");
2134                                return "" === n ? "1" : n
2135                            }
2136                        }
2137                    }
2138                },
2139                cssNumber: {
2140                    animationIterationCount: !0,
2141                    columnCount: !0,
2142                    fillOpacity: !0,
2143                    flexGrow: !0,
2144                    flexShrink: !0,
2145                    fontWeight: !0,
2146                    lineHeight: !0,
2147                    opacity: !0,
2148                    order: !0,
2149                    orphans: !0,
2150                    widows: !0,
2151                    zIndex: !0,
2152                    zoom: !0
2153                },
2154                cssProps: {
2155                    float: "cssFloat"
2156                },
2157                style: function(e, t, n, i) {
2158                    if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
2159                        var o, r, a, s = ue.camelCase(t),
2160                            l = e.style;
2161                        return t = ue.cssProps[s] || (ue.cssProps[s] = L(s) || s), a = ue.cssHooks[t] || ue.cssHooks[s], void 0 === n ? a && "get" in a && void 0 !== (o = a.get(e, !1, i)) ? o : l[t] : (r = typeof n, "string" === r && (o = Ne.exec(n)) && o[1] && (n = h(e, t, o), r = "number"), void(null != n && n === n && ("number" === r && (n += o && o[3] || (ue.cssNumber[s] ? "" : "px")), le.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, i)) || (l[t] = n))))
2162                    }
2163                },
2164                css: function(e, t, n, i) {
2165                    var o, r, a, s = ue.camelCase(t);
2166                    return t = ue.cssProps[s] || (ue.cssProps[s] = L(s) || s), a = ue.cssHooks[t] || ue.cssHooks[s], a && "get" in a && (o = a.get(e, !0, n)), void 0 === o && (o = j(e, t, i)), "normal" === o && t in rt && (o = rt[t]), "" === n || n ? (r = parseFloat(o), !0 === n || isFinite(r) ? r || 0 : o) : o
2167                }
2168            }), ue.each(["height", "width"], function(e, t) {
2169                ue.cssHooks[t] = {
2170                    get: function(e, n, i) {
2171                        return n ? it.test(ue.css(e, "display")) && 0 === e.offsetWidth ? tt(e, ot, function() {
2172                            return R(e, t, i)
2173                        }) : R(e, t, i) : void 0
2174                    },
2175                    set: function(e, n, i) {
2176                        var o, r = i && et(e),
2177                            a = i && P(e, t, i, "border-box" === ue.css(e, "boxSizing", !1, r), r);
2178                        return a && (o = Ne.exec(n)) && "px" !== (o[3] || "px") && (e.style[t] = n, n = ue.css(e, t)), N(e, n, a)
2179                    }
2180                }
2181            }), ue.cssHooks.marginLeft = q(le.reliableMarginLeft, function(e, t) {
2182                return t ? (parseFloat(j(e, "marginLeft")) || e.getBoundingClientRect().left - tt(e, {
2183                    marginLeft: 0
2184                }, function() {
2185                    return e.getBoundingClientRect().left
2186                })) + "px" : void 0
2187            }), ue.cssHooks.marginRight = q(le.reliableMarginRight, function(e, t) {
2188                return t ? tt(e, {
2189                    display: "inline-block"
2190                }, j, [e, "marginRight"]) : void 0
2191            }), ue.each({
2192                margin: "",
2193                padding: "",
2194                border: "Width"
2195            }, function(e, t) {
2196                ue.cssHooks[e + t] = {
2197                    expand: function(n) {
2198                        for (var i = 0, o = {}, r = "string" == typeof n ? n.split(" ") : [n]; 4 > i; i++) o[e + Pe[i] + t] = r[i] || r[i - 2] || r[0];
2199                        return o
2200                    }
2201                }, Je.test(e) || (ue.cssHooks[e + t].set = N)
2202            }), ue.fn.extend({
2203                css: function(e, t) {
2204                    return Ee(this, function(e, t, n) {
2205                        var i, o, r = {},
2206                            a = 0;
2207                        if (ue.isArray(t)) {
2208                            for (i = et(e), o = t.length; o > a; a++) r[t[a]] = ue.css(e, t[a], !1, i);
2209                            return r
2210                        }
2211                        return void 0 !== n ? ue.style(e, t, n) : ue.css(e, t)
2212                    }, e, t, arguments.length > 1)
2213                },
2214                show: function() {
2215                    return I(this, !0)
2216                },
2217                hide: function() {
2218                    return I(this)
2219                },
2220                toggle: function(e) {
2221                    return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
2222                        Re(this) ? ue(this).show() : ue(this).hide()
2223                    })
2224                }
2225            }), ue.Tween = M, M.prototype = {
2226                constructor: M,
2227                init: function(e, t, n, i, o, r) {
2228                    this.elem = e, this.prop = n, this.easing = o || ue.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = r || (ue.cssNumber[n] ? "" : "px")
2229                },
2230                cur: function() {
2231                    var e = M.propHooks[this.prop];
2232                    return e && e.get ? e.get(this) : M.propHooks._default.get(this)
2233                },
2234                run: function(e) {
2235                    var t, n = M.propHooks[this.prop];
2236                    return this.options.duration ? this.pos = t = ue.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end 
vendor: 4,181 bytes, lines 2236-2308
2236- this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : M.propHooks._default.set(this), this
2237                }
2238            }, M.prototype.init.prototype = M.prototype, M.propHooks = {
2239                _default: {
2240                    get: function(e) {
2241                        var t;
2242                        return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = ue.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0)
2243                    },
2244                    set: function(e) {
2245                        ue.fx.step[e.prop] ? ue.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[ue.cssProps[e.prop]] && !ue.cssHooks[e.prop] ? e.elem[e.prop] = e.now : ue.style(e.elem, e.prop, e.now + e.unit)
2246                    }
2247                }
2248            }, M.propHooks.scrollTop = M.propHooks.scrollLeft = {
2249                set: function(e) {
2250                    e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
2251                }
2252            }, ue.easing = {
2253                linear: function(e) {
2254                    return e
2255                },
2256                swing: function(e) {
2257                    return .5 - Math.cos(e * Math.PI) / 2
2258                },
2259                _default: "swing"
2260            }, ue.fx = M.prototype.init, ue.fx.step = {};
2261            var lt, ct, ut = /^(?:toggle|show|hide)$/,
2262                dt = /queueHooks$/;
2263            ue.Animation = ue.extend(W, {
2264                    tweeners: {
2265                        "*": [function(e, t) {
2266                            var n = this.createTween(e, t);
2267                            return h(n.elem, e, Ne.exec(t), n), n
2268                        }]
2269                    },
2270                    tweener: function(e, t) {
2271                        ue.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(Te);
2272                        for (var n, i = 0, o = e.length; o > i; i++) n = e[i], W.tweeners[n] = W.tweeners[n] || [], W.tweeners[n].unshift(t)
2273                    },
2274                    prefilters: [V],
2275                    prefilter: function(e, t) {
2276                        t ? W.prefilters.unshift(e) : W.prefilters.push(e)
2277                    }
2278                }), ue.speed = function(e, t, n) {
2279                    var i = e && "object" == typeof e ? ue.extend({}, e) : {
2280                        complete: n || !n && t || ue.isFunction(e) && e,
2281                        duration: e,
2282                        easing: n && t || t && !ue.isFunction(t) && t
2283                    };
2284                    return i.duration = ue.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in ue.fx.speeds ? ue.fx.speeds[i.duration] : ue.fx.speeds._default, null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function() {
2285                        ue.isFunction(i.old) && i.old.call(this), i.queue && ue.dequeue(this, i.queue)
2286                    }, i
2287                }, ue.fn.extend({
2288                    fadeTo: function(e, t, n, i) {
2289                        return this.filter(Re).css("opacity", 0).show().end().animate({
2290                            opacity: t
2291                        }, e, n, i)
2292                    },
2293                    animate: function(e, t, n, i) {
2294                        var o = ue.isEmptyObject(e),
2295                            r = ue.speed(t, n, i),
2296                            a = function() {
2297                                var t = W(this, ue.extend({}, e), r);
2298                                (o || Oe.get(this, "finish")) && t.stop(!0)
2299                            };
2300                        return a.finish = a, o || !1 === r.queue ? this.each(a) : this.queue(r.queue, a)
2301                    },
2302                    stop: function(e, t, n) {
2303                        var i = function(e) {
2304                            var t = e.stop;
2305                            delete e.stop, t(n)
2306                        };
2307                        return "string" != typeof e && (n = t, t = e, e = void 0), t && !1 !== e && this.queue(e || "fx", []), this.each(function() {
2308                            var t = !0,
vendor: 25,100 bytes, lines 2309-2746
2309                                o = null != e && e + "queueHooks",
2310                                r = ue.timers,
2311                                a = Oe.get(this);
2312                            if (o) a[o] && a[o].stop && i(a[o]);
2313                            else
2314                                for (o in a) a[o] && a[o].stop && dt.test(o) && i(a[o]);
2315                            for (o = r.length; o--;) r[o].elem !== this || null != e && r[o].queue !== e || (r[o].anim.stop(n), t = !1, r.splice(o, 1));
2316                            !t && n || ue.dequeue(this, e)
2317                        })
2318                    },
2319                    finish: function(e) {
2320                        return !1 !== e && (e = e || "fx"), this.each(function() {
2321                            var t, n = Oe.get(this),
2322                                i = n[e + "queue"],
2323                                o = n[e + "queueHooks"],
2324                                r = ue.timers,
2325                                a = i ? i.length : 0;
2326                            for (n.finish = !0, ue.queue(this, e, []), o && o.stop && o.stop.call(this, !0), t = r.length; t--;) r[t].elem === this && r[t].queue === e && (r[t].anim.stop(!0), r.splice(t, 1));
2327                            for (t = 0; a > t; t++) i[t] && i[t].finish && i[t].finish.call(this);
2328                            delete n.finish
2329                        })
2330                    }
2331                }), ue.each(["toggle", "show", "hide"], function(e, t) {
2332                    var n = ue.fn[t];
2333                    ue.fn[t] = function(e, i, o) {
2334                        return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(z(t, !0), e, i, o)
2335                    }
2336                }), ue.each({
2337                    slideDown: z("show"),
2338                    slideUp: z("hide"),
2339                    slideToggle: z("toggle"),
2340                    fadeIn: {
2341                        opacity: "show"
2342                    },
2343                    fadeOut: {
2344                        opacity: "hide"
2345                    },
2346                    fadeToggle: {
2347                        opacity: "toggle"
2348                    }
2349                }, function(e, t) {
2350                    ue.fn[e] = function(e, n, i) {
2351                        return this.animate(t, e, n, i)
2352                    }
2353                }), ue.timers = [], ue.fx.tick = function() {
2354                    var e, t = 0,
2355                        n = ue.timers;
2356                    for (lt = ue.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
2357                    n.length || ue.fx.stop(), lt = void 0
2358                }, ue.fx.timer = function(e) {
2359                    ue.timers.push(e), e() ? ue.fx.start() : ue.timers.pop()
2360                }, ue.fx.interval = 13, ue.fx.start = function() {
2361                    ct || (ct = r.setInterval(ue.fx.tick, ue.fx.interval))
2362                }, ue.fx.stop = function() {
2363                    r.clearInterval(ct), ct = null
2364                }, ue.fx.speeds = {
2365                    slow: 600,
2366                    fast: 200,
2367                    _default: 400
2368                }, ue.fn.delay = function(e, t) {
2369                    return e = ue.fx ? ue.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) {
2370                        var i = r.setTimeout(t, e);
2371                        n.stop = function() {
2372                            r.clearTimeout(i)
2373                        }
2374                    })
2375                },
2376                function() {
2377                    var e = ee.createElement("input"),
2378                        t = ee.createElement("select"),
2379                        n = t.appendChild(ee.createElement("option"));
2380                    e.type = "checkbox", le.checkOn = "" !== e.value, le.optSelected = n.selected, t.disabled = !0, le.optDisabled = !n.disabled, e = ee.createElement("input"), e.value = "t", e.type = "radio", le.radioValue = "t" === e.value
2381                }();
2382            var ft, pt = ue.expr.attrHandle;
2383            ue.fn.extend({
2384                attr: function(e, t) {
2385                    return Ee(this, ue.attr, e, t, arguments.length > 1)
2386                },
2387                removeAttr: function(e) {
2388                    return this.each(function() {
2389                        ue.removeAttr(this, e)
2390                    })
2391                }
2392            }), ue.extend({
2393                attr: function(e, t, n) {
2394                    var i, o, r = e.nodeType;
2395                    if (3 !== r && 8 !== r && 2 !== r) return void 0 === e.getAttribute ? ue.prop(e, t, n) : (1 === r && ue.isXMLDoc(e) || (t = t.toLowerCase(), o = ue.attrHooks[t] || (ue.expr.match.bool.test(t) ? ft : void 0)), void 0 !== n ? null === n ? void ue.removeAttr(e, t) : o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : o && "get" in o && null !== (i = o.get(e, t)) ? i : (i = ue.find.attr(e, t), null == i ? void 0 : i))
2396                },
2397                attrHooks: {
2398                    type: {
2399                        set: function(e, t) {
2400                            if (!le.radioValue && "radio" === t && ue.nodeName(e, "input")) {
2401                                var n = e.value;
2402                                return e.setAttribute("type", t), n && (e.value = n), t
2403                            }
2404                        }
2405                    }
2406                },
2407                removeAttr: function(e, t) {
2408                    var n, i, o = 0,
2409                        r = t && t.match(Te);
2410                    if (r && 1 === e.nodeType)
2411                        for (; n = r[o++];) i = ue.propFix[n] || n, ue.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n)
2412                }
2413            }), ft = {
2414                set: function(e, t, n) {
2415                    return !1 === t ? ue.removeAttr(e, n) : e.setAttribute(n, n), n
2416                }
2417            }, ue.each(ue.expr.match.bool.source.match(/\w+/g), function(e, t) {
2418                var n = pt[t] || ue.find.attr;
2419                pt[t] = function(e, t, i) {
2420                    var o, r;
2421                    return i || (r = pt[t], pt[t] = o, o = null != n(e, t, i) ? t.toLowerCase() : null, pt[t] = r), o
2422                }
2423            });
2424            var ht = /^(?:input|select|textarea|button)$/i,
2425                mt = /^(?:a|area)$/i;
2426            ue.fn.extend({
2427                prop: function(e, t) {
2428                    return Ee(this, ue.prop, e, t, arguments.length > 1)
2429                },
2430                removeProp: function(e) {
2431                    return this.each(function() {
2432                        delete this[ue.propFix[e] || e]
2433                    })
2434                }
2435            }), ue.extend({
2436                prop: function(e, t, n) {
2437                    var i, o, r = e.nodeType;
2438                    if (3 !== r && 8 !== r && 2 !== r) return 1 === r && ue.isXMLDoc(e) || (t = ue.propFix[t] || t, o = ue.propHooks[t]), void 0 !== n ? o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : e[t] = n : o && "get" in o && null !== (i = o.get(e, t)) ? i : e[t]
2439                },
2440                propHooks: {
2441                    tabIndex: {
2442                        get: function(e) {
2443                            var t = ue.find.attr(e, "tabindex");
2444                            return t ? parseInt(t, 10) : ht.test(e.nodeName) || mt.test(e.nodeName) && e.href ? 0 : -1
2445                        }
2446                    }
2447                },
2448                propFix: {
2449                    for: "htmlFor",
2450                    class: "className"
2451                }
2452            }), le.optSelected || (ue.propHooks.selected = {
2453                get: function(e) {
2454                    var t = e.parentNode;
2455                    return t && t.parentNode && t.parentNode.selectedIndex, null
2456                },
2457                set: function(e) {
2458                    var t = e.parentNode;
2459                    t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
2460                }
2461            }), ue.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
2462                ue.propFix[this.toLowerCase()] = this
2463            });
2464            var gt = /[\t\r\n\f]/g;
2465            ue.fn.extend({
2466                addClass: function(e) {
2467                    var t, n, i, o, r, a, s, l = 0;
2468                    if (ue.isFunction(e)) return this.each(function(t) {
2469                        ue(this).addClass(e.call(this, t, U(this)))
2470                    });
2471                    if ("string" == typeof e && e)
2472                        for (t = e.match(Te) || []; n = this[l++];)
2473                            if (o = U(n), i = 1 === n.nodeType && (" " + o + " ").replace(gt, " ")) {
2474                                for (a = 0; r = t[a++];) i.indexOf(" " + r + " ") < 0 && (i += r + " ");
2475                                s = ue.trim(i), o !== s && n.setAttribute("class", s)
2476                            }
2477                    return this
2478                },
2479                removeClass: function(e) {
2480                    var t, n, i, o, r, a, s, l = 0;
2481                    if (ue.isFunction(e)) return this.each(function(t) {
2482                        ue(this).removeClass(e.call(this, t, U(this)))
2483                    });
2484                    if (!arguments.length) return this.attr("class", "");
2485                    if ("string" == typeof e && e)
2486                        for (t = e.match(Te) || []; n = this[l++];)
2487                            if (o = U(n), i = 1 === n.nodeType && (" " + o + " ").replace(gt, " ")) {
2488                                for (a = 0; r = t[a++];)
2489                                    for (; i.indexOf(" " + r + " ") > -1;) i = i.replace(" " + r + " ", " ");
2490                                s = ue.trim(i), o !== s && n.setAttribute("class", s)
2491                            }
2492                    return this
2493                },
2494                toggleClass: function(e, t) {
2495                    var n = typeof e;
2496                    return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : ue.isFunction(e) ? this.each(function(n) {
2497                        ue(this).toggleClass(e.call(this, n, U(this), t), t)
2498                    }) : this.each(function() {
2499                        var t, i, o, r;
2500                        if ("string" === n)
2501                            for (i = 0, o = ue(this), r = e.match(Te) || []; t = r[i++];) o.hasClass(t) ? o.removeClass(t) : o.addClass(t);
2502                        else void 0 !== e && "boolean" !== n || (t = U(this), t && Oe.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : Oe.get(this, "__className__") || ""))
2503                    })
2504                },
2505                hasClass: function(e) {
2506                    var t, n, i = 0;
2507                    for (t = " " + e + " "; n = this[i++];)
2508                        if (1 === n.nodeType && (" " + U(n) + " ").replace(gt, " ").indexOf(t) > -1) return !0;
2509                    return !1
2510                }
2511            });
2512            var vt = /\r/g,
2513                bt = /[\x20\t\r\n\f]+/g;
2514            ue.fn.extend({
2515                val: function(e) {
2516                    var t, n, i, o = this[0];
2517                    return arguments.length ? (i = ue.isFunction(e), this.each(function(n) {
2518                        var o;
2519                        1 === this.nodeType && (o = i ? e.call(this, n, ue(this).val()) : e, null == o ? o = "" : "number" == typeof o ? o += "" : ue.isArray(o) && (o = ue.map(o, function(e) {
2520                            return null == e ? "" : e + ""
2521                        })), (t = ue.valHooks[this.type] || ue.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, o, "value") || (this.value = o))
2522                    })) : o ? (t = ue.valHooks[o.type] || ue.valHooks[o.nodeName.toLowerCase()], t && "get" in t && void 0 !== (n = t.get(o, "value")) ? n : (n = o.value, "string" == typeof n ? n.replace(vt, "") : null == n ? "" : n)) : void 0
2523                }
2524            }), ue.extend({
2525                valHooks: {
2526                    option: {
2527                        get: function(e) {
2528                            var t = ue.find.attr(e, "value");
2529                            return null != t ? t : ue.trim(ue.text(e)).replace(bt, " ")
2530                        }
2531                    },
2532                    select: {
2533                        get: function(e) {
2534                            for (var t, n, i = e.options, o = e.selectedIndex, r = "select-one" === e.type || 0 > o, a = r ? null : [], s = r ? o + 1 : i.length, l = 0 > o ? s : r ? o : 0; s > l; l++)
2535                                if (n = i[l], (n.selected || l === o) && (le.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !ue.nodeName(n.parentNode, "optgroup"))) {
2536                                    if (t = ue(n).val(), r) return t;
2537                                    a.push(t)
2538                                }
2539                            return a
2540                        },
2541                        set: function(e, t) {
2542                            for (var n, i, o = e.options, r = ue.makeArray(t), a = o.length; a--;) i = o[a], (i.selected = ue.inArray(ue.valHooks.option.get(i), r) > -1) && (n = !0);
2543                            return n || (e.selectedIndex = -1), r
2544                        }
2545                    }
2546                }
2547            }), ue.each(["radio", "checkbox"], function() {
2548                ue.valHooks[this] = {
2549                    set: function(e, t) {
2550                        return ue.isArray(t) ? e.checked = ue.inArray(ue(e).val(), t) > -1 : void 0
2551                    }
2552                }, le.checkOn || (ue.valHooks[this].get = function(e) {
2553                    return null === e.getAttribute("value") ? "on" : e.value
2554                })
2555            });
2556            var yt = /^(?:focusinfocus|focusoutblur)$/;
2557            ue.extend(ue.event, {
2558                trigger: function(e, t, n, i) {
2559                    var o, a, s, l, c, u, d, f = [n || ee],
2560                        p = se.call(e, "type") ? e.type : e,
2561                        h = se.call(e, "namespace") ? e.namespace.split(".") : [];
2562                    if (a = s = n = n || ee, 3 !== n.nodeType && 8 !== n.nodeType && !yt.test(p + ue.event.triggered) && (p.indexOf(".") > -1 && (h = p.split("."), p = h.shift(), h.sort()), c = p.indexOf(":") < 0 && "on" + p, e = e[ue.expando] ? e : new ue.Event(p, "object" == typeof e && e), e.isTrigger = i ? 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] : ue.makeArray(t, [e]), d = ue.event.special[p] || {}, i || !d.trigger || !1 !== d.trigger.apply(n, t))) {
2563                        if (!i && !d.noBubble && !ue.isWindow(n)) {
2564                            for (l = d.delegateType || p, yt.test(l + p) || (a = a.parentNode); a; a = a.parentNode) f.push(a), s = a;
2565                            s === (n.ownerDocument || ee) && f.push(s.defaultView || s.parentWindow || r)
2566                        }
2567                        for (o = 0;
2568                            (a = f[o++]) && !e.isPropagationStopped();) e.type = o > 1 ? l : d.bindType || p, u = (Oe.get(a, "events") || {})[e.type] && Oe.get(a, "handle"), u && u.apply(a, t), (u = c && a[c]) && u.apply && De(a) && (e.result = u.apply(a, t), !1 === e.result && e.preventDefault());
2569                        return e.type = p, i || e.isDefaultPrevented() || d._default && !1 !== d._default.apply(f.pop(), t) || !De(n) || c && ue.isFunction(n[p]) && !ue.isWindow(n) && (s = n[c], s && (n[c] = null), ue.event.triggered = p, n[p](), ue.event.triggered = void 0, s && (n[c] = s)), e.result
2570                    }
2571                },
2572                simulate: function(e, t, n) {
2573                    var i = ue.extend(new ue.Event, n, {
2574                        type: e,
2575                        isSimulated: !0
2576                    });
2577                    ue.event.trigger(i, null, t)
2578                }
2579            }), ue.fn.extend({
2580                trigger: function(e, t) {
2581                    return this.each(function() {
2582                        ue.event.trigger(e, t, this)
2583                    })
2584                },
2585                triggerHandler: function(e, t) {
2586                    var n = this[0];
2587                    return n ? ue.event.trigger(e, t, n, !0) : void 0
2588                }
2589            }), ue.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
2590                ue.fn[t] = function(e, n) {
2591                    return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
2592                }
2593            }), ue.fn.extend({
2594                hover: function(e, t) {
2595                    return this.mouseenter(e).mouseleave(t || e)
2596                }
2597            }), le.focusin = "onfocusin" in r, le.focusin || ue.each({
2598                focus: "focusin",
2599                blur: "focusout"
2600            }, function(e, t) {
2601                var n = function(e) {
2602                    ue.event.simulate(t, e.target, ue.event.fix(e))
2603                };
2604                ue.event.special[t] = {
2605                    setup: function() {
2606                        var i = this.ownerDocument || this,
2607                            o = Oe.access(i, t);
2608                        o || i.addEventListener(e, n, !0), Oe.access(i, t, (o || 0) + 1)
2609                    },
2610                    teardown: function() {
2611                        var i = this.ownerDocument || this,
2612                            o = Oe.access(i, t) - 1;
2613                        o ? Oe.access(i, t, o) : (i.removeEventListener(e, n, !0), Oe.remove(i, t))
2614                    }
2615                }
2616            });
2617            var xt = r.location,
2618                wt = ue.now(),
2619                Ct = /\?/;
2620            ue.parseJSON = function(e) {
2621                return JSON.parse(e + "")
2622            }, ue.parseXML = function(e) {
2623                var t;
2624                if (!e || "string" != typeof e) return null;
2625                try {
2626                    t = (new r.DOMParser).parseFromString(e, "text/xml")
2627                } catch (e) {
2628                    t = void 0
2629                }
2630                return t && !t.getElementsByTagName("parsererror").length || ue.error("Invalid XML: " + e), t
2631            };
2632            var kt = /#.*$/,
2633                St = /([?&])_=[^&]*/,
2634                Tt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
2635                At = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
2636                Et = /^(?:GET|HEAD)$/,
2637                Dt = /^\/\//,
2638                Ot = {},
2639                Ft = {},
2640                jt = "*/".concat("*"),
2641                qt = ee.createElement("a");
2642            qt.href = xt.href, ue.extend({
2643                active: 0,
2644                lastModified: {},
2645                etag: {},
2646                ajaxSettings: {
2647                    url: xt.href,
2648                    type: "GET",
2649                    isLocal: At.test(xt.protocol),
2650                    global: !0,
2651                    processData: !0,
2652                    async: !0,
2653                    contentType: "application/x-www-form-urlencoded; charset=UTF-8",
2654                    accepts: {
2655                        "*": jt,
2656                        text: "text/plain",
2657                        html: "text/html",
2658                        xml: "application/xml, text/xml",
2659                        json: "application/json, text/javascript"
2660                    },
2661                    contents: {
2662                        xml: /\bxml\b/,
2663                        html: /\bhtml/,
2664                        json: /\bjson\b/
2665                    },
2666                    responseFields: {
2667                        xml: "responseXML",
2668                        text: "responseText",
2669                        json: "responseJSON"
2670                    },
2671                    converters: {
2672                        "* text": String,
2673                        "text html": !0,
2674                        "text json": ue.parseJSON,
2675                        "text xml": ue.parseXML
2676                    },
2677                    flatOptions: {
2678                        url: !0,
2679                        context: !0
2680                    }
2681                },
2682                ajaxSetup: function(e, t) {
2683                    return t ? Q(Q(e, ue.ajaxSettings), t) : Q(ue.ajaxSettings, e)
2684                },
2685                ajaxPrefilter: _(Ot),
2686                ajaxTransport: _(Ft),
2687                ajax: function(e, t) {
2688                    function n(e, t, n, s) {
2689                        var c, d, b, y, w, k = t;
2690                        2 !== x && (x = 2, l && r.clearTimeout(l), i = void 0, a = s || "", C.readyState = e > 0 ? 4 : 0, c = e >= 200 && 300 > e || 304 === e, n && (y = Y(f, C, n)), y = G(f, y, C, c), c ? (f.ifModified && (w = C.getResponseHeader("Last-Modified"), w && (ue.lastModified[o] = w), (w = C.getResponseHeader("etag")) && (ue.etag[o] = w)), 204 === e || "HEAD" === f.type ? k = "nocontent" : 304 === e ? k = "notmodified" : (k = y.state, d = y.data, b = y.error, c = !b)) : (b = k, !e && k || (k = "error", 0 > e && (e = 0))), C.status = e, C.statusText = (t || k) + "", c ? m.resolveWith(p, [d, k, C]) : m.rejectWith(p, [C, k, b]), C.statusCode(v), v = void 0, u && h.trigger(c ? "ajaxSuccess" : "ajaxError", [C, f, c ? d : b]), g.fireWith(p, [C, k]), u && (h.trigger("ajaxComplete", [C, f]), --ue.active || ue.event.trigger("ajaxStop")))
2691                    }
2692                    "object" == typeof e && (t = e, e = void 0), t = t || {};
2693                    var i, o, a, s, l, c, u, d, f = ue.ajaxSetup({}, t),
2694                        p = f.context || f,
2695                        h = f.context && (p.nodeType || p.jquery) ? ue(p) : ue.event,
2696                        m = ue.Deferred(),
2697                        g = ue.Callbacks("once memory"),
2698                        v = f.statusCode || {},
2699                        b = {},
2700                        y = {},
2701                        x = 0,
2702                        w = "canceled",
2703                        C = {
2704                            readyState: 0,
2705                            getResponseHeader: function(e) {
2706                                var t;
2707                                if (2 === x) {
2708                                    if (!s)
2709                                        for (s = {}; t = Tt.exec(a);) s[t[1].toLowerCase()] = t[2];
2710                                    t = s[e.toLowerCase()]
2711                                }
2712                                return null == t ? null : t
2713                            },
2714                            getAllResponseHeaders: function() {
2715                                return 2 === x ? a : null
2716                            },
2717                            setRequestHeader: function(e, t) {
2718                                var n = e.toLowerCase();
2719                                return x || (e = y[n] = y[n] || e, b[e] = t), this
2720                            },
2721                            overrideMimeType: function(e) {
2722                                return x || (f.mimeType = e), this
2723                            },
2724                            statusCode: function(e) {
2725                                var t;
2726                                if (e)
2727                                    if (2 > x)
2728                                        for (t in e) v[t] = [v[t], e[t]];
2729                                    else C.always(e[C.status]);
2730                                return this
2731                            },
2732                            abort: function(e) {
2733                                var t = e || w;
2734                                return i && i.abort(t), n(0, t), this
2735                            }
2736                        };
2737                    if (m.promise(C).complete = g.add, C.success = C.done, C.error = C.fail, f.url = ((e || f.url || xt.href) + "").replace(kt, "").replace(Dt, xt.protocol + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = ue.trim(f.dataType || "*").toLowerCase().match(Te) || [""], null == f.crossDomain) {
2738                        c = ee.createElement("a");
2739                        try {
2740                            c.href = f.url, c.href = c.href, f.crossDomain = qt.protocol + "//" + qt.host != c.protocol + "//" + c.host
2741                        } catch (e) {
2742                            f.crossDomain = !0
2743                        }
2744                    }
2745                    if (f.data && f.processData && "string" != typeof f.data && (f.data = ue.param(f.data, f.traditional)), X(Ot, f, t, C), 2 === x) return C;
2746                    u = ue.event && f.global, u && 0 == ue.active++ && ue.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !Et.test(f.type), o = f.url, f.hasContent || (f.data && (
vendor: 10,493 bytes, lines 2746-2951
2746o = f.url += (Ct.test(o) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (f.url = St.test(o) ? o.replace(St, "$1_=" + wt++) : o + (Ct.test(o) ? "&" : "?") + "_=" + wt++)), f.ifModified && (ue.lastModified[o] && C.setRequestHeader("If-Modified-Since", ue.lastModified[o]), ue.etag[o] && C.setRequestHeader("If-None-Match", ue.etag[o])), (f.data && f.hasContent && !1 !== f.contentType || t.contentType) && C.setRequestHeader("Content-Type", f.contentType), C.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + jt + "; q=0.01" : "") : f.accepts["*"]);
2747                    for (d in f.headers) C.setRequestHeader(d, f.headers[d]);
2748                    if (f.beforeSend && (!1 === f.beforeSend.call(p, C, f) || 2 === x)) return C.abort();
2749                    w = "abort";
2750                    for (d in {
2751                            success: 1,
2752                            error: 1,
2753                            complete: 1
2754                        }) C[d](f[d]);
2755                    if (i = X(Ft, f, t, C)) {
2756                        if (C.readyState = 1, u && h.trigger("ajaxSend", [C, f]), 2 === x) return C;
2757                        f.async && f.timeout > 0 && (l = r.setTimeout(function() {
2758                            C.abort("timeout")
2759                        }, f.timeout));
2760                        try {
2761                            x = 1, i.send(b, n)
2762                        } catch (e) {
2763                            if (!(2 > x)) throw e;
2764                            n(-1, e)
2765                        }
2766                    } else n(-1, "No Transport");
2767                    return C
2768                },
2769                getJSON: function(e, t, n) {
2770                    return ue.get(e, t, n, "json")
2771                },
2772                getScript: function(e, t) {
2773                    return ue.get(e, void 0, t, "script")
2774                }
2775            }), ue.each(["get", "post"], function(e, t) {
2776                ue[t] = function(e, n, i, o) {
2777                    return ue.isFunction(n) && (o = o || i, i = n, n = void 0), ue.ajax(ue.extend({
2778                        url: e,
2779                        type: t,
2780                        dataType: o,
2781                        data: n,
2782                        success: i
2783                    }, ue.isPlainObject(e) && e))
2784                }
2785            }), ue._evalUrl = function(e) {
2786                return ue.ajax({
2787                    url: e,
2788                    type: "GET",
2789                    dataType: "script",
2790                    async: !1,
2791                    global: !1,
2792                    throws: !0
2793                })
2794            }, ue.fn.extend({
2795                wrapAll: function(e) {
2796                    var t;
2797                    return ue.isFunction(e) ? this.each(function(t) {
2798                        ue(this).wrapAll(e.call(this, t))
2799                    }) : (this[0] && (t = ue(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
2800                        for (var e = this; e.firstElementChild;) e = e.firstElementChild;
2801                        return e
2802                    }).append(this)), this)
2803                },
2804                wrapInner: function(e) {
2805                    return ue.isFunction(e) ? this.each(function(t) {
2806                        ue(this).wrapInner(e.call(this, t))
2807                    }) : this.each(function() {
2808                        var t = ue(this),
2809                            n = t.contents();
2810                        n.length ? n.wrapAll(e) : t.append(e)
2811                    })
2812                },
2813                wrap: function(e) {
2814                    var t = ue.isFunction(e);
2815                    return this.each(function(n) {
2816                        ue(this).wrapAll(t ? e.call(this, n) : e)
2817                    })
2818                },
2819                unwrap: function() {
2820                    return this.parent().each(function() {
2821                        ue.nodeName(this, "body") || ue(this).replaceWith(this.childNodes)
2822                    }).end()
2823                }
2824            }), ue.expr.filters.hidden = function(e) {
2825                return !ue.expr.filters.visible(e)
2826            }, ue.expr.filters.visible = function(e) {
2827                return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0
2828            };
2829            var Lt = /%20/g,
2830                Nt = /\[\]$/,
2831                Pt = /\r?\n/g,
2832                Rt = /^(?:submit|button|image|reset|file)$/i,
2833                It = /^(?:input|select|textarea|keygen)/i;
2834            ue.param = function(e, t) {
2835                var n, i = [],
2836                    o = function(e, t) {
2837                        t = ue.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
2838                    };
2839                if (void 0 === t && (t = ue.ajaxSettings && ue.ajaxSettings.traditional), ue.isArray(e) || e.jquery && !ue.isPlainObject(e)) ue.each(e, function() {
2840                    o(this.name, this.value)
2841                });
2842                else
2843                    for (n in e) K(n, e[n], t, o);
2844                return i.join("&").replace(Lt, "+")
2845            }, ue.fn.extend({
2846                serialize: function() {
2847                    return ue.param(this.serializeArray())
2848                },
2849                serializeArray: function() {
2850                    return this.map(function() {
2851                        var e = ue.prop(this, "elements");
2852                        return e ? ue.makeArray(e) : this
2853                    }).filter(function() {
2854                        var e = this.type;
2855                        return this.name && !ue(this).is(":disabled") && It.test(this.nodeName) && !Rt.test(e) && (this.checked || !Ie.test(e))
2856                    }).map(function(e, t) {
2857                        var n = ue(this).val();
2858                        return null == n ? null : ue.isArray(n) ? ue.map(n, function(e) {
2859                            return {
2860                                name: t.name,
2861                                value: e.replace(Pt, "\r\n")
2862                            }
2863                        }) : {
2864                            name: t.name,
2865                            value: n.replace(Pt, "\r\n")
2866                        }
2867                    }).get()
2868                }
2869            }), ue.ajaxSettings.xhr = function() {
2870                try {
2871                    return new r.XMLHttpRequest
2872                } catch (e) {}
2873            };
2874            var Mt = {
2875                    0: 200,
2876                    1223: 204
2877                },
2878                Ht = ue.ajaxSettings.xhr();
2879            le.cors = !!Ht && "withCredentials" in Ht, le.ajax = Ht = !!Ht, ue.ajaxTransport(function(e) {
2880                var t, n;
2881                return le.cors || Ht && !e.crossDomain ? {
2882                    send: function(i, o) {
2883                        var a, s = e.xhr();
2884                        if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)
2885                            for (a in e.xhrFields) s[a] = e.xhrFields[a];
2886                        e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType), e.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
2887                        for (a in i) s.setRequestHeader(a, i[a]);
2888                        t = function(e) {
2889                            return function() {
2890                                t && (t = n = s.onload = s.onerror = s.onabort = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Mt[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? {
2891                                    binary: s.response
2892                                } : {
2893                                    text: s.responseText
2894                                }, s.getAllResponseHeaders()))
2895                            }
2896                        }, s.onload = t(), n = s.onerror = t("error"), void 0 !== s.onabort ? s.onabort = n : s.onreadystatechange = function() {
2897                            4 === s.readyState && r.setTimeout(function() {
2898                                t && n()
2899                            })
2900                        }, t = t("abort");
2901                        try {
2902                            s.send(e.hasContent && e.data || null)
2903                        } catch (e) {
2904                            if (t) throw e
2905                        }
2906                    },
2907                    abort: function() {
2908                        t && t()
2909                    }
2910                } : void 0
2911            }), ue.ajaxSetup({
2912                accepts: {
2913                    script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
2914                },
2915                contents: {
2916                    script: /\b(?:java|ecma)script\b/
2917                },
2918                converters: {
2919                    "text script": function(e) {
2920                        return ue.globalEval(e), e
2921                    }
2922                }
2923            }), ue.ajaxPrefilter("script", function(e) {
2924                void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
2925            }), ue.ajaxTransport("script", function(e) {
2926                if (e.crossDomain) {
2927                    var t, n;
2928                    return {
2929                        send: function(i, o) {
2930                            t = ue("<script>").prop({
2931                                charset: e.scriptCharset,
2932                                src: e.url
2933                            }).on("load error", n = function(e) {
2934                                t.remove(), n = null, e && o("error" === e.type ? 404 : 200, e.type)
2935                            }), ee.head.appendChild(t[0])
2936                        },
2937                        abort: function() {
2938                            n && n()
2939                        }
2940                    }
2941                }
2942            });
2943            var zt = [],
2944                $t = /(=)\?(?=&|$)|\?\?/;
2945            ue.ajaxSetup({
2946                jsonp: "callback",
2947                jsonpCallback: function() {
2948                    var e = zt.pop() || ue.expando + "_" + wt++;
2949                    return this[e] = !0, e
2950                }
2951            }), ue.ajaxPrefilter("json jsonp", function(e, t, n) {
vendor: 6,151 bytes, lines 2952-3053
2952                var i, o, a, s = !1 !== e.jsonp && ($t.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && $t.test(e.data) && "data");
2953                return s || "jsonp" === e.dataTypes[0] ? (i = e.jsonpCallback = ue.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, s ? e[s] = e[s].replace($t, "$1" + i) : !1 !== e.jsonp && (e.url += (Ct.test(e.url) ? "&" : "?") + e.jsonp + "=" + i), e.converters["script json"] = function() {
2954                    return a || ue.error(i + " was not called"), a[0]
2955                }, e.dataTypes[0] = "json", o = r[i], r[i] = function() {
2956                    a = arguments
2957                }, n.always(function() {
2958                    void 0 === o ? ue(r).removeProp(i) : r[i] = o, e[i] && (e.jsonpCallback = t.jsonpCallback, zt.push(i)), a && ue.isFunction(o) && o(a[0]), a = o = void 0
2959                }), "script") : void 0
2960            }), ue.parseHTML = function(e, t, n) {
2961                if (!e || "string" != typeof e) return null;
2962                "boolean" == typeof t && (n = t, t = !1), t = t || ee;
2963                var i = ye.exec(e),
2964                    o = !n && [];
2965                return i ? [t.createElement(i[1])] : (i = v([e], t, o), o && o.length && ue(o).remove(), ue.merge([], i.childNodes))
2966            };
2967            var Vt = ue.fn.load;
2968            ue.fn.load = function(e, t, n) {
2969                if ("string" != typeof e && Vt) return Vt.apply(this, arguments);
2970                var i, o, r, a = this,
2971                    s = e.indexOf(" ");
2972                return s > -1 && (i = ue.trim(e.slice(s)), e = e.slice(0, s)), ue.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (o = "POST"), a.length > 0 && ue.ajax({
2973                    url: e,
2974                    type: o || "GET",
2975                    dataType: "html",
2976                    data: t
2977                }).done(function(e) {
2978                    r = arguments, a.html(i ? ue("<div>").append(ue.parseHTML(e)).find(i) : e)
2979                }).always(n && function(e, t) {
2980                    a.each(function() {
2981                        n.apply(this, r || [e.responseText, t, e])
2982                    })
2983                }), this
2984            }, ue.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) {
2985                ue.fn[t] = function(e) {
2986                    return this.on(t, e)
2987                }
2988            }), ue.expr.filters.animated = function(e) {
2989                return ue.grep(ue.timers, function(t) {
2990                    return e === t.elem
2991                }).length
2992            }, ue.offset = {
2993                setOffset: function(e, t, n) {
2994                    var i, o, r, a, s, l, c, u = ue.css(e, "position"),
2995                        d = ue(e),
2996                        f = {};
2997                    "static" === u && (e.style.position = "relative"), s = d.offset(), r = ue.css(e, "top"), l = ue.css(e, "left"), c = ("absolute" === u || "fixed" === u) && (r + l).indexOf("auto") > -1, c ? (i = d.position(), a = i.top, o = i.left) : (a = parseFloat(r) || 0, o = parseFloat(l) || 0), ue.isFunction(t) && (t = t.call(e, n, ue.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + o), "using" in t ? t.using.call(e, f) : d.css(f)
2998                }
2999            }, ue.fn.extend({
3000                offset: function(e) {
3001                    if (arguments.length) return void 0 === e ? this : this.each(function(t) {
3002                        ue.offset.setOffset(this, e, t)
3003                    });
3004                    var t, n, i = this[0],
3005                        o = {
3006                            top: 0,
3007                            left: 0
3008                        },
3009                        r = i && i.ownerDocument;
3010                    return r ? (t = r.documentElement, ue.contains(t, i) ? (o = i.getBoundingClientRect(), n = J(r), {
3011                        top: o.top + n.pageYOffset - t.clientTop,
3012                        left: o.left + n.pageXOffset - t.clientLeft
3013                    }) : o) : void 0
3014                },
3015                position: function() {
3016                    if (this[0]) {
3017                        var e, t, n = this[0],
3018                            i = {
3019                                top: 0,
3020                                left: 0
3021                            };
3022                        return "fixed" === ue.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), ue.nodeName(e[0], "html") || (i = e.offset()), i.top += ue.css(e[0], "borderTopWidth", !0), i.left += ue.css(e[0], "borderLeftWidth", !0)), {
3023                            top: t.top - i.top - ue.css(n, "marginTop", !0),
3024                            left: t.left - i.left - ue.css(n, "marginLeft", !0)
3025                        }
3026                    }
3027                },
3028                offsetParent: function() {
3029                    return this.map(function() {
3030                        for (var e = this.offsetParent; e && "static" === ue.css(e, "position");) e = e.offsetParent;
3031                        return e || nt
3032                    })
3033                }
3034            }), ue.each({
3035                scrollLeft: "pageXOffset",
3036                scrollTop: "pageYOffset"
3037            }, function(e, t) {
3038                var n = "pageYOffset" === t;
3039                ue.fn[e] = function(i) {
3040                    return Ee(this, function(e, i, o) {
3041                        var r = J(e);
3042                        return void 0 === o ? r ? r[t] : e[i] : void(r ? r.scrollTo(n ? r.pageXOffset : o, n ? o : r.pageYOffset) : e[i] = o)
3043                    }, e, i, arguments.length)
3044                }
3045            }), ue.each(["top", "left"], function(e, t) {
3046                ue.cssHooks[t] = q(le.pixelPosition, function(e, n) {
3047                    return n ? (n = j(e, t), Ze.test(n) ? ue(e).position()[t] + "px" : n) : void 0
3048                })
3049            }), ue.each({
3050                Height: "height",
3051                Width: "width"
3052            }, function(e, t) {
3053                ue.each({
3054                    padding: "inner" + e,
3055                    content: t,
3056                    "": "outer" + e
3057                }, function(n, i) {
3058                    ue.fn[i] = function(i, o) {
3059                        var r = arguments.length && (n || "boolean" != typeof i),
3060                            a = n || (!0 === i || !0 === o ? "margin" : "border");
3061                        return Ee(this, function(t, n, i) {
3062                            var o;
3063                            return ue.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? ue.css(t, n, a) : ue.style(t, n, i, a)
3064                        }, t, r ? i : void 0, r, null)
3065                    }
3066                })
3067            }), ue.fn.extend({
3068                bind: function(e, t, n) {
3069                    return this.on(e, null, t, n)
3070                },
3071                unbind: function(e, t) {
3072                    return this.off(e, null, t)
3073                },
3074                delegate: function(e, t, n, i) {
3075                    return this.on(t, e, n, i)
3076                },
3077                undelegate: function(e, t, n) {
3078                    return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
3079                },
3080                size: function() {
3081                    return this.length
3082                }
3083            }), ue.fn.andSelf = ue.fn.addBack, n("nErl") && (i = [], void 0 !== (o = function() {
3084                return ue
3085            }.apply(t, i)) && (e.exports = o));
3086            var Bt = r.jQuery,
3087                Wt = r.$;
3088            return ue.noConflict = function(e) {
3089                return r.$ === ue && (r.$ = Wt), e && r.jQuery === ue && (r.jQuery = Bt), ue
3090            }, a || (r.jQuery = r.$ = ue), ue
3091        })
3092    },
3093    OQde: function(e, t) {
3094        $(document).ready(function() {
3095            function e() {
3096                if (0 === $("img.preload").length) return !1;
3097                var n = 100 - Math.round(($(document).height() - window.pageYOffset) / ($(document).height() / 100)),
3098                    i = 1e3 * n,
3099                    r = 1,
3100                    a = 0;
3101                $("img.preload").each(function(s) {
3102                    var l = $(this);
3103                    if (t(l, i))
3104                        if (++a <= r) {
3105                            l.removeClass("preload");
3106                            var u = l.data("src-retina") ? l.data("src-retina") : l.data("src"),
3107                                d = o ? u : l.data("src");
3108                            l.attr("src") != d && l.attr("src", d)
3109                        } else clearInterval(c), r *= n, c = setInterval(e, 30 * n)
3110                })
3111            }
3112
3113            function t(e, t) {
3114                "function" == typeof jQuery && e instanceof jQuery && (e = e[0]), t = t || 1e3;
3115                for (var n = e.offsetTop, i = e.offsetLeft, o = e.offsetWidth, r = e.offsetHeight + t; e.offsetParent;) e = e.offsetParent, n += e.offsetTop, i += e.offsetLeft;
3116                return n < window.pageYOffset + window.innerHeight + t && i < window.pageXOffset + window.innerWidth && n + r > window.pageYOffset && i + o > window.pageXOffset
3117            }
3118
3119            function n() {
3120                $("#at4-share").removeClass("hide")
3121            }
3122
3123            function n() {
3124                $("#at4-share").removeClass("hide")
3125            }
3126            var i = Math.round(window.devicePixelRatio),
3127                o = i > 1,
3128                r = window.location.protocol,
3129                a = r.concat("//"),
3130                s = a.concat(window.location.hostname),
3131                l = window.location.href;
3132            new Clipboard(".clipbb");
3133            $.ajaxSetup({
3134                headers: {
3135                    "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content")
3136                },
3137                ajaxError: function(e, t, n, i) {}
3138            });
3139            var c = setInterval(e, 100),
3140                u = function() {
3141                    if ($(window).scrollTop() + $(window).height() >
3141 $(document).height() - 1500) {
3142                        var e = $("#collections_segment .stage");
3143                        e.length > 0 && ($(".paginator").remove(), 0 == e.data("end") && ($(".loader.collections").addClass("active"), $.ajax({
3144                            url: e.data("resource"),
3145                            async: !1,
3146                            type: "POST"
3147                        }).success(function(t) {
3148                            $(".loader.collections").removeClass("active"), e.remove(), $("#collections_segment").append(t)
3149                        })))
3150                    }
3151                };
3152            window.setInterval(u, 500), $("#collection_popup").popup({
3153                on: "hover",
3154                hoverable: !0,
3155                position: "bottom right",
3156                lastResort: "bottom right",
3157                delay: {
3158                    show: 0,
3159                    hide: 200
3160                },
3161                duration: 5
3162            }), $(".dropdown").dropdown(), $(".category.dropdown").dropdown({
3163                maxSelection: 8,
3164                onChange: function(e, t, n) {
3165                    window.location = e
3166                }
3167            }), $(".ui.sticky").sticky({
3168                context: "#context",
3169                bserveChanges: !0,
3170                offset: 60
3171            }), $(".ui.sidebar").sidebar({
3172                returnScroll: !0,
3173                exclusive: !1,
3174                dimPage: !1,
3175                duration: 50
3176            }).sidebar("attach events", "a.toc");
3177            var d = $(".cd-top");
3178            $(window).scroll(function() {
3179                $(window).scrollTop() > 300 ? d.addClass("cd-is-visible") : d.removeClass("cd-is-visible cd-fade-out"), $(window).scrollTop() > 1200 && d.addClass("cd-fade-out")
3180            }), d.on("click", function(e) {
3181                e.preventDefault(), $("body,html").animate({
3182                    scrollTop: 0
3183                }, 700)
3184            }), $("#adsdimmer").modal({
3185                duration: 0,
3186                dimmerSettings: {
3187                    closable: !1,
3188                    useCSS: !1
3189                },
3190                onHide: function() {
3191                    return n(), !0
3192                }
3193            }), window.setIntervalID = null, window.counterWait = function(e) {
3194                clearInterval(setIntervalID);
3195                var e = e || 2;
3196                $("#count").html("Please, wait while your link is generating " + e.toString()), setIntervalID = setInterval(function() {
3197                    e--, e >= 0 && $("#count").html("Please, wait while your link is generating " + e.toString()), 0 === e && ($("#count").html(""), $("#download").removeClass("hide"), $("#download_menu").removeClass("hide"), $("#adsdimmer .details").removeClass("hide"), clearInterval(setIntervalID))
3198                }, 1e3)
3199            }, $(".single_image .ads_popup, .single_image .download_button.ads_popup").on("mousedown", function() {
3200                var e = $("#" + $(this).data("id"));
3201                $("#adsdimmer").modal("show"), $("#download").addClass("hide"), $("#download_menu").addClass("hide"), $("#adsdimmer .details").addClass("hide"), $("#adsdimmer #download").attr("href", e.data("download")), $("#adsdimmer .orres").text(e.data("or"));
3202                var t = '<a href="' + l + '" target="blank"><img src="' + s + e.data("fullimg") + '"></a>';
3203                $("#adsdimmer #clipboard").val(t), $("#adsdimmer #fsb").attr("href", e.data("fsb")), $("#adsdimmer #tw").attr("href", e.data("tw")), $("#adsdimmer #pin").attr("href", e.data("pin")), $("#adsdimmer .fsl").attr("href", e.data("download")), $("#at4-share").addClass("hide"), counterWait()
3204            }), $("#adsdimmer .icon.remove, #adsdimmer #download").on("click", function() {
3205                $("#adsdimmer").modal("hide")
3206            }), $(".adsbygoogle").each(function(e, t) {
3207                (adsbygoogle = window.adsbygoogle || []).push({})
3208            }), $(".accordion").accordion(), $("button.uploadcare-uploader").click(function() {
3209                var e = $(this);
3210                uploadcare.openDialog(null, {
3211                    publicKey: window.UPLOADCARE_PUBLIC_KEY,
3212                    imagesOnly: !0,
3213                    previewStep: !0,
3214                    validators: [function(e) {
3215                        var t = e.originalImageInfo;
3216                        if (null !== t && t.width * t.height < 786432) throw new Error("Image too small :(")
3217                    }]
3218                }).done(function(t) {
3219                    t.promise().done(function(t) {
3220                        var n = {
3221                            cdnUrl: t.cdnUrl,
3222                            width: t.originalImageInfo.width,
3223                            height: t.originalImageInfo.height,
3224                            size: t.size
3225                        };
3226                        $.post({
3227                            url: e.data("resource"),
3228                            data: n
3229                        }).success(function(e) {
3230                            location.reload()
3231                        })
3232                    })
3233                })
3234            })
3235        })
3236    },
3237    TQvf: function(e, t, n) {
3238        var i, i;
3239        ! function(t) {
3240            e.exports = t()
3241        }(function() {
3242            var e;
3243            return function e(t, n, o) {
3244                function r(s, l) {
3245                    if (!n[s]) {
3246                        if (!t[s]) {
3247                            var c = "function" == typeof i && i;
3248                            if (!l && c) return i(s, !0);
3249                            if (a) return a(s, !0);
3250                            var u = new Error("Cannot find module '" + s + "'");
3251                            throw u.code = "MODULE_NOT_FOUND", u
3252                        }
3253                        var d = n[s] = {
3254                            exports: {}
3255                        };
3256                        t[s][0].call(d.exports, function(e) {
3257                            var n = t[s][1][e];
3258                            return r(n || e)
3259                        }, d, d.exports, e, t, n, o)
3260                    }
3261                    return n[s].exports
3262                }
3263                for (var a = "function" == typeof i && i, s = 0; s < o.length; s++) r(o[s]);
3264                return r
3265            }({
3266                1: [function(e, t, n) {
3267                    function i(e, t) {
3268                        for (; e && e.nodeType !== o;) {
3269                            if ("function" == typeof e.matches && e.matches(t)) return e;
3270                            e = e.parentNode
3271                        }
3272                    }
3273                    var o = 9;
3274                    if ("undefined" != typeof Element && !Element.prototype.matches) {
3275                        var r = Element.prototype;
3276                        r.matches = r.matchesSelector || r.mozMatchesSelector || r.msMatchesSelector || r.oMatchesSelector || r.webkitMatchesSelector
3277                    }
3278                    t.exports = i
3279                }, {}],
3280                2: [function(e, t, n) {
3281                    function i(e, t, n, i, r) {
3282                        var a = o.apply(this, arguments);
3283                        return e.addEventListener(n, a, r), {
3284                            destroy: function() {
3285                                e.removeEventListener(n, a, r)
3286                            }
3287                        }
3288                    }
3289
3290                    function o(e, t, n, i) {
3291                        return function(n) {
3292                            n.delegateTarget = r(n.target, t), n.delegateTarget && i.call(e, n)
3293                        }
3294                    }
vendor: 6,182 bytes, lines 3295-3421
3295                    var r = e("./closest");
3296                    t.exports = i
3297                }, {
3298                    "./closest": 1
3299                }],
3300                3: [function(e, t, n) {
3301                    n.node = function(e) {
3302                        return void 0 !== e && e instanceof HTMLElement && 1 === e.nodeType
3303                    }, n.nodeList = function(e) {
3304                        var t = Object.prototype.toString.call(e);
3305                        return void 0 !== e && ("[object NodeList]" === t || "[object HTMLCollection]" === t) && "length" in e && (0 === e.length || n.node(e[0]))
3306                    }, n.string = function(e) {
3307                        return "string" == typeof e || e instanceof String
3308                    }, n.fn = function(e) {
3309                        return "[object Function]" === Object.prototype.toString.call(e)
3310                    }
3311                }, {}],
3312                4: [function(e, t, n) {
3313                    function i(e, t, n) {
3314                        if (!e && !t && !n) throw new Error("Missing required arguments");
3315                        if (!s.string(t)) throw new TypeError("Second argument must be a String");
3316                        if (!s.fn(n)) throw new TypeError("Third argument must be a Function");
3317                        if (s.node(e)) return o(e, t, n);
3318                        if (s.nodeList(e)) return r(e, t, n);
3319                        if (s.string(e)) return a(e, t, n);
3320                        throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")
3321                    }
3322
3323                    function o(e, t, n) {
3324                        return e.addEventListener(t, n), {
3325                            destroy: function() {
3326                                e.removeEventListener(t, n)
3327                            }
3328                        }
3329                    }
3330
3331                    function r(e, t, n) {
3332                        return Array.prototype.forEach.call(e, function(e) {
3333                            e.addEventListener(t, n)
3334                        }), {
3335                            destroy: function() {
3336                                Array.prototype.forEach.call(e, function(e) {
3337                                    e.removeEventListener(t, n)
3338                                })
3339                            }
3340                        }
3341                    }
3342
3343                    function a(e, t, n) {
3344                        return l(document.body, e, t, n)
3345                    }
3346                    var s = e("./is"),
3347                        l = e("delegate");
3348                    t.exports = i
3349                }, {
3350                    "./is": 3,
3351                    delegate: 2
3352                }],
3353                5: [function(e, t, n) {
3354                    function i(e) {
3355                        var t;
3356                        if ("SELECT" === e.nodeName) e.focus(), t = e.value;
3357                        else if ("INPUT" === e.nodeName || "TEXTAREA" === e.nodeName) {
3358                            var n = e.hasAttribute("readonly");
3359                            n || e.setAttribute("readonly", ""), e.select(), e.setSelectionRange(0, e.value.length), n || e.removeAttribute("readonly"), t = e.value
3360                        } else {
3361                            e.hasAttribute("contenteditable") && e.focus();
3362                            var i = window.getSelection(),
3363                                o = document.createRange();
3364                            o.selectNodeContents(e), i.removeAllRanges(), i.addRange(o), t = i.toString()
3365                        }
3366                        return t
3367                    }
3368                    t.exports = i
3369                }, {}],
3370                6: [function(e, t, n) {
3371                    function i() {}
3372                    i.prototype = {
3373                        on: function(e, t, n) {
3374                            var i = this.e || (this.e = {});
3375                            return (i[e] || (i[e] = [])).push({
3376                                fn: t,
3377                                ctx: n
3378                            }), this
3379                        },
3380                        once: function(e, t, n) {
3381                            function i() {
3382                                o.off(e, i), t.apply(n, arguments)
3383                            }
3384                            var o = this;
3385                            return i._ = t, this.on(e, i, n)
3386                        },
3387                        emit: function(e) {
3388                            var t = [].slice.call(arguments, 1),
3389                                n = ((this.e || (this.e = {}))[e] || []).slice(),
3390                                i = 0,
3391                                o = n.length;
3392                            for (i; i < o; i++) n[i].fn.apply(n[i].ctx, t);
3393                            return this
3394                        },
3395                        off: function(e, t) {
3396                            var n = this.e || (this.e = {}),
3397                                i = n[e],
3398                                o = [];
3399                            if (i && t)
3400                                for (var r = 0, a = i.length; r < a; r++) i[r].fn !== t && i[r].fn._ !== t && o.push(i[r]);
3401                            return o.length ? n[e] = o : delete n[e], this
3402                        }
3403                    }, t.exports = i
3404                }, {}],
3405                7: [function(t, n, i) {
3406                    ! function(o, r) {
3407                        if ("function" == typeof e && e.amd) e(["module", "select"], r);
3408                        else if (void 0 !== i) r(n, t("select"));
3409                        else {
3410                            var a = {
3411                                exports: {}
3412                            };
3413                            r(a, o.select), o.clipboardAction = a.exports
3414                        }
3415                    }(this, function(e, t) {
3416                        "use strict";
3417
3418                        function n(e, t) {
3419                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
3420                        }
3421                        var i = function(e) {
vendor: 5,871 bytes, lines 3422-3504
3422                                return e && e.__esModule ? e : {
3423                                    default: e
3424                                }
3425                            }(t),
3426                            o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
3427                                return typeof e
3428                            } : function(e) {
3429                                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
3430                            },
3431                            r = function() {
3432                                function e(e, t) {
3433                                    for (var n = 0; n < t.length; n++) {
3434                                        var i = t[n];
3435                                        i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
3436                                    }
3437                                }
3438                                return function(t, n, i) {
3439                                    return n && e(t.prototype, n), i && e(t, i), t
3440                                }
3441                            }(),
3442                            a = function() {
3443                                function e(t) {
3444                                    n(this, e), this.resolveOptions(t), this.initSelection()
3445                                }
3446                                return r(e, [{
3447                                    key: "resolveOptions",
3448                                    value: function() {
3449                                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
3450                                        this.action = e.action, this.container = e.container, this.emitter = e.emitter, this.target = e.target, this.text = e.text, this.trigger = e.trigger, this.selectedText = ""
3451                                    }
3452                                }, {
3453                                    key: "initSelection",
3454                                    value: function() {
3455                                        this.text ? this.selectFake() : this.target && this.selectTarget()
3456                                    }
3457                                }, {
3458                                    key: "selectFake",
3459                                    value: function() {
3460                                        var e = this,
3461                                            t = "rtl" == document.documentElement.getAttribute("dir");
3462                                        this.removeFake(), this.fakeHandlerCallback = function() {
3463                                            return e.removeFake()
3464                                        }, this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement("textarea"), this.fakeElem.style.fontSize = "12pt", this.fakeElem.style.border = "0", this.fakeElem.style.padding = "0", this.fakeElem.style.margin = "0", this.fakeElem.style.position = "absolute", this.fakeElem.style[t ? "right" : "left"] = "-9999px";
3465                                        var n = window.pageYOffset || document.documentElement.scrollTop;
3466                                        this.fakeElem.style.top = n + "px", this.fakeElem.setAttribute("readonly", ""), this.fakeElem.value = this.text, this.container.appendChild(this.fakeElem), this.selectedText = (0, i.default)(this.fakeElem), this.copyText()
3467                                    }
3468                                }, {
3469                                    key: "removeFake",
3470                                    value: function() {
3471                                        this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (this.container.removeChild(this.fakeElem), this.fakeElem = null)
3472                                    }
3473                                }, {
3474                                    key: "selectTarget",
3475                                    value: function() {
3476                                        this.selectedText = (0, i.default)(this.target), this.copyText()
3477                                    }
3478                                }, {
3479                                    key: "copyText",
3480                                    value: function() {
3481                                        var e = void 0;
3482                                        try {
3483                                            e = document.execCommand(this.action)
3484                                        } catch (t) {
3485                                            e = !1
3486                                        }
3487                                        this.handleResult(e)
3488                                    }
3489                                }, {
3490                                    key: "handleResult",
3491                                    value: function(e) {
3492                                        this.emitter.emit(e ? "success" : "error", {
3493                                            action: this.action,
3494                                            text: this.selectedText,
3495                                            trigger: this.trigger,
3496                                            clearSelection: this.clearSelection.bind(this)
3497                                        })
3498                                    }
3499                                }, {
3500                                    key: "clearSelection",
3501                                    value: function() {
3502                                        this.trigger && this.trigger.focus(), window.getSelection().removeAllRanges()
3503                                    }
3504                                }, {
vendor: 8,812 bytes, lines 3505-3650
3505                                    key: "destroy",
3506                                    value: function() {
3507                                        this.removeFake()
3508                                    }
3509                                }, {
3510                                    key: "action",
3511                                    set: function() {
3512                                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "copy";
3513                                        if (this._action = e, "copy" !== this._action && "cut" !== this._action) throw new Error('Invalid "action" value, use either "copy" or "cut"')
3514                                    },
3515                                    get: function() {
3516                                        return this._action
3517                                    }
3518                                }, {
3519                                    key: "target",
3520                                    set: function(e) {
3521                                        if (void 0 !== e) {
3522                                            if (!e || "object" !== (void 0 === e ? "undefined" : o(e)) || 1 !== e.nodeType) throw new Error('Invalid "target" value, use a valid Element');
3523                                            if ("copy" === this.action && e.hasAttribute("disabled")) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
3524                                            if ("cut" === this.action && (e.hasAttribute("readonly") || e.hasAttribute("disabled"))) throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
3525                                            this._target = e
3526                                        }
3527                                    },
3528                                    get: function() {
3529                                        return this._target
3530                                    }
3531                                }]), e
3532                            }();
3533                        e.exports = a
3534                    })
3535                }, {
3536                    select: 5
3537                }],
3538                8: [function(t, n, i) {
3539                    ! function(o, r) {
3540                        if ("function" == typeof e && e.amd) e(["module", "./clipboard-action", "tiny-emitter", "good-listener"], r);
3541                        else if (void 0 !== i) r(n, t("./clipboard-action"), t("tiny-emitter"), t("good-listener"));
3542                        else {
3543                            var a = {
3544                                exports: {}
3545                            };
3546                            r(a, o.clipboardAction, o.tinyEmitter, o.goodListener), o.clipboard = a.exports
3547                        }
3548                    }(this, function(e, t, n, i) {
3549                        "use strict";
3550
3551                        function o(e) {
3552                            return e && e.__esModule ? e : {
3553                                default: e
3554                            }
3555                        }
3556
3557                        function r(e, t) {
3558                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
3559                        }
3560
3561                        function a(e, t) {
3562                            if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
3563                            return !t || "object" != typeof t && "function" != typeof t ? e : t
3564                        }
3565
3566                        function s(e, t) {
3567                            if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
3568                            e.prototype = Object.create(t && t.prototype, {
3569                                constructor: {
3570                                    value: e,
3571                                    enumerable: !1,
3572                                    writable: !0,
3573                                    configurable: !0
3574                                }
3575                            }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
3576                        }
3577
3578                        function l(e, t) {
3579                            var n = "data-clipboard-" + e;
3580                            if (t.hasAttribute(n)) return t.getAttribute(n)
3581                        }
3582                        var c = o(t),
3583                            u = o(n),
3584                            d = o(i),
3585                            f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
3586                                return typeof e
3587                            } : function(e) {
3588                                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
3589                            },
3590                            p = function() {
3591                                function e(e, t) {
3592                                    for (var n = 0; n < t.length; n++) {
3593                                        var i = t[n];
3594                                        i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
3595                                    }
3596                                }
3597                                return function(t, n, i) {
3598                                    return n && e(t.prototype, n), i && e(t, i), t
3599                                }
3600                            }(),
3601                            h = function(e) {
3602                                function t(e, n) {
3603                                    r(this, t);
3604                                    var i = a(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));
3605                                    return i.resolveOptions(n), i.listenClick(e), i
3606                                }
3607                                return s(t, e), p(t, [{
3608                                    key: "resolveOptions",
3609                                    value: function() {
3610                                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
3611                                        this.action = "function" == typeof e.action ? e.action : this.defaultAction, this.target = "function" == typeof e.target ? e.target : this.defaultTarget, this.text = "function" == typeof e.text ? e.text : this.defaultText, this.container = "object" === f(e.container) ? e.container : document.body
3612                                    }
3613                                }, {
3614                                    key: "listenClick",
3615                                    value: function(e) {
3616                                        var t = this;
3617                                        this.listener = (0, d.default)(e, "click", function(e) {
3618                                            return t.onClick(e)
3619                                        })
3620                                    }
3621                                }, {
3622                                    key: "onClick",
3623                                    value: function(e) {
3624                                        var t = e.delegateTarget || e.currentTarget;
3625                                        this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new c.default({
3626                                            action: this.action(t),
3627                                            target: this.target(t),
3628                                            text: this.text(t),
3629                                            container: this.container,
3630                                            trigger: t,
3631                                            emitter: this
3632                                        })
3633                                    }
3634                                }, {
3635                                    key: "defaultAction",
3636                                    value: function(e) {
3637                                        return l("action", e)
3638                                    }
3639                                }, {
3640                                    key: "defaultTarget",
3641                                    value: function(e) {
3642                                        var t = l("target", e);
3643                                        if (t) return document.querySelector(t)
3644                                    }
3645                                }, {
3646                                    key: "defaultText",
3647                                    value: function(e) {
3648                                        return l("text", e)
3649                                    }
3650                                }, {
3651                                    key: "destroy",
3652                                    value: function() {
3653                                        this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null)
3654                                    }
3655                                }], [{
3656                                    key: "isSupported",
3657                                    value: function() {
3658                                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"],
3659                                            t = "string" == typeof e ? [e] : e,
3660                                            n = !!document.queryCommandSupported;
3661                                        return t.forEach(function(e) {
3662                                            n = n && !!document.queryCommandSupported(e)
3663                                        }), n
3664                                    }
3665                                }]), t
3666                            }(u.default);
3667                        e.exports = h
3668                    })
3669                }, {
3670                    "./clipboard-action": 7,
3671                    "good-listener": 4,
3672                    "tiny-emitter": 6
3673                }]
3674            }, {}, [8])(8)
3675        })
3676    },
3677    WRGp: function(e, t, n) {
3678        window.$ = window.jQuery = n("OF5A"), n("r/NY"), window.Clipboard = n("TQvf")
3679    },
3680    nErl: function(e, t) {
3681        (function(t) {
3682            e.exports = t
3683        }).call(t, {})
3684    },
3685    "r/NY": function(e, t) {
3686        var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
3687            return typeof e
3688        } : function(e) {
3689            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
3690        };
3691        ! function(e, t, n, i) {
3692            e.site = e.fn.site = function(i) {
3693                var o, r, a = (new Date).getTime(),
3694                    s = [],
3695                    l = arguments[0],
3696                    c = "string" == typeof l,
3697                    u = [].slice.call(arguments, 1),
3698                    d = e.isPlainObject(i) ? e.extend(!0, {}, e.site.settings, i) : e.extend({}, e.site.settings),
3699                    f = d.namespace,
3700                    p = d.error,
3701                    h = "module-" + f,
3702                    m = e(n),
3703                    g = m,
3704                    v = this,
3705                    b = g.data(h);
3706                return o = {
3707                    initialize: function() {
3708                        o.instantiate()
3709                    },
3710                    instantiate: function() {
3711                        o.verbose("Storing instance of site", o), b = o, g.data(h, o)
3712                    },
3713                    normalize: function() {
3714                        o.fix.console(), o.fix.requestAnimationFrame()
3715                    },
3716                    fix: {
3717                        console: function(e) {
3718                            function t() {
3719                                return e.apply(this, arguments)
3720                            }
3721                            return t.toString = function() {
3722                                return e.toString()
3723                            }, t
3724                        }(function() {
3725                            o.debug("Normalizing window.console"), void 0 !== console && void 0 !== console.log || (o.verbose("Console not available, normalizing events"), o.disable.console()), void 0 !== console.group && void 0 !== console.groupEnd && void 0 !== console.groupCollapsed || (o.verbose("Console group not available, normalizing events"), t.console.group = function() {}, t.console.groupEnd = function() {}, t.console.groupCollapsed = function() {}), void 0 === console.markTimeline && (o.verbose("Mark timeline not available, normalizing events"), t.console.markTimeline = function() {})
3726                        }),
3727                        consoleClear: function() {
3728                            o.debug("Disabling programmatic console clearing"), t.console.clear = function() {}
3729                        },
3730                        requestAnimationFrame: function() {
3731                            o.debug("Normalizing requestAnimationFrame"), void 0 === t.requestAnimationFrame && (o.debug("RequestAnimationFrame not available, normalizing event"), t.requestAnimationFrame = t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame || function(e) {
3732                                setTimeout(e, 0)
3733                            })
3734                        }
3735                    },
3736                    moduleExists: function(t) {
3737                        return void 0 !== e.fn[t] && void 0 !== e.fn[t].settings
3738                    },
3739                    enabled: {
3740                        modules: function(t) {
3741                            var n = [];
3742                            return t = t || d.modules, e.each(t, function(e, t) {
3743                                o.moduleExists(t) && n.push(t)
3744                            }), n
3745                        }
3746                    },
3747                    disabled: {
3748                        modules: function(t) {
3749                            var n = [];
3750                            return t = t || d.modules, e.each(t, function(e, t) {
3751                                o.moduleExists(t) || n.push(t)
3752                            }), n
3753                        }
3754                    },
3755                    change: {
3756                        setting: function(t, n, i, r) {
3757                            i = "string" == typeof i ? "all" === i ? d.modules : [i] : i || d.modules, r = void 0 === r || r, e.each(i, function(i, a) {
3758                                var s, l = !o.moduleExists(a) || e.fn[a].settings.namespace || !1;
3759                                o.moduleExists(a) && (o.verbose("Changing default setting", t, n, a), e.fn[a].settings[t] = n, r && l && (s = e(":data(module-" + l + ")"), s.length > 0 && (o.verbose("Modifying existing settings", s), s[a]("setting", t, n))))
3760                            })
3761                        },
3762                        settings: function(t, n, i) {
3763                            n = "string" == typeof n ? [n] : n || d.modules, i = void 0 === i || i, e.each(n, function(n, r) {
3764                                var a;
3765                                o.moduleExists(r) && (o.verbose("Changing default setting", t, r), e.extend(!0, e.fn[r].settings, t), i && f && (a = e(":data(module-" + f + ")"), a.length > 0 && (o.verbose("Modifying existing settings", a), a[r]("setting", t))))
3766                            })
3767                        }
3768                    },
3769                    enable: {
3770                        console: function() {
3771                            o.console(!0)
3772                        },
3773                        debug: function(e, t) {
3774                            e = e || d.modules, o.debug("Enabling debug for modules", e), o.change.setting("debug", !0, e, t)
3775                        },
3776                        verbose: function(e, t) {
3777                            e = e || d.modules, o.debug("Enabling verbose debug for modules", e), o.change.setting("verbose", !0, e, t)
3778                        }
3779                    },
3780                    disable: {
3781                        console: function() {
3782                            o.console(!1)
3783                        },
3784                        debug: function(e, t) {
3785                            e = e || d.modules, o.debug("Disabling debug for modules", e), o.change.setting("debug", !1, e, t)
3786                        },
3787                        verbose: function(e, t) {
3788                            e = e || d.modules, o.debug("Disabling verbose debug for modules", e), o.change.setting("verbose", !1, e, t)
3789                        }
3790                    },
3791                    console: function(e) {
3792                        if (e) {
3793                            if (void 0 === b.cache.console) return void o.error(p.console);
3794                            o.debug("Restoring console function"), t.console = b.cache.console
3795                        } else o.debug("Disabling console function"), b.cache.console = t.console, t.console = {
3796                            clear: function() {},
3797                            error: function() {},
3798                            group: function() {},
3799                            groupCollapsed: function() {},
3800                            groupEnd: function() {},
3801                            info: function() {},
3802                            log: function() {},
3803                            markTimeline: function() {},
3804                            warn: function() {}
3805                        }
3806                    },
3807                    destroy: function() {
3808                        o.verbose("Destroying previous site for", g), g.removeData(h)
3809                    },
3810                    cache: {},
3811                    setting: function(t, n) {
3812                        if (e.isPlainObject(t)) e.extend(!0, d, t);
3813                        else {
3814                            if (void 0 === n) return d[t];
3815                            d[t] = n
3816                        }
3817                    },
3818                    internal: function(t, n) {
3819                        if (e.isPlainObject(t)) e.extend(!0, o, t);
3820                        else {
3821                            if (void 0 === n) return o[t];
3822                            o[t] = n
3823                        }
3824                    },
3825                    debug: function() {
3826                        d.debug && (d.performance ? o.performance.log(arguments) : (o.debug = Function.prototype.bind.call(console.info, console, d.name + ":"), o.debug.apply(console, arguments)))
3827                    },
3828                    verbose: function() {
3829                        d.verbose && d.debug && (d.performance ? o.performance.log(arguments) : (o.verbose = Function.prototype.bind.call(console.info, console, d.name + ":"), o.verbose.apply(console, arguments)))
3830                    },
3831                    error: function() {
3832                        o.error = Function.prototype.bind.call(console.error, console, d.name + ":"), o.error.apply(console, arguments)
3833                    },
3834                    performance: {
3835                        log: function(e) {
3836                            var t, n, i;
3837                            d.performance && (t = (new Date).getTime(), i = a || t, n = t - i, a = t, s.push({
3838                                Element: v,
3839                                Name: e[0],
3840                                Arguments: [].slice.call(e, 1) || "",
3841                                "Execution Time": n
3842                            })), clearTimeout(o.performance.timer), o.performance.timer = setTimeout(o.performance.display, 500)
3843                        },
3844                        display: function() {
3845                            var t = d.name + ":",
3846                                n = 0;
3847                            a = !1, clearTimeout(o.performance.timer), e.each(s, function(e, t) {
3848                                n += t["Execution Time"]
3849                            }), t += " " + n + "ms", (void 0 !== console.group || void 0 !== console.table) && s.length > 0 && (console.table || e.each(s, function(e, t) {})), s = []
3850                        }
3851                    },
3852                    invoke: function(t, n, i) {
3853                        var a, s, l, c = b;
3854                        return n = n || u, i = v || i, "string" == typeof t && void 0 !== c && (t = t.split(/[\. ]/), a = t.length - 1, e.each(t, function(n, i) {
3855                            var r = n != a ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
3856                            if (e.isPlainObject(c[r]) && n != a) c = c[r];
3857                            else {
3858                                if (void 0 !== c[r]) return s = c[r], !1;
3859                                if (!e.isPlainObject(c[i]) || n == a) return void 0 !== c[i] ? (s = c[i], !1) : (o.error(p.method, t), !1);
3860                                c = c[i]
3861                            }
3862                        })), e.isFunction(s) ? l = s.apply(i, n) : void 0 !== s && (l = s), e.isArray(r) ? r.push(l) : void 0 !== r ? r = [r, l] : void 0 !== l && (r = l), s
3863                    }
3864                }, c ? (void 0 === b && o.initialize(), o.invoke(l)) : (void 0 !== b && o.destroy(), o.initialize()), void 0 !== r ? r : this
3865            }, e.site.settings = {
3866                name: "Site",
3867                namespace: "site",
3868                error: {
3869                    console: "Console cannot be restored, most likely it was overwritten outside of module",
3870                    method: "The method you called is not defined."
3871                },
3872                debug: !1,
3873                verbose: !1,
3874                performance: !0,
3875                modules: ["accordion", "api", "checkbox", "dimmer", "dropdown", "embed", "form", "modal", "nag", "popup", "rating", "shape", "sidebar", "state", "sticky", "tab", "transition", "visit", "visibility"],
3876                siteNamespace: "site",
3877                namespaceStub: {
3878                    cache: {},
3879                    config: {},
3880                    sections: {},
3881                    section: {},
3882                    utilities: {}
3883                }
3884            }, e.extend(e.expr[":"], {
3885                data: e.expr.createPseudo ? e.expr.createPseudo(function(t) {
3886                    return function(n) {
3887                        return !!e.data(n, t)
3888                    }
3889                }) : function(t, n, i) {
3890                    return !!e.data(t, i[3])
3891                }
3892            })
3893        }(jQuery, window, document),
3894        function(e, t, n, i) {
3895            "use strict";
3896            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.form = function(t) {
3897                var i, o = e(this),
3898                    r = o.selector || "",
3899                    a = (new Date).getTime(),
3900                    s = [],
3901                    l = arguments[0],
3902                    c = arguments[1],
3903                    u = "string" == typeof l,
3904                    d = [].slice.call(arguments, 1);
3905                return o.each(function() {
3906                    var f, p, h, m, g, v, b, y, x, w, C, k, S, T, A, E, D, O, F, j = e(this),
3907                        q = this,
3908                        L = [],
3909                        N = !1;
3910                    F = {
3911                        initialize: function() {
3912                            F.get.settings(), u ? (void 0 === O && F.instantiate(), F.invoke(l)) : (void 0 !== O && O.invoke("destroy"), F.verbose("Initializing form validation", j, y), F.bindEvents(), F.set.defaults(), F.instantiate())
3913                        },
3914                        instantiate: function() {
3915                            F.verbose("Storing instance of module", F), O = F, j.data(E, F)
3916                        },
3917                        destroy: function() {
3918                            F.verbose("Destroying previous module", O), F.removeEvents(), j.removeData(E)
3919                        },
3920                        refresh: function() {
3921                            F.verbose("Refreshing selector cache"), f = j.find(C.field), p = j.find(C.group), h = j.find(C.message), m = j.find(C.prompt), g = j.find(C.submit), v = j.find(C.clear), b = j.find(C.reset)
3922                        },
3923                        submit: function() {
3924                            F.verbose("Submitting form", j), j.submit()
3925                        },
3926                        attachEvents: function(t, n) {
3927                            n = n || "submit", e(t).on("click" + D, function(e) {
3928                                F[n](), e.preventDefault()
3929                            })
3930                        },
3931                        bindEvents: function() {
3932                            F.verbose("Attaching form events"), j.on("submit" + D, F.validate.form).on("blur" + D, C.field, F.event.field.blur).on("click" + D, C.submit, F.submit).on("click" + D, C.reset, F.reset).on("click" + D, C.clear, F.clear), y.keyboardShortcuts && j.on("keydown" + D, C.field, F.event.field.keydown), f.each(function() {
3933                                var t = e(this),
3934                                    n = t.prop("type"),
3935                                    i = F.get.changeEvent(n, t);
3936                                e(this).on(i + D, F.event.field.change)
3937                            })
3938                        },
3939                        clear: function() {
3940                            f.each(function() {
3941                                var t = e(this),
3942                                    n = t.parent(),
3943                                    i = t.closest(p),
3944                                    o = i.find(C.prompt),
3945                                    r = t.data(w.defaultValue) || "",
3946                                    a = n.is(C.uiCheckbox),
3947                                    s = n.is(C.uiDropdown);
3948                                i.hasClass(k.error) && (F.verbose("Resetting error on field", i), i.removeClass(k.error), o.remove()), s ? (F.verbose("Resetting dropdown value", n, r), n.dropdown("clear")) : a ? t.prop("checked", !1) : (F.verbose("Resetting field value", t, r), t.val(""))
3949                            })
3950                        },
3951                        reset: function() {
3952                            f.each(function() {
3953                                var t = e(this),
3954                                    n = t.parent(),
3955                                    i = t.closest(p),
3956                                    o = i.find(C.prompt),
3957                                    r = t.data(w.defaultValue),
3958                                    a = n.is(C.uiCheckbox),
3959                                    s = n.is(C.uiDropdown),
3960                                    l = i.hasClass(k.error);
3961                                void 0 !== r && (l && (F.verbose("Resetting error on field", i), i.removeClass(k.error), o.remove()), s ? (F.verbose("Resetting dropdown value", n, r), n.dropdown("restore defaults")) : a ? (F.verbose("Resetting checkbox value", n, r), t.prop("checked", r)) : (F.verbose("Resetting field value", t, r), t.val(r)))
3962                            })
3963                        },
3964                        determine: {
3965                            isValid: function() {
3966                                var t = !0;
3967                                return e.each(x, function(e, n) {
3968                                    F.validate.field(n, e, !0) || (t = !1)
3969                                }), t
3970                            }
3971                        },
3972                        is: {
3973                            bracketedRule: function(e) {
3974                                return e.type && e.type.match(y.regExp.bracket)
3975                            },
3976                            empty: function(e) {
3977                                return !e || 0 === e.length || (e.is('input[type="checkbox"]') ? !e.is(":checked") : F.is.blank(e))
3978                            },
3979                            blank: function(t) {
3980                                return "" === e.trim(t.val())
3981                            },
3982                            valid: function(t) {
3983                                var n = !0;
3984                                return t ? (F.verbose("Checking if field is valid", t), F.validate.field(x[t], t, !1)) : (F.verbose("Checking if form is valid"), e.each(x, function(e, t) {
3985                                    F.is.valid(e) || (n = !1)
3986                                }), n)
3987                            }
3988                        },
3989                        removeEvents: function() {
3990                            j.off(D), f.off(D), g.off(D), f.off(D)
3991                        },
3992                        event: {
3993                            field: {
3994                                keydown: function(t) {
3995                                    var n = e(this),
3996                                        i = t.which,
3997                                        o = n.is(C.input),
3998                                        r = n.is(C.checkbox),
3999                                        a = n.closest(C.uiDropdown).length > 0,
4000                                        s = {
4001                                            enter: 13,
4002                                            escape: 27
4003                                        };
4004                                    i == s.escape && (F.verbose("Escape key pressed blurring field"), n.blur()), t.ctrlKey || i != s.enter || !o || a || r || (N || (n.one("keyup" + D, F.event.field.keyup), F.submit(), F.debug("Enter pressed on input submitting form")), N = !0)
4005                                },
4006                                keyup: function() {
4007                                    N = !1
4008                                },
4009                                blur: function(t) {
4010                                    var n = e(this),
4011                                        i = n.closest(p),
4012                                        o = F.get.validation(n);
4013                                    i.hasClass(k.error) ? (F.debug("Revalidating field", n, o), o && F.validate.field(o)) : "blur" != y.on && "change" != y.on || o && F.validate.field(o)
4014                                },
4015                                change: function(t) {
4016                                    var n = e(this),
4017                                        i = n.closest(p),
4018                                        o = F.get.validation(n);
4019                                    o && ("change" == y.on || i.hasClass(k.error) && y.revalidate) && (clearTimeout(F.timer), F.timer = setTimeout(function() {
4020                                        F.debug("Revalidating field", n, F.get.validation(n)), F.validate.field(o)
4021                                    }, y.delay))
4022                                }
4023                            }
4024                        },
4025                        get: {
4026                            ancillaryValue: function(e) {
4027                                return !(!e.type || !e.value && !F.is.bracketedRule(e)) && (void 0 !== e.value ? e.value : e.type.match(y.regExp.bracket)[1] + "")
4028                            },
4029                            ruleName: function(e) {
4030                                return F.is.bracketedRule(e) ? e.type.replace(e.type.match(y.regExp.bracket)[0], "") : e.type
4031                            },
4032                            changeEvent: function(e, t) {
4033                                return "checkbox" == e || "radio" == e || "hidden" == e || t.is("select") ? "change" : F.get.inputEvent()
4034                            },
4035                            inputEvent: function() {
4036                                return void 0 !== n.createElement("input").oninput ? "input" : void 0 !== n.createElement("input").onpropertychange ? "propertychange" : "keyup"
4037                            },
4038                            prompt: function(e, t) {
4039                                var n, i, o, r = F.get.ruleName(e),
4040                                    a = F.get.ancillaryValue(e),
4041                                    s = e.prompt || y.prompt[r] || y.text.unspecifiedRule,
4042                                    l = -1 !== s.search("{value}"),
4043                                    c = -1 !== s.search("{name}");
4044                                return (c || l) && (i = F.get.field(t.identifier)), l && (s = s.replace("{value}", i.val())), c && (n = i.closest(C.group).find("label").eq(0), o = 1 == n.length ? n.text() : i.prop("placeholder") || y.text.unspecifiedField, s = s.replace("{name}", o)), s = s.replace("{identifier}", t.identifier), s = s.replace("{ruleValue}", a), e.prompt || F.verbose("Using default validation prompt for type", s, r), s
4045                            },
4046                            settings: function() {
4047                                if (e.isPlainObject(t)) {
4048                                    var n, i = Object.keys(t);
4049                                    i.length > 0 && void 0 !== t[i[0]].identifier && void 0 !== t[i[0]].rules ? (y = e.extend(!0, {}, e.fn.form.settings, c), x = e.extend({}, e.fn.form.settings.defaults, t), F.error(y.error.oldSyntax, q), F.verbose("Extending settings from legacy parameters", x, y)) : (t.fields && (n = Object.keys(t.fields), ("string" == typeof t.fields[n[0]] || e.isArray(t.fields[n[0]])) && e.each(t.fields, function(n, i) {
4050                                        "string" == typeof i && (i = [i]), t.fields[n] = {
4051                                            rules: []
4052                                        }, e.each(i, function(e, i) {
4053                                            t.fields[n].rules.push({
4054                                                type: i
4055                                            })
4056                                        })
4057                                    })), y = e.extend(!0, {}, e.fn.form.settings, t), x = e.extend({}, e.fn.form.settings.defaults, y.fields), F.verbose("Extending settings", x, y))
4058                                } else y = e.fn.form.settings, x = e.fn.form.settings.defaults, F.verbose("Using default form validation", x, y);
4059                                A = y.namespace, w = y.metadata, C = y.selector, k = y.className, S = y.regExp, T = y.error, E = "module-" + A, D = "." + A, O = j.data(E), F.refresh()
4060                            },
4061                            field: function(t) {
4062                                return F.verbose("Finding field with identifier", t), t = F.escape.string(t), f.filter("#" + t).length >
4062 0 ? f.filter("#" + t) : f.filter('[name="' + t + '"]').length > 0 ? f.filter('[name="' + t + '"]') : f.filter('[name="' + t + '[]"]').length > 0 ? f.filter('[name="' + t + '[]"]') : f.filter("[data-" + w.validate + '="' + t + '"]').length > 0 ? f.filter("[data-" + w.validate + '="' + t + '"]') : e("<input/>")
4063                            },
4064                            fields: function(t) {
4065                                var n = e();
4066                                return e.each(t, function(e, t) {
4067                                    n = n.add(F.get.field(t))
4068                                }), n
4069                            },
4070                            validation: function(t) {
4071                                var n, i;
4072                                return !!x && (e.each(x, function(e, o) {
4073                                    i = o.identifier || e, F.get.field(i)[0] == t[0] && (o.identifier = i, n = o)
4074                                }), n || !1)
4075                            },
4076                            value: function(e) {
4077                                var t, n = [];
4078                                return n.push(e), t = F.get.values.call(q, n), t[e]
4079                            },
4080                            values: function(t) {
4081                                var n = e.isArray(t) ? F.get.fields(t) : f,
4082                                    i = {};
4083                                return n.each(function(t, n) {
4084                                    var o = e(n),
4085                                        r = (o.prop("type"), o.prop("name")),
4086                                        a = o.val(),
4087                                        s = o.is(C.checkbox),
4088                                        l = o.is(C.radio),
4089                                        c = -1 !== r.indexOf("[]"),
4090                                        u = !!s && o.is(":checked");
4091                                    r && (c ? (r = r.replace("[]", ""), i[r] || (i[r] = []), s ? u ? i[r].push(a || !0) : i[r].push(!1) : i[r].push(a)) : l ? u && (i[r] = a) : i[r] = s ? !!u && (a || !0) : a)
4092                                }), i
4093                            }
4094                        },
4095                        has: {
4096                            field: function(e) {
4097                                return F.verbose("Checking for existence of a field with identifier", e), e = F.escape.string(e), "string" != typeof e && F.error(T.identifier, e), f.filter("#" + e).length > 0 || f.filter('[name="' + e + '"]').length > 0 || f.filter("[data-" + w.validate + '="' + e + '"]').length > 0
4098                            }
4099                        },
4100                        escape: {
4101                            string: function(e) {
4102                                return e = String(e), e.replace(S.escape, "\\$&")
4103                            }
4104                        },
4105                        add: {
4106                            prompt: function(t, n) {
4107                                var i = F.get.field(t),
4108                                    o = i.closest(p),
4109                                    r = o.children(C.prompt),
4110                                    a = 0 !== r.length;
4111                                n = "string" == typeof n ? [n] : n, F.verbose("Adding field error state", t), o.addClass(k.error), y.inline && (a || (r = y.templates.prompt(n), r.appendTo(o)), r.html(n[0]), a ? F.verbose("Inline errors are disabled, no inline error added", t) : y.transition && void 0 !== e.fn.transition && j.transition("is supported") ? (F.verbose("Displaying error with css transition", y.transition), r.transition(y.transition + " in", y.duration)) : (F.verbose("Displaying error with fallback javascript animation"), r.fadeIn(y.duration)))
4112                            },
4113                            errors: function(e) {
4114                                F.debug("Adding form error messages", e), F.set.error(), h.html(y.templates.error(e))
4115                            }
4116                        },
4117                        remove: {
4118                            prompt: function(t) {
4119                                var n = F.get.field(t),
4120                                    i = n.closest(p),
4121                                    o = i.children(C.prompt);
4122                                i.removeClass(k.error), y.inline && o.is(":visible") && (F.verbose("Removing prompt for field", t), y.transition && void 0 !== e.fn.transition && j.transition("is supported") ? o.transition(y.transition + " out", y.duration, function() {
4123                                    o.remove()
4124                                }) : o.fadeOut(y.duration, function() {
4125                                    o.remove()
4126                                }))
4127                            }
4128                        },
4129                        set: {
4130                            success: function() {
4131                                j.removeClass(k.error).addClass(k.success)
4132                            },
4133                            defaults: function() {
4134                                f.each(function() {
4135                                    var t = e(this),
4136                                        n = t.filter(C.checkbox).length > 0,
4137                                        i = n ? t.is(":checked") : t.val();
4138                                    t.data(w.defaultValue, i)
4139                                })
4140                            },
4141                            error: function() {
4142                                j.removeClass(k.success).addClass(k.error)
4143                            },
4144                            value: function(e, t) {
4145                                var n = {};
4146                                return n[e] = t, F.set.values.call(q, n)
4147                            },
4148                            values: function(t) {
4149                                e.isEmptyObject(t) || e.each(t, function(t, n) {
4150                                    var i, o = F.get.field(t),
4151                                        r = o.parent(),
4152                                        a = e.isArray(n),
4153                                        s = r.is(C.uiCheckbox),
4154                                        l = r.is(C.uiDropdown),
4155                                        c = o.is(C.radio) && s;
4156                                    o.length > 0 && (a && s ? (F.verbose("Selecting multiple", n, o), r.checkbox("uncheck"), e.each(n, function(e, t) {
4157                                        i = o.filter('[value="' + t + '"]'), r = i.parent(), i.length > 0 && r.checkbox("check")
4158                                    })) : c ? (F.verbose("Selecting radio value", n, o), o.filter('[value="' + n + '"]').parent(C.uiCheckbox).checkbox("check")) : s ? (F.verbose("Setting checkbox value", n, r), !0 === n ? r.checkbox("check") : r.checkbox("uncheck")) : l ? (F.verbose("Setting dropdown value", n, r), r.dropdown("set selected", n)) : (F.verbose("Setting field value", n, o), o.val(n)))
4159                                })
4160                            }
4161                        },
4162                        validate: {
4163                            form: function(e, t) {
4164                                var n = F.get.values();
4165                                if (N) return !1;
4166                                if (L = [], F.determine.isValid()) {
4167                                    if (F.debug("Form has no validation errors, submitting"), F.set.success(), !0 !== t) return y.onSuccess.call(q, e, n)
4168                                } else if (F.debug("Form has errors"), F.set.error(), y.inline || F.add.errors(L), void 0 !== j.data("moduleApi") && e.stopImmediatePropagation(), !0 !== t) return y.onFailure.call(q, L, n)
4169                            },
4170                            field: function(t, n, i) {
4171                                i = void 0 === i || i, "string" == typeof t && (F.verbose("Validating field", t), n = t, t = x[t]);
4172                                var o = t.identifier || n,
4173                                    r = F.get.field(o),
4174                                    a = !!t.depends && F.get.field(t.depends),
4175                                    s = !0,
4176                                    l = [];
4177                                return t.identifier || (F.debug("Using field name as identifier", o), t.identifier = o), r.prop("disabled") ? (F.debug("Field is disabled. Skipping", o), s = !0) : t.optional && F.is.blank(r) ? (F.debug("Field is optional and blank. Skipping", o), s = !0) : t.depends && F.is.empty(a) ? (F.debug("Field depends on another value that is not present or empty. Skipping", a), s = !0) : void 0 !== t.rules && e.each(t.rules, function(e, n) {
4178                                    F.has.field(o) && !F.validate.rule(t, n) && (F.debug("Field is invalid", o, n.type), l.push(F.get.prompt(n, t)), s = !1)
4179                                }), s ? (i && (F.remove.prompt(o, l), y.onValid.call(r)), !0) : (i && (L = L.concat(l), F.add.prompt(o, l), y.onInvalid.call(r, l)), !1)
4180                            },
4181                            rule: function(t, n) {
4182                                var i = F.get.field(t.identifier),
4183                                    o = (n.type, i.val()),
4184                                    r = F.get.ancillaryValue(n),
4185                                    a = F.get.ruleName(n),
4186                                    s = y.rules[a];
4187                                return e.isFunction(s) ? (o = void 0 === o || "" === o || null === o ? "" : e.trim(o + ""), s.call(i, o, r)) : void F.error(T.noRule, a)
4188                            }
4189                        },
4190                        setting: function(t, n) {
4191                            if (e.isPlainObject(t)) e.extend(!0, y, t);
4192                            else {
4193                                if (void 0 === n) return y[t];
4194                                y[t] = n
4195                            }
4196                        },
4197                        internal: function(t, n) {
4198                            if (e.isPlainObject(t)) e.extend(!0, F, t);
4199                            else {
4200                                if (void 0 === n) return F[t];
4201                                F[t] = n
4202                            }
4203                        },
4204                        debug: function() {
4205                            !y.silent && y.debug && (y.performance ? F.performance.log(arguments) : (F.debug = Function.prototype.bind.call(console.info, console, y.name + ":"), F.debug.apply(console, arguments)))
4206                        },
4207                        verbose: function() {
4208                            !y.silent && y.verbose && y.debug && (y.performance ? F.performance.log(arguments) : (F.verbose = Function.prototype.bind.call(console.info, console, y.name + ":"), F.verbose.apply(console, arguments)))
4209                        },
4210                        error: function() {
4211                            y.silent || (F.error = Function.prototype.bind.call(console.error, console, y.name + ":"), F.error.apply(console, arguments))
4212                        },
4213                        performance: {
4214                            log: function(e) {
4215                                var t, n, i;
4216                                y.performance && (t = (new Date).getTime(), i = a || t, n = t - i, a = t, s.push({
4217                                    Name: e[0],
4218                                    Arguments: [].slice.call(e, 1) || "",
4219                                    Element: q,
4220                                    "Execution Time": n
4221                                })), clearTimeout(F.performance.timer), F.performance.timer = setTimeout(F.performance.display, 500)
4222                            },
4223                            display: function() {
4224                                var t = y.name + ":",
4225                                    n = 0;
4226                                a = !1, clearTimeout(F.performance.timer), e.each(s, function(e, t) {
4227                                    n += t["Execution Time"]
4228                                }), t += " " + n + "ms", r && (t += " '" + r + "'"), o.length > 1 && (t += " (" + o.length + ")"), (void 0 !== console.group || void 0 !== console.table) && s.length > 0 && (console.table || e.each(s, function(e, t) {})), s = []
4229                            }
4230                        },
4231                        invoke: function(t, n, o) {
4232                            var r, a, s, l = O;
4233                            return n = n || d, o = q || o, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
4234                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
4235                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
4236                                else {
4237                                    if (void 0 !== l[o]) return a = l[o], !1;
4238                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] && (a = l[i], !1);
4239                                    l = l[i]
4240                                }
4241                            })), e.isFunction(a) ? s = a.apply(o, n) : void 0 !== a && (s = a), e.isArray(i) ? i.push(s) : void 0 !== i ? i = [i, s] : void 0 !== s && (i = s), a
4242                        }
4243                    }, F.initialize()
4244                }), void 0 !== i ? i : this
4245            }, e.fn.form.settings = {
4246                name: "Form",
4247                namespace: "form",
4248                debug: !1,
4249                verbose: !1,
4250                performance: !0,
4251                fields: !1,
4252                keyboardShortcuts: !0,
4253                on: "submit",
4254                inline: !1,
4255                delay: 200,
4256                revalidate: !0,
4257                transition: "scale",
4258                duration: 200,
4259                onValid: function() {},
4260                onInvalid: function() {},
4261                onSuccess: function() {
4262                    return !0
4263                },
4264                onFailure: function() {
4265                    return !1
4266                },
4267                metadata: {
4268                    defaultValue: "default",
4269                    validate: "validate"
4270                },
4271                regExp: {
4272                    htmlID: /^[a-zA-Z][\w:.-]*$/g,
4273                    bracket: /\[(.*)\]/i,
4274                    decimal: /^\d+\.?\d*$/,
4275                    email: /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,
4276                    escape: /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,
4277                    flags: /^\/(.*)\/(.*)?/,
4278                    integer: /^\-?\d+$/,
4279                    number: /^\-?\d*(\.\d+)?$/,
4280                    url: /(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/i
4281                },
4282                text: {
4283                    unspecifiedRule: "Please enter a valid value",
4284                    unspecifiedField: "This field"
4285                },
4286                prompt: {
4287                    empty: "{name} must have a value",
4288                    checked: "{name} must be checked",
4289                    email: "{name} must be a valid e-mail",
4290                    url: "{name} must be a valid url",
4291                    regExp: "{name} is not formatted correctly",
4292                    integer: "{name} must be an integer",
4293                    decimal: "{name} must be a decimal number",
4294                    number: "{name} must be set to a number",
4295                    is: '{name} must be "{ruleValue}"',
4296                    isExactly: '{name} must be exactly "{ruleValue}"',
4297                    not: '{name} cannot be set to "{ruleValue}"',
4298                    notExactly: '{name} cannot be set to exactly "{ruleValue}"',
4299                    contain: '{name} cannot contain "{ruleValue}"',
4300                    containExactly: '{name} cannot contain exactly "{ruleValue}"',
4301                    doesntContain: '{name} must contain  "{ruleValue}"',
4302                    doesntContainExactly: '{name} must contain exactly "{ruleValue}"',
4303                    minLength: "{name} must be at least {ruleValue} characters",
4304                    length: "{name} must be at least {ruleValue} characters",
4305                    exactLength: "{name} must be exactly {ruleValue} characters",
4306                    maxLength: "{name} cannot be longer than {ruleValue} characters",
4307                    match: "{name} must match {ruleValue} field",
4308                    different: "{name} must have a different value than {ruleValue} field",
4309                    creditCard: "{name} must be a valid credit card number",
4310                    minCount: "{name} must have at least {ruleValue} choices",
4311                    exactCount: "{name} must have exactly {ruleValue} choices",
4312                    maxCount: "{name} must have {ruleValue} or less choices"
4313                },
4314                selector: {
4315                    checkbox: 'input[type="checkbox"], input[type="radio"]',
4316                    clear: ".clear",
4317                    field: "input, textarea, select",
4318                    group: ".field",
4319                    input: "input",
4320                    message: ".error.message",
4321                    prompt: ".prompt.label",
4322                    radio: 'input[type="radio"]',
4323                    reset: '.reset:not([type="reset"])',
4324                    submit: '.submit:not([type="submit"])',
4325                    uiCheckbox: ".ui.checkbox",
4326                    uiDropdown: ".ui.dropdown"
4327                },
4328                className: {
4329                    error: "error",
4330                    label: "ui prompt label",
4331                    pressed: "down",
4332                    success: "success"
4333                },
4334                error: {
4335                    identifier: "You must specify a string identifier for each field",
4336                    method: "The method you called is not defined.",
4337                    noRule: "There is no rule matching the one you specified",
4338                    oldSyntax: "Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically."
4339                },
4340                templates: {
4341                    error: function(t) {
4342                        var n = '<ul class="list">';
4343                        return e.each(t, function(e, t) {
4344                            n += "<li>" + t + "</li>"
4345                        }), n += "</ul>", e(n)
4346                    },
4347                    prompt: function(t) {
4348                        return e("<div/>").addClass("ui basic red pointing prompt label").html(t[0])
4349                    }
4350                },
4351                rules: {
4352                    empty: function(t) {
4353                        return !(void 0 === t || "" === t || e.isArray(t) && 0 === t.length)
4354                    },
4355                    checked: function() {
4356                        return e(this).filter(":checked").length > 0
4357                    },
4358                    email: function(t) {
4359                        return e.fn.form.settings.regExp.email.test(t)
4360                    },
4361                    url: function(t) {
4362                        return e.fn.form.settings.regExp.url.test(t)
4363                    },
4364                    regExp: function(t, n) {
4365                        if (n instanceof RegExp) return t.match(n);
4366                        var i, o = n.match(e.fn.form.settings.regExp.flags);
4367                        return o && (n = o.length >= 2 ? o[1] : n, i = o.length >= 3 ? o[2] : ""), t.match(new RegExp(n, i))
4368                    },
4369                    integer: function(t, n) {
4370                        var i, o, r, a = e.fn.form.settings.regExp.integer;
4371                        return n && -1 === ["", ".."].indexOf(n) && (-1 == n.indexOf("..") ? a.test(n) && (i = o = n - 0) : (r = n.split("..", 2), a.test(r[0]) && (i = r[0] - 0), a.test(r[1]) && (o = r[1] - 0))), a.test(t) && (void 0 === i || t >= i) && (void 0 === o || t <= o)
4372                    },
4373                    decimal: function(t) {
4374                        return e.fn.form.settings.regExp.decimal.test(t)
4375                    },
4376                    number: function(t) {
4377                        return e.fn.form.settings.regExp.number.test(t)
4378                    },
4379                    is: function(e, t) {
4380                        return t = "string" == typeof t ? t.toLowerCase() : t, (e = "string" == typeof e ? e.toLowerCase() : e) == t
4381                    },
4382                    isExactly: function(e, t) {
4383                        return e == t
4384                    },
4385                    not: function(e, t) {
4386                        return e = "string" == typeof e ? e.toLowerCase() : e, t = "string" == typeof t ? t.toLowerCase() : t, e != t
4387                    },
4388                    notExactly: function(e, t) {
4389                        return e != t
4390                    },
4391                    contains: function(t, n) {
4392                        return n = n.replace(e.fn.form.settings.regExp.escape, "\\$&"), -1 !== t.search(new RegExp(n, "i"))
4393                    },
4394                    containsExactly: function(t, n) {
4395                        return n = n.replace(e.fn.form.settings.regExp.escape, "\\$&"), -1 !== t.search(new RegExp(n))
4396                    },
4397                    doesntContain: function(t, n) {
4398                        return n = n.replace(e.fn.form.settings.regExp.escape, "\\$&"), -1 === t.search(new RegExp(n, "i"))
4399                    },
4400                    doesntContainExactly: function(t, n) {
4401                        return n = n.replace(e.fn.form.settings.regExp.escape, "\\$&"), -1 === t.search(new RegExp(n))
4402                    },
4403                    minLength: function(e, t) {
4404                        return void 0 !== e && e.length >= t
4405                    },
4406                    length: function(e, t) {
4407                        return void 0 !== e && e.length >= t
4408                    },
4409                    exactLength: function(e, t) {
4410                        return void 0 !== e && e.length == t
4411                    },
4412                    maxLength: function(e, t) {
4413                        return void 0 !== e && e.length <= t
4414                    },
4415                    match: function(t, n) {
4416                        var i;
4417                        return e(this), e('[data-validate="' + n + '"]').length > 0 ? i = e('[data-validate="' + n + '"]').val() : e("#" + n).length > 0 ? i = e("#" + n).val() : e('[name="' + n + '"]').length > 0 ? i = e('[name="' + n + '"]').val() : e('[name="' + n + '[]"]').length > 0 && (i = e('[name="' + n + '[]"]')), void 0 !== i && t.toString() == i.toString()
4418                    },
4419                    different: function(t, n) {
4420                        var i;
4421                        return e(this), e('[data-validate="' + n + '"]').length > 0 ? i = e('[data-validate="' + n + '"]').val() : e("#" + n).length > 0 ? i = e("#" + n).val() : e('[name="' + n + '"]').length > 0 ? i = e('[name="' + n + '"]').val() : e('[name="' + n + '[]"]').length > 0 && (i = e('[name="' + n + '[]"]')), void 0 !== i && t.toString() !== i.toString()
4422                    },
4423                    creditCard: function(t, n) {
4424                        var i, o, r = {
4425                                visa: {
4426                                    pattern: /^4/,
4427                                    length: [16]
4428                                },
4429                                amex: {
4430                                    pattern: /^3[47]/,
4431                                    length: [15]
4432                                },
4433                                mastercard: {
4434                                    pattern: /^5[1-5]/,
4435                                    length: [16]
4436                                },
4437                                discover: {
4438                                    pattern: /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,
4439                                    length: [16]
4440                                },
4441                                unionPay: {
4442                                    pattern: /^(62|88)/,
4443                                    length: [16, 17, 18, 19]
4444                                },
4445                                jcb: {
4446                                    pattern: /^35(2[89]|[3-8][0-9])/,
4447                                    length: [16]
4448                                },
4449                                maestro: {
4450                                    pattern: /^(5018|5020|5038|6304|6759|676[1-3])/,
4451                                    length: [12, 13, 14, 15, 16, 17, 18, 19]
4452                                },
4453                                dinersClub: {
4454                                    pattern: /^(30[0-5]|^36)/,
4455                                    length: [14]
4456                                },
4457                                laser: {
4458                                    pattern: /^(6304|670[69]|6771)/,
4459                                    length: [16, 17, 18, 19]
4460                                },
4461                                visaElectron: {
4462                                    pattern: /^(4026|417500|4508|4844|491(3|7))/,
4463                                    length: [16]
4464                                }
4465                            },
4466                            a = {},
4467                            s = !1,
4468                            l = "string" == typeof n && n.split(",");
4469                        if ("string" == typeof t && 0 !== t.length) {
4470                            if (t = t.replace(/[\-]/g, ""), l && (e.each(l, function(n, i) {
4471                                    (o = r[i]) && (a = {
4472                                        length: -1 !== e.inArray(t.length, o.length),
4473                                        pattern: -1 !== t.search(o.pattern)
4474                                    }, a.length && a.pattern && (s = !0))
4475                                }), !s)) return !1;
4476                            if (i = {
4477                                    number: -1 !== e.inArray(t.length, r.unionPay.length),
4478                                    pattern: -1 !== t.search(r.unionPay.pattern)
4479                                }, i.number && i.pattern) return !0;
4480                            for (var c = t.length, u = 0, d = [
4481                                    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
4482                                    [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4483                                ], f = 0; c--;) f += d[u][parseInt(t.charAt(c), 10)], u ^= 1;
4484                            return f % 10 == 0 && f > 0
4485                        }
4486                    },
4487                    minCount: function(e, t) {
4488                        return 0 == t || (1 == t ? "" !== e : e.split(",").length >= t)
4489                    },
4490                    exactCount: function(e, t) {
4491                        return 0 == t ? "" === e : 1 == t ? "" !== e && -1 === e.search(",") : e.split(",").length == t
4492                    },
4493                    maxCount: function(e, t) {
4494                        return 0 != t && (1 == t ? -1 === e.search(",") : e.split(",").length <= t)
4495                    }
4496                }
4497            }
4498        }(jQuery, window, document),
4499        function(e, t, n, i) {
4500            "use strict";
4501            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.accordion = function(n) {
4502                var i, o = e(this),
4503                    r = (new Date).getTime(),
4504                    a = [],
4505                    s = arguments[0],
4506                    l = "string" == typeof s,
4507                    c = [].slice.call(arguments, 1);
4508                return t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame, o.each(function() {
4509                    var u, d, f = e.isPlainObject(n) ? e.extend(!0, {}, e.fn.accordion.settings, n) : e.extend({}, e.fn.accordion.settings),
4510                        p = f.className,
4511                        h = f.namespace,
4512                        m = f.selector,
4513                        g = f.error,
4514                        v = "." + h,
4515                        b = "module-" + h,
4516                        y = o.selector || "",
4517                        x = e(this),
4518                        w = x.find(m.title),
4519                        C = x.find(m.content),
4520                        k = this,
4521                        S = x.data(b);
4522                    d = {
4523                        initialize: function() {
4524                            d.debug("Initializing", x), d.bind.events(), f.observeChanges && d.observeChanges(), d.instantiate()
4525                        },
4526                        instantiate: function() {
4527                            S = d, x.data(b, d)
4528                        },
4529                        destroy: function() {
4530                            d.debug("Destroying previous instance", x), x.off(v).removeData(b)
4531                        },
4532                        refresh: function() {
4533                            w = x.find(m.title), C = x.find(m.content)
4534                        },
4535                        observeChanges: function() {
4536                            "MutationObserver" in t && (u = new MutationObserver(function(e) {
4537                                d.debug("DOM tree modified, updating selector cache"), d.refresh()
4538                            }), u.observe(k, {
4539                                childList: !0,
4540                                subtree: !0
4541                            }), d.debug("Setting up mutation observer", u))
4542                        },
4543                        bind: {
4544                            events: function() {
4545                                d.debug("Binding delegated events"), x.on(f.on + v, m.trigger, d.event.click)
4546                            }
4547                        },
4548                        event: {
4549                            click: function() {
4550                                d.toggle.call(this)
4551                            }
4552                        },
4553                        toggle: function(t) {
4554                            var n = void 0 !== t ? "number" == typeof t ? w.eq(t) : e(t).closest(m.title) : e(this).closest(m.title),
4555                                i = n.next(C),
4556                                o = i.hasClass(p.animating),
4557                                r = i.hasClass(p.active),
4558                                a = r && !o,
4559                                s = !r && o;
4560                            d.debug("Toggling visibility of content", n), a || s ? f.collapsible ? d.close.call(n) : d.debug("Cannot close accordion content collapsing is disabled") : d.open.call(n)
4561                        },
4562                        open: function(t) {
4563                            var n = void 0 !== t ? "number" == typeof t ? w.eq(t) : e(t).closest(m.title) : e(this).closest(m.title),
4564                                i = n.next(C),
4565                                o = i.hasClass(p.animating);
4566                            if (i.hasClass(p.active) || o) return void d.debug("Accordion already open, skipping", i);
4567                            d.debug("Opening accordion content", n), f.onOpening.call(i), f.exclusive && d.closeOthers.call(n), n.addClass(p.active), i.stop(!0, !0).addClass(p.animating), f.animateChildren && (void 0 !== e.fn.transition && x.transition("is supported") ? i.children().transition({
4568                                animation: "fade in",
4569                                queue: !1,
4570                                useFailSafe: !0,
4571                                debug: f.debug,
4572                                verbose: f.verbose,
4573                                duration: f.duration
4574                            }) : i.children().stop(!0, !0).animate({
4575                                opacity: 1
4576                            }, f.duration, d.resetOpacity)), i.slideDown(f.duration, f.easing, function() {
4577                                i.removeClass(p.animating).addClass(p.active), d.reset.display.call(this), f.onOpen.call(this), f.onChange.call(this)
4578                            })
4579                        },
4580                        close: function(t) {
4581                            var n = void 0 !== t ? "number" == typeof t ? w.eq(t) : e(t).closest(m.title) : e(this).closest(m.title),
4582                                i = n.next(C),
4583                                o = i.hasClass(p.animating),
4584                                r = i.hasClass(p.active),
4585                                a = !r && o,
4586                                s = r && o;
4587                            !r && !a || s || (d.debug("Closing accordion content", i), f.onClosing.call(i), n.removeClass(p.active), i.stop(!0, !0).addClass(p.animating), f.animateChildren && (void 0 !== e.fn.transition && x.transition("is supported") ? i.children().transition({
4588                                animation: "fade out",
4589                                queue: !1,
4590                                useFailSafe: !0,
4591                                debug: f.debug,
4592                                verbose: f.verbose,
4593                                duration: f.duration
4594                            }) : i.children().stop(!0, !0).animate({
4595                                opacity: 0
4596                            }, f.duration, d.resetOpacity)), i.slideUp(f.duration, f.easing, function() {
4597                                i.removeClass(p.animating).removeClass(p.active), d.reset.display.call(this), f.onClose.call(this), f.onChange.call(this)
4598                            }))
4599                        },
4600                        closeOthers: function(t) {
4601                            var n, i, o, r = void 0 !== t ? w.eq(t) : e(this).closest(m.title),
4602                                a = r.parents(m.content).prev(m.title),
4603                                s = r.closest(m.accordion),
4604                                l = m.title + "." + p.active + ":visible",
4605                                c = m.content + "." + p.active + ":visible";
4606                            f.closeNested ? (n = s.find(l).not(a), o = n.next(C)) : (n = s.find(l).not(a), i = s.find(c).find(l).not(a), n = n.not(i), o = n.next(C)), n.length > 0 && (d.debug("Exclusive enabled, closing other content", n), n.removeClass(p.active), o.removeClass(p.animating).stop(!0, !0), f.animateChildren && (void 0 !== e.fn.transition && x.transition("is supported") ? o.children().transition({
4607                                animation: "fade out",
4608                                useFailSafe: !0,
4609                                debug: f.debug,
4610                                verbose: f.verbose,
4611                                duration: f.duration
4612                            }) : o.children().stop(!0, !0).animate({
4613                                opacity: 0
4614                            }
4614, f.duration, d.resetOpacity)), o.slideUp(f.duration, f.easing, function() {
4615                                e(this).removeClass(p.active), d.reset.display.call(this)
4616                            }))
4617                        },
4618                        reset: {
4619                            display: function() {
4620                                d.verbose("Removing inline display from element", this), e(this).css("display", ""), "" === e(this).attr("style") && e(this).attr("style", "").removeAttr("style")
4621                            },
4622                            opacity: function() {
4623                                d.verbose("Removing inline opacity from element", this), e(this).css("opacity", ""), "" === e(this).attr("style") && e(this).attr("style", "").removeAttr("style")
4624                            }
4625                        },
4626                        setting: function(t, n) {
4627                            if (d.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, f, t);
4628                            else {
4629                                if (void 0 === n) return f[t];
4630                                e.isPlainObject(f[t]) ? e.extend(!0, f[t], n) : f[t] = n
4631                            }
4632                        },
4633                        internal: function(t, n) {
4634                            if (d.debug("Changing internal", t, n), void 0 === n) return d[t];
4635                            e.isPlainObject(t) ? e.extend(!0, d, t) : d[t] = n
4636                        },
4637                        debug: function() {
4638                            !f.silent && f.debug && (f.performance ? d.performance.log(arguments) : (d.debug = Function.prototype.bind.call(console.info, console, f.name + ":"), d.debug.apply(console, arguments)))
4639                        },
4640                        verbose: function() {
4641                            !f.silent && f.verbose && f.debug && (f.performance ? d.performance.log(arguments) : (d.verbose = Function.prototype.bind.call(console.info, console, f.name + ":"), d.verbose.apply(console, arguments)))
4642                        },
4643                        error: function() {
4644                            f.silent || (d.error = Function.prototype.bind.call(console.error, console, f.name + ":"), d.error.apply(console, arguments))
4645                        },
4646                        performance: {
4647                            log: function(e) {
4648                                var t, n, i;
4649                                f.performance && (t = (new Date).getTime(), i = r || t, n = t - i, r = t, a.push({
4650                                    Name: e[0],
4651                                    Arguments: [].slice.call(e, 1) || "",
4652                                    Element: k,
4653                                    "Execution Time": n
4654                                })), clearTimeout(d.performance.timer), d.performance.timer = setTimeout(d.performance.display, 500)
4655                            },
4656                            display: function() {
4657                                var t = f.name + ":",
4658                                    n = 0;
4659                                r = !1, clearTimeout(d.performance.timer), e.each(a, function(e, t) {
4660                                    n += t["Execution Time"]
4661                                }), t += " " + n + "ms", y && (t += " '" + y + "'"), (void 0 !== console.group || void 0 !== console.table) && a.length > 0 && (console.table || e.each(a, function(e, t) {})), a = []
4662                            }
4663                        },
4664                        invoke: function(t, n, o) {
4665                            var r, a, s, l = S;
4666                            return n = n || c, o = k || o, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
4667                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
4668                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
4669                                else {
4670                                    if (void 0 !== l[o]) return a = l[o], !1;
4671                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] ? (a = l[i], !1) : (d.error(g.method, t), !1);
4672                                    l = l[i]
4673                                }
4674                            })), e.isFunction(a) ? s = a.apply(o, n) : void 0 !== a && (s = a), e.isArray(i) ? i.push(s) : void 0 !== i ? i = [i, s] : void 0 !== s && (i = s), a
4675                        }
4676                    }, l ? (void 0 === S && d.initialize(), d.invoke(s)) : (void 0 !== S && S.invoke("destroy"), d.initialize())
4677                }), void 0 !== i ? i : this
4678            }, e.fn.accordion.settings = {
4679                name: "Accordion",
4680                namespace: "accordion",
4681                silent: !1,
4682                debug: !1,
vendor: 5,483 bytes, lines 4683-4789
4683                verbose: !1,
4684                performance: !0,
4685                on: "click",
4686                observeChanges: !0,
4687                exclusive: !0,
4688                collapsible: !0,
4689                closeNested: !1,
4690                animateChildren: !0,
4691                duration: 350,
4692                easing: "easeOutQuad",
4693                onOpening: function() {},
4694                onOpen: function() {},
4695                onClosing: function() {},
4696                onClose: function() {},
4697                onChange: function() {},
4698                error: {
4699                    method: "The method you called is not defined"
4700                },
4701                className: {
4702                    active: "active",
4703                    animating: "animating"
4704                },
4705                selector: {
4706                    accordion: ".accordion",
4707                    title: ".title",
4708                    trigger: ".title",
4709                    content: ".content"
4710                }
4711            }, e.extend(e.easing, {
4712                easeOutQuad: function(e, t, n, i, o) {
4713                    return -i * (t /= o) * (t - 2) + n
4714                }
4715            })
4716        }(jQuery, window, document),
4717        function(e, t, n, i) {
4718            "use strict";
4719            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.checkbox = function(i) {
4720                var o, r = e(this),
4721                    a = r.selector || "",
4722                    s = (new Date).getTime(),
4723                    l = [],
4724                    c = arguments[0],
4725                    u = "string" == typeof c,
4726                    d = [].slice.call(arguments, 1);
4727                return r.each(function() {
4728                    var r, f, p = e.extend(!0, {}, e.fn.checkbox.settings, i),
4729                        h = p.className,
4730                        m = p.namespace,
4731                        g = p.selector,
4732                        v = p.error,
4733                        b = "." + m,
4734                        y = "module-" + m,
4735                        x = e(this),
4736                        w = e(this).children(g.label),
4737                        C = e(this).children(g.input),
4738                        k = C[0],
4739                        S = !1,
4740                        T = !1,
4741                        A = x.data(y),
4742                        E = this;
4743                    f = {
4744                        initialize: function() {
4745                            f.verbose("Initializing checkbox", p), f.create.label(), f.bind.events(), f.set.tabbable(), f.hide.input(), f.observeChanges(), f.instantiate(), f.setup()
4746                        },
4747                        instantiate: function() {
4748                            f.verbose("Storing instance of module", f), A = f, x.data(y, f)
4749                        },
4750                        destroy: function() {
4751                            f.verbose("Destroying module"), f.unbind.events(), f.show.input(), x.removeData(y)
4752                        },
4753                        fix: {
4754                            reference: function() {
4755                                x.is(g.input) && (f.debug("Behavior called on <input> adjusting invoked element"), x = x.closest(g.checkbox), f.refresh())
4756                            }
4757                        },
4758                        setup: function() {
4759                            f.set.initialLoad(), f.is.indeterminate() ? (f.debug("Initial value is indeterminate"), f.indeterminate()) : f.is.checked() ? (f.debug("Initial value is checked"), f.check()) : (f.debug("Initial value is unchecked"), f.uncheck()), f.remove.initialLoad()
4760                        },
4761                        refresh: function() {
4762                            w = x.children(g.label), C = x.children(g.input), k = C[0]
4763                        },
4764                        hide: {
4765                            input: function() {
4766                                f.verbose("Modifying <input> z-index to be unselectable"), C.addClass(h.hidden)
4767                            }
4768                        },
4769                        show: {
4770                            input: function() {
4771                                f.verbose("Modifying <input> z-index to be selectable"), C.removeClass(h.hidden)
4772                            }
4773                        },
4774                        observeChanges: function() {
4775                            "MutationObserver" in t && (r = new MutationObserver(function(e) {
4776                                f.debug("DOM tree modified, updating selector cache"), f.refresh()
4777                            }), r.observe(E, {
4778                                childList: !0,
4779                                subtree: !0
4780                            }), f.debug("Setting up mutation observer", r))
4781                        },
4782                        attachEvents: function(t, n) {
4783                            var i = e(t);
4784                            n = e.isFunction(f[n]) ? f[n] : f.toggle, i.length > 0 ? (f.debug("Attaching checkbox events to element", t, n), i.on("click" + b, n)) : f.error(v.notFound)
4785                        },
4786                        event: {
4787                            click: function(t) {
4788                                var n = e(t.target);
4789                                return n.is(g.input) ? void f.verbose("Using default check action on initialized checkbox") : n.is(g.link) ? void f.debug("Clicking link inside checkbox, skipping toggle") : (f.toggle(
4789), C.focus(), void t.preventDefault())
4790                            },
4791                            keydown: function(e) {
4792                                var t = e.which,
4793                                    n = {
4794                                        enter: 13,
4795                                        space: 32,
4796                                        escape: 27
4797                                    };
4798                                t == n.escape ? (f.verbose("Escape key pressed blurring field"), C.blur(), T = !0) : e.ctrlKey || t != n.space && t != n.enter ? T = !1 : (f.verbose("Enter/space key pressed, toggling checkbox"), f.toggle(), T = !0)
4799                            },
4800                            keyup: function(e) {
4801                                T && e.preventDefault()
4802                            }
4803                        },
4804                        check: function() {
4805                            f.should.allowCheck() && (f.debug("Checking checkbox", C), f.set.checked(), f.should.ignoreCallbacks() || (p.onChecked.call(k), p.onChange.call(k)))
4806                        },
4807                        uncheck: function() {
4808                            f.should.allowUncheck() && (f.debug("Unchecking checkbox"), f.set.unchecked(), f.should.ignoreCallbacks() || (p.onUnchecked.call(k), p.onChange.call(k)))
4809                        },
4810                        indeterminate: function() {
4811                            if (f.should.allowIndeterminate()) return void f.debug("Checkbox is already indeterminate");
4812                            f.debug("Making checkbox indeterminate"), f.set.indeterminate(), f.should.ignoreCallbacks() || (p.onIndeterminate.call(k), p.onChange.call(k))
4813                        },
4814                        determinate: function() {
4815                            if (f.should.allowDeterminate()) return void f.debug("Checkbox is already determinate");
4816                            f.debug("Making checkbox determinate"), f.set.determinate(), f.should.ignoreCallbacks() || (p.onDeterminate.call(k), p.onChange.call(k))
4817                        },
4818                        enable: function() {
4819                            if (f.is.enabled()) return void f.debug("Checkbox is already enabled");
4820                            f.debug("Enabling checkbox"), f.set.enabled(), p.onEnable.call(k), p.onEnabled.call(k)
4821                        },
4822                        disable: function() {
4823                            if (f.is.disabled()) return void f.debug("Checkbox is already disabled");
4824                            f.debug("Disabling checkbox"), f.set.disabled(), p.onDisable.call(k), p.onDisabled.call(k)
4825                        },
4826                        get: {
4827                            radios: function() {
4828                                var t = f.get.name();
4829                                return e('input[name="' + t + '"]').closest(g.checkbox)
4830                            },
4831                            otherRadios: function() {
4832                                return f.get.radios().not(x)
4833                            },
4834                            name: function() {
4835                                return C.attr("name")
4836                            }
4837                        },
4838                        is: {
4839                            initialLoad: function() {
4840                                return S
4841                            },
4842                            radio: function() {
4843                                return C.hasClass(h.radio) || "radio" == C.attr("type")
4844                            },
4845                            indeterminate: function() {
4846                                return void 0 !== C.prop("indeterminate") && C.prop("indeterminate")
4847                            },
4848                            checked: function() {
4849                                return void 0 !== C.prop("checked") && C.prop("checked")
4850                            },
4851                            disabled: function() {
4852                                return void 0 !== C.prop("disabled") && C.prop("disabled")
4853                            },
4854                            enabled: function() {
4855                                return !f.is.disabled()
4856                            },
4857                            determinate: function() {
4858                                return !f.is.indeterminate()
4859                            },
4860                            unchecked: function() {
4861                                return !f.is.checked()
4862                            }
4863                        },
4864                        should: {
4865                            allowCheck: function() {
4866                                return f.is.determinate() && f.is.checked() && !f.should.forceCallbacks() ? (f.debug("Should not allow check, checkbox is already checked"), !1) : !1 !== p.beforeChecked.apply(k) || (f.debug("Should not allow check, beforeChecked cancelled"), !1)
4867                            },
4868                            allowUncheck: function() {
4869                                return f.is.determinate() && f.is.unchecked() && !f.should.forceCallbacks() ? (f.debug("Should not allow uncheck, checkbox is already unchecked"), !1) : !1 !== p.beforeUnchecked.apply(k) || (f.debug("Should not allow uncheck, beforeUnchecked cancelled"), !1)
4870                            },
4871                            allowIndeterminate: function() {
4872                                return f.is.indeterminate() && !f.should.forceCallbacks() ? (f.debug("Should not allow indeterminate, checkbox is already indeterminate"), !1) : !1 !== p.beforeIndeterminate.apply(k) || (f.debug("Should not allow indeterminate, beforeIndeterminate cancelled"), !1)
4873                            },
4874                            allowDeterminate: function() {
4875                                return f.is.determinate() && !f.should.forceCallbacks() ? (f.debug("Should not allow determinate, checkbox is already determinate"), !1) : !1 !== p.beforeDeterminate.apply(k) || (f.debug("Should not allow determinate, beforeDeterminate cancelled"), !1)
4876                            },
4877                            forceCallbacks: function() {
4878                                return f.is.initialLoad() && p.fireOnInit
4879                            },
4880                            ignoreCallbacks: function() {
4881                                return S && !p.fireOnInit
4882                            }
4883                        },
4884                        can: {
4885                            change: function() {
4886                                return !(x.hasClass(h.disabled) || x.hasClass(h.readOnly) || C.prop("disabled") || C.prop("readonly"))
4887                            },
4888                            uncheck: function() {
4889                                return "boolean" == typeof p.uncheckable ? p.uncheckable : !f.is.radio()
4890                            }
4891                        },
4892                        set: {
4893                            initialLoad: function() {
4894                                S = !0
4895                            },
4896                            checked: function() {
4897                                if (f.verbose("Setting class to checked"), x.removeClass(h.indeterminate).addClass(h.checked), f.is.radio() && f.uncheckOthers(), !f.is.indeterminate() && f.is.checked()) return void f.debug("Input is already checked, skipping input property change");
4898                                f.verbose("Setting state to checked", k), C.prop("indeterminate", !1).prop("checked", !0), f.trigger.change()
4899                            },
4900                            unchecked: function() {
4901                                if (f.verbose("Removing checked class"), x.removeClass(h.indeterminate).removeClass(h.checked), !f.is.indeterminate() && f.is.unchecked()) return void f.debug("Input is already unchecked");
4902                                f.debug("Setting state to unchecked"), C.prop("indeterminate", !1).prop("checked", !1), f.trigger.change()
4903                            },
4904                            indeterminate: function() {
4905                                if (f.verbose("Setting class to indeterminate"), x.addClass(h.indeterminate), f.is.indeterminate()) return void f.debug("Input is already indeterminate, skipping input property change");
4906                                f.debug("Setting state to indeterminate"), C.prop("indeterminate", !0), f.trigger.change()
4907                            },
4908                            determinate: function() {
4909                                if (f.verbose("Removing indeterminate class"), x.removeClass(h.indeterminate), f.is.determinate()) return void f.debug("Input is already determinate, skipping input property change");
4910                                f.debug("Setting state to determinate"), C.prop("indeterminate", !1)
4911                            },
4912                            disabled: function() {
4913                                if (f.verbose("Setting class to disabled"), x.addClass(h.disabled), f.is.disabled()) return void f.debug("Input is already disabled, skipping input property change");
4914                                f.debug("Setting state to disabled"), C.prop("disabled", "disabled"), f.trigger.change()
4915                            },
4916                            enabled: function() {
4917                                if (f.verbose("Removing disabled class"), x.removeClass(h.disabled), f.is.enabled()) return void f.debug("Input is already enabled, skipping input property change");
4918                                f.debug("Setting state to enabled"), C.prop("disabled", !1), f.trigger.change()
4919                            },
4920                            tabbable: function() {
4921                                f.verbose("Adding tabindex to checkbox"), void 0 === C.attr("tabindex") && C.attr("tabindex", 0)
4922                            }
4923                        },
4924                        remove: {
4925                            initialLoad: function() {
4926                                S = !1
4927                            }
4928                        },
4929                        trigger: {
4930                            change: function() {
4931                                var e = n.createEvent("HTMLEvents"),
4932                                    t = C[0];
4933                                t && (f.verbose("Triggering native change event"), e.initEvent("change", !0, !1), t.dispatchEvent(e))
4934                            }
4935                        },
4936                        create: {
4937                            label: function() {
4938                                C.prevAll(g.label).length > 0 ? (C.prev(g.label).detach().insertAfter(C), f.debug("Moving existing label", w)) : f.has.label() || (w = e("<label>").insertAfter(C), f.debug("Creating label", w))
4939                            }
4940                        },
4941                        has: {
4942                            label: function() {
4943                                return w.length > 0
4944                            }
4945                        },
4946                        bind: {
4947                            events: function() {
4948                                f.verbose("Attaching checkbox events"), x.on("click" + b, f.event.click).on("keydown" + b, g.input, f.event.keydown).on("keyup" + b, g.input, f.event.keyup)
4949                            }
4950                        },
4951                        unbind: {
4952                            events: function() {
4953                                f.debug("Removing events"), x.off(b)
4954                            }
4955                        },
4956                        uncheckOthers: function() {
4957                            var e = f.get.otherRadios();
4958                            f.debug("Unchecking other radios", e), e.removeClass(h.checked)
4959                        },
4960                        toggle: function() {
4961                            if (!f.can.change()) return void(f.is.radio() || f.debug("Checkbox is read-only or disabled, ignoring toggle"));
4962                            f.is.indeterminate() || f.is.unchecked() ? (f.debug("Currently unchecked"), f.check()) : f.is.checked() && f.can.uncheck() && (f.debug("Currently checked"), f.uncheck())
4963                        },
4964                        setting: function(t, n) {
4965                            if (f.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, p, t);
4966                            else {
4967                                if (void 0 === n) return p[t];
4968                                e.isPlainObject(p[t]) ? e.extend(!0, p[t], n) : p[t] = n
4969                            }
4970                        },
4971                        internal: function(t, n) {
4972                            if (e.isPlainObject(t)) e.extend(!0, f, t);
4973                            else {
4974                                if (void 0 === n) return f[t];
4975                                f[t] = n
4976                            }
4977                        },
4978                        debug: function() {
4979                            !p.silent && p.debug && (p.performance ? f.performance.log(arguments) : (f.debug = Function.prototype.bind.call(console.info, console, p.name + ":"), f.debug.apply(console, arguments)))
4980                        },
4981                        verbose: function() {
4982                            !p.silent && p.verbose && p.debug && (p.performance ? f.performance.log(arguments) : (f.verbose = Function.prototype.bind.call(console.info, console, p.name + ":"), f.verbose.apply(console, arguments)))
4983                        },
4984                        error: function() {
4985                            p.silent || (f.error = Function.prototype.bind.call(console.error, console, p.name + ":"), f.error.apply(console, arguments))
4986                        },
4987                        performance: {
4988                            log: function(e) {
4989                                var t, n, i;
4990                                p.performance && (t = (new Date).getTime(), i = s || t, n = t - i, s = t, l.push({
4991                                    Name: e[0],
4992                                    Arguments: [].slice.call(e, 1) || "",
4993                                    Element: E,
4994                                    "Execution Time": n
4995                                })), clearTimeout(f.performance.timer), f.performance.timer = setTimeout(f.performance.display, 500)
4996                            },
4997                            display: function() {
4998                                var t = p.name + ":",
4999                                    n = 0;
5000                                s = !1, clearTimeout(f.performance.timer), e.each(l, function(e, t) {
5001                                    n += t["Execution Time"]
5002                                }), t += " " + n + "ms", a && (t += " '" + a + "'"), (void 0 !== console.group || void 0 !== console.table) && l.length > 0 && (console.table || e.each(l, function(e, t) {})), l = []
5003                            }
5004                        },
5005                        invoke: function(t, n, i) {
5006                            var r, a, s, l = A;
5007                            return n = n || d, i = E || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
5008                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
5009                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
5010                                else {
5011                                    if (void 0 !== l[o]) return a = l[o], !1;
5012                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] ? (a = l[i], !1) : (f.error(v.method, t), !1);
5013                                    l = l[i]
5014                                }
5015                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
5016                        }
5017                    }, u ? (void 0 === A && f.initialize(), f.invoke(c)) : (void 0 !== A && A.invoke("destroy"), f.initialize())
5018                }), void 0 !== o ? o : this
5019            }, e.fn.checkbox.settings = {
5020                name: "Checkbox",
5021                namespace: "checkbox",
5022                silent: !1,
5023                debug: !1,
5024                verbose: !0,
5025                performance: !0,
5026                uncheckable: "auto",
5027                fireOnInit: !1,
5028                onChange: function() {},
5029                beforeChecked: function() {},
5030                beforeUnchecked: function() {},
5031                beforeDeterminate: function() {},
5032                beforeIndeterminate: function() {},
5033                onChecked: function() {},
5034                onUnchecked: function() {},
5035                onDeterminate: function() {},
5036                onIndeterminate: function() {},
5037                onEnable: function() {},
5038                onDisable: function() {},
5039                onEnabled: function() {},
5040                onDisabled: function() {},
5041                className: {
5042                    checked: "checked",
5043                    indeterminate: "indeterminate",
5044                    disabled: "disabled",
5045                    hidden: "hidden",
5046                    radio: "radio",
5047                    readOnly: "read-only"
5048                },
5049                error: {
5050                    method: "The method you called is not defined"
5051                },
5052                selector: {
5053                    checkbox: ".ui.checkbox",
5054                    label: "label, .box",
5055                    input: 'input[type="checkbox"], input[type="radio"]',
5056                    link: "a[href]"
5057                }
5058            }
5059        }(jQuery, window, document),
5060        function(e, t, i, o) {
5061            "use strict";
5062            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.dimmer = function(t) {
5063                var o, r = e(this),
5064                    a = (new Date).getTime(),
5065                    s = [],
5066                    l = arguments[0],
5067                    c = "string" == typeof l,
5068                    u = [].slice.call(arguments, 1);
5069                return r.each(function() {
5070                    var d, f, p, h = e.isPlainObject(t) ? e.extend(!0, {}, e.fn.dimmer.settings, t) : e.extend({}, e.fn.dimmer.settings),
5071                        m = h.selector,
5072                        g = h.namespace,
5073                        v = h.className,
5074                        b = h.error,
5075                        y = "." + g,
5076                        x = "module-" + g,
5077                        w = r.selector || "",
5078                        C = "ontouchstart" in i.documentElement ? "touchstart" : "click",
5079                        k = e(this),
5080                        S = this,
5081                        T = k.data(x);
5082                    p = {
5083                        preinitialize: function() {
5084                            p.is.dimmer() ? (f = k.parent(), d = k) : (f = k, d = p.has.dimmer() ? h.dimmerName ? f.find(m.dimmer).filter("." + h.dimmerName) : f.find(m.dimmer) : p.create(), p.set.variation())
5085                        },
5086                        initialize: function() {
5087                            p.debug("Initializing dimmer", h), p.bind.events(), p.set.dimmable(), p.instantiate()
5088                        },
5089                        instantiate: function() {
5090                            p.verbose("Storing instance of module", p), T = p, k.data(x, T)
5091                        },
5092                        destroy: function() {
5093                            p.verbose("Destroying previous module", d), p.unbind.events(), p.remove.variation(), f.off(y)
5094                        },
5095                        bind: {
5096                            events: function() {
5097                                "hover" == h.on ? f.on("mouseenter" + y, p.show).on("mouseleave" + y, p.hide) : "click" == h.on && f.on(C + y, p.toggle), p.is.page() && (p.debug("Setting as a page dimmer", f), p.set.pageDimmer()), p.is.closable() && (p.verbose("Adding dimmer close event", d), f.on(C + y, m.dimmer, p.event.click))
5098                            }
5099                        },
5100                        unbind: {
5101                            events: function() {
5102                                k.removeData(x), f.off(y)
5103                            }
5104                        },
5105                        event: {
5106                            click: function(t) {
5107                                p.verbose("Determining if event occured on dimmer", t), (0 === d.find(t.target).length || e(t.target).is(m.content)) && (p.hide(), t.stopImmediatePropagation())
5108                            }
5109                        },
5110                        addContent: function(t) {
5111                            var n = e(t);
5112                            p.debug("Add content to dimmer", n), n.parent()[0] !== d[0] && n.detach().appendTo(d)
5113                        },
5114                        create: function() {
5115                            var t = e(h.template.dimmer());
5116                            return h.dimmerName && (p.debug("Creating named dimmer", h.dimmerName), t.addClass(h.dimmerName)), t.appendTo(f), t
5117                        },
5118                        show: function(t) {
5119                            t = e.isFunction(t) ? t : function() {}, p.debug("Showing dimmer", d, h), p.is.dimmed() && !p.is.animating() || !p.is.enabled() ? p.debug("Dimmer is already shown or disabled") : (p.animate.show(t), h.onShow.call(S), h.onChange.call(S))
5120                        },
5121                        hide: function(t) {
5122                            t = e.isFunction(t) ? t : function() {}, p.is.dimmed() || p.is.animating() ? (p.debug("Hiding dimmer", d), p.animate.hide(t), h.onHide.call(S), h.onChange.call(S)) : p.debug("Dimmer is not visible")
5123                        },
5124                        toggle: function() {
5125                            p.verbose("Toggling dimmer visibility", d), p.is.dimmed() ? p.hide() : p.show()
5126                        },
5127                        animate: {
5128                            show: function(t) {
5129                                t = e.isFunction(t) ? t : function() {}, h.useCSS && void 0 !== e.fn.transition && d.transition("is supported") ? ("auto" !== h.opacity && p.set.opacity(), d.transition({
5130                                    animation: h.transition + " in",
5131                                    queue: !1,
5132                                    duration: p.get.duration(),
5133                                    useFailSafe: !0,
5134                                    onStart: function() {
5135                                        p.set.dimmed()
5136                                    },
5137                                    onComplete: function() {
5138                                        p.set.active(), t()
5139                                    }
5140                                })) : (p.verbose("Showing dimmer animation with javascript"), p.set.dimmed(), "auto" == h.opacity && (h.opacity = .8), d.stop().css({
5141                                    opacity: 0,
5142                                    width: "100%",
5143                                    height: "100%"
5144                                }).fadeTo(p.get.duration(), h.opacity, function() {
5145                                    d.removeAttr("style"), p.set.active(), t()
5146                                }))
5147                            },
5148                            hide: function(t) {
5149                                t = e.isFunction(t) ? t : function() {}, h.useCSS && void 0 !== e.fn.transition && d.transition("is supported") ? (p.verbose("Hiding dimmer with css"), d.transition({
5150                                    animation: h.transition + " out",
5151                                    queue: !1,
5152                                    duration: p.get.duration(),
5153                                    useFailSafe: !0,
5154                                    onStart: function() {
5155                                        p.remove.dimmed()
5156                                    },
5157                                    onComplete: function() {
5158                                        p.remove.active(), t()
5159                                    }
5160                                })) : (p.verbose("Hiding dimmer with javascript"), p.remove.dimmed(), d.stop().fadeOut(p.get.duration(), function() {
5161                                    p.remove.active(), d.removeAttr("style"), t()
5162                                }))
5163                            }
5164                        },
5165                        get: {
5166                            dimmer: function() {
5167                                return d
5168                            },
5169                            duration: function() {
5170                                return "object" == n(h.duration) ? p.is.active() ? h.duration.hide : h.duration.show : h.duration
5171                            }
5172                        },
5173                        has: {
5174                            dimmer: function() {
5175                                return h.dimmerName ? k.find(m.dimmer).filter("." + h.dimmerName).length > 0 : k.find(m.dimmer).length > 0
5176                            }
5177                        },
5178                        is: {
5179                            active: function() {
5180                                return d.hasClass(v.active)
5181                            },
5182                            animating: function() {
5183                                return d.is(":animated") || d.hasClass(v.animating)
5184                            },
5185                            closable: function() {
5186                                return "auto" == h.closable ? "hover" != h.on : h.closable
5187                            },
5188                            dimmer: function() {
5189                                return k.hasClass(v.dimmer)
5190                            },
5191                            dimmable: function() {
5192                                return k.hasClass(v.dimmable)
5193                            },
5194                            dimmed: function() {
5195                                return f.hasClass(v.dimmed)
5196                            },
5197                            disabled: function() {
5198                                return f.hasClass(v.disabled)
5199                            },
5200                            enabled: function() {
5201                                return !p.is.disabled()
5202                            },
5203                            page: function() {
5204                                return f.is("body")
5205                            },
5206                            pageDimmer: function() {
5207                                return d.hasClass(v.pageDimmer)
5208                            }
5209                        },
5210                        can: {
5211                            show: function() {
5212                                return !d.hasClass(v.disabled)
5213                            }
5214                        },
5215                        set: {
5216                            opacity: function(e) {
5217                                var t = d.css("background-color"),
5218                                    n = t.split(","),
5219                                    i = n && 3 == n.length,
5220                                    o = n && 4 == n.length;
5221                                e = 0 === h.opacity ? 0 : h.opacity || e, i || o ? (n[3] = e + ")", t = n.join(",")) : t = "rgba(0, 0, 0, " + e + ")", p.debug("Setting opacity to", e), d.css("background-color", t)
5222                            },
5223                            active: function() {
5224                                d.addClass(v.active)
5225                            },
5226                            dimmable: function() {
5227                                f.addClass(v.dimmable)
5228                            },
5229                            dimmed: function() {
5230                                f.addClass(v.dimmed)
5231                            },
5232                            pageDimmer: function() {
5233                                d.addClass(v.pageDimmer)
5234                            },
5235                            disabled: function() {
5236                                d.addClass(v.disabled)
5237                            },
5238                            variation: function(e) {
5239                                (e = e || h.variation) && d.addClass(e)
5240                            }
5241                        },
5242                        remove: {
5243                            active: function() {
5244                                d.removeClass(v.active)
5245                            },
5246                            dimmed: function() {
5247                                f.removeClass(v.dimmed)
5248                            },
5249                            disabled: function() {
5250                                d.removeClass(v.disabled)
5251                            },
5252                            variation: function(e) {
5253                                (e = e || h.variation) && d.removeClass(e)
5254                            }
5255                        },
5256                        setting: function(t, n) {
5257                            if (p.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, h, t);
5258                            else {
5259                                if (void 0 === n) return h[t];
5260                                e.isPlainObject(h[t]) ? e.extend(!0, h[t], n) : h[t] = n
5261                            }
5262                        },
5263                        internal: function(t, n) {
5264                            if (e.isPlainObject(t)) e.extend(!0, p, t);
5265                            else {
5266                                if (void 0 === n) return p[t];
5267                                p[t] = n
5268                            }
5269                        },
5270                        debug: function() {
5271                            !h.silent && h.debug && (h.performance ? p.performance.log(arguments) : (p.debug = Function.prototype.bind.call(console.info, console, h.name + ":"), p.debug.apply(console, arguments)))
5272                        },
5273                        verbose: function() {
5274                            !h.silent && h.verbose && h.debug && (h.performance ? p.performance.log(arguments) : (p.verbose = Function.prototype.bind.call(console.info, console, h.name + ":"), p.verbose.apply(console, arguments)))
5275                        },
5276                        error: function() {
5277                            h.silent || (p.error = Function.prototype.bind.call(console.error, console, h.name + ":"), p.error.apply(console, arguments))
5278                        },
5279                        performance: {
5280                            log: function(e) {
5281                                var t, n, i;
5282                                h.performance && (t = (new Date).getTime(), i = a || t, n = t - i, a = t, s.push({
5283                                    Name: e[0],
5284                                    Arguments: [].slice.call(e, 1) || "",
5285                                    Element: S,
5286                                    "Execution Time": n
5287                                })), clearTimeout(p.performance.timer), p.performance.timer = setTimeout(p.performance.display, 500)
5288                            },
5289                            display: function() {
5290                                var t = h.name + ":",
5291                                    n = 0;
5292                                a = !1, clearTimeout(p.performance.timer), e.each(s, function(e, t) {
5293                                    n += t["Execution Time"]
5294                                }), t += " " + n + "ms", w && (t += " '" + w + "'"), r.length > 1 && (t += " (" + r.length + ")"), (void 0 !== console.group || void 0 !== console.table) && s.length > 0 && (console.table || e.each(s, function(e, t) {})), s = []
5295                            }
5296                        },
5297                        invoke: function(t, n, i) {
5298                            var r, a, s, l = T;
5299                            return n = n || u, i = S || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
5300                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
5301                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
5302                                else {
5303                                    if (void 0 !== l[o]) return a = l[o], !1;
5304                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] ? (a = l[i], !1) : (p.error(b.method, t), !1);
5305                                    l = l[i]
5306                                }
5307                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
5308                        }
5309                    }, p.preinitialize(), c ? (void 0 === T && p.initialize(), p.invoke(l)) : (void 0 !== T && T.invoke("destroy"), p.initialize())
5310                }), void 0 !== o ? o : this
5311            }, e.fn.dimmer.settings = {
5312                name: "Dimmer",
5313                namespace: "dimmer",
5314                silent: !1,
5315                debug: !1,
5316                verbose: !1,
5317                performance: !0,
5318                dimmerName: !1,
5319                variation: !1,
5320                closable: "auto",
5321                useCSS: !0,
5322                transition: "fade",
5323                on: !1,
5324                opacity: "auto",
5325                duration: {
5326                    show: 500,
5327                    hide: 500
5328                },
5329                onChange: function() {},
5330                onShow: function() {},
5331                onHide: function() {},
5332                error: {
5333                    method: "The method you called is not defined."
5334                },
5335                className: {
5336                    active: "active",
5337                    animating: "animating",
5338                    dimmable: "dimmable",
5339                    dimmed: "dimmed",
5340                    dimmer: "dimmer",
5341                    disabled: "disabled",
5342                    hide: "hide",
5343                    pageDimmer: "page",
5344                    show: "show"
5345                },
5346                selector: {
5347                    dimmer: "> .ui.dimmer",
5348                    content: ".ui.dimmer > .content, .ui.dimmer > .content > .center"
5349                },
5350                template: {
5351                    dimmer: function() {
5352                        return e("<div />").attr("class", "ui dimmer")
5353                    }
5354                }
5355            }
5356        }(jQuery, window, document),
5357        function(e, t, n, i) {
5358            "use strict";
5359            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.dropdown = function(i) {
5360                var o, r = e(this),
5361                    a = e(n),
5362                    s = r.selector || "",
5363                    l = "ontouchstart" in n.documentElement,
vendor: 10,793 bytes, lines 5364-5522
5364                    c = (new Date).getTime(),
5365                    u = [],
5366                    d = arguments[0],
5367                    f = "string" == typeof d,
5368                    p = [].slice.call(arguments, 1);
5369                return r.each(function(h) {
5370                    var m, g, v, b, y, x, w, C, k = e.isPlainObject(i) ? e.extend(!0, {}, e.fn.dropdown.settings, i) : e.extend({}, e.fn.dropdown.settings),
5371                        S = k.className,
5372                        T = k.message,
5373                        A = k.fields,
5374                        E = k.keys,
5375                        D = k.metadata,
5376                        O = k.namespace,
5377                        F = k.regExp,
5378                        j = k.selector,
5379                        q = k.error,
5380                        L = k.templates,
5381                        N = "." + O,
5382                        P = "module-" + O,
5383                        R = e(this),
5384                        I = e(k.context),
5385                        M = R.find(j.text),
5386                        H = R.find(j.search),
5387                        z = R.find(j.sizer),
5388                        $ = R.find(j.input),
5389                        V = R.find(j.icon),
5390                        B = R.prev().find(j.text).length > 0 ? R.prev().find(j.text) : R.prev(),
5391                        W = R.children(j.menu),
5392                        U = W.find(j.item),
5393                        _ = !1,
5394                        X = !1,
5395                        Q = !1,
5396                        Y = this,
5397                        G = R.data(P);
5398                    C = {
5399                        initialize: function() {
5400                            C.debug("Initializing dropdown", k), C.is.alreadySetup() ? C.setup.reference() : (C.setup.layout(), C.refreshData(), C.save.defaults(), C.restore.selected(), C.create.id(), C.bind.events(), C.observeChanges(), C.instantiate())
5401                        },
5402                        instantiate: function() {
5403                            C.verbose("Storing instance of dropdown", C), G = C, R.data(P, C)
5404                        },
5405                        destroy: function() {
5406                            C.verbose("Destroying previous dropdown", R), C.remove.tabbable(), R.off(N).removeData(P), W.off(N), a.off(b), C.disconnect.menuObserver(), C.disconnect.selectObserver()
5407                        },
5408                        observeChanges: function() {
5409                            "MutationObserver" in t && (x = new MutationObserver(C.event.select.mutation), w = new MutationObserver(C.event.menu.mutation), C.debug("Setting up mutation observer", x, w), C.observe.select(), C.observe.menu())
5410                        },
5411                        disconnect: {
5412                            menuObserver: function() {
5413                                w && w.disconnect()
5414                            },
5415                            selectObserver: function() {
5416                                x && x.disconnect()
5417                            }
5418                        },
5419                        observe: {
5420                            select: function() {
5421                                C.has.input() && x.observe($[0], {
5422                                    childList: !0,
5423                                    subtree: !0
5424                                })
5425                            },
5426                            menu: function() {
5427                                C.has.menu() && w.observe(W[0], {
5428                                    childList: !0,
5429                                    subtree: !0
5430                                })
5431                            }
5432                        },
5433                        create: {
5434                            id: function() {
5435                                y = (Math.random().toString(16) + "000000000").substr(2, 8), b = "." + y, C.verbose("Creating unique id for element", y)
5436                            },
5437                            userChoice: function(t) {
5438                                var n, i, o;
5439                                return !!(t = t || C.get.userValues()) && (t = e.isArray(t) ? t : [t], e.each(t, function(t, r) {
5440                                    !1 === C.get.item(r) && (o = k.templates.addition(C.add.variables(T.addResult, r)), i = e("<div />").html(o).attr("data-" + D.value, r).attr("data-" + D.text, r).addClass(S.addition).addClass(S.item), k.hideAdditions && i.addClass(S.hidden), n = void 0 === n ? i : n.add(i), C.verbose("Creating user choices for value", r, i))
5441                                }), n)
5442                            },
5443                            userLabels: function(t) {
5444                                var n = C.get.userValues();
5445                                n && (C.debug("Adding user labels", n), e.each(n, function(e, t) {
5446                                    C.verbose("Adding custom user value"), C.add.label(t, t)
5447                                }))
5448                            },
5449                            menu: function() {
5450                                W = e("<div />").addClass(S.menu).appendTo(R)
5451                            },
5452                            sizer: function() {
5453                                z = e("<span />").addClass(S.sizer).insertAfter(H)
5454                            }
5455                        },
5456                        search: function(e) {
5457                            e = void 0 !== e ? e : C.get.query(), C.verbose("Searching for query", e), C.has.minCharacters(e) ? C.filter(e) : C.hide()
5458                        },
5459                        select: {
5460                            firstUnfiltered: function() {
5461                                C.verbose("Selecting first non-filtered element"), C.remove.selectedItem(), U.not(j.unselectable).not(j.addition + j.hidden).eq(0).addClass(S.selected)
5462                            },
5463                            nextAvailable: function(e) {
5464                                e = e.eq(0);
5465                                var t = e.nextAll(j.item).not(j.unselectable).eq(0),
5466                                    n = e.prevAll(j.item).not(j.unselectable).eq(0);
5467                                t.length > 0 ? (C.verbose("Moving selection to", t), t.addClass(S.selected)) : (C.verbose("Moving selection to", n), n.addClass(S.selected))
5468                            }
5469                        },
5470                        setup: {
5471                            api: function() {
5472                                var e = {
5473                                    debug: k.debug,
5474                                    urlData: {
5475                                        value: C.get.value(),
5476                                        query: C.get.query()
5477                                    },
5478                                    on: !1
5479                                };
5480                                C.verbose("First request, initializing API"), R.api(e)
5481                            },
5482                            layout: function() {
5483                                R.is("select") && (C.setup.select(), C.setup.returnedObject()), C.has.menu() || C.create.menu(), C.is.search() && !C.has.search() && (C.verbose("Adding search input"), H = e("<input />").addClass(S.search).prop("autocomplete", "off").insertBefore(M)), C.is.multiple() && C.is.searchSelection() && !C.has.sizer() && C.create.sizer(), k.allowTab && C.set.tabbable()
5484                            },
5485                            select: function() {
5486                                var t = C.get.selectValues();
5487                                C.debug("Dropdown initialized on a select", t), R.is("select") && ($ = R), $.parent(j.dropdown).length > 0 ? (C.debug("UI dropdown already exists. Creating dropdown menu only"), R = $.closest(j.dropdown), C.has.menu() || C.create.menu(), W = R.children(j.menu), C.setup.menu(t)) : (C.debug("Creating entire dropdown from select"), R = e("<div />").attr("class", $.attr("class")).addClass(S.selection).addClass(S.dropdown).html(L.dropdown(t)).insertBefore($), $.hasClass(S.multiple) && !1 === $.prop("multiple") && (C.error(q.missingMultiple), $.prop("multiple", !0)), $.is("[multiple]") && C.set.multiple(), $.prop("disabled") && (C.debug("Disabling dropdown"), R.addClass(S.disabled)), $.removeAttr("class").detach().prependTo(R)), C.refresh()
5488                            },
5489                            menu: function(e) {
5490                                W.html(L.menu(e, A)), U = W.find(j.item)
5491                            },
5492                            reference: function() {
5493                                C.debug("Dropdown behavior was called on select, replacing with closest dropdown"), R = R.parent(j.dropdown), C.refresh(), C.setup.returnedObject(), f && (G = C, C.invoke(d))
5494                            },
5495                            returnedObject: function() {
5496                                var e = r.slice(0, h),
5497                                    t = r.slice(h + 1);
5498                                r = e.add(R).add(t)
5499                            }
5500                        },
5501                        refresh: function() {
5502                            C.refreshSelectors(), C.refreshData()
5503                        },
5504                        refreshItems: function() {
5505                            U = W.find(j.item)
5506                        },
5507                        refreshSelectors: function() {
5508                            C.verbose("Refreshing selector cache"), M = R.find(j.text), H = R.find(j.search), $ = R.find(j.input), V = R.find(j.icon), B = R.prev().find(j.text).length > 0 ? R.prev().find(j.text) : R.prev(), W = R.children(j.menu), U = W.find(j.item)
5509                        },
5510                        refreshData: function() {
5511                            C.verbose("Refreshing cached metadata"), U.removeData(D.text).removeData(D.value)
5512                        },
5513                        clearData: function() {
5514                            C.verbose("Clearing metadata"), U.removeData(D.text).removeData(D.value), R.removeData(D.defaultText).removeData(D.defaultValue).removeData(D.placeholderText)
5515                        },
5516                        toggle: function() {
5517                            C.verbose("Toggling menu visibility"), C.is.active() ? C.hide() : C.show()
5518                        },
5519                        show: function(t) {
5520                            if (t = e.isFunction(t) ? t : function() {}, !C.can.show() && C.is.remote() && (C.debug("No API results retrieved, searching before show"), C.queryRemote(C.get.query(), C.show)), C.can.show() && !C.is.active()) {
5521                                if (C.debug("Showing dropdown"), !C.has.message() || C.has.maxSelections() || C.has.allResultsFiltered() || C.remove.message(), C.is.allFiltered()) return !0;
5522                                !1 !== k.onShow.call(Y) && C.animate.show(function() {
vendor: 4,195 bytes, lines 5523-5564
5523                                    C.can.click() && C.bind.intent(), C.has.menuSearch() && C.focusSearch(), C.set.visible(), t.call(Y)
5524                                })
5525                            }
5526                        },
5527                        hide: function(t) {
5528                            t = e.isFunction(t) ? t : function() {}, C.is.active() && (C.debug("Hiding dropdown"), !1 !== k.onHide.call(Y) && C.animate.hide(function() {
5529                                C.remove.visible(), t.call(Y)
5530                            }))
5531                        },
5532                        hideOthers: function() {
5533                            C.verbose("Finding other dropdowns to hide"), r.not(R).has(j.menu + "." + S.visible).dropdown("hide")
5534                        },
5535                        hideMenu: function() {
5536                            C.verbose("Hiding menu  instantaneously"), C.remove.active(), C.remove.visible(), W.transition("hide")
5537                        },
5538                        hideSubMenus: function() {
5539                            var e = W.children(j.item).find(j.menu);
5540                            C.verbose("Hiding sub menus", e), e.transition("hide")
5541                        },
5542                        bind: {
5543                            events: function() {
5544                                l && C.bind.touchEvents(), C.bind.keyboardEvents(), C.bind.inputEvents(), C.bind.mouseEvents()
5545                            },
5546                            touchEvents: function() {
5547                                C.debug("Touch device detected binding additional touch events"), C.is.searchSelection() || C.is.single() && R.on("touchstart" + N, C.event.test.toggle), W.on("touchstart" + N, j.item, C.event.item.mouseenter)
5548                            },
5549                            keyboardEvents: function() {
5550                                C.verbose("Binding keyboard events"), R.on("keydown" + N, C.event.keydown), C.has.search() && R.on(C.get.inputEvent() + N, j.search, C.event.input), C.is.multiple() && a.on("keydown" + b, C.event.document.keydown)
5551                            },
5552                            inputEvents: function() {
5553                                C.verbose("Binding input change events"), R.on("change" + N, j.input, C.event.change)
5554                            },
5555                            mouseEvents: function() {
5556                                C.verbose("Binding mouse events"), C.is.multiple() && R.on("click" + N, j.label, C.event.label.click).on("click" + N, j.remove, C.event.remove.click), C.is.searchSelection() ? (R.on("mousedown" + N, C.event.mousedown).on("mouseup" + N, C.event.mouseup).on("mousedown" + N, j.menu, C.event.menu.mousedown).on("mouseup" + N, j.menu, C.event.menu.mouseup).on("click" + N, j.icon, C.event.icon.click).on("focus" + N, j.search, C.event.search.focus).on("click" + N, j.search, C.event.search.focus).on("blur" + N, j.search, C.event.search.blur).on("click" + N, j.text, C.event.text.focus), C.is.multiple() && R.on("click" + N, C.event.click)) : ("click" == k.on ? R.on("click" + N, j.icon, C.event.icon.click).on("click" + N, C.event.test.toggle) : "hover" == k.on ? R.on("mouseenter" + N, C.delay.show).on("mouseleave" + N, C.delay.hide) : R.on(k.on + N, C.toggle), R.on("mousedown" + N, C.event.mousedown).on("mouseup" + N, C.event.mouseup).on("focus" + N, C.event.focus), C.has.menuSearch() ? R.on("blur" + N, j.search, C.event.search.blur) : R.on("blur" + N, C.event.blur)), W.on("mouseenter" + N, j.item, C.event.item.mouseenter).on("mouseleave" + N, j.item, C.event.item.mouseleave).on("click" + N, j.item, C.event.item.click)
5557                            },
5558                            intent: function() {
5559                                C.verbose("Binding hide intent event to document"), l && a.on("touchstart" + b, C.event.test.touch).on("touchmove" + b, C.event.test.touch), a.on("click" + b, C.event.test.hide)
5560                            }
5561                        },
5562                        unbind: {
5563                            intent: function() {
5564                                C.verbose("Removing hide intent event from document"), l && a.off("touchstart" + b).off("touchmove" + b), a.off("
5564click" + b)
5565                            }
5566                        },
5567                        filter: function(e) {
5568                            var t = void 0 !== e ? e : C.get.query(),
5569                                n = function() {
5570                                    C.is.multiple() && C.filterActive(), C.select.firstUnfiltered(), C.has.allResultsFiltered() ? k.onNoResults.call(Y, t) ? k.allowAdditions ? k.hideAdditions && (C.verbose("User addition with no menu, setting empty style"), C.set.empty(), C.hideMenu()) : (C.verbose("All items filtered, showing message", t), C.add.message(T.noResults)) : (C.verbose("All items filtered, hiding dropdown", t), C.hideMenu()) : (C.remove.empty(), C.remove.message()), k.allowAdditions && C.add.userSuggestion(e), C.is.searchSelection() && C.can.show() && C.is.focusedOnSearch() && C.show()
5571                                };
5572                            k.useLabels && C.has.maxSelections() || (k.apiSettings ? C.can.useAPI() ? C.queryRemote(t, function() {
5573                                k.filterRemoteData && C.filterItems(t), n()
5574                            }) : C.error(q.noAPI) : (C.filterItems(t), n()))
5575                        },
5576                        queryRemote: function(t, n) {
5577                            var i = {
5578                                errorDuration: !1,
5579                                cache: "local",
5580                                throttle: k.throttle,
5581                                urlData: {
5582                                    query: t
5583                                },
5584                                onError: function() {
5585                                    C.add.message(T.serverError), n()
5586                                },
5587                                onFailure: function() {
5588                                    C.add.message(T.serverError), n()
5589                                },
5590                                onSuccess: function(e) {
5591                                    C.remove.message(), C.setup.menu({
5592                                        values: e[A.remoteValues]
5593                                    }), n()
5594                                }
5595                            };
5596                            R.api("get request") || C.setup.api(), i = e.extend(!0, {}, i, k.apiSettings), R.api("setting", i).api("query")
5597                        },
5598                        filterItems: function(t) {
5599                            var n = void 0 !== t ? t : C.get.query(),
5600                                i = null,
5601                                o = C.escape.string(n),
5602                                r = new RegExp("^" + o, "igm");
5603                            C.has.query() && (i = [], C.verbose("Searching for matching values", n), U.each(function() {
5604                                var t, o, a = e(this);
5605                                if ("both" == k.match || "text" == k.match) {
5606                                    if (t = String(C.get.choiceText(a, !1)), -1 !== t.search(r)) return i.push(this), !0;
5607                                    if ("exact" === k.fullTextSearch && C.exactSearch(n, t)) return i.push(this), !0;
5608                                    if (!0 === k.fullTextSearch && C.fuzzySearch(n, t)) return i.push(this), !0
5609                                }
5610                                if ("both" == k.match || "value" == k.match) {
5611                                    if (o = String(C.get.choiceValue(a, t)), -1 !== o.search(r)) return i.push(this), !0;
5612                                    if ("exact" === k.fullTextSearch && C.exactSearch(n, o)) return i.push(this), !0;
5613                                    if (!0 === k.fullTextSearch && C.fuzzySearch(n, o)) return i.push(this), !0
5614                                }
5615                            })), C.debug("Showing only matched items", n), C.remove.filteredItem(), i && U.not(i).addClass(S.filtered)
5616                        },
5617                        fuzzySearch: function(e, t) {
5618                            var n = t.length,
5619                                i = e.length;
5620                            if (e = e.toLowerCase(), t = t.toLowerCase(), i > n) return !1;
5621                            if (i === n) return e === t;
5622                            e: for (var o = 0, r = 0; o < i; o++) {
5623                                for (var a = e.charCodeAt(o); r < n;)
5624                                    if (t.charCodeAt(r++) === a) continue e;
5625                                return !1
5626                            }
5627                            return !0
5628                        },
5629                        exactSearch: function(e, t) {
5630                            return e = e.toLowerCase(), t = t.toLowerCase(), t.indexOf(e) > -1
5631                        },
5632                        filterActive: function() {
5633                            k.useLabels && U.filter("." + S.active).addClass(S.filtered)
5634                        },
5635                        focusSearch: function(e) {
5636                            C.has.search() && !C.is.focusedOnSearch() && (e ? (R.off("focus" + N, j.search), H.focus(), R.on("focus" + N, j.search, C.event.search.focus)) : H.focus())
5637                        },
5638                        forceSelection: function() {
5639                            var e = U.not(S.filtered).filter("." + S.selected).eq(0),
5640                                t = U.not(S.filtered).filter("." + S.active).eq(0),
5641                                n = e.length > 0 ? e : t;
5642                            if (n.length > 0 && !C.is.multiple()) return C.debug("Forcing partial selection to selected item", n), void C.event.item.click.call(n, {}, !0);
5643                            k.allowAdditions ? (C.set.selected(C.get.query()), C.remove.searchTerm()) : C.remove.searchTerm()
5644                        },
5645                        event: {
5646                            change: function() {
5647                                Q || (C.debug("Input changed, updating selection"), C.set.selected())
5648                            },
5649                            focus: function() {
5650                                k.showOnFocus && !_ && C.is.hidden() && !g && C.show()
5651                            },
5652                            blur: function(e) {
5653                                g = n.activeElement === this, _ || g || (C.remove.activeLabel(), C.hide())
5654                            },
5655                            mousedown: function() {
5656                                C.is.searchSelection() ? v = !0 : _ = !0
5657                            },
5658                            mouseup: function() {
5659                                C.is.searchSelection() ? v = !1 : _ = !1
5660                            },
5661                            click: function(t) {
5662                                e(t.target).is(R) && (C.is.focusedOnSearch() ? 
5662C.show() : C.focusSearch())
5663                            },
5664                            search: {
5665                                focus: function() {
5666                                    _ = !0, C.is.multiple() && C.remove.activeLabel(), k.showOnFocus && C.search()
5667                                },
5668                                blur: function(e) {
5669                                    g = n.activeElement === this, C.is.searchSelection() && !v && (X || g || (k.forceSelection && C.forceSelection(), C.hide())), v = !1
5670                                }
5671                            },
5672                            icon: {
5673                                click: function(e) {
5674                                    C.toggle()
5675                                }
5676                            },
5677                            text: {
5678                                focus: function(e) {
5679                                    _ = !0, C.focusSearch()
5680                                }
5681                            },
5682                            input: function(e) {
5683                                (C.is.multiple() || C.is.searchSelection()) && C.set.filtered(), clearTimeout(C.timer), C.timer = setTimeout(C.search, k.delay.search)
5684                            },
5685                            label: {
5686                                click: function(t) {
5687                                    var n = e(this),
5688                                        i = R.find(j.label),
5689                                        o = i.filter("." + S.active),
5690                                        r = n.nextAll("." + S.active),
5691                                        a = n.prevAll("." + S.active),
5692                                        s = r.length > 0 ? n.nextUntil(r).add(o).add(n) : n.prevUntil(a).add(o).add(n);
5693                                    t.shiftKey ? (o.removeClass(S.active), s.addClass(S.active)) : t.ctrlKey ? n.toggleClass(S.active) : (o.removeClass(S.active), n.addClass(S.active)), k.onLabelSelect.apply(this, i.filter("." + S.active))
5694                                }
5695                            },
5696                            remove: {
5697                                click: function() {
5698                                    var t = e(this).parent();
5699                                    t.hasClass(S.active) ? C.remove.activeLabels() : C.remove.activeLabels(t)
5700                                }
5701                            },
5702                            test: {
5703                                toggle: function(e) {
5704                                    var t = C.is.multiple() ? C.show : C.toggle;
5705                                    C.is.bubbledLabelClick(e) || C.is.bubbledIconClick(e) || C.determine.eventOnElement(e, t) && e.preventDefault()
5706                                },
5707                                touch: function(e) {
5708                                    C.determine.eventOnElement(e, function() {
5709                                        "touchstart" == e.type ? C.timer = setTimeout(function() {
5710                                            C.hide()
5711                                        }, k.delay.touch) : "touchmove" == e.type && clearTimeout(C.timer)
5712                                    }), e.stopPropagation()
5713                                },
5714                                hide: function(e) {
5715                                    C.determine.eventInModule(e, C.hide)
5716                                }
5717                            },
5718                            select: {
5719                                mutation: function(e) {
5720                                    C.debug("<select> modified, recreating menu"), C.setup.select()
5721                                }
5722                            },
5723                            menu: {
5724                                mutation: function(t) {
5725                                    var n = t[0],
5726                                        i = e(!!n.addedNodes && n.addedNodes[0]),
5727                                        o = e(!!n.removedNodes && n.removedNodes[0]),
5728                                        r = i.add(o),
5729                                        a = r.is(j.addition) || r.closest(j.addition).length > 0,
5730                                        s = r.is(j.message) || r.closest(j.message).length > 0;
5731                                    a || s ? (C.debug("Updating item selector cache"), C.refreshItems()) : (C.debug("Menu modified, updating selector cache"), C.refresh())
5732                                },
5733                                mousedown: function() {
5734                                    X = !0
5735                                },
5736                                mouseup: function() {
5737                                    X = !1
5738                                }
5739                            },
5740                            item: {
5741                                mouseenter: function(t) {
5742                                    var n = e(t.target),
5743                                        i = e(this),
5744                                        o = i.children(j.menu),
5745                                        r = i.siblings(j.item).children(j.menu),
5746                                        a = o.length > 0;
5747                                    !(o.find(n).length > 0) && a && (clearTimeout(C.itemTimer), C.itemTimer = setTimeout(function() {
5748                                        C.verbose("Showing sub-menu", o), e.each(r, function() {
5749                                            C.animate.hide(!1, e(this))
5750                                        }), C.animate.show(!1, o)
5751                                    }, k.delay.show), t.preventDefault())
5752                                },
5753                                mouseleave: function(t) {
5754                                    var n = e(this).children(j.menu);
5755                                    n.length > 0 && (clearTimeout(C.itemTimer), C.itemTimer = setTimeout(function() {
5756                                        C.verbose("Hiding sub-menu", n), C.animate.hide(!1, n)
5757                                    }, k.delay.hide))
5758                                },
5759                                click: function(t, i) {
5760                                    var o = e(this),
5761                                        r = e(t ? t.target : ""),
5762                                        a = o.find(j.menu),
5763                                        s = C.get.choiceText(o),
5764                                        l = C.get.choiceValue(o, s),
5765                                        c = a.length > 0,
5766                                        u = a.find(r).length > 0;
5767                                    C.has.menuSearch() && e(n.activeElement).blur(), u || c && !k.allowCategorySelection || (C.is.searchSelection() && (k.allowAdditions && C.remove.userAddition(), C.remove.searchTerm(), C.is.focusedOnSearch() || 1 == i || C.focusSearch(!0)), k.useLabels || (C.remove.filteredItem(), C.set.scrollPosition(o)), C.determine.selectAction.call(this, s, l))
5768                                }
5769                            },
5770                            document: {
5771                                keydown: function(e) {
5772                                    var t = e.which;
5773                                    if (C.is.inObject(t, E)) {
5774                                        var n = R.find(j.label),
5775                                            i = n.filter("." + S.active),
5776                                            o = (i.data(D.value), n.index(i)),
5777                                            r = n.length,
5778                                            a = i.length > 0,
5779                                            s = i.length > 1,
5780                                            l = 0 === o,
5781                                            c = o + 1 == r,
5782                                            u = C.is.searchSelection(),
5783                                            d = C.is.focusedOnSearch(),
5784                                            f = C.is.focused(),
5785                                            p = d && 0 === C.get.caretPosition();
5786                                        if (u && !a && !d) return;
5787                                        t == E.leftArrow ? !f && !p || a ? a && (e.shiftKey ? C.verbose("Adding previous label to selection") : (C.verbose("Selecting previous label"), n.removeClass(S.active)), l && !s ? i.addClass(S.active) : i.prev(j.siblingLabel).addClass(S.active).end(), e.preventDefault()) : (C.verbose("Selecting previous label"), n.last(
vendor: 16,384 bytes, lines 5787-5986
5787).addClass(S.active)) : t == E.rightArrow ? (f && !a && n.first().addClass(S.active), a && (e.shiftKey ? C.verbose("Adding next label to selection") : (C.verbose("Selecting next label"), n.removeClass(S.active)), c ? u ? d ? n.removeClass(S.active) : C.focusSearch() : s ? i.next(j.siblingLabel).addClass(S.active) : i.addClass(S.active) : i.next(j.siblingLabel).addClass(S.active), e.preventDefault())) : t == E.deleteKey || t == E.backspace ? a ? (C.verbose("Removing active labels"), c && u && !d && C.focusSearch(), i.last().next(j.siblingLabel).addClass(S.active), C.remove.activeLabels(i), e.preventDefault()) : p && !a && t == E.backspace && (C.verbose("Removing last label on input backspace"), i = n.last().addClass(S.active), C.remove.activeLabels(i)) : i.removeClass(S.active)
5788                                    }
5789                                }
5790                            },
5791                            keydown: function(e) {
5792                                var t = e.which;
5793                                if (C.is.inObject(t, E)) {
5794                                    var n, i = U.not(j.unselectable).filter("." + S.selected).eq(0),
5795                                        o = W.children("." + S.active).eq(0),
5796                                        r = i.length > 0 ? i : o,
5797                                        a = r.length > 0 ? r.siblings(":not(." + S.filtered + ")").addBack() : W.children(":not(." + S.filtered + ")"),
5798                                        s = r.children(j.menu),
5799                                        l = r.closest(j.menu),
5800                                        c = l.hasClass(S.visible) || l.hasClass(S.animating) || l.parent(j.menu).length > 0,
5801                                        u = s.length > 0,
5802                                        d = r.length > 0,
5803                                        f = r.not(j.unselectable).length > 0,
5804                                        p = t == E.delimiter && k.allowAdditions && C.is.multiple();
5805                                    if (k.allowAdditions && k.hideAdditions && (t == E.enter || p) && f && (C.verbose("Selecting item from keyboard shortcut", r), C.event.item.click.call(r, e), C.is.searchSelection() && C.remove.searchTerm()), C.is.visible()) {
5806                                        if ((t == E.enter || p) && (t == E.enter && d && u && !k.allowCategorySelection ? (C.verbose("Pressed enter on unselectable category, opening sub menu"), t = E.rightArrow) : f && (C.verbose("Selecting item from keyboard shortcut", r), C.event.item.click.call(r, e), C.is.searchSelection() && C.remove.searchTerm()), e.preventDefault()), d && (t == E.leftArrow && l[0] !== W[0] && (C.verbose("Left key pressed, closing sub-menu"), C.animate.hide(!1, l), r.removeClass(S.selected), l.closest(j.item).addClass(S.selected), e.preventDefault()), t == E.rightArrow && u && (C.verbose("Right key pressed, opening sub-menu"), C.animate.show(!1, s), r.removeClass(S.selected), s.find(j.item).eq(0).addClass(S.selected), e.preventDefault())), t == E.upArrow) {
5807                                            if (n = d && c ? r.prevAll(j.item + ":not(" + j.unselectable + ")").eq(0) : U.eq(0), a.index(n) < 0) return C.verbose("Up key pressed but reached top of current menu"), void e.preventDefault();
5808                                            C.verbose("Up key pressed, changing active item"), r.removeClass(S.selected), n.addClass(S.selected), C.set.scrollPosition(n), k.selectOnKeydown && C.is.single() && C.set.selectedItem(n), e.preventDefault()
5809                                        }
5810                                        if (t == E.downArrow) {
5811                                            if (n = d && c ? n = r.nextAll(j.item + ":not(" + j.unselectable + ")").eq(0) : U.eq(0), 0 === n.length) return C.verbose("Down key pressed but reached bottom of current menu"), void e.preventDefault();
5812                                            C.verbose("Down key pressed, changing active item"), U.removeClass(S.selected), n.addClass(S.selected), C.set.scrollPosition(n), k.selectOnKeydown && C.is.single() && C.set.selectedItem(n), e.preventDefault()
5813                                        }
5814                                        t == E.pageUp && (C.scrollPage("up"), e.preventDefault()), t == E.pageDown && (C.scrollPage("down"), e.preventDefault()), t == E.escape && (C.verbose("Escape key pressed, closing dropdown"), C.hide())
5815                                    } else p && e.preventDefault(), t != E.downArrow || C.is.visible() || (C.verbose("Down key pressed, showing dropdown"), C.select.firstUnfiltered(), C.show(), e.preventDefault())
5816                                } else C.has.search() || C.set.selectedLetter(String.fromCharCode(t))
5817                            }
5818                        },
5819                        trigger: {
5820                            change: function() {
5821                                var e = n.createEvent("HTMLEvents"),
5822                                    t = $[0];
5823                                t && (C.verbose("Triggering native change event"), e.initEvent("change", !0, !1), t.dispatchEvent(e))
5824                            }
5825                        },
5826                        determine: {
5827                            selectAction: function(t, n) {
5828                                C.verbose("Determining action", k.action), e.isFunction(C.action[k.action]) ? (C.verbose("Triggering preset action", k.action, t, n), C.action[k.action].call(Y, t, n, this)) : e.isFunction(k.action) ? (C.verbose("Triggering user action", k.action, t, n), k.action.call(Y, t, n, this)) : C.error(q.action, k.action)
5829                            },
5830                            eventInModule: function(t, i) {
5831                                var o = e(t.target),
5832                                    r = o.closest(n.documentElement).length > 0,
5833                                    a = o.closest(R).length > 0;
5834                                return i = e.isFunction(i) ? i : function() {}, r && !a ? (C.verbose("Triggering event", i), i(), !0) : (C.verbose("Event occurred in dropdown, canceling callback"), !1)
5835                            },
5836                            eventOnElement: function(t, i) {
5837                                var o = e(t.target),
5838                                    r = o.closest(j.siblingLabel),
5839                                    a = n.body.contains(t.target),
5840                                    s = 0 === R.find(r).length,
5841                                    l = 0 === o.closest(W).length;
5842                                return i = e.isFunction(i) ? i : function() {}, a && s && l ? (C.verbose("Triggering event", i), i(), !0) : (C.verbose("Event occurred in dropdown menu, canceling callback"), !1)
5843                            }
5844                        },
5845                        action: {
5846                            nothing: function() {},
5847                            activate: function(t, n, i) {
5848                                if (n = void 0 !== n ? n : t, C.can.activate(e(i))) {
5849                                    if (C.set.selected(n, e(i)), C.is.multiple() && !C.is.allFiltered()) return;
5850                                    C.hideAndClear()
5851                                }
5852                            },
5853                            select: function(t, n, i) {
5854                                if (n = void 0 !== n ? n : t, C.can.activate(e(i))) {
5855                                    if (C.set.value(n, e(i)), C.is.multiple() && !C.is.allFiltered()) return;
5856                                    C.hideAndClear()
5857                                }
5858                            },
5859                            combo: function(t, n, i) {
5860                                n = void 0 !== n ? n : t, C.set.selected(n, e(i)), C.hideAndClear()
5861                            },
5862                            hide: function(e, t, n) {
5863                                C.set.value(t, e), C.hideAndClear()
5864                            }
5865                        },
5866                        get: {
5867                            id: function() {
5868                                return y
5869                            },
5870                            defaultText: function() {
5871                                return R.data(D.defaultText)
5872                            },
5873                            defaultValue: function() {
5874                                return R.data(D.defaultValue)
5875                            },
5876                            placeholderText: function() {
5877                                return R.data(D.placeholderText) || ""
5878                            },
5879                            text: function() {
5880                                return M.text()
5881                            },
5882                            query: function() {
5883                                return e.trim(H.val())
5884                            },
5885                            searchWidth: function(e) {
5886                                return e = void 0 !== e ? e : H.val(), z.text(e), Math.ceil(z.width() + 1)
5887                            },
5888                            selectionCount: function() {
5889                                var t = C.get.values();
5890                                return C.is.multiple() ? e.isArray(t) ? t.length : 0 : "" !== C.get.value() ? 1 : 0
5891                            },
5892                            transition: function(e) {
5893                                return "auto" == k.transition ? C.is.upward(e) ? "slide up" : "slide down" : k.transition
5894                            },
5895                            userValues: function() {
5896                                var t = C.get.values();
5897                                return !!t && (t = e.isArray(t) ? t : [t], e.grep(t, function(e) {
5898                                    return !1 === C.get.item(e)
5899                                }))
5900                            },
5901                            uniqueArray: function(t) {
5902                                return e.grep(t, function(n, i) {
5903                                    return e.inArray(n, t) === i
5904                                })
5905                            },
5906                            caretPosition: function() {
5907                                var e, t, i = H.get(0);
5908                                return "selectionStart" in i ? i.selectionStart : n.selection ? (i.focus(), e = n.selection.createRange(), t = e.text.length, e.moveStart("character", -i.value.length), e.text.length - t) : void 0
5909                            },
5910                            value: function() {
5911                                var t = $.length > 0 ? $.val() : R.data(D.value),
5912                                    n = e.isArray(t) && 1 === t.length && "" === t[0];
5913                                return void 0 === t || n ? "" : t
5914                            },
5915                            values: function() {
5916                                var e = C.get.value();
5917                                return "" === e ? "" : !C.has.selectInput() && C.is.multiple() ? "string" == typeof e ? e.split(k.delimiter) : "" : e
5918                            },
5919                            remoteValues: function() {
5920                                var t = C.get.values(),
5921                                    n = !1;
5922                                return t && ("string" == typeof t && (t = [t]), e.each(t, function(e, t) {
5923                                    var i = C.read.remoteData(t);
5924                                    C.verbose("Restoring value from session data", i, t), i && (n || (n = {}), n[t] = i)
5925                                })), n
5926                            },
5927                            choiceText: function(t, n) {
5928                                if (n = void 0 !== n ? n : k.preserveHTML, t) return t.find(j.menu).length > 0 && (C.verbose("Retrieving text of element with sub-menu"), t = t.clone(), t.find(j.menu).remove(), t.find(j.menuIcon).remove()), void 0 !== t.data(D.text) ? t.data(D.text) : n ? e.trim(t.html()) : e.trim(t.text())
5929                            },
5930                            choiceValue: function(t, n) {
5931                                return n = n || C.get.choiceText(t), !!t && (void 0 !== t.data(D.value) ? String(t.data(D.value)) : "string" == typeof n ? e.trim(n.toLowerCase()) : String(n))
5932                            },
5933                            inputEvent: function() {
5934                                var e = H[0];
5935                                return !!e && (void 0 !== e.oninput ? "input" : void 0 !== e.onpropertychange ? "propertychange" : "keyup")
5936                            },
5937                            selectValues: function() {
5938                                var t = {};
5939                                return t.values = [], R.find("option").each(function() {
5940                                    var n = e(this),
5941                                        i = n.html(),
5942                                        o = n.attr("disabled"),
5943                                        r = void 0 !== n.attr("value") ? n.attr("value") : i;
5944                                    "auto" === k.placeholder && "" === r ? t.placeholder = i : t.values.push({
5945                                        name: i,
5946                                        value: r,
5947                                        disabled: o
5948                                    })
5949                                }), k.placeholder && "auto" !== k.placeholder && (C.debug("Setting placeholder value to", k.placeholder), t.placeholder = k.placeholder), k.sortSelect ? (t.values.sort(function(e, t) {
5950                                    return e.name > t.name ? 1 : -1
5951                                }), C.debug("Retrieved and sorted values from select", t)) : C.debug("Retrieved values from select", t), t
5952                            },
5953                            activeItem: function() {
5954                                return U.filter("." + S.active)
5955                            },
5956                            selectedItem: function() {
5957                                var e = U.not(j.unselectable).filter("." + S.selected);
5958                                return e.length > 0 ? e : U.eq(0)
5959                            },
5960                            itemWithAdditions: function(e) {
5961                                var t = C.get.item(e),
5962                                    n = C.create.userChoice(e);
5963                                return n && n.length > 0 && (t = t.length > 0 ? t.add(n) : n), t
5964                            },
5965                            item: function(t, n) {
5966                                var i, o, r = !1;
5967                                return t = void 0 !== t ? t : void 0 !== C.get.values() ? C.get.values() : C.get.text(), i = o ? t.length > 0 : void 0 !== t && null !== t, o = C.is.multiple() && e.isArray(t), n = "" === t || 0 === t || n || !1, i && U.each(function() {
5968                                    var i = e(this),
5969                                        a = C.get.choiceText(i),
5970                                        s = C.get.choiceValue(i, a);
5971                                    if (null !== s && void 0 !== s)
5972                                        if (o) - 1 === e.inArray(String(s), t) && -1 === e.inArray(a, t) || (r = r ? r.add(i) : i);
5973                                        else if (n) {
5974                                        if (C.verbose("Ambiguous dropdown value using strict type check", i, t), s === t || a === t) return r = i, !0
5975                                    } else if (String(s) == String(t) || a == t) return C.verbose("Found select item by value", s, t), r = i, !0
5976                                }), r
5977                            }
5978                        },
5979                        check: {
5980                            maxSelections: function(e) {
5981                                return !k.maxSelections || (e = void 0 !== e ? e : C.get.selectionCount(), e >= k.maxSelections ? (C.debug("Maximum selection count reached"), k.useLabels && (U.addClass(S.filtered), C.add.message(T.maxSelections)), !0) : (C.verbose("No longer at maximum selection count"), C.remove.message(), C.remove.filteredItem(), C.is.searchSelection() && C.filterItems(), !1))
5982                            }
5983                        },
5984                        restore: {
5985                            defaults: function() {
5986                                C.clear(), C.restore.defaultText(), C.restore.def
5986aultValue()
5987                            },
5988                            defaultText: function() {
5989                                var e = C.get.defaultText();
5990                                e === C.get.placeholderText ? (C.debug("Restoring default placeholder text", e), C.set.placeholderText(e)) : (C.debug("Restoring default text", e), C.set.text(e))
5991                            },
5992                            placeholderText: function() {
5993                                C.set.placeholderText()
5994                            },
5995                            defaultValue: function() {
5996                                var e = C.get.defaultValue();
5997                                void 0 !== e && (C.debug("Restoring default value", e), "" !== e ? (C.set.value(e), C.set.selected()) : (C.remove.activeItem(), C.remove.selectedItem()))
5998                            },
5999                            labels: function() {
6000                                k.allowAdditions && (k.useLabels || (C.error(q.labels), k.useLabels = !0), C.debug("Restoring selected values"), C.create.userLabels()), C.check.maxSelections()
6001                            },
6002                            selected: function() {
6003                                C.restore.values(), C.is.multiple() ? (C.debug("Restoring previously selected values and labels"), C.restore.labels()) : C.debug("Restoring previously selected values")
6004                            },
6005                            values: function() {
6006                                C.set.initialLoad(), k.apiSettings && k.saveRemoteData && C.get.remoteValues() ? C.restore.remoteValues() : C.set.selected(), C.remove.initialLoad()
6007                            },
6008                            remoteValues: function() {
6009                                var t = C.get.remoteValues();
6010                                C.debug("Recreating selected from session data", t), t && (C.is.single() ? e.each(t, function(e, t) {
6011                                    C.set.text(t)
6012                                }) : e.each(t, function(e, t) {
6013                                    C.add.label(e, t)
6014                                }))
6015                            }
6016                        },
6017                        read: {
6018                            remoteData: function(e) {
6019                                var n;
6020                                return void 0 === t.Storage ? void C.error(q.noStorage) : void 0 !== (n = sessionStorage.getItem(e)) && n
6021                            }
6022                        },
6023                        save: {
6024                            defaults: function() {
6025                                C.save.defaultText(), C.save.placeholderText(), C.save.defaultValue()
6026                            },
6027                            defaultValue: function() {
6028                                var e = C.get.value();
6029                                C.verbose("Saving default value as", e), R.data(D.defaultValue, e)
6030                            },
6031                            defaultText: function() {
6032                                var e = C.get.text();
6033                                C.verbose("Saving default text as", e), R.data(D.defaultText, e)
6034                            },
6035                            placeholderText: function() {
6036                                var e;
6037                                !1 !== k.placeholder && M.hasClass(S.placeholder) && (e = C.get.text(), C.verbose("Saving placeholder text as", e), R.data(D.placeholderText, e))
6038                            },
6039                            remoteData: function(e, n) {
6040                                if (void 0 === t.Storage) return void C.error(q.noStorage);
6041                                C.verbose("Saving remote data to session storage", n, e), sessionStorage.setItem(n, e)
6042                            }
6043                        },
6044                        clear: function() {
6045                            C.is.multiple() && k.useLabels ? C.remove.labels() : (C.remove.activeItem(), C.remove.selectedItem()), C.set.placeholderText(), C.clearValue()
6046                        },
6047                        clearValue: function() {
6048                            C.set.value("")
6049                        },
6050                        scrollPage: function(e, t) {
6051                            var n, i, o, r = t || C.get.selectedItem(),
6052                                a = r.closest(j.menu),
6053                                s = a.outerHeight(),
6054                                l = a.scrollTop(),
6055                                c = U.eq(0).outerHeight(),
6056                                u = Math.floor(s / c),
6057                                d = (a.prop("scrollHeight"), "up" == e ? l - c * u : l + c * u),
6058                                f = U.not(j.unselectable);
6059                            o = "up" == e ? f.index(r) - u : f.index(r) + u, n = "up" == e ? o >= 0 : o < f.length, i = n ? f.eq(o) : "up" == e ? f.first() : f.last(), i.length > 0 && (C.debug("Scrolling page", e, i), r.removeClass(S.selected), i.addClass(S.selected), k.selectOnKeydown && C.is.single() && C.set.selectedItem(i), a.scrollTop(d))
6060                        },
6061                        set: {
6062                            filtered: function() {
6063                                var e = C.is.multiple(),
6064                                    t = C.is.searchSelection(),
6065                                    n = e && t,
6066                                    i = t ? C.get.query() : "",
6067                                    o = "string" == typeof i && i.length > 0,
6068                                    r = C.get.searchWidth(),
6069                                    a = "" !== i;
6070                                e && o && (C.verbose("Adjusting input width", r, k.glyphWidth), H.css("width", r)), o || n && a ? (C.verbose("Hiding placeholder text"), M.addClass(S.filtered)) : (!e || n && !a) && (C.verbose("Showing placeholder text"), M.removeClass(S.filtered))
6071                            },
6072                            empty: function() {
6073                                R.addClass(S.empty)
6074                            },
6075                            loading: function() {
6076                                R.addClass(S.loading)
6077                            },
6078                            placeholderText: function(e) {
6079                                e = e || C.get.placeholderText(), C.debug("Setting placeholder text", e), C.set.text(e), M.addClass(S.placeholder)
6080                            },
6081                            tabbable: function() {
6082                                C.is.searchSelection() ? (C.debug("Added tabindex to searchable dropdown"), H.val("").attr("tabindex", 0), W.attr("tabindex", -1)) : (C.debug("Added tabindex to dropdown"), void 0 === R.attr("tabindex") && (R.attr("tabindex", 0), W.attr("tabindex", -1)))
6083                            },
6084                            initialLoad: function() {
6085                                C.verbose("Setting initial load"), m = !0
6086                            },
6087                            activeItem: function(e) {
6088                                k.allowAdditions && e.filter(j.addition).length > 0 ? e.addClass(S.filtered) : e.addClass(S.active)
6089                            },
6090                            partialSearch: function(e) {
6091                                var t = C.get.query().length;
6092                                H.val(e.substr(0, t))
6093                            },
6094                            scrollPosition: function(e, t) {
6095                                var n, i, o, r, a, s, l, c, u;
6096                                e = e || C.get.selectedItem(), n = e.closest(j.menu), i = e && e.length > 0, t = void 0 !== t && t, e && n.length > 0 && i && (r = e.position().top, n.addClass(S.loading), s = n.scrollTop(), a = n.offset().top, r = e.offset().top, o = s - a + r, t || (l = n.height(), u = s + l < o + 5, c = o - 5 < s), C.debug("Scrolling to active item", o), (t || c || u) && n.scrollTop(o), n.removeClass(S.loading))
6097                            },
6098                            text: function(e) {
6099                                "select" !== k.action && ("combo" == k.action ? (C.debug("Changing combo button text", e, B), k.preserveHTML ? B.html(e) : B.text(e)) : (e !== C.get.placeholderText() && M.removeClass(S.placeholder), C.debug("Changing text", e, M), M.removeClass(S.filtered), k.preserveHTML ? M.html(e) : M.text(e)))
6100                            },
6101                            selectedItem: function(e) {
6102                                var t = C.get.choiceValue(e),
6103                                    n = C.get.choiceText(e, !1),
6104                                    i = C.get.choiceText(e, !0);
6105                                C.debug("Setting user selection to item", e), C.remove.activeItem(), C.set.partialSearch(n), C.set.activeItem(e), C.set.selected(t, e), C.set.text(i)
6106                            },
6107                            selectedLetter: function(t) {
6108                                var n, i = U.filter("." + S.selected),
6109                                    o = i.length > 0 && C.has.firstLetter(i, t),
6110                                    r = !1;
6111                                o && (n = i.nextAll(U).eq(0), C.has.firstLetter(n, t) && (r = n)), r || U.each(function() {
6112                                    if (C.has.firstLetter(e(this), t)) return r = e(this), !1
6113                                }), r && (C.verbose("Scrolling to next value with letter", t), C.set.scrollPosition(r), i.removeClass(S.selected), r.addClass(S.selected), k.selectOnKeydown && C.is.single() && C.set.selectedItem(r))
6114                            },
6115                            direction: function(e) {
6116                                "auto" == k.direction ? C.is.onScreen(e) ? C.remove.upward(e) : C.set.upward(e) : "upward" == k.direction && C.set.upward(e)
6117                            },
6118                            upward: function(e) {
6119                                (e || R).addClass(S.upward)
6120                            },
6121                            value: function(e, t, n) {
6122                                var i = C.escape.value(e),
6123                                    o = $.length > 0,
6124                                    r = (C.has.value(e), C.get.values()),
6125                                    a = void 0 !== e ? String(e) : e;
6126                                if (o) {
6127                                    if (!k.allowReselection && a == r && (C.verbose("Skipping value update already same value", e, r), !C.is.initialLoad())) return;
6128                                    C.is.single() && C.has.selectInput() && C.can.extendSelect() && (C.debug("Adding user option", e), C.add.optionValue(e)), C.debug("Updating input value", i, r), Q = !0, $.val(i), !1 === k.fireOnInit && C.is.initialLoad() ? C.debug("Input native change event ignored on initial load") : C.trigger.change(), Q = !1
6129                                } else C.verbose("Storing value in metadata", i, $), i !== r && R.data(D.value, a);
6130                                !1 === k.fireOnInit && C.is.initialLoad() ? C.verbose("No callback on initial load", k.onChange) : k.onChange.call(Y, e, t, n)
6131                            },
6132                            active: function() {
6133                                R.addClass(S.active)
6134                            },
6135                            multiple: function() {
6136                                R.addClass(S.multiple)
6137                            },
6138                            visible: function() {
6139                                R.addClass(S.visible)
6140                            },
6141                            exactly: function(e, t) {
6142                                C.debug("Setting selected to exact values"), C.clear(), C.set.selected(e, t)
6143                            },
6144                            selected: function(t, n) {
6145                                var i = C.is.multiple();
6146                                (n = k.allowAdditions ? n || C.get.itemWithAdditions(t) : n || C.get.item(t)) && (C.debug("Setting selected menu item to", n), C.is.multiple() && C.remove.searchWidth(), C.is.single() ? (C.remove.activeItem(), C.remove.selectedItem()) : k.useLabels && C.remove.selectedItem(), n.each(function() {
6147                                    var t = e(this),
6148                                        o = C.get.choiceText(t),
6149                                        r = C.get.choiceValue(t, o),
6150                                        a = t.hasClass(S.filtered),
6151                                        s = t.hasClass(S.active),
6152                                        l = t.hasClass(S.addition),
6153                                        c = i && 1 == n.length;
6154                                    i ? !s || l ? (k.apiSettings && k.saveRemoteData && C.save.remoteData(o, r), k.useLabels ? (C.add.value(r, o, t), C.add.label(r, o, c), C.set.activeItem(t), C.filterActive(), C.select.nextAvailable(n)) : (C.add.value(r, o, t), C.set.text(C.add.variables(T.count)), C.set.activeItem(t))) : a || (C.debug("Selected active value, remov
6154ing label"), C.remove.selected(r)) : (k.apiSettings && k.saveRemoteData && C.save.remoteData(o, r), C.set.text(o), C.set.value(r, o, t), t.addClass(S.active).addClass(S.selected))
6155                                }))
6156                            }
6157                        },
6158                        add: {
6159                            label: function(t, n, i) {
6160                                var o, r = C.is.searchSelection() ? H : M,
6161                                    a = C.escape.value(t);
6162                                if (o = e("<a />").addClass(S.label).attr("data-" + D.value, a).html(L.label(a, n)), o = k.onLabelCreate.call(o, a, n), C.has.label(t)) return void C.debug("Label already exists, skipping", a);
6163                                k.label.variation && o.addClass(k.label.variation), !0 === i ? (C.debug("Animating in label", o), o.addClass(S.hidden).insertBefore(r).transition(k.label.transition, k.label.duration)) : (C.debug("Adding selection label", o), o.insertBefore(r))
6164                            },
6165                            message: function(t) {
6166                                var n = W.children(j.message),
6167                                    i = k.templates.message(C.add.variables(t));
6168                                n.length > 0 ? n.html(i) : n = e("<div/>").html(i).addClass(S.message).appendTo(W)
6169                            },
6170                            optionValue: function(t) {
6171                                var n = C.escape.value(t);
6172                                $.find('option[value="' + C.escape.string(n) + '"]').length > 0 || (C.disconnect.selectObserver(), C.is.single() && (C.verbose("Removing previous user addition"), $.find("option." + S.addition).remove()), e("<option/>").prop("value", n).addClass(S.addition).html(t).appendTo($), C.verbose("Adding user addition as an <option>", t), C.observe.select())
6173                            },
6174                            userSuggestion: function(e) {
6175                                var t, n = W.children(j.addition),
6176                                    i = C.get.item(e),
6177                                    o = i && i.not(j.addition).length,
6178                                    r = n.length > 0;
6179                                if (!k.useLabels || !C.has.maxSelections()) {
6180                                    if ("" === e || o) return void n.remove();
6181                                    r ? (n.data(D.value, e).data(D.text, e).attr("data-" + D.value, e).attr("data-" + D.text, e).removeClass(S.filtered), k.hideAdditions || (t = k.templates.addition(C.add.variables(T.addResult, e)), n.html(t)), C.verbose("Replacing user suggestion with new value", n)) : (n = C.create.userChoice(e), n.prependTo(W), C.verbose("Adding item choice to menu corresponding with user choice addition", n)), k.hideAdditions && !C.is.allFiltered() || n.addClass(S.selected).siblings().removeClass(S.selected), C.refreshItems()
6182                                }
6183                            },
6184                            variables: function(e, t) {
6185                                var n, i, o = -1 !== e.search("{count}"),
6186                                    r = -1 !== e.search("{maxCount}"),
6187                                    a = -1 !== e.search("{term}");
6188                                return C.verbose("Adding templated variables to message", e), o && (n = C.get.selectionCount(), e = e.replace("{count}", n)), r && (n = C.get.selectionCount(), e = e.replace("{maxCount}", k.maxSelections)), a && (i = t || C.get.query(), e = e.replace("{term}", i)), e
6189                            },
6190                            value: function(t, n, i) {
6191                                var o, r = C.get.values();
6192                                if ("" === t) return void C.debug("Cannot select blank values from multiselect");
6193                                e.isArray(r) ? (o = r.concat([t]), o = C.get.uniqueArray(o)) : o = [t], C.has.selectInput() ? C.can.extendSelect() && (C.debug("Adding value to select", t, o, $), C.add.optionValue(t)) : (o = o.join(k.delimiter), C.debug("Setting hidden input to delimited value", o, $)), !1 === k.fireOnInit && C.is.initialLoad() ? C.verbose("Skipping onadd callback on initial load", k.onAdd) : k.onAdd.call(Y, t, n, i), C.set.value(o, t, n, i), C.check.maxSelections()
6194                            }
6195                        },
6196                        remove: {
6197                            active: function() {
6198                                R.removeClass(S.active)
6199                            },
6200                            activeLabel: function() {
6201                                R.find(j.label).removeClass(S.active)
6202                            },
6203                            empty: function() {
6204                                R.removeClass(S.empty)
6205                            },
6206                            loading: function() {
6207                                R.removeClass(S.loading)
6208                            },
6209                            initialLoad: function() {
6210                                m = !1
6211                            },
6212                            upward: function(e) {
6213                                (e || R).removeClass(S.upward)
6214                            },
6215                            visible: function() {
6216                                R.removeClass(S.visible)
6217                            },
6218                            activeItem: function() {
6219                                U.removeClass(S.active)
6220                            },
6221                            filteredItem: function() {
6222                                k.useLabels && C.has.maxSelections() || (k.useLabels && C.is.multiple() ? U.not("." + S.active).removeClass(S.filtered) : U.removeClass(S.filtered), C.remove.empty())
6223                            },
6224                            optionValue: function(e) {
6225                                var t = C.escape.value(e),
6226                                    n = $.find('option[value="' + C.escape.string(t) + '"]');
6227                                n.length > 0 && n.hasClass(S.addition) && (x && (x.disconnect(), C.verbose("Temporarily disconnecting mutation observer")), n.remove(), C.verbose("Removing user addition as an <option>", t), x && x.observe($[0], {
6228                                    childList: !0,
6229                                    subtree: !0
6230                                }))
6231                            },
6232                            message: function() {
6233                                W.children(j.message).remove()
6234                            },
6235                            searchWidth: function() {
6236                                H.css("width", "")
6237                            },
6238                            searchTerm: function() {
6239                                C.verbose("Cleared search term"), H.val(""), C.set.filtered()
6240                            },
6241                            userAddition: function() {
6242                                U.filter(j.addition).remove()
6243                            },
6244                            selected: function(t, n) {
6245                                if (!(n = k.allowAdditions ? n || C.get.itemWithAdditions(t) : n || C.get.item(t))) return !1;
6246                                n.each(function() {
6247                                    var t = e(this),
6248                                        n = C.get.choiceText(t),
6249                                        i = C.get.choiceValue(t, n);
6250                                    C.is.multiple() ? k.useLabels ? (C.remove.value(i, n, t), C.remove.label(i)) : (C.remove.value(i, n, t), 0 === C.get.selectionCount() ? C.set.placeholderText() : C.set.text(C.add.variables(T.count))) : C.remove.value(i, n, t), t.removeClass(S.filtered).removeClass(S.active), k.useLabels && t.removeClass(S.selected)
6251                                })
6252                            },
6253                            selectedItem: function() {
6254                                U.removeClass(S.selected)
6255                            },
6256                            value: function(e, t, n) {
6257                                var i, o = C.get.values();
6258                                C.has.selectInput() ? (C.verbose("Input is <select> removing selected option", e), i = C.remove.arrayValue(e, o), C.remove.optionValue(e)) : (C.verbose("Removing from delimited values", e), i = C.remove.arrayValue(e, o), i = i.join(k.delimiter)), !1 === k.fireOnInit && C.is.initialLoad() ? C.verbose("No callback on initial load", k.onRemove) : k.onRemove.call(Y, e, t, n), C.set.value(i, t, n), C.check.maxSelections()
6259                            },
6260                            arrayValue: function(t, n) {
6261                                return e.isArray(n) || (n = [n]), n = e.grep(n, function(e) {
6262                                    return t != e
6263                                }), C.verbose("Removed value from delimited string", t, n), n
6264                            },
6265                            label: function(e, t) {
6266                                var n = R.find(j.label),
6267                                    i = n.filter("[data-" + D.value + '="' + C.escape.string(e) + '"]');
6268                                C.verbose("Removing label", i), i.remove()
6269                            },
6270                            activeLabels: function(e) {
6271                                e = e || R.find(j.label).filter("." + S.active), C.verbose("Removing active label selections", e), C.remove.labels(e)
6272                            },
6273                            labels: function(t) {
6274                                t = t || R.find(j.label), C.verbose("Removing labels", t), t.each(function() {
6275                                    var t = e(this),
6276                                        n = t.data(D.value),
6277                                        i = void 0 !== n ? String(n) : n,
6278                                        o = C.is.userValue(i);
6279                                    if (!1 === k.onLabelRemove.call(t, n)) return void C.debug("Label remove callback cancelled removal");
6280                                    C.remove.message(), o ? (C.remove.value(i), C.remove.label(i)) : C.remove.selected(i)
6281                                })
6282                            },
6283                            tabbable: function() {
6284                                C.is.searchSelection() ? (C.debug("Searchable dropdown initialized"), H.removeAttr("tabindex"), W.removeAttr("tabindex")) : (C.debug("Simple selection dropdown initialized"), R.removeAttr("tabindex"), W.removeAttr("tabindex"))
6285                            }
6286                        },
6287                        has: {
6288                            menuSearch: function() {
6289                                return C.has.search() && H.closest(W).length > 0
6290                            },
6291                            search: function() {
6292                                return H.length > 0
6293                            },
6294                            sizer: function() {
6295                                return z.length > 0
6296                            },
6297                            selectInput: function() {
6298                                return $.is("select")
6299                            },
6300                            minCharacters: function(e) {
6301                                return !k.minCharacters || (e = void 0 !== e ? String(e) : String(C.get.query()), e.length >= k.minCharacters)
6302                            },
6303                            firstLetter: function(e, t) {
6304                                var n, i;
6305                                return !(!e || 0 === e.length || "string" != typeof t) && (n = C.get.choiceText(e, !1), t = t.toLowerCase(), i = String(n).charAt(0).toLowerCase(), t == i)
6306                            },
6307                            input: function() {
6308                                return $.length > 0
6309                            },
6310                            items: function() {
6311                                return U.length > 0
6312                            },
6313                            menu: function() {
6314                                return W.length > 0
6315                            },
6316                            message: function() {
6317                                return 0 !== W.children(j.message).length
6318                            },
6319                            label: function(e) {
6320                                var t = C.escape.value(e);
6321                                return R.find(j.label).filter("[data-" + D.value + '="' + C.escape.string(t) + '"]').length > 0
6322                            },
6323                            maxSelections: function() {
6324                                return k.maxSelections && C.get.selectionCount() >= k.maxSelections
6325                            },
6326                            allResultsFiltered: function() {
6327                                var e = U.not(j.addition);
6328                                return e.filter(j.unselectable).length === e.length
6329                            },
6330                            userSuggestion: function() {
6331                                return W.children(j.addition).length > 0
6332                            },
6333                            query: function() {
6334                                return "" !== C.get.query()
6335                            },
6336                            value: function(t) {
6337                                var n = C.get.values();
6338                                return !!(e.isArray(n) ? n && -1 !== e.inArray(t, n) : n == t)
6339                            }
6340                        },
6341                        is: {
6342                            active: function() {
6343                                return R.hasClass(S.active)
6344                            },
6345                            bubbledLabelClick: function(t) {
6346                                return e(t.target).is("select, input") && R.closest("label").length > 0
6347                            },
6348                            bubbledIconClick: function(t) {
6349                                return e(t.target).closest(V).length > 0
6350                            },
6351                            alreadySetup: function() {
6352                                return R.is("select") && R.parent(j.dropdown).length > 0 && 0 === R.prev().length
6353                            },
6354                            animating: function(e) {
6355                                return e ? e.transition && e.transition("is animating") : W.transition && W.transition("is animating")
6356                            },
6357                            disabled: function() {
6358                                return R.hasClass(S.disabled)
6359                            },
6360                            focused: function() {
6361                                return n.activeElement === R[0]
6362                            },
6363                            focusedOnSearch: function() {
6364                                return n.activeElement === H[0]
6365                            },
6366                            allFiltered: function() {
6367                                return (C.is.multiple() || C.has.search()) && !(0 == k.hideAdditions && C.has.userSuggestion()) && !C.has.message() && C.has.allResultsFiltered()
6368                            },
6369                            hidden: function(e) {
6370                                return !C.is.visible(e)
6371                            },
6372                            initialLoad: function() {
6373                                return m
6374                            },
6375                            onScreen: function(e) {
6376                                var t, n = e || W,
6377                                    i = !0,
6378                                    o = {};
6379                                return n.addClass(S.loading), t = {
6380                                    context: {
6381                                        scrollTop: I.scrollTop(),
6382                                        height: I.outerHeight()
6383                                    },
6384                                    menu: {
6385                                        offset: n.offset(),
6386                                        height: n.outerHeight()
6387                                    }
6388                                }, C.is.verticallyScrollableContext() && (t.menu.offset.top += t.context.scrollTop), o = {
6389                                    above: t.context.scrollTop <= t.menu.offset.top - t.menu.height,
6390                                    below: t.context.scrollTop + t.context.height >= t.menu.offset.top + t.menu.height
6391                                }, o.below ? (C.verbose("Dropdown can fit in context downward", o), i = !0) : o.below || o.above ? (C.verbose("Dropdown cannot fit below, opening upward", o), i = !1) : (C.verbose("Dropdown cannot fit in either direction, favoring downward", o), i = !0), n.removeClass(S.loading), i
6392                            },
6393                            inObject: function(t, n) {
6394                                var i = !1;
6395                                return e.each(n, function(e, n) {
6396                                    if (n == t) return i = !0, !0
6397                                }), i
6398                            },
6399                            multiple: function() {
6400                                return R.hasClass(S.multiple)
6401                            },
6402                            remote: function() {
6403                                return k.apiSettings && C.can.useAPI()
6404                            },
6405                            single: function() {
6406                                return !C.is.multiple()
6407                            },
6408                            selectMutation: function(t) {
6409                                var n = !1;
6410                                return e.each(t, function(t, i) {
6411                                    if (i.target && e(i.target).is("select")) return n = !0, !0
6412                                }), n
6413                            },
6414                            search: function() {
6415                                return R.hasClass(S.search)
6416                            },
6417                            searchSelection: function() {
6418                                return C.has.search() && 1 === H.parent(j.dropdown).length
6419                            },
6420                            selection: function() {
6421                                return R.hasClass(S.selection)
6422                            },
6423                            userValue: function(t) {
6424                                return -1 !== e.inArray(t, C.get.userValues())
6425                            },
6426                            upward: function(e) {
6427                                return (e || R).hasClass(S.upward)
6428                            },
6429                            visible: function(e) {
6430                                return e ? e.hasClass(S.visible) : W.hasClass(S.visible)
6431                            },
6432                            verticallyScrollableContext: function() {
6433                                var e = I.get(0) !== t && I.css("overflow-y");
6434                                return "auto" == e || "scroll" == e
6435                            }
6436                        },
6437                        can: {
6438                            activate: function(e) {
6439                                return !!k.useLabels || !C.has.maxSelections() || !(!C.has.maxSelections() || !e.hasClass(S.active))
6440                            },
6441                            click: function() {
6442                                return l || "click" == k.on
6443                            },
6444                            extendSelect: function() {
6445                                return k.allowAdditions || k.apiSettings
6446                            },
6447                            show: function() {
6448                                return !C.is.disabled() && (C.has.items() || C.has.message())
6449                            },
6450                            useAPI: function() {
6451                                return void 0 !== e.fn.api
6452                            }
6453                        },
6454                        animate: {
6455                            show: function(t, n) {
6456                                var i, o = n || W,
6457                                    r = n ? function() {} : function() {
6458                                        C.hideSubMenus(), C.hideOthers(), C.set.active()
6459                                    };
6460                                t = e.isFunction(t) ? t : function() {}, C.verbose("Doing menu show animation", o), C.set.direction(n), i = C.get.transition(n), C.is.selection() && C.set.scrollPosition(C.get.selectedItem(), !0), (C.is.hidden(o) || C.is.animating(o)) && ("none" == i ? (r(), o.transition("show"), t.call(Y)) : void 0 !== e.fn.transition && R.transition("is supported") ? o.transition({
6461                                    animation: i + " in",
6462                                    debug: k.debug,
6463                                    verbose: k.verbose,
6464                                    duration: k.duration,
6465                                    queue: !0,
6466                                    onStart: r,
6467                                    onComplete: function() {
6468                                        t.call(Y)
6469                                    }
6470                                }) : C.error(q.noTransition, i))
6471                            },
6472                            hide: function(t, n) {
6473                                var i = n || W,
6474                                    o = (k.duration, n ? function() {} : function() {
6475                                        C.can.click() && C.unbind.intent(), C.remove.active()
6476                                    }),
6477                                    r = C.get.transition(n);
6478                                t = e.isFunction(t) ? t : function() {}, (C.is.visible(i) || C.is.animating(i)) && (C.verbose("Doing menu hide animation", i), "none" == r ? (o(), i.transition("hide"), t.call(Y)) : void 0 !== e.fn.transition && R.transition("is supported") ? i.transition({
6479                                    animation: r + " out",
6480                                    duration: k.duration,
6481                                    debug: k.debug,
6482                                    verbose: k.verbose,
6483                                    queue: !0,
6484                                    onStart: o,
6485                                    onComplete: function() {
6486                                        "auto" == k.direction && C.remove.upward(n), t.call(Y)
6487                                    }
6488                                }) : C.error(q.transition))
6489                            }
6490                        },
6491                        hideAndClear: function() {
6492                            C.remove.searchTerm(), C.has.maxSelections() || (C.has.search() ? C.hide(function() {
6493                                C.remove.filteredItem()
6494                            }) : C.hide())
6495                        },
6496                        delay: {
6497                            show: function() {
6498                                C.verbose("Delaying show event to ensure user intent"), clearTimeout(C.timer), C.timer = setTimeout(C.show, k.delay.show)
6499                            },
6500                            hide: function() {
6501                                C.verbose("Delaying hide event to ensure user intent"), clearTimeout(C.timer), C.timer = setTimeout(C.hide, k.delay.hide)
6502                            }
6503                        },
6504                        escape: {
6505                            value: function(t) {
6506                                var n = e.isArray(t),
6507                                    i = "string" == typeof t,
6508                                    o = !i && !n,
6509                                    r = i && -1 !== t.search(F.quote),
6510                                    a = [];
6511                                return o || !r ? t : (C.debug("Encoding quote values for use in select", t), n ? (e.each(t, function(e, t) {
6512                                    a.push(t.replace(F.quote, "&quot;"))
6513                                }), a) : t.replace(F.quote, "&quot;"))
6514                            },
6515                            string: function(e) {
6516                                return e = String(e), e.replace(F.escape, "\\$&")
6517                            }
6518                        },
6519                        setting: function(t, n) {
6520                            if (C.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, k, t);
6521                            else {
6522                                if (void 0 === n) return k[t];
6523                                e.isPlainObject(k[t]) ? e.extend(!0, k[t], n) : k[t] = n
6524                            }
6525                        },
6526                        internal: function(t, n) {
6527                            if (e.isPlainObject(t)) e.extend(!0, C, t);
6528                            else {
6529                                if (void 0 === n) return C[t];
6530                                C[t] = n
6531                            }
6532                        },
6533                        debug: function() {
6534                            !k.silent && k.debug && (k.performance ? C.performance.log(arguments) : (C.debug = Function.prototype.bind.call(console.info, console, k.name + ":"), C.debug.apply(console, arguments)))
6535                        },
6536                        verbose: function() {
6537                            !k.silent && k.verbose && k.debug && (k.performance ? C.performance.log(arguments) : (C.verbose = Function.prototype.bind.call(console.info, console, k.name + ":"), C.verbose.apply(console, arguments)))
6538                        },
6539                        error: function() {
6540                            k.silent || (C.error = Function.prototype.bind.call(console.error, console, k.name + ":"), C.error.apply(console, arguments))
6541                        },
6542                        performance: {
6543                            log: function(e) {
6544                                var t, n, i;
6545                                k.performance && (t = (new Date).getTime(), i = c || t, n = t - i, c = t, u.push({
6546                                    Name: e[0],
6547                                    Arguments: [].slice.call(e, 1) || "",
6548                                    Element: Y,
6549                                    "Execution Time": n
6550                                })), clearTimeout(C.performance.timer), C.performance.timer = setTimeout(C.performance.display, 500)
6551                            },
6552                            display: function() {
6553                                var t = k.name + ":",
6554                                    n = 0;
6555                                c = !1, clearTimeout(C.performance.timer), e.each(u, function(e, t) {
6556                                    n += t["Execution Time"]
6557                                }), t += " " + n + "ms", s && (t += " '" + s + "'"), (void 0 !== console.group || void 0 !== console.table) && u.length > 0 && (console.table || e.each(u, function(e, t) {})), u = []
6558                            }
6559                        },
6560                        invoke: function(t, n, i) {
6561                            var r, a, s, l = G;
6562                            return n = n || p, i = Y || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
6563                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
6564                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
6565                                else {
6566                                    if (void 0 !== l[o]) return a = l[o], !1;
6567                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] ? (a = l[i], !1) : (C.error(q.method, t), !1);
6568                                    l = l[i]
6569                                }
6570                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
6571                        }
6572                    }, f ? (void 0 === G && C.initialize(), C.invoke(d)) : (void 0 !== G && G.invoke("destroy"), C.initialize())
6573                }), void 0 !== o ? o : r
6574            }, e.fn.dropdown.settings = {
6575                silent: !1,
6576                debug: !1,
6577                verbose: !1,
6578                performance: !0,
6579                on: "click",
6580                action: "activate",
6581                apiSettings: !1,
6582                selectOnKeydown: !0,
6583                minCharacters: 0,
6584                filterRemoteData: !1,
6585                saveRemoteData: !0,
6586                throttle: 200,
6587                context: t,
6588                direction: "auto",
6589                keepOnScreen: !0,
6590                match: "both",
6591                fullTextSearch: !1,
6592                placeholder: "auto",
6593                preserveHTML: !0,
6594                sortSelect: !1,
6595                forceSelection: !0,
6596                allowAdditions: !1,
6597                hideAdditions: !0,
6598                maxSelections: !1,
6599                useLabels: !0,
6600                delimiter: ",",
6601                showOnFocus: !0,
6602                allowReselection: !1,
6603                allowTab: !0,
6604                allowCategorySelection: !1,
6605                fireOnInit: !1,
6606                transition: "auto",
6607                duration: 200,
6608                glyphWidth: 1.037,
6609                label: {
6610                    transition: "scale",
6611                    duration: 200,
6612                    variation: !1
6613                },
6614                delay: {
6615                    hide: 300,
6616                    show: 200,
6617                    search: 20,
6618                    touch: 50
6619                },
6620                onChange: function(e, t, n) {},
6621                onAdd: function(e, t, n) {},
6622                onRemove: function(e, t, n) {},
6623                onLabelSelect: function(e) {},
6624                onLabelCreate: function(t, n) {
6625                    return e(this)
6626                },
6627                onLabelRemove: function(e) {
6628                    return !0
6629                },
6630                onNoResults: function(e) {
6631                    return !0
6632                },
6633                onShow: function() {},
6634                onHide: function() {},
6635                name: "Dropdown",
6636                namespace: "dropdown",
6637                message: {
6638                    addResult: "Add <b>{term}</b>",
6639                    count: "{count} selected",
vendor: 6,200 bytes, lines 6640-6771
6640                    maxSelections: "Max {maxCount} selections",
6641                    noResults: "No results found.",
6642                    serverError: "There was an error contacting the server"
6643                },
6644                error: {
6645                    action: "You called a dropdown action that was not defined",
6646                    alreadySetup: "Once a select has been initialized behaviors must be called on the created ui dropdown",
6647                    labels: "Allowing user additions currently requires the use of labels.",
6648                    missingMultiple: "<select> requires multiple property to be set to correctly preserve multiple values",
6649                    method: "The method you called is not defined.",
6650                    noAPI: "The API module is required to load resources remotely",
6651                    noStorage: "Saving remote data requires session storage",
6652                    noTransition: "This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>"
6653                },
6654                regExp: {
6655                    escape: /[-[\]{}()*+?.,\\^$|#\s]/g,
6656                    quote: /"/g
6657                },
6658                metadata: {
6659                    defaultText: "defaultText",
6660                    defaultValue: "defaultValue",
6661                    placeholderText: "placeholder",
6662                    text: "text",
6663                    value: "value"
6664                },
6665                fields: {
6666                    remoteValues: "results",
6667                    values: "values",
6668                    disabled: "disabled",
6669                    name: "name",
6670                    value: "value",
6671                    text: "text"
6672                },
6673                keys: {
6674                    backspace: 8,
6675                    delimiter: 188,
6676                    deleteKey: 46,
6677                    enter: 13,
6678                    escape: 27,
6679                    pageUp: 33,
6680                    pageDown: 34,
6681                    leftArrow: 37,
6682                    upArrow: 38,
6683                    rightArrow: 39,
6684                    downArrow: 40
6685                },
6686                selector: {
6687                    addition: ".addition",
6688                    dropdown: ".ui.dropdown",
6689                    hidden: ".hidden",
6690                    icon: "> .dropdown.icon",
6691                    input: '> input[type="hidden"], > select',
6692                    item: ".item",
6693                    label: "> .label",
6694                    remove: "> .label > .delete.icon",
6695                    siblingLabel: ".label",
6696                    menu: ".menu",
6697                    message: ".message",
6698                    menuIcon: ".dropdown.icon",
6699                    search: "input.search, .menu > .search > input, .menu input.search",
6700                    sizer: "> input.sizer",
6701                    text: "> .text:not(.icon)",
6702                    unselectable: ".disabled, .filtered"
6703                },
6704                className: {
6705                    active: "active",
6706                    addition: "addition",
6707                    animating: "animating",
6708                    disabled: "disabled",
6709                    empty: "empty",
6710                    dropdown: "ui dropdown",
6711                    filtered: "filtered",
6712                    hidden: "hidden transition",
6713                    item: "item",
6714                    label: "ui label",
6715                    loading: "loading",
6716                    menu: "menu",
6717                    message: "message",
6718                    multiple: "multiple",
6719                    placeholder: "default",
6720                    sizer: "sizer",
6721                    search: "search",
6722                    selected: "selected",
6723                    selection: "selection",
6724                    upward: "upward",
6725                    visible: "visible"
6726                }
6727            }, e.fn.dropdown.settings.templates = {
6728                dropdown: function(t) {
6729                    var n = t.placeholder || !1,
6730                        i = (t.values, "");
6731                    return i += '<i class="dropdown icon"></i>', t.placeholder ? i += '<div class="default text">' + n + "</div>" : i += '<div class="text"></div>', i += '<div class="menu">', e.each(t.values, function(e, t) {
6732                        i += t.disabled ? '<div class="disabled item" data-value="' + t.value + '">' + t.name + "</div>" : '<div class="item" data-value="' + t.value + '">' + t.name + "</div>"
6733                    }), i += "</div>"
6734                },
6735                menu: function(t, n) {
6736                    var i = t[n.values] || {},
6737                        o = "";
6738                    return e.each(i, function(e, t) {
6739                        var i = t[n.text] ? 'data-text="' + t[n.text] + '"' : "",
6740                            r = t[n.disabled] ? "disabled " : "";
6741                        o += '<div class="' + r + 'item" data-value="' + t[n.value] + '"' + i + ">", o += t[n.name], o += "</div>"
6742                    }), o
6743                },
6744                label: function(e, t) {
6745                    return t + '<i class="delete icon"></i>'
6746                },
6747                message: function(e) {
6748                    return e
6749                },
6750                addition: function(e) {
6751                    return e
6752                }
6753            }
6754        }(jQuery, window, document),
6755        function(e, t, n, i) {
6756            "use strict";
6757            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.modal = function(i) {
6758                var o, r = e(this),
6759                    a = e(t),
6760                    s = e(n),
6761                    l = e("body"),
6762                    c = r.selector || "",
6763                    u = (new Date).getTime(),
6764                    d = [],
6765                    f = arguments[0],
6766                    p = "string" == typeof f,
6767                    h = [].slice.call(arguments, 1),
6768                    m = t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame || function(e) {
6769                        setTimeout(e, 0)
6770                    };
6771                return r.each(function() {
6772                    var r, g, v, b, y, x, w, C, k, S = e.isPlainObject(i) ? e.extend(!0, {}, e.fn.modal.settings, i) : e.extend({}, e.fn.modal.settings),
6773                        T = S.selector,
6774                        A = S.className,
6775                        E = S.namespace,
6776                        D = S.error,
6777                        O = "." + E,
6778                        F = "module-" + E,
6779                        j = e(this),
6780                        q = e(S.context),
6781                        L = j.find(T.close),
6782                        N = this,
6783                        P = j.data(F),
6784                        R = !1;
6785                    k = {
6786                        initialize: function() {
6787                            k.verbose("Initializing dimmer", q), k.create.id(), k.create.dimmer(), k.refreshModals(), k.bind.events(), S.observeChanges && k.observeChanges(), k.instantiate()
6788                        },
6789                        instantiate: function() {
6790                            k.verbose("Storing instance of modal"), P = k, j.data(F, P)
6791                        },
6792                        create: {
6793                            dimmer: function() {
6794                                var t = {
6795                                        debug: S.debug,
6796                                        dimmerName: "modals",
6797                                        duration: {
6798                                            show: S.duration,
6799                                            hide: S.duration
6800                                        }
6801                                    },
6802                                    n = e.extend(!0, t, S.dimmerSettings);
6803                                if (S.inverted && (n.variation = void 0 !== n.variation ? n.variation + " inverted" : "inverted"), void 0 === e.fn.dimmer) return void k.error(D.dimmer);
6804                                k.debug("Creating dimmer with settings", n), b = q.dimmer(n), S.detachable ? (k.verbose("Modal is detachable, moving content into dimmer"), b.dimmer("add content", j)) : k.set.undetached(), S.blurring && b.addClass(A.blurring), y = b.dimmer("get dimmer")
6805                            },
6806                            id: function() {
6807                                w = (Math.random().toString(16) + "000000000").substr(2, 8), x = "." + w, k.verbose("Creating unique id for element", w)
6808                            }
6809                        },
6810                        destroy: function() {
6811                            k.verbose("Destroying previous modal"), j.removeData(F).off(O), a.off(x), y.off(x), L.off(O), q.dimmer("destroy")
6812                        },
6813                        observeChanges: function() {
6814                            "MutationObserver" in t && (C = new MutationObserver(function(e) {
6815                                k.debug("DOM tree modified, refreshing"), k.refresh()
6816                            }), C.observe(N, {
6817                                childList: !0,
6818                                subtree: !0
6819                            }), k.debug("Setting up mutation observer", C))
6820                        },
6821                        refresh: function() {
6822                            k.remove.scrolling(), k.cacheSizes(), k.set.screenHeight(), k.set.type(), k.set.position()
6823                        },
6824                        refreshModals: function() {
6825                            g = j.siblings(T.modal), r = g.add(j)
6826                        },
6827                        attachEvents: function(t, n) {
6828                            var i = e(t);
6829                            n = e.isFunction(k[n]) ? k[n] : k.toggle, i.length > 0 ? (k.debug("Attaching modal events to element", t, n), i.off(O).on("click" + O, n)) : k.error(D.notFound, t)
6830                        },
6831                        bind: {
6832                            events: function() {
6833                                k.verbose("Attaching events"), j.on("click" + O, T.close, k.event.close).on("click" + O, T.approve, k.event.approve).on("click" + O, T.deny, k.event.deny), a.on("resize" + x, k.event.resize)
6834                            }
6835                        },
6836                        get: {
6837                            id: function() {
6838                                return (Math.random().toString(16) + "000000000").substr(2, 8)
6839                            }
6840                        },
6841                        event: {
6842                            approve: function() {
6843                                if (R || !1 === S.onApprove.call(N, e(this))) return void k.verbose("Approve callback returned false 
6843cancelling hide");
6844                                R = !0, k.hide(function() {
6845                                    R = !1
6846                                })
6847                            },
6848                            deny: function() {
6849                                if (R || !1 === S.onDeny.call(N, e(this))) return void k.verbose("Deny callback returned false cancelling hide");
6850                                R = !0, k.hide(function() {
6851                                    R = !1
6852                                })
6853                            },
6854                            close: function() {
6855                                k.hide()
6856                            },
6857                            click: function(t) {
6858                                var i = e(t.target),
6859                                    o = i.closest(T.modal).length > 0,
6860                                    r = e.contains(n.documentElement, t.target);
6861                                !o && r && (k.debug("Dimmer clicked, hiding all modals"), k.is.active() && (k.remove.clickaway(), S.allowMultiple ? k.hide() : k.hideAll()))
6862                            },
6863                            debounce: function(e, t) {
6864                                clearTimeout(k.timer), k.timer = setTimeout(e, t)
6865                            },
6866                            keyboard: function(e) {
6867                                27 == e.which && (S.closable ? (k.debug("Escape key pressed hiding modal"), k.hide()) : k.debug("Escape key pressed, but closable is set to false"), e.preventDefault())
6868                            },
6869                            resize: function() {
6870                                b.dimmer("is active") && m(k.refresh)
6871                            }
6872                        },
6873                        toggle: function() {
6874                            k.is.active() || k.is.animating() ? k.hide() : k.show()
6875                        },
6876                        show: function(t) {
6877                            t = e.isFunction(t) ? t : function() {}, k.refreshModals(), k.showModal(t)
6878                        },
6879                        hide: function(t) {
6880                            t = e.isFunction(t) ? t : function() {}, k.refreshModals(), k.hideModal(t)
6881                        },
6882                        showModal: function(t) {
6883                            t = e.isFunction(t) ? t : function() {}, k.is.animating() || !k.is.active() ? (k.showDimmer(), k.cacheSizes(), k.set.position(), k.set.screenHeight(), k.set.type(), k.set.clickaway(), !S.allowMultiple && k.others.active() ? k.hideOthers(k.showModal) : (S.onShow.call(N), S.transition && void 0 !== e.fn.transition && j.transition("is supported") ? (k.debug("Showing modal with css animations"), j.transition({
6884                                debug: S.debug,
6885                                animation: S.transition + " in",
6886                                queue: S.queue,
6887                                duration: S.duration,
6888                                useFailSafe: !0,
6889                                onComplete: function() {
6890                                    S.onVisible.apply(N), S.keyboardShortcuts && k.add.keyboardShortcuts(), k.save.focus(), k.set.active(), S.autofocus && k.set.autofocus(), t()
6891                                }
6892                            })) : k.error(D.noTransition))) : k.debug("Modal is already visible")
6893                        },
6894                        hideModal: function(t, n) {
6895                            if (t = e.isFunction(t) ? t : function() {}, k.debug("Hiding modal"), !1 === S.onHide.call(N, e(this))) return void k.verbose("Hide callback returned false cancelling hide");
6896                            (k.is.animating() || k.is.active()) && (S.transition && void 0 !== e.fn.transition && j.transition("is supported") ? (k.remove.active(), j.transition({
6897                                debug: S.debug,
6898                                animation: S.transition + " out",
6899                                queue: S.queue,
6900                                duration: S.duration,
6901                                useFailSafe: !0,
6902                                onStart: function() {
6903                                    k.others.active() || n || k.hideDimmer(), S.keyboardShortcuts && k.remove.keyboardShortcuts()
6904                                },
6905                                onComplete: function() {
6906                                    S.onHidden.call(N), k.restore.focus(), t()
6907                                }
6908                            })) : k.error(D.noTransition))
6909                        },
6910                        showDimmer: function() {
6911                            b.dimmer("is animating") || !b.dimmer("is active") ? (k.debug("Showing dimmer"), b.dimmer("show")) : k.debug("Dimmer already visible")
6912                        },
6913                        hideDimmer: function() {
6914                            if (!b.dimmer("is animating") && !b.dimmer("is active")) return void k.debug("Dimmer is not visible cannot hide");
6915                            b.dimmer("hide", function() {
6916                                k.remove.clickaway(), k.remove.screenHeight()
6917                            })
6918                        },
6919                        hideAll: function(t) {
6920                            var n = r.filter("." + A.active + ", ." + A.animating);
6921                            t = e.isFunction(t) ? t : function() {}, n.length > 0 && (k.debug("Hiding all visible modals"), k.hideDimmer(), n.modal("hide modal", t))
6922                        },
6923                        hideOthers: function(t) {
6924                            var n = g.filter("." + A.active + ", ." + A.animating);
6925                            t = e.isFunction(t) ? t : function() {}, n.length > 0 && (k.debug("Hiding other modals", g), n.modal("hide modal", t, !0))
6926                        },
6927                        others: {
6928                            active: function() {
6929                                return g.filter("." + A.active).length > 0
6930                            },
6931                            animating: function() {
6932                                return g.filter("." + A.animating).length > 0
6933                            }
6934                        },
6935                        add: {
6936                            keyboardShortcuts: function() {
6937                                k.verbose("Adding keyboard shortcuts"), s.on("keyup" + O, k.event.keyboard)
6938                            }
6939                        },
6940                        save: {
6941                            focus: function() {
6942                                v = e(n.activeElement).blur()
6943                            }
6944                        },
6945                        restore: {
6946                            focus: function() {
6947                                v && v.length > 0 && v.focus()
6948                            }
6949                        },
6950                        remove: {
6951                            active: function() {
6952                                j.removeClass(A.active)
6953                            },
6954                            clickaway: function() {
6955                                S.closable && y.off("click" + x)
6956                            },
6957                            bodyStyle: function() {
6958                                "" === l.attr("style") && (k.verbose("Removing style attribute"), l.removeAttr("style"))
6959                            },
6960                            screenHeight: function() {
6961                                k.debug("Removing page height"), l.css("height", "")
6962                            },
6963                            keyboardShortcuts: function() {
6964                                k.verbose("Removing keyboard shortcuts"), s.off("keyup" + O)
6965                            },
6966                            scrolling: function() {
6967                                b.removeClass(A.scrolling), j.removeClass(A.scrolling)
6968                            }
6969                        },
6970                        cacheSizes: function() {
6971                            var i = j.outerHeight();
6972                            void 0 !== k.cache && 0 === i || (k.cache = {
6973                                pageHeight: e(n).outerHeight(),
6974                                height: i + S.offset,
6975                                contextHeight: "body" == S.context ? e(t).height() : b.height()
6976                            }), k.debug("Caching modal and container sizes", k.cache)
6977                        },
6978                        can: {
6979                            fit: function() {
6980                                return k.cache.height + 2 * S.padding < k.cache.contextHeight
6981                            }
6982                        },
6983                        is: {
6984                            active: function() {
6985                                return j.hasClass(A.active)
6986                            },
6987                            animating: function() {
6988                                return j.transition("is supported") ? j.transition("is animating") : j.is(":visible")
6989                            },
6990                            scrolling: function() {
6991                                return b.hasClass(A.scrolling)
6992                            },
6993                            modernBrowser: function() {
6994                                return !(t.ActiveXObject || "ActiveXObject" in t)
6995                            }
6996                        },
6997                        set: {
6998                            autofocus: function() {
6999                                var e = j.find("[tabindex], :input").filter(":visible"),
7000                                    t = e.filter("[autofocus]"),
7001                                    n = t.length > 0 ? t.first() : e.first();
7002                                n.length > 0 && n.focus()
7003                            },
7004                            clickaway: function() {
7005                                S.closable && y.on("click" + x, k.event.click)
7006                            },
7007                            screenHeight: function() {
7008                                k.can.fit() ? l.css("height", "") : (k.debug("Modal is taller than page content, resizing page height"), l.css("height", k.cache.height + 2 * S.padding))
7009                            },
7010                            active: function() {
7011                                j.addClass(A.active)
7012                            },
7013                            scrolling: function() {
7014                                b.addClass(A.scrolling), j.addClass(A.scrolling)
7015                            },
7016                            type: function() {
7017                                k.can.fit() ? (k.verbose("Modal fits on screen"), k.others.active() || k.others.animating() || k.remove.scrolling()) : (k.verbose("Modal cannot fit on screen setting to scrolling"), k.set.scrolling())
7018                            },
7019                            position: function() {
7020                                k.verbose("Centering modal on page", k.cache), k.can.fit() ? j.css({
7021                                    top: "",
7022                                    marginTop: -k.cache.height / 2
7023                                }) : j.css({
7024                                    marginTop: "",
7025                                    top: s.scrollTop()
7026                                })
7027                            },
7028                            undetached: function() {
7029                                b.addClass(A.undetached)
7030                            }
7031                        },
7032                        setting: function(t, n) {
7033                            if (k.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, S, t);
7034                            else {
7035                                if (void 0 === n) return S[t];
7036                                e.isPlainObject(S[t]) ? e.extend(!0, S[t], n) : S[t] = n
7037                            }
7038                        },
7039                        internal: function(t, n) {
7040                            if (e.isPlainObject(t)) e.extend(!0, k, t);
7041                            else {
7042                                if (void 0 === n) return k[t];
7043                                k[t] = n
7044                            }
7045                        },
7046                        debug: function() {
7047                            !S.silent && S.debug && (S.performance ? k.performance.log(arguments) : (k.debug = Function.prototype.bind.call(console.info, console, S.name + ":"), k.debug.apply(console, arguments)))
7048                        },
7049                        verbose: function() {
7050                            !S.silent && S.verbose && S.debug && (S.performance ? k.performance.log(arguments) : (k.verbose = Function.prototype.bind.call(console.info, console, S.name + ":"), k.verbose.apply(console, arguments)))
7051                        },
7052                        error: function() {
7053                            S.silent || (k.error = Function.prototype.bind.call(console.error, console, S.name + ":"), k.error.apply(console, arguments))
7054                        },
7055                        performance: {
7056                            log: function(e) {
7057                                var t, n, i;
7058                                S.performance && (t = (new Date).getTime(), i = u || t, n = t - i, u = t, d.push({
7059                                    Name: e[0],
7060                                    Arguments: [].slice.call(e, 1) || "",
7061                                    Element: N,
7062                                    "Execution Time": n
7063                                })), clearTimeout(k.performance.timer), k.performance.timer = setTimeout(k.performance.display, 500)
7064                            },
7065                            display: function() {
7066                                var t = S.name + ":",
7067                                    n = 0;
7068                                u = !1, clearTimeout(k.performance.timer), e.each(d, function(e, t) {
7069                                    n += t["Execution Time"]
7070                                }), t += " " + n + "ms", c && (t += " '" + c + "'"), (void 0 !== console.group || void 0 !== console.table) && d.length > 0 && (console.table || e.each(d, function(e, t) {})), d = []
7071                            }
7072                        },
7073                        invoke: function(t, n, i) {
7074                            var r, a, s, l = P;
7075                            return n = n || h, i = N || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
7076                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
7077                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
7078                                else {
7079                                    if (void 0 !== l[o]) return a = l[o], !1;
7080                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] && (a = l[i], !1);
7081                                    l = l[i]
7082                                }
7083                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
7084                        }
7085                    }, p ? (void 0 === P && k.initialize(), k.invoke(f)) : (void 0 !== P && P.invoke("destroy"), k.initialize())
7086                }), void 0 !== o ? o : this
7087            }, e.fn.modal.settings = {
7088                name: "Modal",
7089                namespace: "modal",
7090                silent: !1,
7091                debug: !1,
7092                verbose: !1,
7093                performance: !0,
7094                observeChanges: !1,
7095                allowMultiple: !1,
7096                detachable: !0,
7097                closable: !0,
7098                autofocus: !0,
7099                inverted: !1,
7100                blurring: !1,
7101                dimmerSettings: {
7102                    closable: !1,
7103                    useCSS: !0
7104                },
7105                keyboardShortcuts: !0,
7106                context: "body",
7107                queue: !1,
7108                duration: 500,
7109                offset: 0,
7110                transition: "scale",
7111                padding: 50,
7112                onShow: function() {},
7113                onVisible: function() {},
7114                onHide: function() {
7115                    return !0
7116                },
7117                onHidden: function() {},
7118                onApprove: function() {
7119                    return !0
7120                },
7121                onDeny: function() {
7122                    return !0
7123                },
7124                selector: {
7125                    close: "> .close",
7126                    approve: ".actions .positive, .actions .approve, .actions .ok",
7127                    deny: ".actions .negative, .actions .deny, .actions .cancel",
7128                    modal: ".ui.modal"
7129                },
7130                error: {
7131                    dimmer: "UI Dimmer, a required component is not included in this page",
7132                    method: "The method you called is not defined.",
7133                    notFound: "The element you specified could not be found"
7134                },
7135                className: {
7136                    active: "active",
7137                    animating: "animating",
7138                    blurring: "blurring",
7139                    scrolling: "scrolling",
7140                    undetached: "undetached"
7141                }
7142            }
7143        }(jQuery, window, document),
7144        function(e, t, i, o) {
7145            "use strict";
7146            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.popup = function(o) {
7147                var r, a = e(this),
7148                    s = e(i),
7149                    l = e(t),
7150                    c = e("body"),
7151                    u = a.selector || "",
7152                    d = (new Date).getTime(),
7153                    f = [],
7154                    p = arguments[0],
7155                    h = "string" == typeof p,
7156                    m = [].slice.call(arguments, 1);
7157                return a.each(function() {
7158                    var a, g, v, b, y, x, w = e.isPlainObject(o) ? e.extend(!0, {}, e.fn.popup.settings, o) : e.extend({}, e.fn.popup.settings),
7159                        C = w.selector,
7160                        k = w.className,
7161                        S = w.error,
7162                        T = w.metadata,
7163                        A = w.namespace,
7164                        E = "." + w.namespace,
7165                        D = "module-" + A,
7166                        O = e(this),
7167                        F = e(w.context),
7168                        j = e(w.scrollContext),
7169                        q = e(w.boundary),
7170                        L = w.target ? e(w.target) : O,
7171                        N = 0,
7172                        P = !1,
7173                        R = !1,
7174                        I = this,
7175                        M = O.data(D);
7176                    x = {
7177                        initialize: function() {
7178                            x.debug("Initializing", O), x.createID(), x.bind.events(), !x.exists() && w.preserve && x.create(), w.observeChanges && x.observeChanges(), x.instantiate()
7179                        },
7180                        instantiate: function() {
7181                            x.verbose("Storing instance", x), M = x, O.data(D, M)
7182                        },
7183                        observeChanges: function() {
7184                            "MutationObserver" in t && (v = new MutationObserver(x.event.documentChanged), v.observe(i, {
7185                                childList: !0,
7186                                subtree: !0
7187                            }), x.debug("Setting up mutation observer", v))
7188                        },
7189                        refresh: function() {
7190                            w.popup ? a = e(w.popup).eq(0) : w.inline && (a = L.nextAll(C.popup).eq(0), w.popup = a), w.popup ? (a.addClass(k.loading), g = x.get.offsetParent(), a.removeClass(k.loading), w.movePopup && x.has.popup() && x.get.offsetParent(a)[
vendor: 7,300 bytes, lines 7190-7287
71900] !== g[0] && (x.debug("Moving popup to the same offset parent as activating element"), a.detach().appendTo(g))) : g = w.inline ? x.get.offsetParent(L) : x.has.popup() ? x.get.offsetParent(a) : c, g.is("html") && g[0] !== c[0] && (x.debug("Setting page as offset parent"), g = c), x.get.variation() && x.set.variation()
7191                        },
7192                        reposition: function() {
7193                            x.refresh(), x.set.position()
7194                        },
7195                        destroy: function() {
7196                            x.debug("Destroying previous module"), v && v.disconnect(), a && !w.preserve && x.removePopup(), clearTimeout(x.hideTimer), clearTimeout(x.showTimer), x.unbind.close(), x.unbind.events(), O.removeData(D)
7197                        },
7198                        event: {
7199                            start: function(t) {
7200                                var n = e.isPlainObject(w.delay) ? w.delay.show : w.delay;
7201                                clearTimeout(x.hideTimer), R || (x.showTimer = setTimeout(x.show, n))
7202                            },
7203                            end: function() {
7204                                var t = e.isPlainObject(w.delay) ? w.delay.hide : w.delay;
7205                                clearTimeout(x.showTimer), x.hideTimer = setTimeout(x.hide, t)
7206                            },
7207                            touchstart: function(e) {
7208                                R = !0, x.show()
7209                            },
7210                            resize: function() {
7211                                x.is.visible() && x.set.position()
7212                            },
7213                            documentChanged: function(t) {
7214                                [].forEach.call(t, function(t) {
7215                                    t.removedNodes && [].forEach.call(t.removedNodes, function(t) {
7216                                        (t == I || e(t).find(I).length > 0) && (x.debug("Element removed from DOM, tearing down events"), x.destroy())
7217                                    })
7218                                })
7219                            },
7220                            hideGracefully: function(t) {
7221                                var n = e(t.target),
7222                                    o = e.contains(i.documentElement, t.target),
7223                                    r = n.closest(C.popup).length > 0;
7224                                t && !r && o ? (x.debug("Click occurred outside popup hiding popup"), x.hide()) : x.debug("Click was inside popup, keeping popup open")
7225                            }
7226                        },
7227                        create: function() {
7228                            var t = x.get.html(),
7229                                n = x.get.title(),
7230                                i = x.get.content();
7231                            t || i || n ? (x.debug("Creating pop-up html"), t || (t = w.templates.popup({
7232                                title: n,
7233                                content: i
7234                            })), a = e("<div/>").addClass(k.popup).data(T.activator, O).html(t), w.inline ? (x.verbose("Inserting popup element inline", a), a.insertAfter(O)) : (x.verbose("Appending popup element to body", a), a.appendTo(F)), x.refresh(), x.set.variation(), w.hoverable && x.bind.popup(), w.onCreate.call(a, I)) : 0 !== L.next(C.popup).length ? (x.verbose("Pre-existing popup found"), w.inline = !0, w.popup = L.next(C.popup).data(T.activator, O), x.refresh(), w.hoverable && x.bind.popup()) : w.popup ? (e(w.popup).data(T.activator, O), x.verbose("Used popup specified in settings"), x.refresh(), w.hoverable && x.bind.popup()) : x.debug("No content specified skipping display", I)
7235                        },
7236                        createID: function() {
7237                            y = (Math.random().toString(16) + "000000000").substr(2, 8), b = "." + y, x.verbose("Creating unique id for element", y)
7238                        },
7239                        toggle: function() {
7240                            x.debug("Toggling pop-up"), x.is.hidden() ? (x.debug("Popup is hidden, showing pop-up"), x.unbind.close(), x.show()) : (x.debug("Popup is visible, hiding pop-up"), x.hide())
7241                        },
7242                        show: function(e) {
7243                            if (e = e || function() {}, x.debug("Showing pop-up", w.transition), x.is.hidden() && (!x.is.active() || !x.is.dropdown())) {
7244                                if (x.exists() || x.create(), !1 === w.onShow.call(a, I)) return void x.debug("onShow callback returned false, cancelling popup animation");
7245                                w.preserve || w.popup || x.refresh(), a && x.set.position() && (x.save.conditions(), w.exclusive && x.hideAll(), x.animate.show(e))
7246                            }
7247                        },
7248                        hide: function(e) {
7249                            if (e = e || function() {}, x.is.visible() || x.is.animating()) {
7250                                if (!1 === w.onHide.call(a, I)) return void x.debug("onHide callback returned false, cancelling popup animation");
7251                                x.remove.visible(), x.unbind.close(), x.restore.conditions(), x.animate.hide(e)
7252                            }
7253                        },
7254                        hideAll: function() {
7255                            e(C.popup).filter("." + k.visible).each(function() {
7256                                e(this).data(T.activator).popup("hide")
7257                            })
7258                        },
7259                        exists: function() {
7260                            return !!a && (w.inline || w.popup ? x.has.popup() : a.closest(F).length >= 1)
7261                        },
7262                        removePopup: function() {
7263                            x.has.popup() && !w.popup && (x.debug("Removing popup", a), a.remove(), a = void 0, w.onRemove.call(a, I))
7264                        },
7265                        save: {
7266                            conditions: function() {
7267                                x.cache = {
7268                                    title: O.attr("title")
7269                                }, x.cache.title && O.removeAttr("title"), x.verbose("Saving original attributes", x.cache.title)
7270                            }
7271                        },
7272                        restore: {
7273                            conditions: function() {
7274                                return x.cache && x.cache.title && (O.attr("title", x.cache.title), x.verbose("Restoring original attributes", x.cache.title)), !0
7275                            }
7276                        },
7277                        supports: {
7278                            svg: function() {
7279                                return void 0 === ("undefined" == typeof SVGGraphicsElement ? "undefined" : n(SVGGraphicsElement))
7280                            }
7281                        },
7282                        animate: {
7283                            show: function(t) {
7284                                t = e.isFunction(t) ? t : function() {}, w.transition && void 0 !== e.fn.transition && O.transition("is supported") ? (x.set.visible(), a.transition({
7285                                    animation: w.transition + " in",
7286                                    queue: !1,
7287                                    debug: w.debug,
7288                                    verbose: w.verbose,
7289                                    duration: w.duration,
7290                                    onComplete: function() {
7291                                        x.bind.close(), t.call(a, I), w.onVisible.call(a, I)
7292                                    }
7293                                })) : x.error(S.noTransition)
7294                            },
7295                            hide: function(t) {
7296                                if (t = e.isFunction(t) ? t : function() {}, x.debug("Hiding pop-up"), !1 === w.onHide.call(a, I)) return void x.debug("onHide callback returned false, cancelling popup animation");
7297                                w.transition && void 0 !== e.fn.transition && O.transition("is supported") ? a.transition({
7298                                    animation: w.transition + " out",
7299                                    queue: !1,
7300                                    duration: w.duration,
7301                                    debug: w.debug,
7302                                    verbose: w.verbose,
7303                                    onComplete: function() {
7304                                        x.reset(), t.call(a, I), w.onHidden.call(a, I)
7305                                    }
7306                                }) : x.error(S.noTransition)
7307                            }
7308                        },
7309                        change: {
7310                            content: function(e) {
7311                                a.html(e)
7312                            }
7313                        },
7314                        get: {
7315                            html: function() {
7316                                return O.removeData(T.html), O.data(T.html) || w.html
7317                            },
7318                            title: function() {
7319                                return O.removeData(T.title), O.data(T.title) || w.title
7320                            },
7321                            content: function() {
7322                                return O.removeData(T.content), O.data(T.content) || O.attr("title") || w.content
7323                            },
7324                            variation: function() {
7325                                return O.removeData(T.variation), O.data(T.variation) || w.variation
7326                            },
7327                            popup: function() {
7328                                return a
7329                            },
7330                            popupOffset: function() {
7331                                return a.offset()
7332                            },
7333                            calculations: function() {
7334                                var e, n = L[0],
7335                                    i = q[0] == t,
7336                                    o = w.inline || w.popup && w.movePopup ? L.position() : L.offset(),
7337                                    r = i ? {
7338                                        top: 0,
7339                                        left: 0
7340                                    } : q.offset(),
7341                                    s = {},
7342                                    c = i ? {
7343                                        top: l.scrollTop(),
7344                                        left: l.scrollLeft()
7345                                    } : {
7346                                        top: 0,
7347                                        left: 0
7348                                    };
7349                                return s = {
7350                                    target: {
7351                                        element: L[0],
7352                                        width: L.outerWidth(),
7353                                        height: L.outerHeight(),
7354                                        top: o.top,
7355                                        left: o.left,
7356                                        margin: {}
7357                                    },
7358                                    popup: {
7359                                        width: a.outerWidth(),
7360                                        height: a.outerHeight()
7361                                    },
7362                                    parent: {
7363                                        width: g.outerWidth(),
7364                                        height: g.outerHeight()
7365                                    },
7366                                    screen: {
7367                                        top: r.top,
7368                                        left: r.left,
7369                                        scroll: {
7370                                            top: c.top,
7371                                            left: c.left
7372                                        },
7373                                        width: q.width(),
7374                                        height: q.height()
7375                                    }
7376                                }, w.setFluidWidth && x.is.fluid() && (s.container = {
7377                                    width: a.parent().outerWidth()
7378                                }, s.popup.width = s.container.width), s.target.margin.top = w.inline ? parseInt(t.getComputedStyle(n).getPropertyValue("margin-top"), 10) : 0, s.target.margin.left = w.inline ? x.is.rtl() ? parseInt(t.getComputedStyle(n).getPropertyValue("margin-right"), 10) : parseInt(t.getComputedStyle(n).getPropertyValue("margin-left"), 10) : 0, e = s.screen, s.boundary = {
7379                                    top: e.top + e.scroll.top,
7380                                    bottom: e.top + e.scroll.top + e.height,
7381                                    left: e.left + e.scroll.left,
7382                                    right: e.left + e.scroll.left + e.width
7383                                }, s
7384                            },
7385                            id: function() {
7386                                return y
7387                            },
7388                            startEvent: function() {
7389                                return "hover" == w.on ? "mouseenter" : "focus" == w.on && "focus"
7390                            },
7391                            scrollEvent: function() {
7392                                return "scroll"
7393                            },
7394                            endEvent: function() {
7395                                return "hover" == w.on ? "mouseleave" : "focus" == w.on && "blur"
7396                            },
7397                            distanceFromBoundary: function(e, t) {
7398                                var n, i, o = {};
7399                                return t = t || x.get.calculations(), n = t.popup, i = t.boundary, e && (o = {
7400                                    top: e.top - i.top,
7401                                    left: e.left - i.left,
7402                                    right: i.right - (e.left + n.width),
7403                                    bottom: i.bottom - (e.top + n.height)
7404                                }, x.verbose("Distance from boundaries determined", e, o)), o
7405                            },
7406                            offsetParent: function(t) {
7407                                var n = void 0 !== t ? t[0] : O[0],
7408                                    i = n.parentNode,
7409                                    o = e(i);
7410                                if (i)
7411                                    for (var r = "none" === o.css("transform"), a = "static" === o.css("position"), s = o.is("html"); i && !s && a && r;) i = i.parentNode, o = e(i), r = "none" === o.css("transform"), a = "static" === o.css("position"), s = o.is("html");
7412                                return o && o.length > 0 ? o : e()
7413                            },
7414                            positions: function() {
7415                                return {
7416                                    "top left": !1,
7417                                    "top center": !1,
7418                                    "top right": !1,
7419                                    "bottom left": !1,
7420                                    "bottom center": !1,
7421                                    "bottom right": !1,
7422                                    "left center": !1,
7423                                    "right center": !1
7424                                }
7425                            },
7426                            nextPosition: function(e) {
7427                                var t = e.split(" "),
7428                                    n = t[0],
7429                                    i = t[1],
7430                                    o = {
7431                                        top: "bottom",
7432                                        bottom: "top",
7433                                        left: "right",
7434                                        right: "left"
7435                                    },
7436                                    r = {
7437                                        left: "center",
7438                                        center: "right",
7439                                        right: "left"
7440                                    },
7441                                    a = {
7442                                        "top left": "top center",
7443                                        "top center": "top right",
7444                                        "top right": "right center",
7445                                        "right center": "bottom right",
7446                                        "bottom right": "bottom center",
7447                                        "bottom center": "bottom left",
7448                                        "bottom left": "left center",
7449                                        "left center": "top left"
7450                                    },
7451                                    s = "top" == n || "bottom" == n,
7452                                    l = !1,
7453                                    c = !1,
7454                                    u = !1;
7455                                return P || (x.verbose("All available positions available"), P = x.get.positions()), x.debug("Recording last position tried", e), P[e] = !0, "opposite" === w.prefer && (u = [o[n], i], u = u.join(" "), l = !0 === P[u], x.debug("Trying opposite strategy", u)), "adjacent" === w.prefer && s && (u = [n, r[i]], u = u.join(" "), c = !0 === P[u], x.debug("Trying adjacent strategy", u)), (c || l) && (x.debug("Using backup position", u), u = a[e]), u
7456                            }
7457                        },
7458                        set: {
7459                            position: function(e, t) {
7460                                if (0 === L.length || 0 === a.length) return void x.error(S.notFound);
7461                                var n, i, o, r, s, l, c, u;
7462                                if (t = t || x.get.calculations(), e = e || O.data(T.position) || w.position, n = O.data(T.offset) || w.offset, i = w.distanceAway, o = t.target, r = t.popup, s = t.parent, 0 === o.width && 0 === o.height && !x.is.svg(o.element)) return x.debug("Popup target is hidden, no action taken"), !1;
7463                                switch (w.inline && (x.debug("Adding margin to calculation", o.margin), "left center" == e || "right center" == e ? (n += o.margin.top, i += -o.margin.left) : "top left" == e || "top center" == e || "top right" == e ? (n += o.margin.left, i -= o.margin.top) : (n += o.margin.left, i += o.margin.top)), x.debug("Determining popup position from calculations", e, t), x.is.rtl() && (e = e.replace(/left|right/g, function(e) {
7464                                    return "left" == e ? "right" : "left"
7465                                }), x.debug("RTL: Popup position updated", e)), N == w.maxSearchDepth && "string" == typeof w.lastResort && (e = w.lastResort), e) {
7466                                    case "top left":
7467                                        l = {
7468                                            top: "auto",
7469                                            bottom: s.height - o.top + i,
7470                                            left: o.left + n,
7471                                            right: "auto"
7472                                        };
7473                                        break;
7474                                    case "top center":
7475                                        l = {
7476                                            bottom: s.height - o.top + i,
7477                                            left: o.left + o.width / 2 - r.width / 2 + n,
7478                                            top: "auto",
7479                                            right: "auto"
7480                                        };
7481                                        break;
7482                                    case "top right":
7483                                        l = {
7484                                            bottom: s.height - o.top + i,
7485                                            right: s.width - o.left - o.width - n,
7486                                            top: "auto",
7487                                            left: "auto"
7488                                        };
7489                                        break;
7490                                    case "left center":
7491                                        l = {
7492                                            top: o.top + o.height / 2 - r.height / 2 + n,
7493                                            right: s.width - o.left + i,
7494                                            left: "auto",
7495                                            bottom: "auto"
7496                                        };
7497                                        break;
vendor: 4,426 bytes, lines 7498-7563
7498                                    case "right center":
7499                                        l = {
7500                                            top: o.top + o.height / 2 - r.height / 2 + n,
7501                                            left: o.left + o.width + i,
7502                                            bottom: "auto",
7503                                            right: "auto"
7504                                        };
7505                                        break;
7506                                    case "bottom left":
7507                                        l = {
7508                                            top: o.top + o.height + i,
7509                                            left: o.left + n,
7510                                            bottom: "auto",
7511                                            right: "auto"
7512                                        };
7513                                        break;
7514                                    case "bottom center":
7515                                        l = {
7516                                            top: o.top + o.height + i,
7517                                            left: o.left + o.width / 2 - r.width / 2 + n,
7518                                            bottom: "auto",
7519                                            right: "auto"
7520                                        };
7521                                        break;
7522                                    case "bottom right":
7523                                        l = {
7524                                            top: o.top + o.height + i,
7525                                            right: s.width - o.left - o.width - n,
7526                                            left: "auto",
7527                                            bottom: "auto"
7528                                        }
7529                                }
7530                                if (void 0 === l && x.error(S.invalidPosition, e), x.debug("Calculated popup positioning values", l), a.css(l).removeClass(k.position).addClass(e).addClass(k.loading), c = x.get.popupOffset(), u = x.get.distanceFromBoundary(c, t), x.is.offstage(u, e)) {
7531                                    if (x.debug("Position is outside viewport", e), N < w.maxSearchDepth) return N++, e = x.get.nextPosition(e), x.debug("Trying new position", e), !!a && x.set.position(e, t);
7532                                    if (!w.lastResort) return x.debug("Popup could not find a position to display", a), x.error(S.cannotPlace, I), x.remove.attempts(), x.remove.loading(), x.reset(), w.onUnplaceable.call(a, I), !1;
7533                                    x.debug("No position found, showing with last position")
7534                                }
7535                                return x.debug("Position is on stage", e), x.remove.attempts(), x.remove.loading(), w.setFluidWidth && x.is.fluid() && x.set.fluidWidth(t), !0
7536                            },
7537                            fluidWidth: function(e) {
7538                                e = e || x.get.calculations(), x.debug("Automatically setting element width to parent width", e.parent.width), a.css("width", e.container.width)
7539                            },
7540                            variation: function(e) {
7541                                (e = e || x.get.variation()) && x.has.popup() && (x.verbose("Adding variation to popup", e), a.addClass(e))
7542                            },
7543                            visible: function() {
7544                                O.addClass(k.visible)
7545                            }
7546                        },
7547                        remove: {
7548                            loading: function() {
7549                                a.removeClass(k.loading)
7550                            },
7551                            variation: function(e) {
7552                                (e = e || x.get.variation()) && (x.verbose("Removing variation", e), a.removeClass(e))
7553                            },
7554                            visible: function() {
7555                                O.removeClass(k.visible)
7556                            },
7557                            attempts: function() {
7558                                x.verbose("Resetting all searched positions"), N = 0, P = !1
7559                            }
7560                        },
7561                        bind: {
7562                            events: function() {
7563                                x.debug("Binding popup events to module"), "click" == 
7563w.on && O.on("click" + E, x.toggle), "hover" == w.on && O.on("touchstart" + E, x.event.touchstart), x.get.startEvent() && O.on(x.get.startEvent() + E, x.event.start).on(x.get.endEvent() + E, x.event.end), w.target && x.debug("Target set to element", L), l.on("resize" + b, x.event.resize)
7564                            },
7565                            popup: function() {
7566                                x.verbose("Allowing hover events on popup to prevent closing"), a && x.has.popup() && a.on("mouseenter" + E, x.event.start).on("mouseleave" + E, x.event.end)
7567                            },
7568                            close: function() {
7569                                (!0 === w.hideOnScroll || "auto" == w.hideOnScroll && "click" != w.on) && j.one(x.get.scrollEvent() + b, x.event.hideGracefully), "hover" == w.on && R && (x.verbose("Binding popup close event to document"), s.on("touchstart" + b, function(e) {
7570                                    x.verbose("Touched away from popup"), x.event.hideGracefully.call(I, e)
7571                                })), "click" == w.on && w.closable && (x.verbose("Binding popup close event to document"), s.on("click" + b, function(e) {
7572                                    x.verbose("Clicked away from popup"), x.event.hideGracefully.call(I, e)
7573                                }))
7574                            }
7575                        },
7576                        unbind: {
7577                            events: function() {
7578                                l.off(b), O.off(E)
7579                            },
7580                            close: function() {
7581                                s.off(b), j.off(b)
7582                            }
7583                        },
7584                        has: {
7585                            popup: function() {
7586                                return a && a.length > 0
7587                            }
7588                        },
7589                        is: {
7590                            offstage: function(t, n) {
7591                                var i = [];
7592                                return e.each(t, function(e, t) {
7593                                    t < -w.jitter && (x.debug("Position exceeds allowable distance from edge", e, t, n), i.push(e))
7594                                }), i.length > 0
7595                            },
7596                            svg: function(e) {
7597                                return x.supports.svg() && e instanceof SVGGraphicsElement
7598                            },
7599                            active: function() {
7600                                return O.hasClass(k.active)
7601                            },
7602                            animating: function() {
7603                                return void 0 !== a && a.hasClass(k.animating)
7604                            },
7605                            fluid: function() {
7606                                return void 0 !== a && a.hasClass(k.fluid)
7607                            },
7608                            visible: function() {
7609                                return void 0 !== a && a.hasClass(k.visible)
7610                            },
7611                            dropdown: function() {
7612                                return O.hasClass(k.dropdown)
7613                            },
7614                            hidden: function() {
7615                                return !x.is.visible()
7616                            },
7617                            rtl: function() {
7618                                return "rtl" == O.css("direction")
7619                            }
7620                        },
7621                        reset: function() {
7622                            x.remove.visible(), w.preserve ? void 0 !== e.fn.transition && a.transition("remove transition") : x.removePopup()
7623                        },
7624                        setting: function(t, n) {
7625                            if (e.isPlainObject(t)) e.extend(!0, w, t);
7626                            else {
7627                                if (void 0 === n) return w[t];
7628                                w[t] = n
7629                            }
7630                        },
7631                        internal: function(t, n) {
7632                            if (e.isPlainObject(t)) e.extend(!0, x, t);
7633                            else {
7634                                if (void 0 === n) return x[t];
7635                                x[t] = n
7636                            }
7637                        },
7638                        debug: function() {
7639                            !w.silent && w.debug && (w.performance ? x.performance.log(arguments) : (x.debug = Function.prototype.bind.call(console.info, console, w.name + ":"), x.debug.apply(console, arguments)))
7640                        },
7641                        verbose: function() {
7642                            !w.silent && w.verbose && w.debug && (w.performance ? x.performance.log(arguments) : (x.verbose = Function.prototype.bind.call(console.info, console, w.name + ":"), x.verbose.apply(console, arguments)))
7643                        },
7644                        error: function() {
7645                            w.silent || (x.error = Function.prototype.bind.call(console.error, console, w.name + ":"), x.error.apply(console, arguments))
7646                        },
7647                        performance: {
7648                            log: function(e) {
7649                                var t, n, i;
7650                                w.performance && (t = (new Date).getTime(), i = d || t, n = t - i, d = t, f.push({
7651                                    Name: e[0],
7652                                    Arguments: [].slice.call(e, 1) || "",
7653                                    Element: I,
7654                                    "Execution Time": n
7655                                })), clearTimeout(x.performance.timer), x.performance.timer = setTimeout(x.performance.display, 500)
7656                            },
7657                            display: function() {
7658                                var t = w.name + ":",
7659                                    n = 0;
7660                                d = !1, clearTimeout(x.performance.timer), e.each(f, function(e, t) {
7661                                    n += t["Execution Time"]
7662                                }), t += " " + n + "ms", u && (t += " '" + u + "'"), (void 0 !== console.group || void 0 !== console.table) && f.length > 0 && (console.table || e.each(f, function(e, t) {})), f = []
7663                            }
7664                        },
7665                        invoke: function(t, n, i) {
7666                            var o, a, s, l = M;
7667                            return n = n || m, i = I || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), o = t.length - 1, e.each(t, function(n, i) {
7668                                var r = n != o ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
7669                                if (e.isPlainObject(l[r]) && n != o) l = l[r];
7670                                else {
7671                                    if (void 0 !== l[r]) return a = l[r], !1;
7672                                    if (!e.isPlainObject(l[i]) || n == o) return void 0 !== l[i] && (a = l[i], !1);
7673                                    l = l[i]
7674                                }
7675                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(r) ? r.push(s) : void 0 !== r ? r = [r, s] : void 0 !== s && (r = s), a
7676                        }
7677                    }, h ? (void 0 === M && x.initialize(), x.invoke(p)) : (void 0 !== M && M.invoke("destroy"), x.initialize())
7678                }), void 0 !== r ? r : this
7679            }, e.fn.popup.settings = {
7680                name: "Popup",
7681                silent: !1,
7682                debug: !1,
7683                verbose: !1,
7684                performance: !0,
7685                namespace: "popup",
7686                observeChanges: !0,
7687                onCreate: function() {},
7688                onRemove: function() {},
7689                onShow: function() {},
7690                onVisible: function() {},
7691                onHide: function() {},
7692                onUnplaceable: function() {},
7693                onHidden: function() {},
7694                on: "hover",
7695                boundary: t,
7696                addTouchEvents: !0,
7697                position: "top left",
7698                variation: "",
7699                movePopup: !0,
7700                target: !1,
7701                popup: !1,
7702                inline: !1,
7703                preserve: !1,
7704                hoverable: !1,
7705                content: !1,
7706                html: !1,
7707                title: !1,
7708                closable: !0,
7709                hideOnScroll: "auto",
7710                exclusive: !1,
7711                context: "body",
7712                scrollContext: t,
7713                prefer: "opposite",
7714                lastResort: !1,
7715                delay: {
7716                    show: 50,
7717                    hide: 70
7718                },
7719                setFluidWidth: !0,
7720                duration: 200,
7721                transition: "scale",
7722                distanceAway: 0,
7723                jitter: 2,
7724                offset: 0,
7725                maxSearchDepth: 15,
7726                error: {
7727                    invalidPosition: "The position you specified is not a valid position",
7728                    cannotPlace: "Popup does not fit within the boundaries of the viewport",
7729                    method: "The method you called is not defined.",
7730                    noTransition: "This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>",
7731                    notFound: "The target or popup you specified does not exist on the page"
7732                },
7733                metadata: {
7734                    activator: "activator",
7735                    content: "content",
7736                    html: "html",
7737                    offset: "offset",
7738                    position: "position",
7739                    title: "title",
7740                    variation: "variation"
7741                },
7742                className: {
7743                    active: "active",
7744                    animating: "animating",
7745                    dropdown: "dropdown",
7746                    fluid: "fluid",
7747                    loading: "loading",
7748                    popup: "ui popup",
7749                    position: "top left center bottom right",
7750                    visible: "visible"
7751                },
7752                selector: {
7753                    popup: ".ui.popup"
7754                },
7755                templates: {
7756                    escape: function(e) {
7757                        var t = /[&<>"'`]/g,
7758                            n = /[&<>"'`]/,
7759                            i = {
7760                                "&": "&amp;",
7761                                "<": "&lt;",
7762                                ">": "&gt;",
7763                                '"': "&quot;",
7764                                "'": "&#x27;",
7765                                "`": "&#x60;"
7766                            },
7767                            o = function(e) {
7768                                return i[e]
7769                            };
7770                        return n.test(e) ? e.replace(t, o) : e
7771                    },
7772                    popup: function(t) {
7773                        var i = "",
7774                            o = e.fn.popup.settings.templates.escape;
7775                        return void 0 !== (void 0 === t ? "undefined" : n(t)) && (void 0 !== n(t.title) && t.title && (t.title = o(t.t
vendor: 16,384 bytes, lines 7775-8020
7775itle), i += '<div class="header">' + t.title + "</div>"), void 0 !== n(t.content) && t.content && (t.content = o(t.content), i += '<div class="content">' + t.content + "</div>")), i
7776                    }
7777                }
7778            }
7779        }(jQuery, window, document),
7780        function(e, t, n, i) {
7781            "use strict";
7782            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.sidebar = function(i) {
7783                var o, r = e(this),
7784                    a = e(t),
7785                    s = e(n),
7786                    l = e("html"),
7787                    c = e("head"),
7788                    u = r.selector || "",
7789                    d = (new Date).getTime(),
7790                    f = [],
7791                    p = arguments[0],
7792                    h = "string" == typeof p,
7793                    m = [].slice.call(arguments, 1),
7794                    g = t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame || function(e) {
7795                        setTimeout(e, 0)
7796                    };
7797                return r.each(function() {
7798                    var r, v, b, y, x, w, C = e.isPlainObject(i) ? e.extend(!0, {}, e.fn.sidebar.settings, i) : e.extend({}, e.fn.sidebar.settings),
7799                        k = C.selector,
7800                        S = C.className,
7801                        T = C.namespace,
7802                        A = C.regExp,
7803                        E = C.error,
7804                        D = "." + T,
7805                        O = "module-" + T,
7806                        F = e(this),
7807                        j = e(C.context),
7808                        q = F.children(k.sidebar),
7809                        L = j.children(k.fixed),
7810                        N = j.children(k.pusher),
7811                        P = this,
7812                        R = F.data(O);
7813                    w = {
7814                        initialize: function() {
7815                            w.debug("Initializing sidebar", i), w.create.id(), x = w.get.transitionEvent(), w.is.ios() && w.set.ios(), C.delaySetup ? g(w.setup.layout) : w.setup.layout(), g(function() {
7816                                w.setup.cache()
7817                            }), w.instantiate()
7818                        },
7819                        instantiate: function() {
7820                            w.verbose("Storing instance of module", w), R = w, F.data(O, w)
7821                        },
7822                        create: {
7823                            id: function() {
7824                                b = (Math.random().toString(16) + "000000000").substr(2, 8), v = "." + b, w.verbose("Creating unique id for element", b)
7825                            }
7826                        },
7827                        destroy: function() {
7828                            w.verbose("Destroying previous module for", F), F.off(D).removeData(O), w.is.ios() && w.remove.ios(), j.off(v), a.off(v), s.off(v)
7829                        },
7830                        event: {
7831                            clickaway: function(e) {
7832                                var t = N.find(e.target).length > 0 || N.is(e.target),
7833                                    n = j.is(e.target);
7834                                t && (w.verbose("User clicked on dimmed page"), w.hide()), n && (w.verbose("User clicked on dimmable context (scaled out page)"), w.hide())
7835                            },
7836                            touch: function(e) {},
7837                            containScroll: function(e) {
7838                                P.scrollTop <= 0 && (P.scrollTop = 1), P.scrollTop + P.offsetHeight >= P.scrollHeight && (P.scrollTop = P.scrollHeight - P.offsetHeight - 1)
7839                            },
7840                            scroll: function(t) {
7841                                0 === e(t.target).closest(k.sidebar).length && t.preventDefault()
7842                            }
7843                        },
7844                        bind: {
7845                            clickaway: function() {
7846                                w.verbose("Adding clickaway events to context", j), C.closable && j.on("click" + v, w.event.clickaway).on("touchend" + v, w.event.clickaway)
7847                            },
7848                            scrollLock: function() {
7849                                C.scrollLock && (w.debug("Disabling page scroll"), a.on("DOMMouseScroll" + v, w.event.scroll)), w.verbose("Adding events to contain sidebar scroll"), s.on("touchmove" + v, w.event.touch), F.on("scroll" + D, w.event.containScroll)
7850                            }
7851                        },
7852                        unbind: {
7853                            clickaway: function() {
7854                                w.verbose("Removing clickaway events from context", j), j.off(v)
7855                            },
7856                            scrollLock: function() {
7857                                w.verbose("Removing scroll lock from page"), s.off(v), a.off(v), F.off("scroll" + D)
7858                            }
7859                        },
7860                        add: {
7861                            inlineCSS: function() {
7862                                var t, n = w.cache.width || F.outerWidth(),
7863                                    i = w.cache.height || F.outerHeight(),
7864                                    o = w.is.rtl(),
7865                                    a = w.get.direction(),
7866                                    s = {
7867                                        left: n,
7868                                        right: -n,
7869                                        top: i,
7870                                        bottom: -i
7871                                    };
7872                                o && (w.verbose("RTL detected, flipping widths"), s.left = -n, s.right = n), t = "<style>", "left" === a || "right" === a ? (w.debug("Adding CSS rules for animation distance", n), t += " .ui.visible." + a + ".sidebar ~ .fixed, .ui.visible." + a + ".sidebar ~ .pusher {   -webkit-transform: translate3d(" + s[a] + "px, 0, 0);           transform: translate3d(" + s[a] + "px, 0, 0); }") : "top" !== a && "bottom" != a || (t += " .ui.visible." + a + ".sidebar ~ .fixed, .ui.visible." + a + ".sidebar ~ .pusher {   -webkit-transform: translate3d(0, " + s[a] + "px, 0);           transform: translate3d(0, " + s[a] + "px, 0); }"), w.is.ie() && ("left" === a || "right" === a ? (w.debug("Adding CSS rules for animation distance", n), t += " body.pushable > .ui.visible." + a + ".sidebar ~ .pusher:after {   -webkit-transform: translate3d(" + s[a] + "px, 0, 0);           transform: translate3d(" + s[a] + "px, 0, 0); }") : "top" !== a && "bottom" != a || (t += " body.pushable > .ui.visible." + a + ".sidebar ~ .pusher:after {   -webkit-transform: translate3d(0, " + s[a] + "px, 0);           transform: translate3d(0, " + s[a] + "px, 0); }"), t += " body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after, body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {   -webkit-transform: translate3d(0px, 0, 0);           transform: translate3d(0px, 0, 0); }"), t += "</style>", r = e(t).appendTo(c), w.debug("Adding sizing css to head", r)
7873                            }
7874                        },
7875                        refresh: function() {
7876                            w.verbose("Refreshing selector cache"), j = e(C.context), q = j.children(k.sidebar), N = j.children(k.pusher), L = j.children(k.fixed), w.clear.cache()
7877                        },
7878                        refreshSidebars: function() {
7879                            w.verbose("Refreshing other sidebars"), q = j.children(k.sidebar)
7880                        },
7881                        repaint: function() {
7882                            w.verbose("Forcing repaint event"), P.style.display = "none", P.offsetHeight, P.scrollTop = P.scrollTop, P.style.display = ""
7883                        },
7884                        setup: {
7885                            cache: function() {
7886                                w.cache = {
7887                                    width: F.outerWidth(),
7888                                    height: F.outerHeight(),
7889                                    rtl: "rtl" == F.css("direction")
7890                                }
7891                            },
7892                            layout: function() {
7893                                0 === j.children(k.pusher).length && (w.debug("Adding wrapper element for sidebar"), w.error(E.pusher), N = e('<div class="pusher" />'), j.children().not(k.omitted).not(q).wrapAll(N), w.refresh()), 0 !== F.nextAll(k.pusher).length && F.nextAll(k.pusher)[0] === N[0] || (w.debug("Moved sidebar to correct parent element"), w.error(E.movedSidebar, P), F.detach().prependTo(j), w.refresh()), w.clear.cache(), w.set.pushable(), w.set.direction()
7894                            }
7895                        },
7896                        attachEvents: function(t, n) {
7897                            var i = e(t);
7898                            n = e.isFunction(w[n]) ? w[n] : w.toggle, i.length > 0 ? (w.debug("Attaching sidebar events to element", t, n), i.on("click" + D, n)) : w.error(E.notFound, t)
7899                        },
7900                        show: function(t) {
7901                            if (t = e.isFunction(t) ? t : function() {}, w.is.hidden()) {
7902                                if (w.refreshSidebars(), C.overlay && (w.error(E.overlay), C.transition = "overlay"), w.refresh(), w.othersActive())
7903                                    if (w.debug("Other sidebars currently visible"), C.exclusive) {
7904                                        if ("overlay" != C.transition) return void w.hideOthers(w.show);
7905                                        w.hideOthers()
7906                                    } else C.transition = "overlay";
7907                                w.pushPage(function() {
7908                                    t.call(P), C.onShow.call(P)
7909                                }), C.onChange.call(P), C.onVisible.call(P)
7910                            } else w.debug("Sidebar is already visible")
7911                        },
7912                        hide: function(t) {
7913                            t = e.isFunction(t) ? t : function() {}, (w.is.visible() || w.is.animating()) && (w.debug("Hiding sidebar", t), w.refreshSidebars(), w.pullPage(function() {
7914                                t.call(P), C.onHidden.call(P)
7915                            }), C.onChange.call(P), C.onHide.call(P))
7916                        },
7917                        othersAnimating: function() {
7918                            return q.not(F).filter("." + S.animating).length > 0
7919                        },
7920                        othersVisible: function() {
7921                            return q.not(F).filter("." + S.visible).length > 0
7922                        },
7923                        othersActive: function() {
7924                            return w.othersVisible() || w.othersAnimating()
7925                        },
7926                        hideOthers: function(e) {
7927                            var t = q.not(F).filter("." + S.visible),
7928                                n = t.length,
7929                                i = 0;
7930                            e = e || function() {}, t.sidebar("hide", function() {
7931                                ++i == n && e()
7932                            })
7933                        },
7934                        toggle: function() {
7935                            w.verbose("Determining toggled direction"), w.is.hidden() ? w.show() : w.hide()
7936                        },
7937                        pushPage: function(t) {
7938                            var n, i, o, r = w.get.transition(),
7939                                a = "overlay" === r || w.othersActive() ? F : N;
7940                            t = e.isFunction(t) ? t : function() {}, "scale down" == C.transition && w.scrollToTop(), w.set.transition(r), w.repaint(), n = function() {
7941                                w.bind.clickaway(), w.add.inlineCSS(), w.set.animating(), w.set.visible()
7942                            }, i = function() {
7943                                w.set.dimmed()
7944                            }, o = function(e) {
7945                                e.target == a[0] && (a.off(x + v, o), w.remove.animating(), w.bind.scrollLock(), t.call(P))
7946                            }, a.off(x + v), a.on(x + v, o), g(n), C.dimPage && !w.othersVisible() && g(i)
7947                        },
7948                        pullPage: function(t) {
7949                            var n, i, o = w.get.transition(),
7950                                r = "overlay" == o || w.othersActive() ? F : N;
7951                            t = e.isFunction(t) ? t : function() {}, w.verbose("Removing context push state", w.get.direction()), w.unbind.clickaway(), w.unbind.scrollLock(), n = function() {
7952                                w.set.transition(o), w.set.animating(), w.remove.visible(), C.dimPage && !w.othersVisible() && N.removeClass(S.dimmed)
7953                            }, i = function(e) {
7954                                e.target == r[0] && (r.off(x + v, i), w.remove.animating(), w.remove.transition(), w.remove.inlineCSS(), ("scale down" == o || C.returnScroll && w.is.mobile()) && w.scrollBack(), t.call(P))
7955                            }, r.off(x + v), r.on(x + v, i), g(n)
7956                        },
7957                        scrollToTop: function() {
7958                            w.verbose("Scrolling to top of page to avoid animation issues"), y = e(t).scrollTop(), F.scrollTop(0), t.scrollTo(0, 0)
7959                        },
7960                        scrollBack: function() {
7961                            w.verbose("Scrolling back to original page position"), t.scrollTo(0, y)
7962                        },
7963                        clear: {
7964                            cache: function() {
7965                                w.verbose("Clearing cached dimensions"), w.cache = {}
7966                            }
7967                        },
7968                        set: {
7969                            ios: function() {
7970                                l.addClass(S.ios)
7971                            },
7972                            pushed: function() {
7973                                j.addClass(S.pushed)
7974                            },
7975                            pushable: function() {
7976                                j.addClass(S.pushable)
7977                            },
7978                            dimmed: function() {
7979                                N.addClass(S.dimmed)
7980                            },
7981                            active: function() {
7982                                F.addClass(S.active)
7983                            },
7984                            animating: function() {
7985                                F.addClass(S.animating)
7986                            },
7987                            transition: function(e) {
7988                                e = e || w.get.transition(), F.addClass(e)
7989                            },
7990                            direction: function(e) {
7991                                e = e || w.get.direction(), F.addClass(S[e])
7992                            },
7993                            visible: function() {
7994                                F.addClass(S.visible)
7995                            },
7996                            overlay: function() {
7997                                F.addClass(S.overlay)
7998                            }
7999                        },
8000                        remove: {
8001                            inlineCSS: function() {
8002                                w.debug("Removing inline css styles", r), r && r.length > 0 && r.remove()
8003                            },
8004                            ios: function() {
8005                                l.removeClass(S.ios)
8006                            },
8007                            pushed: function() {
8008                                j.removeClass(S.pushed)
8009                            },
8010                            pushable: function() {
8011                                j.removeClass(S.pushable)
8012                            },
8013                            active: function() {
8014                                F.removeClass(S.active)
8015                            },
8016                            animating: function() {
8017                                F.removeClass(S.animating)
8018                            },
8019                            transition: function(e) {
8020                                e = e || w.get.transition
8020(), F.removeClass(e)
8021                            },
8022                            direction: function(e) {
8023                                e = e || w.get.direction(), F.removeClass(S[e])
8024                            },
8025                            visible: function() {
8026                                F.removeClass(S.visible)
8027                            },
8028                            overlay: function() {
8029                                F.removeClass(S.overlay)
8030                            }
8031                        },
8032                        get: {
8033                            direction: function() {
8034                                return F.hasClass(S.top) ? S.top : F.hasClass(S.right) ? S.right : F.hasClass(S.bottom) ? S.bottom : S.left
8035                            },
8036                            transition: function() {
8037                                var e, t = w.get.direction();
8038                                return e = w.is.mobile() ? "auto" == C.mobileTransition ? C.defaultTransition.mobile[t] : C.mobileTransition : "auto" == C.transition ? C.defaultTransition.computer[t] : C.transition, w.verbose("Determined transition", e), e
8039                            },
8040                            transitionEvent: function() {
8041                                var e, t = n.createElement("element"),
8042                                    i = {
8043                                        transition: "transitionend",
8044                                        OTransition: "oTransitionEnd",
8045                                        MozTransition: "transitionend",
8046                                        WebkitTransition: "webkitTransitionEnd"
8047                                    };
8048                                for (e in i)
8049                                    if (void 0 !== t.style[e]) return i[e]
8050                            }
8051                        },
8052                        is: {
8053                            ie: function() {
8054                                var e = !t.ActiveXObject && "ActiveXObject" in t,
8055                                    n = "ActiveXObject" in t;
8056                                return e || n
8057                            },
8058                            ios: function() {
8059                                var e = navigator.userAgent,
8060                                    t = e.match(A.ios),
8061                                    n = e.match(A.mobileChrome);
8062                                return !(!t || n || (w.verbose("Browser was found to be iOS", e), 0))
8063                            },
8064                            mobile: function() {
8065                                var e = navigator.userAgent;
8066                                return e.match(A.mobile) ? (w.verbose("Browser was found to be mobile", e), !0) : (w.verbose("Browser is not mobile, using regular transition", e), !1)
8067                            },
8068                            hidden: function() {
8069                                return !w.is.visible()
8070                            },
8071                            visible: function() {
8072                                return F.hasClass(S.visible)
8073                            },
8074                            open: function() {
8075                                return w.is.visible()
8076                            },
8077                            closed: function() {
8078                                return w.is.hidden()
8079                            },
8080                            vertical: function() {
8081                                return F.hasClass(S.top)
8082                            },
8083                            animating: function() {
8084                                return j.hasClass(S.animating)
8085                            },
8086                            rtl: function() {
8087                                return void 0 === w.cache.rtl && (w.cache.rtl = "rtl" == F.css("direction")), w.cache.rtl
8088                            }
8089                        },
8090                        setting: function(t, n) {
8091                            if (w.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, C, t);
8092                            else {
8093                                if (void 0 === n) return C[t];
8094                                e.isPlainObject(C[t]) ? e.extend(!0, C[t], n) : C[t] = n
8095                            }
8096                        },
8097                        internal: function(t, n) {
8098                            if (e.isPlainObject(t)) e.extend(!0, w, t);
8099                            else {
8100                                if (void 0 === n) return w[t];
8101                                w[t] = n
8102                            }
8103                        },
8104                        debug: function() {
8105                            !C.silent && C.debug && (C.performance ? w.performance.log(arguments) : (w.debug = Function.prototype.bind.call(console.info, console, C.name + ":"), w.debug.apply(console, arguments)))
8106                        },
8107                        verbose: function() {
8108                            !C.silent && C.verbose && C.debug && (C.performance ? w.performance.log(arguments) : (w.verbose = Function.prototype.bind.call(console.info, console, C.name + ":"), w.verbose.apply(console, arguments)))
8109                        },
8110                        error: function() {
8111                            C.silent || (w.error = Function.prototype.bind.call(console.error, console, C.name + ":"), w.error.apply(console, arguments))
8112                        },
8113                        performance: {
8114                            log: function(e) {
8115                                var t, n, i;
8116                                C.performance && (t = (new Date).getTime(), i = d || t, n = t - i, d = t, f.push({
8117                                    Name: e[0],
8118                                    Arguments: [].slice.call(e, 1) || "",
8119                                    Element: P,
8120                                    "Execution Time": n
8121                                })), clearTimeout(w.performance.timer), w.performance.timer = setTimeout(w.performance.display, 500)
8122                            },
8123                            display: function() {
8124                                var t = C.name + ":",
8125                                    n = 0;
8126                                d = !1, clearTimeout(w.performance.timer), e.each(f, function(e, t) {
8127                                    n += t["Execution Time"]
8128                                }), t += " " + n + "ms", u && (t += " '" + u + "'"), (void 0 !== console.group || void 0 !== console.table) && f.length > 0 && (console.table || e.each(f, function(e, t) {})), f = []
8129                            }
8130                        },
8131                        invoke: function(t, n, i) {
8132                            var r, a, s, l = R;
8133                            return n = n || m, i = P || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
8134                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
8135                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
8136                                else {
8137                                    if (void 0 !== l[o]) return a = l[o], !1;
8138                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] ? (a = l[i], !1) : (w.error(E.method, t), !1);
8139                                    l = l[i]
8140                                }
8141                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
8142                        }
8143                    }, h ? (void 0 === R && w.initialize(), w.invoke(p)) : (void 0 !== R && w.invoke("destroy"), w.initialize())
8144                }), void 0 !== o ? o : this
8145            }, e.fn.sidebar.settings = {
8146                name: "Sidebar",
8147                namespace: "sidebar",
8148                silent: !1,
8149                debug: !1,
8150                verbose: !1,
8151                performance: !0,
8152                transition: "auto",
8153                mobileTransition: "auto",
8154                defaultTransition: {
8155                    computer: {
8156                        left: "uncover",
8157                        right: "uncover",
8158                        top: "overlay",
8159                        bottom: "overlay"
8160                    },
8161                    mobile: {
8162                        left: "uncover",
8163                        right: "uncover",
8164                        top: "overlay",
8165                        bottom: "overlay"
8166                    }
8167                },
8168                context: "body",
8169                exclusive: !1,
8170                closable: !0,
8171                dimPage: !0,
8172                scrollLock: !1,
8173                returnScroll: !1,
8174                delaySetup: !1,
8175                duration: 500,
8176                onChange: function() {},
8177                onShow: function() {},
8178                onHide: function() {},
8179                onHidden: function() {},
8180                onVisible: function() {},
8181                className: {
8182                    active: "active",
8183                    animating: "animating",
8184                    dimmed: "dimmed",
8185                    ios: "ios",
8186                    pushable: "pushable",
8187                    pushed: "pushed",
8188                    right: "right",
8189                    top: "top",
8190                    left: "left",
8191                    bottom: "bottom",
8192                    visible: "visible"
8193                },
8194                selector: {
8195                    fixed: ".fixed",
8196                    omitted: "script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed",
8197                    pusher: ".pusher",
8198                    sidebar: ".ui.sidebar"
8199                },
8200                regExp: {
8201                    ios: /(iPad|iPhone|iPod)/g,
8202                    mobileChrome: /(CriOS)/g,
8203                    mobile: /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolf
vendor: 10,229 bytes, lines 8203-8370
8203in|Dolphin|Skyfire|Zune/g
8204                },
8205                error: {
8206                    method: "The method you called is not defined.",
8207                    pusher: "Had to add pusher element. For optimal performance make sure body content is inside a pusher element",
8208                    movedSidebar: "Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag",
8209                    overlay: "The overlay setting is no longer supported, use animation: overlay",
8210                    notFound: "There were no elements that matched the specified selector"
8211                }
8212            }
8213        }(jQuery, window, document),
8214        function(e, t, n, i) {
8215            "use strict";
8216            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.sticky = function(i) {
8217                var o, r = e(this),
8218                    a = r.selector || "",
8219                    s = (new Date).getTime(),
8220                    l = [],
8221                    c = arguments[0],
8222                    u = "string" == typeof c,
8223                    d = [].slice.call(arguments, 1);
8224                return r.each(function() {
8225                    var r, f, p, h, m, g = e.isPlainObject(i) ? e.extend(!0, {}, e.fn.sticky.settings, i) : e.extend({}, e.fn.sticky.settings),
8226                        v = g.className,
8227                        b = g.namespace,
8228                        y = g.error,
8229                        x = "." + b,
8230                        w = "module-" + b,
8231                        C = e(this),
8232                        k = e(t),
8233                        S = e(g.scrollContext),
8234                        T = (C.selector, C.data(w)),
8235                        A = t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame || function(e) {
8236                            setTimeout(e, 0)
8237                        },
8238                        E = this;
8239                    m = {
8240                        initialize: function() {
8241                            m.determineContainer(), m.determineContext(), m.verbose("Initializing sticky", g, r), m.save.positions(), m.checkErrors(), m.bind.events(), g.observeChanges && m.observeChanges(), m.instantiate()
8242                        },
8243                        instantiate: function() {
8244                            m.verbose("Storing instance of module", m), T = m, C.data(w, m)
8245                        },
8246                        destroy: function() {
8247                            m.verbose("Destroying previous instance"), m.reset(), p && p.disconnect(), h && h.disconnect(), k.off("load" + x, m.event.load).off("resize" + x, m.event.resize), S.off("scrollchange" + x, m.event.scrollchange), C.removeData(w)
8248                        },
8249                        observeChanges: function() {
8250                            "MutationObserver" in t && (p = new MutationObserver(m.event.documentChanged), h = new MutationObserver(m.event.changed), p.observe(n, {
8251                                childList: !0,
8252                                subtree: !0
8253                            }), h.observe(E, {
8254                                childList: !0,
8255                                subtree: !0
8256                            }), h.observe(f[0], {
8257                                childList: !0,
8258                                subtree: !0
8259                            }), m.debug("Setting up mutation observer", h))
8260                        },
8261                        determineContainer: function() {
8262                            r = g.container ? e(g.container) : C.offsetParent()
8263                        },
8264                        determineContext: function() {
8265                            if (f = g.context ? e(g.context) : r, 0 === f.length) return void m.error(y.invalidContext, g.context, C)
8266                        },
8267                        checkErrors: function() {
8268                            if (m.is.hidden() && m.error(y.visible, C), m.cache.element.height > m.cache.context.height) return m.reset(), void m.error(y.elementSize, C)
8269                        },
8270                        bind: {
8271                            events: function() {
8272                                k.on("load" + x, m.event.load).on("resize" + x, m.event.resize), S.off("scroll" + x).on("scroll" + x, m.event.scroll).on("scrollchange" + x, m.event.scrollchange)
8273                            }
8274                        },
8275                        event: {
8276                            changed: function(e) {
8277                                clearTimeout(m.timer), m.timer = setTimeout(function() {
8278                                    m.verbose("DOM tree modified, updating sticky menu", e), m.refresh()
8279                                }, 100)
8280                            },
8281                            documentChanged: function(t) {
8282                                [].forEach.call(t, function(t) {
8283                                    t.removedNodes && [].forEach.call(t.removedNodes, function(t) {
8284                                        (t == E || e(t).find(E).length > 0) && (m.debug("Element removed from DOM, tearing down events"), m.destroy())
8285                                    })
8286                                })
8287                            },
8288                            load: function() {
8289                                m.verbose("Page contents finished loading"), A(m.refresh)
8290                            },
8291                            resize: function() {
8292                                m.verbose("Window resized"), A(m.refresh)
8293                            },
8294                            scroll: function() {
8295                                A(function() {
8296                                    S.triggerHandler("scrollchange" + x, S.scrollTop())
8297                                })
8298                            },
8299                            scrollchange: function(e, t) {
8300                                m.stick(t), g.onScroll.call(E)
8301                            }
8302                        },
8303                        refresh: function(e) {
8304                            m.reset(), g.context || m.determineContext(), e && m.determineContainer(), m.save.positions(), m.stick(), g.onReposition.call(E)
8305                        },
8306                        supports: {
8307                            sticky: function() {
8308                                var t = e("<div/>");
8309                                return t[0], t.addClass(v.supported), t.css("position").match("sticky")
8310                            }
8311                        },
8312                        save: {
8313                            lastScroll: function(e) {
8314                                m.lastScroll = e
8315                            },
8316                            elementScroll: function(e) {
8317                                m.elementScroll = e
8318                            },
8319                            positions: function() {
8320                                var e = {
8321                                        height: S.height()
8322                                    },
8323                                    t = {
8324                                        margin: {
8325                                            top: parseInt(C.css("margin-top"), 10),
8326                                            bottom: parseInt(C.css("margin-bottom"), 10)
8327                                        },
8328                                        offset: C.offset(),
8329                                        width: C.outerWidth(),
8330                                        height: C.outerHeight()
8331                                    },
8332                                    n = {
8333                                        offset: f.offset(),
8334                                        height: f.outerHeight()
8335                                    };
8336                                r.outerHeight(), m.is.standardScroll() || (m.debug("Non-standard scroll. Removing scroll offset from element offset"), e.top = S.scrollTop(), e.left = S.scrollLeft(), t.offset.top += e.top, n.offset.top += e.top, t.offset.left += e.left, n.offset.left += e.left), m.cache = {
8337                                    fits: t.height < e.height,
8338                                    scrollContext: {
8339                                        height: e.height
8340                                    },
8341                                    element: {
8342                                        margin: t.margin,
8343                                        top: t.offset.top - t.margin.top,
8344                                        left: t.offset.left,
8345                                        width: t.width,
8346                                        height: t.height,
8347                                        bottom: t.offset.top + t.height
8348                                    },
8349                                    context: {
8350                                        top: n.offset.top,
8351                                        height: n.height,
8352                                        bottom: n.offset.top + n.height
8353                                    }
8354                                }, m.set.containerSize(), m.set.size(), m.stick(), m.debug("Caching element positions", m.cache)
8355                            }
8356                        },
8357                        get: {
8358                            direction: function(e) {
8359                                var t = "down";
8360                                return e = e || S.scrollTop(), void 0 !== m.lastScroll && (m.lastScroll < e ? t = "down" : m.lastScroll > e && (t = "up")), t
8361                            },
8362                            scrollChange: function(e) {
8363                                return e = e || S.scrollTop(), m.lastScroll ? e - m.lastScroll : 0
8364                            },
8365                            currentElementScroll: function() {
8366                                return m.elementScroll ? m.elementScroll : m.is.top() ? Math.abs(parseInt(C.css("top"), 10)) || 0 : Math.abs(parseInt(C.css("bottom"), 10)) || 0
8367                            },
8368                            elementScroll: function(e) {
8369                                e = e || S.scrollTop();
8370                                var t = m.cache.element,
vendor: 9,675 bytes, lines 8371-8513
8371                                    n = m.cache.scrollContext,
8372                                    i = m.get.scrollChange(e),
8373                                    o = t.height - n.height + g.offset,
8374                                    r = m.get.currentElementScroll(),
8375                                    a = r + i;
8376                                return r = m.cache.fits || a < 0 ? 0 : a > o ? o : a
8377                            }
8378                        },
8379                        remove: {
8380                            lastScroll: function() {
8381                                delete m.lastScroll
8382                            },
8383                            elementScroll: function(e) {
8384                                delete m.elementScroll
8385                            },
8386                            offset: function() {
8387                                C.css("margin-top", "")
8388                            }
8389                        },
8390                        set: {
8391                            offset: function() {
8392                                m.verbose("Setting offset on element", g.offset), C.css("margin-top", g.offset)
8393                            },
8394                            containerSize: function() {
8395                                var e = r.get(0).tagName;
8396                                "HTML" === e || "body" == e ? m.determineContainer() : Math.abs(r.outerHeight() - m.cache.context.height) > g.jitter && (m.debug("Context has padding, specifying exact height for container", m.cache.context.height), r.css({
8397                                    height: m.cache.context.height
8398                                }))
8399                            },
8400                            minimumSize: function() {
8401                                var e = m.cache.element;
8402                                r.css("min-height", e.height)
8403                            },
8404                            scroll: function(e) {
8405                                m.debug("Setting scroll on element", e), m.elementScroll != e && (m.is.top() && C.css("bottom", "").css("top", -e), m.is.bottom() && C.css("top", "").css("bottom", e))
8406                            },
8407                            size: function() {
8408                                0 !== m.cache.element.height && 0 !== m.cache.element.width && (E.style.setProperty("width", m.cache.element.width + "px", "important"), E.style.setProperty("height", m.cache.element.height + "px", "important"))
8409                            }
8410                        },
8411                        is: {
8412                            standardScroll: function() {
8413                                return S[0] == t
8414                            },
8415                            top: function() {
8416                                return C.hasClass(v.top)
8417                            },
8418                            bottom: function() {
8419                                return C.hasClass(v.bottom)
8420                            },
8421                            initialPosition: function() {
8422                                return !m.is.fixed() && !m.is.bound()
8423                            },
8424                            hidden: function() {
8425                                return !C.is(":visible")
8426                            },
8427                            bound: function() {
8428                                return C.hasClass(v.bound)
8429                            },
8430                            fixed: function() {
8431                                return C.hasClass(v.fixed)
8432                            }
8433                        },
8434                        stick: function(e) {
8435                            var t = e || S.scrollTop(),
8436                                n = m.cache,
8437                                i = n.fits,
8438                                o = n.element,
8439                                r = n.scrollContext,
8440                                a = n.context,
8441                                s = m.is.bottom() && g.pushing ? g.bottomOffset : g.offset,
8442                                e = {
8443                                    top: t + s,
8444                                    bottom: t + s + r.height
8445                                },
8446                                l = (m.get.direction(e.top), i ? 0 : m.get.elementScroll(e.top)),
8447                                c = !i;
8448                            0 !== o.height && (m.is.initialPosition() ? e.top >= a.bottom ? (m.debug("Initial element position is bottom of container"), m.bindBottom()) : e.top > o.top && (o.height + e.top - l >= a.bottom ? (m.debug("Initial element position is bottom of container"), m.bindBottom()) : (m.debug("Initial element position is fixed"), m.fixTop())) : m.is.fixed() ? m.is.top() ? e.top <= o.top ? (m.debug("Fixed element reached top of container"), m.setInitialPosition()) : o.height + e.top - l >= a.bottom ? (m.debug("Fixed element reached bottom of container"), m.bindBottom()) : c && (m.set.scroll(l), m.save.lastScroll(e.top), m.save.elementScroll(l)) : m.is.bottom() && (e.bottom - o.height <= o.top ? (m.debug("Bottom fixed rail has reached top of container"), m.setInitialPosition()) : e.bottom >= a.bottom ? (m.debug("Bottom fixed rail has reached bottom of container"), m.bindBottom()) : c && (m.set.scroll(l), m.save.lastScroll(e.top), m.save.elementScroll(l))) : m.is.bottom() && (e.top <= o.top ? (m.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"), m.setInitialPosition()) : g.pushing ? m.is.bound() && e.bottom <= a.bottom && (m.debug("Fixing bottom attached element to bottom of browser."), m.fixBottom()) : m.is.bound() && e.top <= a.bottom - o.height && (m.debug("Fixing bottom attached element to top of browser."), m.fixTop())))
8449                        },
8450                        bindTop: function() {
8451                            m.debug("Binding element to top of parent container"), m.remove.offset(), C.css({
8452                                left: "",
8453                                top: "",
8454                                marginBottom: ""
8455                            }).removeClass(v.fixed).removeClass(v.bottom).addClass(v.bound).addClass(v.top), g.onTop.call(E), g.onUnstick.call(E)
8456                        },
8457                        bindBottom: function() {
8458                            m.debug("Binding element to bottom of parent container"), m.remove.offset(), C.css({
8459                                left: "",
8460                                top: ""
8461                            }).removeClass(v.fixed).removeClass(v.top).addClass(v.bound).addClass(v.bottom), g.onBottom.call(E), g.onUnstick.call(E)
8462                        },
8463                        setInitialPosition: function() {
8464                            m.debug("Returning to initial position"), m.unfix(), m.unbind()
8465                        },
8466                        fixTop: function() {
8467                            m.debug("Fixing element to top of page"), m.set.minimumSize(), m.set.offset(), C.css({
8468                                left: m.cache.element.left,
8469                                bottom: "",
8470                                marginBottom: ""
8471                            }).removeClass(v.bound).removeClass(v.bottom).addClass(v.fixed).addClass(v.top), g.onStick.call(E)
8472                        },
8473                        fixBottom: function() {
8474                            m.debug("Sticking element to bottom of page"), m.set.minimumSize(), m.set.offset(), C.css({
8475                                left: m.cache.element.left,
8476                                bottom: "",
8477                                marginBottom: ""
8478                            }).removeClass(v.bound).removeClass(v.top).addClass(v.fixed).addClass(v.bottom), g.onStick.call(E)
8479                        },
8480                        unbind: function() {
8481                            m.is.bound() && (m.debug("Removing container bound position on element"), m.remove.offset(), C.removeClass(v.bound).removeClass(v.top).removeClass(v.bottom))
8482                        },
8483                        unfix: function() {
8484                            m.is.fixed() && (m.debug("Removing fixed position on element"), m.remove.offset(), C.removeClass(v.fixed).removeClass(v.top).removeClass(v.bottom), g.onUnstick.call(E))
8485                        },
8486                        reset: function() {
8487                            m.debug("Resetting elements position"), m.unbind(), m.unfix(), m.resetCSS(), m.remove.offset(), m.remove.lastScroll()
8488                        },
8489                        resetCSS: function() {
8490                            C.css({
8491                                width: "",
8492                                height: ""
8493                            }), r.css({
8494                                height: ""
8495                            })
8496                        },
8497                        setting: function(t, n) {
8498                            if (e.isPlainObject(t)) e.extend(!0, g, t);
8499                            else {
8500                                if (void 0 === n) return g[t];
8501                                g[t] = n
8502                            }
8503                        },
8504                        internal: function(t, n) {
8505                            if (e.isPlainObject(t)) e.extend(!0, m, t);
8506                            else {
8507                                if (void 0 === n) return m[t];
8508                                m[t] = n
8509                            }
8510                        },
8511                        debug: function() {
8512                            !g.silent && g.debug && (g.performance ? m.performance.log(arguments) : (m.debug = Function.prototype.bind.call(console.info, console, g.name + ":"), m.debug.apply(console, arguments)))
8513                        },
8514                        verbose: function() {
8515                            !g.silent && g.verbose && g.debug && (g.performance ? m.performance.log(arguments) : (m.verbose = Function.prototype.bind.call(console.info, console, g.name + ":"), m.verbose.apply(console, arguments)))
8516                        },
8517                        error: function() {
8518                            g.silent || (m.error = Function.prototype.bind.call(console.error, console, g.name + ":"), m.error.apply(console, arguments))
8519                        },
8520                        performance: {
8521                            log: function(e) {
8522                                var t, n, i;
8523                                g.performance && (t = (new Date).getTime(), i = s || t, n = t - i, s = t, l.push({
8524                                    Name: e[0],
8525                                    Arguments: [].slice.call(e, 1) || "",
8526                                    Element: E,
8527                                    "Execution Time": n
8528                                })), clearTimeout(m.performance.timer), m.performance.timer = setTimeout(m.performance.display, 0)
8529                            },
8530                            display: function() {
8531                                var t = g.name + ":",
8532                                    n = 0;
8533                                s = !1, clearTimeout(m.performance.timer), e.each(l, function(e, t) {
8534                                    n += t["Execution Time"]
8535                                }), t += " " + n + "ms", a && (t += " '" + a + "'"), (void 0 !== console.group || void 0 !== console.table) && l.length > 0 && (console.table || e.each(l, function(e, t) {})), l = []
8536                            }
8537                        },
8538                        invoke: function(t, n, i) {
8539                            var r, a, s, l = T;
8540                            return n = n || d, i = E || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
8541                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
8542                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
8543                                else {
8544                                    if (void 0 !== l[o]) return a = l[o], !1;
8545                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] && (a = l[i], !1);
8546                                    l = l[i]
8547                                }
8548                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), a
8549                        }
8550                    }, u ? (void 0 === T && m.initialize(), m.invoke(c)) : (void 0 !== T && T.invoke("destroy"), m.initialize())
8551                }), void 0 !== o ? o : this
8552            }, e.fn.sticky.settings = {
8553                name: "Sticky",
8554                namespace: "sticky",
8555                silent: !1,
8556                debug: !1,
8557                verbose: !0,
8558                performance: !0,
8559                pushing: !1,
8560                context: !1,
8561                container: !1,
8562                scrollContext: t,
8563                offset: 0,
8564                bottomOffset: 0,
8565                jitter: 5,
8566                observeChanges: !1,
8567                onReposition: function() {},
8568                onScroll: function() {},
8569                onStick: function() {},
8570                onUnstick: function() {},
8571                onTop: function() {},
8572                onBottom: function() {},
8573                error: {
8574                    container: "Sticky element must be inside a relative container",
8575                    visible: "Element is hidden, you must call refresh after element becomes visible. Use silent setting to surpress this warning in production.",
8576                    method: "The method you called is not defined.",
8577                    invalidContext: "Context specified does not exist",
8578                    elementSize: "Sticky element is larger than its container, cannot create sticky."
8579                },
8580                className: {
8581                    bound: "bound",
8582                    fixed: "fixed",
8583                    supported: "native",
8584                    top: "top",
8585                    bottom: "bottom"
8586                }
8587            }
8588        }(jQuery, window, document),
8589        function(e, t, i, o) {
8590            "use strict";
8591            t = void 0 !== t && t.Math == Math ? t : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(), e.fn.transition = function() {
8592                var o, r = e(this),
8593                    a = r.selector || "",
8594                    s = (new Date).getTime(),
8595                    l = [],
8596                    c = arguments,
8597                    u = c[0],
8598                    d = [].slice.call(arguments, 1),
8599                    f = "string" == typeof u;
8600                return t.requestAnimationFrame || t.mozRequestAnimationFrame || t.webkitRequestAnimationFrame || t.msRequestAnimationFrame, r.each(function(t) {
8601                    var p, h, m, g, v, b, y, x, w, C = e(this),
8602                        k = this;
8603                    w = {
8604                        initialize: function() {
8605                            p = w.get.settings.apply(k, c), g = p.className, m = p.error, v = p.metadata, x = "." + p.namespace, y = "module-" + p.namespace, h = C.data(y) || w, b = w.get.animationEndEvent(), f && (f = w.invoke(u)), !1 === f && (w.verbose("Converted arguments into settings object", p), p.interval ? w.delay(p.animate) : w.animate(), w.instantiate())
8606                        },
8607                        instantiate: function() {
8608                            w.verbose("Storing instance of module", w), h = w, C.data(y, h)
8609                        },
8610                        destroy: function() {
8611                            w.verbose("Destroying previous module for", k), C.removeData(y)
8612                        },
8613                        refresh: function() {
8614                            w.verbose("Refreshing display type on next animation"), delete w.displayType
8615                        },
8616                        forceRepaint: function() {
8617                            w.verbose("Forcing element repaint");
8618                            var e = C.parent(),
8619                                t = C.next();
8620                            0 === t.length ? C.detach().appendTo(e) : C.detach().insertBefore(t)
8621                        },
8622                        repaint: function() {
8623                            w.verbose("Repainting element"), k.offsetWidth
8624                        },
8625                        delay: function(e) {
8626                            var n, i, o = w.get.animationDirection();
8627                            o || (o = w.can.transition() ? w.get.direction() : "static"), e = void 0 !== e ? e : p.interval, n = "auto" == p.reverse && o == g.outward, i = n || 1 == p.reverse ? (r.length - t) * p.interval : t * p.interval, w.debug("Delaying animation by", i), setTimeout(w.animate, i)
8628                        },
8629                        animate: function(e) {
8630                            if (p = e || p, !w.is.supported()) return w.error(m.support), !1;
8631                            if (w.debug("Preparing animation", p.animation), w.is.animating()) {
8632                                if (p.queue) return !p.allowRepeats && w.has.direction() && w.is.occurring() && !0 !== w.queuing ? w.debug("Animation is currently occurring, preventing queueing same animation", p.animation) : w.queue(p.animation), !1;
8633                                if (!p.allowRepeats && w.is.occurring()) return w.debug("Animation is already occurring, will not execute repeated animation", p.animation), !1;
8634                                w.debug("New animation started, completing previous early", p.animation), h.complete()
8635                            }
8636                            w.can.animate() ? w.set.animating(p.animation) : w.error(m.noAnimation, p.animation, k)
8637                        },
8638                        reset: function() {
8639                            w.debug("Resetting animation to beginning conditions"), w.remove.animationCallbacks(), w.restore.conditions(), w.remove.animating()
8640                        },
8641                        queue: function(e) {
8642                            w.debug("Queueing animation of", e), w.queuing = !0, C.one(b + ".queue" + x, function() {
8643                                w.queuing = !1, w.repaint(), w.animate.apply(this, p)
8644                            })
8645                        },
8646                        complete: function(e) {
8647                            w.debug("Animation complete", p.animation), w.remove.completeCallback(), w.remove.failSafe(), w.is.looping() || (w.is.outward() ? (w.verbose("Animation is outward, hiding element"), w.restore.conditions(), w.hide()) : w.is.inward() ? (w.verbose("Animation is outward, showing element"), w.restore.conditions(), w.show()) : (w.verbose("Static animation completed"), w.restore.conditions(), p.onComplete.call(k)))
8648                        },
8649                        force: {
8650                            visible: function() {
8651                                var e = C.attr("style"),
8652                                    t = w.get.userStyle(),
8653                                    n = w.get.displayType(),
8654                                    i = t + "display: " + n + " !important;",
8655                                    o = C.css("display"),
8656                                    r = void 0 === e || "" === e;
8657                                o !== n ? (w.verbose("Overriding default display to show element", n), C.attr("style", i)) : r && C.removeAttr("style")
8658                            },
8659                            hidden: function() {
8660                                var e = C.attr("style"),
8661                                    t = C.css("display"),
8662                                    n = void 0 === e || "" === e;
8663                                "none" === t || w.is.hidden() ? n && C.removeAttr("style") : (w.verbose("Overriding default display to hide element"), C.css("display", "none"))
8664                            }
8665                        },
8666                        has: {
8667                            direction: function(t) {
8668                                var n = !1;
8669                                return t = t || p.animation, "string" == typeof t && (t = t.split(" "), e.each(t, function(e, t) {
8670                                    t !== g.inward && t !== g.outward || (n = !0)
8671                                })), n
8672                            },
8673                            inlineDisplay: function() {
8674                                var t = C.attr("style") || "";
8675                                return e.isArray(t.match(/display.*?;/, ""))
8676                            }
8677                        },
8678                        set: {
8679                            animating: function(e) {
8680                                var t;
8681                                w.remove.completeCallback(), e = e || p.animation, t = w.get.animationClass(e), w.save.animation(t), w.force.visible(), w.remove.hidden(), w.remove.direction(), w.start.animation(t)
8682                            },
8683                            duration: function(e, t) {
8684                                t = t || p.duration, ((t = "number" == typeof t ? t + "ms" : t) || 0 === t) && (w.verbose("Setting animation duration", t), C.css({
8685                                    "animation-duration": t
8686                                }))
8687                            },
8688                            direction: function(e) {
8689                                e = e || w.get.direction(), e == g.inward ? w.set.inward() : w.set.outward()
8690                            },
8691                            looping: function() {
8692                                w.debug("Transition set to loop"), C.addClass(g.looping)
8693                            },
8694                            hidden: function() {
8695                                C.addClass(g.transition).addClass(g.hidden)
8696                            },
8697                            inward: function() {
8698                                w.debug("Setting direction to inward"), C.removeClass(g.outward).addClass(g.inward)
8699                            },
8700                            outward: function() {
8701                                w.debug("Setting direction to outward"), C.removeClass(g.inward).addClass(g.outward)
8702                            },
8703                            visible: function() {
8704                                C.addClass(g.transition).addClass(g.visible)
8705                            }
8706                        },
8707                        start: {
8708                            animation: function(e) {
8709                                e = e || w.get.animationClass(), w.debug("Starting tween", e), C.addClass(e).one(b + ".complete" + x, w.complete), p.useFailSafe && w.add.failSafe(), w.set.duration(p.duration), p.onStart.call(k)
8710                            }
8711                        },
8712                        save: {
8713                            animation: function(e) {
8714                                w.cache || (w.cache = {}), w.cache.animation = e
8715                            },
8716                            displayType: function(e) {
8717                                "none" !== e && C.data(v.displayType, e)
8718                            },
8719                            transitionExists: function(t, n) {
8720                                e.fn.transition.exists[t] = n, w.verbose("Saving existence of transition", t, n)
8721                            }
8722                        },
8723                        restore: {
8724                            conditions: function() {
8725                                var e = w.get.currentAnimation();
8726                                e && (C.removeClass(e), w.verbose("Removing animation class", w.cache)), w.remove.duration()
8727                            }
8728                        },
8729                        add: {
8730                            failSafe: function() {
8731                                var e = w.get.duration();
8732                                w.timer = setTimeout(function() {
8733                                    C.triggerHandler(b)
8734                                }, e + p.failSafeDelay), w.verbose("Adding fail safe timer", w.timer)
8735                            }
8736                        },
8737                        remove: {
8738                            animating: function() {
8739                                C.removeClass(g.animating)
8740                            },
8741                            animationCallbacks: function() {
8742                                w.remove.queueCallback(), w.remove.completeCallback()
8743                            },
8744                            queueCallback: function() {
8745                                C.off(".queue" + x)
8746                            },
8747                            completeCallback: function() {
8748                                C.off(".complete" + x)
8749                            },
8750                            display: function() {
8751                                C.css("display", "")
8752                            },
8753                            direction: function() {
8754                                C.removeClass(g.inward).removeClass(g.outward)
8755                            },
8756                            duration: function() {
8757                                C.css("animation-duration", "")
8758                            },
8759                            failSafe: function() {
8760                                w.verbose("Removing fail safe timer", w.timer), w.timer && clearTimeout(w.timer)
8761                            },
8762                            hidden: function() {
8763                                C.removeClass(g.hidden)
8764                            },
8765                            visible: function() {
8766                                C.removeClass(g.visible)
8767                            },
8768                            looping: function() {
8769                                w.debug("Transitions are no longer looping"), w.is.looping() && (w.reset(), C.removeClass(g.looping))
8770                            },
8771                            transition: function() {
8772                                C.removeClass(g.visible).removeClass(g.hidden)
8773                            }
8774                        },
8775                        get: {
8776                            settings: function(t, i, o) {
8777                                return "object" == (void 0 === t ? "undefined" : n(t)) ? e.extend(!0, {}, e.fn.transition.settings, t) : "function" == typeof o ? e.extend({}, e.fn.transition.settings, {
8778                                    animation: t,
8779                                    onComplete: o,
8780                                    duration: i
8781                                }) : "string" == typeof i || "number" == typeof i ? e.extend({}, e.fn.transition.settings, {
8782                                    animation: t,
8783                                    duration: i
8784                                }) : "object" == (void 0 === i ? "undefined" : n(i)) ? e.extend({}, e.fn.transition.settings, i, {
8785                                    animation: t
8786                                }) : "function" == typeof i ? e.extend({}, e.fn.transition.settings, {
8787                                    animation: t,
8788                                    onComplete: i
8789                                }) : e.extend({}, e.fn.transition.settings, {
8790                                    animation: t
8791                                })
8792                            },
8793                            animationClass: function(e) {
8794                                var t = e || p.animation,
8795                                    n = w.can.transition() && !w.has.direction() ? w.get.direction() + " " : "";
8796                                return g.animating + " " + g.transition + " " + n + t
8797                            },
8798                            currentAnimation: function() {
8799                                return !(!w.cache || void 0 === w.cache.animation) && w.cache.animation
8800                            },
8801                            currentDirection: function() {
8802                                return w.is.inward() ? g.inward : g.outward
8803                            },
8804                            direction: function() {
8805                                return w.is.hidden() || !w.is.visible() ? g.inward : g.outward
8806                            },
8807                            animationDirection: function(t) {
8808                                var n;
8809                                return t = t || p.animation, "string" == typeof t && (t = t.split(" "), e.each(t, function(e, t) {
8810                                    t === g.inward ? n = g.inward : t === g.outward && (n = g.outward)
8811                                })), n || !1
8812                            },
8813                            duration: function(e) {
8814                                return e = e || p.duration, !1 === e && (e = C.css("animation-duration") || 0), "string" == typeof e ? e.indexOf("ms") > -1 ? parseFloat(e) : 1e3 * parseFloat(e) : e
8815                            },
8816                            displayType: function(e) {
8817                                return e = void 0 === e || e, p.displayType ? p.displayType : (e && void 0 === C.data(v.displayType) && w.can.transition(!0), C.data(v.displayType))
8818                            },
8819                            userStyle: function(e) {
8820                                return e = e || C.attr("style") || "", e.replace(/display.*?;/, "")
8821                            },
8822                            transitionExists: function(t) {
8823                                return e.fn.transition.exists[t]
8824                            },
8825                            animationStartEvent: function() {
8826                                var e, t = i.createElement("div"),
8827                                    n = {
8828                                        animation: "animationstart",
8829                                        OAnimation: "oAnimationStart",
8830                                        MozAnimation: "mozAnimationStart",
8831                                        WebkitAnimation: "webkitAnimationStart"
8832                                    };
8833                                for (e in n)
8834                                    if (void 0 !== t.style[e]) return n[e];
8835                                return !1
8836                            },
8837                            animationEndEvent: function() {
8838                                var e, t = i.createElement("div"),
8839                                    n = {
8840                                        animation: "animationend",
8841                                        OAnimation: "oAnimationEnd",
8842                                        MozAnimation: "mozAnimationEnd",
8843                                        WebkitAnimation: "webkitAnimationEnd"
8844                                    };
8845                                for (e in n)
8846                                    if (void 0 !== t.style[e]) return n[e];
8847                                return !1
8848                            }
8849                        },
8850                        can: {
8851                            transition: function(t) {
8852                                var n, i, o, r, a, s, l = p.animation,
8853                                    c = w.get.transitionExists(l),
8854                                    u = w.get.displayType(!1);
8855                                if (void 0 === c || t) {
8856                                    if (w.verbose("Determining whether animation exists"), n = C.attr("class"), i = C.prop("tagName"), o = e("<" + i + " />").addClass(n).insertAfter(C), r = o.addClass(l).removeClass(g.inward).removeClass(g.outward).addClass(g.animating).addClass(g.transition).css("animationName"), a = o.addClass(g.inward).css("animationName"), u || (u = o.attr("class", n).removeAttr("style").removeClass(g.hidden).removeClass(g.visible).show().css("display"), w.verbose("Determining final display state", u), w.save.displayType(u)), o.remove(), r != a) w.debug("Direction exists for animation", l), s = !0;
8857                                    else {
8858                                        if ("none" == r || !r) return void w.debug("No animation defined in css", l);
8859                                        w.debug("Static animation found", l, u), s = !1
8860                                    }
8861                                    w.save.transitionExists(l, s)
8862                                }
8863                                return void 0 !== c ? c : s
8864                            },
8865                            animate: function() {
8866                                return void 0 !== w.can.transition()
8867                            }
8868                        },
8869                        is: {
8870                            animating: function() {
8871                                return C.hasClass(g.animating)
8872                            },
8873                            inward: function() {
8874                                return C.hasClass(g.inward)
8875                            },
8876                            outward: function() {
8877                                return C.hasClass(g.outward)
8878                            },
8879                            looping: function() {
8880                                return C.hasClass(g.looping)
8881                            },
8882                            occurring: function(e) {
8883                                return e = e || p.animation, e = "." + e.replace(" ", "."), C.filter(e).length > 0
8884                            },
8885                            visible: function() {
8886                                return C.is(":visible")
8887                            },
8888                            hidden: function() {
8889                                return "hidden" === C.css("visibility")
8890                            },
8891                            supported: function() {
8892                                return !1 !== b
8893                            }
8894                        },
8895                        hide: function() {
8896                            w.verbose("Hiding element"), w.is.animating() && w.reset(), k.blur(), w.remove.display(), w.remove.visible(), w.set.hidden(), w.force.hidden(), p.onHide.call(k), p.onComplete.call(k)
8897                        },
8898                        show: function(e) {
8899                            w.verbose("Showing element", e), w.remove.hidden(), w.set.visible(), w.force.visible(), p.onShow.call(k), p.onComplete.call(k)
8900                        },
8901                        toggle: function() {
8902                            w.is.visible() ? w.hide() : w.show()
8903                        },
8904                        stop: function() {
8905                            w.debug("Stopping current animation"), C.triggerHandler(b)
8906                        },
8907                        stopAll: function() {
8908                            w.debug("Stopping all animation"), w.remove.queueCallback(), C.triggerHandler(b)
8909                        },
8910                        clear: {
8911                            queue: function() {
8912                                w.debug("Clearing animation queue"), w.remove.queueCallback()
8913                            }
8914                        },
8915                        enable: function() {
8916                            w.verbose("Starting animation"), C.removeClass(g.disabled)
8917                        },
8918                        disable: function() {
8919                            w.debug("Stopping animation"), C.addClass(g.disabled)
8920                        },
8921                        setting: function(t, n) {
8922                            if (w.debug("Changing setting", t, n), e.isPlainObject(t)) e.extend(!0, p, t);
8923                            else {
8924                                if (void 0 === n) return p[t];
8925                                e.isPlainObject(p[t]) ? e.extend(!0, p[t], n) : p[t] = n
8926                            }
8927                        },
8928                        internal: function(t, n) {
8929                            if (e.isPlainObject(t)) e.extend(!0, w, t);
8930                            else {
8931                                if (void 0 === n) return w[t];
8932                                w[t] = n
8933                            }
8934                        },
8935                        debug: function() {
8936                            !p.silent && p.debug && (p.performance ? w.performance.log(arguments) : (w.debug = Function.prototype.bind.call(console.info, console, p.name + ":"), w.debug.apply(console, arguments)))
8937                        },
8938                        verbose: function() {
8939                            !p.silent && p.verbose && p.debug && (p.performance ? w.performance.log(arguments) : (w.verbose = Function.prototype.bind.call(console.info, console, p.name + ":"), w.verbose.apply(console, arguments)))
8940                        },
8941                        error: function() {
8942                            p.silent || (w.error = Function.prototype.bind.call(console.error, console, p.name + ":"), w.error.apply(console, arguments))
8943                        },
8944                        performance: {
8945                            log: function(e) {
8946                                var t, n, i;
8947                                p.performance && (t = (new Date).getTime(), i = s || t, n = t - i, s = t, l.push({
8948                                    Name: e[0],
8949                                    Arguments: [].slice.call(e, 1) || "",
8950                                    Element: k,
8951                                    "Execution Time": n
8952                                })), clearTimeout(w.performance.timer), w.performance.timer = setTimeout(w.performance.display, 500)
8953                            },
8954                            display: function() {
8955                                var t = p.name + ":",
8956                                    n = 0;
8957                                s = !1, clearTimeout(w.performance.timer), e.each(l, function(e, t) {
8958                                    n += t["Execution Time"]
8959                                }), t += " " + n + "ms", a && (t += " '" + a + "'"), r.length > 1 && (t += " (" + r.length + ")"), (void 0 !== console.group || void 0 !== console.table) && l.length > 0 && (console.table || e.each(l, function(e, t) {})), l = []
8960                            }
8961                        },
8962                        invoke: function(t, n, i) {
8963                            var r, a, s, l = h;
8964                            return n = n || d, i = k || i, "string" == typeof t && void 0 !== l && (t = t.split(/[\. ]/), r = t.length - 1, e.each(t, function(n, i) {
8965                                var o = n != r ? i + t[n + 1].charAt(0).toUpperCase() + t[n + 1].slice(1) : t;
8966                                if (e.isPlainObject(l[o]) && n != r) l = l[o];
8967                                else {
8968                                    if (void 0 !== l[o]) return a = l[o], !1;
8969                                    if (!e.isPlainObject(l[i]) || n == r) return void 0 !== l[i] && (a = l[i], !1);
8970                                    l = l[i]
8971                                }
8972                            })), e.isFunction(a) ? s = a.apply(i, n) : void 0 !== a && (s = a), e.isArray(o) ? o.push(s) : void 0 !== o ? o = [o, s] : void 0 !== s && (o = s), void 0 !== a && a
8973                        }
8974                    }, w.initialize()
8975                }), void 0 !== o ? o : this
8976            }, e.fn.transition.exists = {}, e.fn.transition.settings = {
8977                name: "Transition",
8978                silent: !1,
8979                debug: !1,
8980                verbose: !1,
8981                performance: !0,
8982                namespace: "transition",
8983                interval: 0,
8984                reverse: "auto",
8985                onStart: function() {},
8986                onComplete: function() {},
8987                onShow: function() {},
8988                onHide: function() {},
8989                useFailSafe: !0,
8990                failSafeDelay: 100,
8991                allowRepeats: !1,
8992                displayType: !1,
8993                animation: "fade",
8994                duration: !1,
8995                queue: !0,
8996                metadata: {
8997                    displayType: "display"
8998                },
8999                className: {
9000                    animating: "animating",
9001                    disabled: "disabled",
9002                    hidden: "hidden",
9003                    inward: "in",
9004                    loading: "loading",
9005                    looping: "looping",
9006                    outward: "out",
9007                    transition: "transition",
9008                    visible: "visible"
9009                },
9010                error: {
9011                    noAnimation: "Element is no longer attached to DOM. Unable to animate.  Use silent setting to surpress this warning in production.",
9012                    repeated: "That animation is already occurring, cancelling repeated animation",
9013                    method: "The method you called is not defined",
9014                    support: "This browser does not support CSS animations"
9015                }
9016            }
9017        }(jQuery, window, document)
9018    },
9019    "sV/x": function(e, t, n) {
9020        n("WRGp"), n("OQde")
9021    },
9022    xZZD: function(e, t) {}
9023});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.