{"version":3,"file":"base91.cjs","sources":["../node_modules/fzstd/esm/index.mjs","../src-ts/extract.ts","../build/src-cpp/base91/base91lib.js","../lib-esm/base91lib.wasm.js","../src-ts/base91.ts","../src-ts/wasm-library.ts"],"sourcesContent":["// Some numerical data is initialized as -1 even when it doesn't need initialization to help the JIT infer types\n// aliases for shorter compressed code (most minifers don't do this)\nvar ab = ArrayBuffer, u8 = Uint8Array, u16 = Uint16Array, i16 = Int16Array, u32 = Uint32Array, i32 = Int32Array;\nvar slc = function (v, s, e) {\n if (u8.prototype.slice)\n return u8.prototype.slice.call(v, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n var n = new u8(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\nvar fill = function (v, n, s, e) {\n if (u8.prototype.fill)\n return u8.prototype.fill.call(v, n, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n for (; s < e; ++s)\n v[s] = n;\n return v;\n};\nvar cpw = function (v, t, s, e) {\n if (u8.prototype.copyWithin)\n return u8.prototype.copyWithin.call(v, t, s, e);\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n while (s < e) {\n v[t++] = v[s++];\n }\n};\n/**\n * Codes for errors generated within this library\n */\nexport var ZstdErrorCode = {\n InvalidData: 0,\n WindowSizeTooLarge: 1,\n InvalidBlockType: 2,\n FSEAccuracyTooHigh: 3,\n DistanceTooFarBack: 4,\n UnexpectedEOF: 5\n};\n// error codes\nvar ec = [\n 'invalid zstd data',\n 'window size too large (>2046MB)',\n 'invalid block type',\n 'FSE accuracy too high',\n 'match distance too far back',\n 'unexpected EOF'\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\nvar rb = function (d, b, n) {\n var i = 0, o = 0;\n for (; i < n; ++i)\n o |= d[b++] << (i << 3);\n return o;\n};\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\n// read Zstandard frame header\nvar rzfh = function (dat, w) {\n var n3 = dat[0] | (dat[1] << 8) | (dat[2] << 16);\n if (n3 == 0x2FB528 && dat[3] == 253) {\n // Zstandard\n var flg = dat[4];\n // single segment checksum dict flag frame content flag\n var ss = (flg >> 5) & 1, cc = (flg >> 2) & 1, df = flg & 3, fcf = flg >> 6;\n if (flg & 8)\n err(0);\n // byte\n var bt = 6 - ss;\n // dict bytes\n var db = df == 3 ? 4 : df;\n // dictionary id\n var di = rb(dat, bt, db);\n bt += db;\n // frame size bytes\n var fsb = fcf ? (1 << fcf) : ss;\n // frame source size\n var fss = rb(dat, bt, fsb) + ((fcf == 1) && 256);\n // window size\n var ws = fss;\n if (!ss) {\n // window descriptor\n var wb = 1 << (10 + (dat[5] >> 3));\n ws = wb + (wb >> 3) * (dat[5] & 7);\n }\n if (ws > 2145386496)\n err(1);\n var buf = new u8((w == 1 ? (fss || ws) : w ? 0 : ws) + 12);\n buf[0] = 1, buf[4] = 4, buf[8] = 8;\n return {\n b: bt + fsb,\n y: 0,\n l: 0,\n d: di,\n w: (w && w != 1) ? w : buf.subarray(12),\n e: ws,\n o: new i32(buf.buffer, 0, 3),\n u: fss,\n c: cc,\n m: Math.min(131072, ws)\n };\n }\n else if (((n3 >> 4) | (dat[3] << 20)) == 0x184D2A5) {\n // skippable\n return b4(dat, 4) + 8;\n }\n err(0);\n};\n// most significant bit for nonzero\nvar msb = function (val) {\n var bits = 0;\n for (; (1 << bits) <= val; ++bits)\n ;\n return bits - 1;\n};\n// read finite state entropy\nvar rfse = function (dat, bt, mal) {\n // table pos\n var tpos = (bt << 3) + 4;\n // accuracy log\n var al = (dat[bt] & 15) + 5;\n if (al > mal)\n err(3);\n // size\n var sz = 1 << al;\n // probabilities symbols repeat index high threshold\n var probs = sz, sym = -1, re = -1, i = -1, ht = sz;\n // optimization: single allocation is much faster\n var buf = new ab(512 + (sz << 2));\n var freq = new i16(buf, 0, 256);\n // same view as freq\n var dstate = new u16(buf, 0, 256);\n var nstate = new u16(buf, 512, sz);\n var bb1 = 512 + (sz << 1);\n var syms = new u8(buf, bb1, sz);\n var nbits = new u8(buf, bb1 + sz);\n while (sym < 255 && probs > 0) {\n var bits = msb(probs + 1);\n var cbt = tpos >> 3;\n // mask\n var msk = (1 << (bits + 1)) - 1;\n var val = ((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (tpos & 7)) & msk;\n // mask (1 fewer bit)\n var msk1fb = (1 << bits) - 1;\n // max small value\n var msv = msk - probs - 1;\n // small value\n var sval = val & msk1fb;\n if (sval < msv)\n tpos += bits, val = sval;\n else {\n tpos += bits + 1;\n if (val > msk1fb)\n val -= msv;\n }\n freq[++sym] = --val;\n if (val == -1) {\n probs += val;\n syms[--ht] = sym;\n }\n else\n probs -= val;\n if (!val) {\n do {\n // repeat byte\n var rbt = tpos >> 3;\n re = ((dat[rbt] | (dat[rbt + 1] << 8)) >> (tpos & 7)) & 3;\n tpos += 2;\n sym += re;\n } while (re == 3);\n }\n }\n if (sym > 255 || probs)\n err(0);\n var sympos = 0;\n // sym step (coprime with sz - formula from zstd source)\n var sstep = (sz >> 1) + (sz >> 3) + 3;\n // sym mask\n var smask = sz - 1;\n for (var s = 0; s <= sym; ++s) {\n var sf = freq[s];\n if (sf < 1) {\n dstate[s] = -sf;\n continue;\n }\n // This is split into two loops in zstd to avoid branching, but as JS is higher-level that is unnecessary\n for (i = 0; i < sf; ++i) {\n syms[sympos] = s;\n do {\n sympos = (sympos + sstep) & smask;\n } while (sympos >= ht);\n }\n }\n // After spreading symbols, should be zero again\n if (sympos)\n err(0);\n for (i = 0; i < sz; ++i) {\n // next state\n var ns = dstate[syms[i]]++;\n // num bits\n var nb = nbits[i] = al - msb(ns);\n nstate[i] = (ns << nb) - sz;\n }\n return [(tpos + 7) >> 3, {\n b: al,\n s: syms,\n n: nbits,\n t: nstate\n }];\n};\n// read huffman\nvar rhu = function (dat, bt) {\n // index weight count\n var i = 0, wc = -1;\n // buffer header byte\n var buf = new u8(292), hb = dat[bt];\n // huffman weights\n var hw = buf.subarray(0, 256);\n // rank count\n var rc = buf.subarray(256, 268);\n // rank index\n var ri = new u16(buf.buffer, 268);\n // NOTE: at this point bt is 1 less than expected\n if (hb < 128) {\n // end byte, fse decode table\n var _a = rfse(dat, bt + 1, 6), ebt = _a[0], fdt = _a[1];\n bt += hb;\n var epos = ebt << 3;\n // last byte\n var lb = dat[bt];\n if (!lb)\n err(0);\n // state1 state2 state1 bits state2 bits\n var st1 = 0, st2 = 0, btr1 = fdt.b, btr2 = btr1;\n // fse pos\n // pre-increment to account for original deficit of 1\n var fpos = (++bt << 3) - 8 + msb(lb);\n for (;;) {\n fpos -= btr1;\n if (fpos < epos)\n break;\n var cbt = fpos >> 3;\n st1 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr1) - 1);\n hw[++wc] = fdt.s[st1];\n fpos -= btr2;\n if (fpos < epos)\n break;\n cbt = fpos >> 3;\n st2 += ((dat[cbt] | (dat[cbt + 1] << 8)) >> (fpos & 7)) & ((1 << btr2) - 1);\n hw[++wc] = fdt.s[st2];\n btr1 = fdt.n[st1];\n st1 = fdt.t[st1];\n btr2 = fdt.n[st2];\n st2 = fdt.t[st2];\n }\n if (++wc > 255)\n err(0);\n }\n else {\n wc = hb - 127;\n for (; i < wc; i += 2) {\n var byte = dat[++bt];\n hw[i] = byte >> 4;\n hw[i + 1] = byte & 15;\n }\n ++bt;\n }\n // weight exponential sum\n var wes = 0;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n // bits must be at most 11, same as weight\n if (wt > 11)\n err(0);\n wes += wt && (1 << (wt - 1));\n }\n // max bits\n var mb = msb(wes) + 1;\n // table size\n var ts = 1 << mb;\n // remaining sum\n var rem = ts - wes;\n // must be power of 2\n if (rem & (rem - 1))\n err(0);\n hw[wc++] = msb(rem) + 1;\n for (i = 0; i < wc; ++i) {\n var wt = hw[i];\n ++rc[hw[i] = wt && (mb + 1 - wt)];\n }\n // huf buf\n var hbuf = new u8(ts << 1);\n // symbols num bits\n var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);\n ri[mb] = 0;\n for (i = mb; i > 0; --i) {\n var pv = ri[i];\n fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << (mb - i)));\n }\n if (ri[0] != ts)\n err(0);\n for (i = 0; i < wc; ++i) {\n var bits = hw[i];\n if (bits) {\n var code = ri[bits];\n fill(syms, i, code, ri[bits] = code + (1 << (mb - bits)));\n }\n }\n return [bt, {\n n: nb,\n b: mb,\n s: syms\n }];\n};\n// Tables generated using this:\n// https://gist.github.com/101arrowz/a979452d4355992cbf8f257cbffc9edd\n// default literal length table\nvar dllt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 81, 16, 99, 140, 49, 198, 24, 99, 12, 33, 196, 24, 99, 102, 102, 134, 70, 146, 4\n]), 0, 6)[1];\n// default match length table\nvar dmlt = /*#__PURE__*/ rfse(/*#__PURE__*/ new u8([\n 33, 20, 196, 24, 99, 140, 33, 132, 16, 66, 8, 33, 132, 16, 66, 8, 33, 68, 68, 68, 68, 68, 68, 68, 68, 36, 9\n]), 0, 6)[1];\n// default offset code table\nvar doct = /*#__PURE__ */ rfse(/*#__PURE__*/ new u8([\n 32, 132, 16, 66, 102, 70, 68, 68, 68, 68, 36, 73, 2\n]), 0, 5)[1];\n// bits to baseline\nvar b2bl = function (b, s) {\n var len = b.length, bl = new i32(len);\n for (var i = 0; i < len; ++i) {\n bl[i] = s;\n s += 1 << b[i];\n }\n return bl;\n};\n// literal length bits\nvar llb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 16843009, 50528770, 134678020, 202050057, 269422093\n])).buffer, 0, 36);\n// literal length baseline\nvar llbl = /*#__PURE__ */ b2bl(llb, 0);\n// match length bits\nvar mlb = /*#__PURE__ */ new u8(( /*#__PURE__ */new i32([\n 0, 0, 0, 0, 0, 0, 0, 0, 16843009, 50528770, 117769220, 185207048, 252579084, 16\n])).buffer, 0, 53);\n// match length baseline\nvar mlbl = /*#__PURE__ */ b2bl(mlb, 3);\n// decode huffman stream\nvar dhu = function (dat, out, hu) {\n var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;\n if (!lb)\n err(0);\n var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;\n for (; pos > eb && i < ss;) {\n var cbt = pos >> 3;\n var val = (dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (pos & 7);\n st = ((st << btr) | val) & msk;\n out[++i] = hu.s[st];\n pos -= (btr = hu.n[st]);\n }\n if (pos != eb || i + 1 != ss)\n err(0);\n};\n// decode huffman stream 4x\n// TODO: use workers to parallelize\nvar dhu4 = function (dat, out, hu) {\n var bt = 6;\n var ss = out.length, sz1 = (ss + 3) >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;\n dhu(dat.subarray(bt, bt += dat[0] | (dat[1] << 8)), out.subarray(0, sz1), hu);\n dhu(dat.subarray(bt, bt += dat[2] | (dat[3] << 8)), out.subarray(sz1, sz2), hu);\n dhu(dat.subarray(bt, bt += dat[4] | (dat[5] << 8)), out.subarray(sz2, sz3), hu);\n dhu(dat.subarray(bt), out.subarray(sz3), hu);\n};\n// read Zstandard block\nvar rzb = function (dat, st, out) {\n var _a;\n var bt = st.b;\n // byte 0 block type\n var b0 = dat[bt], btype = (b0 >> 1) & 3;\n st.l = b0 & 1;\n var sz = (b0 >> 3) | (dat[bt + 1] << 5) | (dat[bt + 2] << 13);\n // end byte for block\n var ebt = (bt += 3) + sz;\n if (btype == 1) {\n if (bt >= dat.length)\n return;\n st.b = bt + 1;\n if (out) {\n fill(out, dat[bt], st.y, st.y += sz);\n return out;\n }\n return fill(new u8(sz), dat[bt]);\n }\n if (ebt > dat.length)\n return;\n if (btype == 0) {\n st.b = ebt;\n if (out) {\n out.set(dat.subarray(bt, ebt), st.y);\n st.y += sz;\n return out;\n }\n return slc(dat, bt, ebt);\n }\n if (btype == 2) {\n // byte 3 lit btype size format\n var b3 = dat[bt], lbt = b3 & 3, sf = (b3 >> 2) & 3;\n // lit src size lit cmp sz 4 streams\n var lss = b3 >> 4, lcs = 0, s4 = 0;\n if (lbt < 2) {\n if (sf & 1)\n lss |= (dat[++bt] << 4) | ((sf & 2) && (dat[++bt] << 12));\n else\n lss = b3 >> 3;\n }\n else {\n s4 = sf;\n if (sf < 2)\n lss |= ((dat[++bt] & 63) << 4), lcs = (dat[bt] >> 6) | (dat[++bt] << 2);\n else if (sf == 2)\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 3) << 12), lcs = (dat[bt] >> 2) | (dat[++bt] << 6);\n else\n lss |= (dat[++bt] << 4) | ((dat[++bt] & 63) << 12), lcs = (dat[bt] >> 6) | (dat[++bt] << 2) | (dat[++bt] << 10);\n }\n ++bt;\n // add literals to end - can never overlap with backreferences because unused literals always appended\n var buf = out ? out.subarray(st.y, st.y + st.m) : new u8(st.m);\n // starting point for literals\n var spl = buf.length - lss;\n if (lbt == 0)\n buf.set(dat.subarray(bt, bt += lss), spl);\n else if (lbt == 1)\n fill(buf, dat[bt++], spl);\n else {\n // huffman table\n var hu = st.h;\n if (lbt == 2) {\n var hud = rhu(dat, bt);\n // subtract description length\n lcs += bt - (bt = hud[0]);\n st.h = hu = hud[1];\n }\n else if (!hu)\n err(0);\n (s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);\n }\n // num sequences\n var ns = dat[bt++];\n if (ns) {\n if (ns == 255)\n ns = (dat[bt++] | (dat[bt++] << 8)) + 0x7F00;\n else if (ns > 127)\n ns = ((ns - 128) << 8) | dat[bt++];\n // symbol compression modes\n var scm = dat[bt++];\n if (scm & 3)\n err(0);\n var dts = [dmlt, doct, dllt];\n for (var i = 2; i > -1; --i) {\n var md = (scm >> ((i << 1) + 2)) & 3;\n if (md == 1) {\n // rle buf\n var rbuf = new u8([0, 0, dat[bt++]]);\n dts[i] = {\n s: rbuf.subarray(2, 3),\n n: rbuf.subarray(0, 1),\n t: new u16(rbuf.buffer, 0, 1),\n b: 0\n };\n }\n else if (md == 2) {\n // accuracy log 8 for offsets, 9 for others\n _a = rfse(dat, bt, 9 - (i & 1)), bt = _a[0], dts[i] = _a[1];\n }\n else if (md == 3) {\n if (!st.t)\n err(0);\n dts[i] = st.t[i];\n }\n }\n var _b = st.t = dts, mlt = _b[0], oct = _b[1], llt = _b[2];\n var lb = dat[ebt - 1];\n if (!lb)\n err(0);\n var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;\n var lst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << llt.b) - 1);\n cbt = (spos -= oct.b) >> 3;\n var ost = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << oct.b) - 1);\n cbt = (spos -= mlt.b) >> 3;\n var mst = ((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mlt.b) - 1);\n for (++ns; --ns;) {\n var llc = llt.s[lst];\n var lbtr = llt.n[lst];\n var mlc = mlt.s[mst];\n var mbtr = mlt.n[mst];\n var ofc = oct.s[ost];\n var obtr = oct.n[ost];\n cbt = (spos -= ofc) >> 3;\n var ofp = 1 << ofc;\n var off = ofp + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16) | (dat[cbt + 3] << 24)) >>> (spos & 7)) & (ofp - 1));\n cbt = (spos -= mlb[mlc]) >> 3;\n var ml = mlbl[mlc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << mlb[mlc]) - 1));\n cbt = (spos -= llb[llc]) >> 3;\n var ll = llbl[llc] + (((dat[cbt] | (dat[cbt + 1] << 8) | (dat[cbt + 2] << 16)) >> (spos & 7)) & ((1 << llb[llc]) - 1));\n cbt = (spos -= lbtr) >> 3;\n lst = llt.t[lst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << lbtr) - 1));\n cbt = (spos -= mbtr) >> 3;\n mst = mlt.t[mst] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << mbtr) - 1));\n cbt = (spos -= obtr) >> 3;\n ost = oct.t[ost] + (((dat[cbt] | (dat[cbt + 1] << 8)) >> (spos & 7)) & ((1 << obtr) - 1));\n if (off > 3) {\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off -= 3;\n }\n else {\n var idx = off - (ll != 0);\n if (idx) {\n off = idx == 3 ? st.o[0] - 1 : st.o[idx];\n if (idx > 1)\n st.o[2] = st.o[1];\n st.o[1] = st.o[0];\n st.o[0] = off;\n }\n else\n off = st.o[0];\n }\n for (var i = 0; i < ll; ++i) {\n buf[oubt + i] = buf[spl + i];\n }\n oubt += ll, spl += ll;\n var stin = oubt - off;\n if (stin < 0) {\n var len = -stin;\n var bs = st.e + stin;\n if (len > ml)\n len = ml;\n for (var i = 0; i < len; ++i) {\n buf[oubt + i] = st.w[bs + i];\n }\n oubt += len, ml -= len, stin = 0;\n }\n for (var i = 0; i < ml; ++i) {\n buf[oubt + i] = buf[stin + i];\n }\n oubt += ml;\n }\n if (oubt != spl) {\n while (spl < buf.length) {\n buf[oubt++] = buf[spl++];\n }\n }\n else\n oubt = buf.length;\n if (out)\n st.y += oubt;\n else\n buf = slc(buf, 0, oubt);\n }\n else {\n if (out) {\n st.y += lss;\n if (spl) {\n for (var i = 0; i < lss; ++i) {\n buf[i] = buf[spl + i];\n }\n }\n }\n else if (spl)\n buf = slc(buf, spl);\n }\n st.b = ebt;\n return buf;\n }\n err(2);\n};\n// concat\nvar cct = function (bufs, ol) {\n if (bufs.length == 1)\n return bufs[0];\n var buf = new u8(ol);\n for (var i = 0, b = 0; i < bufs.length; ++i) {\n var chk = bufs[i];\n buf.set(chk, b);\n b += chk.length;\n }\n return buf;\n};\n/**\n * Decompresses Zstandard data\n * @param dat The input data\n * @param buf The output buffer. If unspecified, the function will allocate\n * exactly enough memory to fit the decompressed data. If your\n * data has multiple frames and you know the output size, specifying\n * it will yield better performance.\n * @returns The decompressed data\n */\nexport function decompress(dat, buf) {\n var bt = 0, bufs = [], nb = +!buf, ol = 0;\n for (; dat.length;) {\n var st = rzfh(dat, nb || buf);\n if (typeof st == 'object') {\n if (nb) {\n buf = null;\n if (st.w.length == st.u) {\n bufs.push(buf = st.w);\n ol += st.u;\n }\n }\n else {\n bufs.push(buf);\n st.e = 0;\n }\n for (; !st.l;) {\n var blk = rzb(dat, st, buf);\n if (!blk)\n err(5);\n if (buf)\n st.e = st.y;\n else {\n bufs.push(blk);\n ol += blk.length;\n cpw(st.w, 0, blk.length);\n st.w.set(blk, st.w.length - blk.length);\n }\n }\n bt = st.b + (st.c * 4);\n }\n else\n bt = st;\n dat = dat.subarray(bt);\n }\n return cct(bufs, ol);\n}\n/**\n * Decompressor for Zstandard streamed data\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a Zstandard decompressor\n * @param ondata The handler for stream data\n */\n function Decompress(ondata) {\n this.ondata = ondata;\n this.c = [];\n this.l = 0;\n this.z = 0;\n }\n /**\n * Pushes data to be decompressed\n * @param chunk The chunk of data to push\n * @param final Whether or not this is the last chunk in the stream\n */\n Decompress.prototype.push = function (chunk, final) {\n if (typeof this.s == 'number') {\n var sub = Math.min(chunk.length, this.s);\n chunk = chunk.subarray(sub);\n this.s -= sub;\n }\n var sl = chunk.length;\n var ncs = sl + this.l;\n if (!this.s) {\n if (final) {\n if (!ncs)\n return;\n // min for frame + one block\n if (ncs < 5)\n err(5);\n }\n else if (ncs < 18) {\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (typeof (this.s = rzfh(chunk)) == 'number')\n return this.push(chunk, final);\n }\n if (typeof this.s != 'number') {\n if (ncs < (this.z || 4)) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n if (this.l) {\n this.c.push(chunk);\n chunk = cct(this.c, ncs);\n this.c = [];\n this.l = 0;\n }\n if (!this.z && ncs < (this.z = (chunk[this.s.b] & 2) ? 5 : 4 + ((chunk[this.s.b] >> 3) | (chunk[this.s.b + 1] << 5) | (chunk[this.s.b + 2] << 13)))) {\n if (final)\n err(5);\n this.c.push(chunk);\n this.l = ncs;\n return;\n }\n else\n this.z = 0;\n for (;;) {\n var blk = rzb(chunk, this.s);\n if (!blk) {\n if (final)\n err(5);\n var adc = chunk.subarray(this.s.b);\n this.s.b = 0;\n this.c.push(adc), this.l += adc.length;\n return;\n }\n else {\n this.ondata(blk, false);\n cpw(this.s.w, 0, blk.length);\n this.s.w.set(blk, this.s.w.length - blk.length);\n }\n if (this.s.l) {\n var rest = chunk.subarray(this.s.b);\n this.s = this.s.c * 4;\n this.push(rest, final);\n return;\n }\n }\n }\n };\n return Decompress;\n}());\nexport { Decompress };\n","import { decompress } from \"fzstd\";\n\n// See: https://github.com/Equim-chan/base91\nconst table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~\"';\n\nfunction decode(raw: string): Uint8Array {\n const len = raw.length;\n const ret: number[] = [];\n\n let b = 0;\n let n = 0;\n let v = -1;\n\n for (let i = 0; i < len; i++) {\n const p = table.indexOf(raw[i]);\n /* istanbul ignore next */\n if (p === -1) continue;\n if (v < 0) {\n v = p;\n } else {\n v += p * 91;\n b |= v << n;\n n += (v & 8191) > 88 ? 13 : 14;\n do {\n ret.push(b & 0xff);\n b >>= 8;\n n -= 8;\n } while (n > 7);\n v = -1;\n }\n }\n\n if (v > -1) {\n ret.push((b | v << n) & 0xff);\n }\n\n return new Uint8Array(ret);\n}\n\nexport function extract(raw: string): Uint8Array {\n const compressed = decode(raw);\n return decompress(compressed);\n}\n","\nvar cpp = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory=\"\";function locateFile(path){return scriptDirectory+path}var readAsync,readBinary;{}var out=console.log.bind(console);var err=console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){callRuntimeCallbacks(__ATPOSTRUN__)}function addOnInit(cb){__ATINIT__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++}function removeRunDependency(id){runDependencies--;if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith(\"file://\");var wasmBinaryFile;wasmBinaryFile=\"base91lib.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports[\"c\"];updateMemoryViews();addOnInit(wasmExports[\"d\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var _abort=()=>{abort(\"\")};var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\";var wasmImports={a:_abort,b:_emscripten_resize_heap};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"d\"])();var _webidl_free=Module[\"_webidl_free\"]=a0=>(_webidl_free=Module[\"_webidl_free\"]=wasmExports[\"e\"])(a0);var _webidl_malloc=Module[\"_webidl_malloc\"]=a0=>(_webidl_malloc=Module[\"_webidl_malloc\"]=wasmExports[\"f\"])(a0);var _emscripten_bind_VoidPtr___destroy___0=Module[\"_emscripten_bind_VoidPtr___destroy___0\"]=a0=>(_emscripten_bind_VoidPtr___destroy___0=Module[\"_emscripten_bind_VoidPtr___destroy___0\"]=wasmExports[\"g\"])(a0);var _emscripten_bind_CBasE91_CBasE91_0=Module[\"_emscripten_bind_CBasE91_CBasE91_0\"]=()=>(_emscripten_bind_CBasE91_CBasE91_0=Module[\"_emscripten_bind_CBasE91_CBasE91_0\"]=wasmExports[\"h\"])();var _emscripten_bind_CBasE91_malloc_1=Module[\"_emscripten_bind_CBasE91_malloc_1\"]=(a0,a1)=>(_emscripten_bind_CBasE91_malloc_1=Module[\"_emscripten_bind_CBasE91_malloc_1\"]=wasmExports[\"i\"])(a0,a1);var _emscripten_bind_CBasE91_free_1=Module[\"_emscripten_bind_CBasE91_free_1\"]=(a0,a1)=>(_emscripten_bind_CBasE91_free_1=Module[\"_emscripten_bind_CBasE91_free_1\"]=wasmExports[\"j\"])(a0,a1);var _emscripten_bind_CBasE91_version_0=Module[\"_emscripten_bind_CBasE91_version_0\"]=a0=>(_emscripten_bind_CBasE91_version_0=Module[\"_emscripten_bind_CBasE91_version_0\"]=wasmExports[\"k\"])(a0);var _emscripten_bind_CBasE91_reset_0=Module[\"_emscripten_bind_CBasE91_reset_0\"]=a0=>(_emscripten_bind_CBasE91_reset_0=Module[\"_emscripten_bind_CBasE91_reset_0\"]=wasmExports[\"l\"])(a0);var _emscripten_bind_CBasE91_encode_3=Module[\"_emscripten_bind_CBasE91_encode_3\"]=(a0,a1,a2,a3)=>(_emscripten_bind_CBasE91_encode_3=Module[\"_emscripten_bind_CBasE91_encode_3\"]=wasmExports[\"m\"])(a0,a1,a2,a3);var _emscripten_bind_CBasE91_encode_end_1=Module[\"_emscripten_bind_CBasE91_encode_end_1\"]=(a0,a1)=>(_emscripten_bind_CBasE91_encode_end_1=Module[\"_emscripten_bind_CBasE91_encode_end_1\"]=wasmExports[\"n\"])(a0,a1);var _emscripten_bind_CBasE91_decode_3=Module[\"_emscripten_bind_CBasE91_decode_3\"]=(a0,a1,a2,a3)=>(_emscripten_bind_CBasE91_decode_3=Module[\"_emscripten_bind_CBasE91_decode_3\"]=wasmExports[\"o\"])(a0,a1,a2,a3);var _emscripten_bind_CBasE91_decode_end_1=Module[\"_emscripten_bind_CBasE91_decode_end_1\"]=(a0,a1)=>(_emscripten_bind_CBasE91_decode_end_1=Module[\"_emscripten_bind_CBasE91_decode_end_1\"]=wasmExports[\"p\"])(a0,a1);var _emscripten_bind_CBasE91___destroy___0=Module[\"_emscripten_bind_CBasE91___destroy___0\"]=a0=>(_emscripten_bind_CBasE91___destroy___0=Module[\"_emscripten_bind_CBasE91___destroy___0\"]=wasmExports[\"q\"])(a0);var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();Module[\"UTF8ToString\"]=UTF8ToString;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);postRun()}{doRun()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module[\"WrapperObject\"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module[\"getCache\"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module[\"wrapPointer\"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module[\"castObject\"]=castObject;Module[\"NULL\"]=wrapPointer(0);function destroy(obj){if(!obj[\"__destroy__\"])throw\"Error: Cannot destroy object. (Did you create it yourself?)\";obj[\"__destroy__\"]();delete getCache(obj.__class__)[obj.ptr]}Module[\"destroy\"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module[\"compare\"]=compare;function getPointer(obj){return obj.ptr}Module[\"getPointer\"]=getPointer;function getClass(obj){return obj.__class__}Module[\"getClass\"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module[\"_webidl_malloc\"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i;\n\n/**\n * Base 91 WASM library, similar to Base 64 but uses more characters resulting in smaller strings.\n * \n * See [Base91](https://base91.sourceforge.net/) for more details.\n *\n * ```ts\n * import { Base91 } from \"@hpcc-js/wasm/base91\";\n * \n * const base91 = await Base91.load();\n * \n * const encoded_data = await base91.encode(data);\n * const decoded_data = await base91.decode(encoded_data);\n * ```\n */\nexport class Base91 extends WasmLibrary {\n\n private constructor(_module: any) {\n super(_module, new _module.CBasE91());\n }\n\n /**\n * Compiles and instantiates the raw wasm.\n * \n * ::: info\n * In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing `load` to be asynchronous;\n * :::\n * \n * @returns A promise to an instance of the Base91 class.\n */\n static load(): Promise {\n if (!g_base91) {\n g_base91 = loadWasm().then((module: any) => {\n return new Base91(module)\n });\n }\n return g_base91;\n }\n\n /**\n * Unloades the compiled wasm instance.\n */\n static unload() {\n unloadWasm();\n }\n\n /**\n * @returns The Base91 c++ version\n */\n version(): string {\n return this._exports.version();\n }\n\n /**\n * @param data Data to encode.\n * @returns string containing the Base 91 encoded data\n */\n encode(data: Uint8Array): string {\n this._exports.reset();\n\n const unencoded = this.uint8_heapu8(data);\n const encoded = this.malloc_heapu8(unencoded.size + Math.ceil(unencoded.size / 4));\n\n encoded.size = this._exports.encode(unencoded.ptr, unencoded.size, encoded.ptr);\n let retVal = this.heapu8_string(encoded);\n encoded.size = this._exports.encode_end(encoded.ptr);\n retVal += this.heapu8_string(encoded);\n\n this.free_heapu8(encoded);\n this.free_heapu8(unencoded);\n return retVal;\n }\n\n /**\n * \n * @param base91Str encoded string\n * @returns origonal data\n */\n decode(base91Str: string): Uint8Array {\n this._exports.reset();\n\n const encoded = this.string_heapu8(base91Str);\n const unencoded = this.malloc_heapu8(encoded.size);\n\n unencoded.size = this._exports.decode(encoded.ptr, encoded.size, unencoded.ptr);\n let retVal = this.heapu8_uint8(unencoded);\n unencoded.size = this._exports.decode_end(unencoded.ptr);\n retVal = new Uint8Array([...retVal, ...this.heapu8_view(unencoded)]);\n\n this.free_heapu8(unencoded);\n this.free_heapu8(encoded);\n return retVal;\n }\n}\n","export type PTR = number;\nexport interface HeapU8 {\n ptr: PTR;\n size: number;\n}\n\n/**\n * Base class to simplify moving data into and out of Wasm memory.\n */\nexport class WasmLibrary {\n\n protected _module: any;\n protected _exports: any;\n\n protected constructor(_module: any, _export: any) {\n this._module = _module;\n this._exports = _export;\n }\n\n protected malloc_heapu8(size: number): HeapU8 {\n const ptr: PTR = this._exports.malloc(size);\n return {\n ptr,\n size\n };\n }\n\n protected free_heapu8(data: HeapU8) {\n this._exports.free(data.ptr);\n }\n\n protected uint8_heapu8(data: Uint8Array): HeapU8 {\n const retVal = this.malloc_heapu8(data.byteLength);\n this._module.HEAPU8.set(data, retVal.ptr);\n return retVal;\n }\n\n protected heapu8_view(data: HeapU8): Uint8Array {\n return this._module.HEAPU8.subarray(data.ptr, data.ptr + data.size);\n }\n\n protected heapu8_uint8(data: HeapU8): Uint8Array {\n return new Uint8Array([...this.heapu8_view(data)]);\n }\n\n protected string_heapu8(str: string): HeapU8 {\n const data = Uint8Array.from(str, x => x.charCodeAt(0));\n return this.uint8_heapu8(data);\n }\n\n protected heapu8_string(data: HeapU8): string {\n const retVal = Array.from({ length: data.size });\n const submodule = this._module.HEAPU8.subarray(data.ptr, data.ptr + data.size);\n submodule.forEach((c: number, i: number) => {\n retVal[i] = String.fromCharCode(c);\n });\n return retVal.join(\"\");\n }\n}\n"],"names":["ab","ArrayBuffer","u8","Uint8Array","u16","Uint16Array","i16","Int16Array","i32","Int32Array","slc","v","s","e","prototype","slice","call","length","n","set","subarray","fill","cpw","t","copyWithin","ec","err","ind","msg","nt","Error","code","captureStackTrace","rb","d","b","i","o","rzfh","dat","w","n3","flg","ss","cc","df","fcf","bt","db","di","fsb","fss","ws","wb","buf","y","l","buffer","u","c","m","Math","min","msb","val","bits","rfse","mal","tpos","al","sz","probs","sym","re","ht","freq","dstate","nstate","bb1","syms","nbits","cbt","msk","msk1fb","msv","sval","rbt","sympos","sstep","smask","sf","ns","nb","dllt","dmlt","doct","b2bl","len","bl","llb","llbl","mlb","mlbl","dhu","out","hu","lb","eb","st","btr","pos","dhu4","sz1","sz2","sz3","rzb","_a","b0","btype","ebt","b3","lbt","lss","lcs","s4","spl","h","hud","wc","hb","hw","rc","ri","fdt","epos","st1","st2","btr1","btr2","fpos","byte","wes","wt","mb","ts","rem","hbuf","pv","rhu","scm","dts","md","rbuf","_b","mlt","oct","llt","spos","oubt","lst","ost","mst","llc","lbtr","mlc","mbtr","ofc","obtr","ofp","off","ml","ll","idx","stin","bs","cct","bufs","ol","chk","table","extract","raw","compressed","ret","p","indexOf","push","decode","blk","decompress","cpp","document","currentScript","src","moduleArg","readyPromiseResolve","readyPromiseReject","Module","Promise","resolve","reject","moduleOverrides","Object","assign","ENVIRONMENT_IS_WORKER","console","log","bind","wasmBinary","wasmMemory","error","WebAssembly","abort","HEAPU8","ABORT","updateMemoryViews","Int8Array","Uint32Array","Float32Array","Float64Array","__ATPRERUN__","__ATINIT__","__ATPOSTRUN__","runDependencies","dependenciesFulfilled","what","RuntimeError","wasmBinaryFile","isDataURI","filename","startsWith","isFileURI","getBinarySync","file","instantiateArrayBuffer","binaryFile","imports","receiver","fetch","then","credentials","response","catch","getBinaryPromise","binary","instantiate","instance","reason","callRuntimeCallbacks","callbacks","shift","growMemory","size","pages","byteLength","grow","UTF8Decoder","TextDecoder","undefined","UTF8ToString","ptr","maxBytesToRead","heapOrArray","endIdx","endPtr","str","u0","u1","u2","String","fromCharCode","ch","UTF8ArrayToString","wasmImports","a","requestedSize","oldSize","maxHeapSize","x","multiple","cutDown","overGrownHeapSize","newSize","max","wasmExports","callback","receiveInstance","module","cb","exports","unshift","id","removeRunDependency","result","instantiateStreaming","createWasm","a0","calledRun","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_CBasE91_CBasE91_0","_emscripten_bind_CBasE91_malloc_1","a1","_emscripten_bind_CBasE91_free_1","_emscripten_bind_CBasE91_version_0","_emscripten_bind_CBasE91_reset_0","_emscripten_bind_CBasE91_encode_3","a2","a3","_emscripten_bind_CBasE91_encode_end_1","_emscripten_bind_CBasE91_decode_3","_emscripten_bind_CBasE91_decode_end_1","_emscripten_bind_CBasE91___destroy___0","run","WrapperObject","getCache","__class__","__cache__","wrapPointer","cache","create","VoidPtr","CBasE91","this","runCaller","constructor","obj","obj1","obj2","__destroy__","self","malloc","free","version","reset","encode","data","dataLen","dataOut","encode_end","decode_end","ready","g_module","g_wasmBinary","g_base91","WasmLibrary","_module","_export","_exports","malloc_heapu8","free_heapu8","uint8_heapu8","retVal","heapu8_view","heapu8_uint8","string_heapu8","from","charCodeAt","heapu8_string","Array","forEach","join","Base91","super","load","wrapper","locateFile","unload","unencoded","encoded","ceil","base91Str"],"mappings":"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","x_google_ignoreList":[0]}