@datapos/datapos-tool-csv-parse 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3340 @@
1
+ var ie = typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {}, P = [], F = [], Qt = typeof Uint8Array < "u" ? Uint8Array : Array, je = !1;
2
+ function lt() {
3
+ je = !0;
4
+ for (var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", e = 0, r = t.length; e < r; ++e)
5
+ P[e] = t[e], F[t.charCodeAt(e)] = e;
6
+ F[45] = 62, F[95] = 63;
7
+ }
8
+ function Ht(t) {
9
+ je || lt();
10
+ var e, r, n, i, o, s, f = t.length;
11
+ if (f % 4 > 0)
12
+ throw new Error("Invalid string. Length must be a multiple of 4");
13
+ o = t[f - 2] === "=" ? 2 : t[f - 1] === "=" ? 1 : 0, s = new Qt(f * 3 / 4 - o), n = o > 0 ? f - 4 : f;
14
+ var l = 0;
15
+ for (e = 0, r = 0; e < n; e += 4, r += 3)
16
+ i = F[t.charCodeAt(e)] << 18 | F[t.charCodeAt(e + 1)] << 12 | F[t.charCodeAt(e + 2)] << 6 | F[t.charCodeAt(e + 3)], s[l++] = i >> 16 & 255, s[l++] = i >> 8 & 255, s[l++] = i & 255;
17
+ return o === 2 ? (i = F[t.charCodeAt(e)] << 2 | F[t.charCodeAt(e + 1)] >> 4, s[l++] = i & 255) : o === 1 && (i = F[t.charCodeAt(e)] << 10 | F[t.charCodeAt(e + 1)] << 4 | F[t.charCodeAt(e + 2)] >> 2, s[l++] = i >> 8 & 255, s[l++] = i & 255), s;
18
+ }
19
+ function Gt(t) {
20
+ return P[t >> 18 & 63] + P[t >> 12 & 63] + P[t >> 6 & 63] + P[t & 63];
21
+ }
22
+ function Zt(t, e, r) {
23
+ for (var n, i = [], o = e; o < r; o += 3)
24
+ n = (t[o] << 16) + (t[o + 1] << 8) + t[o + 2], i.push(Gt(n));
25
+ return i.join("");
26
+ }
27
+ function He(t) {
28
+ je || lt();
29
+ for (var e, r = t.length, n = r % 3, i = "", o = [], s = 16383, f = 0, l = r - n; f < l; f += s)
30
+ o.push(Zt(t, f, f + s > l ? l : f + s));
31
+ return n === 1 ? (e = t[r - 1], i += P[e >> 2], i += P[e << 4 & 63], i += "==") : n === 2 && (e = (t[r - 2] << 8) + t[r - 1], i += P[e >> 10], i += P[e >> 4 & 63], i += P[e << 2 & 63], i += "="), o.push(i), o.join("");
32
+ }
33
+ function ve(t, e, r, n, i) {
34
+ var o, s, f = i * 8 - n - 1, l = (1 << f) - 1, u = l >> 1, h = -7, c = r ? i - 1 : 0, g = r ? -1 : 1, v = t[e + c];
35
+ for (c += g, o = v & (1 << -h) - 1, v >>= -h, h += f; h > 0; o = o * 256 + t[e + c], c += g, h -= 8)
36
+ ;
37
+ for (s = o & (1 << -h) - 1, o >>= -h, h += n; h > 0; s = s * 256 + t[e + c], c += g, h -= 8)
38
+ ;
39
+ if (o === 0)
40
+ o = 1 - u;
41
+ else {
42
+ if (o === l)
43
+ return s ? NaN : (v ? -1 : 1) * (1 / 0);
44
+ s = s + Math.pow(2, n), o = o - u;
45
+ }
46
+ return (v ? -1 : 1) * s * Math.pow(2, o - n);
47
+ }
48
+ function ut(t, e, r, n, i, o) {
49
+ var s, f, l, u = o * 8 - i - 1, h = (1 << u) - 1, c = h >> 1, g = i === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, v = n ? 0 : o - 1, A = n ? 1 : -1, x = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
50
+ for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (f = isNaN(e) ? 1 : 0, s = h) : (s = Math.floor(Math.log(e) / Math.LN2), e * (l = Math.pow(2, -s)) < 1 && (s--, l *= 2), s + c >= 1 ? e += g / l : e += g * Math.pow(2, 1 - c), e * l >= 2 && (s++, l /= 2), s + c >= h ? (f = 0, s = h) : s + c >= 1 ? (f = (e * l - 1) * Math.pow(2, i), s = s + c) : (f = e * Math.pow(2, c - 1) * Math.pow(2, i), s = 0)); i >= 8; t[r + v] = f & 255, v += A, f /= 256, i -= 8)
51
+ ;
52
+ for (s = s << i | f, u += i; u > 0; t[r + v] = s & 255, v += A, s /= 256, u -= 8)
53
+ ;
54
+ t[r + v - A] |= x * 128;
55
+ }
56
+ var Xt = {}.toString, ht = Array.isArray || function(t) {
57
+ return Xt.call(t) == "[object Array]";
58
+ }, Kt = 50;
59
+ a.TYPED_ARRAY_SUPPORT = ie.TYPED_ARRAY_SUPPORT !== void 0 ? ie.TYPED_ARRAY_SUPPORT : !0;
60
+ _e();
61
+ function _e() {
62
+ return a.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
63
+ }
64
+ function q(t, e) {
65
+ if (_e() < e)
66
+ throw new RangeError("Invalid typed array length");
67
+ return a.TYPED_ARRAY_SUPPORT ? (t = new Uint8Array(e), t.__proto__ = a.prototype) : (t === null && (t = new a(e)), t.length = e), t;
68
+ }
69
+ function a(t, e, r) {
70
+ if (!a.TYPED_ARRAY_SUPPORT && !(this instanceof a))
71
+ return new a(t, e, r);
72
+ if (typeof t == "number") {
73
+ if (typeof e == "string")
74
+ throw new Error(
75
+ "If encoding is specified then the first argument must be a string"
76
+ );
77
+ return $e(this, t);
78
+ }
79
+ return ct(this, t, e, r);
80
+ }
81
+ a.poolSize = 8192;
82
+ a._augment = function(t) {
83
+ return t.__proto__ = a.prototype, t;
84
+ };
85
+ function ct(t, e, r, n) {
86
+ if (typeof e == "number")
87
+ throw new TypeError('"value" argument must not be a number');
88
+ return typeof ArrayBuffer < "u" && e instanceof ArrayBuffer ? rr(t, e, r, n) : typeof e == "string" ? tr(t, e, r) : nr(t, e);
89
+ }
90
+ a.from = function(t, e, r) {
91
+ return ct(null, t, e, r);
92
+ };
93
+ a.TYPED_ARRAY_SUPPORT && (a.prototype.__proto__ = Uint8Array.prototype, a.__proto__ = Uint8Array, typeof Symbol < "u" && Symbol.species && a[Symbol.species]);
94
+ function dt(t) {
95
+ if (typeof t != "number")
96
+ throw new TypeError('"size" argument must be a number');
97
+ if (t < 0)
98
+ throw new RangeError('"size" argument must not be negative');
99
+ }
100
+ function er(t, e, r, n) {
101
+ return dt(e), e <= 0 ? q(t, e) : r !== void 0 ? typeof n == "string" ? q(t, e).fill(r, n) : q(t, e).fill(r) : q(t, e);
102
+ }
103
+ a.alloc = function(t, e, r) {
104
+ return er(null, t, e, r);
105
+ };
106
+ function $e(t, e) {
107
+ if (dt(e), t = q(t, e < 0 ? 0 : qe(e) | 0), !a.TYPED_ARRAY_SUPPORT)
108
+ for (var r = 0; r < e; ++r)
109
+ t[r] = 0;
110
+ return t;
111
+ }
112
+ a.allocUnsafe = function(t) {
113
+ return $e(null, t);
114
+ };
115
+ a.allocUnsafeSlow = function(t) {
116
+ return $e(null, t);
117
+ };
118
+ function tr(t, e, r) {
119
+ if ((typeof r != "string" || r === "") && (r = "utf8"), !a.isEncoding(r))
120
+ throw new TypeError('"encoding" must be a valid string encoding');
121
+ var n = pt(e, r) | 0;
122
+ t = q(t, n);
123
+ var i = t.write(e, r);
124
+ return i !== n && (t = t.slice(0, i)), t;
125
+ }
126
+ function Be(t, e) {
127
+ var r = e.length < 0 ? 0 : qe(e.length) | 0;
128
+ t = q(t, r);
129
+ for (var n = 0; n < r; n += 1)
130
+ t[n] = e[n] & 255;
131
+ return t;
132
+ }
133
+ function rr(t, e, r, n) {
134
+ if (e.byteLength, r < 0 || e.byteLength < r)
135
+ throw new RangeError("'offset' is out of bounds");
136
+ if (e.byteLength < r + (n || 0))
137
+ throw new RangeError("'length' is out of bounds");
138
+ return r === void 0 && n === void 0 ? e = new Uint8Array(e) : n === void 0 ? e = new Uint8Array(e, r) : e = new Uint8Array(e, r, n), a.TYPED_ARRAY_SUPPORT ? (t = e, t.__proto__ = a.prototype) : t = Be(t, e), t;
139
+ }
140
+ function nr(t, e) {
141
+ if (j(e)) {
142
+ var r = qe(e.length) | 0;
143
+ return t = q(t, r), t.length === 0 || e.copy(t, 0, 0, r), t;
144
+ }
145
+ if (e) {
146
+ if (typeof ArrayBuffer < "u" && e.buffer instanceof ArrayBuffer || "length" in e)
147
+ return typeof e.length != "number" || xr(e.length) ? q(t, 0) : Be(t, e);
148
+ if (e.type === "Buffer" && ht(e.data))
149
+ return Be(t, e.data);
150
+ }
151
+ throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
152
+ }
153
+ function qe(t) {
154
+ if (t >= _e())
155
+ throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + _e().toString(16) + " bytes");
156
+ return t | 0;
157
+ }
158
+ a.isBuffer = L;
159
+ function j(t) {
160
+ return !!(t != null && t._isBuffer);
161
+ }
162
+ a.compare = function(e, r) {
163
+ if (!j(e) || !j(r))
164
+ throw new TypeError("Arguments must be Buffers");
165
+ if (e === r) return 0;
166
+ for (var n = e.length, i = r.length, o = 0, s = Math.min(n, i); o < s; ++o)
167
+ if (e[o] !== r[o]) {
168
+ n = e[o], i = r[o];
169
+ break;
170
+ }
171
+ return n < i ? -1 : i < n ? 1 : 0;
172
+ };
173
+ a.isEncoding = function(e) {
174
+ switch (String(e).toLowerCase()) {
175
+ case "hex":
176
+ case "utf8":
177
+ case "utf-8":
178
+ case "ascii":
179
+ case "latin1":
180
+ case "binary":
181
+ case "base64":
182
+ case "ucs2":
183
+ case "ucs-2":
184
+ case "utf16le":
185
+ case "utf-16le":
186
+ return !0;
187
+ default:
188
+ return !1;
189
+ }
190
+ };
191
+ a.concat = function(e, r) {
192
+ if (!ht(e))
193
+ throw new TypeError('"list" argument must be an Array of Buffers');
194
+ if (e.length === 0)
195
+ return a.alloc(0);
196
+ var n;
197
+ if (r === void 0)
198
+ for (r = 0, n = 0; n < e.length; ++n)
199
+ r += e[n].length;
200
+ var i = a.allocUnsafe(r), o = 0;
201
+ for (n = 0; n < e.length; ++n) {
202
+ var s = e[n];
203
+ if (!j(s))
204
+ throw new TypeError('"list" argument must be an Array of Buffers');
205
+ s.copy(i, o), o += s.length;
206
+ }
207
+ return i;
208
+ };
209
+ function pt(t, e) {
210
+ if (j(t))
211
+ return t.length;
212
+ if (typeof ArrayBuffer < "u" && typeof ArrayBuffer.isView == "function" && (ArrayBuffer.isView(t) || t instanceof ArrayBuffer))
213
+ return t.byteLength;
214
+ typeof t != "string" && (t = "" + t);
215
+ var r = t.length;
216
+ if (r === 0) return 0;
217
+ for (var n = !1; ; )
218
+ switch (e) {
219
+ case "ascii":
220
+ case "latin1":
221
+ case "binary":
222
+ return r;
223
+ case "utf8":
224
+ case "utf-8":
225
+ case void 0:
226
+ return we(t).length;
227
+ case "ucs2":
228
+ case "ucs-2":
229
+ case "utf16le":
230
+ case "utf-16le":
231
+ return r * 2;
232
+ case "hex":
233
+ return r >>> 1;
234
+ case "base64":
235
+ return bt(t).length;
236
+ default:
237
+ if (n) return we(t).length;
238
+ e = ("" + e).toLowerCase(), n = !0;
239
+ }
240
+ }
241
+ a.byteLength = pt;
242
+ function ir(t, e, r) {
243
+ var n = !1;
244
+ if ((e === void 0 || e < 0) && (e = 0), e > this.length || ((r === void 0 || r > this.length) && (r = this.length), r <= 0) || (r >>>= 0, e >>>= 0, r <= e))
245
+ return "";
246
+ for (t || (t = "utf8"); ; )
247
+ switch (t) {
248
+ case "hex":
249
+ return pr(this, e, r);
250
+ case "utf8":
251
+ case "utf-8":
252
+ return _t(this, e, r);
253
+ case "ascii":
254
+ return cr(this, e, r);
255
+ case "latin1":
256
+ case "binary":
257
+ return dr(this, e, r);
258
+ case "base64":
259
+ return ur(this, e, r);
260
+ case "ucs2":
261
+ case "ucs-2":
262
+ case "utf16le":
263
+ case "utf-16le":
264
+ return mr(this, e, r);
265
+ default:
266
+ if (n) throw new TypeError("Unknown encoding: " + t);
267
+ t = (t + "").toLowerCase(), n = !0;
268
+ }
269
+ }
270
+ a.prototype._isBuffer = !0;
271
+ function K(t, e, r) {
272
+ var n = t[e];
273
+ t[e] = t[r], t[r] = n;
274
+ }
275
+ a.prototype.swap16 = function() {
276
+ var e = this.length;
277
+ if (e % 2 !== 0)
278
+ throw new RangeError("Buffer size must be a multiple of 16-bits");
279
+ for (var r = 0; r < e; r += 2)
280
+ K(this, r, r + 1);
281
+ return this;
282
+ };
283
+ a.prototype.swap32 = function() {
284
+ var e = this.length;
285
+ if (e % 4 !== 0)
286
+ throw new RangeError("Buffer size must be a multiple of 32-bits");
287
+ for (var r = 0; r < e; r += 4)
288
+ K(this, r, r + 3), K(this, r + 1, r + 2);
289
+ return this;
290
+ };
291
+ a.prototype.swap64 = function() {
292
+ var e = this.length;
293
+ if (e % 8 !== 0)
294
+ throw new RangeError("Buffer size must be a multiple of 64-bits");
295
+ for (var r = 0; r < e; r += 8)
296
+ K(this, r, r + 7), K(this, r + 1, r + 6), K(this, r + 2, r + 5), K(this, r + 3, r + 4);
297
+ return this;
298
+ };
299
+ a.prototype.toString = function() {
300
+ var e = this.length | 0;
301
+ return e === 0 ? "" : arguments.length === 0 ? _t(this, 0, e) : ir.apply(this, arguments);
302
+ };
303
+ a.prototype.equals = function(e) {
304
+ if (!j(e)) throw new TypeError("Argument must be a Buffer");
305
+ return this === e ? !0 : a.compare(this, e) === 0;
306
+ };
307
+ a.prototype.inspect = function() {
308
+ var e = "", r = Kt;
309
+ return this.length > 0 && (e = this.toString("hex", 0, r).match(/.{2}/g).join(" "), this.length > r && (e += " ... ")), "<Buffer " + e + ">";
310
+ };
311
+ a.prototype.compare = function(e, r, n, i, o) {
312
+ if (!j(e))
313
+ throw new TypeError("Argument must be a Buffer");
314
+ if (r === void 0 && (r = 0), n === void 0 && (n = e ? e.length : 0), i === void 0 && (i = 0), o === void 0 && (o = this.length), r < 0 || n > e.length || i < 0 || o > this.length)
315
+ throw new RangeError("out of range index");
316
+ if (i >= o && r >= n)
317
+ return 0;
318
+ if (i >= o)
319
+ return -1;
320
+ if (r >= n)
321
+ return 1;
322
+ if (r >>>= 0, n >>>= 0, i >>>= 0, o >>>= 0, this === e) return 0;
323
+ for (var s = o - i, f = n - r, l = Math.min(s, f), u = this.slice(i, o), h = e.slice(r, n), c = 0; c < l; ++c)
324
+ if (u[c] !== h[c]) {
325
+ s = u[c], f = h[c];
326
+ break;
327
+ }
328
+ return s < f ? -1 : f < s ? 1 : 0;
329
+ };
330
+ function mt(t, e, r, n, i) {
331
+ if (t.length === 0) return -1;
332
+ if (typeof r == "string" ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), r = +r, isNaN(r) && (r = i ? 0 : t.length - 1), r < 0 && (r = t.length + r), r >= t.length) {
333
+ if (i) return -1;
334
+ r = t.length - 1;
335
+ } else if (r < 0)
336
+ if (i) r = 0;
337
+ else return -1;
338
+ if (typeof e == "string" && (e = a.from(e, n)), j(e))
339
+ return e.length === 0 ? -1 : Ge(t, e, r, n, i);
340
+ if (typeof e == "number")
341
+ return e = e & 255, a.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf == "function" ? i ? Uint8Array.prototype.indexOf.call(t, e, r) : Uint8Array.prototype.lastIndexOf.call(t, e, r) : Ge(t, [e], r, n, i);
342
+ throw new TypeError("val must be string, number or Buffer");
343
+ }
344
+ function Ge(t, e, r, n, i) {
345
+ var o = 1, s = t.length, f = e.length;
346
+ if (n !== void 0 && (n = String(n).toLowerCase(), n === "ucs2" || n === "ucs-2" || n === "utf16le" || n === "utf-16le")) {
347
+ if (t.length < 2 || e.length < 2)
348
+ return -1;
349
+ o = 2, s /= 2, f /= 2, r /= 2;
350
+ }
351
+ function l(v, A) {
352
+ return o === 1 ? v[A] : v.readUInt16BE(A * o);
353
+ }
354
+ var u;
355
+ if (i) {
356
+ var h = -1;
357
+ for (u = r; u < s; u++)
358
+ if (l(t, u) === l(e, h === -1 ? 0 : u - h)) {
359
+ if (h === -1 && (h = u), u - h + 1 === f) return h * o;
360
+ } else
361
+ h !== -1 && (u -= u - h), h = -1;
362
+ } else
363
+ for (r + f > s && (r = s - f), u = r; u >= 0; u--) {
364
+ for (var c = !0, g = 0; g < f; g++)
365
+ if (l(t, u + g) !== l(e, g)) {
366
+ c = !1;
367
+ break;
368
+ }
369
+ if (c) return u;
370
+ }
371
+ return -1;
372
+ }
373
+ a.prototype.includes = function(e, r, n) {
374
+ return this.indexOf(e, r, n) !== -1;
375
+ };
376
+ a.prototype.indexOf = function(e, r, n) {
377
+ return mt(this, e, r, n, !0);
378
+ };
379
+ a.prototype.lastIndexOf = function(e, r, n) {
380
+ return mt(this, e, r, n, !1);
381
+ };
382
+ function or(t, e, r, n) {
383
+ r = Number(r) || 0;
384
+ var i = t.length - r;
385
+ n ? (n = Number(n), n > i && (n = i)) : n = i;
386
+ var o = e.length;
387
+ if (o % 2 !== 0) throw new TypeError("Invalid hex string");
388
+ n > o / 2 && (n = o / 2);
389
+ for (var s = 0; s < n; ++s) {
390
+ var f = parseInt(e.substr(s * 2, 2), 16);
391
+ if (isNaN(f)) return s;
392
+ t[r + s] = f;
393
+ }
394
+ return s;
395
+ }
396
+ function sr(t, e, r, n) {
397
+ return Ee(we(e, t.length - r), t, r, n);
398
+ }
399
+ function gt(t, e, r, n) {
400
+ return Ee(vr(e), t, r, n);
401
+ }
402
+ function fr(t, e, r, n) {
403
+ return gt(t, e, r, n);
404
+ }
405
+ function ar(t, e, r, n) {
406
+ return Ee(bt(e), t, r, n);
407
+ }
408
+ function lr(t, e, r, n) {
409
+ return Ee(br(e, t.length - r), t, r, n);
410
+ }
411
+ a.prototype.write = function(e, r, n, i) {
412
+ if (r === void 0)
413
+ i = "utf8", n = this.length, r = 0;
414
+ else if (n === void 0 && typeof r == "string")
415
+ i = r, n = this.length, r = 0;
416
+ else if (isFinite(r))
417
+ r = r | 0, isFinite(n) ? (n = n | 0, i === void 0 && (i = "utf8")) : (i = n, n = void 0);
418
+ else
419
+ throw new Error(
420
+ "Buffer.write(string, encoding, offset[, length]) is no longer supported"
421
+ );
422
+ var o = this.length - r;
423
+ if ((n === void 0 || n > o) && (n = o), e.length > 0 && (n < 0 || r < 0) || r > this.length)
424
+ throw new RangeError("Attempt to write outside buffer bounds");
425
+ i || (i = "utf8");
426
+ for (var s = !1; ; )
427
+ switch (i) {
428
+ case "hex":
429
+ return or(this, e, r, n);
430
+ case "utf8":
431
+ case "utf-8":
432
+ return sr(this, e, r, n);
433
+ case "ascii":
434
+ return gt(this, e, r, n);
435
+ case "latin1":
436
+ case "binary":
437
+ return fr(this, e, r, n);
438
+ case "base64":
439
+ return ar(this, e, r, n);
440
+ case "ucs2":
441
+ case "ucs-2":
442
+ case "utf16le":
443
+ case "utf-16le":
444
+ return lr(this, e, r, n);
445
+ default:
446
+ if (s) throw new TypeError("Unknown encoding: " + i);
447
+ i = ("" + i).toLowerCase(), s = !0;
448
+ }
449
+ };
450
+ a.prototype.toJSON = function() {
451
+ return {
452
+ type: "Buffer",
453
+ data: Array.prototype.slice.call(this._arr || this, 0)
454
+ };
455
+ };
456
+ function ur(t, e, r) {
457
+ return e === 0 && r === t.length ? He(t) : He(t.slice(e, r));
458
+ }
459
+ function _t(t, e, r) {
460
+ r = Math.min(t.length, r);
461
+ for (var n = [], i = e; i < r; ) {
462
+ var o = t[i], s = null, f = o > 239 ? 4 : o > 223 ? 3 : o > 191 ? 2 : 1;
463
+ if (i + f <= r) {
464
+ var l, u, h, c;
465
+ switch (f) {
466
+ case 1:
467
+ o < 128 && (s = o);
468
+ break;
469
+ case 2:
470
+ l = t[i + 1], (l & 192) === 128 && (c = (o & 31) << 6 | l & 63, c > 127 && (s = c));
471
+ break;
472
+ case 3:
473
+ l = t[i + 1], u = t[i + 2], (l & 192) === 128 && (u & 192) === 128 && (c = (o & 15) << 12 | (l & 63) << 6 | u & 63, c > 2047 && (c < 55296 || c > 57343) && (s = c));
474
+ break;
475
+ case 4:
476
+ l = t[i + 1], u = t[i + 2], h = t[i + 3], (l & 192) === 128 && (u & 192) === 128 && (h & 192) === 128 && (c = (o & 15) << 18 | (l & 63) << 12 | (u & 63) << 6 | h & 63, c > 65535 && c < 1114112 && (s = c));
477
+ }
478
+ }
479
+ s === null ? (s = 65533, f = 1) : s > 65535 && (s -= 65536, n.push(s >>> 10 & 1023 | 55296), s = 56320 | s & 1023), n.push(s), i += f;
480
+ }
481
+ return hr(n);
482
+ }
483
+ var Ze = 4096;
484
+ function hr(t) {
485
+ var e = t.length;
486
+ if (e <= Ze)
487
+ return String.fromCharCode.apply(String, t);
488
+ for (var r = "", n = 0; n < e; )
489
+ r += String.fromCharCode.apply(
490
+ String,
491
+ t.slice(n, n += Ze)
492
+ );
493
+ return r;
494
+ }
495
+ function cr(t, e, r) {
496
+ var n = "";
497
+ r = Math.min(t.length, r);
498
+ for (var i = e; i < r; ++i)
499
+ n += String.fromCharCode(t[i] & 127);
500
+ return n;
501
+ }
502
+ function dr(t, e, r) {
503
+ var n = "";
504
+ r = Math.min(t.length, r);
505
+ for (var i = e; i < r; ++i)
506
+ n += String.fromCharCode(t[i]);
507
+ return n;
508
+ }
509
+ function pr(t, e, r) {
510
+ var n = t.length;
511
+ (!e || e < 0) && (e = 0), (!r || r < 0 || r > n) && (r = n);
512
+ for (var i = "", o = e; o < r; ++o)
513
+ i += yr(t[o]);
514
+ return i;
515
+ }
516
+ function mr(t, e, r) {
517
+ for (var n = t.slice(e, r), i = "", o = 0; o < n.length; o += 2)
518
+ i += String.fromCharCode(n[o] + n[o + 1] * 256);
519
+ return i;
520
+ }
521
+ a.prototype.slice = function(e, r) {
522
+ var n = this.length;
523
+ e = ~~e, r = r === void 0 ? n : ~~r, e < 0 ? (e += n, e < 0 && (e = 0)) : e > n && (e = n), r < 0 ? (r += n, r < 0 && (r = 0)) : r > n && (r = n), r < e && (r = e);
524
+ var i;
525
+ if (a.TYPED_ARRAY_SUPPORT)
526
+ i = this.subarray(e, r), i.__proto__ = a.prototype;
527
+ else {
528
+ var o = r - e;
529
+ i = new a(o, void 0);
530
+ for (var s = 0; s < o; ++s)
531
+ i[s] = this[s + e];
532
+ }
533
+ return i;
534
+ };
535
+ function O(t, e, r) {
536
+ if (t % 1 !== 0 || t < 0) throw new RangeError("offset is not uint");
537
+ if (t + e > r) throw new RangeError("Trying to access beyond buffer length");
538
+ }
539
+ a.prototype.readUIntLE = function(e, r, n) {
540
+ e = e | 0, r = r | 0, n || O(e, r, this.length);
541
+ for (var i = this[e], o = 1, s = 0; ++s < r && (o *= 256); )
542
+ i += this[e + s] * o;
543
+ return i;
544
+ };
545
+ a.prototype.readUIntBE = function(e, r, n) {
546
+ e = e | 0, r = r | 0, n || O(e, r, this.length);
547
+ for (var i = this[e + --r], o = 1; r > 0 && (o *= 256); )
548
+ i += this[e + --r] * o;
549
+ return i;
550
+ };
551
+ a.prototype.readUInt8 = function(e, r) {
552
+ return r || O(e, 1, this.length), this[e];
553
+ };
554
+ a.prototype.readUInt16LE = function(e, r) {
555
+ return r || O(e, 2, this.length), this[e] | this[e + 1] << 8;
556
+ };
557
+ a.prototype.readUInt16BE = function(e, r) {
558
+ return r || O(e, 2, this.length), this[e] << 8 | this[e + 1];
559
+ };
560
+ a.prototype.readUInt32LE = function(e, r) {
561
+ return r || O(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + this[e + 3] * 16777216;
562
+ };
563
+ a.prototype.readUInt32BE = function(e, r) {
564
+ return r || O(e, 4, this.length), this[e] * 16777216 + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);
565
+ };
566
+ a.prototype.readIntLE = function(e, r, n) {
567
+ e = e | 0, r = r | 0, n || O(e, r, this.length);
568
+ for (var i = this[e], o = 1, s = 0; ++s < r && (o *= 256); )
569
+ i += this[e + s] * o;
570
+ return o *= 128, i >= o && (i -= Math.pow(2, 8 * r)), i;
571
+ };
572
+ a.prototype.readIntBE = function(e, r, n) {
573
+ e = e | 0, r = r | 0, n || O(e, r, this.length);
574
+ for (var i = r, o = 1, s = this[e + --i]; i > 0 && (o *= 256); )
575
+ s += this[e + --i] * o;
576
+ return o *= 128, s >= o && (s -= Math.pow(2, 8 * r)), s;
577
+ };
578
+ a.prototype.readInt8 = function(e, r) {
579
+ return r || O(e, 1, this.length), this[e] & 128 ? (255 - this[e] + 1) * -1 : this[e];
580
+ };
581
+ a.prototype.readInt16LE = function(e, r) {
582
+ r || O(e, 2, this.length);
583
+ var n = this[e] | this[e + 1] << 8;
584
+ return n & 32768 ? n | 4294901760 : n;
585
+ };
586
+ a.prototype.readInt16BE = function(e, r) {
587
+ r || O(e, 2, this.length);
588
+ var n = this[e + 1] | this[e] << 8;
589
+ return n & 32768 ? n | 4294901760 : n;
590
+ };
591
+ a.prototype.readInt32LE = function(e, r) {
592
+ return r || O(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;
593
+ };
594
+ a.prototype.readInt32BE = function(e, r) {
595
+ return r || O(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];
596
+ };
597
+ a.prototype.readFloatLE = function(e, r) {
598
+ return r || O(e, 4, this.length), ve(this, e, !0, 23, 4);
599
+ };
600
+ a.prototype.readFloatBE = function(e, r) {
601
+ return r || O(e, 4, this.length), ve(this, e, !1, 23, 4);
602
+ };
603
+ a.prototype.readDoubleLE = function(e, r) {
604
+ return r || O(e, 8, this.length), ve(this, e, !0, 52, 8);
605
+ };
606
+ a.prototype.readDoubleBE = function(e, r) {
607
+ return r || O(e, 8, this.length), ve(this, e, !1, 52, 8);
608
+ };
609
+ function N(t, e, r, n, i, o) {
610
+ if (!j(t)) throw new TypeError('"buffer" argument must be a Buffer instance');
611
+ if (e > i || e < o) throw new RangeError('"value" argument is out of bounds');
612
+ if (r + n > t.length) throw new RangeError("Index out of range");
613
+ }
614
+ a.prototype.writeUIntLE = function(e, r, n, i) {
615
+ if (e = +e, r = r | 0, n = n | 0, !i) {
616
+ var o = Math.pow(2, 8 * n) - 1;
617
+ N(this, e, r, n, o, 0);
618
+ }
619
+ var s = 1, f = 0;
620
+ for (this[r] = e & 255; ++f < n && (s *= 256); )
621
+ this[r + f] = e / s & 255;
622
+ return r + n;
623
+ };
624
+ a.prototype.writeUIntBE = function(e, r, n, i) {
625
+ if (e = +e, r = r | 0, n = n | 0, !i) {
626
+ var o = Math.pow(2, 8 * n) - 1;
627
+ N(this, e, r, n, o, 0);
628
+ }
629
+ var s = n - 1, f = 1;
630
+ for (this[r + s] = e & 255; --s >= 0 && (f *= 256); )
631
+ this[r + s] = e / f & 255;
632
+ return r + n;
633
+ };
634
+ a.prototype.writeUInt8 = function(e, r, n) {
635
+ return e = +e, r = r | 0, n || N(this, e, r, 1, 255, 0), a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[r] = e & 255, r + 1;
636
+ };
637
+ function be(t, e, r, n) {
638
+ e < 0 && (e = 65535 + e + 1);
639
+ for (var i = 0, o = Math.min(t.length - r, 2); i < o; ++i)
640
+ t[r + i] = (e & 255 << 8 * (n ? i : 1 - i)) >>> (n ? i : 1 - i) * 8;
641
+ }
642
+ a.prototype.writeUInt16LE = function(e, r, n) {
643
+ return e = +e, r = r | 0, n || N(this, e, r, 2, 65535, 0), a.TYPED_ARRAY_SUPPORT ? (this[r] = e & 255, this[r + 1] = e >>> 8) : be(this, e, r, !0), r + 2;
644
+ };
645
+ a.prototype.writeUInt16BE = function(e, r, n) {
646
+ return e = +e, r = r | 0, n || N(this, e, r, 2, 65535, 0), a.TYPED_ARRAY_SUPPORT ? (this[r] = e >>> 8, this[r + 1] = e & 255) : be(this, e, r, !1), r + 2;
647
+ };
648
+ function xe(t, e, r, n) {
649
+ e < 0 && (e = 4294967295 + e + 1);
650
+ for (var i = 0, o = Math.min(t.length - r, 4); i < o; ++i)
651
+ t[r + i] = e >>> (n ? i : 3 - i) * 8 & 255;
652
+ }
653
+ a.prototype.writeUInt32LE = function(e, r, n) {
654
+ return e = +e, r = r | 0, n || N(this, e, r, 4, 4294967295, 0), a.TYPED_ARRAY_SUPPORT ? (this[r + 3] = e >>> 24, this[r + 2] = e >>> 16, this[r + 1] = e >>> 8, this[r] = e & 255) : xe(this, e, r, !0), r + 4;
655
+ };
656
+ a.prototype.writeUInt32BE = function(e, r, n) {
657
+ return e = +e, r = r | 0, n || N(this, e, r, 4, 4294967295, 0), a.TYPED_ARRAY_SUPPORT ? (this[r] = e >>> 24, this[r + 1] = e >>> 16, this[r + 2] = e >>> 8, this[r + 3] = e & 255) : xe(this, e, r, !1), r + 4;
658
+ };
659
+ a.prototype.writeIntLE = function(e, r, n, i) {
660
+ if (e = +e, r = r | 0, !i) {
661
+ var o = Math.pow(2, 8 * n - 1);
662
+ N(this, e, r, n, o - 1, -o);
663
+ }
664
+ var s = 0, f = 1, l = 0;
665
+ for (this[r] = e & 255; ++s < n && (f *= 256); )
666
+ e < 0 && l === 0 && this[r + s - 1] !== 0 && (l = 1), this[r + s] = (e / f >> 0) - l & 255;
667
+ return r + n;
668
+ };
669
+ a.prototype.writeIntBE = function(e, r, n, i) {
670
+ if (e = +e, r = r | 0, !i) {
671
+ var o = Math.pow(2, 8 * n - 1);
672
+ N(this, e, r, n, o - 1, -o);
673
+ }
674
+ var s = n - 1, f = 1, l = 0;
675
+ for (this[r + s] = e & 255; --s >= 0 && (f *= 256); )
676
+ e < 0 && l === 0 && this[r + s + 1] !== 0 && (l = 1), this[r + s] = (e / f >> 0) - l & 255;
677
+ return r + n;
678
+ };
679
+ a.prototype.writeInt8 = function(e, r, n) {
680
+ return e = +e, r = r | 0, n || N(this, e, r, 1, 127, -128), a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[r] = e & 255, r + 1;
681
+ };
682
+ a.prototype.writeInt16LE = function(e, r, n) {
683
+ return e = +e, r = r | 0, n || N(this, e, r, 2, 32767, -32768), a.TYPED_ARRAY_SUPPORT ? (this[r] = e & 255, this[r + 1] = e >>> 8) : be(this, e, r, !0), r + 2;
684
+ };
685
+ a.prototype.writeInt16BE = function(e, r, n) {
686
+ return e = +e, r = r | 0, n || N(this, e, r, 2, 32767, -32768), a.TYPED_ARRAY_SUPPORT ? (this[r] = e >>> 8, this[r + 1] = e & 255) : be(this, e, r, !1), r + 2;
687
+ };
688
+ a.prototype.writeInt32LE = function(e, r, n) {
689
+ return e = +e, r = r | 0, n || N(this, e, r, 4, 2147483647, -2147483648), a.TYPED_ARRAY_SUPPORT ? (this[r] = e & 255, this[r + 1] = e >>> 8, this[r + 2] = e >>> 16, this[r + 3] = e >>> 24) : xe(this, e, r, !0), r + 4;
690
+ };
691
+ a.prototype.writeInt32BE = function(e, r, n) {
692
+ return e = +e, r = r | 0, n || N(this, e, r, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), a.TYPED_ARRAY_SUPPORT ? (this[r] = e >>> 24, this[r + 1] = e >>> 16, this[r + 2] = e >>> 8, this[r + 3] = e & 255) : xe(this, e, r, !1), r + 4;
693
+ };
694
+ function wt(t, e, r, n, i, o) {
695
+ if (r + n > t.length) throw new RangeError("Index out of range");
696
+ if (r < 0) throw new RangeError("Index out of range");
697
+ }
698
+ function yt(t, e, r, n, i) {
699
+ return i || wt(t, e, r, 4), ut(t, e, r, n, 23, 4), r + 4;
700
+ }
701
+ a.prototype.writeFloatLE = function(e, r, n) {
702
+ return yt(this, e, r, !0, n);
703
+ };
704
+ a.prototype.writeFloatBE = function(e, r, n) {
705
+ return yt(this, e, r, !1, n);
706
+ };
707
+ function vt(t, e, r, n, i) {
708
+ return i || wt(t, e, r, 8), ut(t, e, r, n, 52, 8), r + 8;
709
+ }
710
+ a.prototype.writeDoubleLE = function(e, r, n) {
711
+ return vt(this, e, r, !0, n);
712
+ };
713
+ a.prototype.writeDoubleBE = function(e, r, n) {
714
+ return vt(this, e, r, !1, n);
715
+ };
716
+ a.prototype.copy = function(e, r, n, i) {
717
+ if (n || (n = 0), !i && i !== 0 && (i = this.length), r >= e.length && (r = e.length), r || (r = 0), i > 0 && i < n && (i = n), i === n || e.length === 0 || this.length === 0) return 0;
718
+ if (r < 0)
719
+ throw new RangeError("targetStart out of bounds");
720
+ if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds");
721
+ if (i < 0) throw new RangeError("sourceEnd out of bounds");
722
+ i > this.length && (i = this.length), e.length - r < i - n && (i = e.length - r + n);
723
+ var o = i - n, s;
724
+ if (this === e && n < r && r < i)
725
+ for (s = o - 1; s >= 0; --s)
726
+ e[s + r] = this[s + n];
727
+ else if (o < 1e3 || !a.TYPED_ARRAY_SUPPORT)
728
+ for (s = 0; s < o; ++s)
729
+ e[s + r] = this[s + n];
730
+ else
731
+ Uint8Array.prototype.set.call(
732
+ e,
733
+ this.subarray(n, n + o),
734
+ r
735
+ );
736
+ return o;
737
+ };
738
+ a.prototype.fill = function(e, r, n, i) {
739
+ if (typeof e == "string") {
740
+ if (typeof r == "string" ? (i = r, r = 0, n = this.length) : typeof n == "string" && (i = n, n = this.length), e.length === 1) {
741
+ var o = e.charCodeAt(0);
742
+ o < 256 && (e = o);
743
+ }
744
+ if (i !== void 0 && typeof i != "string")
745
+ throw new TypeError("encoding must be a string");
746
+ if (typeof i == "string" && !a.isEncoding(i))
747
+ throw new TypeError("Unknown encoding: " + i);
748
+ } else typeof e == "number" && (e = e & 255);
749
+ if (r < 0 || this.length < r || this.length < n)
750
+ throw new RangeError("Out of range index");
751
+ if (n <= r)
752
+ return this;
753
+ r = r >>> 0, n = n === void 0 ? this.length : n >>> 0, e || (e = 0);
754
+ var s;
755
+ if (typeof e == "number")
756
+ for (s = r; s < n; ++s)
757
+ this[s] = e;
758
+ else {
759
+ var f = j(e) ? e : we(new a(e, i).toString()), l = f.length;
760
+ for (s = 0; s < n - r; ++s)
761
+ this[s + r] = f[s % l];
762
+ }
763
+ return this;
764
+ };
765
+ var gr = /[^+\/0-9A-Za-z-_]/g;
766
+ function _r(t) {
767
+ if (t = wr(t).replace(gr, ""), t.length < 2) return "";
768
+ for (; t.length % 4 !== 0; )
769
+ t = t + "=";
770
+ return t;
771
+ }
772
+ function wr(t) {
773
+ return t.trim ? t.trim() : t.replace(/^\s+|\s+$/g, "");
774
+ }
775
+ function yr(t) {
776
+ return t < 16 ? "0" + t.toString(16) : t.toString(16);
777
+ }
778
+ function we(t, e) {
779
+ e = e || 1 / 0;
780
+ for (var r, n = t.length, i = null, o = [], s = 0; s < n; ++s) {
781
+ if (r = t.charCodeAt(s), r > 55295 && r < 57344) {
782
+ if (!i) {
783
+ if (r > 56319) {
784
+ (e -= 3) > -1 && o.push(239, 191, 189);
785
+ continue;
786
+ } else if (s + 1 === n) {
787
+ (e -= 3) > -1 && o.push(239, 191, 189);
788
+ continue;
789
+ }
790
+ i = r;
791
+ continue;
792
+ }
793
+ if (r < 56320) {
794
+ (e -= 3) > -1 && o.push(239, 191, 189), i = r;
795
+ continue;
796
+ }
797
+ r = (i - 55296 << 10 | r - 56320) + 65536;
798
+ } else i && (e -= 3) > -1 && o.push(239, 191, 189);
799
+ if (i = null, r < 128) {
800
+ if ((e -= 1) < 0) break;
801
+ o.push(r);
802
+ } else if (r < 2048) {
803
+ if ((e -= 2) < 0) break;
804
+ o.push(
805
+ r >> 6 | 192,
806
+ r & 63 | 128
807
+ );
808
+ } else if (r < 65536) {
809
+ if ((e -= 3) < 0) break;
810
+ o.push(
811
+ r >> 12 | 224,
812
+ r >> 6 & 63 | 128,
813
+ r & 63 | 128
814
+ );
815
+ } else if (r < 1114112) {
816
+ if ((e -= 4) < 0) break;
817
+ o.push(
818
+ r >> 18 | 240,
819
+ r >> 12 & 63 | 128,
820
+ r >> 6 & 63 | 128,
821
+ r & 63 | 128
822
+ );
823
+ } else
824
+ throw new Error("Invalid code point");
825
+ }
826
+ return o;
827
+ }
828
+ function vr(t) {
829
+ for (var e = [], r = 0; r < t.length; ++r)
830
+ e.push(t.charCodeAt(r) & 255);
831
+ return e;
832
+ }
833
+ function br(t, e) {
834
+ for (var r, n, i, o = [], s = 0; s < t.length && !((e -= 2) < 0); ++s)
835
+ r = t.charCodeAt(s), n = r >> 8, i = r % 256, o.push(i), o.push(n);
836
+ return o;
837
+ }
838
+ function bt(t) {
839
+ return Ht(_r(t));
840
+ }
841
+ function Ee(t, e, r, n) {
842
+ for (var i = 0; i < n && !(i + r >= e.length || i >= t.length); ++i)
843
+ e[i + r] = t[i];
844
+ return i;
845
+ }
846
+ function xr(t) {
847
+ return t !== t;
848
+ }
849
+ function L(t) {
850
+ return t != null && (!!t._isBuffer || xt(t) || Er(t));
851
+ }
852
+ function xt(t) {
853
+ return !!t.constructor && typeof t.constructor.isBuffer == "function" && t.constructor.isBuffer(t);
854
+ }
855
+ function Er(t) {
856
+ return typeof t.readFloatLE == "function" && typeof t.slice == "function" && xt(t.slice(0, 0));
857
+ }
858
+ var Oe;
859
+ function H() {
860
+ }
861
+ H.prototype = /* @__PURE__ */ Object.create(null);
862
+ function p() {
863
+ p.init.call(this);
864
+ }
865
+ p.EventEmitter = p;
866
+ p.usingDomains = !1;
867
+ p.prototype.domain = void 0;
868
+ p.prototype._events = void 0;
869
+ p.prototype._maxListeners = void 0;
870
+ p.defaultMaxListeners = 10;
871
+ p.init = function() {
872
+ this.domain = null, p.usingDomains && Oe.active && !(this instanceof Oe.Domain) && (this.domain = Oe.active), (!this._events || this._events === Object.getPrototypeOf(this)._events) && (this._events = new H(), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
873
+ };
874
+ p.prototype.setMaxListeners = function(e) {
875
+ if (typeof e != "number" || e < 0 || isNaN(e))
876
+ throw new TypeError('"n" argument must be a positive number');
877
+ return this._maxListeners = e, this;
878
+ };
879
+ function Et(t) {
880
+ return t._maxListeners === void 0 ? p.defaultMaxListeners : t._maxListeners;
881
+ }
882
+ p.prototype.getMaxListeners = function() {
883
+ return Et(this);
884
+ };
885
+ function Sr(t, e, r) {
886
+ if (e)
887
+ t.call(r);
888
+ else
889
+ for (var n = t.length, i = ae(t, n), o = 0; o < n; ++o)
890
+ i[o].call(r);
891
+ }
892
+ function Rr(t, e, r, n) {
893
+ if (e)
894
+ t.call(r, n);
895
+ else
896
+ for (var i = t.length, o = ae(t, i), s = 0; s < i; ++s)
897
+ o[s].call(r, n);
898
+ }
899
+ function Ir(t, e, r, n, i) {
900
+ if (e)
901
+ t.call(r, n, i);
902
+ else
903
+ for (var o = t.length, s = ae(t, o), f = 0; f < o; ++f)
904
+ s[f].call(r, n, i);
905
+ }
906
+ function Or(t, e, r, n, i, o) {
907
+ if (e)
908
+ t.call(r, n, i, o);
909
+ else
910
+ for (var s = t.length, f = ae(t, s), l = 0; l < s; ++l)
911
+ f[l].call(r, n, i, o);
912
+ }
913
+ function Cr(t, e, r, n) {
914
+ if (e)
915
+ t.apply(r, n);
916
+ else
917
+ for (var i = t.length, o = ae(t, i), s = 0; s < i; ++s)
918
+ o[s].apply(r, n);
919
+ }
920
+ p.prototype.emit = function(e) {
921
+ var r, n, i, o, s, f, l, u = e === "error";
922
+ if (f = this._events, f)
923
+ u = u && f.error == null;
924
+ else if (!u)
925
+ return !1;
926
+ if (l = this.domain, u) {
927
+ if (r = arguments[1], l)
928
+ r || (r = new Error('Uncaught, unspecified "error" event')), r.domainEmitter = this, r.domain = l, r.domainThrown = !1, l.emit("error", r);
929
+ else {
930
+ if (r instanceof Error)
931
+ throw r;
932
+ var h = new Error('Uncaught, unspecified "error" event. (' + r + ")");
933
+ throw h.context = r, h;
934
+ }
935
+ return !1;
936
+ }
937
+ if (n = f[e], !n)
938
+ return !1;
939
+ var c = typeof n == "function";
940
+ switch (i = arguments.length, i) {
941
+ // fast cases
942
+ case 1:
943
+ Sr(n, c, this);
944
+ break;
945
+ case 2:
946
+ Rr(n, c, this, arguments[1]);
947
+ break;
948
+ case 3:
949
+ Ir(n, c, this, arguments[1], arguments[2]);
950
+ break;
951
+ case 4:
952
+ Or(n, c, this, arguments[1], arguments[2], arguments[3]);
953
+ break;
954
+ // slower
955
+ default:
956
+ for (o = new Array(i - 1), s = 1; s < i; s++)
957
+ o[s - 1] = arguments[s];
958
+ Cr(n, c, this, o);
959
+ }
960
+ return !0;
961
+ };
962
+ function St(t, e, r, n) {
963
+ var i, o, s;
964
+ if (typeof r != "function")
965
+ throw new TypeError('"listener" argument must be a function');
966
+ if (o = t._events, o ? (o.newListener && (t.emit(
967
+ "newListener",
968
+ e,
969
+ r.listener ? r.listener : r
970
+ ), o = t._events), s = o[e]) : (o = t._events = new H(), t._eventsCount = 0), !s)
971
+ s = o[e] = r, ++t._eventsCount;
972
+ else if (typeof s == "function" ? s = o[e] = n ? [r, s] : [s, r] : n ? s.unshift(r) : s.push(r), !s.warned && (i = Et(t), i && i > 0 && s.length > i)) {
973
+ s.warned = !0;
974
+ var f = new Error("Possible EventEmitter memory leak detected. " + s.length + " " + e + " listeners added. Use emitter.setMaxListeners() to increase limit");
975
+ f.name = "MaxListenersExceededWarning", f.emitter = t, f.type = e, f.count = s.length, Ar(f);
976
+ }
977
+ return t;
978
+ }
979
+ function Ar(t) {
980
+ typeof console.warn == "function" ? console.warn(t) : console.log(t);
981
+ }
982
+ p.prototype.addListener = function(e, r) {
983
+ return St(this, e, r, !1);
984
+ };
985
+ p.prototype.on = p.prototype.addListener;
986
+ p.prototype.prependListener = function(e, r) {
987
+ return St(this, e, r, !0);
988
+ };
989
+ function Rt(t, e, r) {
990
+ var n = !1;
991
+ function i() {
992
+ t.removeListener(e, i), n || (n = !0, r.apply(t, arguments));
993
+ }
994
+ return i.listener = r, i;
995
+ }
996
+ p.prototype.once = function(e, r) {
997
+ if (typeof r != "function")
998
+ throw new TypeError('"listener" argument must be a function');
999
+ return this.on(e, Rt(this, e, r)), this;
1000
+ };
1001
+ p.prototype.prependOnceListener = function(e, r) {
1002
+ if (typeof r != "function")
1003
+ throw new TypeError('"listener" argument must be a function');
1004
+ return this.prependListener(e, Rt(this, e, r)), this;
1005
+ };
1006
+ p.prototype.removeListener = function(e, r) {
1007
+ var n, i, o, s, f;
1008
+ if (typeof r != "function")
1009
+ throw new TypeError('"listener" argument must be a function');
1010
+ if (i = this._events, !i)
1011
+ return this;
1012
+ if (n = i[e], !n)
1013
+ return this;
1014
+ if (n === r || n.listener && n.listener === r)
1015
+ --this._eventsCount === 0 ? this._events = new H() : (delete i[e], i.removeListener && this.emit("removeListener", e, n.listener || r));
1016
+ else if (typeof n != "function") {
1017
+ for (o = -1, s = n.length; s-- > 0; )
1018
+ if (n[s] === r || n[s].listener && n[s].listener === r) {
1019
+ f = n[s].listener, o = s;
1020
+ break;
1021
+ }
1022
+ if (o < 0)
1023
+ return this;
1024
+ if (n.length === 1) {
1025
+ if (n[0] = void 0, --this._eventsCount === 0)
1026
+ return this._events = new H(), this;
1027
+ delete i[e];
1028
+ } else
1029
+ Tr(n, o);
1030
+ i.removeListener && this.emit("removeListener", e, f || r);
1031
+ }
1032
+ return this;
1033
+ };
1034
+ p.prototype.removeAllListeners = function(e) {
1035
+ var r, n;
1036
+ if (n = this._events, !n)
1037
+ return this;
1038
+ if (!n.removeListener)
1039
+ return arguments.length === 0 ? (this._events = new H(), this._eventsCount = 0) : n[e] && (--this._eventsCount === 0 ? this._events = new H() : delete n[e]), this;
1040
+ if (arguments.length === 0) {
1041
+ for (var i = Object.keys(n), o = 0, s; o < i.length; ++o)
1042
+ s = i[o], s !== "removeListener" && this.removeAllListeners(s);
1043
+ return this.removeAllListeners("removeListener"), this._events = new H(), this._eventsCount = 0, this;
1044
+ }
1045
+ if (r = n[e], typeof r == "function")
1046
+ this.removeListener(e, r);
1047
+ else if (r)
1048
+ do
1049
+ this.removeListener(e, r[r.length - 1]);
1050
+ while (r[0]);
1051
+ return this;
1052
+ };
1053
+ p.prototype.listeners = function(e) {
1054
+ var r, n, i = this._events;
1055
+ return i ? (r = i[e], r ? typeof r == "function" ? n = [r.listener || r] : n = Lr(r) : n = []) : n = [], n;
1056
+ };
1057
+ p.listenerCount = function(t, e) {
1058
+ return typeof t.listenerCount == "function" ? t.listenerCount(e) : It.call(t, e);
1059
+ };
1060
+ p.prototype.listenerCount = It;
1061
+ function It(t) {
1062
+ var e = this._events;
1063
+ if (e) {
1064
+ var r = e[t];
1065
+ if (typeof r == "function")
1066
+ return 1;
1067
+ if (r)
1068
+ return r.length;
1069
+ }
1070
+ return 0;
1071
+ }
1072
+ p.prototype.eventNames = function() {
1073
+ return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
1074
+ };
1075
+ function Tr(t, e) {
1076
+ for (var r = e, n = r + 1, i = t.length; n < i; r += 1, n += 1)
1077
+ t[r] = t[n];
1078
+ t.pop();
1079
+ }
1080
+ function ae(t, e) {
1081
+ for (var r = new Array(e); e--; )
1082
+ r[e] = t[e];
1083
+ return r;
1084
+ }
1085
+ function Lr(t) {
1086
+ for (var e = new Array(t.length), r = 0; r < e.length; ++r)
1087
+ e[r] = t[r].listener || t[r];
1088
+ return e;
1089
+ }
1090
+ function Ot() {
1091
+ throw new Error("setTimeout has not been defined");
1092
+ }
1093
+ function Ct() {
1094
+ throw new Error("clearTimeout has not been defined");
1095
+ }
1096
+ var Y = Ot, W = Ct;
1097
+ typeof ie.setTimeout == "function" && (Y = setTimeout);
1098
+ typeof ie.clearTimeout == "function" && (W = clearTimeout);
1099
+ function At(t) {
1100
+ if (Y === setTimeout)
1101
+ return setTimeout(t, 0);
1102
+ if ((Y === Ot || !Y) && setTimeout)
1103
+ return Y = setTimeout, setTimeout(t, 0);
1104
+ try {
1105
+ return Y(t, 0);
1106
+ } catch {
1107
+ try {
1108
+ return Y.call(null, t, 0);
1109
+ } catch {
1110
+ return Y.call(this, t, 0);
1111
+ }
1112
+ }
1113
+ }
1114
+ function Nr(t) {
1115
+ if (W === clearTimeout)
1116
+ return clearTimeout(t);
1117
+ if ((W === Ct || !W) && clearTimeout)
1118
+ return W = clearTimeout, clearTimeout(t);
1119
+ try {
1120
+ return W(t);
1121
+ } catch {
1122
+ try {
1123
+ return W.call(null, t);
1124
+ } catch {
1125
+ return W.call(this, t);
1126
+ }
1127
+ }
1128
+ }
1129
+ var z = [], ne = !1, ee, me = -1;
1130
+ function Dr() {
1131
+ !ne || !ee || (ne = !1, ee.length ? z = ee.concat(z) : me = -1, z.length && Tt());
1132
+ }
1133
+ function Tt() {
1134
+ if (!ne) {
1135
+ var t = At(Dr);
1136
+ ne = !0;
1137
+ for (var e = z.length; e; ) {
1138
+ for (ee = z, z = []; ++me < e; )
1139
+ ee && ee[me].run();
1140
+ me = -1, e = z.length;
1141
+ }
1142
+ ee = null, ne = !1, Nr(t);
1143
+ }
1144
+ }
1145
+ function B(t) {
1146
+ var e = new Array(arguments.length - 1);
1147
+ if (arguments.length > 1)
1148
+ for (var r = 1; r < arguments.length; r++)
1149
+ e[r - 1] = arguments[r];
1150
+ z.push(new Lt(t, e)), z.length === 1 && !ne && At(Tt);
1151
+ }
1152
+ function Lt(t, e) {
1153
+ this.fun = t, this.array = e;
1154
+ }
1155
+ Lt.prototype.run = function() {
1156
+ this.fun.apply(null, this.array);
1157
+ };
1158
+ var Fr = {}, se = ie.performance || {};
1159
+ se.now || se.mozNow || se.msNow || se.oNow || se.webkitNow;
1160
+ var ge = {
1161
+ env: Fr
1162
+ }, Ue;
1163
+ typeof Object.create == "function" ? Ue = function(e, r) {
1164
+ e.super_ = r, e.prototype = Object.create(r.prototype, {
1165
+ constructor: {
1166
+ value: e,
1167
+ enumerable: !1,
1168
+ writable: !0,
1169
+ configurable: !0
1170
+ }
1171
+ });
1172
+ } : Ue = function(e, r) {
1173
+ e.super_ = r;
1174
+ var n = function() {
1175
+ };
1176
+ n.prototype = r.prototype, e.prototype = new n(), e.prototype.constructor = e;
1177
+ };
1178
+ var oe = Ue, Mr = /%[sdj%]/g;
1179
+ function Br(t) {
1180
+ if (!Ve(t)) {
1181
+ for (var e = [], r = 0; r < arguments.length; r++)
1182
+ e.push(G(arguments[r]));
1183
+ return e.join(" ");
1184
+ }
1185
+ for (var r = 1, n = arguments, i = n.length, o = String(t).replace(Mr, function(f) {
1186
+ if (f === "%%") return "%";
1187
+ if (r >= i) return f;
1188
+ switch (f) {
1189
+ case "%s":
1190
+ return String(n[r++]);
1191
+ case "%d":
1192
+ return Number(n[r++]);
1193
+ case "%j":
1194
+ try {
1195
+ return JSON.stringify(n[r++]);
1196
+ } catch {
1197
+ return "[Circular]";
1198
+ }
1199
+ default:
1200
+ return f;
1201
+ }
1202
+ }), s = n[r]; r < i; s = n[++r])
1203
+ ze(s) || !le(s) ? o += " " + s : o += " " + G(s);
1204
+ return o;
1205
+ }
1206
+ function Nt(t, e) {
1207
+ if (Q(ie.process))
1208
+ return function() {
1209
+ return Nt(t, e).apply(this, arguments);
1210
+ };
1211
+ if (ge.noDeprecation === !0)
1212
+ return t;
1213
+ var r = !1;
1214
+ function n() {
1215
+ if (!r) {
1216
+ if (ge.throwDeprecation)
1217
+ throw new Error(e);
1218
+ ge.traceDeprecation ? console.trace(e) : console.error(e), r = !0;
1219
+ }
1220
+ return t.apply(this, arguments);
1221
+ }
1222
+ return n;
1223
+ }
1224
+ var pe = {}, Ce;
1225
+ function Ur(t) {
1226
+ if (Q(Ce) && (Ce = ge.env.NODE_DEBUG || ""), t = t.toUpperCase(), !pe[t])
1227
+ if (new RegExp("\\b" + t + "\\b", "i").test(Ce)) {
1228
+ var e = 0;
1229
+ pe[t] = function() {
1230
+ var r = Br.apply(null, arguments);
1231
+ console.error("%s %d: %s", t, e, r);
1232
+ };
1233
+ } else
1234
+ pe[t] = function() {
1235
+ };
1236
+ return pe[t];
1237
+ }
1238
+ function G(t, e) {
1239
+ var r = {
1240
+ seen: [],
1241
+ stylize: Pr
1242
+ };
1243
+ return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), Dt(e) ? r.showHidden = e : e && Yr(r, e), Q(r.showHidden) && (r.showHidden = !1), Q(r.depth) && (r.depth = 2), Q(r.colors) && (r.colors = !1), Q(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = kr), ye(r, t, r.depth);
1244
+ }
1245
+ G.colors = {
1246
+ bold: [1, 22],
1247
+ italic: [3, 23],
1248
+ underline: [4, 24],
1249
+ inverse: [7, 27],
1250
+ white: [37, 39],
1251
+ grey: [90, 39],
1252
+ black: [30, 39],
1253
+ blue: [34, 39],
1254
+ cyan: [36, 39],
1255
+ green: [32, 39],
1256
+ magenta: [35, 39],
1257
+ red: [31, 39],
1258
+ yellow: [33, 39]
1259
+ };
1260
+ G.styles = {
1261
+ special: "cyan",
1262
+ number: "yellow",
1263
+ boolean: "yellow",
1264
+ undefined: "grey",
1265
+ null: "bold",
1266
+ string: "green",
1267
+ date: "magenta",
1268
+ // "name": intentionally not styling
1269
+ regexp: "red"
1270
+ };
1271
+ function kr(t, e) {
1272
+ var r = G.styles[e];
1273
+ return r ? "\x1B[" + G.colors[r][0] + "m" + t + "\x1B[" + G.colors[r][1] + "m" : t;
1274
+ }
1275
+ function Pr(t, e) {
1276
+ return t;
1277
+ }
1278
+ function jr(t) {
1279
+ var e = {};
1280
+ return t.forEach(function(r, n) {
1281
+ e[r] = !0;
1282
+ }), e;
1283
+ }
1284
+ function ye(t, e, r) {
1285
+ if (t.customInspect && e && Ne(e.inspect) && // Filter out the util module, it's inspect function is special
1286
+ e.inspect !== G && // Also filter out any prototype objects using the circular check.
1287
+ !(e.constructor && e.constructor.prototype === e)) {
1288
+ var n = e.inspect(r, t);
1289
+ return Ve(n) || (n = ye(t, n, r)), n;
1290
+ }
1291
+ var i = $r(t, e);
1292
+ if (i)
1293
+ return i;
1294
+ var o = Object.keys(e), s = jr(o);
1295
+ if (t.showHidden && (o = Object.getOwnPropertyNames(e)), Le(e) && (o.indexOf("message") >= 0 || o.indexOf("description") >= 0))
1296
+ return Ae(e);
1297
+ if (o.length === 0) {
1298
+ if (Ne(e)) {
1299
+ var f = e.name ? ": " + e.name : "";
1300
+ return t.stylize("[Function" + f + "]", "special");
1301
+ }
1302
+ if (Te(e))
1303
+ return t.stylize(RegExp.prototype.toString.call(e), "regexp");
1304
+ if (Xe(e))
1305
+ return t.stylize(Date.prototype.toString.call(e), "date");
1306
+ if (Le(e))
1307
+ return Ae(e);
1308
+ }
1309
+ var l = "", u = !1, h = ["{", "}"];
1310
+ if (Vr(e) && (u = !0, h = ["[", "]"]), Ne(e)) {
1311
+ var c = e.name ? ": " + e.name : "";
1312
+ l = " [Function" + c + "]";
1313
+ }
1314
+ if (Te(e) && (l = " " + RegExp.prototype.toString.call(e)), Xe(e) && (l = " " + Date.prototype.toUTCString.call(e)), Le(e) && (l = " " + Ae(e)), o.length === 0 && (!u || e.length == 0))
1315
+ return h[0] + l + h[1];
1316
+ if (r < 0)
1317
+ return Te(e) ? t.stylize(RegExp.prototype.toString.call(e), "regexp") : t.stylize("[Object]", "special");
1318
+ t.seen.push(e);
1319
+ var g;
1320
+ return u ? g = qr(t, e, r, s, o) : g = o.map(function(v) {
1321
+ return ke(t, e, r, s, v, u);
1322
+ }), t.seen.pop(), zr(g, l, h);
1323
+ }
1324
+ function $r(t, e) {
1325
+ if (Q(e))
1326
+ return t.stylize("undefined", "undefined");
1327
+ if (Ve(e)) {
1328
+ var r = "'" + JSON.stringify(e).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
1329
+ return t.stylize(r, "string");
1330
+ }
1331
+ if (Jr(e))
1332
+ return t.stylize("" + e, "number");
1333
+ if (Dt(e))
1334
+ return t.stylize("" + e, "boolean");
1335
+ if (ze(e))
1336
+ return t.stylize("null", "null");
1337
+ }
1338
+ function Ae(t) {
1339
+ return "[" + Error.prototype.toString.call(t) + "]";
1340
+ }
1341
+ function qr(t, e, r, n, i) {
1342
+ for (var o = [], s = 0, f = e.length; s < f; ++s)
1343
+ Ft(e, String(s)) ? o.push(ke(
1344
+ t,
1345
+ e,
1346
+ r,
1347
+ n,
1348
+ String(s),
1349
+ !0
1350
+ )) : o.push("");
1351
+ return i.forEach(function(l) {
1352
+ l.match(/^\d+$/) || o.push(ke(
1353
+ t,
1354
+ e,
1355
+ r,
1356
+ n,
1357
+ l,
1358
+ !0
1359
+ ));
1360
+ }), o;
1361
+ }
1362
+ function ke(t, e, r, n, i, o) {
1363
+ var s, f, l;
1364
+ if (l = Object.getOwnPropertyDescriptor(e, i) || { value: e[i] }, l.get ? l.set ? f = t.stylize("[Getter/Setter]", "special") : f = t.stylize("[Getter]", "special") : l.set && (f = t.stylize("[Setter]", "special")), Ft(n, i) || (s = "[" + i + "]"), f || (t.seen.indexOf(l.value) < 0 ? (ze(r) ? f = ye(t, l.value, null) : f = ye(t, l.value, r - 1), f.indexOf(`
1365
+ `) > -1 && (o ? f = f.split(`
1366
+ `).map(function(u) {
1367
+ return " " + u;
1368
+ }).join(`
1369
+ `).substr(2) : f = `
1370
+ ` + f.split(`
1371
+ `).map(function(u) {
1372
+ return " " + u;
1373
+ }).join(`
1374
+ `))) : f = t.stylize("[Circular]", "special")), Q(s)) {
1375
+ if (o && i.match(/^\d+$/))
1376
+ return f;
1377
+ s = JSON.stringify("" + i), s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (s = s.substr(1, s.length - 2), s = t.stylize(s, "name")) : (s = s.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), s = t.stylize(s, "string"));
1378
+ }
1379
+ return s + ": " + f;
1380
+ }
1381
+ function zr(t, e, r) {
1382
+ var n = t.reduce(function(i, o) {
1383
+ return o.indexOf(`
1384
+ `) >= 0, i + o.replace(/\u001b\[\d\d?m/g, "").length + 1;
1385
+ }, 0);
1386
+ return n > 60 ? r[0] + (e === "" ? "" : e + `
1387
+ `) + " " + t.join(`,
1388
+ `) + " " + r[1] : r[0] + e + " " + t.join(", ") + " " + r[1];
1389
+ }
1390
+ function Vr(t) {
1391
+ return Array.isArray(t);
1392
+ }
1393
+ function Dt(t) {
1394
+ return typeof t == "boolean";
1395
+ }
1396
+ function ze(t) {
1397
+ return t === null;
1398
+ }
1399
+ function Jr(t) {
1400
+ return typeof t == "number";
1401
+ }
1402
+ function Ve(t) {
1403
+ return typeof t == "string";
1404
+ }
1405
+ function Q(t) {
1406
+ return t === void 0;
1407
+ }
1408
+ function Te(t) {
1409
+ return le(t) && Je(t) === "[object RegExp]";
1410
+ }
1411
+ function le(t) {
1412
+ return typeof t == "object" && t !== null;
1413
+ }
1414
+ function Xe(t) {
1415
+ return le(t) && Je(t) === "[object Date]";
1416
+ }
1417
+ function Le(t) {
1418
+ return le(t) && (Je(t) === "[object Error]" || t instanceof Error);
1419
+ }
1420
+ function Ne(t) {
1421
+ return typeof t == "function";
1422
+ }
1423
+ function Je(t) {
1424
+ return Object.prototype.toString.call(t);
1425
+ }
1426
+ function Yr(t, e) {
1427
+ if (!e || !le(e)) return t;
1428
+ for (var r = Object.keys(e), n = r.length; n--; )
1429
+ t[r[n]] = e[r[n]];
1430
+ return t;
1431
+ }
1432
+ function Ft(t, e) {
1433
+ return Object.prototype.hasOwnProperty.call(t, e);
1434
+ }
1435
+ function te() {
1436
+ this.head = null, this.tail = null, this.length = 0;
1437
+ }
1438
+ te.prototype.push = function(t) {
1439
+ var e = { data: t, next: null };
1440
+ this.length > 0 ? this.tail.next = e : this.head = e, this.tail = e, ++this.length;
1441
+ };
1442
+ te.prototype.unshift = function(t) {
1443
+ var e = { data: t, next: this.head };
1444
+ this.length === 0 && (this.tail = e), this.head = e, ++this.length;
1445
+ };
1446
+ te.prototype.shift = function() {
1447
+ if (this.length !== 0) {
1448
+ var t = this.head.data;
1449
+ return this.length === 1 ? this.head = this.tail = null : this.head = this.head.next, --this.length, t;
1450
+ }
1451
+ };
1452
+ te.prototype.clear = function() {
1453
+ this.head = this.tail = null, this.length = 0;
1454
+ };
1455
+ te.prototype.join = function(t) {
1456
+ if (this.length === 0) return "";
1457
+ for (var e = this.head, r = "" + e.data; e = e.next; )
1458
+ r += t + e.data;
1459
+ return r;
1460
+ };
1461
+ te.prototype.concat = function(t) {
1462
+ if (this.length === 0) return a.alloc(0);
1463
+ if (this.length === 1) return this.head.data;
1464
+ for (var e = a.allocUnsafe(t >>> 0), r = this.head, n = 0; r; )
1465
+ r.data.copy(e, n), n += r.data.length, r = r.next;
1466
+ return e;
1467
+ };
1468
+ var Wr = a.isEncoding || function(t) {
1469
+ switch (t && t.toLowerCase()) {
1470
+ case "hex":
1471
+ case "utf8":
1472
+ case "utf-8":
1473
+ case "ascii":
1474
+ case "binary":
1475
+ case "base64":
1476
+ case "ucs2":
1477
+ case "ucs-2":
1478
+ case "utf16le":
1479
+ case "utf-16le":
1480
+ case "raw":
1481
+ return !0;
1482
+ default:
1483
+ return !1;
1484
+ }
1485
+ };
1486
+ function Qr(t) {
1487
+ if (t && !Wr(t))
1488
+ throw new Error("Unknown encoding: " + t);
1489
+ }
1490
+ function ue(t) {
1491
+ switch (this.encoding = (t || "utf8").toLowerCase().replace(/[-_]/, ""), Qr(t), this.encoding) {
1492
+ case "utf8":
1493
+ this.surrogateSize = 3;
1494
+ break;
1495
+ case "ucs2":
1496
+ case "utf16le":
1497
+ this.surrogateSize = 2, this.detectIncompleteChar = Gr;
1498
+ break;
1499
+ case "base64":
1500
+ this.surrogateSize = 3, this.detectIncompleteChar = Zr;
1501
+ break;
1502
+ default:
1503
+ this.write = Hr;
1504
+ return;
1505
+ }
1506
+ this.charBuffer = new a(6), this.charReceived = 0, this.charLength = 0;
1507
+ }
1508
+ ue.prototype.write = function(t) {
1509
+ for (var e = ""; this.charLength; ) {
1510
+ var r = t.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : t.length;
1511
+ if (t.copy(this.charBuffer, this.charReceived, 0, r), this.charReceived += r, this.charReceived < this.charLength)
1512
+ return "";
1513
+ t = t.slice(r, t.length), e = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
1514
+ var i = e.charCodeAt(e.length - 1);
1515
+ if (i >= 55296 && i <= 56319) {
1516
+ this.charLength += this.surrogateSize, e = "";
1517
+ continue;
1518
+ }
1519
+ if (this.charReceived = this.charLength = 0, t.length === 0)
1520
+ return e;
1521
+ break;
1522
+ }
1523
+ this.detectIncompleteChar(t);
1524
+ var n = t.length;
1525
+ this.charLength && (t.copy(this.charBuffer, 0, t.length - this.charReceived, n), n -= this.charReceived), e += t.toString(this.encoding, 0, n);
1526
+ var n = e.length - 1, i = e.charCodeAt(n);
1527
+ if (i >= 55296 && i <= 56319) {
1528
+ var o = this.surrogateSize;
1529
+ return this.charLength += o, this.charReceived += o, this.charBuffer.copy(this.charBuffer, o, 0, o), t.copy(this.charBuffer, 0, 0, o), e.substring(0, n);
1530
+ }
1531
+ return e;
1532
+ };
1533
+ ue.prototype.detectIncompleteChar = function(t) {
1534
+ for (var e = t.length >= 3 ? 3 : t.length; e > 0; e--) {
1535
+ var r = t[t.length - e];
1536
+ if (e == 1 && r >> 5 == 6) {
1537
+ this.charLength = 2;
1538
+ break;
1539
+ }
1540
+ if (e <= 2 && r >> 4 == 14) {
1541
+ this.charLength = 3;
1542
+ break;
1543
+ }
1544
+ if (e <= 3 && r >> 3 == 30) {
1545
+ this.charLength = 4;
1546
+ break;
1547
+ }
1548
+ }
1549
+ this.charReceived = e;
1550
+ };
1551
+ ue.prototype.end = function(t) {
1552
+ var e = "";
1553
+ if (t && t.length && (e = this.write(t)), this.charReceived) {
1554
+ var r = this.charReceived, n = this.charBuffer, i = this.encoding;
1555
+ e += n.slice(0, r).toString(i);
1556
+ }
1557
+ return e;
1558
+ };
1559
+ function Hr(t) {
1560
+ return t.toString(this.encoding);
1561
+ }
1562
+ function Gr(t) {
1563
+ this.charReceived = t.length % 2, this.charLength = this.charReceived ? 2 : 0;
1564
+ }
1565
+ function Zr(t) {
1566
+ this.charReceived = t.length % 3, this.charLength = this.charReceived ? 3 : 0;
1567
+ }
1568
+ E.ReadableState = Mt;
1569
+ var y = Ur("stream");
1570
+ oe(E, p);
1571
+ function Xr(t, e, r) {
1572
+ if (typeof t.prependListener == "function")
1573
+ return t.prependListener(e, r);
1574
+ !t._events || !t._events[e] ? t.on(e, r) : Array.isArray(t._events[e]) ? t._events[e].unshift(r) : t._events[e] = [r, t._events[e]];
1575
+ }
1576
+ function Kr(t, e) {
1577
+ return t.listeners(e).length;
1578
+ }
1579
+ function Mt(t, e) {
1580
+ t = t || {}, this.objectMode = !!t.objectMode, e instanceof M && (this.objectMode = this.objectMode || !!t.readableObjectMode);
1581
+ var r = t.highWaterMark, n = this.objectMode ? 16 : 16 * 1024;
1582
+ this.highWaterMark = r || r === 0 ? r : n, this.highWaterMark = ~~this.highWaterMark, this.buffer = new te(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.defaultEncoding = t.defaultEncoding || "utf8", this.ranOut = !1, this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, t.encoding && (this.decoder = new ue(t.encoding), this.encoding = t.encoding);
1583
+ }
1584
+ function E(t) {
1585
+ if (!(this instanceof E)) return new E(t);
1586
+ this._readableState = new Mt(t, this), this.readable = !0, t && typeof t.read == "function" && (this._read = t.read), p.call(this);
1587
+ }
1588
+ E.prototype.push = function(t, e) {
1589
+ var r = this._readableState;
1590
+ return !r.objectMode && typeof t == "string" && (e = e || r.defaultEncoding, e !== r.encoding && (t = a.from(t, e), e = "")), Bt(this, r, t, e, !1);
1591
+ };
1592
+ E.prototype.unshift = function(t) {
1593
+ var e = this._readableState;
1594
+ return Bt(this, e, t, "", !0);
1595
+ };
1596
+ E.prototype.isPaused = function() {
1597
+ return this._readableState.flowing === !1;
1598
+ };
1599
+ function Bt(t, e, r, n, i) {
1600
+ var o = rn(e, r);
1601
+ if (o)
1602
+ t.emit("error", o);
1603
+ else if (r === null)
1604
+ e.reading = !1, nn(t, e);
1605
+ else if (e.objectMode || r && r.length > 0)
1606
+ if (e.ended && !i) {
1607
+ var s = new Error("stream.push() after EOF");
1608
+ t.emit("error", s);
1609
+ } else if (e.endEmitted && i) {
1610
+ var f = new Error("stream.unshift() after end event");
1611
+ t.emit("error", f);
1612
+ } else {
1613
+ var l;
1614
+ e.decoder && !i && !n && (r = e.decoder.write(r), l = !e.objectMode && r.length === 0), i || (e.reading = !1), l || (e.flowing && e.length === 0 && !e.sync ? (t.emit("data", r), t.read(0)) : (e.length += e.objectMode ? 1 : r.length, i ? e.buffer.unshift(r) : e.buffer.push(r), e.needReadable && Se(t))), on(t, e);
1615
+ }
1616
+ else i || (e.reading = !1);
1617
+ return en(e);
1618
+ }
1619
+ function en(t) {
1620
+ return !t.ended && (t.needReadable || t.length < t.highWaterMark || t.length === 0);
1621
+ }
1622
+ E.prototype.setEncoding = function(t) {
1623
+ return this._readableState.decoder = new ue(t), this._readableState.encoding = t, this;
1624
+ };
1625
+ var Ke = 8388608;
1626
+ function tn(t) {
1627
+ return t >= Ke ? t = Ke : (t--, t |= t >>> 1, t |= t >>> 2, t |= t >>> 4, t |= t >>> 8, t |= t >>> 16, t++), t;
1628
+ }
1629
+ function et(t, e) {
1630
+ return t <= 0 || e.length === 0 && e.ended ? 0 : e.objectMode ? 1 : t !== t ? e.flowing && e.length ? e.buffer.head.data.length : e.length : (t > e.highWaterMark && (e.highWaterMark = tn(t)), t <= e.length ? t : e.ended ? e.length : (e.needReadable = !0, 0));
1631
+ }
1632
+ E.prototype.read = function(t) {
1633
+ y("read", t), t = parseInt(t, 10);
1634
+ var e = this._readableState, r = t;
1635
+ if (t !== 0 && (e.emittedReadable = !1), t === 0 && e.needReadable && (e.length >= e.highWaterMark || e.ended))
1636
+ return y("read: emitReadable", e.length, e.ended), e.length === 0 && e.ended ? De(this) : Se(this), null;
1637
+ if (t = et(t, e), t === 0 && e.ended)
1638
+ return e.length === 0 && De(this), null;
1639
+ var n = e.needReadable;
1640
+ y("need readable", n), (e.length === 0 || e.length - t < e.highWaterMark) && (n = !0, y("length less than watermark", n)), e.ended || e.reading ? (n = !1, y("reading or ended", n)) : n && (y("do read"), e.reading = !0, e.sync = !0, e.length === 0 && (e.needReadable = !0), this._read(e.highWaterMark), e.sync = !1, e.reading || (t = et(r, e)));
1641
+ var i;
1642
+ return t > 0 ? i = Ut(t, e) : i = null, i === null ? (e.needReadable = !0, t = 0) : e.length -= t, e.length === 0 && (e.ended || (e.needReadable = !0), r !== t && e.ended && De(this)), i !== null && this.emit("data", i), i;
1643
+ };
1644
+ function rn(t, e) {
1645
+ var r = null;
1646
+ return !L(e) && typeof e != "string" && e !== null && e !== void 0 && !t.objectMode && (r = new TypeError("Invalid non-string/buffer chunk")), r;
1647
+ }
1648
+ function nn(t, e) {
1649
+ if (!e.ended) {
1650
+ if (e.decoder) {
1651
+ var r = e.decoder.end();
1652
+ r && r.length && (e.buffer.push(r), e.length += e.objectMode ? 1 : r.length);
1653
+ }
1654
+ e.ended = !0, Se(t);
1655
+ }
1656
+ }
1657
+ function Se(t) {
1658
+ var e = t._readableState;
1659
+ e.needReadable = !1, e.emittedReadable || (y("emitReadable", e.flowing), e.emittedReadable = !0, e.sync ? B(tt, t) : tt(t));
1660
+ }
1661
+ function tt(t) {
1662
+ y("emit readable"), t.emit("readable"), Ye(t);
1663
+ }
1664
+ function on(t, e) {
1665
+ e.readingMore || (e.readingMore = !0, B(sn, t, e));
1666
+ }
1667
+ function sn(t, e) {
1668
+ for (var r = e.length; !e.reading && !e.flowing && !e.ended && e.length < e.highWaterMark && (y("maybeReadMore read 0"), t.read(0), r !== e.length); )
1669
+ r = e.length;
1670
+ e.readingMore = !1;
1671
+ }
1672
+ E.prototype._read = function(t) {
1673
+ this.emit("error", new Error("not implemented"));
1674
+ };
1675
+ E.prototype.pipe = function(t, e) {
1676
+ var r = this, n = this._readableState;
1677
+ switch (n.pipesCount) {
1678
+ case 0:
1679
+ n.pipes = t;
1680
+ break;
1681
+ case 1:
1682
+ n.pipes = [n.pipes, t];
1683
+ break;
1684
+ default:
1685
+ n.pipes.push(t);
1686
+ break;
1687
+ }
1688
+ n.pipesCount += 1, y("pipe count=%d opts=%j", n.pipesCount, e);
1689
+ var i = !e || e.end !== !1, o = i ? f : h;
1690
+ n.endEmitted ? B(o) : r.once("end", o), t.on("unpipe", s);
1691
+ function s(S) {
1692
+ y("onunpipe"), S === r && h();
1693
+ }
1694
+ function f() {
1695
+ y("onend"), t.end();
1696
+ }
1697
+ var l = fn(r);
1698
+ t.on("drain", l);
1699
+ var u = !1;
1700
+ function h() {
1701
+ y("cleanup"), t.removeListener("close", A), t.removeListener("finish", x), t.removeListener("drain", l), t.removeListener("error", v), t.removeListener("unpipe", s), r.removeListener("end", f), r.removeListener("end", h), r.removeListener("data", g), u = !0, n.awaitDrain && (!t._writableState || t._writableState.needDrain) && l();
1702
+ }
1703
+ var c = !1;
1704
+ r.on("data", g);
1705
+ function g(S) {
1706
+ y("ondata"), c = !1;
1707
+ var b = t.write(S);
1708
+ b === !1 && !c && ((n.pipesCount === 1 && n.pipes === t || n.pipesCount > 1 && kt(n.pipes, t) !== -1) && !u && (y("false write response, pause", r._readableState.awaitDrain), r._readableState.awaitDrain++, c = !0), r.pause());
1709
+ }
1710
+ function v(S) {
1711
+ y("onerror", S), D(), t.removeListener("error", v), Kr(t, "error") === 0 && t.emit("error", S);
1712
+ }
1713
+ Xr(t, "error", v);
1714
+ function A() {
1715
+ t.removeListener("finish", x), D();
1716
+ }
1717
+ t.once("close", A);
1718
+ function x() {
1719
+ y("onfinish"), t.removeListener("close", A), D();
1720
+ }
1721
+ t.once("finish", x);
1722
+ function D() {
1723
+ y("unpipe"), r.unpipe(t);
1724
+ }
1725
+ return t.emit("pipe", r), n.flowing || (y("pipe resume"), r.resume()), t;
1726
+ };
1727
+ function fn(t) {
1728
+ return function() {
1729
+ var e = t._readableState;
1730
+ y("pipeOnDrain", e.awaitDrain), e.awaitDrain && e.awaitDrain--, e.awaitDrain === 0 && t.listeners("data").length && (e.flowing = !0, Ye(t));
1731
+ };
1732
+ }
1733
+ E.prototype.unpipe = function(t) {
1734
+ var e = this._readableState;
1735
+ if (e.pipesCount === 0) return this;
1736
+ if (e.pipesCount === 1)
1737
+ return t && t !== e.pipes ? this : (t || (t = e.pipes), e.pipes = null, e.pipesCount = 0, e.flowing = !1, t && t.emit("unpipe", this), this);
1738
+ if (!t) {
1739
+ var r = e.pipes, n = e.pipesCount;
1740
+ e.pipes = null, e.pipesCount = 0, e.flowing = !1;
1741
+ for (var i = 0; i < n; i++)
1742
+ r[i].emit("unpipe", this);
1743
+ return this;
1744
+ }
1745
+ var o = kt(e.pipes, t);
1746
+ return o === -1 ? this : (e.pipes.splice(o, 1), e.pipesCount -= 1, e.pipesCount === 1 && (e.pipes = e.pipes[0]), t.emit("unpipe", this), this);
1747
+ };
1748
+ E.prototype.on = function(t, e) {
1749
+ var r = p.prototype.on.call(this, t, e);
1750
+ if (t === "data")
1751
+ this._readableState.flowing !== !1 && this.resume();
1752
+ else if (t === "readable") {
1753
+ var n = this._readableState;
1754
+ !n.endEmitted && !n.readableListening && (n.readableListening = n.needReadable = !0, n.emittedReadable = !1, n.reading ? n.length && Se(this) : B(an, this));
1755
+ }
1756
+ return r;
1757
+ };
1758
+ E.prototype.addListener = E.prototype.on;
1759
+ function an(t) {
1760
+ y("readable nexttick read 0"), t.read(0);
1761
+ }
1762
+ E.prototype.resume = function() {
1763
+ var t = this._readableState;
1764
+ return t.flowing || (y("resume"), t.flowing = !0, ln(this, t)), this;
1765
+ };
1766
+ function ln(t, e) {
1767
+ e.resumeScheduled || (e.resumeScheduled = !0, B(un, t, e));
1768
+ }
1769
+ function un(t, e) {
1770
+ e.reading || (y("resume read 0"), t.read(0)), e.resumeScheduled = !1, e.awaitDrain = 0, t.emit("resume"), Ye(t), e.flowing && !e.reading && t.read(0);
1771
+ }
1772
+ E.prototype.pause = function() {
1773
+ return y("call pause flowing=%j", this._readableState.flowing), this._readableState.flowing !== !1 && (y("pause"), this._readableState.flowing = !1, this.emit("pause")), this;
1774
+ };
1775
+ function Ye(t) {
1776
+ var e = t._readableState;
1777
+ for (y("flow", e.flowing); e.flowing && t.read() !== null; )
1778
+ ;
1779
+ }
1780
+ E.prototype.wrap = function(t) {
1781
+ var e = this._readableState, r = !1, n = this;
1782
+ t.on("end", function() {
1783
+ if (y("wrapped end"), e.decoder && !e.ended) {
1784
+ var s = e.decoder.end();
1785
+ s && s.length && n.push(s);
1786
+ }
1787
+ n.push(null);
1788
+ }), t.on("data", function(s) {
1789
+ if (y("wrapped data"), e.decoder && (s = e.decoder.write(s)), !(e.objectMode && s == null) && !(!e.objectMode && (!s || !s.length))) {
1790
+ var f = n.push(s);
1791
+ f || (r = !0, t.pause());
1792
+ }
1793
+ });
1794
+ for (var i in t)
1795
+ this[i] === void 0 && typeof t[i] == "function" && (this[i] = /* @__PURE__ */ (function(s) {
1796
+ return function() {
1797
+ return t[s].apply(t, arguments);
1798
+ };
1799
+ })(i));
1800
+ var o = ["error", "close", "destroy", "pause", "resume"];
1801
+ return mn(o, function(s) {
1802
+ t.on(s, n.emit.bind(n, s));
1803
+ }), n._read = function(s) {
1804
+ y("wrapped _read", s), r && (r = !1, t.resume());
1805
+ }, n;
1806
+ };
1807
+ E._fromList = Ut;
1808
+ function Ut(t, e) {
1809
+ if (e.length === 0) return null;
1810
+ var r;
1811
+ return e.objectMode ? r = e.buffer.shift() : !t || t >= e.length ? (e.decoder ? r = e.buffer.join("") : e.buffer.length === 1 ? r = e.buffer.head.data : r = e.buffer.concat(e.length), e.buffer.clear()) : r = hn(t, e.buffer, e.decoder), r;
1812
+ }
1813
+ function hn(t, e, r) {
1814
+ var n;
1815
+ return t < e.head.data.length ? (n = e.head.data.slice(0, t), e.head.data = e.head.data.slice(t)) : t === e.head.data.length ? n = e.shift() : n = r ? cn(t, e) : dn(t, e), n;
1816
+ }
1817
+ function cn(t, e) {
1818
+ var r = e.head, n = 1, i = r.data;
1819
+ for (t -= i.length; r = r.next; ) {
1820
+ var o = r.data, s = t > o.length ? o.length : t;
1821
+ if (s === o.length ? i += o : i += o.slice(0, t), t -= s, t === 0) {
1822
+ s === o.length ? (++n, r.next ? e.head = r.next : e.head = e.tail = null) : (e.head = r, r.data = o.slice(s));
1823
+ break;
1824
+ }
1825
+ ++n;
1826
+ }
1827
+ return e.length -= n, i;
1828
+ }
1829
+ function dn(t, e) {
1830
+ var r = a.allocUnsafe(t), n = e.head, i = 1;
1831
+ for (n.data.copy(r), t -= n.data.length; n = n.next; ) {
1832
+ var o = n.data, s = t > o.length ? o.length : t;
1833
+ if (o.copy(r, r.length - t, 0, s), t -= s, t === 0) {
1834
+ s === o.length ? (++i, n.next ? e.head = n.next : e.head = e.tail = null) : (e.head = n, n.data = o.slice(s));
1835
+ break;
1836
+ }
1837
+ ++i;
1838
+ }
1839
+ return e.length -= i, r;
1840
+ }
1841
+ function De(t) {
1842
+ var e = t._readableState;
1843
+ if (e.length > 0) throw new Error('"endReadable()" called on non-empty stream');
1844
+ e.endEmitted || (e.ended = !0, B(pn, e, t));
1845
+ }
1846
+ function pn(t, e) {
1847
+ !t.endEmitted && t.length === 0 && (t.endEmitted = !0, e.readable = !1, e.emit("end"));
1848
+ }
1849
+ function mn(t, e) {
1850
+ for (var r = 0, n = t.length; r < n; r++)
1851
+ e(t[r], r);
1852
+ }
1853
+ function kt(t, e) {
1854
+ for (var r = 0, n = t.length; r < n; r++)
1855
+ if (t[r] === e) return r;
1856
+ return -1;
1857
+ }
1858
+ C.WritableState = We;
1859
+ oe(C, p);
1860
+ function gn() {
1861
+ }
1862
+ function _n(t, e, r) {
1863
+ this.chunk = t, this.encoding = e, this.callback = r, this.next = null;
1864
+ }
1865
+ function We(t, e) {
1866
+ Object.defineProperty(this, "buffer", {
1867
+ get: Nt(function() {
1868
+ return this.getBuffer();
1869
+ }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")
1870
+ }), t = t || {}, this.objectMode = !!t.objectMode, e instanceof M && (this.objectMode = this.objectMode || !!t.writableObjectMode);
1871
+ var r = t.highWaterMark, n = this.objectMode ? 16 : 16 * 1024;
1872
+ this.highWaterMark = r || r === 0 ? r : n, this.highWaterMark = ~~this.highWaterMark, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1;
1873
+ var i = t.decodeStrings === !1;
1874
+ this.decodeStrings = !i, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function(o) {
1875
+ Sn(e, o);
1876
+ }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new qt(this);
1877
+ }
1878
+ We.prototype.getBuffer = function() {
1879
+ for (var e = this.bufferedRequest, r = []; e; )
1880
+ r.push(e), e = e.next;
1881
+ return r;
1882
+ };
1883
+ function C(t) {
1884
+ if (!(this instanceof C) && !(this instanceof M)) return new C(t);
1885
+ this._writableState = new We(t, this), this.writable = !0, t && (typeof t.write == "function" && (this._write = t.write), typeof t.writev == "function" && (this._writev = t.writev)), p.call(this);
1886
+ }
1887
+ C.prototype.pipe = function() {
1888
+ this.emit("error", new Error("Cannot pipe, not readable"));
1889
+ };
1890
+ function wn(t, e) {
1891
+ var r = new Error("write after end");
1892
+ t.emit("error", r), B(e, r);
1893
+ }
1894
+ function yn(t, e, r, n) {
1895
+ var i = !0, o = !1;
1896
+ return r === null ? o = new TypeError("May not write null values to stream") : !a.isBuffer(r) && typeof r != "string" && r !== void 0 && !e.objectMode && (o = new TypeError("Invalid non-string/buffer chunk")), o && (t.emit("error", o), B(n, o), i = !1), i;
1897
+ }
1898
+ C.prototype.write = function(t, e, r) {
1899
+ var n = this._writableState, i = !1;
1900
+ return typeof e == "function" && (r = e, e = null), a.isBuffer(t) ? e = "buffer" : e || (e = n.defaultEncoding), typeof r != "function" && (r = gn), n.ended ? wn(this, r) : yn(this, n, t, r) && (n.pendingcb++, i = bn(this, n, t, e, r)), i;
1901
+ };
1902
+ C.prototype.cork = function() {
1903
+ var t = this._writableState;
1904
+ t.corked++;
1905
+ };
1906
+ C.prototype.uncork = function() {
1907
+ var t = this._writableState;
1908
+ t.corked && (t.corked--, !t.writing && !t.corked && !t.finished && !t.bufferProcessing && t.bufferedRequest && Pt(this, t));
1909
+ };
1910
+ C.prototype.setDefaultEncoding = function(e) {
1911
+ if (typeof e == "string" && (e = e.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + e);
1912
+ return this._writableState.defaultEncoding = e, this;
1913
+ };
1914
+ function vn(t, e, r) {
1915
+ return !t.objectMode && t.decodeStrings !== !1 && typeof e == "string" && (e = a.from(e, r)), e;
1916
+ }
1917
+ function bn(t, e, r, n, i) {
1918
+ r = vn(e, r, n), a.isBuffer(r) && (n = "buffer");
1919
+ var o = e.objectMode ? 1 : r.length;
1920
+ e.length += o;
1921
+ var s = e.length < e.highWaterMark;
1922
+ if (s || (e.needDrain = !0), e.writing || e.corked) {
1923
+ var f = e.lastBufferedRequest;
1924
+ e.lastBufferedRequest = new _n(r, n, i), f ? f.next = e.lastBufferedRequest : e.bufferedRequest = e.lastBufferedRequest, e.bufferedRequestCount += 1;
1925
+ } else
1926
+ Pe(t, e, !1, o, r, n, i);
1927
+ return s;
1928
+ }
1929
+ function Pe(t, e, r, n, i, o, s) {
1930
+ e.writelen = n, e.writecb = s, e.writing = !0, e.sync = !0, r ? t._writev(i, e.onwrite) : t._write(i, o, e.onwrite), e.sync = !1;
1931
+ }
1932
+ function xn(t, e, r, n, i) {
1933
+ --e.pendingcb, r ? B(i, n) : i(n), t._writableState.errorEmitted = !0, t.emit("error", n);
1934
+ }
1935
+ function En(t) {
1936
+ t.writing = !1, t.writecb = null, t.length -= t.writelen, t.writelen = 0;
1937
+ }
1938
+ function Sn(t, e) {
1939
+ var r = t._writableState, n = r.sync, i = r.writecb;
1940
+ if (En(r), e) xn(t, r, n, e, i);
1941
+ else {
1942
+ var o = jt(r);
1943
+ !o && !r.corked && !r.bufferProcessing && r.bufferedRequest && Pt(t, r), n ? B(rt, t, r, o, i) : rt(t, r, o, i);
1944
+ }
1945
+ }
1946
+ function rt(t, e, r, n) {
1947
+ r || Rn(t, e), e.pendingcb--, n(), $t(t, e);
1948
+ }
1949
+ function Rn(t, e) {
1950
+ e.length === 0 && e.needDrain && (e.needDrain = !1, t.emit("drain"));
1951
+ }
1952
+ function Pt(t, e) {
1953
+ e.bufferProcessing = !0;
1954
+ var r = e.bufferedRequest;
1955
+ if (t._writev && r && r.next) {
1956
+ var n = e.bufferedRequestCount, i = new Array(n), o = e.corkedRequestsFree;
1957
+ o.entry = r;
1958
+ for (var s = 0; r; )
1959
+ i[s] = r, r = r.next, s += 1;
1960
+ Pe(t, e, !0, e.length, i, "", o.finish), e.pendingcb++, e.lastBufferedRequest = null, o.next ? (e.corkedRequestsFree = o.next, o.next = null) : e.corkedRequestsFree = new qt(e);
1961
+ } else {
1962
+ for (; r; ) {
1963
+ var f = r.chunk, l = r.encoding, u = r.callback, h = e.objectMode ? 1 : f.length;
1964
+ if (Pe(t, e, !1, h, f, l, u), r = r.next, e.writing)
1965
+ break;
1966
+ }
1967
+ r === null && (e.lastBufferedRequest = null);
1968
+ }
1969
+ e.bufferedRequestCount = 0, e.bufferedRequest = r, e.bufferProcessing = !1;
1970
+ }
1971
+ C.prototype._write = function(t, e, r) {
1972
+ r(new Error("not implemented"));
1973
+ };
1974
+ C.prototype._writev = null;
1975
+ C.prototype.end = function(t, e, r) {
1976
+ var n = this._writableState;
1977
+ typeof t == "function" ? (r = t, t = null, e = null) : typeof e == "function" && (r = e, e = null), t != null && this.write(t, e), n.corked && (n.corked = 1, this.uncork()), !n.ending && !n.finished && In(this, n, r);
1978
+ };
1979
+ function jt(t) {
1980
+ return t.ending && t.length === 0 && t.bufferedRequest === null && !t.finished && !t.writing;
1981
+ }
1982
+ function nt(t, e) {
1983
+ e.prefinished || (e.prefinished = !0, t.emit("prefinish"));
1984
+ }
1985
+ function $t(t, e) {
1986
+ var r = jt(e);
1987
+ return r && (e.pendingcb === 0 ? (nt(t, e), e.finished = !0, t.emit("finish")) : nt(t, e)), r;
1988
+ }
1989
+ function In(t, e, r) {
1990
+ e.ending = !0, $t(t, e), r && (e.finished ? B(r) : t.once("finish", r)), e.ended = !0, t.writable = !1;
1991
+ }
1992
+ function qt(t) {
1993
+ var e = this;
1994
+ this.next = null, this.entry = null, this.finish = function(r) {
1995
+ var n = e.entry;
1996
+ for (e.entry = null; n; ) {
1997
+ var i = n.callback;
1998
+ t.pendingcb--, i(r), n = n.next;
1999
+ }
2000
+ t.corkedRequestsFree ? t.corkedRequestsFree.next = e : t.corkedRequestsFree = e;
2001
+ };
2002
+ }
2003
+ oe(M, E);
2004
+ var it = Object.keys(C.prototype);
2005
+ for (var Fe = 0; Fe < it.length; Fe++) {
2006
+ var Me = it[Fe];
2007
+ M.prototype[Me] || (M.prototype[Me] = C.prototype[Me]);
2008
+ }
2009
+ function M(t) {
2010
+ if (!(this instanceof M)) return new M(t);
2011
+ E.call(this, t), C.call(this, t), t && t.readable === !1 && (this.readable = !1), t && t.writable === !1 && (this.writable = !1), this.allowHalfOpen = !0, t && t.allowHalfOpen === !1 && (this.allowHalfOpen = !1), this.once("end", On);
2012
+ }
2013
+ function On() {
2014
+ this.allowHalfOpen || this._writableState.ended || B(Cn, this);
2015
+ }
2016
+ function Cn(t) {
2017
+ t.end();
2018
+ }
2019
+ oe(k, M);
2020
+ function An(t) {
2021
+ this.afterTransform = function(e, r) {
2022
+ return Tn(t, e, r);
2023
+ }, this.needTransform = !1, this.transforming = !1, this.writecb = null, this.writechunk = null, this.writeencoding = null;
2024
+ }
2025
+ function Tn(t, e, r) {
2026
+ var n = t._transformState;
2027
+ n.transforming = !1;
2028
+ var i = n.writecb;
2029
+ if (!i) return t.emit("error", new Error("no writecb in Transform class"));
2030
+ n.writechunk = null, n.writecb = null, r != null && t.push(r), i(e);
2031
+ var o = t._readableState;
2032
+ o.reading = !1, (o.needReadable || o.length < o.highWaterMark) && t._read(o.highWaterMark);
2033
+ }
2034
+ function k(t) {
2035
+ if (!(this instanceof k)) return new k(t);
2036
+ M.call(this, t), this._transformState = new An(this);
2037
+ var e = this;
2038
+ this._readableState.needReadable = !0, this._readableState.sync = !1, t && (typeof t.transform == "function" && (this._transform = t.transform), typeof t.flush == "function" && (this._flush = t.flush)), this.once("prefinish", function() {
2039
+ typeof this._flush == "function" ? this._flush(function(r) {
2040
+ ot(e, r);
2041
+ }) : ot(e);
2042
+ });
2043
+ }
2044
+ k.prototype.push = function(t, e) {
2045
+ return this._transformState.needTransform = !1, M.prototype.push.call(this, t, e);
2046
+ };
2047
+ k.prototype._transform = function(t, e, r) {
2048
+ throw new Error("Not implemented");
2049
+ };
2050
+ k.prototype._write = function(t, e, r) {
2051
+ var n = this._transformState;
2052
+ if (n.writecb = r, n.writechunk = t, n.writeencoding = e, !n.transforming) {
2053
+ var i = this._readableState;
2054
+ (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark);
2055
+ }
2056
+ };
2057
+ k.prototype._read = function(t) {
2058
+ var e = this._transformState;
2059
+ e.writechunk !== null && e.writecb && !e.transforming ? (e.transforming = !0, this._transform(e.writechunk, e.writeencoding, e.afterTransform)) : e.needTransform = !0;
2060
+ };
2061
+ function ot(t, e) {
2062
+ if (e) return t.emit("error", e);
2063
+ var r = t._writableState, n = t._transformState;
2064
+ if (r.length) throw new Error("Calling transform done when ws.length != 0");
2065
+ if (n.transforming) throw new Error("Calling transform done when still transforming");
2066
+ return t.push(null);
2067
+ }
2068
+ oe(fe, k);
2069
+ function fe(t) {
2070
+ if (!(this instanceof fe)) return new fe(t);
2071
+ k.call(this, t);
2072
+ }
2073
+ fe.prototype._transform = function(t, e, r) {
2074
+ r(null, t);
2075
+ };
2076
+ oe(V, p);
2077
+ V.Readable = E;
2078
+ V.Writable = C;
2079
+ V.Duplex = M;
2080
+ V.Transform = k;
2081
+ V.PassThrough = fe;
2082
+ V.Stream = V;
2083
+ function V() {
2084
+ p.call(this);
2085
+ }
2086
+ V.prototype.pipe = function(t, e) {
2087
+ var r = this;
2088
+ function n(h) {
2089
+ t.writable && t.write(h) === !1 && r.pause && r.pause();
2090
+ }
2091
+ r.on("data", n);
2092
+ function i() {
2093
+ r.readable && r.resume && r.resume();
2094
+ }
2095
+ t.on("drain", i), !t._isStdio && (!e || e.end !== !1) && (r.on("end", s), r.on("close", f));
2096
+ var o = !1;
2097
+ function s() {
2098
+ o || (o = !0, t.end());
2099
+ }
2100
+ function f() {
2101
+ o || (o = !0, typeof t.destroy == "function" && t.destroy());
2102
+ }
2103
+ function l(h) {
2104
+ if (u(), p.listenerCount(this, "error") === 0)
2105
+ throw h;
2106
+ }
2107
+ r.on("error", l), t.on("error", l);
2108
+ function u() {
2109
+ r.removeListener("data", n), t.removeListener("drain", i), r.removeListener("end", s), r.removeListener("close", f), r.removeListener("error", l), t.removeListener("error", l), r.removeListener("end", u), r.removeListener("close", u), t.removeListener("close", u);
2110
+ }
2111
+ return r.on("end", u), r.on("close", u), t.on("close", u), t.emit("pipe", r), t;
2112
+ };
2113
+ const zt = function(t) {
2114
+ return typeof t == "object" && t !== null && !Array.isArray(t);
2115
+ };
2116
+ class m extends Error {
2117
+ constructor(e, r, n, ...i) {
2118
+ Array.isArray(r) && (r = r.join(" ").trim()), super(r), Error.captureStackTrace !== void 0 && Error.captureStackTrace(this, m), this.code = e;
2119
+ for (const o of i)
2120
+ for (const s in o) {
2121
+ const f = o[s];
2122
+ this[s] = L(f) ? f.toString(n.encoding) : f == null ? f : JSON.parse(JSON.stringify(f));
2123
+ }
2124
+ }
2125
+ }
2126
+ const Vt = function(t) {
2127
+ const e = [];
2128
+ for (let r = 0, n = t.length; r < n; r++) {
2129
+ const i = t[r];
2130
+ if (i == null || i === !1)
2131
+ e[r] = { disabled: !0 };
2132
+ else if (typeof i == "string")
2133
+ e[r] = { name: i };
2134
+ else if (zt(i)) {
2135
+ if (typeof i.name != "string")
2136
+ throw new m("CSV_OPTION_COLUMNS_MISSING_NAME", [
2137
+ "Option columns missing name:",
2138
+ `property "name" is required at position ${r}`,
2139
+ "when column is an object literal"
2140
+ ]);
2141
+ e[r] = i;
2142
+ } else
2143
+ throw new m("CSV_INVALID_COLUMN_DEFINITION", [
2144
+ "Invalid column definition:",
2145
+ "expect a string or a literal object,",
2146
+ `got ${JSON.stringify(i)} at position ${r}`
2147
+ ]);
2148
+ }
2149
+ return e;
2150
+ };
2151
+ class st {
2152
+ constructor(e = 100) {
2153
+ this.size = e, this.length = 0, this.buf = a.allocUnsafe(e);
2154
+ }
2155
+ prepend(e) {
2156
+ if (L(e)) {
2157
+ const r = this.length + e.length;
2158
+ if (r >= this.size && (this.resize(), r >= this.size))
2159
+ throw Error("INVALID_BUFFER_STATE");
2160
+ const n = this.buf;
2161
+ this.buf = a.allocUnsafe(this.size), e.copy(this.buf, 0), n.copy(this.buf, e.length), this.length += e.length;
2162
+ } else {
2163
+ const r = this.length++;
2164
+ r === this.size && this.resize();
2165
+ const n = this.clone();
2166
+ this.buf[0] = e, n.copy(this.buf, 1, 0, r);
2167
+ }
2168
+ }
2169
+ append(e) {
2170
+ const r = this.length++;
2171
+ r === this.size && this.resize(), this.buf[r] = e;
2172
+ }
2173
+ clone() {
2174
+ return a.from(this.buf.slice(0, this.length));
2175
+ }
2176
+ resize() {
2177
+ const e = this.length;
2178
+ this.size = this.size * 2;
2179
+ const r = a.allocUnsafe(this.size);
2180
+ this.buf.copy(r, 0, 0, e), this.buf = r;
2181
+ }
2182
+ toString(e) {
2183
+ return e ? this.buf.slice(0, this.length).toString(e) : Uint8Array.prototype.slice.call(this.buf.slice(0, this.length));
2184
+ }
2185
+ toJSON() {
2186
+ return this.toString("utf8");
2187
+ }
2188
+ reset() {
2189
+ this.length = 0;
2190
+ }
2191
+ }
2192
+ const Ln = 12, Nn = 13, Dn = 10, Fn = 32, Mn = 9, Bn = function(t) {
2193
+ return {
2194
+ bomSkipped: !1,
2195
+ bufBytesStart: 0,
2196
+ castField: t.cast_function,
2197
+ commenting: !1,
2198
+ // Current error encountered by a record
2199
+ error: void 0,
2200
+ enabled: t.from_line === 1,
2201
+ escaping: !1,
2202
+ escapeIsQuote: L(t.escape) && L(t.quote) && a.compare(t.escape, t.quote) === 0,
2203
+ // columns can be `false`, `true`, `Array`
2204
+ expectedRecordLength: Array.isArray(t.columns) ? t.columns.length : void 0,
2205
+ field: new st(20),
2206
+ firstLineToHeaders: t.cast_first_line_to_header,
2207
+ needMoreDataSize: Math.max(
2208
+ // Skip if the remaining buffer smaller than comment
2209
+ t.comment !== null ? t.comment.length : 0,
2210
+ ...t.delimiter.map((e) => e.length),
2211
+ // Skip if the remaining buffer can be escape sequence
2212
+ t.quote !== null ? t.quote.length : 0
2213
+ ),
2214
+ previousBuf: void 0,
2215
+ quoting: !1,
2216
+ stop: !1,
2217
+ rawBuffer: new st(100),
2218
+ record: [],
2219
+ recordHasError: !1,
2220
+ record_length: 0,
2221
+ recordDelimiterMaxLength: t.record_delimiter.length === 0 ? 0 : Math.max(...t.record_delimiter.map((e) => e.length)),
2222
+ trimChars: [
2223
+ a.from(" ", t.encoding)[0],
2224
+ a.from(" ", t.encoding)[0]
2225
+ ],
2226
+ wasQuoting: !1,
2227
+ wasRowDelimiter: !1,
2228
+ timchars: [
2229
+ a.from(a.from([Nn], "utf8").toString(), t.encoding),
2230
+ a.from(a.from([Dn], "utf8").toString(), t.encoding),
2231
+ a.from(a.from([Ln], "utf8").toString(), t.encoding),
2232
+ a.from(a.from([Fn], "utf8").toString(), t.encoding),
2233
+ a.from(a.from([Mn], "utf8").toString(), t.encoding)
2234
+ ]
2235
+ };
2236
+ }, Un = function(t) {
2237
+ return t.replace(/([A-Z])/g, function(e, r) {
2238
+ return "_" + r.toLowerCase();
2239
+ });
2240
+ }, ft = function(t) {
2241
+ const e = {};
2242
+ for (const n in t)
2243
+ e[Un(n)] = t[n];
2244
+ if (e.encoding === void 0 || e.encoding === !0)
2245
+ e.encoding = "utf8";
2246
+ else if (e.encoding === null || e.encoding === !1)
2247
+ e.encoding = null;
2248
+ else if (typeof e.encoding != "string" && e.encoding !== null)
2249
+ throw new m(
2250
+ "CSV_INVALID_OPTION_ENCODING",
2251
+ [
2252
+ "Invalid option encoding:",
2253
+ "encoding must be a string or null to return a buffer,",
2254
+ `got ${JSON.stringify(e.encoding)}`
2255
+ ],
2256
+ e
2257
+ );
2258
+ if (e.bom === void 0 || e.bom === null || e.bom === !1)
2259
+ e.bom = !1;
2260
+ else if (e.bom !== !0)
2261
+ throw new m(
2262
+ "CSV_INVALID_OPTION_BOM",
2263
+ [
2264
+ "Invalid option bom:",
2265
+ "bom must be true,",
2266
+ `got ${JSON.stringify(e.bom)}`
2267
+ ],
2268
+ e
2269
+ );
2270
+ if (e.cast_function = null, e.cast === void 0 || e.cast === null || e.cast === !1 || e.cast === "")
2271
+ e.cast = void 0;
2272
+ else if (typeof e.cast == "function")
2273
+ e.cast_function = e.cast, e.cast = !0;
2274
+ else if (e.cast !== !0)
2275
+ throw new m(
2276
+ "CSV_INVALID_OPTION_CAST",
2277
+ [
2278
+ "Invalid option cast:",
2279
+ "cast must be true or a function,",
2280
+ `got ${JSON.stringify(e.cast)}`
2281
+ ],
2282
+ e
2283
+ );
2284
+ if (e.cast_date === void 0 || e.cast_date === null || e.cast_date === !1 || e.cast_date === "")
2285
+ e.cast_date = !1;
2286
+ else if (e.cast_date === !0)
2287
+ e.cast_date = function(n) {
2288
+ const i = Date.parse(n);
2289
+ return isNaN(i) ? n : new Date(i);
2290
+ };
2291
+ else if (typeof e.cast_date != "function")
2292
+ throw new m(
2293
+ "CSV_INVALID_OPTION_CAST_DATE",
2294
+ [
2295
+ "Invalid option cast_date:",
2296
+ "cast_date must be true or a function,",
2297
+ `got ${JSON.stringify(e.cast_date)}`
2298
+ ],
2299
+ e
2300
+ );
2301
+ if (e.cast_first_line_to_header = void 0, e.columns === !0)
2302
+ e.cast_first_line_to_header = void 0;
2303
+ else if (typeof e.columns == "function")
2304
+ e.cast_first_line_to_header = e.columns, e.columns = !0;
2305
+ else if (Array.isArray(e.columns))
2306
+ e.columns = Vt(e.columns);
2307
+ else if (e.columns === void 0 || e.columns === null || e.columns === !1)
2308
+ e.columns = !1;
2309
+ else
2310
+ throw new m(
2311
+ "CSV_INVALID_OPTION_COLUMNS",
2312
+ [
2313
+ "Invalid option columns:",
2314
+ "expect an array, a function or true,",
2315
+ `got ${JSON.stringify(e.columns)}`
2316
+ ],
2317
+ e
2318
+ );
2319
+ if (e.group_columns_by_name === void 0 || e.group_columns_by_name === null || e.group_columns_by_name === !1)
2320
+ e.group_columns_by_name = !1;
2321
+ else {
2322
+ if (e.group_columns_by_name !== !0)
2323
+ throw new m(
2324
+ "CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME",
2325
+ [
2326
+ "Invalid option group_columns_by_name:",
2327
+ "expect an boolean,",
2328
+ `got ${JSON.stringify(e.group_columns_by_name)}`
2329
+ ],
2330
+ e
2331
+ );
2332
+ if (e.columns === !1)
2333
+ throw new m(
2334
+ "CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME",
2335
+ [
2336
+ "Invalid option group_columns_by_name:",
2337
+ "the `columns` mode must be activated."
2338
+ ],
2339
+ e
2340
+ );
2341
+ }
2342
+ if (e.comment === void 0 || e.comment === null || e.comment === !1 || e.comment === "")
2343
+ e.comment = null;
2344
+ else if (typeof e.comment == "string" && (e.comment = a.from(e.comment, e.encoding)), !L(e.comment))
2345
+ throw new m(
2346
+ "CSV_INVALID_OPTION_COMMENT",
2347
+ [
2348
+ "Invalid option comment:",
2349
+ "comment must be a buffer or a string,",
2350
+ `got ${JSON.stringify(e.comment)}`
2351
+ ],
2352
+ e
2353
+ );
2354
+ if (e.comment_no_infix === void 0 || e.comment_no_infix === null || e.comment_no_infix === !1)
2355
+ e.comment_no_infix = !1;
2356
+ else if (e.comment_no_infix !== !0)
2357
+ throw new m(
2358
+ "CSV_INVALID_OPTION_COMMENT",
2359
+ [
2360
+ "Invalid option comment_no_infix:",
2361
+ "value must be a boolean,",
2362
+ `got ${JSON.stringify(e.comment_no_infix)}`
2363
+ ],
2364
+ e
2365
+ );
2366
+ const r = JSON.stringify(e.delimiter);
2367
+ if (Array.isArray(e.delimiter) || (e.delimiter = [e.delimiter]), e.delimiter.length === 0)
2368
+ throw new m(
2369
+ "CSV_INVALID_OPTION_DELIMITER",
2370
+ [
2371
+ "Invalid option delimiter:",
2372
+ "delimiter must be a non empty string or buffer or array of string|buffer,",
2373
+ `got ${r}`
2374
+ ],
2375
+ e
2376
+ );
2377
+ if (e.delimiter = e.delimiter.map(function(n) {
2378
+ if (n == null || n === !1)
2379
+ return a.from(",", e.encoding);
2380
+ if (typeof n == "string" && (n = a.from(n, e.encoding)), !L(n) || n.length === 0)
2381
+ throw new m(
2382
+ "CSV_INVALID_OPTION_DELIMITER",
2383
+ [
2384
+ "Invalid option delimiter:",
2385
+ "delimiter must be a non empty string or buffer or array of string|buffer,",
2386
+ `got ${r}`
2387
+ ],
2388
+ e
2389
+ );
2390
+ return n;
2391
+ }), e.escape === void 0 || e.escape === !0 ? e.escape = a.from('"', e.encoding) : typeof e.escape == "string" ? e.escape = a.from(e.escape, e.encoding) : (e.escape === null || e.escape === !1) && (e.escape = null), e.escape !== null && !L(e.escape))
2392
+ throw new Error(
2393
+ `Invalid Option: escape must be a buffer, a string or a boolean, got ${JSON.stringify(e.escape)}`
2394
+ );
2395
+ if (e.from === void 0 || e.from === null)
2396
+ e.from = 1;
2397
+ else if (typeof e.from == "string" && /\d+/.test(e.from) && (e.from = parseInt(e.from)), Number.isInteger(e.from)) {
2398
+ if (e.from < 0)
2399
+ throw new Error(
2400
+ `Invalid Option: from must be a positive integer, got ${JSON.stringify(t.from)}`
2401
+ );
2402
+ } else
2403
+ throw new Error(
2404
+ `Invalid Option: from must be an integer, got ${JSON.stringify(e.from)}`
2405
+ );
2406
+ if (e.from_line === void 0 || e.from_line === null)
2407
+ e.from_line = 1;
2408
+ else if (typeof e.from_line == "string" && /\d+/.test(e.from_line) && (e.from_line = parseInt(e.from_line)), Number.isInteger(e.from_line)) {
2409
+ if (e.from_line <= 0)
2410
+ throw new Error(
2411
+ `Invalid Option: from_line must be a positive integer greater than 0, got ${JSON.stringify(t.from_line)}`
2412
+ );
2413
+ } else
2414
+ throw new Error(
2415
+ `Invalid Option: from_line must be an integer, got ${JSON.stringify(t.from_line)}`
2416
+ );
2417
+ if (e.ignore_last_delimiters === void 0 || e.ignore_last_delimiters === null)
2418
+ e.ignore_last_delimiters = !1;
2419
+ else if (typeof e.ignore_last_delimiters == "number")
2420
+ e.ignore_last_delimiters = Math.floor(e.ignore_last_delimiters), e.ignore_last_delimiters === 0 && (e.ignore_last_delimiters = !1);
2421
+ else if (typeof e.ignore_last_delimiters != "boolean")
2422
+ throw new m(
2423
+ "CSV_INVALID_OPTION_IGNORE_LAST_DELIMITERS",
2424
+ [
2425
+ "Invalid option `ignore_last_delimiters`:",
2426
+ "the value must be a boolean value or an integer,",
2427
+ `got ${JSON.stringify(e.ignore_last_delimiters)}`
2428
+ ],
2429
+ e
2430
+ );
2431
+ if (e.ignore_last_delimiters === !0 && e.columns === !1)
2432
+ throw new m(
2433
+ "CSV_IGNORE_LAST_DELIMITERS_REQUIRES_COLUMNS",
2434
+ [
2435
+ "The option `ignore_last_delimiters`",
2436
+ "requires the activation of the `columns` option"
2437
+ ],
2438
+ e
2439
+ );
2440
+ if (e.info === void 0 || e.info === null || e.info === !1)
2441
+ e.info = !1;
2442
+ else if (e.info !== !0)
2443
+ throw new Error(
2444
+ `Invalid Option: info must be true, got ${JSON.stringify(e.info)}`
2445
+ );
2446
+ if (e.max_record_size === void 0 || e.max_record_size === null || e.max_record_size === !1)
2447
+ e.max_record_size = 0;
2448
+ else if (!(Number.isInteger(e.max_record_size) && e.max_record_size >= 0)) if (typeof e.max_record_size == "string" && /\d+/.test(e.max_record_size))
2449
+ e.max_record_size = parseInt(e.max_record_size);
2450
+ else
2451
+ throw new Error(
2452
+ `Invalid Option: max_record_size must be a positive integer, got ${JSON.stringify(e.max_record_size)}`
2453
+ );
2454
+ if (e.objname === void 0 || e.objname === null || e.objname === !1)
2455
+ e.objname = void 0;
2456
+ else if (L(e.objname)) {
2457
+ if (e.objname.length === 0)
2458
+ throw new Error("Invalid Option: objname must be a non empty buffer");
2459
+ e.encoding === null || (e.objname = e.objname.toString(e.encoding));
2460
+ } else if (typeof e.objname == "string") {
2461
+ if (e.objname.length === 0)
2462
+ throw new Error("Invalid Option: objname must be a non empty string");
2463
+ } else if (typeof e.objname != "number") throw new Error(
2464
+ `Invalid Option: objname must be a string or a buffer, got ${e.objname}`
2465
+ );
2466
+ if (e.objname !== void 0) {
2467
+ if (typeof e.objname == "number") {
2468
+ if (e.columns !== !1)
2469
+ throw Error(
2470
+ "Invalid Option: objname index cannot be combined with columns or be defined as a field"
2471
+ );
2472
+ } else if (e.columns === !1)
2473
+ throw Error(
2474
+ "Invalid Option: objname field must be combined with columns or be defined as an index"
2475
+ );
2476
+ }
2477
+ if (e.on_record === void 0 || e.on_record === null)
2478
+ e.on_record = void 0;
2479
+ else if (typeof e.on_record != "function")
2480
+ throw new m(
2481
+ "CSV_INVALID_OPTION_ON_RECORD",
2482
+ [
2483
+ "Invalid option `on_record`:",
2484
+ "expect a function,",
2485
+ `got ${JSON.stringify(e.on_record)}`
2486
+ ],
2487
+ e
2488
+ );
2489
+ if (e.on_skip !== void 0 && e.on_skip !== null && typeof e.on_skip != "function")
2490
+ throw new Error(
2491
+ `Invalid Option: on_skip must be a function, got ${JSON.stringify(e.on_skip)}`
2492
+ );
2493
+ if (e.quote === null || e.quote === !1 || e.quote === "")
2494
+ e.quote = null;
2495
+ else if (e.quote === void 0 || e.quote === !0 ? e.quote = a.from('"', e.encoding) : typeof e.quote == "string" && (e.quote = a.from(e.quote, e.encoding)), !L(e.quote))
2496
+ throw new Error(
2497
+ `Invalid Option: quote must be a buffer or a string, got ${JSON.stringify(e.quote)}`
2498
+ );
2499
+ if (e.raw === void 0 || e.raw === null || e.raw === !1)
2500
+ e.raw = !1;
2501
+ else if (e.raw !== !0)
2502
+ throw new Error(
2503
+ `Invalid Option: raw must be true, got ${JSON.stringify(e.raw)}`
2504
+ );
2505
+ if (e.record_delimiter === void 0)
2506
+ e.record_delimiter = [];
2507
+ else if (typeof e.record_delimiter == "string" || L(e.record_delimiter)) {
2508
+ if (e.record_delimiter.length === 0)
2509
+ throw new m(
2510
+ "CSV_INVALID_OPTION_RECORD_DELIMITER",
2511
+ [
2512
+ "Invalid option `record_delimiter`:",
2513
+ "value must be a non empty string or buffer,",
2514
+ `got ${JSON.stringify(e.record_delimiter)}`
2515
+ ],
2516
+ e
2517
+ );
2518
+ e.record_delimiter = [e.record_delimiter];
2519
+ } else if (!Array.isArray(e.record_delimiter))
2520
+ throw new m(
2521
+ "CSV_INVALID_OPTION_RECORD_DELIMITER",
2522
+ [
2523
+ "Invalid option `record_delimiter`:",
2524
+ "value must be a string, a buffer or array of string|buffer,",
2525
+ `got ${JSON.stringify(e.record_delimiter)}`
2526
+ ],
2527
+ e
2528
+ );
2529
+ if (e.record_delimiter = e.record_delimiter.map(function(n, i) {
2530
+ if (typeof n != "string" && !L(n))
2531
+ throw new m(
2532
+ "CSV_INVALID_OPTION_RECORD_DELIMITER",
2533
+ [
2534
+ "Invalid option `record_delimiter`:",
2535
+ "value must be a string, a buffer or array of string|buffer",
2536
+ `at index ${i},`,
2537
+ `got ${JSON.stringify(n)}`
2538
+ ],
2539
+ e
2540
+ );
2541
+ if (n.length === 0)
2542
+ throw new m(
2543
+ "CSV_INVALID_OPTION_RECORD_DELIMITER",
2544
+ [
2545
+ "Invalid option `record_delimiter`:",
2546
+ "value must be a non empty string or buffer",
2547
+ `at index ${i},`,
2548
+ `got ${JSON.stringify(n)}`
2549
+ ],
2550
+ e
2551
+ );
2552
+ return typeof n == "string" && (n = a.from(n, e.encoding)), n;
2553
+ }), typeof e.relax_column_count != "boolean") if (e.relax_column_count === void 0 || e.relax_column_count === null)
2554
+ e.relax_column_count = !1;
2555
+ else
2556
+ throw new Error(
2557
+ `Invalid Option: relax_column_count must be a boolean, got ${JSON.stringify(e.relax_column_count)}`
2558
+ );
2559
+ if (typeof e.relax_column_count_less != "boolean") if (e.relax_column_count_less === void 0 || e.relax_column_count_less === null)
2560
+ e.relax_column_count_less = !1;
2561
+ else
2562
+ throw new Error(
2563
+ `Invalid Option: relax_column_count_less must be a boolean, got ${JSON.stringify(e.relax_column_count_less)}`
2564
+ );
2565
+ if (typeof e.relax_column_count_more != "boolean") if (e.relax_column_count_more === void 0 || e.relax_column_count_more === null)
2566
+ e.relax_column_count_more = !1;
2567
+ else
2568
+ throw new Error(
2569
+ `Invalid Option: relax_column_count_more must be a boolean, got ${JSON.stringify(e.relax_column_count_more)}`
2570
+ );
2571
+ if (typeof e.relax_quotes != "boolean") if (e.relax_quotes === void 0 || e.relax_quotes === null)
2572
+ e.relax_quotes = !1;
2573
+ else
2574
+ throw new Error(
2575
+ `Invalid Option: relax_quotes must be a boolean, got ${JSON.stringify(e.relax_quotes)}`
2576
+ );
2577
+ if (typeof e.skip_empty_lines != "boolean") if (e.skip_empty_lines === void 0 || e.skip_empty_lines === null)
2578
+ e.skip_empty_lines = !1;
2579
+ else
2580
+ throw new Error(
2581
+ `Invalid Option: skip_empty_lines must be a boolean, got ${JSON.stringify(e.skip_empty_lines)}`
2582
+ );
2583
+ if (typeof e.skip_records_with_empty_values != "boolean") if (e.skip_records_with_empty_values === void 0 || e.skip_records_with_empty_values === null)
2584
+ e.skip_records_with_empty_values = !1;
2585
+ else
2586
+ throw new Error(
2587
+ `Invalid Option: skip_records_with_empty_values must be a boolean, got ${JSON.stringify(e.skip_records_with_empty_values)}`
2588
+ );
2589
+ if (typeof e.skip_records_with_error != "boolean") if (e.skip_records_with_error === void 0 || e.skip_records_with_error === null)
2590
+ e.skip_records_with_error = !1;
2591
+ else
2592
+ throw new Error(
2593
+ `Invalid Option: skip_records_with_error must be a boolean, got ${JSON.stringify(e.skip_records_with_error)}`
2594
+ );
2595
+ if (e.rtrim === void 0 || e.rtrim === null || e.rtrim === !1)
2596
+ e.rtrim = !1;
2597
+ else if (e.rtrim !== !0)
2598
+ throw new Error(
2599
+ `Invalid Option: rtrim must be a boolean, got ${JSON.stringify(e.rtrim)}`
2600
+ );
2601
+ if (e.ltrim === void 0 || e.ltrim === null || e.ltrim === !1)
2602
+ e.ltrim = !1;
2603
+ else if (e.ltrim !== !0)
2604
+ throw new Error(
2605
+ `Invalid Option: ltrim must be a boolean, got ${JSON.stringify(e.ltrim)}`
2606
+ );
2607
+ if (e.trim === void 0 || e.trim === null || e.trim === !1)
2608
+ e.trim = !1;
2609
+ else if (e.trim !== !0)
2610
+ throw new Error(
2611
+ `Invalid Option: trim must be a boolean, got ${JSON.stringify(e.trim)}`
2612
+ );
2613
+ if (e.trim === !0 && t.ltrim !== !1 ? e.ltrim = !0 : e.ltrim !== !0 && (e.ltrim = !1), e.trim === !0 && t.rtrim !== !1 ? e.rtrim = !0 : e.rtrim !== !0 && (e.rtrim = !1), e.to === void 0 || e.to === null)
2614
+ e.to = -1;
2615
+ else if (e.to !== -1)
2616
+ if (typeof e.to == "string" && /\d+/.test(e.to) && (e.to = parseInt(e.to)), Number.isInteger(e.to)) {
2617
+ if (e.to <= 0)
2618
+ throw new Error(
2619
+ `Invalid Option: to must be a positive integer greater than 0, got ${JSON.stringify(t.to)}`
2620
+ );
2621
+ } else
2622
+ throw new Error(
2623
+ `Invalid Option: to must be an integer, got ${JSON.stringify(t.to)}`
2624
+ );
2625
+ if (e.to_line === void 0 || e.to_line === null)
2626
+ e.to_line = -1;
2627
+ else if (e.to_line !== -1)
2628
+ if (typeof e.to_line == "string" && /\d+/.test(e.to_line) && (e.to_line = parseInt(e.to_line)), Number.isInteger(e.to_line)) {
2629
+ if (e.to_line <= 0)
2630
+ throw new Error(
2631
+ `Invalid Option: to_line must be a positive integer greater than 0, got ${JSON.stringify(t.to_line)}`
2632
+ );
2633
+ } else
2634
+ throw new Error(
2635
+ `Invalid Option: to_line must be an integer, got ${JSON.stringify(t.to_line)}`
2636
+ );
2637
+ return e;
2638
+ }, at = function(t) {
2639
+ return t.every(
2640
+ (e) => e == null || e.toString && e.toString().trim() === ""
2641
+ );
2642
+ }, kn = 13, Pn = 10, re = {
2643
+ // Note, the following are equals:
2644
+ // Buffer.from("\ufeff")
2645
+ // Buffer.from([239, 187, 191])
2646
+ // Buffer.from('EFBBBF', 'hex')
2647
+ utf8: a.from([239, 187, 191]),
2648
+ // Note, the following are equals:
2649
+ // Buffer.from "\ufeff", 'utf16le
2650
+ // Buffer.from([255, 254])
2651
+ utf16le: a.from([255, 254])
2652
+ }, jn = function(t = {}) {
2653
+ const e = {
2654
+ bytes: 0,
2655
+ comment_lines: 0,
2656
+ empty_lines: 0,
2657
+ invalid_field_length: 0,
2658
+ lines: 1,
2659
+ records: 0
2660
+ }, r = ft(t);
2661
+ return {
2662
+ info: e,
2663
+ original_options: t,
2664
+ options: r,
2665
+ state: Bn(r),
2666
+ __needMoreData: function(n, i, o) {
2667
+ if (o) return !1;
2668
+ const { encoding: s, escape: f, quote: l } = this.options, { quoting: u, needMoreDataSize: h, recordDelimiterMaxLength: c } = this.state, g = i - n - 1, v = Math.max(
2669
+ h,
2670
+ // Skip if the remaining buffer smaller than record delimiter
2671
+ // If "record_delimiter" is yet to be discovered:
2672
+ // 1. It is equals to `[]` and "recordDelimiterMaxLength" equals `0`
2673
+ // 2. We set the length to windows line ending in the current encoding
2674
+ // Note, that encoding is known from user or bom discovery at that point
2675
+ // recordDelimiterMaxLength,
2676
+ c === 0 ? a.from(`\r
2677
+ `, s).length : c,
2678
+ // Skip if remaining buffer can be an escaped quote
2679
+ u ? (f === null ? 0 : f.length) + l.length : 0,
2680
+ // Skip if remaining buffer can be record delimiter following the closing quote
2681
+ u ? l.length + c : 0
2682
+ );
2683
+ return g < v;
2684
+ },
2685
+ // Central parser implementation
2686
+ parse: function(n, i, o, s) {
2687
+ const {
2688
+ bom: f,
2689
+ comment_no_infix: l,
2690
+ encoding: u,
2691
+ from_line: h,
2692
+ ltrim: c,
2693
+ max_record_size: g,
2694
+ raw: v,
2695
+ relax_quotes: A,
2696
+ rtrim: x,
2697
+ skip_empty_lines: D,
2698
+ to: S,
2699
+ to_line: b
2700
+ } = this.options;
2701
+ let { comment: _, escape: T, quote: U, record_delimiter: Re } = this.options;
2702
+ const { bomSkipped: Jt, previousBuf: he, rawBuffer: Yt, escapeIsQuote: Wt } = this.state;
2703
+ let w;
2704
+ if (he === void 0)
2705
+ if (n === void 0) {
2706
+ s();
2707
+ return;
2708
+ } else
2709
+ w = n;
2710
+ else he !== void 0 && n === void 0 ? w = he : w = a.concat([he, n]);
2711
+ if (Jt === !1)
2712
+ if (f === !1)
2713
+ this.state.bomSkipped = !0;
2714
+ else if (w.length < 3) {
2715
+ if (i === !1) {
2716
+ this.state.previousBuf = w;
2717
+ return;
2718
+ }
2719
+ } else {
2720
+ for (const R in re)
2721
+ if (re[R].compare(w, 0, re[R].length) === 0) {
2722
+ const J = re[R].length;
2723
+ this.state.bufBytesStart += J, w = w.slice(J);
2724
+ const ce = ft({
2725
+ ...this.original_options,
2726
+ encoding: R
2727
+ });
2728
+ for (const I in ce)
2729
+ this.options[I] = ce[I];
2730
+ ({ comment: _, escape: T, quote: U } = this.options);
2731
+ break;
2732
+ }
2733
+ this.state.bomSkipped = !0;
2734
+ }
2735
+ const Ie = w.length;
2736
+ let d;
2737
+ for (d = 0; d < Ie && !this.__needMoreData(d, Ie, i); d++) {
2738
+ if (this.state.wasRowDelimiter === !0 && (this.info.lines++, this.state.wasRowDelimiter = !1), b !== -1 && this.info.lines > b) {
2739
+ this.state.stop = !0, s();
2740
+ return;
2741
+ }
2742
+ this.state.quoting === !1 && Re.length === 0 && this.__autoDiscoverRecordDelimiter(
2743
+ w,
2744
+ d
2745
+ ) && (Re = this.options.record_delimiter);
2746
+ const R = w[d];
2747
+ if (v === !0 && Yt.append(R), (R === kn || R === Pn) && this.state.wasRowDelimiter === !1 && (this.state.wasRowDelimiter = !0), this.state.escaping === !0)
2748
+ this.state.escaping = !1;
2749
+ else {
2750
+ if (T !== null && this.state.quoting === !0 && this.__isEscape(w, d, R) && d + T.length < Ie)
2751
+ if (Wt) {
2752
+ if (this.__isQuote(w, d + T.length)) {
2753
+ this.state.escaping = !0, d += T.length - 1;
2754
+ continue;
2755
+ }
2756
+ } else {
2757
+ this.state.escaping = !0, d += T.length - 1;
2758
+ continue;
2759
+ }
2760
+ if (this.state.commenting === !1 && this.__isQuote(w, d))
2761
+ if (this.state.quoting === !0) {
2762
+ const I = w[d + U.length], Z = x && this.__isCharTrimable(w, d + U.length), $ = _ !== null && this.__compareBytes(_, w, d + U.length, I), X = this.__isDelimiter(
2763
+ w,
2764
+ d + U.length,
2765
+ I
2766
+ ), de = Re.length === 0 ? this.__autoDiscoverRecordDelimiter(w, d + U.length) : this.__isRecordDelimiter(I, w, d + U.length);
2767
+ if (T !== null && this.__isEscape(w, d, R) && this.__isQuote(w, d + T.length))
2768
+ d += T.length - 1;
2769
+ else if (!I || X || de || $ || Z) {
2770
+ this.state.quoting = !1, this.state.wasQuoting = !0, d += U.length - 1;
2771
+ continue;
2772
+ } else if (A === !1) {
2773
+ const Qe = this.__error(
2774
+ new m(
2775
+ "CSV_INVALID_CLOSING_QUOTE",
2776
+ [
2777
+ "Invalid Closing Quote:",
2778
+ `got "${String.fromCharCode(I)}"`,
2779
+ `at line ${this.info.lines}`,
2780
+ "instead of delimiter, record delimiter, trimable character",
2781
+ "(if activated) or comment"
2782
+ ],
2783
+ this.options,
2784
+ this.__infoField()
2785
+ )
2786
+ );
2787
+ if (Qe !== void 0) return Qe;
2788
+ } else
2789
+ this.state.quoting = !1, this.state.wasQuoting = !0, this.state.field.prepend(U), d += U.length - 1;
2790
+ } else if (this.state.field.length !== 0) {
2791
+ if (A === !1) {
2792
+ const I = this.__infoField(), Z = Object.keys(re).map(
2793
+ (X) => re[X].equals(this.state.field.toString()) ? X : !1
2794
+ ).filter(Boolean)[0], $ = this.__error(
2795
+ new m(
2796
+ "INVALID_OPENING_QUOTE",
2797
+ [
2798
+ "Invalid Opening Quote:",
2799
+ `a quote is found on field ${JSON.stringify(I.column)} at line ${I.lines}, value is ${JSON.stringify(this.state.field.toString(u))}`,
2800
+ Z ? `(${Z} bom)` : void 0
2801
+ ],
2802
+ this.options,
2803
+ I,
2804
+ {
2805
+ field: this.state.field
2806
+ }
2807
+ )
2808
+ );
2809
+ if ($ !== void 0) return $;
2810
+ }
2811
+ } else {
2812
+ this.state.quoting = !0, d += U.length - 1;
2813
+ continue;
2814
+ }
2815
+ if (this.state.quoting === !1) {
2816
+ const I = this.__isRecordDelimiter(
2817
+ R,
2818
+ w,
2819
+ d
2820
+ );
2821
+ if (I !== 0) {
2822
+ if (this.state.commenting && this.state.wasQuoting === !1 && this.state.record.length === 0 && this.state.field.length === 0)
2823
+ this.info.comment_lines++;
2824
+ else {
2825
+ if (this.state.enabled === !1 && this.info.lines + (this.state.wasRowDelimiter === !0 ? 1 : 0) >= h) {
2826
+ this.state.enabled = !0, this.__resetField(), this.__resetRecord(), d += I - 1;
2827
+ continue;
2828
+ }
2829
+ if (D === !0 && this.state.wasQuoting === !1 && this.state.record.length === 0 && this.state.field.length === 0) {
2830
+ this.info.empty_lines++, d += I - 1;
2831
+ continue;
2832
+ }
2833
+ this.info.bytes = this.state.bufBytesStart + d;
2834
+ const X = this.__onField();
2835
+ if (X !== void 0) return X;
2836
+ this.info.bytes = this.state.bufBytesStart + d + I;
2837
+ const de = this.__onRecord(o);
2838
+ if (de !== void 0) return de;
2839
+ if (S !== -1 && this.info.records >= S) {
2840
+ this.state.stop = !0, s();
2841
+ return;
2842
+ }
2843
+ }
2844
+ this.state.commenting = !1, d += I - 1;
2845
+ continue;
2846
+ }
2847
+ if (this.state.commenting)
2848
+ continue;
2849
+ if (_ !== null && (l === !1 || this.state.record.length === 0 && this.state.field.length === 0) && this.__compareBytes(_, w, d, R) !== 0) {
2850
+ this.state.commenting = !0;
2851
+ continue;
2852
+ }
2853
+ const Z = this.__isDelimiter(w, d, R);
2854
+ if (Z !== 0) {
2855
+ this.info.bytes = this.state.bufBytesStart + d;
2856
+ const $ = this.__onField();
2857
+ if ($ !== void 0) return $;
2858
+ d += Z - 1;
2859
+ continue;
2860
+ }
2861
+ }
2862
+ }
2863
+ if (this.state.commenting === !1 && g !== 0 && this.state.record_length + this.state.field.length > g)
2864
+ return this.__error(
2865
+ new m(
2866
+ "CSV_MAX_RECORD_SIZE",
2867
+ [
2868
+ "Max Record Size:",
2869
+ "record exceed the maximum number of tolerated bytes",
2870
+ `of ${g}`,
2871
+ `at line ${this.info.lines}`
2872
+ ],
2873
+ this.options,
2874
+ this.__infoField()
2875
+ )
2876
+ );
2877
+ const J = c === !1 || this.state.quoting === !0 || this.state.field.length !== 0 || !this.__isCharTrimable(w, d), ce = x === !1 || this.state.wasQuoting === !1;
2878
+ if (J === !0 && ce === !0)
2879
+ this.state.field.append(R);
2880
+ else {
2881
+ if (x === !0 && !this.__isCharTrimable(w, d))
2882
+ return this.__error(
2883
+ new m(
2884
+ "CSV_NON_TRIMABLE_CHAR_AFTER_CLOSING_QUOTE",
2885
+ [
2886
+ "Invalid Closing Quote:",
2887
+ "found non trimable byte after quote",
2888
+ `at line ${this.info.lines}`
2889
+ ],
2890
+ this.options,
2891
+ this.__infoField()
2892
+ )
2893
+ );
2894
+ J === !1 && (d += this.__isCharTrimable(w, d) - 1);
2895
+ continue;
2896
+ }
2897
+ }
2898
+ if (i === !0)
2899
+ if (this.state.quoting === !0) {
2900
+ const R = this.__error(
2901
+ new m(
2902
+ "CSV_QUOTE_NOT_CLOSED",
2903
+ [
2904
+ "Quote Not Closed:",
2905
+ `the parsing is finished with an opening quote at line ${this.info.lines}`
2906
+ ],
2907
+ this.options,
2908
+ this.__infoField()
2909
+ )
2910
+ );
2911
+ if (R !== void 0) return R;
2912
+ } else if (this.state.wasQuoting === !0 || this.state.record.length !== 0 || this.state.field.length !== 0) {
2913
+ this.info.bytes = this.state.bufBytesStart + d;
2914
+ const R = this.__onField();
2915
+ if (R !== void 0) return R;
2916
+ const J = this.__onRecord(o);
2917
+ if (J !== void 0) return J;
2918
+ } else this.state.wasRowDelimiter === !0 ? this.info.empty_lines++ : this.state.commenting === !0 && this.info.comment_lines++;
2919
+ else
2920
+ this.state.bufBytesStart += d, this.state.previousBuf = w.slice(d);
2921
+ this.state.wasRowDelimiter === !0 && (this.info.lines++, this.state.wasRowDelimiter = !1);
2922
+ },
2923
+ __onRecord: function(n) {
2924
+ const {
2925
+ columns: i,
2926
+ group_columns_by_name: o,
2927
+ encoding: s,
2928
+ info: f,
2929
+ from: l,
2930
+ relax_column_count: u,
2931
+ relax_column_count_less: h,
2932
+ relax_column_count_more: c,
2933
+ raw: g,
2934
+ skip_records_with_empty_values: v
2935
+ } = this.options, { enabled: A, record: x } = this.state;
2936
+ if (A === !1)
2937
+ return this.__resetRecord();
2938
+ const D = x.length;
2939
+ if (i === !0) {
2940
+ if (v === !0 && at(x)) {
2941
+ this.__resetRecord();
2942
+ return;
2943
+ }
2944
+ return this.__firstLineToColumns(x);
2945
+ }
2946
+ if (i === !1 && this.info.records === 0 && (this.state.expectedRecordLength = D), D !== this.state.expectedRecordLength) {
2947
+ const S = i === !1 ? new m(
2948
+ "CSV_RECORD_INCONSISTENT_FIELDS_LENGTH",
2949
+ [
2950
+ "Invalid Record Length:",
2951
+ `expect ${this.state.expectedRecordLength},`,
2952
+ `got ${D} on line ${this.info.lines}`
2953
+ ],
2954
+ this.options,
2955
+ this.__infoField(),
2956
+ {
2957
+ record: x
2958
+ }
2959
+ ) : new m(
2960
+ "CSV_RECORD_INCONSISTENT_COLUMNS",
2961
+ [
2962
+ "Invalid Record Length:",
2963
+ `columns length is ${i.length},`,
2964
+ // rename columns
2965
+ `got ${D} on line ${this.info.lines}`
2966
+ ],
2967
+ this.options,
2968
+ this.__infoField(),
2969
+ {
2970
+ record: x
2971
+ }
2972
+ );
2973
+ if (u === !0 || h === !0 && D < this.state.expectedRecordLength || c === !0 && D > this.state.expectedRecordLength)
2974
+ this.info.invalid_field_length++, this.state.error = S;
2975
+ else {
2976
+ const b = this.__error(S);
2977
+ if (b) return b;
2978
+ }
2979
+ }
2980
+ if (v === !0 && at(x)) {
2981
+ this.__resetRecord();
2982
+ return;
2983
+ }
2984
+ if (this.state.recordHasError === !0) {
2985
+ this.__resetRecord(), this.state.recordHasError = !1;
2986
+ return;
2987
+ }
2988
+ if (this.info.records++, l === 1 || this.info.records >= l) {
2989
+ const { objname: S } = this.options;
2990
+ if (i !== !1) {
2991
+ const b = {};
2992
+ for (let _ = 0, T = x.length; _ < T; _++)
2993
+ i[_] === void 0 || i[_].disabled || (o === !0 && b[i[_].name] !== void 0 ? Array.isArray(b[i[_].name]) ? b[i[_].name] = b[i[_].name].concat(x[_]) : b[i[_].name] = [b[i[_].name], x[_]] : b[i[_].name] = x[_]);
2994
+ if (g === !0 || f === !0) {
2995
+ const _ = Object.assign(
2996
+ { record: b },
2997
+ g === !0 ? { raw: this.state.rawBuffer.toString(s) } : {},
2998
+ f === !0 ? { info: this.__infoRecord() } : {}
2999
+ ), T = this.__push(
3000
+ S === void 0 ? _ : [b[S], _],
3001
+ n
3002
+ );
3003
+ if (T)
3004
+ return T;
3005
+ } else {
3006
+ const _ = this.__push(
3007
+ S === void 0 ? b : [b[S], b],
3008
+ n
3009
+ );
3010
+ if (_)
3011
+ return _;
3012
+ }
3013
+ } else if (g === !0 || f === !0) {
3014
+ const b = Object.assign(
3015
+ { record: x },
3016
+ g === !0 ? { raw: this.state.rawBuffer.toString(s) } : {},
3017
+ f === !0 ? { info: this.__infoRecord() } : {}
3018
+ ), _ = this.__push(
3019
+ S === void 0 ? b : [x[S], b],
3020
+ n
3021
+ );
3022
+ if (_)
3023
+ return _;
3024
+ } else {
3025
+ const b = this.__push(
3026
+ S === void 0 ? x : [x[S], x],
3027
+ n
3028
+ );
3029
+ if (b)
3030
+ return b;
3031
+ }
3032
+ }
3033
+ this.__resetRecord();
3034
+ },
3035
+ __firstLineToColumns: function(n) {
3036
+ const { firstLineToHeaders: i } = this.state;
3037
+ try {
3038
+ const o = i === void 0 ? n : i.call(null, n);
3039
+ if (!Array.isArray(o))
3040
+ return this.__error(
3041
+ new m(
3042
+ "CSV_INVALID_COLUMN_MAPPING",
3043
+ [
3044
+ "Invalid Column Mapping:",
3045
+ "expect an array from column function,",
3046
+ `got ${JSON.stringify(o)}`
3047
+ ],
3048
+ this.options,
3049
+ this.__infoField(),
3050
+ {
3051
+ headers: o
3052
+ }
3053
+ )
3054
+ );
3055
+ const s = Vt(o);
3056
+ this.state.expectedRecordLength = s.length, this.options.columns = s, this.__resetRecord();
3057
+ return;
3058
+ } catch (o) {
3059
+ return o;
3060
+ }
3061
+ },
3062
+ __resetRecord: function() {
3063
+ this.options.raw === !0 && this.state.rawBuffer.reset(), this.state.error = void 0, this.state.record = [], this.state.record_length = 0;
3064
+ },
3065
+ __onField: function() {
3066
+ const { cast: n, encoding: i, rtrim: o, max_record_size: s } = this.options, { enabled: f, wasQuoting: l } = this.state;
3067
+ if (f === !1)
3068
+ return this.__resetField();
3069
+ let u = this.state.field.toString(i);
3070
+ if (o === !0 && l === !1 && (u = u.trimRight()), n === !0) {
3071
+ const [h, c] = this.__cast(u);
3072
+ if (h !== void 0) return h;
3073
+ u = c;
3074
+ }
3075
+ this.state.record.push(u), s !== 0 && typeof u == "string" && (this.state.record_length += u.length), this.__resetField();
3076
+ },
3077
+ __resetField: function() {
3078
+ this.state.field.reset(), this.state.wasQuoting = !1;
3079
+ },
3080
+ __push: function(n, i) {
3081
+ const { on_record: o } = this.options;
3082
+ if (o !== void 0) {
3083
+ const s = this.__infoRecord();
3084
+ try {
3085
+ n = o.call(null, n, s);
3086
+ } catch (f) {
3087
+ return f;
3088
+ }
3089
+ if (n == null)
3090
+ return;
3091
+ }
3092
+ i(n);
3093
+ },
3094
+ // Return a tuple with the error and the casted value
3095
+ __cast: function(n) {
3096
+ const { columns: i, relax_column_count: o } = this.options;
3097
+ if (Array.isArray(i) === !0 && o && this.options.columns.length <= this.state.record.length)
3098
+ return [void 0, void 0];
3099
+ if (this.state.castField !== null)
3100
+ try {
3101
+ const f = this.__infoField();
3102
+ return [void 0, this.state.castField.call(null, n, f)];
3103
+ } catch (f) {
3104
+ return [f];
3105
+ }
3106
+ if (this.__isFloat(n))
3107
+ return [void 0, parseFloat(n)];
3108
+ if (this.options.cast_date !== !1) {
3109
+ const f = this.__infoField();
3110
+ return [void 0, this.options.cast_date.call(null, n, f)];
3111
+ }
3112
+ return [void 0, n];
3113
+ },
3114
+ // Helper to test if a character is a space or a line delimiter
3115
+ __isCharTrimable: function(n, i) {
3116
+ return ((s, f) => {
3117
+ const { timchars: l } = this.state;
3118
+ e: for (let u = 0; u < l.length; u++) {
3119
+ const h = l[u];
3120
+ for (let c = 0; c < h.length; c++)
3121
+ if (h[c] !== s[f + c]) continue e;
3122
+ return h.length;
3123
+ }
3124
+ return 0;
3125
+ })(n, i);
3126
+ },
3127
+ // Keep it in case we implement the `cast_int` option
3128
+ // __isInt(value){
3129
+ // // return Number.isInteger(parseInt(value))
3130
+ // // return !isNaN( parseInt( obj ) );
3131
+ // return /^(\-|\+)?[1-9][0-9]*$/.test(value)
3132
+ // }
3133
+ __isFloat: function(n) {
3134
+ return n - parseFloat(n) + 1 >= 0;
3135
+ },
3136
+ __compareBytes: function(n, i, o, s) {
3137
+ if (n[0] !== s) return 0;
3138
+ const f = n.length;
3139
+ for (let l = 1; l < f; l++)
3140
+ if (n[l] !== i[o + l]) return 0;
3141
+ return f;
3142
+ },
3143
+ __isDelimiter: function(n, i, o) {
3144
+ const { delimiter: s, ignore_last_delimiters: f } = this.options;
3145
+ if (f === !0 && this.state.record.length === this.options.columns.length - 1)
3146
+ return 0;
3147
+ if (f !== !1 && typeof f == "number" && this.state.record.length === f - 1)
3148
+ return 0;
3149
+ e: for (let l = 0; l < s.length; l++) {
3150
+ const u = s[l];
3151
+ if (u[0] === o) {
3152
+ for (let h = 1; h < u.length; h++)
3153
+ if (u[h] !== n[i + h]) continue e;
3154
+ return u.length;
3155
+ }
3156
+ }
3157
+ return 0;
3158
+ },
3159
+ __isRecordDelimiter: function(n, i, o) {
3160
+ const { record_delimiter: s } = this.options, f = s.length;
3161
+ e: for (let l = 0; l < f; l++) {
3162
+ const u = s[l], h = u.length;
3163
+ if (u[0] === n) {
3164
+ for (let c = 1; c < h; c++)
3165
+ if (u[c] !== i[o + c])
3166
+ continue e;
3167
+ return u.length;
3168
+ }
3169
+ }
3170
+ return 0;
3171
+ },
3172
+ __isEscape: function(n, i, o) {
3173
+ const { escape: s } = this.options;
3174
+ if (s === null) return !1;
3175
+ const f = s.length;
3176
+ if (s[0] === o) {
3177
+ for (let l = 0; l < f; l++)
3178
+ if (s[l] !== n[i + l])
3179
+ return !1;
3180
+ return !0;
3181
+ }
3182
+ return !1;
3183
+ },
3184
+ __isQuote: function(n, i) {
3185
+ const { quote: o } = this.options;
3186
+ if (o === null) return !1;
3187
+ const s = o.length;
3188
+ for (let f = 0; f < s; f++)
3189
+ if (o[f] !== n[i + f])
3190
+ return !1;
3191
+ return !0;
3192
+ },
3193
+ __autoDiscoverRecordDelimiter: function(n, i) {
3194
+ const { encoding: o } = this.options, s = [
3195
+ // Important, the windows line ending must be before mac os 9
3196
+ a.from(`\r
3197
+ `, o),
3198
+ a.from(`
3199
+ `, o),
3200
+ a.from("\r", o)
3201
+ ];
3202
+ e: for (let f = 0; f < s.length; f++) {
3203
+ const l = s[f].length;
3204
+ for (let u = 0; u < l; u++)
3205
+ if (s[f][u] !== n[i + u])
3206
+ continue e;
3207
+ return this.options.record_delimiter.push(s[f]), this.state.recordDelimiterMaxLength = s[f].length, s[f].length;
3208
+ }
3209
+ return 0;
3210
+ },
3211
+ __error: function(n) {
3212
+ const { encoding: i, raw: o, skip_records_with_error: s } = this.options, f = typeof n == "string" ? new Error(n) : n;
3213
+ if (s) {
3214
+ if (this.state.recordHasError = !0, this.options.on_skip !== void 0)
3215
+ try {
3216
+ this.options.on_skip(
3217
+ f,
3218
+ o ? this.state.rawBuffer.toString(i) : void 0
3219
+ );
3220
+ } catch (l) {
3221
+ return l;
3222
+ }
3223
+ return;
3224
+ } else
3225
+ return f;
3226
+ },
3227
+ __infoDataSet: function() {
3228
+ return {
3229
+ ...this.info,
3230
+ columns: this.options.columns
3231
+ };
3232
+ },
3233
+ __infoRecord: function() {
3234
+ const { columns: n, raw: i, encoding: o } = this.options;
3235
+ return {
3236
+ ...this.__infoDataSet(),
3237
+ error: this.state.error,
3238
+ header: n === !0,
3239
+ index: this.state.record.length,
3240
+ raw: i ? this.state.rawBuffer.toString(o) : void 0
3241
+ };
3242
+ },
3243
+ __infoField: function() {
3244
+ const { columns: n } = this.options, i = Array.isArray(n);
3245
+ return {
3246
+ ...this.__infoRecord(),
3247
+ column: i === !0 ? n.length > this.state.record.length ? n[this.state.record.length].name : null : this.state.record.length,
3248
+ quoting: this.state.wasQuoting
3249
+ };
3250
+ }
3251
+ };
3252
+ };
3253
+ class $n extends k {
3254
+ constructor(e = {}) {
3255
+ super({ readableObjectMode: !0, ...e, encoding: null }), this.api = jn({
3256
+ on_skip: (r, n) => {
3257
+ this.emit("skip", r, n);
3258
+ },
3259
+ ...e
3260
+ }), this.state = this.api.state, this.options = this.api.options, this.info = this.api.info;
3261
+ }
3262
+ // Implementation of `Transform._transform`
3263
+ _transform(e, r, n) {
3264
+ if (this.state.stop === !0)
3265
+ return;
3266
+ const i = this.api.parse(
3267
+ e,
3268
+ !1,
3269
+ (o) => {
3270
+ this.push(o);
3271
+ },
3272
+ () => {
3273
+ this.push(null), this.end(), this.on("end", this.destroy);
3274
+ }
3275
+ );
3276
+ i !== void 0 && (this.state.stop = !0), n(i);
3277
+ }
3278
+ // Implementation of `Transform._flush`
3279
+ _flush(e) {
3280
+ if (this.state.stop === !0)
3281
+ return;
3282
+ const r = this.api.parse(
3283
+ void 0,
3284
+ !0,
3285
+ (n) => {
3286
+ this.push(n);
3287
+ },
3288
+ () => {
3289
+ this.push(null), this.on("end", this.destroy);
3290
+ }
3291
+ );
3292
+ e(r);
3293
+ }
3294
+ }
3295
+ const qn = function() {
3296
+ let t, e, r;
3297
+ for (const i in arguments) {
3298
+ const o = arguments[i], s = typeof o;
3299
+ if (t === void 0 && (typeof o == "string" || L(o)))
3300
+ t = o;
3301
+ else if (e === void 0 && zt(o))
3302
+ e = o;
3303
+ else if (r === void 0 && s === "function")
3304
+ r = o;
3305
+ else
3306
+ throw new m(
3307
+ "CSV_INVALID_ARGUMENT",
3308
+ ["Invalid argument:", `got ${JSON.stringify(o)} at index ${i}`],
3309
+ e || {}
3310
+ );
3311
+ }
3312
+ const n = new $n(e);
3313
+ if (r) {
3314
+ const i = e === void 0 || e.objname === void 0 ? [] : {};
3315
+ n.on("readable", function() {
3316
+ let o;
3317
+ for (; (o = this.read()) !== null; )
3318
+ e === void 0 || e.objname === void 0 ? i.push(o) : i[o[0]] = o[1];
3319
+ }), n.on("error", function(o) {
3320
+ r(o, void 0, n.api.__infoDataSet());
3321
+ }), n.on("end", function() {
3322
+ r(void 0, i, n.api.__infoDataSet());
3323
+ });
3324
+ }
3325
+ if (t !== void 0) {
3326
+ const i = function() {
3327
+ n.write(t), n.end();
3328
+ };
3329
+ typeof setImmediate == "function" ? setImmediate(i) : setTimeout(i, 0);
3330
+ }
3331
+ return n;
3332
+ };
3333
+ class zn {
3334
+ getParser() {
3335
+ return qn;
3336
+ }
3337
+ }
3338
+ export {
3339
+ zn as CSVParseTool
3340
+ };