edgejs-parser
Version:
1,924 lines (1,923 loc) • 195 kB
JavaScript
var Is = typeof global == "object" && global && global.Object === Object && global, Zi = typeof self == "object" && self && self.Object === Object && self, pe = Is || Zi || Function("return this")(), J = pe.Symbol, Ss = Object.prototype, Qi = Ss.hasOwnProperty, Ji = Ss.toString, st = J ? J.toStringTag : void 0;
function ea(t) {
var e = Qi.call(t, st), n = t[st];
try {
t[st] = void 0;
var r = !0;
} catch {
}
var s = Ji.call(t);
return r && (e ? t[st] = n : delete t[st]), s;
}
var ta = Object.prototype, na = ta.toString;
function ra(t) {
return na.call(t);
}
var sa = "[object Null]", ia = "[object Undefined]", Ar = J ? J.toStringTag : void 0;
function be(t) {
return t == null ? t === void 0 ? ia : sa : Ar && Ar in Object(t) ? ea(t) : ra(t);
}
function oe(t) {
return t != null && typeof t == "object";
}
var aa = "[object Symbol]";
function qt(t) {
return typeof t == "symbol" || oe(t) && be(t) == aa;
}
function Zt(t, e) {
for (var n = -1, r = t == null ? 0 : t.length, s = Array(r); ++n < r; )
s[n] = e(t[n], n, t);
return s;
}
var N = Array.isArray, Rr = J ? J.prototype : void 0, Ir = Rr ? Rr.toString : void 0;
function _s(t) {
if (typeof t == "string")
return t;
if (N(t))
return Zt(t, _s) + "";
if (qt(t))
return Ir ? Ir.call(t) : "";
var e = t + "";
return e == "0" && 1 / t == -1 / 0 ? "-0" : e;
}
var oa = /\s/;
function ca(t) {
for (var e = t.length; e-- && oa.test(t.charAt(e)); )
;
return e;
}
var ua = /^\s+/;
function la(t) {
return t && t.slice(0, ca(t) + 1).replace(ua, "");
}
function ee(t) {
var e = typeof t;
return t != null && (e == "object" || e == "function");
}
var Sr = NaN, ha = /^[-+]0x[0-9a-f]+$/i, fa = /^0b[01]+$/i, da = /^0o[0-7]+$/i, pa = parseInt;
function Ea(t) {
if (typeof t == "number")
return t;
if (qt(t))
return Sr;
if (ee(t)) {
var e = typeof t.valueOf == "function" ? t.valueOf() : t;
t = ee(e) ? e + "" : e;
}
if (typeof t != "string")
return t === 0 ? t : +t;
t = la(t);
var n = fa.test(t);
return n || da.test(t) ? pa(t.slice(2), n ? 2 : 8) : ha.test(t) ? Sr : +t;
}
var ga = 1 / 0, Ta = 17976931348623157e292;
function ma(t) {
if (!t)
return t === 0 ? t : 0;
if (t = Ea(t), t === ga || t === -1 / 0) {
var e = t < 0 ? -1 : 1;
return e * Ta;
}
return t === t ? t : 0;
}
function Qt(t) {
var e = ma(t), n = e % 1;
return e === e ? n ? e - n : e : 0;
}
function Ye(t) {
return t;
}
var Aa = "[object AsyncFunction]", Ra = "[object Function]", Ia = "[object GeneratorFunction]", Sa = "[object Proxy]";
function Ne(t) {
if (!ee(t))
return !1;
var e = be(t);
return e == Ra || e == Ia || e == Aa || e == Sa;
}
var gn = pe["__core-js_shared__"], _r = function() {
var t = /[^.]+$/.exec(gn && gn.keys && gn.keys.IE_PROTO || "");
return t ? "Symbol(src)_1." + t : "";
}();
function _a(t) {
return !!_r && _r in t;
}
var Oa = Function.prototype, Na = Oa.toString;
function He(t) {
if (t != null) {
try {
return Na.call(t);
} catch {
}
try {
return t + "";
} catch {
}
}
return "";
}
var Ca = /[\\^$.*+?()[\]{}|]/g, La = /^\[object .+?Constructor\]$/, ya = Function.prototype, va = Object.prototype, Pa = ya.toString, Ma = va.hasOwnProperty, ka = RegExp(
"^" + Pa.call(Ma).replace(Ca, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function xa(t) {
if (!ee(t) || _a(t))
return !1;
var e = Ne(t) ? ka : La;
return e.test(He(t));
}
function ba(t, e) {
return t?.[e];
}
function Ke(t, e) {
var n = ba(t, e);
return xa(n) ? n : void 0;
}
var On = Ke(pe, "WeakMap"), Or = Object.create, wa = /* @__PURE__ */ function() {
function t() {
}
return function(e) {
if (!ee(e))
return {};
if (Or)
return Or(e);
t.prototype = e;
var n = new t();
return t.prototype = void 0, n;
};
}();
function Ua(t, e, n) {
switch (n.length) {
case 0:
return t.call(e);
case 1:
return t.call(e, n[0]);
case 2:
return t.call(e, n[0], n[1]);
case 3:
return t.call(e, n[0], n[1], n[2]);
}
return t.apply(e, n);
}
function b() {
}
function Fa(t, e) {
var n = -1, r = t.length;
for (e || (e = Array(r)); ++n < r; )
e[n] = t[n];
return e;
}
var Da = 800, $a = 16, Ga = Date.now;
function Ba(t) {
var e = 0, n = 0;
return function() {
var r = Ga(), s = $a - (r - n);
if (n = r, s > 0) {
if (++e >= Da)
return arguments[0];
} else
e = 0;
return t.apply(void 0, arguments);
};
}
function Ha(t) {
return function() {
return t;
};
}
var $t = function() {
try {
var t = Ke(Object, "defineProperty");
return t({}, "", {}), t;
} catch {
}
}(), Ka = $t ? function(t, e) {
return $t(t, "toString", {
configurable: !0,
enumerable: !1,
value: Ha(e),
writable: !0
});
} : Ye, Wa = Ba(Ka);
function Os(t, e) {
for (var n = -1, r = t == null ? 0 : t.length; ++n < r && e(t[n], n, t) !== !1; )
;
return t;
}
function Ns(t, e, n, r) {
for (var s = t.length, i = n + -1; ++i < s; )
if (e(t[i], i, t))
return i;
return -1;
}
function ja(t) {
return t !== t;
}
function za(t, e, n) {
for (var r = n - 1, s = t.length; ++r < s; )
if (t[r] === e)
return r;
return -1;
}
function Kn(t, e, n) {
return e === e ? za(t, e, n) : Ns(t, ja, n);
}
function Cs(t, e) {
var n = t == null ? 0 : t.length;
return !!n && Kn(t, e, 0) > -1;
}
var Va = 9007199254740991, Ya = /^(?:0|[1-9]\d*)$/;
function Jt(t, e) {
var n = typeof t;
return e = e ?? Va, !!e && (n == "number" || n != "symbol" && Ya.test(t)) && t > -1 && t % 1 == 0 && t < e;
}
function Wn(t, e, n) {
e == "__proto__" && $t ? $t(t, e, {
configurable: !0,
enumerable: !0,
value: n,
writable: !0
}) : t[e] = n;
}
function gt(t, e) {
return t === e || t !== t && e !== e;
}
var Xa = Object.prototype, qa = Xa.hasOwnProperty;
function en(t, e, n) {
var r = t[e];
(!(qa.call(t, e) && gt(r, n)) || n === void 0 && !(e in t)) && Wn(t, e, n);
}
function jn(t, e, n, r) {
var s = !n;
n || (n = {});
for (var i = -1, a = e.length; ++i < a; ) {
var o = e[i], c = void 0;
c === void 0 && (c = t[o]), s ? Wn(n, o, c) : en(n, o, c);
}
return n;
}
var Nr = Math.max;
function Za(t, e, n) {
return e = Nr(e === void 0 ? t.length - 1 : e, 0), function() {
for (var r = arguments, s = -1, i = Nr(r.length - e, 0), a = Array(i); ++s < i; )
a[s] = r[e + s];
s = -1;
for (var o = Array(e + 1); ++s < e; )
o[s] = r[s];
return o[e] = n(a), Ua(t, this, o);
};
}
function zn(t, e) {
return Wa(Za(t, e, Ye), t + "");
}
var Qa = 9007199254740991;
function Vn(t) {
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Qa;
}
function Ee(t) {
return t != null && Vn(t.length) && !Ne(t);
}
function Ls(t, e, n) {
if (!ee(n))
return !1;
var r = typeof e;
return (r == "number" ? Ee(n) && Jt(e, n.length) : r == "string" && e in n) ? gt(n[e], t) : !1;
}
function Ja(t) {
return zn(function(e, n) {
var r = -1, s = n.length, i = s > 1 ? n[s - 1] : void 0, a = s > 2 ? n[2] : void 0;
for (i = t.length > 3 && typeof i == "function" ? (s--, i) : void 0, a && Ls(n[0], n[1], a) && (i = s < 3 ? void 0 : i, s = 1), e = Object(e); ++r < s; ) {
var o = n[r];
o && t(e, o, r, i);
}
return e;
});
}
var eo = Object.prototype;
function Tt(t) {
var e = t && t.constructor, n = typeof e == "function" && e.prototype || eo;
return t === n;
}
function to(t, e) {
for (var n = -1, r = Array(t); ++n < t; )
r[n] = e(n);
return r;
}
var no = "[object Arguments]";
function Cr(t) {
return oe(t) && be(t) == no;
}
var ys = Object.prototype, ro = ys.hasOwnProperty, so = ys.propertyIsEnumerable, tn = Cr(/* @__PURE__ */ function() {
return arguments;
}()) ? Cr : function(t) {
return oe(t) && ro.call(t, "callee") && !so.call(t, "callee");
};
function io() {
return !1;
}
var vs = typeof exports == "object" && exports && !exports.nodeType && exports, Lr = vs && typeof module == "object" && module && !module.nodeType && module, ao = Lr && Lr.exports === vs, yr = ao ? pe.Buffer : void 0, oo = yr ? yr.isBuffer : void 0, ft = oo || io, co = "[object Arguments]", uo = "[object Array]", lo = "[object Boolean]", ho = "[object Date]", fo = "[object Error]", po = "[object Function]", Eo = "[object Map]", go = "[object Number]", To = "[object Object]", mo = "[object RegExp]", Ao = "[object Set]", Ro = "[object String]", Io = "[object WeakMap]", So = "[object ArrayBuffer]", _o = "[object DataView]", Oo = "[object Float32Array]", No = "[object Float64Array]", Co = "[object Int8Array]", Lo = "[object Int16Array]", yo = "[object Int32Array]", vo = "[object Uint8Array]", Po = "[object Uint8ClampedArray]", Mo = "[object Uint16Array]", ko = "[object Uint32Array]", P = {};
P[Oo] = P[No] = P[Co] = P[Lo] = P[yo] = P[vo] = P[Po] = P[Mo] = P[ko] = !0;
P[co] = P[uo] = P[So] = P[lo] = P[_o] = P[ho] = P[fo] = P[po] = P[Eo] = P[go] = P[To] = P[mo] = P[Ao] = P[Ro] = P[Io] = !1;
function xo(t) {
return oe(t) && Vn(t.length) && !!P[be(t)];
}
function nn(t) {
return function(e) {
return t(e);
};
}
var Ps = typeof exports == "object" && exports && !exports.nodeType && exports, lt = Ps && typeof module == "object" && module && !module.nodeType && module, bo = lt && lt.exports === Ps, Tn = bo && Is.process, ke = function() {
try {
var t = lt && lt.require && lt.require("util").types;
return t || Tn && Tn.binding && Tn.binding("util");
} catch {
}
}(), vr = ke && ke.isTypedArray, Yn = vr ? nn(vr) : xo, wo = Object.prototype, Uo = wo.hasOwnProperty;
function Ms(t, e) {
var n = N(t), r = !n && tn(t), s = !n && !r && ft(t), i = !n && !r && !s && Yn(t), a = n || r || s || i, o = a ? to(t.length, String) : [], c = o.length;
for (var u in t)
(e || Uo.call(t, u)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
s && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
i && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
Jt(u, c))) && o.push(u);
return o;
}
function ks(t, e) {
return function(n) {
return t(e(n));
};
}
var Fo = ks(Object.keys, Object), Do = Object.prototype, $o = Do.hasOwnProperty;
function xs(t) {
if (!Tt(t))
return Fo(t);
var e = [];
for (var n in Object(t))
$o.call(t, n) && n != "constructor" && e.push(n);
return e;
}
function te(t) {
return Ee(t) ? Ms(t) : xs(t);
}
var Go = Object.prototype, Bo = Go.hasOwnProperty, V = Ja(function(t, e) {
if (Tt(e) || Ee(e)) {
jn(e, te(e), t);
return;
}
for (var n in e)
Bo.call(e, n) && en(t, n, e[n]);
});
function Ho(t) {
var e = [];
if (t != null)
for (var n in Object(t))
e.push(n);
return e;
}
var Ko = Object.prototype, Wo = Ko.hasOwnProperty;
function jo(t) {
if (!ee(t))
return Ho(t);
var e = Tt(t), n = [];
for (var r in t)
r == "constructor" && (e || !Wo.call(t, r)) || n.push(r);
return n;
}
function bs(t) {
return Ee(t) ? Ms(t, !0) : jo(t);
}
var zo = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Vo = /^\w*$/;
function Xn(t, e) {
if (N(t))
return !1;
var n = typeof t;
return n == "number" || n == "symbol" || n == "boolean" || t == null || qt(t) ? !0 : Vo.test(t) || !zo.test(t) || e != null && t in Object(e);
}
var dt = Ke(Object, "create");
function Yo() {
this.__data__ = dt ? dt(null) : {}, this.size = 0;
}
function Xo(t) {
var e = this.has(t) && delete this.__data__[t];
return this.size -= e ? 1 : 0, e;
}
var qo = "__lodash_hash_undefined__", Zo = Object.prototype, Qo = Zo.hasOwnProperty;
function Jo(t) {
var e = this.__data__;
if (dt) {
var n = e[t];
return n === qo ? void 0 : n;
}
return Qo.call(e, t) ? e[t] : void 0;
}
var ec = Object.prototype, tc = ec.hasOwnProperty;
function nc(t) {
var e = this.__data__;
return dt ? e[t] !== void 0 : tc.call(e, t);
}
var rc = "__lodash_hash_undefined__";
function sc(t, e) {
var n = this.__data__;
return this.size += this.has(t) ? 0 : 1, n[t] = dt && e === void 0 ? rc : e, this;
}
function $e(t) {
var e = -1, n = t == null ? 0 : t.length;
for (this.clear(); ++e < n; ) {
var r = t[e];
this.set(r[0], r[1]);
}
}
$e.prototype.clear = Yo;
$e.prototype.delete = Xo;
$e.prototype.get = Jo;
$e.prototype.has = nc;
$e.prototype.set = sc;
function ic() {
this.__data__ = [], this.size = 0;
}
function rn(t, e) {
for (var n = t.length; n--; )
if (gt(t[n][0], e))
return n;
return -1;
}
var ac = Array.prototype, oc = ac.splice;
function cc(t) {
var e = this.__data__, n = rn(e, t);
if (n < 0)
return !1;
var r = e.length - 1;
return n == r ? e.pop() : oc.call(e, n, 1), --this.size, !0;
}
function uc(t) {
var e = this.__data__, n = rn(e, t);
return n < 0 ? void 0 : e[n][1];
}
function lc(t) {
return rn(this.__data__, t) > -1;
}
function hc(t, e) {
var n = this.__data__, r = rn(n, t);
return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this;
}
function Ce(t) {
var e = -1, n = t == null ? 0 : t.length;
for (this.clear(); ++e < n; ) {
var r = t[e];
this.set(r[0], r[1]);
}
}
Ce.prototype.clear = ic;
Ce.prototype.delete = cc;
Ce.prototype.get = uc;
Ce.prototype.has = lc;
Ce.prototype.set = hc;
var pt = Ke(pe, "Map");
function fc() {
this.size = 0, this.__data__ = {
hash: new $e(),
map: new (pt || Ce)(),
string: new $e()
};
}
function dc(t) {
var e = typeof t;
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
}
function sn(t, e) {
var n = t.__data__;
return dc(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map;
}
function pc(t) {
var e = sn(this, t).delete(t);
return this.size -= e ? 1 : 0, e;
}
function Ec(t) {
return sn(this, t).get(t);
}
function gc(t) {
return sn(this, t).has(t);
}
function Tc(t, e) {
var n = sn(this, t), r = n.size;
return n.set(t, e), this.size += n.size == r ? 0 : 1, this;
}
function Le(t) {
var e = -1, n = t == null ? 0 : t.length;
for (this.clear(); ++e < n; ) {
var r = t[e];
this.set(r[0], r[1]);
}
}
Le.prototype.clear = fc;
Le.prototype.delete = pc;
Le.prototype.get = Ec;
Le.prototype.has = gc;
Le.prototype.set = Tc;
var mc = "Expected a function";
function qn(t, e) {
if (typeof t != "function" || e != null && typeof e != "function")
throw new TypeError(mc);
var n = function() {
var r = arguments, s = e ? e.apply(this, r) : r[0], i = n.cache;
if (i.has(s))
return i.get(s);
var a = t.apply(this, r);
return n.cache = i.set(s, a) || i, a;
};
return n.cache = new (qn.Cache || Le)(), n;
}
qn.Cache = Le;
var Ac = 500;
function Rc(t) {
var e = qn(t, function(r) {
return n.size === Ac && n.clear(), r;
}), n = e.cache;
return e;
}
var Ic = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Sc = /\\(\\)?/g, _c = Rc(function(t) {
var e = [];
return t.charCodeAt(0) === 46 && e.push(""), t.replace(Ic, function(n, r, s, i) {
e.push(s ? i.replace(Sc, "$1") : r || n);
}), e;
});
function Oc(t) {
return t == null ? "" : _s(t);
}
function an(t, e) {
return N(t) ? t : Xn(t, e) ? [t] : _c(Oc(t));
}
function mt(t) {
if (typeof t == "string" || qt(t))
return t;
var e = t + "";
return e == "0" && 1 / t == -1 / 0 ? "-0" : e;
}
function Zn(t, e) {
e = an(e, t);
for (var n = 0, r = e.length; t != null && n < r; )
t = t[mt(e[n++])];
return n && n == r ? t : void 0;
}
function Nc(t, e, n) {
var r = t == null ? void 0 : Zn(t, e);
return r === void 0 ? n : r;
}
function Qn(t, e) {
for (var n = -1, r = e.length, s = t.length; ++n < r; )
t[s + n] = e[n];
return t;
}
var Pr = J ? J.isConcatSpreadable : void 0;
function Cc(t) {
return N(t) || tn(t) || !!(Pr && t && t[Pr]);
}
function Jn(t, e, n, r, s) {
var i = -1, a = t.length;
for (n || (n = Cc), s || (s = []); ++i < a; ) {
var o = t[i];
n(o) ? Qn(s, o) : r || (s[s.length] = o);
}
return s;
}
function ie(t) {
var e = t == null ? 0 : t.length;
return e ? Jn(t) : [];
}
var ws = ks(Object.getPrototypeOf, Object);
function Us(t, e, n) {
var r = -1, s = t.length;
e < 0 && (e = -e > s ? 0 : s + e), n = n > s ? s : n, n < 0 && (n += s), s = e > n ? 0 : n - e >>> 0, e >>>= 0;
for (var i = Array(s); ++r < s; )
i[r] = t[r + e];
return i;
}
function Lc(t, e, n, r) {
var s = -1, i = t == null ? 0 : t.length;
for (r && i && (n = t[++s]); ++s < i; )
n = e(n, t[s], s, t);
return n;
}
function yc() {
this.__data__ = new Ce(), this.size = 0;
}
function vc(t) {
var e = this.__data__, n = e.delete(t);
return this.size = e.size, n;
}
function Pc(t) {
return this.__data__.get(t);
}
function Mc(t) {
return this.__data__.has(t);
}
var kc = 200;
function xc(t, e) {
var n = this.__data__;
if (n instanceof Ce) {
var r = n.__data__;
if (!pt || r.length < kc - 1)
return r.push([t, e]), this.size = ++n.size, this;
n = this.__data__ = new Le(r);
}
return n.set(t, e), this.size = n.size, this;
}
function de(t) {
var e = this.__data__ = new Ce(t);
this.size = e.size;
}
de.prototype.clear = yc;
de.prototype.delete = vc;
de.prototype.get = Pc;
de.prototype.has = Mc;
de.prototype.set = xc;
function bc(t, e) {
return t && jn(e, te(e), t);
}
var Fs = typeof exports == "object" && exports && !exports.nodeType && exports, Mr = Fs && typeof module == "object" && module && !module.nodeType && module, wc = Mr && Mr.exports === Fs, kr = wc ? pe.Buffer : void 0, xr = kr ? kr.allocUnsafe : void 0;
function Uc(t, e) {
var n = t.length, r = xr ? xr(n) : new t.constructor(n);
return t.copy(r), r;
}
function er(t, e) {
for (var n = -1, r = t == null ? 0 : t.length, s = 0, i = []; ++n < r; ) {
var a = t[n];
e(a, n, t) && (i[s++] = a);
}
return i;
}
function Ds() {
return [];
}
var Fc = Object.prototype, Dc = Fc.propertyIsEnumerable, br = Object.getOwnPropertySymbols, tr = br ? function(t) {
return t == null ? [] : (t = Object(t), er(br(t), function(e) {
return Dc.call(t, e);
}));
} : Ds;
function $c(t, e) {
return jn(t, tr(t), e);
}
var Gc = Object.getOwnPropertySymbols, Bc = Gc ? function(t) {
for (var e = []; t; )
Qn(e, tr(t)), t = ws(t);
return e;
} : Ds;
function $s(t, e, n) {
var r = e(t);
return N(t) ? r : Qn(r, n(t));
}
function Nn(t) {
return $s(t, te, tr);
}
function Hc(t) {
return $s(t, bs, Bc);
}
var Cn = Ke(pe, "DataView"), Ln = Ke(pe, "Promise"), Ve = Ke(pe, "Set"), wr = "[object Map]", Kc = "[object Object]", Ur = "[object Promise]", Fr = "[object Set]", Dr = "[object WeakMap]", $r = "[object DataView]", Wc = He(Cn), jc = He(pt), zc = He(Ln), Vc = He(Ve), Yc = He(On), Z = be;
(Cn && Z(new Cn(new ArrayBuffer(1))) != $r || pt && Z(new pt()) != wr || Ln && Z(Ln.resolve()) != Ur || Ve && Z(new Ve()) != Fr || On && Z(new On()) != Dr) && (Z = function(t) {
var e = be(t), n = e == Kc ? t.constructor : void 0, r = n ? He(n) : "";
if (r)
switch (r) {
case Wc:
return $r;
case jc:
return wr;
case zc:
return Ur;
case Vc:
return Fr;
case Yc:
return Dr;
}
return e;
});
var Xc = Object.prototype, qc = Xc.hasOwnProperty;
function Zc(t) {
var e = t.length, n = new t.constructor(e);
return e && typeof t[0] == "string" && qc.call(t, "index") && (n.index = t.index, n.input = t.input), n;
}
var Gt = pe.Uint8Array;
function Qc(t) {
var e = new t.constructor(t.byteLength);
return new Gt(e).set(new Gt(t)), e;
}
function Jc(t, e) {
var n = t.buffer;
return new t.constructor(n, t.byteOffset, t.byteLength);
}
var eu = /\w*$/;
function tu(t) {
var e = new t.constructor(t.source, eu.exec(t));
return e.lastIndex = t.lastIndex, e;
}
var Gr = J ? J.prototype : void 0, Br = Gr ? Gr.valueOf : void 0;
function nu(t) {
return Br ? Object(Br.call(t)) : {};
}
function ru(t, e) {
var n = t.buffer;
return new t.constructor(n, t.byteOffset, t.length);
}
var su = "[object Boolean]", iu = "[object Date]", au = "[object Map]", ou = "[object Number]", cu = "[object RegExp]", uu = "[object Set]", lu = "[object String]", hu = "[object Symbol]", fu = "[object ArrayBuffer]", du = "[object DataView]", pu = "[object Float32Array]", Eu = "[object Float64Array]", gu = "[object Int8Array]", Tu = "[object Int16Array]", mu = "[object Int32Array]", Au = "[object Uint8Array]", Ru = "[object Uint8ClampedArray]", Iu = "[object Uint16Array]", Su = "[object Uint32Array]";
function _u(t, e, n) {
var r = t.constructor;
switch (e) {
case fu:
return Qc(t);
case su:
case iu:
return new r(+t);
case du:
return Jc(t);
case pu:
case Eu:
case gu:
case Tu:
case mu:
case Au:
case Ru:
case Iu:
case Su:
return ru(t);
case au:
return new r();
case ou:
case lu:
return new r(t);
case cu:
return tu(t);
case uu:
return new r();
case hu:
return nu(t);
}
}
function Ou(t) {
return typeof t.constructor == "function" && !Tt(t) ? wa(ws(t)) : {};
}
var Nu = "[object Map]";
function Cu(t) {
return oe(t) && Z(t) == Nu;
}
var Hr = ke && ke.isMap, Lu = Hr ? nn(Hr) : Cu, yu = "[object Set]";
function vu(t) {
return oe(t) && Z(t) == yu;
}
var Kr = ke && ke.isSet, Pu = Kr ? nn(Kr) : vu, Gs = "[object Arguments]", Mu = "[object Array]", ku = "[object Boolean]", xu = "[object Date]", bu = "[object Error]", Bs = "[object Function]", wu = "[object GeneratorFunction]", Uu = "[object Map]", Fu = "[object Number]", Hs = "[object Object]", Du = "[object RegExp]", $u = "[object Set]", Gu = "[object String]", Bu = "[object Symbol]", Hu = "[object WeakMap]", Ku = "[object ArrayBuffer]", Wu = "[object DataView]", ju = "[object Float32Array]", zu = "[object Float64Array]", Vu = "[object Int8Array]", Yu = "[object Int16Array]", Xu = "[object Int32Array]", qu = "[object Uint8Array]", Zu = "[object Uint8ClampedArray]", Qu = "[object Uint16Array]", Ju = "[object Uint32Array]", y = {};
y[Gs] = y[Mu] = y[Ku] = y[Wu] = y[ku] = y[xu] = y[ju] = y[zu] = y[Vu] = y[Yu] = y[Xu] = y[Uu] = y[Fu] = y[Hs] = y[Du] = y[$u] = y[Gu] = y[Bu] = y[qu] = y[Zu] = y[Qu] = y[Ju] = !0;
y[bu] = y[Bs] = y[Hu] = !1;
function kt(t, e, n, r, s, i) {
var a;
if (a !== void 0)
return a;
if (!ee(t))
return t;
var o = N(t);
if (o)
return a = Zc(t), Fa(t, a);
var c = Z(t), u = c == Bs || c == wu;
if (ft(t))
return Uc(t);
if (c == Hs || c == Gs || u && !s)
return a = u ? {} : Ou(t), $c(t, bc(a, t));
if (!y[c])
return s ? t : {};
a = _u(t, c), i || (i = new de());
var l = i.get(t);
if (l)
return l;
i.set(t, a), Pu(t) ? t.forEach(function(p) {
a.add(kt(p, e, n, p, t, i));
}) : Lu(t) && t.forEach(function(p, T) {
a.set(T, kt(p, e, n, T, t, i));
});
var h = Nn, f = o ? void 0 : h(t);
return Os(f || t, function(p, T) {
f && (T = p, p = t[T]), en(a, T, kt(p, e, n, T, t, i));
}), a;
}
var el = 4;
function D(t) {
return kt(t, el);
}
function At(t) {
for (var e = -1, n = t == null ? 0 : t.length, r = 0, s = []; ++e < n; ) {
var i = t[e];
i && (s[r++] = i);
}
return s;
}
var tl = "__lodash_hash_undefined__";
function nl(t) {
return this.__data__.set(t, tl), this;
}
function rl(t) {
return this.__data__.has(t);
}
function Xe(t) {
var e = -1, n = t == null ? 0 : t.length;
for (this.__data__ = new Le(); ++e < n; )
this.add(t[e]);
}
Xe.prototype.add = Xe.prototype.push = nl;
Xe.prototype.has = rl;
function Ks(t, e) {
for (var n = -1, r = t == null ? 0 : t.length; ++n < r; )
if (e(t[n], n, t))
return !0;
return !1;
}
function nr(t, e) {
return t.has(e);
}
var sl = 1, il = 2;
function Ws(t, e, n, r, s, i) {
var a = n & sl, o = t.length, c = e.length;
if (o != c && !(a && c > o))
return !1;
var u = i.get(t), l = i.get(e);
if (u && l)
return u == e && l == t;
var h = -1, f = !0, p = n & il ? new Xe() : void 0;
for (i.set(t, e), i.set(e, t); ++h < o; ) {
var T = t[h], I = e[h];
if (r)
var O = a ? r(I, T, h, e, t, i) : r(T, I, h, t, e, i);
if (O !== void 0) {
if (O)
continue;
f = !1;
break;
}
if (p) {
if (!Ks(e, function(g, E) {
if (!nr(p, E) && (T === g || s(T, g, n, r, i)))
return p.push(E);
})) {
f = !1;
break;
}
} else if (!(T === I || s(T, I, n, r, i))) {
f = !1;
break;
}
}
return i.delete(t), i.delete(e), f;
}
function al(t) {
var e = -1, n = Array(t.size);
return t.forEach(function(r, s) {
n[++e] = [s, r];
}), n;
}
function rr(t) {
var e = -1, n = Array(t.size);
return t.forEach(function(r) {
n[++e] = r;
}), n;
}
var ol = 1, cl = 2, ul = "[object Boolean]", ll = "[object Date]", hl = "[object Error]", fl = "[object Map]", dl = "[object Number]", pl = "[object RegExp]", El = "[object Set]", gl = "[object String]", Tl = "[object Symbol]", ml = "[object ArrayBuffer]", Al = "[object DataView]", Wr = J ? J.prototype : void 0, mn = Wr ? Wr.valueOf : void 0;
function Rl(t, e, n, r, s, i, a) {
switch (n) {
case Al:
if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)
return !1;
t = t.buffer, e = e.buffer;
case ml:
return !(t.byteLength != e.byteLength || !i(new Gt(t), new Gt(e)));
case ul:
case ll:
case dl:
return gt(+t, +e);
case hl:
return t.name == e.name && t.message == e.message;
case pl:
case gl:
return t == e + "";
case fl:
var o = al;
case El:
var c = r & ol;
if (o || (o = rr), t.size != e.size && !c)
return !1;
var u = a.get(t);
if (u)
return u == e;
r |= cl, a.set(t, e);
var l = Ws(o(t), o(e), r, s, i, a);
return a.delete(t), l;
case Tl:
if (mn)
return mn.call(t) == mn.call(e);
}
return !1;
}
var Il = 1, Sl = Object.prototype, _l = Sl.hasOwnProperty;
function Ol(t, e, n, r, s, i) {
var a = n & Il, o = Nn(t), c = o.length, u = Nn(e), l = u.length;
if (c != l && !a)
return !1;
for (var h = c; h--; ) {
var f = o[h];
if (!(a ? f in e : _l.call(e, f)))
return !1;
}
var p = i.get(t), T = i.get(e);
if (p && T)
return p == e && T == t;
var I = !0;
i.set(t, e), i.set(e, t);
for (var O = a; ++h < c; ) {
f = o[h];
var g = t[f], E = e[f];
if (r)
var d = a ? r(E, g, f, e, t, i) : r(g, E, f, t, e, i);
if (!(d === void 0 ? g === E || s(g, E, n, r, i) : d)) {
I = !1;
break;
}
O || (O = f == "constructor");
}
if (I && !O) {
var m = t.constructor, L = e.constructor;
m != L && "constructor" in t && "constructor" in e && !(typeof m == "function" && m instanceof m && typeof L == "function" && L instanceof L) && (I = !1);
}
return i.delete(t), i.delete(e), I;
}
var Nl = 1, jr = "[object Arguments]", zr = "[object Array]", Ct = "[object Object]", Cl = Object.prototype, Vr = Cl.hasOwnProperty;
function Ll(t, e, n, r, s, i) {
var a = N(t), o = N(e), c = a ? zr : Z(t), u = o ? zr : Z(e);
c = c == jr ? Ct : c, u = u == jr ? Ct : u;
var l = c == Ct, h = u == Ct, f = c == u;
if (f && ft(t)) {
if (!ft(e))
return !1;
a = !0, l = !1;
}
if (f && !l)
return i || (i = new de()), a || Yn(t) ? Ws(t, e, n, r, s, i) : Rl(t, e, c, n, r, s, i);
if (!(n & Nl)) {
var p = l && Vr.call(t, "__wrapped__"), T = h && Vr.call(e, "__wrapped__");
if (p || T) {
var I = p ? t.value() : t, O = T ? e.value() : e;
return i || (i = new de()), s(I, O, n, r, i);
}
}
return f ? (i || (i = new de()), Ol(t, e, n, r, s, i)) : !1;
}
function sr(t, e, n, r, s) {
return t === e ? !0 : t == null || e == null || !oe(t) && !oe(e) ? t !== t && e !== e : Ll(t, e, n, r, sr, s);
}
var yl = 1, vl = 2;
function Pl(t, e, n, r) {
var s = n.length, i = s;
if (t == null)
return !i;
for (t = Object(t); s--; ) {
var a = n[s];
if (a[2] ? a[1] !== t[a[0]] : !(a[0] in t))
return !1;
}
for (; ++s < i; ) {
a = n[s];
var o = a[0], c = t[o], u = a[1];
if (a[2]) {
if (c === void 0 && !(o in t))
return !1;
} else {
var l = new de(), h;
if (!(h === void 0 ? sr(u, c, yl | vl, r, l) : h))
return !1;
}
}
return !0;
}
function js(t) {
return t === t && !ee(t);
}
function Ml(t) {
for (var e = te(t), n = e.length; n--; ) {
var r = e[n], s = t[r];
e[n] = [r, s, js(s)];
}
return e;
}
function zs(t, e) {
return function(n) {
return n == null ? !1 : n[t] === e && (e !== void 0 || t in Object(n));
};
}
function kl(t) {
var e = Ml(t);
return e.length == 1 && e[0][2] ? zs(e[0][0], e[0][1]) : function(n) {
return n === t || Pl(n, t, e);
};
}
function xl(t, e) {
return t != null && e in Object(t);
}
function Vs(t, e, n) {
e = an(e, t);
for (var r = -1, s = e.length, i = !1; ++r < s; ) {
var a = mt(e[r]);
if (!(i = t != null && n(t, a)))
break;
t = t[a];
}
return i || ++r != s ? i : (s = t == null ? 0 : t.length, !!s && Vn(s) && Jt(a, s) && (N(t) || tn(t)));
}
function bl(t, e) {
return t != null && Vs(t, e, xl);
}
var wl = 1, Ul = 2;
function Fl(t, e) {
return Xn(t) && js(e) ? zs(mt(t), e) : function(n) {
var r = Nc(n, t);
return r === void 0 && r === e ? bl(n, t) : sr(e, r, wl | Ul);
};
}
function Dl(t) {
return function(e) {
return e?.[t];
};
}
function $l(t) {
return function(e) {
return Zn(e, t);
};
}
function Gl(t) {
return Xn(t) ? Dl(mt(t)) : $l(t);
}
function ge(t) {
return typeof t == "function" ? t : t == null ? Ye : typeof t == "object" ? N(t) ? Fl(t[0], t[1]) : kl(t) : Gl(t);
}
function Bl(t, e, n, r) {
for (var s = -1, i = t == null ? 0 : t.length; ++s < i; ) {
var a = t[s];
e(r, a, n(a), t);
}
return r;
}
function Hl(t) {
return function(e, n, r) {
for (var s = -1, i = Object(e), a = r(e), o = a.length; o--; ) {
var c = a[++s];
if (n(i[c], c, i) === !1)
break;
}
return e;
};
}
var Kl = Hl();
function Wl(t, e) {
return t && Kl(t, e, te);
}
function jl(t, e) {
return function(n, r) {
if (n == null)
return n;
if (!Ee(n))
return t(n, r);
for (var s = n.length, i = -1, a = Object(n); ++i < s && r(a[i], i, a) !== !1; )
;
return n;
};
}
var We = jl(Wl);
function zl(t, e, n, r) {
return We(t, function(s, i, a) {
e(r, s, n(s), a);
}), r;
}
function Vl(t, e) {
return function(n, r) {
var s = N(n) ? Bl : zl, i = e ? e() : {};
return s(n, t, ge(r), i);
};
}
var Ys = Object.prototype, Yl = Ys.hasOwnProperty, ir = zn(function(t, e) {
t = Object(t);
var n = -1, r = e.length, s = r > 2 ? e[2] : void 0;
for (s && Ls(e[0], e[1], s) && (r = 1); ++n < r; )
for (var i = e[n], a = bs(i), o = -1, c = a.length; ++o < c; ) {
var u = a[o], l = t[u];
(l === void 0 || gt(l, Ys[u]) && !Yl.call(t, u)) && (t[u] = i[u]);
}
return t;
});
function Yr(t) {
return oe(t) && Ee(t);
}
var Xl = 200;
function ql(t, e, n, r) {
var s = -1, i = Cs, a = !0, o = t.length, c = [], u = e.length;
if (!o)
return c;
e.length >= Xl && (i = nr, a = !1, e = new Xe(e));
e:
for (; ++s < o; ) {
var l = t[s], h = l;
if (l = l !== 0 ? l : 0, a && h === h) {
for (var f = u; f--; )
if (e[f] === h)
continue e;
c.push(l);
} else i(e, h, r) || c.push(l);
}
return c;
}
var on = zn(function(t, e) {
return Yr(t) ? ql(t, Jn(e, 1, Yr, !0)) : [];
});
function qe(t) {
var e = t == null ? 0 : t.length;
return e ? t[e - 1] : void 0;
}
function F(t, e, n) {
var r = t == null ? 0 : t.length;
return r ? (e = e === void 0 ? 1 : Qt(e), Us(t, e < 0 ? 0 : e, r)) : [];
}
function Et(t, e, n) {
var r = t == null ? 0 : t.length;
return r ? (e = e === void 0 ? 1 : Qt(e), e = r - e, Us(t, 0, e < 0 ? 0 : e)) : [];
}
function Zl(t) {
return typeof t == "function" ? t : Ye;
}
function S(t, e) {
var n = N(t) ? Os : We;
return n(t, Zl(e));
}
function Ql(t, e) {
for (var n = -1, r = t == null ? 0 : t.length; ++n < r; )
if (!e(t[n], n, t))
return !1;
return !0;
}
function Jl(t, e) {
var n = !0;
return We(t, function(r, s, i) {
return n = !!e(r, s, i), n;
}), n;
}
function ae(t, e, n) {
var r = N(t) ? Ql : Jl;
return r(t, ge(e));
}
function Xs(t, e) {
var n = [];
return We(t, function(r, s, i) {
e(r, s, i) && n.push(r);
}), n;
}
function ne(t, e) {
var n = N(t) ? er : Xs;
return n(t, ge(e));
}
function eh(t) {
return function(e, n, r) {
var s = Object(e);
if (!Ee(e)) {
var i = ge(n);
e = te(e), n = function(o) {
return i(s[o], o, s);
};
}
var a = t(e, n, r);
return a > -1 ? s[i ? e[a] : a] : void 0;
};
}
var th = Math.max;
function nh(t, e, n) {
var r = t == null ? 0 : t.length;
if (!r)
return -1;
var s = n == null ? 0 : Qt(n);
return s < 0 && (s = th(r + s, 0)), Ns(t, ge(e), s);
}
var Ze = eh(nh);
function ce(t) {
return t && t.length ? t[0] : void 0;
}
function rh(t, e) {
var n = -1, r = Ee(t) ? Array(t.length) : [];
return We(t, function(s, i, a) {
r[++n] = e(s, i, a);
}), r;
}
function A(t, e) {
var n = N(t) ? Zt : rh;
return n(t, ge(e));
}
function Q(t, e) {
return Jn(A(t, e));
}
var sh = Object.prototype, ih = sh.hasOwnProperty, ah = Vl(function(t, e, n) {
ih.call(t, n) ? t[n].push(e) : Wn(t, n, [e]);
}), oh = Object.prototype, ch = oh.hasOwnProperty;
function uh(t, e) {
return t != null && ch.call(t, e);
}
function R(t, e) {
return t != null && Vs(t, e, uh);
}
var lh = "[object String]";
function W(t) {
return typeof t == "string" || !N(t) && oe(t) && be(t) == lh;
}
function hh(t, e) {
return Zt(e, function(n) {
return t[n];
});
}
function w(t) {
return t == null ? [] : hh(t, te(t));
}
var fh = Math.max;
function H(t, e, n, r) {
t = Ee(t) ? t : w(t), n = n ? Qt(n) : 0;
var s = t.length;
return n < 0 && (n = fh(s + n, 0)), W(t) ? n <= s && t.indexOf(e, n) > -1 : !!s && Kn(t, e, n) > -1;
}
function Xr(t, e, n) {
var r = t == null ? 0 : t.length;
if (!r)
return -1;
var s = 0;
return Kn(t, e, s);
}
var dh = "[object Map]", ph = "[object Set]", Eh = Object.prototype, gh = Eh.hasOwnProperty;
function v(t) {
if (t == null)
return !0;
if (Ee(t) && (N(t) || typeof t == "string" || typeof t.splice == "function" || ft(t) || Yn(t) || tn(t)))
return !t.length;
var e = Z(t);
if (e == dh || e == ph)
return !t.size;
if (Tt(t))
return !xs(t).length;
for (var n in t)
if (gh.call(t, n))
return !1;
return !0;
}
var Th = "[object RegExp]";
function mh(t) {
return oe(t) && be(t) == Th;
}
var qr = ke && ke.isRegExp, Se = qr ? nn(qr) : mh;
function _e(t) {
return t === void 0;
}
var Ah = "Expected a function";
function Rh(t) {
if (typeof t != "function")
throw new TypeError(Ah);
return function() {
var e = arguments;
switch (e.length) {
case 0:
return !t.call(this);
case 1:
return !t.call(this, e[0]);
case 2:
return !t.call(this, e[0], e[1]);
case 3:
return !t.call(this, e[0], e[1], e[2]);
}
return !t.apply(this, e);
};
}
function Ih(t, e, n, r) {
if (!ee(t))
return t;
e = an(e, t);
for (var s = -1, i = e.length, a = i - 1, o = t; o != null && ++s < i; ) {
var c = mt(e[s]), u = n;
if (c === "__proto__" || c === "constructor" || c === "prototype")
return t;
if (s != a) {
var l = o[c];
u = void 0, u === void 0 && (u = ee(l) ? l : Jt(e[s + 1]) ? [] : {});
}
en(o, c, u), o = o[c];
}
return t;
}
function Sh(t, e, n) {
for (var r = -1, s = e.length, i = {}; ++r < s; ) {
var a = e[r], o = Zn(t, a);
n(o, a) && Ih(i, an(a, t), o);
}
return i;
}
function ue(t, e) {
if (t == null)
return {};
var n = Zt(Hc(t), function(r) {
return [r];
});
return e = ge(e), Sh(t, n, function(r, s) {
return e(r, s[0]);
});
}
function _h(t, e, n, r, s) {
return s(t, function(i, a, o) {
n = r ? (r = !1, i) : e(n, i, a, o);
}), n;
}
function Y(t, e, n) {
var r = N(t) ? Lc : _h, s = arguments.length < 3;
return r(t, ge(e), n, s, We);
}
function cn(t, e) {
var n = N(t) ? er : Xs;
return n(t, Rh(ge(e)));
}
function Oh(t, e) {
var n;
return We(t, function(r, s, i) {
return n = e(r, s, i), !n;
}), !!n;
}
function qs(t, e, n) {
var r = N(t) ? Ks : Oh;
return r(t, ge(e));
}
var Nh = 1 / 0, Ch = Ve && 1 / rr(new Ve([, -0]))[1] == Nh ? function(t) {
return new Ve(t);
} : b, Lh = 200;
function yh(t, e, n) {
var r = -1, s = Cs, i = t.length, a = !0, o = [], c = o;
if (i >= Lh) {
var u = Ch(t);
if (u)
return rr(u);
a = !1, s = nr, c = new Xe();
} else
c = o;
e:
for (; ++r < i; ) {
var l = t[r], h = l;
if (l = l !== 0 ? l : 0, a && h === h) {
for (var f = c.length; f--; )
if (c[f] === h)
continue e;
o.push(l);
} else s(c, h, n) || (c !== o && c.push(h), o.push(l));
}
return o;
}
function ar(t) {
return t && t.length ? yh(t) : [];
}
function yn(t) {
console && console.error && console.error(`Error: ${t}`);
}
function Zs(t) {
console && console.warn && console.warn(`Warning: ${t}`);
}
function Qs(t) {
const e = (/* @__PURE__ */ new Date()).getTime(), n = t();
return { time: (/* @__PURE__ */ new Date()).getTime() - e, value: n };
}
function Js(t) {
function e() {
}
e.prototype = t;
const n = new e();
function r() {
return typeof n.bar;
}
return r(), r(), t;
}
function vh(t) {
return Ph(t) ? t.LABEL : t.name;
}
function Ph(t) {
return W(t.LABEL) && t.LABEL !== "";
}
class Te {
get definition() {
return this._definition;
}
set definition(e) {
this._definition = e;
}
constructor(e) {
this._definition = e;
}
accept(e) {
e.visit(this), S(this.definition, (n) => {
n.accept(e);
});
}
}
class X extends Te {
constructor(e) {
super([]), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
set definition(e) {
}
get definition() {
return this.referencedRule !== void 0 ? this.referencedRule.definition : [];
}
accept(e) {
e.visit(this);
}
}
class Qe extends Te {
constructor(e) {
super(e.definition), this.orgText = "", V(this, ue(e, (n) => n !== void 0));
}
}
class j extends Te {
constructor(e) {
super(e.definition), this.ignoreAmbiguities = !1, V(this, ue(e, (n) => n !== void 0));
}
}
class K extends Te {
constructor(e) {
super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
}
class me extends Te {
constructor(e) {
super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
}
class Ae extends Te {
constructor(e) {
super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
}
class U extends Te {
constructor(e) {
super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
}
class le extends Te {
constructor(e) {
super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
}
class he extends Te {
get definition() {
return this._definition;
}
set definition(e) {
this._definition = e;
}
constructor(e) {
super(e.definition), this.idx = 1, this.ignoreAmbiguities = !1, this.hasPredicates = !1, V(this, ue(e, (n) => n !== void 0));
}
}
class M {
constructor(e) {
this.idx = 1, V(this, ue(e, (n) => n !== void 0));
}
accept(e) {
e.visit(this);
}
}
function Mh(t) {
return A(t, xt);
}
function xt(t) {
function e(n) {
return A(n, xt);
}
if (t instanceof X) {
const n = {
type: "NonTerminal",
name: t.nonTerminalName,
idx: t.idx
};
return W(t.label) && (n.label = t.label), n;
} else {
if (t instanceof j)
return {
type: "Alternative",
definition: e(t.definition)
};
if (t instanceof K)
return {
type: "Option",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof me)
return {
type: "RepetitionMandatory",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof Ae)
return {
type: "RepetitionMandatoryWithSeparator",
idx: t.idx,
separator: xt(new M({ terminalType: t.separator })),
definition: e(t.definition)
};
if (t instanceof le)
return {
type: "RepetitionWithSeparator",
idx: t.idx,
separator: xt(new M({ terminalType: t.separator })),
definition: e(t.definition)
};
if (t instanceof U)
return {
type: "Repetition",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof he)
return {
type: "Alternation",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof M) {
const n = {
type: "Terminal",
name: t.terminalType.name,
label: vh(t.terminalType),
idx: t.idx
};
W(t.label) && (n.terminalLabel = t.label);
const r = t.terminalType.PATTERN;
return t.terminalType.PATTERN && (n.pattern = Se(r) ? r.source : r), n;
} else {
if (t instanceof Qe)
return {
type: "Rule",
name: t.name,
orgText: t.orgText,
definition: e(t.definition)
};
throw Error("non exhaustive match");
}
}
}
class Je {
visit(e) {
const n = e;
switch (n.constructor) {
case X:
return this.visitNonTerminal(n);
case j:
return this.visitAlternative(n);
case K:
return this.visitOption(n);
case me:
return this.visitRepetitionMandatory(n);
case Ae:
return this.visitRepetitionMandatoryWithSeparator(n);
case le:
return this.visitRepetitionWithSeparator(n);
case U:
return this.visitRepetition(n);
case he:
return this.visitAlternation(n);
case M:
return this.visitTerminal(n);
case Qe:
return this.visitRule(n);
/* c8 ignore next 2 */
default:
throw Error("non exhaustive match");
}
}
/* c8 ignore next */
visitNonTerminal(e) {
}
/* c8 ignore next */
visitAlternative(e) {
}
/* c8 ignore next */
visitOption(e) {
}
/* c8 ignore next */
visitRepetition(e) {
}
/* c8 ignore next */
visitRepetitionMandatory(e) {
}
/* c8 ignore next 3 */
visitRepetitionMandatoryWithSeparator(e) {
}
/* c8 ignore next */
visitRepetitionWithSeparator(e) {
}
/* c8 ignore next */
visitAlternation(e) {
}
/* c8 ignore next */
visitTerminal(e) {
}
/* c8 ignore next */
visitRule(e) {
}
}
function kh(t) {
return t instanceof j || t instanceof K || t instanceof U || t instanceof me || t instanceof Ae || t instanceof le || t instanceof M || t instanceof Qe;
}
function Bt(t, e = []) {
return t instanceof K || t instanceof U || t instanceof le ? !0 : t instanceof he ? qs(t.definition, (r) => Bt(r, e)) : t instanceof X && H(e, t) ? !1 : t instanceof Te ? (t instanceof X && e.push(t), ae(t.definition, (r) => Bt(r, e))) : !1;
}
function xh(t) {
return t instanceof he;
}
function fe(t) {
if (t instanceof X)
return "SUBRULE";
if (t instanceof K)
return "OPTION";
if (t instanceof he)
return "OR";
if (t instanceof me)
return "AT_LEAST_ONE";
if (t instanceof Ae)
return "AT_LEAST_ONE_SEP";
if (t instanceof le)
return "MANY_SEP";
if (t instanceof U)
return "MANY";
if (t instanceof M)
return "CONSUME";
throw Error("non exhaustive match");
}
class un {
walk(e, n = []) {
S(e.definition, (r, s) => {
const i = F(e.definition, s + 1);
if (r instanceof X)
this.walkProdRef(r, i, n);
else if (r instanceof M)
this.walkTerminal(r, i, n);
else if (r instanceof j)
this.walkFlat(r, i, n);
else if (r instanceof K)
this.walkOption(r, i, n);
else if (r instanceof me)
this.walkAtLeastOne(r, i, n);
else if (r instanceof Ae)
this.walkAtLeastOneSep(r, i, n);
else if (r instanceof le)
this.walkManySep(r, i, n);
else if (r instanceof U)
this.walkMany(r, i, n);
else if (r instanceof he)
this.walkOr(r, i, n);
else
throw Error("non exhaustive match");
});
}
walkTerminal(e, n, r) {
}
walkProdRef(e, n, r) {
}
walkFlat(e, n, r) {
const s = n.concat(r);
this.walk(e, s);
}
walkOption(e, n, r) {
const s = n.concat(r);
this.walk(e, s);
}
walkAtLeastOne(e, n, r) {
const s = [
new K({ definition: e.definition })
].concat(n, r);
this.walk(e, s);
}
walkAtLeastOneSep(e, n, r) {
const s = Zr(e, n, r);
this.walk(e, s);
}
walkMany(e, n, r) {
const s = [
new K({ definition: e.definition })
].concat(n, r);
this.walk(e, s);
}
walkManySep(e, n, r) {
const s = Zr(e, n, r);
this.walk(e, s);
}
walkOr(e, n, r) {
const s = n.concat(r);
S(e.definition, (i) => {
const a = new j({ definition: [i] });
this.walk(a, s);
});
}
}
function Zr(t, e, n) {
return [
new K({
definition: [
new M({ terminalType: t.separator })
].concat(t.definition)
})
].concat(e, n);
}
function Rt(t) {
if (t instanceof X)
return Rt(t.referencedRule);
if (t instanceof M)
return Uh(t);
if (kh(t))
return bh(t);
if (xh(t))
return wh(t);
throw Error("non exhaustive match");
}
function bh(t) {
let e = [];
const n = t.definition;
let r = 0, s = n.length > r, i, a = !0;
for (; s && a; )
i = n[r], a = Bt(i), e = e.concat(Rt(i)), r = r + 1, s = n.length > r;
return ar(e);
}
function wh(t) {
const e = A(t.definition, (n) => Rt(n));
return ar(ie(e));
}
function Uh(t) {
return [t.terminalType];
}
const ei = "_~IN~_";
class Fh extends un {
constructor(e) {
super(), this.topProd = e, this.follows = {};
}
startWalking() {
return this.walk(this.topProd), this.follows;
}
walkTerminal(e, n, r) {
}
walkProdRef(e, n, r) {
const s = $h(e.referencedRule, e.idx) + this.topProd.name, i = n.concat(r), a = new j({ definition: i }), o = Rt(a);
this.follows[s] = o;
}
}
function Dh(t) {
const e = {};
return S(t, (n) => {
const r = new Fh(n).startWalking();
V(e, r);
}), e;
}
function $h(t, e) {
return t.name + e + ei;
}
function _(t) {
return t.charCodeAt(0);
}
function An(t, e) {
Array.isArray(t) ? t.forEach(function(n) {
e.push(n);
}) : e.push(t);
}
function it(t, e) {
if (t[e] === !0)
throw "duplicate flag " + e;
t[e], t[e] = !0;
}
function ze(t) {
if (t === void 0)
throw Error("Internal Error - Should never get here!");
return !0;
}
function Gh() {
throw Error("Internal Error - Should never get here!");
}
function Qr(t) {
return t.type === "Character";
}
const Ht = [];
for (let t = _("0"); t <= _("9"); t++)
Ht.push(t);
const Kt = [_("_")].concat(Ht);
for (let t = _("a"); t <= _("z"); t++)
Kt.push(t);
for (let t = _("A"); t <= _("Z"); t++)
Kt.push(t);
const Jr = [
_(" "),
_("\f"),
_(`
`),
_("\r"),
_(" "),
_("\v"),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_(" "),
_("\u2028"),
_("\u2029"),
_(" "),
_(" "),
_(" "),
_("\uFEFF")
], Bh = /[0-9a-fA-F]/, Lt = /[0-9]/, Hh = /[1-9]/;
class Kh {
constructor() {
this.idx = 0, this.input = "", this.groupIdx = 0;
}
saveState() {
return {
idx: this.idx,
input: this.input,
groupIdx: this.groupIdx
};
}
restoreState(e) {
this.idx = e.idx, this.input = e.input, this.groupIdx = e.groupIdx;
}
pattern(e) {
this.idx = 0, this.input = e, this.groupIdx = 0, this.consumeChar("/");
const n = this.disjunction();
this.consumeChar("/");
const r = {
type: "Flags",
loc: { begin: this.idx, end: e.length },
global: !1,
ignoreCase: !1,
multiLine: !1,
unicode: !1,
sticky: !1
};
for (; this.isRegExpFlag(); )
switch (this.popChar()) {
case "g":
it(r, "global");
break;
case "i":
it(r, "ignoreCase");
break;
case "m":
it(r, "multiLine");
break;
case "u":
it(r, "unicode");
break;
case "y":
it(r, "sticky");
break;
}
if (this.idx !== this.input.length)
throw Error("Redundant input: " + this.input.substring(this.idx));
return {
type: "Pattern",
flags: r,
value: n,
loc: this.loc(0)
};
}
disjunction() {
const e = [], n = this.idx;
for (e.push(this.alternative()); this.peekChar() === "|"; )
this.consumeChar("|"), e.push(this.alternative());
return { type: "Disjunction", value: e, loc: this.loc(n) };
}
alternative() {
const e = [], n = this.idx;
for (; this.isTerm(); )
e.push(this.term());
return { type: "Alternative", value: e, loc: this.loc(n) };
}
term() {
return this.isAssertion() ? this.assertion() : this.atom();
}
assertion() {
const e = this.idx;
switch (this.popChar()) {
case "^":
return {
type: "StartAnchor",
loc: this.loc(e)
};
case "$":
return { type: "EndAnchor", loc: this.loc(e) };
// '\b' or '\B'
case "\\":
switch (this.popChar()) {
case "b":
return {
type: "WordBoundary",
loc: this.loc(e)