Advertisement
Guest User

Terminal scripts Lumerico 26/10

a guest
Oct 26th, 2016
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //
  3. //SCRIPT 1:
  4. //
  5. //
  6.  
  7.  
  8.  
  9.  
  10. function(e, t) {
  11.     "use strict";
  12.     "object" == typeof module && "object" == typeof module.exports ? module.exports =
  13.         e.document ? t(e, !0) : function(e) {
  14.             if (!e.document) throw new Error(
  15.                 "jQuery requires a window with a document");
  16.             return t(e)
  17.         } : t(e)
  18. }("undefined" != typeof window ? window : this, function(e, t) {
  19.     "use strict";
  20.  
  21.     function n(e, t) {
  22.         t = t || te;
  23.         var n = t.createElement("script");
  24.         n.text = e, t.head.appendChild(n).parentNode.removeChild(n)
  25.     }
  26.  
  27.     function r(e) {
  28.         var t = !!e && "length" in e && e.length,
  29.             n = de.type(e);
  30.         return "function" !== n && !de.isWindow(e) && ("array" === n ||
  31.             0 === t || "number" == typeof t && t > 0 && t - 1 in e)
  32.     }
  33.  
  34.     function i(e, t, n) {
  35.         return de.isFunction(t) ? de.grep(e, function(e, r) {
  36.             return !!t.call(e, r, e) !== n
  37.         }) : t.nodeType ? de.grep(e, function(e) {
  38.             return e === t !== n
  39.         }) : "string" != typeof t ? de.grep(e, function(e) {
  40.             return ae.call(t, e) > -1 !== n
  41.         }) : Te.test(t) ? de.filter(t, e, n) : (t = de.filter(t, e),
  42.             de.grep(e, function(e) {
  43.                 return ae.call(t, e) > -1 !== n && 1 === e.nodeType
  44.             }))
  45.     }
  46.  
  47.     function o(e, t) {
  48.         for (;
  49.             (e = e[t]) && 1 !== e.nodeType;);
  50.         return e
  51.     }
  52.  
  53.     function a(e) {
  54.         var t = {};
  55.         return de.each(e.match(Ne) || [], function(e, n) {
  56.             t[n] = !0
  57.         }), t
  58.     }
  59.  
  60.     function s(e) {
  61.         return e
  62.     }
  63.  
  64.     function u(e) {
  65.         throw e
  66.     }
  67.  
  68.     function c(e, t, n) {
  69.         var r;
  70.         try {
  71.             e && de.isFunction(r = e.promise) ? r.call(e).done(t).fail(
  72.                 n) : e && de.isFunction(r = e.then) ? r.call(e, t,
  73.                 n) : t.call(void 0, e)
  74.         } catch (e) {
  75.             n.call(void 0, e)
  76.         }
  77.     }
  78.  
  79.     function l() {
  80.         te.removeEventListener("DOMContentLoaded", l), e.removeEventListener(
  81.             "load", l), de.ready()
  82.     }
  83.  
  84.     function f() {
  85.         this.expando = de.expando + f.uid++
  86.     }
  87.  
  88.     function p(e) {
  89.         return "true" === e || "false" !== e && ("null" === e ? null :
  90.             e === +e + "" ? +e : He.test(e) ? JSON.parse(e) : e)
  91.     }
  92.  
  93.     function h(e, t, n) {
  94.         var r;
  95.         if (void 0 === n && 1 === e.nodeType)
  96.             if (r = "data-" + t.replace(Ie, "-$&").toLowerCase(), n = e
  97.                 .getAttribute(r), "string" == typeof n) {
  98.                 try {
  99.                     n = p(n)
  100.                 } catch (i) {}
  101.                 qe.set(e, t, n)
  102.             } else n = void 0;
  103.         return n
  104.     }
  105.  
  106.     function d(e, t, n, r) {
  107.         var i, o = 1,
  108.             a = 20,
  109.             s = r ? function() {
  110.                 return r.cur()
  111.             } : function() {
  112.                 return de.css(e, t, "")
  113.             },
  114.             u = s(),
  115.             c = n && n[3] || (de.cssNumber[t] ? "" : "px"),
  116.             l = (de.cssNumber[t] || "px" !== c && +u) && $e.exec(de.css(
  117.                 e, t));
  118.         if (l && l[3] !== c) {
  119.             c = c || l[3], n = n || [], l = +u || 1;
  120.             do o = o || ".5", l /= o, de.style(e, t, l + c); while (o !==
  121.                 (o = s() / u) && 1 !== o && --a)
  122.         }
  123.         return n && (l = +l || +u || 0, i = n[1] ? l + (n[1] + 1) * n[2] :
  124.             +n[2], r && (r.unit = c, r.start = l, r.end = i)), i
  125.     }
  126.  
  127.     function g(e) {
  128.         var t, n = e.ownerDocument,
  129.             r = e.nodeName,
  130.             i = Be[r];
  131.         return i ? i : (t = n.body.appendChild(n.createElement(r)), i =
  132.             de.css(t, "display"), t.parentNode.removeChild(t),
  133.             "none" === i && (i = "block"), Be[r] = i, i)
  134.     }
  135.  
  136.     function m(e, t) {
  137.         for (var n, r, i = [], o = 0, a = e.length; o < a; o++) r = e[o],
  138.             r.style && (n = r.style.display, t ? ("none" === n && (i[o] =
  139.                 Oe.get(r, "display") || null, i[o] || (r.style.display =
  140.                     "")), "" === r.style.display && We(r) && (i[
  141.                 o] = g(r))) : "none" !== n && (i[o] = "none", Oe.set(
  142.                 r, "display", n)));
  143.         for (o = 0; o < a; o++) null != i[o] && (e[o].style.display = i[
  144.             o]);
  145.         return e
  146.     }
  147.  
  148.     function v(e, t) {
  149.         var n;
  150.         return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(
  151.                 t || "*") : "undefined" != typeof e.querySelectorAll ?
  152.             e.querySelectorAll(t || "*") : [], void 0 === t || t && de.nodeName(
  153.                 e, t) ? de.merge([e], n) : n
  154.     }
  155.  
  156.     function y(e, t) {
  157.         for (var n = 0, r = e.length; n < r; n++) Oe.set(e[n],
  158.             "globalEval", !t || Oe.get(t[n], "globalEval"))
  159.     }
  160.  
  161.     function b(e, t, n, r, i) {
  162.         for (var o, a, s, u, c, l, f = t.createDocumentFragment(), p = [],
  163.             h = 0, d = e.length; h < d; h++)
  164.             if (o = e[h], o || 0 === o)
  165.                 if ("object" === de.type(o)) de.merge(p, o.nodeType ? [
  166.                     o
  167.                 ] : o);
  168.                 else if (Je.test(o)) {
  169.             for (a = a || f.appendChild(t.createElement("div")), s = (
  170.                     Ue.exec(o) || ["", ""])[1].toLowerCase(), u = Ye[s] ||
  171.                 Ye._default, a.innerHTML = u[1] + de.htmlPrefilter(o) +
  172.                 u[2], l = u[0]; l--;) a = a.lastChild;
  173.             de.merge(p, a.childNodes), a = f.firstChild, a.textContent =
  174.                 ""
  175.         } else p.push(t.createTextNode(o));
  176.         for (f.textContent = "", h = 0; o = p[h++];)
  177.             if (r && de.inArray(o, r) > -1) i && i.push(o);
  178.             else if (c = de.contains(o.ownerDocument, o), a = v(f.appendChild(
  179.             o), "script"), c && y(a), n)
  180.             for (l = 0; o = a[l++];) Xe.test(o.type || "") && n.push(o);
  181.         return f
  182.     }
  183.  
  184.     function w() {
  185.         return !0
  186.     }
  187.  
  188.     function x() {
  189.         return !1
  190.     }
  191.  
  192.     function _() {
  193.         try {
  194.             return te.activeElement
  195.         } catch (e) {}
  196.     }
  197.  
  198.     function k(e, t, n, r, i, o) {
  199.         var a, s;
  200.         if ("object" == typeof t) {
  201.             "string" != typeof n && (r = r || n, n = void 0);
  202.             for (s in t) k(e, s, n, r, t[s], o);
  203.             return e
  204.         }
  205.         if (null == r && null == i ? (i = n, r = n = void 0) : null ==
  206.             i && ("string" == typeof n ? (i = r, r = void 0) : (i = r,
  207.                 r = n, n = void 0)), i === !1) i = x;
  208.         else if (!i) return e;
  209.         return 1 === o && (a = i, i = function(e) {
  210.             return de().off(e), a.apply(this, arguments)
  211.         }, i.guid = a.guid || (a.guid = de.guid++)), e.each(
  212.             function() {
  213.                 de.event.add(this, t, i, r, n)
  214.             })
  215.     }
  216.  
  217.     function T(e, t) {
  218.         return de.nodeName(e, "table") && de.nodeName(11 !== t.nodeType ?
  219.             t : t.firstChild, "tr") ? e.getElementsByTagName(
  220.             "tbody")[0] || e : e
  221.     }
  222.  
  223.     function C(e) {
  224.         return e.type = (null !== e.getAttribute("type")) + "/" + e.type,
  225.             e
  226.     }
  227.  
  228.     function S(e) {
  229.         var t = rt.exec(e.type);
  230.         return t ? e.type = t[1] : e.removeAttribute("type"), e
  231.     }
  232.  
  233.     function E(e, t) {
  234.         var n, r, i, o, a, s, u, c;
  235.         if (1 === t.nodeType) {
  236.             if (Oe.hasData(e) && (o = Oe.access(e), a = Oe.set(t, o), c =
  237.                 o.events)) {
  238.                 delete a.handle, a.events = {};
  239.                 for (i in c)
  240.                     for (n = 0, r = c[i].length; n < r; n++) de.event.add(
  241.                         t, i, c[i][n])
  242.             }
  243.             qe.hasData(e) && (s = qe.access(e), u = de.extend({}, s),
  244.                 qe.set(t, u))
  245.         }
  246.     }
  247.  
  248.     function j(e, t) {
  249.         var n = t.nodeName.toLowerCase();
  250.         "input" === n && Ke.test(e.type) ? t.checked = e.checked :
  251.             "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
  252.     }
  253.  
  254.     function A(e, t, r, i) {
  255.         t = ie.apply([], t);
  256.         var o, a, s, u, c, l, f = 0,
  257.             p = e.length,
  258.             h = p - 1,
  259.             d = t[0],
  260.             g = de.isFunction(d);
  261.         if (g || p > 1 && "string" == typeof d && !pe.checkClone && nt.test(
  262.             d)) return e.each(function(n) {
  263.             var o = e.eq(n);
  264.             g && (t[0] = d.call(this, n, o.html())), A(o, t,
  265.                 r, i)
  266.         });
  267.         if (p && (o = b(t, e[0].ownerDocument, !1, e, i), a = o.firstChild,
  268.             1 === o.childNodes.length && (o = a), a || i)) {
  269.             for (s = de.map(v(o, "script"), C), u = s.length; f < p; f++)
  270.                 c = o, f !== h && (c = de.clone(c, !0, !0), u && de.merge(
  271.                     s, v(c, "script"))), r.call(e[f], c, f);
  272.             if (u)
  273.                 for (l = s[s.length - 1].ownerDocument, de.map(s, S), f =
  274.                     0; f < u; f++) c = s[f], Xe.test(c.type || "") && !
  275.                     Oe.access(c, "globalEval") && de.contains(l, c) &&
  276.                     (c.src ? de._evalUrl && de._evalUrl(c.src) : n(c.textContent
  277.                         .replace(it, ""), l))
  278.         }
  279.         return e
  280.     }
  281.  
  282.     function N(e, t, n) {
  283.         for (var r, i = t ? de.filter(t, e) : e, o = 0; null != (r = i[
  284.             o]); o++) n || 1 !== r.nodeType || de.cleanData(v(r)), r.parentNode &&
  285.             (n && de.contains(r.ownerDocument, r) && y(v(r, "script")),
  286.                 r.parentNode.removeChild(r));
  287.         return e
  288.     }
  289.  
  290.     function D(e, t, n) {
  291.         var r, i, o, a, s = e.style;
  292.         return n = n || st(e), n && (a = n.getPropertyValue(t) || n[t],
  293.                 "" !== a || de.contains(e.ownerDocument, e) || (a = de.style(
  294.                     e, t)), !pe.pixelMarginRight() && at.test(a) && ot.test(
  295.                     t) && (r = s.width, i = s.minWidth, o = s.maxWidth,
  296.                     s.minWidth = s.maxWidth = s.width = a, a = n.width,
  297.                     s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !==
  298.             a ? a + "" : a
  299.     }
  300.  
  301.     function F(e, t) {
  302.         return {
  303.             get: function() {
  304.                 return e() ? void delete this.get : (this.get = t).apply(
  305.                     this, arguments)
  306.             }
  307.         }
  308.     }
  309.  
  310.     function L(e) {
  311.         if (e in pt) return e;
  312.         for (var t = e[0].toUpperCase() + e.slice(1), n = ft.length; n--;)
  313.             if (e = ft[n] + t, e in pt) return e
  314.     }
  315.  
  316.     function R(e, t, n) {
  317.         var r = $e.exec(t);
  318.         return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
  319.     }
  320.  
  321.     function O(e, t, n, r, i) {
  322.         var o, a = 0;
  323.         for (o = n === (r ? "border" : "content") ? 4 : "width" === t ?
  324.             1 : 0; o < 4; o += 2) "margin" === n && (a += de.css(e, n +
  325.             Me[o], !0, i)), r ? ("content" === n && (a -= de.css(e,
  326.             "padding" + Me[o], !0, i)), "margin" !== n && (a -=
  327.             de.css(e, "border" + Me[o] + "Width", !0, i))) : (a +=
  328.             de.css(e, "padding" + Me[o], !0, i), "padding" !== n &&
  329.             (a += de.css(e, "border" + Me[o] + "Width", !0, i)));
  330.         return a
  331.     }
  332.  
  333.     function q(e, t, n) {
  334.         var r, i = !0,
  335.             o = st(e),
  336.             a = "border-box" === de.css(e, "boxSizing", !1, o);
  337.         if (e.getClientRects().length && (r = e.getBoundingClientRect()[
  338.             t]), r <= 0 || null == r) {
  339.             if (r = D(e, t, o), (r < 0 || null == r) && (r = e.style[t]),
  340.                 at.test(r)) return r;
  341.             i = a && (pe.boxSizingReliable() || r === e.style[t]), r =
  342.                 parseFloat(r) || 0
  343.         }
  344.         return r + O(e, t, n || (a ? "border" : "content"), i, o) +
  345.             "px"
  346.     }
  347.  
  348.     function H(e, t, n, r, i) {
  349.         return new H.prototype.init(e, t, n, r, i)
  350.     }
  351.  
  352.     function I() {
  353.         dt && (e.requestAnimationFrame(I), de.fx.tick())
  354.     }
  355.  
  356.     function P() {
  357.         return e.setTimeout(function() {
  358.             ht = void 0
  359.         }), ht = de.now()
  360.     }
  361.  
  362.     function $(e, t) {
  363.         var n, r = 0,
  364.             i = {
  365.                 height: e
  366.             };
  367.         for (t = t ? 1 : 0; r < 4; r += 2 - t) n = Me[r], i["margin" +
  368.             n] = i["padding" + n] = e;
  369.         return t && (i.opacity = i.width = e), i
  370.     }
  371.  
  372.     function M(e, t, n) {
  373.         for (var r, i = (B.tweeners[t] || []).concat(B.tweeners["*"]),
  374.             o = 0, a = i.length; o < a; o++)
  375.             if (r = i[o].call(n, t, e)) return r
  376.     }
  377.  
  378.     function W(e, t, n) {
  379.         var r, i, o, a, s, u, c, l, f = "width" in t || "height" in t,
  380.             p = this,
  381.             h = {},
  382.             d = e.style,
  383.             g = e.nodeType && We(e),
  384.             v = Oe.get(e, "fxshow");
  385.         n.queue || (a = de._queueHooks(e, "fx"), null == a.unqueued &&
  386.             (a.unqueued = 0, s = a.empty.fire, a.empty.fire =
  387.                 function() {
  388.                     a.unqueued || s()
  389.                 }), a.unqueued++, p.always(function() {
  390.                 p.always(function() {
  391.                     a.unqueued--, de.queue(e, "fx").length ||
  392.                         a.empty.fire()
  393.                 })
  394.             }));
  395.         for (r in t)
  396.             if (i = t[r], gt.test(i)) {
  397.                 if (delete t[r], o = o || "toggle" === i, i === (g ?
  398.                     "hide" : "show")) {
  399.                     if ("show" !== i || !v || void 0 === v[r]) continue;
  400.                     g = !0
  401.                 }
  402.                 h[r] = v && v[r] || de.style(e, r)
  403.             }
  404.         if (u = !de.isEmptyObject(t), u || !de.isEmptyObject(h)) {
  405.             f && 1 === e.nodeType && (n.overflow = [d.overflow, d.overflowX,
  406.                     d.overflowY
  407.                 ], c = v && v.display, null == c && (c = Oe.get(e,
  408.                     "display")), l = de.css(e, "display"), "none" ===
  409.                 l && (c ? l = c : (m([e], !0), c = e.style.display ||
  410.                     c, l = de.css(e, "display"), m([e]))), (
  411.                     "inline" === l || "inline-block" === l && null !=
  412.                     c) && "none" === de.css(e, "float") && (u || (p
  413.                         .done(function() {
  414.                             d.display = c
  415.                         }), null == c && (l = d.display, c = "none" ===
  416.                             l ? "" : l)), d.display =
  417.                     "inline-block")), n.overflow && (d.overflow =
  418.                 "hidden", p.always(function() {
  419.                     d.overflow = n.overflow[0], d.overflowX = n
  420.                         .overflow[1], d.overflowY = n.overflow[
  421.                             2]
  422.                 })), u = !1;
  423.             for (r in h) u || (v ? "hidden" in v && (g = v.hidden) : v =
  424.                 Oe.access(e, "fxshow", {
  425.                     display: c
  426.                 }), o && (v.hidden = !g), g && m([e], !0), p.done(
  427.                     function() {
  428.                         g || m([e]), Oe.remove(e, "fxshow");
  429.                         for (r in h) de.style(e, r, h[r])
  430.                     })), u = M(g ? v[r] : 0, r, p), r in v || (v[r] =
  431.                 u.start, g && (u.end = u.start, u.start = 0))
  432.         }
  433.     }
  434.  
  435.     function z(e, t) {
  436.         var n, r, i, o, a;
  437.         for (n in e)
  438.             if (r = de.camelCase(n), i = t[r], o = e[n], de.isArray(o) &&
  439.                 (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o,
  440.                     delete e[n]), a = de.cssHooks[r], a && "expand" in
  441.                 a) {
  442.                 o = a.expand(o), delete e[r];
  443.                 for (n in o) n in e || (e[n] = o[n], t[n] = i)
  444.             } else t[r] = i
  445.     }
  446.  
  447.     function B(e, t, n) {
  448.         var r, i, o = 0,
  449.             a = B.prefilters.length,
  450.             s = de.Deferred().always(function() {
  451.                 delete u.elem
  452.             }),
  453.             u = function() {
  454.                 if (i) return !1;
  455.                 for (var t = ht || P(), n = Math.max(0, c.startTime + c
  456.                         .duration - t), r = n / c.duration || 0, o =
  457.                     1 - r, a = 0, u = c.tweens.length; a < u; a++) c.tweens[
  458.                     a].run(o);
  459.                 return s.notifyWith(e, [c, o, n]), o < 1 && u ? n : (s.resolveWith(
  460.                     e, [c]), !1)
  461.             },
  462.             c = s.promise({
  463.                 elem: e,
  464.                 props: de.extend({}, t),
  465.                 opts: de.extend(!0, {
  466.                     specialEasing: {},
  467.                     easing: de.easing._default
  468.                 }, n),
  469.                 originalProperties: t,
  470.                 originalOptions: n,
  471.                 startTime: ht || P(),
  472.                 duration: n.duration,
  473.                 tweens: [],
  474.                 createTween: function(t, n) {
  475.                     var r = de.Tween(e, c.opts, t, n, c.opts.specialEasing[
  476.                         t] || c.opts.easing);
  477.                     return c.tweens.push(r), r
  478.                 },
  479.                 stop: function(t) {
  480.                     var n = 0,
  481.                         r = t ? c.tweens.length : 0;
  482.                     if (i) return this;
  483.                     for (i = !0; n < r; n++) c.tweens[n].run(1);
  484.                     return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(
  485.                             e, [c, t])) : s.rejectWith(e, [c, t]),
  486.                         this
  487.                 }
  488.             }),
  489.             l = c.props;
  490.         for (z(l, c.opts.specialEasing); o < a; o++)
  491.             if (r = B.prefilters[o].call(c, e, l, c.opts)) return de.isFunction(
  492.                 r.stop) && (de._queueHooks(c.elem, c.opts.queue)
  493.                 .stop = de.proxy(r.stop, r)), r;
  494.         return de.map(l, M, c), de.isFunction(c.opts.start) && c.opts.start
  495.             .call(e, c), de.fx.timer(de.extend(u, {
  496.                 elem: e,
  497.                 anim: c,
  498.                 queue: c.opts.queue
  499.             })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete)
  500.             .fail(c.opts.fail).always(c.opts.always)
  501.     }
  502.  
  503.     function K(e) {
  504.         var t = e.match(Ne) || [];
  505.         return t.join(" ")
  506.     }
  507.  
  508.     function U(e) {
  509.         return e.getAttribute && e.getAttribute("class") || ""
  510.     }
  511.  
  512.     function X(e, t, n, r) {
  513.         var i;
  514.         if (de.isArray(t)) de.each(t, function(t, i) {
  515.             n || St.test(e) ? r(e, i) : X(e + "[" + ("object" ==
  516.                     typeof i && null != i ? t : "") + "]",
  517.                 i, n, r)
  518.         });
  519.         else if (n || "object" !== de.type(t)) r(e, t);
  520.         else
  521.             for (i in t) X(e + "[" + i + "]", t[i], n, r)
  522.     }
  523.  
  524.     function Y(e) {
  525.         return function(t, n) {
  526.             "string" != typeof t && (n = t, t = "*");
  527.             var r, i = 0,
  528.                 o = t.toLowerCase().match(Ne) || [];
  529.             if (de.isFunction(n))
  530.                 for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) ||
  531.                     "*", (e[r] = e[r] || []).unshift(n)) : (e[r] =
  532.                     e[r] || []).push(n)
  533.         }
  534.     }
  535.  
  536.     function J(e, t, n, r) {
  537.         function i(s) {
  538.             var u;
  539.             return o[s] = !0, de.each(e[s] || [], function(e, s) {
  540.                 var c = s(t, n, r);
  541.                 return "string" != typeof c || a || o[c] ?
  542.                     a ? !(u = c) : void 0 : (t.dataTypes.unshift(
  543.                         c), i(c), !1)
  544.             }), u
  545.         }
  546.         var o = {},
  547.             a = e === It;
  548.         return i(t.dataTypes[0]) || !o["*"] && i("*")
  549.     }
  550.  
  551.     function V(e, t) {
  552.         var n, r, i = de.ajaxSettings.flatOptions || {};
  553.         for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] =
  554.             t[n]);
  555.         return r && de.extend(!0, e, r), e
  556.     }
  557.  
  558.     function G(e, t, n) {
  559.         for (var r, i, o, a, s = e.contents, u = e.dataTypes;
  560.             "*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType ||
  561.             t.getResponseHeader("Content-Type"));
  562.         if (r)
  563.             for (i in s)
  564.                 if (s[i] && s[i].test(r)) {
  565.                     u.unshift(i);
  566.                     break
  567.                 }
  568.         if (u[0] in n) o = u[0];
  569.         else {
  570.             for (i in n) {
  571.                 if (!u[0] || e.converters[i + " " + u[0]]) {
  572.                     o = i;
  573.                     break
  574.                 }
  575.                 a || (a = i)
  576.             }
  577.             o = o || a
  578.         } if (o) return o !== u[0] && u.unshift(o), n[o]
  579.     }
  580.  
  581.     function Q(e, t, n, r) {
  582.         var i, o, a, s, u, c = {},
  583.             l = e.dataTypes.slice();
  584.         if (l[1])
  585.             for (a in e.converters) c[a.toLowerCase()] = e.converters[a];
  586.         for (o = l.shift(); o;)
  587.             if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u &&
  588.                 r && e.dataFilter && (t = e.dataFilter(t, e.dataType)),
  589.                 u = o, o = l.shift())
  590.                 if ("*" === o) o = u;
  591.                 else if ("*" !== u && u !== o) {
  592.             if (a = c[u + " " + o] || c["* " + o], !a)
  593.                 for (i in c)
  594.                     if (s = i.split(" "), s[1] === o && (a = c[u + " " +
  595.                         s[0]] || c["* " + s[0]])) {
  596.                         a === !0 ? a = c[i] : c[i] !== !0 && (o = s[0],
  597.                             l.unshift(s[1]));
  598.                         break
  599.                     }
  600.             if (a !== !0)
  601.                 if (a && e["throws"]) t = a(t);
  602.                 else try {
  603.                     t = a(t)
  604.                 } catch (f) {
  605.                     return {
  606.                         state: "parsererror",
  607.                         error: a ? f : "No conversion from " + u +
  608.                             " to " + o
  609.                     }
  610.                 }
  611.         }
  612.         return {
  613.             state: "success",
  614.             data: t
  615.         }
  616.     }
  617.  
  618.     function Z(e) {
  619.         return de.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
  620.     }
  621.     var ee = [],
  622.         te = e.document,
  623.         ne = Object.getPrototypeOf,
  624.         re = ee.slice,
  625.         ie = ee.concat,
  626.         oe = ee.push,
  627.         ae = ee.indexOf,
  628.         se = {},
  629.         ue = se.toString,
  630.         ce = se.hasOwnProperty,
  631.         le = ce.toString,
  632.         fe = le.call(Object),
  633.         pe = {},
  634.         he = "3.1.1",
  635.         de = function(e, t) {
  636.             return new de.fn.init(e, t)
  637.         },
  638.         ge = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  639.         me = /^-ms-/,
  640.         ve = /-([a-z])/g,
  641.         ye = function(e, t) {
  642.             return t.toUpperCase()
  643.         };
  644.     de.fn = de.prototype = {
  645.         jquery: he,
  646.         constructor: de,
  647.         length: 0,
  648.         toArray: function() {
  649.             return re.call(this)
  650.         },
  651.         get: function(e) {
  652.             return null == e ? re.call(this) : e < 0 ? this[e +
  653.                 this.length] : this[e]
  654.         },
  655.         pushStack: function(e) {
  656.             var t = de.merge(this.constructor(), e);
  657.             return t.prevObject = this, t
  658.         },
  659.         each: function(e) {
  660.             return de.each(this, e)
  661.         },
  662.         map: function(e) {
  663.             return this.pushStack(de.map(this, function(t, n) {
  664.                 return e.call(t, n, t)
  665.             }))
  666.         },
  667.         slice: function() {
  668.             return this.pushStack(re.apply(this, arguments))
  669.         },
  670.         first: function() {
  671.             return this.eq(0)
  672.         },
  673.         last: function() {
  674.             return this.eq(-1)
  675.         },
  676.         eq: function(e) {
  677.             var t = this.length,
  678.                 n = +e + (e < 0 ? t : 0);
  679.             return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
  680.         },
  681.         end: function() {
  682.             return this.prevObject || this.constructor()
  683.         },
  684.         push: oe,
  685.         sort: ee.sort,
  686.         splice: ee.splice
  687.     }, de.extend = de.fn.extend = function() {
  688.         var e, t, n, r, i, o, a = arguments[0] || {},
  689.             s = 1,
  690.             u = arguments.length,
  691.             c = !1;
  692.         for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++),
  693.             "object" == typeof a || de.isFunction(a) || (a = {}), s ===
  694.             u && (a = this, s--); s < u; s++)
  695.             if (null != (e = arguments[s]))
  696.                 for (t in e) n = a[t], r = e[t], a !== r && (c && r &&
  697.                     (de.isPlainObject(r) || (i = de.isArray(r))) ?
  698.                     (i ? (i = !1, o = n && de.isArray(n) ? n : []) :
  699.                         o = n && de.isPlainObject(n) ? n : {}, a[t] =
  700.                         de.extend(c, o, r)) : void 0 !== r && (a[t] =
  701.                         r));
  702.         return a
  703.     }, de.extend({
  704.         expando: "jQuery" + (he + Math.random()).replace(/\D/g, ""),
  705.         isReady: !0,
  706.         error: function(e) {
  707.             throw new Error(e)
  708.         },
  709.         noop: function() {},
  710.         isFunction: function(e) {
  711.             return "function" === de.type(e)
  712.         },
  713.         isArray: Array.isArray,
  714.         isWindow: function(e) {
  715.             return null != e && e === e.window
  716.         },
  717.         isNumeric: function(e) {
  718.             var t = de.type(e);
  719.             return ("number" === t || "string" === t) && !isNaN(
  720.                 e - parseFloat(e))
  721.         },
  722.         isPlainObject: function(e) {
  723.             var t, n;
  724.             return !(!e || "[object Object]" !== ue.call(e)) &&
  725.                 (!(t = ne(e)) || (n = ce.call(t, "constructor") &&
  726.                     t.constructor, "function" == typeof n &&
  727.                     le.call(n) === fe))
  728.         },
  729.         isEmptyObject: function(e) {
  730.             var t;
  731.             for (t in e) return !1;
  732.             return !0
  733.         },
  734.         type: function(e) {
  735.             return null == e ? e + "" : "object" == typeof e ||
  736.                 "function" == typeof e ? se[ue.call(e)] ||
  737.                 "object" : typeof e
  738.         },
  739.         globalEval: function(e) {
  740.             n(e)
  741.         },
  742.         camelCase: function(e) {
  743.             return e.replace(me, "ms-").replace(ve, ye)
  744.         },
  745.         nodeName: function(e, t) {
  746.             return e.nodeName && e.nodeName.toLowerCase() === t
  747.                 .toLowerCase()
  748.         },
  749.         each: function(e, t) {
  750.             var n, i = 0;
  751.             if (r(e))
  752.                 for (n = e.length; i < n && t.call(e[i], i, e[i]) !==
  753.                     !1; i++);
  754.             else
  755.                 for (i in e)
  756.                     if (t.call(e[i], i, e[i]) === !1) break; return
  757.             e
  758.         },
  759.         trim: function(e) {
  760.             return null == e ? "" : (e + "").replace(ge, "")
  761.         },
  762.         makeArray: function(e, t) {
  763.             var n = t || [];
  764.             return null != e && (r(Object(e)) ? de.merge(n,
  765.                 "string" == typeof e ? [e] : e) : oe.call(
  766.                 n, e)), n
  767.         },
  768.         inArray: function(e, t, n) {
  769.             return null == t ? -1 : ae.call(t, e, n)
  770.         },
  771.         merge: function(e, t) {
  772.             for (var n = +t.length, r = 0, i = e.length; r < n; r++)
  773.                 e[i++] = t[r];
  774.             return e.length = i, e
  775.         },
  776.         grep: function(e, t, n) {
  777.             for (var r, i = [], o = 0, a = e.length, s = !n; o <
  778.                 a; o++) r = !t(e[o], o), r !== s && i.push(e[o]);
  779.             return i
  780.         },
  781.         map: function(e, t, n) {
  782.             var i, o, a = 0,
  783.                 s = [];
  784.             if (r(e))
  785.                 for (i = e.length; a < i; a++) o = t(e[a], a, n),
  786.                     null != o && s.push(o);
  787.             else
  788.                 for (a in e) o = t(e[a], a, n), null != o && s.push(
  789.                     o);
  790.             return ie.apply([], s)
  791.         },
  792.         guid: 1,
  793.         proxy: function(e, t) {
  794.             var n, r, i;
  795.             if ("string" == typeof t && (n = e[t], t = e, e = n),
  796.                 de.isFunction(e)) return r = re.call(arguments,
  797.                 2), i = function() {
  798.                 return e.apply(t || this, r.concat(re.call(
  799.                     arguments)))
  800.             }, i.guid = e.guid = e.guid || de.guid++, i
  801.         },
  802.         now: Date.now,
  803.         support: pe
  804.     }), "function" == typeof Symbol && (de.fn[Symbol.iterator] = ee[
  805.         Symbol.iterator]), de.each(
  806.         "Boolean Number String Function Array Date RegExp Object Error Symbol"
  807.         .split(" "), function(e, t) {
  808.             se["[object " + t + "]"] = t.toLowerCase()
  809.         });
  810.     var be = function(e) {
  811.         function t(e, t, n, r) {
  812.             var i, o, a, s, u, c, l, p = t && t.ownerDocument,
  813.                 d = t ? t.nodeType : 9;
  814.             if (n = n || [], "string" != typeof e || !e || 1 !== d &&
  815.                 9 !== d && 11 !== d) return n;
  816.             if (!r && ((t ? t.ownerDocument || t : M) !== L && F(t),
  817.                 t = t || L, O)) {
  818.                 if (11 !== d && (u = ve.exec(e)))
  819.                     if (i = u[1]) {
  820.                         if (9 === d) {
  821.                             if (!(a = t.getElementById(i))) return n;
  822.                             if (a.id === i) return n.push(a), n
  823.                         } else if (p && (a = p.getElementById(i)) &&
  824.                             P(t, a) && a.id === i) return n.push(a),
  825.                             n
  826.                     } else {
  827.                         if (u[2]) return Q.apply(n, t.getElementsByTagName(
  828.                             e)), n;
  829.                         if ((i = u[3]) && _.getElementsByClassName &&
  830.                             t.getElementsByClassName) return Q.apply(
  831.                                 n, t.getElementsByClassName(i)),
  832.                             n
  833.                     }
  834.                 if (_.qsa && !U[e + " "] && (!q || !q.test(e))) {
  835.                     if (1 !== d) p = t, l = e;
  836.                     else if ("object" !== t.nodeName.toLowerCase()) {
  837.                         for ((s = t.getAttribute("id")) ? s = s.replace(
  838.                             xe, _e) : t.setAttribute("id", s =
  839.                             $), c = S(e), o = c.length; o--;) c[o] =
  840.                             "#" + s + " " + h(c[o]);
  841.                         l = c.join(","), p = ye.test(e) && f(t.parentNode) ||
  842.                             t
  843.                     }
  844.                     if (l) try {
  845.                         return Q.apply(n, p.querySelectorAll(l)),
  846.                             n
  847.                     } catch (g) {} finally {
  848.                         s === $ && t.removeAttribute("id")
  849.                     }
  850.                 }
  851.             }
  852.             return j(e.replace(se, "$1"), t, n, r)
  853.         }
  854.  
  855.         function n() {
  856.             function e(n, r) {
  857.                 return t.push(n + " ") > k.cacheLength &&
  858.                     delete e[t.shift()], e[n + " "] = r
  859.             }
  860.             var t = [];
  861.             return e
  862.         }
  863.  
  864.         function r(e) {
  865.             return e[$] = !0, e
  866.         }
  867.  
  868.         function i(e) {
  869.             var t = L.createElement("fieldset");
  870.             try {
  871.                 return !!e(t)
  872.             } catch (n) {
  873.                 return !1
  874.             } finally {
  875.                 t.parentNode && t.parentNode.removeChild(t), t =
  876.                     null
  877.             }
  878.         }
  879.  
  880.         function o(e, t) {
  881.             for (var n = e.split("|"), r = n.length; r--;) k.attrHandle[
  882.                 n[r]] = t
  883.         }
  884.  
  885.         function a(e, t) {
  886.             var n = t && e,
  887.                 r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex -
  888.                 t.sourceIndex;
  889.             if (r) return r;
  890.             if (n)
  891.                 for (; n = n.nextSibling;)
  892.                     if (n === t) return -1;
  893.             return e ? 1 : -1
  894.         }
  895.  
  896.         function s(e) {
  897.             return function(t) {
  898.                 var n = t.nodeName.toLowerCase();
  899.                 return "input" === n && t.type === e
  900.             }
  901.         }
  902.  
  903.         function u(e) {
  904.             return function(t) {
  905.                 var n = t.nodeName.toLowerCase();
  906.                 return ("input" === n || "button" === n) && t.type ===
  907.                     e
  908.             }
  909.         }
  910.  
  911.         function c(e) {
  912.             return function(t) {
  913.                 return "form" in t ? t.parentNode && t.disabled ===
  914.                     !1 ? "label" in t ? "label" in t.parentNode ?
  915.                     t.parentNode.disabled === e : t.disabled ===
  916.                     e : t.isDisabled === e || t.isDisabled !==
  917.                     !e && Te(t) === e : t.disabled === e :
  918.                     "label" in t && t.disabled === e
  919.             }
  920.         }
  921.  
  922.         function l(e) {
  923.             return r(function(t) {
  924.                 return t = +t, r(function(n, r) {
  925.                     for (var i, o = e([], n.length,
  926.                         t), a = o.length; a--;) n[i =
  927.                         o[a]] && (n[i] = !(r[i] =
  928.                         n[i]))
  929.                 })
  930.             })
  931.         }
  932.  
  933.         function f(e) {
  934.             return e && "undefined" != typeof e.getElementsByTagName &&
  935.                 e
  936.         }
  937.  
  938.         function p() {}
  939.  
  940.         function h(e) {
  941.             for (var t = 0, n = e.length, r = ""; t < n; t++) r +=
  942.                 e[t].value;
  943.             return r
  944.         }
  945.  
  946.         function d(e, t, n) {
  947.             var r = t.dir,
  948.                 i = t.next,
  949.                 o = i || r,
  950.                 a = n && "parentNode" === o,
  951.                 s = z++;
  952.             return t.first ? function(t, n, i) {
  953.                 for (; t = t[r];)
  954.                     if (1 === t.nodeType || a) return e(t, n, i);
  955.                 return !1
  956.             } : function(t, n, u) {
  957.                 var c, l, f, p = [W, s];
  958.                 if (u) {
  959.                     for (; t = t[r];)
  960.                         if ((1 === t.nodeType || a) && e(t, n,
  961.                             u)) return !0
  962.                 } else
  963.                     for (; t = t[r];)
  964.                         if (1 === t.nodeType || a)
  965.                             if (f = t[$] || (t[$] = {}), l = f[
  966.                                     t.uniqueID] || (f[t.uniqueID] = {}),
  967.                                 i && i === t.nodeName.toLowerCase()
  968.                             ) t = t[r] || t;
  969.                             else {
  970.                                 if ((c = l[o]) && c[0] === W &&
  971.                                     c[1] === s) return p[2] = c[
  972.                                     2];
  973.                                 if (l[o] = p, p[2] = e(t, n, u))
  974.                                     return !0
  975.                             } return !1
  976.             }
  977.         }
  978.  
  979.         function g(e) {
  980.             return e.length > 1 ? function(t, n, r) {
  981.                 for (var i = e.length; i--;)
  982.                     if (!e[i](t, n, r)) return !1;
  983.                 return !0
  984.             } : e[0]
  985.         }
  986.  
  987.         function m(e, n, r) {
  988.             for (var i = 0, o = n.length; i < o; i++) t(e, n[i], r);
  989.             return r
  990.         }
  991.  
  992.         function v(e, t, n, r, i) {
  993.             for (var o, a = [], s = 0, u = e.length, c = null != t; s <
  994.                 u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o),
  995.                 c && t.push(s)));
  996.             return a
  997.         }
  998.  
  999.         function y(e, t, n, i, o, a) {
  1000.             return i && !i[$] && (i = y(i)), o && !o[$] && (o = y(o,
  1001.                 a)), r(function(r, a, s, u) {
  1002.                 var c, l, f, p = [],
  1003.                     h = [],
  1004.                     d = a.length,
  1005.                     g = r || m(t || "*", s.nodeType ? [s] :
  1006.                         s, []),
  1007.                     y = !e || !r && t ? g : v(g, p, e, s, u),
  1008.                     b = n ? o || (r ? e : d || i) ? [] : a :
  1009.                     y;
  1010.                 if (n && n(y, b, s, u), i)
  1011.                     for (c = v(b, h), i(c, [], s, u), l = c
  1012.                         .length; l--;)(f = c[l]) && (b[h[l]] = !
  1013.                         (y[h[l]] = f));
  1014.                 if (r) {
  1015.                     if (o || e) {
  1016.                         if (o) {
  1017.                             for (c = [], l = b.length; l--;)
  1018.                                 (f = b[l]) && c.push(y[l] =
  1019.                                     f);
  1020.                             o(null, b = [], c, u)
  1021.                         }
  1022.                         for (l = b.length; l--;)(f = b[l]) &&
  1023.                             (c = o ? ee(r, f) : p[l]) > -1 &&
  1024.                             (r[c] = !(a[c] = f))
  1025.                     }
  1026.                 } else b = v(b === a ? b.splice(d, b.length) :
  1027.                     b), o ? o(null, a, b, u) : Q.apply(
  1028.                     a, b)
  1029.             })
  1030.         }
  1031.  
  1032.         function b(e) {
  1033.             for (var t, n, r, i = e.length, o = k.relative[e[0].type],
  1034.                 a = o || k.relative[" "], s = o ? 1 : 0, u = d(
  1035.                     function(e) {
  1036.                         return e === t
  1037.                     }, a, !0), c = d(function(e) {
  1038.                     return ee(t, e) > -1
  1039.                 }, a, !0), l = [
  1040.  
  1041.                     function(e, n, r) {
  1042.                         var i = !o && (r || n !== A) || ((t = n)
  1043.                             .nodeType ? u(e, n, r) : c(e, n,
  1044.                                 r));
  1045.                         return t = null, i
  1046.                     }
  1047.                 ]; s < i; s++)
  1048.                 if (n = k.relative[e[s].type]) l = [d(g(l), n)];
  1049.                 else {
  1050.                     if (n = k.filter[e[s].type].apply(null, e[s].matches),
  1051.                         n[$]) {
  1052.                         for (r = ++s; r < i && !k.relative[e[r].type]; r++)
  1053.                         ;
  1054.                         return y(s > 1 && g(l), s > 1 && h(e.slice(
  1055.                                 0, s - 1).concat({
  1056.                                 value: " " === e[s - 2]
  1057.                                     .type ? "*" : ""
  1058.                             })).replace(se, "$1"), n, s < r &&
  1059.                             b(e.slice(s, r)), r < i && b(e = e.slice(
  1060.                                 r)), r < i && h(e))
  1061.                     }
  1062.                     l.push(n)
  1063.                 }
  1064.             return g(l)
  1065.         }
  1066.  
  1067.         function w(e, n) {
  1068.             var i = n.length > 0,
  1069.                 o = e.length > 0,
  1070.                 a = function(r, a, s, u, c) {
  1071.                     var l, f, p, h = 0,
  1072.                         d = "0",
  1073.                         g = r && [],
  1074.                         m = [],
  1075.                         y = A,
  1076.                         b = r || o && k.find.TAG("*", c),
  1077.                         w = W += null == y ? 1 : Math.random() || .1,
  1078.                         x = b.length;
  1079.                     for (c && (A = a === L || a || c); d !== x &&
  1080.                         null != (l = b[d]); d++) {
  1081.                         if (o && l) {
  1082.                             for (f = 0, a || l.ownerDocument === L ||
  1083.                                 (F(l), s = !O); p = e[f++];)
  1084.                                 if (p(l, a || L, s)) {
  1085.                                     u.push(l);
  1086.                                     break
  1087.                                 }
  1088.                             c && (W = w)
  1089.                         }
  1090.                         i && ((l = !p && l) && h--, r && g.push(l))
  1091.                     }
  1092.                     if (h += d, i && d !== h) {
  1093.                         for (f = 0; p = n[f++];) p(g, m, a, s);
  1094.                         if (r) {
  1095.                             if (h > 0)
  1096.                                 for (; d--;) g[d] || m[d] || (m[d] =
  1097.                                     V.call(u));
  1098.                             m = v(m)
  1099.                         }
  1100.                         Q.apply(u, m), c && !r && m.length > 0 && h +
  1101.                             n.length > 1 && t.uniqueSort(u)
  1102.                     }
  1103.                     return c && (W = w, A = y), g
  1104.                 };
  1105.             return i ? r(a) : a
  1106.         }
  1107.         var x, _, k, T, C, S, E, j, A, N, D, F, L, R, O, q, H, I, P, $ =
  1108.             "sizzle" + 1 * new Date,
  1109.             M = e.document,
  1110.             W = 0,
  1111.             z = 0,
  1112.             B = n(),
  1113.             K = n(),
  1114.             U = n(),
  1115.             X = function(e, t) {
  1116.                 return e === t && (D = !0), 0
  1117.             },
  1118.             Y = {}.hasOwnProperty,
  1119.             J = [],
  1120.             V = J.pop,
  1121.             G = J.push,
  1122.             Q = J.push,
  1123.             Z = J.slice,
  1124.             ee = function(e, t) {
  1125.                 for (var n = 0, r = e.length; n < r; n++)
  1126.                     if (e[n] === t) return n;
  1127.                 return -1
  1128.             },
  1129.             te =
  1130.             "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
  1131.             ne = "[\\x20\\t\\r\\n\\f]",
  1132.             re = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
  1133.             ie = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" +
  1134.             ne +
  1135.             "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" +
  1136.             re + "))|)" + ne + "*\\]",
  1137.             oe = ":(" + re +
  1138.             ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" +
  1139.             ie + ")*)|.*)\\)|)",
  1140.             ae = new RegExp(ne + "+", "g"),
  1141.             se = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
  1142.                 ne + "+$", "g"),
  1143.             ue = new RegExp("^" + ne + "*," + ne + "*"),
  1144.             ce = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
  1145.             le = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]",
  1146.                 "g"),
  1147.             fe = new RegExp(oe),
  1148.             pe = new RegExp("^" + re + "$"),
  1149.             he = {
  1150.                 ID: new RegExp("^#(" + re + ")"),
  1151.                 CLASS: new RegExp("^\\.(" + re + ")"),
  1152.                 TAG: new RegExp("^(" + re + "|[*])"),
  1153.                 ATTR: new RegExp("^" + ie),
  1154.                 PSEUDO: new RegExp("^" + oe),
  1155.                 CHILD: new RegExp(
  1156.                     "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
  1157.                     ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne +
  1158.                     "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne +
  1159.                     "*\\)|)", "i"),
  1160.                 bool: new RegExp("^(?:" + te + ")$", "i"),
  1161.                 needsContext: new RegExp("^" + ne +
  1162.                     "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
  1163.                     ne + "*((?:-\\d)?\\d*)" + ne +
  1164.                     "*\\)|)(?=[^-]|$)", "i")
  1165.             },
  1166.             de = /^(?:input|select|textarea|button)$/i,
  1167.             ge = /^h\d$/i,
  1168.             me = /^[^{]+\{\s*\[native \w/,
  1169.             ve = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  1170.             ye = /[+~]/,
  1171.             be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne +
  1172.                 ")|.)", "ig"),
  1173.             we = function(e, t, n) {
  1174.                 var r = "0x" + t - 65536;
  1175.                 return r !== r || n ? t : r < 0 ? String.fromCharCode(r +
  1176.                     65536) : String.fromCharCode(r >> 10 | 55296,
  1177.                     1023 & r | 56320)
  1178.             },
  1179.             xe = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
  1180.             _e = function(e, t) {
  1181.                 return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e
  1182.                     .charCodeAt(e.length - 1).toString(16) + " " : "\\" +
  1183.                     e
  1184.             },
  1185.             ke = function() {
  1186.                 F()
  1187.             },
  1188.             Te = d(function(e) {
  1189.                 return e.disabled === !0 && ("form" in e || "label" in
  1190.                     e)
  1191.             }, {
  1192.                 dir: "parentNode",
  1193.                 next: "legend"
  1194.             });
  1195.         try {
  1196.             Q.apply(J = Z.call(M.childNodes), M.childNodes), J[M.childNodes
  1197.                 .length].nodeType
  1198.         } catch (Ce) {
  1199.             Q = {
  1200.                 apply: J.length ? function(e, t) {
  1201.                     G.apply(e, Z.call(t))
  1202.                 } : function(e, t) {
  1203.                     for (var n = e.length, r = 0; e[n++] = t[r++];)
  1204.                     ;
  1205.                     e.length = n - 1
  1206.                 }
  1207.             }
  1208.         }
  1209.         _ = t.support = {}, C = t.isXML = function(e) {
  1210.             var t = e && (e.ownerDocument || e).documentElement;
  1211.             return !!t && "HTML" !== t.nodeName
  1212.         }, F = t.setDocument = function(e) {
  1213.             var t, n, r = e ? e.ownerDocument || e : M;
  1214.             return r !== L && 9 === r.nodeType && r.documentElement ?
  1215.                 (L = r, R = L.documentElement, O = !C(L), M !== L &&
  1216.                     (n = L.defaultView) && n.top !== n && (n.addEventListener ?
  1217.                         n.addEventListener("unload", ke, !1) : n.attachEvent &&
  1218.                         n.attachEvent("onunload", ke)), _.attributes =
  1219.                     i(function(e) {
  1220.                         return e.className = "i", !e.getAttribute(
  1221.                             "className")
  1222.                     }), _.getElementsByTagName = i(function(e) {
  1223.                         return e.appendChild(L.createComment("")), !
  1224.                             e.getElementsByTagName("*").length
  1225.                     }), _.getElementsByClassName = me.test(L.getElementsByClassName),
  1226.                     _.getById = i(function(e) {
  1227.                         return R.appendChild(e).id = $, !L.getElementsByName ||
  1228.                             !L.getElementsByName($).length
  1229.                     }), _.getById ? (k.filter.ID = function(e) {
  1230.                         var t = e.replace(be, we);
  1231.                         return function(e) {
  1232.                             return e.getAttribute("id") ===
  1233.                                 t
  1234.                         }
  1235.                     }, k.find.ID = function(e, t) {
  1236.                         if ("undefined" != typeof t.getElementById &&
  1237.                             O) {
  1238.                             var n = t.getElementById(e);
  1239.                             return n ? [n] : []
  1240.                         }
  1241.                     }) : (k.filter.ID = function(e) {
  1242.                         var t = e.replace(be, we);
  1243.                         return function(e) {
  1244.                             var n = "undefined" != typeof e
  1245.                                 .getAttributeNode && e.getAttributeNode(
  1246.                                     "id");
  1247.                             return n && n.value === t
  1248.                         }
  1249.                     }, k.find.ID = function(e, t) {
  1250.                         if ("undefined" != typeof t.getElementById &&
  1251.                             O) {
  1252.                             var n, r, i, o = t.getElementById(e);
  1253.                             if (o) {
  1254.                                 if (n = o.getAttributeNode("id"),
  1255.                                     n && n.value === e) return [
  1256.                                     o
  1257.                                 ];
  1258.                                 for (i = t.getElementsByName(e),
  1259.                                     r = 0; o = i[r++];)
  1260.                                     if (n = o.getAttributeNode(
  1261.                                             "id"), n && n.value ===
  1262.                                         e) return [o]
  1263.                             }
  1264.                             return []
  1265.                         }
  1266.                     }), k.find.TAG = _.getElementsByTagName ?
  1267.                     function(e, t) {
  1268.                         return "undefined" != typeof t.getElementsByTagName ?
  1269.                             t.getElementsByTagName(e) : _.qsa ? t.querySelectorAll(
  1270.                                 e) : void 0
  1271.                     } : function(e, t) {
  1272.                         var n, r = [],
  1273.                             i = 0,
  1274.                             o = t.getElementsByTagName(e);
  1275.                         if ("*" === e) {
  1276.                             for (; n = o[i++];) 1 === n.nodeType &&
  1277.                                 r.push(n);
  1278.                             return r
  1279.                         }
  1280.                         return o
  1281.                     }, k.find.CLASS = _.getElementsByClassName &&
  1282.                     function(e, t) {
  1283.                         if ("undefined" != typeof t.getElementsByClassName &&
  1284.                             O) return t.getElementsByClassName(e)
  1285.                     }, H = [], q = [], (_.qsa = me.test(L.querySelectorAll)) &&
  1286.                     (i(function(e) {
  1287.                         R.appendChild(e).innerHTML =
  1288.                             "<a id='" + $ +
  1289.                             "'></a><select id='" + $ +
  1290.                             "-\r\\' msallowcapture=''><option selected=''></option></select>",
  1291.                             e.querySelectorAll(
  1292.                                 "[msallowcapture^='']").length &&
  1293.                             q.push("[*^$]=" + ne +
  1294.                                 "*(?:''|\"\")"), e.querySelectorAll(
  1295.                                 "[selected]").length || q.push(
  1296.                                 "\\[" + ne + "*(?:value|" +
  1297.                                 te + ")"), e.querySelectorAll(
  1298.                                 "[id~=" + $ + "-]").length ||
  1299.                             q.push("~="), e.querySelectorAll(
  1300.                                 ":checked").length || q.push(
  1301.                                 ":checked"), e.querySelectorAll(
  1302.                                 "a#" + $ + "+*").length ||
  1303.                             q.push(".#.+[+~]")
  1304.                     }), i(function(e) {
  1305.                         e.innerHTML =
  1306.                             "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
  1307.                         var t = L.createElement("input");
  1308.                         t.setAttribute("type", "hidden"), e
  1309.                             .appendChild(t).setAttribute(
  1310.                                 "name", "D"), e.querySelectorAll(
  1311.                                 "[name=d]").length && q.push(
  1312.                                 "name" + ne + "*[*^$|!~]?="
  1313.                             ), 2 !== e.querySelectorAll(
  1314.                                 ":enabled").length && q.push(
  1315.                                 ":enabled", ":disabled"), R
  1316.                             .appendChild(e).disabled = !0,
  1317.                             2 !== e.querySelectorAll(
  1318.                                 ":disabled").length && q.push(
  1319.                                 ":enabled", ":disabled"), e
  1320.                             .querySelectorAll("*,:x"), q.push(
  1321.                                 ",.*:")
  1322.                     })), (_.matchesSelector = me.test(I = R.matches ||
  1323.                         R.webkitMatchesSelector || R.mozMatchesSelector ||
  1324.                         R.oMatchesSelector || R.msMatchesSelector
  1325.                     )) && i(function(e) {
  1326.                         _.disconnectedMatch = I.call(e, "*"), I
  1327.                             .call(e, "[s!='']:x"), H.push("!=",
  1328.                                 oe)
  1329.                     }), q = q.length && new RegExp(q.join("|")), H =
  1330.                     H.length && new RegExp(H.join("|")), t = me.test(
  1331.                         R.compareDocumentPosition), P = t || me.test(
  1332.                         R.contains) ? function(e, t) {
  1333.                         var n = 9 === e.nodeType ? e.documentElement :
  1334.                             e,
  1335.                             r = t && t.parentNode;
  1336.                         return e === r || !(!r || 1 !== r.nodeType ||
  1337.                             !(n.contains ? n.contains(r) : e.compareDocumentPosition &&
  1338.                                 16 & e.compareDocumentPosition(
  1339.                                     r)))
  1340.                     } : function(e, t) {
  1341.                         if (t)
  1342.                             for (; t = t.parentNode;)
  1343.                                 if (t === e) return !0;
  1344.                         return !1
  1345.                     }, X = t ? function(e, t) {
  1346.                         if (e === t) return D = !0, 0;
  1347.                         var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
  1348.                         return n ? n : (n = (e.ownerDocument || e) ===
  1349.                             (t.ownerDocument || t) ? e.compareDocumentPosition(
  1350.                                 t) : 1, 1 & n || !_.sortDetached &&
  1351.                             t.compareDocumentPosition(e) === n ?
  1352.                             e === L || e.ownerDocument === M &&
  1353.                             P(M, e) ? -1 : t === L || t.ownerDocument ===
  1354.                             M && P(M, t) ? 1 : N ? ee(N, e) -
  1355.                             ee(N, t) : 0 : 4 & n ? -1 : 1)
  1356.                     } : function(e, t) {
  1357.                         if (e === t) return D = !0, 0;
  1358.                         var n, r = 0,
  1359.                             i = e.parentNode,
  1360.                             o = t.parentNode,
  1361.                             s = [e],
  1362.                             u = [t];
  1363.                         if (!i || !o) return e === L ? -1 : t === L ?
  1364.                             1 : i ? -1 : o ? 1 : N ? ee(N, e) -
  1365.                             ee(N, t) : 0;
  1366.                         if (i === o) return a(e, t);
  1367.                         for (n = e; n = n.parentNode;) s.unshift(n);
  1368.                         for (n = t; n = n.parentNode;) u.unshift(n);
  1369.                         for (; s[r] === u[r];) r++;
  1370.                         return r ? a(s[r], u[r]) : s[r] === M ? -1 :
  1371.                             u[r] === M ? 1 : 0
  1372.                     }, L) : L
  1373.         }, t.matches = function(e, n) {
  1374.             return t(e, null, null, n)
  1375.         }, t.matchesSelector = function(e, n) {
  1376.             if ((e.ownerDocument || e) !== L && F(e), n = n.replace(
  1377.                 le, "='$1']"), _.matchesSelector && O && !U[n +
  1378.                 " "] && (!H || !H.test(n)) && (!q || !q.test(n)))
  1379.                 try {
  1380.                     var r = I.call(e, n);
  1381.                     if (r || _.disconnectedMatch || e.document &&
  1382.                         11 !== e.document.nodeType) return r
  1383.                 } catch (i) {}
  1384.             return t(n, L, null, [e]).length > 0
  1385.         }, t.contains = function(e, t) {
  1386.             return (e.ownerDocument || e) !== L && F(e), P(e, t)
  1387.         }, t.attr = function(e, t) {
  1388.             (e.ownerDocument || e) !== L && F(e);
  1389.             var n = k.attrHandle[t.toLowerCase()],
  1390.                 r = n && Y.call(k.attrHandle, t.toLowerCase()) ? n(
  1391.                     e, t, !O) : void 0;
  1392.             return void 0 !== r ? r : _.attributes || !O ? e.getAttribute(
  1393.                     t) : (r = e.getAttributeNode(t)) && r.specified ?
  1394.                 r.value : null
  1395.         }, t.escape = function(e) {
  1396.             return (e + "").replace(xe, _e)
  1397.         }, t.error = function(e) {
  1398.             throw new Error(
  1399.                 "Syntax error, unrecognized expression: " + e)
  1400.         }, t.uniqueSort = function(e) {
  1401.             var t, n = [],
  1402.                 r = 0,
  1403.                 i = 0;
  1404.             if (D = !_.detectDuplicates, N = !_.sortStable && e.slice(
  1405.                 0), e.sort(X), D) {
  1406.                 for (; t = e[i++];) t === e[i] && (r = n.push(i));
  1407.                 for (; r--;) e.splice(n[r], 1)
  1408.             }
  1409.             return N = null, e
  1410.         }, T = t.getText = function(e) {
  1411.             var t, n = "",
  1412.                 r = 0,
  1413.                 i = e.nodeType;
  1414.             if (i) {
  1415.                 if (1 === i || 9 === i || 11 === i) {
  1416.                     if ("string" == typeof e.textContent) return e.textContent;
  1417.                     for (e = e.firstChild; e; e = e.nextSibling) n +=
  1418.                         T(e)
  1419.                 } else if (3 === i || 4 === i) return e.nodeValue
  1420.             } else
  1421.                 for (; t = e[r++];) n += T(t);
  1422.             return n
  1423.         }, k = t.selectors = {
  1424.             cacheLength: 50,
  1425.             createPseudo: r,
  1426.             match: he,
  1427.             attrHandle: {},
  1428.             find: {},
  1429.             relative: {
  1430.                 ">": {
  1431.                     dir: "parentNode",
  1432.                     first: !0
  1433.                 },
  1434.                 " ": {
  1435.                     dir: "parentNode"
  1436.                 },
  1437.                 "+": {
  1438.                     dir: "previousSibling",
  1439.                     first: !0
  1440.                 },
  1441.                 "~": {
  1442.                     dir: "previousSibling"
  1443.                 }
  1444.             },
  1445.             preFilter: {
  1446.                 ATTR: function(e) {
  1447.                     return e[1] = e[1].replace(be, we), e[3] =
  1448.                         (e[3] || e[4] || e[5] || "").replace(be,
  1449.                             we), "~=" === e[2] && (e[3] = " " +
  1450.                             e[3] + " "), e.slice(0, 4)
  1451.                 },
  1452.                 CHILD: function(e) {
  1453.                     return e[1] = e[1].toLowerCase(), "nth" ===
  1454.                         e[1].slice(0, 3) ? (e[3] || t.error(e[0]),
  1455.                             e[4] = +(e[4] ? e[5] + (e[6] || 1) :
  1456.                                 2 * ("even" === e[3] || "odd" ===
  1457.                                     e[3])), e[5] = +(e[7] + e[8] ||
  1458.                                 "odd" === e[3])) : e[3] && t.error(
  1459.                             e[0]), e
  1460.                 },
  1461.                 PSEUDO: function(e) {
  1462.                     var t, n = !e[6] && e[2];
  1463.                     return he.CHILD.test(e[0]) ? null : (e[3] ?
  1464.                         e[2] = e[4] || e[5] || "" : n && fe
  1465.                         .test(n) && (t = S(n, !0)) && (t =
  1466.                             n.indexOf(")", n.length - t) -
  1467.                             n.length) && (e[0] = e[0].slice(
  1468.                             0, t), e[2] = n.slice(0, t)), e
  1469.                         .slice(0, 3))
  1470.                 }
  1471.             },
  1472.             filter: {
  1473.                 TAG: function(e) {
  1474.                     var t = e.replace(be, we).toLowerCase();
  1475.                     return "*" === e ? function() {
  1476.                         return !0
  1477.                     } : function(e) {
  1478.                         return e.nodeName && e.nodeName.toLowerCase() ===
  1479.                             t
  1480.                     }
  1481.                 },
  1482.                 CLASS: function(e) {
  1483.                     var t = B[e + " "];
  1484.                     return t || (t = new RegExp("(^|" + ne +
  1485.                         ")" + e + "(" + ne + "|$)")) && B(e,
  1486.                         function(e) {
  1487.                             return t.test("string" ==
  1488.                                 typeof e.className && e
  1489.                                 .className ||
  1490.                                 "undefined" != typeof e
  1491.                                 .getAttribute && e.getAttribute(
  1492.                                     "class") || "")
  1493.                         })
  1494.                 },
  1495.                 ATTR: function(e, n, r) {
  1496.                     return function(i) {
  1497.                         var o = t.attr(i, e);
  1498.                         return null == o ? "!=" === n : !n ||
  1499.                             (o += "", "=" === n ? o === r :
  1500.                                 "!=" === n ? o !== r : "^=" ===
  1501.                                 n ? r && 0 === o.indexOf(r) :
  1502.                                 "*=" === n ? r && o.indexOf(
  1503.                                     r) > -1 : "$=" === n ?
  1504.                                 r && o.slice(-r.length) ===
  1505.                                 r : "~=" === n ? (" " + o.replace(
  1506.                                     ae, " ") + " ").indexOf(
  1507.                                     r) > -1 : "|=" === n &&
  1508.                                 (o === r || o.slice(0, r.length +
  1509.                                     1) === r + "-"))
  1510.                     }
  1511.                 },
  1512.                 CHILD: function(e, t, n, r, i) {
  1513.                     var o = "nth" !== e.slice(0, 3),
  1514.                         a = "last" !== e.slice(-4),
  1515.                         s = "of-type" === t;
  1516.                     return 1 === r && 0 === i ? function(e) {
  1517.                         return !!e.parentNode
  1518.                     } : function(t, n, u) {
  1519.                         var c, l, f, p, h, d, g = o !== a ?
  1520.                             "nextSibling" :
  1521.                             "previousSibling",
  1522.                             m = t.parentNode,
  1523.                             v = s && t.nodeName.toLowerCase(),
  1524.                             y = !u && !s,
  1525.                             b = !1;
  1526.                         if (m) {
  1527.                             if (o) {
  1528.                                 for (; g;) {
  1529.                                     for (p = t; p = p[g];)
  1530.                                         if (s ? p.nodeName.toLowerCase() ===
  1531.                                             v : 1 === p.nodeType
  1532.                                         ) return !1;
  1533.                                     d = g = "only" === e &&
  1534.                                         !d && "nextSibling"
  1535.                                 }
  1536.                                 return !0
  1537.                             }
  1538.                             if (d = [a ? m.firstChild : m.lastChild],
  1539.                                 a && y) {
  1540.                                 for (p = m, f = p[$] || (p[
  1541.                                         $] = {}), l = f[p.uniqueID] ||
  1542.                                     (f[p.uniqueID] = {}), c =
  1543.                                     l[e] || [], h = c[0] ===
  1544.                                     W && c[1], b = h && c[2],
  1545.                                     p = h && m.childNodes[h]; p = ++
  1546.                                     h && p && p[g] || (b =
  1547.                                         h = 0) || d.pop();)
  1548.                                     if (1 === p.nodeType &&
  1549.                                         ++b && p === t) {
  1550.                                         l[e] = [W, h, b];
  1551.                                         break
  1552.                                     }
  1553.                             } else if (y && (p = t, f = p[$] ||
  1554.                                     (p[$] = {}), l = f[p.uniqueID] ||
  1555.                                     (f[p.uniqueID] = {}), c =
  1556.                                     l[e] || [], h = c[0] ===
  1557.                                     W && c[1], b = h), b ===
  1558.                                 !1)
  1559.                                 for (;
  1560.                                     (p = ++h && p && p[g] ||
  1561.                                         (b = h = 0) || d.pop()
  1562.                                     ) && ((s ? p.nodeName.toLowerCase() !==
  1563.                                         v : 1 !== p.nodeType
  1564.                                     ) || !++b || (y &&
  1565.                                         (f = p[$] || (p[
  1566.                                                 $] = {}),
  1567.                                             l = f[p.uniqueID] ||
  1568.                                             (f[p.uniqueID] = {}),
  1569.                                             l[e] = [W,
  1570.                                                 b
  1571.                                             ]), p !== t
  1572.                                     )););
  1573.                             return b -= i, b === r || b % r ===
  1574.                                 0 && b / r >= 0
  1575.                         }
  1576.                     }
  1577.                 },
  1578.                 PSEUDO: function(e, n) {
  1579.                     var i, o = k.pseudos[e] || k.setFilters[e.toLowerCase()] ||
  1580.                         t.error("unsupported pseudo: " + e);
  1581.                     return o[$] ? o(n) : o.length > 1 ? (i = [e,
  1582.                             e, "", n
  1583.                         ], k.setFilters.hasOwnProperty(e.toLowerCase()) ?
  1584.                         r(function(e, t) {
  1585.                             for (var r, i = o(e, n), a =
  1586.                                 i.length; a--;) r = ee(
  1587.                                 e, i[a]), e[r] = !(
  1588.                                 t[r] = i[a])
  1589.                         }) : function(e) {
  1590.                             return o(e, 0, i)
  1591.                         }) : o
  1592.                 }
  1593.             },
  1594.             pseudos: {
  1595.                 not: r(function(e) {
  1596.                     var t = [],
  1597.                         n = [],
  1598.                         i = E(e.replace(se, "$1"));
  1599.                     return i[$] ? r(function(e, t, n, r) {
  1600.                         for (var o, a = i(e, null,
  1601.                             r, []), s = e.length; s--;)
  1602.                             (o = a[s]) && (e[s] = !
  1603.                                 (t[s] = o))
  1604.                     }) : function(e, r, o) {
  1605.                         return t[0] = e, i(t, null, o,
  1606.                             n), t[0] = null, !n.pop()
  1607.                     }
  1608.                 }),
  1609.                 has: r(function(e) {
  1610.                     return function(n) {
  1611.                         return t(e, n).length > 0
  1612.                     }
  1613.                 }),
  1614.                 contains: r(function(e) {
  1615.                     return e = e.replace(be, we),
  1616.                         function(t) {
  1617.                             return (t.textContent || t.innerText ||
  1618.                                 T(t)).indexOf(e) > -1
  1619.                         }
  1620.                 }),
  1621.                 lang: r(function(e) {
  1622.                     return pe.test(e || "") || t.error(
  1623.                             "unsupported lang: " + e), e =
  1624.                         e.replace(be, we).toLowerCase(),
  1625.                         function(t) {
  1626.                             var n;
  1627.                             do
  1628.                                 if (n = O ? t.lang : t.getAttribute(
  1629.                                     "xml:lang") || t.getAttribute(
  1630.                                     "lang")) return n = n.toLowerCase(),
  1631.                                     n === e || 0 === n.indexOf(
  1632.                                         e + "-");
  1633.                             while ((t = t.parentNode) && 1 ===
  1634.                                 t.nodeType);
  1635.                             return !1;
  1636.                         }
  1637.                 }),
  1638.                 target: function(t) {
  1639.                     var n = e.location && e.location.hash;
  1640.                     return n && n.slice(1) === t.id
  1641.                 },
  1642.                 root: function(e) {
  1643.                     return e === R
  1644.                 },
  1645.                 focus: function(e) {
  1646.                     return e === L.activeElement && (!L.hasFocus ||
  1647.                         L.hasFocus()) && !!(e.type || e.href ||
  1648.                         ~e.tabIndex)
  1649.                 },
  1650.                 enabled: c(!1),
  1651.                 disabled: c(!0),
  1652.                 checked: function(e) {
  1653.                     var t = e.nodeName.toLowerCase();
  1654.                     return "input" === t && !!e.checked ||
  1655.                         "option" === t && !!e.selected
  1656.                 },
  1657.                 selected: function(e) {
  1658.                     return e.parentNode && e.parentNode.selectedIndex,
  1659.                         e.selected === !0
  1660.                 },
  1661.                 empty: function(e) {
  1662.                     for (e = e.firstChild; e; e = e.nextSibling)
  1663.                         if (e.nodeType < 6) return !1;
  1664.                     return !0
  1665.                 },
  1666.                 parent: function(e) {
  1667.                     return !k.pseudos.empty(e)
  1668.                 },
  1669.                 header: function(e) {
  1670.                     return ge.test(e.nodeName)
  1671.                 },
  1672.                 input: function(e) {
  1673.                     return de.test(e.nodeName)
  1674.                 },
  1675.                 button: function(e) {
  1676.                     var t = e.nodeName.toLowerCase();
  1677.                     return "input" === t && "button" === e.type ||
  1678.                         "button" === t
  1679.                 },
  1680.                 text: function(e) {
  1681.                     var t;
  1682.                     return "input" === e.nodeName.toLowerCase() &&
  1683.                         "text" === e.type && (null == (t = e.getAttribute(
  1684.                             "type")) || "text" === t.toLowerCase())
  1685.                 },
  1686.                 first: l(function() {
  1687.                     return [0]
  1688.                 }),
  1689.                 last: l(function(e, t) {
  1690.                     return [t - 1]
  1691.                 }),
  1692.                 eq: l(function(e, t, n) {
  1693.                     return [n < 0 ? n + t : n]
  1694.                 }),
  1695.                 even: l(function(e, t) {
  1696.                     for (var n = 0; n < t; n += 2) e.push(n);
  1697.                     return e
  1698.                 }),
  1699.                 odd: l(function(e, t) {
  1700.                     for (var n = 1; n < t; n += 2) e.push(n);
  1701.                     return e
  1702.                 }),
  1703.                 lt: l(function(e, t, n) {
  1704.                     for (var r = n < 0 ? n + t : n; --r >=
  1705.                         0;) e.push(r);
  1706.                     return e
  1707.                 }),
  1708.                 gt: l(function(e, t, n) {
  1709.                     for (var r = n < 0 ? n + t : n; ++r < t;)
  1710.                         e.push(r);
  1711.                     return e
  1712.                 })
  1713.             }
  1714.         }, k.pseudos.nth = k.pseudos.eq;
  1715.         for (x in {
  1716.             radio: !0,
  1717.             checkbox: !0,
  1718.             file: !0,
  1719.             password: !0,
  1720.             image: !0
  1721.         }) k.pseudos[x] = s(x);
  1722.         for (x in {
  1723.             submit: !0,
  1724.             reset: !0
  1725.         }) k.pseudos[x] = u(x);
  1726.         return p.prototype = k.filters = k.pseudos, k.setFilters = new p,
  1727.             S = t.tokenize = function(e, n) {
  1728.                 var r, i, o, a, s, u, c, l = K[e + " "];
  1729.                 if (l) return n ? 0 : l.slice(0);
  1730.                 for (s = e, u = [], c = k.preFilter; s;) {
  1731.                     r && !(i = ue.exec(s)) || (i && (s = s.slice(i[0].length) ||
  1732.                             s), u.push(o = [])), r = !1, (i = ce.exec(s)) &&
  1733.                         (r = i.shift(), o.push({
  1734.                             value: r,
  1735.                             type: i[0].replace(se, " ")
  1736.                         }), s = s.slice(r.length));
  1737.                     for (a in k.filter)!(i = he[a].exec(s)) || c[a] &&
  1738.                         !(i = c[a](i)) || (r = i.shift(), o.push({
  1739.                             value: r,
  1740.                             type: a,
  1741.                             matches: i
  1742.                         }), s = s.slice(r.length));
  1743.                     if (!r) break
  1744.                 }
  1745.                 return n ? s.length : s ? t.error(e) : K(e, u).slice(0)
  1746.             }, E = t.compile = function(e, t) {
  1747.                 var n, r = [],
  1748.                     i = [],
  1749.                     o = U[e + " "];
  1750.                 if (!o) {
  1751.                     for (t || (t = S(e)), n = t.length; n--;) o = b(t[n]),
  1752.                         o[$] ? r.push(o) : i.push(o);
  1753.                     o = U(e, w(i, r)), o.selector = e
  1754.                 }
  1755.                 return o
  1756.             }, j = t.select = function(e, t, n, r) {
  1757.                 var i, o, a, s, u, c = "function" == typeof e && e,
  1758.                     l = !r && S(e = c.selector || e);
  1759.                 if (n = n || [], 1 === l.length) {
  1760.                     if (o = l[0] = l[0].slice(0), o.length > 2 && "ID" ===
  1761.                         (a = o[0]).type && 9 === t.nodeType && O && k.relative[
  1762.                             o[1].type]) {
  1763.                         if (t = (k.find.ID(a.matches[0].replace(be, we),
  1764.                             t) || [])[0], !t) return n;
  1765.                         c && (t = t.parentNode), e = e.slice(o.shift().value
  1766.                             .length)
  1767.                     }
  1768.                     for (i = he.needsContext.test(e) ? 0 : o.length; i--
  1769.                         && (a = o[i], !k.relative[s = a.type]);)
  1770.                         if ((u = k.find[s]) && (r = u(a.matches[0].replace(
  1771.                                 be, we), ye.test(o[0].type) &&
  1772.                             f(t.parentNode) || t))) {
  1773.                             if (o.splice(i, 1), e = r.length && h(o), !
  1774.                                 e) return Q.apply(n, r), n;
  1775.                             break
  1776.                         }
  1777.                 }
  1778.                 return (c || E(e, l))(r, t, !O, n, !t || ye.test(e) &&
  1779.                     f(t.parentNode) || t), n
  1780.             }, _.sortStable = $.split("").sort(X).join("") === $, _.detectDuplicates = !
  1781.             !D, F(), _.sortDetached = i(function(e) {
  1782.                 return 1 & e.compareDocumentPosition(L.createElement(
  1783.                     "fieldset"))
  1784.             }), i(function(e) {
  1785.                 return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild
  1786.                     .getAttribute("href")
  1787.             }) || o("type|href|height|width", function(e, t, n) {
  1788.                 if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ?
  1789.                     1 : 2)
  1790.             }), _.attributes && i(function(e) {
  1791.                 return e.innerHTML = "<input/>", e.firstChild.setAttribute(
  1792.                     "value", ""), "" === e.firstChild.getAttribute(
  1793.                     "value")
  1794.             }) || o("value", function(e, t, n) {
  1795.                 if (!n && "input" === e.nodeName.toLowerCase())
  1796.                     return e.defaultValue
  1797.             }), i(function(e) {
  1798.                 return null == e.getAttribute("disabled")
  1799.             }) || o(te, function(e, t, n) {
  1800.                 var r;
  1801.                 if (!n) return e[t] === !0 ? t.toLowerCase() : (r =
  1802.                         e.getAttributeNode(t)) && r.specified ?
  1803.                     r.value : null
  1804.             }), t
  1805.     }(e);
  1806.     de.find = be, de.expr = be.selectors, de.expr[":"] = de.expr.pseudos,
  1807.         de.uniqueSort = de.unique = be.uniqueSort, de.text = be.getText, de
  1808.         .isXMLDoc = be.isXML, de.contains = be.contains, de.escapeSelector =
  1809.         be.escape;
  1810.     var we = function(e, t, n) {
  1811.             for (var r = [], i = void 0 !== n;
  1812.                 (e = e[t]) && 9 !== e.nodeType;)
  1813.                 if (1 === e.nodeType) {
  1814.                     if (i && de(e).is(n)) break;
  1815.                     r.push(e)
  1816.                 }
  1817.             return r
  1818.         },
  1819.         xe = function(e, t) {
  1820.             for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !==
  1821.                 t && n.push(e);
  1822.             return n
  1823.         },
  1824.         _e = de.expr.match.needsContext,
  1825.         ke =
  1826.         /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,
  1827.         Te = /^.[^:#\[\.,]*$/;
  1828.     de.filter = function(e, t, n) {
  1829.         var r = t[0];
  1830.         return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ?
  1831.             de.find.matchesSelector(r, e) ? [r] : [] : de.find.matches(
  1832.                 e, de.grep(t, function(e) {
  1833.                     return 1 === e.nodeType
  1834.                 }))
  1835.     }, de.fn.extend({
  1836.         find: function(e) {
  1837.             var t, n, r = this.length,
  1838.                 i = this;
  1839.             if ("string" != typeof e) return this.pushStack(de(
  1840.                 e).filter(function() {
  1841.                 for (t = 0; t < r; t++)
  1842.                     if (de.contains(i[t], this))
  1843.                         return !0
  1844.             }));
  1845.             for (n = this.pushStack([]), t = 0; t < r; t++) de.find(
  1846.                 e, i[t], n);
  1847.             return r > 1 ? de.uniqueSort(n) : n
  1848.         },
  1849.         filter: function(e) {
  1850.             return this.pushStack(i(this, e || [], !1))
  1851.         },
  1852.         not: function(e) {
  1853.             return this.pushStack(i(this, e || [], !0))
  1854.         },
  1855.         is: function(e) {
  1856.             return !!i(this, "string" == typeof e && _e.test(e) ?
  1857.                 de(e) : e || [], !1).length
  1858.         }
  1859.     });
  1860.     var Ce, Se = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
  1861.         Ee = de.fn.init = function(e, t, n) {
  1862.             var r, i;
  1863.             if (!e) return this;
  1864.             if (n = n || Ce, "string" == typeof e) {
  1865.                 if (r = "<" === e[0] && ">" === e[e.length - 1] && e.length >=
  1866.                     3 ? [null, e, null] : Se.exec(e), !r || !r[1] && t)
  1867.                     return !t || t.jquery ? (t || n).find(e) : this.constructor(
  1868.                         t).find(e);
  1869.                 if (r[1]) {
  1870.                     if (t = t instanceof de ? t[0] : t, de.merge(this, de.parseHTML(
  1871.                         r[1], t && t.nodeType ? t.ownerDocument ||
  1872.                         t : te, !0)), ke.test(r[1]) && de.isPlainObject(
  1873.                         t))
  1874.                         for (r in t) de.isFunction(this[r]) ? this[r](t[r]) :
  1875.                             this.attr(r, t[r]);
  1876.                     return this
  1877.                 }
  1878.                 return i = te.getElementById(r[2]), i && (this[0] = i, this
  1879.                     .length = 1), this
  1880.             }
  1881.             return e.nodeType ? (this[0] = e, this.length = 1, this) : de.isFunction(
  1882.                 e) ? void 0 !== n.ready ? n.ready(e) : e(de) : de.makeArray(
  1883.                 e, this)
  1884.         };
  1885.     Ee.prototype = de.fn, Ce = de(te);
  1886.     var je = /^(?:parents|prev(?:Until|All))/,
  1887.         Ae = {
  1888.             children: !0,
  1889.             contents: !0,
  1890.             next: !0,
  1891.             prev: !0
  1892.         };
  1893.     de.fn.extend({
  1894.         has: function(e) {
  1895.             var t = de(e, this),
  1896.                 n = t.length;
  1897.             return this.filter(function() {
  1898.                 for (var e = 0; e < n; e++)
  1899.                     if (de.contains(this, t[e])) return !
  1900.                         0
  1901.             })
  1902.         },
  1903.         closest: function(e, t) {
  1904.             var n, r = 0,
  1905.                 i = this.length,
  1906.                 o = [],
  1907.                 a = "string" != typeof e && de(e);
  1908.             if (!_e.test(e))
  1909.                 for (; r < i; r++)
  1910.                     for (n = this[r]; n && n !== t; n = n.parentNode)
  1911.                         if (n.nodeType < 11 && (a ? a.index(n) >
  1912.                             -1 : 1 === n.nodeType && de.find
  1913.                             .matchesSelector(n, e))) {
  1914.                             o.push(n);
  1915.                             break
  1916.                         }
  1917.             return this.pushStack(o.length > 1 ? de.uniqueSort(
  1918.                 o) : o)
  1919.         },
  1920.         index: function(e) {
  1921.             return e ? "string" == typeof e ? ae.call(de(e),
  1922.                     this[0]) : ae.call(this, e.jquery ? e[0] :
  1923.                     e) : this[0] && this[0].parentNode ? this.first()
  1924.                 .prevAll().length : -1
  1925.         },
  1926.         add: function(e, t) {
  1927.             return this.pushStack(de.uniqueSort(de.merge(this.get(),
  1928.                 de(e, t))))
  1929.         },
  1930.         addBack: function(e) {
  1931.             return this.add(null == e ? this.prevObject : this.prevObject
  1932.                 .filter(e))
  1933.         }
  1934.     }), de.each({
  1935.         parent: function(e) {
  1936.             var t = e.parentNode;
  1937.             return t && 11 !== t.nodeType ? t : null
  1938.         },
  1939.         parents: function(e) {
  1940.             return we(e, "parentNode")
  1941.         },
  1942.         parentsUntil: function(e, t, n) {
  1943.             return we(e, "parentNode", n)
  1944.         },
  1945.         next: function(e) {
  1946.             return o(e, "nextSibling")
  1947.         },
  1948.         prev: function(e) {
  1949.             return o(e, "previousSibling")
  1950.         },
  1951.         nextAll: function(e) {
  1952.             return we(e, "nextSibling")
  1953.         },
  1954.         prevAll: function(e) {
  1955.             return we(e, "previousSibling")
  1956.         },
  1957.         nextUntil: function(e, t, n) {
  1958.             return we(e, "nextSibling", n)
  1959.         },
  1960.         prevUntil: function(e, t, n) {
  1961.             return we(e, "previousSibling", n)
  1962.         },
  1963.         siblings: function(e) {
  1964.             return xe((e.parentNode || {}).firstChild, e)
  1965.         },
  1966.         children: function(e) {
  1967.             return xe(e.firstChild)
  1968.         },
  1969.         contents: function(e) {
  1970.             return e.contentDocument || de.merge([], e.childNodes)
  1971.         }
  1972.     }, function(e, t) {
  1973.         de.fn[e] = function(n, r) {
  1974.             var i = de.map(this, t, n);
  1975.             return "Until" !== e.slice(-5) && (r = n), r &&
  1976.                 "string" == typeof r && (i = de.filter(r, i)),
  1977.                 this.length > 1 && (Ae[e] || de.uniqueSort(i),
  1978.                     je.test(e) && i.reverse()), this.pushStack(
  1979.                     i)
  1980.         }
  1981.     });
  1982.     var Ne = /[^\x20\t\r\n\f]+/g;
  1983.     de.Callbacks = function(e) {
  1984.         e = "string" == typeof e ? a(e) : de.extend({}, e);
  1985.         var t, n, r, i, o = [],
  1986.             s = [],
  1987.             u = -1,
  1988.             c = function() {
  1989.                 for (i = e.once, r = t = !0; s.length; u = -1)
  1990.                     for (n = s.shift(); ++u < o.length;) o[u].apply(n[0],
  1991.                         n[1]) === !1 && e.stopOnFalse && (u = o.length,
  1992.                         n = !1);
  1993.                 e.memory || (n = !1), t = !1, i && (o = n ? [] : "")
  1994.             },
  1995.             l = {
  1996.                 add: function() {
  1997.                     return o && (n && !t && (u = o.length - 1, s.push(
  1998.                         n)), function r(t) {
  1999.                         de.each(t, function(t, n) {
  2000.                             de.isFunction(n) ? e.unique &&
  2001.                                 l.has(n) || o.push(
  2002.                                     n) : n && n.length &&
  2003.                                 "string" !== de.type(
  2004.                                     n) && r(n)
  2005.                         })
  2006.                     }(arguments), n && !t && c()), this
  2007.                 },
  2008.                 remove: function() {
  2009.                     return de.each(arguments, function(e, t) {
  2010.                         for (var n;
  2011.                             (n = de.inArray(t, o, n)) > -1;
  2012.                         ) o.splice(n, 1), n <= u && u--
  2013.                     }), this
  2014.                 },
  2015.                 has: function(e) {
  2016.                     return e ? de.inArray(e, o) > -1 : o.length > 0
  2017.                 },
  2018.                 empty: function() {
  2019.                     return o && (o = []), this
  2020.                 },
  2021.                 disable: function() {
  2022.                     return i = s = [], o = n = "", this
  2023.                 },
  2024.                 disabled: function() {
  2025.                     return !o
  2026.                 },
  2027.                 lock: function() {
  2028.                     return i = s = [], n || t || (o = n = ""), this
  2029.                 },
  2030.                 locked: function() {
  2031.                     return !!i
  2032.                 },
  2033.                 fireWith: function(e, n) {
  2034.                     return i || (n = n || [], n = [e, n.slice ? n.slice() :
  2035.                         n
  2036.                     ], s.push(n), t || c()), this
  2037.                 },
  2038.                 fire: function() {
  2039.                     return l.fireWith(this, arguments), this
  2040.                 },
  2041.                 fired: function() {
  2042.                     return !!r
  2043.                 }
  2044.             };
  2045.         return l
  2046.     }, de.extend({
  2047.         Deferred: function(t) {
  2048.             var n = [
  2049.                     ["notify", "progress", de.Callbacks(
  2050.                             "memory"), de.Callbacks("memory"),
  2051.                         2
  2052.                     ],
  2053.                     ["resolve", "done", de.Callbacks(
  2054.                         "once memory"), de.Callbacks(
  2055.                         "once memory"), 0, "resolved"],
  2056.                     ["reject", "fail", de.Callbacks(
  2057.                         "once memory"), de.Callbacks(
  2058.                         "once memory"), 1, "rejected"]
  2059.                 ],
  2060.                 r = "pending",
  2061.                 i = {
  2062.                     state: function() {
  2063.                         return r
  2064.                     },
  2065.                     always: function() {
  2066.                         return o.done(arguments).fail(
  2067.                             arguments), this
  2068.                     },
  2069.                     "catch": function(e) {
  2070.                         return i.then(null, e)
  2071.                     },
  2072.                     pipe: function() {
  2073.                         var e = arguments;
  2074.                         return de.Deferred(function(t) {
  2075.                             de.each(n, function(n,
  2076.                                 r) {
  2077.                                 var i = de.isFunction(
  2078.                                         e[r[
  2079.                                             4
  2080.                                         ]]) &&
  2081.                                     e[r[4]];
  2082.                                 o[r[1]](
  2083.                                     function() {
  2084.                                         var
  2085.                                             e =
  2086.                                             i &&
  2087.                                             i
  2088.                                             .apply(
  2089.                                                 this,
  2090.                                                 arguments
  2091.                                             );
  2092.                                         e
  2093.                                             &&
  2094.                                             de
  2095.                                             .isFunction(
  2096.                                                 e
  2097.                                                 .promise
  2098.                                             ) ?
  2099.                                             e
  2100.                                             .promise()
  2101.                                             .progress(
  2102.                                                 t
  2103.                                                 .notify
  2104.                                             )
  2105.                                             .done(
  2106.                                                 t
  2107.                                                 .resolve
  2108.                                             )
  2109.                                             .fail(
  2110.                                                 t
  2111.                                                 .reject
  2112.                                             ) :
  2113.                                             t[
  2114.                                                 r[
  2115.                                                     0
  2116.                                                 ] +
  2117.                                                 "With"
  2118.                                             ]
  2119.                                             (
  2120.                                                 this,
  2121.                                                 i ? [
  2122.                                                     e
  2123.                                                 ] :
  2124.                                                 arguments
  2125.                                             )
  2126.                                     })
  2127.                             }), e = null
  2128.                         }).promise()
  2129.                     },
  2130.                     then: function(t, r, i) {
  2131.                         function o(t, n, r, i) {
  2132.                             return function() {
  2133.                                 var c = this,
  2134.                                     l = arguments,
  2135.                                     f = function() {
  2136.                                         var e, f;
  2137.                                         if (!(t < a)) {
  2138.                                             if (e =
  2139.                                                 r.apply(
  2140.                                                     c,
  2141.                                                     l
  2142.                                                 ),
  2143.                                                 e ===
  2144.                                                 n.promise()
  2145.                                             ) throw new TypeError(
  2146.                                                 "Thenable self-resolution"
  2147.                                             );
  2148.                                             f = e &&
  2149.                                                 (
  2150.                                                     "object" ==
  2151.                                                     typeof e ||
  2152.                                                     "function" ==
  2153.                                                     typeof e
  2154.                                                 ) &&
  2155.                                                 e.then,
  2156.                                                 de.isFunction(
  2157.                                                     f
  2158.                                                 ) ?
  2159.                                                 i ?
  2160.                                                 f.call(
  2161.                                                     e,
  2162.                                                     o(
  2163.                                                         a,
  2164.                                                         n,
  2165.                                                         s,
  2166.                                                         i
  2167.                                                     ),
  2168.                                                     o(
  2169.                                                         a,
  2170.                                                         n,
  2171.                                                         u,
  2172.                                                         i
  2173.                                                     )
  2174.                                                 ) :
  2175.                                                 (a++,
  2176.                                                     f
  2177.                                                     .call(
  2178.                                                         e,
  2179.                                                         o(
  2180.                                                             a,
  2181.                                                             n,
  2182.                                                             s,
  2183.                                                             i
  2184.                                                         ),
  2185.                                                         o(
  2186.                                                             a,
  2187.                                                             n,
  2188.                                                             u,
  2189.                                                             i
  2190.                                                         ),
  2191.                                                         o(
  2192.                                                             a,
  2193.                                                             n,
  2194.                                                             s,
  2195.                                                             n
  2196.                                                             .notifyWith
  2197.                                                         )
  2198.                                                     )
  2199.                                                 ) :
  2200.                                                 (r !==
  2201.                                                     s &&
  2202.                                                     (
  2203.                                                         c =
  2204.                                                         void 0,
  2205.                                                         l = [
  2206.                                                             e
  2207.                                                         ]
  2208.                                                     ), (
  2209.                                                         i ||
  2210.                                                         n
  2211.                                                         .resolveWith
  2212.                                                     )
  2213.                                                     (
  2214.                                                         c,
  2215.                                                         l
  2216.                                                     )
  2217.                                                 )
  2218.                                         }
  2219.                                     },
  2220.                                     p = i ? f :
  2221.                                     function() {
  2222.                                         try {
  2223.                                             f()
  2224.                                         } catch (e) {
  2225.                                             de.Deferred
  2226.                                                 .exceptionHook &&
  2227.                                                 de.Deferred
  2228.                                                 .exceptionHook(
  2229.                                                     e,
  2230.                                                     p
  2231.                                                     .stackTrace
  2232.                                                 ),
  2233.                                                 t +
  2234.                                                 1 >=
  2235.                                                 a &&
  2236.                                                 (r !==
  2237.                                                     u &&
  2238.                                                     (
  2239.                                                         c =
  2240.                                                         void 0,
  2241.                                                         l = [
  2242.                                                             e
  2243.                                                         ]
  2244.                                                     ),
  2245.                                                     n
  2246.                                                     .rejectWith(
  2247.                                                         c,
  2248.                                                         l
  2249.                                                     )
  2250.                                                 )
  2251.                                         }
  2252.                                     };
  2253.                                 t ? p() : (de.Deferred
  2254.                                     .getStackHook &&
  2255.                                     (p.stackTrace =
  2256.                                         de.Deferred
  2257.                                         .getStackHook()
  2258.                                     ), e.setTimeout(
  2259.                                         p))
  2260.                             }
  2261.                         }
  2262.                         var a = 0;
  2263.                         return de.Deferred(function(e) {
  2264.                             n[0][3].add(o(0, e, de.isFunction(
  2265.                                     i) ? i :
  2266.                                 s, e.notifyWith
  2267.                             )), n[1][3].add(o(0,
  2268.                                 e, de.isFunction(
  2269.                                     t) ? t :
  2270.                                 s)), n[2][3].add(
  2271.                                 o(0, e, de.isFunction(
  2272.                                         r) ? r :
  2273.                                     u))
  2274.                         }).promise()
  2275.                     },
  2276.                     promise: function(e) {
  2277.                         return null != e ? de.extend(e, i) :
  2278.                             i
  2279.                     }
  2280.                 },
  2281.                 o = {};
  2282.             return de.each(n, function(e, t) {
  2283.                 var a = t[2],
  2284.                     s = t[5];
  2285.                 i[t[1]] = a.add, s && a.add(function() {
  2286.                             r = s
  2287.                         }, n[3 - e][2].disable, n[0][2]
  2288.                         .lock), a.add(t[3].fire), o[t[0]] =
  2289.                     function() {
  2290.                         return o[t[0] + "With"](this ===
  2291.                             o ? void 0 : this,
  2292.                             arguments), this
  2293.                     }, o[t[0] + "With"] = a.fireWith
  2294.             }), i.promise(o), t && t.call(o, o), o
  2295.         },
  2296.         when: function(e) {
  2297.             var t = arguments.length,
  2298.                 n = t,
  2299.                 r = Array(n),
  2300.                 i = re.call(arguments),
  2301.                 o = de.Deferred(),
  2302.                 a = function(e) {
  2303.                     return function(n) {
  2304.                         r[e] = this, i[e] = arguments.length >
  2305.                             1 ? re.call(arguments) : n, --t ||
  2306.                             o.resolveWith(r, i)
  2307.                     }
  2308.                 };
  2309.             if (t <= 1 && (c(e, o.done(a(n)).resolve, o.reject),
  2310.                 "pending" === o.state() || de.isFunction(i[
  2311.                     n] && i[n].then))) return o.then();
  2312.             for (; n--;) c(i[n], a(n), o.reject);
  2313.             return o.promise()
  2314.         }
  2315.     });
  2316.     var De = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
  2317.     de.Deferred.exceptionHook = function(t, n) {
  2318.         e.console && e.console.warn && t && De.test(t.name) && e.console
  2319.             .warn("jQuery.Deferred exception: " + t.message, t.stack, n)
  2320.     }, de.readyException = function(t) {
  2321.         e.setTimeout(function() {
  2322.             throw t
  2323.         })
  2324.     };
  2325.     var Fe = de.Deferred();
  2326.     de.fn.ready = function(e) {
  2327.             return Fe.then(e)["catch"](function(e) {
  2328.                 de.readyException(e)
  2329.             }), this
  2330.         }, de.extend({
  2331.             isReady: !1,
  2332.             readyWait: 1,
  2333.             holdReady: function(e) {
  2334.                 e ? de.readyWait++ : de.ready(!0)
  2335.             },
  2336.             ready: function(e) {
  2337.                 (e === !0 ? --de.readyWait : de.isReady) || (de.isReady = !
  2338.                     0, e !== !0 && --de.readyWait > 0 || Fe.resolveWith(
  2339.                         te, [de]))
  2340.             }
  2341.         }), de.ready.then = Fe.then, "complete" === te.readyState ||
  2342.         "loading" !== te.readyState && !te.documentElement.doScroll ? e.setTimeout(
  2343.             de.ready) : (te.addEventListener("DOMContentLoaded", l), e.addEventListener(
  2344.             "load", l));
  2345.     var Le = function(e, t, n, r, i, o, a) {
  2346.             var s = 0,
  2347.                 u = e.length,
  2348.                 c = null == n;
  2349.             if ("object" === de.type(n)) {
  2350.                 i = !0;
  2351.                 for (s in n) Le(e, t, s, n[s], !0, o, a)
  2352.             } else if (void 0 !== r && (i = !0, de.isFunction(r) || (a = !0),
  2353.                 c && (a ? (t.call(e, r), t = null) : (c = t, t =
  2354.                     function(e, t, n) {
  2355.                         return c.call(de(e), n)
  2356.                     })), t))
  2357.                 for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s],
  2358.                     n)));
  2359.             return i ? e : c ? t.call(e) : u ? t(e[0], n) : o
  2360.         },
  2361.         Re = function(e) {
  2362.             return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
  2363.         };
  2364.     f.uid = 1, f.prototype = {
  2365.         cache: function(e) {
  2366.             var t = e[this.expando];
  2367.             return t || (t = {}, Re(e) && (e.nodeType ? e[this.expando] =
  2368.                 t : Object.defineProperty(e, this.expando, {
  2369.                     value: t,
  2370.                     configurable: !0
  2371.                 }))), t
  2372.         },
  2373.         set: function(e, t, n) {
  2374.             var r, i = this.cache(e);
  2375.             if ("string" == typeof t) i[de.camelCase(t)] = n;
  2376.             else
  2377.                 for (r in t) i[de.camelCase(r)] = t[r];
  2378.             return i
  2379.         },
  2380.         get: function(e, t) {
  2381.             return void 0 === t ? this.cache(e) : e[this.expando] &&
  2382.                 e[this.expando][de.camelCase(t)]
  2383.         },
  2384.         access: function(e, t, n) {
  2385.             return void 0 === t || t && "string" == typeof t &&
  2386.                 void 0 === n ? this.get(e, t) : (this.set(e, t, n),
  2387.                     void 0 !== n ? n : t)
  2388.         },
  2389.         remove: function(e, t) {
  2390.             var n, r = e[this.expando];
  2391.             if (void 0 !== r) {
  2392.                 if (void 0 !== t) {
  2393.                     de.isArray(t) ? t = t.map(de.camelCase) : (t =
  2394.                         de.camelCase(t), t = t in r ? [t] : t.match(
  2395.                             Ne) || []), n = t.length;
  2396.                     for (; n--;) delete r[t[n]]
  2397.                 }(void 0 === t || de.isEmptyObject(r)) && (e.nodeType ?
  2398.                     e[this.expando] = void 0 : delete e[this.expando]
  2399.                 )
  2400.             }
  2401.         },
  2402.         hasData: function(e) {
  2403.             var t = e[this.expando];
  2404.             return void 0 !== t && !de.isEmptyObject(t)
  2405.         }
  2406.     };
  2407.     var Oe = new f,
  2408.         qe = new f,
  2409.         He = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
  2410.         Ie = /[A-Z]/g;
  2411.     de.extend({
  2412.         hasData: function(e) {
  2413.             return qe.hasData(e) || Oe.hasData(e)
  2414.         },
  2415.         data: function(e, t, n) {
  2416.             return qe.access(e, t, n)
  2417.         },
  2418.         removeData: function(e, t) {
  2419.             qe.remove(e, t)
  2420.         },
  2421.         _data: function(e, t, n) {
  2422.             return Oe.access(e, t, n)
  2423.         },
  2424.         _removeData: function(e, t) {
  2425.             Oe.remove(e, t)
  2426.         }
  2427.     }), de.fn.extend({
  2428.         data: function(e, t) {
  2429.             var n, r, i, o = this[0],
  2430.                 a = o && o.attributes;
  2431.             if (void 0 === e) {
  2432.                 if (this.length && (i = qe.get(o), 1 === o.nodeType &&
  2433.                     !Oe.get(o, "hasDataAttrs"))) {
  2434.                     for (n = a.length; n--;) a[n] && (r = a[n].name,
  2435.                         0 === r.indexOf("data-") && (r = de
  2436.                             .camelCase(r.slice(5)), h(o, r,
  2437.                                 i[r])));
  2438.                     Oe.set(o, "hasDataAttrs", !0)
  2439.                 }
  2440.                 return i
  2441.             }
  2442.             return "object" == typeof e ? this.each(function() {
  2443.                 qe.set(this, e)
  2444.             }) : Le(this, function(t) {
  2445.                 var n;
  2446.                 if (o && void 0 === t) {
  2447.                     if (n = qe.get(o, e), void 0 !== n)
  2448.                         return n;
  2449.                     if (n = h(o, e), void 0 !== n)
  2450.                         return n
  2451.                 } else this.each(function() {
  2452.                     qe.set(this, e, t)
  2453.                 })
  2454.             }, null, t, arguments.length > 1, null, !0)
  2455.         },
  2456.         removeData: function(e) {
  2457.             return this.each(function() {
  2458.                 qe.remove(this, e)
  2459.             })
  2460.         }
  2461.     }), de.extend({
  2462.         queue: function(e, t, n) {
  2463.             var r;
  2464.             if (e) return t = (t || "fx") + "queue", r = Oe.get(
  2465.                 e, t), n && (!r || de.isArray(n) ? r =
  2466.                 Oe.access(e, t, de.makeArray(n)) : r.push(
  2467.                     n)), r || []
  2468.         },
  2469.         dequeue: function(e, t) {
  2470.             t = t || "fx";
  2471.             var n = de.queue(e, t),
  2472.                 r = n.length,
  2473.                 i = n.shift(),
  2474.                 o = de._queueHooks(e, t),
  2475.                 a = function() {
  2476.                     de.dequeue(e, t)
  2477.                 };
  2478.             "inprogress" === i && (i = n.shift(), r--), i && (
  2479.                     "fx" === t && n.unshift("inprogress"),
  2480.                     delete o.stop, i.call(e, a, o)), !r && o &&
  2481.                 o.empty.fire()
  2482.         },
  2483.         _queueHooks: function(e, t) {
  2484.             var n = t + "queueHooks";
  2485.             return Oe.get(e, n) || Oe.access(e, n, {
  2486.                 empty: de.Callbacks("once memory").add(
  2487.                     function() {
  2488.                         Oe.remove(e, [t + "queue",
  2489.                             n
  2490.                         ])
  2491.                     })
  2492.             })
  2493.         }
  2494.     }), de.fn.extend({
  2495.         queue: function(e, t) {
  2496.             var n = 2;
  2497.             return "string" != typeof e && (t = e, e = "fx", n--),
  2498.                 arguments.length < n ? de.queue(this[0], e) :
  2499.                 void 0 === t ? this : this.each(function() {
  2500.                     var n = de.queue(this, e, t);
  2501.                     de._queueHooks(this, e), "fx" === e &&
  2502.                         "inprogress" !== n[0] && de.dequeue(
  2503.                             this, e)
  2504.                 })
  2505.         },
  2506.         dequeue: function(e) {
  2507.             return this.each(function() {
  2508.                 de.dequeue(this, e)
  2509.             })
  2510.         },
  2511.         clearQueue: function(e) {
  2512.             return this.queue(e || "fx", [])
  2513.         },
  2514.         promise: function(e, t) {
  2515.             var n, r = 1,
  2516.                 i = de.Deferred(),
  2517.                 o = this,
  2518.                 a = this.length,
  2519.                 s = function() {
  2520.                     --r || i.resolveWith(o, [o])
  2521.                 };
  2522.             for ("string" != typeof e && (t = e, e = void 0), e =
  2523.                 e || "fx"; a--;) n = Oe.get(o[a], e +
  2524.                 "queueHooks"), n && n.empty && (r++, n.empty
  2525.                 .add(s));
  2526.             return s(), i.promise(t)
  2527.         }
  2528.     });
  2529.     var Pe = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
  2530.         $e = new RegExp("^(?:([+-])=|)(" + Pe + ")([a-z%]*)$", "i"),
  2531.         Me = ["Top", "Right", "Bottom", "Left"],
  2532.         We = function(e, t) {
  2533.             return e = t || e, "none" === e.style.display || "" === e.style
  2534.                 .display && de.contains(e.ownerDocument, e) && "none" ===
  2535.                 de.css(e, "display")
  2536.         },
  2537.         ze = function(e, t, n, r) {
  2538.             var i, o, a = {};
  2539.             for (o in t) a[o] = e.style[o], e.style[o] = t[o];
  2540.             i = n.apply(e, r || []);
  2541.             for (o in t) e.style[o] = a[o];
  2542.             return i
  2543.         },
  2544.         Be = {};
  2545.     de.fn.extend({
  2546.         show: function() {
  2547.             return m(this, !0)
  2548.         },
  2549.         hide: function() {
  2550.             return m(this)
  2551.         },
  2552.         toggle: function(e) {
  2553.             return "boolean" == typeof e ? e ? this.show() :
  2554.                 this.hide() : this.each(function() {
  2555.                     We(this) ? de(this).show() : de(this).hide()
  2556.                 })
  2557.         }
  2558.     });
  2559.     var Ke = /^(?:checkbox|radio)$/i,
  2560.         Ue = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i,
  2561.         Xe = /^$|\/(?:java|ecma)script/i,
  2562.         Ye = {
  2563.             option: [1, "<select multiple='multiple'>", "</select>"],
  2564.             thead: [1, "<table>", "</table>"],
  2565.             col: [2, "<table><colgroup>", "</colgroup></table>"],
  2566.             tr: [2, "<table><tbody>", "</tbody></table>"],
  2567.             td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  2568.             _default: [0, "", ""]
  2569.         };
  2570.     Ye.optgroup = Ye.option, Ye.tbody = Ye.tfoot = Ye.colgroup = Ye.caption =
  2571.         Ye.thead, Ye.th = Ye.td;
  2572.     var Je = /<|&#?\w+;/;
  2573.     ! function() {
  2574.         var e = te.createDocumentFragment(),
  2575.             t = e.appendChild(te.createElement("div")),
  2576.             n = te.createElement("input");
  2577.         n.setAttribute("type", "radio"), n.setAttribute("checked",
  2578.                 "checked"), n.setAttribute("name", "t"), t.appendChild(n),
  2579.             pe.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked,
  2580.             t.innerHTML = "<textarea>x</textarea>", pe.noCloneChecked = !!t
  2581.             .cloneNode(!0).lastChild.defaultValue
  2582.     }();
  2583.     var Ve = te.documentElement,
  2584.         Ge = /^key/,
  2585.         Qe = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
  2586.         Ze = /^([^.]*)(?:\.(.+)|)/;
  2587.     de.event = {
  2588.         global: {},
  2589.         add: function(e, t, n, r, i) {
  2590.             var o, a, s, u, c, l, f, p, h, d, g, m = Oe.get(e);
  2591.             if (m)
  2592.                 for (n.handler && (o = n, n = o.handler, i = o.selector),
  2593.                     i && de.find.matchesSelector(Ve, i), n.guid ||
  2594.                     (n.guid = de.guid++), (u = m.events) || (u = m.events = {}), (
  2595.                         a = m.handle) || (a = m.handle = function(t) {
  2596.                         return "undefined" != typeof de && de.event
  2597.                             .triggered !== t.type ? de.event.dispatch
  2598.                             .apply(e, arguments) : void 0
  2599.                     }), t = (t || "").match(Ne) || [""], c = t.length; c--;
  2600.                 ) s = Ze.exec(t[c]) || [], h = g = s[1], d = (s[2] ||
  2601.                     "").split(".").sort(), h && (f = de.event.special[
  2602.                         h] || {}, h = (i ? f.delegateType : f.bindType) ||
  2603.                     h, f = de.event.special[h] || {}, l = de.extend({
  2604.                         type: h,
  2605.                         origType: g,
  2606.                         data: r,
  2607.                         handler: n,
  2608.                         guid: n.guid,
  2609.                         selector: i,
  2610.                         needsContext: i && de.expr.match.needsContext
  2611.                             .test(i),
  2612.                         namespace: d.join(".")
  2613.                     }, o), (p = u[h]) || (p = u[h] = [], p.delegateCount =
  2614.                         0, f.setup && f.setup.call(e, r, d, a) !==
  2615.                         !1 || e.addEventListener && e.addEventListener(
  2616.                             h, a)), f.add && (f.add.call(e, l),
  2617.                         l.handler.guid || (l.handler.guid = n.guid)
  2618.                     ), i ? p.splice(p.delegateCount++, 0, l) :
  2619.                     p.push(l), de.event.global[h] = !0)
  2620.         },
  2621.         remove: function(e, t, n, r, i) {
  2622.             var o, a, s, u, c, l, f, p, h, d, g, m = Oe.hasData(e) &&
  2623.                 Oe.get(e);
  2624.             if (m && (u = m.events)) {
  2625.                 for (t = (t || "").match(Ne) || [""], c = t.length; c--;)
  2626.                     if (s = Ze.exec(t[c]) || [], h = g = s[1], d =
  2627.                         (s[2] || "").split(".").sort(), h) {
  2628.                         for (f = de.event.special[h] || {}, h = (r ?
  2629.                                 f.delegateType : f.bindType) || h,
  2630.                             p = u[h] || [], s = s[2] && new RegExp(
  2631.                                 "(^|\\.)" + d.join("\\.(?:.*\\.|)") +
  2632.                                 "(\\.|$)"), a = o = p.length; o--;)
  2633.                             l = p[o], !i && g !== l.origType || n &&
  2634.                             n.guid !== l.guid || s && !s.test(l.namespace) ||
  2635.                             r && r !== l.selector && ("**" !== r ||
  2636.                                 !l.selector) || (p.splice(o, 1), l.selector &&
  2637.                                 p.delegateCount--, f.remove && f.remove
  2638.                                 .call(e, l));
  2639.                         a && !p.length && (f.teardown && f.teardown
  2640.                             .call(e, d, m.handle) !== !1 || de.removeEvent(
  2641.                                 e, h, m.handle), delete u[h])
  2642.                     } else
  2643.                         for (h in u) de.event.remove(e, h + t[c], n,
  2644.                             r, !0);
  2645.                 de.isEmptyObject(u) && Oe.remove(e, "handle events")
  2646.             }
  2647.         },
  2648.         dispatch: function(e) {
  2649.             var t, n, r, i, o, a, s = de.event.fix(e),
  2650.                 u = new Array(arguments.length),
  2651.                 c = (Oe.get(this, "events") || {})[s.type] || [],
  2652.                 l = de.event.special[s.type] || {};
  2653.             for (u[0] = s, t = 1; t < arguments.length; t++) u[t] =
  2654.                 arguments[t];
  2655.             if (s.delegateTarget = this, !l.preDispatch || l.preDispatch
  2656.                 .call(this, s) !== !1) {
  2657.                 for (a = de.event.handlers.call(this, s, c), t = 0;
  2658.                     (i = a[t++]) && !s.isPropagationStopped();)
  2659.                     for (s.currentTarget = i.elem, n = 0;
  2660.                         (o = i.handlers[n++]) && !s.isImmediatePropagationStopped();
  2661.                     ) s.rnamespace && !s.rnamespace.test(o.namespace) ||
  2662.                         (s.handleObj = o, s.data = o.data, r = ((de
  2663.                                 .event.special[o.origType] || {}
  2664.                             ).handle || o.handler).apply(i.elem, u),
  2665.                             void 0 !== r && (s.result = r) === !1 &&
  2666.                             (s.preventDefault(), s.stopPropagation())
  2667.                         );
  2668.                 return l.postDispatch && l.postDispatch.call(this,
  2669.                     s), s.result
  2670.             }
  2671.         },
  2672.         handlers: function(e, t) {
  2673.             var n, r, i, o, a, s = [],
  2674.                 u = t.delegateCount,
  2675.                 c = e.target;
  2676.             if (u && c.nodeType && !("click" === e.type && e.button >=
  2677.                 1))
  2678.                 for (; c !== this; c = c.parentNode || this)
  2679.                     if (1 === c.nodeType && ("click" !== e.type ||
  2680.                         c.disabled !== !0)) {
  2681.                         for (o = [], a = {}, n = 0; n < u; n++) r =
  2682.                             t[n], i = r.selector + " ", void 0 ===
  2683.                             a[i] && (a[i] = r.needsContext ? de(i,
  2684.                                 this).index(c) > -1 : de.find(i,
  2685.                                 this, null, [c]).length), a[i] && o
  2686.                             .push(r);
  2687.                         o.length && s.push({
  2688.                             elem: c,
  2689.                             handlers: o
  2690.                         })
  2691.                     }
  2692.             return c = this, u < t.length && s.push({
  2693.                 elem: c,
  2694.                 handlers: t.slice(u)
  2695.             }), s
  2696.         },
  2697.         addProp: function(e, t) {
  2698.             Object.defineProperty(de.Event.prototype, e, {
  2699.                 enumerable: !0,
  2700.                 configurable: !0,
  2701.                 get: de.isFunction(t) ? function() {
  2702.                     if (this.originalEvent) return t(
  2703.                         this.originalEvent)
  2704.                 } : function() {
  2705.                     if (this.originalEvent) return this
  2706.                         .originalEvent[e]
  2707.                 },
  2708.                 set: function(t) {
  2709.                     Object.defineProperty(this, e, {
  2710.                         enumerable: !0,
  2711.                         configurable: !0,
  2712.                         writable: !0,
  2713.                         value: t
  2714.                     })
  2715.                 }
  2716.             })
  2717.         },
  2718.         fix: function(e) {
  2719.             return e[de.expando] ? e : new de.Event(e)
  2720.         },
  2721.         special: {
  2722.             load: {
  2723.                 noBubble: !0
  2724.             },
  2725.             focus: {
  2726.                 trigger: function() {
  2727.                     if (this !== _() && this.focus) return this.focus(), !
  2728.                         1
  2729.                 },
  2730.                 delegateType: "focusin"
  2731.             },
  2732.             blur: {
  2733.                 trigger: function() {
  2734.                     if (this === _() && this.blur) return this.blur(), !
  2735.                         1
  2736.                 },
  2737.                 delegateType: "focusout"
  2738.             },
  2739.             click: {
  2740.                 trigger: function() {
  2741.                     if ("checkbox" === this.type && this.click &&
  2742.                         de.nodeName(this, "input")) return this.click(), !
  2743.                         1
  2744.                 },
  2745.                 _default: function(e) {
  2746.                     return de.nodeName(e.target, "a")
  2747.                 }
  2748.             },
  2749.             beforeunload: {
  2750.                 postDispatch: function(e) {
  2751.                     void 0 !== e.result && e.originalEvent && (e.originalEvent
  2752.                         .returnValue = e.result)
  2753.                 }
  2754.             }
  2755.         }
  2756.     }, de.removeEvent = function(e, t, n) {
  2757.         e.removeEventListener && e.removeEventListener(t, n)
  2758.     }, de.Event = function(e, t) {
  2759.         return this instanceof de.Event ? (e && e.type ? (this.originalEvent =
  2760.                 e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented ||
  2761.                 void 0 === e.defaultPrevented && e.returnValue ===
  2762.                 !1 ? w : x, this.target = e.target && 3 === e.target
  2763.                 .nodeType ? e.target.parentNode : e.target, this.currentTarget =
  2764.                 e.currentTarget, this.relatedTarget = e.relatedTarget
  2765.             ) : this.type = e, t && de.extend(this, t), this.timeStamp =
  2766.             e && e.timeStamp || de.now(), void(this[de.expando] = !
  2767.                 0)) : new de.Event(e, t)
  2768.     }, de.Event.prototype = {
  2769.         constructor: de.Event,
  2770.         isDefaultPrevented: x,
  2771.         isPropagationStopped: x,
  2772.         isImmediatePropagationStopped: x,
  2773.         isSimulated: !1,
  2774.         preventDefault: function() {
  2775.             var e = this.originalEvent;
  2776.             this.isDefaultPrevented = w, e && !this.isSimulated &&
  2777.                 e.preventDefault()
  2778.         },
  2779.         stopPropagation: function() {
  2780.             var e = this.originalEvent;
  2781.             this.isPropagationStopped = w, e && !this.isSimulated &&
  2782.                 e.stopPropagation()
  2783.         },
  2784.         stopImmediatePropagation: function() {
  2785.             var e = this.originalEvent;
  2786.             this.isImmediatePropagationStopped = w, e && !this.isSimulated &&
  2787.                 e.stopImmediatePropagation(), this.stopPropagation()
  2788.         }
  2789.     }, de.each({
  2790.         altKey: !0,
  2791.         bubbles: !0,
  2792.         cancelable: !0,
  2793.         changedTouches: !0,
  2794.         ctrlKey: !0,
  2795.         detail: !0,
  2796.         eventPhase: !0,
  2797.         metaKey: !0,
  2798.         pageX: !0,
  2799.         pageY: !0,
  2800.         shiftKey: !0,
  2801.         view: !0,
  2802.         "char": !0,
  2803.         charCode: !0,
  2804.         key: !0,
  2805.         keyCode: !0,
  2806.         button: !0,
  2807.         buttons: !0,
  2808.         clientX: !0,
  2809.         clientY: !0,
  2810.         offsetX: !0,
  2811.         offsetY: !0,
  2812.         pointerId: !0,
  2813.         pointerType: !0,
  2814.         screenX: !0,
  2815.         screenY: !0,
  2816.         targetTouches: !0,
  2817.         toElement: !0,
  2818.         touches: !0,
  2819.         which: function(e) {
  2820.             var t = e.button;
  2821.             return null == e.which && Ge.test(e.type) ? null !=
  2822.                 e.charCode ? e.charCode : e.keyCode : !e.which &&
  2823.                 void 0 !== t && Qe.test(e.type) ? 1 & t ? 1 : 2 &
  2824.                 t ? 3 : 4 & t ? 2 : 0 : e.which
  2825.         }
  2826.     }, de.event.addProp), de.each({
  2827.         mouseenter: "mouseover",
  2828.         mouseleave: "mouseout",
  2829.         pointerenter: "pointerover",
  2830.         pointerleave: "pointerout"
  2831.     }, function(e, t) {
  2832.         de.event.special[e] = {
  2833.             delegateType: t,
  2834.             bindType: t,
  2835.             handle: function(e) {
  2836.                 var n, r = this,
  2837.                     i = e.relatedTarget,
  2838.                     o = e.handleObj;
  2839.                 return i && (i === r || de.contains(r, i)) ||
  2840.                     (e.type = o.origType, n = o.handler.apply(
  2841.                         this, arguments), e.type = t), n
  2842.             }
  2843.         }
  2844.     }), de.fn.extend({
  2845.         on: function(e, t, n, r) {
  2846.             return k(this, e, t, n, r)
  2847.         },
  2848.         one: function(e, t, n, r) {
  2849.             return k(this, e, t, n, r, 1)
  2850.         },
  2851.         off: function(e, t, n) {
  2852.             var r, i;
  2853.             if (e && e.preventDefault && e.handleObj) return r =
  2854.                 e.handleObj, de(e.delegateTarget).off(r.namespace ?
  2855.                     r.origType + "." + r.namespace : r.origType,
  2856.                     r.selector, r.handler), this;
  2857.             if ("object" == typeof e) {
  2858.                 for (i in e) this.off(i, t, e[i]);
  2859.                 return this
  2860.             }
  2861.             return t !== !1 && "function" != typeof t || (n = t,
  2862.                 t = void 0), n === !1 && (n = x), this.each(
  2863.                 function() {
  2864.                     de.event.remove(this, e, n, t)
  2865.                 })
  2866.         }
  2867.     });
  2868.     var et =
  2869.         /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
  2870.         tt = /<script|<style|<link/i,
  2871.         nt = /checked\s*(?:[^=]|=\s*.checked.)/i,
  2872.         rt = /^true\/(.*)/,
  2873.         it = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
  2874.     de.extend({
  2875.         htmlPrefilter: function(e) {
  2876.             return e.replace(et, "<$1></$2>")
  2877.         },
  2878.         clone: function(e, t, n) {
  2879.             var r, i, o, a, s = e.cloneNode(!0),
  2880.                 u = de.contains(e.ownerDocument, e);
  2881.             if (!(pe.noCloneChecked || 1 !== e.nodeType && 11 !==
  2882.                 e.nodeType || de.isXMLDoc(e)))
  2883.                 for (a = v(s), o = v(e), r = 0, i = o.length; r <
  2884.                     i; r++) j(o[r], a[r]);
  2885.             if (t)
  2886.                 if (n)
  2887.                     for (o = o || v(e), a = a || v(s), r = 0, i =
  2888.                         o.length; r < i; r++) E(o[r], a[r]);
  2889.                 else E(e, s);
  2890.             return a = v(s, "script"), a.length > 0 && y(a, !u &&
  2891.                 v(e, "script")), s
  2892.         },
  2893.         cleanData: function(e) {
  2894.             for (var t, n, r, i = de.event.special, o = 0; void 0 !==
  2895.                 (n = e[o]); o++)
  2896.                 if (Re(n)) {
  2897.                     if (t = n[Oe.expando]) {
  2898.                         if (t.events)
  2899.                             for (r in t.events) i[r] ? de.event
  2900.                                 .remove(n, r) : de.removeEvent(
  2901.                                     n, r, t.handle);
  2902.                         n[Oe.expando] = void 0
  2903.                     }
  2904.                     n[qe.expando] && (n[qe.expando] = void 0)
  2905.                 }
  2906.         }
  2907.     }), de.fn.extend({
  2908.         detach: function(e) {
  2909.             return N(this, e, !0)
  2910.         },
  2911.         remove: function(e) {
  2912.             return N(this, e)
  2913.         },
  2914.         text: function(e) {
  2915.             return Le(this, function(e) {
  2916.                 return void 0 === e ? de.text(this) :
  2917.                     this.empty().each(function() {
  2918.                         1 !== this.nodeType && 11 !==
  2919.                             this.nodeType && 9 !==
  2920.                             this.nodeType || (this.textContent =
  2921.                                 e)
  2922.                     })
  2923.             }, null, e, arguments.length)
  2924.         },
  2925.         append: function() {
  2926.             return A(this, arguments, function(e) {
  2927.                 if (1 === this.nodeType || 11 === this.nodeType ||
  2928.                     9 === this.nodeType) {
  2929.                     var t = T(this, e);
  2930.                     t.appendChild(e)
  2931.                 }
  2932.             })
  2933.         },
  2934.         prepend: function() {
  2935.             return A(this, arguments, function(e) {
  2936.                 if (1 === this.nodeType || 11 === this.nodeType ||
  2937.                     9 === this.nodeType) {
  2938.                     var t = T(this, e);
  2939.                     t.insertBefore(e, t.firstChild)
  2940.                 }
  2941.             })
  2942.         },
  2943.         before: function() {
  2944.             return A(this, arguments, function(e) {
  2945.                 this.parentNode && this.parentNode.insertBefore(
  2946.                     e, this)
  2947.             })
  2948.         },
  2949.         after: function() {
  2950.             return A(this, arguments, function(e) {
  2951.                 this.parentNode && this.parentNode.insertBefore(
  2952.                     e, this.nextSibling)
  2953.             })
  2954.         },
  2955.         empty: function() {
  2956.             for (var e, t = 0; null != (e = this[t]); t++) 1 ===
  2957.                 e.nodeType && (de.cleanData(v(e, !1)), e.textContent =
  2958.                     "");
  2959.             return this
  2960.         },
  2961.         clone: function(e, t) {
  2962.             return e = null != e && e, t = null == t ? e : t,
  2963.                 this.map(function() {
  2964.                     return de.clone(this, e, t)
  2965.                 })
  2966.         },
  2967.         html: function(e) {
  2968.             return Le(this, function(e) {
  2969.                 var t = this[0] || {},
  2970.                     n = 0,
  2971.                     r = this.length;
  2972.                 if (void 0 === e && 1 === t.nodeType)
  2973.                     return t.innerHTML;
  2974.                 if ("string" == typeof e && !tt.test(e) &&
  2975.                     !Ye[(Ue.exec(e) || ["", ""])[1].toLowerCase()]
  2976.                 ) {
  2977.                     e = de.htmlPrefilter(e);
  2978.                     try {
  2979.                         for (; n < r; n++) t = this[n] || {},
  2980.                             1 === t.nodeType && (de.cleanData(
  2981.                                     v(t, !1)), t.innerHTML =
  2982.                                 e);
  2983.                         t = 0
  2984.                     } catch (i) {}
  2985.                 }
  2986.                 t && this.empty().append(e)
  2987.             }, null, e, arguments.length)
  2988.         },
  2989.         replaceWith: function() {
  2990.             var e = [];
  2991.             return A(this, arguments, function(t) {
  2992.                 var n = this.parentNode;
  2993.                 de.inArray(this, e) < 0 && (de.cleanData(
  2994.                     v(this)), n && n.replaceChild(
  2995.                     t, this))
  2996.             }, e)
  2997.         }
  2998.     }), de.each({
  2999.         appendTo: "append",
  3000.         prependTo: "prepend",
  3001.         insertBefore: "before",
  3002.         insertAfter: "after",
  3003.         replaceAll: "replaceWith"
  3004.     }, function(e, t) {
  3005.         de.fn[e] = function(e) {
  3006.             for (var n, r = [], i = de(e), o = i.length - 1, a =
  3007.                 0; a <= o; a++) n = a === o ? this : this.clone(!
  3008.                 0), de(i[a])[t](n), oe.apply(r, n.get());
  3009.             return this.pushStack(r)
  3010.         }
  3011.     });
  3012.     var ot = /^margin/,
  3013.         at = new RegExp("^(" + Pe + ")(?!px)[a-z%]+$", "i"),
  3014.         st = function(t) {
  3015.             var n = t.ownerDocument.defaultView;
  3016.             return n && n.opener || (n = e), n.getComputedStyle(t)
  3017.         };
  3018.     ! function() {
  3019.         function t() {
  3020.             if (s) {
  3021.                 s.style.cssText =
  3022.                     "box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",
  3023.                     s.innerHTML = "", Ve.appendChild(a);
  3024.                 var t = e.getComputedStyle(s);
  3025.                 n = "1%" !== t.top, o = "2px" === t.marginLeft, r =
  3026.                     "4px" === t.width, s.style.marginRight = "50%", i =
  3027.                     "4px" === t.marginRight, Ve.removeChild(a), s =
  3028.                     null
  3029.             }
  3030.         }
  3031.         var n, r, i, o, a = te.createElement("div"),
  3032.             s = te.createElement("div");
  3033.         s.style && (s.style.backgroundClip = "content-box", s.cloneNode(!0)
  3034.             .style.backgroundClip = "", pe.clearCloneStyle =
  3035.             "content-box" === s.style.backgroundClip, a.style.cssText =
  3036.             "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",
  3037.             a.appendChild(s), de.extend(pe, {
  3038.                 pixelPosition: function() {
  3039.                     return t(), n
  3040.                 },
  3041.                 boxSizingReliable: function() {
  3042.                     return t(), r
  3043.                 },
  3044.                 pixelMarginRight: function() {
  3045.                     return t(), i
  3046.                 },
  3047.                 reliableMarginLeft: function() {
  3048.                     return t(), o
  3049.                 }
  3050.             }))
  3051.     }();
  3052.     var ut = /^(none|table(?!-c[ea]).+)/,
  3053.         ct = {
  3054.             position: "absolute",
  3055.             visibility: "hidden",
  3056.             display: "block"
  3057.         },
  3058.         lt = {
  3059.             letterSpacing: "0",
  3060.             fontWeight: "400"
  3061.         },
  3062.         ft = ["Webkit", "Moz", "ms"],
  3063.         pt = te.createElement("div").style;
  3064.     de.extend({
  3065.         cssHooks: {
  3066.             opacity: {
  3067.                 get: function(e, t) {
  3068.                     if (t) {
  3069.                         var n = D(e, "opacity");
  3070.                         return "" === n ? "1" : n
  3071.                     }
  3072.                 }
  3073.             }
  3074.         },
  3075.         cssNumber: {
  3076.             animationIterationCount: !0,
  3077.             columnCount: !0,
  3078.             fillOpacity: !0,
  3079.             flexGrow: !0,
  3080.             flexShrink: !0,
  3081.             fontWeight: !0,
  3082.             lineHeight: !0,
  3083.             opacity: !0,
  3084.             order: !0,
  3085.             orphans: !0,
  3086.             widows: !0,
  3087.             zIndex: !0,
  3088.             zoom: !0
  3089.         },
  3090.         cssProps: {
  3091.             "float": "cssFloat"
  3092.         },
  3093.         style: function(e, t, n, r) {
  3094.             if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
  3095.                 var i, o, a, s = de.camelCase(t),
  3096.                     u = e.style;
  3097.                 return t = de.cssProps[s] || (de.cssProps[s] =
  3098.                         L(s) || s), a = de.cssHooks[t] || de.cssHooks[
  3099.                         s], void 0 === n ? a && "get" in a &&
  3100.                     void 0 !== (i = a.get(e, !1, r)) ? i : u[t] :
  3101.                     (o = typeof n, "string" === o && (i = $e.exec(
  3102.                             n)) && i[1] && (n = d(e, t, i), o =
  3103.                             "number"), null != n && n === n &&
  3104.                         ("number" === o && (n += i && i[3] || (
  3105.                                 de.cssNumber[s] ? "" : "px"
  3106.                             )), pe.clearCloneStyle || "" !== n ||
  3107.                             0 !== t.indexOf("background") || (u[
  3108.                                 t] = "inherit"), a && "set" in
  3109.                             a && void 0 === (n = a.set(e, n, r)) ||
  3110.                             (u[t] = n)), void 0)
  3111.             }
  3112.         },
  3113.         css: function(e, t, n, r) {
  3114.             var i, o, a, s = de.camelCase(t);
  3115.             return t = de.cssProps[s] || (de.cssProps[s] = L(s) ||
  3116.                     s), a = de.cssHooks[t] || de.cssHooks[s], a &&
  3117.                 "get" in a && (i = a.get(e, !0, n)), void 0 ===
  3118.                 i && (i = D(e, t, r)), "normal" === i && t in
  3119.                 lt && (i = lt[t]), "" === n || n ? (o =
  3120.                     parseFloat(i), n === !0 || isFinite(o) ? o ||
  3121.                     0 : i) : i
  3122.         }
  3123.     }), de.each(["height", "width"], function(e, t) {
  3124.         de.cssHooks[t] = {
  3125.             get: function(e, n, r) {
  3126.                 if (n) return !ut.test(de.css(e, "display")) ||
  3127.                     e.getClientRects().length && e.getBoundingClientRect()
  3128.                     .width ? q(e, t, r) : ze(e, ct,
  3129.                         function() {
  3130.                             return q(e, t, r)
  3131.                         })
  3132.             },
  3133.             set: function(e, n, r) {
  3134.                 var i, o = r && st(e),
  3135.                     a = r && O(e, t, r, "border-box" === de
  3136.                         .css(e, "boxSizing", !1, o), o);
  3137.                 return a && (i = $e.exec(n)) && "px" !== (i[
  3138.                     3] || "px") && (e.style[t] = n, n =
  3139.                     de.css(e, t)), R(e, n, a)
  3140.             }
  3141.         }
  3142.     }), de.cssHooks.marginLeft = F(pe.reliableMarginLeft, function(e, t) {
  3143.         if (t) return (parseFloat(D(e, "marginLeft")) || e.getBoundingClientRect()
  3144.             .left - ze(e, {
  3145.                 marginLeft: 0
  3146.             }, function() {
  3147.                 return e.getBoundingClientRect().left
  3148.             })) + "px"
  3149.     }), de.each({
  3150.         margin: "",
  3151.         padding: "",
  3152.         border: "Width"
  3153.     }, function(e, t) {
  3154.         de.cssHooks[e + t] = {
  3155.             expand: function(n) {
  3156.                 for (var r = 0, i = {}, o = "string" ==
  3157.                         typeof n ? n.split(" ") : [n]; r <
  3158.                     4; r++) i[e + Me[r] + t] = o[r] || o[r -
  3159.                     2] || o[0];
  3160.                 return i
  3161.             }
  3162.         }, ot.test(e) || (de.cssHooks[e + t].set = R)
  3163.     }), de.fn.extend({
  3164.         css: function(e, t) {
  3165.             return Le(this, function(e, t, n) {
  3166.                 var r, i, o = {},
  3167.                     a = 0;
  3168.                 if (de.isArray(t)) {
  3169.                     for (r = st(e), i = t.length; a < i; a++)
  3170.                         o[t[a]] = de.css(e, t[a], !1, r);
  3171.                     return o
  3172.                 }
  3173.                 return void 0 !== n ? de.style(e, t, n) :
  3174.                     de.css(e, t)
  3175.             }, e, t, arguments.length > 1)
  3176.         }
  3177.     }), de.Tween = H, H.prototype = {
  3178.         constructor: H,
  3179.         init: function(e, t, n, r, i, o) {
  3180.             this.elem = e, this.prop = n, this.easing = i || de.easing
  3181.                 ._default, this.options = t, this.start = this.now =
  3182.                 this.cur(), this.end = r, this.unit = o || (de.cssNumber[
  3183.                     n] ? "" : "px")
  3184.         },
  3185.         cur: function() {
  3186.             var e = H.propHooks[this.prop];
  3187.             return e && e.get ? e.get(this) : H.propHooks._default.get(
  3188.                 this)
  3189.         },
  3190.         run: function(e) {
  3191.             var t, n = H.propHooks[this.prop];
  3192.             return this.options.duration ? this.pos = t = de.easing[
  3193.                     this.easing](e, this.options.duration * e, 0, 1,
  3194.                     this.options.duration) : this.pos = t = e, this
  3195.                 .now = (this.end - this.start) * t + this.start,
  3196.                 this.options.step && this.options.step.call(this.elem,
  3197.                     this.now, this), n && n.set ? n.set(this) : H.propHooks
  3198.                 ._default.set(this), this
  3199.         }
  3200.     }, H.prototype.init.prototype = H.prototype, H.propHooks = {
  3201.         _default: {
  3202.             get: function(e) {
  3203.                 var t;
  3204.                 return 1 !== e.elem.nodeType || null != e.elem[e.prop] &&
  3205.                     null == e.elem.style[e.prop] ? e.elem[e.prop] :
  3206.                     (t = de.css(e.elem, e.prop, ""), t && "auto" !==
  3207.                         t ? t : 0)
  3208.             },
  3209.             set: function(e) {
  3210.                 de.fx.step[e.prop] ? de.fx.step[e.prop](e) : 1 !==
  3211.                     e.elem.nodeType || null == e.elem.style[de.cssProps[
  3212.                         e.prop]] && !de.cssHooks[e.prop] ? e.elem[e
  3213.                         .prop] = e.now : de.style(e.elem, e.prop, e
  3214.                         .now + e.unit)
  3215.             }
  3216.         }
  3217.     }, H.propHooks.scrollTop = H.propHooks.scrollLeft = {
  3218.         set: function(e) {
  3219.             e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] =
  3220.                 e.now)
  3221.         }
  3222.     }, de.easing = {
  3223.         linear: function(e) {
  3224.             return e
  3225.         },
  3226.         swing: function(e) {
  3227.             return .5 - Math.cos(e * Math.PI) / 2
  3228.         },
  3229.         _default: "swing"
  3230.     }, de.fx = H.prototype.init, de.fx.step = {};
  3231.     var ht, dt, gt = /^(?:toggle|show|hide)$/,
  3232.         mt = /queueHooks$/;
  3233.     de.Animation = de.extend(B, {
  3234.             tweeners: {
  3235.                 "*": [
  3236.  
  3237.                     function(e, t) {
  3238.                         var n = this.createTween(e, t);
  3239.                         return d(n.elem, e, $e.exec(t), n), n
  3240.                     }
  3241.                 ]
  3242.             },
  3243.             tweener: function(e, t) {
  3244.                 de.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(
  3245.                     Ne);
  3246.                 for (var n, r = 0, i = e.length; r < i; r++) n = e[
  3247.                     r], B.tweeners[n] = B.tweeners[n] || [], B.tweeners[
  3248.                     n].unshift(t)
  3249.             },
  3250.             prefilters: [W],
  3251.             prefilter: function(e, t) {
  3252.                 t ? B.prefilters.unshift(e) : B.prefilters.push(e)
  3253.             }
  3254.         }), de.speed = function(e, t, n) {
  3255.             var r = e && "object" == typeof e ? de.extend({}, e) : {
  3256.                 complete: n || !n && t || de.isFunction(e) && e,
  3257.                 duration: e,
  3258.                 easing: n && t || t && !de.isFunction(t) && t
  3259.             };
  3260.             return de.fx.off || te.hidden ? r.duration = 0 : "number" !=
  3261.                 typeof r.duration && (r.duration in de.fx.speeds ? r.duration =
  3262.                     de.fx.speeds[r.duration] : r.duration = de.fx.speeds._default
  3263.                 ), null != r.queue && r.queue !== !0 || (r.queue = "fx"), r
  3264.                 .old = r.complete, r.complete = function() {
  3265.                     de.isFunction(r.old) && r.old.call(this), r.queue && de
  3266.                         .dequeue(this, r.queue)
  3267.                 }, r
  3268.         }, de.fn.extend({
  3269.             fadeTo: function(e, t, n, r) {
  3270.                 return this.filter(We).css("opacity", 0).show().end()
  3271.                     .animate({
  3272.                         opacity: t
  3273.                     }, e, n, r)
  3274.             },
  3275.             animate: function(e, t, n, r) {
  3276.                 var i = de.isEmptyObject(e),
  3277.                     o = de.speed(t, n, r),
  3278.                     a = function() {
  3279.                         var t = B(this, de.extend({}, e), o);
  3280.                         (i || Oe.get(this, "finish")) && t.stop(!0)
  3281.                     };
  3282.                 return a.finish = a, i || o.queue === !1 ? this.each(
  3283.                     a) : this.queue(o.queue, a)
  3284.             },
  3285.             stop: function(e, t, n) {
  3286.                 var r = function(e) {
  3287.                     var t = e.stop;
  3288.                     delete e.stop, t(n)
  3289.                 };
  3290.                 return "string" != typeof e && (n = t, t = e, e =
  3291.                     void 0), t && e !== !1 && this.queue(e ||
  3292.                     "fx", []), this.each(function() {
  3293.                     var t = !0,
  3294.                         i = null != e && e + "queueHooks",
  3295.                         o = de.timers,
  3296.                         a = Oe.get(this);
  3297.                     if (i) a[i] && a[i].stop && r(a[i]);
  3298.                     else
  3299.                         for (i in a) a[i] && a[i].stop &&
  3300.                             mt.test(i) && r(a[i]);
  3301.                     for (i = o.length; i--;) o[i].elem !==
  3302.                         this || null != e && o[i].queue !==
  3303.                         e || (o[i].anim.stop(n), t = !1, o.splice(
  3304.                             i, 1));
  3305.                     !t && n || de.dequeue(this, e)
  3306.                 })
  3307.             },
  3308.             finish: function(e) {
  3309.                 return e !== !1 && (e = e || "fx"), this.each(
  3310.                     function() {
  3311.                         var t, n = Oe.get(this),
  3312.                             r = n[e + "queue"],
  3313.                             i = n[e + "queueHooks"],
  3314.                             o = de.timers,
  3315.                             a = r ? r.length : 0;
  3316.                         for (n.finish = !0, de.queue(this, e, []),
  3317.                             i && i.stop && i.stop.call(this, !0),
  3318.                             t = o.length; t--;) o[t].elem ===
  3319.                             this && o[t].queue === e && (o[t].anim
  3320.                                 .stop(!0), o.splice(t, 1));
  3321.                         for (t = 0; t < a; t++) r[t] && r[t].finish &&
  3322.                             r[t].finish.call(this);
  3323.                         delete n.finish
  3324.                     })
  3325.             }
  3326.         }), de.each(["toggle", "show", "hide"], function(e, t) {
  3327.             var n = de.fn[t];
  3328.             de.fn[t] = function(e, r, i) {
  3329.                 return null == e || "boolean" == typeof e ? n.apply(
  3330.                     this, arguments) : this.animate($(t, !0), e,
  3331.                     r, i)
  3332.             }
  3333.         }), de.each({
  3334.             slideDown: $("show"),
  3335.             slideUp: $("hide"),
  3336.             slideToggle: $("toggle"),
  3337.             fadeIn: {
  3338.                 opacity: "show"
  3339.             },
  3340.             fadeOut: {
  3341.                 opacity: "hide"
  3342.             },
  3343.             fadeToggle: {
  3344.                 opacity: "toggle"
  3345.             }
  3346.         }, function(e, t) {
  3347.             de.fn[e] = function(e, n, r) {
  3348.                 return this.animate(t, e, n, r)
  3349.             }
  3350.         }), de.timers = [], de.fx.tick = function() {
  3351.             var e, t = 0,
  3352.                 n = de.timers;
  3353.             for (ht = de.now(); t < n.length; t++) e = n[t], e() || n[t] !==
  3354.                 e || n.splice(t--, 1);
  3355.             n.length || de.fx.stop(), ht = void 0
  3356.         }, de.fx.timer = function(e) {
  3357.             de.timers.push(e), e() ? de.fx.start() : de.timers.pop()
  3358.         }, de.fx.interval = 13, de.fx.start = function() {
  3359.             dt || (dt = e.requestAnimationFrame ? e.requestAnimationFrame(I) :
  3360.                 e.setInterval(de.fx.tick, de.fx.interval))
  3361.         }, de.fx.stop = function() {
  3362.             e.cancelAnimationFrame ? e.cancelAnimationFrame(dt) : e.clearInterval(
  3363.                 dt), dt = null
  3364.         }, de.fx.speeds = {
  3365.             slow: 600,
  3366.             fast: 200,
  3367.             _default: 400
  3368.         }, de.fn.delay = function(t, n) {
  3369.             return t = de.fx ? de.fx.speeds[t] || t : t, n = n || "fx",
  3370.                 this.queue(n, function(n, r) {
  3371.                     var i = e.setTimeout(n, t);
  3372.                     r.stop = function() {
  3373.                         e.clearTimeout(i)
  3374.                     }
  3375.                 })
  3376.         },
  3377.         function() {
  3378.             var e = te.createElement("input"),
  3379.                 t = te.createElement("select"),
  3380.                 n = t.appendChild(te.createElement("option"));
  3381.             e.type = "checkbox", pe.checkOn = "" !== e.value, pe.optSelected =
  3382.                 n.selected, e = te.createElement("input"), e.value = "t", e
  3383.                 .type = "radio", pe.radioValue = "t" === e.value
  3384.         }();
  3385.     var vt, yt = de.expr.attrHandle;
  3386.     de.fn.extend({
  3387.         attr: function(e, t) {
  3388.             return Le(this, de.attr, e, t, arguments.length > 1)
  3389.         },
  3390.         removeAttr: function(e) {
  3391.             return this.each(function() {
  3392.                 de.removeAttr(this, e)
  3393.             })
  3394.         }
  3395.     }), de.extend({
  3396.         attr: function(e, t, n) {
  3397.             var r, i, o = e.nodeType;
  3398.             if (3 !== o && 8 !== o && 2 !== o) return "undefined" ==
  3399.                 typeof e.getAttribute ? de.prop(e, t, n) : (1 ===
  3400.                     o && de.isXMLDoc(e) || (i = de.attrHooks[t.toLowerCase()] ||
  3401.                         (de.expr.match.bool.test(t) ? vt : void 0)
  3402.                     ), void 0 !== n ? null === n ? void de.removeAttr(
  3403.                         e, t) : i && "set" in i && void 0 !== (
  3404.                         r = i.set(e, n, t)) ? r : (e.setAttribute(
  3405.                         t, n + ""), n) : i && "get" in i &&
  3406.                     null !== (r = i.get(e, t)) ? r : (r = de.find
  3407.                         .attr(e, t), null == r ? void 0 : r))
  3408.         },
  3409.         attrHooks: {
  3410.             type: {
  3411.                 set: function(e, t) {
  3412.                     if (!pe.radioValue && "radio" === t && de.nodeName(
  3413.                         e, "input")) {
  3414.                         var n = e.value;
  3415.                         return e.setAttribute("type", t), n &&
  3416.                             (e.value = n), t
  3417.                     }
  3418.                 }
  3419.             }
  3420.         },
  3421.         removeAttr: function(e, t) {
  3422.             var n, r = 0,
  3423.                 i = t && t.match(Ne);
  3424.             if (i && 1 === e.nodeType)
  3425.                 for (; n = i[r++];) e.removeAttribute(n)
  3426.         }
  3427.     }), vt = {
  3428.         set: function(e, t, n) {
  3429.             return t === !1 ? de.removeAttr(e, n) : e.setAttribute(
  3430.                 n, n), n
  3431.         }
  3432.     }, de.each(de.expr.match.bool.source.match(/\w+/g), function(e, t) {
  3433.         var n = yt[t] || de.find.attr;
  3434.         yt[t] = function(e, t, r) {
  3435.             var i, o, a = t.toLowerCase();
  3436.             return r || (o = yt[a], yt[a] = i, i = null != n(e,
  3437.                 t, r) ? a : null, yt[a] = o), i
  3438.         }
  3439.     });
  3440.     var bt = /^(?:input|select|textarea|button)$/i,
  3441.         wt = /^(?:a|area)$/i;
  3442.     de.fn.extend({
  3443.         prop: function(e, t) {
  3444.             return Le(this, de.prop, e, t, arguments.length > 1)
  3445.         },
  3446.         removeProp: function(e) {
  3447.             return this.each(function() {
  3448.                 delete this[de.propFix[e] || e]
  3449.             })
  3450.         }
  3451.     }), de.extend({
  3452.         prop: function(e, t, n) {
  3453.             var r, i, o = e.nodeType;
  3454.             if (3 !== o && 8 !== o && 2 !== o) return 1 === o &&
  3455.                 de.isXMLDoc(e) || (t = de.propFix[t] || t,
  3456.                     i = de.propHooks[t]), void 0 !== n ? i &&
  3457.                 "set" in i && void 0 !== (r = i.set(e, n, t)) ?
  3458.                 r : e[t] = n : i && "get" in i && null !==
  3459.                 (r = i.get(e, t)) ? r : e[t]
  3460.         },
  3461.         propHooks: {
  3462.             tabIndex: {
  3463.                 get: function(e) {
  3464.                     var t = de.find.attr(e, "tabindex");
  3465.                     return t ? parseInt(t, 10) : bt.test(e.nodeName) ||
  3466.                         wt.test(e.nodeName) && e.href ? 0 : -1
  3467.                 }
  3468.             }
  3469.         },
  3470.         propFix: {
  3471.             "for": "htmlFor",
  3472.             "class": "className"
  3473.         }
  3474.     }), pe.optSelected || (de.propHooks.selected = {
  3475.         get: function(e) {
  3476.             var t = e.parentNode;
  3477.             return t && t.parentNode && t.parentNode.selectedIndex,
  3478.                 null
  3479.         },
  3480.         set: function(e) {
  3481.             var t = e.parentNode;
  3482.             t && (t.selectedIndex, t.parentNode && t.parentNode
  3483.                 .selectedIndex)
  3484.         }
  3485.     }), de.each(["tabIndex", "readOnly", "maxLength", "cellSpacing",
  3486.         "cellPadding", "rowSpan", "colSpan", "useMap",
  3487.         "frameBorder", "contentEditable"
  3488.     ], function() {
  3489.         de.propFix[this.toLowerCase()] = this
  3490.     }), de.fn.extend({
  3491.         addClass: function(e) {
  3492.             var t, n, r, i, o, a, s, u = 0;
  3493.             if (de.isFunction(e)) return this.each(function(t) {
  3494.                 de(this).addClass(e.call(this, t, U(
  3495.                     this)))
  3496.             });
  3497.             if ("string" == typeof e && e)
  3498.                 for (t = e.match(Ne) || []; n = this[u++];)
  3499.                     if (i = U(n), r = 1 === n.nodeType && " " +
  3500.                         K(i) + " ") {
  3501.                         for (a = 0; o = t[a++];) r.indexOf(" " +
  3502.                             o + " ") < 0 && (r += o + " ");
  3503.                         s = K(r), i !== s && n.setAttribute(
  3504.                             "class", s)
  3505.                     }
  3506.             return this
  3507.         },
  3508.         removeClass: function(e) {
  3509.             var t, n, r, i, o, a, s, u = 0;
  3510.             if (de.isFunction(e)) return this.each(function(t) {
  3511.                 de(this).removeClass(e.call(this, t,
  3512.                     U(this)))
  3513.             });
  3514.             if (!arguments.length) return this.attr("class", "");
  3515.             if ("string" == typeof e && e)
  3516.                 for (t = e.match(Ne) || []; n = this[u++];)
  3517.                     if (i = U(n), r = 1 === n.nodeType && " " +
  3518.                         K(i) + " ") {
  3519.                         for (a = 0; o = t[a++];)
  3520.                             for (; r.indexOf(" " + o + " ") > -
  3521.                                 1;) r = r.replace(" " + o + " ",
  3522.                                 " ");
  3523.                         s = K(r), i !== s && n.setAttribute(
  3524.                             "class", s)
  3525.                     }
  3526.             return this
  3527.         },
  3528.         toggleClass: function(e, t) {
  3529.             var n = typeof e;
  3530.             return "boolean" == typeof t && "string" === n ? t ?
  3531.                 this.addClass(e) : this.removeClass(e) : de.isFunction(
  3532.                     e) ? this.each(function(n) {
  3533.                     de(this).toggleClass(e.call(this, n, U(
  3534.                         this), t), t)
  3535.                 }) : this.each(function() {
  3536.                     var t, r, i, o;
  3537.                     if ("string" === n)
  3538.                         for (r = 0, i = de(this), o = e.match(
  3539.                             Ne) || []; t = o[r++];) i.hasClass(
  3540.                             t) ? i.removeClass(t) : i.addClass(
  3541.                             t);
  3542.                     else void 0 !== e && "boolean" !== n ||
  3543.                         (t = U(this), t && Oe.set(this,
  3544.                                 "__className__", t), this.setAttribute &&
  3545.                             this.setAttribute("class", t ||
  3546.                                 e === !1 ? "" : Oe.get(this,
  3547.                                     "__className__") || "")
  3548.                         )
  3549.                 })
  3550.         },
  3551.         hasClass: function(e) {
  3552.             var t, n, r = 0;
  3553.             for (t = " " + e + " "; n = this[r++];)
  3554.                 if (1 === n.nodeType && (" " + K(U(n)) + " ").indexOf(
  3555.                     t) > -1) return !0;
  3556.             return !1
  3557.         }
  3558.     });
  3559.     var xt = /\r/g;
  3560.     de.fn.extend({
  3561.         val: function(e) {
  3562.             var t, n, r, i = this[0]; {
  3563.                 if (arguments.length) return r = de.isFunction(
  3564.                     e), this.each(function(n) {
  3565.                     var i;
  3566.                     1 === this.nodeType && (i = r ?
  3567.                         e.call(this, n, de(this)
  3568.                             .val()) : e, null ==
  3569.                         i ? i = "" : "number" ==
  3570.                         typeof i ? i += "" : de
  3571.                         .isArray(i) && (i = de.map(
  3572.                             i, function(e) {
  3573.                                 return null ==
  3574.                                     e ? "" :
  3575.                                     e + ""
  3576.                             })), t = de.valHooks[
  3577.                             this.type] || de.valHooks[
  3578.                             this.nodeName.toLowerCase()
  3579.                         ], t && "set" in t &&
  3580.                         void 0 !== t.set(this,
  3581.                             i, "value") || (
  3582.                             this.value = i))
  3583.                 });
  3584.                 if (i) return t = de.valHooks[i.type] || de.valHooks[
  3585.                         i.nodeName.toLowerCase()], t &&
  3586.                     "get" in t && void 0 !== (n = t.get(i,
  3587.                         "value")) ? n : (n = i.value,
  3588.                         "string" == typeof n ? n.replace(xt,
  3589.                             "") : null == n ? "" : n)
  3590.             }
  3591.         }
  3592.     }), de.extend({
  3593.         valHooks: {
  3594.             option: {
  3595.                 get: function(e) {
  3596.                     var t = de.find.attr(e, "value");
  3597.                     return null != t ? t : K(de.text(e))
  3598.                 }
  3599.             },
  3600.             select: {
  3601.                 get: function(e) {
  3602.                     var t, n, r, i = e.options,
  3603.                         o = e.selectedIndex,
  3604.                         a = "select-one" === e.type,
  3605.                         s = a ? null : [],
  3606.                         u = a ? o + 1 : i.length;
  3607.                     for (r = o < 0 ? u : a ? o : 0; r < u; r++)
  3608.                         if (n = i[r], (n.selected || r === o) &&
  3609.                             !n.disabled && (!n.parentNode.disabled ||
  3610.                                 !de.nodeName(n.parentNode,
  3611.                                     "optgroup"))) {
  3612.                             if (t = de(n).val(), a) return t;
  3613.                             s.push(t)
  3614.                         }
  3615.                     return s
  3616.                 },
  3617.                 set: function(e, t) {
  3618.                     for (var n, r, i = e.options, o = de.makeArray(
  3619.                         t), a = i.length; a--;) r = i[a], (r.selected =
  3620.                         de.inArray(de.valHooks.option.get(r),
  3621.                             o) > -1) && (n = !0);
  3622.                     return n || (e.selectedIndex = -1), o
  3623.                 }
  3624.             }
  3625.         }
  3626.     }), de.each(["radio", "checkbox"], function() {
  3627.         de.valHooks[this] = {
  3628.             set: function(e, t) {
  3629.                 if (de.isArray(t)) return e.checked = de.inArray(
  3630.                     de(e).val(), t) > -1
  3631.             }
  3632.         }, pe.checkOn || (de.valHooks[this].get = function(e) {
  3633.             return null === e.getAttribute("value") ? "on" :
  3634.                 e.value
  3635.         })
  3636.     });
  3637.     var _t = /^(?:focusinfocus|focusoutblur)$/;
  3638.     de.extend(de.event, {
  3639.         trigger: function(t, n, r, i) {
  3640.             var o, a, s, u, c, l, f, p = [r || te],
  3641.                 h = ce.call(t, "type") ? t.type : t,
  3642.                 d = ce.call(t, "namespace") ? t.namespace.split(
  3643.                     ".") : [];
  3644.             if (a = s = r = r || te, 3 !== r.nodeType && 8 !==
  3645.                 r.nodeType && !_t.test(h + de.event.triggered) &&
  3646.                 (h.indexOf(".") > -1 && (d = h.split("."), h =
  3647.                         d.shift(), d.sort()), c = h.indexOf(":") <
  3648.                     0 && "on" + h, t = t[de.expando] ? t : new de
  3649.                     .Event(h, "object" == typeof t && t), t.isTrigger =
  3650.                     i ? 2 : 3, t.namespace = d.join("."), t.rnamespace =
  3651.                     t.namespace ? new RegExp("(^|\\.)" + d.join(
  3652.                         "\\.(?:.*\\.|)") + "(\\.|$)") : null, t
  3653.                     .result = void 0, t.target || (t.target = r),
  3654.                     n = null == n ? [t] : de.makeArray(n, [t]),
  3655.                     f = de.event.special[h] || {}, i || !f.trigger ||
  3656.                     f.trigger.apply(r, n) !== !1)) {
  3657.                 if (!i && !f.noBubble && !de.isWindow(r)) {
  3658.                     for (u = f.delegateType || h, _t.test(u + h) ||
  3659.                         (a = a.parentNode); a; a = a.parentNode
  3660.                     ) p.push(a), s = a;
  3661.                     s === (r.ownerDocument || te) && p.push(s.defaultView ||
  3662.                         s.parentWindow || e)
  3663.                 }
  3664.                 for (o = 0;
  3665.                     (a = p[o++]) && !t.isPropagationStopped();)
  3666.                     t.type = o > 1 ? u : f.bindType || h, l = (
  3667.                         Oe.get(a, "events") || {})[t.type] &&
  3668.                     Oe.get(a, "handle"), l && l.apply(a, n), l =
  3669.                     c && a[c], l && l.apply && Re(a) && (t.result =
  3670.                         l.apply(a, n), t.result === !1 && t.preventDefault()
  3671.                     );
  3672.                 return t.type = h, i || t.isDefaultPrevented() ||
  3673.                     f._default && f._default.apply(p.pop(), n) !==
  3674.                     !1 || !Re(r) || c && de.isFunction(r[h]) &&
  3675.                     !de.isWindow(r) && (s = r[c], s && (r[c] =
  3676.                             null), de.event.triggered = h, r[h]
  3677.                         (), de.event.triggered = void 0, s && (
  3678.                             r[c] = s)), t.result
  3679.             }
  3680.         },
  3681.         simulate: function(e, t, n) {
  3682.             var r = de.extend(new de.Event, n, {
  3683.                 type: e,
  3684.                 isSimulated: !0
  3685.             });
  3686.             de.event.trigger(r, null, t)
  3687.         }
  3688.     }), de.fn.extend({
  3689.         trigger: function(e, t) {
  3690.             return this.each(function() {
  3691.                 de.event.trigger(e, t, this)
  3692.             })
  3693.         },
  3694.         triggerHandler: function(e, t) {
  3695.             var n = this[0];
  3696.             if (n) return de.event.trigger(e, t, n, !0)
  3697.         }
  3698.     }), de.each(
  3699.         "blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu"
  3700.         .split(" "), function(e, t) {
  3701.             de.fn[t] = function(e, n) {
  3702.                 return arguments.length > 0 ? this.on(t, null, e, n) :
  3703.                     this.trigger(t)
  3704.             }
  3705.         }), de.fn.extend({
  3706.         hover: function(e, t) {
  3707.             return this.mouseenter(e).mouseleave(t || e)
  3708.         }
  3709.     }), pe.focusin = "onfocusin" in e, pe.focusin || de.each({
  3710.         focus: "focusin",
  3711.         blur: "focusout"
  3712.     }, function(e, t) {
  3713.         var n = function(e) {
  3714.             de.event.simulate(t, e.target, de.event.fix(e))
  3715.         };
  3716.         de.event.special[t] = {
  3717.             setup: function() {
  3718.                 var r = this.ownerDocument || this,
  3719.                     i = Oe.access(r, t);
  3720.                 i || r.addEventListener(e, n, !0), Oe.access(
  3721.                     r, t, (i || 0) + 1)
  3722.             },
  3723.             teardown: function() {
  3724.                 var r = this.ownerDocument || this,
  3725.                     i = Oe.access(r, t) - 1;
  3726.                 i ? Oe.access(r, t, i) : (r.removeEventListener(
  3727.                     e, n, !0), Oe.remove(r, t))
  3728.             }
  3729.         }
  3730.     });
  3731.     var kt = e.location,
  3732.         Tt = de.now(),
  3733.         Ct = /\?/;
  3734.     de.parseXML = function(t) {
  3735.         var n;
  3736.         if (!t || "string" != typeof t) return null;
  3737.         try {
  3738.             n = (new e.DOMParser).parseFromString(t, "text/xml")
  3739.         } catch (r) {
  3740.             n = void 0
  3741.         }
  3742.         return n && !n.getElementsByTagName("parsererror").length || de
  3743.             .error("Invalid XML: " + t), n
  3744.     };
  3745.     var St = /\[\]$/,
  3746.         Et = /\r?\n/g,
  3747.         jt = /^(?:submit|button|image|reset|file)$/i,
  3748.         At = /^(?:input|select|textarea|keygen)/i;
  3749.     de.param = function(e, t) {
  3750.         var n, r = [],
  3751.             i = function(e, t) {
  3752.                 var n = de.isFunction(t) ? t() : t;
  3753.                 r[r.length] = encodeURIComponent(e) + "=" +
  3754.                     encodeURIComponent(null == n ? "" : n)
  3755.             };
  3756.         if (de.isArray(e) || e.jquery && !de.isPlainObject(e)) de.each(
  3757.             e, function() {
  3758.                 i(this.name, this.value)
  3759.             });
  3760.         else
  3761.             for (n in e) X(n, e[n], t, i);
  3762.         return r.join("&")
  3763.     }, de.fn.extend({
  3764.         serialize: function() {
  3765.             return de.param(this.serializeArray())
  3766.         },
  3767.         serializeArray: function() {
  3768.             return this.map(function() {
  3769.                 var e = de.prop(this, "elements");
  3770.                 return e ? de.makeArray(e) : this
  3771.             }).filter(function() {
  3772.                 var e = this.type;
  3773.                 return this.name && !de(this).is(
  3774.                         ":disabled") && At.test(this.nodeName) &&
  3775.                     !jt.test(e) && (this.checked || !Ke
  3776.                         .test(e))
  3777.             }).map(function(e, t) {
  3778.                 var n = de(this).val();
  3779.                 return null == n ? null : de.isArray(n) ?
  3780.                     de.map(n, function(e) {
  3781.                         return {
  3782.                             name: t.name,
  3783.                             value: e.replace(Et,
  3784.                                 "\r\n")
  3785.                         }
  3786.                     }) : {
  3787.                         name: t.name,
  3788.                         value: n.replace(Et, "\r\n")
  3789.                     }
  3790.             }).get()
  3791.         }
  3792.     });
  3793.     var Nt = /%20/g,
  3794.         Dt = /#.*$/,
  3795.         Ft = /([?&])_=[^&]*/,
  3796.         Lt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
  3797.         Rt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  3798.         Ot = /^(?:GET|HEAD)$/,
  3799.         qt = /^\/\//,
  3800.         Ht = {},
  3801.         It = {},
  3802.         Pt = "*/".concat("*"),
  3803.         $t = te.createElement("a");
  3804.     $t.href = kt.href, de.extend({
  3805.         active: 0,
  3806.         lastModified: {},
  3807.         etag: {},
  3808.         ajaxSettings: {
  3809.             url: kt.href,
  3810.             type: "GET",
  3811.             isLocal: Rt.test(kt.protocol),
  3812.             global: !0,
  3813.             processData: !0,
  3814.             async: !0,
  3815.             contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3816.             accepts: {
  3817.                 "*": Pt,
  3818.                 text: "text/plain",
  3819.                 html: "text/html",
  3820.                 xml: "application/xml, text/xml",
  3821.                 json: "application/json, text/javascript"
  3822.             },
  3823.             contents: {
  3824.                 xml: /\bxml\b/,
  3825.                 html: /\bhtml/,
  3826.                 json: /\bjson\b/
  3827.             },
  3828.             responseFields: {
  3829.                 xml: "responseXML",
  3830.                 text: "responseText",
  3831.                 json: "responseJSON"
  3832.             },
  3833.             converters: {
  3834.                 "* text": String,
  3835.                 "text html": !0,
  3836.                 "text json": JSON.parse,
  3837.                 "text xml": de.parseXML
  3838.             },
  3839.             flatOptions: {
  3840.                 url: !0,
  3841.                 context: !0
  3842.             }
  3843.         },
  3844.         ajaxSetup: function(e, t) {
  3845.             return t ? V(V(e, de.ajaxSettings), t) : V(de.ajaxSettings,
  3846.                 e)
  3847.         },
  3848.         ajaxPrefilter: Y(Ht),
  3849.         ajaxTransport: Y(It),
  3850.         ajax: function(t, n) {
  3851.             function r(t, n, r, s) {
  3852.                 var c, p, h, w, x, _ = n;
  3853.                 l || (l = !0, u && e.clearTimeout(u), i =
  3854.                     void 0, a = s || "", k.readyState =
  3855.                     t > 0 ? 4 : 0, c = t >= 200 && t <
  3856.                     300 || 304 === t, r && (w = G(d, k,
  3857.                         r)), w = Q(d, w, k, c), c ? (d.ifModified &&
  3858.                         (x = k.getResponseHeader(
  3859.                                 "Last-Modified"), x &&
  3860.                             (de.lastModified[o] = x), x =
  3861.                             k.getResponseHeader("etag"),
  3862.                             x && (de.etag[o] = x)), 204 ===
  3863.                         t || "HEAD" === d.type ? _ =
  3864.                         "nocontent" : 304 === t ? _ =
  3865.                         "notmodified" : (_ = w.state, p =
  3866.                             w.data, h = w.error, c = !h
  3867.                         )) : (h = _, !t && _ || (_ =
  3868.                         "error", t < 0 && (t = 0))), k.status =
  3869.                     t, k.statusText = (n || _) + "", c ?
  3870.                     v.resolveWith(g, [p, _, k]) : v.rejectWith(
  3871.                         g, [k, _, h]), k.statusCode(b),
  3872.                     b = void 0, f && m.trigger(c ?
  3873.                         "ajaxSuccess" : "ajaxError", [k,
  3874.                             d, c ? p : h
  3875.                         ]), y.fireWith(g, [k, _]), f &&
  3876.                     (m.trigger("ajaxComplete", [k, d]), --
  3877.                         de.active || de.event.trigger(
  3878.                             "ajaxStop")))
  3879.             }
  3880.             "object" == typeof t && (n = t, t = void 0), n = n || {};
  3881.             var i, o, a, s, u, c, l, f, p, h, d = de.ajaxSetup({},
  3882.                     n),
  3883.                 g = d.context || d,
  3884.                 m = d.context && (g.nodeType || g.jquery) ? de(
  3885.                     g) : de.event,
  3886.                 v = de.Deferred(),
  3887.                 y = de.Callbacks("once memory"),
  3888.                 b = d.statusCode || {},
  3889.                 w = {},
  3890.                 x = {},
  3891.                 _ = "canceled",
  3892.                 k = {
  3893.                     readyState: 0,
  3894.                     getResponseHeader: function(e) {
  3895.                         var t;
  3896.                         if (l) {
  3897.                             if (!s)
  3898.                                 for (s = {}; t = Lt.exec(a);)
  3899.                                     s[t[1].toLowerCase()] =
  3900.                                     t[2];
  3901.                             t = s[e.toLowerCase()]
  3902.                         }
  3903.                         return null == t ? null : t
  3904.                     },
  3905.                     getAllResponseHeaders: function() {
  3906.                         return l ? a : null
  3907.                     },
  3908.                     setRequestHeader: function(e, t) {
  3909.                         return null == l && (e = x[e.toLowerCase()] =
  3910.                             x[e.toLowerCase()] || e, w[
  3911.                                 e] = t), this
  3912.                     },
  3913.                     overrideMimeType: function(e) {
  3914.                         return null == l && (d.mimeType = e),
  3915.                             this
  3916.                     },
  3917.                     statusCode: function(e) {
  3918.                         var t;
  3919.                         if (e)
  3920.                             if (l) k.always(e[k.status]);
  3921.                             else
  3922.                                 for (t in e) b[t] = [b[t],
  3923.                                     e[t]
  3924.                                 ];
  3925.                         return this
  3926.                     },
  3927.                     abort: function(e) {
  3928.                         var t = e || _;
  3929.                         return i && i.abort(t), r(0, t),
  3930.                             this
  3931.                     }
  3932.                 };
  3933.             if (v.promise(k), d.url = ((t || d.url || kt.href) +
  3934.                     "").replace(qt, kt.protocol + "//"), d.type =
  3935.                 n.method || n.type || d.method || d.type, d.dataTypes =
  3936.                 (d.dataType || "*").toLowerCase().match(Ne) || [
  3937.                     ""
  3938.                 ], null == d.crossDomain) {
  3939.                 c = te.createElement("a");
  3940.                 try {
  3941.                     c.href = d.url, c.href = c.href, d.crossDomain =
  3942.                         $t.protocol + "//" + $t.host != c.protocol +
  3943.                         "//" + c.host
  3944.                 } catch (T) {
  3945.                     d.crossDomain = !0
  3946.                 }
  3947.             }
  3948.             if (d.data && d.processData && "string" != typeof d
  3949.                 .data && (d.data = de.param(d.data, d.traditional)),
  3950.                 J(Ht, d, n, k), l) return k;
  3951.             f = de.event && d.global, f && 0 === de.active++ &&
  3952.                 de.event.trigger("ajaxStart"), d.type = d.type.toUpperCase(),
  3953.                 d.hasContent = !Ot.test(d.type), o = d.url.replace(
  3954.                     Dt, ""), d.hasContent ? d.data && d.processData &&
  3955.                 0 === (d.contentType || "").indexOf(
  3956.                     "application/x-www-form-urlencoded") && (d.data =
  3957.                     d.data.replace(Nt, "+")) : (h = d.url.slice(
  3958.                         o.length), d.data && (o += (Ct.test(o) ?
  3959.                         "&" : "?") + d.data, delete d.data), d.cache ===
  3960.                     !1 && (o = o.replace(Ft, "$1"), h = (Ct.test(
  3961.                         o) ? "&" : "?") + "_=" + Tt+++h), d.url =
  3962.                     o + h), d.ifModified && (de.lastModified[o] &&
  3963.                     k.setRequestHeader("If-Modified-Since", de.lastModified[
  3964.                         o]), de.etag[o] && k.setRequestHeader(
  3965.                         "If-None-Match", de.etag[o])), (d.data &&
  3966.                     d.hasContent && d.contentType !== !1 || n.contentType
  3967.                 ) && k.setRequestHeader("Content-Type", d.contentType),
  3968.                 k.setRequestHeader("Accept", d.dataTypes[0] &&
  3969.                     d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[
  3970.                         0]] + ("*" !== d.dataTypes[0] ? ", " +
  3971.                         Pt + "; q=0.01" : "") : d.accepts["*"]);
  3972.             for (p in d.headers) k.setRequestHeader(p, d.headers[
  3973.                 p]);
  3974.             if (d.beforeSend && (d.beforeSend.call(g, k, d) ===
  3975.                 !1 || l)) return k.abort();
  3976.             if (_ = "abort", y.add(d.complete), k.done(d.success),
  3977.                 k.fail(d.error), i = J(It, d, n, k)) {
  3978.                 if (k.readyState = 1, f && m.trigger("ajaxSend", [
  3979.                     k, d
  3980.                 ]), l) return k;
  3981.                 d.async && d.timeout > 0 && (u = e.setTimeout(
  3982.                     function() {
  3983.                         k.abort("timeout")
  3984.                     }, d.timeout));
  3985.                 try {
  3986.                     l = !1, i.send(w, r)
  3987.                 } catch (T) {
  3988.                     if (l) throw T;
  3989.                     r(-1, T)
  3990.                 }
  3991.             } else r(-1, "No Transport");
  3992.             return k
  3993.         },
  3994.         getJSON: function(e, t, n) {
  3995.             return de.get(e, t, n, "json")
  3996.         },
  3997.         getScript: function(e, t) {
  3998.             return de.get(e, void 0, t, "script")
  3999.         }
  4000.     }), de.each(["get", "post"], function(e, t) {
  4001.         de[t] = function(e, n, r, i) {
  4002.             return de.isFunction(n) && (i = i || r, r = n, n =
  4003.                 void 0), de.ajax(de.extend({
  4004.                 url: e,
  4005.                 type: t,
  4006.                 dataType: i,
  4007.                 data: n,
  4008.                 success: r
  4009.             }, de.isPlainObject(e) && e))
  4010.         }
  4011.     }), de._evalUrl = function(e) {
  4012.         return de.ajax({
  4013.             url: e,
  4014.             type: "GET",
  4015.             dataType: "script",
  4016.             cache: !0,
  4017.             async: !1,
  4018.             global: !1,
  4019.             "throws": !0
  4020.         })
  4021.     }, de.fn.extend({
  4022.         wrapAll: function(e) {
  4023.             var t;
  4024.             return this[0] && (de.isFunction(e) && (e = e.call(
  4025.                     this[0])), t = de(e, this[0].ownerDocument)
  4026.                 .eq(0).clone(!0), this[0].parentNode && t.insertBefore(
  4027.                     this[0]), t.map(function() {
  4028.                     for (var e = this; e.firstElementChild;)
  4029.                         e = e.firstElementChild;
  4030.                     return e
  4031.                 }).append(this)), this
  4032.         },
  4033.         wrapInner: function(e) {
  4034.             return de.isFunction(e) ? this.each(function(t) {
  4035.                 de(this).wrapInner(e.call(this, t))
  4036.             }) : this.each(function() {
  4037.                 var t = de(this),
  4038.                     n = t.contents();
  4039.                 n.length ? n.wrapAll(e) : t.append(e)
  4040.             })
  4041.         },
  4042.         wrap: function(e) {
  4043.             var t = de.isFunction(e);
  4044.             return this.each(function(n) {
  4045.                 de(this).wrapAll(t ? e.call(this, n) :
  4046.                     e)
  4047.             })
  4048.         },
  4049.         unwrap: function(e) {
  4050.             return this.parent(e).not("body").each(function() {
  4051.                 de(this).replaceWith(this.childNodes)
  4052.             }), this
  4053.         }
  4054.     }), de.expr.pseudos.hidden = function(e) {
  4055.         return !de.expr.pseudos.visible(e)
  4056.     }, de.expr.pseudos.visible = function(e) {
  4057.         return !!(e.offsetWidth || e.offsetHeight || e.getClientRects()
  4058.             .length)
  4059.     }, de.ajaxSettings.xhr = function() {
  4060.         try {
  4061.             return new e.XMLHttpRequest
  4062.         } catch (t) {}
  4063.     };
  4064.     var Mt = {
  4065.             0: 200,
  4066.             1223: 204
  4067.         },
  4068.         Wt = de.ajaxSettings.xhr();
  4069.     pe.cors = !!Wt && "withCredentials" in Wt, pe.ajax = Wt = !!Wt, de.ajaxTransport(
  4070.         function(t) {
  4071.             var n, r;
  4072.             if (pe.cors || Wt && !t.crossDomain) return {
  4073.                 send: function(i, o) {
  4074.                     var a, s = t.xhr();
  4075.                     if (s.open(t.type, t.url, t.async, t.username,
  4076.                         t.password), t.xhrFields)
  4077.                         for (a in t.xhrFields) s[a] = t.xhrFields[
  4078.                             a];
  4079.                     t.mimeType && s.overrideMimeType && s.overrideMimeType(
  4080.                         t.mimeType), t.crossDomain || i[
  4081.                         "X-Requested-With"] || (i[
  4082.                             "X-Requested-With"] =
  4083.                         "XMLHttpRequest");
  4084.                     for (a in i) s.setRequestHeader(a, i[a]);
  4085.                     n = function(e) {
  4086.                             return function() {
  4087.                                 n && (n = r = s.onload = s.onerror =
  4088.                                     s.onabort = s.onreadystatechange =
  4089.                                     null, "abort" === e ?
  4090.                                     s.abort() : "error" ===
  4091.                                     e ? "number" !=
  4092.                                     typeof s.status ? o(
  4093.                                         0, "error") : o(
  4094.                                         s.status, s.statusText
  4095.                                     ) : o(Mt[s.status] ||
  4096.                                         s.status, s.statusText,
  4097.                                         "text" !== (s.responseType ||
  4098.                                             "text") ||
  4099.                                         "string" !=
  4100.                                         typeof s.responseText ? {
  4101.                                             binary: s.response
  4102.                                         } : {
  4103.                                             text: s.responseText
  4104.                                         }, s.getAllResponseHeaders()
  4105.                                     ))
  4106.                             }
  4107.                         }, s.onload = n(), r = s.onerror = n(
  4108.                             "error"), void 0 !== s.onabort ? s.onabort =
  4109.                         r : s.onreadystatechange = function() {
  4110.                             4 === s.readyState && e.setTimeout(
  4111.                                 function() {
  4112.                                     n && r()
  4113.                                 })
  4114.                         }, n = n("abort");
  4115.                     try {
  4116.                         s.send(t.hasContent && t.data || null)
  4117.                     } catch (u) {
  4118.                         if (n) throw u
  4119.                     }
  4120.                 },
  4121.                 abort: function() {
  4122.                     n && n()
  4123.                 }
  4124.             }
  4125.         }), de.ajaxPrefilter(function(e) {
  4126.         e.crossDomain && (e.contents.script = !1)
  4127.     }), de.ajaxSetup({
  4128.         accepts: {
  4129.             script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  4130.         },
  4131.         contents: {
  4132.             script: /\b(?:java|ecma)script\b/
  4133.         },
  4134.         converters: {
  4135.             "text script": function(e) {
  4136.                 return de.globalEval(e), e
  4137.             }
  4138.         }
  4139.     }), de.ajaxPrefilter("script", function(e) {
  4140.         void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type =
  4141.             "GET")
  4142.     }), de.ajaxTransport("script", function(e) {
  4143.         if (e.crossDomain) {
  4144.             var t, n;
  4145.             return {
  4146.                 send: function(r, i) {
  4147.                     t = de("<script>").prop({
  4148.                         charset: e.scriptCharset,
  4149.                         src: e.url
  4150.                     }).on("load error", n = function(e) {
  4151.                         t.remove(), n = null, e && i(
  4152.                             "error" === e.type ?
  4153.                             404 : 200, e.type)
  4154.                     }), te.head.appendChild(t[0])
  4155.                 },
  4156.                 abort: function() {
  4157.                     n && n()
  4158.                 }
  4159.             }
  4160.         }
  4161.     });
  4162.     var zt = [],
  4163.         Bt = /(=)\?(?=&|$)|\?\?/;
  4164.     de.ajaxSetup({
  4165.             jsonp: "callback",
  4166.             jsonpCallback: function() {
  4167.                 var e = zt.pop() || de.expando + "_" + Tt++;
  4168.                 return this[e] = !0, e
  4169.             }
  4170.         }), de.ajaxPrefilter("json jsonp", function(t, n, r) {
  4171.             var i, o, a, s = t.jsonp !== !1 && (Bt.test(t.url) ? "url" :
  4172.                 "string" == typeof t.data && 0 === (t.contentType ||
  4173.                     "").indexOf("application/x-www-form-urlencoded") &&
  4174.                 Bt.test(t.data) && "data");
  4175.             if (s || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback =
  4176.                 de.isFunction(t.jsonpCallback) ? t.jsonpCallback() :
  4177.                 t.jsonpCallback, s ? t[s] = t[s].replace(Bt, "$1" +
  4178.                     i) : t.jsonp !== !1 && (t.url += (Ct.test(t.url) ?
  4179.                     "&" : "?") + t.jsonp + "=" + i), t.converters[
  4180.                     "script json"] = function() {
  4181.                     return a || de.error(i + " was not called"), a[
  4182.                         0]
  4183.                 }, t.dataTypes[0] = "json", o = e[i], e[i] =
  4184.                 function() {
  4185.                     a = arguments
  4186.                 }, r.always(function() {
  4187.                     void 0 === o ? de(e).removeProp(i) : e[i] =
  4188.                         o, t[i] && (t.jsonpCallback = n.jsonpCallback,
  4189.                             zt.push(i)), a && de.isFunction(o) &&
  4190.                         o(a[0]), a = o = void 0
  4191.                 }), "script"
  4192.         }), pe.createHTMLDocument = function() {
  4193.             var e = te.implementation.createHTMLDocument("").body;
  4194.             return e.innerHTML = "<form></form><form></form>", 2 === e.childNodes
  4195.                 .length
  4196.         }(), de.parseHTML = function(e, t, n) {
  4197.             if ("string" != typeof e) return [];
  4198.             "boolean" == typeof t && (n = t, t = !1);
  4199.             var r, i, o;
  4200.             return t || (pe.createHTMLDocument ? (t = te.implementation.createHTMLDocument(
  4201.                         ""), r = t.createElement("base"), r.href = te.location
  4202.                     .href, t.head.appendChild(r)) : t = te), i = ke.exec(e),
  4203.                 o = !n && [], i ? [t.createElement(i[1])] : (i = b([e], t,
  4204.                     o), o && o.length && de(o).remove(), de.merge([], i
  4205.                     .childNodes))
  4206.         }, de.fn.load = function(e, t, n) {
  4207.             var r, i, o, a = this,
  4208.                 s = e.indexOf(" ");
  4209.             return s > -1 && (r = K(e.slice(s)), e = e.slice(0, s)), de.isFunction(
  4210.                     t) ? (n = t, t = void 0) : t && "object" == typeof t &&
  4211.                 (i = "POST"), a.length > 0 && de.ajax({
  4212.                     url: e,
  4213.                     type: i || "GET",
  4214.                     dataType: "html",
  4215.                     data: t
  4216.                 }).done(function(e) {
  4217.                     o = arguments, a.html(r ? de("<div>").append(de.parseHTML(
  4218.                         e)).find(r) : e)
  4219.                 }).always(n && function(e, t) {
  4220.                     a.each(function() {
  4221.                         n.apply(this, o || [e.responseText, t,
  4222.                             e
  4223.                         ])
  4224.                     })
  4225.                 }), this
  4226.         }, de.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError",
  4227.             "ajaxSuccess", "ajaxSend"
  4228.         ], function(e, t) {
  4229.             de.fn[t] = function(e) {
  4230.                 return this.on(t, e)
  4231.             }
  4232.         }), de.expr.pseudos.animated = function(e) {
  4233.             return de.grep(de.timers, function(t) {
  4234.                 return e === t.elem
  4235.             }).length
  4236.         }, de.offset = {
  4237.             setOffset: function(e, t, n) {
  4238.                 var r, i, o, a, s, u, c, l = de.css(e, "position"),
  4239.                     f = de(e),
  4240.                     p = {};
  4241.                 "static" === l && (e.style.position = "relative"), s =
  4242.                     f.offset(), o = de.css(e, "top"), u = de.css(e,
  4243.                         "left"), c = ("absolute" === l || "fixed" === l) &&
  4244.                     (o + u).indexOf("auto") > -1, c ? (r = f.position(),
  4245.                         a = r.top, i = r.left) : (a = parseFloat(o) ||
  4246.                         0, i = parseFloat(u) || 0), de.isFunction(t) &&
  4247.                     (t = t.call(e, n, de.extend({}, s))), null != t.top &&
  4248.                     (p.top = t.top - s.top + a), null != t.left && (p.left =
  4249.                         t.left - s.left + i), "using" in t ? t.using.call(
  4250.                         e, p) : f.css(p)
  4251.             }
  4252.         }, de.fn.extend({
  4253.             offset: function(e) {
  4254.                 if (arguments.length) return void 0 === e ? this :
  4255.                     this.each(function(t) {
  4256.                         de.offset.setOffset(this, e, t)
  4257.                     });
  4258.                 var t, n, r, i, o = this[0];
  4259.                 if (o) return o.getClientRects().length ? (r = o.getBoundingClientRect(),
  4260.                     r.width || r.height ? (i = o.ownerDocument,
  4261.                         n = Z(i), t = i.documentElement, {
  4262.                             top: r.top + n.pageYOffset - t.clientTop,
  4263.                             left: r.left + n.pageXOffset -
  4264.                                 t.clientLeft
  4265.                         }) : r) : {
  4266.                     top: 0,
  4267.                     left: 0
  4268.                 }
  4269.             },
  4270.             position: function() {
  4271.                 if (this[0]) {
  4272.                     var e, t, n = this[0],
  4273.                         r = {
  4274.                             top: 0,
  4275.                             left: 0
  4276.                         };
  4277.                     return "fixed" === de.css(n, "position") ? t =
  4278.                         n.getBoundingClientRect() : (e = this.offsetParent(),
  4279.                             t = this.offset(), de.nodeName(e[0],
  4280.                                 "html") || (r = e.offset()), r = {
  4281.                                 top: r.top + de.css(e[0],
  4282.                                     "borderTopWidth", !0),
  4283.                                 left: r.left + de.css(e[0],
  4284.                                     "borderLeftWidth", !0)
  4285.                             }), {
  4286.                             top: t.top - r.top - de.css(n,
  4287.                                 "marginTop", !0),
  4288.                             left: t.left - r.left - de.css(n,
  4289.                                 "marginLeft", !0)
  4290.                         }
  4291.                 }
  4292.             },
  4293.             offsetParent: function() {
  4294.                 return this.map(function() {
  4295.                     for (var e = this.offsetParent; e &&
  4296.                         "static" === de.css(e, "position");
  4297.                     ) e = e.offsetParent;
  4298.                     return e || Ve
  4299.                 })
  4300.             }
  4301.         }), de.each({
  4302.             scrollLeft: "pageXOffset",
  4303.             scrollTop: "pageYOffset"
  4304.         }, function(e, t) {
  4305.             var n = "pageYOffset" === t;
  4306.             de.fn[e] = function(r) {
  4307.                 return Le(this, function(e, r, i) {
  4308.                     var o = Z(e);
  4309.                     return void 0 === i ? o ? o[t] : e[r] :
  4310.                         void(o ? o.scrollTo(n ? o.pageXOffset :
  4311.                                 i, n ? i : o.pageYOffset) :
  4312.                             e[r] = i)
  4313.                 }, e, r, arguments.length)
  4314.             }
  4315.         }), de.each(["top", "left"], function(e, t) {
  4316.             de.cssHooks[t] = F(pe.pixelPosition, function(e, n) {
  4317.                 if (n) return n = D(e, t), at.test(n) ? de(e).position()[
  4318.                     t] + "px" : n
  4319.             })
  4320.         }), de.each({
  4321.             Height: "height",
  4322.             Width: "width"
  4323.         }, function(e, t) {
  4324.             de.each({
  4325.                 padding: "inner" + e,
  4326.                 content: t,
  4327.                 "": "outer" + e
  4328.             }, function(n, r) {
  4329.                 de.fn[r] = function(i, o) {
  4330.                     var a = arguments.length && (n ||
  4331.                             "boolean" != typeof i),
  4332.                         s = n || (i === !0 || o === !0 ?
  4333.                             "margin" : "border");
  4334.                     return Le(this, function(t, n, i) {
  4335.                         var o;
  4336.                         return de.isWindow(t) ? 0 ===
  4337.                             r.indexOf("outer") ? t[
  4338.                                 "inner" + e] : t.document
  4339.                             .documentElement[
  4340.                                 "client" + e] : 9 ===
  4341.                             t.nodeType ? (o = t.documentElement,
  4342.                                 Math.max(t.body[
  4343.                                     "scroll" +
  4344.                                     e], o[
  4345.                                     "scroll" +
  4346.                                     e], t.body[
  4347.                                     "offset" +
  4348.                                     e], o[
  4349.                                     "offset" +
  4350.                                     e], o[
  4351.                                     "client" +
  4352.                                     e])) : void 0 ===
  4353.                             i ? de.css(t, n, s) :
  4354.                             de.style(t, n, i, s)
  4355.                     }, t, a ? i : void 0, a)
  4356.                 }
  4357.             })
  4358.         }), de.fn.extend({
  4359.             bind: function(e, t, n) {
  4360.                 return this.on(e, null, t, n)
  4361.             },
  4362.             unbind: function(e, t) {
  4363.                 return this.off(e, null, t)
  4364.             },
  4365.             delegate: function(e, t, n, r) {
  4366.                 return this.on(t, e, n, r)
  4367.             },
  4368.             undelegate: function(e, t, n) {
  4369.                 return 1 === arguments.length ? this.off(e, "**") :
  4370.                     this.off(t, e || "**", n)
  4371.             }
  4372.         }), de.parseJSON = JSON.parse, "function" == typeof define &&
  4373.         define.amd && define("jquery", [], function() {
  4374.             return de
  4375.         });
  4376.     var Kt = e.jQuery,
  4377.         Ut = e.$;
  4378.     return de.noConflict = function(t) {
  4379.         return e.$ === de && (e.$ = Ut), t && e.jQuery === de && (e.jQuery =
  4380.             Kt), de
  4381.     }, t || (e.jQuery = e.$ = de), de
  4382. }),
  4383. function(e) {
  4384.     function t(e) {
  4385.         return Object.prototype.toString.call(e).slice(8, -1).toLowerCase()
  4386.     }
  4387.  
  4388.     function n(e, t) {
  4389.         for (var n = []; t > 0; n[--t] = e);
  4390.         return n.join("")
  4391.     }
  4392.     var r = function() {
  4393.         return r.cache.hasOwnProperty(arguments[0]) || (r.cache[arguments[0]] =
  4394.             r.parse(arguments[0])), r.format.call(null, r.cache[
  4395.             arguments[0]], arguments)
  4396.     };
  4397.     r.format = function(e, i) {
  4398.         var o, a, s, u, c, l, f, p = 1,
  4399.             h = e.length,
  4400.             d = "",
  4401.             g = [];
  4402.         for (a = 0; a < h; a++)
  4403.             if (d = t(e[a]), "string" === d) g.push(e[a]);
  4404.             else if ("array" === d) {
  4405.             if (u = e[a], u[2])
  4406.                 for (o = i[p], s = 0; s < u[2].length; s++) {
  4407.                     if (!o.hasOwnProperty(u[2][s])) throw r(
  4408.                         '[sprintf] property "%s" does not exist', u[2][
  4409.                             s
  4410.                         ]);
  4411.                     o = o[u[2][s]]
  4412.                 } else o = u[1] ? i[u[1]] : i[p++];
  4413.             if (/[^s]/.test(u[8]) && "number" != t(o)) throw r(
  4414.                 "[sprintf] expecting number but found %s", t(o));
  4415.             switch (u[8]) {
  4416.                 case "b":
  4417.                     o = o.toString(2);
  4418.                     break;
  4419.                 case "c":
  4420.                     o = String.fromCharCode(o);
  4421.                     break;
  4422.                 case "d":
  4423.                     o = parseInt(o, 10);
  4424.                     break;
  4425.                 case "e":
  4426.                     o = u[7] ? o.toExponential(u[7]) : o.toExponential();
  4427.                     break;
  4428.                 case "f":
  4429.                     o = u[7] ? parseFloat(o).toFixed(u[7]) : parseFloat(o);
  4430.                     break;
  4431.                 case "o":
  4432.                     o = o.toString(8);
  4433.                     break;
  4434.                 case "s":
  4435.                     o = (o = String(o)) && u[7] ? o.substring(0, u[7]) : o;
  4436.                     break;
  4437.                 case "u":
  4438.                     o >>>= 0;
  4439.                     break;
  4440.                 case "x":
  4441.                     o = o.toString(16);
  4442.                     break;
  4443.                 case "X":
  4444.                     o = o.toString(16).toUpperCase()
  4445.             }
  4446.             o = /[def]/.test(u[8]) && u[3] && o >= 0 ? "+" + o : o, l = u[4] ?
  4447.                 "0" == u[4] ? "0" : u[4].charAt(1) : " ", f = u[6] - String(
  4448.                     o).length, c = u[6] ? n(l, f) : "", g.push(u[5] ? o + c :
  4449.                     c + o)
  4450.         }
  4451.         return g.join("")
  4452.     }, r.cache = {}, r.parse = function(e) {
  4453.         for (var t = e, n = [], r = [], i = 0; t;) {
  4454.             if (null !== (n = /^[^\x25]+/.exec(t))) r.push(n[0]);
  4455.             else if (null !== (n = /^\x25{2}/.exec(t))) r.push("%");
  4456.             else {
  4457.                 if (null === (n =
  4458.                     /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/
  4459.                     .exec(t))) throw "[sprintf] huh?";
  4460.                 if (n[2]) {
  4461.                     i |= 1;
  4462.                     var o = [],
  4463.                         a = n[2],
  4464.                         s = [];
  4465.                     if (null === (s = /^([a-z_][a-z_\d]*)/i.exec(a))) throw "[sprintf] huh?";
  4466.                     for (o.push(s[1]);
  4467.                         "" !== (a = a.substring(s[0].length));)
  4468.                         if (null !== (s = /^\.([a-z_][a-z_\d]*)/i.exec(a)))
  4469.                             o.push(s[1]);
  4470.                         else {
  4471.                             if (null === (s = /^\[(\d+)\]/.exec(a))) throw "[sprintf] huh?";
  4472.                             o.push(s[1])
  4473.                         }
  4474.                     n[2] = o
  4475.                 } else i |= 2; if (3 === i) throw "[sprintf] mixing positional and named placeholders is not (yet) supported";
  4476.                 r.push(n)
  4477.             }
  4478.             t = t.substring(n[0].length)
  4479.         }
  4480.         return r
  4481.     };
  4482.     var i = function(e, t, n) {
  4483.         return n = t.slice(0), n.splice(0, 0, e), r.apply(null, n)
  4484.     };
  4485.     e.sprintf = r, e.vsprintf = i
  4486. }("undefined" != typeof global ? global : window),
  4487. function(e, t) {
  4488.     "use strict";
  4489.  
  4490.     function n(e, t) {
  4491.         var n;
  4492.         if ("string" == typeof e && "string" == typeof t) return
  4493.         localStorage[e] = t, !0;
  4494.         if ("object" == typeof e && "undefined" == typeof t) {
  4495.             for (n in e) e.hasOwnProperty(n) && (localStorage[n] = e[n]);
  4496.             return !0
  4497.         }
  4498.         return !1
  4499.     }
  4500.  
  4501.     function r(e, t) {
  4502.         var n, r, i;
  4503.         if (n = new Date, n.setTime(n.getTime() + 31536e6), r =
  4504.             "; expires=" + n.toGMTString(), "string" == typeof e &&
  4505.             "string" == typeof t) return document.cookie = e + "=" + t + r +
  4506.             "; path=/", !0;
  4507.         if ("object" == typeof e && "undefined" == typeof t) {
  4508.             for (i in e) e.hasOwnProperty(i) && (document.cookie = i + "=" +
  4509.                 e[i] + r + "; path=/");
  4510.             return !0
  4511.         }
  4512.         return !1
  4513.     }
  4514.  
  4515.     function i(e) {
  4516.         return localStorage[e]
  4517.     }
  4518.  
  4519.     function o(e) {
  4520.         var t, n, r, i;
  4521.         for (t = e + "=", n = document.cookie.split(";"), r = 0; r < n.length; r++) {
  4522.             for (i = n[r];
  4523.                 " " === i.charAt(0);) i = i.substring(1, i.length);
  4524.             if (0 === i.indexOf(t)) return i.substring(t.length, i.length)
  4525.         }
  4526.         return null
  4527.     }
  4528.  
  4529.     function a(e) {
  4530.         return delete localStorage[e]
  4531.     }
  4532.  
  4533.     function s(e) {
  4534.         return r(e, "", -1)
  4535.     }
  4536.  
  4537.     function u(e, t) {
  4538.         var n = [],
  4539.             r = e.length;
  4540.         if (r < t) return [e];
  4541.         if (t < 0) throw new Error("str_parts: length can't be negative");
  4542.         for (var i = 0; i < r; i += t) n.push(e.substring(i, i + t));
  4543.         return n
  4544.     }
  4545.  
  4546.     function c(t) {
  4547.         var n = t ? [t] : [],
  4548.             r = 0;
  4549.         e.extend(this, {
  4550.             get: function() {
  4551.                 return n
  4552.             },
  4553.             rotate: function() {
  4554.                 if (n.filter(Boolean).length) return 1 === n.length ?
  4555.                     n[0] : (r === n.length - 1 ? r = 0 : ++
  4556.                         r, n[r] ? n[r] : this.rotate())
  4557.             },
  4558.             length: function() {
  4559.                 return n.length
  4560.             },
  4561.             remove: function(e) {
  4562.                 delete n[e]
  4563.             },
  4564.             set: function(e) {
  4565.                 for (var t = n.length; t--;)
  4566.                     if (n[t] === e) return void(r = t);
  4567.                 this.append(e)
  4568.             },
  4569.             front: function() {
  4570.                 if (n.length) {
  4571.                     for (var e = r, t = !1; !n[e];)
  4572.                         if (e++, e > n.length) {
  4573.                             if (t) break;
  4574.                             e = 0, t = !0
  4575.                         }
  4576.                     return n[e]
  4577.                 }
  4578.             },
  4579.             append: function(e) {
  4580.                 n.push(e)
  4581.             }
  4582.         })
  4583.     }
  4584.  
  4585.     function l(t) {
  4586.         var n = t instanceof Array ? t : t ? [t] : [];
  4587.         e.extend(this, {
  4588.             data: function() {
  4589.                 return n
  4590.             },
  4591.             map: function(t) {
  4592.                 return e.map(n, t)
  4593.             },
  4594.             size: function() {
  4595.                 return n.length
  4596.             },
  4597.             pop: function() {
  4598.                 if (0 === n.length) return null;
  4599.                 var e = n[n.length - 1];
  4600.                 return n = n.slice(0, n.length - 1), e
  4601.             },
  4602.             push: function(e) {
  4603.                 return n = n.concat([e]), e
  4604.             },
  4605.             top: function() {
  4606.                 return n.length > 0 ? n[n.length - 1] : null
  4607.             },
  4608.             clone: function() {
  4609.                 return new l(n.slice(0))
  4610.             }
  4611.         })
  4612.     }
  4613.  
  4614.     function f(t, n) {
  4615.         var r = !0,
  4616.             i = "";
  4617.         "string" == typeof t && "" !== t && (i = t + "_"), i += "commands";
  4618.         var o = e.Storage.get(i);
  4619.         o = o ? e.parseJSON(o) : [];
  4620.         var a = o.length - 1;
  4621.         e.extend(this, {
  4622.             append: function(t) {
  4623.                 r && o[o.length - 1] !== t && (o.push(t), n &&
  4624.                     o.length > n && (o = o.slice(-n)), a =
  4625.                     o.length - 1, e.Storage.set(i, e.json_stringify(
  4626.                         o)))
  4627.             },
  4628.             data: function() {
  4629.                 return o
  4630.             },
  4631.             reset: function() {
  4632.                 a = o.length - 1
  4633.             },
  4634.             last: function() {
  4635.                 return o[o.length - 1]
  4636.             },
  4637.             end: function() {
  4638.                 return a === o.length - 1
  4639.             },
  4640.             position: function() {
  4641.                 return a
  4642.             },
  4643.             current: function() {
  4644.                 return o[a]
  4645.             },
  4646.             next: function() {
  4647.                 if (a < o.length - 1 && ++a, a !== -1) return o[
  4648.                     a]
  4649.             },
  4650.             previous: function() {
  4651.                 var e = a;
  4652.                 if (a > 0 && --a, e !== -1) return o[a]
  4653.             },
  4654.             clear: function() {
  4655.                 o = [], this.purge()
  4656.             },
  4657.             enabled: function() {
  4658.                 return r
  4659.             },
  4660.             enable: function() {
  4661.                 r = !0
  4662.             },
  4663.             purge: function() {
  4664.                 e.Storage.remove(i)
  4665.             },
  4666.             disable: function() {
  4667.                 r = !1
  4668.             }
  4669.         })
  4670.     }
  4671.  
  4672.     function p(t, n) {
  4673.         var r = n(t);
  4674.         if (r.length) {
  4675.             var i = r.shift(),
  4676.                 o = new RegExp("^" + e.terminal.escape_regex(i)),
  4677.                 a = t.replace(o, "").trim();
  4678.             return {
  4679.                 command: t,
  4680.                 name: i,
  4681.                 args: r,
  4682.                 rest: a
  4683.             }
  4684.         }
  4685.         return {
  4686.             command: t,
  4687.             name: "",
  4688.             args: [],
  4689.             rest: ""
  4690.         }
  4691.     }
  4692.  
  4693.     function h() {
  4694.         var t = e(
  4695.                 '<div class="terminal temp"><div class="cmd"><span class="cursor">&nbsp;</span></div></div>'
  4696.             ).appendTo("body"),
  4697.             n = t.find("span"),
  4698.             r = {
  4699.                 width: n.width(),
  4700.                 height: n.outerHeight()
  4701.             };
  4702.         return t.remove(), r
  4703.     }
  4704.  
  4705.     function d(t) {
  4706.         var n = e(
  4707.                 '<div class="terminal wrap"><span class="cursor">&nbsp;</span></div>'
  4708.             ).appendTo("body").css("padding", 0),
  4709.             r = n.find("span"),
  4710.             i = r[0].getBoundingClientRect().width,
  4711.             o = Math.floor(t.width() / i);
  4712.         if (n.remove(), v(t)) {
  4713.             var a = 20,
  4714.                 s = t.innerWidth() - t.width();
  4715.             o -= Math.ceil((a - s / 2) / (i - 1))
  4716.         }
  4717.         return o
  4718.     }
  4719.  
  4720.     function g(e) {
  4721.         return Math.floor(e.height() / h().height)
  4722.     }
  4723.  
  4724.     function m() {
  4725.         if (window.getSelection || document.getSelection) {
  4726.             var e = (window.getSelection || document.getSelection)();
  4727.             return e.text ? e.text : e.toString()
  4728.         }
  4729.         if (document.selection) return document.selection.createRange().text
  4730.     }
  4731.  
  4732.     function v(t) {
  4733.         return "scroll" == t.css("overflow") || "scroll" == t.css(
  4734.             "overflow-y") || (t.is("body") ? e("body").height() > e(
  4735.             window).height() : t.get(0).scrollHeight > t.innerHeight())
  4736.     }
  4737.     e.omap = function(t, n) {
  4738.         var r = {};
  4739.         return e.each(t, function(e, i) {
  4740.             r[e] = n.call(t, e, i)
  4741.         }), r
  4742.     };
  4743.     var y = {
  4744.             clone_object: function(t) {
  4745.                 var n = {};
  4746.                 if ("object" == typeof t) {
  4747.                     if (e.isArray(t)) return this.clone_array(t);
  4748.                     if (null === t) return t;
  4749.                     for (var r in t) e.isArray(t[r]) ? n[r] = this.clone_array(
  4750.                         t[r]) : "object" == typeof t[r] ? n[r] = this.clone_object(
  4751.                         t[r]) : n[r] = t[r]
  4752.                 }
  4753.                 return n
  4754.             },
  4755.             clone_array: function(t) {
  4756.                 if (!e.isFunction(Array.prototype.map)) throw new Error(
  4757.                     "You'r browser don't support ES5 array map use es5-shim"
  4758.                 );
  4759.                 return t.slice(0).map(function(e) {
  4760.                     return "object" == typeof e ? this.clone_object(
  4761.                         e) : e
  4762.                 }.bind(this))
  4763.             }
  4764.         },
  4765.         b = function(e) {
  4766.             return y.clone_object(e)
  4767.         },
  4768.         w = function() {
  4769.             var e = "test",
  4770.                 t = window.localStorage;
  4771.             try {
  4772.                 return t.setItem(e, "1"), t.removeItem(e), !0
  4773.             } catch (n) {
  4774.                 return !1
  4775.             }
  4776.         },
  4777.         x = w();
  4778.     e.extend({
  4779.         Storage: {
  4780.             set: x ? n : r,
  4781.             get: x ? i : o,
  4782.             remove: x ? a : s
  4783.         }
  4784.     });
  4785.     var _ = e;
  4786.     _.fn.extend({
  4787.             everyTime: function(e, t, n, r, i) {
  4788.                 return this.each(function() {
  4789.                     _.timer.add(this, e, t, n, r, i)
  4790.                 })
  4791.             },
  4792.             oneTime: function(e, t, n) {
  4793.                 return this.each(function() {
  4794.                     _.timer.add(this, e, t, n, 1)
  4795.                 })
  4796.             },
  4797.             stopTime: function(e, t) {
  4798.                 return this.each(function() {
  4799.                     _.timer.remove(this, e, t)
  4800.                 })
  4801.             }
  4802.         }), _.extend({
  4803.             timer: {
  4804.                 guid: 1,
  4805.                 global: {},
  4806.                 regex: /^([0-9]+)\s*(.*s)?$/,
  4807.                 powers: {
  4808.                     ms: 1,
  4809.                     cs: 10,
  4810.                     ds: 100,
  4811.                     s: 1e3,
  4812.                     das: 1e4,
  4813.                     hs: 1e5,
  4814.                     ks: 1e6
  4815.                 },
  4816.                 timeParse: function(e) {
  4817.                     if (e === t || null === e) return null;
  4818.                     var n = this.regex.exec(_.trim(e.toString()));
  4819.                     if (n[2]) {
  4820.                         var r = parseInt(n[1], 10),
  4821.                             i = this.powers[n[2]] || 1;
  4822.                         return r * i
  4823.                     }
  4824.                     return e
  4825.                 },
  4826.                 add: function(e, t, n, r, i, o) {
  4827.                     var a = 0;
  4828.                     if (_.isFunction(n) && (i || (i = r), r = n, n = t),
  4829.                         t = _.timer.timeParse(t), !("number" != typeof t ||
  4830.                             isNaN(t) || t <= 0)) {
  4831.                         i && i.constructor !== Number && (o = !!i, i =
  4832.                                 0), i = i || 0, o = o || !1, e.$timers ||
  4833.                             (e.$timers = {}), e.$timers[n] || (e.$timers[
  4834.                                 n] = {}), r.$timerID = r.$timerID ||
  4835.                             this.guid++;
  4836.                         var s = function() {
  4837.                             o && s.inProgress || (s.inProgress = !0, (++
  4838.                                     a > i && 0 !== i || r.call(
  4839.                                         e, a) === !1) && _.timer
  4840.                                 .remove(e, n, r), s.inProgress = !
  4841.                                 1)
  4842.                         };
  4843.                         s.$timerID = r.$timerID, e.$timers[n][r.$timerID] ||
  4844.                             (e.$timers[n][r.$timerID] = window.setInterval(
  4845.                                 s, t)), this.global[n] || (this.global[
  4846.                                 n] = []), this.global[n].push(e)
  4847.                     }
  4848.                 },
  4849.                 remove: function(e, t, n) {
  4850.                     var r, i = e.$timers;
  4851.                     if (i) {
  4852.                         if (t) {
  4853.                             if (i[t]) {
  4854.                                 if (n) n.$timerID && (window.clearInterval(
  4855.                                     i[t][n.$timerID]), delete i[
  4856.                                     t][n.$timerID]);
  4857.                                 else
  4858.                                     for (var o in i[t]) i[t].hasOwnProperty(
  4859.                                         o) && (window.clearInterval(
  4860.                                         i[t][o]), delete i[t][o]);
  4861.                                 for (r in i[t])
  4862.                                     if (i[t].hasOwnProperty(r)) break;
  4863.                                 r || (r = null, delete i[t])
  4864.                             }
  4865.                         } else
  4866.                             for (var a in i) i.hasOwnProperty(a) &&
  4867.                                 this.remove(e, a, n);
  4868.                         for (r in i)
  4869.                             if (i.hasOwnProperty(r)) break;
  4870.                         r || (e.$timers = null)
  4871.                     }
  4872.                 }
  4873.             }
  4874.         }), /(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase()) && _(
  4875.             window).one("unload", function() {
  4876.             var e = _.timer.global;
  4877.             for (var t in e)
  4878.                 if (e.hasOwnProperty(t))
  4879.                     for (var n = e[t], r = n.length; --r;) _.timer.remove(n[
  4880.                         r], t)
  4881.         }),
  4882.         function(e) {
  4883.             if (String.prototype.split.toString().match(/\[native/)) {
  4884.                 var t, n = String.prototype.split,
  4885.                     r = /()??/.exec("")[1] === e;
  4886.                 return t = function(t, i, o) {
  4887.                     if ("[object RegExp]" !== Object.prototype.toString.call(
  4888.                         i)) return n.call(t, i, o);
  4889.                     var a, s, u, c, l = [],
  4890.                         f = (i.ignoreCase ? "i" : "") + (i.multiline ? "m" :
  4891.                             "") + (i.extended ? "x" : "") + (i.sticky ? "y" :
  4892.                             ""),
  4893.                         p = 0;
  4894.                     for (i = new RegExp(i.source, f + "g"), t += "", r || (
  4895.                             a = new RegExp("^" + i.source + "$(?!\\s)", f)),
  4896.                         o = o === e ? -1 >>> 0 : o >>> 0;
  4897.                         (s = i.exec(t)) && (u = s.index + s[0].length, !(u >
  4898.                             p && (l.push(t.slice(p, s.index)), !r && s.length >
  4899.                                 1 && s[0].replace(a, function() {
  4900.                                     for (var t = 1; t < arguments.length -
  4901.                                         2; t++) arguments[t] === e &&
  4902.                                         (s[t] = e)
  4903.                                 }), s.length > 1 && s.index < t.length &&
  4904.                                 Array.prototype.push.apply(l, s.slice(1)),
  4905.                                 c = s[0].length, p = u, l.length >= o)));) i
  4906.                         .lastIndex === s.index && i.lastIndex++;
  4907.                     return p === t.length ? !c && i.test("") || l.push("") :
  4908.                         l.push(t.slice(p)), l.length > o ? l.slice(0, o) :
  4909.                         l
  4910.                 }, String.prototype.split = function(e, n) {
  4911.                     return t(this, e, n)
  4912.                 }, t
  4913.             }
  4914.         }(), e.fn.caret = function(e) {
  4915.             var t = this[0],
  4916.                 n = "true" === t.contentEditable;
  4917.             if (0 == arguments.length) {
  4918.                 if (window.getSelection) {
  4919.                     if (n) {
  4920.                         t.focus();
  4921.                         var r = window.getSelection().getRangeAt(0),
  4922.                             i = r.cloneRange();
  4923.                         return i.selectNodeContents(t), i.setEnd(r.endContainer,
  4924.                             r.endOffset), i.toString().length
  4925.                     }
  4926.                     return t.selectionStart
  4927.                 }
  4928.                 if (document.selection) {
  4929.                     if (t.focus(), n) {
  4930.                         var r = document.selection.createRange(),
  4931.                             i = document.body.createTextRange();
  4932.                         return i.moveToElementText(t), i.setEndPoint("EndToEnd",
  4933.                             r), i.text.length
  4934.                     }
  4935.                     var e = 0,
  4936.                         o = t.createTextRange(),
  4937.                         i = document.selection.createRange().duplicate(),
  4938.                         a = i.getBookmark();
  4939.                     for (o.moveToBookmark(a); 0 !== o.moveStart("character", -1);)
  4940.                         e++;
  4941.                     return e
  4942.                 }
  4943.                 return 0
  4944.             }
  4945.             if (e == -1 && (e = this[n ? "text" : "val"]().length), window.getSelection)
  4946.                 n ? (t.focus(), window.getSelection().collapse(t.firstChild, e)) :
  4947.                 t.setSelectionRange(e, e);
  4948.             else if (document.body.createTextRange) {
  4949.                 var o = document.body.createTextRange();
  4950.                 o.moveToElementText(t), o.moveStart("character", e), o.collapse(!
  4951.                     0), o.select()
  4952.             }
  4953.             return n || t.focus(), e
  4954.         }, e.json_stringify = function(n, r) {
  4955.             var i, o = "";
  4956.             r = r === t ? 1 : r;
  4957.             var a = typeof n;
  4958.             switch (a) {
  4959.                 case "function":
  4960.                     o += n;
  4961.                     break;
  4962.                 case "boolean":
  4963.                     o += n ? "true" : "false";
  4964.                     break;
  4965.                 case "object":
  4966.                     if (null === n) o += "null";
  4967.                     else if (n instanceof Array) {
  4968.                         o += "[";
  4969.                         var s = n.length;
  4970.                         for (i = 0; i < s - 1; ++i) o += e.json_stringify(n[i],
  4971.                             r + 1);
  4972.                         o += e.json_stringify(n[s - 1], r + 1) + "]"
  4973.                     } else {
  4974.                         o += "{";
  4975.                         for (var u in n) n.hasOwnProperty(u) && (o += '"' + u +
  4976.                             '":' + e.json_stringify(n[u], r + 1));
  4977.                         o += "}"
  4978.                     }
  4979.                     break;
  4980.                 case "string":
  4981.                     var c = n,
  4982.                         l = {
  4983.                             "\\\\": "\\\\",
  4984.                             '"': '\\"',
  4985.                             "/": "\\/",
  4986.                             "\\n": "\\n",
  4987.                             "\\r": "\\r",
  4988.                             "\\t": "\\t"
  4989.                         };
  4990.                     for (i in l) l.hasOwnProperty(i) && (c = c.replace(new RegExp(
  4991.                         i, "g"), l[i]));
  4992.                     o += '"' + c + '"';
  4993.                     break;
  4994.                 case "number":
  4995.                     o += String(n)
  4996.             }
  4997.             return o += r > 1 ? "," : "", 1 === r && (o = o.replace(/,([\]}])/g,
  4998.                 "$1")), o.replace(/([\[{]),/g, "$1")
  4999.         };
  5000.     var k = function() {
  5001.         var e = document.createElement("div");
  5002.         return e.setAttribute("onpaste", "return;"), "function" == typeof e
  5003.             .onpaste
  5004.     }();
  5005.     e.fn.cmd = function(n) {
  5006.         function r() {
  5007.             var e = x.is(":focus");
  5008.             D ? e || (x.focus(), b.oneTime(10, function() {
  5009.                 x.focus()
  5010.             })) : e && x.blur()
  5011.         }
  5012.  
  5013.         function i() {
  5014.             S && b.oneTime(10, function() {
  5015.                 x.val($), b.oneTime(10, function() {
  5016.                     x.caret(z)
  5017.                 })
  5018.             })
  5019.         }
  5020.  
  5021.         function o(e) {
  5022.             K.toggleClass("inverted")
  5023.         }
  5024.  
  5025.         function a() {
  5026.             N = "(reverse-i-search)`" + H + "': ", V()
  5027.         }
  5028.  
  5029.         function s() {
  5030.             N = j, q = !1, I = null, H = ""
  5031.         }
  5032.  
  5033.         function c(t) {
  5034.             var n, r, i = L.data(),
  5035.                 o = i.length;
  5036.             if (t && I > 0 && (o -= I), H.length > 0)
  5037.                 for (var s = H.length; s > 0; s--) {
  5038.                     r = e.terminal.escape_regex(H.substring(0, s)), n =
  5039.                         new RegExp(r);
  5040.                     for (var u = o; u--;)
  5041.                         if (n.test(i[u])) return I = i.length - u, b.position(
  5042.                                 i[u].indexOf(r)), b.set(i[u], !0),
  5043.                             J(), void(H.length !== s && (H = H.substring(
  5044.                                 0, s), a()))
  5045.                 }
  5046.             H = ""
  5047.         }
  5048.  
  5049.         function l() {
  5050.             var e = b.width(),
  5051.                 t = K[0].getBoundingClientRect().width;
  5052.             _ = Math.floor(e / t)
  5053.         }
  5054.  
  5055.         function p(e) {
  5056.             var t = e.substring(0, _ - E),
  5057.                 n = e.substring(_ - E);
  5058.             return [t].concat(u(n, _))
  5059.         }
  5060.  
  5061.         function h(e) {
  5062.             if (!(U++ > 0) && (e.originalEvent && (e = e.originalEvent),
  5063.                 b.isenabled())) {
  5064.                 var t = b.find("textarea");
  5065.                 t.is(":focus") || t.focus(), b.oneTime(100, function() {
  5066.                     b.insert(t.val()), t.val(""), i()
  5067.                 })
  5068.             }
  5069.         }
  5070.  
  5071.         function d(r) {
  5072.             var i, o, u;
  5073.             if (D) {
  5074.                 if (e.isFunction(n.keydown) && (i = n.keydown(r), i !==
  5075.                     t)) return i;
  5076.                 if (38 === r.which || 80 === r.which && r.ctrlKey || (G = !
  5077.                         0), !q || 35 !== r.which && 36 !== r.which &&
  5078.                     37 !== r.which && 38 !== r.which && 39 !== r.which &&
  5079.                     40 !== r.which && 13 !== r.which && 27 !== r.which) {
  5080.                     if (r.altKey) return 68 !== r.which || (b.set($.slice(
  5081.                             0, z) + $.slice(z).replace(
  5082.                             / *[^ ]+ *(?= )|[^ ]+$/, ""), !
  5083.                         0), !1);
  5084.                     if (13 === r.keyCode)
  5085.                         if (r.shiftKey) b.insert("\n");
  5086.                         else {
  5087.                             (L && $ && !P && e.isFunction(n.historyFilter) &&
  5088.                                 n.historyFilter($) || n.historyFilter instanceof RegExp &&
  5089.                                 $.match(n.historyFilter) || !n.historyFilter
  5090.                             ) && L.append($);
  5091.                             var l = $;
  5092.                             L.reset(), b.set(""), n.commands && n.commands(
  5093.                                 l), e.isFunction(N) && V()
  5094.                         } else if (8 === r.which) {
  5095.                         if (q ? (H = H.slice(0, -1), a()) : "" !== $ &&
  5096.                             z > 0 && b["delete"](-1), S) return !0
  5097.                     } else if (67 === r.which && r.ctrlKey && r.shiftKey)
  5098.                         M = m();
  5099.                     else if (86 === r.which && r.ctrlKey && r.shiftKey)
  5100.                         "" !== M && b.insert(M);
  5101.                     else if (9 !== r.which || r.ctrlKey || r.altKey) {
  5102.                         if (46 === r.which) return void b["delete"](1);
  5103.                         if (L && 38 === r.which && !r.ctrlKey || 80 ===
  5104.                             r.which && r.ctrlKey) G ? (A = $, b.set(L.current())) :
  5105.                             b.set(L.previous()), G = !1;
  5106.                         else if (L && 40 === r.which && !r.ctrlKey ||
  5107.                             78 === r.which && r.ctrlKey) b.set(L.end() ?
  5108.                             A : L.next());
  5109.                         else if (37 === r.which || 66 === r.which && r.ctrlKey)
  5110.                             if (r.ctrlKey && 66 !== r.which) {
  5111.                                 u = z - 1, o = 0, " " === $[u] && --u;
  5112.                                 for (var f = u; f > 0; --f) {
  5113.                                     if (" " === $[f] && " " !== $[f + 1]) {
  5114.                                         o = f + 1;
  5115.                                         break
  5116.                                     }
  5117.                                     if ("\n" === $[f] && "\n" !== $[f +
  5118.                                         1]) {
  5119.                                         o = f;
  5120.                                         break
  5121.                                     }
  5122.                                 }
  5123.                                 b.position(o)
  5124.                             } else z > 0 && (b.position(-1, !0), J());
  5125.                         else if (82 === r.which && r.ctrlKey) q ? c(!0) :
  5126.                             (j = N, a(), A = $, b.set(""), J(), q = !0);
  5127.                         else if (71 == r.which && r.ctrlKey) q && (N =
  5128.                             j, V(), b.set(A), J(), q = !1, H = "");
  5129.                         else if (39 === r.which || 70 === r.which && r.ctrlKey)
  5130.                             if (r.ctrlKey && 70 !== r.which) {
  5131.                                 " " === $[z] && ++z;
  5132.                                 var p = /\S[\n\s]{2,}|[\n\s]+\S?/,
  5133.                                     g = $.slice(z).match(p);
  5134.                                 !g || g[0].match(/^\s+$/) ? b.position(
  5135.                                         $.length) : " " !== g[0][0] ? z +=
  5136.                                     g.index + 1 : (z += g.index + g[0].length -
  5137.                                         1, " " !== g[0][g[0].length - 1] &&
  5138.                                         --z), J()
  5139.                             } else z < $.length && b.position(1, !0);
  5140.                         else {
  5141.                             if (123 === r.which) return;
  5142.                             if (36 === r.which) b.position(0);
  5143.                             else if (35 === r.which) b.position($.length);
  5144.                             else {
  5145.                                 if (r.shiftKey && 45 == r.which) return
  5146.                                 x.val(""), U = 0, void(k ? x.focus() :
  5147.                                     h(r));
  5148.                                 if (!r.ctrlKey && !r.metaKey) return Q = !
  5149.                                     1, void(Y = !0);
  5150.                                 if (192 === r.which) return;
  5151.                                 if (r.metaKey) {
  5152.                                     if (82 === r.which) return;
  5153.                                     if (76 === r.which) return
  5154.                                 }
  5155.                                 if (r.shiftKey) {
  5156.                                     if (84 === r.which) return
  5157.                                 } else {
  5158.                                     if (81 === r.which) {
  5159.                                         if ("" !== $ && 0 !== z) {
  5160.                                             var v = $.slice(0, z).match(
  5161.                                                 /([^ ]+ *$)/);
  5162.                                             W = b["delete"](-v[0].length)
  5163.                                         }
  5164.                                         return !1
  5165.                                     }
  5166.                                     if (72 === r.which) return "" !== $ &&
  5167.                                         z > 0 && b["delete"](-1), !
  5168.                                         1;
  5169.                                     if (65 === r.which) b.position(0);
  5170.                                     else if (69 === r.which) b.position(
  5171.                                         $.length);
  5172.                                     else {
  5173.                                         if (88 === r.which || 67 === r.which ||
  5174.                                             84 === r.which) return;
  5175.                                         if (89 === r.which) "" !== W &&
  5176.                                             b.insert(W);
  5177.                                         else {
  5178.                                             if (86 === r.which || 118 ===
  5179.                                                 r.which) return x.val(
  5180.                                                     ""), U = 0,
  5181.                                                 void(k ? (x.focus(),
  5182.                                                     x.on(
  5183.                                                         "input",
  5184.                                                         function y(
  5185.                                                             e) {
  5186.                                                             h(e),
  5187.                                                                 x
  5188.                                                                 .off(
  5189.                                                                     "input",
  5190.                                                                     y
  5191.                                                                 )
  5192.                                                         })) : h(
  5193.                                                     r));
  5194.                                             if (75 === r.which) W = b[
  5195.                                                 "delete"]($.length -
  5196.                                                 z);
  5197.                                             else if (85 === r.which) "" !==
  5198.                                                 $ && 0 !== z && (W = b[
  5199.                                                     "delete"](-z));
  5200.                                             else if (17 === r.which)
  5201.                                                 return !1
  5202.                                         }
  5203.                                     }
  5204.                                 }
  5205.                             }
  5206.                         }
  5207.                     } else b.insert("\t")
  5208.                 } else s(), V(), 27 === r.which && b.set(""), J(), d.call(
  5209.                     this, r);
  5210.                 r.preventDefault()
  5211.             }
  5212.         }
  5213.  
  5214.         function g() {
  5215.             e.isFunction(n.onCommandChange) && n.onCommandChange($)
  5216.         }
  5217.  
  5218.         function v(r) {
  5219.             var i;
  5220.             if (Y = !1, (!r.ctrlKey && !r.metaKey || [99, 118, 86].indexOf(
  5221.                 r.which) === -1) && !Q) {
  5222.                 if (!q && e.isFunction(n.keypress) && (i = n.keypress(r)),
  5223.                     i !== t && !i) return i;
  5224.                 if (D) {
  5225.                     if (e.inArray(r.which, [38, 13, 0, 8]) > -1 && (38 !==
  5226.                         r.which || !r.shiftKey)) {
  5227.                         if (123 == r.keyCode) return;
  5228.                         return !1
  5229.                     }
  5230.                     if (!r.ctrlKey && (!r.altKey || 100 !== r.which) ||
  5231.                         r.altKey) return q ? (H += String.fromCharCode(
  5232.                         r.which), c(), a()) : b.insert(String.fromCharCode(
  5233.                         r.which)), !1
  5234.                 }
  5235.             }
  5236.         }
  5237.  
  5238.         function y(e) {
  5239.             if (Y) {
  5240.                 var t = x.val();
  5241.                 (t || 8 == e.which) && b.set(t)
  5242.             }
  5243.         }
  5244.         var b = this,
  5245.             w = b.data("cmd");
  5246.         if (w) return w;
  5247.         b.addClass("cmd"), b.append(
  5248.             '<span class="prompt"></span><span></span><span class="cursor">&nbsp;</span><span></span>'
  5249.         );
  5250.         var x = e("<textarea>").addClass("clipboard").appendTo(b);
  5251.         n.width && b.width(n.width);
  5252.         var _, E, j, A, N, D, F, L, R, O = b.find(".prompt"),
  5253.             q = !1,
  5254.             H = "",
  5255.             I = null,
  5256.             P = n.mask || !1,
  5257.             $ = "",
  5258.             M = "",
  5259.             W = "",
  5260.             z = 0,
  5261.             B = n.historySize || 60,
  5262.             K = b.find(".cursor"),
  5263.             U = 0;
  5264.         if (T && !C) R = function(e) {
  5265.             e ? K.addClass("blink") : K.removeClass("blink")
  5266.         };
  5267.         else {
  5268.             var X = !1;
  5269.             R = function(e) {
  5270.                 e && !X ? (X = !0, K.addClass("inverted blink"), b.everyTime(
  5271.                     500, "blink", o)) : X && !e && (X = !1, b.stopTime(
  5272.                     "blink", o), K.removeClass("inverted blink"))
  5273.             }
  5274.         }
  5275.         var Y, J = function(t) {
  5276.                 function n(t, n) {
  5277.                     var r = t.length;
  5278.                     if (n === r) a.html(e.terminal.encode(t)), K.html(
  5279.                         "&nbsp;"), s.html("");
  5280.                     else if (0 === n) a.html(""), K.html(e.terminal.encode(
  5281.                         t.slice(0, 1))), s.html(e.terminal.encode(t
  5282.                         .slice(1)));
  5283.                     else {
  5284.                         var i = t.slice(0, n);
  5285.                         a.html(e.terminal.encode(i));
  5286.                         var o = t.slice(n, n + 1);
  5287.                         K.html(e.terminal.encode(o)), n === t.length -
  5288.                             1 ? s.html("") : s.html(e.terminal.encode(t
  5289.                                 .slice(n + 1)))
  5290.                     }
  5291.                 }
  5292.  
  5293.                 function r(t) {
  5294.                     return "<div>" + e.terminal.encode(t) + "</div>"
  5295.                 }
  5296.  
  5297.                 function i(t) {
  5298.                     var n = s;
  5299.                     e.each(t, function(t, i) {
  5300.                         n = e(r(i)).insertAfter(n).addClass(
  5301.                             "clear")
  5302.                     })
  5303.                 }
  5304.  
  5305.                 function o(t) {
  5306.                     e.each(t, function(e, t) {
  5307.                         a.before(r(t))
  5308.                     })
  5309.                 }
  5310.                 var a = K.prev(),
  5311.                     s = K.next();
  5312.                 return function() {
  5313.                     var c, l;
  5314.                     switch (typeof P) {
  5315.                         case "boolean":
  5316.                             c = P ? $.replace(/./g, "*") : $;
  5317.                             break;
  5318.                         case "string":
  5319.                             c = $.replace(/./g, P)
  5320.                     }
  5321.                     var f, h;
  5322.                     if (t.find("div").remove(), a.html(""), c.length >
  5323.                         _ - E - 1 || c.match(/\n/)) {
  5324.                         var d, g = c.match(/\t/g),
  5325.                             m = g ? 3 * g.length : 0;
  5326.                         if (g && (c = c.replace(/\t/g, "\0\0\0\0")), c.match(
  5327.                             /\n/)) {
  5328.                             var v = c.split("\n");
  5329.                             for (h = _ - E - 1, f = 0; f < v.length - 1; ++
  5330.                                 f) v[f] += " ";
  5331.                             for (v[0].length > h ? (d = [v[0].substring(
  5332.                                         0, h)], l = v[0].substring(h),
  5333.                                     d = d.concat(u(l, _))) : d = [v[0]],
  5334.                                 f = 1; f < v.length; ++f) v[f].length >
  5335.                                 _ ? d = d.concat(u(v[f], _)) : d.push(v[
  5336.                                     f])
  5337.                         } else d = p(c); if (g && (d = e.map(d,
  5338.                                 function(e) {
  5339.                                     return e.replace(
  5340.                                         /\x00\x00\x00\x00/g,
  5341.                                         "\t")
  5342.                                 })), h = d[0].length, 0 === h && 1 ===
  5343.                             d.length);
  5344.                         else if (z < h) n(d[0], z), i(d.slice(1));
  5345.                         else if (z === h) a.before(r(d[0])), n(d[1], 0),
  5346.                             i(d.slice(2));
  5347.                         else {
  5348.                             var y = d.length;
  5349.                             if (z < h) n(d[0], z), i(d.slice(1));
  5350.                             else if (z === h) a.before(r(d[0])), n(d[1],
  5351.                                 0), i(d.slice(2));
  5352.                             else {
  5353.                                 var b = d.slice(-1)[0],
  5354.                                     w = c.length - z - m,
  5355.                                     x = b.length,
  5356.                                     k = 0;
  5357.                                 if (w <= x) o(d.slice(0, -1)), k = x ===
  5358.                                     w ? 0 : x - w, n(b, k);
  5359.                                 else if (3 === y) l = e.terminal.encode(
  5360.                                         d[0]), a.before("<div>" + l +
  5361.                                         "</div>"), n(d[1], z - h - 1),
  5362.                                     l = e.terminal.encode(d[2]), s.after(
  5363.                                         '<div class="clear">' + l +
  5364.                                         "</div>");
  5365.                                 else {
  5366.                                     var T, C;
  5367.                                     for (k = z, f = 0; f < d.length; ++
  5368.                                         f) {
  5369.                                         var S = d[f].length;
  5370.                                         if (!(k > S)) break;
  5371.                                         k -= S
  5372.                                     }
  5373.                                     C = d[f], T = f, k === C.length &&
  5374.                                         (k = 0, C = d[++T]), n(C, k), o(
  5375.                                             d.slice(0, T)), i(d.slice(T +
  5376.                                             1))
  5377.                                 }
  5378.                             }
  5379.                         }
  5380.                     } else "" === c ? (a.html(""), K.html("&nbsp;"), s.html(
  5381.                         "")) : n(c, z)
  5382.                 }
  5383.             }(b),
  5384.             V = function() {
  5385.                 function t(t) {
  5386.                     O.html(e.terminal.format(e.terminal.encode(t))), E =
  5387.                         O.text().length
  5388.                 }
  5389.                 return function() {
  5390.                     switch (typeof N) {
  5391.                         case "string":
  5392.                             t(N);
  5393.                             break;
  5394.                         case "function":
  5395.                             N(t)
  5396.                     }
  5397.                 }
  5398.             }(),
  5399.             G = !0,
  5400.             Q = !1;
  5401.         e.extend(b, {
  5402.                 name: function(e) {
  5403.                     if (e !== t) {
  5404.                         F = e;
  5405.                         var n = L && L.enabled() || !L;
  5406.                         return L = new f(e, B), n || L.disable(), b
  5407.                     }
  5408.                     return F
  5409.                 },
  5410.                 purge: function() {
  5411.                     return L.clear(), b
  5412.                 },
  5413.                 history: function() {
  5414.                     return L
  5415.                 },
  5416.                 "delete": function(e, t) {
  5417.                     var n;
  5418.                     return 0 === e ? b : (e < 0 ? z > 0 && (n = $.slice(
  5419.                                 0, z).slice(e), $ = $.slice(0,
  5420.                                 z + e) + $.slice(z, $.length),
  5421.                             t ? g() : b.position(z + e)) : "" !==
  5422.                         $ && z < $.length && (n = $.slice(z).slice(
  5423.                             0, e), $ = $.slice(0, z) + $.slice(
  5424.                             z + e, $.length), g()), J(), i(), n
  5425.                     )
  5426.                 },
  5427.                 set: function(e, n) {
  5428.                     return e !== t && ($ = e, n || b.position($.length),
  5429.                         J(), i(), g()), b
  5430.                 },
  5431.                 insert: function(e, t) {
  5432.                     return z === $.length ? $ += e : $ = 0 === z ?
  5433.                         e + $ : $.slice(0, z) + e + $.slice(z), t ?
  5434.                         i() : b.position(e.length, !0), J(), g(), b
  5435.                 },
  5436.                 get: function() {
  5437.                     return $
  5438.                 },
  5439.                 commands: function(e) {
  5440.                     return e ? (n.commands = e, b) : e
  5441.                 },
  5442.                 destroy: function() {
  5443.                     return Z.unbind("keypress.cmd", v), Z.unbind(
  5444.                             "keydown.cmd", d), Z.unbind("paste.cmd",
  5445.                             h), Z.unbind("input.cmd", y), b.stopTime(
  5446.                             "blink", o), b.find(".cursor").next().remove()
  5447.                         .end().prev().remove().end().remove(), b.find(
  5448.                             ".prompt, .clipboard").remove(), b.removeClass(
  5449.                             "cmd").removeData("cmd"), b
  5450.                 },
  5451.                 prompt: function(e) {
  5452.                     if (e === t) return N;
  5453.                     if ("string" != typeof e && "function" !=
  5454.                         typeof e) throw new Error(
  5455.                         "prompt must be a function or string");
  5456.                     return N = e, V(), J(), b
  5457.                 },
  5458.                 kill_text: function() {
  5459.                     return W
  5460.                 },
  5461.                 position: function(t, r) {
  5462.                     return "number" == typeof t ? (r ? z += t : z =
  5463.                         t < 0 ? 0 : t > $.length ? $.length : t,
  5464.                         e.isFunction(n.onPositionChange) && n.onPositionChange(
  5465.                             z), J(), i(), b) : z
  5466.                 },
  5467.                 visible: function() {
  5468.                     var e = b.visible;
  5469.                     return function() {
  5470.                         e.apply(b, []), J(), V()
  5471.                     }
  5472.                 }(),
  5473.                 show: function() {
  5474.                     var e = b.show;
  5475.                     return function() {
  5476.                         e.apply(b, []), J(), V()
  5477.                     }
  5478.                 }(),
  5479.                 resize: function(e) {
  5480.                     return e ? _ = e : l(), J(), b
  5481.                 },
  5482.                 enable: function() {
  5483.                     return D = !0, b.addClass("enabled"), R(!0), r(),
  5484.                         b
  5485.                 },
  5486.                 isenabled: function() {
  5487.                     return D
  5488.                 },
  5489.                 disable: function() {
  5490.                     return D = !1, b.removeClass("enabled"), R(!1),
  5491.                         r(), b
  5492.                 },
  5493.                 mask: function(e) {
  5494.                     return "undefined" == typeof e ? P : (P = e, J(),
  5495.                         b)
  5496.                 }
  5497.             }), b.name(n.name || n.prompt || ""), N = "string" == typeof n.prompt ?
  5498.             n.prompt : "> ", V(), n.enabled !== t && n.enabled !== !0 || b.enable();
  5499.         var Z = e(document.documentElement || window);
  5500.         return Z.bind("keypress.cmd", v).bind("keydown.cmd", d).bind(
  5501.             "input.cmd", y), b.data("cmd", b), b
  5502.     };
  5503.     var T = function() {
  5504.             var e = !1,
  5505.                 n = "animation",
  5506.                 r = "",
  5507.                 i = "Webkit Moz O ms Khtml".split(" "),
  5508.                 o = "",
  5509.                 a = document.createElement("div");
  5510.             if (a.style.animationName && (e = !0), e === !1)
  5511.                 for (var s = 0; s < i.length; s++) {
  5512.                     var u = i[s] + "AnimationName";
  5513.                     if (a.style[u] !== t) {
  5514.                         o = i[s], n = o + "Animation", r = "-" + o.toLowerCase() +
  5515.                             "-", e = !0;
  5516.                         break
  5517.                     }
  5518.                 }
  5519.             return e
  5520.         }(),
  5521.         C = navigator.userAgent.toLowerCase().indexOf("android") != -1,
  5522.         S = function() {
  5523.             return "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch
  5524.         }(),
  5525.         E =
  5526.         /(\[\[[!gbiuso]*;[^;]*;[^\]]*\](?:[^\]]*\\\][^\]]*|[^\]]*|[^\[]*\[[^\]]*)\]?)/i,
  5527.         j =
  5528.         /\[\[([!gbiuso]*);([^;]*);([^;\]]*);?([^;\]]*);?([^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^\[]*\[[^\]]*)\]?/gi,
  5529.         A =
  5530.         /\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^\[]*\[[^\]]*)\]?/gi,
  5531.         N =
  5532.         /\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^\[]*\[[^\]]*)\]/gi,
  5533.         D =
  5534.         /^\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^\[]*\[[^\]]*)\]$/gi,
  5535.         F = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i,
  5536.         L = /(\bhttps?:\/\/(?:(?:(?!&[^;]+;)|(?=&amp;))[^\s"'<>\]\[)])+\b)/gi,
  5537.         R =
  5538.         /\b(https?:\/\/(?:(?:(?!&[^;]+;)|(?=&amp;))[^\s"'<>\][)])+)\b(?![^[\]]*])/gi,
  5539.         O =
  5540.         /((([^<>('")[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})))/g,
  5541.         q =
  5542.         /('[^']*'|"(\\"|[^"])*"|(?:\/(\\\/|[^\/])+\/[gimy]*)(?=:? |$)|(\\ |[^ ])+|[\w-]+)/gi,
  5543.         H = /(\[\[[!gbiuso]*;[^;]*;[^\]]*\])/i,
  5544.         I = /^(\[\[[!gbiuso]*;[^;]*;[^\]]*\])/i,
  5545.         P = /\[\[[!gbiuso]*;[^;]*;[^\]]*\]?$/i,
  5546.         $ = /(\[\[(?:[^\]]|\\\])*\]\])/;
  5547.     e.terminal = {
  5548.         version: "0.11.10",
  5549.         color_names: ["black", "silver", "gray", "white", "maroon", "red",
  5550.             "purple", "fuchsia", "green", "lime", "olive", "yellow",
  5551.             "navy", "blue", "teal", "aqua", "aliceblue", "antiquewhite",
  5552.             "aqua", "aquamarine", "azure", "beige", "bisque", "black",
  5553.             "blanchedalmond", "blue", "blueviolet", "brown",
  5554.             "burlywood", "cadetblue", "chartreuse", "chocolate",
  5555.             "coral", "cornflowerblue", "cornsilk", "crimson", "cyan",
  5556.             "darkblue", "darkcyan", "darkgoldenrod", "darkgray",
  5557.             "darkgreen", "darkgrey", "darkkhaki", "darkmagenta",
  5558.             "darkolivegreen", "darkorange", "darkorchid", "darkred",
  5559.             "darksalmon", "darkseagreen", "darkslateblue",
  5560.             "darkslategray", "darkslategrey", "darkturquoise",
  5561.             "darkviolet", "deeppink", "deepskyblue", "dimgray",
  5562.             "dimgrey", "dodgerblue", "firebrick", "floralwhite",
  5563.             "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold",
  5564.             "goldenrod", "gray", "green", "greenyellow", "grey",
  5565.             "honeydew", "hotpink", "indianred", "indigo", "ivory",
  5566.             "khaki", "lavender", "lavenderblush", "lawngreen",
  5567.             "lemonchiffon", "lightblue", "lightcoral", "lightcyan",
  5568.             "lightgoldenrodyellow", "lightgray", "lightgreen",
  5569.             "lightgrey", "lightpink", "lightsalmon", "lightseagreen",
  5570.             "lightskyblue", "lightslategray", "lightslategrey",
  5571.             "lightsteelblue", "lightyellow", "lime", "limegreen",
  5572.             "linen", "magenta", "maroon", "mediumaquamarine",
  5573.             "mediumblue", "mediumorchid", "mediumpurple",
  5574.             "mediumseagreen", "mediumslateblue", "mediumspringgreen",
  5575.             "mediumturquoise", "mediumvioletred", "midnightblue",
  5576.             "mintcream", "mistyrose", "moccasin", "navajowhite", "navy",
  5577.             "oldlace", "olive", "olivedrab", "orange", "orangered",
  5578.             "orchid", "palegoldenrod", "palegreen", "paleturquoise",
  5579.             "palevioletred", "papayawhip", "peachpuff", "peru", "pink",
  5580.             "plum", "powderblue", "purple", "red", "rosybrown",
  5581.             "royalblue", "saddlebrown", "salmon", "sandybrown",
  5582.             "seagreen", "seashell", "sienna", "silver", "skyblue",
  5583.             "slateblue", "slategray", "slategrey", "snow",
  5584.             "springgreen", "steelblue", "tan", "teal", "thistle",
  5585.             "tomato", "turquoise", "violet", "wheat", "white",
  5586.             "whitesmoke", "yellow", "yellowgreen"
  5587.         ],
  5588.         valid_color: function(t) {
  5589.             return !!t.match(F) || e.inArray(t.toLowerCase(), e.terminal
  5590.                 .color_names) !== -1
  5591.         },
  5592.         escape_regex: function(e) {
  5593.             if ("string" == typeof e) {
  5594.                 var t = /([-\\\^$\[\]()+{}?*.|])/g;
  5595.                 return e.replace(t, "\\$1")
  5596.             }
  5597.         },
  5598.         have_formatting: function(e) {
  5599.             return "string" == typeof e && !!e.match(N)
  5600.         },
  5601.         is_formatting: function(e) {
  5602.             return "string" == typeof e && !!e.match(D)
  5603.         },
  5604.         format_split: function(e) {
  5605.             return e.split(E)
  5606.         },
  5607.         split_equal: function(t, n, r) {
  5608.             function i() {
  5609.                 return "&nbsp;" == p.substring(m - 6, m) || " " ==
  5610.                     p.substring(m - 1, m)
  5611.             }
  5612.             for (var o = !1, a = !1, s = "", u = [], c = t.replace(A,
  5613.                 function(e, t, n) {
  5614.                     var r = t.match(/;/g).length;
  5615.                     if (r >= 4) return e;
  5616.                     r = 2 == r ? ";;" : 3 == r ? ";" : "";
  5617.                     var i = n.replace(/\\\]/g, "&#93;").replace(
  5618.                         /\n/g, "\\n").replace(/&nbsp;/g,
  5619.                         " ");
  5620.                     return "[[" + t + r + i + "]" + n + "]"
  5621.                 }).split(/\n/g), l = 0, f = c.length; l < f; ++l)
  5622.                 if ("" !== c[l])
  5623.                     for (var p = c[l], h = 0, d = 0, g = -1, m = 0, v =
  5624.                         p.length; m < v; ++m) {
  5625.                         if (p.substring(m).match(I)) o = !0, a = !1;
  5626.                         else if (o && "]" === p[m]) a ? (o = !1, a = !1) :
  5627.                             a = !0;
  5628.                         else if (o && a || !o) {
  5629.                             if ("&" === p[m]) {
  5630.                                 var y = p.substring(m).match(
  5631.                                     /^(&[^;]+;)/);
  5632.                                 if (!y) throw new Error(
  5633.                                     "Unclosed html entity in line " +
  5634.                                     (l + 1) + " at char " + (m + 1)
  5635.                                 );
  5636.                                 m += y[1].length - 2, m === v - 1 && u.push(
  5637.                                     b + y[1]);
  5638.                                 continue
  5639.                             }
  5640.                             "]" === p[m] && "\\" === p[m - 1] ? --d :
  5641.                                 ++d
  5642.                         }
  5643.                         if (i() && (o && a || !o || "[" === p[m] && "[" ===
  5644.                             p[m + 1]) && (g = m), (d === n || m ===
  5645.                             v - 1) && (o && a || !o)) {
  5646.                             var b, w = e.terminal.strip(p.substring(g));
  5647.                             w = e("<span>" + w + "</span>").text();
  5648.                             var x = w.length;
  5649.                             w = w.substring(0, m + n + 1);
  5650.                             var _ = !!w.match(/\s/) || m + n + 1 > x;
  5651.                             r && g != -1 && m !== v - 1 && _ ? (b = p.substring(
  5652.                                     h, g), m = g - 1) : b = p.substring(
  5653.                                     h, m + 1), r && (b = b.replace(
  5654.                                     /(&nbsp;|\s)+$/g, "")), g = -1, h =
  5655.                                 m + 1, d = 0, s && (b = s + b, b.match(
  5656.                                     "]") && (s = ""));
  5657.                             var k = b.match(A);
  5658.                             if (k) {
  5659.                                 var T = k[k.length - 1];
  5660.                                 if ("]" !== T[T.length - 1]) s = T.match(
  5661.                                     H)[1], b += "]";
  5662.                                 else if (b.match(P)) {
  5663.                                     b.length;
  5664.                                     b = b.replace(P, ""), s = T.match(H)[
  5665.                                         1]
  5666.                                 }
  5667.                             }
  5668.                             u.push(b)
  5669.                         }
  5670.                     } else u.push("");
  5671.             return u
  5672.         },
  5673.         encode: function(e) {
  5674.             return e = e.replace(/&(?!#[0-9]+;|[a-zA-Z]+;)/g, "&amp;"),
  5675.                 e.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(
  5676.                     / /g, "&nbsp;").replace(/\t/g,
  5677.                     "&nbsp;&nbsp;&nbsp;&nbsp;")
  5678.         },
  5679.         escape_formatting: function(t) {
  5680.             return e.terminal.escape_brackets(e.terminal.encode(t))
  5681.         },
  5682.         format: function(t, n) {
  5683.             var r = e.extend({}, {
  5684.                 linksNoReferrer: !1
  5685.             }, n || {});
  5686.             if ("string" == typeof t) {
  5687.                 var i = e.terminal.format_split(t);
  5688.                 return t = e.map(i, function(t) {
  5689.                     return "" === t ? t : e.terminal.is_formatting(
  5690.                             t) ? (t = t.replace(/\[\[[^\]]+\]/,
  5691.                             function(e) {
  5692.                                 return e.replace(/&nbsp;/g,
  5693.                                     " ")
  5694.                             }), t.replace(j, function(t, n,
  5695.                             i, o, a, s, u) {
  5696.                             if ("" === u) return "";
  5697.                             u = u.replace(/\\]/g, "]");
  5698.                             var c = "";
  5699.                             n.indexOf("b") !== -1 && (c +=
  5700.                                 "font-weight:bold;"
  5701.                             );
  5702.                             var l = [];
  5703.                             n.indexOf("u") !== -1 && l.push(
  5704.                                     "underline"), n.indexOf(
  5705.                                     "s") !== -1 && l.push(
  5706.                                     "line-through"), n.indexOf(
  5707.                                     "o") !== -1 && l.push(
  5708.                                     "overline"), l.length &&
  5709.                                 (c +=
  5710.                                     "text-decoration:" +
  5711.                                     l.join(" ") + ";"),
  5712.                                 n.indexOf("i") !== -1 &&
  5713.                                 (c +=
  5714.                                     "font-style:italic;"
  5715.                                 ), e.terminal.valid_color(
  5716.                                     i) && (c +=
  5717.                                     "color:" + i + ";",
  5718.                                     n.indexOf("g") !==
  5719.                                     -1 && (c +=
  5720.                                         "text-shadow:0 0 5px " +
  5721.                                         i + ";")), e.terminal
  5722.                                 .valid_color(o) && (c +=
  5723.                                     "background-color:" +
  5724.                                     o);
  5725.                             var f;
  5726.                             f = "" === s ? u : s.replace(
  5727.                                 /&#93;/g, "]");
  5728.                             var p;
  5729.                             return n.indexOf("!") !== -
  5730.                                 1 ? f.match(O) ? p =
  5731.                                 '<a href="mailto:' + f +
  5732.                                 '" ' : (p =
  5733.                                     '<a target="_blank" href="' +
  5734.                                     f + '" ', r.linksNoReferrer &&
  5735.                                     (p +=
  5736.                                         'rel="noreferrer" '
  5737.                                     )) : p = "<span",
  5738.                                 "" !== c && (p +=
  5739.                                     ' style="' + c +
  5740.                                     '"'), "" !== a && (
  5741.                                     p += ' class="' + a +
  5742.                                     '"'), p += n.indexOf(
  5743.                                     "!") !== -1 ? ">" +
  5744.                                 u + "</a>" :
  5745.                                 ' data-text="' + f.replace(
  5746.                                     '"', "&quote;") +
  5747.                                 '">' + u + "</span>"
  5748.                         })) : "<span>" + t.replace(/\\\]/g, "]") +
  5749.                         "</span>"
  5750.                 }).join(""), t.replace(/<span><br\s*\/?><\/span>/gi,
  5751.                     "<br/>")
  5752.             }
  5753.             return ""
  5754.         },
  5755.         escape_brackets: function(e) {
  5756.             return e.replace(/\[/g, "&#91;").replace(/\]/g, "&#93;")
  5757.         },
  5758.         strip: function(e) {
  5759.             return e.replace(j, "$6")
  5760.         },
  5761.         active: function() {
  5762.             return V.front()
  5763.         },
  5764.         last_id: function() {
  5765.             var e = V.length();
  5766.             if (e) return e - 1
  5767.         },
  5768.         parseArguments: function(t) {
  5769.             return e.terminal.parse_arguments(t)
  5770.         },
  5771.         splitArguments: function(t) {
  5772.             return e.terminal.split_arguments(t)
  5773.         },
  5774.         parseCommand: function(t) {
  5775.             return e.terminal.parse_command(t)
  5776.         },
  5777.         splitCommand: function(t) {
  5778.             return e.terminal.split_command(t)
  5779.         },
  5780.         parse_arguments: function(t) {
  5781.             var n = /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;
  5782.             return e.map(t.match(q) || [], function(e) {
  5783.                 if ("'" === e[0] && "'" === e[e.length - 1])
  5784.                     return e.replace(/^'|'$/g, "");
  5785.                 if ('"' === e[0] && '"' === e[e.length - 1])
  5786.                     return e = e.replace(/^"|"$/g, "").replace(
  5787.                         /\\([" ])/g, "$1"), e.replace(
  5788.                         /\\\\|\\t|\\n/g, function(e) {
  5789.                             return "t" === e[1] ? "\t" :
  5790.                                 "n" === e[1] ? "\n" : "\\"
  5791.                         }).replace(/\\x([0-9a-f]+)/gi,
  5792.                         function(e, t) {
  5793.                             return String.fromCharCode(
  5794.                                 parseInt(t, 16))
  5795.                         }).replace(/\\0([0-7]+)/g, function(
  5796.                         e, t) {
  5797.                         return String.fromCharCode(
  5798.                             parseInt(t, 8))
  5799.                     });
  5800.                 if (e.match(/^\/(\\\/|[^\/])+\/[gimy]*$/)) {
  5801.                     var t = e.match(/^\/([^\/]+)\/([^\/]*)$/);
  5802.                     return new RegExp(t[1], t[2])
  5803.                 }
  5804.                 return e.match(/^-?[0-9]+$/) ? parseInt(e, 10) :
  5805.                     e.match(n) ? parseFloat(e) : e.replace(
  5806.                         /\\ /g, " ")
  5807.             })
  5808.         },
  5809.         split_arguments: function(t) {
  5810.             return e.map(t.match(q) || [], function(e) {
  5811.                 return "'" === e[0] && "'" === e[e.length - 1] ?
  5812.                     e.replace(/^'|'$/g, "") : '"' === e[0] &&
  5813.                     '"' === e[e.length - 1] ? e.replace(
  5814.                         /^"|"$/g, "").replace(/\\([" ])/g, "$1") :
  5815.                     e.match(/\/.*\/[gimy]*$/) ? e : e.replace(
  5816.                         /\\ /g, " ")
  5817.             })
  5818.         },
  5819.         parse_command: function(t) {
  5820.             return p(t, e.terminal.parse_arguments)
  5821.         },
  5822.         split_command: function(t) {
  5823.             return p(t, e.terminal.split_arguments)
  5824.         },
  5825.         extended_command: function(e, t) {
  5826.             try {
  5827.                 Q = !1, e.exec(t, !0).then(function() {
  5828.                     Q = !0
  5829.                 })
  5830.             } catch (n) {}
  5831.         }
  5832.     }, e.fn.visible = function() {
  5833.         return this.css("visibility", "visible")
  5834.     }, e.fn.hidden = function() {
  5835.         return this.css("visibility", "hidden")
  5836.     };
  5837.     var M = {};
  5838.     e.jrpc = function(t, n, r, i, o) {
  5839.         M[t] = M[t] || 0;
  5840.         var a = e.json_stringify({
  5841.             jsonrpc: "2.0",
  5842.             method: n,
  5843.             params: r,
  5844.             id: ++M[t]
  5845.         });
  5846.         return e.ajax({
  5847.             url: t,
  5848.             data: a,
  5849.             success: function(t, n, r) {
  5850.                 var a = r.getResponseHeader("Content-Type");
  5851.                 if (!a.match(/application\/json/)) {
  5852.                     var s =
  5853.                         "Response Content-Type is not application/json";
  5854.                     if (!console || !console.warn) throw new Error(
  5855.                         "WARN: " + s)
  5856.                 }
  5857.                 var u;
  5858.                 try {
  5859.                     u = e.parseJSON(t)
  5860.                 } catch (c) {
  5861.                     if (!o) throw new Error("Invalid JSON");
  5862.                     return void o(r, "Invalid JSON", c)
  5863.                 }
  5864.                 i(u, n, r)
  5865.             },
  5866.             error: o,
  5867.             contentType: "application/json",
  5868.             dataType: "text",
  5869.             async: !0,
  5870.             cache: !1,
  5871.             type: "POST"
  5872.         })
  5873.     };
  5874.     var W = !e.terminal.version.match(/^\{\{/),
  5875.         z = "Copyright (c) 2011-2016 Jakub Jankiewicz <http://jcubic.pl>",
  5876.         B = W ? " v. " + e.terminal.version : " ",
  5877.         K = new RegExp(" {" + B.length + "}$"),
  5878.         U = "jQuery Terminal Emulator" + (W ? B : ""),
  5879.         X = [
  5880.             ["jQuery Terminal", "(c) 2011-2016 jcubic"],
  5881.             [U, z.replace(/^Copyright | *<.*>/g, "")],
  5882.             [U, z.replace(/^Copyright /, "")],
  5883.             ["      _______                 ________                        __",
  5884.                 "     / / _  /_ ____________ _/__  ___/______________  _____  / /",
  5885.                 " __ / / // / // / _  / _/ // / / / _  / _/     / /  \\/ / _ \\/ /",
  5886.                 "/  / / // / // / ___/ // // / / / ___/ // / / / / /\\  / // / /__",
  5887.                 "\\___/____ \\\\__/____/_/ \\__ / /_/____/_//_/_/_/ /_/  \\/\\__\\_\\___/",
  5888.                 "         \\/          /____/                                   "
  5889.                 .replace(K, " ") + B, z
  5890.             ],
  5891.             [
  5892.                 "      __ _____                     ________                              __",
  5893.                 "     / // _  /__ __ _____ ___ __ _/__  ___/__ ___ ______ __ __  __ ___  / /",
  5894.                 " __ / // // // // // _  // _// // / / // _  // _//     // //  \\/ // _ \\/ /",
  5895.                 "/  / // // // // // ___// / / // / / // ___// / / / / // // /\\  // // / /__",
  5896.                 "\\___//____ \\\\___//____//_/ _\\_  / /_//____//_/ /_/ /_//_//_/ /_/ \\__\\_\\___/",
  5897.                 "          \\/              /____/                                          "
  5898.                 .replace(K, "") + B, z
  5899.             ]
  5900.         ];
  5901.     e.terminal.defaults = {
  5902.         prompt: "> ",
  5903.         history: !0,
  5904.         exit: !0,
  5905.         clear: !0,
  5906.         enabled: !0,
  5907.         historySize: 60,
  5908.         maskChar: "*",
  5909.         checkArity: !0,
  5910.         raw: !1,
  5911.         exceptionHandler: null,
  5912.         cancelableAjax: !0,
  5913.         processArguments: !0,
  5914.         linksNoReferrer: !1,
  5915.         processRPCResponse: null,
  5916.         Token: !0,
  5917.         convertLinks: !0,
  5918.         historyState: !1,
  5919.         echoCommand: !0,
  5920.         scrollOnEcho: !0,
  5921.         login: null,
  5922.         outputLimit: -1,
  5923.         formatters: [],
  5924.         onAjaxError: null,
  5925.         onRPCError: null,
  5926.         completion: !1,
  5927.         historyFilter: null,
  5928.         onInit: e.noop,
  5929.         onClear: e.noop,
  5930.         onBlur: e.noop,
  5931.         onFocus: e.noop,
  5932.         onTerminalChange: e.noop,
  5933.         onExit: e.noop,
  5934.         keypress: e.noop,
  5935.         keydown: e.noop,
  5936.         strings: {
  5937.             wrongPasswordTryAgain: "Wrong password try again!",
  5938.             wrongPassword: "Wrong password!",
  5939.             ajaxAbortError: "Error while aborting ajax call!",
  5940.             wrongArity: "Wrong number of arguments. Function '%s' expects %s got %s!",
  5941.             commandNotFound: "Command '%s' Not Found!",
  5942.             oneRPCWithIgnore: "You can use only one rpc with ignoreSystemDescribe",
  5943.             oneInterpreterFunction: "You can't use more than one function (rpcwith ignoreSystemDescribe counts as one)",
  5944.             loginFunctionMissing: "You didn't specify a login function",
  5945.             noTokenError: "Access denied (no token)",
  5946.             serverResponse: "Server responded",
  5947.             wrongGreetings: "Wrong value of greetings parameter",
  5948.             notWhileLogin: "You can't call `%s' function while in login",
  5949.             loginIsNotAFunction: "Authenticate must be a function",
  5950.             canExitError: "You can't exit from main interpreter",
  5951.             invalidCompletion: "Invalid completion",
  5952.             invalidSelector: 'Sorry, but terminal said that "%s" is not valid selector!',
  5953.             invalidTerminalId: "Invalid Terminal ID",
  5954.             login: "login",
  5955.             password: "password",
  5956.             recursiveCall: "Recursive call detected, skip"
  5957.         }
  5958.     };
  5959.     var Y, J = [],
  5960.         V = new c,
  5961.         G = [],
  5962.         Q = !1,
  5963.         Z = !0,
  5964.         ee = !0;
  5965.     e.fn.terminal = function(n, r) {
  5966.         function i(t) {
  5967.             return e.isFunction(Te.processArguments) ? p(t, Te.processArguments) :
  5968.                 Te.processArguments ? e.terminal.parse_command(t) : e.terminal
  5969.                 .split_command(t)
  5970.         }
  5971.  
  5972.         function o(t) {
  5973.             "string" == typeof t ? se.echo(t) : t instanceof Array ? se
  5974.                 .echo(e.map(t, function(t) {
  5975.                     return e.json_stringify(t)
  5976.                 }).join(" ")) : "object" == typeof t ? se.echo(e.json_stringify(
  5977.                     t)) : se.echo(t)
  5978.         }
  5979.  
  5980.         function a(t) {
  5981.             var n = /(.*):([0-9]+):([0-9]+)$/,
  5982.                 r = t.match(n);
  5983.             r && (se.pause(), e.get(r[1], function(t) {
  5984.                 var n = location.href.replace(/[^\/]+$/, ""),
  5985.                     i = r[1].replace(n, "");
  5986.                 se.echo("[[b;white;]" + i + "]");
  5987.                 var o = t.split("\n"),
  5988.                     a = +r[2] - 1;
  5989.                 se.echo(o.slice(a - 2, a + 3).map(function(
  5990.                     t, n) {
  5991.                     return 2 == n && (t =
  5992.                             "[[;#f00;]" + e.terminal
  5993.                             .escape_brackets(t) +
  5994.                             "]"), "[" + (a + n) +
  5995.                         "]: " + t
  5996.                 }).join("\n")).resume()
  5997.             }, "text"))
  5998.         }
  5999.  
  6000.         function s(t) {
  6001.             if (e.isFunction(Te.onRPCError)) Te.onRPCError.call(se, t);
  6002.             else if (se.error("&#91;RPC&#93; " + t.message), t.error &&
  6003.                 t.error.message) {
  6004.                 t = t.error;
  6005.                 var n = "\t" + t.message;
  6006.                 t.file && (n += ' in file "' + t.file.replace(/.*\//,
  6007.                         "") + '"'), t.at && (n += " at line " + t.at),
  6008.                     se.error(n)
  6009.             }
  6010.         }
  6011.  
  6012.         function u(t, n) {
  6013.             var r = function(n, r) {
  6014.                 se.pause(), e.jrpc(t, n, r, function(t) {
  6015.                     t.error ? s(t.error) : e.isFunction(Te.processRPCResponse) ?
  6016.                         Te.processRPCResponse.call(se, t.result,
  6017.                             se) : o(t.result), se.resume()
  6018.                 }, f)
  6019.             };
  6020.             return function(e, t) {
  6021.                 if ("" !== e) {
  6022.                     try {
  6023.                         e = i(e)
  6024.                     } catch (o) {
  6025.                         return void t.error(o.toString())
  6026.                     }
  6027.                     if (n && "help" !== e.name) {
  6028.                         var a = t.token();
  6029.                         a ? r(e.name, [a].concat(e.args)) : t.error(
  6030.                             "&#91;AUTH&#93; " + Ce.noTokenError
  6031.                         )
  6032.                     } else r(e.name, e.args)
  6033.                 }
  6034.             }
  6035.         }
  6036.  
  6037.         function c(n, r, o, a) {
  6038.             return function(s, u) {
  6039.                 if ("" !== s) {
  6040.                     var l;
  6041.                     try {
  6042.                         l = i(s)
  6043.                     } catch (f) {
  6044.                         return void se.error(f.toString())
  6045.                     }
  6046.                     var p = n[l.name],
  6047.                         h = e.type(p);
  6048.                     if ("function" === h) {
  6049.                         if (!r || p.length === l.args.length) return
  6050.                         p.apply(se, l.args);
  6051.                         se.error("&#91;Arity&#93; " + sprintf(Ce.wrongArity,
  6052.                             l.name, p.length, l.args.length
  6053.                         ))
  6054.                     } else if ("object" === h || "string" === h) {
  6055.                         var d = [];
  6056.                         "object" === h && (d = Object.keys(p), p =
  6057.                             c(p, r, o)), u.push(p, {
  6058.                             prompt: l.name + "> ",
  6059.                             name: l.name,
  6060.                             completion: "object" === h ? d : t
  6061.                         })
  6062.                     } else e.isFunction(a) ? a(s, se) : e.isFunction(
  6063.                         Te.onCommandNotFound) ? Te.onCommandNotFound(
  6064.                         s, se) : u.error(sprintf(Ce.commandNotFound,
  6065.                         l.name))
  6066.                 }
  6067.             }
  6068.         }
  6069.  
  6070.         function f(t, n, r) {
  6071.             se.resume(), e.isFunction(Te.onAjaxError) ? Te.onAjaxError.call(
  6072.                 se, t, n, r) : "abort" !== n && se.error(
  6073.                 "&#91;AJAX&#93; " + n + " - " + Ce.serverResponse +
  6074.                 ": \n" + e.terminal.escape_brackets(t.responseText)
  6075.             )
  6076.         }
  6077.  
  6078.         function h(t, n, r) {
  6079.             e.jrpc(t, "system.describe", [], function(i) {
  6080.                 if (i.procs) {
  6081.                     var a = {};
  6082.                     e.each(i.procs, function(r, i) {
  6083.                         a[i.name] = function() {
  6084.                             var r = n && "help" !=
  6085.                                 i.name,
  6086.                                 a = Array.prototype
  6087.                                 .slice.call(
  6088.                                     arguments),
  6089.                                 u = a.length + (r ?
  6090.                                     1 : 0);
  6091.                             if (Te.checkArity && i.params &&
  6092.                                 i.params.length !==
  6093.                                 u) se.error(
  6094.                                 "&#91;Arity&#93; " +
  6095.                                 sprintf(Ce.wrongArity,
  6096.                                     i.name, i.params
  6097.                                     .length, u)
  6098.                             );
  6099.                             else {
  6100.                                 if (se.pause(), r) {
  6101.                                     var c = se.token(!
  6102.                                         0);
  6103.                                     c ? a = [c].concat(
  6104.                                             a) : se
  6105.                                         .error(
  6106.                                             "&#91;AUTH&#93; " +
  6107.                                             Ce.noTokenError
  6108.                                         )
  6109.                                 }
  6110.                                 e.jrpc(t, i.name, a,
  6111.                                     function(t) {
  6112.                                         t.error ?
  6113.                                             s(t
  6114.                                                 .error
  6115.                                             ) :
  6116.                                             e.isFunction(
  6117.                                                 Te
  6118.                                                 .processRPCResponse
  6119.                                             ) ?
  6120.                                             Te.processRPCResponse
  6121.                                             .call(
  6122.                                                 se,
  6123.                                                 t
  6124.                                                 .result,
  6125.                                                 se
  6126.                                             ) :
  6127.                                             o(t
  6128.                                                 .result
  6129.                                             ),
  6130.                                             se.resume()
  6131.                                     }, f)
  6132.                             }
  6133.                         }
  6134.                     }), a.help = a.help || function(t) {
  6135.                         if ("undefined" == typeof t) se.echo(
  6136.                             "Available commands: " + i.procs
  6137.                             .map(function(e) {
  6138.                                 return e.name
  6139.                             }).join(", ") + ", help");
  6140.                         else {
  6141.                             var n = !1;
  6142.                             if (e.each(i.procs, function(e,
  6143.                                 r) {
  6144.                                 if (r.name == t) {
  6145.                                     n = !0;
  6146.                                     var i = "";
  6147.                                     return i +=
  6148.                                         "[[bu;#fff;]" +
  6149.                                         r.name +
  6150.                                         "]", r.params &&
  6151.                                         (i += " " +
  6152.                                             r.params
  6153.                                             .join(
  6154.                                                 " "
  6155.                                             )), r.help &&
  6156.                                         (i += "\n" +
  6157.                                             r.help),
  6158.                                         se.echo(i), !
  6159.                                         1
  6160.                                 }
  6161.                             }), !n)
  6162.                                 if ("help" == t) se.echo(
  6163.                                     "[[bu;#fff;]help] [method]\ndisplay help for the method or list of methods if not specified"
  6164.                                 );
  6165.                                 else {
  6166.                                     var r = "Method `" + t.toString() +
  6167.                                         "' not found ";
  6168.                                     se.error(r)
  6169.                                 }
  6170.                         }
  6171.                     }, r(a)
  6172.                 } else r(null)
  6173.             }, function() {
  6174.                 r(null)
  6175.             })
  6176.         }
  6177.  
  6178.         function y(t, n, r) {
  6179.             r = r || e.noop;
  6180.             var i, o, a = e.type(t),
  6181.                 s = {},
  6182.                 l = 0;
  6183.             if ("array" === a) i = {},
  6184.                 function f(t, r) {
  6185.                     if (t.length) {
  6186.                         var a = t[0],
  6187.                             s = t.slice(1),
  6188.                             c = e.type(a);
  6189.                         "string" === c ? (l++, se.pause(), Te.ignoreSystemDescribe ?
  6190.                             (1 === l ? o = u(a, n) : se.error(Ce.oneRPCWithIgnore),
  6191.                                 f(s, r)) : h(a, n, function(t) {
  6192.                                 t && e.extend(i, t), se.resume(),
  6193.                                     f(s, r)
  6194.                             })) : "function" === c ? (o ? se.error(
  6195.                                 Ce.oneInterpreterFunction) : o = a,
  6196.                             f(s, r)) : "object" === c && (e.extend(
  6197.                             i, a), f(s, r))
  6198.                     } else r()
  6199.                 }(t, function() {
  6200.                     r({
  6201.                         interpreter: c(i, !1, n, o),
  6202.                         completion: Object.keys(i)
  6203.                     })
  6204.                 });
  6205.             else if ("string" === a) Te.ignoreSystemDescribe ? (i = {
  6206.                     interpreter: u(t, n)
  6207.                 }, e.isArray(Te.completion) && (i.completion = Te.completion),
  6208.                 r(i)) : (se.pause(), h(t, n, function(e) {
  6209.                 e ? (s.interpreter = c(e, !1, n), s.completion =
  6210.                     Object.keys(e)) : s.interpreter = u(
  6211.                     t, n), r(s), se.resume()
  6212.             }));
  6213.             else if ("object" === a) r({
  6214.                 interpreter: c(t, Te.checkArity),
  6215.                 completion: Object.keys(t)
  6216.             });
  6217.             else {
  6218.                 if ("undefined" === a) t = e.noop;
  6219.                 else if ("function" !== a) throw a +
  6220.                     " is invalid interpreter value";
  6221.                 r({
  6222.                     interpreter: t,
  6223.                     completion: Te.completion
  6224.                 })
  6225.             }
  6226.         }
  6227.  
  6228.         function w(t, n) {
  6229.             var r = "boolean" === e.type(n) ? "login" : n;
  6230.             return function(n, i, o, a) {
  6231.                 se.pause(), e.jrpc(t, r, [n, i], function(e) {
  6232.                     o(!e.error && e.result ? e.result :
  6233.                         null), se.resume()
  6234.                 }, f)
  6235.             }
  6236.         }
  6237.  
  6238.         function x(e) {
  6239.             return "string" == typeof e ? e : "string" == typeof e.fileName ?
  6240.                 e.fileName + ": " + e.message : e.message
  6241.         }
  6242.  
  6243.         function _(t, n) {
  6244.             e.isFunction(Te.exceptionHandler) ? Te.exceptionHandler.call(
  6245.                 se, t) : se.exception(t, n)
  6246.         }
  6247.  
  6248.         function k() {
  6249.             var e;
  6250.             e = ue.prop ? ue.prop("scrollHeight") : ue.attr(
  6251.                 "scrollHeight"), ue.scrollTop(e)
  6252.         }
  6253.  
  6254.         function T(t, n) {
  6255.             try {
  6256.                 if (e.isFunction(n)) n(function() {});
  6257.                 else if ("string" != typeof n) {
  6258.                     var r = t + " must be string or function";
  6259.                     throw r
  6260.                 }
  6261.             } catch (i) {
  6262.                 return _(i, t.toUpperCase()), !1
  6263.             }
  6264.             return !0
  6265.         }
  6266.  
  6267.         function C(t, n) {
  6268.             Te.convertLinks && (t = t.replace(O, "[[!;;]$1]").replace(R,
  6269.                 "[[!;;]$1]"));
  6270.             var r, i, o = e.terminal.defaults.formatters;
  6271.             if (!n.raw) {
  6272.                 for (r = 0; r < o.length; ++r) try {
  6273.                     if ("function" == typeof o[r]) {
  6274.                         var a = o[r](t);
  6275.                         "string" == typeof a && (t = a)
  6276.                     }
  6277.                 } catch (s) {
  6278.                     alert("formatting error at formatters[" + r +
  6279.                         "]\n" + (s.stack ? s.stack : s))
  6280.                 }
  6281.                 t = e.terminal.encode(t)
  6282.             }
  6283.             if (re.push(ie), !n.raw && (t.length > fe || t.match(/\n/))) {
  6284.                 var u = n.keepWords,
  6285.                     c = e.terminal.split_equal(t, fe, u);
  6286.                 for (r = 0, i = c.length; r < i; ++r) "" === c[r] ||
  6287.                     "\r" === c[r] ? re.push("<span></span>") : n.raw ?
  6288.                     re.push(c[r]) : re.push(e.terminal.format(c[r], {
  6289.                         linksNoReferrer: Te.linksNoReferrer
  6290.                     }))
  6291.             } else n.raw || (t = e.terminal.format(t, {
  6292.                 linksNoReferrer: Te.linksNoReferrer
  6293.             })), re.push(t);
  6294.             re.push(n.finalize)
  6295.         }
  6296.  
  6297.         function E(t, n) {
  6298.             try {
  6299.                 var r = e.extend({
  6300.                         exec: !0,
  6301.                         raw: !1,
  6302.                         finalize: e.noop
  6303.                     }, n || {}),
  6304.                     i = "function" === e.type(t) ? t() : t;
  6305.                 i = "string" === e.type(i) ? i : String(i), "" !== i &&
  6306.                     (r.exec ? (i = e.map(i.split($), function(t) {
  6307.                         return t.match($) && !e.terminal.is_formatting(
  6308.                             t) ? (t = t.replace(
  6309.                                 /^\[\[|\]\]$/g, ""), ce &&
  6310.                             ce.command == t ? se.error(
  6311.                                 Ce.recursiveCall) : e.terminal
  6312.                             .extended_command(se, t),
  6313.                             "") : t
  6314.                     }).join(""), "" !== i && C(i, r)) : C(i, r))
  6315.             } catch (o) {
  6316.                 re = [], alert("[Internal Exception(process_line)]:" +
  6317.                     x(o) + "\n" + o.stack)
  6318.             }
  6319.         }
  6320.  
  6321.         function j() {
  6322.             qe.resize(fe);
  6323.             var t, n = le.empty().detach();
  6324.             if (Te.outputLimit >= 0) {
  6325.                 var r = 0 === Te.outputLimit ? se.rows() : Te.outputLimit;
  6326.                 t = ve.slice(ve.length - r - 1)
  6327.             } else t = ve;
  6328.             try {
  6329.                 re = [], e.each(t, function(e, t) {
  6330.                     E.apply(null, t)
  6331.                 }), qe.before(n), se.flush()
  6332.             } catch (i) {
  6333.                 alert("Exception in redraw\n" + i.stack)
  6334.             }
  6335.         }
  6336.  
  6337.         function A() {
  6338.             if (Te.greetings === t) se.echo(se.signature);
  6339.             else if (Te.greetings) {
  6340.                 var e = typeof Te.greetings;
  6341.                 "string" === e ? se.echo(Te.greetings) : "function" ===
  6342.                     e ? Te.greetings.call(se, se.echo) : se.error(Ce.wrongGreetings)
  6343.             }
  6344.         }
  6345.  
  6346.         function N(t) {
  6347.             var n = qe.prompt(),
  6348.                 r = qe.mask();
  6349.             switch (typeof r) {
  6350.                 case "string":
  6351.                     t = t.replace(/./g, r);
  6352.                     break;
  6353.                 case "boolean":
  6354.                     t = r ? t.replace(/./g, Te.maskChar) : e.terminal.escape_formatting(
  6355.                         t)
  6356.             }
  6357.             var i = {
  6358.                 finalize: function(e) {
  6359.                     e.addClass("command")
  6360.                 }
  6361.             };
  6362.             e.isFunction(n) ? n(function(e) {
  6363.                 se.echo(e + t, i)
  6364.             }) : se.echo(n + t, i)
  6365.         }
  6366.  
  6367.         function D(e) {
  6368.             var t = V.get()[e[0]];
  6369.             if (!t) throw new Error(Ce.invalidTerminalId);
  6370.             var n = e[1];
  6371.             if (G[n]) t.import_view(G[n]);
  6372.             else {
  6373.                 Q = !1;
  6374.                 var r = e[2];
  6375.                 r && t.exec(r).then(function() {
  6376.                     Q = !0, G[n] = t.export_view()
  6377.                 })
  6378.             }
  6379.         }
  6380.  
  6381.         function F() {
  6382.             Q && (Z = !1, location.hash = "#" + e.json_stringify(Y),
  6383.                 setTimeout(function() {
  6384.                     Z = !0
  6385.                 }, 100))
  6386.         }
  6387.  
  6388.         function q(n, r, i) {
  6389.             function a() {
  6390.                 i || (Q = !0, Te.historyState && se.save_state(n, !
  6391.                         1), Q = c), u.resolve(), e.isFunction(Te.onAfterCommand) &&
  6392.                     Te.onAfterCommand(se, n)
  6393.             }
  6394.             ne = n, oe && (oe = !1, (Te.historyState || Te.execHash &&
  6395.                 i) && (G.length ? se.save_state(null) : se.save_state()));
  6396.             try {
  6397.                 if (e.isFunction(Te.onBeforeCommand) && Te.onBeforeCommand(
  6398.                     se, n) === !1) return;
  6399.                 i || (ce = e.terminal.split_command(n)), B() || i && (e
  6400.                         .isFunction(Te.historyFilter) && Te.historyFilter(
  6401.                             n) || n.match(Te.historyFilter)) && qe.history()
  6402.                     .append(n);
  6403.                 var s = Oe.top();
  6404.                 !r && Te.echoCommand && N(n);
  6405.                 var u = new e.Deferred,
  6406.                     c = Q;
  6407.                 if (n.match(/^\s*login\s*$/) && se.token(!0)) se.level() >
  6408.                     1 ? se.logout(!0) : se.logout(), a();
  6409.                 else if (Te.exit && n.match(/^\s*exit\s*$/) && !xe) {
  6410.                     var l = se.level();
  6411.                     (1 == l && se.get_token() || l > 1) && (se.get_token(!
  6412.                         0) && se.set_token(t, !0), se.pop()), a()
  6413.                 } else if (Te.clear && n.match(/^\s*clear\s*$/) && !xe)
  6414.                     se.clear(), a();
  6415.                 else {
  6416.                     var f = ve.length - 1,
  6417.                         p = s.interpreter.call(se, n, se);
  6418.                     if (p !== t) return se.pause(!0), e.when(p).then(
  6419.                         function(e) {
  6420.                             e && f === ve.length - 1 && o(e), a(),
  6421.                                 se.resume()
  6422.                         });
  6423.                     if (Ee) {
  6424.                         ae.push(function() {
  6425.                             a()
  6426.                         })
  6427.                     } else a()
  6428.                 }
  6429.                 return u.promise()
  6430.             } catch (h) {
  6431.                 throw _(h, "USER"), se.resume(), h
  6432.             }
  6433.         }
  6434.  
  6435.         function H() {
  6436.             if (e.isFunction(Te.onBeforeLogout)) try {
  6437.                 if (Te.onBeforeLogout(se) === !1) return
  6438.             } catch (t) {
  6439.                 _(t, "onBeforeLogout")
  6440.             }
  6441.             if (I(), e.isFunction(Te.onAfterLogout)) try {
  6442.                 Te.onAfterLogout(se)
  6443.             } catch (t) {
  6444.                 _(t, "onAfterlogout")
  6445.             }
  6446.             se.login(Te.login, !0, W)
  6447.         }
  6448.  
  6449.         function I() {
  6450.             var t = se.prefix_name(!0) + "_";
  6451.             e.Storage.remove(t + "token"), e.Storage.remove(t + "login")
  6452.         }
  6453.  
  6454.         function P(t) {
  6455.             var n = se.prefix_name() + "_interpreters",
  6456.                 r = e.Storage.get(n);
  6457.             r = r ? e.parseJSON(r) : [], e.inArray(t, r) == -1 && (r.push(
  6458.                 t), e.Storage.set(n, e.json_stringify(r)))
  6459.         }
  6460.  
  6461.         function M(t) {
  6462.             var n = Oe.top(),
  6463.                 r = se.prefix_name(!0);
  6464.             B() || P(r), qe.name(r), e.isFunction(n.prompt) ? qe.prompt(
  6465.                 function(e) {
  6466.                     n.prompt(e, se)
  6467.                 }) : qe.prompt(n.prompt), qe.set(""), !t && e.isFunction(
  6468.                 n.onStart) && n.onStart(se)
  6469.         }
  6470.  
  6471.         function W() {
  6472.             function t() {
  6473.                 if (Z && Te.execHash) try {
  6474.                     if (location.hash) {
  6475.                         var t = location.hash.replace(/^#/, "");
  6476.                         Y = e.parseJSON(decodeURIComponent(t))
  6477.                     } else Y = [];
  6478.                     Y.length ? D(Y[Y.length - 1]) : G[0] && se.import_view(
  6479.                         G[0])
  6480.                 } catch (n) {
  6481.                     _(n, "TERMINAL")
  6482.                 }
  6483.             }
  6484.             M(), A();
  6485.             var n = !1;
  6486.             if (e.isFunction(Te.onInit)) {
  6487.                 _e = function() {
  6488.                     n = !0
  6489.                 };
  6490.                 try {
  6491.                     Te.onInit(se)
  6492.                 } catch (r) {
  6493.                     _(r, "OnInit")
  6494.                 } finally {
  6495.                     _e = e.noop, n || se.resume()
  6496.                 }
  6497.             }
  6498.             ee && (ee = !1, e.fn.hashchange ? e(window).hashchange(t) :
  6499.                 e(window).bind("hashchange", t))
  6500.         }
  6501.  
  6502.         function z(t, n, r) {
  6503.             Te.clear && e.inArray("clear", r) == -1 && r.push("clear"),
  6504.                 Te.exit && e.inArray("exit", r) == -1 && r.push("exit");
  6505.             var i = qe.get().substring(0, qe.position());
  6506.             if (i === t) {
  6507.                 for (var o = new RegExp("^" + e.terminal.escape_regex(n)),
  6508.                     a = [], s = r.length; s--;) o.test(r[s]) && a.push(
  6509.                     r[s]);
  6510.                 if (1 === a.length) se.insert(a[0].replace(o, ""));
  6511.                 else if (a.length > 1)
  6512.                     if (me >= 2) {
  6513.                         N(t);
  6514.                         var u = a.reverse().join("\t");
  6515.                         se.echo(e.terminal.escape_brackets(u), {
  6516.                             keepWords: !0
  6517.                         }), me = 0
  6518.                     } else {
  6519.                         var c, l = !1;
  6520.                         e: for (c = n.length; c < a[0].length; ++c) {
  6521.                             for (s = 1; s < a.length; ++s)
  6522.                                 if (a[0].charAt(c) !== a[s].charAt(
  6523.                                     c)) break e;
  6524.                             l = !0
  6525.                         }
  6526.                         l && se.insert(a[0].slice(0, c).replace(o, ""))
  6527.                     }
  6528.             }
  6529.         }
  6530.  
  6531.         function B() {
  6532.             return xe || qe.mask() !== !1
  6533.         }
  6534.  
  6535.         function K(n) {
  6536.             var r, i, o, a = Oe.top();
  6537.             if (!se.paused() && se.enabled()) {
  6538.                 if (e.isFunction(a.keydown)) {
  6539.                     if (r = a.keydown(n, se), r !== t) return r
  6540.                 } else if (e.isFunction(Te.keydown) && (r = Te.keydown(
  6541.                     n, se), r !== t)) return r;
  6542.                 if (o = Te.completion && "boolean" != e.type(Te.completion) &&
  6543.                     a.completion === t ? Te.completion : a.completion,
  6544.                     "settings" == o && (o = Te.completion), se.oneTime(
  6545.                         10, function() {
  6546.                             Ae()
  6547.                         }), 9 !== n.which && (me = 0), 68 === n.which &&
  6548.                     n.ctrlKey) return xe || ("" === qe.get() ? Oe.size() >
  6549.                     1 || Te.login !== t ? se.pop("") : (se.resume(),
  6550.                         se.echo("")) : se.set_command("")), !1;
  6551.                 if (76 === n.which && n.ctrlKey) se.clear();
  6552.                 else {
  6553.                     if (o && 9 === n.which) {
  6554.                         ++me;
  6555.                         var s, u = qe.position(),
  6556.                             c = qe.get().substring(0, u),
  6557.                             l = c.split(" ");
  6558.                         if (1 == Ce.length) s = l[0];
  6559.                         else
  6560.                             for (s = l[l.length - 1], i = l.length - 1; i >
  6561.                                 0 && "\\" == l[i - 1][l[i - 1].length -
  6562.                                     1
  6563.                                 ]; i--) s = l[i - 1] + " " + s;
  6564.                         switch (e.type(o)) {
  6565.                             case "function":
  6566.                                 o(se, s, function(e) {
  6567.                                     z(c, s, e)
  6568.                                 });
  6569.                                 break;
  6570.                             case "array":
  6571.                                 z(c, s, o);
  6572.                                 break;
  6573.                             default:
  6574.                                 throw new Error(Ce.invalidCompletion)
  6575.                         }
  6576.                         return !1
  6577.                     }
  6578.                     if ((118 === n.which || 86 === n.which) && (n.ctrlKey ||
  6579.                         n.metaKey)) return void se.oneTime(1, function() {
  6580.                         k()
  6581.                     });
  6582.                     if (9 === n.which && n.ctrlKey) {
  6583.                         if (V.length() > 1) return se.focus(!1), !1
  6584.                     } else 34 === n.which ? se.scroll(se.height()) : 33 ===
  6585.                         n.which ? se.scroll(-se.height()) : se.attr({
  6586.                             scrollTop: se.attr("scrollHeight")
  6587.                         })
  6588.                 }
  6589.             } else if (68 === n.which && n.ctrlKey) {
  6590.                 if (J.length) {
  6591.                     for (i = J.length; i--;) {
  6592.                         var f = J[i];
  6593.                         if (4 !== f.readyState) try {
  6594.                             f.abort()
  6595.                         } catch (p) {
  6596.                             se.error(Ce.ajaxAbortError)
  6597.                         }
  6598.                     }
  6599.                     J = [], se.resume()
  6600.                 }
  6601.                 return !1
  6602.             }
  6603.         }
  6604.  
  6605.         function U() {
  6606.             He && se.focus()
  6607.         }
  6608.  
  6609.         function te() {
  6610.             He = Se, se.disable()
  6611.         }
  6612.         var ne, re = [],
  6613.             ie = 1,
  6614.             oe = !0,
  6615.             ae = [],
  6616.             se = this;
  6617.         if (this.length > 1) return this.each(function() {
  6618.             e.fn.terminal.call(e(this), n, e.extend({
  6619.                 name: se.selector
  6620.             }, r))
  6621.         });
  6622.         if (se.data("terminal")) return se.data("terminal");
  6623.         if (0 === se.length) throw sprintf(e.terminal.defaults.strings.invalidSelector,
  6624.             se.selector);
  6625.         var ue, ce, le, fe, pe, he, de, ge, me = 0,
  6626.             ve = [],
  6627.             ye = V.length(),
  6628.             be = new l,
  6629.             we = e.Deferred(),
  6630.             xe = !1,
  6631.             _e = e.noop,
  6632.             ke = [],
  6633.             Te = e.extend({}, e.terminal.defaults, {
  6634.                 name: se.selector
  6635.             }, r || {}),
  6636.             Ce = e.terminal.defaults.strings,
  6637.             Se = Te.enabled,
  6638.             Ee = !1,
  6639.             je = !0;
  6640.         e.extend(se, e.omap({
  6641.             id: function() {
  6642.                 return ye
  6643.             },
  6644.             clear: function() {
  6645.                 le.html(""), ve = [];
  6646.                 try {
  6647.                     Te.onClear(se)
  6648.                 } catch (e) {
  6649.                     _(e, "onClear")
  6650.                 }
  6651.                 return se.attr({
  6652.                     scrollTop: 0
  6653.                 }), se
  6654.             },
  6655.             export_view: function() {
  6656.                 var t = {};
  6657.                 if (e.isFunction(Te.onExport)) try {
  6658.                     t = Te.onExport()
  6659.                 } catch (n) {
  6660.                     _(n, "onExport")
  6661.                 }
  6662.                 return e.extend({}, {
  6663.                     focus: Se,
  6664.                     mask: qe.mask(),
  6665.                     prompt: se.get_prompt(),
  6666.                     command: se.get_command(),
  6667.                     position: qe.position(),
  6668.                     lines: b(ve),
  6669.                     interpreters: Oe.clone()
  6670.                 }, t)
  6671.             },
  6672.             import_view: function(t) {
  6673.                 if (xe) throw new Error(sprintf(Ce.notWhileLogin,
  6674.                     "import_view"));
  6675.                 if (e.isFunction(Te.onImport)) try {
  6676.                     Te.onImport(t)
  6677.                 } catch (n) {
  6678.                     _(n, "onImport")
  6679.                 }
  6680.                 return we.then(function() {
  6681.                     se.set_prompt(t.prompt), se.set_command(
  6682.                             t.command), qe.position(
  6683.                             t.position), qe.mask(t.mask),
  6684.                         t.focus && se.focus(), ve =
  6685.                         b(t.lines), Oe = t.interpreters,
  6686.                         j()
  6687.                 }), se
  6688.             },
  6689.             save_state: function(n, r, i) {
  6690.                 if ("undefined" != typeof i ? G[i] = se.export_view() :
  6691.                     G.push(se.export_view()), e.isArray(Y) ||
  6692.                     (Y = []), n !== t && !r) {
  6693.                     var o = [ye, G.length - 1, n];
  6694.                     Y.push(o), F()
  6695.                 }
  6696.             },
  6697.             exec: function(t, n, r) {
  6698.                 function i() {
  6699.                     e.isArray(t) ? ! function r() {
  6700.                             var e = t.shift();
  6701.                             e ? se.exec(e, n).then(r) :
  6702.                                 o.resolve()
  6703.                         }() : Ee ? ke.push([t, n, o]) :
  6704.                         q(t, n, !0).then(function() {
  6705.                             o.resolve(se)
  6706.                         })
  6707.                 }
  6708.                 var o = r || new e.Deferred;
  6709.                 return "resolved" != we.state() ? we.then(i) :
  6710.                     i(), o.promise()
  6711.             },
  6712.             autologin: function(e, t, n) {
  6713.                 return se.trigger("terminal.autologin", [e,
  6714.                     t, n
  6715.                 ]), se
  6716.             },
  6717.             login: function(t, n, r, i) {
  6718.                 function o(t, o, s, u) {
  6719.                     if (o) {
  6720.                         for (; se.level() > a;) se.pop();
  6721.                         Te.history && qe.history().enable();
  6722.                         var c = se.prefix_name(!0) +
  6723.                             "_";
  6724.                         e.Storage.set(c + "token", o),
  6725.                             e.Storage.set(c + "login",
  6726.                                 t), xe = !1, e.isFunction(
  6727.                                 r) && r()
  6728.                     } else n ? (s || se.error(Ce.wrongPasswordTryAgain),
  6729.                         se.pop().set_mask(!1)) : (
  6730.                         xe = !1, s || se.error(Ce.wrongPassword),
  6731.                         se.pop().pop()), e.isFunction(
  6732.                         i) && i();
  6733.                     se.off("terminal.autologin")
  6734.                 }
  6735.                 if (be.push([].slice.call(arguments)), xe)
  6736.                     throw new Error(sprintf(Ce.notWhileLogin,
  6737.                         "login"));
  6738.                 if (!e.isFunction(t)) throw new Error(Ce.loginIsNotAFunction);
  6739.                 if (xe = !0, se.token() && 1 == se.level() &&
  6740.                     !je) xe = !1, se.logout(!0);
  6741.                 else if (se.token(!0) && se.login_name(!0))
  6742.                     return xe = !1, e.isFunction(r) && r(),
  6743.                         se;
  6744.                 Te.history && qe.history().disable();
  6745.                 var a = se.level();
  6746.                 return se.on("terminal.autologin", function(
  6747.                     e, t, n, r) {
  6748.                     o(t, n, r)
  6749.                 }), se.push(function(e) {
  6750.                     se.set_mask(Te.maskChar).push(
  6751.                         function(n) {
  6752.                             try {
  6753.                                 t.call(se, e, n,
  6754.                                     function(
  6755.                                         t,
  6756.                                         n) {
  6757.                                         o(e,
  6758.                                             t,
  6759.                                             n
  6760.                                         )
  6761.                                     })
  6762.                             } catch (r) {
  6763.                                 _(r, "AUTH")
  6764.                             }
  6765.                         }, {
  6766.                             prompt: Ce.password +
  6767.                                 ": ",
  6768.                             name: "password"
  6769.                         })
  6770.                 }, {
  6771.                     prompt: Ce.login + ": ",
  6772.                     name: "login"
  6773.                 }), se
  6774.             },
  6775.             settings: function() {
  6776.                 return Te
  6777.             },
  6778.             commands: function() {
  6779.                 return Oe.top().interpreter
  6780.             },
  6781.             setInterpreter: function() {
  6782.                 return window.console && console.warn, se.set_interpreter
  6783.                     .apply(se, arguments)
  6784.             },
  6785.             set_interpreter: function(t, n) {
  6786.                 function r() {
  6787.                     se.pause(), y(t, !!n, function(t) {
  6788.                         se.resume();
  6789.                         var n = Oe.top();
  6790.                         e.extend(n, t), M(!0)
  6791.                     })
  6792.                 }
  6793.                 return "string" == e.type(t) && n ? se.login(
  6794.                     w(t, n), !0, r) : r(), se
  6795.             },
  6796.             greetings: function() {
  6797.                 return A(), se
  6798.             },
  6799.             paused: function() {
  6800.                 return Ee
  6801.             },
  6802.             pause: function(t) {
  6803.                 return _e(), !Ee && qe && we.then(function() {
  6804.                     Ee = !0, qe.disable(), t || qe.hidden(),
  6805.                         e.isFunction(Te.onPause) &&
  6806.                         Te.onPause()
  6807.                 }), se
  6808.             },
  6809.             resume: function() {
  6810.                 function t() {
  6811.                     Ee = !1, V.front() == se && qe.enable(),
  6812.                         qe.visible();
  6813.                     var t = ke;
  6814.                     ke = [];
  6815.                     for (var n = 0; n < t.length; ++n)
  6816.                         se.exec.apply(se, t[n]);
  6817.                     se.trigger("resume");
  6818.                     var r = ae.shift();
  6819.                     r && r(), k(), e.isFunction(Te.onResume) &&
  6820.                         Te.onResume()
  6821.                 }
  6822.                 return Ee && qe && ("resolved" != we.state() ?
  6823.                     we.then(t) : t()), se
  6824.             },
  6825.             cols: function() {
  6826.                 return Te.numChars ? Te.numChars : d(se)
  6827.             },
  6828.             rows: function() {
  6829.                 return Te.numRows ? Te.numRows : g(se)
  6830.             },
  6831.             history: function() {
  6832.                 return qe.history()
  6833.             },
  6834.             history_state: function(e) {
  6835.                 return e ? se.oneTime(1, function() {
  6836.                     Te.historyState = !0, G.length ?
  6837.                         V.length() > 1 && se.save_state(
  6838.                             null) : se.save_state()
  6839.                 }) : Te.historyState = !1, se
  6840.             },
  6841.             clear_history_state: function() {
  6842.                 Y = [], G = []
  6843.             },
  6844.             next: function() {
  6845.                 if (1 === V.length()) return se;
  6846.                 se.offset().top, se.height(), se.scrollTop();
  6847.                 V.front().disable();
  6848.                 var t = V.rotate().enable(),
  6849.                     n = t.offset().top - 50;
  6850.                 e("html,body").animate({
  6851.                     scrollTop: n
  6852.                 }, 500);
  6853.                 try {
  6854.                     Te.onTerminalChange(t)
  6855.                 } catch (r) {
  6856.                     _(r, "onTerminalChange")
  6857.                 }
  6858.                 return t
  6859.             },
  6860.             focus: function(e, t) {
  6861.                 return we.then(function() {
  6862.                     if (1 === V.length())
  6863.                         if (e === !1) try {
  6864.                             (!t && Te.onBlur(se) !==
  6865.                                 !1 || t) && se.disable()
  6866.                         } catch (n) {
  6867.                             _(n, "onBlur")
  6868.                         } else try {
  6869.                                 (!t && Te.onFocus(
  6870.                                         se) !==
  6871.                                     !1 || t) &&
  6872.                                 se.enable()
  6873.                             } catch (n) {
  6874.                                 _(n, "onFocus")
  6875.                             } else if (e === !1)
  6876.                                 se.next();
  6877.                             else {
  6878.                                 var r = V.front();
  6879.                                 if (r != se &&
  6880.                                     (r.disable(), !
  6881.                                         t)) try {
  6882.                                     Te.onTerminalChange(
  6883.                                         se
  6884.                                     )
  6885.                                 } catch (n) {
  6886.                                     _(n,
  6887.                                         "onTerminalChange"
  6888.                                     )
  6889.                                 }
  6890.                                 V.set(se), se.enable()
  6891.                             }
  6892.                 }), se
  6893.             },
  6894.             freeze: function(e) {
  6895.                 we.then(function() {
  6896.                     e ? (se.disable(), ge = !0) : (
  6897.                         ge = !1, se.enable())
  6898.                 })
  6899.             },
  6900.             frozen: function() {
  6901.                 return ge
  6902.             },
  6903.             enable: function() {
  6904.                 return Se || ge || (fe === t && se.resize(),
  6905.                     we.then(function() {
  6906.                         qe.enable(), Se = !0
  6907.                     })), se
  6908.             },
  6909.             disable: function() {
  6910.                 return Se && !ge && we.then(function() {
  6911.                     Se = !1, qe.disable()
  6912.                 }), se
  6913.             },
  6914.             enabled: function() {
  6915.                 return Se
  6916.             },
  6917.             signature: function() {
  6918.                 var e = se.cols(),
  6919.                     t = e < 15 ? null : e < 35 ? 0 : e < 55 ?
  6920.                     1 : e < 64 ? 2 : e < 75 ? 3 : 4;
  6921.                 return null !== t ? X[t].join("\n") + "\n" :
  6922.                     ""
  6923.             },
  6924.             version: function() {
  6925.                 return e.terminal.version
  6926.             },
  6927.             cmd: function() {
  6928.                 return qe
  6929.             },
  6930.             get_command: function() {
  6931.                 return qe.get()
  6932.             },
  6933.             set_command: function(e) {
  6934.                 return we.then(function() {
  6935.                     qe.set(e)
  6936.                 }), se
  6937.             },
  6938.             insert: function(e) {
  6939.                 if ("string" == typeof e) return we.then(
  6940.                     function() {
  6941.                         qe.insert(e)
  6942.                     }), se;
  6943.                 throw "insert function argument is not a string"
  6944.             },
  6945.             set_prompt: function(t) {
  6946.                 return we.then(function() {
  6947.                     T("prompt", t) && (e.isFunction(
  6948.                             t) ? qe.prompt(
  6949.                             function(e) {
  6950.                                 t(e, se)
  6951.                             }) : qe.prompt(t),
  6952.                         Oe.top().prompt = t)
  6953.                 }), se
  6954.             },
  6955.             get_prompt: function() {
  6956.                 return Oe.top().prompt
  6957.             },
  6958.             set_mask: function(e) {
  6959.                 return we.then(function() {
  6960.                     qe.mask(e === !0 ? Te.maskChar :
  6961.                         e)
  6962.                 }), se
  6963.             },
  6964.             get_output: function(t) {
  6965.                 return t ? ve : e.map(ve, function(t) {
  6966.                     return e.isFunction(t[0]) ? t[0]
  6967.                         () : t[0]
  6968.                 }).join("\n")
  6969.             },
  6970.             resize: function(t, n) {
  6971.                 if (se.is(":visible")) {
  6972.                     t && n && (se.width(t), se.height(n)),
  6973.                         t = se.width(), n = se.height();
  6974.                     var r = se.cols(),
  6975.                         i = se.rows();
  6976.                     if (r !== fe || i !== pe) {
  6977.                         fe = r, pe = i, j();
  6978.                         var o = Oe.top();
  6979.                         e.isFunction(o.resize) ? o.resize(
  6980.                                 se) : e.isFunction(Te.onResize) &&
  6981.                             Te.onResize(se), de = n, he = t,
  6982.                             k()
  6983.                     }
  6984.                 } else se.stopTime("resize"), se.oneTime(
  6985.                     500, "resize", function() {
  6986.                         se.resize(t, n)
  6987.                     });
  6988.                 return se
  6989.             },
  6990.             flush: function() {
  6991.                 try {
  6992.                     var t;
  6993.                     if (e.each(re, function(n, r) {
  6994.                         if (r === ie) t = e(
  6995.                             "<div></div>");
  6996.                         else if (e.isFunction(r)) {
  6997.                             t.appendTo(le);
  6998.                             try {
  6999.                                 r(t)
  7000.                             } catch (i) {
  7001.                                 _(i,
  7002.                                     "USER:echo(finalize)"
  7003.                                 )
  7004.                             }
  7005.                         } else e("<div/>").html(r).appendTo(
  7006.                             t).width("100%")
  7007.                     }), Te.outputLimit >= 0) {
  7008.                         var n = 0 === Te.outputLimit ? se.rows() :
  7009.                             Te.outputLimit,
  7010.                             r = le.find("div div");
  7011.                         if (r.length > n) {
  7012.                             var i = r.length - n + 1,
  7013.                                 o = r.slice(0, i),
  7014.                                 a = o.parent();
  7015.                             o.remove(), a.each(function() {
  7016.                                 var t = e(this);
  7017.                                 t.is(":empty") && t
  7018.                                     .remove()
  7019.                             })
  7020.                         }
  7021.                     }
  7022.                     pe = g(se), Ae(), Te.scrollOnEcho && k(),
  7023.                         re = []
  7024.                 } catch (s) {
  7025.                     alert("[Flush] " + x(s) + "\n" + s.stack)
  7026.                 }
  7027.                 return se
  7028.             },
  7029.             update: function(e, t) {
  7030.                 return we.then(function() {
  7031.                     e < 0 && (e = ve.length + e),
  7032.                         ve[e] ? (null === t ? ve.splice(
  7033.                                 e, 1) : ve[e][0] =
  7034.                             t, j()) : se.error(
  7035.                             "Invalid line number " +
  7036.                             e)
  7037.                 }), se
  7038.             },
  7039.             last_index: function() {
  7040.                 return ve.length - 1
  7041.             },
  7042.             echo: function(t, n) {
  7043.                 return t = t || "", e.when(t).then(function(
  7044.                     t) {
  7045.                     try {
  7046.                         var r = e.extend({
  7047.                             flush: !0,
  7048.                             raw: Te.raw,
  7049.                             finalize: e.noop,
  7050.                             keepWords: !1
  7051.                         }, n || {});
  7052.                         r.flush && (re = []), E(t,
  7053.                                 r), ve.push([t, e.extend(
  7054.                                 r, {
  7055.                                     exec: !
  7056.                                         1
  7057.                                 })]), r.flush && se
  7058.                             .flush()
  7059.                     } catch (i) {
  7060.                         alert("[Terminal.echo] " +
  7061.                             x(i) + "\n" + i.stack
  7062.                         )
  7063.                     }
  7064.                 }), se
  7065.             },
  7066.             error: function(t, n) {
  7067.                 var r = e.terminal.escape_brackets(t).replace(
  7068.                     /\\$/, "&#92;").replace(L,
  7069.                     "]$1[[;;;error]");
  7070.                 return se.echo("[[;;;error]" + r + "]", n)
  7071.             },
  7072.             exception: function(t, n) {
  7073.                 var r = x(t);
  7074.                 if (n && (r = "&#91;" + n + "&#93;: " + r),
  7075.                     r && se.error(r, {
  7076.                         finalize: function(e) {
  7077.                             e.addClass(
  7078.                                 "exception message"
  7079.                             )
  7080.                         }
  7081.                     }), "string" == typeof t.fileName && (
  7082.                         se.pause(), e.get(t.fileName,
  7083.                             function(e) {
  7084.                                 se.resume();
  7085.                                 var n = t.lineNumber - 1,
  7086.                                     r = e.split("\n")[n];
  7087.                                 r && se.error("[" + t.lineNumber +
  7088.                                     "]: " + r)
  7089.                             })), t.stack) {
  7090.                     var i = e.terminal.escape_brackets(t.stack);
  7091.                     se.echo(i.split(/\n/g).map(function(e) {
  7092.                         return "[[;;;error]" +
  7093.                             e.replace(L,
  7094.                                 function(e) {
  7095.                                     return "]" +
  7096.                                         e +
  7097.                                         "[[;;;error]"
  7098.                                 }) + "]"
  7099.                     }).join("\n"), {
  7100.                         finalize: function(e) {
  7101.                             e.addClass(
  7102.                                 "exception stack-trace"
  7103.                             )
  7104.                         }
  7105.                     })
  7106.                 }
  7107.             },
  7108.             scroll: function(e) {
  7109.                 var t;
  7110.                 return e = Math.round(e), ue.prop ? (e > ue
  7111.                     .prop("scrollTop") && e > 0 && ue.prop(
  7112.                         "scrollTop", 0), t = ue.prop(
  7113.                         "scrollTop"), ue.scrollTop(t +
  7114.                         e)) : (e > ue.attr("scrollTop") &&
  7115.                     e > 0 && ue.attr("scrollTop", 0), t =
  7116.                     ue.attr("scrollTop"), ue.scrollTop(
  7117.                         t + e)), se
  7118.             },
  7119.             logout: function(e) {
  7120.                 if (xe) throw new Error(sprintf(Ce.notWhileLogin,
  7121.                     "logout"));
  7122.                 return we.then(function() {
  7123.                     if (e) {
  7124.                         var n = be.pop();
  7125.                         se.set_token(t, !0), se.login
  7126.                             .apply(se, n)
  7127.                     } else
  7128.                         for (; Oe.size() > 0 && !se
  7129.                             .pop(););
  7130.                 }), se
  7131.             },
  7132.             token: function(t) {
  7133.                 return e.Storage.get(se.prefix_name(t) +
  7134.                     "_token")
  7135.             },
  7136.             set_token: function(t, n) {
  7137.                 var r = se.prefix_name(n) + "_token";
  7138.                 return "undefined" == typeof t ? e.Storage.remove(
  7139.                     r, t) : e.Storage.set(r, t), se
  7140.             },
  7141.             get_token: function(t) {
  7142.                 return e.Storage.get(se.prefix_name(t) +
  7143.                     "_token")
  7144.             },
  7145.             login_name: function(t) {
  7146.                 return e.Storage.get(se.prefix_name(t) +
  7147.                     "_login")
  7148.             },
  7149.             name: function() {
  7150.                 return Oe.top().name
  7151.             },
  7152.             prefix_name: function(e) {
  7153.                 var t = (Te.name ? Te.name + "_" : "") + ye;
  7154.                 if (e && Oe.size() > 1) {
  7155.                     var n = Oe.map(function(e) {
  7156.                         return e.name
  7157.                     }).slice(1).join("_");
  7158.                     n && (t += "_" + n)
  7159.                 }
  7160.                 return t
  7161.             },
  7162.             read: function(t, n) {
  7163.                 var r = new e.Deferred;
  7164.                 return se.push(function(t) {
  7165.                     se.pop(), e.isFunction(n) && n(
  7166.                         t), r.resolve(t)
  7167.                 }, {
  7168.                     prompt: t
  7169.                 }), r.promise()
  7170.             },
  7171.             push: function(n, r) {
  7172.                 return we.then(function() {
  7173.                     r = r || {};
  7174.                     var i = {
  7175.                             infiniteLogin: !1
  7176.                         },
  7177.                         o = e.extend({}, i, r);
  7178.                     !o.name && ce && (o.name = ce.name),
  7179.                         o.prompt === t && (o.prompt =
  7180.                             (o.name || ">") + " ");
  7181.                     var a = Oe.top();
  7182.                     a && (a.mask = qe.mask());
  7183.                     var s = Ee;
  7184.                     y(n, !!r.login, function(t) {
  7185.                         if (Oe.push(e.extend({},
  7186.                                 t, o)), e.isArray(
  7187.                                 t.completion
  7188.                             ) && o.completion ===
  7189.                             !0 ? Oe.top().completion =
  7190.                             t.completion :
  7191.                             t.completion ||
  7192.                             o.completion !==
  7193.                             !0 || (Oe.top()
  7194.                                 .completion = !
  7195.                                 1), o.login
  7196.                         ) {
  7197.                             var r = e.type(
  7198.                                 o.login
  7199.                             );
  7200.                             "function" == r
  7201.                                 ? se.login(
  7202.                                     o.login,
  7203.                                     o.infiniteLogin,
  7204.                                     M, o.infiniteLogin ?
  7205.                                     e.noop :
  7206.                                     se.pop) :
  7207.                                 ("string" ==
  7208.                                     e.type(
  7209.                                         n) &&
  7210.                                     "string" ==
  7211.                                     r ||
  7212.                                     "boolean" ==
  7213.                                     r) &&
  7214.                                 se.login(w(
  7215.                                         n,
  7216.                                         o.login
  7217.                                     ), o.infiniteLogin,
  7218.                                     M, o.infiniteLogin ?
  7219.                                     e.noop :
  7220.                                     se.pop)
  7221.                         } else M();
  7222.                         s || se.resume()
  7223.                     })
  7224.                 }), se
  7225.             },
  7226.             pop: function(n) {
  7227.                 n !== t && N(n);
  7228.                 se.token(!0);
  7229.                 if (1 == Oe.size()) {
  7230.                     if (Te.login) {
  7231.                         if (H(), e.isFunction(Te.onExit))
  7232.                             try {
  7233.                                 Te.onExit(se)
  7234.                             } catch (r) {
  7235.                                 _(r, "onExit")
  7236.                             }
  7237.                         return !0
  7238.                     }
  7239.                     se.error(Ce.canExitError)
  7240.                 } else {
  7241.                     se.token(!0) && I();
  7242.                     var i = Oe.pop();
  7243.                     if (M(), xe && se.get_prompt() != Ce.login +
  7244.                         ": " && (xe = !1), e.isFunction(i.onExit)
  7245.                     ) try {
  7246.                         i.onExit(se)
  7247.                     } catch (r) {
  7248.                         _(r, "onExit")
  7249.                     }
  7250.                     se.set_mask(Oe.top().mask)
  7251.                 }
  7252.                 return se
  7253.             },
  7254.             option: function(t, n) {
  7255.                 if ("undefined" == typeof n) {
  7256.                     if ("string" == typeof t) return Te[t];
  7257.                     "object" == typeof t && e.each(t,
  7258.                         function(e, t) {
  7259.                             Te[e] = t
  7260.                         })
  7261.                 } else Te[t] = n;
  7262.                 return se
  7263.             },
  7264.             level: function() {
  7265.                 return Oe.size()
  7266.             },
  7267.             reset: function() {
  7268.                 return we.then(function() {
  7269.                     for (se.clear(); Oe.size() > 1;)
  7270.                         Oe.pop();
  7271.                     W()
  7272.                 }), se
  7273.             },
  7274.             purge: function() {
  7275.                 return we.then(function() {
  7276.                     var t = se.prefix_name() + "_",
  7277.                         n = e.Storage.get(t +
  7278.                             "interpreters");
  7279.                     e.each(e.parseJSON(n), function(
  7280.                         t, n) {
  7281.                         e.Storage.remove(n +
  7282.                                 "_commands"
  7283.                             ), e.Storage.remove(
  7284.                                 n +
  7285.                                 "_token"),
  7286.                             e.Storage.remove(
  7287.                                 n +
  7288.                                 "_login")
  7289.                     }), qe.purge(), e.Storage.remove(
  7290.                         t + "interpreters")
  7291.                 }), se
  7292.             },
  7293.             destroy: function() {
  7294.                 return we.then(function() {
  7295.                     qe.destroy().remove(), le.remove(),
  7296.                         e(document).unbind(
  7297.                             ".terminal"), e(window)
  7298.                         .unbind(".terminal"), se.unbind(
  7299.                             "click mousewheel mousedown mouseup"
  7300.                         ), se.removeData("terminal")
  7301.                         .removeClass("terminal"),
  7302.                         Te.width && se.css("width",
  7303.                             ""), Te.height && se.css(
  7304.                             "height", ""), e(window)
  7305.                         .off("blur", te).off(
  7306.                             "focus", U), V.remove(
  7307.                             ye)
  7308.                 }), se
  7309.             }
  7310.         }, function(e, t) {
  7311.             return function() {
  7312.                 try {
  7313.                     return t.apply(se, [].slice.apply(
  7314.                         arguments))
  7315.                 } catch (n) {
  7316.                     throw "exec" !== e && "resume" !== e &&
  7317.                         _(n, "TERMINAL"), n
  7318.                 }
  7319.             }
  7320.         }));
  7321.         var Ae = function() {
  7322.             var e = v(se);
  7323.             return function() {
  7324.                 e !== v(se) && (se.resize(), e = v(se))
  7325.             }
  7326.         }();
  7327.         Te.width && se.width(Te.width), Te.height && se.height(Te.height);
  7328.         var Ne = navigator.userAgent.toLowerCase();
  7329.         if (ue = Ne.match(/(webkit)[ \/]([\w.]+)/) || "body" != se[0].tagName
  7330.             .toLowerCase() ? se : e("html"), e(document).bind(
  7331.                 "ajaxSend.terminal", function(e, t, n) {
  7332.                     J.push(t)
  7333.                 }), le = e("<div>").addClass("terminal-output").appendTo(se),
  7334.             se.addClass("terminal"), Te.login && e.isFunction(Te.onBeforeLogin)
  7335.         ) try {
  7336.             Te.onBeforeLogin(se) === !1 && (je = !1)
  7337.         } catch (De) {
  7338.             throw _(De, "onBeforeLogin"), De
  7339.         }
  7340.         var Fe;
  7341.         Te.login;
  7342.         if ("string" == typeof n) Fe = n;
  7343.         else if (n instanceof Array)
  7344.             for (var Le = 0, Re = n.length; Le < Re; ++Le)
  7345.                 if ("string" == typeof n[Le]) {
  7346.                     Fe = n[Le];
  7347.                     break
  7348.                 }!Fe || "string" != typeof Te.login && Te.login !== !0 || (
  7349.             Te.login = w(Fe, Te.login)), V.append(se);
  7350.         var Oe, qe, He;
  7351.         return y(n, !!Te.login, function(n) {
  7352.             function r(t) {
  7353.                     var n = V.get()[t[0]];
  7354.                     if (n && ye == n.id() && t[2]) try {
  7355.                         if (Ee) {
  7356.                             var r = e.Deferred();
  7357.                             return ae.push(function() {
  7358.                                 return n.exec(t[2]).then(
  7359.                                     function(e, i) {
  7360.                                         n.save_state(
  7361.                                             t[2], !
  7362.                                             0,
  7363.                                             t[1]
  7364.                                         ), r.resolve()
  7365.                                     })
  7366.                             }), r.promise()
  7367.                         }
  7368.                         return n.exec(t[2]).then(function(e, r) {
  7369.                             n.save_state(t[2], !0, t[1])
  7370.                         })
  7371.                     } catch (i) {
  7372.                         var o = e.terminal.escape_brackets(
  7373.                                 command),
  7374.                             a =
  7375.                             "Error while exec with command " +
  7376.                             o;
  7377.                         n.error(a).exception(i)
  7378.                     }
  7379.                 }(Te.completion && "boolean" != typeof Te.completion ||
  7380.                     !Te.completion) && (n.completion = "settings"),
  7381.                 Oe = new l(e.extend({
  7382.                     name: Te.name,
  7383.                     prompt: Te.prompt,
  7384.                     keypress: Te.keypress,
  7385.                     keydown: Te.keydown,
  7386.                     resize: Te.onResize,
  7387.                     greetings: Te.greetings,
  7388.                     mousewheel: Te.mousewheel
  7389.                 }, n)), qe = e("<div/>").appendTo(se).cmd({
  7390.                     prompt: Te.prompt,
  7391.                     history: Te.history,
  7392.                     historyFilter: Te.historyFilter,
  7393.                     historySize: Te.historySize,
  7394.                     width: "100%",
  7395.                     enabled: Se && !S,
  7396.                     keydown: K,
  7397.                     keypress: function(t) {
  7398.                         var n = Oe.top();
  7399.                         return e.isFunction(n.keypress) ? n
  7400.                             .keypress(t, se) : e.isFunction(
  7401.                                 Te.keypress) ? Te.keypress(
  7402.                                 t, se) : void 0
  7403.                     },
  7404.                     onCommandChange: function(t) {
  7405.                         if (e.isFunction(Te.onCommandChange))
  7406.                             try {
  7407.                                 Te.onCommandChange(t, se)
  7408.                             } catch (n) {
  7409.                                 throw _(n,
  7410.                                         "onCommandChange"),
  7411.                                     n
  7412.                             }
  7413.                         k()
  7414.                     },
  7415.                     commands: q
  7416.                 }), Se && se.is(":visible") && !S ? se.focus(t, !0) :
  7417.                 se.disable(), se.oneTime(100, function() {
  7418.                     function t(t) {
  7419.                         var n = e(t.target);
  7420.                         !n.closest(".terminal").length &&
  7421.                             se.enabled() && Te.onBlur(se) !==
  7422.                             !1 && se.disable()
  7423.                     }
  7424.                     e(document).bind("click.terminal", t).bind(
  7425.                         "contextmenu.terminal", t)
  7426.                 });
  7427.             var i = e(window);
  7428.             if (S || i.on("focus", U).on("blur", te), function() {
  7429.                 var t = 0,
  7430.                     n = !1;
  7431.                 se.mousedown(function() {
  7432.                     e(window).mousemove(function() {
  7433.                         n = !0, t = 0, e(window)
  7434.                             .unbind("mousemove")
  7435.                     })
  7436.                 }).mouseup(function() {
  7437.                     var r = n;
  7438.                     n = !1, e(window).unbind(
  7439.                             "mousemove"), r || 1 != ++t ||
  7440.                         (t = 0, se.enabled() || ge || (
  7441.                             se.focus(), qe.enable()
  7442.                         ))
  7443.                 })
  7444.             }(), S && se.click(function() {
  7445.                 se.enabled() || ge ? se.focus(!1) : (se.focus(),
  7446.                     qe.enable())
  7447.             }), se.delegate(".exception a", "click", function(t) {
  7448.                 var n = e(this).attr("href");
  7449.                 n.match(/:[0-9]+$/) && (t.preventDefault(),
  7450.                     a(n))
  7451.             }), navigator.platform.match(/linux/i) || se.mousedown(
  7452.                 function(e) {
  7453.                     if (2 == e.which) {
  7454.                         var t = m();
  7455.                         se.insert(t)
  7456.                     }
  7457.                 }), se.is(":visible") && (fe = se.cols(), qe.resize(
  7458.                 fe), pe = g(se)), Te.login ? se.login(Te.login, !
  7459.                 0, W) : W(), se.oneTime(100, function() {
  7460.                 i.bind("resize.terminal", function() {
  7461.                     if (se.is(":visible")) {
  7462.                         var e = se.width(),
  7463.                             t = se.height();
  7464.                         de === t && he === e || se.resize()
  7465.                     }
  7466.                 })
  7467.             }), Te.execHash && location.hash ? setTimeout(
  7468.                 function() {
  7469.                     try {
  7470.                         var t = location.hash.replace(/^#/, "");
  7471.                         Y = e.parseJSON(decodeURIComponent(t));
  7472.                         var n = 0;
  7473.                         ! function o() {
  7474.                             var e = Y[n++];
  7475.                             e ? r(e).then(o) : Q = !0
  7476.                         }()
  7477.                     } catch (i) {}
  7478.                 }) : Q = !0, e.event.special.mousewheel) {
  7479.                 var o = !1;
  7480.                 e(document).bind("keydown.terminal", function(e) {
  7481.                     e.shiftKey && (o = !0)
  7482.                 }).bind("keyup.terminal", function(e) {
  7483.                     (e.shiftKey || 16 == e.which) && (o = !
  7484.                         1)
  7485.                 }), se.mousewheel(function(t, n) {
  7486.                     if (!o) {
  7487.                         var r = Oe.top();
  7488.                         if (e.isFunction(r.mousewheel)) {
  7489.                             var i = r.mousewheel(t, n, se);
  7490.                             if (i === !1) return
  7491.                         } else e.isFunction(Te.mousewheel) &&
  7492.                             Te.mousewheel(t, n, se);
  7493.                         n > 0 ? se.scroll(-40) : se.scroll(
  7494.                             40)
  7495.                     }
  7496.                 })
  7497.             }
  7498.             we.resolve()
  7499.         }), se.data("terminal", se), se
  7500.     }
  7501. }(jQuery),
  7502. function(e) {
  7503.     function t(t) {
  7504.         var n = t || window.event,
  7505.             r = [].slice.call(arguments, 1),
  7506.             i = 0,
  7507.             o = 0,
  7508.             a = 0;
  7509.         return t = e.event.fix(n), t.type = "mousewheel", n.wheelDelta && (
  7510.                 i = n.wheelDelta / 120), n.detail && (i = -n.detail / 3), a =
  7511.             i, void 0 !== n.axis && n.axis === n.HORIZONTAL_AXIS && (a = 0,
  7512.                 o = -1 * i), void 0 !== n.wheelDeltaY && (a = n.wheelDeltaY /
  7513.                 120), void 0 !== n.wheelDeltaX && (o = -1 * n.wheelDeltaX /
  7514.                 120), r.unshift(t, i, o, a), (e.event.dispatch || e.event.handle)
  7515.             .apply(this, r)
  7516.     }
  7517.     var n = ["DOMMouseScroll", "mousewheel"];
  7518.     if (e.event.fixHooks)
  7519.         for (var r = n.length; r;) e.event.fixHooks[n[--r]] = e.event.mouseHooks;
  7520.     e.event.special.mousewheel = {
  7521.         setup: function() {
  7522.             if (this.addEventListener)
  7523.                 for (var e = n.length; e;) this.addEventListener(n[--e],
  7524.                     t, !1);
  7525.             else this.onmousewheel = t
  7526.         },
  7527.         teardown: function() {
  7528.             if (this.removeEventListener)
  7529.                 for (var e = n.length; e;) this.removeEventListener(n[--
  7530.                     e], t, !1);
  7531.             else this.onmousewheel = null
  7532.         }
  7533.     }, e.fn.extend({
  7534.         mousewheel: function(e) {
  7535.             return e ? this.bind("mousewheel", e) : this.trigger(
  7536.                 "mousewheel")
  7537.         },
  7538.         unmousewheel: function(e) {
  7539.             return this.unbind("mousewheel", e)
  7540.         }
  7541.     })
  7542. }(jQuery);
  7543.  
  7544.  
  7545.  
  7546.  
  7547.  
  7548.  
  7549.  
  7550.  
  7551. //
  7552. //
  7553. //SCRIPT 2:
  7554. //
  7555. //
  7556.  
  7557.  
  7558.  
  7559.  
  7560.  
  7561.  
  7562.  
  7563.  
  7564.  
  7565.  
  7566.  
  7567.  
  7568.  
  7569. function getRandomInt(e, n) {
  7570.     return e = Math.ceil(e), n = Math.floor(n), Math.floor(Math.random() *
  7571.         (n - e)) + e
  7572. }
  7573.  
  7574. function getRandomIntInclusive(e, n) {
  7575.     return e = Math.ceil(e), n = Math.floor(n), Math.floor(Math.random() *
  7576.         (n - e + 1)) + e
  7577. }
  7578.  
  7579. function drawChart() {
  7580.     var e = 0,
  7581.         n = [getRandomIntInclusive(35, 65), getRandomIntInclusive(35, 65),
  7582.             getRandomIntInclusive(35, 65), getRandomIntInclusive(35, 65),
  7583.             getRandomIntInclusive(35, 65), getRandomIntInclusive(35, 65),
  7584.             getRandomIntInclusive(35, 65), getRandomIntInclusive(35, 65)
  7585.         ],
  7586.         o = google.visualization.arrayToDataTable([
  7587.             ["t", "1", "2", "3", "4", "5", "6", "7", "8"],
  7588.             [e].concat(n)
  7589.         ]),
  7590.         t = google.visualization.arrayToDataTable([
  7591.             ["Label", "Value"],
  7592.             ["1", n[0]],
  7593.             ["2", n[1]],
  7594.             ["3", n[2]],
  7595.             ["4", n[3]],
  7596.             ["5", n[4]],
  7597.             ["6", n[5]],
  7598.             ["7", n[6]],
  7599.             ["8", n[7]]
  7600.         ]),
  7601.         a = {
  7602.             curveType: "function",
  7603.             width: 948,
  7604.             legend: {
  7605.                 position: "bottom"
  7606.             },
  7607.             vAxis: {
  7608.                 minValue: 0,
  7609.                 maxValue: 100
  7610.             }
  7611.         },
  7612.         i = {
  7613.             legend: {
  7614.                 position: "bottom"
  7615.             },
  7616.             pieHole: .4,
  7617.             pieSliceText: "none"
  7618.         },
  7619.         r = {
  7620.             width: 948,
  7621.             height: 120,
  7622.             redFrom: 90,
  7623.             redTo: 100,
  7624.             yellowFrom: 75,
  7625.             yellowTo: 90,
  7626.             minorTicks: 5
  7627.         },
  7628.         l = new google.visualization.LineChart(document.getElementById(
  7629.             "lines")),
  7630.         d = new google.visualization.PieChart(document.getElementById(
  7631.             "donut")),
  7632.         u = new google.visualization.Gauge(document.getElementById("gauges")),
  7633.         g = function() {
  7634.             e += .25;
  7635.             for (var n = [e], a = 0; a < t.getNumberOfRows(); a++) {
  7636.                 var i = t.getValue(a, 1),
  7637.                     r = getRandomIntInclusive(-2, 2),
  7638.                     l = i + r;
  7639.                 l < 0 && (l = 0), l > 100 && (l = 100), n.push(l), t.setValue(
  7640.                     a, 1, l)
  7641.             }
  7642.             o.addRow(n), o.getNumberOfRows() > 40 && o.removeRow(0)
  7643.         };
  7644.     for (x = 0; x < 40; x++) g();
  7645.     l.draw(o, a), d.draw(t, i), u.draw(t, r), setInterval(function() {
  7646.         g(), l.draw(o, a), d.draw(t, i), u.draw(t, r)
  7647.     }, 250)
  7648. }
  7649. google.charts.load("current", {
  7650.         packages: ["corechart", "gauge"]
  7651.     }), google.charts.setOnLoadCallback(drawChart),
  7652.     function(e, n) {
  7653.         n(".terminal").terminal(function(e, n) {
  7654.             n.echo("[[b;red;]Terminal Está Desconectado]")
  7655.         }, {
  7656.             greetings: "Bienvenido a la terminal de administrador de LumériCo!",
  7657.             name: "lumerico",
  7658.             height: 250,
  7659.             prompt: "lmrco > "
  7660.         })
  7661.     }(window, window.jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement