/** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ !(function(t, e) { 'object' == typeof exports && 'undefined' != typeof module ? e(exports) : 'function' == typeof define && define.amd ? define(['exports'], e) : e((t.Immutable = {})); })(this, function(t) { 'use strict'; function e() { return { value: !1 }; } function r(t) { t && (t.value = !0); } function n() {} function i(t) { return void 0 === t.size && (t.size = t.__iterate(u)), t.size; } function o(t, e) { if ('number' != typeof e) { var r = e >>> 0; if ('' + r !== e || 4294967295 === r) return NaN; e = r; } return e < 0 ? i(t) + e : e; } function u() { return !0; } function s(t, e, r) { return ( ((0 === t && !h(t)) || (void 0 !== r && t <= -r)) && (void 0 === e || (void 0 !== r && e >= r)) ); } function a(t, e) { return f(t, e, 0); } function c(t, e) { return f(t, e, e); } function f(t, e, r) { return void 0 === t ? r : h(t) ? e === 1 / 0 ? e : 0 | Math.max(0, e + t) : void 0 === e || e === t ? t : 0 | Math.min(e, t); } function h(t) { return t < 0 || (0 === t && 1 / t == -(1 / 0)); } function p(t) { return !(!t || !t[fr]); } function _(t) { return !(!t || !t[hr]); } function l(t) { return !(!t || !t[pr]); } function v(t) { return _(t) || l(t); } function y(t) { return !(!t || !t[dr]); } function d(t) { return !(!t || !t[gr]); } function g(t) { return p(t) || d(t); } function m(t) { return !(!t || !t[mr]); } function w(t, e, r, n) { var i = 0 === t ? e : 1 === t ? r : [e, r]; return n ? (n.value = i) : (n = { value: i, done: !1 }), n; } function z() { return { value: void 0, done: !0 }; } function S(t) { return !!O(t); } function I(t) { return t && 'function' == typeof t.next; } function b(t) { var e = O(t); return e && e.call(t); } function O(t) { var e = t && ((Ir && t[Ir]) || t[br]); if ('function' == typeof e) return e; } function E(t) { return ( !(!Array.isArray(t) && 'string' != typeof t) || (t && 'object' == typeof t && Number.isInteger(t.length) && t.length >= 0 && (0 === t.length ? 1 === Object.keys(t).length : t.hasOwnProperty(t.length - 1))) ); } function M() { return Rr || (Rr = new xr([])); } function q(t) { var e = Array.isArray(t) ? new xr(t) : S(t) ? new Kr(t) : void 0; if (e) return e.fromEntrySeq(); if ('object' == typeof t) return new kr(t); throw new TypeError( 'Expected Array or collection object of [k, v] entries, or keyed object: ' + t, ); } function D(t) { var e = j(t); if (e) return e; throw new TypeError('Expected Array or collection object of values: ' + t); } function A(t) { var e = j(t); if (e) return e; if ('object' == typeof t) return new kr(t); throw new TypeError( 'Expected Array or collection object of values, or keyed object: ' + t, ); } function j(t) { return E(t) ? new xr(t) : S(t) ? new Kr(t) : void 0; } function x(t) { return !(!t || !t[Tr]); } function k(t) { return x(t) && m(t); } function R(t) { return !( !t || 'function' != typeof t.equals || 'function' != typeof t.hashCode ); } function U(t, e) { if (t === e || (t !== t && e !== e)) return !0; if (!t || !e) return !1; if ('function' == typeof t.valueOf && 'function' == typeof e.valueOf) { if ( ((t = t.valueOf()), (e = e.valueOf()), t === e || (t !== t && e !== e)) ) return !0; if (!t || !e) return !1; } return !!(R(t) && R(e) && t.equals(e)); } function K(t) { return ((t >>> 1) & 1073741824) | (3221225471 & t); } function T(t) { switch (typeof t) { case 'boolean': return t ? 1108378657 : 1108378656; case 'number': return L(t); case 'string': return t.length > Jr ? C(t) : B(t); case 'object': case 'function': return null === t ? 1108378658 : 'function' == typeof t.hashCode ? K(t.hashCode(t)) : (t.valueOf !== Cr && 'function' == typeof t.valueOf && (t = t.valueOf(t)), W(t)); case 'undefined': return 1108378659; default: if ('function' == typeof t.toString) return B('' + t); throw Error('Value type ' + typeof t + ' cannot be hashed.'); } } function L(t) { if (t !== t || t === 1 / 0) return 0; var e = 0 | t; for (e !== t && (e ^= 4294967295 * t); t > 4294967295; ) (t /= 4294967295), (e ^= t); return K(e); } function C(t) { var e = Qr[t]; return ( void 0 === e && ((e = B(t)), Yr === Vr && ((Yr = 0), (Qr = {})), Yr++, (Qr[t] = e)), e ); } function B(t) { for (var e = 0, r = 0; r < t.length; r++) e = (31 * e + t.charCodeAt(r)) | 0; return K(e); } function W(t) { var e; if (Nr && void 0 !== (e = Ur.get(t))) return e; if (void 0 !== (e = t[Hr])) return e; if (!Wr) { if (void 0 !== (e = t.propertyIsEnumerable && t.propertyIsEnumerable[Hr])) return e; if (void 0 !== (e = N(t))) return e; } if (((e = ++Pr), 1073741824 & Pr && (Pr = 0), Nr)) Ur.set(t, e); else { if (void 0 !== Br && Br(t) === !1) throw Error('Non-extensible objects are not allowed as keys.'); if (Wr) Object.defineProperty(t, Hr, { enumerable: !1, configurable: !1, writable: !1, value: e, }); else if ( void 0 !== t.propertyIsEnumerable && t.propertyIsEnumerable === t.constructor.prototype.propertyIsEnumerable ) (t.propertyIsEnumerable = function() { return this.constructor.prototype.propertyIsEnumerable.apply( this, arguments, ); }), (t.propertyIsEnumerable[Hr] = e); else { if (void 0 === t.nodeType) throw Error('Unable to set a non-enumerable property on object.'); t[Hr] = e; } } return e; } function N(t) { if (t && t.nodeType > 0) switch (t.nodeType) { case 1: return t.uniqueID; case 9: return t.documentElement && t.documentElement.uniqueID; } } function P(t) { var e = ct(t); return ( (e._iter = t), (e.size = t.size), (e.flip = function() { return t; }), (e.reverse = function() { var e = t.reverse.apply(this); return ( (e.flip = function() { return t.reverse(); }), e ); }), (e.has = function(e) { return t.includes(e); }), (e.includes = function(e) { return t.has(e); }), (e.cacheResult = ft), (e.__iterateUncached = function(e, r) { var n = this; return t.__iterate(function(t, r) { return e(r, t, n) !== !1; }, r); }), (e.__iteratorUncached = function(e, r) { if (e === Sr) { var n = t.__iterator(e, r); return new Er(function() { var t = n.next(); if (!t.done) { var e = t.value[0]; (t.value[0] = t.value[1]), (t.value[1] = e); } return t; }); } return t.__iterator(e === zr ? wr : zr, r); }), e ); } function H(t, e, r) { var n = ct(t); return ( (n.size = t.size), (n.has = function(e) { return t.has(e); }), (n.get = function(n, i) { var o = t.get(n, cr); return o === cr ? i : e.call(r, o, n, t); }), (n.__iterateUncached = function(n, i) { var o = this; return t.__iterate(function(t, i, u) { return n(e.call(r, t, i, u), i, o) !== !1; }, i); }), (n.__iteratorUncached = function(n, i) { var o = t.__iterator(Sr, i); return new Er(function() { var i = o.next(); if (i.done) return i; var u = i.value, s = u[0]; return w(n, s, e.call(r, u[1], s, t), i); }); }), n ); } function J(t, e) { var r = this, n = ct(t); return ( (n._iter = t), (n.size = t.size), (n.reverse = function() { return t; }), t.flip && (n.flip = function() { var e = P(t); return ( (e.reverse = function() { return t.flip(); }), e ); }), (n.get = function(r, n) { return t.get(e ? r : -1 - r, n); }), (n.has = function(r) { return t.has(e ? r : -1 - r); }), (n.includes = function(e) { return t.includes(e); }), (n.cacheResult = ft), (n.__iterate = function(r, n) { var o = this, u = 0; return ( n && i(t), t.__iterate(function(t, i) { return r(t, e ? i : n ? o.size - ++u : u++, o); }, !n) ); }), (n.__iterator = function(n, o) { var u = 0; o && i(t); var s = t.__iterator(Sr, !o); return new Er(function() { var t = s.next(); if (t.done) return t; var i = t.value; return w(n, e ? i[0] : o ? r.size - ++u : u++, i[1], t); }); }), n ); } function V(t, e, r, n) { var i = ct(t); return ( n && ((i.has = function(n) { var i = t.get(n, cr); return i !== cr && !!e.call(r, i, n, t); }), (i.get = function(n, i) { var o = t.get(n, cr); return o !== cr && e.call(r, o, n, t) ? o : i; })), (i.__iterateUncached = function(i, o) { var u = this, s = 0; return ( t.__iterate(function(t, o, a) { if (e.call(r, t, o, a)) return s++, i(t, n ? o : s - 1, u); }, o), s ); }), (i.__iteratorUncached = function(i, o) { var u = t.__iterator(Sr, o), s = 0; return new Er(function() { for (;;) { var o = u.next(); if (o.done) return o; var a = o.value, c = a[0], f = a[1]; if (e.call(r, f, c, t)) return w(i, n ? c : s++, f, o); } }); }), i ); } function Y(t, e, r) { var n = $r().asMutable(); return ( t.__iterate(function(i, o) { n.update(e.call(r, i, o, t), 0, function(t) { return t + 1; }); }), n.asImmutable() ); } function Q(t, e, r) { var n = _(t), i = (m(t) ? gn() : $r()).asMutable(); t.__iterate(function(o, u) { i.update(e.call(r, o, u, t), function(t) { return (t = t || []), t.push(n ? [u, o] : o), t; }); }); var o = at(t); return i .map(function(e) { return ut(t, o(e)); }) .asImmutable(); } function X(t, e, r, n) { var i = t.size; if (s(e, r, i)) return t; var u = a(e, i), f = c(r, i); if (u !== u || f !== f) return X(t.toSeq().cacheResult(), e, r, n); var h, p = f - u; p === p && (h = p < 0 ? 0 : p); var _ = ct(t); return ( (_.size = 0 === h ? h : (t.size && h) || void 0), !n && y(t) && h >= 0 && (_.get = function(e, r) { return (e = o(this, e)), e >= 0 && e < h ? t.get(e + u, r) : r; }), (_.__iterateUncached = function(e, r) { var i = this; if (0 === h) return 0; if (r) return this.cacheResult().__iterate(e, r); var o = 0, s = !0, a = 0; return ( t.__iterate(function(t, r) { if (!s || !(s = o++ < u)) return a++, e(t, n ? r : a - 1, i) !== !1 && a !== h; }), a ); }), (_.__iteratorUncached = function(e, r) { if (0 !== h && r) return this.cacheResult().__iterator(e, r); if (0 === h) return new Er(z); var i = t.__iterator(e, r), o = 0, s = 0; return new Er(function() { for (; o++ < u; ) i.next(); if (++s > h) return z(); var t = i.next(); return n || e === zr || t.done ? t : e === wr ? w(e, s - 1, void 0, t) : w(e, s - 1, t.value[1], t); }); }), _ ); } function F(t, e, r) { var n = ct(t); return ( (n.__iterateUncached = function(n, i) { var o = this; if (i) return this.cacheResult().__iterate(n, i); var u = 0; return ( t.__iterate(function(t, i, s) { return e.call(r, t, i, s) && ++u && n(t, i, o); }), u ); }), (n.__iteratorUncached = function(n, i) { var o = this; if (i) return this.cacheResult().__iterator(n, i); var u = t.__iterator(Sr, i), s = !0; return new Er(function() { if (!s) return z(); var t = u.next(); if (t.done) return t; var i = t.value, a = i[0], c = i[1]; return e.call(r, c, a, o) ? n === Sr ? t : w(n, a, c, t) : ((s = !1), z()); }); }), n ); } function G(t, e, r, n) { var i = ct(t); return ( (i.__iterateUncached = function(i, o) { var u = this; if (o) return this.cacheResult().__iterate(i, o); var s = !0, a = 0; return ( t.__iterate(function(t, o, c) { if (!s || !(s = e.call(r, t, o, c))) return a++, i(t, n ? o : a - 1, u); }), a ); }), (i.__iteratorUncached = function(i, o) { var u = this; if (o) return this.cacheResult().__iterator(i, o); var s = t.__iterator(Sr, o), a = !0, c = 0; return new Er(function() { var t, o, f; do { if (((t = s.next()), t.done)) return n || i === zr ? t : i === wr ? w(i, c++, void 0, t) : w(i, c++, t.value[1], t); var h = t.value; (o = h[0]), (f = h[1]), a && (a = e.call(r, f, o, u)); } while (a); return i === Sr ? t : w(i, o, f, t); }); }), i ); } function Z(t, e) { var r = _(t), n = [t] .concat(e) .map(function(t) { return ( p(t) ? r && (t = lr(t)) : (t = r ? q(t) : D(Array.isArray(t) ? t : [t])), t ); }) .filter(function(t) { return 0 !== t.size; }); if (0 === n.length) return t; if (1 === n.length) { var i = n[0]; if (i === t || (r && _(i)) || (l(t) && l(i))) return i; } var o = new xr(n); return ( r ? (o = o.toKeyedSeq()) : l(t) || (o = o.toSetSeq()), (o = o.flatten(!0)), (o.size = n.reduce(function(t, e) { if (void 0 !== t) { var r = e.size; if (void 0 !== r) return t + r; } }, 0)), o ); } function $(t, e, r) { var n = ct(t); return ( (n.__iterateUncached = function(i, o) { function u(t, c) { t.__iterate(function(t, o) { return ( (!e || c < e) && p(t) ? u(t, c + 1) : (s++, i(t, r ? o : s - 1, n) === !1 && (a = !0)), !a ); }, o); } if (o) return this.cacheResult().__iterate(i, o); var s = 0, a = !1; return u(t, 0), s; }), (n.__iteratorUncached = function(n, i) { if (i) return this.cacheResult().__iterator(n, i); var o = t.__iterator(n, i), u = [], s = 0; return new Er(function() { for (; o; ) { var t = o.next(); if (t.done === !1) { var a = t.value; if ((n === Sr && (a = a[1]), (e && !(u.length < e)) || !p(a))) return r ? t : w(n, s++, a, t); u.push(o), (o = a.__iterator(n, i)); } else o = u.pop(); } return z(); }); }), n ); } function tt(t, e, r) { var n = at(t); return t .toSeq() .map(function(i, o) { return n(e.call(r, i, o, t)); }) .flatten(!0); } function et(t, e) { var r = ct(t); return ( (r.size = t.size && 2 * t.size - 1), (r.__iterateUncached = function(r, n) { var i = this, o = 0; return ( t.__iterate(function(t) { return (!o || r(e, o++, i) !== !1) && r(t, o++, i) !== !1; }, n), o ); }), (r.__iteratorUncached = function(r, n) { var i, o = t.__iterator(zr, n), u = 0; return new Er(function() { return (!i || u % 2) && ((i = o.next()), i.done) ? i : u % 2 ? w(r, u++, e) : w(r, u++, i.value, i); }); }), r ); } function rt(t, e, r) { e || (e = ht); var n = _(t), i = 0, o = t .toSeq() .map(function(e, n) { return [n, e, i++, r ? r(e, n, t) : e]; }) .valueSeq() .toArray(); return ( o .sort(function(t, r) { return e(t[3], r[3]) || t[2] - r[2]; }) .forEach( n ? function(t, e) { o[e].length = 2; } : function(t, e) { o[e] = t[1]; }, ), n ? Dr(o) : l(t) ? Ar(o) : jr(o) ); } function nt(t, e, r) { if ((e || (e = ht), r)) { var n = t .toSeq() .map(function(e, n) { return [e, r(e, n, t)]; }) .reduce(function(t, r) { return it(e, t[1], r[1]) ? r : t; }); return n && n[0]; } return t.reduce(function(t, r) { return it(e, t, r) ? r : t; }); } function it(t, e, r) { var n = t(r, e); return ( (0 === n && r !== e && (void 0 === r || null === r || r !== r)) || n > 0 ); } function ot(t, e, r, n) { var i = ct(t), o = new xr(r).map(function(t) { return t.size; }); return ( (i.size = n ? o.max() : o.min()), (i.__iterate = function(t, e) { for ( var r, n = this.__iterator(zr, e), i = 0; !(r = n.next()).done && t(r.value, i++, this) !== !1; ); return i; }), (i.__iteratorUncached = function(t, i) { var o = r.map(function(t) { return (t = _r(t)), b(i ? t.reverse() : t); }), u = 0, s = !1; return new Er(function() { var r; return ( s || ((r = o.map(function(t) { return t.next(); })), (s = n ? r.every(function(t) { return t.done; }) : r.some(function(t) { return t.done; }))), s ? z() : w( t, u++, e.apply( null, r.map(function(t) { return t.value; }), ), ) ); }); }), i ); } function ut(t, e) { return t === e ? t : y(t) ? e : t.constructor(e); } function st(t) { if (t !== Object(t)) throw new TypeError('Expected [K, V] tuple: ' + t); } function at(t) { return _(t) ? lr : l(t) ? vr : yr; } function ct(t) { return Object.create((_(t) ? Dr : l(t) ? Ar : jr).prototype); } function ft() { return this._iter.cacheResult ? (this._iter.cacheResult(), (this.size = this._iter.size), this) : qr.prototype.cacheResult.call(this); } function ht(t, e) { return void 0 === t && void 0 === e ? 0 : void 0 === t ? 1 : void 0 === e ? -1 : t > e ? 1 : t < e ? -1 : 0; } function pt(t, e) { e = e || 0; for (var r = Math.max(0, t.length - e), n = Array(r), i = 0; i < r; i++) n[i] = t[i + e]; return n; } function _t(t, e) { if (!t) throw Error(e); } function lt(t) { _t(t !== 1 / 0, 'Cannot perform this action with an infinite size.'); } function vt(t) { if (E(t) && 'string' != typeof t) return t; if (m(t)) return t.toArray(); throw new TypeError( 'Invalid keyPath: expected Ordered Collection or Array: ' + t, ); } function yt(t) { return ( t && ('function' != typeof t.constructor || 'Object' === t.constructor.name) ); } function dt(t) { return 'object' == typeof t && (g(t) || Array.isArray(t) || yt(t)); } function gt(t) { try { return 'string' == typeof t ? JSON.stringify(t) : t + ''; } catch (e) { return JSON.stringify(t); } } function mt(t, e) { return g(t) ? t.has(e) : dt(t) && Mr.call(t, e); } function wt(t, e, r) { return g(t) ? t.get(e, r) : mt(t, e) ? 'function' == typeof t.get ? t.get(e) : t[e] : r; } function zt(t) { if (Array.isArray(t)) return pt(t); var e = {}; for (var r in t) Mr.call(t, r) && (e[r] = t[r]); return e; } function St(t, e) { if (!dt(t)) throw new TypeError('Cannot update non-data-structure value: ' + t); if (g(t)) { if (!t.remove) throw new TypeError( 'Cannot update immutable value without .remove() method: ' + t, ); return t.remove(e); } if (!Mr.call(t, e)) return t; var r = zt(t); return Array.isArray(r) ? r.splice(e, 1) : delete r[e], r; } function It(t, e, r) { if (!dt(t)) throw new TypeError('Cannot update non-data-structure value: ' + t); if (g(t)) { if (!t.set) throw new TypeError( 'Cannot update immutable value without .set() method: ' + t, ); return t.set(e, r); } if (Mr.call(t, e) && r === t[e]) return t; var n = zt(t); return (n[e] = r), n; } function bt(t, e, r, n) { n || ((n = r), (r = void 0)); var i = Ot(g(t), t, vt(e), 0, r, n); return i === cr ? r : i; } function Ot(t, e, r, n, i, o) { var u = e === cr; if (n === r.length) { var s = u ? i : e, a = o(s); return a === s ? e : a; } if (!u && !dt(e)) throw new TypeError( 'Cannot update within non-data-structure value in path [' + r.slice(0, n).map(gt) + ']: ' + e, ); var c = r[n], f = u ? cr : wt(e, c, cr), h = Ot(f === cr ? t : g(f), f, r, n + 1, i, o); return h === f ? e : h === cr ? St(e, c) : It(u ? (t ? te() : {}) : e, c, h); } function Et(t, e, r) { return bt(t, e, cr, function() { return r; }); } function Mt(t, e) { return Et(this, t, e); } function qt(t, e) { return bt(t, e, function() { return cr; }); } function Dt(t) { return qt(this, t); } function At(t, e, r, n) { return bt(t, [e], r, n); } function jt(t, e, r) { return 1 === arguments.length ? t(this) : At(this, t, e, r); } function xt(t, e, r) { return bt(this, t, e, r); } function kt() { for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; return Ut(this, t); } function Rt(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; if ('function' != typeof t) throw new TypeError('Invalid merger function: ' + t); return Ut(this, e, t); } function Ut(t, e, r) { for (var n = [], i = 0; i < e.length; i++) { var o = lr(e[i]); 0 !== o.size && n.push(o); } return 0 === n.length ? t : 0 !== t.toSeq().size || t.__ownerID || 1 !== n.length ? t.withMutations(function(t) { for ( var e = r ? function(e, n) { At(t, n, cr, function(t) { return t === cr ? e : r(t, e, n); }); } : function(e, r) { t.set(r, e); }, i = 0; i < n.length; i++ ) n[i].forEach(e); }) : t.constructor(n[0]); } function Kt(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; return Wt(t, e); } function Tt(t, e) { for (var r = [], n = arguments.length - 2; n-- > 0; ) r[n] = arguments[n + 2]; return Wt(e, r, t); } function Lt(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; return Bt(t, e); } function Ct(t, e) { for (var r = [], n = arguments.length - 2; n-- > 0; ) r[n] = arguments[n + 2]; return Bt(e, r, t); } function Bt(t, e, r) { return Wt(t, e, Nt(r)); } function Wt(t, e, r) { if (!dt(t)) throw new TypeError('Cannot merge into non-data-structure value: ' + t); if (g(t)) return 'function' == typeof r && t.mergeWith ? t.mergeWith.apply(t, [r].concat(e)) : t.merge ? t.merge.apply(t, e) : t.concat.apply(t, e); for ( var n = Array.isArray(t), i = t, o = n ? vr : lr, u = n ? function(e) { i === t && (i = zt(i)), i.push(e); } : function(e, n) { var o = Mr.call(i, n), u = o && r ? r(i[n], e, n) : e; (o && u === i[n]) || (i === t && (i = zt(i)), (i[n] = u)); }, s = 0; s < e.length; s++ ) o(e[s]).forEach(u); return i; } function Nt(t) { function e(r, n, i) { return dt(r) && dt(n) ? Wt(r, [n], e) : t ? t(r, n, i) : n; } return e; } function Pt() { for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; return Bt(this, t); } function Ht(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; return Bt(this, e, t); } function Jt(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; return bt(this, t, te(), function(t) { return Wt(t, e); }); } function Vt(t) { for (var e = [], r = arguments.length - 1; r-- > 0; ) e[r] = arguments[r + 1]; return bt(this, t, te(), function(t) { return Bt(t, e); }); } function Yt(t) { var e = this.asMutable(); return t(e), e.wasAltered() ? e.__ensureOwner(this.__ownerID) : this; } function Qt() { return this.__ownerID ? this : this.__ensureOwner(new n()); } function Xt() { return this.__ensureOwner(); } function Ft() { return this.__altered; } function Gt(t, e) { return w(t, e[0], e[1]); } function Zt(t, e) { return { node: t, index: 0, __prev: e }; } function $t(t, e, r, n) { var i = Object.create(tn); return ( (i.size = t), (i._root = e), (i.__ownerID = r), (i.__hash = n), (i.__altered = !1), i ); } function te() { return sn || (sn = $t(0)); } function ee(t, r, n) { var i, o; if (t._root) { var u = e(), s = e(); if (((i = re(t._root, t.__ownerID, 0, void 0, r, n, u, s)), !s.value)) return t; o = t.size + (u.value ? (n === cr ? -1 : 1) : 0); } else { if (n === cr) return t; (o = 1), (i = new en(t.__ownerID, [[r, n]])); } return t.__ownerID ? ((t.size = o), (t._root = i), (t.__hash = void 0), (t.__altered = !0), t) : i ? $t(o, i) : te(); } function re(t, e, n, i, o, u, s, a) { return t ? t.update(e, n, i, o, u, s, a) : u === cr ? t : (r(a), r(s), new un(e, i, [o, u])); } function ne(t) { return t.constructor === un || t.constructor === on; } function ie(t, e, r, n, i) { if (t.keyHash === n) return new on(e, n, [t.entry, i]); var o, u = (0 === r ? t.keyHash : t.keyHash >>> r) & ar, s = (0 === r ? n : n >>> r) & ar; return new rn( e, (1 << u) | (1 << s), u === s ? [ie(t, e, r + ur, n, i)] : ((o = new un(e, n, i)), u < s ? [t, o] : [o, t]), ); } function oe(t, e, r, i) { t || (t = new n()); for (var o = new un(t, T(r), [r, i]), u = 0; u < e.length; u++) { var s = e[u]; o = o.update(t, 0, void 0, s[0], s[1]); } return o; } function ue(t, e, r, n) { for ( var i = 0, o = 0, u = Array(r), s = 0, a = 1, c = e.length; s < c; s++, a <<= 1 ) { var f = e[s]; void 0 !== f && s !== n && ((i |= a), (u[o++] = f)); } return new rn(t, i, u); } function se(t, e, r, n, i) { for (var o = 0, u = Array(sr), s = 0; 0 !== r; s++, r >>>= 1) u[s] = 1 & r ? e[o++] : void 0; return (u[n] = i), new nn(t, o + 1, u); } function ae(t) { return ( (t -= (t >> 1) & 1431655765), (t = (858993459 & t) + ((t >> 2) & 858993459)), (t = (t + (t >> 4)) & 252645135), (t += t >> 8), 127 & (t += t >> 16) ); } function ce(t, e, r, n) { var i = n ? t : pt(t); return (i[e] = r), i; } function fe(t, e, r, n) { var i = t.length + 1; if (n && e + 1 === i) return (t[e] = r), t; for (var o = Array(i), u = 0, s = 0; s < i; s++) s === e ? ((o[s] = r), (u = -1)) : (o[s] = t[s + u]); return o; } function he(t, e, r) { var n = t.length - 1; if (r && e === n) return t.pop(), t; for (var i = Array(n), o = 0, u = 0; u < n; u++) u === e && (o = 1), (i[u] = t[u + o]); return i; } function pe(t) { return !(!t || !t[pn]); } function _e(t, e) { function r(t, e, r) { return 0 === e ? n(t, r) : i(t, e, r); } function n(t, r) { var n = r === s ? a && a.array : t && t.array, i = r > o ? 0 : o - r, c = u - r; return ( c > sr && (c = sr), function() { if (i === c) return dn; var t = e ? --c : i++; return n && n[t]; } ); } function i(t, n, i) { var s, a = t && t.array, c = i > o ? 0 : (o - i) >> n, f = 1 + ((u - i) >> n); return ( f > sr && (f = sr), function() { for (;;) { if (s) { var t = s(); if (t !== dn) return t; s = null; } if (c === f) return dn; var o = e ? --f : c++; s = r(a && a[o], n - ur, i + (o << n)); } } ); } var o = t._origin, u = t._capacity, s = ze(u), a = t._tail; return r(t._root, t._level, 0); } function le(t, e, r, n, i, o, u) { var s = Object.create(ln); return ( (s.size = e - t), (s._origin = t), (s._capacity = e), (s._level = r), (s._root = n), (s._tail = i), (s.__ownerID = o), (s.__hash = u), (s.__altered = !1), s ); } function ve() { return yn || (yn = le(0, 0, ur)); } function ye(t, r, n) { if ((r = o(t, r)) !== r) return t; if (r >= t.size || r < 0) return t.withMutations(function(t) { r < 0 ? we(t, r).set(0, n) : we(t, 0, r + 1).set(r, n); }); r += t._origin; var i = t._tail, u = t._root, s = e(); return ( r >= ze(t._capacity) ? (i = de(i, t.__ownerID, 0, r, n, s)) : (u = de(u, t.__ownerID, t._level, r, n, s)), s.value ? t.__ownerID ? ((t._root = u), (t._tail = i), (t.__hash = void 0), (t.__altered = !0), t) : le(t._origin, t._capacity, t._level, u, i) : t ); } function de(t, e, n, i, o, u) { var s = (i >>> n) & ar, a = t && s < t.array.length; if (!a && void 0 === o) return t; var c; if (n > 0) { var f = t && t.array[s], h = de(f, e, n - ur, i, o, u); return h === f ? t : ((c = ge(t, e)), (c.array[s] = h), c); } return a && t.array[s] === o ? t : (u && r(u), (c = ge(t, e)), void 0 === o && s === c.array.length - 1 ? c.array.pop() : (c.array[s] = o), c); } function ge(t, e) { return e && t && e === t.ownerID ? t : new vn(t ? t.array.slice() : [], e); } function me(t, e) { if (e >= ze(t._capacity)) return t._tail; if (e < 1 << (t._level + ur)) { for (var r = t._root, n = t._level; r && n > 0; ) (r = r.array[(e >>> n) & ar]), (n -= ur); return r; } } function we(t, e, r) { void 0 !== e && (e |= 0), void 0 !== r && (r |= 0); var i = t.__ownerID || new n(), o = t._origin, u = t._capacity, s = o + e, a = void 0 === r ? u : r < 0 ? u + r : o + r; if (s === o && a === u) return t; if (s >= a) return t.clear(); for (var c = t._level, f = t._root, h = 0; s + h < 0; ) (f = new vn(f && f.array.length ? [void 0, f] : [], i)), (c += ur), (h += 1 << c); h && ((s += h), (o += h), (a += h), (u += h)); for (var p = ze(u), _ = ze(a); _ >= 1 << (c + ur); ) (f = new vn(f && f.array.length ? [f] : [], i)), (c += ur); var l = t._tail, v = _ < p ? me(t, a - 1) : _ > p ? new vn([], i) : l; if (l && _ > p && s < u && l.array.length) { f = ge(f, i); for (var y = f, d = c; d > ur; d -= ur) { var g = (p >>> d) & ar; y = y.array[g] = ge(y.array[g], i); } y.array[(p >>> ur) & ar] = l; } if ((a < u && (v = v && v.removeAfter(i, 0, a)), s >= _)) (s -= _), (a -= _), (c = ur), (f = null), (v = v && v.removeBefore(i, 0, s)); else if (s > o || _ < p) { for (h = 0; f; ) { var m = (s >>> c) & ar; if ((m !== _ >>> c) & ar) break; m && (h += (1 << c) * m), (c -= ur), (f = f.array[m]); } f && s > o && (f = f.removeBefore(i, c, s - h)), f && _ < p && (f = f.removeAfter(i, c, _ - h)), h && ((s -= h), (a -= h)); } return t.__ownerID ? ((t.size = a - s), (t._origin = s), (t._capacity = a), (t._level = c), (t._root = f), (t._tail = v), (t.__hash = void 0), (t.__altered = !0), t) : le(s, a, c, f, v); } function ze(t) { return t < sr ? 0 : ((t - 1) >>> ur) << ur; } function Se(t, e, r, n) { var i = Object.create(gn.prototype); return ( (i.size = t ? t.size : 0), (i._map = t), (i._list = e), (i.__ownerID = r), (i.__hash = n), i ); } function Ie() { return mn || (mn = Se(te(), ve())); } function be(t, e, r) { var n, i, o = t._map, u = t._list, s = o.get(e), a = void 0 !== s; if (r === cr) { if (!a) return t; u.size >= sr && u.size >= 2 * o.size ? ((i = u.filter(function(t, e) { return void 0 !== t && s !== e; })), (n = i .toKeyedSeq() .map(function(t) { return t[0]; }) .flip() .toMap()), t.__ownerID && (n.__ownerID = i.__ownerID = t.__ownerID)) : ((n = o.remove(e)), (i = s === u.size - 1 ? u.pop() : u.set(s, void 0))); } else if (a) { if (r === u.get(s)[1]) return t; (n = o), (i = u.set(s, [e, r])); } else (n = o.set(e, u.size)), (i = u.set(u.size, [e, r])); return t.__ownerID ? ((t.size = n.size), (t._map = n), (t._list = i), (t.__hash = void 0), t) : Se(n, i); } function Oe(t) { return !(!t || !t[wn]); } function Ee(t, e, r, n) { var i = Object.create(Sn); return ( (i.size = t), (i._head = e), (i.__ownerID = r), (i.__hash = n), (i.__altered = !1), i ); } function Me() { return In || (In = Ee(0)); } function qe(t) { return !(!t || !t[bn]); } function De(t) { return qe(t) && m(t); } function Ae(t, e) { if (t === e) return !0; if ( !p(e) || (void 0 !== t.size && void 0 !== e.size && t.size !== e.size) || (void 0 !== t.__hash && void 0 !== e.__hash && t.__hash !== e.__hash) || _(t) !== _(e) || l(t) !== l(e) || m(t) !== m(e) ) return !1; if (0 === t.size && 0 === e.size) return !0; var r = !v(t); if (m(t)) { var n = t.entries(); return ( e.every(function(t, e) { var i = n.next().value; return i && U(i[1], t) && (r || U(i[0], e)); }) && n.next().done ); } var i = !1; if (void 0 === t.size) if (void 0 === e.size) 'function' == typeof t.cacheResult && t.cacheResult(); else { i = !0; var o = t; (t = e), (e = o); } var u = !0, s = e.__iterate(function(e, n) { if (r ? !t.has(e) : i ? !U(e, t.get(n, cr)) : !U(t.get(n, cr), e)) return (u = !1), !1; }); return u && t.size === s; } function je(t, e) { var r = function(r) { t.prototype[r] = e[r]; }; return ( Object.keys(e).forEach(r), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(e).forEach(r), t ); } function xe(t) { if (!t || 'object' != typeof t) return t; if (!p(t)) { if (!dt(t)) return t; t = qr(t); } if (_(t)) { var e = {}; return ( t.__iterate(function(t, r) { e[r] = xe(t); }), e ); } var r = []; return ( t.__iterate(function(t) { r.push(xe(t)); }), r ); } function ke(t, e) { return t.__ownerID ? ((t.size = e.size), (t._map = e), t) : e === t._map ? t : 0 === e.size ? t.__empty() : t.__make(e); } function Re(t, e) { var r = Object.create(En); return (r.size = t ? t.size : 0), (r._map = t), (r.__ownerID = e), r; } function Ue() { return Mn || (Mn = Re(te())); } function Ke(t, e, r) { for (var n = vt(e), i = 0; i !== n.length; ) if ((t = wt(t, n[i++], cr)) === cr) return r; return t; } function Te(t, e) { return Ke(this, t, e); } function Le(t, e) { return Ke(t, e, cr) !== cr; } function Ce(t) { return Le(this, t); } function Be() { lt(this.size); var t = {}; return ( this.__iterate(function(e, r) { t[r] = e; }), t ); } function We(t, e, r, n, i, o) { return ( lt(t.size), t.__iterate(function(t, o, u) { i ? ((i = !1), (r = t)) : (r = e.call(n, r, t, o, u)); }, o), r ); } function Ne(t, e) { return e; } function Pe(t, e) { return [e, t]; } function He(t) { return function() { return !t.apply(this, arguments); }; } function Je(t) { return function() { return -t.apply(this, arguments); }; } function Ve() { return pt(arguments); } function Ye(t, e) { return t < e ? 1 : t > e ? -1 : 0; } function Qe(t) { if (t.size === 1 / 0) return 0; var e = m(t), r = _(t), n = e ? 1 : 0; return Xe( t.__iterate( r ? e ? function(t, e) { n = (31 * n + Fe(T(t), T(e))) | 0; } : function(t, e) { n = (n + Fe(T(t), T(e))) | 0; } : e ? function(t) { n = (31 * n + T(t)) | 0; } : function(t) { n = (n + T(t)) | 0; }, ), n, ); } function Xe(t, e) { return ( (e = Lr(e, 3432918353)), (e = Lr((e << 15) | (e >>> -15), 461845907)), (e = Lr((e << 13) | (e >>> -13), 5)), (e = ((e + 3864292196) | 0) ^ t), (e = Lr(e ^ (e >>> 16), 2246822507)), (e = Lr(e ^ (e >>> 13), 3266489909)), (e = K(e ^ (e >>> 16))) ); } function Fe(t, e) { return (t ^ (e + 2654435769 + (t << 6) + (t >> 2))) | 0; } function Ge(t, e) { var r = Object.create(Rn); return (r.size = t ? t.size : 0), (r._map = t), (r.__ownerID = e), r; } function Ze() { return Un || (Un = Ge(Ie())); } function $e(t, e, r) { var n = Object.create(Object.getPrototypeOf(t)); return (n._values = e), (n.__ownerID = r), n; } function tr(t) { return t.constructor.displayName || t.constructor.name || 'Record'; } function er(t) { return q( t._keys.map(function(e) { return [e, t.get(e)]; }), ); } function rr(t, e) { try { Object.defineProperty(t, e, { get: function() { return this.get(e); }, set: function(t) { _t(this.__ownerID, 'Cannot set on an immutable record.'), this.set(e, t); }, }); } catch (t) {} } function nr(t, e) { return ir([], e || or, t, '', e && e.length > 2 ? [] : void 0, { '': t }); } function ir(t, e, r, n, i, o) { var u = Array.isArray(r) ? Ar : yt(r) ? Dr : null; if (u) { if (~t.indexOf(r)) throw new TypeError('Cannot convert circular structure to Immutable'); t.push(r), i && '' !== n && i.push(n); var s = e.call( o, n, u(r).map(function(n, o) { return ir(t, e, n, o, i, r); }), i && i.slice(), ); return t.pop(), i && i.pop(), s; } return r; } function or(t, e) { return _(e) ? e.toMap() : e.toList(); } var ur = 5, sr = 1 << ur, ar = sr - 1, cr = {}, fr = '@@__IMMUTABLE_ITERABLE__@@', hr = '@@__IMMUTABLE_KEYED__@@', pr = '@@__IMMUTABLE_INDEXED__@@', _r = function(t) { return p(t) ? t : qr(t); }, lr = (function(t) { function e(t) { return _(t) ? t : Dr(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), e ); })(_r), vr = (function(t) { function e(t) { return l(t) ? t : Ar(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), e ); })(_r), yr = (function(t) { function e(t) { return p(t) && !v(t) ? t : jr(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), e ); })(_r); (_r.Keyed = lr), (_r.Indexed = vr), (_r.Set = yr); var dr = '@@__IMMUTABLE_SEQ__@@', gr = '@@__IMMUTABLE_RECORD__@@', mr = '@@__IMMUTABLE_ORDERED__@@', wr = 0, zr = 1, Sr = 2, Ir = 'function' == typeof Symbol && Symbol.iterator, br = '@@iterator', Or = Ir || br, Er = function(t) { this.next = t; }; (Er.prototype.toString = function() { return '[Iterator]'; }), (Er.KEYS = wr), (Er.VALUES = zr), (Er.ENTRIES = Sr), (Er.prototype.inspect = Er.prototype.toSource = function() { return '' + this; }), (Er.prototype[Or] = function() { return this; }); var Mr = Object.prototype.hasOwnProperty, qr = (function(t) { function e(t) { return null === t || void 0 === t ? M() : g(t) ? t.toSeq() : A(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.toSeq = function() { return this; }), (e.prototype.toString = function() { return this.__toString('Seq {', '}'); }), (e.prototype.cacheResult = function() { return ( !this._cache && this.__iterateUncached && ((this._cache = this.entrySeq().toArray()), (this.size = this._cache.length)), this ); }), (e.prototype.__iterate = function(t, e) { var r = this._cache; if (r) { for (var n = r.length, i = 0; i !== n; ) { var o = r[e ? n - ++i : i++]; if (t(o[1], o[0], this) === !1) break; } return i; } return this.__iterateUncached(t, e); }), (e.prototype.__iterator = function(t, e) { var r = this._cache; if (r) { var n = r.length, i = 0; return new Er(function() { if (i === n) return z(); var o = r[e ? n - ++i : i++]; return w(t, o[0], o[1]); }); } return this.__iteratorUncached(t, e); }), e ); })(_r), Dr = (function(t) { function e(t) { return null === t || void 0 === t ? M().toKeyedSeq() : p(t) ? _(t) ? t.toSeq() : t.fromEntrySeq() : d(t) ? t.toSeq() : q(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.toKeyedSeq = function() { return this; }), e ); })(qr), Ar = (function(t) { function e(t) { return null === t || void 0 === t ? M() : p(t) ? _(t) ? t.entrySeq() : t.toIndexedSeq() : d(t) ? t.toSeq().entrySeq() : D(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return e(arguments); }), (e.prototype.toIndexedSeq = function() { return this; }), (e.prototype.toString = function() { return this.__toString('Seq [', ']'); }), e ); })(qr), jr = (function(t) { function e(t) { return (p(t) && !v(t) ? t : Ar(t)).toSetSeq(); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return e(arguments); }), (e.prototype.toSetSeq = function() { return this; }), e ); })(qr); (qr.isSeq = y), (qr.Keyed = Dr), (qr.Set = jr), (qr.Indexed = Ar), (qr.prototype[dr] = !0); var xr = (function(t) { function e(t) { (this._array = t), (this.size = t.length); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.get = function(t, e) { return this.has(t) ? this._array[o(this, t)] : e; }), (e.prototype.__iterate = function(t, e) { for (var r = this._array, n = r.length, i = 0; i !== n; ) { var o = e ? n - ++i : i++; if (t(r[o], o, this) === !1) break; } return i; }), (e.prototype.__iterator = function(t, e) { var r = this._array, n = r.length, i = 0; return new Er(function() { if (i === n) return z(); var o = e ? n - ++i : i++; return w(t, o, r[o]); }); }), e ); })(Ar), kr = (function(t) { function e(t) { var e = Object.keys(t); (this._object = t), (this._keys = e), (this.size = e.length); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.get = function(t, e) { return void 0 === e || this.has(t) ? this._object[t] : e; }), (e.prototype.has = function(t) { return Mr.call(this._object, t); }), (e.prototype.__iterate = function(t, e) { for ( var r = this._object, n = this._keys, i = n.length, o = 0; o !== i; ) { var u = n[e ? i - ++o : o++]; if (t(r[u], u, this) === !1) break; } return o; }), (e.prototype.__iterator = function(t, e) { var r = this._object, n = this._keys, i = n.length, o = 0; return new Er(function() { if (o === i) return z(); var u = n[e ? i - ++o : o++]; return w(t, u, r[u]); }); }), e ); })(Dr); kr.prototype[mr] = !0; var Rr, Ur, Kr = (function(t) { function e(t) { (this._collection = t), (this.size = t.length || t.size); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.__iterateUncached = function(t, e) { if (e) return this.cacheResult().__iterate(t, e); var r = this._collection, n = b(r), i = 0; if (I(n)) for (var o; !(o = n.next()).done && t(o.value, i++, this) !== !1; ); return i; }), (e.prototype.__iteratorUncached = function(t, e) { if (e) return this.cacheResult().__iterator(t, e); var r = this._collection, n = b(r); if (!I(n)) return new Er(z); var i = 0; return new Er(function() { var e = n.next(); return e.done ? e : w(t, i++, e.value); }); }), e ); })(Ar), Tr = '@@__IMMUTABLE_MAP__@@', Lr = 'function' == typeof Math.imul && Math.imul(4294967295, 2) === -2 ? Math.imul : function(t, e) { (t |= 0), (e |= 0); var r = 65535 & t, n = 65535 & e; return ( (r * n + ((((t >>> 16) * n + r * (e >>> 16)) << 16) >>> 0)) | 0 ); }, Cr = Object.prototype.valueOf, Br = Object.isExtensible, Wr = (function() { try { return Object.defineProperty({}, '@', {}), !0; } catch (t) { return !1; } })(), Nr = 'function' == typeof WeakMap; Nr && (Ur = new WeakMap()); var Pr = 0, Hr = '__immutablehash__'; 'function' == typeof Symbol && (Hr = Symbol(Hr)); var Jr = 16, Vr = 255, Yr = 0, Qr = {}, Xr = (function(t) { function e(t, e) { (this._iter = t), (this._useKeys = e), (this.size = t.size); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.get = function(t, e) { return this._iter.get(t, e); }), (e.prototype.has = function(t) { return this._iter.has(t); }), (e.prototype.valueSeq = function() { return this._iter.valueSeq(); }), (e.prototype.reverse = function() { var t = this, e = J(this, !0); return ( this._useKeys || (e.valueSeq = function() { return t._iter.toSeq().reverse(); }), e ); }), (e.prototype.map = function(t, e) { var r = this, n = H(this, t, e); return ( this._useKeys || (n.valueSeq = function() { return r._iter.toSeq().map(t, e); }), n ); }), (e.prototype.__iterate = function(t, e) { var r = this; return this._iter.__iterate(function(e, n) { return t(e, n, r); }, e); }), (e.prototype.__iterator = function(t, e) { return this._iter.__iterator(t, e); }), e ); })(Dr); Xr.prototype[mr] = !0; var Fr = (function(t) { function e(t) { (this._iter = t), (this.size = t.size); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.includes = function(t) { return this._iter.includes(t); }), (e.prototype.__iterate = function(t, e) { var r = this, n = 0; return ( e && i(this), this._iter.__iterate(function(i) { return t(i, e ? r.size - ++n : n++, r); }, e) ); }), (e.prototype.__iterator = function(t, e) { var r = this, n = this._iter.__iterator(zr, e), o = 0; return ( e && i(this), new Er(function() { var i = n.next(); return i.done ? i : w(t, e ? r.size - ++o : o++, i.value, i); }) ); }), e ); })(Ar), Gr = (function(t) { function e(t) { (this._iter = t), (this.size = t.size); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.has = function(t) { return this._iter.includes(t); }), (e.prototype.__iterate = function(t, e) { var r = this; return this._iter.__iterate(function(e) { return t(e, e, r); }, e); }), (e.prototype.__iterator = function(t, e) { var r = this._iter.__iterator(zr, e); return new Er(function() { var e = r.next(); return e.done ? e : w(t, e.value, e.value, e); }); }), e ); })(jr), Zr = (function(t) { function e(t) { (this._iter = t), (this.size = t.size); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.entrySeq = function() { return this._iter.toSeq(); }), (e.prototype.__iterate = function(t, e) { var r = this; return this._iter.__iterate(function(e) { if (e) { st(e); var n = p(e); return t(n ? e.get(1) : e[1], n ? e.get(0) : e[0], r); } }, e); }), (e.prototype.__iterator = function(t, e) { var r = this._iter.__iterator(zr, e); return new Er(function() { for (;;) { var e = r.next(); if (e.done) return e; var n = e.value; if (n) { st(n); var i = p(n); return w(t, i ? n.get(0) : n[0], i ? n.get(1) : n[1], e); } } }); }), e ); })(Dr); Fr.prototype.cacheResult = Xr.prototype.cacheResult = Gr.prototype.cacheResult = Zr.prototype.cacheResult = ft; var $r = (function(t) { function e(e) { return null === e || void 0 === e ? te() : x(e) && !m(e) ? e : te().withMutations(function(r) { var n = t(e); lt(n.size), n.forEach(function(t, e) { return r.set(e, t); }); }); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; return te().withMutations(function(e) { for (var r = 0; r < t.length; r += 2) { if (r + 1 >= t.length) throw Error('Missing value for key: ' + t[r]); e.set(t[r], t[r + 1]); } }); }), (e.prototype.toString = function() { return this.__toString('Map {', '}'); }), (e.prototype.get = function(t, e) { return this._root ? this._root.get(0, void 0, t, e) : e; }), (e.prototype.set = function(t, e) { return ee(this, t, e); }), (e.prototype.remove = function(t) { return ee(this, t, cr); }), (e.prototype.deleteAll = function(t) { var e = _r(t); return 0 === e.size ? this : this.withMutations(function(t) { e.forEach(function(e) { return t.remove(e); }); }); }), (e.prototype.clear = function() { return 0 === this.size ? this : this.__ownerID ? ((this.size = 0), (this._root = null), (this.__hash = void 0), (this.__altered = !0), this) : te(); }), (e.prototype.sort = function(t) { return gn(rt(this, t)); }), (e.prototype.sortBy = function(t, e) { return gn(rt(this, e, t)); }), (e.prototype.map = function(t, e) { return this.withMutations(function(r) { r.forEach(function(n, i) { r.set(i, t.call(e, n, i, r)); }); }); }), (e.prototype.__iterator = function(t, e) { return new an(this, t, e); }), (e.prototype.__iterate = function(t, e) { var r = this, n = 0; return ( this._root && this._root.iterate(function(e) { return n++, t(e[1], e[0], r); }, e), n ); }), (e.prototype.__ensureOwner = function(t) { return t === this.__ownerID ? this : t ? $t(this.size, this._root, t, this.__hash) : 0 === this.size ? te() : ((this.__ownerID = t), (this.__altered = !1), this); }), e ); })(lr); $r.isMap = x; var tn = $r.prototype; (tn[Tr] = !0), (tn.delete = tn.remove), (tn.removeAll = tn.deleteAll), (tn.setIn = Mt), (tn.removeIn = tn.deleteIn = Dt), (tn.update = jt), (tn.updateIn = xt), (tn.merge = tn.concat = kt), (tn.mergeWith = Rt), (tn.mergeDeep = Pt), (tn.mergeDeepWith = Ht), (tn.mergeIn = Jt), (tn.mergeDeepIn = Vt), (tn.withMutations = Yt), (tn.wasAltered = Ft), (tn.asImmutable = Xt), (tn['@@transducer/init'] = tn.asMutable = Qt), (tn['@@transducer/step'] = function(t, e) { return t.set(e[0], e[1]); }), (tn['@@transducer/result'] = function(t) { return t.asImmutable(); }); var en = function(t, e) { (this.ownerID = t), (this.entries = e); }; (en.prototype.get = function(t, e, r, n) { for (var i = this.entries, o = 0, u = i.length; o < u; o++) if (U(r, i[o][0])) return i[o][1]; return n; }), (en.prototype.update = function(t, e, n, i, o, u, s) { for ( var a = o === cr, c = this.entries, f = 0, h = c.length; f < h && !U(i, c[f][0]); f++ ); var p = f < h; if (p ? c[f][1] === o : a) return this; if ((r(s), (a || !p) && r(u), !a || 1 !== c.length)) { if (!p && !a && c.length >= cn) return oe(t, c, i, o); var _ = t && t === this.ownerID, l = _ ? c : pt(c); return ( p ? a ? f === h - 1 ? l.pop() : (l[f] = l.pop()) : (l[f] = [i, o]) : l.push([i, o]), _ ? ((this.entries = l), this) : new en(t, l) ); } }); var rn = function(t, e, r) { (this.ownerID = t), (this.bitmap = e), (this.nodes = r); }; (rn.prototype.get = function(t, e, r, n) { void 0 === e && (e = T(r)); var i = 1 << ((0 === t ? e : e >>> t) & ar), o = this.bitmap; return 0 == (o & i) ? n : this.nodes[ae(o & (i - 1))].get(t + ur, e, r, n); }), (rn.prototype.update = function(t, e, r, n, i, o, u) { void 0 === r && (r = T(n)); var s = (0 === e ? r : r >>> e) & ar, a = 1 << s, c = this.bitmap, f = 0 != (c & a); if (!f && i === cr) return this; var h = ae(c & (a - 1)), p = this.nodes, _ = f ? p[h] : void 0, l = re(_, t, e + ur, r, n, i, o, u); if (l === _) return this; if (!f && l && p.length >= fn) return se(t, p, c, s, l); if (f && !l && 2 === p.length && ne(p[1 ^ h])) return p[1 ^ h]; if (f && l && 1 === p.length && ne(l)) return l; var v = t && t === this.ownerID, y = f ? (l ? c : c ^ a) : c | a, d = f ? (l ? ce(p, h, l, v) : he(p, h, v)) : fe(p, h, l, v); return v ? ((this.bitmap = y), (this.nodes = d), this) : new rn(t, y, d); }); var nn = function(t, e, r) { (this.ownerID = t), (this.count = e), (this.nodes = r); }; (nn.prototype.get = function(t, e, r, n) { void 0 === e && (e = T(r)); var i = (0 === t ? e : e >>> t) & ar, o = this.nodes[i]; return o ? o.get(t + ur, e, r, n) : n; }), (nn.prototype.update = function(t, e, r, n, i, o, u) { void 0 === r && (r = T(n)); var s = (0 === e ? r : r >>> e) & ar, a = i === cr, c = this.nodes, f = c[s]; if (a && !f) return this; var h = re(f, t, e + ur, r, n, i, o, u); if (h === f) return this; var p = this.count; if (f) { if (!h && --p < hn) return ue(t, c, p, s); } else p++; var _ = t && t === this.ownerID, l = ce(c, s, h, _); return _ ? ((this.count = p), (this.nodes = l), this) : new nn(t, p, l); }); var on = function(t, e, r) { (this.ownerID = t), (this.keyHash = e), (this.entries = r); }; (on.prototype.get = function(t, e, r, n) { for (var i = this.entries, o = 0, u = i.length; o < u; o++) if (U(r, i[o][0])) return i[o][1]; return n; }), (on.prototype.update = function(t, e, n, i, o, u, s) { void 0 === n && (n = T(i)); var a = o === cr; if (n !== this.keyHash) return a ? this : (r(s), r(u), ie(this, t, e, n, [i, o])); for ( var c = this.entries, f = 0, h = c.length; f < h && !U(i, c[f][0]); f++ ); var p = f < h; if (p ? c[f][1] === o : a) return this; if ((r(s), (a || !p) && r(u), a && 2 === h)) return new un(t, this.keyHash, c[1 ^ f]); var _ = t && t === this.ownerID, l = _ ? c : pt(c); return ( p ? a ? f === h - 1 ? l.pop() : (l[f] = l.pop()) : (l[f] = [i, o]) : l.push([i, o]), _ ? ((this.entries = l), this) : new on(t, this.keyHash, l) ); }); var un = function(t, e, r) { (this.ownerID = t), (this.keyHash = e), (this.entry = r); }; (un.prototype.get = function(t, e, r, n) { return U(r, this.entry[0]) ? this.entry[1] : n; }), (un.prototype.update = function(t, e, n, i, o, u, s) { var a = o === cr, c = U(i, this.entry[0]); return (c ? o === this.entry[1] : a) ? this : (r(s), a ? void r(u) : c ? t && t === this.ownerID ? ((this.entry[1] = o), this) : new un(t, this.keyHash, [i, o]) : (r(u), ie(this, t, e, T(i), [i, o]))); }), (en.prototype.iterate = on.prototype.iterate = function(t, e) { for (var r = this.entries, n = 0, i = r.length - 1; n <= i; n++) if (t(r[e ? i - n : n]) === !1) return !1; }), (rn.prototype.iterate = nn.prototype.iterate = function(t, e) { for (var r = this.nodes, n = 0, i = r.length - 1; n <= i; n++) { var o = r[e ? i - n : n]; if (o && o.iterate(t, e) === !1) return !1; } }), (un.prototype.iterate = function(t, e) { return t(this.entry); }); var sn, an = (function(t) { function e(t, e, r) { (this._type = e), (this._reverse = r), (this._stack = t._root && Zt(t._root)); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.next = function() { for (var t = this._type, e = this._stack; e; ) { var r = e.node, n = e.index++, i = void 0; if (r.entry) { if (0 === n) return Gt(t, r.entry); } else if (r.entries) { if (((i = r.entries.length - 1), n <= i)) return Gt(t, r.entries[this._reverse ? i - n : n]); } else if (((i = r.nodes.length - 1), n <= i)) { var o = r.nodes[this._reverse ? i - n : n]; if (o) { if (o.entry) return Gt(t, o.entry); e = this._stack = Zt(o, e); } continue; } e = this._stack = this._stack.__prev; } return z(); }), e ); })(Er), cn = sr / 4, fn = sr / 2, hn = sr / 4, pn = '@@__IMMUTABLE_LIST__@@', _n = (function(t) { function e(e) { var r = ve(); if (null === e || void 0 === e) return r; if (pe(e)) return e; var n = t(e), i = n.size; return 0 === i ? r : (lt(i), i > 0 && i < sr ? le(0, i, ur, null, new vn(n.toArray())) : r.withMutations(function(t) { t.setSize(i), n.forEach(function(e, r) { return t.set(r, e); }); })); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return this(arguments); }), (e.prototype.toString = function() { return this.__toString('List [', ']'); }), (e.prototype.get = function(t, e) { if ((t = o(this, t)) >= 0 && t < this.size) { t += this._origin; var r = me(this, t); return r && r.array[t & ar]; } return e; }), (e.prototype.set = function(t, e) { return ye(this, t, e); }), (e.prototype.remove = function(t) { return this.has(t) ? 0 === t ? this.shift() : t === this.size - 1 ? this.pop() : this.splice(t, 1) : this; }), (e.prototype.insert = function(t, e) { return this.splice(t, 0, e); }), (e.prototype.clear = function() { return 0 === this.size ? this : this.__ownerID ? ((this.size = this._origin = this._capacity = 0), (this._level = ur), (this._root = this._tail = null), (this.__hash = void 0), (this.__altered = !0), this) : ve(); }), (e.prototype.push = function() { var t = arguments, e = this.size; return this.withMutations(function(r) { we(r, 0, e + t.length); for (var n = 0; n < t.length; n++) r.set(e + n, t[n]); }); }), (e.prototype.pop = function() { return we(this, 0, -1); }), (e.prototype.unshift = function() { var t = arguments; return this.withMutations(function(e) { we(e, -t.length); for (var r = 0; r < t.length; r++) e.set(r, t[r]); }); }), (e.prototype.shift = function() { return we(this, 1); }), (e.prototype.concat = function() { for (var e = arguments, r = [], n = 0; n < arguments.length; n++) { var i = e[n], o = t('string' != typeof i && S(i) ? i : [i]); 0 !== o.size && r.push(o); } return 0 === r.length ? this : 0 !== this.size || this.__ownerID || 1 !== r.length ? this.withMutations(function(t) { r.forEach(function(e) { return e.forEach(function(e) { return t.push(e); }); }); }) : this.constructor(r[0]); }), (e.prototype.setSize = function(t) { return we(this, 0, t); }), (e.prototype.map = function(t, e) { var r = this; return this.withMutations(function(n) { for (var i = 0; i < r.size; i++) n.set(i, t.call(e, n.get(i), i, n)); }); }), (e.prototype.slice = function(t, e) { var r = this.size; return s(t, e, r) ? this : we(this, a(t, r), c(e, r)); }), (e.prototype.__iterator = function(t, e) { var r = e ? this.size : 0, n = _e(this, e); return new Er(function() { var i = n(); return i === dn ? z() : w(t, e ? --r : r++, i); }); }), (e.prototype.__iterate = function(t, e) { for ( var r, n = e ? this.size : 0, i = _e(this, e); (r = i()) !== dn && t(r, e ? --n : n++, this) !== !1; ); return n; }), (e.prototype.__ensureOwner = function(t) { return t === this.__ownerID ? this : t ? le( this._origin, this._capacity, this._level, this._root, this._tail, t, this.__hash, ) : 0 === this.size ? ve() : ((this.__ownerID = t), (this.__altered = !1), this); }), e ); })(vr); _n.isList = pe; var ln = _n.prototype; (ln[pn] = !0), (ln.delete = ln.remove), (ln.merge = ln.concat), (ln.setIn = Mt), (ln.deleteIn = ln.removeIn = Dt), (ln.update = jt), (ln.updateIn = xt), (ln.mergeIn = Jt), (ln.mergeDeepIn = Vt), (ln.withMutations = Yt), (ln.wasAltered = Ft), (ln.asImmutable = Xt), (ln['@@transducer/init'] = ln.asMutable = Qt), (ln['@@transducer/step'] = function(t, e) { return t.push(e); }), (ln['@@transducer/result'] = function(t) { return t.asImmutable(); }); var vn = function(t, e) { (this.array = t), (this.ownerID = e); }; (vn.prototype.removeBefore = function(t, e, r) { if (r === e ? 1 << e : 0 === this.array.length) return this; var n = (r >>> e) & ar; if (n >= this.array.length) return new vn([], t); var i, o = 0 === n; if (e > 0) { var u = this.array[n]; if ((i = u && u.removeBefore(t, e - ur, r)) === u && o) return this; } if (o && !i) return this; var s = ge(this, t); if (!o) for (var a = 0; a < n; a++) s.array[a] = void 0; return i && (s.array[n] = i), s; }), (vn.prototype.removeAfter = function(t, e, r) { if (r === (e ? 1 << e : 0) || 0 === this.array.length) return this; var n = ((r - 1) >>> e) & ar; if (n >= this.array.length) return this; var i; if (e > 0) { var o = this.array[n]; if ( (i = o && o.removeAfter(t, e - ur, r)) === o && n === this.array.length - 1 ) return this; } var u = ge(this, t); return u.array.splice(n + 1), i && (u.array[n] = i), u; }); var yn, dn = {}, gn = (function(t) { function e(t) { return null === t || void 0 === t ? Ie() : k(t) ? t : Ie().withMutations(function(e) { var r = lr(t); lt(r.size), r.forEach(function(t, r) { return e.set(r, t); }); }); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return this(arguments); }), (e.prototype.toString = function() { return this.__toString('OrderedMap {', '}'); }), (e.prototype.get = function(t, e) { var r = this._map.get(t); return void 0 !== r ? this._list.get(r)[1] : e; }), (e.prototype.clear = function() { return 0 === this.size ? this : this.__ownerID ? ((this.size = 0), this._map.clear(), this._list.clear(), this) : Ie(); }), (e.prototype.set = function(t, e) { return be(this, t, e); }), (e.prototype.remove = function(t) { return be(this, t, cr); }), (e.prototype.wasAltered = function() { return this._map.wasAltered() || this._list.wasAltered(); }), (e.prototype.__iterate = function(t, e) { var r = this; return this._list.__iterate(function(e) { return e && t(e[1], e[0], r); }, e); }), (e.prototype.__iterator = function(t, e) { return this._list.fromEntrySeq().__iterator(t, e); }), (e.prototype.__ensureOwner = function(t) { if (t === this.__ownerID) return this; var e = this._map.__ensureOwner(t), r = this._list.__ensureOwner(t); return t ? Se(e, r, t, this.__hash) : 0 === this.size ? Ie() : ((this.__ownerID = t), (this._map = e), (this._list = r), this); }), e ); })($r); (gn.isOrderedMap = k), (gn.prototype[mr] = !0), (gn.prototype.delete = gn.prototype.remove); var mn, wn = '@@__IMMUTABLE_STACK__@@', zn = (function(t) { function e(t) { return null === t || void 0 === t ? Me() : Oe(t) ? t : Me().pushAll(t); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return this(arguments); }), (e.prototype.toString = function() { return this.__toString('Stack [', ']'); }), (e.prototype.get = function(t, e) { var r = this._head; for (t = o(this, t); r && t--; ) r = r.next; return r ? r.value : e; }), (e.prototype.peek = function() { return this._head && this._head.value; }), (e.prototype.push = function() { var t = arguments; if (0 === arguments.length) return this; for ( var e = this.size + arguments.length, r = this._head, n = arguments.length - 1; n >= 0; n-- ) r = { value: t[n], next: r, }; return this.__ownerID ? ((this.size = e), (this._head = r), (this.__hash = void 0), (this.__altered = !0), this) : Ee(e, r); }), (e.prototype.pushAll = function(e) { if (((e = t(e)), 0 === e.size)) return this; if (0 === this.size && Oe(e)) return e; lt(e.size); var r = this.size, n = this._head; return ( e.__iterate(function(t) { r++, (n = { value: t, next: n }); }, !0), this.__ownerID ? ((this.size = r), (this._head = n), (this.__hash = void 0), (this.__altered = !0), this) : Ee(r, n) ); }), (e.prototype.pop = function() { return this.slice(1); }), (e.prototype.clear = function() { return 0 === this.size ? this : this.__ownerID ? ((this.size = 0), (this._head = void 0), (this.__hash = void 0), (this.__altered = !0), this) : Me(); }), (e.prototype.slice = function(e, r) { if (s(e, r, this.size)) return this; var n = a(e, this.size); if (c(r, this.size) !== this.size) return t.prototype.slice.call(this, e, r); for (var i = this.size - n, o = this._head; n--; ) o = o.next; return this.__ownerID ? ((this.size = i), (this._head = o), (this.__hash = void 0), (this.__altered = !0), this) : Ee(i, o); }), (e.prototype.__ensureOwner = function(t) { return t === this.__ownerID ? this : t ? Ee(this.size, this._head, t, this.__hash) : 0 === this.size ? Me() : ((this.__ownerID = t), (this.__altered = !1), this); }), (e.prototype.__iterate = function(t, e) { var r = this; if (e) return new xr(this.toArray()).__iterate(function(e, n) { return t(e, n, r); }, e); for (var n = 0, i = this._head; i && t(i.value, n++, this) !== !1; ) i = i.next; return n; }), (e.prototype.__iterator = function(t, e) { if (e) return new xr(this.toArray()).__iterator(t, e); var r = 0, n = this._head; return new Er(function() { if (n) { var e = n.value; return (n = n.next), w(t, r++, e); } return z(); }); }), e ); })(vr); zn.isStack = Oe; var Sn = zn.prototype; (Sn[wn] = !0), (Sn.shift = Sn.pop), (Sn.unshift = Sn.push), (Sn.unshiftAll = Sn.pushAll), (Sn.withMutations = Yt), (Sn.wasAltered = Ft), (Sn.asImmutable = Xt), (Sn['@@transducer/init'] = Sn.asMutable = Qt), (Sn['@@transducer/step'] = function(t, e) { return t.unshift(e); }), (Sn['@@transducer/result'] = function(t) { return t.asImmutable(); }); var In, bn = '@@__IMMUTABLE_SET__@@', On = (function(t) { function e(e) { return null === e || void 0 === e ? Ue() : qe(e) && !m(e) ? e : Ue().withMutations(function(r) { var n = t(e); lt(n.size), n.forEach(function(t) { return r.add(t); }); }); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return this(arguments); }), (e.fromKeys = function(t) { return this(lr(t).keySeq()); }), (e.intersect = function(t) { return ( (t = _r(t).toArray()), t.length ? En.intersect.apply(e(t.pop()), t) : Ue() ); }), (e.union = function(t) { return ( (t = _r(t).toArray()), t.length ? En.union.apply(e(t.pop()), t) : Ue() ); }), (e.prototype.toString = function() { return this.__toString('Set {', '}'); }), (e.prototype.has = function(t) { return this._map.has(t); }), (e.prototype.add = function(t) { return ke(this, this._map.set(t, t)); }), (e.prototype.remove = function(t) { return ke(this, this._map.remove(t)); }), (e.prototype.clear = function() { return ke(this, this._map.clear()); }), (e.prototype.map = function(t, e) { var r = this, n = [], i = []; return ( this.forEach(function(o) { var u = t.call(e, o, o, r); u !== o && (n.push(o), i.push(u)); }), this.withMutations(function(t) { n.forEach(function(e) { return t.remove(e); }), i.forEach(function(e) { return t.add(e); }); }) ); }), (e.prototype.union = function() { for (var e = [], r = arguments.length; r--; ) e[r] = arguments[r]; return ( (e = e.filter(function(t) { return 0 !== t.size; })), 0 === e.length ? this : 0 !== this.size || this.__ownerID || 1 !== e.length ? this.withMutations(function(r) { for (var n = 0; n < e.length; n++) t(e[n]).forEach(function(t) { return r.add(t); }); }) : this.constructor(e[0]) ); }), (e.prototype.intersect = function() { for (var e = [], r = arguments.length; r--; ) e[r] = arguments[r]; if (0 === e.length) return this; e = e.map(function(e) { return t(e); }); var n = []; return ( this.forEach(function(t) { e.every(function(e) { return e.includes(t); }) || n.push(t); }), this.withMutations(function(t) { n.forEach(function(e) { t.remove(e); }); }) ); }), (e.prototype.subtract = function() { for (var e = [], r = arguments.length; r--; ) e[r] = arguments[r]; if (0 === e.length) return this; e = e.map(function(e) { return t(e); }); var n = []; return ( this.forEach(function(t) { e.some(function(e) { return e.includes(t); }) && n.push(t); }), this.withMutations(function(t) { n.forEach(function(e) { t.remove(e); }); }) ); }), (e.prototype.sort = function(t) { return kn(rt(this, t)); }), (e.prototype.sortBy = function(t, e) { return kn(rt(this, e, t)); }), (e.prototype.wasAltered = function() { return this._map.wasAltered(); }), (e.prototype.__iterate = function(t, e) { var r = this; return this._map.__iterate(function(e) { return t(e, e, r); }, e); }), (e.prototype.__iterator = function(t, e) { return this._map.__iterator(t, e); }), (e.prototype.__ensureOwner = function(t) { if (t === this.__ownerID) return this; var e = this._map.__ensureOwner(t); return t ? this.__make(e, t) : 0 === this.size ? this.__empty() : ((this.__ownerID = t), (this._map = e), this); }), e ); })(yr); On.isSet = qe; var En = On.prototype; (En[bn] = !0), (En.delete = En.remove), (En.merge = En.concat = En.union), (En.withMutations = Yt), (En.asImmutable = Xt), (En['@@transducer/init'] = En.asMutable = Qt), (En['@@transducer/step'] = function(t, e) { return t.add(e); }), (En['@@transducer/result'] = function(t) { return t.asImmutable(); }), (En.__empty = Ue), (En.__make = Re); var Mn, qn, Dn = (function(t) { function e(t, r, n) { if (!(this instanceof e)) return new e(t, r, n); if ( (_t(0 !== n, 'Cannot step a Range by 0'), (t = t || 0), void 0 === r && (r = 1 / 0), (n = void 0 === n ? 1 : Math.abs(n)), r < t && (n = -n), (this._start = t), (this._end = r), (this._step = n), 0 === (this.size = Math.max(0, Math.ceil((r - t) / n - 1) + 1))) ) { if (qn) return qn; qn = this; } } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.toString = function() { return 0 === this.size ? 'Range []' : 'Range [ ' + this._start + '...' + this._end + (1 !== this._step ? ' by ' + this._step : '') + ' ]'; }), (e.prototype.get = function(t, e) { return this.has(t) ? this._start + o(this, t) * this._step : e; }), (e.prototype.includes = function(t) { var e = (t - this._start) / this._step; return e >= 0 && e < this.size && e === Math.floor(e); }), (e.prototype.slice = function(t, r) { return s(t, r, this.size) ? this : ((t = a(t, this.size)), (r = c(r, this.size)), r <= t ? new e(0, 0) : new e( this.get(t, this._end), this.get(r, this._end), this._step, )); }), (e.prototype.indexOf = function(t) { var e = t - this._start; if (e % this._step == 0) { var r = e / this._step; if (r >= 0 && r < this.size) return r; } return -1; }), (e.prototype.lastIndexOf = function(t) { return this.indexOf(t); }), (e.prototype.__iterate = function(t, e) { for ( var r = this.size, n = this._step, i = e ? this._start + (r - 1) * n : this._start, o = 0; o !== r && t(i, e ? r - ++o : o++, this) !== !1; ) i += e ? -n : n; return o; }), (e.prototype.__iterator = function(t, e) { var r = this.size, n = this._step, i = e ? this._start + (r - 1) * n : this._start, o = 0; return new Er(function() { if (o === r) return z(); var u = i; return (i += e ? -n : n), w(t, e ? r - ++o : o++, u); }); }), (e.prototype.equals = function(t) { return t instanceof e ? this._start === t._start && this._end === t._end && this._step === t._step : Ae(this, t); }), e ); })(Ar); (_r.isIterable = p), (_r.isKeyed = _), (_r.isIndexed = l), (_r.isAssociative = v), (_r.isOrdered = m), (_r.Iterator = Er), je(_r, { toArray: function() { lt(this.size); var t = Array(this.size || 0), e = _(this), r = 0; return ( this.__iterate(function(n, i) { t[r++] = e ? [i, n] : n; }), t ); }, toIndexedSeq: function() { return new Fr(this); }, toJS: function() { return xe(this); }, toKeyedSeq: function() { return new Xr(this, !0); }, toMap: function() { return $r(this.toKeyedSeq()); }, toObject: Be, toOrderedMap: function() { return gn(this.toKeyedSeq()); }, toOrderedSet: function() { return kn(_(this) ? this.valueSeq() : this); }, toSet: function() { return On(_(this) ? this.valueSeq() : this); }, toSetSeq: function() { return new Gr(this); }, toSeq: function() { return l(this) ? this.toIndexedSeq() : _(this) ? this.toKeyedSeq() : this.toSetSeq(); }, toStack: function() { return zn(_(this) ? this.valueSeq() : this); }, toList: function() { return _n(_(this) ? this.valueSeq() : this); }, toString: function() { return '[Collection]'; }, __toString: function(t, e) { return 0 === this.size ? t + e : t + ' ' + this.toSeq() .map(this.__toStringMapper) .join(', ') + ' ' + e; }, concat: function() { for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; return ut(this, Z(this, t)); }, includes: function(t) { return this.some(function(e) { return U(e, t); }); }, entries: function() { return this.__iterator(Sr); }, every: function(t, e) { lt(this.size); var r = !0; return ( this.__iterate(function(n, i, o) { if (!t.call(e, n, i, o)) return (r = !1), !1; }), r ); }, filter: function(t, e) { return ut(this, V(this, t, e, !0)); }, find: function(t, e, r) { var n = this.findEntry(t, e); return n ? n[1] : r; }, forEach: function(t, e) { return lt(this.size), this.__iterate(e ? t.bind(e) : t); }, join: function(t) { lt(this.size), (t = void 0 !== t ? '' + t : ','); var e = '', r = !0; return ( this.__iterate(function(n) { r ? (r = !1) : (e += t), (e += null !== n && void 0 !== n ? '' + n : ''); }), e ); }, keys: function() { return this.__iterator(wr); }, map: function(t, e) { return ut(this, H(this, t, e)); }, reduce: function(t, e, r) { return We(this, t, e, r, arguments.length < 2, !1); }, reduceRight: function(t, e, r) { return We(this, t, e, r, arguments.length < 2, !0); }, reverse: function() { return ut(this, J(this, !0)); }, slice: function(t, e) { return ut(this, X(this, t, e, !0)); }, some: function(t, e) { return !this.every(He(t), e); }, sort: function(t) { return ut(this, rt(this, t)); }, values: function() { return this.__iterator(zr); }, butLast: function() { return this.slice(0, -1); }, isEmpty: function() { return void 0 !== this.size ? 0 === this.size : !this.some(function() { return !0; }); }, count: function(t, e) { return i(t ? this.toSeq().filter(t, e) : this); }, countBy: function(t, e) { return Y(this, t, e); }, equals: function(t) { return Ae(this, t); }, entrySeq: function() { var t = this; if (t._cache) return new xr(t._cache); var e = t .toSeq() .map(Pe) .toIndexedSeq(); return ( (e.fromEntrySeq = function() { return t.toSeq(); }), e ); }, filterNot: function(t, e) { return this.filter(He(t), e); }, findEntry: function(t, e, r) { var n = r; return ( this.__iterate(function(r, i, o) { if (t.call(e, r, i, o)) return (n = [i, r]), !1; }), n ); }, findKey: function(t, e) { var r = this.findEntry(t, e); return r && r[0]; }, findLast: function(t, e, r) { return this.toKeyedSeq() .reverse() .find(t, e, r); }, findLastEntry: function(t, e, r) { return this.toKeyedSeq() .reverse() .findEntry(t, e, r); }, findLastKey: function(t, e) { return this.toKeyedSeq() .reverse() .findKey(t, e); }, first: function(t) { return this.find(u, null, t); }, flatMap: function(t, e) { return ut(this, tt(this, t, e)); }, flatten: function(t) { return ut(this, $(this, t, !0)); }, fromEntrySeq: function() { return new Zr(this); }, get: function(t, e) { return this.find( function(e, r) { return U(r, t); }, void 0, e, ); }, getIn: Te, groupBy: function(t, e) { return Q(this, t, e); }, has: function(t) { return this.get(t, cr) !== cr; }, hasIn: Ce, isSubset: function(t) { return ( (t = 'function' == typeof t.includes ? t : _r(t)), this.every(function(e) { return t.includes(e); }) ); }, isSuperset: function(t) { return ( (t = 'function' == typeof t.isSubset ? t : _r(t)), t.isSubset(this) ); }, keyOf: function(t) { return this.findKey(function(e) { return U(e, t); }); }, keySeq: function() { return this.toSeq() .map(Ne) .toIndexedSeq(); }, last: function(t) { return this.toSeq() .reverse() .first(t); }, lastKeyOf: function(t) { return this.toKeyedSeq() .reverse() .keyOf(t); }, max: function(t) { return nt(this, t); }, maxBy: function(t, e) { return nt(this, e, t); }, min: function(t) { return nt(this, t ? Je(t) : Ye); }, minBy: function(t, e) { return nt(this, e ? Je(e) : Ye, t); }, rest: function() { return this.slice(1); }, skip: function(t) { return 0 === t ? this : this.slice(Math.max(0, t)); }, skipLast: function(t) { return 0 === t ? this : this.slice(0, -Math.max(0, t)); }, skipWhile: function(t, e) { return ut(this, G(this, t, e, !0)); }, skipUntil: function(t, e) { return this.skipWhile(He(t), e); }, sortBy: function(t, e) { return ut(this, rt(this, e, t)); }, take: function(t) { return this.slice(0, Math.max(0, t)); }, takeLast: function(t) { return this.slice(-Math.max(0, t)); }, takeWhile: function(t, e) { return ut(this, F(this, t, e)); }, takeUntil: function(t, e) { return this.takeWhile(He(t), e); }, update: function(t) { return t(this); }, valueSeq: function() { return this.toIndexedSeq(); }, hashCode: function() { return this.__hash || (this.__hash = Qe(this)); }, }); var An = _r.prototype; (An[fr] = !0), (An[Or] = An.values), (An.toJSON = An.toArray), (An.__toStringMapper = gt), (An.inspect = An.toSource = function() { return '' + this; }), (An.chain = An.flatMap), (An.contains = An.includes), je(lr, { flip: function() { return ut(this, P(this)); }, mapEntries: function(t, e) { var r = this, n = 0; return ut( this, this.toSeq() .map(function(i, o) { return t.call(e, [o, i], n++, r); }) .fromEntrySeq(), ); }, mapKeys: function(t, e) { var r = this; return ut( this, this.toSeq() .flip() .map(function(n, i) { return t.call(e, n, i, r); }) .flip(), ); }, }); var jn = lr.prototype; (jn[hr] = !0), (jn[Or] = An.entries), (jn.toJSON = Be), (jn.__toStringMapper = function(t, e) { return gt(e) + ': ' + gt(t); }), je(vr, { toKeyedSeq: function() { return new Xr(this, !1); }, filter: function(t, e) { return ut(this, V(this, t, e, !1)); }, findIndex: function(t, e) { var r = this.findEntry(t, e); return r ? r[0] : -1; }, indexOf: function(t) { var e = this.keyOf(t); return void 0 === e ? -1 : e; }, lastIndexOf: function(t) { var e = this.lastKeyOf(t); return void 0 === e ? -1 : e; }, reverse: function() { return ut(this, J(this, !1)); }, slice: function(t, e) { return ut(this, X(this, t, e, !1)); }, splice: function(t, e) { var r = arguments.length; if (((e = Math.max(e || 0, 0)), 0 === r || (2 === r && !e))) return this; t = a(t, t < 0 ? this.count() : this.size); var n = this.slice(0, t); return ut( this, 1 === r ? n : n.concat(pt(arguments, 2), this.slice(t + e)), ); }, findLastIndex: function(t, e) { var r = this.findLastEntry(t, e); return r ? r[0] : -1; }, first: function(t) { return this.get(0, t); }, flatten: function(t) { return ut(this, $(this, t, !1)); }, get: function(t, e) { return ( (t = o(this, t)), t < 0 || this.size === 1 / 0 || (void 0 !== this.size && t > this.size) ? e : this.find( function(e, r) { return r === t; }, void 0, e, ) ); }, has: function(t) { return ( (t = o(this, t)) >= 0 && (void 0 !== this.size ? this.size === 1 / 0 || t < this.size : this.indexOf(t) !== -1) ); }, interpose: function(t) { return ut(this, et(this, t)); }, interleave: function() { var t = [this].concat(pt(arguments)), e = ot(this.toSeq(), Ar.of, t), r = e.flatten(!0); return e.size && (r.size = e.size * t.length), ut(this, r); }, keySeq: function() { return Dn(0, this.size); }, last: function(t) { return this.get(-1, t); }, skipWhile: function(t, e) { return ut(this, G(this, t, e, !1)); }, zip: function() { return ut(this, ot(this, Ve, [this].concat(pt(arguments)))); }, zipAll: function() { return ut(this, ot(this, Ve, [this].concat(pt(arguments)), !0)); }, zipWith: function(t) { var e = pt(arguments); return (e[0] = this), ut(this, ot(this, t, e)); }, }); var xn = vr.prototype; (xn[pr] = !0), (xn[mr] = !0), je(yr, { get: function(t, e) { return this.has(t) ? t : e; }, includes: function(t) { return this.has(t); }, keySeq: function() { return this.valueSeq(); }, }), (yr.prototype.has = An.includes), (yr.prototype.contains = yr.prototype.includes), je(Dr, lr.prototype), je(Ar, vr.prototype), je(jr, yr.prototype); var kn = (function(t) { function e(t) { return null === t || void 0 === t ? Ze() : De(t) ? t : Ze().withMutations(function(e) { var r = yr(t); lt(r.size), r.forEach(function(t) { return e.add(t); }); }); } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.of = function() { return this(arguments); }), (e.fromKeys = function(t) { return this(lr(t).keySeq()); }), (e.prototype.toString = function() { return this.__toString('OrderedSet {', '}'); }), e ); })(On); kn.isOrderedSet = De; var Rn = kn.prototype; (Rn[mr] = !0), (Rn.zip = xn.zip), (Rn.zipWith = xn.zipWith), (Rn.__empty = Ze), (Rn.__make = Ge); var Un, Kn = function(t, e) { var r, n = function(o) { var u = this; if (o instanceof n) return o; if (!(this instanceof n)) return new n(o); if (!r) { r = !0; var s = Object.keys(t), a = (i._indices = {}); (i._name = e), (i._keys = s), (i._defaultValues = t); for (var c = 0; c < s.length; c++) { var f = s[c]; (a[f] = c), i[f] ? 'object' == typeof console && console.warn && console.warn( 'Cannot define ' + tr(this) + ' with property "' + f + '" since that property name is part of the Record API.', ) : rr(i, f); } } (this.__ownerID = void 0), (this._values = _n().withMutations(function(t) { t.setSize(u._keys.length), lr(o).forEach(function(e, r) { t.set(u._indices[r], e === u._defaultValues[r] ? void 0 : e); }); })); }, i = (n.prototype = Object.create(Tn)); return (i.constructor = n), e && (n.displayName = e), n; }; (Kn.prototype.toString = function() { for ( var t, e = tr(this) + ' { ', r = this._keys, n = 0, i = r.length; n !== i; n++ ) (t = r[n]), (e += (n ? ', ' : '') + t + ': ' + gt(this.get(t))); return e + ' }'; }), (Kn.prototype.equals = function(t) { return ( this === t || (t && this._keys === t._keys && er(this).equals(er(t))) ); }), (Kn.prototype.hashCode = function() { return er(this).hashCode(); }), (Kn.prototype.has = function(t) { return this._indices.hasOwnProperty(t); }), (Kn.prototype.get = function(t, e) { if (!this.has(t)) return e; var r = this._indices[t], n = this._values.get(r); return void 0 === n ? this._defaultValues[t] : n; }), (Kn.prototype.set = function(t, e) { if (this.has(t)) { var r = this._values.set( this._indices[t], e === this._defaultValues[t] ? void 0 : e, ); if (r !== this._values && !this.__ownerID) return $e(this, r); } return this; }), (Kn.prototype.remove = function(t) { return this.set(t); }), (Kn.prototype.clear = function() { var t = this._values.clear().setSize(this._keys.length); return this.__ownerID ? this : $e(this, t); }), (Kn.prototype.wasAltered = function() { return this._values.wasAltered(); }), (Kn.prototype.toSeq = function() { return er(this); }), (Kn.prototype.toJS = function() { return xe(this); }), (Kn.prototype.entries = function() { return this.__iterator(Sr); }), (Kn.prototype.__iterator = function(t, e) { return er(this).__iterator(t, e); }), (Kn.prototype.__iterate = function(t, e) { return er(this).__iterate(t, e); }), (Kn.prototype.__ensureOwner = function(t) { if (t === this.__ownerID) return this; var e = this._values.__ensureOwner(t); return t ? $e(this, e, t) : ((this.__ownerID = t), (this._values = e), this); }), (Kn.isRecord = d), (Kn.getDescriptiveName = tr); var Tn = Kn.prototype; (Tn[gr] = !0), (Tn.delete = Tn.remove), (Tn.deleteIn = Tn.removeIn = Dt), (Tn.getIn = Te), (Tn.hasIn = An.hasIn), (Tn.merge = kt), (Tn.mergeWith = Rt), (Tn.mergeIn = Jt), (Tn.mergeDeep = Pt), (Tn.mergeDeepWith = Ht), (Tn.mergeDeepIn = Vt), (Tn.setIn = Mt), (Tn.update = jt), (Tn.updateIn = xt), (Tn.withMutations = Yt), (Tn.asMutable = Qt), (Tn.asImmutable = Xt), (Tn[Or] = Tn.entries), (Tn.toJSON = Tn.toObject = An.toObject), (Tn.inspect = Tn.toSource = function() { return '' + this; }); var Ln, Cn = (function(t) { function e(t, r) { if (!(this instanceof e)) return new e(t, r); if ( ((this._value = t), 0 === (this.size = void 0 === r ? 1 / 0 : Math.max(0, r))) ) { if (Ln) return Ln; Ln = this; } } return ( t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)), (e.prototype.constructor = e), (e.prototype.toString = function() { return 0 === this.size ? 'Repeat []' : 'Repeat [ ' + this._value + ' ' + this.size + ' times ]'; }), (e.prototype.get = function(t, e) { return this.has(t) ? this._value : e; }), (e.prototype.includes = function(t) { return U(this._value, t); }), (e.prototype.slice = function(t, r) { var n = this.size; return s(t, r, n) ? this : new e(this._value, c(r, n) - a(t, n)); }), (e.prototype.reverse = function() { return this; }), (e.prototype.indexOf = function(t) { return U(this._value, t) ? 0 : -1; }), (e.prototype.lastIndexOf = function(t) { return U(this._value, t) ? this.size : -1; }), (e.prototype.__iterate = function(t, e) { for ( var r = this.size, n = 0; n !== r && t(this._value, e ? r - ++n : n++, this) !== !1; ); return n; }), (e.prototype.__iterator = function(t, e) { var r = this, n = this.size, i = 0; return new Er(function() { return i === n ? z() : w(t, e ? n - ++i : i++, r._value); }); }), (e.prototype.equals = function(t) { return t instanceof e ? U(this._value, t._value) : Ae(t); }), e ); })(Ar), Bn = { version: '4.0.0-rc.11', Collection: _r, Iterable: _r, Seq: qr, Map: $r, OrderedMap: gn, List: _n, Stack: zn, Set: On, OrderedSet: kn, Record: Kn, Range: Dn, Repeat: Cn, is: U, fromJS: nr, hash: T, isImmutable: g, isCollection: p, isKeyed: _, isIndexed: l, isAssociative: v, isOrdered: m, isValueObject: R, isSeq: y, isList: pe, isMap: x, isOrderedMap: k, isStack: Oe, isSet: qe, isOrderedSet: De, isRecord: d, get: wt, getIn: Ke, has: mt, hasIn: Le, merge: Kt, mergeDeep: Lt, mergeWith: Tt, mergeDeepWith: Ct, remove: St, removeIn: qt, set: It, setIn: Et, update: At, updateIn: bt, }, Wn = _r; (t.default = Bn), (t.version = '4.0.0-rc.11'), (t.Collection = _r), (t.Iterable = Wn), (t.Seq = qr), (t.Map = $r), (t.OrderedMap = gn), (t.List = _n), (t.Stack = zn), (t.Set = On), (t.OrderedSet = kn), (t.Record = Kn), (t.Range = Dn), (t.Repeat = Cn), (t.is = U), (t.fromJS = nr), (t.hash = T), (t.isImmutable = g), (t.isCollection = p), (t.isKeyed = _), (t.isIndexed = l), (t.isAssociative = v), (t.isOrdered = m), (t.isValueObject = R), (t.get = wt), (t.getIn = Ke), (t.has = mt), (t.hasIn = Le), (t.merge = Kt), (t.mergeDeep = Lt), (t.mergeWith = Tt), (t.mergeDeepWith = Ct), (t.remove = St), (t.removeIn = qt), (t.set = It), (t.setIn = Et), (t.update = At), (t.updateIn = bt), Object.defineProperty(t, '__esModule', { value: !0 }); });