msb-file 0.0.1

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,2011 @@
1
+ var ue = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
2
+ function Ge(L) {
3
+ return L && L.__esModule && Object.prototype.hasOwnProperty.call(L, "default") ? L.default : L;
4
+ }
5
+ function Gt(L) {
6
+ if (Object.prototype.hasOwnProperty.call(L, "__esModule")) return L;
7
+ var S = L.default;
8
+ if (typeof S == "function") {
9
+ var b = function I() {
10
+ var N = !1;
11
+ try {
12
+ N = this instanceof I;
13
+ } catch {
14
+ }
15
+ return N ? Reflect.construct(S, arguments, this.constructor) : S.apply(this, arguments);
16
+ };
17
+ b.prototype = S.prototype;
18
+ } else b = {};
19
+ return Object.defineProperty(b, "__esModule", { value: !0 }), Object.keys(L).forEach(function(I) {
20
+ var N = Object.getOwnPropertyDescriptor(L, I);
21
+ Object.defineProperty(b, I, N.get ? N : {
22
+ enumerable: !0,
23
+ get: function() {
24
+ return L[I];
25
+ }
26
+ });
27
+ }), b;
28
+ }
29
+ function he(L) {
30
+ throw new Error('Could not dynamically require "' + L + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
31
+ }
32
+ var Se = { exports: {} };
33
+ var je;
34
+ function Qt() {
35
+ return je || (je = 1, (function(L, S) {
36
+ (function(b) {
37
+ L.exports = b();
38
+ })(function() {
39
+ return (function b(I, N, F) {
40
+ function H(w, q) {
41
+ if (!N[w]) {
42
+ if (!I[w]) {
43
+ var y = typeof he == "function" && he;
44
+ if (!q && y) return y(w, !0);
45
+ if (O) return O(w, !0);
46
+ var C = new Error("Cannot find module '" + w + "'");
47
+ throw C.code = "MODULE_NOT_FOUND", C;
48
+ }
49
+ var Y = N[w] = { exports: {} };
50
+ I[w][0].call(Y.exports, function(x) {
51
+ var T = I[w][1][x];
52
+ return H(T || x);
53
+ }, Y, Y.exports, b, I, N, F);
54
+ }
55
+ return N[w].exports;
56
+ }
57
+ for (var O = typeof he == "function" && he, $ = 0; $ < F.length; $++) H(F[$]);
58
+ return H;
59
+ })({ 1: [function(b, I, N) {
60
+ (function(F) {
61
+ var H = F.MutationObserver || F.WebKitMutationObserver, O;
62
+ if (H) {
63
+ var $ = 0, w = new H(x), q = F.document.createTextNode("");
64
+ w.observe(q, {
65
+ characterData: !0
66
+ }), O = function() {
67
+ q.data = $ = ++$ % 2;
68
+ };
69
+ } else if (!F.setImmediate && typeof F.MessageChannel < "u") {
70
+ var y = new F.MessageChannel();
71
+ y.port1.onmessage = x, O = function() {
72
+ y.port2.postMessage(0);
73
+ };
74
+ } else "document" in F && "onreadystatechange" in F.document.createElement("script") ? O = function() {
75
+ var U = F.document.createElement("script");
76
+ U.onreadystatechange = function() {
77
+ x(), U.onreadystatechange = null, U.parentNode.removeChild(U), U = null;
78
+ }, F.document.documentElement.appendChild(U);
79
+ } : O = function() {
80
+ setTimeout(x, 0);
81
+ };
82
+ var C, Y = [];
83
+ function x() {
84
+ C = !0;
85
+ for (var U, z, W = Y.length; W; ) {
86
+ for (z = Y, Y = [], U = -1; ++U < W; )
87
+ z[U]();
88
+ W = Y.length;
89
+ }
90
+ C = !1;
91
+ }
92
+ I.exports = T;
93
+ function T(U) {
94
+ Y.push(U) === 1 && !C && O();
95
+ }
96
+ }).call(this, typeof ue < "u" ? ue : typeof self < "u" ? self : typeof window < "u" ? window : {});
97
+ }, {}], 2: [function(b, I, N) {
98
+ var F = b(1);
99
+ function H() {
100
+ }
101
+ var O = {}, $ = ["REJECTED"], w = ["FULFILLED"], q = ["PENDING"];
102
+ I.exports = y;
103
+ function y(g) {
104
+ if (typeof g != "function")
105
+ throw new TypeError("resolver must be a function");
106
+ this.state = q, this.queue = [], this.outcome = void 0, g !== H && T(this, g);
107
+ }
108
+ y.prototype.catch = function(g) {
109
+ return this.then(null, g);
110
+ }, y.prototype.then = function(g, P) {
111
+ if (typeof g != "function" && this.state === w || typeof P != "function" && this.state === $)
112
+ return this;
113
+ var R = new this.constructor(H);
114
+ if (this.state !== q) {
115
+ var M = this.state === w ? g : P;
116
+ Y(R, M, this.outcome);
117
+ } else
118
+ this.queue.push(new C(R, g, P));
119
+ return R;
120
+ };
121
+ function C(g, P, R) {
122
+ this.promise = g, typeof P == "function" && (this.onFulfilled = P, this.callFulfilled = this.otherCallFulfilled), typeof R == "function" && (this.onRejected = R, this.callRejected = this.otherCallRejected);
123
+ }
124
+ C.prototype.callFulfilled = function(g) {
125
+ O.resolve(this.promise, g);
126
+ }, C.prototype.otherCallFulfilled = function(g) {
127
+ Y(this.promise, this.onFulfilled, g);
128
+ }, C.prototype.callRejected = function(g) {
129
+ O.reject(this.promise, g);
130
+ }, C.prototype.otherCallRejected = function(g) {
131
+ Y(this.promise, this.onRejected, g);
132
+ };
133
+ function Y(g, P, R) {
134
+ F(function() {
135
+ var M;
136
+ try {
137
+ M = P(R);
138
+ } catch (D) {
139
+ return O.reject(g, D);
140
+ }
141
+ M === g ? O.reject(g, new TypeError("Cannot resolve promise with itself")) : O.resolve(g, M);
142
+ });
143
+ }
144
+ O.resolve = function(g, P) {
145
+ var R = U(x, P);
146
+ if (R.status === "error")
147
+ return O.reject(g, R.value);
148
+ var M = R.value;
149
+ if (M)
150
+ T(g, M);
151
+ else {
152
+ g.state = w, g.outcome = P;
153
+ for (var D = -1, G = g.queue.length; ++D < G; )
154
+ g.queue[D].callFulfilled(P);
155
+ }
156
+ return g;
157
+ }, O.reject = function(g, P) {
158
+ g.state = $, g.outcome = P;
159
+ for (var R = -1, M = g.queue.length; ++R < M; )
160
+ g.queue[R].callRejected(P);
161
+ return g;
162
+ };
163
+ function x(g) {
164
+ var P = g && g.then;
165
+ if (g && (typeof g == "object" || typeof g == "function") && typeof P == "function")
166
+ return function() {
167
+ P.apply(g, arguments);
168
+ };
169
+ }
170
+ function T(g, P) {
171
+ var R = !1;
172
+ function M(r) {
173
+ R || (R = !0, O.reject(g, r));
174
+ }
175
+ function D(r) {
176
+ R || (R = !0, O.resolve(g, r));
177
+ }
178
+ function G() {
179
+ P(D, M);
180
+ }
181
+ var V = U(G);
182
+ V.status === "error" && M(V.value);
183
+ }
184
+ function U(g, P) {
185
+ var R = {};
186
+ try {
187
+ R.value = g(P), R.status = "success";
188
+ } catch (M) {
189
+ R.status = "error", R.value = M;
190
+ }
191
+ return R;
192
+ }
193
+ y.resolve = z;
194
+ function z(g) {
195
+ return g instanceof this ? g : O.resolve(new this(H), g);
196
+ }
197
+ y.reject = W;
198
+ function W(g) {
199
+ var P = new this(H);
200
+ return O.reject(P, g);
201
+ }
202
+ y.all = J;
203
+ function J(g) {
204
+ var P = this;
205
+ if (Object.prototype.toString.call(g) !== "[object Array]")
206
+ return this.reject(new TypeError("must be an array"));
207
+ var R = g.length, M = !1;
208
+ if (!R)
209
+ return this.resolve([]);
210
+ for (var D = new Array(R), G = 0, V = -1, r = new this(H); ++V < R; )
211
+ o(g[V], V);
212
+ return r;
213
+ function o(i, n) {
214
+ P.resolve(i).then(E, function(d) {
215
+ M || (M = !0, O.reject(r, d));
216
+ });
217
+ function E(d) {
218
+ D[n] = d, ++G === R && !M && (M = !0, O.resolve(r, D));
219
+ }
220
+ }
221
+ }
222
+ y.race = K;
223
+ function K(g) {
224
+ var P = this;
225
+ if (Object.prototype.toString.call(g) !== "[object Array]")
226
+ return this.reject(new TypeError("must be an array"));
227
+ var R = g.length, M = !1;
228
+ if (!R)
229
+ return this.resolve([]);
230
+ for (var D = -1, G = new this(H); ++D < R; )
231
+ V(g[D]);
232
+ return G;
233
+ function V(r) {
234
+ P.resolve(r).then(function(o) {
235
+ M || (M = !0, O.resolve(G, o));
236
+ }, function(o) {
237
+ M || (M = !0, O.reject(G, o));
238
+ });
239
+ }
240
+ }
241
+ }, { 1: 1 }], 3: [function(b, I, N) {
242
+ (function(F) {
243
+ typeof F.Promise != "function" && (F.Promise = b(2));
244
+ }).call(this, typeof ue < "u" ? ue : typeof self < "u" ? self : typeof window < "u" ? window : {});
245
+ }, { 2: 2 }], 4: [function(b, I, N) {
246
+ var F = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
247
+ return typeof e;
248
+ } : function(e) {
249
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
250
+ };
251
+ function H(e, a) {
252
+ if (!(e instanceof a))
253
+ throw new TypeError("Cannot call a class as a function");
254
+ }
255
+ function O() {
256
+ try {
257
+ if (typeof indexedDB < "u")
258
+ return indexedDB;
259
+ if (typeof webkitIndexedDB < "u")
260
+ return webkitIndexedDB;
261
+ if (typeof mozIndexedDB < "u")
262
+ return mozIndexedDB;
263
+ if (typeof OIndexedDB < "u")
264
+ return OIndexedDB;
265
+ if (typeof msIndexedDB < "u")
266
+ return msIndexedDB;
267
+ } catch {
268
+ return;
269
+ }
270
+ }
271
+ var $ = O();
272
+ function w() {
273
+ try {
274
+ if (!$ || !$.open)
275
+ return !1;
276
+ var e = typeof openDatabase < "u" && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform), a = typeof fetch == "function" && fetch.toString().indexOf("[native code") !== -1;
277
+ return (!e || a) && typeof indexedDB < "u" && // some outdated implementations of IDB that appear on Samsung
278
+ // and HTC Android devices <4.4 are missing IDBKeyRange
279
+ // See: https://github.com/mozilla/localForage/issues/128
280
+ // See: https://github.com/mozilla/localForage/issues/272
281
+ typeof IDBKeyRange < "u";
282
+ } catch {
283
+ return !1;
284
+ }
285
+ }
286
+ function q(e, a) {
287
+ e = e || [], a = a || {};
288
+ try {
289
+ return new Blob(e, a);
290
+ } catch (s) {
291
+ if (s.name !== "TypeError")
292
+ throw s;
293
+ for (var t = typeof BlobBuilder < "u" ? BlobBuilder : typeof MSBlobBuilder < "u" ? MSBlobBuilder : typeof MozBlobBuilder < "u" ? MozBlobBuilder : WebKitBlobBuilder, f = new t(), u = 0; u < e.length; u += 1)
294
+ f.append(e[u]);
295
+ return f.getBlob(a.type);
296
+ }
297
+ }
298
+ typeof Promise > "u" && b(3);
299
+ var y = Promise;
300
+ function C(e, a) {
301
+ a && e.then(function(t) {
302
+ a(null, t);
303
+ }, function(t) {
304
+ a(t);
305
+ });
306
+ }
307
+ function Y(e, a, t) {
308
+ typeof a == "function" && e.then(a), typeof t == "function" && e.catch(t);
309
+ }
310
+ function x(e) {
311
+ return typeof e != "string" && (console.warn(e + " used as a key, but it is not a string."), e = String(e)), e;
312
+ }
313
+ function T() {
314
+ if (arguments.length && typeof arguments[arguments.length - 1] == "function")
315
+ return arguments[arguments.length - 1];
316
+ }
317
+ var U = "local-forage-detect-blob-support", z = void 0, W = {}, J = Object.prototype.toString, K = "readonly", g = "readwrite";
318
+ function P(e) {
319
+ for (var a = e.length, t = new ArrayBuffer(a), f = new Uint8Array(t), u = 0; u < a; u++)
320
+ f[u] = e.charCodeAt(u);
321
+ return t;
322
+ }
323
+ function R(e) {
324
+ return new y(function(a) {
325
+ var t = e.transaction(U, g), f = q([""]);
326
+ t.objectStore(U).put(f, "key"), t.onabort = function(u) {
327
+ u.preventDefault(), u.stopPropagation(), a(!1);
328
+ }, t.oncomplete = function() {
329
+ var u = navigator.userAgent.match(/Chrome\/(\d+)/), s = navigator.userAgent.match(/Edge\//);
330
+ a(s || !u || parseInt(u[1], 10) >= 43);
331
+ };
332
+ }).catch(function() {
333
+ return !1;
334
+ });
335
+ }
336
+ function M(e) {
337
+ return typeof z == "boolean" ? y.resolve(z) : R(e).then(function(a) {
338
+ return z = a, z;
339
+ });
340
+ }
341
+ function D(e) {
342
+ var a = W[e.name], t = {};
343
+ t.promise = new y(function(f, u) {
344
+ t.resolve = f, t.reject = u;
345
+ }), a.deferredOperations.push(t), a.dbReady ? a.dbReady = a.dbReady.then(function() {
346
+ return t.promise;
347
+ }) : a.dbReady = t.promise;
348
+ }
349
+ function G(e) {
350
+ var a = W[e.name], t = a.deferredOperations.pop();
351
+ if (t)
352
+ return t.resolve(), t.promise;
353
+ }
354
+ function V(e, a) {
355
+ var t = W[e.name], f = t.deferredOperations.pop();
356
+ if (f)
357
+ return f.reject(a), f.promise;
358
+ }
359
+ function r(e, a) {
360
+ return new y(function(t, f) {
361
+ if (W[e.name] = W[e.name] || ie(), e.db)
362
+ if (a)
363
+ D(e), e.db.close();
364
+ else
365
+ return t(e.db);
366
+ var u = [e.name];
367
+ a && u.push(e.version);
368
+ var s = $.open.apply($, u);
369
+ a && (s.onupgradeneeded = function(c) {
370
+ var l = s.result;
371
+ try {
372
+ l.createObjectStore(e.storeName), c.oldVersion <= 1 && l.createObjectStore(U);
373
+ } catch (h) {
374
+ if (h.name === "ConstraintError")
375
+ console.warn('The database "' + e.name + '" has been upgraded from version ' + c.oldVersion + " to version " + c.newVersion + ', but the storage "' + e.storeName + '" already exists.');
376
+ else
377
+ throw h;
378
+ }
379
+ }), s.onerror = function(c) {
380
+ c.preventDefault(), f(s.error);
381
+ }, s.onsuccess = function() {
382
+ var c = s.result;
383
+ c.onversionchange = function(l) {
384
+ l.target.close();
385
+ }, t(c), G(e);
386
+ };
387
+ });
388
+ }
389
+ function o(e) {
390
+ return r(e, !1);
391
+ }
392
+ function i(e) {
393
+ return r(e, !0);
394
+ }
395
+ function n(e, a) {
396
+ if (!e.db)
397
+ return !0;
398
+ var t = !e.db.objectStoreNames.contains(e.storeName), f = e.version < e.db.version, u = e.version > e.db.version;
399
+ if (f && (e.version !== a && console.warn('The database "' + e.name + `" can't be downgraded from version ` + e.db.version + " to version " + e.version + "."), e.version = e.db.version), u || t) {
400
+ if (t) {
401
+ var s = e.db.version + 1;
402
+ s > e.version && (e.version = s);
403
+ }
404
+ return !0;
405
+ }
406
+ return !1;
407
+ }
408
+ function E(e) {
409
+ return new y(function(a, t) {
410
+ var f = new FileReader();
411
+ f.onerror = t, f.onloadend = function(u) {
412
+ var s = btoa(u.target.result || "");
413
+ a({
414
+ __local_forage_encoded_blob: !0,
415
+ data: s,
416
+ type: e.type
417
+ });
418
+ }, f.readAsBinaryString(e);
419
+ });
420
+ }
421
+ function d(e) {
422
+ var a = P(atob(e.data));
423
+ return q([a], { type: e.type });
424
+ }
425
+ function p(e) {
426
+ return e && e.__local_forage_encoded_blob;
427
+ }
428
+ function A(e) {
429
+ var a = this, t = a._initReady().then(function() {
430
+ var f = W[a._dbInfo.name];
431
+ if (f && f.dbReady)
432
+ return f.dbReady;
433
+ });
434
+ return Y(t, e, e), t;
435
+ }
436
+ function Z(e) {
437
+ D(e);
438
+ for (var a = W[e.name], t = a.forages, f = 0; f < t.length; f++) {
439
+ var u = t[f];
440
+ u._dbInfo.db && (u._dbInfo.db.close(), u._dbInfo.db = null);
441
+ }
442
+ return e.db = null, o(e).then(function(s) {
443
+ return e.db = s, n(e) ? i(e) : s;
444
+ }).then(function(s) {
445
+ e.db = a.db = s;
446
+ for (var c = 0; c < t.length; c++)
447
+ t[c]._dbInfo.db = s;
448
+ }).catch(function(s) {
449
+ throw V(e, s), s;
450
+ });
451
+ }
452
+ function ee(e, a, t, f) {
453
+ f === void 0 && (f = 1);
454
+ try {
455
+ var u = e.db.transaction(e.storeName, a);
456
+ t(null, u);
457
+ } catch (s) {
458
+ if (f > 0 && (!e.db || s.name === "InvalidStateError" || s.name === "NotFoundError"))
459
+ return y.resolve().then(function() {
460
+ if (!e.db || s.name === "NotFoundError" && !e.db.objectStoreNames.contains(e.storeName) && e.version <= e.db.version)
461
+ return e.db && (e.version = e.db.version + 1), i(e);
462
+ }).then(function() {
463
+ return Z(e).then(function() {
464
+ ee(e, a, t, f - 1);
465
+ });
466
+ }).catch(t);
467
+ t(s);
468
+ }
469
+ }
470
+ function ie() {
471
+ return {
472
+ // Running localForages sharing a database.
473
+ forages: [],
474
+ // Shared database.
475
+ db: null,
476
+ // Database readiness (promise).
477
+ dbReady: null,
478
+ // Deferred operations on the database.
479
+ deferredOperations: []
480
+ };
481
+ }
482
+ function qe(e) {
483
+ var a = this, t = {
484
+ db: null
485
+ };
486
+ if (e)
487
+ for (var f in e)
488
+ t[f] = e[f];
489
+ var u = W[t.name];
490
+ u || (u = ie(), W[t.name] = u), u.forages.push(a), a._initReady || (a._initReady = a.ready, a.ready = A);
491
+ var s = [];
492
+ function c() {
493
+ return y.resolve();
494
+ }
495
+ for (var l = 0; l < u.forages.length; l++) {
496
+ var h = u.forages[l];
497
+ h !== a && s.push(h._initReady().catch(c));
498
+ }
499
+ var v = u.forages.slice(0);
500
+ return y.all(s).then(function() {
501
+ return t.db = u.db, o(t);
502
+ }).then(function(m) {
503
+ return t.db = m, n(t, a._defaultConfig.version) ? i(t) : m;
504
+ }).then(function(m) {
505
+ t.db = u.db = m, a._dbInfo = t;
506
+ for (var _ = 0; _ < v.length; _++) {
507
+ var B = v[_];
508
+ B !== a && (B._dbInfo.db = t.db, B._dbInfo.version = t.version);
509
+ }
510
+ });
511
+ }
512
+ function Ze(e, a) {
513
+ var t = this;
514
+ e = x(e);
515
+ var f = new y(function(u, s) {
516
+ t.ready().then(function() {
517
+ ee(t._dbInfo, K, function(c, l) {
518
+ if (c)
519
+ return s(c);
520
+ try {
521
+ var h = l.objectStore(t._dbInfo.storeName), v = h.get(e);
522
+ v.onsuccess = function() {
523
+ var m = v.result;
524
+ m === void 0 && (m = null), p(m) && (m = d(m)), u(m);
525
+ }, v.onerror = function() {
526
+ s(v.error);
527
+ };
528
+ } catch (m) {
529
+ s(m);
530
+ }
531
+ });
532
+ }).catch(s);
533
+ });
534
+ return C(f, a), f;
535
+ }
536
+ function et(e, a) {
537
+ var t = this, f = new y(function(u, s) {
538
+ t.ready().then(function() {
539
+ ee(t._dbInfo, K, function(c, l) {
540
+ if (c)
541
+ return s(c);
542
+ try {
543
+ var h = l.objectStore(t._dbInfo.storeName), v = h.openCursor(), m = 1;
544
+ v.onsuccess = function() {
545
+ var _ = v.result;
546
+ if (_) {
547
+ var B = _.value;
548
+ p(B) && (B = d(B));
549
+ var k = e(B, _.key, m++);
550
+ k !== void 0 ? u(k) : _.continue();
551
+ } else
552
+ u();
553
+ }, v.onerror = function() {
554
+ s(v.error);
555
+ };
556
+ } catch (_) {
557
+ s(_);
558
+ }
559
+ });
560
+ }).catch(s);
561
+ });
562
+ return C(f, a), f;
563
+ }
564
+ function tt(e, a, t) {
565
+ var f = this;
566
+ e = x(e);
567
+ var u = new y(function(s, c) {
568
+ var l;
569
+ f.ready().then(function() {
570
+ return l = f._dbInfo, J.call(a) === "[object Blob]" ? M(l.db).then(function(h) {
571
+ return h ? a : E(a);
572
+ }) : a;
573
+ }).then(function(h) {
574
+ ee(f._dbInfo, g, function(v, m) {
575
+ if (v)
576
+ return c(v);
577
+ try {
578
+ var _ = m.objectStore(f._dbInfo.storeName);
579
+ h === null && (h = void 0);
580
+ var B = _.put(h, e);
581
+ m.oncomplete = function() {
582
+ h === void 0 && (h = null), s(h);
583
+ }, m.onabort = m.onerror = function() {
584
+ var k = B.error ? B.error : B.transaction.error;
585
+ c(k);
586
+ };
587
+ } catch (k) {
588
+ c(k);
589
+ }
590
+ });
591
+ }).catch(c);
592
+ });
593
+ return C(u, t), u;
594
+ }
595
+ function rt(e, a) {
596
+ var t = this;
597
+ e = x(e);
598
+ var f = new y(function(u, s) {
599
+ t.ready().then(function() {
600
+ ee(t._dbInfo, g, function(c, l) {
601
+ if (c)
602
+ return s(c);
603
+ try {
604
+ var h = l.objectStore(t._dbInfo.storeName), v = h.delete(e);
605
+ l.oncomplete = function() {
606
+ u();
607
+ }, l.onerror = function() {
608
+ s(v.error);
609
+ }, l.onabort = function() {
610
+ var m = v.error ? v.error : v.transaction.error;
611
+ s(m);
612
+ };
613
+ } catch (m) {
614
+ s(m);
615
+ }
616
+ });
617
+ }).catch(s);
618
+ });
619
+ return C(f, a), f;
620
+ }
621
+ function nt(e) {
622
+ var a = this, t = new y(function(f, u) {
623
+ a.ready().then(function() {
624
+ ee(a._dbInfo, g, function(s, c) {
625
+ if (s)
626
+ return u(s);
627
+ try {
628
+ var l = c.objectStore(a._dbInfo.storeName), h = l.clear();
629
+ c.oncomplete = function() {
630
+ f();
631
+ }, c.onabort = c.onerror = function() {
632
+ var v = h.error ? h.error : h.transaction.error;
633
+ u(v);
634
+ };
635
+ } catch (v) {
636
+ u(v);
637
+ }
638
+ });
639
+ }).catch(u);
640
+ });
641
+ return C(t, e), t;
642
+ }
643
+ function at(e) {
644
+ var a = this, t = new y(function(f, u) {
645
+ a.ready().then(function() {
646
+ ee(a._dbInfo, K, function(s, c) {
647
+ if (s)
648
+ return u(s);
649
+ try {
650
+ var l = c.objectStore(a._dbInfo.storeName), h = l.count();
651
+ h.onsuccess = function() {
652
+ f(h.result);
653
+ }, h.onerror = function() {
654
+ u(h.error);
655
+ };
656
+ } catch (v) {
657
+ u(v);
658
+ }
659
+ });
660
+ }).catch(u);
661
+ });
662
+ return C(t, e), t;
663
+ }
664
+ function ot(e, a) {
665
+ var t = this, f = new y(function(u, s) {
666
+ if (e < 0) {
667
+ u(null);
668
+ return;
669
+ }
670
+ t.ready().then(function() {
671
+ ee(t._dbInfo, K, function(c, l) {
672
+ if (c)
673
+ return s(c);
674
+ try {
675
+ var h = l.objectStore(t._dbInfo.storeName), v = !1, m = h.openKeyCursor();
676
+ m.onsuccess = function() {
677
+ var _ = m.result;
678
+ if (!_) {
679
+ u(null);
680
+ return;
681
+ }
682
+ e === 0 || v ? u(_.key) : (v = !0, _.advance(e));
683
+ }, m.onerror = function() {
684
+ s(m.error);
685
+ };
686
+ } catch (_) {
687
+ s(_);
688
+ }
689
+ });
690
+ }).catch(s);
691
+ });
692
+ return C(f, a), f;
693
+ }
694
+ function it(e) {
695
+ var a = this, t = new y(function(f, u) {
696
+ a.ready().then(function() {
697
+ ee(a._dbInfo, K, function(s, c) {
698
+ if (s)
699
+ return u(s);
700
+ try {
701
+ var l = c.objectStore(a._dbInfo.storeName), h = l.openKeyCursor(), v = [];
702
+ h.onsuccess = function() {
703
+ var m = h.result;
704
+ if (!m) {
705
+ f(v);
706
+ return;
707
+ }
708
+ v.push(m.key), m.continue();
709
+ }, h.onerror = function() {
710
+ u(h.error);
711
+ };
712
+ } catch (m) {
713
+ u(m);
714
+ }
715
+ });
716
+ }).catch(u);
717
+ });
718
+ return C(t, e), t;
719
+ }
720
+ function st(e, a) {
721
+ a = T.apply(this, arguments);
722
+ var t = this.config();
723
+ e = typeof e != "function" && e || {}, e.name || (e.name = e.name || t.name, e.storeName = e.storeName || t.storeName);
724
+ var f = this, u;
725
+ if (!e.name)
726
+ u = y.reject("Invalid arguments");
727
+ else {
728
+ var s = e.name === t.name && f._dbInfo.db, c = s ? y.resolve(f._dbInfo.db) : o(e).then(function(l) {
729
+ var h = W[e.name], v = h.forages;
730
+ h.db = l;
731
+ for (var m = 0; m < v.length; m++)
732
+ v[m]._dbInfo.db = l;
733
+ return l;
734
+ });
735
+ e.storeName ? u = c.then(function(l) {
736
+ if (l.objectStoreNames.contains(e.storeName)) {
737
+ var h = l.version + 1;
738
+ D(e);
739
+ var v = W[e.name], m = v.forages;
740
+ l.close();
741
+ for (var _ = 0; _ < m.length; _++) {
742
+ var B = m[_];
743
+ B._dbInfo.db = null, B._dbInfo.version = h;
744
+ }
745
+ var k = new y(function(j, X) {
746
+ var Q = $.open(e.name, h);
747
+ Q.onerror = function(te) {
748
+ var fe = Q.result;
749
+ fe.close(), X(te);
750
+ }, Q.onupgradeneeded = function() {
751
+ var te = Q.result;
752
+ te.deleteObjectStore(e.storeName);
753
+ }, Q.onsuccess = function() {
754
+ var te = Q.result;
755
+ te.close(), j(te);
756
+ };
757
+ });
758
+ return k.then(function(j) {
759
+ v.db = j;
760
+ for (var X = 0; X < m.length; X++) {
761
+ var Q = m[X];
762
+ Q._dbInfo.db = j, G(Q._dbInfo);
763
+ }
764
+ }).catch(function(j) {
765
+ throw (V(e, j) || y.resolve()).catch(function() {
766
+ }), j;
767
+ });
768
+ }
769
+ }) : u = c.then(function(l) {
770
+ D(e);
771
+ var h = W[e.name], v = h.forages;
772
+ l.close();
773
+ for (var m = 0; m < v.length; m++) {
774
+ var _ = v[m];
775
+ _._dbInfo.db = null;
776
+ }
777
+ var B = new y(function(k, j) {
778
+ var X = $.deleteDatabase(e.name);
779
+ X.onerror = function() {
780
+ var Q = X.result;
781
+ Q && Q.close(), j(X.error);
782
+ }, X.onblocked = function() {
783
+ console.warn('dropInstance blocked for database "' + e.name + '" until all open connections are closed');
784
+ }, X.onsuccess = function() {
785
+ var Q = X.result;
786
+ Q && Q.close(), k(Q);
787
+ };
788
+ });
789
+ return B.then(function(k) {
790
+ h.db = k;
791
+ for (var j = 0; j < v.length; j++) {
792
+ var X = v[j];
793
+ G(X._dbInfo);
794
+ }
795
+ }).catch(function(k) {
796
+ throw (V(e, k) || y.resolve()).catch(function() {
797
+ }), k;
798
+ });
799
+ });
800
+ }
801
+ return C(u, a), u;
802
+ }
803
+ var ft = {
804
+ _driver: "asyncStorage",
805
+ _initStorage: qe,
806
+ _support: w(),
807
+ iterate: et,
808
+ getItem: Ze,
809
+ setItem: tt,
810
+ removeItem: rt,
811
+ clear: nt,
812
+ length: at,
813
+ key: ot,
814
+ keys: it,
815
+ dropInstance: st
816
+ };
817
+ function ut() {
818
+ return typeof openDatabase == "function";
819
+ }
820
+ var re = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ct = "~~local_forage_type~", Re = /^~~local_forage_type~([^~]+)~/, ce = "__lfsc__:", de = ce.length, ve = "arbf", pe = "blob", Ie = "si08", Ae = "ui08", Ce = "uic8", De = "si16", Fe = "si32", Ne = "ur16", Te = "ui32", Oe = "fl32", Be = "fl64", Pe = de + ve.length, Me = Object.prototype.toString;
821
+ function Le(e) {
822
+ var a = e.length * 0.75, t = e.length, f, u = 0, s, c, l, h;
823
+ e[e.length - 1] === "=" && (a--, e[e.length - 2] === "=" && a--);
824
+ var v = new ArrayBuffer(a), m = new Uint8Array(v);
825
+ for (f = 0; f < t; f += 4)
826
+ s = re.indexOf(e[f]), c = re.indexOf(e[f + 1]), l = re.indexOf(e[f + 2]), h = re.indexOf(e[f + 3]), m[u++] = s << 2 | c >> 4, m[u++] = (c & 15) << 4 | l >> 2, m[u++] = (l & 3) << 6 | h & 63;
827
+ return v;
828
+ }
829
+ function me(e) {
830
+ var a = new Uint8Array(e), t = "", f;
831
+ for (f = 0; f < a.length; f += 3)
832
+ t += re[a[f] >> 2], t += re[(a[f] & 3) << 4 | a[f + 1] >> 4], t += re[(a[f + 1] & 15) << 2 | a[f + 2] >> 6], t += re[a[f + 2] & 63];
833
+ return a.length % 3 === 2 ? t = t.substring(0, t.length - 1) + "=" : a.length % 3 === 1 && (t = t.substring(0, t.length - 2) + "=="), t;
834
+ }
835
+ function lt(e, a) {
836
+ var t = "";
837
+ if (e && (t = Me.call(e)), e && (t === "[object ArrayBuffer]" || e.buffer && Me.call(e.buffer) === "[object ArrayBuffer]")) {
838
+ var f, u = ce;
839
+ e instanceof ArrayBuffer ? (f = e, u += ve) : (f = e.buffer, t === "[object Int8Array]" ? u += Ie : t === "[object Uint8Array]" ? u += Ae : t === "[object Uint8ClampedArray]" ? u += Ce : t === "[object Int16Array]" ? u += De : t === "[object Uint16Array]" ? u += Ne : t === "[object Int32Array]" ? u += Fe : t === "[object Uint32Array]" ? u += Te : t === "[object Float32Array]" ? u += Oe : t === "[object Float64Array]" ? u += Be : a(new Error("Failed to get type for BinaryArray"))), a(u + me(f));
840
+ } else if (t === "[object Blob]") {
841
+ var s = new FileReader();
842
+ s.onload = function() {
843
+ var c = ct + e.type + "~" + me(this.result);
844
+ a(ce + pe + c);
845
+ }, s.readAsArrayBuffer(e);
846
+ } else
847
+ try {
848
+ a(JSON.stringify(e));
849
+ } catch (c) {
850
+ console.error("Couldn't convert value into a JSON string: ", e), a(null, c);
851
+ }
852
+ }
853
+ function ht(e) {
854
+ if (e.substring(0, de) !== ce)
855
+ return JSON.parse(e);
856
+ var a = e.substring(Pe), t = e.substring(de, Pe), f;
857
+ if (t === pe && Re.test(a)) {
858
+ var u = a.match(Re);
859
+ f = u[1], a = a.substring(u[0].length);
860
+ }
861
+ var s = Le(a);
862
+ switch (t) {
863
+ case ve:
864
+ return s;
865
+ case pe:
866
+ return q([s], { type: f });
867
+ case Ie:
868
+ return new Int8Array(s);
869
+ case Ae:
870
+ return new Uint8Array(s);
871
+ case Ce:
872
+ return new Uint8ClampedArray(s);
873
+ case De:
874
+ return new Int16Array(s);
875
+ case Ne:
876
+ return new Uint16Array(s);
877
+ case Fe:
878
+ return new Int32Array(s);
879
+ case Te:
880
+ return new Uint32Array(s);
881
+ case Oe:
882
+ return new Float32Array(s);
883
+ case Be:
884
+ return new Float64Array(s);
885
+ default:
886
+ throw new Error("Unkown type: " + t);
887
+ }
888
+ }
889
+ var ye = {
890
+ serialize: lt,
891
+ deserialize: ht,
892
+ stringToBuffer: Le,
893
+ bufferToString: me
894
+ };
895
+ function Ue(e, a, t, f) {
896
+ e.executeSql("CREATE TABLE IF NOT EXISTS " + a.storeName + " (id INTEGER PRIMARY KEY, key unique, value)", [], t, f);
897
+ }
898
+ function dt(e) {
899
+ var a = this, t = {
900
+ db: null
901
+ };
902
+ if (e)
903
+ for (var f in e)
904
+ t[f] = typeof e[f] != "string" ? e[f].toString() : e[f];
905
+ var u = new y(function(s, c) {
906
+ try {
907
+ t.db = openDatabase(t.name, String(t.version), t.description, t.size);
908
+ } catch (l) {
909
+ return c(l);
910
+ }
911
+ t.db.transaction(function(l) {
912
+ Ue(l, t, function() {
913
+ a._dbInfo = t, s();
914
+ }, function(h, v) {
915
+ c(v);
916
+ });
917
+ }, c);
918
+ });
919
+ return t.serializer = ye, u;
920
+ }
921
+ function ne(e, a, t, f, u, s) {
922
+ e.executeSql(t, f, u, function(c, l) {
923
+ l.code === l.SYNTAX_ERR ? c.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?", [a.storeName], function(h, v) {
924
+ v.rows.length ? s(h, l) : Ue(h, a, function() {
925
+ h.executeSql(t, f, u, s);
926
+ }, s);
927
+ }, s) : s(c, l);
928
+ }, s);
929
+ }
930
+ function vt(e, a) {
931
+ var t = this;
932
+ e = x(e);
933
+ var f = new y(function(u, s) {
934
+ t.ready().then(function() {
935
+ var c = t._dbInfo;
936
+ c.db.transaction(function(l) {
937
+ ne(l, c, "SELECT * FROM " + c.storeName + " WHERE key = ? LIMIT 1", [e], function(h, v) {
938
+ var m = v.rows.length ? v.rows.item(0).value : null;
939
+ m && (m = c.serializer.deserialize(m)), u(m);
940
+ }, function(h, v) {
941
+ s(v);
942
+ });
943
+ });
944
+ }).catch(s);
945
+ });
946
+ return C(f, a), f;
947
+ }
948
+ function pt(e, a) {
949
+ var t = this, f = new y(function(u, s) {
950
+ t.ready().then(function() {
951
+ var c = t._dbInfo;
952
+ c.db.transaction(function(l) {
953
+ ne(l, c, "SELECT * FROM " + c.storeName, [], function(h, v) {
954
+ for (var m = v.rows, _ = m.length, B = 0; B < _; B++) {
955
+ var k = m.item(B), j = k.value;
956
+ if (j && (j = c.serializer.deserialize(j)), j = e(j, k.key, B + 1), j !== void 0) {
957
+ u(j);
958
+ return;
959
+ }
960
+ }
961
+ u();
962
+ }, function(h, v) {
963
+ s(v);
964
+ });
965
+ });
966
+ }).catch(s);
967
+ });
968
+ return C(f, a), f;
969
+ }
970
+ function ze(e, a, t, f) {
971
+ var u = this;
972
+ e = x(e);
973
+ var s = new y(function(c, l) {
974
+ u.ready().then(function() {
975
+ a === void 0 && (a = null);
976
+ var h = a, v = u._dbInfo;
977
+ v.serializer.serialize(a, function(m, _) {
978
+ _ ? l(_) : v.db.transaction(function(B) {
979
+ ne(B, v, "INSERT OR REPLACE INTO " + v.storeName + " (key, value) VALUES (?, ?)", [e, m], function() {
980
+ c(h);
981
+ }, function(k, j) {
982
+ l(j);
983
+ });
984
+ }, function(B) {
985
+ if (B.code === B.QUOTA_ERR) {
986
+ if (f > 0) {
987
+ c(ze.apply(u, [e, h, t, f - 1]));
988
+ return;
989
+ }
990
+ l(B);
991
+ }
992
+ });
993
+ });
994
+ }).catch(l);
995
+ });
996
+ return C(s, t), s;
997
+ }
998
+ function mt(e, a, t) {
999
+ return ze.apply(this, [e, a, t, 1]);
1000
+ }
1001
+ function yt(e, a) {
1002
+ var t = this;
1003
+ e = x(e);
1004
+ var f = new y(function(u, s) {
1005
+ t.ready().then(function() {
1006
+ var c = t._dbInfo;
1007
+ c.db.transaction(function(l) {
1008
+ ne(l, c, "DELETE FROM " + c.storeName + " WHERE key = ?", [e], function() {
1009
+ u();
1010
+ }, function(h, v) {
1011
+ s(v);
1012
+ });
1013
+ });
1014
+ }).catch(s);
1015
+ });
1016
+ return C(f, a), f;
1017
+ }
1018
+ function gt(e) {
1019
+ var a = this, t = new y(function(f, u) {
1020
+ a.ready().then(function() {
1021
+ var s = a._dbInfo;
1022
+ s.db.transaction(function(c) {
1023
+ ne(c, s, "DELETE FROM " + s.storeName, [], function() {
1024
+ f();
1025
+ }, function(l, h) {
1026
+ u(h);
1027
+ });
1028
+ });
1029
+ }).catch(u);
1030
+ });
1031
+ return C(t, e), t;
1032
+ }
1033
+ function bt(e) {
1034
+ var a = this, t = new y(function(f, u) {
1035
+ a.ready().then(function() {
1036
+ var s = a._dbInfo;
1037
+ s.db.transaction(function(c) {
1038
+ ne(c, s, "SELECT COUNT(key) as c FROM " + s.storeName, [], function(l, h) {
1039
+ var v = h.rows.item(0).c;
1040
+ f(v);
1041
+ }, function(l, h) {
1042
+ u(h);
1043
+ });
1044
+ });
1045
+ }).catch(u);
1046
+ });
1047
+ return C(t, e), t;
1048
+ }
1049
+ function wt(e, a) {
1050
+ var t = this, f = new y(function(u, s) {
1051
+ t.ready().then(function() {
1052
+ var c = t._dbInfo;
1053
+ c.db.transaction(function(l) {
1054
+ ne(l, c, "SELECT key FROM " + c.storeName + " WHERE id = ? LIMIT 1", [e + 1], function(h, v) {
1055
+ var m = v.rows.length ? v.rows.item(0).key : null;
1056
+ u(m);
1057
+ }, function(h, v) {
1058
+ s(v);
1059
+ });
1060
+ });
1061
+ }).catch(s);
1062
+ });
1063
+ return C(f, a), f;
1064
+ }
1065
+ function _t(e) {
1066
+ var a = this, t = new y(function(f, u) {
1067
+ a.ready().then(function() {
1068
+ var s = a._dbInfo;
1069
+ s.db.transaction(function(c) {
1070
+ ne(c, s, "SELECT key FROM " + s.storeName, [], function(l, h) {
1071
+ for (var v = [], m = 0; m < h.rows.length; m++)
1072
+ v.push(h.rows.item(m).key);
1073
+ f(v);
1074
+ }, function(l, h) {
1075
+ u(h);
1076
+ });
1077
+ });
1078
+ }).catch(u);
1079
+ });
1080
+ return C(t, e), t;
1081
+ }
1082
+ function St(e) {
1083
+ return new y(function(a, t) {
1084
+ e.transaction(function(f) {
1085
+ f.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", [], function(u, s) {
1086
+ for (var c = [], l = 0; l < s.rows.length; l++)
1087
+ c.push(s.rows.item(l).name);
1088
+ a({
1089
+ db: e,
1090
+ storeNames: c
1091
+ });
1092
+ }, function(u, s) {
1093
+ t(s);
1094
+ });
1095
+ }, function(f) {
1096
+ t(f);
1097
+ });
1098
+ });
1099
+ }
1100
+ function xt(e, a) {
1101
+ a = T.apply(this, arguments);
1102
+ var t = this.config();
1103
+ e = typeof e != "function" && e || {}, e.name || (e.name = e.name || t.name, e.storeName = e.storeName || t.storeName);
1104
+ var f = this, u;
1105
+ return e.name ? u = new y(function(s) {
1106
+ var c;
1107
+ e.name === t.name ? c = f._dbInfo.db : c = openDatabase(e.name, "", "", 0), e.storeName ? s({
1108
+ db: c,
1109
+ storeNames: [e.storeName]
1110
+ }) : s(St(c));
1111
+ }).then(function(s) {
1112
+ return new y(function(c, l) {
1113
+ s.db.transaction(function(h) {
1114
+ function v(k) {
1115
+ return new y(function(j, X) {
1116
+ h.executeSql("DROP TABLE IF EXISTS " + k, [], function() {
1117
+ j();
1118
+ }, function(Q, te) {
1119
+ X(te);
1120
+ });
1121
+ });
1122
+ }
1123
+ for (var m = [], _ = 0, B = s.storeNames.length; _ < B; _++)
1124
+ m.push(v(s.storeNames[_]));
1125
+ y.all(m).then(function() {
1126
+ c();
1127
+ }).catch(function(k) {
1128
+ l(k);
1129
+ });
1130
+ }, function(h) {
1131
+ l(h);
1132
+ });
1133
+ });
1134
+ }) : u = y.reject("Invalid arguments"), C(u, a), u;
1135
+ }
1136
+ var Et = {
1137
+ _driver: "webSQLStorage",
1138
+ _initStorage: dt,
1139
+ _support: ut(),
1140
+ iterate: pt,
1141
+ getItem: vt,
1142
+ setItem: mt,
1143
+ removeItem: yt,
1144
+ clear: gt,
1145
+ length: bt,
1146
+ key: wt,
1147
+ keys: _t,
1148
+ dropInstance: xt
1149
+ };
1150
+ function Rt() {
1151
+ try {
1152
+ return typeof localStorage < "u" && "setItem" in localStorage && // in IE8 typeof localStorage.setItem === 'object'
1153
+ !!localStorage.setItem;
1154
+ } catch {
1155
+ return !1;
1156
+ }
1157
+ }
1158
+ function We(e, a) {
1159
+ var t = e.name + "/";
1160
+ return e.storeName !== a.storeName && (t += e.storeName + "/"), t;
1161
+ }
1162
+ function It() {
1163
+ var e = "_localforage_support_test";
1164
+ try {
1165
+ return localStorage.setItem(e, !0), localStorage.removeItem(e), !1;
1166
+ } catch {
1167
+ return !0;
1168
+ }
1169
+ }
1170
+ function At() {
1171
+ return !It() || localStorage.length > 0;
1172
+ }
1173
+ function Ct(e) {
1174
+ var a = this, t = {};
1175
+ if (e)
1176
+ for (var f in e)
1177
+ t[f] = e[f];
1178
+ return t.keyPrefix = We(e, a._defaultConfig), At() ? (a._dbInfo = t, t.serializer = ye, y.resolve()) : y.reject();
1179
+ }
1180
+ function Dt(e) {
1181
+ var a = this, t = a.ready().then(function() {
1182
+ for (var f = a._dbInfo.keyPrefix, u = localStorage.length - 1; u >= 0; u--) {
1183
+ var s = localStorage.key(u);
1184
+ s.indexOf(f) === 0 && localStorage.removeItem(s);
1185
+ }
1186
+ });
1187
+ return C(t, e), t;
1188
+ }
1189
+ function Ft(e, a) {
1190
+ var t = this;
1191
+ e = x(e);
1192
+ var f = t.ready().then(function() {
1193
+ var u = t._dbInfo, s = localStorage.getItem(u.keyPrefix + e);
1194
+ return s && (s = u.serializer.deserialize(s)), s;
1195
+ });
1196
+ return C(f, a), f;
1197
+ }
1198
+ function Nt(e, a) {
1199
+ var t = this, f = t.ready().then(function() {
1200
+ for (var u = t._dbInfo, s = u.keyPrefix, c = s.length, l = localStorage.length, h = 1, v = 0; v < l; v++) {
1201
+ var m = localStorage.key(v);
1202
+ if (m.indexOf(s) === 0) {
1203
+ var _ = localStorage.getItem(m);
1204
+ if (_ && (_ = u.serializer.deserialize(_)), _ = e(_, m.substring(c), h++), _ !== void 0)
1205
+ return _;
1206
+ }
1207
+ }
1208
+ });
1209
+ return C(f, a), f;
1210
+ }
1211
+ function Tt(e, a) {
1212
+ var t = this, f = t.ready().then(function() {
1213
+ var u = t._dbInfo, s;
1214
+ try {
1215
+ s = localStorage.key(e);
1216
+ } catch {
1217
+ s = null;
1218
+ }
1219
+ return s && (s = s.substring(u.keyPrefix.length)), s;
1220
+ });
1221
+ return C(f, a), f;
1222
+ }
1223
+ function Ot(e) {
1224
+ var a = this, t = a.ready().then(function() {
1225
+ for (var f = a._dbInfo, u = localStorage.length, s = [], c = 0; c < u; c++) {
1226
+ var l = localStorage.key(c);
1227
+ l.indexOf(f.keyPrefix) === 0 && s.push(l.substring(f.keyPrefix.length));
1228
+ }
1229
+ return s;
1230
+ });
1231
+ return C(t, e), t;
1232
+ }
1233
+ function Bt(e) {
1234
+ var a = this, t = a.keys().then(function(f) {
1235
+ return f.length;
1236
+ });
1237
+ return C(t, e), t;
1238
+ }
1239
+ function Pt(e, a) {
1240
+ var t = this;
1241
+ e = x(e);
1242
+ var f = t.ready().then(function() {
1243
+ var u = t._dbInfo;
1244
+ localStorage.removeItem(u.keyPrefix + e);
1245
+ });
1246
+ return C(f, a), f;
1247
+ }
1248
+ function Mt(e, a, t) {
1249
+ var f = this;
1250
+ e = x(e);
1251
+ var u = f.ready().then(function() {
1252
+ a === void 0 && (a = null);
1253
+ var s = a;
1254
+ return new y(function(c, l) {
1255
+ var h = f._dbInfo;
1256
+ h.serializer.serialize(a, function(v, m) {
1257
+ if (m)
1258
+ l(m);
1259
+ else
1260
+ try {
1261
+ localStorage.setItem(h.keyPrefix + e, v), c(s);
1262
+ } catch (_) {
1263
+ (_.name === "QuotaExceededError" || _.name === "NS_ERROR_DOM_QUOTA_REACHED") && l(_), l(_);
1264
+ }
1265
+ });
1266
+ });
1267
+ });
1268
+ return C(u, t), u;
1269
+ }
1270
+ function Lt(e, a) {
1271
+ if (a = T.apply(this, arguments), e = typeof e != "function" && e || {}, !e.name) {
1272
+ var t = this.config();
1273
+ e.name = e.name || t.name, e.storeName = e.storeName || t.storeName;
1274
+ }
1275
+ var f = this, u;
1276
+ return e.name ? u = new y(function(s) {
1277
+ e.storeName ? s(We(e, f._defaultConfig)) : s(e.name + "/");
1278
+ }).then(function(s) {
1279
+ for (var c = localStorage.length - 1; c >= 0; c--) {
1280
+ var l = localStorage.key(c);
1281
+ l.indexOf(s) === 0 && localStorage.removeItem(l);
1282
+ }
1283
+ }) : u = y.reject("Invalid arguments"), C(u, a), u;
1284
+ }
1285
+ var Ut = {
1286
+ _driver: "localStorageWrapper",
1287
+ _initStorage: Ct,
1288
+ _support: Rt(),
1289
+ iterate: Nt,
1290
+ getItem: Ft,
1291
+ setItem: Mt,
1292
+ removeItem: Pt,
1293
+ clear: Dt,
1294
+ length: Bt,
1295
+ key: Tt,
1296
+ keys: Ot,
1297
+ dropInstance: Lt
1298
+ }, zt = function(a, t) {
1299
+ return a === t || typeof a == "number" && typeof t == "number" && isNaN(a) && isNaN(t);
1300
+ }, Wt = function(a, t) {
1301
+ for (var f = a.length, u = 0; u < f; ) {
1302
+ if (zt(a[u], t))
1303
+ return !0;
1304
+ u++;
1305
+ }
1306
+ return !1;
1307
+ }, ke = Array.isArray || function(e) {
1308
+ return Object.prototype.toString.call(e) === "[object Array]";
1309
+ }, se = {}, $e = {}, ae = {
1310
+ INDEXEDDB: ft,
1311
+ WEBSQL: Et,
1312
+ LOCALSTORAGE: Ut
1313
+ }, kt = [ae.INDEXEDDB._driver, ae.WEBSQL._driver, ae.LOCALSTORAGE._driver], le = ["dropInstance"], ge = ["clear", "getItem", "iterate", "key", "keys", "length", "removeItem", "setItem"].concat(le), $t = {
1314
+ description: "",
1315
+ driver: kt.slice(),
1316
+ name: "localforage",
1317
+ // Default DB size is _JUST UNDER_ 5MB, as it's the highest size
1318
+ // we can use without a prompt.
1319
+ size: 4980736,
1320
+ storeName: "keyvaluepairs",
1321
+ version: 1
1322
+ };
1323
+ function Yt(e, a) {
1324
+ e[a] = function() {
1325
+ var t = arguments;
1326
+ return e.ready().then(function() {
1327
+ return e[a].apply(e, t);
1328
+ });
1329
+ };
1330
+ }
1331
+ function be() {
1332
+ for (var e = 1; e < arguments.length; e++) {
1333
+ var a = arguments[e];
1334
+ if (a)
1335
+ for (var t in a)
1336
+ a.hasOwnProperty(t) && (ke(a[t]) ? arguments[0][t] = a[t].slice() : arguments[0][t] = a[t]);
1337
+ }
1338
+ return arguments[0];
1339
+ }
1340
+ var jt = (function() {
1341
+ function e(a) {
1342
+ H(this, e);
1343
+ for (var t in ae)
1344
+ if (ae.hasOwnProperty(t)) {
1345
+ var f = ae[t], u = f._driver;
1346
+ this[t] = u, se[u] || this.defineDriver(f);
1347
+ }
1348
+ this._defaultConfig = be({}, $t), this._config = be({}, this._defaultConfig, a), this._driverSet = null, this._initDriver = null, this._ready = !1, this._dbInfo = null, this._wrapLibraryMethodsWithReady(), this.setDriver(this._config.driver).catch(function() {
1349
+ });
1350
+ }
1351
+ return e.prototype.config = function(t) {
1352
+ if ((typeof t > "u" ? "undefined" : F(t)) === "object") {
1353
+ if (this._ready)
1354
+ return new Error("Can't call config() after localforage has been used.");
1355
+ for (var f in t) {
1356
+ if (f === "storeName" && (t[f] = t[f].replace(/\W/g, "_")), f === "version" && typeof t[f] != "number")
1357
+ return new Error("Database version must be a number.");
1358
+ this._config[f] = t[f];
1359
+ }
1360
+ return "driver" in t && t.driver ? this.setDriver(this._config.driver) : !0;
1361
+ } else return typeof t == "string" ? this._config[t] : this._config;
1362
+ }, e.prototype.defineDriver = function(t, f, u) {
1363
+ var s = new y(function(c, l) {
1364
+ try {
1365
+ var h = t._driver, v = new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");
1366
+ if (!t._driver) {
1367
+ l(v);
1368
+ return;
1369
+ }
1370
+ for (var m = ge.concat("_initStorage"), _ = 0, B = m.length; _ < B; _++) {
1371
+ var k = m[_], j = !Wt(le, k);
1372
+ if ((j || t[k]) && typeof t[k] != "function") {
1373
+ l(v);
1374
+ return;
1375
+ }
1376
+ }
1377
+ var X = function() {
1378
+ for (var fe = function(Jt) {
1379
+ return function() {
1380
+ var Vt = new Error("Method " + Jt + " is not implemented by the current driver"), Ye = y.reject(Vt);
1381
+ return C(Ye, arguments[arguments.length - 1]), Ye;
1382
+ };
1383
+ }, we = 0, Kt = le.length; we < Kt; we++) {
1384
+ var _e = le[we];
1385
+ t[_e] || (t[_e] = fe(_e));
1386
+ }
1387
+ };
1388
+ X();
1389
+ var Q = function(fe) {
1390
+ se[h] && console.info("Redefining LocalForage driver: " + h), se[h] = t, $e[h] = fe, c();
1391
+ };
1392
+ "_support" in t ? t._support && typeof t._support == "function" ? t._support().then(Q, l) : Q(!!t._support) : Q(!0);
1393
+ } catch (te) {
1394
+ l(te);
1395
+ }
1396
+ });
1397
+ return Y(s, f, u), s;
1398
+ }, e.prototype.driver = function() {
1399
+ return this._driver || null;
1400
+ }, e.prototype.getDriver = function(t, f, u) {
1401
+ var s = se[t] ? y.resolve(se[t]) : y.reject(new Error("Driver not found."));
1402
+ return Y(s, f, u), s;
1403
+ }, e.prototype.getSerializer = function(t) {
1404
+ var f = y.resolve(ye);
1405
+ return Y(f, t), f;
1406
+ }, e.prototype.ready = function(t) {
1407
+ var f = this, u = f._driverSet.then(function() {
1408
+ return f._ready === null && (f._ready = f._initDriver()), f._ready;
1409
+ });
1410
+ return Y(u, t, t), u;
1411
+ }, e.prototype.setDriver = function(t, f, u) {
1412
+ var s = this;
1413
+ ke(t) || (t = [t]);
1414
+ var c = this._getSupportedDrivers(t);
1415
+ function l() {
1416
+ s._config.driver = s.driver();
1417
+ }
1418
+ function h(_) {
1419
+ return s._extend(_), l(), s._ready = s._initStorage(s._config), s._ready;
1420
+ }
1421
+ function v(_) {
1422
+ return function() {
1423
+ var B = 0;
1424
+ function k() {
1425
+ for (; B < _.length; ) {
1426
+ var j = _[B];
1427
+ return B++, s._dbInfo = null, s._ready = null, s.getDriver(j).then(h).catch(k);
1428
+ }
1429
+ l();
1430
+ var X = new Error("No available storage method found.");
1431
+ return s._driverSet = y.reject(X), s._driverSet;
1432
+ }
1433
+ return k();
1434
+ };
1435
+ }
1436
+ var m = this._driverSet !== null ? this._driverSet.catch(function() {
1437
+ return y.resolve();
1438
+ }) : y.resolve();
1439
+ return this._driverSet = m.then(function() {
1440
+ var _ = c[0];
1441
+ return s._dbInfo = null, s._ready = null, s.getDriver(_).then(function(B) {
1442
+ s._driver = B._driver, l(), s._wrapLibraryMethodsWithReady(), s._initDriver = v(c);
1443
+ });
1444
+ }).catch(function() {
1445
+ l();
1446
+ var _ = new Error("No available storage method found.");
1447
+ return s._driverSet = y.reject(_), s._driverSet;
1448
+ }), Y(this._driverSet, f, u), this._driverSet;
1449
+ }, e.prototype.supports = function(t) {
1450
+ return !!$e[t];
1451
+ }, e.prototype._extend = function(t) {
1452
+ be(this, t);
1453
+ }, e.prototype._getSupportedDrivers = function(t) {
1454
+ for (var f = [], u = 0, s = t.length; u < s; u++) {
1455
+ var c = t[u];
1456
+ this.supports(c) && f.push(c);
1457
+ }
1458
+ return f;
1459
+ }, e.prototype._wrapLibraryMethodsWithReady = function() {
1460
+ for (var t = 0, f = ge.length; t < f; t++)
1461
+ Yt(this, ge[t]);
1462
+ }, e.prototype.createInstance = function(t) {
1463
+ return new e(t);
1464
+ }, e;
1465
+ })(), Ht = new jt();
1466
+ I.exports = Ht;
1467
+ }, { 3: 3 }] }, {}, [4])(4);
1468
+ });
1469
+ })(Se)), Se.exports;
1470
+ }
1471
+ var Xt = Qt();
1472
+ const oe = /* @__PURE__ */ Ge(Xt);
1473
+ var xe = { exports: {} };
1474
+ const qt = {}, Zt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1475
+ __proto__: null,
1476
+ default: qt
1477
+ }, Symbol.toStringTag, { value: "Module" })), He = /* @__PURE__ */ Gt(Zt);
1478
+ var Ke;
1479
+ function er() {
1480
+ return Ke || (Ke = 1, (function(L) {
1481
+ (function() {
1482
+ var S = "input is invalid type", b = "finalize already called", I = typeof window == "object", N = I ? window : {};
1483
+ N.JS_MD5_NO_WINDOW && (I = !1);
1484
+ var F = !I && typeof self == "object", H = !N.JS_MD5_NO_NODE_JS && typeof process == "object" && process.versions && process.versions.node;
1485
+ H ? N = ue : F && (N = self);
1486
+ var O = !N.JS_MD5_NO_COMMON_JS && !0 && L.exports, $ = !N.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer < "u", w = "0123456789abcdef".split(""), q = [128, 32768, 8388608, -2147483648], y = [0, 8, 16, 24], C = ["hex", "array", "digest", "buffer", "arrayBuffer", "base64"], Y = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), x = [], T;
1487
+ if ($) {
1488
+ var U = new ArrayBuffer(68);
1489
+ T = new Uint8Array(U), x = new Uint32Array(U);
1490
+ }
1491
+ var z = Array.isArray;
1492
+ (N.JS_MD5_NO_NODE_JS || !z) && (z = function(r) {
1493
+ return Object.prototype.toString.call(r) === "[object Array]";
1494
+ });
1495
+ var W = ArrayBuffer.isView;
1496
+ $ && (N.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !W) && (W = function(r) {
1497
+ return typeof r == "object" && r.buffer && r.buffer.constructor === ArrayBuffer;
1498
+ });
1499
+ var J = function(r) {
1500
+ var o = typeof r;
1501
+ if (o === "string")
1502
+ return [r, !0];
1503
+ if (o !== "object" || r === null)
1504
+ throw new Error(S);
1505
+ if ($ && r.constructor === ArrayBuffer)
1506
+ return [new Uint8Array(r), !1];
1507
+ if (!z(r) && !W(r))
1508
+ throw new Error(S);
1509
+ return [r, !1];
1510
+ }, K = function(r) {
1511
+ return function(o) {
1512
+ return new D(!0).update(o)[r]();
1513
+ };
1514
+ }, g = function() {
1515
+ var r = K("hex");
1516
+ H && (r = P(r)), r.create = function() {
1517
+ return new D();
1518
+ }, r.update = function(n) {
1519
+ return r.create().update(n);
1520
+ };
1521
+ for (var o = 0; o < C.length; ++o) {
1522
+ var i = C[o];
1523
+ r[i] = K(i);
1524
+ }
1525
+ return r;
1526
+ }, P = function(r) {
1527
+ var o = He, i = He.Buffer, n;
1528
+ i.from && !N.JS_MD5_NO_BUFFER_FROM ? n = i.from : n = function(d) {
1529
+ return new i(d);
1530
+ };
1531
+ var E = function(d) {
1532
+ if (typeof d == "string")
1533
+ return o.createHash("md5").update(d, "utf8").digest("hex");
1534
+ if (d == null)
1535
+ throw new Error(S);
1536
+ return d.constructor === ArrayBuffer && (d = new Uint8Array(d)), z(d) || W(d) || d.constructor === i ? o.createHash("md5").update(n(d)).digest("hex") : r(d);
1537
+ };
1538
+ return E;
1539
+ }, R = function(r) {
1540
+ return function(o, i) {
1541
+ return new G(o, !0).update(i)[r]();
1542
+ };
1543
+ }, M = function() {
1544
+ var r = R("hex");
1545
+ r.create = function(n) {
1546
+ return new G(n);
1547
+ }, r.update = function(n, E) {
1548
+ return r.create(n).update(E);
1549
+ };
1550
+ for (var o = 0; o < C.length; ++o) {
1551
+ var i = C[o];
1552
+ r[i] = R(i);
1553
+ }
1554
+ return r;
1555
+ };
1556
+ function D(r) {
1557
+ if (r)
1558
+ x[0] = x[16] = x[1] = x[2] = x[3] = x[4] = x[5] = x[6] = x[7] = x[8] = x[9] = x[10] = x[11] = x[12] = x[13] = x[14] = x[15] = 0, this.blocks = x, this.buffer8 = T;
1559
+ else if ($) {
1560
+ var o = new ArrayBuffer(68);
1561
+ this.buffer8 = new Uint8Array(o), this.blocks = new Uint32Array(o);
1562
+ } else
1563
+ this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
1564
+ this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0, this.finalized = this.hashed = !1, this.first = !0;
1565
+ }
1566
+ D.prototype.update = function(r) {
1567
+ if (this.finalized)
1568
+ throw new Error(b);
1569
+ var o = J(r);
1570
+ r = o[0];
1571
+ for (var i = o[1], n, E = 0, d, p = r.length, A = this.blocks, Z = this.buffer8; E < p; ) {
1572
+ if (this.hashed && (this.hashed = !1, A[0] = A[16], A[16] = A[1] = A[2] = A[3] = A[4] = A[5] = A[6] = A[7] = A[8] = A[9] = A[10] = A[11] = A[12] = A[13] = A[14] = A[15] = 0), i)
1573
+ if ($)
1574
+ for (d = this.start; E < p && d < 64; ++E)
1575
+ n = r.charCodeAt(E), n < 128 ? Z[d++] = n : n < 2048 ? (Z[d++] = 192 | n >>> 6, Z[d++] = 128 | n & 63) : n < 55296 || n >= 57344 ? (Z[d++] = 224 | n >>> 12, Z[d++] = 128 | n >>> 6 & 63, Z[d++] = 128 | n & 63) : (n = 65536 + ((n & 1023) << 10 | r.charCodeAt(++E) & 1023), Z[d++] = 240 | n >>> 18, Z[d++] = 128 | n >>> 12 & 63, Z[d++] = 128 | n >>> 6 & 63, Z[d++] = 128 | n & 63);
1576
+ else
1577
+ for (d = this.start; E < p && d < 64; ++E)
1578
+ n = r.charCodeAt(E), n < 128 ? A[d >>> 2] |= n << y[d++ & 3] : n < 2048 ? (A[d >>> 2] |= (192 | n >>> 6) << y[d++ & 3], A[d >>> 2] |= (128 | n & 63) << y[d++ & 3]) : n < 55296 || n >= 57344 ? (A[d >>> 2] |= (224 | n >>> 12) << y[d++ & 3], A[d >>> 2] |= (128 | n >>> 6 & 63) << y[d++ & 3], A[d >>> 2] |= (128 | n & 63) << y[d++ & 3]) : (n = 65536 + ((n & 1023) << 10 | r.charCodeAt(++E) & 1023), A[d >>> 2] |= (240 | n >>> 18) << y[d++ & 3], A[d >>> 2] |= (128 | n >>> 12 & 63) << y[d++ & 3], A[d >>> 2] |= (128 | n >>> 6 & 63) << y[d++ & 3], A[d >>> 2] |= (128 | n & 63) << y[d++ & 3]);
1579
+ else if ($)
1580
+ for (d = this.start; E < p && d < 64; ++E)
1581
+ Z[d++] = r[E];
1582
+ else
1583
+ for (d = this.start; E < p && d < 64; ++E)
1584
+ A[d >>> 2] |= r[E] << y[d++ & 3];
1585
+ this.lastByteIndex = d, this.bytes += d - this.start, d >= 64 ? (this.start = d - 64, this.hash(), this.hashed = !0) : this.start = d;
1586
+ }
1587
+ return this.bytes > 4294967295 && (this.hBytes += this.bytes / 4294967296 << 0, this.bytes = this.bytes % 4294967296), this;
1588
+ }, D.prototype.finalize = function() {
1589
+ if (!this.finalized) {
1590
+ this.finalized = !0;
1591
+ var r = this.blocks, o = this.lastByteIndex;
1592
+ r[o >>> 2] |= q[o & 3], o >= 56 && (this.hashed || this.hash(), r[0] = r[16], r[16] = r[1] = r[2] = r[3] = r[4] = r[5] = r[6] = r[7] = r[8] = r[9] = r[10] = r[11] = r[12] = r[13] = r[14] = r[15] = 0), r[14] = this.bytes << 3, r[15] = this.hBytes << 3 | this.bytes >>> 29, this.hash();
1593
+ }
1594
+ }, D.prototype.hash = function() {
1595
+ var r, o, i, n, E, d, p = this.blocks;
1596
+ this.first ? (r = p[0] - 680876937, r = (r << 7 | r >>> 25) - 271733879 << 0, n = (-1732584194 ^ r & 2004318071) + p[1] - 117830708, n = (n << 12 | n >>> 20) + r << 0, i = (-271733879 ^ n & (r ^ -271733879)) + p[2] - 1126478375, i = (i << 17 | i >>> 15) + n << 0, o = (r ^ i & (n ^ r)) + p[3] - 1316259209, o = (o << 22 | o >>> 10) + i << 0) : (r = this.h0, o = this.h1, i = this.h2, n = this.h3, r += (n ^ o & (i ^ n)) + p[0] - 680876936, r = (r << 7 | r >>> 25) + o << 0, n += (i ^ r & (o ^ i)) + p[1] - 389564586, n = (n << 12 | n >>> 20) + r << 0, i += (o ^ n & (r ^ o)) + p[2] + 606105819, i = (i << 17 | i >>> 15) + n << 0, o += (r ^ i & (n ^ r)) + p[3] - 1044525330, o = (o << 22 | o >>> 10) + i << 0), r += (n ^ o & (i ^ n)) + p[4] - 176418897, r = (r << 7 | r >>> 25) + o << 0, n += (i ^ r & (o ^ i)) + p[5] + 1200080426, n = (n << 12 | n >>> 20) + r << 0, i += (o ^ n & (r ^ o)) + p[6] - 1473231341, i = (i << 17 | i >>> 15) + n << 0, o += (r ^ i & (n ^ r)) + p[7] - 45705983, o = (o << 22 | o >>> 10) + i << 0, r += (n ^ o & (i ^ n)) + p[8] + 1770035416, r = (r << 7 | r >>> 25) + o << 0, n += (i ^ r & (o ^ i)) + p[9] - 1958414417, n = (n << 12 | n >>> 20) + r << 0, i += (o ^ n & (r ^ o)) + p[10] - 42063, i = (i << 17 | i >>> 15) + n << 0, o += (r ^ i & (n ^ r)) + p[11] - 1990404162, o = (o << 22 | o >>> 10) + i << 0, r += (n ^ o & (i ^ n)) + p[12] + 1804603682, r = (r << 7 | r >>> 25) + o << 0, n += (i ^ r & (o ^ i)) + p[13] - 40341101, n = (n << 12 | n >>> 20) + r << 0, i += (o ^ n & (r ^ o)) + p[14] - 1502002290, i = (i << 17 | i >>> 15) + n << 0, o += (r ^ i & (n ^ r)) + p[15] + 1236535329, o = (o << 22 | o >>> 10) + i << 0, r += (i ^ n & (o ^ i)) + p[1] - 165796510, r = (r << 5 | r >>> 27) + o << 0, n += (o ^ i & (r ^ o)) + p[6] - 1069501632, n = (n << 9 | n >>> 23) + r << 0, i += (r ^ o & (n ^ r)) + p[11] + 643717713, i = (i << 14 | i >>> 18) + n << 0, o += (n ^ r & (i ^ n)) + p[0] - 373897302, o = (o << 20 | o >>> 12) + i << 0, r += (i ^ n & (o ^ i)) + p[5] - 701558691, r = (r << 5 | r >>> 27) + o << 0, n += (o ^ i & (r ^ o)) + p[10] + 38016083, n = (n << 9 | n >>> 23) + r << 0, i += (r ^ o & (n ^ r)) + p[15] - 660478335, i = (i << 14 | i >>> 18) + n << 0, o += (n ^ r & (i ^ n)) + p[4] - 405537848, o = (o << 20 | o >>> 12) + i << 0, r += (i ^ n & (o ^ i)) + p[9] + 568446438, r = (r << 5 | r >>> 27) + o << 0, n += (o ^ i & (r ^ o)) + p[14] - 1019803690, n = (n << 9 | n >>> 23) + r << 0, i += (r ^ o & (n ^ r)) + p[3] - 187363961, i = (i << 14 | i >>> 18) + n << 0, o += (n ^ r & (i ^ n)) + p[8] + 1163531501, o = (o << 20 | o >>> 12) + i << 0, r += (i ^ n & (o ^ i)) + p[13] - 1444681467, r = (r << 5 | r >>> 27) + o << 0, n += (o ^ i & (r ^ o)) + p[2] - 51403784, n = (n << 9 | n >>> 23) + r << 0, i += (r ^ o & (n ^ r)) + p[7] + 1735328473, i = (i << 14 | i >>> 18) + n << 0, o += (n ^ r & (i ^ n)) + p[12] - 1926607734, o = (o << 20 | o >>> 12) + i << 0, E = o ^ i, r += (E ^ n) + p[5] - 378558, r = (r << 4 | r >>> 28) + o << 0, n += (E ^ r) + p[8] - 2022574463, n = (n << 11 | n >>> 21) + r << 0, d = n ^ r, i += (d ^ o) + p[11] + 1839030562, i = (i << 16 | i >>> 16) + n << 0, o += (d ^ i) + p[14] - 35309556, o = (o << 23 | o >>> 9) + i << 0, E = o ^ i, r += (E ^ n) + p[1] - 1530992060, r = (r << 4 | r >>> 28) + o << 0, n += (E ^ r) + p[4] + 1272893353, n = (n << 11 | n >>> 21) + r << 0, d = n ^ r, i += (d ^ o) + p[7] - 155497632, i = (i << 16 | i >>> 16) + n << 0, o += (d ^ i) + p[10] - 1094730640, o = (o << 23 | o >>> 9) + i << 0, E = o ^ i, r += (E ^ n) + p[13] + 681279174, r = (r << 4 | r >>> 28) + o << 0, n += (E ^ r) + p[0] - 358537222, n = (n << 11 | n >>> 21) + r << 0, d = n ^ r, i += (d ^ o) + p[3] - 722521979, i = (i << 16 | i >>> 16) + n << 0, o += (d ^ i) + p[6] + 76029189, o = (o << 23 | o >>> 9) + i << 0, E = o ^ i, r += (E ^ n) + p[9] - 640364487, r = (r << 4 | r >>> 28) + o << 0, n += (E ^ r) + p[12] - 421815835, n = (n << 11 | n >>> 21) + r << 0, d = n ^ r, i += (d ^ o) + p[15] + 530742520, i = (i << 16 | i >>> 16) + n << 0, o += (d ^ i) + p[2] - 995338651, o = (o << 23 | o >>> 9) + i << 0, r += (i ^ (o | ~n)) + p[0] - 198630844, r = (r << 6 | r >>> 26) + o << 0, n += (o ^ (r | ~i)) + p[7] + 1126891415, n = (n << 10 | n >>> 22) + r << 0, i += (r ^ (n | ~o)) + p[14] - 1416354905, i = (i << 15 | i >>> 17) + n << 0, o += (n ^ (i | ~r)) + p[5] - 57434055, o = (o << 21 | o >>> 11) + i << 0, r += (i ^ (o | ~n)) + p[12] + 1700485571, r = (r << 6 | r >>> 26) + o << 0, n += (o ^ (r | ~i)) + p[3] - 1894986606, n = (n << 10 | n >>> 22) + r << 0, i += (r ^ (n | ~o)) + p[10] - 1051523, i = (i << 15 | i >>> 17) + n << 0, o += (n ^ (i | ~r)) + p[1] - 2054922799, o = (o << 21 | o >>> 11) + i << 0, r += (i ^ (o | ~n)) + p[8] + 1873313359, r = (r << 6 | r >>> 26) + o << 0, n += (o ^ (r | ~i)) + p[15] - 30611744, n = (n << 10 | n >>> 22) + r << 0, i += (r ^ (n | ~o)) + p[6] - 1560198380, i = (i << 15 | i >>> 17) + n << 0, o += (n ^ (i | ~r)) + p[13] + 1309151649, o = (o << 21 | o >>> 11) + i << 0, r += (i ^ (o | ~n)) + p[4] - 145523070, r = (r << 6 | r >>> 26) + o << 0, n += (o ^ (r | ~i)) + p[11] - 1120210379, n = (n << 10 | n >>> 22) + r << 0, i += (r ^ (n | ~o)) + p[2] + 718787259, i = (i << 15 | i >>> 17) + n << 0, o += (n ^ (i | ~r)) + p[9] - 343485551, o = (o << 21 | o >>> 11) + i << 0, this.first ? (this.h0 = r + 1732584193 << 0, this.h1 = o - 271733879 << 0, this.h2 = i - 1732584194 << 0, this.h3 = n + 271733878 << 0, this.first = !1) : (this.h0 = this.h0 + r << 0, this.h1 = this.h1 + o << 0, this.h2 = this.h2 + i << 0, this.h3 = this.h3 + n << 0);
1597
+ }, D.prototype.hex = function() {
1598
+ this.finalize();
1599
+ var r = this.h0, o = this.h1, i = this.h2, n = this.h3;
1600
+ return w[r >>> 4 & 15] + w[r & 15] + w[r >>> 12 & 15] + w[r >>> 8 & 15] + w[r >>> 20 & 15] + w[r >>> 16 & 15] + w[r >>> 28 & 15] + w[r >>> 24 & 15] + w[o >>> 4 & 15] + w[o & 15] + w[o >>> 12 & 15] + w[o >>> 8 & 15] + w[o >>> 20 & 15] + w[o >>> 16 & 15] + w[o >>> 28 & 15] + w[o >>> 24 & 15] + w[i >>> 4 & 15] + w[i & 15] + w[i >>> 12 & 15] + w[i >>> 8 & 15] + w[i >>> 20 & 15] + w[i >>> 16 & 15] + w[i >>> 28 & 15] + w[i >>> 24 & 15] + w[n >>> 4 & 15] + w[n & 15] + w[n >>> 12 & 15] + w[n >>> 8 & 15] + w[n >>> 20 & 15] + w[n >>> 16 & 15] + w[n >>> 28 & 15] + w[n >>> 24 & 15];
1601
+ }, D.prototype.toString = D.prototype.hex, D.prototype.digest = function() {
1602
+ this.finalize();
1603
+ var r = this.h0, o = this.h1, i = this.h2, n = this.h3;
1604
+ return [
1605
+ r & 255,
1606
+ r >>> 8 & 255,
1607
+ r >>> 16 & 255,
1608
+ r >>> 24 & 255,
1609
+ o & 255,
1610
+ o >>> 8 & 255,
1611
+ o >>> 16 & 255,
1612
+ o >>> 24 & 255,
1613
+ i & 255,
1614
+ i >>> 8 & 255,
1615
+ i >>> 16 & 255,
1616
+ i >>> 24 & 255,
1617
+ n & 255,
1618
+ n >>> 8 & 255,
1619
+ n >>> 16 & 255,
1620
+ n >>> 24 & 255
1621
+ ];
1622
+ }, D.prototype.array = D.prototype.digest, D.prototype.arrayBuffer = function() {
1623
+ this.finalize();
1624
+ var r = new ArrayBuffer(16), o = new Uint32Array(r);
1625
+ return o[0] = this.h0, o[1] = this.h1, o[2] = this.h2, o[3] = this.h3, r;
1626
+ }, D.prototype.buffer = D.prototype.arrayBuffer, D.prototype.base64 = function() {
1627
+ for (var r, o, i, n = "", E = this.array(), d = 0; d < 15; )
1628
+ r = E[d++], o = E[d++], i = E[d++], n += Y[r >>> 2] + Y[(r << 4 | o >>> 4) & 63] + Y[(o << 2 | i >>> 6) & 63] + Y[i & 63];
1629
+ return r = E[d], n += Y[r >>> 2] + Y[r << 4 & 63] + "==", n;
1630
+ };
1631
+ function G(r, o) {
1632
+ var i, n = J(r);
1633
+ if (r = n[0], n[1]) {
1634
+ var E = [], d = r.length, p = 0, A;
1635
+ for (i = 0; i < d; ++i)
1636
+ A = r.charCodeAt(i), A < 128 ? E[p++] = A : A < 2048 ? (E[p++] = 192 | A >>> 6, E[p++] = 128 | A & 63) : A < 55296 || A >= 57344 ? (E[p++] = 224 | A >>> 12, E[p++] = 128 | A >>> 6 & 63, E[p++] = 128 | A & 63) : (A = 65536 + ((A & 1023) << 10 | r.charCodeAt(++i) & 1023), E[p++] = 240 | A >>> 18, E[p++] = 128 | A >>> 12 & 63, E[p++] = 128 | A >>> 6 & 63, E[p++] = 128 | A & 63);
1637
+ r = E;
1638
+ }
1639
+ r.length > 64 && (r = new D(!0).update(r).array());
1640
+ var Z = [], ee = [];
1641
+ for (i = 0; i < 64; ++i) {
1642
+ var ie = r[i] || 0;
1643
+ Z[i] = 92 ^ ie, ee[i] = 54 ^ ie;
1644
+ }
1645
+ D.call(this, o), this.update(ee), this.oKeyPad = Z, this.inner = !0, this.sharedMemory = o;
1646
+ }
1647
+ G.prototype = new D(), G.prototype.finalize = function() {
1648
+ if (D.prototype.finalize.call(this), this.inner) {
1649
+ this.inner = !1;
1650
+ var r = this.array();
1651
+ D.call(this, this.sharedMemory), this.update(this.oKeyPad), this.update(r), D.prototype.finalize.call(this);
1652
+ }
1653
+ };
1654
+ var V = g();
1655
+ V.md5 = V, V.md5.hmac = M(), O ? L.exports = V : N.md5 = V;
1656
+ })();
1657
+ })(xe)), xe.exports;
1658
+ }
1659
+ var tr = er(), Ee = { exports: {} };
1660
+ var Je;
1661
+ function rr() {
1662
+ return Je || (Je = 1, (function(L) {
1663
+ ((S, b) => {
1664
+ L.exports = b();
1665
+ })("streamSaver", () => {
1666
+ const S = typeof window == "object" ? window : this;
1667
+ S.HTMLElement || console.warn("streamsaver is meant to run on browsers main thread");
1668
+ let b = null, I = !1;
1669
+ const N = (x) => {
1670
+ try {
1671
+ x();
1672
+ } catch {
1673
+ }
1674
+ }, F = S.WebStreamsPolyfill || {}, H = S.isSecureContext;
1675
+ let O = /constructor/i.test(S.HTMLElement) || !!S.safari || !!S.WebKitPoint;
1676
+ const $ = H || "MozAppearance" in document.documentElement.style ? "iframe" : "navigate", w = {
1677
+ createWriteStream: Y,
1678
+ WritableStream: S.WritableStream || F.WritableStream,
1679
+ supported: !0,
1680
+ version: { full: "2.0.5", major: 2, minor: 0, dot: 5 },
1681
+ mitm: "https://jimmywarting.github.io/StreamSaver.js/mitm.html?version=2.0.0"
1682
+ };
1683
+ function q(x) {
1684
+ if (!x) throw new Error("meh");
1685
+ const T = document.createElement("iframe");
1686
+ return T.hidden = !0, T.src = x, T.loaded = !1, T.name = "iframe", T.isIframe = !0, T.postMessage = (...U) => T.contentWindow.postMessage(...U), T.addEventListener("load", () => {
1687
+ T.loaded = !0;
1688
+ }, { once: !0 }), document.body.appendChild(T), T;
1689
+ }
1690
+ function y(x) {
1691
+ const T = "width=200,height=100", U = document.createDocumentFragment(), z = {
1692
+ frame: S.open(x, "popup", T),
1693
+ loaded: !1,
1694
+ isIframe: !1,
1695
+ isPopup: !0,
1696
+ remove() {
1697
+ z.frame.close();
1698
+ },
1699
+ addEventListener(...J) {
1700
+ U.addEventListener(...J);
1701
+ },
1702
+ dispatchEvent(...J) {
1703
+ U.dispatchEvent(...J);
1704
+ },
1705
+ removeEventListener(...J) {
1706
+ U.removeEventListener(...J);
1707
+ },
1708
+ postMessage(...J) {
1709
+ z.frame.postMessage(...J);
1710
+ }
1711
+ }, W = (J) => {
1712
+ J.source === z.frame && (z.loaded = !0, S.removeEventListener("message", W), z.dispatchEvent(new Event("load")));
1713
+ };
1714
+ return S.addEventListener("message", W), z;
1715
+ }
1716
+ try {
1717
+ new Response(new ReadableStream()), H && !("serviceWorker" in navigator) && (O = !0);
1718
+ } catch {
1719
+ O = !0;
1720
+ }
1721
+ N(() => {
1722
+ const { readable: x } = new TransformStream(), T = new MessageChannel();
1723
+ T.port1.postMessage(x, [x]), T.port1.close(), T.port2.close(), I = !0, Object.defineProperty(w, "TransformStream", {
1724
+ configurable: !1,
1725
+ writable: !1,
1726
+ value: TransformStream
1727
+ });
1728
+ });
1729
+ function C() {
1730
+ b || (b = H ? q(w.mitm) : y(w.mitm));
1731
+ }
1732
+ function Y(x, T, U) {
1733
+ let z = {
1734
+ size: null,
1735
+ pathname: null,
1736
+ writableStrategy: void 0,
1737
+ readableStrategy: void 0
1738
+ }, W = 0, J = null, K = null, g = null;
1739
+ if (Number.isFinite(T) ? ([U, T] = [T, U], console.warn("[StreamSaver] Deprecated pass an object as 2nd argument when creating a write stream"), z.size = U, z.writableStrategy = T) : T && T.highWaterMark ? (console.warn("[StreamSaver] Deprecated pass an object as 2nd argument when creating a write stream"), z.size = U, z.writableStrategy = T) : z = T || {}, !O) {
1740
+ C(), K = new MessageChannel(), x = encodeURIComponent(x.replace(/\//g, ":")).replace(/['()]/g, escape).replace(/\*/g, "%2A");
1741
+ const R = {
1742
+ transferringReadable: I,
1743
+ pathname: z.pathname || Math.random().toString().slice(-6) + "/" + x,
1744
+ headers: {
1745
+ "Content-Type": "application/octet-stream; charset=utf-8",
1746
+ "Content-Disposition": "attachment; filename*=UTF-8''" + x
1747
+ }
1748
+ };
1749
+ z.size && (R.headers["Content-Length"] = z.size);
1750
+ const M = [R, "*", [K.port2]];
1751
+ if (I) {
1752
+ const D = $ === "iframe" ? void 0 : {
1753
+ // This transformer & flush method is only used by insecure context.
1754
+ transform(V, r) {
1755
+ if (!(V instanceof Uint8Array))
1756
+ throw new TypeError("Can only write Uint8Arrays");
1757
+ W += V.length, r.enqueue(V), J && (location.href = J, J = null);
1758
+ },
1759
+ flush() {
1760
+ J && (location.href = J);
1761
+ }
1762
+ };
1763
+ g = new w.TransformStream(
1764
+ D,
1765
+ z.writableStrategy,
1766
+ z.readableStrategy
1767
+ );
1768
+ const G = g.readable;
1769
+ K.port1.postMessage({ readableStream: G }, [G]);
1770
+ }
1771
+ K.port1.onmessage = (D) => {
1772
+ D.data.download ? $ === "navigate" ? (b.remove(), b = null, W ? location.href = D.data.download : J = D.data.download) : (b.isPopup && (b.remove(), b = null, $ === "iframe" && q(w.mitm)), q(D.data.download)) : D.data.abort && (P = [], K.port1.postMessage("abort"), K.port1.onmessage = null, K.port1.close(), K.port2.close(), K = null);
1773
+ }, b.loaded ? b.postMessage(...M) : b.addEventListener("load", () => {
1774
+ b.postMessage(...M);
1775
+ }, { once: !0 });
1776
+ }
1777
+ let P = [];
1778
+ return !O && g && g.writable || new w.WritableStream({
1779
+ write(R) {
1780
+ if (!(R instanceof Uint8Array))
1781
+ throw new TypeError("Can only write Uint8Arrays");
1782
+ if (O) {
1783
+ P.push(R);
1784
+ return;
1785
+ }
1786
+ K.port1.postMessage(R), W += R.length, J && (location.href = J, J = null);
1787
+ },
1788
+ close() {
1789
+ if (O) {
1790
+ const R = new Blob(P, { type: "application/octet-stream; charset=utf-8" }), M = document.createElement("a");
1791
+ M.href = URL.createObjectURL(R), M.download = x, M.click();
1792
+ } else
1793
+ K.port1.postMessage("end");
1794
+ },
1795
+ abort() {
1796
+ P = [], K.port1.postMessage("abort"), K.port1.onmessage = null, K.port1.close(), K.port2.close(), K = null;
1797
+ }
1798
+ }, z.writableStrategy);
1799
+ }
1800
+ return w;
1801
+ });
1802
+ })(Ee)), Ee.exports;
1803
+ }
1804
+ var nr = rr();
1805
+ const Ve = /* @__PURE__ */ Ge(nr);
1806
+ var Qe = /* @__PURE__ */ ((L) => (L.PENDING = "pending", L.PAUSE = "pause", L.DOWNLOADING = "downloading", L.FINISHED = "finished", L.ERROR = "error", L))(Qe || {}), Xe = /* @__PURE__ */ ((L) => (L.READY = "ready", L.STATUS_UPDATE = "status_update", L.PROGRESS_UPDATE = "progress_update", L))(Xe || {});
1807
+ class or {
1808
+ static EVENTS = Xe;
1809
+ static STATUS = Qe;
1810
+ url;
1811
+ fileName;
1812
+ isReady = !1;
1813
+ abortController;
1814
+ currentChunk = 0;
1815
+ chunkSize;
1816
+ totalChunk = 0;
1817
+ totalSize = 0;
1818
+ status = "pending";
1819
+ onReady;
1820
+ onStatusChange;
1821
+ onProgressUpdate;
1822
+ constructor({
1823
+ url: S,
1824
+ fileName: b,
1825
+ chunkSize: I = 10 * 1024 * 1024,
1826
+ onReady: N,
1827
+ onProgressUpdate: F,
1828
+ onStatusChange: H
1829
+ }) {
1830
+ this.url = S, this.fileName = b, this.chunkSize = I, this.abortController = new AbortController(), this.onReady = N, this.onProgressUpdate = F, this.onStatusChange = H, this.openDB();
1831
+ }
1832
+ static setMitmPath(S) {
1833
+ Ve.mitm = S;
1834
+ }
1835
+ changeStatus(S, b = null) {
1836
+ this.status = S, this.onStatusChange?.({
1837
+ status: S,
1838
+ error: b
1839
+ });
1840
+ }
1841
+ async openDB() {
1842
+ try {
1843
+ this.changeStatus(
1844
+ "pending"
1845
+ /* PENDING */
1846
+ ), await oe.ready(), await this.init(), this.onReady?.(), this.isReady = !0;
1847
+ } catch (S) {
1848
+ this.changeStatus("error", S);
1849
+ }
1850
+ }
1851
+ async getChunkKeys() {
1852
+ const S = this.getURLMd5();
1853
+ return (await oe.keys()).filter((I) => I.startsWith(`${S}_`));
1854
+ }
1855
+ async getCompletedCount() {
1856
+ return (await this.getChunkKeys()).length;
1857
+ }
1858
+ async getResumePosition() {
1859
+ const b = (await this.getChunkKeys()).map((F) => parseInt(F.split("_")[1], 10)).filter((F) => !isNaN(F));
1860
+ let I = 0;
1861
+ const N = new Set(b);
1862
+ for (; N.has(I); )
1863
+ I++;
1864
+ return I;
1865
+ }
1866
+ async init() {
1867
+ const S = await this.getFileSize();
1868
+ this.totalSize = S, this.totalChunk = Math.ceil(this.totalSize / this.chunkSize), this.currentChunk = await this.getResumePosition(), this.updateProgress();
1869
+ }
1870
+ getURLMd5 = /* @__PURE__ */ (() => {
1871
+ let S;
1872
+ return () => S || (S = tr.md5(this.url));
1873
+ })();
1874
+ async getFileSize() {
1875
+ try {
1876
+ const { headers: I } = await fetch(this.url, {
1877
+ method: "HEAD"
1878
+ });
1879
+ let N = I.get("content-length");
1880
+ if (N) return Number(N);
1881
+ } catch {
1882
+ }
1883
+ const { headers: S } = await fetch(this.url, {
1884
+ method: "GET",
1885
+ headers: { Range: "bytes=0-0" }
1886
+ }), b = S.get("content-range");
1887
+ if (b) {
1888
+ const I = b.match(/\/(\d+)$/);
1889
+ if (I) return Number(I[1]);
1890
+ }
1891
+ throw new Error("无法获取文件大小");
1892
+ }
1893
+ getCurrentChunkName(S) {
1894
+ return `${this.getURLMd5()}_${S}`;
1895
+ }
1896
+ async getChunkData(S, b) {
1897
+ return (await fetch(this.url, {
1898
+ headers: {
1899
+ Range: `bytes=${S}-${b}`
1900
+ },
1901
+ signal: this.abortController?.signal
1902
+ })).arrayBuffer();
1903
+ }
1904
+ abort() {
1905
+ this.abortController?.abort(), this.abortController = new AbortController();
1906
+ }
1907
+ async updateProgress() {
1908
+ const b = (await this.getCompletedCount() / this.totalChunk * 100).toFixed(2);
1909
+ this.onProgressUpdate?.(b);
1910
+ }
1911
+ resetState() {
1912
+ this.currentChunk = 0, this.updateProgress(), this.changeStatus(
1913
+ "pending"
1914
+ /* PENDING */
1915
+ );
1916
+ }
1917
+ start() {
1918
+ this.isReady && (this.changeStatus(
1919
+ "downloading"
1920
+ /* DOWNLOADING */
1921
+ ), this.download());
1922
+ }
1923
+ pause() {
1924
+ this.changeStatus(
1925
+ "pause"
1926
+ /* PAUSE */
1927
+ ), this.abort();
1928
+ }
1929
+ async resume() {
1930
+ this.currentChunk = await this.getResumePosition(), this.changeStatus(
1931
+ "downloading"
1932
+ /* DOWNLOADING */
1933
+ ), this.download();
1934
+ }
1935
+ async cancel() {
1936
+ this.abort(), this.resetState(), this.remove();
1937
+ }
1938
+ async uploadSingeChunk(S) {
1939
+ const b = this.getCurrentChunkName(S);
1940
+ if (await oe.getItem(b)) {
1941
+ this.updateProgress();
1942
+ return;
1943
+ }
1944
+ const I = S * this.chunkSize, N = Math.min(I + this.chunkSize - 1, this.totalSize - 1), F = await this.getChunkData(I, N);
1945
+ await oe.setItem(b, new Blob([F])), this.updateProgress();
1946
+ }
1947
+ async download() {
1948
+ try {
1949
+ const b = [], I = async (N) => {
1950
+ await this.uploadSingeChunk(N);
1951
+ };
1952
+ for (; this.currentChunk < this.totalChunk; ) {
1953
+ b.length >= 4 && await Promise.race(b);
1954
+ const N = I(this.currentChunk++).finally(() => {
1955
+ const F = b.indexOf(N);
1956
+ F > -1 && b.splice(F, 1);
1957
+ });
1958
+ b.push(N);
1959
+ }
1960
+ await Promise.all(b), this.changeStatus(
1961
+ "finished"
1962
+ /* FINISHED */
1963
+ ), this.mergeAndDownload();
1964
+ } catch (S) {
1965
+ const b = S;
1966
+ if (b && b.name === "AbortError")
1967
+ return;
1968
+ this.changeStatus("error", S);
1969
+ }
1970
+ }
1971
+ async remove() {
1972
+ const S = await this.getChunkKeys();
1973
+ await Promise.all(S.map((b) => oe.removeItem(b)));
1974
+ }
1975
+ async mergeAndDownload() {
1976
+ if (await this.getCompletedCount() < this.totalChunk) {
1977
+ this.changeStatus(
1978
+ "error",
1979
+ new Error("下载不完整,请取消再重新下载")
1980
+ );
1981
+ return;
1982
+ }
1983
+ const I = Ve.createWriteStream(this.fileName, {
1984
+ size: this.totalSize
1985
+ }).getWriter(), N = this.getURLMd5();
1986
+ try {
1987
+ for (let F = 0; F < this.totalChunk; F++) {
1988
+ const H = await oe.getItem(`${N}_${F}`);
1989
+ if (!H) throw new Error(`Chunk ${F} missed!`);
1990
+ const O = H.stream().getReader();
1991
+ for (; ; ) {
1992
+ const { done: $, value: w } = await O.read();
1993
+ if ($) break;
1994
+ await I.write(w);
1995
+ }
1996
+ }
1997
+ await I.close(), setTimeout(async () => {
1998
+ await this.remove(), this.resetState();
1999
+ }, 2e3);
2000
+ } catch (F) {
2001
+ this.changeStatus("error", F), I.abort && I.abort(F);
2002
+ }
2003
+ }
2004
+ destroy() {
2005
+ this.abort();
2006
+ }
2007
+ }
2008
+ export {
2009
+ Qe as STATUS,
2010
+ or as default
2011
+ };