@onekeyfe/hd-web-sdk 0.1.53 → 0.1.55
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.
- package/build/data/coins/bitcoin.json +1 -0
- package/build/data/messages/messages.json +115 -13
- package/build/iframe.html +1 -1
- package/build/js/iframe.9c776a23228e11434d19.js +3 -0
- package/build/js/{iframe.5a3876f5883808e1746f.js.LICENSE.txt → iframe.9c776a23228e11434d19.js.LICENSE.txt} +2 -18
- package/build/js/iframe.9c776a23228e11434d19.js.map +1 -0
- package/build/onekey-js-sdk.js +1798 -1340
- package/build/onekey-js-sdk.js.map +1 -1
- package/build/onekey-js-sdk.min.js +1 -1
- package/build/onekey-js-sdk.min.js.map +1 -1
- package/package.json +6 -6
- package/build/js/iframe.5a3876f5883808e1746f.js +0 -3
- package/build/js/iframe.5a3876f5883808e1746f.js.map +0 -1
package/build/onekey-js-sdk.js
CHANGED
|
@@ -11,6 +11,1023 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
+
/***/ 3525:
|
|
15
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
16
|
+
|
|
17
|
+
"use strict";
|
|
18
|
+
|
|
19
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
20
|
+
exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;
|
|
21
|
+
function number(n) {
|
|
22
|
+
if (!Number.isSafeInteger(n) || n < 0)
|
|
23
|
+
throw new Error(`Wrong positive integer: ${n}`);
|
|
24
|
+
}
|
|
25
|
+
exports.number = number;
|
|
26
|
+
function bool(b) {
|
|
27
|
+
if (typeof b !== 'boolean')
|
|
28
|
+
throw new Error(`Expected boolean, not ${b}`);
|
|
29
|
+
}
|
|
30
|
+
exports.bool = bool;
|
|
31
|
+
function bytes(b, ...lengths) {
|
|
32
|
+
if (!(b instanceof Uint8Array))
|
|
33
|
+
throw new TypeError('Expected Uint8Array');
|
|
34
|
+
if (lengths.length > 0 && !lengths.includes(b.length))
|
|
35
|
+
throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
|
|
36
|
+
}
|
|
37
|
+
exports.bytes = bytes;
|
|
38
|
+
function hash(hash) {
|
|
39
|
+
if (typeof hash !== 'function' || typeof hash.create !== 'function')
|
|
40
|
+
throw new Error('Hash should be wrapped by utils.wrapConstructor');
|
|
41
|
+
number(hash.outputLen);
|
|
42
|
+
number(hash.blockLen);
|
|
43
|
+
}
|
|
44
|
+
exports.hash = hash;
|
|
45
|
+
function exists(instance, checkFinished = true) {
|
|
46
|
+
if (instance.destroyed)
|
|
47
|
+
throw new Error('Hash instance has been destroyed');
|
|
48
|
+
if (checkFinished && instance.finished)
|
|
49
|
+
throw new Error('Hash#digest() has already been called');
|
|
50
|
+
}
|
|
51
|
+
exports.exists = exists;
|
|
52
|
+
function output(out, instance) {
|
|
53
|
+
bytes(out);
|
|
54
|
+
const min = instance.outputLen;
|
|
55
|
+
if (out.length < min) {
|
|
56
|
+
throw new Error(`digestInto() expects output buffer of length at least ${min}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.output = output;
|
|
60
|
+
const assert = {
|
|
61
|
+
number,
|
|
62
|
+
bool,
|
|
63
|
+
bytes,
|
|
64
|
+
hash,
|
|
65
|
+
exists,
|
|
66
|
+
output,
|
|
67
|
+
};
|
|
68
|
+
exports["default"] = assert;
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/***/ }),
|
|
72
|
+
|
|
73
|
+
/***/ 2686:
|
|
74
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
75
|
+
|
|
76
|
+
"use strict";
|
|
77
|
+
|
|
78
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
79
|
+
exports.BLAKE2 = exports.SIGMA = void 0;
|
|
80
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
81
|
+
const utils_js_1 = __webpack_require__(64);
|
|
82
|
+
// prettier-ignore
|
|
83
|
+
exports.SIGMA = new Uint8Array([
|
|
84
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
85
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
86
|
+
11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,
|
|
87
|
+
7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,
|
|
88
|
+
9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,
|
|
89
|
+
2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,
|
|
90
|
+
12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,
|
|
91
|
+
13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,
|
|
92
|
+
6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,
|
|
93
|
+
10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,
|
|
94
|
+
// For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].
|
|
95
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
96
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
97
|
+
]);
|
|
98
|
+
class BLAKE2 extends utils_js_1.Hash {
|
|
99
|
+
constructor(blockLen, outputLen, opts = {}, keyLen, saltLen, persLen) {
|
|
100
|
+
super();
|
|
101
|
+
this.blockLen = blockLen;
|
|
102
|
+
this.outputLen = outputLen;
|
|
103
|
+
this.length = 0;
|
|
104
|
+
this.pos = 0;
|
|
105
|
+
this.finished = false;
|
|
106
|
+
this.destroyed = false;
|
|
107
|
+
_assert_js_1.default.number(blockLen);
|
|
108
|
+
_assert_js_1.default.number(outputLen);
|
|
109
|
+
_assert_js_1.default.number(keyLen);
|
|
110
|
+
if (outputLen < 0 || outputLen > keyLen)
|
|
111
|
+
throw new Error('Blake2: outputLen bigger than keyLen');
|
|
112
|
+
if (opts.key !== undefined && (opts.key.length < 1 || opts.key.length > keyLen))
|
|
113
|
+
throw new Error(`Key should be up 1..${keyLen} byte long or undefined`);
|
|
114
|
+
if (opts.salt !== undefined && opts.salt.length !== saltLen)
|
|
115
|
+
throw new Error(`Salt should be ${saltLen} byte long or undefined`);
|
|
116
|
+
if (opts.personalization !== undefined && opts.personalization.length !== persLen)
|
|
117
|
+
throw new Error(`Personalization should be ${persLen} byte long or undefined`);
|
|
118
|
+
this.buffer32 = (0, utils_js_1.u32)((this.buffer = new Uint8Array(blockLen)));
|
|
119
|
+
}
|
|
120
|
+
update(data) {
|
|
121
|
+
_assert_js_1.default.exists(this);
|
|
122
|
+
// Main difference with other hashes: there is flag for last block,
|
|
123
|
+
// so we cannot process current block before we know that there
|
|
124
|
+
// is the next one. This significantly complicates logic and reduces ability
|
|
125
|
+
// to do zero-copy processing
|
|
126
|
+
const { blockLen, buffer, buffer32 } = this;
|
|
127
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
128
|
+
const len = data.length;
|
|
129
|
+
for (let pos = 0; pos < len;) {
|
|
130
|
+
// If buffer is full and we still have input (don't process last block, same as blake2s)
|
|
131
|
+
if (this.pos === blockLen) {
|
|
132
|
+
this.compress(buffer32, 0, false);
|
|
133
|
+
this.pos = 0;
|
|
134
|
+
}
|
|
135
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
136
|
+
const dataOffset = data.byteOffset + pos;
|
|
137
|
+
// full block && aligned to 4 bytes && not last in input
|
|
138
|
+
if (take === blockLen && !(dataOffset % 4) && pos + take < len) {
|
|
139
|
+
const data32 = new Uint32Array(data.buffer, dataOffset, Math.floor((len - pos) / 4));
|
|
140
|
+
for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {
|
|
141
|
+
this.length += blockLen;
|
|
142
|
+
this.compress(data32, pos32, false);
|
|
143
|
+
}
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
147
|
+
this.pos += take;
|
|
148
|
+
this.length += take;
|
|
149
|
+
pos += take;
|
|
150
|
+
}
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
digestInto(out) {
|
|
154
|
+
_assert_js_1.default.exists(this);
|
|
155
|
+
_assert_js_1.default.output(out, this);
|
|
156
|
+
const { pos, buffer32 } = this;
|
|
157
|
+
this.finished = true;
|
|
158
|
+
// Padding
|
|
159
|
+
this.buffer.subarray(pos).fill(0);
|
|
160
|
+
this.compress(buffer32, 0, true);
|
|
161
|
+
const out32 = (0, utils_js_1.u32)(out);
|
|
162
|
+
this.get().forEach((v, i) => (out32[i] = v));
|
|
163
|
+
}
|
|
164
|
+
digest() {
|
|
165
|
+
const { buffer, outputLen } = this;
|
|
166
|
+
this.digestInto(buffer);
|
|
167
|
+
const res = buffer.slice(0, outputLen);
|
|
168
|
+
this.destroy();
|
|
169
|
+
return res;
|
|
170
|
+
}
|
|
171
|
+
_cloneInto(to) {
|
|
172
|
+
const { buffer, length, finished, destroyed, outputLen, pos } = this;
|
|
173
|
+
to || (to = new this.constructor({ dkLen: outputLen }));
|
|
174
|
+
to.set(...this.get());
|
|
175
|
+
to.length = length;
|
|
176
|
+
to.finished = finished;
|
|
177
|
+
to.destroyed = destroyed;
|
|
178
|
+
to.outputLen = outputLen;
|
|
179
|
+
to.buffer.set(buffer);
|
|
180
|
+
to.pos = pos;
|
|
181
|
+
return to;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.BLAKE2 = BLAKE2;
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
/***/ }),
|
|
188
|
+
|
|
189
|
+
/***/ 9350:
|
|
190
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
191
|
+
|
|
192
|
+
"use strict";
|
|
193
|
+
|
|
194
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
195
|
+
exports.SHA2 = void 0;
|
|
196
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
197
|
+
const utils_js_1 = __webpack_require__(64);
|
|
198
|
+
// Polyfill for Safari 14
|
|
199
|
+
function setBigUint64(view, byteOffset, value, isLE) {
|
|
200
|
+
if (typeof view.setBigUint64 === 'function')
|
|
201
|
+
return view.setBigUint64(byteOffset, value, isLE);
|
|
202
|
+
const _32n = BigInt(32);
|
|
203
|
+
const _u32_max = BigInt(0xffffffff);
|
|
204
|
+
const wh = Number((value >> _32n) & _u32_max);
|
|
205
|
+
const wl = Number(value & _u32_max);
|
|
206
|
+
const h = isLE ? 4 : 0;
|
|
207
|
+
const l = isLE ? 0 : 4;
|
|
208
|
+
view.setUint32(byteOffset + h, wh, isLE);
|
|
209
|
+
view.setUint32(byteOffset + l, wl, isLE);
|
|
210
|
+
}
|
|
211
|
+
// Base SHA2 class (RFC 6234)
|
|
212
|
+
class SHA2 extends utils_js_1.Hash {
|
|
213
|
+
constructor(blockLen, outputLen, padOffset, isLE) {
|
|
214
|
+
super();
|
|
215
|
+
this.blockLen = blockLen;
|
|
216
|
+
this.outputLen = outputLen;
|
|
217
|
+
this.padOffset = padOffset;
|
|
218
|
+
this.isLE = isLE;
|
|
219
|
+
this.finished = false;
|
|
220
|
+
this.length = 0;
|
|
221
|
+
this.pos = 0;
|
|
222
|
+
this.destroyed = false;
|
|
223
|
+
this.buffer = new Uint8Array(blockLen);
|
|
224
|
+
this.view = (0, utils_js_1.createView)(this.buffer);
|
|
225
|
+
}
|
|
226
|
+
update(data) {
|
|
227
|
+
_assert_js_1.default.exists(this);
|
|
228
|
+
const { view, buffer, blockLen } = this;
|
|
229
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
230
|
+
const len = data.length;
|
|
231
|
+
for (let pos = 0; pos < len;) {
|
|
232
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
233
|
+
// Fast path: we have at least one block in input, cast it to view and process
|
|
234
|
+
if (take === blockLen) {
|
|
235
|
+
const dataView = (0, utils_js_1.createView)(data);
|
|
236
|
+
for (; blockLen <= len - pos; pos += blockLen)
|
|
237
|
+
this.process(dataView, pos);
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
241
|
+
this.pos += take;
|
|
242
|
+
pos += take;
|
|
243
|
+
if (this.pos === blockLen) {
|
|
244
|
+
this.process(view, 0);
|
|
245
|
+
this.pos = 0;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
this.length += data.length;
|
|
249
|
+
this.roundClean();
|
|
250
|
+
return this;
|
|
251
|
+
}
|
|
252
|
+
digestInto(out) {
|
|
253
|
+
_assert_js_1.default.exists(this);
|
|
254
|
+
_assert_js_1.default.output(out, this);
|
|
255
|
+
this.finished = true;
|
|
256
|
+
// Padding
|
|
257
|
+
// We can avoid allocation of buffer for padding completely if it
|
|
258
|
+
// was previously not allocated here. But it won't change performance.
|
|
259
|
+
const { buffer, view, blockLen, isLE } = this;
|
|
260
|
+
let { pos } = this;
|
|
261
|
+
// append the bit '1' to the message
|
|
262
|
+
buffer[pos++] = 0b10000000;
|
|
263
|
+
this.buffer.subarray(pos).fill(0);
|
|
264
|
+
// we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
|
|
265
|
+
if (this.padOffset > blockLen - pos) {
|
|
266
|
+
this.process(view, 0);
|
|
267
|
+
pos = 0;
|
|
268
|
+
}
|
|
269
|
+
// Pad until full block byte with zeros
|
|
270
|
+
for (let i = pos; i < blockLen; i++)
|
|
271
|
+
buffer[i] = 0;
|
|
272
|
+
// Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
|
|
273
|
+
// You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
|
|
274
|
+
// So we just write lowest 64 bits of that value.
|
|
275
|
+
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
|
|
276
|
+
this.process(view, 0);
|
|
277
|
+
const oview = (0, utils_js_1.createView)(out);
|
|
278
|
+
this.get().forEach((v, i) => oview.setUint32(4 * i, v, isLE));
|
|
279
|
+
}
|
|
280
|
+
digest() {
|
|
281
|
+
const { buffer, outputLen } = this;
|
|
282
|
+
this.digestInto(buffer);
|
|
283
|
+
const res = buffer.slice(0, outputLen);
|
|
284
|
+
this.destroy();
|
|
285
|
+
return res;
|
|
286
|
+
}
|
|
287
|
+
_cloneInto(to) {
|
|
288
|
+
to || (to = new this.constructor());
|
|
289
|
+
to.set(...this.get());
|
|
290
|
+
const { blockLen, buffer, length, finished, destroyed, pos } = this;
|
|
291
|
+
to.length = length;
|
|
292
|
+
to.pos = pos;
|
|
293
|
+
to.finished = finished;
|
|
294
|
+
to.destroyed = destroyed;
|
|
295
|
+
if (length % blockLen)
|
|
296
|
+
to.buffer.set(buffer);
|
|
297
|
+
return to;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
exports.SHA2 = SHA2;
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
/***/ }),
|
|
304
|
+
|
|
305
|
+
/***/ 1655:
|
|
306
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
307
|
+
|
|
308
|
+
"use strict";
|
|
309
|
+
|
|
310
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
311
|
+
exports.add = exports.toBig = exports.split = exports.fromBig = void 0;
|
|
312
|
+
const U32_MASK64 = BigInt(2 ** 32 - 1);
|
|
313
|
+
const _32n = BigInt(32);
|
|
314
|
+
// We are not using BigUint64Array, because they are extremely slow as per 2022
|
|
315
|
+
function fromBig(n, le = false) {
|
|
316
|
+
if (le)
|
|
317
|
+
return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
|
|
318
|
+
return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
|
|
319
|
+
}
|
|
320
|
+
exports.fromBig = fromBig;
|
|
321
|
+
function split(lst, le = false) {
|
|
322
|
+
let Ah = new Uint32Array(lst.length);
|
|
323
|
+
let Al = new Uint32Array(lst.length);
|
|
324
|
+
for (let i = 0; i < lst.length; i++) {
|
|
325
|
+
const { h, l } = fromBig(lst[i], le);
|
|
326
|
+
[Ah[i], Al[i]] = [h, l];
|
|
327
|
+
}
|
|
328
|
+
return [Ah, Al];
|
|
329
|
+
}
|
|
330
|
+
exports.split = split;
|
|
331
|
+
const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
|
|
332
|
+
exports.toBig = toBig;
|
|
333
|
+
// for Shift in [0, 32)
|
|
334
|
+
const shrSH = (h, l, s) => h >>> s;
|
|
335
|
+
const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
336
|
+
// Right rotate for Shift in [1, 32)
|
|
337
|
+
const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
|
|
338
|
+
const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
339
|
+
// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
340
|
+
const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
|
|
341
|
+
const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
|
|
342
|
+
// Right rotate for shift===32 (just swaps l&h)
|
|
343
|
+
const rotr32H = (h, l) => l;
|
|
344
|
+
const rotr32L = (h, l) => h;
|
|
345
|
+
// Left rotate for Shift in [1, 32)
|
|
346
|
+
const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
|
|
347
|
+
const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
|
|
348
|
+
// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
349
|
+
const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
|
|
350
|
+
const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
|
|
351
|
+
// JS uses 32-bit signed integers for bitwise operations which means we cannot
|
|
352
|
+
// simple take carry out of low bit sum by shift, we need to use division.
|
|
353
|
+
// Removing "export" has 5% perf penalty -_-
|
|
354
|
+
function add(Ah, Al, Bh, Bl) {
|
|
355
|
+
const l = (Al >>> 0) + (Bl >>> 0);
|
|
356
|
+
return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
|
|
357
|
+
}
|
|
358
|
+
exports.add = add;
|
|
359
|
+
// Addition with more than 2 elements
|
|
360
|
+
const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
|
|
361
|
+
const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
|
|
362
|
+
const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
|
|
363
|
+
const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
|
|
364
|
+
const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
|
|
365
|
+
const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
|
|
366
|
+
// prettier-ignore
|
|
367
|
+
const u64 = {
|
|
368
|
+
fromBig, split, toBig: exports.toBig,
|
|
369
|
+
shrSH, shrSL,
|
|
370
|
+
rotrSH, rotrSL, rotrBH, rotrBL,
|
|
371
|
+
rotr32H, rotr32L,
|
|
372
|
+
rotlSH, rotlSL, rotlBH, rotlBL,
|
|
373
|
+
add, add3L, add3H, add4L, add4H, add5H, add5L,
|
|
374
|
+
};
|
|
375
|
+
exports["default"] = u64;
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
/***/ }),
|
|
379
|
+
|
|
380
|
+
/***/ 9467:
|
|
381
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
382
|
+
|
|
383
|
+
"use strict";
|
|
384
|
+
|
|
385
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
386
|
+
exports.blake2s = exports.compress = exports.IV = void 0;
|
|
387
|
+
const _blake2_js_1 = __webpack_require__(2686);
|
|
388
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
389
|
+
const utils_js_1 = __webpack_require__(64);
|
|
390
|
+
// Initial state:
|
|
391
|
+
// first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19)
|
|
392
|
+
// same as SHA-256
|
|
393
|
+
// prettier-ignore
|
|
394
|
+
exports.IV = new Uint32Array([
|
|
395
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
396
|
+
]);
|
|
397
|
+
// Mixing function G splitted in two halfs
|
|
398
|
+
function G1(a, b, c, d, x) {
|
|
399
|
+
a = (a + b + x) | 0;
|
|
400
|
+
d = (0, utils_js_1.rotr)(d ^ a, 16);
|
|
401
|
+
c = (c + d) | 0;
|
|
402
|
+
b = (0, utils_js_1.rotr)(b ^ c, 12);
|
|
403
|
+
return { a, b, c, d };
|
|
404
|
+
}
|
|
405
|
+
function G2(a, b, c, d, x) {
|
|
406
|
+
a = (a + b + x) | 0;
|
|
407
|
+
d = (0, utils_js_1.rotr)(d ^ a, 8);
|
|
408
|
+
c = (c + d) | 0;
|
|
409
|
+
b = (0, utils_js_1.rotr)(b ^ c, 7);
|
|
410
|
+
return { a, b, c, d };
|
|
411
|
+
}
|
|
412
|
+
// prettier-ignore
|
|
413
|
+
function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {
|
|
414
|
+
let j = 0;
|
|
415
|
+
for (let i = 0; i < rounds; i++) {
|
|
416
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G1(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
417
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G2(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
418
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G1(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
419
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G2(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
420
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G1(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
421
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G2(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
422
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G1(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
423
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G2(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
424
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G1(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
425
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G2(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
426
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G1(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
427
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G2(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
428
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G1(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
429
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G2(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
430
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G1(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
431
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G2(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
432
|
+
}
|
|
433
|
+
return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };
|
|
434
|
+
}
|
|
435
|
+
exports.compress = compress;
|
|
436
|
+
class BLAKE2s extends _blake2_js_1.BLAKE2 {
|
|
437
|
+
constructor(opts = {}) {
|
|
438
|
+
super(64, opts.dkLen === undefined ? 32 : opts.dkLen, opts, 32, 8, 8);
|
|
439
|
+
// Internal state, same as SHA-256
|
|
440
|
+
this.v0 = exports.IV[0] | 0;
|
|
441
|
+
this.v1 = exports.IV[1] | 0;
|
|
442
|
+
this.v2 = exports.IV[2] | 0;
|
|
443
|
+
this.v3 = exports.IV[3] | 0;
|
|
444
|
+
this.v4 = exports.IV[4] | 0;
|
|
445
|
+
this.v5 = exports.IV[5] | 0;
|
|
446
|
+
this.v6 = exports.IV[6] | 0;
|
|
447
|
+
this.v7 = exports.IV[7] | 0;
|
|
448
|
+
const keyLength = opts.key ? opts.key.length : 0;
|
|
449
|
+
this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);
|
|
450
|
+
if (opts.salt) {
|
|
451
|
+
const salt = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.salt));
|
|
452
|
+
this.v4 ^= salt[0];
|
|
453
|
+
this.v5 ^= salt[1];
|
|
454
|
+
}
|
|
455
|
+
if (opts.personalization) {
|
|
456
|
+
const pers = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.personalization));
|
|
457
|
+
this.v6 ^= pers[0];
|
|
458
|
+
this.v7 ^= pers[1];
|
|
459
|
+
}
|
|
460
|
+
if (opts.key) {
|
|
461
|
+
// Pad to blockLen and update
|
|
462
|
+
const tmp = new Uint8Array(this.blockLen);
|
|
463
|
+
tmp.set((0, utils_js_1.toBytes)(opts.key));
|
|
464
|
+
this.update(tmp);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
get() {
|
|
468
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;
|
|
469
|
+
return [v0, v1, v2, v3, v4, v5, v6, v7];
|
|
470
|
+
}
|
|
471
|
+
// prettier-ignore
|
|
472
|
+
set(v0, v1, v2, v3, v4, v5, v6, v7) {
|
|
473
|
+
this.v0 = v0 | 0;
|
|
474
|
+
this.v1 = v1 | 0;
|
|
475
|
+
this.v2 = v2 | 0;
|
|
476
|
+
this.v3 = v3 | 0;
|
|
477
|
+
this.v4 = v4 | 0;
|
|
478
|
+
this.v5 = v5 | 0;
|
|
479
|
+
this.v6 = v6 | 0;
|
|
480
|
+
this.v7 = v7 | 0;
|
|
481
|
+
}
|
|
482
|
+
compress(msg, offset, isLast) {
|
|
483
|
+
const { h, l } = _u64_js_1.default.fromBig(BigInt(this.length));
|
|
484
|
+
// prettier-ignore
|
|
485
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(_blake2_js_1.SIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, exports.IV[0], exports.IV[1], exports.IV[2], exports.IV[3], l ^ exports.IV[4], h ^ exports.IV[5], isLast ? ~exports.IV[6] : exports.IV[6], exports.IV[7]);
|
|
486
|
+
this.v0 ^= v0 ^ v8;
|
|
487
|
+
this.v1 ^= v1 ^ v9;
|
|
488
|
+
this.v2 ^= v2 ^ v10;
|
|
489
|
+
this.v3 ^= v3 ^ v11;
|
|
490
|
+
this.v4 ^= v4 ^ v12;
|
|
491
|
+
this.v5 ^= v5 ^ v13;
|
|
492
|
+
this.v6 ^= v6 ^ v14;
|
|
493
|
+
this.v7 ^= v7 ^ v15;
|
|
494
|
+
}
|
|
495
|
+
destroy() {
|
|
496
|
+
this.destroyed = true;
|
|
497
|
+
this.buffer32.fill(0);
|
|
498
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* BLAKE2s - optimized for 32-bit platforms. JS doesn't have uint64, so it's faster than BLAKE2b.
|
|
503
|
+
* @param msg - message that would be hashed
|
|
504
|
+
* @param opts - dkLen, key, salt, personalization
|
|
505
|
+
*/
|
|
506
|
+
exports.blake2s = (0, utils_js_1.wrapConstructorWithOpts)((opts) => new BLAKE2s(opts));
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
/***/ }),
|
|
510
|
+
|
|
511
|
+
/***/ 4661:
|
|
512
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
513
|
+
|
|
514
|
+
"use strict";
|
|
515
|
+
|
|
516
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
517
|
+
exports.crypto = void 0;
|
|
518
|
+
exports.crypto = {
|
|
519
|
+
node: undefined,
|
|
520
|
+
web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
/***/ }),
|
|
525
|
+
|
|
526
|
+
/***/ 6053:
|
|
527
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
528
|
+
|
|
529
|
+
"use strict";
|
|
530
|
+
|
|
531
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
532
|
+
exports.sha256 = void 0;
|
|
533
|
+
const _sha2_js_1 = __webpack_require__(9350);
|
|
534
|
+
const utils_js_1 = __webpack_require__(64);
|
|
535
|
+
// Choice: a ? b : c
|
|
536
|
+
const Chi = (a, b, c) => (a & b) ^ (~a & c);
|
|
537
|
+
// Majority function, true if any two inpust is true
|
|
538
|
+
const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
|
|
539
|
+
// Round constants:
|
|
540
|
+
// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
|
|
541
|
+
// prettier-ignore
|
|
542
|
+
const SHA256_K = new Uint32Array([
|
|
543
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
544
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
545
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
546
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
547
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
548
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
549
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
550
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
551
|
+
]);
|
|
552
|
+
// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
|
|
553
|
+
// prettier-ignore
|
|
554
|
+
const IV = new Uint32Array([
|
|
555
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
556
|
+
]);
|
|
557
|
+
// Temporary buffer, not used to store anything between runs
|
|
558
|
+
// Named this way because it matches specification.
|
|
559
|
+
const SHA256_W = new Uint32Array(64);
|
|
560
|
+
class SHA256 extends _sha2_js_1.SHA2 {
|
|
561
|
+
constructor() {
|
|
562
|
+
super(64, 32, 8, false);
|
|
563
|
+
// We cannot use array here since array allows indexing by variable
|
|
564
|
+
// which means optimizer/compiler cannot use registers.
|
|
565
|
+
this.A = IV[0] | 0;
|
|
566
|
+
this.B = IV[1] | 0;
|
|
567
|
+
this.C = IV[2] | 0;
|
|
568
|
+
this.D = IV[3] | 0;
|
|
569
|
+
this.E = IV[4] | 0;
|
|
570
|
+
this.F = IV[5] | 0;
|
|
571
|
+
this.G = IV[6] | 0;
|
|
572
|
+
this.H = IV[7] | 0;
|
|
573
|
+
}
|
|
574
|
+
get() {
|
|
575
|
+
const { A, B, C, D, E, F, G, H } = this;
|
|
576
|
+
return [A, B, C, D, E, F, G, H];
|
|
577
|
+
}
|
|
578
|
+
// prettier-ignore
|
|
579
|
+
set(A, B, C, D, E, F, G, H) {
|
|
580
|
+
this.A = A | 0;
|
|
581
|
+
this.B = B | 0;
|
|
582
|
+
this.C = C | 0;
|
|
583
|
+
this.D = D | 0;
|
|
584
|
+
this.E = E | 0;
|
|
585
|
+
this.F = F | 0;
|
|
586
|
+
this.G = G | 0;
|
|
587
|
+
this.H = H | 0;
|
|
588
|
+
}
|
|
589
|
+
process(view, offset) {
|
|
590
|
+
// Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
|
|
591
|
+
for (let i = 0; i < 16; i++, offset += 4)
|
|
592
|
+
SHA256_W[i] = view.getUint32(offset, false);
|
|
593
|
+
for (let i = 16; i < 64; i++) {
|
|
594
|
+
const W15 = SHA256_W[i - 15];
|
|
595
|
+
const W2 = SHA256_W[i - 2];
|
|
596
|
+
const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);
|
|
597
|
+
const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);
|
|
598
|
+
SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
|
|
599
|
+
}
|
|
600
|
+
// Compression function main loop, 64 rounds
|
|
601
|
+
let { A, B, C, D, E, F, G, H } = this;
|
|
602
|
+
for (let i = 0; i < 64; i++) {
|
|
603
|
+
const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);
|
|
604
|
+
const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
|
|
605
|
+
const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);
|
|
606
|
+
const T2 = (sigma0 + Maj(A, B, C)) | 0;
|
|
607
|
+
H = G;
|
|
608
|
+
G = F;
|
|
609
|
+
F = E;
|
|
610
|
+
E = (D + T1) | 0;
|
|
611
|
+
D = C;
|
|
612
|
+
C = B;
|
|
613
|
+
B = A;
|
|
614
|
+
A = (T1 + T2) | 0;
|
|
615
|
+
}
|
|
616
|
+
// Add the compressed chunk to the current hash value
|
|
617
|
+
A = (A + this.A) | 0;
|
|
618
|
+
B = (B + this.B) | 0;
|
|
619
|
+
C = (C + this.C) | 0;
|
|
620
|
+
D = (D + this.D) | 0;
|
|
621
|
+
E = (E + this.E) | 0;
|
|
622
|
+
F = (F + this.F) | 0;
|
|
623
|
+
G = (G + this.G) | 0;
|
|
624
|
+
H = (H + this.H) | 0;
|
|
625
|
+
this.set(A, B, C, D, E, F, G, H);
|
|
626
|
+
}
|
|
627
|
+
roundClean() {
|
|
628
|
+
SHA256_W.fill(0);
|
|
629
|
+
}
|
|
630
|
+
destroy() {
|
|
631
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
632
|
+
this.buffer.fill(0);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* SHA2-256 hash function
|
|
637
|
+
* @param message - data that would be hashed
|
|
638
|
+
*/
|
|
639
|
+
exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
/***/ }),
|
|
643
|
+
|
|
644
|
+
/***/ 125:
|
|
645
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
646
|
+
|
|
647
|
+
"use strict";
|
|
648
|
+
|
|
649
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
650
|
+
exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;
|
|
651
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
652
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
653
|
+
const utils_js_1 = __webpack_require__(64);
|
|
654
|
+
// Various per round constants calculations
|
|
655
|
+
const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
|
|
656
|
+
const _0n = BigInt(0);
|
|
657
|
+
const _1n = BigInt(1);
|
|
658
|
+
const _2n = BigInt(2);
|
|
659
|
+
const _7n = BigInt(7);
|
|
660
|
+
const _256n = BigInt(256);
|
|
661
|
+
const _0x71n = BigInt(0x71);
|
|
662
|
+
for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
|
|
663
|
+
// Pi
|
|
664
|
+
[x, y] = [y, (2 * x + 3 * y) % 5];
|
|
665
|
+
SHA3_PI.push(2 * (5 * y + x));
|
|
666
|
+
// Rotational
|
|
667
|
+
SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
|
|
668
|
+
// Iota
|
|
669
|
+
let t = _0n;
|
|
670
|
+
for (let j = 0; j < 7; j++) {
|
|
671
|
+
R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
|
|
672
|
+
if (R & _2n)
|
|
673
|
+
t ^= _1n << ((_1n << BigInt(j)) - _1n);
|
|
674
|
+
}
|
|
675
|
+
_SHA3_IOTA.push(t);
|
|
676
|
+
}
|
|
677
|
+
const [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js_1.default.split(_SHA3_IOTA, true);
|
|
678
|
+
// Left rotation (without 0, 32, 64)
|
|
679
|
+
const rotlH = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBH(h, l, s) : _u64_js_1.default.rotlSH(h, l, s);
|
|
680
|
+
const rotlL = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBL(h, l, s) : _u64_js_1.default.rotlSL(h, l, s);
|
|
681
|
+
// Same as keccakf1600, but allows to skip some rounds
|
|
682
|
+
function keccakP(s, rounds = 24) {
|
|
683
|
+
const B = new Uint32Array(5 * 2);
|
|
684
|
+
// NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
|
|
685
|
+
for (let round = 24 - rounds; round < 24; round++) {
|
|
686
|
+
// Theta θ
|
|
687
|
+
for (let x = 0; x < 10; x++)
|
|
688
|
+
B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
|
|
689
|
+
for (let x = 0; x < 10; x += 2) {
|
|
690
|
+
const idx1 = (x + 8) % 10;
|
|
691
|
+
const idx0 = (x + 2) % 10;
|
|
692
|
+
const B0 = B[idx0];
|
|
693
|
+
const B1 = B[idx0 + 1];
|
|
694
|
+
const Th = rotlH(B0, B1, 1) ^ B[idx1];
|
|
695
|
+
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
|
|
696
|
+
for (let y = 0; y < 50; y += 10) {
|
|
697
|
+
s[x + y] ^= Th;
|
|
698
|
+
s[x + y + 1] ^= Tl;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
// Rho (ρ) and Pi (π)
|
|
702
|
+
let curH = s[2];
|
|
703
|
+
let curL = s[3];
|
|
704
|
+
for (let t = 0; t < 24; t++) {
|
|
705
|
+
const shift = SHA3_ROTL[t];
|
|
706
|
+
const Th = rotlH(curH, curL, shift);
|
|
707
|
+
const Tl = rotlL(curH, curL, shift);
|
|
708
|
+
const PI = SHA3_PI[t];
|
|
709
|
+
curH = s[PI];
|
|
710
|
+
curL = s[PI + 1];
|
|
711
|
+
s[PI] = Th;
|
|
712
|
+
s[PI + 1] = Tl;
|
|
713
|
+
}
|
|
714
|
+
// Chi (χ)
|
|
715
|
+
for (let y = 0; y < 50; y += 10) {
|
|
716
|
+
for (let x = 0; x < 10; x++)
|
|
717
|
+
B[x] = s[y + x];
|
|
718
|
+
for (let x = 0; x < 10; x++)
|
|
719
|
+
s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
|
|
720
|
+
}
|
|
721
|
+
// Iota (ι)
|
|
722
|
+
s[0] ^= SHA3_IOTA_H[round];
|
|
723
|
+
s[1] ^= SHA3_IOTA_L[round];
|
|
724
|
+
}
|
|
725
|
+
B.fill(0);
|
|
726
|
+
}
|
|
727
|
+
exports.keccakP = keccakP;
|
|
728
|
+
class Keccak extends utils_js_1.Hash {
|
|
729
|
+
// NOTE: we accept arguments in bytes instead of bits here.
|
|
730
|
+
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
|
|
731
|
+
super();
|
|
732
|
+
this.blockLen = blockLen;
|
|
733
|
+
this.suffix = suffix;
|
|
734
|
+
this.outputLen = outputLen;
|
|
735
|
+
this.enableXOF = enableXOF;
|
|
736
|
+
this.rounds = rounds;
|
|
737
|
+
this.pos = 0;
|
|
738
|
+
this.posOut = 0;
|
|
739
|
+
this.finished = false;
|
|
740
|
+
this.destroyed = false;
|
|
741
|
+
// Can be passed from user as dkLen
|
|
742
|
+
_assert_js_1.default.number(outputLen);
|
|
743
|
+
// 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
|
|
744
|
+
if (0 >= this.blockLen || this.blockLen >= 200)
|
|
745
|
+
throw new Error('Sha3 supports only keccak-f1600 function');
|
|
746
|
+
this.state = new Uint8Array(200);
|
|
747
|
+
this.state32 = (0, utils_js_1.u32)(this.state);
|
|
748
|
+
}
|
|
749
|
+
keccak() {
|
|
750
|
+
keccakP(this.state32, this.rounds);
|
|
751
|
+
this.posOut = 0;
|
|
752
|
+
this.pos = 0;
|
|
753
|
+
}
|
|
754
|
+
update(data) {
|
|
755
|
+
_assert_js_1.default.exists(this);
|
|
756
|
+
const { blockLen, state } = this;
|
|
757
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
758
|
+
const len = data.length;
|
|
759
|
+
for (let pos = 0; pos < len;) {
|
|
760
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
761
|
+
for (let i = 0; i < take; i++)
|
|
762
|
+
state[this.pos++] ^= data[pos++];
|
|
763
|
+
if (this.pos === blockLen)
|
|
764
|
+
this.keccak();
|
|
765
|
+
}
|
|
766
|
+
return this;
|
|
767
|
+
}
|
|
768
|
+
finish() {
|
|
769
|
+
if (this.finished)
|
|
770
|
+
return;
|
|
771
|
+
this.finished = true;
|
|
772
|
+
const { state, suffix, pos, blockLen } = this;
|
|
773
|
+
// Do the padding
|
|
774
|
+
state[pos] ^= suffix;
|
|
775
|
+
if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
|
|
776
|
+
this.keccak();
|
|
777
|
+
state[blockLen - 1] ^= 0x80;
|
|
778
|
+
this.keccak();
|
|
779
|
+
}
|
|
780
|
+
writeInto(out) {
|
|
781
|
+
_assert_js_1.default.exists(this, false);
|
|
782
|
+
_assert_js_1.default.bytes(out);
|
|
783
|
+
this.finish();
|
|
784
|
+
const bufferOut = this.state;
|
|
785
|
+
const { blockLen } = this;
|
|
786
|
+
for (let pos = 0, len = out.length; pos < len;) {
|
|
787
|
+
if (this.posOut >= blockLen)
|
|
788
|
+
this.keccak();
|
|
789
|
+
const take = Math.min(blockLen - this.posOut, len - pos);
|
|
790
|
+
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
|
791
|
+
this.posOut += take;
|
|
792
|
+
pos += take;
|
|
793
|
+
}
|
|
794
|
+
return out;
|
|
795
|
+
}
|
|
796
|
+
xofInto(out) {
|
|
797
|
+
// Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
|
|
798
|
+
if (!this.enableXOF)
|
|
799
|
+
throw new Error('XOF is not possible for this instance');
|
|
800
|
+
return this.writeInto(out);
|
|
801
|
+
}
|
|
802
|
+
xof(bytes) {
|
|
803
|
+
_assert_js_1.default.number(bytes);
|
|
804
|
+
return this.xofInto(new Uint8Array(bytes));
|
|
805
|
+
}
|
|
806
|
+
digestInto(out) {
|
|
807
|
+
_assert_js_1.default.output(out, this);
|
|
808
|
+
if (this.finished)
|
|
809
|
+
throw new Error('digest() was already called');
|
|
810
|
+
this.writeInto(out);
|
|
811
|
+
this.destroy();
|
|
812
|
+
return out;
|
|
813
|
+
}
|
|
814
|
+
digest() {
|
|
815
|
+
return this.digestInto(new Uint8Array(this.outputLen));
|
|
816
|
+
}
|
|
817
|
+
destroy() {
|
|
818
|
+
this.destroyed = true;
|
|
819
|
+
this.state.fill(0);
|
|
820
|
+
}
|
|
821
|
+
_cloneInto(to) {
|
|
822
|
+
const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
|
|
823
|
+
to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
|
|
824
|
+
to.state32.set(this.state32);
|
|
825
|
+
to.pos = this.pos;
|
|
826
|
+
to.posOut = this.posOut;
|
|
827
|
+
to.finished = this.finished;
|
|
828
|
+
to.rounds = rounds;
|
|
829
|
+
// Suffix can change in cSHAKE
|
|
830
|
+
to.suffix = suffix;
|
|
831
|
+
to.outputLen = outputLen;
|
|
832
|
+
to.enableXOF = enableXOF;
|
|
833
|
+
to.destroyed = this.destroyed;
|
|
834
|
+
return to;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
exports.Keccak = Keccak;
|
|
838
|
+
const gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));
|
|
839
|
+
exports.sha3_224 = gen(0x06, 144, 224 / 8);
|
|
840
|
+
/**
|
|
841
|
+
* SHA3-256 hash function
|
|
842
|
+
* @param message - that would be hashed
|
|
843
|
+
*/
|
|
844
|
+
exports.sha3_256 = gen(0x06, 136, 256 / 8);
|
|
845
|
+
exports.sha3_384 = gen(0x06, 104, 384 / 8);
|
|
846
|
+
exports.sha3_512 = gen(0x06, 72, 512 / 8);
|
|
847
|
+
exports.keccak_224 = gen(0x01, 144, 224 / 8);
|
|
848
|
+
/**
|
|
849
|
+
* keccak-256 hash function. Different from SHA3-256.
|
|
850
|
+
* @param message - that would be hashed
|
|
851
|
+
*/
|
|
852
|
+
exports.keccak_256 = gen(0x01, 136, 256 / 8);
|
|
853
|
+
exports.keccak_384 = gen(0x01, 104, 384 / 8);
|
|
854
|
+
exports.keccak_512 = gen(0x01, 72, 512 / 8);
|
|
855
|
+
const genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
|
|
856
|
+
exports.shake128 = genShake(0x1f, 168, 128 / 8);
|
|
857
|
+
exports.shake256 = genShake(0x1f, 136, 256 / 8);
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
/***/ }),
|
|
861
|
+
|
|
862
|
+
/***/ 64:
|
|
863
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
864
|
+
|
|
865
|
+
"use strict";
|
|
866
|
+
|
|
867
|
+
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
868
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
869
|
+
exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;
|
|
870
|
+
// The import here is via the package name. This is to ensure
|
|
871
|
+
// that exports mapping/resolution does fall into place.
|
|
872
|
+
const crypto_1 = __webpack_require__(4661);
|
|
873
|
+
// Cast array to different type
|
|
874
|
+
const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
875
|
+
exports.u8 = u8;
|
|
876
|
+
const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
|
|
877
|
+
exports.u32 = u32;
|
|
878
|
+
// Cast array to view
|
|
879
|
+
const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
880
|
+
exports.createView = createView;
|
|
881
|
+
// The rotate right (circular right shift) operation for uint32
|
|
882
|
+
const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
|
|
883
|
+
exports.rotr = rotr;
|
|
884
|
+
exports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
|
|
885
|
+
// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
|
|
886
|
+
// So, just to be sure not to corrupt anything.
|
|
887
|
+
if (!exports.isLE)
|
|
888
|
+
throw new Error('Non little-endian hardware is not supported');
|
|
889
|
+
const hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
|
|
890
|
+
/**
|
|
891
|
+
* @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))
|
|
892
|
+
*/
|
|
893
|
+
function bytesToHex(uint8a) {
|
|
894
|
+
// pre-caching improves the speed 6x
|
|
895
|
+
if (!(uint8a instanceof Uint8Array))
|
|
896
|
+
throw new Error('Uint8Array expected');
|
|
897
|
+
let hex = '';
|
|
898
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
899
|
+
hex += hexes[uint8a[i]];
|
|
900
|
+
}
|
|
901
|
+
return hex;
|
|
902
|
+
}
|
|
903
|
+
exports.bytesToHex = bytesToHex;
|
|
904
|
+
/**
|
|
905
|
+
* @example hexToBytes('deadbeef')
|
|
906
|
+
*/
|
|
907
|
+
function hexToBytes(hex) {
|
|
908
|
+
if (typeof hex !== 'string') {
|
|
909
|
+
throw new TypeError('hexToBytes: expected string, got ' + typeof hex);
|
|
910
|
+
}
|
|
911
|
+
if (hex.length % 2)
|
|
912
|
+
throw new Error('hexToBytes: received invalid unpadded hex');
|
|
913
|
+
const array = new Uint8Array(hex.length / 2);
|
|
914
|
+
for (let i = 0; i < array.length; i++) {
|
|
915
|
+
const j = i * 2;
|
|
916
|
+
const hexByte = hex.slice(j, j + 2);
|
|
917
|
+
const byte = Number.parseInt(hexByte, 16);
|
|
918
|
+
if (Number.isNaN(byte) || byte < 0)
|
|
919
|
+
throw new Error('Invalid byte sequence');
|
|
920
|
+
array[i] = byte;
|
|
921
|
+
}
|
|
922
|
+
return array;
|
|
923
|
+
}
|
|
924
|
+
exports.hexToBytes = hexToBytes;
|
|
925
|
+
// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
|
|
926
|
+
// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
|
|
927
|
+
const nextTick = async () => { };
|
|
928
|
+
exports.nextTick = nextTick;
|
|
929
|
+
// Returns control to thread each 'tick' ms to avoid blocking
|
|
930
|
+
async function asyncLoop(iters, tick, cb) {
|
|
931
|
+
let ts = Date.now();
|
|
932
|
+
for (let i = 0; i < iters; i++) {
|
|
933
|
+
cb(i);
|
|
934
|
+
// Date.now() is not monotonic, so in case if clock goes backwards we return return control too
|
|
935
|
+
const diff = Date.now() - ts;
|
|
936
|
+
if (diff >= 0 && diff < tick)
|
|
937
|
+
continue;
|
|
938
|
+
await (0, exports.nextTick)();
|
|
939
|
+
ts += diff;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
exports.asyncLoop = asyncLoop;
|
|
943
|
+
function utf8ToBytes(str) {
|
|
944
|
+
if (typeof str !== 'string') {
|
|
945
|
+
throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
|
|
946
|
+
}
|
|
947
|
+
return new TextEncoder().encode(str);
|
|
948
|
+
}
|
|
949
|
+
exports.utf8ToBytes = utf8ToBytes;
|
|
950
|
+
function toBytes(data) {
|
|
951
|
+
if (typeof data === 'string')
|
|
952
|
+
data = utf8ToBytes(data);
|
|
953
|
+
if (!(data instanceof Uint8Array))
|
|
954
|
+
throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
|
|
955
|
+
return data;
|
|
956
|
+
}
|
|
957
|
+
exports.toBytes = toBytes;
|
|
958
|
+
/**
|
|
959
|
+
* Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`
|
|
960
|
+
* @example concatBytes(buf1, buf2)
|
|
961
|
+
*/
|
|
962
|
+
function concatBytes(...arrays) {
|
|
963
|
+
if (!arrays.every((a) => a instanceof Uint8Array))
|
|
964
|
+
throw new Error('Uint8Array list expected');
|
|
965
|
+
if (arrays.length === 1)
|
|
966
|
+
return arrays[0];
|
|
967
|
+
const length = arrays.reduce((a, arr) => a + arr.length, 0);
|
|
968
|
+
const result = new Uint8Array(length);
|
|
969
|
+
for (let i = 0, pad = 0; i < arrays.length; i++) {
|
|
970
|
+
const arr = arrays[i];
|
|
971
|
+
result.set(arr, pad);
|
|
972
|
+
pad += arr.length;
|
|
973
|
+
}
|
|
974
|
+
return result;
|
|
975
|
+
}
|
|
976
|
+
exports.concatBytes = concatBytes;
|
|
977
|
+
// For runtime check if class implements interface
|
|
978
|
+
class Hash {
|
|
979
|
+
// Safe version that clones internal state
|
|
980
|
+
clone() {
|
|
981
|
+
return this._cloneInto();
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
exports.Hash = Hash;
|
|
985
|
+
// Check if object doens't have custom constructor (like Uint8Array/Array)
|
|
986
|
+
const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
|
|
987
|
+
function checkOpts(defaults, opts) {
|
|
988
|
+
if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
|
|
989
|
+
throw new TypeError('Options should be object or undefined');
|
|
990
|
+
const merged = Object.assign(defaults, opts);
|
|
991
|
+
return merged;
|
|
992
|
+
}
|
|
993
|
+
exports.checkOpts = checkOpts;
|
|
994
|
+
function wrapConstructor(hashConstructor) {
|
|
995
|
+
const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
|
|
996
|
+
const tmp = hashConstructor();
|
|
997
|
+
hashC.outputLen = tmp.outputLen;
|
|
998
|
+
hashC.blockLen = tmp.blockLen;
|
|
999
|
+
hashC.create = () => hashConstructor();
|
|
1000
|
+
return hashC;
|
|
1001
|
+
}
|
|
1002
|
+
exports.wrapConstructor = wrapConstructor;
|
|
1003
|
+
function wrapConstructorWithOpts(hashCons) {
|
|
1004
|
+
const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
|
|
1005
|
+
const tmp = hashCons({});
|
|
1006
|
+
hashC.outputLen = tmp.outputLen;
|
|
1007
|
+
hashC.blockLen = tmp.blockLen;
|
|
1008
|
+
hashC.create = (opts) => hashCons(opts);
|
|
1009
|
+
return hashC;
|
|
1010
|
+
}
|
|
1011
|
+
exports.wrapConstructorWithOpts = wrapConstructorWithOpts;
|
|
1012
|
+
/**
|
|
1013
|
+
* Secure PRNG
|
|
1014
|
+
*/
|
|
1015
|
+
function randomBytes(bytesLength = 32) {
|
|
1016
|
+
if (crypto_1.crypto.web) {
|
|
1017
|
+
return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength));
|
|
1018
|
+
}
|
|
1019
|
+
else if (crypto_1.crypto.node) {
|
|
1020
|
+
return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer);
|
|
1021
|
+
}
|
|
1022
|
+
else {
|
|
1023
|
+
throw new Error("The environment doesn't have randomBytes function");
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
exports.randomBytes = randomBytes;
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
/***/ }),
|
|
1030
|
+
|
|
14
1031
|
/***/ 7408:
|
|
15
1032
|
/***/ ((module) => {
|
|
16
1033
|
|
|
@@ -4031,11 +5048,17 @@ var axios = __webpack_require__(9644);
|
|
|
4031
5048
|
|
|
4032
5049
|
var BigNumber = __webpack_require__(6391);
|
|
4033
5050
|
|
|
4034
|
-
var
|
|
5051
|
+
var utils = __webpack_require__(64);
|
|
5052
|
+
|
|
5053
|
+
var blake2s = __webpack_require__(9467);
|
|
5054
|
+
|
|
5055
|
+
var sha256 = __webpack_require__(6053);
|
|
5056
|
+
|
|
5057
|
+
var JSZip = __webpack_require__(1297);
|
|
4035
5058
|
|
|
4036
5059
|
var hdTransport = __webpack_require__(7495);
|
|
4037
5060
|
|
|
4038
|
-
var sha3 = __webpack_require__(
|
|
5061
|
+
var sha3 = __webpack_require__(125);
|
|
4039
5062
|
|
|
4040
5063
|
function _interopDefaultLegacy(e) {
|
|
4041
5064
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
@@ -4049,9 +5072,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
4049
5072
|
|
|
4050
5073
|
var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
|
|
4051
5074
|
|
|
4052
|
-
var
|
|
4053
|
-
|
|
4054
|
-
var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
|
|
5075
|
+
var JSZip__default = /*#__PURE__*/_interopDefaultLegacy(JSZip);
|
|
4055
5076
|
|
|
4056
5077
|
const inject = ({
|
|
4057
5078
|
call,
|
|
@@ -4086,11 +5107,6 @@ const inject = ({
|
|
|
4086
5107
|
connectId,
|
|
4087
5108
|
method: 'getFeatures'
|
|
4088
5109
|
}),
|
|
4089
|
-
batchGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
4090
|
-
connectId,
|
|
4091
|
-
deviceId,
|
|
4092
|
-
method: 'batchGetPublicKey'
|
|
4093
|
-
})),
|
|
4094
5110
|
checkFirmwareRelease: connectId => call({
|
|
4095
5111
|
connectId,
|
|
4096
5112
|
method: 'checkFirmwareRelease'
|
|
@@ -4142,6 +5158,10 @@ const inject = ({
|
|
|
4142
5158
|
connectId,
|
|
4143
5159
|
method: 'deviceUpdateReboot'
|
|
4144
5160
|
}),
|
|
5161
|
+
deviceUploadResource: (connectId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5162
|
+
connectId,
|
|
5163
|
+
method: 'deviceUploadResource'
|
|
5164
|
+
})),
|
|
4145
5165
|
deviceSupportFeatures: connectId => call({
|
|
4146
5166
|
connectId,
|
|
4147
5167
|
method: 'deviceSupportFeatures'
|
|
@@ -4277,6 +5297,10 @@ const inject = ({
|
|
|
4277
5297
|
connectId,
|
|
4278
5298
|
method: 'firmwareUpdate'
|
|
4279
5299
|
})),
|
|
5300
|
+
firmwareUpdateV2: (connectId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5301
|
+
connectId,
|
|
5302
|
+
method: 'firmwareUpdateV2'
|
|
5303
|
+
})),
|
|
4280
5304
|
requestWebUsbDevice: () => call({
|
|
4281
5305
|
method: 'requestWebUsbDevice'
|
|
4282
5306
|
}),
|
|
@@ -4330,6 +5354,11 @@ const inject = ({
|
|
|
4330
5354
|
deviceId,
|
|
4331
5355
|
method: 'aptosGetAddress'
|
|
4332
5356
|
})),
|
|
5357
|
+
aptosGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5358
|
+
connectId,
|
|
5359
|
+
deviceId,
|
|
5360
|
+
method: 'aptosGetPublicKey'
|
|
5361
|
+
})),
|
|
4333
5362
|
aptosSignTransaction: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
4334
5363
|
connectId,
|
|
4335
5364
|
deviceId,
|
|
@@ -10163,7 +11192,7 @@ var nested = {
|
|
|
10163
11192
|
}
|
|
10164
11193
|
}
|
|
10165
11194
|
},
|
|
10166
|
-
|
|
11195
|
+
DeviceBackToBoot: {
|
|
10167
11196
|
fields: {}
|
|
10168
11197
|
},
|
|
10169
11198
|
BixinBackupRequest: {
|
|
@@ -10433,6 +11462,104 @@ var nested = {
|
|
|
10433
11462
|
}
|
|
10434
11463
|
}
|
|
10435
11464
|
},
|
|
11465
|
+
ResourceUpload: {
|
|
11466
|
+
fields: {
|
|
11467
|
+
extension: {
|
|
11468
|
+
rule: "required",
|
|
11469
|
+
type: "string",
|
|
11470
|
+
id: 1
|
|
11471
|
+
},
|
|
11472
|
+
data_length: {
|
|
11473
|
+
rule: "required",
|
|
11474
|
+
type: "uint32",
|
|
11475
|
+
id: 2
|
|
11476
|
+
},
|
|
11477
|
+
res_type: {
|
|
11478
|
+
rule: "required",
|
|
11479
|
+
type: "ResourceType",
|
|
11480
|
+
id: 3
|
|
11481
|
+
},
|
|
11482
|
+
zoom_data_length: {
|
|
11483
|
+
rule: "required",
|
|
11484
|
+
type: "uint32",
|
|
11485
|
+
id: 5
|
|
11486
|
+
},
|
|
11487
|
+
nft_meta_data: {
|
|
11488
|
+
type: "bytes",
|
|
11489
|
+
id: 4
|
|
11490
|
+
}
|
|
11491
|
+
},
|
|
11492
|
+
nested: {
|
|
11493
|
+
ResourceType: {
|
|
11494
|
+
values: {
|
|
11495
|
+
WallPaper: 0,
|
|
11496
|
+
Nft: 1
|
|
11497
|
+
}
|
|
11498
|
+
}
|
|
11499
|
+
}
|
|
11500
|
+
},
|
|
11501
|
+
ZoomRequest: {
|
|
11502
|
+
fields: {
|
|
11503
|
+
offset: {
|
|
11504
|
+
type: "uint32",
|
|
11505
|
+
id: 1
|
|
11506
|
+
},
|
|
11507
|
+
data_length: {
|
|
11508
|
+
rule: "required",
|
|
11509
|
+
type: "uint32",
|
|
11510
|
+
id: 2
|
|
11511
|
+
}
|
|
11512
|
+
}
|
|
11513
|
+
},
|
|
11514
|
+
ResourceRequest: {
|
|
11515
|
+
fields: {
|
|
11516
|
+
offset: {
|
|
11517
|
+
type: "uint32",
|
|
11518
|
+
id: 1
|
|
11519
|
+
},
|
|
11520
|
+
data_length: {
|
|
11521
|
+
rule: "required",
|
|
11522
|
+
type: "uint32",
|
|
11523
|
+
id: 2
|
|
11524
|
+
}
|
|
11525
|
+
}
|
|
11526
|
+
},
|
|
11527
|
+
ResourceAck: {
|
|
11528
|
+
fields: {
|
|
11529
|
+
data_chunk: {
|
|
11530
|
+
rule: "required",
|
|
11531
|
+
type: "bytes",
|
|
11532
|
+
id: 1
|
|
11533
|
+
},
|
|
11534
|
+
hash: {
|
|
11535
|
+
type: "bytes",
|
|
11536
|
+
id: 2
|
|
11537
|
+
}
|
|
11538
|
+
}
|
|
11539
|
+
},
|
|
11540
|
+
ResourceUpdate: {
|
|
11541
|
+
fields: {
|
|
11542
|
+
file_name: {
|
|
11543
|
+
rule: "required",
|
|
11544
|
+
type: "string",
|
|
11545
|
+
id: 1
|
|
11546
|
+
},
|
|
11547
|
+
data_length: {
|
|
11548
|
+
rule: "required",
|
|
11549
|
+
type: "uint32",
|
|
11550
|
+
id: 2
|
|
11551
|
+
},
|
|
11552
|
+
initial_data_chunk: {
|
|
11553
|
+
rule: "required",
|
|
11554
|
+
type: "bytes",
|
|
11555
|
+
id: 3
|
|
11556
|
+
},
|
|
11557
|
+
hash: {
|
|
11558
|
+
type: "bytes",
|
|
11559
|
+
id: 4
|
|
11560
|
+
}
|
|
11561
|
+
}
|
|
11562
|
+
},
|
|
10436
11563
|
NFTWriteInfo: {
|
|
10437
11564
|
fields: {
|
|
10438
11565
|
index: {
|
|
@@ -11429,6 +12556,7 @@ var nested = {
|
|
|
11429
12556
|
}
|
|
11430
12557
|
},
|
|
11431
12558
|
raw_tx: {
|
|
12559
|
+
rule: "required",
|
|
11432
12560
|
type: "bytes",
|
|
11433
12561
|
id: 2
|
|
11434
12562
|
}
|
|
@@ -13557,16 +14685,6 @@ var nested = {
|
|
|
13557
14685
|
MessageType_StarcoinSignMessage: 10306,
|
|
13558
14686
|
MessageType_StarcoinMessageSignature: 10307,
|
|
13559
14687
|
MessageType_StarcoinVerifyMessage: 10308,
|
|
13560
|
-
MessageType_ConfluxGetAddress: 10401,
|
|
13561
|
-
MessageType_ConfluxAddress: 10402,
|
|
13562
|
-
MessageType_ConfluxSignTx: 10403,
|
|
13563
|
-
MessageType_ConfluxTxRequest: 10404,
|
|
13564
|
-
MessageType_ConfluxTxAck: 10405,
|
|
13565
|
-
MessageType_ConfluxSignMessage: 10406,
|
|
13566
|
-
MessageType_ConfluxSignMessageCIP23: 10407,
|
|
13567
|
-
MessageType_ConfluxMessageSignature: 10408,
|
|
13568
|
-
MessageType_ConfluxVerifyMessage: 10409,
|
|
13569
|
-
MessageType_ConfluxVerifyMessageCIP23: 10410,
|
|
13570
14688
|
MessageType_AptosGetAddress: 10600,
|
|
13571
14689
|
MessageType_AptosAddress: 10601,
|
|
13572
14690
|
MessageType_AptosSignTx: 10602,
|
|
@@ -13577,7 +14695,6 @@ var nested = {
|
|
|
13577
14695
|
MessageType_WebAuthnRemoveResidentCredential: 803,
|
|
13578
14696
|
MessageType_BixinSeedOperate: 901,
|
|
13579
14697
|
MessageType_BixinMessageSE: 902,
|
|
13580
|
-
MessageType_BixinReboot: 903,
|
|
13581
14698
|
MessageType_BixinOutMessageSE: 904,
|
|
13582
14699
|
MessageType_BixinBackupRequest: 905,
|
|
13583
14700
|
MessageType_BixinBackupAck: 906,
|
|
@@ -13594,6 +14711,14 @@ var nested = {
|
|
|
13594
14711
|
MessageType_EthereumSignMessageEIP712: 10200,
|
|
13595
14712
|
MessageType_GetPublicKeyMultiple: 10210,
|
|
13596
14713
|
MessageType_PublicKeyMultiple: 10211,
|
|
14714
|
+
MessageType_ConfluxGetAddress: 10112,
|
|
14715
|
+
MessageType_ConfluxAddress: 10113,
|
|
14716
|
+
MessageType_ConfluxSignTx: 10114,
|
|
14717
|
+
MessageType_ConfluxTxRequest: 10115,
|
|
14718
|
+
MessageType_ConfluxTxAck: 10116,
|
|
14719
|
+
MessageType_ConfluxSignMessage: 10117,
|
|
14720
|
+
MessageType_ConfluxSignMessageCIP23: 10118,
|
|
14721
|
+
MessageType_ConfluxMessageSignature: 10119,
|
|
13597
14722
|
MessageType_TronGetAddress: 10501,
|
|
13598
14723
|
MessageType_TronAddress: 10502,
|
|
13599
14724
|
MessageType_TronSignTx: 10503,
|
|
@@ -13604,6 +14729,7 @@ var nested = {
|
|
|
13604
14729
|
MessageType_NearAddress: 10702,
|
|
13605
14730
|
MessageType_NearSignTx: 10703,
|
|
13606
14731
|
MessageType_NearSignedTx: 10704,
|
|
14732
|
+
MessageType_DeviceBackToBoot: 903,
|
|
13607
14733
|
MessageType_DeviceInfoSettings: 10001,
|
|
13608
14734
|
MessageType_GetDeviceInfo: 10002,
|
|
13609
14735
|
MessageType_DeviceInfo: 10003,
|
|
@@ -13618,7 +14744,12 @@ var nested = {
|
|
|
13618
14744
|
MessageType_SESignMessage: 10012,
|
|
13619
14745
|
MessageType_SEMessageSignature: 10013,
|
|
13620
14746
|
MessageType_NFTWriteInfo: 10014,
|
|
13621
|
-
MessageType_NFTWriteData: 10015
|
|
14747
|
+
MessageType_NFTWriteData: 10015,
|
|
14748
|
+
MessageType_ResourceUpload: 10018,
|
|
14749
|
+
MessageType_ZoomRequest: 10019,
|
|
14750
|
+
MessageType_ResourceRequest: 10020,
|
|
14751
|
+
MessageType_ResourceAck: 10021,
|
|
14752
|
+
MessageType_ResourceUpdate: 10022
|
|
13622
14753
|
}
|
|
13623
14754
|
},
|
|
13624
14755
|
google: {
|
|
@@ -14440,7 +15571,7 @@ const createLogMessage = (type, payload) => ({
|
|
|
14440
15571
|
const MAX_ENTRIES = 500;
|
|
14441
15572
|
let postMessage$1;
|
|
14442
15573
|
|
|
14443
|
-
class Log$
|
|
15574
|
+
class Log$9 {
|
|
14444
15575
|
constructor(prefix, enabled) {
|
|
14445
15576
|
this.prefix = prefix;
|
|
14446
15577
|
this.enabled = enabled;
|
|
@@ -14509,7 +15640,7 @@ class Log$8 {
|
|
|
14509
15640
|
const _logs = {};
|
|
14510
15641
|
|
|
14511
15642
|
const initLog = (prefix, enabled) => {
|
|
14512
|
-
const instance = new Log$
|
|
15643
|
+
const instance = new Log$9(prefix, !!enabled);
|
|
14513
15644
|
_logs[prefix] = instance;
|
|
14514
15645
|
return instance;
|
|
14515
15646
|
};
|
|
@@ -14616,6 +15747,10 @@ const LoggerMap = {
|
|
|
14616
15747
|
|
|
14617
15748
|
const getLogger = key => LoggerMap[key];
|
|
14618
15749
|
|
|
15750
|
+
const wait = ms => new Promise(resolve => {
|
|
15751
|
+
setTimeout(resolve, ms);
|
|
15752
|
+
});
|
|
15753
|
+
|
|
14619
15754
|
const getReleaseStatus = (releases, currentVersion) => {
|
|
14620
15755
|
const newVersions = releases.filter(r => semver__default["default"].gt(r.version.join('.'), currentVersion));
|
|
14621
15756
|
|
|
@@ -14635,6 +15770,16 @@ const getReleaseChangelog = (releases, currentVersion) => {
|
|
|
14635
15770
|
return newVersions.map(r => r.changelog);
|
|
14636
15771
|
};
|
|
14637
15772
|
|
|
15773
|
+
const findLatestRelease = releases => {
|
|
15774
|
+
let leastRelease = releases[0];
|
|
15775
|
+
releases.forEach(release => {
|
|
15776
|
+
if (semver__default["default"].gt(release.version.join('.'), leastRelease.version.join('.'))) {
|
|
15777
|
+
leastRelease = release;
|
|
15778
|
+
}
|
|
15779
|
+
});
|
|
15780
|
+
return leastRelease;
|
|
15781
|
+
};
|
|
15782
|
+
|
|
14638
15783
|
var _a;
|
|
14639
15784
|
|
|
14640
15785
|
class DataManager {
|
|
@@ -14718,6 +15863,18 @@ DataManager.getFirmwareStatus = features => {
|
|
|
14718
15863
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
14719
15864
|
};
|
|
14720
15865
|
|
|
15866
|
+
DataManager.getSysResourcesLatestRelease = features => {
|
|
15867
|
+
var _b, _c, _d;
|
|
15868
|
+
|
|
15869
|
+
const deviceType = getDeviceType(features);
|
|
15870
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
15871
|
+
if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
|
|
15872
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
15873
|
+
const currentVersion = deviceFirmwareVersion.join('.');
|
|
15874
|
+
const targetDeviceConfig = targetDeviceConfigList.filter(item => semver__default["default"].gt(item.version.join('.'), currentVersion) && !!item.resource);
|
|
15875
|
+
return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.resource;
|
|
15876
|
+
};
|
|
15877
|
+
|
|
14721
15878
|
DataManager.getFirmwareChangelog = features => {
|
|
14722
15879
|
var _b, _c;
|
|
14723
15880
|
|
|
@@ -14733,12 +15890,23 @@ DataManager.getFirmwareChangelog = features => {
|
|
|
14733
15890
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14734
15891
|
};
|
|
14735
15892
|
|
|
14736
|
-
DataManager.
|
|
15893
|
+
DataManager.getFirmwareLatestRelease = features => {
|
|
14737
15894
|
var _b, _c;
|
|
14738
15895
|
|
|
14739
15896
|
const deviceType = getDeviceType(features);
|
|
14740
15897
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
14741
|
-
|
|
15898
|
+
const target = findLatestRelease(targetDeviceConfigList);
|
|
15899
|
+
if (!target) return target;
|
|
15900
|
+
|
|
15901
|
+
if (!target.resource) {
|
|
15902
|
+
const resource = _a.getSysResourcesLatestRelease(features);
|
|
15903
|
+
|
|
15904
|
+
return Object.assign(Object.assign({}, target), {
|
|
15905
|
+
resource
|
|
15906
|
+
});
|
|
15907
|
+
}
|
|
15908
|
+
|
|
15909
|
+
return target;
|
|
14742
15910
|
};
|
|
14743
15911
|
|
|
14744
15912
|
DataManager.getBLEFirmwareStatus = features => {
|
|
@@ -14771,12 +15939,12 @@ DataManager.getBleFirmwareChangelog = features => {
|
|
|
14771
15939
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14772
15940
|
};
|
|
14773
15941
|
|
|
14774
|
-
DataManager.
|
|
15942
|
+
DataManager.getBleFirmwareLatestRelease = features => {
|
|
14775
15943
|
var _b, _c;
|
|
14776
15944
|
|
|
14777
15945
|
const deviceType = getDeviceType(features);
|
|
14778
15946
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
14779
|
-
return targetDeviceConfigList
|
|
15947
|
+
return findLatestRelease(targetDeviceConfigList);
|
|
14780
15948
|
};
|
|
14781
15949
|
|
|
14782
15950
|
DataManager.getTransportStatus = localVersion => {
|
|
@@ -14842,6 +16010,7 @@ const UI_REQUEST$1 = {
|
|
|
14842
16010
|
LOCATION_PERMISSION: 'ui-location_permission',
|
|
14843
16011
|
LOCATION_SERVICE_PERMISSION: 'ui-location_service_permission',
|
|
14844
16012
|
FIRMWARE_PROGRESS: 'ui-firmware-progress',
|
|
16013
|
+
FIRMWARE_TIP: 'ui-firmware-tip',
|
|
14845
16014
|
NOT_IN_BOOTLOADER: 'ui-device_not_in_bootloader_mode'
|
|
14846
16015
|
};
|
|
14847
16016
|
|
|
@@ -14925,7 +16094,7 @@ const createFirmwareMessage = (type, payload) => ({
|
|
|
14925
16094
|
payload
|
|
14926
16095
|
});
|
|
14927
16096
|
|
|
14928
|
-
const Log$
|
|
16097
|
+
const Log$8 = getLogger(exports.d0.DevicePool);
|
|
14929
16098
|
|
|
14930
16099
|
const getDiff = (current, descriptors) => {
|
|
14931
16100
|
const connected = descriptors.filter(d => current.find(x => x.path === d.path) === undefined);
|
|
@@ -14978,7 +16147,7 @@ class DevicePool extends events.exports {
|
|
|
14978
16147
|
var e_1, _a;
|
|
14979
16148
|
|
|
14980
16149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14981
|
-
Log$
|
|
16150
|
+
Log$8.debug('get device list: connectId: ', connectId);
|
|
14982
16151
|
const devices = {};
|
|
14983
16152
|
const deviceList = [];
|
|
14984
16153
|
|
|
@@ -14989,7 +16158,7 @@ class DevicePool extends events.exports {
|
|
|
14989
16158
|
const exist = descriptorList.find(d => d.path === device.originalDescriptor.path);
|
|
14990
16159
|
|
|
14991
16160
|
if (exist) {
|
|
14992
|
-
Log$
|
|
16161
|
+
Log$8.debug('find existed Device: ', connectId);
|
|
14993
16162
|
device.updateDescriptor(exist, true);
|
|
14994
16163
|
devices[connectId] = device;
|
|
14995
16164
|
deviceList.push(device);
|
|
@@ -15000,7 +16169,7 @@ class DevicePool extends events.exports {
|
|
|
15000
16169
|
};
|
|
15001
16170
|
}
|
|
15002
16171
|
|
|
15003
|
-
Log$
|
|
16172
|
+
Log$8.debug('found device in cache, but path is different: ', connectId);
|
|
15004
16173
|
}
|
|
15005
16174
|
}
|
|
15006
16175
|
|
|
@@ -15046,8 +16215,8 @@ class DevicePool extends events.exports {
|
|
|
15046
16215
|
}
|
|
15047
16216
|
|
|
15048
16217
|
static clearDeviceCache(connectId) {
|
|
15049
|
-
Log$
|
|
15050
|
-
Log$
|
|
16218
|
+
Log$8.debug('clear device pool cache: connectId', connectId);
|
|
16219
|
+
Log$8.debug('clear device pool cache: ', this.devicesCache);
|
|
15051
16220
|
|
|
15052
16221
|
if (connectId) {
|
|
15053
16222
|
delete this.devicesCache[connectId];
|
|
@@ -15083,7 +16252,7 @@ class DevicePool extends events.exports {
|
|
|
15083
16252
|
for (let i = this.connectedPool.length - 1; i >= 0; i--) {
|
|
15084
16253
|
const descriptor = this.connectedPool[i];
|
|
15085
16254
|
const device = yield this._createDevice(descriptor, initOptions);
|
|
15086
|
-
Log$
|
|
16255
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15087
16256
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15088
16257
|
this.connectedPool.splice(i, 1);
|
|
15089
16258
|
}
|
|
@@ -15124,7 +16293,7 @@ class DevicePool extends events.exports {
|
|
|
15124
16293
|
return;
|
|
15125
16294
|
}
|
|
15126
16295
|
|
|
15127
|
-
Log$
|
|
16296
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15128
16297
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15129
16298
|
});
|
|
15130
16299
|
diff.disconnected.forEach(d => {
|
|
@@ -15138,7 +16307,7 @@ class DevicePool extends events.exports {
|
|
|
15138
16307
|
return;
|
|
15139
16308
|
}
|
|
15140
16309
|
|
|
15141
|
-
Log$
|
|
16310
|
+
Log$8.debug('emit DEVICE.DISCONNECT: ', device);
|
|
15142
16311
|
this.emitter.emit(DEVICE.DISCONNECT, device);
|
|
15143
16312
|
});
|
|
15144
16313
|
}
|
|
@@ -15185,13 +16354,13 @@ DevicePool.connectedPool = [];
|
|
|
15185
16354
|
DevicePool.disconnectPool = [];
|
|
15186
16355
|
DevicePool.devicesCache = {};
|
|
15187
16356
|
DevicePool.emitter = new events.exports();
|
|
15188
|
-
const Log$
|
|
16357
|
+
const Log$7 = getLogger(exports.d0.Transport);
|
|
15189
16358
|
const BleLogger = getLogger(exports.d0.HdBleTransport);
|
|
15190
16359
|
const HttpLogger = getLogger(exports.d0.HdTransportHttp);
|
|
15191
16360
|
|
|
15192
16361
|
class TransportManager {
|
|
15193
16362
|
static load() {
|
|
15194
|
-
Log$
|
|
16363
|
+
Log$7.debug('transport manager load');
|
|
15195
16364
|
this.defaultMessages = DataManager.getProtobufMessages();
|
|
15196
16365
|
this.currentMessages = this.defaultMessages;
|
|
15197
16366
|
}
|
|
@@ -15200,24 +16369,24 @@ class TransportManager {
|
|
|
15200
16369
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15201
16370
|
try {
|
|
15202
16371
|
const env = DataManager.getSettings('env');
|
|
15203
|
-
Log$
|
|
16372
|
+
Log$7.debug('Initializing transports');
|
|
15204
16373
|
|
|
15205
16374
|
if (env === 'react-native') {
|
|
15206
16375
|
if (!this.reactNativeInit) {
|
|
15207
16376
|
yield this.transport.init(BleLogger, DevicePool.emitter);
|
|
15208
16377
|
this.reactNativeInit = true;
|
|
15209
16378
|
} else {
|
|
15210
|
-
Log$
|
|
16379
|
+
Log$7.debug('React Native Do Not Initializing transports');
|
|
15211
16380
|
}
|
|
15212
16381
|
} else {
|
|
15213
16382
|
yield this.transport.init(HttpLogger);
|
|
15214
16383
|
}
|
|
15215
16384
|
|
|
15216
|
-
Log$
|
|
16385
|
+
Log$7.debug('Configuring transports');
|
|
15217
16386
|
yield this.transport.configure(JSON.stringify(this.defaultMessages));
|
|
15218
|
-
Log$
|
|
16387
|
+
Log$7.debug('Configuring transports done');
|
|
15219
16388
|
} catch (error) {
|
|
15220
|
-
Log$
|
|
16389
|
+
Log$7.debug('Initializing transports error: ', error);
|
|
15221
16390
|
|
|
15222
16391
|
if (error.code === 'ECONNABORTED') {
|
|
15223
16392
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
|
|
@@ -15256,7 +16425,7 @@ class TransportManager {
|
|
|
15256
16425
|
this.transport = new TransportConstructor();
|
|
15257
16426
|
}
|
|
15258
16427
|
|
|
15259
|
-
Log$
|
|
16428
|
+
Log$7.debug('set transport: ', this.transport);
|
|
15260
16429
|
}
|
|
15261
16430
|
|
|
15262
16431
|
static getTransport() {
|
|
@@ -15283,7 +16452,7 @@ const assertType = (res, resType) => {
|
|
|
15283
16452
|
}
|
|
15284
16453
|
};
|
|
15285
16454
|
|
|
15286
|
-
const Log$
|
|
16455
|
+
const Log$6 = getLogger(exports.d0.DeviceCommands);
|
|
15287
16456
|
|
|
15288
16457
|
class DeviceCommands {
|
|
15289
16458
|
constructor(device, mainId) {
|
|
@@ -15312,16 +16481,16 @@ class DeviceCommands {
|
|
|
15312
16481
|
var _a, _b;
|
|
15313
16482
|
|
|
15314
16483
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15315
|
-
Log$
|
|
16484
|
+
Log$6.debug('[DeviceCommands] [call] Sending', type);
|
|
15316
16485
|
|
|
15317
16486
|
try {
|
|
15318
16487
|
const promise = this.transport.call(this.mainId, type, msg);
|
|
15319
16488
|
this.callPromise = promise;
|
|
15320
16489
|
const res = yield promise;
|
|
15321
|
-
Log$
|
|
16490
|
+
Log$6.debug('[DeviceCommands] [call] Received', res.type);
|
|
15322
16491
|
return res;
|
|
15323
16492
|
} catch (error) {
|
|
15324
|
-
Log$
|
|
16493
|
+
Log$6.debug('[DeviceCommands] [call] Received error', error);
|
|
15325
16494
|
|
|
15326
16495
|
if (((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'device disconnected during action') {
|
|
15327
16496
|
return {
|
|
@@ -15346,7 +16515,7 @@ class DeviceCommands {
|
|
|
15346
16515
|
try {
|
|
15347
16516
|
assertType(response, resType);
|
|
15348
16517
|
} catch (error) {
|
|
15349
|
-
Log$
|
|
16518
|
+
Log$6.debug('DeviceCommands typedcall error: ', error);
|
|
15350
16519
|
|
|
15351
16520
|
if (error instanceof hdShared.HardwareError) {
|
|
15352
16521
|
if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
|
|
@@ -15371,7 +16540,7 @@ class DeviceCommands {
|
|
|
15371
16540
|
}
|
|
15372
16541
|
|
|
15373
16542
|
_filterCommonTypes(res, callType) {
|
|
15374
|
-
Log$
|
|
16543
|
+
Log$6.debug('_filterCommonTypes: ', res);
|
|
15375
16544
|
|
|
15376
16545
|
if (res.type === 'Failure') {
|
|
15377
16546
|
const {
|
|
@@ -15497,7 +16666,7 @@ class DeviceCommands {
|
|
|
15497
16666
|
}
|
|
15498
16667
|
});
|
|
15499
16668
|
} else {
|
|
15500
|
-
Log$
|
|
16669
|
+
Log$6.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
|
|
15501
16670
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, '_promptPassphrase: Passphrase callback not configured'));
|
|
15502
16671
|
}
|
|
15503
16672
|
});
|
|
@@ -15515,7 +16684,8 @@ const UI_REQUEST = {
|
|
|
15515
16684
|
FIRMWARE_NOT_SUPPORTED: 'ui-device_firmware_unsupported',
|
|
15516
16685
|
FIRMWARE_NOT_COMPATIBLE: 'ui-device_firmware_not_compatible',
|
|
15517
16686
|
FIRMWARE_NOT_INSTALLED: 'ui-device_firmware_not_installed',
|
|
15518
|
-
NOT_USE_ONEKEY_DEVICE: 'ui-device_please_use_onekey_device'
|
|
16687
|
+
NOT_USE_ONEKEY_DEVICE: 'ui-device_please_use_onekey_device',
|
|
16688
|
+
FIRMWARE_TIP: 'ui-firmware-tip'
|
|
15519
16689
|
};
|
|
15520
16690
|
|
|
15521
16691
|
const pkg = __webpack_require__(2391);
|
|
@@ -15623,7 +16793,7 @@ const parseRunOptions = options => {
|
|
|
15623
16793
|
return options;
|
|
15624
16794
|
};
|
|
15625
16795
|
|
|
15626
|
-
const Log$
|
|
16796
|
+
const Log$5 = getLogger(exports.d0.Device);
|
|
15627
16797
|
const deviceSessionCache = {};
|
|
15628
16798
|
|
|
15629
16799
|
class Device extends events.exports {
|
|
@@ -15711,10 +16881,10 @@ class Device extends events.exports {
|
|
|
15711
16881
|
if (env === 'react-native') {
|
|
15712
16882
|
const res = yield (_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id);
|
|
15713
16883
|
this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
|
|
15714
|
-
Log$
|
|
16884
|
+
Log$5.debug('Expected uuid:', this.mainId);
|
|
15715
16885
|
} else {
|
|
15716
16886
|
this.mainId = yield (_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session);
|
|
15717
|
-
Log$
|
|
16887
|
+
Log$5.debug('Expected session id:', this.mainId);
|
|
15718
16888
|
}
|
|
15719
16889
|
|
|
15720
16890
|
this.updateDescriptor({
|
|
@@ -15763,7 +16933,7 @@ class Device extends events.exports {
|
|
|
15763
16933
|
session: null
|
|
15764
16934
|
});
|
|
15765
16935
|
} catch (err) {
|
|
15766
|
-
Log$
|
|
16936
|
+
Log$5.error('[Device] release error: ', err);
|
|
15767
16937
|
} finally {
|
|
15768
16938
|
this.needReloadDevice = true;
|
|
15769
16939
|
}
|
|
@@ -15775,64 +16945,74 @@ class Device extends events.exports {
|
|
|
15775
16945
|
return this.commands;
|
|
15776
16946
|
}
|
|
15777
16947
|
|
|
16948
|
+
generateStateKey(deviceId, passphraseState) {
|
|
16949
|
+
if (passphraseState) {
|
|
16950
|
+
return `${deviceId}@${passphraseState}`;
|
|
16951
|
+
}
|
|
16952
|
+
|
|
16953
|
+
return deviceId;
|
|
16954
|
+
}
|
|
16955
|
+
|
|
15778
16956
|
getInternalState(_deviceId) {
|
|
15779
16957
|
var _a, _b;
|
|
15780
16958
|
|
|
15781
|
-
Log$
|
|
15782
|
-
Log$
|
|
16959
|
+
Log$5.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
16960
|
+
Log$5.debug('getInternalState session cache: ', deviceSessionCache);
|
|
15783
16961
|
const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
|
|
15784
16962
|
if (!deviceId) return undefined;
|
|
15785
16963
|
if (!this.passphraseState) return undefined;
|
|
15786
|
-
const usePassKey =
|
|
16964
|
+
const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
|
|
16965
|
+
return deviceSessionCache[usePassKey];
|
|
16966
|
+
}
|
|
15787
16967
|
|
|
15788
|
-
|
|
15789
|
-
|
|
16968
|
+
tryFixInternalState(state, deviceId) {
|
|
16969
|
+
Log$5.debug('tryFixInternalState session param: ', `device_id: ${deviceId}`, `passphraseState: ${state}`);
|
|
16970
|
+
const key = `${deviceId}`;
|
|
16971
|
+
const session = deviceSessionCache[key];
|
|
15790
16972
|
|
|
15791
|
-
|
|
15792
|
-
|
|
15793
|
-
|
|
16973
|
+
if (session) {
|
|
16974
|
+
deviceSessionCache[this.generateStateKey(deviceId, state)] = session;
|
|
16975
|
+
delete deviceSessionCache[key];
|
|
15794
16976
|
}
|
|
15795
16977
|
|
|
15796
|
-
|
|
16978
|
+
Log$5.debug('tryFixInternalState session cache: ', deviceSessionCache);
|
|
15797
16979
|
}
|
|
15798
16980
|
|
|
15799
16981
|
setInternalState(state, initSession) {
|
|
15800
|
-
var _a;
|
|
16982
|
+
var _a, _b;
|
|
15801
16983
|
|
|
15802
|
-
Log$
|
|
16984
|
+
Log$5.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
15803
16985
|
if (!this.features) return;
|
|
15804
16986
|
if (!this.passphraseState && !initSession) return;
|
|
15805
|
-
|
|
15806
|
-
|
|
15807
|
-
|
|
15808
|
-
key += `@${this.passphraseState}`;
|
|
15809
|
-
}
|
|
16987
|
+
const deviceId = (_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id;
|
|
16988
|
+
if (!deviceId) return;
|
|
16989
|
+
const key = this.generateStateKey(deviceId, this.passphraseState);
|
|
15810
16990
|
|
|
15811
16991
|
if (state) {
|
|
15812
16992
|
deviceSessionCache[key] = state;
|
|
15813
16993
|
}
|
|
15814
16994
|
|
|
15815
|
-
Log$
|
|
16995
|
+
Log$5.debug('setInternalState done session cache: ', deviceSessionCache);
|
|
15816
16996
|
}
|
|
15817
16997
|
|
|
15818
16998
|
clearInternalState(_deviceId) {
|
|
15819
16999
|
var _a;
|
|
15820
17000
|
|
|
15821
|
-
Log$
|
|
17001
|
+
Log$5.debug('clearInternalState param: ', _deviceId);
|
|
15822
17002
|
const deviceId = _deviceId || ((_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id);
|
|
15823
17003
|
if (!deviceId) return;
|
|
15824
17004
|
const key = `${deviceId}`;
|
|
15825
17005
|
delete deviceSessionCache[key];
|
|
15826
17006
|
|
|
15827
17007
|
if (this.passphraseState) {
|
|
15828
|
-
const usePassKey =
|
|
17008
|
+
const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
|
|
15829
17009
|
delete deviceSessionCache[usePassKey];
|
|
15830
17010
|
}
|
|
15831
17011
|
}
|
|
15832
17012
|
|
|
15833
17013
|
initialize(options) {
|
|
15834
17014
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15835
|
-
Log$
|
|
17015
|
+
Log$5.debug('initialize param:', options);
|
|
15836
17016
|
this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
|
|
15837
17017
|
|
|
15838
17018
|
if (options === null || options === void 0 ? void 0 : options.initSession) {
|
|
@@ -15846,7 +17026,7 @@ class Device extends events.exports {
|
|
|
15846
17026
|
payload.session_id = internalState;
|
|
15847
17027
|
}
|
|
15848
17028
|
|
|
15849
|
-
Log$
|
|
17029
|
+
Log$5.debug('initialize payload:', payload);
|
|
15850
17030
|
const {
|
|
15851
17031
|
message
|
|
15852
17032
|
} = yield this.commands.typedCall('Initialize', 'Features', payload);
|
|
@@ -15913,7 +17093,7 @@ class Device extends events.exports {
|
|
|
15913
17093
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15914
17094
|
if (this.runPromise) {
|
|
15915
17095
|
yield this.interruptionFromOutside();
|
|
15916
|
-
Log$
|
|
17096
|
+
Log$5.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
|
|
15917
17097
|
}
|
|
15918
17098
|
|
|
15919
17099
|
options = parseRunOptions(options);
|
|
@@ -15966,7 +17146,7 @@ class Device extends events.exports {
|
|
|
15966
17146
|
if (!this.keepSession && typeof options.keepSession !== 'boolean' || options.keepSession === false) {
|
|
15967
17147
|
this.keepSession = false;
|
|
15968
17148
|
yield this.release();
|
|
15969
|
-
Log$
|
|
17149
|
+
Log$5.debug('release device, mainId: ', this.mainId);
|
|
15970
17150
|
}
|
|
15971
17151
|
|
|
15972
17152
|
if (this.runPromise) {
|
|
@@ -16149,7 +17329,7 @@ class DeviceList extends events.exports {
|
|
|
16149
17329
|
const getFirmwareReleaseInfo = features => {
|
|
16150
17330
|
const firmwareStatus = DataManager.getFirmwareStatus(features);
|
|
16151
17331
|
const changelog = DataManager.getFirmwareChangelog(features);
|
|
16152
|
-
const release = DataManager.
|
|
17332
|
+
const release = DataManager.getFirmwareLatestRelease(features);
|
|
16153
17333
|
return {
|
|
16154
17334
|
status: firmwareStatus,
|
|
16155
17335
|
changelog,
|
|
@@ -16160,7 +17340,7 @@ const getFirmwareReleaseInfo = features => {
|
|
|
16160
17340
|
const getBleFirmwareReleaseInfo = features => {
|
|
16161
17341
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
|
|
16162
17342
|
const changelog = DataManager.getBleFirmwareChangelog(features);
|
|
16163
|
-
const release = DataManager.
|
|
17343
|
+
const release = DataManager.getBleFirmwareLatestRelease(features);
|
|
16164
17344
|
return {
|
|
16165
17345
|
status: firmwareStatus,
|
|
16166
17346
|
changelog,
|
|
@@ -16168,7 +17348,7 @@ const getBleFirmwareReleaseInfo = features => {
|
|
|
16168
17348
|
};
|
|
16169
17349
|
};
|
|
16170
17350
|
|
|
16171
|
-
const Log$
|
|
17351
|
+
const Log$4 = getLogger(exports.d0.Method);
|
|
16172
17352
|
|
|
16173
17353
|
class BaseMethod {
|
|
16174
17354
|
constructor(message) {
|
|
@@ -16231,7 +17411,7 @@ class BaseMethod {
|
|
|
16231
17411
|
}
|
|
16232
17412
|
|
|
16233
17413
|
if (checkFlag && ((_c = this.device.features) === null || _c === void 0 ? void 0 : _c.safety_checks) === 'Strict') {
|
|
16234
|
-
Log$
|
|
17414
|
+
Log$4.debug('will change safety_checks level');
|
|
16235
17415
|
yield this.device.commands.typedCall('ApplySettings', 'Success', {
|
|
16236
17416
|
safety_checks: 'PromptTemporarily'
|
|
16237
17417
|
});
|
|
@@ -16316,6 +17496,10 @@ class GetPassphraseState extends BaseMethod {
|
|
|
16316
17496
|
}
|
|
16317
17497
|
|
|
16318
17498
|
if (features && features.passphrase_protection === true) {
|
|
17499
|
+
if (passphraseState && features.device_id) {
|
|
17500
|
+
this.device.tryFixInternalState(passphraseState, features.device_id);
|
|
17501
|
+
}
|
|
17502
|
+
|
|
16319
17503
|
return Promise.resolve(passphraseState);
|
|
16320
17504
|
}
|
|
16321
17505
|
|
|
@@ -16482,9 +17666,20 @@ const formatAnyHex = value => {
|
|
|
16482
17666
|
return value;
|
|
16483
17667
|
};
|
|
16484
17668
|
|
|
16485
|
-
Array.from({
|
|
17669
|
+
const hexes = Array.from({
|
|
16486
17670
|
length: 256
|
|
16487
|
-
}, (
|
|
17671
|
+
}, (_, i) => i.toString(16).padStart(2, '0'));
|
|
17672
|
+
|
|
17673
|
+
function bytesToHex(uint8a) {
|
|
17674
|
+
if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');
|
|
17675
|
+
let hex = '';
|
|
17676
|
+
|
|
17677
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
17678
|
+
hex += hexes[uint8a[i]];
|
|
17679
|
+
}
|
|
17680
|
+
|
|
17681
|
+
return hex;
|
|
17682
|
+
}
|
|
16488
17683
|
|
|
16489
17684
|
function hexToBytes(hex) {
|
|
16490
17685
|
if (typeof hex !== 'string') {
|
|
@@ -16822,13 +18017,116 @@ class DeviceUpdateReboot extends BaseMethod {
|
|
|
16822
18017
|
|
|
16823
18018
|
run() {
|
|
16824
18019
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16825
|
-
const res = yield this.device.commands.typedCall('
|
|
18020
|
+
const res = yield this.device.commands.typedCall('DeviceBackToBoot', 'Success');
|
|
16826
18021
|
return Promise.resolve(res.message);
|
|
16827
18022
|
});
|
|
16828
18023
|
}
|
|
16829
18024
|
|
|
16830
18025
|
}
|
|
16831
18026
|
|
|
18027
|
+
class DeviceUploadResource extends BaseMethod {
|
|
18028
|
+
constructor() {
|
|
18029
|
+
super(...arguments);
|
|
18030
|
+
this.paramsData = {
|
|
18031
|
+
data: new Uint8Array(),
|
|
18032
|
+
thumbnailData: new Uint8Array()
|
|
18033
|
+
};
|
|
18034
|
+
|
|
18035
|
+
this.processResourceRequest = res => __awaiter(this, void 0, void 0, function* () {
|
|
18036
|
+
if (res.type === 'Success') {
|
|
18037
|
+
return res.message;
|
|
18038
|
+
}
|
|
18039
|
+
|
|
18040
|
+
const {
|
|
18041
|
+
offset,
|
|
18042
|
+
data_length
|
|
18043
|
+
} = res.message;
|
|
18044
|
+
const {
|
|
18045
|
+
data,
|
|
18046
|
+
thumbnailData
|
|
18047
|
+
} = this.paramsData;
|
|
18048
|
+
|
|
18049
|
+
if (offset === undefined) {
|
|
18050
|
+
throw new Error('offset is undefined');
|
|
18051
|
+
}
|
|
18052
|
+
|
|
18053
|
+
let payload;
|
|
18054
|
+
|
|
18055
|
+
if (res.type === 'ResourceRequest') {
|
|
18056
|
+
payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18057
|
+
} else {
|
|
18058
|
+
payload = new Uint8Array(thumbnailData.slice(offset, Math.min(offset + data_length, thumbnailData.byteLength)));
|
|
18059
|
+
}
|
|
18060
|
+
|
|
18061
|
+
const digest = blake2s.blake2s(payload);
|
|
18062
|
+
const resourceAckParams = {
|
|
18063
|
+
data_chunk: utils.bytesToHex(payload),
|
|
18064
|
+
hash: utils.bytesToHex(digest)
|
|
18065
|
+
};
|
|
18066
|
+
const response = yield this.device.commands.typedCall('ResourceAck', ['ResourceRequest', 'ZoomRequest', 'Success'], resourceAckParams);
|
|
18067
|
+
return this.processResourceRequest(response);
|
|
18068
|
+
});
|
|
18069
|
+
}
|
|
18070
|
+
|
|
18071
|
+
getVersionRange() {
|
|
18072
|
+
return {
|
|
18073
|
+
model_touch: {
|
|
18074
|
+
min: '3.2.0'
|
|
18075
|
+
}
|
|
18076
|
+
};
|
|
18077
|
+
}
|
|
18078
|
+
|
|
18079
|
+
init() {
|
|
18080
|
+
this.useDevicePassphraseState = false;
|
|
18081
|
+
validateParams(this.payload, [{
|
|
18082
|
+
name: 'suffix',
|
|
18083
|
+
type: 'string',
|
|
18084
|
+
required: true
|
|
18085
|
+
}, {
|
|
18086
|
+
name: 'dataHex',
|
|
18087
|
+
type: 'string',
|
|
18088
|
+
required: true
|
|
18089
|
+
}, {
|
|
18090
|
+
name: 'thumbnailDataHex',
|
|
18091
|
+
type: 'string',
|
|
18092
|
+
required: true
|
|
18093
|
+
}, {
|
|
18094
|
+
name: 'resType',
|
|
18095
|
+
type: 'number',
|
|
18096
|
+
required: true
|
|
18097
|
+
}, {
|
|
18098
|
+
name: 'nftMetaData',
|
|
18099
|
+
type: 'string'
|
|
18100
|
+
}]);
|
|
18101
|
+
const {
|
|
18102
|
+
suffix,
|
|
18103
|
+
dataHex,
|
|
18104
|
+
thumbnailDataHex,
|
|
18105
|
+
resType,
|
|
18106
|
+
nftMetaData
|
|
18107
|
+
} = this.payload;
|
|
18108
|
+
this.paramsData = {
|
|
18109
|
+
data: hexToBytes(dataHex),
|
|
18110
|
+
thumbnailData: hexToBytes(thumbnailDataHex)
|
|
18111
|
+
};
|
|
18112
|
+
this.params = {
|
|
18113
|
+
extension: suffix,
|
|
18114
|
+
data_length: this.paramsData.data.byteLength,
|
|
18115
|
+
zoom_data_length: this.paramsData.thumbnailData.byteLength,
|
|
18116
|
+
res_type: resType,
|
|
18117
|
+
nft_meta_data: nftMetaData
|
|
18118
|
+
};
|
|
18119
|
+
}
|
|
18120
|
+
|
|
18121
|
+
run() {
|
|
18122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18123
|
+
const res = yield this.device.commands.typedCall('ResourceUpload', ['ResourceRequest', 'ZoomRequest', 'Success'], this.params);
|
|
18124
|
+
return this.processResourceRequest(res);
|
|
18125
|
+
});
|
|
18126
|
+
}
|
|
18127
|
+
|
|
18128
|
+
}
|
|
18129
|
+
|
|
16832
18130
|
class DeviceSupportFeatures extends BaseMethod {
|
|
16833
18131
|
init() {
|
|
16834
18132
|
this.useDevicePassphraseState = false;
|
|
@@ -16864,7 +18162,7 @@ class DeviceVerify extends BaseMethod {
|
|
|
16864
18162
|
|
|
16865
18163
|
if (deviceType === 'classic') {
|
|
16866
18164
|
const res = yield this.device.commands.typedCall('BixinVerifyDeviceRequest', 'BixinVerifyDeviceAck', Object.assign(Object.assign({}, this.params), {
|
|
16867
|
-
data:
|
|
18165
|
+
data: utils.bytesToHex(sha256.sha256(this.params.data))
|
|
16868
18166
|
}));
|
|
16869
18167
|
response = res.message;
|
|
16870
18168
|
} else {
|
|
@@ -16913,7 +18211,7 @@ const getBinary = ({
|
|
|
16913
18211
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no firmware found for this device');
|
|
16914
18212
|
}
|
|
16915
18213
|
|
|
16916
|
-
if (version && !semver__default["default"].eq(releaseInfo.version, version)) {
|
|
18214
|
+
if (version && !semver__default["default"].eq(releaseInfo.version.join('.'), version.join('.'))) {
|
|
16917
18215
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'firmware version mismatch');
|
|
16918
18216
|
}
|
|
16919
18217
|
|
|
@@ -16931,20 +18229,36 @@ const getBinary = ({
|
|
|
16931
18229
|
});
|
|
16932
18230
|
});
|
|
16933
18231
|
|
|
18232
|
+
const getSysResourceBinary = url => __awaiter(void 0, void 0, void 0, function* () {
|
|
18233
|
+
let fw;
|
|
18234
|
+
|
|
18235
|
+
try {
|
|
18236
|
+
fw = yield httpRequest(url, 'binary');
|
|
18237
|
+
} catch (_b) {
|
|
18238
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
|
|
18239
|
+
}
|
|
18240
|
+
|
|
18241
|
+
return {
|
|
18242
|
+
binary: fw
|
|
18243
|
+
};
|
|
18244
|
+
});
|
|
18245
|
+
|
|
16934
18246
|
const getInfo = ({
|
|
16935
18247
|
features,
|
|
16936
18248
|
updateType
|
|
16937
18249
|
}) => {
|
|
16938
|
-
var _a, _b
|
|
18250
|
+
var _a, _b;
|
|
16939
18251
|
|
|
16940
18252
|
const deviceType = getDeviceType(features);
|
|
16941
18253
|
const {
|
|
16942
18254
|
deviceMap
|
|
16943
18255
|
} = DataManager;
|
|
16944
|
-
const releaseInfo = (
|
|
16945
|
-
return releaseInfo;
|
|
18256
|
+
const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) !== null && _b !== void 0 ? _b : [];
|
|
18257
|
+
return findLatestRelease(releaseInfo);
|
|
16946
18258
|
};
|
|
16947
18259
|
|
|
18260
|
+
const Log$3 = getLogger(exports.d0.Device);
|
|
18261
|
+
|
|
16948
18262
|
const postConfirmationMessage = device => {
|
|
16949
18263
|
var _a;
|
|
16950
18264
|
|
|
@@ -16962,6 +18276,21 @@ const postProgressMessage = (device, progress, postMessage) => {
|
|
|
16962
18276
|
}));
|
|
16963
18277
|
};
|
|
16964
18278
|
|
|
18279
|
+
const postProgressTip = (device, message, postMessage) => {
|
|
18280
|
+
postMessage(createUiMessage(UI_REQUEST$1.FIRMWARE_TIP, {
|
|
18281
|
+
device: device.toMessageObject(),
|
|
18282
|
+
data: {
|
|
18283
|
+
message
|
|
18284
|
+
}
|
|
18285
|
+
}));
|
|
18286
|
+
};
|
|
18287
|
+
|
|
18288
|
+
const waitBleInstall = updateType => __awaiter(void 0, void 0, void 0, function* () {
|
|
18289
|
+
if (updateType === 'ble') {
|
|
18290
|
+
yield wait(10 * 1000);
|
|
18291
|
+
}
|
|
18292
|
+
});
|
|
18293
|
+
|
|
16965
18294
|
const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
16966
18295
|
payload
|
|
16967
18296
|
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -16969,8 +18298,10 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
16969
18298
|
|
|
16970
18299
|
if (((_a = device.features) === null || _a === void 0 ? void 0 : _a.major_version) === 1) {
|
|
16971
18300
|
postConfirmationMessage(device);
|
|
18301
|
+
postProgressTip(device, 'ConfirmOnDevice', postMessage);
|
|
16972
18302
|
const eraseCommand = updateType === 'firmware' ? 'FirmwareErase' : 'FirmwareErase_ex';
|
|
16973
18303
|
yield typedCall(eraseCommand, 'Success', {});
|
|
18304
|
+
postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
|
|
16974
18305
|
postProgressMessage(device, 0, postMessage);
|
|
16975
18306
|
const {
|
|
16976
18307
|
message
|
|
@@ -16978,15 +18309,18 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
16978
18309
|
payload
|
|
16979
18310
|
});
|
|
16980
18311
|
postProgressMessage(device, 100, postMessage);
|
|
18312
|
+
yield waitBleInstall(updateType);
|
|
16981
18313
|
return message;
|
|
16982
18314
|
}
|
|
16983
18315
|
|
|
16984
18316
|
if (((_b = device.features) === null || _b === void 0 ? void 0 : _b.major_version) === 2) {
|
|
16985
18317
|
postConfirmationMessage(device);
|
|
18318
|
+
postProgressTip(device, 'ConfirmOnDevice', postMessage);
|
|
16986
18319
|
const length = payload.byteLength;
|
|
16987
18320
|
let response = yield typedCall('FirmwareErase', ['FirmwareRequest', 'Success'], {
|
|
16988
18321
|
length
|
|
16989
18322
|
});
|
|
18323
|
+
postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
|
|
16990
18324
|
|
|
16991
18325
|
while (response.type !== 'Success') {
|
|
16992
18326
|
const start = response.message.offset;
|
|
@@ -17003,13 +18337,81 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
17003
18337
|
}
|
|
17004
18338
|
|
|
17005
18339
|
postProgressMessage(device, 100, postMessage);
|
|
18340
|
+
yield waitBleInstall(updateType);
|
|
17006
18341
|
return response.message;
|
|
17007
18342
|
}
|
|
17008
18343
|
|
|
17009
18344
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown major_version');
|
|
17010
18345
|
});
|
|
17011
18346
|
|
|
17012
|
-
|
|
18347
|
+
const processResourceRequest = (typedCall, res, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18348
|
+
if (res.type === 'Success') {
|
|
18349
|
+
return res.message;
|
|
18350
|
+
}
|
|
18351
|
+
|
|
18352
|
+
const {
|
|
18353
|
+
offset,
|
|
18354
|
+
data_length
|
|
18355
|
+
} = res.message;
|
|
18356
|
+
|
|
18357
|
+
if (offset === undefined) {
|
|
18358
|
+
throw new Error('offset is undefined');
|
|
18359
|
+
}
|
|
18360
|
+
|
|
18361
|
+
const payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18362
|
+
const digest = blake2s.blake2s(payload);
|
|
18363
|
+
const resourceAckParams = {
|
|
18364
|
+
data_chunk: bytesToHex(payload),
|
|
18365
|
+
hash: bytesToHex(digest)
|
|
18366
|
+
};
|
|
18367
|
+
const response = yield typedCall('ResourceAck', ['ResourceRequest', 'Success'], Object.assign({}, resourceAckParams));
|
|
18368
|
+
return processResourceRequest(typedCall, response, data);
|
|
18369
|
+
});
|
|
18370
|
+
|
|
18371
|
+
const INIT_DATA_CHUNK_SIZE = 16 * 1024;
|
|
18372
|
+
|
|
18373
|
+
const updateResource = (typedCall, fileName, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18374
|
+
const chunk = new Uint8Array(data.slice(0, Math.min(INIT_DATA_CHUNK_SIZE, data.byteLength)));
|
|
18375
|
+
const digest = blake2s.blake2s(chunk);
|
|
18376
|
+
const res = yield typedCall('ResourceUpdate', ['ResourceRequest', 'Success'], {
|
|
18377
|
+
file_name: fileName,
|
|
18378
|
+
data_length: data.byteLength,
|
|
18379
|
+
initial_data_chunk: bytesToHex(chunk),
|
|
18380
|
+
hash: bytesToHex(digest)
|
|
18381
|
+
});
|
|
18382
|
+
return processResourceRequest(typedCall, res, data);
|
|
18383
|
+
});
|
|
18384
|
+
|
|
18385
|
+
const updateResources = (typedCall, postMessage, device, source) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18386
|
+
postProgressTip(device, 'UpdateSysResource', postMessage);
|
|
18387
|
+
const zipData = yield JSZip__default["default"].loadAsync(source);
|
|
18388
|
+
const files = Object.entries(zipData.files);
|
|
18389
|
+
let progress = 0;
|
|
18390
|
+
const stepProgress = 100 / files.length;
|
|
18391
|
+
|
|
18392
|
+
for (const [fileName, file] of files) {
|
|
18393
|
+
const name = fileName.split('/').pop();
|
|
18394
|
+
|
|
18395
|
+
if (!file.dir && fileName.indexOf('__MACOSX') === -1 && name) {
|
|
18396
|
+
const data = yield file.async('arraybuffer');
|
|
18397
|
+
|
|
18398
|
+
try {
|
|
18399
|
+
yield updateResource(typedCall, name, data);
|
|
18400
|
+
} catch (error) {
|
|
18401
|
+
Log$3.error(error);
|
|
18402
|
+
}
|
|
18403
|
+
}
|
|
18404
|
+
|
|
18405
|
+
progress += stepProgress;
|
|
18406
|
+
postProgressMessage(device, Math.floor(progress), postMessage);
|
|
18407
|
+
}
|
|
18408
|
+
|
|
18409
|
+
postProgressMessage(device, 100, postMessage);
|
|
18410
|
+
postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
|
|
18411
|
+
return true;
|
|
18412
|
+
});
|
|
18413
|
+
|
|
18414
|
+
class FirmwareUpdate$1 extends BaseMethod {
|
|
17013
18415
|
init() {
|
|
17014
18416
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
|
|
17015
18417
|
this.requireDeviceMode = [UI_REQUEST.BOOTLOADER];
|
|
@@ -17083,6 +18485,191 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17083
18485
|
|
|
17084
18486
|
}
|
|
17085
18487
|
|
|
18488
|
+
class FirmwareUpdate extends BaseMethod {
|
|
18489
|
+
constructor() {
|
|
18490
|
+
super(...arguments);
|
|
18491
|
+
this.checkPromise = null;
|
|
18492
|
+
|
|
18493
|
+
this.postTipMessage = message => {
|
|
18494
|
+
this.postMessage(createUiMessage(UI_REQUEST.FIRMWARE_TIP, {
|
|
18495
|
+
device: this.device.toMessageObject(),
|
|
18496
|
+
data: {
|
|
18497
|
+
message
|
|
18498
|
+
}
|
|
18499
|
+
}));
|
|
18500
|
+
};
|
|
18501
|
+
}
|
|
18502
|
+
|
|
18503
|
+
init() {
|
|
18504
|
+
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
|
|
18505
|
+
this.requireDeviceMode = [];
|
|
18506
|
+
this.useDevicePassphraseState = false;
|
|
18507
|
+
const {
|
|
18508
|
+
payload
|
|
18509
|
+
} = this;
|
|
18510
|
+
validateParams(payload, [{
|
|
18511
|
+
name: 'version',
|
|
18512
|
+
type: 'array'
|
|
18513
|
+
}, {
|
|
18514
|
+
name: 'binary',
|
|
18515
|
+
type: 'buffer'
|
|
18516
|
+
}]);
|
|
18517
|
+
|
|
18518
|
+
if (!payload.updateType) {
|
|
18519
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'updateType is required');
|
|
18520
|
+
}
|
|
18521
|
+
|
|
18522
|
+
this.params = {
|
|
18523
|
+
updateType: payload.updateType
|
|
18524
|
+
};
|
|
18525
|
+
|
|
18526
|
+
if ('version' in payload) {
|
|
18527
|
+
this.params = Object.assign(Object.assign({}, this.params), {
|
|
18528
|
+
version: payload.version
|
|
18529
|
+
});
|
|
18530
|
+
}
|
|
18531
|
+
|
|
18532
|
+
if ('binary' in payload) {
|
|
18533
|
+
this.params = Object.assign(Object.assign({}, this.params), {
|
|
18534
|
+
binary: payload.binary
|
|
18535
|
+
});
|
|
18536
|
+
}
|
|
18537
|
+
}
|
|
18538
|
+
|
|
18539
|
+
checkDeviceToBootloader() {
|
|
18540
|
+
this.checkPromise = hdShared.createDeferred();
|
|
18541
|
+
const intervalTimer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
18542
|
+
var _a, _b, _c, _d;
|
|
18543
|
+
|
|
18544
|
+
const deviceDiff = yield (_a = this.device.deviceConnector) === null || _a === void 0 ? void 0 : _a.enumerate();
|
|
18545
|
+
const devicesDescriptor = (_b = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _b !== void 0 ? _b : [];
|
|
18546
|
+
const {
|
|
18547
|
+
deviceList
|
|
18548
|
+
} = yield DevicePool.getDevices(devicesDescriptor, this.connectId);
|
|
18549
|
+
console.log('device list: ', deviceList);
|
|
18550
|
+
|
|
18551
|
+
if (deviceList.length === 1 && ((_c = deviceList[0].features) === null || _c === void 0 ? void 0 : _c.bootloader_mode)) {
|
|
18552
|
+
this.device.updateFromCache(deviceList[0]);
|
|
18553
|
+
this.device.commands.disposed = false;
|
|
18554
|
+
clearInterval(intervalTimer);
|
|
18555
|
+
(_d = this.checkPromise) === null || _d === void 0 ? void 0 : _d.resolve(true);
|
|
18556
|
+
}
|
|
18557
|
+
}), 2000);
|
|
18558
|
+
setTimeout(() => {
|
|
18559
|
+
if (this.checkPromise) {
|
|
18560
|
+
clearInterval(intervalTimer);
|
|
18561
|
+
this.checkPromise.reject(new Error());
|
|
18562
|
+
}
|
|
18563
|
+
}, 30000);
|
|
18564
|
+
}
|
|
18565
|
+
|
|
18566
|
+
isEnteredManuallyBoot(features) {
|
|
18567
|
+
const deviceType = getDeviceType(features);
|
|
18568
|
+
const isMini = deviceType === 'mini';
|
|
18569
|
+
const isBoot183ClassicUpBle = this.params.updateType === 'firmware' && deviceType === 'classic' && features.bootloader_version === '1.8.3';
|
|
18570
|
+
return isMini || isBoot183ClassicUpBle;
|
|
18571
|
+
}
|
|
18572
|
+
|
|
18573
|
+
isSupportResourceUpdate(features, updateType) {
|
|
18574
|
+
if (updateType === 'firmware') return false;
|
|
18575
|
+
const deviceType = getDeviceType(features);
|
|
18576
|
+
const isTouchMode = deviceType === 'touch' || deviceType === 'pro';
|
|
18577
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
18578
|
+
return isTouchMode && semver__default["default"].gte(currentVersion, '3.2.0');
|
|
18579
|
+
}
|
|
18580
|
+
|
|
18581
|
+
run() {
|
|
18582
|
+
var _a, _b;
|
|
18583
|
+
|
|
18584
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18585
|
+
const {
|
|
18586
|
+
device,
|
|
18587
|
+
params
|
|
18588
|
+
} = this;
|
|
18589
|
+
const {
|
|
18590
|
+
features,
|
|
18591
|
+
commands
|
|
18592
|
+
} = device;
|
|
18593
|
+
|
|
18594
|
+
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
|
|
18595
|
+
const uuid = getDeviceUUID(features);
|
|
18596
|
+
const deviceType = getDeviceType(features);
|
|
18597
|
+
|
|
18598
|
+
if (this.isEnteredManuallyBoot(features)) {
|
|
18599
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateManuallyEnterBoot));
|
|
18600
|
+
}
|
|
18601
|
+
|
|
18602
|
+
if (features && this.isSupportResourceUpdate(features, params.updateType)) {
|
|
18603
|
+
this.postTipMessage('CheckLatestUiResource');
|
|
18604
|
+
const resourceUrl = DataManager.getSysResourcesLatestRelease(features);
|
|
18605
|
+
|
|
18606
|
+
if (resourceUrl) {
|
|
18607
|
+
this.postTipMessage('DownloadLatestUiResource');
|
|
18608
|
+
const resource = yield getSysResourceBinary(resourceUrl);
|
|
18609
|
+
this.postTipMessage('DownloadLatestUiResourceSuccess');
|
|
18610
|
+
|
|
18611
|
+
if (resource) {
|
|
18612
|
+
yield updateResources(this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, resource.binary);
|
|
18613
|
+
}
|
|
18614
|
+
}
|
|
18615
|
+
}
|
|
18616
|
+
|
|
18617
|
+
try {
|
|
18618
|
+
this.postTipMessage('AutoRebootToBootloader');
|
|
18619
|
+
yield commands.typedCall('DeviceBackToBoot', 'Success');
|
|
18620
|
+
this.postTipMessage('GoToBootloaderSuccess');
|
|
18621
|
+
this.checkDeviceToBootloader();
|
|
18622
|
+
|
|
18623
|
+
if (deviceType === 'classic') {
|
|
18624
|
+
DevicePool.clearDeviceCache(uuid);
|
|
18625
|
+
}
|
|
18626
|
+
|
|
18627
|
+
delete DevicePool.devicesCache[''];
|
|
18628
|
+
yield (_a = this.checkPromise) === null || _a === void 0 ? void 0 : _a.promise;
|
|
18629
|
+
this.checkPromise = null;
|
|
18630
|
+
yield wait(1500);
|
|
18631
|
+
} catch (e) {
|
|
18632
|
+
if (e instanceof hdShared.HardwareError) {
|
|
18633
|
+
return Promise.reject(e);
|
|
18634
|
+
}
|
|
18635
|
+
|
|
18636
|
+
console.log('auto go to bootloader mode failed: ', e);
|
|
18637
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure));
|
|
18638
|
+
}
|
|
18639
|
+
}
|
|
18640
|
+
|
|
18641
|
+
let binary;
|
|
18642
|
+
|
|
18643
|
+
try {
|
|
18644
|
+
if (params.binary) {
|
|
18645
|
+
binary = this.params.binary;
|
|
18646
|
+
} else {
|
|
18647
|
+
if (!device.features) {
|
|
18648
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no features found for this device');
|
|
18649
|
+
}
|
|
18650
|
+
|
|
18651
|
+
this.postTipMessage('DownloadFirmware');
|
|
18652
|
+
const firmware = yield getBinary({
|
|
18653
|
+
features: device.features,
|
|
18654
|
+
version: params.version,
|
|
18655
|
+
updateType: params.updateType
|
|
18656
|
+
});
|
|
18657
|
+
binary = firmware.binary;
|
|
18658
|
+
this.postTipMessage('DownloadFirmwareSuccess');
|
|
18659
|
+
}
|
|
18660
|
+
} catch (err) {
|
|
18661
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, (_b = err.message) !== null && _b !== void 0 ? _b : err);
|
|
18662
|
+
}
|
|
18663
|
+
|
|
18664
|
+
yield this.device.acquire();
|
|
18665
|
+
return uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, {
|
|
18666
|
+
payload: binary
|
|
18667
|
+
});
|
|
18668
|
+
});
|
|
18669
|
+
}
|
|
18670
|
+
|
|
18671
|
+
}
|
|
18672
|
+
|
|
17086
18673
|
const Log$2 = getLogger(exports.d0.Method);
|
|
17087
18674
|
|
|
17088
18675
|
class RequestWebUsbDevice extends BaseMethod {
|
|
@@ -17125,50 +18712,6 @@ class RequestWebUsbDevice extends BaseMethod {
|
|
|
17125
18712
|
|
|
17126
18713
|
}
|
|
17127
18714
|
|
|
17128
|
-
class BatchGetPublicKey extends BaseMethod {
|
|
17129
|
-
init() {
|
|
17130
|
-
this.checkDeviceId = true;
|
|
17131
|
-
validateParams(this.payload, [{
|
|
17132
|
-
name: 'paths',
|
|
17133
|
-
type: 'array'
|
|
17134
|
-
}, {
|
|
17135
|
-
name: 'ecdsaCurveName',
|
|
17136
|
-
type: 'string'
|
|
17137
|
-
}]);
|
|
17138
|
-
this.params = this.payload.paths.map(path => {
|
|
17139
|
-
const addressN = validatePath(path, 1);
|
|
17140
|
-
return {
|
|
17141
|
-
address_n: addressN
|
|
17142
|
-
};
|
|
17143
|
-
});
|
|
17144
|
-
}
|
|
17145
|
-
|
|
17146
|
-
getVersionRange() {
|
|
17147
|
-
return {
|
|
17148
|
-
model_mini: {
|
|
17149
|
-
min: '2.6.0'
|
|
17150
|
-
}
|
|
17151
|
-
};
|
|
17152
|
-
}
|
|
17153
|
-
|
|
17154
|
-
run() {
|
|
17155
|
-
var _a;
|
|
17156
|
-
|
|
17157
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17158
|
-
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
17159
|
-
paths: this.params,
|
|
17160
|
-
ecdsa_curve_name: (_a = this.payload.ecdsaCurveName) !== null && _a !== void 0 ? _a : 'secp256k1'
|
|
17161
|
-
});
|
|
17162
|
-
const result = res.message.public_keys.map((publicKey, index) => ({
|
|
17163
|
-
path: serializedPath(this.params[index].address_n),
|
|
17164
|
-
publicKey
|
|
17165
|
-
}));
|
|
17166
|
-
return Promise.resolve(result);
|
|
17167
|
-
});
|
|
17168
|
-
}
|
|
17169
|
-
|
|
17170
|
-
}
|
|
17171
|
-
|
|
17172
18715
|
class CipherKeyValue extends BaseMethod {
|
|
17173
18716
|
constructor() {
|
|
17174
18717
|
super(...arguments);
|
|
@@ -17263,6 +18806,10 @@ var bitcoin = [{
|
|
|
17263
18806
|
name: "Axe",
|
|
17264
18807
|
label: "AXE",
|
|
17265
18808
|
slip44: 4242
|
|
18809
|
+
}, {
|
|
18810
|
+
name: "Bcash",
|
|
18811
|
+
label: "BCH",
|
|
18812
|
+
slip44: 145
|
|
17266
18813
|
}, {
|
|
17267
18814
|
name: "Bitcore",
|
|
17268
18815
|
label: "BTX",
|
|
@@ -20693,10 +22240,6 @@ class NearSignTransaction extends BaseMethod {
|
|
|
20693
22240
|
|
|
20694
22241
|
}
|
|
20695
22242
|
|
|
20696
|
-
const {
|
|
20697
|
-
sha3_256: sha3Hash
|
|
20698
|
-
} = sha3__default["default"];
|
|
20699
|
-
|
|
20700
22243
|
class AptosGetAddress extends BaseMethod {
|
|
20701
22244
|
constructor() {
|
|
20702
22245
|
super(...arguments);
|
|
@@ -20737,10 +22280,18 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20737
22280
|
}
|
|
20738
22281
|
|
|
20739
22282
|
publicKeyToAddress(publicKey) {
|
|
20740
|
-
const hash =
|
|
22283
|
+
const hash = sha3.sha3_256.create();
|
|
20741
22284
|
hash.update(hexToBytes(publicKey));
|
|
20742
|
-
hash.update(
|
|
20743
|
-
return hash.
|
|
22285
|
+
hash.update('\x00');
|
|
22286
|
+
return `0x${utils.bytesToHex(hash.digest())}`;
|
|
22287
|
+
}
|
|
22288
|
+
|
|
22289
|
+
getVersionRange() {
|
|
22290
|
+
return {
|
|
22291
|
+
model_mini: {
|
|
22292
|
+
min: '2.6.0'
|
|
22293
|
+
}
|
|
22294
|
+
};
|
|
20744
22295
|
}
|
|
20745
22296
|
|
|
20746
22297
|
run() {
|
|
@@ -20770,7 +22321,7 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20770
22321
|
} = res.message;
|
|
20771
22322
|
responses.push({
|
|
20772
22323
|
path: serializedPath(param.address_n),
|
|
20773
|
-
address
|
|
22324
|
+
address: address === null || address === void 0 ? void 0 : address.toLowerCase()
|
|
20774
22325
|
});
|
|
20775
22326
|
}
|
|
20776
22327
|
|
|
@@ -20780,6 +22331,69 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20780
22331
|
|
|
20781
22332
|
}
|
|
20782
22333
|
|
|
22334
|
+
class AptosGetPublicKey extends BaseMethod {
|
|
22335
|
+
constructor() {
|
|
22336
|
+
super(...arguments);
|
|
22337
|
+
this.hasBundle = false;
|
|
22338
|
+
}
|
|
22339
|
+
|
|
22340
|
+
init() {
|
|
22341
|
+
var _a;
|
|
22342
|
+
|
|
22343
|
+
this.checkDeviceId = true;
|
|
22344
|
+
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];
|
|
22345
|
+
this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
|
|
22346
|
+
const payload = this.hasBundle ? this.payload : {
|
|
22347
|
+
bundle: [this.payload]
|
|
22348
|
+
};
|
|
22349
|
+
validateParams(payload, [{
|
|
22350
|
+
name: 'bundle',
|
|
22351
|
+
type: 'array'
|
|
22352
|
+
}]);
|
|
22353
|
+
this.params = [];
|
|
22354
|
+
payload.bundle.forEach(batch => {
|
|
22355
|
+
var _a;
|
|
22356
|
+
|
|
22357
|
+
const addressN = validatePath(batch.path, 3);
|
|
22358
|
+
validateParams(batch, [{
|
|
22359
|
+
name: 'path',
|
|
22360
|
+
required: true
|
|
22361
|
+
}, {
|
|
22362
|
+
name: 'showOnOneKey',
|
|
22363
|
+
type: 'boolean'
|
|
22364
|
+
}]);
|
|
22365
|
+
const showOnOneKey = (_a = batch.showOnOneKey) !== null && _a !== void 0 ? _a : true;
|
|
22366
|
+
this.params.push({
|
|
22367
|
+
address_n: addressN,
|
|
22368
|
+
show_display: showOnOneKey
|
|
22369
|
+
});
|
|
22370
|
+
});
|
|
22371
|
+
}
|
|
22372
|
+
|
|
22373
|
+
getVersionRange() {
|
|
22374
|
+
return {
|
|
22375
|
+
model_mini: {
|
|
22376
|
+
min: '2.6.0'
|
|
22377
|
+
}
|
|
22378
|
+
};
|
|
22379
|
+
}
|
|
22380
|
+
|
|
22381
|
+
run() {
|
|
22382
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22383
|
+
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
22384
|
+
paths: this.params,
|
|
22385
|
+
ecdsa_curve_name: 'ed25519'
|
|
22386
|
+
});
|
|
22387
|
+
const responses = res.message.public_keys.map((publicKey, index) => ({
|
|
22388
|
+
path: serializedPath(this.params[index].address_n),
|
|
22389
|
+
publicKey
|
|
22390
|
+
}));
|
|
22391
|
+
return Promise.resolve(this.hasBundle ? responses : responses[0]);
|
|
22392
|
+
});
|
|
22393
|
+
}
|
|
22394
|
+
|
|
22395
|
+
}
|
|
22396
|
+
|
|
20783
22397
|
class AptosSignTransaction extends BaseMethod {
|
|
20784
22398
|
init() {
|
|
20785
22399
|
this.checkDeviceId = true;
|
|
@@ -20806,7 +22420,7 @@ class AptosSignTransaction extends BaseMethod {
|
|
|
20806
22420
|
getVersionRange() {
|
|
20807
22421
|
return {
|
|
20808
22422
|
model_mini: {
|
|
20809
|
-
min: '2.
|
|
22423
|
+
min: '2.6.0'
|
|
20810
22424
|
}
|
|
20811
22425
|
};
|
|
20812
22426
|
}
|
|
@@ -20838,12 +22452,13 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
20838
22452
|
deviceReset: DeviceReset,
|
|
20839
22453
|
deviceSettings: DeviceSettings,
|
|
20840
22454
|
deviceUpdateReboot: DeviceUpdateReboot,
|
|
22455
|
+
deviceUploadResource: DeviceUploadResource,
|
|
20841
22456
|
deviceSupportFeatures: DeviceSupportFeatures,
|
|
20842
22457
|
deviceVerify: DeviceVerify,
|
|
20843
22458
|
deviceWipe: DeviceWipe,
|
|
20844
|
-
firmwareUpdate: FirmwareUpdate,
|
|
22459
|
+
firmwareUpdate: FirmwareUpdate$1,
|
|
22460
|
+
firmwareUpdateV2: FirmwareUpdate,
|
|
20845
22461
|
requestWebUsbDevice: RequestWebUsbDevice,
|
|
20846
|
-
batchGetPublicKey: BatchGetPublicKey,
|
|
20847
22462
|
cipherKeyValue: CipherKeyValue,
|
|
20848
22463
|
btcGetAddress: BTCGetAddress,
|
|
20849
22464
|
btcGetPublicKey: BTCGetPublicKey,
|
|
@@ -20878,6 +22493,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
20878
22493
|
nearGetAddress: NearGetAddress,
|
|
20879
22494
|
nearSignTransaction: NearSignTransaction,
|
|
20880
22495
|
aptosGetAddress: AptosGetAddress,
|
|
22496
|
+
aptosGetPublicKey: AptosGetPublicKey,
|
|
20881
22497
|
aptosSignTransaction: AptosSignTransaction
|
|
20882
22498
|
});
|
|
20883
22499
|
|
|
@@ -21296,7 +22912,7 @@ function initDevice(method) {
|
|
|
21296
22912
|
} else if (allDevices.length === 1) {
|
|
21297
22913
|
[device] = allDevices;
|
|
21298
22914
|
} else if (allDevices.length > 1) {
|
|
21299
|
-
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.SelectDevice);
|
|
22915
|
+
throw hdShared.ERRORS.TypedError(method.name === 'firmwareUpdateV2' ? hdShared.HardwareErrorCode.FirmwareUpdateLimitOneDevice : hdShared.HardwareErrorCode.SelectDevice);
|
|
21300
22916
|
}
|
|
21301
22917
|
|
|
21302
22918
|
if (!device) {
|
|
@@ -21399,7 +23015,7 @@ const ensureConnected = (method, pollingId) => __awaiter(void 0, void 0, void 0,
|
|
|
21399
23015
|
} catch (error) {
|
|
21400
23016
|
Log.debug('device error: ', error);
|
|
21401
23017
|
|
|
21402
|
-
if ([hdShared.HardwareErrorCode.BlePermissionError, hdShared.HardwareErrorCode.BleLocationError, hdShared.HardwareErrorCode.BleLocationServicesDisabled, hdShared.HardwareErrorCode.BleDeviceNotBonded, hdShared.HardwareErrorCode.BleCharacteristicNotifyError, hdShared.HardwareErrorCode.BleWriteCharacteristicError, hdShared.HardwareErrorCode.BleAlreadyConnected].includes(error.errorCode)) {
|
|
23018
|
+
if ([hdShared.HardwareErrorCode.BlePermissionError, hdShared.HardwareErrorCode.BleLocationError, hdShared.HardwareErrorCode.BleLocationServicesDisabled, hdShared.HardwareErrorCode.BleDeviceNotBonded, hdShared.HardwareErrorCode.BleCharacteristicNotifyError, hdShared.HardwareErrorCode.BleWriteCharacteristicError, hdShared.HardwareErrorCode.BleAlreadyConnected, hdShared.HardwareErrorCode.FirmwareUpdateLimitOneDevice].includes(error.errorCode)) {
|
|
21403
23019
|
reject(error);
|
|
21404
23020
|
return;
|
|
21405
23021
|
}
|
|
@@ -21747,6 +23363,7 @@ __webpack_unused_export__ = safeThrowError;
|
|
|
21747
23363
|
exports.hZ = setLoggerPostMessage;
|
|
21748
23364
|
__webpack_unused_export__ = versionCompare;
|
|
21749
23365
|
__webpack_unused_export__ = versionSplit;
|
|
23366
|
+
__webpack_unused_export__ = wait;
|
|
21750
23367
|
|
|
21751
23368
|
/***/ }),
|
|
21752
23369
|
|
|
@@ -22588,6 +24205,13 @@ exports.WL_OperationType = void 0;
|
|
|
22588
24205
|
WL_OperationType[WL_OperationType["WL_OperationType_Inquire"] = 2] = "WL_OperationType_Inquire";
|
|
22589
24206
|
})(exports.WL_OperationType || (exports.WL_OperationType = {}));
|
|
22590
24207
|
|
|
24208
|
+
exports.ResourceType = void 0;
|
|
24209
|
+
|
|
24210
|
+
(function (ResourceType) {
|
|
24211
|
+
ResourceType[ResourceType["WallPaper"] = 0] = "WallPaper";
|
|
24212
|
+
ResourceType[ResourceType["Nft"] = 1] = "Nft";
|
|
24213
|
+
})(exports.ResourceType || (exports.ResourceType = {}));
|
|
24214
|
+
|
|
22591
24215
|
exports.NEMMosaicLevy = void 0;
|
|
22592
24216
|
|
|
22593
24217
|
(function (NEMMosaicLevy) {
|
|
@@ -22787,6 +24411,10 @@ var messages = /*#__PURE__*/Object.freeze({
|
|
|
22787
24411
|
return exports.WL_OperationType;
|
|
22788
24412
|
},
|
|
22789
24413
|
|
|
24414
|
+
get ResourceType() {
|
|
24415
|
+
return exports.ResourceType;
|
|
24416
|
+
},
|
|
24417
|
+
|
|
22790
24418
|
get NEMMosaicLevy() {
|
|
22791
24419
|
return exports.NEMMosaicLevy;
|
|
22792
24420
|
},
|
|
@@ -22997,6 +24625,9 @@ const HardwareErrorCode = {
|
|
|
22997
24625
|
FirmwareUpdateDownloadFailed: 406,
|
|
22998
24626
|
CallMethodNeedUpgradeFirmware: 407,
|
|
22999
24627
|
CallMethodDeprecated: 408,
|
|
24628
|
+
FirmwareUpdateLimitOneDevice: 409,
|
|
24629
|
+
FirmwareUpdateManuallyEnterBoot: 410,
|
|
24630
|
+
FirmwareUpdateAutoEnterBootFailure: 411,
|
|
23000
24631
|
NetworkError: 500,
|
|
23001
24632
|
TransportNotConfigured: 600,
|
|
23002
24633
|
TransportCallInProgress: 601,
|
|
@@ -23057,6 +24688,9 @@ const HardwareErrorCodeMessage = {
|
|
|
23057
24688
|
[HardwareErrorCode.FirmwareUpdateDownloadFailed]: 'Firmware update download failed',
|
|
23058
24689
|
[HardwareErrorCode.CallMethodNeedUpgradeFirmware]: 'Call method need upgrade firmware',
|
|
23059
24690
|
[HardwareErrorCode.CallMethodDeprecated]: 'Call method is deprecated',
|
|
24691
|
+
[HardwareErrorCode.FirmwareUpdateLimitOneDevice]: 'Only one device can be connected during firmware upgrade',
|
|
24692
|
+
[HardwareErrorCode.FirmwareUpdateManuallyEnterBoot]: 'You need to manually enter boot',
|
|
24693
|
+
[HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure]: 'Description Failed to automatically enter boot',
|
|
23060
24694
|
[HardwareErrorCode.NetworkError]: 'Network request error',
|
|
23061
24695
|
[HardwareErrorCode.TransportNotConfigured]: 'Transport not configured',
|
|
23062
24696
|
[HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
|
|
@@ -33835,1193 +35469,22 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
|
33835
35469
|
|
|
33836
35470
|
/***/ }),
|
|
33837
35471
|
|
|
33838
|
-
/***/
|
|
33839
|
-
/***/ ((module,
|
|
33840
|
-
|
|
33841
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
33842
|
-
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
33843
|
-
*
|
|
33844
|
-
* @version 0.9.0
|
|
33845
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
33846
|
-
* @copyright Chen, Yi-Cyuan 2014-2017
|
|
33847
|
-
* @license MIT
|
|
33848
|
-
*/
|
|
33849
|
-
/*jslint bitwise: true */
|
|
33850
|
-
(function () {
|
|
33851
|
-
'use strict';
|
|
33852
|
-
|
|
33853
|
-
var ERROR = 'input is invalid type';
|
|
33854
|
-
var WINDOW = typeof window === 'object';
|
|
33855
|
-
var root = WINDOW ? window : {};
|
|
33856
|
-
if (root.JS_SHA256_NO_WINDOW) {
|
|
33857
|
-
WINDOW = false;
|
|
33858
|
-
}
|
|
33859
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
33860
|
-
var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
33861
|
-
if (NODE_JS) {
|
|
33862
|
-
root = __webpack_require__.g;
|
|
33863
|
-
} else if (WEB_WORKER) {
|
|
33864
|
-
root = self;
|
|
33865
|
-
}
|
|
33866
|
-
var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
33867
|
-
var AMD = true && __webpack_require__.amdO;
|
|
33868
|
-
var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
33869
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
33870
|
-
var EXTRA = [-2147483648, 8388608, 32768, 128];
|
|
33871
|
-
var SHIFT = [24, 16, 8, 0];
|
|
33872
|
-
var K = [
|
|
33873
|
-
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
33874
|
-
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
33875
|
-
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
33876
|
-
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
33877
|
-
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
33878
|
-
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
33879
|
-
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
33880
|
-
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
33881
|
-
];
|
|
33882
|
-
var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
|
|
33883
|
-
|
|
33884
|
-
var blocks = [];
|
|
33885
|
-
|
|
33886
|
-
if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
|
|
33887
|
-
Array.isArray = function (obj) {
|
|
33888
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
33889
|
-
};
|
|
33890
|
-
}
|
|
33891
|
-
|
|
33892
|
-
if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
33893
|
-
ArrayBuffer.isView = function (obj) {
|
|
33894
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
33895
|
-
};
|
|
33896
|
-
}
|
|
33897
|
-
|
|
33898
|
-
var createOutputMethod = function (outputType, is224) {
|
|
33899
|
-
return function (message) {
|
|
33900
|
-
return new Sha256(is224, true).update(message)[outputType]();
|
|
33901
|
-
};
|
|
33902
|
-
};
|
|
33903
|
-
|
|
33904
|
-
var createMethod = function (is224) {
|
|
33905
|
-
var method = createOutputMethod('hex', is224);
|
|
33906
|
-
if (NODE_JS) {
|
|
33907
|
-
method = nodeWrap(method, is224);
|
|
33908
|
-
}
|
|
33909
|
-
method.create = function () {
|
|
33910
|
-
return new Sha256(is224);
|
|
33911
|
-
};
|
|
33912
|
-
method.update = function (message) {
|
|
33913
|
-
return method.create().update(message);
|
|
33914
|
-
};
|
|
33915
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
33916
|
-
var type = OUTPUT_TYPES[i];
|
|
33917
|
-
method[type] = createOutputMethod(type, is224);
|
|
33918
|
-
}
|
|
33919
|
-
return method;
|
|
33920
|
-
};
|
|
33921
|
-
|
|
33922
|
-
var nodeWrap = function (method, is224) {
|
|
33923
|
-
var crypto = eval("require('crypto')");
|
|
33924
|
-
var Buffer = eval("require('buffer').Buffer");
|
|
33925
|
-
var algorithm = is224 ? 'sha224' : 'sha256';
|
|
33926
|
-
var nodeMethod = function (message) {
|
|
33927
|
-
if (typeof message === 'string') {
|
|
33928
|
-
return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');
|
|
33929
|
-
} else {
|
|
33930
|
-
if (message === null || message === undefined) {
|
|
33931
|
-
throw new Error(ERROR);
|
|
33932
|
-
} else if (message.constructor === ArrayBuffer) {
|
|
33933
|
-
message = new Uint8Array(message);
|
|
33934
|
-
}
|
|
33935
|
-
}
|
|
33936
|
-
if (Array.isArray(message) || ArrayBuffer.isView(message) ||
|
|
33937
|
-
message.constructor === Buffer) {
|
|
33938
|
-
return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');
|
|
33939
|
-
} else {
|
|
33940
|
-
return method(message);
|
|
33941
|
-
}
|
|
33942
|
-
};
|
|
33943
|
-
return nodeMethod;
|
|
33944
|
-
};
|
|
33945
|
-
|
|
33946
|
-
var createHmacOutputMethod = function (outputType, is224) {
|
|
33947
|
-
return function (key, message) {
|
|
33948
|
-
return new HmacSha256(key, is224, true).update(message)[outputType]();
|
|
33949
|
-
};
|
|
33950
|
-
};
|
|
33951
|
-
|
|
33952
|
-
var createHmacMethod = function (is224) {
|
|
33953
|
-
var method = createHmacOutputMethod('hex', is224);
|
|
33954
|
-
method.create = function (key) {
|
|
33955
|
-
return new HmacSha256(key, is224);
|
|
33956
|
-
};
|
|
33957
|
-
method.update = function (key, message) {
|
|
33958
|
-
return method.create(key).update(message);
|
|
33959
|
-
};
|
|
33960
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
33961
|
-
var type = OUTPUT_TYPES[i];
|
|
33962
|
-
method[type] = createHmacOutputMethod(type, is224);
|
|
33963
|
-
}
|
|
33964
|
-
return method;
|
|
33965
|
-
};
|
|
33966
|
-
|
|
33967
|
-
function Sha256(is224, sharedMemory) {
|
|
33968
|
-
if (sharedMemory) {
|
|
33969
|
-
blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
33970
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
33971
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
33972
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
33973
|
-
this.blocks = blocks;
|
|
33974
|
-
} else {
|
|
33975
|
-
this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
33976
|
-
}
|
|
33977
|
-
|
|
33978
|
-
if (is224) {
|
|
33979
|
-
this.h0 = 0xc1059ed8;
|
|
33980
|
-
this.h1 = 0x367cd507;
|
|
33981
|
-
this.h2 = 0x3070dd17;
|
|
33982
|
-
this.h3 = 0xf70e5939;
|
|
33983
|
-
this.h4 = 0xffc00b31;
|
|
33984
|
-
this.h5 = 0x68581511;
|
|
33985
|
-
this.h6 = 0x64f98fa7;
|
|
33986
|
-
this.h7 = 0xbefa4fa4;
|
|
33987
|
-
} else { // 256
|
|
33988
|
-
this.h0 = 0x6a09e667;
|
|
33989
|
-
this.h1 = 0xbb67ae85;
|
|
33990
|
-
this.h2 = 0x3c6ef372;
|
|
33991
|
-
this.h3 = 0xa54ff53a;
|
|
33992
|
-
this.h4 = 0x510e527f;
|
|
33993
|
-
this.h5 = 0x9b05688c;
|
|
33994
|
-
this.h6 = 0x1f83d9ab;
|
|
33995
|
-
this.h7 = 0x5be0cd19;
|
|
33996
|
-
}
|
|
33997
|
-
|
|
33998
|
-
this.block = this.start = this.bytes = this.hBytes = 0;
|
|
33999
|
-
this.finalized = this.hashed = false;
|
|
34000
|
-
this.first = true;
|
|
34001
|
-
this.is224 = is224;
|
|
34002
|
-
}
|
|
34003
|
-
|
|
34004
|
-
Sha256.prototype.update = function (message) {
|
|
34005
|
-
if (this.finalized) {
|
|
34006
|
-
return;
|
|
34007
|
-
}
|
|
34008
|
-
var notString, type = typeof message;
|
|
34009
|
-
if (type !== 'string') {
|
|
34010
|
-
if (type === 'object') {
|
|
34011
|
-
if (message === null) {
|
|
34012
|
-
throw new Error(ERROR);
|
|
34013
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34014
|
-
message = new Uint8Array(message);
|
|
34015
|
-
} else if (!Array.isArray(message)) {
|
|
34016
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34017
|
-
throw new Error(ERROR);
|
|
34018
|
-
}
|
|
34019
|
-
}
|
|
34020
|
-
} else {
|
|
34021
|
-
throw new Error(ERROR);
|
|
34022
|
-
}
|
|
34023
|
-
notString = true;
|
|
34024
|
-
}
|
|
34025
|
-
var code, index = 0, i, length = message.length, blocks = this.blocks;
|
|
34026
|
-
|
|
34027
|
-
while (index < length) {
|
|
34028
|
-
if (this.hashed) {
|
|
34029
|
-
this.hashed = false;
|
|
34030
|
-
blocks[0] = this.block;
|
|
34031
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34032
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34033
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34034
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34035
|
-
}
|
|
34036
|
-
|
|
34037
|
-
if (notString) {
|
|
34038
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34039
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34040
|
-
}
|
|
34041
|
-
} else {
|
|
34042
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34043
|
-
code = message.charCodeAt(index);
|
|
34044
|
-
if (code < 0x80) {
|
|
34045
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34046
|
-
} else if (code < 0x800) {
|
|
34047
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34048
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34049
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34050
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34051
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34052
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34053
|
-
} else {
|
|
34054
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34055
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34056
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34057
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34058
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34059
|
-
}
|
|
34060
|
-
}
|
|
34061
|
-
}
|
|
34062
|
-
|
|
34063
|
-
this.lastByteIndex = i;
|
|
34064
|
-
this.bytes += i - this.start;
|
|
34065
|
-
if (i >= 64) {
|
|
34066
|
-
this.block = blocks[16];
|
|
34067
|
-
this.start = i - 64;
|
|
34068
|
-
this.hash();
|
|
34069
|
-
this.hashed = true;
|
|
34070
|
-
} else {
|
|
34071
|
-
this.start = i;
|
|
34072
|
-
}
|
|
34073
|
-
}
|
|
34074
|
-
if (this.bytes > 4294967295) {
|
|
34075
|
-
this.hBytes += this.bytes / 4294967296 << 0;
|
|
34076
|
-
this.bytes = this.bytes % 4294967296;
|
|
34077
|
-
}
|
|
34078
|
-
return this;
|
|
34079
|
-
};
|
|
34080
|
-
|
|
34081
|
-
Sha256.prototype.finalize = function () {
|
|
34082
|
-
if (this.finalized) {
|
|
34083
|
-
return;
|
|
34084
|
-
}
|
|
34085
|
-
this.finalized = true;
|
|
34086
|
-
var blocks = this.blocks, i = this.lastByteIndex;
|
|
34087
|
-
blocks[16] = this.block;
|
|
34088
|
-
blocks[i >> 2] |= EXTRA[i & 3];
|
|
34089
|
-
this.block = blocks[16];
|
|
34090
|
-
if (i >= 56) {
|
|
34091
|
-
if (!this.hashed) {
|
|
34092
|
-
this.hash();
|
|
34093
|
-
}
|
|
34094
|
-
blocks[0] = this.block;
|
|
34095
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34096
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34097
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34098
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34099
|
-
}
|
|
34100
|
-
blocks[14] = this.hBytes << 3 | this.bytes >>> 29;
|
|
34101
|
-
blocks[15] = this.bytes << 3;
|
|
34102
|
-
this.hash();
|
|
34103
|
-
};
|
|
34104
|
-
|
|
34105
|
-
Sha256.prototype.hash = function () {
|
|
34106
|
-
var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,
|
|
34107
|
-
h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;
|
|
34108
|
-
|
|
34109
|
-
for (j = 16; j < 64; ++j) {
|
|
34110
|
-
// rightrotate
|
|
34111
|
-
t1 = blocks[j - 15];
|
|
34112
|
-
s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
|
|
34113
|
-
t1 = blocks[j - 2];
|
|
34114
|
-
s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
|
|
34115
|
-
blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;
|
|
34116
|
-
}
|
|
34117
|
-
|
|
34118
|
-
bc = b & c;
|
|
34119
|
-
for (j = 0; j < 64; j += 4) {
|
|
34120
|
-
if (this.first) {
|
|
34121
|
-
if (this.is224) {
|
|
34122
|
-
ab = 300032;
|
|
34123
|
-
t1 = blocks[0] - 1413257819;
|
|
34124
|
-
h = t1 - 150054599 << 0;
|
|
34125
|
-
d = t1 + 24177077 << 0;
|
|
34126
|
-
} else {
|
|
34127
|
-
ab = 704751109;
|
|
34128
|
-
t1 = blocks[0] - 210244248;
|
|
34129
|
-
h = t1 - 1521486534 << 0;
|
|
34130
|
-
d = t1 + 143694565 << 0;
|
|
34131
|
-
}
|
|
34132
|
-
this.first = false;
|
|
34133
|
-
} else {
|
|
34134
|
-
s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
|
|
34135
|
-
s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
|
|
34136
|
-
ab = a & b;
|
|
34137
|
-
maj = ab ^ (a & c) ^ bc;
|
|
34138
|
-
ch = (e & f) ^ (~e & g);
|
|
34139
|
-
t1 = h + s1 + ch + K[j] + blocks[j];
|
|
34140
|
-
t2 = s0 + maj;
|
|
34141
|
-
h = d + t1 << 0;
|
|
34142
|
-
d = t1 + t2 << 0;
|
|
34143
|
-
}
|
|
34144
|
-
s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
|
|
34145
|
-
s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
|
|
34146
|
-
da = d & a;
|
|
34147
|
-
maj = da ^ (d & b) ^ ab;
|
|
34148
|
-
ch = (h & e) ^ (~h & f);
|
|
34149
|
-
t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
|
|
34150
|
-
t2 = s0 + maj;
|
|
34151
|
-
g = c + t1 << 0;
|
|
34152
|
-
c = t1 + t2 << 0;
|
|
34153
|
-
s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
|
|
34154
|
-
s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
|
|
34155
|
-
cd = c & d;
|
|
34156
|
-
maj = cd ^ (c & a) ^ da;
|
|
34157
|
-
ch = (g & h) ^ (~g & e);
|
|
34158
|
-
t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
|
|
34159
|
-
t2 = s0 + maj;
|
|
34160
|
-
f = b + t1 << 0;
|
|
34161
|
-
b = t1 + t2 << 0;
|
|
34162
|
-
s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
|
|
34163
|
-
s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
|
|
34164
|
-
bc = b & c;
|
|
34165
|
-
maj = bc ^ (b & d) ^ cd;
|
|
34166
|
-
ch = (f & g) ^ (~f & h);
|
|
34167
|
-
t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
|
|
34168
|
-
t2 = s0 + maj;
|
|
34169
|
-
e = a + t1 << 0;
|
|
34170
|
-
a = t1 + t2 << 0;
|
|
34171
|
-
}
|
|
34172
|
-
|
|
34173
|
-
this.h0 = this.h0 + a << 0;
|
|
34174
|
-
this.h1 = this.h1 + b << 0;
|
|
34175
|
-
this.h2 = this.h2 + c << 0;
|
|
34176
|
-
this.h3 = this.h3 + d << 0;
|
|
34177
|
-
this.h4 = this.h4 + e << 0;
|
|
34178
|
-
this.h5 = this.h5 + f << 0;
|
|
34179
|
-
this.h6 = this.h6 + g << 0;
|
|
34180
|
-
this.h7 = this.h7 + h << 0;
|
|
34181
|
-
};
|
|
34182
|
-
|
|
34183
|
-
Sha256.prototype.hex = function () {
|
|
34184
|
-
this.finalize();
|
|
34185
|
-
|
|
34186
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34187
|
-
h6 = this.h6, h7 = this.h7;
|
|
34188
|
-
|
|
34189
|
-
var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +
|
|
34190
|
-
HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +
|
|
34191
|
-
HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +
|
|
34192
|
-
HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +
|
|
34193
|
-
HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +
|
|
34194
|
-
HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +
|
|
34195
|
-
HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +
|
|
34196
|
-
HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +
|
|
34197
|
-
HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +
|
|
34198
|
-
HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +
|
|
34199
|
-
HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +
|
|
34200
|
-
HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +
|
|
34201
|
-
HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +
|
|
34202
|
-
HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +
|
|
34203
|
-
HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +
|
|
34204
|
-
HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +
|
|
34205
|
-
HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +
|
|
34206
|
-
HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +
|
|
34207
|
-
HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +
|
|
34208
|
-
HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +
|
|
34209
|
-
HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +
|
|
34210
|
-
HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +
|
|
34211
|
-
HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +
|
|
34212
|
-
HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +
|
|
34213
|
-
HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +
|
|
34214
|
-
HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +
|
|
34215
|
-
HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +
|
|
34216
|
-
HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];
|
|
34217
|
-
if (!this.is224) {
|
|
34218
|
-
hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +
|
|
34219
|
-
HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +
|
|
34220
|
-
HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +
|
|
34221
|
-
HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];
|
|
34222
|
-
}
|
|
34223
|
-
return hex;
|
|
34224
|
-
};
|
|
34225
|
-
|
|
34226
|
-
Sha256.prototype.toString = Sha256.prototype.hex;
|
|
34227
|
-
|
|
34228
|
-
Sha256.prototype.digest = function () {
|
|
34229
|
-
this.finalize();
|
|
34230
|
-
|
|
34231
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34232
|
-
h6 = this.h6, h7 = this.h7;
|
|
34233
|
-
|
|
34234
|
-
var arr = [
|
|
34235
|
-
(h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,
|
|
34236
|
-
(h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,
|
|
34237
|
-
(h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,
|
|
34238
|
-
(h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,
|
|
34239
|
-
(h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,
|
|
34240
|
-
(h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,
|
|
34241
|
-
(h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF
|
|
34242
|
-
];
|
|
34243
|
-
if (!this.is224) {
|
|
34244
|
-
arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);
|
|
34245
|
-
}
|
|
34246
|
-
return arr;
|
|
34247
|
-
};
|
|
34248
|
-
|
|
34249
|
-
Sha256.prototype.array = Sha256.prototype.digest;
|
|
34250
|
-
|
|
34251
|
-
Sha256.prototype.arrayBuffer = function () {
|
|
34252
|
-
this.finalize();
|
|
34253
|
-
|
|
34254
|
-
var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
|
|
34255
|
-
var dataView = new DataView(buffer);
|
|
34256
|
-
dataView.setUint32(0, this.h0);
|
|
34257
|
-
dataView.setUint32(4, this.h1);
|
|
34258
|
-
dataView.setUint32(8, this.h2);
|
|
34259
|
-
dataView.setUint32(12, this.h3);
|
|
34260
|
-
dataView.setUint32(16, this.h4);
|
|
34261
|
-
dataView.setUint32(20, this.h5);
|
|
34262
|
-
dataView.setUint32(24, this.h6);
|
|
34263
|
-
if (!this.is224) {
|
|
34264
|
-
dataView.setUint32(28, this.h7);
|
|
34265
|
-
}
|
|
34266
|
-
return buffer;
|
|
34267
|
-
};
|
|
34268
|
-
|
|
34269
|
-
function HmacSha256(key, is224, sharedMemory) {
|
|
34270
|
-
var i, type = typeof key;
|
|
34271
|
-
if (type === 'string') {
|
|
34272
|
-
var bytes = [], length = key.length, index = 0, code;
|
|
34273
|
-
for (i = 0; i < length; ++i) {
|
|
34274
|
-
code = key.charCodeAt(i);
|
|
34275
|
-
if (code < 0x80) {
|
|
34276
|
-
bytes[index++] = code;
|
|
34277
|
-
} else if (code < 0x800) {
|
|
34278
|
-
bytes[index++] = (0xc0 | (code >> 6));
|
|
34279
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34280
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34281
|
-
bytes[index++] = (0xe0 | (code >> 12));
|
|
34282
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34283
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34284
|
-
} else {
|
|
34285
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
|
|
34286
|
-
bytes[index++] = (0xf0 | (code >> 18));
|
|
34287
|
-
bytes[index++] = (0x80 | ((code >> 12) & 0x3f));
|
|
34288
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34289
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34290
|
-
}
|
|
34291
|
-
}
|
|
34292
|
-
key = bytes;
|
|
34293
|
-
} else {
|
|
34294
|
-
if (type === 'object') {
|
|
34295
|
-
if (key === null) {
|
|
34296
|
-
throw new Error(ERROR);
|
|
34297
|
-
} else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
|
|
34298
|
-
key = new Uint8Array(key);
|
|
34299
|
-
} else if (!Array.isArray(key)) {
|
|
34300
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
|
|
34301
|
-
throw new Error(ERROR);
|
|
34302
|
-
}
|
|
34303
|
-
}
|
|
34304
|
-
} else {
|
|
34305
|
-
throw new Error(ERROR);
|
|
34306
|
-
}
|
|
34307
|
-
}
|
|
34308
|
-
|
|
34309
|
-
if (key.length > 64) {
|
|
34310
|
-
key = (new Sha256(is224, true)).update(key).array();
|
|
34311
|
-
}
|
|
34312
|
-
|
|
34313
|
-
var oKeyPad = [], iKeyPad = [];
|
|
34314
|
-
for (i = 0; i < 64; ++i) {
|
|
34315
|
-
var b = key[i] || 0;
|
|
34316
|
-
oKeyPad[i] = 0x5c ^ b;
|
|
34317
|
-
iKeyPad[i] = 0x36 ^ b;
|
|
34318
|
-
}
|
|
34319
|
-
|
|
34320
|
-
Sha256.call(this, is224, sharedMemory);
|
|
34321
|
-
|
|
34322
|
-
this.update(iKeyPad);
|
|
34323
|
-
this.oKeyPad = oKeyPad;
|
|
34324
|
-
this.inner = true;
|
|
34325
|
-
this.sharedMemory = sharedMemory;
|
|
34326
|
-
}
|
|
34327
|
-
HmacSha256.prototype = new Sha256();
|
|
34328
|
-
|
|
34329
|
-
HmacSha256.prototype.finalize = function () {
|
|
34330
|
-
Sha256.prototype.finalize.call(this);
|
|
34331
|
-
if (this.inner) {
|
|
34332
|
-
this.inner = false;
|
|
34333
|
-
var innerHash = this.array();
|
|
34334
|
-
Sha256.call(this, this.is224, this.sharedMemory);
|
|
34335
|
-
this.update(this.oKeyPad);
|
|
34336
|
-
this.update(innerHash);
|
|
34337
|
-
Sha256.prototype.finalize.call(this);
|
|
34338
|
-
}
|
|
34339
|
-
};
|
|
34340
|
-
|
|
34341
|
-
var exports = createMethod();
|
|
34342
|
-
exports.sha256 = exports;
|
|
34343
|
-
exports.sha224 = createMethod(true);
|
|
34344
|
-
exports.sha256.hmac = createHmacMethod();
|
|
34345
|
-
exports.sha224.hmac = createHmacMethod(true);
|
|
34346
|
-
|
|
34347
|
-
if (COMMON_JS) {
|
|
34348
|
-
module.exports = exports;
|
|
34349
|
-
} else {
|
|
34350
|
-
root.sha256 = exports.sha256;
|
|
34351
|
-
root.sha224 = exports.sha224;
|
|
34352
|
-
if (AMD) {
|
|
34353
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
34354
|
-
return exports;
|
|
34355
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
34356
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
34357
|
-
}
|
|
34358
|
-
}
|
|
34359
|
-
})();
|
|
34360
|
-
|
|
34361
|
-
|
|
34362
|
-
/***/ }),
|
|
34363
|
-
|
|
34364
|
-
/***/ 3669:
|
|
34365
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
34366
|
-
|
|
34367
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
34368
|
-
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
34369
|
-
*
|
|
34370
|
-
* @version 0.8.0
|
|
34371
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
34372
|
-
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
34373
|
-
* @license MIT
|
|
34374
|
-
*/
|
|
34375
|
-
/*jslint bitwise: true */
|
|
34376
|
-
(function () {
|
|
34377
|
-
'use strict';
|
|
34378
|
-
|
|
34379
|
-
var INPUT_ERROR = 'input is invalid type';
|
|
34380
|
-
var FINALIZE_ERROR = 'finalize already called';
|
|
34381
|
-
var WINDOW = typeof window === 'object';
|
|
34382
|
-
var root = WINDOW ? window : {};
|
|
34383
|
-
if (root.JS_SHA3_NO_WINDOW) {
|
|
34384
|
-
WINDOW = false;
|
|
34385
|
-
}
|
|
34386
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
34387
|
-
var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
34388
|
-
if (NODE_JS) {
|
|
34389
|
-
root = __webpack_require__.g;
|
|
34390
|
-
} else if (WEB_WORKER) {
|
|
34391
|
-
root = self;
|
|
34392
|
-
}
|
|
34393
|
-
var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
34394
|
-
var AMD = true && __webpack_require__.amdO;
|
|
34395
|
-
var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
34396
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
34397
|
-
var SHAKE_PADDING = [31, 7936, 2031616, 520093696];
|
|
34398
|
-
var CSHAKE_PADDING = [4, 1024, 262144, 67108864];
|
|
34399
|
-
var KECCAK_PADDING = [1, 256, 65536, 16777216];
|
|
34400
|
-
var PADDING = [6, 1536, 393216, 100663296];
|
|
34401
|
-
var SHIFT = [0, 8, 16, 24];
|
|
34402
|
-
var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,
|
|
34403
|
-
0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,
|
|
34404
|
-
2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,
|
|
34405
|
-
2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,
|
|
34406
|
-
2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];
|
|
34407
|
-
var BITS = [224, 256, 384, 512];
|
|
34408
|
-
var SHAKE_BITS = [128, 256];
|
|
34409
|
-
var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];
|
|
34410
|
-
var CSHAKE_BYTEPAD = {
|
|
34411
|
-
'128': 168,
|
|
34412
|
-
'256': 136
|
|
34413
|
-
};
|
|
34414
|
-
|
|
34415
|
-
if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {
|
|
34416
|
-
Array.isArray = function (obj) {
|
|
34417
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
34418
|
-
};
|
|
34419
|
-
}
|
|
34420
|
-
|
|
34421
|
-
if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
34422
|
-
ArrayBuffer.isView = function (obj) {
|
|
34423
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
34424
|
-
};
|
|
34425
|
-
}
|
|
34426
|
-
|
|
34427
|
-
var createOutputMethod = function (bits, padding, outputType) {
|
|
34428
|
-
return function (message) {
|
|
34429
|
-
return new Keccak(bits, padding, bits).update(message)[outputType]();
|
|
34430
|
-
};
|
|
34431
|
-
};
|
|
34432
|
-
|
|
34433
|
-
var createShakeOutputMethod = function (bits, padding, outputType) {
|
|
34434
|
-
return function (message, outputBits) {
|
|
34435
|
-
return new Keccak(bits, padding, outputBits).update(message)[outputType]();
|
|
34436
|
-
};
|
|
34437
|
-
};
|
|
34438
|
-
|
|
34439
|
-
var createCshakeOutputMethod = function (bits, padding, outputType) {
|
|
34440
|
-
return function (message, outputBits, n, s) {
|
|
34441
|
-
return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();
|
|
34442
|
-
};
|
|
34443
|
-
};
|
|
34444
|
-
|
|
34445
|
-
var createKmacOutputMethod = function (bits, padding, outputType) {
|
|
34446
|
-
return function (key, message, outputBits, s) {
|
|
34447
|
-
return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();
|
|
34448
|
-
};
|
|
34449
|
-
};
|
|
34450
|
-
|
|
34451
|
-
var createOutputMethods = function (method, createMethod, bits, padding) {
|
|
34452
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34453
|
-
var type = OUTPUT_TYPES[i];
|
|
34454
|
-
method[type] = createMethod(bits, padding, type);
|
|
34455
|
-
}
|
|
34456
|
-
return method;
|
|
34457
|
-
};
|
|
34458
|
-
|
|
34459
|
-
var createMethod = function (bits, padding) {
|
|
34460
|
-
var method = createOutputMethod(bits, padding, 'hex');
|
|
34461
|
-
method.create = function () {
|
|
34462
|
-
return new Keccak(bits, padding, bits);
|
|
34463
|
-
};
|
|
34464
|
-
method.update = function (message) {
|
|
34465
|
-
return method.create().update(message);
|
|
34466
|
-
};
|
|
34467
|
-
return createOutputMethods(method, createOutputMethod, bits, padding);
|
|
34468
|
-
};
|
|
34469
|
-
|
|
34470
|
-
var createShakeMethod = function (bits, padding) {
|
|
34471
|
-
var method = createShakeOutputMethod(bits, padding, 'hex');
|
|
34472
|
-
method.create = function (outputBits) {
|
|
34473
|
-
return new Keccak(bits, padding, outputBits);
|
|
34474
|
-
};
|
|
34475
|
-
method.update = function (message, outputBits) {
|
|
34476
|
-
return method.create(outputBits).update(message);
|
|
34477
|
-
};
|
|
34478
|
-
return createOutputMethods(method, createShakeOutputMethod, bits, padding);
|
|
34479
|
-
};
|
|
34480
|
-
|
|
34481
|
-
var createCshakeMethod = function (bits, padding) {
|
|
34482
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34483
|
-
var method = createCshakeOutputMethod(bits, padding, 'hex');
|
|
34484
|
-
method.create = function (outputBits, n, s) {
|
|
34485
|
-
if (!n && !s) {
|
|
34486
|
-
return methods['shake' + bits].create(outputBits);
|
|
34487
|
-
} else {
|
|
34488
|
-
return new Keccak(bits, padding, outputBits).bytepad([n, s], w);
|
|
34489
|
-
}
|
|
34490
|
-
};
|
|
34491
|
-
method.update = function (message, outputBits, n, s) {
|
|
34492
|
-
return method.create(outputBits, n, s).update(message);
|
|
34493
|
-
};
|
|
34494
|
-
return createOutputMethods(method, createCshakeOutputMethod, bits, padding);
|
|
34495
|
-
};
|
|
34496
|
-
|
|
34497
|
-
var createKmacMethod = function (bits, padding) {
|
|
34498
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34499
|
-
var method = createKmacOutputMethod(bits, padding, 'hex');
|
|
34500
|
-
method.create = function (key, outputBits, s) {
|
|
34501
|
-
return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);
|
|
34502
|
-
};
|
|
34503
|
-
method.update = function (key, message, outputBits, s) {
|
|
34504
|
-
return method.create(key, outputBits, s).update(message);
|
|
34505
|
-
};
|
|
34506
|
-
return createOutputMethods(method, createKmacOutputMethod, bits, padding);
|
|
34507
|
-
};
|
|
34508
|
-
|
|
34509
|
-
var algorithms = [
|
|
34510
|
-
{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },
|
|
34511
|
-
{ name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },
|
|
34512
|
-
{ name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },
|
|
34513
|
-
{ name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },
|
|
34514
|
-
{ name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }
|
|
34515
|
-
];
|
|
34516
|
-
|
|
34517
|
-
var methods = {}, methodNames = [];
|
|
34518
|
-
|
|
34519
|
-
for (var i = 0; i < algorithms.length; ++i) {
|
|
34520
|
-
var algorithm = algorithms[i];
|
|
34521
|
-
var bits = algorithm.bits;
|
|
34522
|
-
for (var j = 0; j < bits.length; ++j) {
|
|
34523
|
-
var methodName = algorithm.name + '_' + bits[j];
|
|
34524
|
-
methodNames.push(methodName);
|
|
34525
|
-
methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);
|
|
34526
|
-
if (algorithm.name !== 'sha3') {
|
|
34527
|
-
var newMethodName = algorithm.name + bits[j];
|
|
34528
|
-
methodNames.push(newMethodName);
|
|
34529
|
-
methods[newMethodName] = methods[methodName];
|
|
34530
|
-
}
|
|
34531
|
-
}
|
|
34532
|
-
}
|
|
34533
|
-
|
|
34534
|
-
function Keccak(bits, padding, outputBits) {
|
|
34535
|
-
this.blocks = [];
|
|
34536
|
-
this.s = [];
|
|
34537
|
-
this.padding = padding;
|
|
34538
|
-
this.outputBits = outputBits;
|
|
34539
|
-
this.reset = true;
|
|
34540
|
-
this.finalized = false;
|
|
34541
|
-
this.block = 0;
|
|
34542
|
-
this.start = 0;
|
|
34543
|
-
this.blockCount = (1600 - (bits << 1)) >> 5;
|
|
34544
|
-
this.byteCount = this.blockCount << 2;
|
|
34545
|
-
this.outputBlocks = outputBits >> 5;
|
|
34546
|
-
this.extraBytes = (outputBits & 31) >> 3;
|
|
34547
|
-
|
|
34548
|
-
for (var i = 0; i < 50; ++i) {
|
|
34549
|
-
this.s[i] = 0;
|
|
34550
|
-
}
|
|
34551
|
-
}
|
|
34552
|
-
|
|
34553
|
-
Keccak.prototype.update = function (message) {
|
|
34554
|
-
if (this.finalized) {
|
|
34555
|
-
throw new Error(FINALIZE_ERROR);
|
|
34556
|
-
}
|
|
34557
|
-
var notString, type = typeof message;
|
|
34558
|
-
if (type !== 'string') {
|
|
34559
|
-
if (type === 'object') {
|
|
34560
|
-
if (message === null) {
|
|
34561
|
-
throw new Error(INPUT_ERROR);
|
|
34562
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34563
|
-
message = new Uint8Array(message);
|
|
34564
|
-
} else if (!Array.isArray(message)) {
|
|
34565
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34566
|
-
throw new Error(INPUT_ERROR);
|
|
34567
|
-
}
|
|
34568
|
-
}
|
|
34569
|
-
} else {
|
|
34570
|
-
throw new Error(INPUT_ERROR);
|
|
34571
|
-
}
|
|
34572
|
-
notString = true;
|
|
34573
|
-
}
|
|
34574
|
-
var blocks = this.blocks, byteCount = this.byteCount, length = message.length,
|
|
34575
|
-
blockCount = this.blockCount, index = 0, s = this.s, i, code;
|
|
34576
|
-
|
|
34577
|
-
while (index < length) {
|
|
34578
|
-
if (this.reset) {
|
|
34579
|
-
this.reset = false;
|
|
34580
|
-
blocks[0] = this.block;
|
|
34581
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
34582
|
-
blocks[i] = 0;
|
|
34583
|
-
}
|
|
34584
|
-
}
|
|
34585
|
-
if (notString) {
|
|
34586
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34587
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34588
|
-
}
|
|
34589
|
-
} else {
|
|
34590
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34591
|
-
code = message.charCodeAt(index);
|
|
34592
|
-
if (code < 0x80) {
|
|
34593
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34594
|
-
} else if (code < 0x800) {
|
|
34595
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34596
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34597
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34598
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34599
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34600
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34601
|
-
} else {
|
|
34602
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34603
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34604
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34605
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34606
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34607
|
-
}
|
|
34608
|
-
}
|
|
34609
|
-
}
|
|
34610
|
-
this.lastByteIndex = i;
|
|
34611
|
-
if (i >= byteCount) {
|
|
34612
|
-
this.start = i - byteCount;
|
|
34613
|
-
this.block = blocks[blockCount];
|
|
34614
|
-
for (i = 0; i < blockCount; ++i) {
|
|
34615
|
-
s[i] ^= blocks[i];
|
|
34616
|
-
}
|
|
34617
|
-
f(s);
|
|
34618
|
-
this.reset = true;
|
|
34619
|
-
} else {
|
|
34620
|
-
this.start = i;
|
|
34621
|
-
}
|
|
34622
|
-
}
|
|
34623
|
-
return this;
|
|
34624
|
-
};
|
|
34625
|
-
|
|
34626
|
-
Keccak.prototype.encode = function (x, right) {
|
|
34627
|
-
var o = x & 255, n = 1;
|
|
34628
|
-
var bytes = [o];
|
|
34629
|
-
x = x >> 8;
|
|
34630
|
-
o = x & 255;
|
|
34631
|
-
while (o > 0) {
|
|
34632
|
-
bytes.unshift(o);
|
|
34633
|
-
x = x >> 8;
|
|
34634
|
-
o = x & 255;
|
|
34635
|
-
++n;
|
|
34636
|
-
}
|
|
34637
|
-
if (right) {
|
|
34638
|
-
bytes.push(n);
|
|
34639
|
-
} else {
|
|
34640
|
-
bytes.unshift(n);
|
|
34641
|
-
}
|
|
34642
|
-
this.update(bytes);
|
|
34643
|
-
return bytes.length;
|
|
34644
|
-
};
|
|
34645
|
-
|
|
34646
|
-
Keccak.prototype.encodeString = function (str) {
|
|
34647
|
-
var notString, type = typeof str;
|
|
34648
|
-
if (type !== 'string') {
|
|
34649
|
-
if (type === 'object') {
|
|
34650
|
-
if (str === null) {
|
|
34651
|
-
throw new Error(INPUT_ERROR);
|
|
34652
|
-
} else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {
|
|
34653
|
-
str = new Uint8Array(str);
|
|
34654
|
-
} else if (!Array.isArray(str)) {
|
|
34655
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {
|
|
34656
|
-
throw new Error(INPUT_ERROR);
|
|
34657
|
-
}
|
|
34658
|
-
}
|
|
34659
|
-
} else {
|
|
34660
|
-
throw new Error(INPUT_ERROR);
|
|
34661
|
-
}
|
|
34662
|
-
notString = true;
|
|
34663
|
-
}
|
|
34664
|
-
var bytes = 0, length = str.length;
|
|
34665
|
-
if (notString) {
|
|
34666
|
-
bytes = length;
|
|
34667
|
-
} else {
|
|
34668
|
-
for (var i = 0; i < str.length; ++i) {
|
|
34669
|
-
var code = str.charCodeAt(i);
|
|
34670
|
-
if (code < 0x80) {
|
|
34671
|
-
bytes += 1;
|
|
34672
|
-
} else if (code < 0x800) {
|
|
34673
|
-
bytes += 2;
|
|
34674
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34675
|
-
bytes += 3;
|
|
34676
|
-
} else {
|
|
34677
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
|
|
34678
|
-
bytes += 4;
|
|
34679
|
-
}
|
|
34680
|
-
}
|
|
34681
|
-
}
|
|
34682
|
-
bytes += this.encode(bytes * 8);
|
|
34683
|
-
this.update(str);
|
|
34684
|
-
return bytes;
|
|
34685
|
-
};
|
|
34686
|
-
|
|
34687
|
-
Keccak.prototype.bytepad = function (strs, w) {
|
|
34688
|
-
var bytes = this.encode(w);
|
|
34689
|
-
for (var i = 0; i < strs.length; ++i) {
|
|
34690
|
-
bytes += this.encodeString(strs[i]);
|
|
34691
|
-
}
|
|
34692
|
-
var paddingBytes = w - bytes % w;
|
|
34693
|
-
var zeros = [];
|
|
34694
|
-
zeros.length = paddingBytes;
|
|
34695
|
-
this.update(zeros);
|
|
34696
|
-
return this;
|
|
34697
|
-
};
|
|
34698
|
-
|
|
34699
|
-
Keccak.prototype.finalize = function () {
|
|
34700
|
-
if (this.finalized) {
|
|
34701
|
-
return;
|
|
34702
|
-
}
|
|
34703
|
-
this.finalized = true;
|
|
34704
|
-
var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
|
|
34705
|
-
blocks[i >> 2] |= this.padding[i & 3];
|
|
34706
|
-
if (this.lastByteIndex === this.byteCount) {
|
|
34707
|
-
blocks[0] = blocks[blockCount];
|
|
34708
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
34709
|
-
blocks[i] = 0;
|
|
34710
|
-
}
|
|
34711
|
-
}
|
|
34712
|
-
blocks[blockCount - 1] |= 0x80000000;
|
|
34713
|
-
for (i = 0; i < blockCount; ++i) {
|
|
34714
|
-
s[i] ^= blocks[i];
|
|
34715
|
-
}
|
|
34716
|
-
f(s);
|
|
34717
|
-
};
|
|
34718
|
-
|
|
34719
|
-
Keccak.prototype.toString = Keccak.prototype.hex = function () {
|
|
34720
|
-
this.finalize();
|
|
34721
|
-
|
|
34722
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34723
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34724
|
-
var hex = '', block;
|
|
34725
|
-
while (j < outputBlocks) {
|
|
34726
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34727
|
-
block = s[i];
|
|
34728
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +
|
|
34729
|
-
HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +
|
|
34730
|
-
HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +
|
|
34731
|
-
HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];
|
|
34732
|
-
}
|
|
34733
|
-
if (j % blockCount === 0) {
|
|
34734
|
-
f(s);
|
|
34735
|
-
i = 0;
|
|
34736
|
-
}
|
|
34737
|
-
}
|
|
34738
|
-
if (extraBytes) {
|
|
34739
|
-
block = s[i];
|
|
34740
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];
|
|
34741
|
-
if (extraBytes > 1) {
|
|
34742
|
-
hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];
|
|
34743
|
-
}
|
|
34744
|
-
if (extraBytes > 2) {
|
|
34745
|
-
hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];
|
|
34746
|
-
}
|
|
34747
|
-
}
|
|
34748
|
-
return hex;
|
|
34749
|
-
};
|
|
34750
|
-
|
|
34751
|
-
Keccak.prototype.arrayBuffer = function () {
|
|
34752
|
-
this.finalize();
|
|
34753
|
-
|
|
34754
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34755
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34756
|
-
var bytes = this.outputBits >> 3;
|
|
34757
|
-
var buffer;
|
|
34758
|
-
if (extraBytes) {
|
|
34759
|
-
buffer = new ArrayBuffer((outputBlocks + 1) << 2);
|
|
34760
|
-
} else {
|
|
34761
|
-
buffer = new ArrayBuffer(bytes);
|
|
34762
|
-
}
|
|
34763
|
-
var array = new Uint32Array(buffer);
|
|
34764
|
-
while (j < outputBlocks) {
|
|
34765
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34766
|
-
array[j] = s[i];
|
|
34767
|
-
}
|
|
34768
|
-
if (j % blockCount === 0) {
|
|
34769
|
-
f(s);
|
|
34770
|
-
}
|
|
34771
|
-
}
|
|
34772
|
-
if (extraBytes) {
|
|
34773
|
-
array[i] = s[i];
|
|
34774
|
-
buffer = buffer.slice(0, bytes);
|
|
34775
|
-
}
|
|
34776
|
-
return buffer;
|
|
34777
|
-
};
|
|
34778
|
-
|
|
34779
|
-
Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;
|
|
34780
|
-
|
|
34781
|
-
Keccak.prototype.digest = Keccak.prototype.array = function () {
|
|
34782
|
-
this.finalize();
|
|
34783
|
-
|
|
34784
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34785
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34786
|
-
var array = [], offset, block;
|
|
34787
|
-
while (j < outputBlocks) {
|
|
34788
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34789
|
-
offset = j << 2;
|
|
34790
|
-
block = s[i];
|
|
34791
|
-
array[offset] = block & 0xFF;
|
|
34792
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
34793
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
34794
|
-
array[offset + 3] = (block >> 24) & 0xFF;
|
|
34795
|
-
}
|
|
34796
|
-
if (j % blockCount === 0) {
|
|
34797
|
-
f(s);
|
|
34798
|
-
}
|
|
34799
|
-
}
|
|
34800
|
-
if (extraBytes) {
|
|
34801
|
-
offset = j << 2;
|
|
34802
|
-
block = s[i];
|
|
34803
|
-
array[offset] = block & 0xFF;
|
|
34804
|
-
if (extraBytes > 1) {
|
|
34805
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
34806
|
-
}
|
|
34807
|
-
if (extraBytes > 2) {
|
|
34808
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
34809
|
-
}
|
|
34810
|
-
}
|
|
34811
|
-
return array;
|
|
34812
|
-
};
|
|
34813
|
-
|
|
34814
|
-
function Kmac(bits, padding, outputBits) {
|
|
34815
|
-
Keccak.call(this, bits, padding, outputBits);
|
|
34816
|
-
}
|
|
35472
|
+
/***/ 1297:
|
|
35473
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
34817
35474
|
|
|
34818
|
-
|
|
35475
|
+
/*!
|
|
34819
35476
|
|
|
34820
|
-
|
|
34821
|
-
|
|
34822
|
-
return Keccak.prototype.finalize.call(this);
|
|
34823
|
-
};
|
|
35477
|
+
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
35478
|
+
<http://stuartk.com/jszip>
|
|
34824
35479
|
|
|
34825
|
-
|
|
34826
|
-
|
|
34827
|
-
b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,
|
|
34828
|
-
b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,
|
|
34829
|
-
b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
|
|
34830
|
-
for (n = 0; n < 48; n += 2) {
|
|
34831
|
-
c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
|
|
34832
|
-
c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
|
|
34833
|
-
c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
|
|
34834
|
-
c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
|
|
34835
|
-
c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
|
|
34836
|
-
c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
|
|
34837
|
-
c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
|
|
34838
|
-
c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
|
|
34839
|
-
c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
|
|
34840
|
-
c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];
|
|
34841
|
-
|
|
34842
|
-
h = c8 ^ ((c2 << 1) | (c3 >>> 31));
|
|
34843
|
-
l = c9 ^ ((c3 << 1) | (c2 >>> 31));
|
|
34844
|
-
s[0] ^= h;
|
|
34845
|
-
s[1] ^= l;
|
|
34846
|
-
s[10] ^= h;
|
|
34847
|
-
s[11] ^= l;
|
|
34848
|
-
s[20] ^= h;
|
|
34849
|
-
s[21] ^= l;
|
|
34850
|
-
s[30] ^= h;
|
|
34851
|
-
s[31] ^= l;
|
|
34852
|
-
s[40] ^= h;
|
|
34853
|
-
s[41] ^= l;
|
|
34854
|
-
h = c0 ^ ((c4 << 1) | (c5 >>> 31));
|
|
34855
|
-
l = c1 ^ ((c5 << 1) | (c4 >>> 31));
|
|
34856
|
-
s[2] ^= h;
|
|
34857
|
-
s[3] ^= l;
|
|
34858
|
-
s[12] ^= h;
|
|
34859
|
-
s[13] ^= l;
|
|
34860
|
-
s[22] ^= h;
|
|
34861
|
-
s[23] ^= l;
|
|
34862
|
-
s[32] ^= h;
|
|
34863
|
-
s[33] ^= l;
|
|
34864
|
-
s[42] ^= h;
|
|
34865
|
-
s[43] ^= l;
|
|
34866
|
-
h = c2 ^ ((c6 << 1) | (c7 >>> 31));
|
|
34867
|
-
l = c3 ^ ((c7 << 1) | (c6 >>> 31));
|
|
34868
|
-
s[4] ^= h;
|
|
34869
|
-
s[5] ^= l;
|
|
34870
|
-
s[14] ^= h;
|
|
34871
|
-
s[15] ^= l;
|
|
34872
|
-
s[24] ^= h;
|
|
34873
|
-
s[25] ^= l;
|
|
34874
|
-
s[34] ^= h;
|
|
34875
|
-
s[35] ^= l;
|
|
34876
|
-
s[44] ^= h;
|
|
34877
|
-
s[45] ^= l;
|
|
34878
|
-
h = c4 ^ ((c8 << 1) | (c9 >>> 31));
|
|
34879
|
-
l = c5 ^ ((c9 << 1) | (c8 >>> 31));
|
|
34880
|
-
s[6] ^= h;
|
|
34881
|
-
s[7] ^= l;
|
|
34882
|
-
s[16] ^= h;
|
|
34883
|
-
s[17] ^= l;
|
|
34884
|
-
s[26] ^= h;
|
|
34885
|
-
s[27] ^= l;
|
|
34886
|
-
s[36] ^= h;
|
|
34887
|
-
s[37] ^= l;
|
|
34888
|
-
s[46] ^= h;
|
|
34889
|
-
s[47] ^= l;
|
|
34890
|
-
h = c6 ^ ((c0 << 1) | (c1 >>> 31));
|
|
34891
|
-
l = c7 ^ ((c1 << 1) | (c0 >>> 31));
|
|
34892
|
-
s[8] ^= h;
|
|
34893
|
-
s[9] ^= l;
|
|
34894
|
-
s[18] ^= h;
|
|
34895
|
-
s[19] ^= l;
|
|
34896
|
-
s[28] ^= h;
|
|
34897
|
-
s[29] ^= l;
|
|
34898
|
-
s[38] ^= h;
|
|
34899
|
-
s[39] ^= l;
|
|
34900
|
-
s[48] ^= h;
|
|
34901
|
-
s[49] ^= l;
|
|
34902
|
-
|
|
34903
|
-
b0 = s[0];
|
|
34904
|
-
b1 = s[1];
|
|
34905
|
-
b32 = (s[11] << 4) | (s[10] >>> 28);
|
|
34906
|
-
b33 = (s[10] << 4) | (s[11] >>> 28);
|
|
34907
|
-
b14 = (s[20] << 3) | (s[21] >>> 29);
|
|
34908
|
-
b15 = (s[21] << 3) | (s[20] >>> 29);
|
|
34909
|
-
b46 = (s[31] << 9) | (s[30] >>> 23);
|
|
34910
|
-
b47 = (s[30] << 9) | (s[31] >>> 23);
|
|
34911
|
-
b28 = (s[40] << 18) | (s[41] >>> 14);
|
|
34912
|
-
b29 = (s[41] << 18) | (s[40] >>> 14);
|
|
34913
|
-
b20 = (s[2] << 1) | (s[3] >>> 31);
|
|
34914
|
-
b21 = (s[3] << 1) | (s[2] >>> 31);
|
|
34915
|
-
b2 = (s[13] << 12) | (s[12] >>> 20);
|
|
34916
|
-
b3 = (s[12] << 12) | (s[13] >>> 20);
|
|
34917
|
-
b34 = (s[22] << 10) | (s[23] >>> 22);
|
|
34918
|
-
b35 = (s[23] << 10) | (s[22] >>> 22);
|
|
34919
|
-
b16 = (s[33] << 13) | (s[32] >>> 19);
|
|
34920
|
-
b17 = (s[32] << 13) | (s[33] >>> 19);
|
|
34921
|
-
b48 = (s[42] << 2) | (s[43] >>> 30);
|
|
34922
|
-
b49 = (s[43] << 2) | (s[42] >>> 30);
|
|
34923
|
-
b40 = (s[5] << 30) | (s[4] >>> 2);
|
|
34924
|
-
b41 = (s[4] << 30) | (s[5] >>> 2);
|
|
34925
|
-
b22 = (s[14] << 6) | (s[15] >>> 26);
|
|
34926
|
-
b23 = (s[15] << 6) | (s[14] >>> 26);
|
|
34927
|
-
b4 = (s[25] << 11) | (s[24] >>> 21);
|
|
34928
|
-
b5 = (s[24] << 11) | (s[25] >>> 21);
|
|
34929
|
-
b36 = (s[34] << 15) | (s[35] >>> 17);
|
|
34930
|
-
b37 = (s[35] << 15) | (s[34] >>> 17);
|
|
34931
|
-
b18 = (s[45] << 29) | (s[44] >>> 3);
|
|
34932
|
-
b19 = (s[44] << 29) | (s[45] >>> 3);
|
|
34933
|
-
b10 = (s[6] << 28) | (s[7] >>> 4);
|
|
34934
|
-
b11 = (s[7] << 28) | (s[6] >>> 4);
|
|
34935
|
-
b42 = (s[17] << 23) | (s[16] >>> 9);
|
|
34936
|
-
b43 = (s[16] << 23) | (s[17] >>> 9);
|
|
34937
|
-
b24 = (s[26] << 25) | (s[27] >>> 7);
|
|
34938
|
-
b25 = (s[27] << 25) | (s[26] >>> 7);
|
|
34939
|
-
b6 = (s[36] << 21) | (s[37] >>> 11);
|
|
34940
|
-
b7 = (s[37] << 21) | (s[36] >>> 11);
|
|
34941
|
-
b38 = (s[47] << 24) | (s[46] >>> 8);
|
|
34942
|
-
b39 = (s[46] << 24) | (s[47] >>> 8);
|
|
34943
|
-
b30 = (s[8] << 27) | (s[9] >>> 5);
|
|
34944
|
-
b31 = (s[9] << 27) | (s[8] >>> 5);
|
|
34945
|
-
b12 = (s[18] << 20) | (s[19] >>> 12);
|
|
34946
|
-
b13 = (s[19] << 20) | (s[18] >>> 12);
|
|
34947
|
-
b44 = (s[29] << 7) | (s[28] >>> 25);
|
|
34948
|
-
b45 = (s[28] << 7) | (s[29] >>> 25);
|
|
34949
|
-
b26 = (s[38] << 8) | (s[39] >>> 24);
|
|
34950
|
-
b27 = (s[39] << 8) | (s[38] >>> 24);
|
|
34951
|
-
b8 = (s[48] << 14) | (s[49] >>> 18);
|
|
34952
|
-
b9 = (s[49] << 14) | (s[48] >>> 18);
|
|
34953
|
-
|
|
34954
|
-
s[0] = b0 ^ (~b2 & b4);
|
|
34955
|
-
s[1] = b1 ^ (~b3 & b5);
|
|
34956
|
-
s[10] = b10 ^ (~b12 & b14);
|
|
34957
|
-
s[11] = b11 ^ (~b13 & b15);
|
|
34958
|
-
s[20] = b20 ^ (~b22 & b24);
|
|
34959
|
-
s[21] = b21 ^ (~b23 & b25);
|
|
34960
|
-
s[30] = b30 ^ (~b32 & b34);
|
|
34961
|
-
s[31] = b31 ^ (~b33 & b35);
|
|
34962
|
-
s[40] = b40 ^ (~b42 & b44);
|
|
34963
|
-
s[41] = b41 ^ (~b43 & b45);
|
|
34964
|
-
s[2] = b2 ^ (~b4 & b6);
|
|
34965
|
-
s[3] = b3 ^ (~b5 & b7);
|
|
34966
|
-
s[12] = b12 ^ (~b14 & b16);
|
|
34967
|
-
s[13] = b13 ^ (~b15 & b17);
|
|
34968
|
-
s[22] = b22 ^ (~b24 & b26);
|
|
34969
|
-
s[23] = b23 ^ (~b25 & b27);
|
|
34970
|
-
s[32] = b32 ^ (~b34 & b36);
|
|
34971
|
-
s[33] = b33 ^ (~b35 & b37);
|
|
34972
|
-
s[42] = b42 ^ (~b44 & b46);
|
|
34973
|
-
s[43] = b43 ^ (~b45 & b47);
|
|
34974
|
-
s[4] = b4 ^ (~b6 & b8);
|
|
34975
|
-
s[5] = b5 ^ (~b7 & b9);
|
|
34976
|
-
s[14] = b14 ^ (~b16 & b18);
|
|
34977
|
-
s[15] = b15 ^ (~b17 & b19);
|
|
34978
|
-
s[24] = b24 ^ (~b26 & b28);
|
|
34979
|
-
s[25] = b25 ^ (~b27 & b29);
|
|
34980
|
-
s[34] = b34 ^ (~b36 & b38);
|
|
34981
|
-
s[35] = b35 ^ (~b37 & b39);
|
|
34982
|
-
s[44] = b44 ^ (~b46 & b48);
|
|
34983
|
-
s[45] = b45 ^ (~b47 & b49);
|
|
34984
|
-
s[6] = b6 ^ (~b8 & b0);
|
|
34985
|
-
s[7] = b7 ^ (~b9 & b1);
|
|
34986
|
-
s[16] = b16 ^ (~b18 & b10);
|
|
34987
|
-
s[17] = b17 ^ (~b19 & b11);
|
|
34988
|
-
s[26] = b26 ^ (~b28 & b20);
|
|
34989
|
-
s[27] = b27 ^ (~b29 & b21);
|
|
34990
|
-
s[36] = b36 ^ (~b38 & b30);
|
|
34991
|
-
s[37] = b37 ^ (~b39 & b31);
|
|
34992
|
-
s[46] = b46 ^ (~b48 & b40);
|
|
34993
|
-
s[47] = b47 ^ (~b49 & b41);
|
|
34994
|
-
s[8] = b8 ^ (~b0 & b2);
|
|
34995
|
-
s[9] = b9 ^ (~b1 & b3);
|
|
34996
|
-
s[18] = b18 ^ (~b10 & b12);
|
|
34997
|
-
s[19] = b19 ^ (~b11 & b13);
|
|
34998
|
-
s[28] = b28 ^ (~b20 & b22);
|
|
34999
|
-
s[29] = b29 ^ (~b21 & b23);
|
|
35000
|
-
s[38] = b38 ^ (~b30 & b32);
|
|
35001
|
-
s[39] = b39 ^ (~b31 & b33);
|
|
35002
|
-
s[48] = b48 ^ (~b40 & b42);
|
|
35003
|
-
s[49] = b49 ^ (~b41 & b43);
|
|
35004
|
-
|
|
35005
|
-
s[0] ^= RC[n];
|
|
35006
|
-
s[1] ^= RC[n + 1];
|
|
35007
|
-
}
|
|
35008
|
-
};
|
|
35480
|
+
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
35481
|
+
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
35009
35482
|
|
|
35010
|
-
|
|
35011
|
-
|
|
35012
|
-
|
|
35013
|
-
for (i = 0; i < methodNames.length; ++i) {
|
|
35014
|
-
root[methodNames[i]] = methods[methodNames[i]];
|
|
35015
|
-
}
|
|
35016
|
-
if (AMD) {
|
|
35017
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
35018
|
-
return methods;
|
|
35019
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
35020
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
35021
|
-
}
|
|
35022
|
-
}
|
|
35023
|
-
})();
|
|
35483
|
+
JSZip uses the library pako released under the MIT license :
|
|
35484
|
+
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
35485
|
+
*/
|
|
35024
35486
|
|
|
35487
|
+
!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=undefined,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});
|
|
35025
35488
|
|
|
35026
35489
|
/***/ }),
|
|
35027
35490
|
|
|
@@ -46478,7 +46941,7 @@ try {
|
|
|
46478
46941
|
/***/ ((module) => {
|
|
46479
46942
|
|
|
46480
46943
|
"use strict";
|
|
46481
|
-
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.
|
|
46944
|
+
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.55","description":"> TODO: description","author":"OneKey","homepage":"https://github.com/OneKeyHQ/hardware-js-sdk#readme","license":"ISC","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/OneKeyHQ/hardware-js-sdk.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"rimraf dist && rollup -c ../../build/rollup.config.js -w","build":"rimraf dist && rollup -c ../../build/rollup.config.js","lint":"eslint .","lint:fix":"eslint . --fix"},"bugs":{"url":"https://github.com/OneKeyHQ/hardware-js-sdk/issues"},"dependencies":{"@onekeyfe/hd-shared":"^0.1.55","@onekeyfe/hd-transport":"^0.1.55","axios":"^0.27.2","bignumber.js":"^9.0.2","jszip":"^3.10.1","parse-uri":"^1.0.7","semver":"^7.3.7"},"peerDependencies":{"@noble/hashes":"^1.1.3"},"devDependencies":{"@noble/hashes":"^1.1.3","@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9"}}');
|
|
46482
46945
|
|
|
46483
46946
|
/***/ })
|
|
46484
46947
|
|
|
@@ -46509,11 +46972,6 @@ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.53","des
|
|
|
46509
46972
|
/******/ }
|
|
46510
46973
|
/******/
|
|
46511
46974
|
/************************************************************************/
|
|
46512
|
-
/******/ /* webpack/runtime/amd options */
|
|
46513
|
-
/******/ (() => {
|
|
46514
|
-
/******/ __webpack_require__.amdO = {};
|
|
46515
|
-
/******/ })();
|
|
46516
|
-
/******/
|
|
46517
46975
|
/******/ /* webpack/runtime/compat get default export */
|
|
46518
46976
|
/******/ (() => {
|
|
46519
46977
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
@@ -49010,7 +49468,7 @@ const src_init = async settings => {
|
|
|
49010
49468
|
|
|
49011
49469
|
try {
|
|
49012
49470
|
await init({ ..._settings,
|
|
49013
|
-
version: "0.1.
|
|
49471
|
+
version: "0.1.55"
|
|
49014
49472
|
});
|
|
49015
49473
|
return true;
|
|
49016
49474
|
} catch (e) {
|