UNPKG

parambox

Version:

Too much parameters to handle ? paramBox is a collection of smart plug and play tools to facilitate the design of javascript projects such as games and cognitive tasks. ParamBox is one of the helper class and allows to modify key variable on the fly witho

1,888 lines (1,647 loc) 109 kB
/** * @license * lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE */ ; (function() { function t(t, n) { return t.set(n[0], n[1]), t } function n(t, n) { return t.add(n), t } function r(t, n, r) { switch (r.length) { case 0: return t.call(n); case 1: return t.call(n, r[0]); case 2: return t.call(n, r[0], r[1]); case 3: return t.call(n, r[0], r[1], r[2]) } return t.apply(n, r) } function e(t, n, r, e) { for (var u = -1, o = t ? t.length : 0; ++u < o;) { var i = t[u]; n(e, i, r(i), t) } return e } function u(t, n) { for (var r = -1, e = t ? t.length : 0; ++r < e && false !== n(t[r], r, t);); return t } function o(t, n) { for (var r = t ? t.length : 0; r-- && false !== n(t[r], r, t);); return t } function i(t, n) { for (var r = -1, e = t ? t.length : 0; ++r < e;) if (!n(t[r], r, t)) return false; return true } function f(t, n) { for (var r = -1, e = t ? t.length : 0, u = 0, o = []; ++r < e;) { var i = t[r]; n(i, r, t) && (o[u++] = i) } return o } function c(t, n) { return !(!t || !t.length) && -1 < d(t, n, 0) } function a(t, n, r) { for (var e = -1, u = t ? t.length : 0; ++e < u;) if (r(n, t[e])) return true; return false } function l(t, n) { for (var r = -1, e = t ? t.length : 0, u = Array(e); ++r < e;) u[r] = n(t[r], r, t); return u } function s(t, n) { for (var r = -1, e = n.length, u = t.length; ++r < e;) t[u + r] = n[r]; return t } function h(t, n, r, e) { var u = -1, o = t ? t.length : 0; for (e && o && (r = t[++u]); ++u < o;) r = n(r, t[u], u, t); return r } function p(t, n, r, e) { var u = t ? t.length : 0; for (e && u && (r = t[--u]); u--;) r = n(r, t[u], u, t); return r } function _(t, n) { for (var r = -1, e = t ? t.length : 0; ++r < e;) if (n(t[r], r, t)) return true; return false } function v(t, n, r) { var e; return r(t, function(t, r, u) { if (n(t, r, u)) return e = r, false }), e } function g(t, n, r, e) { var u = t.length; for (r += e ? 1 : -1; e ? r-- : ++r < u;) if (n(t[r], r, t)) return r; return -1 } function d(t, n, r) { if (n !== n) return g(t, b, r); --r; for (var e = t.length; ++r < e;) if (t[r] === n) return r; return -1 } function y(t, n, r, e) { --r; for (var u = t.length; ++r < u;) if (e(t[r], n)) return r; return -1 } function b(t) { return t !== t } function x(t, n) { var r = t ? t.length : 0; return r ? k(t, n) / r : q } function j(t) { return function(n) { return null == n ? P : n[t] } } function w(t) { return function(n) { return null == t ? P : t[n] } } function m(t, n, r, e, u) { return u(t, function(t, u, o) { r = e ? (e = false, t) : n(r, t, u, o) }), r } function A(t, n) { var r = t.length; for (t.sort(n); r--;) t[r] = t[r].c; return t } function k(t, n) { for (var r, e = -1, u = t.length; ++e < u;) { var o = n(t[e]); o !== P && (r = r === P ? o : r + o); } return r } function E(t, n) { for (var r = -1, e = Array(t); ++r < t;) e[r] = n(r); return e } function O(t, n) { return l(n, function(n) { return [n, t[n]] }) } function S(t) { return function(n) { return t(n) } } function I(t, n) { return l(n, function(n) { return t[n] }) } function R(t, n) { return t.has(n) } function W(t, n) { for (var r = -1, e = t.length; ++r < e && -1 < d(n, t[r], 0);); return r } function B(t, n) { for (var r = t.length; r-- && -1 < d(n, t[r], 0);); return r } function L(t) { return "\\" + Ft[t] } function C(t) { var n = false; if (null != t && typeof t.toString != "function") try { n = !!(t + "") } catch (t) {} return n } function U(t) { var n = -1, r = Array(t.size); return t.forEach(function(t, e) { r[++n] = [e, t] }), r } function M(t, n) { return function(r) { return t(n(r)) } } function z(t, n) { for (var r = -1, e = t.length, u = 0, o = []; ++r < e;) { var i = t[r]; i !== n && "__lodash_placeholder__" !== i || (t[r] = "__lodash_placeholder__", o[u++] = r) } return o } function D(t) { var n = -1, r = Array(t.size); return t.forEach(function(t) { r[++n] = t }), r } function T(t) { var n = -1, r = Array(t.size); return t.forEach(function(t) { r[++n] = [t, t] }), r } function $(t) { if (Ut.test(t)) { for (var n = Lt.lastIndex = 0; Lt.test(t);) n++; t = n } else t = en(t); return t } function F(t) { return Ut.test(t) ? t.match(Lt) || [] : t.split("") } function N(w) { function St(t) { return Hu.call(t) } function It(t) { if (ou(t) && !Fi(t) && !(t instanceof $t)) { if (t instanceof Lt) return t; if (Gu.call(t, "__wrapped__")) return Oe(t) } return new Lt(t) } function Rt() {} function Lt(t, n) { this.__wrapped__ = t, this.__actions__ = [], this.__chain__ = !!n, this.__index__ = 0, this.__values__ = P } function $t(t) { this.__wrapped__ = t, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = false, this.__iteratees__ = [], this.__takeCount__ = 4294967295, this.__views__ = [] } function Ft(t) { var n = -1, r = t ? t.length : 0; for (this.clear(); ++n < r;) { var e = t[n]; this.set(e[0], e[1]) } } function Zt(t) { var n = -1, r = t ? t.length : 0; for (this.clear(); ++n < r;) { var e = t[n]; this.set(e[0], e[1]) } } function qt(t) { var n = -1, r = t ? t.length : 0; for (this.clear(); ++n < r;) { var e = t[n]; this.set(e[0], e[1]) } } function Kt(t) { var n = -1, r = t ? t.length : 0; for (this.__data__ = new qt; ++n < r;) this.add(t[n]) } function Gt(t) { this.__data__ = new Zt(t); } function Yt(t, n) { var r, e = Fi(t) || He(t) ? E(t.length, Fu) : [], u = e.length, o = !!u; for (r in t) !n && !Gu.call(t, r) || o && ("length" == r || ge(r, u)) || e.push(r); return e } function en(t, n, r, e) { return t === P || Ye(t, Zu[r]) && !Gu.call(e, r) ? n : t } function an(t, n, r) { (r === P || Ye(t[n], r)) && (typeof n != "number" || r !== P || n in t) || (t[n] = r) } function ln(t, n, r) { var e = t[n]; Gu.call(t, n) && Ye(e, r) && (r !== P || n in t) || (t[n] = r) } function sn(t, n) { for (var r = t.length; r--;) if (Ye(t[r][0], n)) return r; return -1 } function hn(t, n, r, e) { return Po(t, function(t, u, o) { n(e, t, r(t), o) }), e } function pn(t, n) { return t && Br(n, bu(n), t) } function _n(t, n) { for (var r = -1, e = null == t, u = n.length, o = Cu(u); ++r < u;) o[r] = e ? P : du(t, n[r]); return o } function vn(t, n, r) { return t === t && (r !== P && (t = t <= r ? t : r), n !== P && (t = t >= n ? t : n)), t } function gn(t, n, r, e, o, i, f) { var c; if (e && (c = i ? e(t, o, i, f) : e(t)), c !== P) return c; if (!uu(t)) return t; if (o = Fi(t)) { if (c = he(t), !n) return Wr(t, c) } else { var a = St(t), l = "[object Function]" == a || "[object GeneratorFunction]" == a; if (Pi(t)) return Er(t, n); if ("[object Object]" == a || "[object Arguments]" == a || l && !i) { if (C(t)) return i ? t : {}; if (c = pe(l ? {} : t), !n) return Lr(t, pn(c, t)) } else { if (!Tt[a]) return i ? t : {}; c = _e(t, a, gn, n) } } if (f || (f = new Gt), i = f.get(t)) return i; if (f.set(t, c), !o) var s = r ? Rn(t, bu, Ho) : bu(t); return u(s || t, function(u, o) { s && (o = u, u = t[o]), ln(c, o, gn(u, n, r, e, o, t, f)) }), c } function dn(t) { var n = bu(t); return function(r) { return yn(r, t, n) } } function yn(t, n, r) { var e = r.length; if (null == t) return !e; for (t = Tu(t); e--;) { var u = r[e], o = n[u], i = t[u]; if (i === P && !(u in t) || !o(i)) return false } return true } function bn(t) { return uu(t) ? oo(t) : {}; } function xn(t, n, r) { if (typeof t != "function") throw new Nu("Expected a function"); return ni(function() { t.apply(P, r) }, n) } function jn(t, n, r, e) { var u = -1, o = c, i = true, f = t.length, s = [], h = n.length; if (!f) return s; r && (n = l(n, S(r))), e ? (o = a, i = false) : 200 <= n.length && (o = R, i = false, n = new Kt(n)); t: for (; ++u < f;) { var p = t[u], _ = r ? r(p) : p, p = e || 0 !== p ? p : 0; if (i && _ === _) { for (var v = h; v--;) if (n[v] === _) continue t; s.push(p) } else o(n, _, e) || s.push(p) } return s } function wn(t, n) { var r = true; return Po(t, function(t, e, u) { return r = !!n(t, e, u) }), r } function mn(t, n, r) { for (var e = -1, u = t.length; ++e < u;) { var o = t[e], i = n(o); if (null != i && (f === P ? i === i && !au(i) : r(i, f))) var f = i, c = o } return c } function An(t, n) { var r = []; return Po(t, function(t, e, u) { n(t, e, u) && r.push(t) }), r } function kn(t, n, r, e, u) { var o = -1, i = t.length; for (r || (r = ve), u || (u = []); ++o < i;) { var f = t[o]; 0 < n && r(f) ? 1 < n ? kn(f, n - 1, r, e, u) : s(u, f) : e || (u[u.length] = f) } return u } function En(t, n) { return t && qo(t, n, bu) } function On(t, n) { return t && Vo(t, n, bu) } function Sn(t, n) { return f(n, function(n) { return nu(t[n]) }) } function In(t, n) { n = ye(n, t) ? [n] : Ar(n); for (var r = 0, e = n.length; null != t && r < e;) t = t[Ae(n[r++])]; return r && r == e ? t : P } function Rn(t, n, r) { return n = n(t), Fi(t) ? n : s(n, r(t)) } function Wn(t, n) { return t > n } function Bn(t, n) { return null != t && Gu.call(t, n) } function Ln(t, n) { return null != t && n in Tu(t) } function Cn(t, n, r) { for (var e = r ? a : c, u = t[0].length, o = t.length, i = o, f = Cu(o), s = 1 / 0, h = []; i--;) { var p = t[i]; i && n && (p = l(p, S(n))), s = jo(p.length, s), f[i] = !r && (n || 120 <= u && 120 <= p.length) ? new Kt(i && p) : P } var p = t[0], _ = -1, v = f[0]; t: for (; ++_ < u && h.length < s;) { var g = p[_], d = n ? n(g) : g, g = r || 0 !== g ? g : 0; if (v ? !R(v, d) : !e(h, d, r)) { for (i = o; --i;) { var y = f[i]; if (y ? !R(y, d) : !e(t[i], d, r)) continue t } v && v.push(d), h.push(g) } } return h } function Un(t, n, r) { var e = {}; return En(t, function(t, u, o) { n(e, r(t), u, o) }), e } function Mn(t, n, e) { return ye(n, t) || (n = Ar(n), t = me(t, n), n = We(n)), n = null == t ? t : t[Ae(n)], null == n ? P : r(n, t, e) } function zn(t) { return ou(t) && "[object ArrayBuffer]" == Hu.call(t) } function Dn(t) { return ou(t) && "[object Date]" == Hu.call(t) } function Tn(t, n, r, e, u) { if (t === n) n = true; else if (null == t || null == n || !uu(t) && !ou(n)) n = t !== t && n !== n; else t: { var o = Fi(t), i = Fi(n), f = "[object Array]", c = "[object Array]";o || (f = St(t), f = "[object Arguments]" == f ? "[object Object]" : f), i || (c = St(n), c = "[object Arguments]" == c ? "[object Object]" : c); var a = "[object Object]" == f && !C(t), i = "[object Object]" == c && !C(n); if ((c = f == c) && !a) u || (u = new Gt), n = o || Gi(t) ? ee(t, n, Tn, r, e, u) : ue(t, n, f, Tn, r, e, u); else { if (!(2 & e) && (o = a && Gu.call(t, "__wrapped__"), f = i && Gu.call(n, "__wrapped__"), o || f)) { t = o ? t.value() : t, n = f ? n.value() : n, u || (u = new Gt), n = Tn(t, n, r, e, u); break t } if (c) n: if (u || (u = new Gt), o = 2 & e, f = bu(t), i = f.length, c = bu(n).length, i == c || o) { for (a = i; a--;) { var l = f[a]; if (!(o ? l in n : Gu.call(n, l))) { n = false; break n } } if ((c = u.get(t)) && u.get(n)) n = c == n; else { c = true, u.set(t, n), u.set(n, t); for (var s = o; ++a < i;) { var l = f[a], h = t[l], p = n[l]; if (r) var _ = o ? r(p, h, l, n, t, u) : r(h, p, l, t, n, u); if (_ === P ? h !== p && !Tn(h, p, r, e, u) : !_) { c = false; break } s || (s = "constructor" == l) } c && !s && (r = t.constructor, e = n.constructor, r != e && "constructor" in t && "constructor" in n && !(typeof r == "function" && r instanceof r && typeof e == "function" && e instanceof e) && (c = false)), u.delete(t), u.delete(n), n = c } } else n = false; else n = false } } return n } function $n(t) { return ou(t) && "[object Map]" == St(t) } function Fn(t, n, r, e) { var u = r.length, o = u, i = !e; if (null == t) return !o; for (t = Tu(t); u--;) { var f = r[u]; if (i && f[2] ? f[1] !== t[f[0]] : !(f[0] in t)) return false } for (; ++u < o;) { var f = r[u], c = f[0], a = t[c], l = f[1]; if (i && f[2]) { if (a === P && !(c in t)) return false } else { if (f = new Gt, e) var s = e(a, l, c, t, n, f); if (s === P ? !Tn(l, a, e, 3, f) : !s) return false } } return true } function Nn(t) { return !(!uu(t) || Vu && Vu in t) && (nu(t) || C(t) ? Xu : wt).test(ke(t)) } function Pn(t) { return uu(t) && "[object RegExp]" == Hu.call(t) } function Zn(t) { return ou(t) && "[object Set]" == St(t) } function qn(t) { return ou(t) && eu(t.length) && !!Dt[Hu.call(t)] } function Vn(t) { return typeof t == "function" ? t : null == t ? Ou : typeof t == "object" ? Fi(t) ? Qn(t[0], t[1]) : Hn(t) : Wu(t) } function Kn(t) { if (!xe(t)) return bo(t); var n, r = []; for (n in Tu(t)) Gu.call(t, n) && "constructor" != n && r.push(n); return r } function Gn(t) { if (!uu(t)) { var n = []; if (null != t) for (var r in Tu(t)) n.push(r); return n } r = xe(t); var e = []; for (n in t)("constructor" != n || !r && Gu.call(t, n)) && e.push(n); return e } function Jn(t, n) { return t < n } function Yn(t, n) { var r = -1, e = Qe(t) ? Cu(t.length) : []; return Po(t, function(t, u, o) { e[++r] = n(t, u, o) }), e } function Hn(t) { var n = ae(t); return 1 == n.length && n[0][2] ? je(n[0][0], n[0][1]) : function(r) { return r === t || Fn(r, t, n) } } function Qn(t, n) { return ye(t) && n === n && !uu(n) ? je(Ae(t), n) : function(r) { var e = du(r, t); return e === P && e === n ? yu(r, t) : Tn(n, e, P, 3) } } function Xn(t, n, r, e, o) { if (t !== n) { if (!Fi(n) && !Gi(n)) var i = Gn(n); u(i || n, function(u, f) { if (i && (f = u, u = n[f]), uu(u)) { o || (o = new Gt); var c = f, a = o, l = t[c], s = n[c], h = a.get(s); if (h) an(t, c, h); else { var h = e ? e(l, s, c + "", t, n, a) : P, p = h === P; p && (h = s, Fi(s) || Gi(s) ? Fi(l) ? h = l : Xe(l) ? h = Wr(l) : (p = false, h = gn(s, true)) : fu(s) || He(s) ? He(l) ? h = vu(l) : !uu(l) || r && nu(l) ? (p = false, h = gn(s, true)) : h = l : p = false), p && (a.set(s, h), Xn(h, s, r, e, a), a.delete(s)), an(t, c, h) } } else c = e ? e(t[f], u, f + "", t, n, o) : P, c === P && (c = u), an(t, f, c) }) } } function tr(t, n) { var r = t.length; if (r) return n += 0 > n ? r : 0, ge(n, r) ? t[n] : P } function nr(t, n, r) { var e = -1; return n = l(n.length ? n : [Ou], S(fe())), t = Yn(t, function(t) { return { a: l(n, function(n) { return n(t) }), b: ++e, c: t } }), A(t, function(t, n) { var e; t: { e = -1; for (var u = t.a, o = n.a, i = u.length, f = r.length; ++e < i;) { var c = Sr(u[e], o[e]); if (c) { e = e >= f ? c : c * ("desc" == r[e] ? -1 : 1); break t } } e = t.b - n.b } return e }) } function rr(t, n) { return t = Tu(t), er(t, n, function(n, r) { return r in t }) } function er(t, n, r) { for (var e = -1, u = n.length, o = {}; ++e < u;) { var i = n[e], f = t[i]; r(f, i) && (o[i] = f) } return o } function ur(t) { return function(n) { return In(n, t) } } function or(t, n, r, e) { var u = e ? y : d, o = -1, i = n.length, f = t; for (t === n && (n = Wr(n)), r && (f = l(t, S(r))); ++o < i;) for (var c = 0, a = n[o], a = r ? r(a) : a; - 1 < (c = u(f, a, c, e));) f !== t && fo.call(f, c, 1), fo.call(t, c, 1); return t } function ir(t, n) { for (var r = t ? n.length : 0, e = r - 1; r--;) { var u = n[r]; if (r == e || u !== o) { var o = u; if (ge(u)) fo.call(t, u, 1); else if (ye(u, t)) delete t[Ae(u)]; else { var u = Ar(u), i = me(t, u); null != i && delete i[Ae(We(u))] } } } } function fr(t, n) { return t + po(mo() * (n - t + 1)) } function cr(t, n) { var r = ""; if (!t || 1 > n || 9007199254740991 < n) return r; do n % 2 && (r += t), (n = po(n / 2)) && (t += t); while (n); return r } function ar(t, n) { return n = xo(n === P ? t.length - 1 : n, 0), function() { for (var e = arguments, u = -1, o = xo(e.length - n, 0), i = Cu(o); ++u < o;) i[u] = e[n + u]; for (u = -1, o = Cu(n + 1); ++u < n;) o[u] = e[u]; return o[n] = i, r(t, this, o) } } function lr(t, n, r, e) { if (!uu(t)) return t; n = ye(n, t) ? [n] : Ar(n); for (var u = -1, o = n.length, i = o - 1, f = t; null != f && ++u < o;) { var c = Ae(n[u]), a = r; if (u != i) { var l = f[c], a = e ? e(l, c, f) : P; a === P && (a = uu(l) ? l : ge(n[u + 1]) ? [] : {}) } ln(f, c, a), f = f[c] } return t } function sr(t, n, r) { var e = -1, u = t.length; for (0 > n && (n = -n > u ? 0 : u + n), r = r > u ? u : r, 0 > r && (r += u), u = n > r ? 0 : r - n >>> 0, n >>>= 0, r = Cu(u); ++e < u;) r[e] = t[e + n]; return r } function hr(t, n) { var r; return Po(t, function(t, e, u) { return r = n(t, e, u), !r }), !!r } function pr(t, n, r) { var e = 0, u = t ? t.length : e; if (typeof n == "number" && n === n && 2147483647 >= u) { for (; e < u;) { var o = e + u >>> 1, i = t[o]; null !== i && !au(i) && (r ? i <= n : i < n) ? e = o + 1 : u = o } return u } return _r(t, n, Ou, r) } function _r(t, n, r, e) { n = r(n); for (var u = 0, o = t ? t.length : 0, i = n !== n, f = null === n, c = au(n), a = n === P; u < o;) { var l = po((u + o) / 2), s = r(t[l]), h = s !== P, p = null === s, _ = s === s, v = au(s); (i ? e || _ : a ? _ && (e || h) : f ? _ && h && (e || !p) : c ? _ && h && !p && (e || !v) : p || v ? 0 : e ? s <= n : s < n) ? u = l + 1: o = l } return jo(o, 4294967294) } function vr(t, n) { for (var r = -1, e = t.length, u = 0, o = []; ++r < e;) { var i = t[r], f = n ? n(i) : i; if (!r || !Ye(f, c)) { var c = f; o[u++] = 0 === i ? 0 : i } } return o } function gr(t) { return typeof t == "number" ? t : au(t) ? q : +t } function dr(t) { if (typeof t == "string") return t; if (au(t)) return No ? No.call(t) : ""; var n = t + ""; return "0" == n && 1 / t == -Z ? "-0" : n } function yr(t, n, r) { var e = -1, u = c, o = t.length, i = true, f = [], l = f; if (r) i = false, u = a; else if (200 <= o) { if (u = n ? null : Jo(t)) return D(u); i = false, u = R, l = new Kt } else l = n ? [] : f; t: for (; ++e < o;) { var s = t[e], h = n ? n(s) : s, s = r || 0 !== s ? s : 0; if (i && h === h) { for (var p = l.length; p--;) if (l[p] === h) continue t; n && l.push(h), f.push(s) } else u(l, h, r) || (l !== f && l.push(h), f.push(s)) } return f } function br(t, n, r, e) { for (var u = t.length, o = e ? u : -1; (e ? o-- : ++o < u) && n(t[o], o, t);); return r ? sr(t, e ? 0 : o, e ? o + 1 : u) : sr(t, e ? o + 1 : 0, e ? u : o) } function xr(t, n) { var r = t; return r instanceof $t && (r = r.value()), h(n, function(t, n) { return n.func.apply(n.thisArg, s([t], n.args)) }, r) } function jr(t, n, r) { for (var e = -1, u = t.length; ++e < u;) var o = o ? s(jn(o, t[e], n, r), jn(t[e], o, n, r)) : t[e]; return o && o.length ? yr(o, n, r) : [] } function wr(t, n, r) { for (var e = -1, u = t.length, o = n.length, i = {}; ++e < u;) r(i, t[e], e < o ? n[e] : P); return i } function mr(t) { return Xe(t) ? t : [] } function Ar(t) { return Fi(t) ? t : ei(t) } function kr(t, n, r) { var e = t.length; return r = r === P ? e : r, !n && r >= e ? t : sr(t, n, r) } function Er(t, n) { if (n) return t.slice(); var r = new t.constructor(t.length); return t.copy(r), r } function Or(t) { var n = new t.constructor(t.byteLength); return new ro(n).set(new ro(t)), n } function Sr(t, n) { if (t !== n) { var r = t !== P, e = null === t, u = t === t, o = au(t), i = n !== P, f = null === n, c = n === n, a = au(n); if (!f && !a && !o && t > n || o && i && c && !f && !a || e && i && c || !r && c || !u) return 1; if (!e && !o && !a && t < n || a && r && u && !e && !o || f && r && u || !i && u || !c) return -1; } return 0 } function Ir(t, n, r, e) { var u = -1, o = t.length, i = r.length, f = -1, c = n.length, a = xo(o - i, 0), l = Cu(c + a); for (e = !e; ++f < c;) l[f] = n[f]; for (; ++u < i;)(e || u < o) && (l[r[u]] = t[u]); for (; a--;) l[f++] = t[u++]; return l } function Rr(t, n, r, e) { var u = -1, o = t.length, i = -1, f = r.length, c = -1, a = n.length, l = xo(o - f, 0), s = Cu(l + a); for (e = !e; ++u < l;) s[u] = t[u]; for (l = u; ++c < a;) s[l + c] = n[c]; for (; ++i < f;)(e || u < o) && (s[l + r[i]] = t[u++]); return s } function Wr(t, n) { var r = -1, e = t.length; for (n || (n = Cu(e)); ++r < e;) n[r] = t[r]; return n } function Br(t, n, r, e) { r || (r = {}); for (var u = -1, o = n.length; ++u < o;) { var i = n[u], f = e ? e(r[i], t[i], i, r, t) : P; ln(r, i, f === P ? t[i] : f) } return r } function Lr(t, n) { return Br(t, Ho(t), n) } function Cr(t, n) { return function(r, u) { var o = Fi(r) ? e : hn, i = n ? n() : {}; return o(r, t, fe(u, 2), i) } } function Ur(t) { return ar(function(n, r) { var e = -1, u = r.length, o = 1 < u ? r[u - 1] : P, i = 2 < u ? r[2] : P, o = 3 < t.length && typeof o == "function" ? (u--, o) : P; for (i && de(r[0], r[1], i) && (o = 3 > u ? P : o, u = 1), n = Tu(n); ++e < u;)(i = r[e]) && t(n, i, e, o); return n }) } function Mr(t, n) { return function(r, e) { if (null == r) return r; if (!Qe(r)) return t(r, e); for (var u = r.length, o = n ? u : -1, i = Tu(r); (n ? o-- : ++o < u) && false !== e(i[o], o, i);); return r } } function zr(t) { return function(n, r, e) { var u = -1, o = Tu(n); e = e(n); for (var i = e.length; i--;) { var f = e[t ? i : ++u]; if (false === r(o[f], f, o)) break } return n } } function Dr(t, n, r) { function e() { return (this && this !== Vt && this instanceof e ? o : t).apply(u ? r : this, arguments) } var u = 1 & n, o = Fr(t); return e } function Tr(t) { return function(n) { n = gu(n); var r = Ut.test(n) ? F(n) : P, e = r ? r[0] : n.charAt(0); return n = r ? kr(r, 1).join("") : n.slice(1), e[t]() + n } } function $r(t) { return function(n) { return h(ku(Au(n).replace(Wt, "")), t, "") } } function Fr(t) { return function() { var n = arguments; switch (n.length) { case 0: return new t; case 1: return new t(n[0]); case 2: return new t(n[0], n[1]); case 3: return new t(n[0], n[1], n[2]); case 4: return new t(n[0], n[1], n[2], n[3]); case 5: return new t(n[0], n[1], n[2], n[3], n[4]); case 6: return new t(n[0], n[1], n[2], n[3], n[4], n[5]); case 7: return new t(n[0], n[1], n[2], n[3], n[4], n[5], n[6]) } var r = bn(t.prototype), n = t.apply(r, n); return uu(n) ? n : r; } } function Nr(t, n, e) { function u() { for (var i = arguments.length, f = Cu(i), c = i, a = ie(u); c--;) f[c] = arguments[c]; return c = 3 > i && f[0] !== a && f[i - 1] !== a ? [] : z(f, a), i -= c.length, i < e ? Xr(t, n, qr, u.placeholder, P, f, c, P, P, e - i) : r(this && this !== Vt && this instanceof u ? o : t, this, f) } var o = Fr(t); return u } function Pr(t) { return function(n, r, e) { var u = Tu(n); if (!Qe(n)) { var o = fe(r, 3); n = bu(n), r = function(t) { return o(u[t], t, u) } } return r = t(n, r, e), -1 < r ? u[o ? n[r] : r] : P } } function Zr(t) { return ar(function(n) { n = kn(n, 1); var r = n.length, e = r, u = Lt.prototype.thru; for (t && n.reverse(); e--;) { var o = n[e]; if (typeof o != "function") throw new Nu("Expected a function"); if (u && !i && "wrapper" == oe(o)) var i = new Lt([], (true)) } for (e = i ? e : r; ++e < r;) var o = n[e], u = oe(o), f = "wrapper" == u ? Yo(o) : P, i = f && be(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9] ? i[oe(f[0])].apply(i, f[3]) : 1 == o.length && be(o) ? i[u]() : i.thru(o); return function() { var t = arguments, e = t[0]; if (i && 1 == t.length && Fi(e) && 200 <= e.length) return i.plant(e).value(); for (var u = 0, t = r ? n[u].apply(this, t) : e; ++u < r;) t = n[u].call(this, t); return t } }) } function qr(t, n, r, e, u, o, i, f, c, a) { function l() { for (var d = arguments.length, y = Cu(d), b = d; b--;) y[b] = arguments[b]; if (_) { var x, j = ie(l), b = y.length; for (x = 0; b--;) y[b] === j && x++ } if (e && (y = Ir(y, e, u, _)), o && (y = Rr(y, o, i, _)), d -= x, _ && d < a) return j = z(y, j), Xr(t, n, qr, l.placeholder, r, y, j, f, c, a - d); if (j = h ? r : this, b = p ? j[t] : t, d = y.length, f) { x = y.length; for (var w = jo(f.length, x), m = Wr(y); w--;) { var A = f[w]; y[w] = ge(A, x) ? m[A] : P } } else v && 1 < d && y.reverse(); return s && c < d && (y.length = c), this && this !== Vt && this instanceof l && (b = g || Fr(b)), b.apply(j, y) } var s = 128 & n, h = 1 & n, p = 2 & n, _ = 24 & n, v = 512 & n, g = p ? P : Fr(t); return l } function Vr(t, n) { return function(r, e) { return Un(r, t, n(e)) } } function Kr(t, n) { return function(r, e) { var u; if (r === P && e === P) return n; if (r !== P && (u = r), e !== P) { if (u === P) return e; typeof r == "string" || typeof e == "string" ? (r = dr(r), e = dr(e)) : (r = gr(r), e = gr(e)), u = t(r, e) } return u } } function Gr(t) { return ar(function(n) { return n = 1 == n.length && Fi(n[0]) ? l(n[0], S(fe())) : l(kn(n, 1), S(fe())), ar(function(e) { var u = this; return t(n, function(t) { return r(t, u, e) }) }) }) } function Jr(t, n) { n = n === P ? " " : dr(n); var r = n.length; return 2 > r ? r ? cr(n, t) : n : (r = cr(n, ho(t / $(n))), Ut.test(n) ? kr(F(r), 0, t).join("") : r.slice(0, t)) } function Yr(t, n, e, u) { function o() { for (var n = -1, c = arguments.length, a = -1, l = u.length, s = Cu(l + c), h = this && this !== Vt && this instanceof o ? f : t; ++a < l;) s[a] = u[a]; for (; c--;) s[a++] = arguments[++n]; return r(h, i ? e : this, s) } var i = 1 & n, f = Fr(t); return o } function Hr(t) { return function(n, r, e) { e && typeof e != "number" && de(n, r, e) && (r = e = P), n = su(n), r === P ? (r = n, n = 0) : r = su(r), e = e === P ? n < r ? 1 : -1 : su(e); var u = -1; r = xo(ho((r - n) / (e || 1)), 0); for (var o = Cu(r); r--;) o[t ? r : ++u] = n, n += e; return o } } function Qr(t) { return function(n, r) { return typeof n == "string" && typeof r == "string" || (n = _u(n), r = _u(r)), t(n, r) } } function Xr(t, n, r, e, u, o, i, f, c, a) { var l = 8 & n, s = l ? i : P; i = l ? P : i; var h = l ? o : P; return o = l ? P : o, n = (n | (l ? 32 : 64)) & ~(l ? 64 : 32), 4 & n || (n &= -4), u = [t, n, u, h, s, o, i, f, c, a], r = r.apply(P, u), be(t) && ti(r, u), r.placeholder = e, ri(r, t, n) } function te(t) { var n = Du[t]; return function(t, r) { if (t = _u(t), r = jo(hu(r), 292)) { var e = (gu(t) + "e").split("e"), e = n(e[0] + "e" + (+e[1] + r)), e = (gu(e) + "e").split("e"); return +(e[0] + "e" + (+e[1] - r)) } return n(t) } } function ne(t) { return function(n) { var r = St(n); return "[object Map]" == r ? U(n) : "[object Set]" == r ? T(n) : O(n, t(n)) } } function re(t, n, r, e, u, o, i, f) { var c = 2 & n; if (!c && typeof t != "function") throw new Nu("Expected a function"); var a = e ? e.length : 0; if (a || (n &= -97, e = u = P), i = i === P ? i : xo(hu(i), 0), f = f === P ? f : hu(f), a -= u ? u.length : 0, 64 & n) { var l = e, s = u; e = u = P } var h = c ? P : Yo(t); return o = [t, n, r, e, u, l, s, o, i, f], h && (r = o[1], t = h[1], n = r | t, e = 128 == t && 8 == r || 128 == t && 256 == r && o[7].length <= h[8] || 384 == t && h[7].length <= h[8] && 8 == r, 131 > n || e) && (1 & t && (o[2] = h[2], n |= 1 & r ? 0 : 4), (r = h[3]) && (e = o[3], o[3] = e ? Ir(e, r, h[4]) : r, o[4] = e ? z(o[3], "__lodash_placeholder__") : h[4]), (r = h[5]) && (e = o[5], o[5] = e ? Rr(e, r, h[6]) : r, o[6] = e ? z(o[5], "__lodash_placeholder__") : h[6]), (r = h[7]) && (o[7] = r), 128 & t && (o[8] = null == o[8] ? h[8] : jo(o[8], h[8])), null == o[9] && (o[9] = h[9]), o[0] = h[0], o[1] = n), t = o[0], n = o[1], r = o[2], e = o[3], u = o[4], f = o[9] = null == o[9] ? c ? 0 : t.length : xo(o[9] - a, 0), !f && 24 & n && (n &= -25), ri((h ? Ko : ti)(n && 1 != n ? 8 == n || 16 == n ? Nr(t, n, f) : 32 != n && 33 != n || u.length ? qr.apply(P, o) : Yr(t, n, r, e) : Dr(t, n, r), o), t, n) } function ee(t, n, r, e, u, o) { var i = 2 & u, f = t.length, c = n.length; if (f != c && !(i && c > f)) return false; if ((c = o.get(t)) && o.get(n)) return c == n; var c = -1, a = true, l = 1 & u ? new Kt : P; for (o.set(t, n), o.set(n, t); ++c < f;) { var s = t[c], h = n[c]; if (e) var p = i ? e(h, s, c, n, t, o) : e(s, h, c, t, n, o); if (p !== P) { if (p) continue; a = false; break } if (l) { if (!_(n, function(t, n) { if (!l.has(n) && (s === t || r(s, t, e, u, o))) return l.add(n) })) { a = false; break } } else if (s !== h && !r(s, h, e, u, o)) { a = false; break } } return o.delete(t), o.delete(n), a } function ue(t, n, r, e, u, o, i) { switch (r) { case "[object DataView]": if (t.byteLength != n.byteLength || t.byteOffset != n.byteOffset) break; t = t.buffer, n = n.buffer; case "[object ArrayBuffer]": if (t.byteLength != n.byteLength || !e(new ro(t), new ro(n))) break; return true; case "[object Boolean]": case "[object Date]": case "[object Number]": return Ye(+t, +n); case "[object Error]": return t.name == n.name && t.message == n.message; case "[object RegExp]": case "[object String]": return t == n + ""; case "[object Map]": var f = U; case "[object Set]": if (f || (f = D), t.size != n.size && !(2 & o)) break; return (r = i.get(t)) ? r == n : (o |= 1, i.set(t, n), n = ee(f(t), f(n), e, u, o, i), i.delete(t), n); case "[object Symbol]": if (Fo) return Fo.call(t) == Fo.call(n) } return false } function oe(t) { for (var n = t.name + "", r = Co[n], e = Gu.call(Co, n) ? r.length : 0; e--;) { var u = r[e], o = u.func; if (null == o || o == t) return u.name } return n } function ie(t) { return (Gu.call(It, "placeholder") ? It : t).placeholder } function fe() { var t = It.iteratee || Su, t = t === Su ? Vn : t; return arguments.length ? t(arguments[0], arguments[1]) : t } function ce(t, n) { var r = t.__data__, e = typeof n; return ("string" == e || "number" == e || "symbol" == e || "boolean" == e ? "__proto__" !== n : null === n) ? r[typeof n == "string" ? "string" : "hash"] : r.map; } function ae(t) { for (var n = bu(t), r = n.length; r--;) { var e = n[r], u = t[e]; n[r] = [e, u, u === u && !uu(u)] } return n } function le(t, n) { var r = null == t ? P : t[n]; return Nn(r) ? r : P } function se(t, n, r) { n = ye(n, t) ? [n] : Ar(n); for (var e, u = -1, o = n.length; ++u < o;) { var i = Ae(n[u]); if (!(e = null != t && r(t, i))) break; t = t[i] } return e ? e : (o = t ? t.length : 0, !!o && eu(o) && ge(i, o) && (Fi(t) || He(t))) } function he(t) { var n = t.length, r = t.constructor(n); return n && "string" == typeof t[0] && Gu.call(t, "index") && (r.index = t.index, r.input = t.input), r } function pe(t) { return typeof t.constructor != "function" || xe(t) ? {} : bn(eo(t)); } function _e(r, e, u, o) { var i = r.constructor; switch (e) { case "[object ArrayBuffer]": return Or(r); case "[object Boolean]": case "[object Date]": return new i((+r)); case "[object DataView]": return e = o ? Or(r.buffer) : r.buffer, new r.constructor(e, r.byteOffset, r.byteLength); case "[object Float32Array]": case "[object Float64Array]": case "[object Int8Array]": case "[object Int16Array]": case "[object Int32Array]": case "[object Uint8Array]": case "[object Uint8ClampedArray]": case "[object Uint16Array]": case "[object Uint32Array]": return e = o ? Or(r.buffer) : r.buffer, new r.constructor(e, r.byteOffset, r.length); case "[object Map]": return e = o ? u(U(r), true) : U(r), h(e, t, new r.constructor); case "[object Number]": case "[object String]": return new i(r); case "[object RegExp]": return e = new r.constructor(r.source, yt.exec(r)), e.lastIndex = r.lastIndex, e; case "[object Set]": return e = o ? u(D(r), true) : D(r), h(e, n, new r.constructor); case "[object Symbol]": return Fo ? Tu(Fo.call(r)) : {} } } function ve(t) { return Fi(t) || He(t) || !!(co && t && t[co]) } function ge(t, n) { return n = null == n ? 9007199254740991 : n, !!n && (typeof t == "number" || At.test(t)) && -1 < t && 0 == t % 1 && t < n } function de(t, n, r) { if (!uu(r)) return false; var e = typeof n; return !!("number" == e ? Qe(r) && ge(n, r.length) : "string" == e && n in r) && Ye(r[n], t) } function ye(t, n) { if (Fi(t)) return false; var r = typeof t; return !("number" != r && "symbol" != r && "boolean" != r && null != t && !au(t)) || (ut.test(t) || !et.test(t) || null != n && t in Tu(n)) } function be(t) { var n = oe(t), r = It[n]; return typeof r == "function" && n in $t.prototype && (t === r || (n = Yo(r), !!n && t === n[0])) } function xe(t) { var n = t && t.constructor; return t === (typeof n == "function" && n.prototype || Zu) } function je(t, n) { return function(r) { return null != r && (r[t] === n && (n !== P || t in Tu(r))) } } function we(t, n, r, e, u, o) { return uu(t) && uu(n) && (o.set(n, t), Xn(t, n, P, we, o), o.delete(n)), t } function me(t, n) { return 1 == n.length ? t : In(t, sr(n, 0, -1)) } function Ae(t) { if (typeof t == "string" || au(t)) return t; var n = t + ""; return "0" == n && 1 / t == -Z ? "-0" : n } function ke(t) { if (null != t) { try { return Ku.call(t) } catch (t) {} return t + "" } return "" } function Ee(t, n) { return u(V, function(r) { var e = "_." + r[0]; n & r[1] && !c(t, e) && t.push(e) }), t.sort() } function Oe(t) { if (t instanceof $t) return t.clone(); var n = new Lt(t.__wrapped__, t.__chain__); return n.__actions__ = Wr(t.__actions__), n.__index__ = t.__index__, n.__values__ = t.__values__, n } function Se(t, n, r) { var e = t ? t.length : 0; return e ? (r = null == r ? 0 : hu(r), 0 > r && (r = xo(e + r, 0)), g(t, fe(n, 3), r)) : -1 } function Ie(t, n, r) { var e = t ? t.length : 0; if (!e) return -1; var u = e - 1; return r !== P && (u = hu(r), u = 0 > r ? xo(e + u, 0) : jo(u, e - 1)), g(t, fe(n, 3), u, true) } function Re(t) { return t && t.length ? t[0] : P } function We(t) { var n = t ? t.length : 0; return n ? t[n - 1] : P } function Be(t, n) { return t && t.length && n && n.length ? or(t, n) : t } function Le(t) { return t ? Ao.call(t) : t } function Ce(t) { if (!t || !t.length) return []; var n = 0; return t = f(t, function(t) { if (Xe(t)) return n = xo(t.length, n), true }), E(n, function(n) { return l(t, j(n)) }) } function Ue(t, n) { if (!t || !t.length) return []; var e = Ce(t); return null == n ? e : l(e, function(t) { return r(n, P, t) }) } function Me(t) { return t = It(t), t.__chain__ = true, t } function ze(t, n) { return n(t) } function De() { return this } function Te(t, n) { return (Fi(t) ? u : Po)(t, fe(n, 3)) } function $e(t, n) { return (Fi(t) ? o : Zo)(t, fe(n, 3)) } function Fe(t, n) { return (Fi(t) ? l : Yn)(t, fe(n, 3)) } function Ne(t, n, r) { var e = -1, u = lu(t), o = u.length, i = o - 1; for (n = (r ? de(t, n, r) : n === P) ? 1 : vn(hu(n), 0, o); ++e < n;) t = fr(e, i), r = u[t], u[t] = u[e], u[e] = r; return u.length = n, u } function Pe(t, n, r) { return n = r ? P : n, n = t && null == n ? t.length : n, re(t, 128, P, P, P, P, n) } function Ze(t, n) { var r; if (typeof n != "function") throw new Nu("Expected a function"); return t = hu(t), function() { return 0 < --t && (r = n.apply(this, arguments)), 1 >= t && (n = P), r } } function qe(t, n, r) { return n = r ? P : n, t = re(t, 8, P, P, P, P, P, n), t.placeholder = qe.placeholder, t } function Ve(t, n, r) { return n = r ? P : n, t = re(t, 16, P, P, P, P, P, n), t.placeholder = Ve.placeholder, t } function Ke(t, n, r) { function e(n) { var r = c, e = a; return c = a = P, _ = n, s = t.apply(e, r) } function u(t) { var r = t - p; return t -= _, p === P || r >= n || 0 > r || g && t >= l } function o() { var t = Ri(); if (u(t)) return i(t); var r, e = ni; r = t - _, t = n - (t - p), r = g ? jo(t, l - r) : t, h = e(o, r) } function i(t) { return h = P, d && c ? e(t) : (c = a = P, s) } function f() { var t = Ri(), r = u(t); if (c = arguments, a = this, p = t, r) { if (h === P) return _ = t = p, h = ni(o, n), v ? e(t) : s; if (g) return h = ni(o, n), e(p) } return h === P && (h = ni(o, n)), s } var c, a, l, s, h, p, _ = 0, v = false, g = false, d = true; if (typeof t != "function") throw new Nu("Expected a function"); return n = _u(n) || 0, uu(r) && (v = !!r.leading, l = (g = "maxWait" in r) ? xo(_u(r.maxWait) || 0, n) : l, d = "trailing" in r ? !!r.trailing : d), f.cancel = function() { h !== P && Go(h), _ = 0, c = p = a = h = P }, f.flush = function() { return h === P ? s : i(Ri()) }, f } function Ge(t, n) { function r() { var e = arguments, u = n ? n.apply(this, e) : e[0], o = r.cache; return o.has(u) ? o.get(u) : (e = t.apply(this, e), r.cache = o.set(u, e), e) } if (typeof t != "function" || n && typeof n != "function") throw new Nu("Expected a function"); return r.cache = new(Ge.Cache || qt), r } function Je(t) { if (typeof t != "function") throw new Nu("Expected a function"); return function() { var n = arguments; switch (n.length) { case 0: return !t.call(this); case 1: return !t.call(this, n[0]); case 2: return !t.call(this, n[0], n[1]); case 3: return !t.call(this, n[0], n[1], n[2]) } return !t.apply(this, n) } } function Ye(t, n) { return t === n || t !== t && n !== n } function He(t) { return Xe(t) && Gu.call(t, "callee") && (!io.call(t, "callee") || "[object Arguments]" == Hu.call(t)); } function Qe(t) { return null != t && eu(t.length) && !nu(t) } function Xe(t) { return ou(t) && Qe(t) } function tu(t) { return !!ou(t) && ("[object Error]" == Hu.call(t) || typeof t.message == "string" && typeof t.name == "string") } function nu(t) { return t = uu(t) ? Hu.call(t) : "", "[object Function]" == t || "[object GeneratorFunction]" == t } function ru(t) { return typeof t == "number" && t == hu(t) } function eu(t) { return typeof t == "number" && -1 < t && 0 == t % 1 && 9007199254740991 >= t } function uu(t) { var n = typeof t; return !!t && ("object" == n || "function" == n) } function ou(t) { return !!t && typeof t == "object" } function iu(t) { return typeof t == "number" || ou(t) && "[object Number]" == Hu.call(t) } function fu(t) { return !(!ou(t) || "[object Object]" != Hu.call(t) || C(t)) && (t = eo(t), null === t || (t = Gu.call(t, "constructor") && t.constructor, typeof t == "function" && t instanceof t && Ku.call(t) == Yu)) } function cu(t) { return typeof t == "string" || !Fi(t) && ou(t) && "[object String]" == Hu.call(t) } function au(t) { return typeof t == "symbol" || ou(t) && "[object Symbol]" == Hu.call(t) } function lu(t) { if (!t) return []; if (Qe(t)) return cu(t) ? F(t) : Wr(t); if (uo && t[uo]) { t = t[uo](); for (var n, r = []; !(n = t.next()).done;) r.push(n.value); return r } return n = St(t), ("[object Map]" == n ? U : "[object Set]" == n ? D : wu)(t) } function su(t) { return t ? (t = _u(t), t === Z || t === -Z ? 1.7976931348623157e308 * (0 > t ? -1 : 1) : t === t ? t : 0) : 0 === t ? t : 0 } function hu(t) { t = su(t); var n = t % 1; return t === t ? n ? t - n : t : 0 } function pu(t) { return t ? vn(hu(t), 0, 4294967295) : 0 } function _u(t) { if (typeof t == "number") return t; if (au(t)) return q; if (uu(t) && (t = typeof t.valueOf == "function" ? t.valueOf() : t, t = uu(t) ? t + "" : t), typeof t != "string") return 0 === t ? t : +t; t = t.replace(at, ""); var n = jt.test(t); return n || mt.test(t) ? Pt(t.slice(2), n ? 2 : 8) : xt.test(t) ? q : +t } function vu(t) { return Br(t, xu(t)) } function gu(t) { return null == t ? "" : dr(t) } function du(t, n, r) { return t = null == t ? P : In(t, n), t === P ? r : t } function yu(t, n) { return null != t && se(t, n, Ln) } function bu(t) { return Qe(t) ? Yt(t) : Kn(t) } function xu(t) { return Qe(t) ? Yt(t, true) : Gn(t) } function ju(t, n) { return null == t ? {} : er(t, Rn(t, xu, Qo), fe(n)) } function wu(t) { return t ? I(t, bu(t)) : [] } function mu(t) { return jf(gu(t).toLowerCase()) } function Au(t) { return (t = gu(t)) && t.replace(kt, un).replace(Bt, "") } function ku(t, n, r) { return t = gu(t), n = r ? P : n, n === P ? Mt.test(t) ? t.match(Ct) || [] : t.match(vt) || [] : t.match(n) || [] } function Eu(t) { return function() { return t } } function Ou(t) { return t } function Su(t) { return Vn(typeof t == "function" ? t : gn(t, true)) } function Iu(t, n, r) { var e = bu(n), o = Sn(n, e); null != r || uu(n) && (o.length || !e.length) || (r = n, n = t, t = this, o = Sn(n, bu(n))); var i = !(uu(r) && "chain" in r && !r.chain), f = nu(t); return u(o, function(r) { var e = n[r]; t[r] = e, f && (t.prototype[r] = function() {