@semaphore-protocol/identity 3.6.0 → 3.8.0

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module @semaphore-protocol/identity
3
- * @version 3.6.0
3
+ * @version 3.8.0
4
4
  * @file A library to create Semaphore identities.
5
5
  * @copyright Ethereum Foundation 2022
6
6
  * @license MIT
@@ -12,964 +12,34 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
 
13
13
  var bignumber = require('@ethersproject/bignumber');
14
14
  var hash = require('js-sha512');
15
- var require$$1 = require('crypto');
16
- var random$1 = require('@ethersproject/random');
15
+ var random = require('@ethersproject/random');
17
16
 
18
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
18
 
20
19
  var hash__default = /*#__PURE__*/_interopDefaultLegacy(hash);
21
- var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
22
20
 
23
21
  var poseidon1$1 = {};
24
22
 
25
- var scalar = {};
26
-
27
- Object.defineProperty(scalar, "__esModule", {
28
- value: true
29
- });
30
- scalar.abs = abs;
31
- scalar.add = add;
32
- scalar.band = band;
33
- scalar.bitLength = bitLength;
34
- scalar.bits = bits;
35
- scalar.bor = bor;
36
- scalar.bxor = bxor;
37
- scalar.div = div;
38
- scalar.e = void 0;
39
- scalar.eq = eq;
40
- scalar.exp = exp$1;
41
- scalar.fromArray = fromArray;
42
- scalar.fromRprBE = fromRprBE;
43
- scalar.fromRprLE = fromRprLE;
44
- scalar.fromString = fromString;
45
- scalar.geq = geq;
46
- scalar.gt = gt;
47
- scalar.isNegative = isNegative;
48
- scalar.isOdd = isOdd;
49
- scalar.isZero = isZero;
50
- scalar.land = land;
51
- scalar.leq = leq;
52
- scalar.lnot = lnot;
53
- scalar.lor = lor;
54
- scalar.lt = lt;
55
- scalar.mod = mod;
56
- scalar.mul = mul;
57
- scalar.naf = naf;
58
- scalar.neg = neg;
59
- scalar.neq = neq;
60
- scalar.one = void 0;
61
- scalar.pow = pow;
62
- scalar.shiftLeft = shiftLeft;
63
- scalar.shiftRight = shiftRight;
64
- scalar.shr = scalar.shl = void 0;
65
- scalar.square = square;
66
- scalar.sub = sub;
67
- scalar.toArray = toArray;
68
- scalar.toLEBuff = toLEBuff;
69
- scalar.toNumber = toNumber;
70
- scalar.toRprBE = toRprBE;
71
- scalar.toRprLE = toRprLE;
72
- scalar.toString = toString;
73
- scalar.zero = void 0;
74
- const hexLen = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4];
75
- function fromString(s, radix) {
76
- if (!radix || radix == 10) {
77
- return BigInt(s);
78
- } else if (radix == 16) {
79
- if (s.slice(0, 2) == "0x") {
80
- return BigInt(s);
81
- } else {
82
- return BigInt("0x" + s);
83
- }
84
- }
85
- }
86
- const e = fromString;
87
- scalar.e = e;
88
- function fromArray(a, radix) {
89
- let acc = BigInt(0);
90
- radix = BigInt(radix);
91
- for (let i = 0; i < a.length; i++) {
92
- acc = acc * radix + BigInt(a[i]);
93
- }
94
- return acc;
95
- }
96
- function bitLength(a) {
97
- const aS = a.toString(16);
98
- return (aS.length - 1) * 4 + hexLen[parseInt(aS[0], 16)];
99
- }
100
- function isNegative(a) {
101
- return BigInt(a) < BigInt(0);
102
- }
103
- function isZero(a) {
104
- return !a;
105
- }
106
- function shiftLeft(a, n) {
107
- return BigInt(a) << BigInt(n);
108
- }
109
- function shiftRight(a, n) {
110
- return BigInt(a) >> BigInt(n);
111
- }
112
- const shl = shiftLeft;
113
- scalar.shl = shl;
114
- const shr = shiftRight;
115
- scalar.shr = shr;
116
- function isOdd(a) {
117
- return (BigInt(a) & BigInt(1)) == BigInt(1);
118
- }
119
- function naf(n) {
120
- let E = BigInt(n);
121
- const res = [];
122
- while (E) {
123
- if (E & BigInt(1)) {
124
- const z = 2 - Number(E % BigInt(4));
125
- res.push(z);
126
- E = E - BigInt(z);
127
- } else {
128
- res.push(0);
129
- }
130
- E = E >> BigInt(1);
131
- }
132
- return res;
133
- }
134
- function bits(n) {
135
- let E = BigInt(n);
136
- const res = [];
137
- while (E) {
138
- if (E & BigInt(1)) {
139
- res.push(1);
140
- } else {
141
- res.push(0);
142
- }
143
- E = E >> BigInt(1);
144
- }
145
- return res;
146
- }
147
- function toNumber(s) {
148
- if (s > BigInt(Number.MAX_SAFE_INTEGER)) {
149
- throw new Error("Number too big");
150
- }
151
- return Number(s);
152
- }
153
- function toArray(s, radix) {
154
- const res = [];
155
- let rem = BigInt(s);
156
- radix = BigInt(radix);
157
- while (rem) {
158
- res.unshift(Number(rem % radix));
159
- rem = rem / radix;
160
- }
161
- return res;
162
- }
163
- function add(a, b) {
164
- return BigInt(a) + BigInt(b);
165
- }
166
- function sub(a, b) {
167
- return BigInt(a) - BigInt(b);
168
- }
169
- function neg(a) {
170
- return -BigInt(a);
171
- }
172
- function mul(a, b) {
173
- return BigInt(a) * BigInt(b);
174
- }
175
- function square(a) {
176
- return BigInt(a) * BigInt(a);
177
- }
178
- function pow(a, b) {
179
- return BigInt(a) ** BigInt(b);
180
- }
181
- function exp$1(a, b) {
182
- return BigInt(a) ** BigInt(b);
183
- }
184
- function abs(a) {
185
- return BigInt(a) >= 0 ? BigInt(a) : -BigInt(a);
186
- }
187
- function div(a, b) {
188
- return BigInt(a) / BigInt(b);
189
- }
190
- function mod(a, b) {
191
- return BigInt(a) % BigInt(b);
192
- }
193
- function eq(a, b) {
194
- return BigInt(a) == BigInt(b);
195
- }
196
- function neq(a, b) {
197
- return BigInt(a) != BigInt(b);
198
- }
199
- function lt(a, b) {
200
- return BigInt(a) < BigInt(b);
201
- }
202
- function gt(a, b) {
203
- return BigInt(a) > BigInt(b);
204
- }
205
- function leq(a, b) {
206
- return BigInt(a) <= BigInt(b);
207
- }
208
- function geq(a, b) {
209
- return BigInt(a) >= BigInt(b);
210
- }
211
- function band(a, b) {
212
- return BigInt(a) & BigInt(b);
213
- }
214
- function bor(a, b) {
215
- return BigInt(a) | BigInt(b);
216
- }
217
- function bxor(a, b) {
218
- return BigInt(a) ^ BigInt(b);
219
- }
220
- function land(a, b) {
221
- return BigInt(a) && BigInt(b);
222
- }
223
- function lor(a, b) {
224
- return BigInt(a) || BigInt(b);
225
- }
226
- function lnot(a) {
227
- return !BigInt(a);
228
- }
229
- function toRprLE(buff, o, e, n8) {
230
- const s = "0000000" + e.toString(16);
231
- const v = new Uint32Array(buff.buffer, o, n8 / 4);
232
- const l = ((s.length - 7) * 4 - 1 >> 5) + 1;
233
- for (let i = 0; i < l; i++) v[i] = parseInt(s.substring(s.length - 8 * i - 8, s.length - 8 * i), 16);
234
- for (let i = l; i < v.length; i++) v[i] = 0;
235
- for (let i = v.length * 4; i < n8; i++) buff[i] = toNumber(band(shiftRight(e, i * 8), 0xFF));
236
- }
237
- function toRprBE(buff, o, e, n8) {
238
- const s = "0000000" + e.toString(16);
239
- const v = new DataView(buff.buffer, buff.byteOffset + o, n8);
240
- const l = ((s.length - 7) * 4 - 1 >> 5) + 1;
241
- for (let i = 0; i < l; i++) v.setUint32(n8 - i * 4 - 4, parseInt(s.substring(s.length - 8 * i - 8, s.length - 8 * i), 16), false);
242
- for (let i = 0; i < n8 / 4 - l; i++) v[i] = 0;
243
- }
244
- function fromRprLE(buff, o, n8) {
245
- n8 = n8 || buff.byteLength;
246
- o = o || 0;
247
- const v = new Uint32Array(buff.buffer, o, n8 / 4);
248
- const a = new Array(n8 / 4);
249
- v.forEach((ch, i) => a[a.length - i - 1] = ch.toString(16).padStart(8, "0"));
250
- return fromString(a.join(""), 16);
251
- }
252
- function fromRprBE(buff, o, n8) {
253
- n8 = n8 || buff.byteLength;
254
- o = o || 0;
255
- const v = new DataView(buff.buffer, buff.byteOffset + o, n8);
256
- const a = new Array(n8 / 4);
257
- for (let i = 0; i < n8 / 4; i++) {
258
- a[i] = v.getUint32(i * 4, false).toString(16).padStart(8, "0");
259
- }
260
- return fromString(a.join(""), 16);
261
- }
262
- function toString(a, radix) {
263
- return a.toString(radix);
264
- }
265
- function toLEBuff(a) {
266
- const buff = new Uint8Array(Math.floor((bitLength(a) - 1) / 8) + 1);
267
- toRprLE(buff, 0, a, buff.byteLength);
268
- return buff;
269
- }
270
- const zero = e(0);
271
- scalar.zero = zero;
272
- const one = e(1);
273
- scalar.one = one;
274
-
275
- var f1field = {};
276
-
277
- var futils$1 = {};
278
-
279
- Object.defineProperty(futils$1, "__esModule", {
280
- value: true
281
- });
282
- futils$1.exp = exp;
283
- futils$1.mulScalar = mulScalar;
284
- var Scalar$4 = _interopRequireWildcard$3(scalar);
285
- function _getRequireWildcardCache$3(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache$3 = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
286
- function _interopRequireWildcard$3(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache$3(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
287
- function mulScalar(F, base, e) {
288
- let res;
289
- if (Scalar$4.isZero(e)) return F.zero;
290
- const n = Scalar$4.naf(e);
291
- if (n[n.length - 1] == 1) {
292
- res = base;
293
- } else if (n[n.length - 1] == -1) {
294
- res = F.neg(base);
295
- } else {
296
- throw new Error("invlaud NAF");
297
- }
298
- for (let i = n.length - 2; i >= 0; i--) {
299
- res = F.double(res);
300
- if (n[i] == 1) {
301
- res = F.add(res, base);
302
- } else if (n[i] == -1) {
303
- res = F.sub(res, base);
304
- }
305
- }
306
- return res;
307
- }
308
- function exp(F, base, e) {
309
- if (Scalar$4.isZero(e)) return F.one;
310
- const n = Scalar$4.bits(e);
311
- if (n.length == 0) return F.one;
312
- let res = base;
313
- for (let i = n.length - 2; i >= 0; i--) {
314
- res = F.square(res);
315
- if (n[i]) {
316
- res = F.mul(res, base);
317
- }
318
- }
319
- return res;
320
- }
321
-
322
- var fsqrt = {};
323
-
324
- Object.defineProperty(fsqrt, "__esModule", {
325
- value: true
326
- });
327
- fsqrt.default = buildSqrt;
328
- var Scalar$3 = _interopRequireWildcard$2(scalar);
329
- function _getRequireWildcardCache$2(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache$2 = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
330
- function _interopRequireWildcard$2(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache$2(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
331
- function buildSqrt(F) {
332
- if (F.m % 2 == 1) {
333
- if (Scalar$3.eq(Scalar$3.mod(F.p, 4), 1)) {
334
- if (Scalar$3.eq(Scalar$3.mod(F.p, 8), 1)) {
335
- if (Scalar$3.eq(Scalar$3.mod(F.p, 16), 1)) {
336
- alg5_tonelliShanks(F);
337
- } else if (Scalar$3.eq(Scalar$3.mod(F.p, 16), 9)) {
338
- alg4_kong(F);
339
- } else {
340
- throw new Error("Field withot sqrt");
341
- }
342
- } else if (Scalar$3.eq(Scalar$3.mod(F.p, 8), 5)) {
343
- alg3_atkin(F);
344
- } else {
345
- throw new Error("Field withot sqrt");
346
- }
347
- } else if (Scalar$3.eq(Scalar$3.mod(F.p, 4), 3)) {
348
- alg2_shanks(F);
349
- }
350
- } else {
351
- const pm2mod4 = Scalar$3.mod(Scalar$3.pow(F.p, F.m / 2), 4);
352
- if (pm2mod4 == 1) {
353
- alg10_adj(F);
354
- } else if (pm2mod4 == 3) {
355
- alg9_adj(F);
356
- } else {
357
- alg8_complex(F);
358
- }
359
- }
360
- }
361
- function alg5_tonelliShanks(F) {
362
- F.sqrt_q = Scalar$3.pow(F.p, F.m);
363
- F.sqrt_s = 0;
364
- F.sqrt_t = Scalar$3.sub(F.sqrt_q, 1);
365
- while (!Scalar$3.isOdd(F.sqrt_t)) {
366
- F.sqrt_s = F.sqrt_s + 1;
367
- F.sqrt_t = Scalar$3.div(F.sqrt_t, 2);
368
- }
369
- let c0 = F.one;
370
- while (F.eq(c0, F.one)) {
371
- const c = F.random();
372
- F.sqrt_z = F.pow(c, F.sqrt_t);
373
- c0 = F.pow(F.sqrt_z, 2 ** (F.sqrt_s - 1));
374
- }
375
- F.sqrt_tm1d2 = Scalar$3.div(Scalar$3.sub(F.sqrt_t, 1), 2);
376
- F.sqrt = function (a) {
377
- const F = this;
378
- if (F.isZero(a)) return F.zero;
379
- let w = F.pow(a, F.sqrt_tm1d2);
380
- const a0 = F.pow(F.mul(F.square(w), a), 2 ** (F.sqrt_s - 1));
381
- if (F.eq(a0, F.negone)) return null;
382
- let v = F.sqrt_s;
383
- let x = F.mul(a, w);
384
- let b = F.mul(x, w);
385
- let z = F.sqrt_z;
386
- while (!F.eq(b, F.one)) {
387
- let b2k = F.square(b);
388
- let k = 1;
389
- while (!F.eq(b2k, F.one)) {
390
- b2k = F.square(b2k);
391
- k++;
392
- }
393
- w = z;
394
- for (let i = 0; i < v - k - 1; i++) {
395
- w = F.square(w);
396
- }
397
- z = F.square(w);
398
- b = F.mul(b, z);
399
- x = F.mul(x, w);
400
- v = k;
401
- }
402
- return F.geq(x, F.zero) ? x : F.neg(x);
403
- };
404
- }
405
- function alg4_kong(F) {
406
- F.sqrt = function () {
407
- throw new Error("Sqrt alg 4 not implemented");
408
- };
409
- }
410
- function alg3_atkin(F) {
411
- F.sqrt = function () {
412
- throw new Error("Sqrt alg 3 not implemented");
413
- };
414
- }
415
- function alg2_shanks(F) {
416
- F.sqrt_q = Scalar$3.pow(F.p, F.m);
417
- F.sqrt_e1 = Scalar$3.div(Scalar$3.sub(F.sqrt_q, 3), 4);
418
- F.sqrt = function (a) {
419
- if (this.isZero(a)) return this.zero;
420
- const a1 = this.pow(a, this.sqrt_e1);
421
- const a0 = this.mul(this.square(a1), a);
422
- if (this.eq(a0, this.negone)) return null;
423
- const x = this.mul(a1, a);
424
- return F.geq(x, F.zero) ? x : F.neg(x);
425
- };
426
- }
427
- function alg10_adj(F) {
428
- F.sqrt = function () {
429
- throw new Error("Sqrt alg 10 not implemented");
430
- };
431
- }
432
- function alg9_adj(F) {
433
- F.sqrt_q = Scalar$3.pow(F.p, F.m / 2);
434
- F.sqrt_e34 = Scalar$3.div(Scalar$3.sub(F.sqrt_q, 3), 4);
435
- F.sqrt_e12 = Scalar$3.div(Scalar$3.sub(F.sqrt_q, 1), 2);
436
- F.frobenius = function (n, x) {
437
- if (n % 2 == 1) {
438
- return F.conjugate(x);
439
- } else {
440
- return x;
441
- }
442
- };
443
- F.sqrt = function (a) {
444
- const F = this;
445
- const a1 = F.pow(a, F.sqrt_e34);
446
- const alfa = F.mul(F.square(a1), a);
447
- const a0 = F.mul(F.frobenius(1, alfa), alfa);
448
- if (F.eq(a0, F.negone)) return null;
449
- const x0 = F.mul(a1, a);
450
- let x;
451
- if (F.eq(alfa, F.negone)) {
452
- x = F.mul(x0, [F.F.zero, F.F.one]);
453
- } else {
454
- const b = F.pow(F.add(F.one, alfa), F.sqrt_e12);
455
- x = F.mul(b, x0);
456
- }
457
- return F.geq(x, F.zero) ? x : F.neg(x);
458
- };
459
- }
460
- function alg8_complex(F) {
461
- F.sqrt = function () {
462
- throw new Error("Sqrt alg 8 not implemented");
463
- };
464
- }
465
-
466
- var random = {};
467
-
468
- var chacha = {};
469
-
470
- Object.defineProperty(chacha, "__esModule", {
471
- value: true
472
- });
473
- chacha.default = void 0;
474
- var Scalar$2 = _interopRequireWildcard$1(scalar);
475
- function _getRequireWildcardCache$1(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache$1 = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
476
- function _interopRequireWildcard$1(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache$1(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
477
- function quarterRound(st, a, b, c, d) {
478
- st[a] = st[a] + st[b] >>> 0;
479
- st[d] = (st[d] ^ st[a]) >>> 0;
480
- st[d] = (st[d] << 16 | st[d] >>> 16 & 0xFFFF) >>> 0;
481
- st[c] = st[c] + st[d] >>> 0;
482
- st[b] = (st[b] ^ st[c]) >>> 0;
483
- st[b] = (st[b] << 12 | st[b] >>> 20 & 0xFFF) >>> 0;
484
- st[a] = st[a] + st[b] >>> 0;
485
- st[d] = (st[d] ^ st[a]) >>> 0;
486
- st[d] = (st[d] << 8 | st[d] >>> 24 & 0xFF) >>> 0;
487
- st[c] = st[c] + st[d] >>> 0;
488
- st[b] = (st[b] ^ st[c]) >>> 0;
489
- st[b] = (st[b] << 7 | st[b] >>> 25 & 0x7F) >>> 0;
490
- }
491
- function doubleRound(st) {
492
- quarterRound(st, 0, 4, 8, 12);
493
- quarterRound(st, 1, 5, 9, 13);
494
- quarterRound(st, 2, 6, 10, 14);
495
- quarterRound(st, 3, 7, 11, 15);
496
- quarterRound(st, 0, 5, 10, 15);
497
- quarterRound(st, 1, 6, 11, 12);
498
- quarterRound(st, 2, 7, 8, 13);
499
- quarterRound(st, 3, 4, 9, 14);
500
- }
501
- class ChaCha {
502
- constructor(seed) {
503
- seed = seed || [0, 0, 0, 0, 0, 0, 0, 0];
504
- this.state = [0x61707865, 0x3320646E, 0x79622D32, 0x6B206574, seed[0], seed[1], seed[2], seed[3], seed[4], seed[5], seed[6], seed[7], 0, 0, 0, 0];
505
- this.idx = 16;
506
- this.buff = new Array(16);
507
- }
508
- nextU32() {
509
- if (this.idx == 16) this.update();
510
- return this.buff[this.idx++];
511
- }
512
- nextU64() {
513
- return Scalar$2.add(Scalar$2.mul(this.nextU32(), 0x100000000), this.nextU32());
514
- }
515
- nextBool() {
516
- return (this.nextU32() & 1) == 1;
517
- }
518
- update() {
519
- for (let i = 0; i < 16; i++) this.buff[i] = this.state[i];
520
- for (let i = 0; i < 10; i++) doubleRound(this.buff);
521
- for (let i = 0; i < 16; i++) this.buff[i] = this.buff[i] + this.state[i] >>> 0;
522
- this.idx = 0;
523
- this.state[12] = this.state[12] + 1 >>> 0;
524
- if (this.state[12] != 0) return;
525
- this.state[13] = this.state[13] + 1 >>> 0;
526
- if (this.state[13] != 0) return;
527
- this.state[14] = this.state[14] + 1 >>> 0;
528
- if (this.state[14] != 0) return;
529
- this.state[15] = this.state[15] + 1 >>> 0;
530
- }
531
- }
532
- chacha.default = ChaCha;
533
-
534
- Object.defineProperty(random, "__esModule", {
535
- value: true
536
- });
537
- random.getRandomBytes = getRandomBytes;
538
- random.getRandomSeed = getRandomSeed;
539
- random.getThreadRng = getThreadRng;
540
- var _chacha = _interopRequireDefault$3(chacha);
541
- function _interopRequireDefault$3(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
542
- function getRandomBytes(n) {
543
- let array = new Uint8Array(n);
544
- if (typeof window !== 'undefined') {
545
- if (typeof window.crypto !== "undefined") {
546
- window.crypto.getRandomValues(array);
547
- } else {
548
- for (let i = 0; i < n; i++) {
549
- array[i] = Math.random() * 4294967296 >>> 0;
550
- }
551
- }
552
- } else {
553
- const crypto = require$$1__default["default"];
554
- crypto.randomFillSync(array);
555
- }
556
- return array;
557
- }
558
- function getRandomSeed() {
559
- const arr = getRandomBytes(32);
560
- const arrV = new Uint32Array(arr.buffer);
561
- const seed = [];
562
- for (let i = 0; i < 8; i++) {
563
- seed.push(arrV[i]);
564
- }
565
- return seed;
566
- }
567
- let threadRng = null;
568
- function getThreadRng() {
569
- if (threadRng) return threadRng;
570
- threadRng = new _chacha.default(getRandomSeed());
571
- return threadRng;
572
- }
573
-
574
- var fft = {};
575
-
576
- Object.defineProperty(fft, "__esModule", {
577
- value: true
578
- });
579
- fft.default = void 0;
580
- class FFT {
581
- constructor(G, F, opMulGF) {
582
- this.F = F;
583
- this.G = G;
584
- this.opMulGF = opMulGF;
585
- let rem = F.sqrt_t || F.t;
586
- let s = F.sqrt_s || F.s;
587
- let nqr = F.one;
588
- while (F.eq(F.pow(nqr, F.half), F.one)) nqr = F.add(nqr, F.one);
589
- this.w = new Array(s + 1);
590
- this.wi = new Array(s + 1);
591
- this.w[s] = this.F.pow(nqr, rem);
592
- this.wi[s] = this.F.inv(this.w[s]);
593
- let n = s - 1;
594
- while (n >= 0) {
595
- this.w[n] = this.F.square(this.w[n + 1]);
596
- this.wi[n] = this.F.square(this.wi[n + 1]);
597
- n--;
598
- }
599
- this.roots = [];
600
- this._setRoots(Math.min(s, 15));
601
- }
602
- _setRoots(n) {
603
- for (let i = n; i >= 0 && !this.roots[i]; i--) {
604
- let r = this.F.one;
605
- const nroots = 1 << i;
606
- const rootsi = new Array(nroots);
607
- for (let j = 0; j < nroots; j++) {
608
- rootsi[j] = r;
609
- r = this.F.mul(r, this.w[i]);
610
- }
611
- this.roots[i] = rootsi;
612
- }
613
- }
614
- fft(p) {
615
- if (p.length <= 1) return p;
616
- const bits = log2(p.length - 1) + 1;
617
- this._setRoots(bits);
618
- const m = 1 << bits;
619
- if (p.length != m) {
620
- throw new Error("Size must be multiple of 2");
621
- }
622
- const res = __fft(this, p, bits, 0, 1);
623
- return res;
624
- }
625
- ifft(p) {
626
- if (p.length <= 1) return p;
627
- const bits = log2(p.length - 1) + 1;
628
- this._setRoots(bits);
629
- const m = 1 << bits;
630
- if (p.length != m) {
631
- throw new Error("Size must be multiple of 2");
632
- }
633
- const res = __fft(this, p, bits, 0, 1);
634
- const twoinvm = this.F.inv(this.F.mulScalar(this.F.one, m));
635
- const resn = new Array(m);
636
- for (let i = 0; i < m; i++) {
637
- resn[i] = this.opMulGF(res[(m - i) % m], twoinvm);
23
+ const F = BigInt('21888242871839275222246405745257275088548364400416034343698204186575808495617');
24
+ const N_ROUNDS_F = 8;
25
+ const N_ROUNDS_P = [56, 57, 56, 60, 60, 63, 64, 63, 60, 66, 60, 65, 70, 60, 64, 68];
26
+ const pow5 = v => {
27
+ let o = v * v;
28
+ return v * o * o % F;
29
+ };
30
+ function mix(state, M) {
31
+ const out = [];
32
+ for (let x = 0; x < state.length; x++) {
33
+ let o = 0n;
34
+ for (let y = 0; y < state.length; y++) {
35
+ o = o + M[x][y] * state[y];
638
36
  }
639
- return resn;
640
- }
641
- }
642
- fft.default = FFT;
643
- function log2(V) {
644
- return ((V & 0xFFFF0000) !== 0 ? (V &= 0xFFFF0000, 16) : 0) | ((V & 0xFF00FF00) !== 0 ? (V &= 0xFF00FF00, 8) : 0) | ((V & 0xF0F0F0F0) !== 0 ? (V &= 0xF0F0F0F0, 4) : 0) | ((V & 0xCCCCCCCC) !== 0 ? (V &= 0xCCCCCCCC, 2) : 0) | (V & 0xAAAAAAAA) !== 0;
645
- }
646
- function __fft(PF, pall, bits, offset, step) {
647
- const n = 1 << bits;
648
- if (n == 1) {
649
- return [pall[offset]];
650
- } else if (n == 2) {
651
- return [PF.G.add(pall[offset], pall[offset + step]), PF.G.sub(pall[offset], pall[offset + step])];
652
- }
653
- const ndiv2 = n >> 1;
654
- const p1 = __fft(PF, pall, bits - 1, offset, step * 2);
655
- const p2 = __fft(PF, pall, bits - 1, offset + step, step * 2);
656
- const out = new Array(n);
657
- for (let i = 0; i < ndiv2; i++) {
658
- out[i] = PF.G.add(p1[i], PF.opMulGF(p2[i], PF.roots[bits][i]));
659
- out[i + ndiv2] = PF.G.sub(p1[i], PF.opMulGF(p2[i], PF.roots[bits][i]));
37
+ out.push(o % F);
660
38
  }
661
39
  return out;
662
40
  }
663
-
664
- Object.defineProperty(f1field, "__esModule", {
665
- value: true
666
- });
667
- f1field.default = void 0;
668
- var Scalar$1 = _interopRequireWildcard(scalar);
669
- var futils = _interopRequireWildcard(futils$1);
670
- var _fsqrt = _interopRequireDefault$2(fsqrt);
671
- var _random = random;
672
- var _fft = _interopRequireDefault$2(fft);
673
- function _interopRequireDefault$2(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
674
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
675
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
676
- class ZqField$1 {
677
- constructor(p) {
678
- this.type = "F1";
679
- this.one = BigInt(1);
680
- this.zero = BigInt(0);
681
- this.p = BigInt(p);
682
- this.m = 1;
683
- this.negone = this.p - this.one;
684
- this.two = BigInt(2);
685
- this.half = this.p >> this.one;
686
- this.bitLength = Scalar$1.bitLength(this.p);
687
- this.mask = (this.one << BigInt(this.bitLength)) - this.one;
688
- this.n64 = Math.floor((this.bitLength - 1) / 64) + 1;
689
- this.n32 = this.n64 * 2;
690
- this.n8 = this.n64 * 8;
691
- this.R = this.e(this.one << BigInt(this.n64 * 64));
692
- this.Ri = this.inv(this.R);
693
- const e = this.negone >> this.one;
694
- this.nqr = this.two;
695
- let r = this.pow(this.nqr, e);
696
- while (!this.eq(r, this.negone)) {
697
- this.nqr = this.nqr + this.one;
698
- r = this.pow(this.nqr, e);
699
- }
700
- this.s = 0;
701
- this.t = this.negone;
702
- while ((this.t & this.one) == this.zero) {
703
- this.s = this.s + 1;
704
- this.t = this.t >> this.one;
705
- }
706
- this.nqr_to_t = this.pow(this.nqr, this.t);
707
- (0, _fsqrt.default)(this);
708
- this.FFT = new _fft.default(this, this, this.mul.bind(this));
709
- this.fft = this.FFT.fft.bind(this.FFT);
710
- this.ifft = this.FFT.ifft.bind(this.FFT);
711
- this.w = this.FFT.w;
712
- this.wi = this.FFT.wi;
713
- this.shift = this.square(this.nqr);
714
- this.k = this.exp(this.nqr, 2 ** this.s);
715
- }
716
- e(a, b) {
717
- let res;
718
- if (!b) {
719
- res = BigInt(a);
720
- } else if (b == 16) {
721
- res = BigInt("0x" + a);
722
- }
723
- if (res < 0) {
724
- let nres = -res;
725
- if (nres >= this.p) nres = nres % this.p;
726
- return this.p - nres;
727
- } else {
728
- return res >= this.p ? res % this.p : res;
729
- }
730
- }
731
- add(a, b) {
732
- const res = a + b;
733
- return res >= this.p ? res - this.p : res;
734
- }
735
- sub(a, b) {
736
- return a >= b ? a - b : this.p - b + a;
737
- }
738
- neg(a) {
739
- return a ? this.p - a : a;
740
- }
741
- mul(a, b) {
742
- return a * b % this.p;
743
- }
744
- mulScalar(base, s) {
745
- return base * this.e(s) % this.p;
746
- }
747
- square(a) {
748
- return a * a % this.p;
749
- }
750
- eq(a, b) {
751
- return a == b;
752
- }
753
- neq(a, b) {
754
- return a != b;
755
- }
756
- lt(a, b) {
757
- const aa = a > this.half ? a - this.p : a;
758
- const bb = b > this.half ? b - this.p : b;
759
- return aa < bb;
760
- }
761
- gt(a, b) {
762
- const aa = a > this.half ? a - this.p : a;
763
- const bb = b > this.half ? b - this.p : b;
764
- return aa > bb;
765
- }
766
- leq(a, b) {
767
- const aa = a > this.half ? a - this.p : a;
768
- const bb = b > this.half ? b - this.p : b;
769
- return aa <= bb;
770
- }
771
- geq(a, b) {
772
- const aa = a > this.half ? a - this.p : a;
773
- const bb = b > this.half ? b - this.p : b;
774
- return aa >= bb;
775
- }
776
- div(a, b) {
777
- return this.mul(a, this.inv(b));
778
- }
779
- idiv(a, b) {
780
- if (!b) throw new Error("Division by zero");
781
- return a / b;
782
- }
783
- inv(a) {
784
- if (!a) throw new Error("Division by zero");
785
- let t = this.zero;
786
- let r = this.p;
787
- let newt = this.one;
788
- let newr = a % this.p;
789
- while (newr) {
790
- let q = r / newr;
791
- [t, newt] = [newt, t - q * newt];
792
- [r, newr] = [newr, r - q * newr];
793
- }
794
- if (t < this.zero) t += this.p;
795
- return t;
796
- }
797
- mod(a, b) {
798
- return a % b;
799
- }
800
- pow(b, e) {
801
- return futils.exp(this, b, e);
802
- }
803
- exp(b, e) {
804
- return futils.exp(this, b, e);
805
- }
806
- band(a, b) {
807
- const res = a & b & this.mask;
808
- return res >= this.p ? res - this.p : res;
809
- }
810
- bor(a, b) {
811
- const res = (a | b) & this.mask;
812
- return res >= this.p ? res - this.p : res;
813
- }
814
- bxor(a, b) {
815
- const res = (a ^ b) & this.mask;
816
- return res >= this.p ? res - this.p : res;
817
- }
818
- bnot(a) {
819
- const res = a ^ this.mask;
820
- return res >= this.p ? res - this.p : res;
821
- }
822
- shl(a, b) {
823
- if (Number(b) < this.bitLength) {
824
- const res = a << b & this.mask;
825
- return res >= this.p ? res - this.p : res;
826
- } else {
827
- const nb = this.p - b;
828
- if (Number(nb) < this.bitLength) {
829
- return a >> nb;
830
- } else {
831
- return this.zero;
832
- }
833
- }
834
- }
835
- shr(a, b) {
836
- if (Number(b) < this.bitLength) {
837
- return a >> b;
838
- } else {
839
- const nb = this.p - b;
840
- if (Number(nb) < this.bitLength) {
841
- const res = a << nb & this.mask;
842
- return res >= this.p ? res - this.p : res;
843
- } else {
844
- return 0;
845
- }
846
- }
847
- }
848
- land(a, b) {
849
- return a && b ? this.one : this.zero;
850
- }
851
- lor(a, b) {
852
- return a || b ? this.one : this.zero;
853
- }
854
- lnot(a) {
855
- return a ? this.zero : this.one;
856
- }
857
- sqrt_old(n) {
858
- if (n == this.zero) return this.zero;
859
- const res = this.pow(n, this.negone >> this.one);
860
- if (res != this.one) return null;
861
- let m = this.s;
862
- let c = this.nqr_to_t;
863
- let t = this.pow(n, this.t);
864
- let r = this.pow(n, this.add(this.t, this.one) >> this.one);
865
- while (t != this.one) {
866
- let sq = this.square(t);
867
- let i = 1;
868
- while (sq != this.one) {
869
- i++;
870
- sq = this.square(sq);
871
- }
872
- let b = c;
873
- for (let j = 0; j < m - i - 1; j++) b = this.square(b);
874
- m = i;
875
- c = this.square(b);
876
- t = this.mul(t, c);
877
- r = this.mul(r, b);
878
- }
879
- if (r > this.p >> this.one) {
880
- r = this.neg(r);
881
- }
882
- return r;
883
- }
884
- normalize(a, b) {
885
- a = BigInt(a, b);
886
- if (a < 0) {
887
- let na = -a;
888
- if (na >= this.p) na = na % this.p;
889
- return this.p - na;
890
- } else {
891
- return a >= this.p ? a % this.p : a;
892
- }
893
- }
894
- random() {
895
- const nBytes = this.bitLength * 2 / 8;
896
- let res = this.zero;
897
- for (let i = 0; i < nBytes; i++) {
898
- res = (res << BigInt(8)) + BigInt((0, _random.getRandomBytes)(1)[0]);
899
- }
900
- return res % this.p;
901
- }
902
- toString(a, base) {
903
- base = base || 10;
904
- let vs;
905
- if (a > this.half && base == 10) {
906
- const v = this.p - a;
907
- vs = "-" + v.toString(base);
908
- } else {
909
- vs = a.toString(base);
910
- }
911
- return vs;
912
- }
913
- isZero(a) {
914
- return a == this.zero;
915
- }
916
- fromRng(rng) {
917
- let v;
918
- do {
919
- v = this.zero;
920
- for (let i = 0; i < this.n64; i++) {
921
- v += rng.nextU64() << BigInt(64 * i);
922
- }
923
- v &= this.mask;
924
- } while (v >= this.p);
925
- v = v * this.Ri % this.p;
926
- return v;
927
- }
928
- fft(a) {
929
- return this.FFT.fft(a);
930
- }
931
- ifft(a) {
932
- return this.FFT.ifft(a);
933
- }
934
- toRprLE(buff, o, e) {
935
- Scalar$1.toRprLE(buff, o, e, this.n64 * 8);
936
- }
937
- toRprBE(buff, o, e) {
938
- Scalar$1.toRprBE(buff, o, e, this.n64 * 8);
939
- }
940
- toRprBEM(buff, o, e) {
941
- return this.toRprBE(buff, o, this.mul(this.R, e));
942
- }
943
- toRprLEM(buff, o, e) {
944
- return this.toRprLE(buff, o, this.mul(this.R, e));
945
- }
946
- fromRprLE(buff, o) {
947
- return Scalar$1.fromRprLE(buff, o, this.n8);
948
- }
949
- fromRprBE(buff, o) {
950
- return Scalar$1.fromRprBE(buff, o, this.n8);
951
- }
952
- fromRprLEM(buff, o) {
953
- return this.mul(this.fromRprLE(buff, o), this.Ri);
954
- }
955
- fromRprBEM(buff, o) {
956
- return this.mul(this.fromRprBE(buff, o), this.Ri);
957
- }
958
- toObject(a) {
959
- return a;
960
- }
961
- }
962
- f1field.default = ZqField$1;
963
-
964
- const Scalar = scalar;
965
- const {
966
- default: ZqField
967
- } = f1field;
968
- const F = new ZqField(Scalar.fromString("21888242871839275222246405745257275088548364400416034343698204186575808495617"));
969
- const N_ROUNDS_F = 8;
970
- const N_ROUNDS_P = [56, 57, 56, 60, 60, 63, 64, 63, 60, 66, 60, 65, 70, 60, 64, 68];
971
- const pow5 = a => F.mul(a, F.square(F.square(a, a)));
972
- function poseidon(inputs, opt) {
41
+ function poseidon(_inputs, opt) {
42
+ const inputs = _inputs.map(i => BigInt(i));
973
43
  if (inputs.length <= 0) {
974
44
  throw new Error('poseidon-lite: Not enough inputs');
975
45
  }
@@ -986,19 +56,17 @@ function poseidon(inputs, opt) {
986
56
  if (M.length !== t) {
987
57
  throw new Error(`poseidon-lite: Incorrect M length, expected ${t} got ${M.length}`);
988
58
  }
989
- let state = [F.zero, ...inputs.map(a => F.e(a))];
990
- for (let r = 0; r < nRoundsF + nRoundsP; r++) {
991
- state = state.map((a, i) => F.add(a, C[r * t + i]));
992
- if (r < nRoundsF / 2 || r >= nRoundsF / 2 + nRoundsP) {
993
- state = state.map(a => pow5(a));
994
- } else {
995
- state[0] = pow5(state[0]);
59
+ let state = [0n, ...inputs];
60
+ for (let x = 0; x < nRoundsF + nRoundsP; x++) {
61
+ for (let y = 0; y < state.length; y++) {
62
+ state[y] = state[y] + C[x * t + y];
63
+ if (x < nRoundsF / 2 || x >= nRoundsF / 2 + nRoundsP) state[y] = pow5(state[y]);else if (y === 0) state[y] = pow5(state[y]);
996
64
  }
997
- state = state.map((_, i) => state.reduce((acc, a, j) => F.add(acc, F.mul(M[i][j], a)), F.zero));
65
+ state = mix(state, M);
998
66
  }
999
- return F.normalize(state[0]);
67
+ return state[0];
1000
68
  }
1001
- var slow = poseidon;
69
+ var poseidon_1 = poseidon;
1002
70
 
1003
71
  var unstringify = {};
1004
72
 
@@ -1007,27 +75,18 @@ Object.defineProperty(unstringify, "__esModule", {
1007
75
  });
1008
76
  unstringify.default = unstringifyBigInts;
1009
77
  function unstringifyBigInts(o) {
1010
- if (typeof o == "string" && /^[0-9]+$/.test(o)) {
1011
- return BigInt(o);
1012
- } else if (typeof o == "string" && /^0x[0-9a-fA-F]+$/.test(o)) {
1013
- return BigInt(o);
1014
- } else if (typeof o == 'string' && /^[a-zA-Z0-9+\/]+={0,2}$/.test(o)) {
1015
- const byteArray = Uint8Array.from(atob(o), c => c.charCodeAt(0));
1016
- const hex = [...byteArray].map(x => x.toString(16).padStart(2, '0')).join('');
1017
- return BigInt(`0x${hex}`);
1018
- } else if (Array.isArray(o)) {
78
+ if (Array.isArray(o)) {
1019
79
  return o.map(unstringifyBigInts);
1020
- } else if (typeof o == "object") {
1021
- if (o === null) return null;
80
+ } else if (typeof o == 'object') {
1022
81
  const res = {};
1023
- const keys = Object.keys(o);
1024
- keys.forEach(k => {
1025
- res[k] = unstringifyBigInts(o[k]);
1026
- });
82
+ for (const [key, val] of Object.entries(o)) {
83
+ res[key] = unstringifyBigInts(val);
84
+ }
1027
85
  return res;
1028
- } else {
1029
- return o;
1030
86
  }
87
+ const byteArray = Uint8Array.from(atob(o), c => c.charCodeAt(0));
88
+ const hex = [...byteArray].map(x => x.toString(16).padStart(2, '0')).join('');
89
+ return BigInt(`0x${hex}`);
1031
90
  }
1032
91
 
1033
92
  var _1 = {};
@@ -1037,8 +96,8 @@ Object.defineProperty(_1, "__esModule", {
1037
96
  });
1038
97
  _1.default = void 0;
1039
98
  var _default$1 = {
1040
- "C": ["CcRunsaOm9T+H6q6KUy6OKcaoXdTTN0bbH3A29Cr16c=", "DANWUwiW7sQql+2TfzE1z8UUKzrkBbg0PB2D/6YEy4E=", "Hiih2TVpitEULlEYK7VM9KAOpaq9Ymi9MX6pd8wVSjA=", "J68tgxqdJ0gICWXbMOKY5A5XV8PgCNuWTPnisSuRJR8=", "Hm8RzmD8j1E6ajz+Fq4XWkEpFGLyFM0Iear0NUW3TgM=", "Kmc4TTu9XkOFQYGctoHwvgRGLtFMNhPY9xkgYmjRQtM=", "C2b981YJOmEWCfjhL7/s8LmF44HwJRiJNkCPXVyfRdA=", "AS7j7B541HCDDGEJPCreNwsmyDzFzr7t2qaFLb2wniE=", "AlK6X2dgv739iPZ/gXXj/WzRxDGwmba7LRCOe0Rbsbk=", "F5R0zOyl/2dsa+w871QpY1Q5Gok1/3HW71rqrXypMvE=", "LCQmE3mlG/qSKP9KUD/U7Zwfl0omSWmzfholibvtK5E=", "HMHXtiaS5j6sLyiL0GlbQ8L2P1AB/A/FU+ZsBVGAGwU=", "JVBZMBqtqYuy7VX4UpeelgB4Tb8X+6zQXZ7/X9nJG1Y=", "KEN746wcsuR54fXA7M0ys66iQjSXCoGTsRwpzn5Z79k=", "KCFqRC8uH3EcpPprU3ZusRhUjaj7T3jUM4diw39fIEM=", "LB9HzRf6Wt8fOfTnBW3QP+7h784DCUWBEx8jdzI0gsk=", "B6utArel68SGMrzJNWzrfdna/KJ2Y4pjZGuFZqYhr8k=", "AjAmRgH/3yknWzP/qrUd/pQp+QiAppzRN9oMTRX5bDw=", "G8lzBU5R2QWg8WhlZJfKQKhkQUVX7iiecX5dZomaoKk=", "Lhwi+WRDUAggbDFX6GNB7dJJr/XC2EIfKmsiKI8KZ/w=", "EiTzjfZ8U3gSHB1fRhu8UJ6OoVmORsn3pwRSvCu6hrg=", "AuTmnYulnlGSgLS9ntAGj9e/6M2d/toZadKYkYbN4g4=", "Hx7Mw0qroBN/XfgfwE/z7k8Z7jZOZT8HbUfpc12YAY4=", "FnKtPXCaNTl0JmwwOamnMRQkRIAyzRgZ6suKTUKE9YI=", "KD4/3CxuQgxW9Er1GStK6c2mlh8oTSSZHS7WAt+Mj8c=", "HCo9EgxVDs/Q2wlXFw+gE2g3Ufj9/1nWYU+9af85S8w=", "IW+Eh3qsYXL3iXpzI0Vu/hQ6mkN3PqbylstrgXdlP70=", "LA0nK+zyp1dkun6OPijRK86qR+phylmkEaH1FVL5R4g=", "FuNCmYZcDihITuenTEVOnxcKVICr4FCPy0psPYlUb0M=", "F1zrpZnpb1s3WiMqb7nMcXcgR3ZYAikPSM2Tl1VIj8U=", "DHWURA3EjBb+rZ4XWLAoBmqkEL+8NU9U2MX/u0Sh7jI=", "GjwpvDnyG7XEZtt9frb9j3YOIAE8z5EskkeYgtkZ/Y0=", "DM/dkG80JuXAmG6gSbJTQAhV00kHT1pmlcjuq80i5o8=", "FPa8gdnxhvYr20dc5slBGGanqKP9Bls84OaZtn3Z55Y=", "CWK4J4n7PRKXAspwsvbFqswJmBDJxJXIiO3rc4a5cFI=", "GogK9wdNGLO/IMed4lEnvBMoSrAe8CV1r+8Mj2oxqG0=", "EMuhhBmmozLNXnfwIRwVSyCvKST8IP8/TDASu3rpMRs=", "BX5iqaj4mz69x2umOp6sqPontzGcrjQGdWooSfMC8Q0=", "KHyXHekdwKvUSt9ThLSYjLlhMDu/Zc/1r6BBO0QoDO4=", "Id8ziK8Wh7uzvKnaDMqQjx5WK8RtSrpOb395YOMGiR0=", "G+XIh9JbznA+JcyXTQk0zXid+PcLSY/YPv+LVg4WgrM=", "Jo2jb3blaPtoEXF1zqLNDdLLXUL9pazqSNWcJwag1cE=", "DherCR9urlDGCb6vVRDs7MXYu3QTXr0FvQZGDMJqXtY=", "BNcn5yj/oKZ67lNasHSkMJHvYtjPg9JwBA9cqh9ir0A=", "DdvXv5wpNBWBtUl2K8Ai7TNwKsEPG/2GKxVBfX45ym4=", "J5DrM1FiF1J2gWLoKYnGwjT1sNHTr5tYiinEnIeJZUs=", "HkV8YBpjtz5EcZUBk9ilcDlfPZq4sv0JhLdkIGFC+ek=", "Ia5kMB3KliVjjWqyu+cTX/qQ7NDEP/kfxMaG/EbgkbA=", "A3n2PIzjRo1NopMWb0lJKIVL6eNDLglVWFhTTu2NNQs=", "AC1WQgNZ0CZqdEoICAngVMoOSSGkZoasjJ9YoyTDUEk=", "EjFY5ZZbXZsdaLPNMuELvtqNYkWeIfQJD8LFr5Y1FaY=", "C+KfxAhHqUFmHRS79svgQg+7K29Sg21OYMgOtJytnsE=", "Gslpkd7CuwVXcWFCAVpFPDbbnYWcrV+aIzgC8k/fTBo=", "FZZEP3Y9vMJfSWT8YdI7Pl4SyfqX8YqSUcozVbywYn4=", "EuC802VL36drKGHU7Drq4PGFfZ8X5xWu1tBJ6uO6MhI=", "D8krTxu+qCuepz1K+a8qUM6rrH83FUsZBObHbHz5ZLo=", "H5wLFhBEZELW8uWSqAE/QLFPfHciI29PnH6WUjOHJ2I=", "Dr10JErnJnX4zeBhV6eC9AUNkU2ji0wFjRWfZD279NM=", "LLfw7Tnhbp9pqfr9SrlRwDsGcelzRu45eoOYOdzPxtE=", "Gp1uLs/wIsxWBUQ+5BurIM52HQUUzlJmkMcrynNS2b8=", "KhFUOWB/M1peqDw7xEqTMdDBMyapp7owh9oYLWSOxy8=", "I/m2UptdBA0VuPp67j40EOc4tWMFzUTylTXBFcWkwGA=", "BYcsFtsPcqIkmsa6SEu5w6POl8FtWLaLJg65OfDm6Kc=", "EwC97gi7eCTKIPuAEYB19AIZthUdVbXFK2JKfN7d9qc=", "Gbm2PS8QjhfmOBeGOo9sKI160pkW2YyxBy5Oe31Ss3Y=", "AVvuE1fjwBW1vaI3ZoUi9hPRyIcmtexCJKIBKEgbT38=", "KVNzbpS7a58blwek8WFeTv4eHOS6shjL6pLHhbEo/9E=", "CwaTU7oJFhiGL4BhgMA4X4UbmNNytF9UTOcmbtZgjfw=", "ME901GHMwTEV5OC8+5OBflWut+uTBrZOT1iKyX2B9Ck=", "FbvxRs6bygnooz9ed9/k9arSoWSkYXpMuO5UFc3pE/w=", "CrTf4MJ0LN5EkBAxSHlk7ZuPS4UEBcEMqf8jhZVyyMY=", "DjLbMgoETjGX9F92SaGWde9e7f6lRt6pJR3jn5Y5d5o=", "ChdWqh83jKSydjWni2iI5meXczqCd0iWoweO+lFtoBY=", "BExKM7EPaTRH/RcXf5Uu+JXmHTKPhe+pQlTWoqJdk+8=", "LtNhG3JbinC+ZVtTf2b3AP4IedeaSWiR03sHtUZsS4s=", "H5uk6Lq3zkLI7MPXIqouDq3965z900e12DOepxIIWKo=", "GyMwQwUujCiPfukHqE5RiqOOgqxFAgZtt0BW+GXF09o=", "JDHhzBZLuNB0Axq3K9VbTJAgU7/A8U2wyi+XsCCHWVQ=", "CC+TTJH1qsMwzWlToKfbRaE+MiCXWDMZp5Hyc5ZYAf0=", "K5oKIj51OLCjS+B0MVVCo8dyReKufL6Zmta7kwxImXw=", "DhzZHt0s+izOuFSDuIepvoFkFj51qKAOsLWJzHAhTn0=", "Lh6sDyv9/WPJUfYUd+NpiZl3TxmFTQD1iNMkYBzr4vk=", "DL+pXzf7dAYMdhWOdp1tFXNFeE2O/bM8I9dIEVtQC4M=", "CPBbO+kj7UTWWtSdimHppnbZkeOndRPZmAwjLfpKT4Q=", "InGeKgcLzQhSv44hmE0EQ+coSSXcB1ijJaLdUQwEfvY=", "BB9Zap7hyyvAYPf8w6GrTHvb8DYRmYLA9B9isvJoMMA=", "Iz/TXeG+UgqHYo6wb2sdTAIb4cLQ3EZKGfzdCYaxD4k=", "BSS0bRqoel5DJeCkI+vIENMeB4qhtHB+78tFPGHJwmc=", "LDT0JMgeVxbOR/ysiUuFgkInu5VLDzGZzESGI3xRUhE=", "C18qS2M4eBkgfv/CtVQfty3SAltUV8yX8zAQMn3kkV4=", "IiB4VggszFTFty/kOdLP1sF0NdL1evbOrvrEH+BcZZ8=", "JNV6i/XaY/5OJBWbf4lQtc37IQGUyvefJ4VASM4sgXE=", "Cvqxgf3V4Fg7Nx11vWk/mDdK1wl7sBqFc5Gbsjt5OW4=", "LbqbEI8gh3KZilLvrHy9VnbABXGUwWwL8WKQ1isRKO4=", "JjSbZu24sW9W+IHHiPU/g8u4PeC9WSslWv8T5rzkILM=", "Ja984OXhA1doXpX5Izl1OtgaVtKOzBk7I1KIo+bxN9s=", "JbTOe9IpQ5DAlNalXt1ouXDu16roiyv/H3wBh/41AR8=", "IsVD8Q9siew4flPxkIqI5d6c7yjr3zCxjLnVTB4CtjE=", "Ajb5PneJxHJPx5CKnxkeHkJekGqRnXo032aOdIgvh6k=", "KTULQBFmygEOfSfjfQXamWUr2uEU6wFlnLSXr5gMS1I=", "Du14fWWCDT9r0xu6tUf3WmXtt12ETruJ7hJgkWZSNj8=", "B8wRcPE7RvIDanU/Ugsykf3NDpm9lCl9GQb2VvTeb60=", "Irk5IzsdcgX0m89hOj0wsZCHhtf59dEMIFlDVonorOo=", "AUUXYqCquByKrR3IvDPocHQPCDpaqFQ4rdZQrOYK5aY=", "I1BrtdhyfURh+r8QJdRtH+MuqmHex9pX5wT+wIkvzok=", "LkhMROg4rqC6wGrj9xvdCSo3CVMeHv6pf4vWiQc1VSI=", "D0vH0H66/WQ3nnjFC9LkK69KWUVFztwlRUGNomg1tUw=", "H008j2WD6eX6dmN4Yvqu6FFYI4hyXfRg5iCZbVDY504=", "CTUU4McHEfgmYNB74OSpiPrgKrx7aB2RU+uby0j+c4k=", "GtqwyOKzutNGaZorXzvANkPug+zkcijySljgo0fhU9g=", "FnKxcmBX2Z3RRwnrtHRkGjeMG5S4ByusGiLb756A2tI=", "Hf1T1Fdq8uOPRPU/3KtGjMXY4vrgrMTuMNR7I5tHnBQ=", "DGiIoQt1sPOnCjYmOjfhf+bXfWQPb8PevH8gd1MgXGA=", "Gt25M6Zb53CSs0p+d9Ev6GEaYeAO5oSLhQkezKnR5Qg=", "ANdUDc0mioRcEK4Y0d6TPPY4/1Ql8K//eTVijimdF5E=", "FAwOQmh+nq0BsoJ6VmTKnCb+3eSs2Z2x0xaTnSC4LA4=", "Lww6EV1DF9GRuom40T0YBsIKD5sk+MXtwJHirlZWWYQ=", "DE7neP98FFUwBu0iDPnIEAigz/ZwsiuC2MU4odyVjGE=", "FwTydm1G+Cw2k/AEQMzDYJQk7SbArMZiJ8PXSF3nTGk=", "Ly0ZzD6l146noCwbUdJEq/B2nJ+FROQCObZv6QCcPPo=", "GuA4U7dfyrpQU/ES4qjo3N1+5suc/tnH1sdmqAb8Zik=", "CXGqv3lSQd9R0THQ+mGqXzVWkhstbwFOTkGobdrwVtU=", "FAjDFuYBThqR1M9rbg3nPtpiT4OA3xyHX1wp97/i9kY=", "Fmfz/i7b6FAkir5CtUMJO2yJ8fdz7yhTQWkfOYIu9b0=", "E798XQ0sQ3akiwoDVXzfkVuBcYQJ5cEzQkxpV2UA/jc=", "B2IKbfsLbOwwFq3z01M8JAJLlTR4VreXGbwLp0OmLCw=", "FXTH7wxDVF82qMoIvb3YsHXSlZ4vMitzFnXePhmCtNA=", "Jp5LW3oushr9VnlwpxfO7FvUGEVxwlT9wG4Dp/+DePA="],
1041
- "M": [["Bm9vhdb2ioXsEDRTUaI6Oq8H84r4yVKnvOynC9KvetU=", "K51LQRDJrpl3guFQmx0P2yCnwCu9i+pzBUYrn4Elseg="], ["DMV827CFB9Yr9npEk8wmL7bAnVVwE//x9XP0MSIfj/k=", "EnTmSaMu01WjGm7WlyThra3oV+hutcOhIbzRR5QyA8g="]]
99
+ C: ['CcRunsaOm9T+H6q6KUy6OKcaoXdTTN0bbH3A29Cr16c=', 'DANWUwiW7sQql+2TfzE1z8UUKzrkBbg0PB2D/6YEy4E=', 'Hiih2TVpitEULlEYK7VM9KAOpaq9Ymi9MX6pd8wVSjA=', 'J68tgxqdJ0gICWXbMOKY5A5XV8PgCNuWTPnisSuRJR8=', 'Hm8RzmD8j1E6ajz+Fq4XWkEpFGLyFM0Iear0NUW3TgM=', 'Kmc4TTu9XkOFQYGctoHwvgRGLtFMNhPY9xkgYmjRQtM=', 'C2b981YJOmEWCfjhL7/s8LmF44HwJRiJNkCPXVyfRdA=', 'AS7j7B541HCDDGEJPCreNwsmyDzFzr7t2qaFLb2wniE=', 'AlK6X2dgv739iPZ/gXXj/WzRxDGwmba7LRCOe0Rbsbk=', 'F5R0zOyl/2dsa+w871QpY1Q5Gok1/3HW71rqrXypMvE=', 'LCQmE3mlG/qSKP9KUD/U7Zwfl0omSWmzfholibvtK5E=', 'HMHXtiaS5j6sLyiL0GlbQ8L2P1AB/A/FU+ZsBVGAGwU=', 'JVBZMBqtqYuy7VX4UpeelgB4Tb8X+6zQXZ7/X9nJG1Y=', 'KEN746wcsuR54fXA7M0ys66iQjSXCoGTsRwpzn5Z79k=', 'KCFqRC8uH3EcpPprU3ZusRhUjaj7T3jUM4diw39fIEM=', 'LB9HzRf6Wt8fOfTnBW3QP+7h784DCUWBEx8jdzI0gsk=', 'B6utArel68SGMrzJNWzrfdna/KJ2Y4pjZGuFZqYhr8k=', 'AjAmRgH/3yknWzP/qrUd/pQp+QiAppzRN9oMTRX5bDw=', 'G8lzBU5R2QWg8WhlZJfKQKhkQUVX7iiecX5dZomaoKk=', 'Lhwi+WRDUAggbDFX6GNB7dJJr/XC2EIfKmsiKI8KZ/w=', 'EiTzjfZ8U3gSHB1fRhu8UJ6OoVmORsn3pwRSvCu6hrg=', 'AuTmnYulnlGSgLS9ntAGj9e/6M2d/toZadKYkYbN4g4=', 'Hx7Mw0qroBN/XfgfwE/z7k8Z7jZOZT8HbUfpc12YAY4=', 'FnKtPXCaNTl0JmwwOamnMRQkRIAyzRgZ6suKTUKE9YI=', 'KD4/3CxuQgxW9Er1GStK6c2mlh8oTSSZHS7WAt+Mj8c=', 'HCo9EgxVDs/Q2wlXFw+gE2g3Ufj9/1nWYU+9af85S8w=', 'IW+Eh3qsYXL3iXpzI0Vu/hQ6mkN3PqbylstrgXdlP70=', 'LA0nK+zyp1dkun6OPijRK86qR+phylmkEaH1FVL5R4g=', 'FuNCmYZcDihITuenTEVOnxcKVICr4FCPy0psPYlUb0M=', 'F1zrpZnpb1s3WiMqb7nMcXcgR3ZYAikPSM2Tl1VIj8U=', 'DHWURA3EjBb+rZ4XWLAoBmqkEL+8NU9U2MX/u0Sh7jI=', 'GjwpvDnyG7XEZtt9frb9j3YOIAE8z5EskkeYgtkZ/Y0=', 'DM/dkG80JuXAmG6gSbJTQAhV00kHT1pmlcjuq80i5o8=', 'FPa8gdnxhvYr20dc5slBGGanqKP9Bls84OaZtn3Z55Y=', 'CWK4J4n7PRKXAspwsvbFqswJmBDJxJXIiO3rc4a5cFI=', 'GogK9wdNGLO/IMed4lEnvBMoSrAe8CV1r+8Mj2oxqG0=', 'EMuhhBmmozLNXnfwIRwVSyCvKST8IP8/TDASu3rpMRs=', 'BX5iqaj4mz69x2umOp6sqPontzGcrjQGdWooSfMC8Q0=', 'KHyXHekdwKvUSt9ThLSYjLlhMDu/Zc/1r6BBO0QoDO4=', 'Id8ziK8Wh7uzvKnaDMqQjx5WK8RtSrpOb395YOMGiR0=', 'G+XIh9JbznA+JcyXTQk0zXid+PcLSY/YPv+LVg4WgrM=', 'Jo2jb3blaPtoEXF1zqLNDdLLXUL9pazqSNWcJwag1cE=', 'DherCR9urlDGCb6vVRDs7MXYu3QTXr0FvQZGDMJqXtY=', 'BNcn5yj/oKZ67lNasHSkMJHvYtjPg9JwBA9cqh9ir0A=', 'DdvXv5wpNBWBtUl2K8Ai7TNwKsEPG/2GKxVBfX45ym4=', 'J5DrM1FiF1J2gWLoKYnGwjT1sNHTr5tYiinEnIeJZUs=', 'HkV8YBpjtz5EcZUBk9ilcDlfPZq4sv0JhLdkIGFC+ek=', 'Ia5kMB3KliVjjWqyu+cTX/qQ7NDEP/kfxMaG/EbgkbA=', 'A3n2PIzjRo1NopMWb0lJKIVL6eNDLglVWFhTTu2NNQs=', 'AC1WQgNZ0CZqdEoICAngVMoOSSGkZoasjJ9YoyTDUEk=', 'EjFY5ZZbXZsdaLPNMuELvtqNYkWeIfQJD8LFr5Y1FaY=', 'C+KfxAhHqUFmHRS79svgQg+7K29Sg21OYMgOtJytnsE=', 'Gslpkd7CuwVXcWFCAVpFPDbbnYWcrV+aIzgC8k/fTBo=', 'FZZEP3Y9vMJfSWT8YdI7Pl4SyfqX8YqSUcozVbywYn4=', 'EuC802VL36drKGHU7Drq4PGFfZ8X5xWu1tBJ6uO6MhI=', 'D8krTxu+qCuepz1K+a8qUM6rrH83FUsZBObHbHz5ZLo=', 'H5wLFhBEZELW8uWSqAE/QLFPfHciI29PnH6WUjOHJ2I=', 'Dr10JErnJnX4zeBhV6eC9AUNkU2ji0wFjRWfZD279NM=', 'LLfw7Tnhbp9pqfr9SrlRwDsGcelzRu45eoOYOdzPxtE=', 'Gp1uLs/wIsxWBUQ+5BurIM52HQUUzlJmkMcrynNS2b8=', 'KhFUOWB/M1peqDw7xEqTMdDBMyapp7owh9oYLWSOxy8=', 'I/m2UptdBA0VuPp67j40EOc4tWMFzUTylTXBFcWkwGA=', 'BYcsFtsPcqIkmsa6SEu5w6POl8FtWLaLJg65OfDm6Kc=', 'EwC97gi7eCTKIPuAEYB19AIZthUdVbXFK2JKfN7d9qc=', 'Gbm2PS8QjhfmOBeGOo9sKI160pkW2YyxBy5Oe31Ss3Y=', 'AVvuE1fjwBW1vaI3ZoUi9hPRyIcmtexCJKIBKEgbT38=', 'KVNzbpS7a58blwek8WFeTv4eHOS6shjL6pLHhbEo/9E=', 'CwaTU7oJFhiGL4BhgMA4X4UbmNNytF9UTOcmbtZgjfw=', 'ME901GHMwTEV5OC8+5OBflWut+uTBrZOT1iKyX2B9Ck=', 'FbvxRs6bygnooz9ed9/k9arSoWSkYXpMuO5UFc3pE/w=', 'CrTf4MJ0LN5EkBAxSHlk7ZuPS4UEBcEMqf8jhZVyyMY=', 'DjLbMgoETjGX9F92SaGWde9e7f6lRt6pJR3jn5Y5d5o=', 'ChdWqh83jKSydjWni2iI5meXczqCd0iWoweO+lFtoBY=', 'BExKM7EPaTRH/RcXf5Uu+JXmHTKPhe+pQlTWoqJdk+8=', 'LtNhG3JbinC+ZVtTf2b3AP4IedeaSWiR03sHtUZsS4s=', 'H5uk6Lq3zkLI7MPXIqouDq3965z900e12DOepxIIWKo=', 'GyMwQwUujCiPfukHqE5RiqOOgqxFAgZtt0BW+GXF09o=', 'JDHhzBZLuNB0Axq3K9VbTJAgU7/A8U2wyi+XsCCHWVQ=', 'CC+TTJH1qsMwzWlToKfbRaE+MiCXWDMZp5Hyc5ZYAf0=', 'K5oKIj51OLCjS+B0MVVCo8dyReKufL6Zmta7kwxImXw=', 'DhzZHt0s+izOuFSDuIepvoFkFj51qKAOsLWJzHAhTn0=', 'Lh6sDyv9/WPJUfYUd+NpiZl3TxmFTQD1iNMkYBzr4vk=', 'DL+pXzf7dAYMdhWOdp1tFXNFeE2O/bM8I9dIEVtQC4M=', 'CPBbO+kj7UTWWtSdimHppnbZkeOndRPZmAwjLfpKT4Q=', 'InGeKgcLzQhSv44hmE0EQ+coSSXcB1ijJaLdUQwEfvY=', 'BB9Zap7hyyvAYPf8w6GrTHvb8DYRmYLA9B9isvJoMMA=', 'Iz/TXeG+UgqHYo6wb2sdTAIb4cLQ3EZKGfzdCYaxD4k=', 'BSS0bRqoel5DJeCkI+vIENMeB4qhtHB+78tFPGHJwmc=', 'LDT0JMgeVxbOR/ysiUuFgkInu5VLDzGZzESGI3xRUhE=', 'C18qS2M4eBkgfv/CtVQfty3SAltUV8yX8zAQMn3kkV4=', 'IiB4VggszFTFty/kOdLP1sF0NdL1evbOrvrEH+BcZZ8=', 'JNV6i/XaY/5OJBWbf4lQtc37IQGUyvefJ4VASM4sgXE=', 'Cvqxgf3V4Fg7Nx11vWk/mDdK1wl7sBqFc5Gbsjt5OW4=', 'LbqbEI8gh3KZilLvrHy9VnbABXGUwWwL8WKQ1isRKO4=', 'JjSbZu24sW9W+IHHiPU/g8u4PeC9WSslWv8T5rzkILM=', 'Ja984OXhA1doXpX5Izl1OtgaVtKOzBk7I1KIo+bxN9s=', 'JbTOe9IpQ5DAlNalXt1ouXDu16roiyv/H3wBh/41AR8=', 'IsVD8Q9siew4flPxkIqI5d6c7yjr3zCxjLnVTB4CtjE=', 'Ajb5PneJxHJPx5CKnxkeHkJekGqRnXo032aOdIgvh6k=', 'KTULQBFmygEOfSfjfQXamWUr2uEU6wFlnLSXr5gMS1I=', 'Du14fWWCDT9r0xu6tUf3WmXtt12ETruJ7hJgkWZSNj8=', 'B8wRcPE7RvIDanU/Ugsykf3NDpm9lCl9GQb2VvTeb60=', 'Irk5IzsdcgX0m89hOj0wsZCHhtf59dEMIFlDVonorOo=', 'AUUXYqCquByKrR3IvDPocHQPCDpaqFQ4rdZQrOYK5aY=', 'I1BrtdhyfURh+r8QJdRtH+MuqmHex9pX5wT+wIkvzok=', 'LkhMROg4rqC6wGrj9xvdCSo3CVMeHv6pf4vWiQc1VSI=', 'D0vH0H66/WQ3nnjFC9LkK69KWUVFztwlRUGNomg1tUw=', 'H008j2WD6eX6dmN4Yvqu6FFYI4hyXfRg5iCZbVDY504=', 'CTUU4McHEfgmYNB74OSpiPrgKrx7aB2RU+uby0j+c4k=', 'GtqwyOKzutNGaZorXzvANkPug+zkcijySljgo0fhU9g=', 'FnKxcmBX2Z3RRwnrtHRkGjeMG5S4ByusGiLb756A2tI=', 'Hf1T1Fdq8uOPRPU/3KtGjMXY4vrgrMTuMNR7I5tHnBQ=', 'DGiIoQt1sPOnCjYmOjfhf+bXfWQPb8PevH8gd1MgXGA=', 'Gt25M6Zb53CSs0p+d9Ev6GEaYeAO5oSLhQkezKnR5Qg=', 'ANdUDc0mioRcEK4Y0d6TPPY4/1Ql8K//eTVijimdF5E=', 'FAwOQmh+nq0BsoJ6VmTKnCb+3eSs2Z2x0xaTnSC4LA4=', 'Lww6EV1DF9GRuom40T0YBsIKD5sk+MXtwJHirlZWWYQ=', 'DE7neP98FFUwBu0iDPnIEAigz/ZwsiuC2MU4odyVjGE=', 'FwTydm1G+Cw2k/AEQMzDYJQk7SbArMZiJ8PXSF3nTGk=', 'Ly0ZzD6l146noCwbUdJEq/B2nJ+FROQCObZv6QCcPPo=', 'GuA4U7dfyrpQU/ES4qjo3N1+5suc/tnH1sdmqAb8Zik=', 'CXGqv3lSQd9R0THQ+mGqXzVWkhstbwFOTkGobdrwVtU=', 'FAjDFuYBThqR1M9rbg3nPtpiT4OA3xyHX1wp97/i9kY=', 'Fmfz/i7b6FAkir5CtUMJO2yJ8fdz7yhTQWkfOYIu9b0=', 'E798XQ0sQ3akiwoDVXzfkVuBcYQJ5cEzQkxpV2UA/jc=', 'B2IKbfsLbOwwFq3z01M8JAJLlTR4VreXGbwLp0OmLCw=', 'FXTH7wxDVF82qMoIvb3YsHXSlZ4vMitzFnXePhmCtNA=', 'Jp5LW3oushr9VnlwpxfO7FvUGEVxwlT9wG4Dp/+DePA='],
100
+ M: [['Bm9vhdb2ioXsEDRTUaI6Oq8H84r4yVKnvOynC9KvetU=', 'K51LQRDJrpl3guFQmx0P2yCnwCu9i+pzBUYrn4Elseg='], ['DMV827CFB9Yr9npEk8wmL7bAnVVwE//x9XP0MSIfj/k=', 'EnTmSaMu01WjGm7WlyThra3oV+hutcOhIbzRR5QyA8g=']]
1042
101
  };
1043
102
  _1.default = _default$1;
1044
103
 
@@ -1046,13 +105,13 @@ Object.defineProperty(poseidon1$1, "__esModule", {
1046
105
  value: true
1047
106
  });
1048
107
  var poseidon1_2 = poseidon1$1.poseidon1 = poseidon1;
1049
- var _slow$1 = _interopRequireDefault$1(slow);
108
+ var _poseidon$1 = _interopRequireDefault$1(poseidon_1);
1050
109
  var _unstringify$1 = _interopRequireDefault$1(unstringify);
1051
110
  var _$1 = _interopRequireDefault$1(_1);
1052
111
  function _interopRequireDefault$1(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1053
112
  const c$1 = (0, _unstringify$1.default)(_$1.default);
1054
113
  function poseidon1(inputs) {
1055
- return (0, _slow$1.default)(inputs, c$1);
114
+ return (0, _poseidon$1.default)(inputs, c$1);
1056
115
  }
1057
116
 
1058
117
  var poseidon2$1 = {};
@@ -1064,8 +123,8 @@ Object.defineProperty(_2, "__esModule", {
1064
123
  });
1065
124
  _2.default = void 0;
1066
125
  var _default = {
1067
- "C": ["DumlkrqalRjQWYbWVvQMIRTEmTwRuymTjSHUcwTNjm4=", "APFEUjXyFIxZhlhxafwbzYh7CNTQCGjfVpb/9AlW6GQ=", "CN/zSH6KyZ4fKaBY0PqAuTDHKHMLerNs6HnziQ7Pc/U=", "Lye+aQ/a7kbDzij3UysTyFbDU0LIS9puIJZjEPrcAdA=", "KyrhrPaLe40kFr6/PU9iNLdj/gS4BD7ki4MnvryhbPI=", "AxnQYgcr737MperAb5fU1VlSwXWrawPq5ktEx9vxHPo=", "KIE9yuuuqoKKN234evSmO8i3vyetScYpjvezh78oUm0=", "JydnOyzLyQPxgb844cHUDSAzhlIAw1K8FQkord35y3g=", "I07EXKJ3J8LnSr0rKhSUzW771D40BYfWuPueMeZcxjI=", "FbUlNAMa4Y9/hiyyz3z3YKsQqBUKM3sczZn/boeX1Cg=", "Dcj61tnks19e2aPRhrec444Oio0bWLEy1wHU7s9o0fY=", "G82V/8IR+8pgD3BfrT+1Z+pOs3j2Lh/sl4BVGKR+TZw=", "EFILCrchyt/p7/gbAW/DTcdto2wleJN4F8uXjQad5Vk=", "H21IFJuOf32bJX2O1fu69CkySYB1/tCs6IqeuB9WJ/Y=", "HZZV9lIwkBTSngDvNaIIm//43ByBbw3JyjS9tUYMhwU=", "BN9aVv+VvK+wUfexzUOpm6cx/2fkcDIFj+PUGFaXzH0=", "BnLZlfj/9kAVGz0pDO2vFIaQoQqMhCSn9uwoK25L6Cg=", "CZlStBSIRFSyEgDX/6/dXwyancwG8nCOn8HYIJtcdbk=", "BSy6IlXf0Ax8SDFDuo1GlEjkNYaptM2Rg/0OhDprn6Y=", "C4ut7mkK246wvXRxK3mZr4LeVXByUa13Fgd8uTxGTdw=", "EZsVkPEzB69aHuZRAgwHx0nBXWBoOoBQuWPQqOSyvdE=", "AxULfNbV0XslKdNr4PZ7gyxKz8iE707lzhW+C/tKjQk=", "LMYYLF4UVG488ZUfFzkSNVN077g9gImKvmnLMXyepWU=", "AFAyVR5jeMRQz+EppASzdkIYyt7awU4rktLNcxEb8Pk=", "IzI34yibqjS7FH6XLry5UWRpw5n8wGn7iPnaLMKCdrU=", "Bcj09OvUpuPJgNMWdL++YyMDfyGzSuWk6AwtTCTWAoA=", "CnsdsTBC05a6BdgYoxnyUlK8817zru2R7h8JslkPxls=", "KnO3H5shDPWxQpZXLJ0y2/FW4rCG/0fcXfVCNlpATsA=", "GsmwQXq8yaGTUQfp/8kdw+wY8sTb5/Ipdqdgu1xQxGA=", "EsAzmuCDdII/q7B2cH70eSafPk1ssQQ0kBXuBG3JP8A=", "C3R1sQKhZa1/WxjbTh5wT1KQCqMlO6rGgkZoLlbpoo4=", "A3woSeGRyj7bHF5J9ui4kXyEPjeTZvLqMqs6qI1/hEg=", "BaaBH4VW8BTpJnRmHiF+m9UgbFyToH3BRf2xdqcWNG8=", "KaeV59mAKJRulHt11U6fBEB26Hp7KIO0e2de9fOL1m4=", "IEOaDISzIutFo4V6/Bj1gm6Mc4LIoVhcUHvhmZgf0i8=", "Lguo2U2ez0qU7CBQxzcf8btQ8neZqEttSipvKgmCyIc=", "FD/RFc4I+yfKOOt8zoIrRReCLNIQkEjS5tDdzKF9ccg=", "DGTL7LHHNLhXlo273PgTzfhhFlkyPby/yEMjYjvpyvE=", "AoowWEfGg/ZG/KklwWP/WudPNI1iwrZw8UJs75QD2lM=", "Lk71EP8Lb9pfqUCrTEOA8mpry2TYlCe4JNZ1W1254ww=", "AIHJW8QzhOZj15JwyVbOO4kltPbQM7B4uWOE9QV5QA4=", "LtXwyRy9l0kYfi+t5ofgXuJJGzScA5oLuoqfQCOguzg=", "MFCZkfiNo1BLvzdO1ari8DRIoix2I0yMmQ8B8zpzUgY=", "HD8g/VVAmlMiG3xNSaNWufChEZ+yBntBp1KQlEJOxq0=", "ELTn86td8AMElRRFm24Y7sRrsiE+jhMeFwiHtH3cuWw=", "KhmCl5w/9/Q93VQ9iRwqvd2A+ATAd9d1A5qjUC5Dre8=", "HHTuZPFeHbb+3b6tVtbVXbpDHrw5bJr5XK0PExW9XJE=", "B1M+yFC6f5jquTA8rOAbS55PLouCcIz6nC/kWgrhRqA=", "IVdrQ45QBEmhUeTurxexVChcaPQtQsGAihGr83ZMB1A=", "LxfAVZuP55YIrVyhk9YvELzoOEyBXwkGdD1pMINtSp4=", "LUd+OGLQdwinnoqulGFwvJd1pCATGEdK5mWwsbficw4=", "Fi9SQ5ZwZMOQ4JVXeYTyka+6ImbDj1q82Jvg9bJ0fqs=", "K0yyM+3pukgmTs0siuUNGteoWWqH8p+Kd3enAJI5MxE=", "LI+8st2Fc9wduvj0YihUd22y7s5thcTPQlTnw14DsHo=", "HW80dyXkgWry/0U/DNVrGZ4bYen2Aemt5eiNuHCUnak=", "IEsMOX9OvnHrwtiz31uRPfnmrAK2jTEyTNSa9cRWVSk=", "DEy53DxP2BdPEUmzxjw8L57LgnzX3CVTT/j7dbx5xQI=", "F0rWGhRIyJmiVBZHT0kwMB5cSUdSeeBjmmFt3EW8e1Q=", "GpYXe89NjYn3Wd9OwvPN4uqqKMF3zA+hOpgW1Jo40u8=", "Bm0EskMx1xzQ74BUvGDE/wUgLBJqIzwagkKs42C4owo=", "KkxPxuwLDPUhlXgoccbdOzgcxl9y4CrVJwN6Yqob2AQ=", "E6stE2zPN9RH6fLhSnztyV5yf4RG9tnX5Vr8ASGf1kk=", "ESFVL8omBhYZ0k2EPcgnacGwT87Cb1UZTC4+hprMapo=", "AO9lMyKxPWyIm8gXFcN9d6bNJn1ZXEqJCaVUbHyXz/E=", "DiVIPkWmZSCLJh2Lp0BR5kAMd21lJZXZhFrKNdijl9M=", "KfU23LnddoIkUmRlnhXYjjlaw9Td6S2MRkSNuXnuuok=", "KlbvnyxT/rrf2jNXXb29iFoSTieAu+oXDkVrqs4Ppb4=", "HINhx461z13s+3otF7XECfKuKZmkZ2Lo7kFiQKjLmvE=", "FRr/XziyCg/ARzCJqvAga4Po5op2RQe/09CrS+dDGcU=", "BMYYfkHtiB3BsjnIj3+dQ6n1L8jIts3R525HYVtR8QA=", "E7N72A9NJ/sQ2EMx9vttU0uBxh7RV3ZEnoAbfdycKWc=", "AaXFNic8LZ31eL+9MsF7eizjZkwqUgMskyHOscToqOQ=", "KrNWGDTKc4Na0F9desuVC0qaLGZrlybagyI5Blt8OwI=", "HU2OwpHnINsgD+bWhsDWE6yvavTpXTv2n37VFqWXtkY=", "BBKU0sxITSKPV4T+eRn9K7klNRJAoEtxFRTJyAtlrx0=", "FUrJjgFwjGEcT6cVmR8ASJj1eTnRJuOSBClx3ZDoH8Y=", "CzOdisyn1Pg+7dhAk671EFCzaEyI+LCwRSRWO8bqTaQ=", "CVXknmYQyUJUpPhM+6s0RZjw5x6v9Kfdge2VtQg5yC4=", "BnRqYVbrpUQmueIiBvFavKmm9B5vU1xvNSVAHqBlRiY=", "Dxj1oOzRQjxJbzggxUnCeDjleQ4r0KGWrJF8f/Mgd/s=", "BPbuyhdR9zCKxZ7/W+smHku1Y1g+3nvJKnOCI9b3bhM=", "K1aXM2TExPXBo+xNo83OA4gR6xFvs+RbwXaNJvwLN1g=", "Ejdp3UnVsFTc12uJgEsby44TkrOFcWpdg/62XUN/Ke8=", "IUe0JPxIyAqI7lK5EWmqzqmJ9kRkcRUJlCV7L7AcY+k=", "D9wfWFSLhXAabFUF6jMqKWR+bzStQkPC6lStiXzr5U0=", "Ejc6glH+oATfaKvPD3eG1Lzv8oxdu+DDlE9oXMCgsfI=", "IeT06l81+FutfqUv90LJ6KZCdWtq9EID3YofNcGpADU=", "FiQ5FtadLKPftHIiJNTEYrVzZkkvRekNioGTTxvDsUc=", "HvvkbdeleLT2b5rbyItDeKvCFWbhoEU8oTpBWcrASsI=", "B+pehTfPXdCIhgIOI6fzh9Ro1VJb5m+FO2csyWqIlpo=", "BajE+ZaLiqO3tHijD5pbY2UPGadefOEcqf4WwLdsALw=", "IPBXcSzCFlT7/lm9NF6NrD94GMcBuceILZ1Xtyoy6D8=", "BKEu3tqd/WiWcvjGf+4xY23NjojQHUkBm9kLM+sz22k=", "J+iNjBXzfc7kTx5UJaUd7L0TbOUJGmdn5J7JVEzNEBo=", "L+7Re4QoXtm4pcjF6VpB9m4JZhmncDIjF2xB7kM95NE=", "HtfMdu30XHxAQkFCD3Kc85TllCkRMSoNaXK4vVOv8rg=", "FXQumbm/oyMVf/jFhvVmDqxng0dhRM3K3yh0vkVGaxo=", "GqwoU4f2XoLIlfxoh930BXcQdFTG7AMXKE8DPyfQx4U=", "JYUcPIRdR5D53a29tgVzV4MuLnpJd19x7HWpZVTWfHc=", "FaWCFWXMLsLOeEV9sZft81O367osVSM3DdzMPZ8Uamc=", "JBHVekgTuZgO+n4xodtZZtz2TzYEQndQLxVIXyjHFyc=", "AC5vjWUgzUcT4zW4wLbS5kfpqY4S9M0lWIKLXvbLTJs=", "L/e8j0OAzemX2gC2FrD80a+PDpHi/h7XOYg0YJ4DFdI=", "ALmDG5SFJVle4CckRxvNGC6VIfa3u2jx6Tvk/rsNPL4=", "Ci9TdouOv2qGkTsOV8BOARykCGSKR0OofXetvwycNRI=", "ACSBVhQv0Dc6R5+R/yOelg9Zn/fpS+abfyopAwXhGY0=", "Fx1WILh7+xMoz4wCqz8MmjlxlqpqVCwjUOtRKisrzak=", "FwpPVVNvfclwCHx8ENb612DJUhct1U3ZnRBF5Ow0qAg=", "KaujP3mf5mwu8xNK6gQzbsw344wc0hG6SC7KF+Lb+uE=", "HpvBeaT911j90bsZRQiNR+cNEUoD9qDotbplA2nmSXM=", "HdJpeZtmD61Y9/SJLfsLWv6q2GmpxLRPnJ4cQ72vjwk=", "Is28i3ARetFAEYHQLhVFnnzNQm/oacfJXR3Syw8krzg=", "DvBC5FR3HFM6n1elXFA/zv0xUPUu2Up81bqTucfazv0=", "EWCeBq1sj+Lyh/MDYDfohRMY6LCKA1mgOzBP/KYugoQ=", "EWbZ5VRhbbqedT7qQnwXt/7NWMB23+QnCLCPW3g6qa8=", "LeUpiUMahZWTQTAmNUQT2xd/v0zSrAtW+FWoiDV+5GY=", "MAbrT/x6hYGabaSS86isHfUa7lsXuOiddL8Bz19x6a0=", "KvQfu2G6ioD9z2//nj9vQimT/o8KRjn5YjRMgiUUUIY=", "EZ5oTeR2FV/lprQajryF24cYqyeInoXngbIUus5IJ8M=", "GDW3huLokl4Yi+pZrjY1N7USSMI4KPBHz/eEuXs/2AA=", "KCAaNMWU36NNeUmWxkM6INFSusKnkFySbEDihasy7rY=", "CD79eifRdRCU6A/vr3iwAIZMgutXEYdySnYfiMIsxOc=", "C2+Io1dxmVJhWOYc7qJ76BHBbfd3TdhRngeVZPYf0Ts=", "Dsho5tFeUdlkT2bh1kcalFiVEcoA0p4QFDkObuQlT1s=", "KvM+P4ZncScawMmz7S4RQuzT50uTnNQNANk3q4TJhZE=", "C1ICEfkEtefQm12WHGrOdzRWjFR91oWLNkzl5HlR8Xg=", "Cy1yLQkZoarY21jxAGKpLqDFasQnDoIsyiKGIBiKHUA=", "H3kNTX+M8JTZgM6zfCRT6Ve1SpmRyji74AYdHtblYtQ=", "AXHrld+/fR6uqXzThfeAFQiFwWI1oqao2pLOsB5QQjM=", "DC0OO1/VdUkym/aIXaZrm3kLQN79LIZQdiMFOBsWiHM=", "EWL7KGicJxVOWoIotOcrN3y8r6WJ4oPDXTgDBUQHoY0=", "LxRZtl3uRBtkrThqkegxDygsWpKonhmSFiPvgklxG8A=", "Hm/zIWtojD2ZbXQ2fVzUwbxInUZ1TrcSwkP3DRtTz7s=", "AcqL5zgyuNBoFIfSfRV4AtdBpvNs3CoFdogfkyZHiHU=", "H3c1cG/+n8WG+XbVvfIj3GgChggLEM6gC5td4xX5ZQ4=", "JSK2D06jMHZAoMLc4EH7qSGsEKPV8JbvR0XKg4KF8Bk=", "I/C+4AGxAp1SVQdd3JV/gzQYytT1K2w/jOFsI1VyV1s=", "K8Gui43buB/KrC1EVV7VaF0UJjPp35BfZtlAEJMILVk=", "D5QGuCllZKNzBFB7jbo+0WI3EnOgex/JgBH81q1yIF8=", "I2Co6wzH3vpntymY3pBxThfnWxdKUu5KyxJsjNmV8Kg=", "FYcaXN3q2XaATIA8uu8lXrSBWl6W34sAbcu8J2f4iUg=", "GTpWdmmY7p4KhlLdLzsdoDYvT1T3I3lUT5V8ze77Qg8=", "KjlKQ5NPhpgvm+Vv9PqxcDsuY8itM0g05DCYBed3rg8=", "GFmVTP64aV8+i2NdyzRRkoks0RIjRDuntBZuiHbA0UI=", "BOEYF2MFDlgBNETby5nxkCsRvCXZC73KQI04GfT+0ys=", "D9slPe6Dhp1AwzXqZN6MW7EOuC2wi16LH15VUr/QXyM=", "BYy+ippQJ72qTvtiOt6tYnXwhobxwImEqdfFuum08cA=", "E4Ltzplx4YZJfq2xrrH1KyO0uDvvAjqw0VIotMzspZo=", "A0ZJkPBFxu4IGcpR/RGwvn9huOuZ8Ut34eZjRgHZ6LU=", "I/e/yHINwpb/8ztB+Y/4PG/KtGBdsutaqlvBN663Clg=", "ClmhWOPuwhF+bpTn8OnezxjD/9XhUxqSGWNhWLuvYvI=", "BuxUyAOBwFK1i/I7MS/9POLE66BlQgr49MI+0Adf0Hs=", "EYhy3IMuDrVHa1ZkjoZ+yLCTQPenvLG0li8P+e0fnQE=", "E9afoSfYNBZa1cfLp61Z7VLgsPDkLX/qleGQa1IJIbE=", "FpoXf2PqaBJwscaHenPSG94UOUL7cdxV/YpJ8Z8Qx3s=", "BO9RWRxurZfvQvKHrc5A2Tq+sDK5IvZv+36aWnRQVE0=", "JW4XWh3AeTkOzXynA/suOxnsYYBdTwPO1fRe5t0Paew=", "MBAtKGNqvV/l8q9BL/YAT3XMNg0yBd0toAKBPT4s7rI=", "EJmOQt/NO78cBxS8c+sb9ARDo/qZvvSjH9Mb4YL8x5I=", "GT7djp/PPXYl+n0ktZih2J8zYur01YLv7K12+HnjaGA=", "GBaK/TTy2RXQNozoC3szR9HHpWHOYRQl8mZNeqUfC10=", "KTg8AevTtqsMAXZW6+ZYtqMo7He8M2JuKeLpWzPqYRE=", "EGRtLyYD3jmh9K5ed3GmSnAttuhvt2q2AL9XP5AQxxE=", "C+teB9GycUX1dfE5WlW/Ey+QwltA2ns4ZNAkLcsRF/s=", "FtaFJSB4wTPcDT7K1itciDD5W7LlS1mr3/vwGNlvozY=", "Cmq9HYM5OPM8dBVOBAS0tApVW7vsId36/Wct1iBH8Bo=", "GmefXTbre1yOoSpMLe3I/rEt/+7EUDFycKbxmzTPGGA=", "CYD7IzvUVsI5dNUODr/eRyakI+raTo9v+8dZLj8bk9Y=", "FhtCIy5huEy/GBCvk6OPwM7OPVYoySggA+ustcMSxys=", "CtoQqQx/BSCVD31Hpg1eakk/CXh/FWTl0JID20feGgs=", "GnMNNyMQuoIyA0WimsQjjtPweoorThIbtQ3bmvQH9FE=", "LIEg8mjvBU+BcGTDad2n6pCDd/6rpcTf+9oQ71joxVY=", "HHyIJPdYdT+lfAB4nGhCF7kw6VMTvLc+bnuGSaSWj3A=", "LNntMfX4aRyOOeQHenT6oPQArYtJHrP3tHsn+j/Rz3c=", "I/9PnUaBNFfPYNkvV2GDmaXgIqwyHKVQhUriORiiLuo=", "CZRaXRR6T2bO7OZAXd3Z0K9aLFEDUpQH3/HqWPGAQm0=", "GI2cUoAl1MK2dmDGt3G5D3x9puqinT8mim3SI+xvxjA=", "MFDjeZZZa3+B9oMRQx2HNNun2SbTYzWV4MDY3fTw9H8=", "Fa8RaTloMKkWAMqBAsNcQmzq5UYeP5XYnYKVGNMK/Xg=", "HabQmIVDLqmgbZ83+HPZhdrpM+NRRmspBChNozINisw=", "J5bqkNJpryn1+KzzOSESTk5PrT2+ZYlF5UbuQR3aqcs=", "IC190doPa0sDJcizMHdC8B4VYS7I6TBKfLAxngHTLWA=", "CW1nkNBbt1kVapUromPWcqLX+ceI9Mgxop2s5MD4vl8=", "BU76H2Ww/OKDgIllJ12He0ONojzlsT4ZY3mMsUR9JaQ=", "GxYvg9kX6T7bMwjCmALeudiqaQETsuFIZMz24Y5BZfE=", "IeUkHhJWTdb9nxzdKg3jnu3+/BRmzFaOxc63RaBQbtw=", "HPtWYujPWskiaoDuF7Nqvstzq1+H4WGSe0NJ4Q5L3wg=", "DyEXfjAqdxu65tjR7LNztiyZrzRiIKwBKcU/Zm6yQQA=", "FnFSI3RgaZKv+w3X9xsSvsQjau3mKQVGvO9+H1FcIyA=", "D6PsW5SIJZwutM8kUBv62b4uyeQsXMjM1BnSppLK2HA=", "GTwOBOC9KYNXyyZsFQYIDtNu3OhcZIzAhejFexq1S7o=", "ECrfjvdHNaJ+kSgwbcvDyZ9vcpHNQGV4zhTqKtq6aPg=", "D+CveFjkmFnipU1vGtlFsTFqokv73SOuQKbQy3DD6rE=", "IW9nF7vH3tsIU2oiIIQ/Ti2l8dqp69796KXqc0R5jSI=", "HaVcyQDw0h9KPmlDkZGKGzwjsqx3PGs++I4uQigyUWE="],
1068
- "M": [["EJt/QRug5MmytwyvXDansZS+fBGtJDeL/ttoWSuoEYs=", "Fu1B4Tu5wMZq4RlCT928vJMU3J/b3upV1sZFQ9xJA+A=", "K5C7oA/KBYn2F+fcv+guDfcGq2QM6yR7eRqTt042c20="], ["KWnyfu0xpIC5w2x2Q3nbyizI/dFBXD3e1ilAvN4L13E=", "LiQZ+ewC7DlMmHHIMpY9wbiddDyMe5ZAKbIxFoex/iM=", "EBBx8AMjebaXMVh2aQ8FPRSNThCfX7BlyKrMVaD4m/o="], ["FDAh7GhqPzMNX55lRjgGXObNeeKMWzdTMmJE7mWhsac=", "F2zAKWla0CWCpw7/CKb9mdBX4S5Y59e2sWzfq8juKRE=", "GaP8ClZwK/QXun/uOAJZP6ZERwMHBD93cyec1x0l1eA="]]
126
+ C: ['DumlkrqalRjQWYbWVvQMIRTEmTwRuymTjSHUcwTNjm4=', 'APFEUjXyFIxZhlhxafwbzYh7CNTQCGjfVpb/9AlW6GQ=', 'CN/zSH6KyZ4fKaBY0PqAuTDHKHMLerNs6HnziQ7Pc/U=', 'Lye+aQ/a7kbDzij3UysTyFbDU0LIS9puIJZjEPrcAdA=', 'KyrhrPaLe40kFr6/PU9iNLdj/gS4BD7ki4MnvryhbPI=', 'AxnQYgcr737MperAb5fU1VlSwXWrawPq5ktEx9vxHPo=', 'KIE9yuuuqoKKN234evSmO8i3vyetScYpjvezh78oUm0=', 'JydnOyzLyQPxgb844cHUDSAzhlIAw1K8FQkord35y3g=', 'I07EXKJ3J8LnSr0rKhSUzW771D40BYfWuPueMeZcxjI=', 'FbUlNAMa4Y9/hiyyz3z3YKsQqBUKM3sczZn/boeX1Cg=', 'Dcj61tnks19e2aPRhrec444Oio0bWLEy1wHU7s9o0fY=', 'G82V/8IR+8pgD3BfrT+1Z+pOs3j2Lh/sl4BVGKR+TZw=', 'EFILCrchyt/p7/gbAW/DTcdto2wleJN4F8uXjQad5Vk=', 'H21IFJuOf32bJX2O1fu69CkySYB1/tCs6IqeuB9WJ/Y=', 'HZZV9lIwkBTSngDvNaIIm//43ByBbw3JyjS9tUYMhwU=', 'BN9aVv+VvK+wUfexzUOpm6cx/2fkcDIFj+PUGFaXzH0=', 'BnLZlfj/9kAVGz0pDO2vFIaQoQqMhCSn9uwoK25L6Cg=', 'CZlStBSIRFSyEgDX/6/dXwyancwG8nCOn8HYIJtcdbk=', 'BSy6IlXf0Ax8SDFDuo1GlEjkNYaptM2Rg/0OhDprn6Y=', 'C4ut7mkK246wvXRxK3mZr4LeVXByUa13Fgd8uTxGTdw=', 'EZsVkPEzB69aHuZRAgwHx0nBXWBoOoBQuWPQqOSyvdE=', 'AxULfNbV0XslKdNr4PZ7gyxKz8iE707lzhW+C/tKjQk=', 'LMYYLF4UVG488ZUfFzkSNVN077g9gImKvmnLMXyepWU=', 'AFAyVR5jeMRQz+EppASzdkIYyt7awU4rktLNcxEb8Pk=', 'IzI34yibqjS7FH6XLry5UWRpw5n8wGn7iPnaLMKCdrU=', 'Bcj09OvUpuPJgNMWdL++YyMDfyGzSuWk6AwtTCTWAoA=', 'CnsdsTBC05a6BdgYoxnyUlK8817zru2R7h8JslkPxls=', 'KnO3H5shDPWxQpZXLJ0y2/FW4rCG/0fcXfVCNlpATsA=', 'GsmwQXq8yaGTUQfp/8kdw+wY8sTb5/Ipdqdgu1xQxGA=', 'EsAzmuCDdII/q7B2cH70eSafPk1ssQQ0kBXuBG3JP8A=', 'C3R1sQKhZa1/WxjbTh5wT1KQCqMlO6rGgkZoLlbpoo4=', 'A3woSeGRyj7bHF5J9ui4kXyEPjeTZvLqMqs6qI1/hEg=', 'BaaBH4VW8BTpJnRmHiF+m9UgbFyToH3BRf2xdqcWNG8=', 'KaeV59mAKJRulHt11U6fBEB26Hp7KIO0e2de9fOL1m4=', 'IEOaDISzIutFo4V6/Bj1gm6Mc4LIoVhcUHvhmZgf0i8=', 'Lguo2U2ez0qU7CBQxzcf8btQ8neZqEttSipvKgmCyIc=', 'FD/RFc4I+yfKOOt8zoIrRReCLNIQkEjS5tDdzKF9ccg=', 'DGTL7LHHNLhXlo273PgTzfhhFlkyPby/yEMjYjvpyvE=', 'AoowWEfGg/ZG/KklwWP/WudPNI1iwrZw8UJs75QD2lM=', 'Lk71EP8Lb9pfqUCrTEOA8mpry2TYlCe4JNZ1W1254ww=', 'AIHJW8QzhOZj15JwyVbOO4kltPbQM7B4uWOE9QV5QA4=', 'LtXwyRy9l0kYfi+t5ofgXuJJGzScA5oLuoqfQCOguzg=', 'MFCZkfiNo1BLvzdO1ari8DRIoix2I0yMmQ8B8zpzUgY=', 'HD8g/VVAmlMiG3xNSaNWufChEZ+yBntBp1KQlEJOxq0=', 'ELTn86td8AMElRRFm24Y7sRrsiE+jhMeFwiHtH3cuWw=', 'KhmCl5w/9/Q93VQ9iRwqvd2A+ATAd9d1A5qjUC5Dre8=', 'HHTuZPFeHbb+3b6tVtbVXbpDHrw5bJr5XK0PExW9XJE=', 'B1M+yFC6f5jquTA8rOAbS55PLouCcIz6nC/kWgrhRqA=', 'IVdrQ45QBEmhUeTurxexVChcaPQtQsGAihGr83ZMB1A=', 'LxfAVZuP55YIrVyhk9YvELzoOEyBXwkGdD1pMINtSp4=', 'LUd+OGLQdwinnoqulGFwvJd1pCATGEdK5mWwsbficw4=', 'Fi9SQ5ZwZMOQ4JVXeYTyka+6ImbDj1q82Jvg9bJ0fqs=', 'K0yyM+3pukgmTs0siuUNGteoWWqH8p+Kd3enAJI5MxE=', 'LI+8st2Fc9wduvj0YihUd22y7s5thcTPQlTnw14DsHo=', 'HW80dyXkgWry/0U/DNVrGZ4bYen2Aemt5eiNuHCUnak=', 'IEsMOX9OvnHrwtiz31uRPfnmrAK2jTEyTNSa9cRWVSk=', 'DEy53DxP2BdPEUmzxjw8L57LgnzX3CVTT/j7dbx5xQI=', 'F0rWGhRIyJmiVBZHT0kwMB5cSUdSeeBjmmFt3EW8e1Q=', 'GpYXe89NjYn3Wd9OwvPN4uqqKMF3zA+hOpgW1Jo40u8=', 'Bm0EskMx1xzQ74BUvGDE/wUgLBJqIzwagkKs42C4owo=', 'KkxPxuwLDPUhlXgoccbdOzgcxl9y4CrVJwN6Yqob2AQ=', 'E6stE2zPN9RH6fLhSnztyV5yf4RG9tnX5Vr8ASGf1kk=', 'ESFVL8omBhYZ0k2EPcgnacGwT87Cb1UZTC4+hprMapo=', 'AO9lMyKxPWyIm8gXFcN9d6bNJn1ZXEqJCaVUbHyXz/E=', 'DiVIPkWmZSCLJh2Lp0BR5kAMd21lJZXZhFrKNdijl9M=', 'KfU23LnddoIkUmRlnhXYjjlaw9Td6S2MRkSNuXnuuok=', 'KlbvnyxT/rrf2jNXXb29iFoSTieAu+oXDkVrqs4Ppb4=', 'HINhx461z13s+3otF7XECfKuKZmkZ2Lo7kFiQKjLmvE=', 'FRr/XziyCg/ARzCJqvAga4Po5op2RQe/09CrS+dDGcU=', 'BMYYfkHtiB3BsjnIj3+dQ6n1L8jIts3R525HYVtR8QA=', 'E7N72A9NJ/sQ2EMx9vttU0uBxh7RV3ZEnoAbfdycKWc=', 'AaXFNic8LZ31eL+9MsF7eizjZkwqUgMskyHOscToqOQ=', 'KrNWGDTKc4Na0F9desuVC0qaLGZrlybagyI5Blt8OwI=', 'HU2OwpHnINsgD+bWhsDWE6yvavTpXTv2n37VFqWXtkY=', 'BBKU0sxITSKPV4T+eRn9K7klNRJAoEtxFRTJyAtlrx0=', 'FUrJjgFwjGEcT6cVmR8ASJj1eTnRJuOSBClx3ZDoH8Y=', 'CzOdisyn1Pg+7dhAk671EFCzaEyI+LCwRSRWO8bqTaQ=', 'CVXknmYQyUJUpPhM+6s0RZjw5x6v9Kfdge2VtQg5yC4=', 'BnRqYVbrpUQmueIiBvFavKmm9B5vU1xvNSVAHqBlRiY=', 'Dxj1oOzRQjxJbzggxUnCeDjleQ4r0KGWrJF8f/Mgd/s=', 'BPbuyhdR9zCKxZ7/W+smHku1Y1g+3nvJKnOCI9b3bhM=', 'K1aXM2TExPXBo+xNo83OA4gR6xFvs+RbwXaNJvwLN1g=', 'Ejdp3UnVsFTc12uJgEsby44TkrOFcWpdg/62XUN/Ke8=', 'IUe0JPxIyAqI7lK5EWmqzqmJ9kRkcRUJlCV7L7AcY+k=', 'D9wfWFSLhXAabFUF6jMqKWR+bzStQkPC6lStiXzr5U0=', 'Ejc6glH+oATfaKvPD3eG1Lzv8oxdu+DDlE9oXMCgsfI=', 'IeT06l81+FutfqUv90LJ6KZCdWtq9EID3YofNcGpADU=', 'FiQ5FtadLKPftHIiJNTEYrVzZkkvRekNioGTTxvDsUc=', 'HvvkbdeleLT2b5rbyItDeKvCFWbhoEU8oTpBWcrASsI=', 'B+pehTfPXdCIhgIOI6fzh9Ro1VJb5m+FO2csyWqIlpo=', 'BajE+ZaLiqO3tHijD5pbY2UPGadefOEcqf4WwLdsALw=', 'IPBXcSzCFlT7/lm9NF6NrD94GMcBuceILZ1Xtyoy6D8=', 'BKEu3tqd/WiWcvjGf+4xY23NjojQHUkBm9kLM+sz22k=', 'J+iNjBXzfc7kTx5UJaUd7L0TbOUJGmdn5J7JVEzNEBo=', 'L+7Re4QoXtm4pcjF6VpB9m4JZhmncDIjF2xB7kM95NE=', 'HtfMdu30XHxAQkFCD3Kc85TllCkRMSoNaXK4vVOv8rg=', 'FXQumbm/oyMVf/jFhvVmDqxng0dhRM3K3yh0vkVGaxo=', 'GqwoU4f2XoLIlfxoh930BXcQdFTG7AMXKE8DPyfQx4U=', 'JYUcPIRdR5D53a29tgVzV4MuLnpJd19x7HWpZVTWfHc=', 'FaWCFWXMLsLOeEV9sZft81O367osVSM3DdzMPZ8Uamc=', 'JBHVekgTuZgO+n4xodtZZtz2TzYEQndQLxVIXyjHFyc=', 'AC5vjWUgzUcT4zW4wLbS5kfpqY4S9M0lWIKLXvbLTJs=', 'L/e8j0OAzemX2gC2FrD80a+PDpHi/h7XOYg0YJ4DFdI=', 'ALmDG5SFJVle4CckRxvNGC6VIfa3u2jx6Tvk/rsNPL4=', 'Ci9TdouOv2qGkTsOV8BOARykCGSKR0OofXetvwycNRI=', 'ACSBVhQv0Dc6R5+R/yOelg9Zn/fpS+abfyopAwXhGY0=', 'Fx1WILh7+xMoz4wCqz8MmjlxlqpqVCwjUOtRKisrzak=', 'FwpPVVNvfclwCHx8ENb612DJUhct1U3ZnRBF5Ow0qAg=', 'KaujP3mf5mwu8xNK6gQzbsw344wc0hG6SC7KF+Lb+uE=', 'HpvBeaT911j90bsZRQiNR+cNEUoD9qDotbplA2nmSXM=', 'HdJpeZtmD61Y9/SJLfsLWv6q2GmpxLRPnJ4cQ72vjwk=', 'Is28i3ARetFAEYHQLhVFnnzNQm/oacfJXR3Syw8krzg=', 'DvBC5FR3HFM6n1elXFA/zv0xUPUu2Up81bqTucfazv0=', 'EWCeBq1sj+Lyh/MDYDfohRMY6LCKA1mgOzBP/KYugoQ=', 'EWbZ5VRhbbqedT7qQnwXt/7NWMB23+QnCLCPW3g6qa8=', 'LeUpiUMahZWTQTAmNUQT2xd/v0zSrAtW+FWoiDV+5GY=', 'MAbrT/x6hYGabaSS86isHfUa7lsXuOiddL8Bz19x6a0=', 'KvQfu2G6ioD9z2//nj9vQimT/o8KRjn5YjRMgiUUUIY=', 'EZ5oTeR2FV/lprQajryF24cYqyeInoXngbIUus5IJ8M=', 'GDW3huLokl4Yi+pZrjY1N7USSMI4KPBHz/eEuXs/2AA=', 'KCAaNMWU36NNeUmWxkM6INFSusKnkFySbEDihasy7rY=', 'CD79eifRdRCU6A/vr3iwAIZMgutXEYdySnYfiMIsxOc=', 'C2+Io1dxmVJhWOYc7qJ76BHBbfd3TdhRngeVZPYf0Ts=', 'Dsho5tFeUdlkT2bh1kcalFiVEcoA0p4QFDkObuQlT1s=', 'KvM+P4ZncScawMmz7S4RQuzT50uTnNQNANk3q4TJhZE=', 'C1ICEfkEtefQm12WHGrOdzRWjFR91oWLNkzl5HlR8Xg=', 'Cy1yLQkZoarY21jxAGKpLqDFasQnDoIsyiKGIBiKHUA=', 'H3kNTX+M8JTZgM6zfCRT6Ve1SpmRyji74AYdHtblYtQ=', 'AXHrld+/fR6uqXzThfeAFQiFwWI1oqao2pLOsB5QQjM=', 'DC0OO1/VdUkym/aIXaZrm3kLQN79LIZQdiMFOBsWiHM=', 'EWL7KGicJxVOWoIotOcrN3y8r6WJ4oPDXTgDBUQHoY0=', 'LxRZtl3uRBtkrThqkegxDygsWpKonhmSFiPvgklxG8A=', 'Hm/zIWtojD2ZbXQ2fVzUwbxInUZ1TrcSwkP3DRtTz7s=', 'AcqL5zgyuNBoFIfSfRV4AtdBpvNs3CoFdogfkyZHiHU=', 'H3c1cG/+n8WG+XbVvfIj3GgChggLEM6gC5td4xX5ZQ4=', 'JSK2D06jMHZAoMLc4EH7qSGsEKPV8JbvR0XKg4KF8Bk=', 'I/C+4AGxAp1SVQdd3JV/gzQYytT1K2w/jOFsI1VyV1s=', 'K8Gui43buB/KrC1EVV7VaF0UJjPp35BfZtlAEJMILVk=', 'D5QGuCllZKNzBFB7jbo+0WI3EnOgex/JgBH81q1yIF8=', 'I2Co6wzH3vpntymY3pBxThfnWxdKUu5KyxJsjNmV8Kg=', 'FYcaXN3q2XaATIA8uu8lXrSBWl6W34sAbcu8J2f4iUg=', 'GTpWdmmY7p4KhlLdLzsdoDYvT1T3I3lUT5V8ze77Qg8=', 'KjlKQ5NPhpgvm+Vv9PqxcDsuY8itM0g05DCYBed3rg8=', 'GFmVTP64aV8+i2NdyzRRkoks0RIjRDuntBZuiHbA0UI=', 'BOEYF2MFDlgBNETby5nxkCsRvCXZC73KQI04GfT+0ys=', 'D9slPe6Dhp1AwzXqZN6MW7EOuC2wi16LH15VUr/QXyM=', 'BYy+ippQJ72qTvtiOt6tYnXwhobxwImEqdfFuum08cA=', 'E4Ltzplx4YZJfq2xrrH1KyO0uDvvAjqw0VIotMzspZo=', 'A0ZJkPBFxu4IGcpR/RGwvn9huOuZ8Ut34eZjRgHZ6LU=', 'I/e/yHINwpb/8ztB+Y/4PG/KtGBdsutaqlvBN663Clg=', 'ClmhWOPuwhF+bpTn8OnezxjD/9XhUxqSGWNhWLuvYvI=', 'BuxUyAOBwFK1i/I7MS/9POLE66BlQgr49MI+0Adf0Hs=', 'EYhy3IMuDrVHa1ZkjoZ+yLCTQPenvLG0li8P+e0fnQE=', 'E9afoSfYNBZa1cfLp61Z7VLgsPDkLX/qleGQa1IJIbE=', 'FpoXf2PqaBJwscaHenPSG94UOUL7cdxV/YpJ8Z8Qx3s=', 'BO9RWRxurZfvQvKHrc5A2Tq+sDK5IvZv+36aWnRQVE0=', 'JW4XWh3AeTkOzXynA/suOxnsYYBdTwPO1fRe5t0Paew=', 'MBAtKGNqvV/l8q9BL/YAT3XMNg0yBd0toAKBPT4s7rI=', 'EJmOQt/NO78cBxS8c+sb9ARDo/qZvvSjH9Mb4YL8x5I=', 'GT7djp/PPXYl+n0ktZih2J8zYur01YLv7K12+HnjaGA=', 'GBaK/TTy2RXQNozoC3szR9HHpWHOYRQl8mZNeqUfC10=', 'KTg8AevTtqsMAXZW6+ZYtqMo7He8M2JuKeLpWzPqYRE=', 'EGRtLyYD3jmh9K5ed3GmSnAttuhvt2q2AL9XP5AQxxE=', 'C+teB9GycUX1dfE5WlW/Ey+QwltA2ns4ZNAkLcsRF/s=', 'FtaFJSB4wTPcDT7K1itciDD5W7LlS1mr3/vwGNlvozY=', 'Cmq9HYM5OPM8dBVOBAS0tApVW7vsId36/Wct1iBH8Bo=', 'GmefXTbre1yOoSpMLe3I/rEt/+7EUDFycKbxmzTPGGA=', 'CYD7IzvUVsI5dNUODr/eRyakI+raTo9v+8dZLj8bk9Y=', 'FhtCIy5huEy/GBCvk6OPwM7OPVYoySggA+ustcMSxys=', 'CtoQqQx/BSCVD31Hpg1eakk/CXh/FWTl0JID20feGgs=', 'GnMNNyMQuoIyA0WimsQjjtPweoorThIbtQ3bmvQH9FE=', 'LIEg8mjvBU+BcGTDad2n6pCDd/6rpcTf+9oQ71joxVY=', 'HHyIJPdYdT+lfAB4nGhCF7kw6VMTvLc+bnuGSaSWj3A=', 'LNntMfX4aRyOOeQHenT6oPQArYtJHrP3tHsn+j/Rz3c=', 'I/9PnUaBNFfPYNkvV2GDmaXgIqwyHKVQhUriORiiLuo=', 'CZRaXRR6T2bO7OZAXd3Z0K9aLFEDUpQH3/HqWPGAQm0=', 'GI2cUoAl1MK2dmDGt3G5D3x9puqinT8mim3SI+xvxjA=', 'MFDjeZZZa3+B9oMRQx2HNNun2SbTYzWV4MDY3fTw9H8=', 'Fa8RaTloMKkWAMqBAsNcQmzq5UYeP5XYnYKVGNMK/Xg=', 'HabQmIVDLqmgbZ83+HPZhdrpM+NRRmspBChNozINisw=', 'J5bqkNJpryn1+KzzOSESTk5PrT2+ZYlF5UbuQR3aqcs=', 'IC190doPa0sDJcizMHdC8B4VYS7I6TBKfLAxngHTLWA=', 'CW1nkNBbt1kVapUromPWcqLX+ceI9Mgxop2s5MD4vl8=', 'BU76H2Ww/OKDgIllJ12He0ONojzlsT4ZY3mMsUR9JaQ=', 'GxYvg9kX6T7bMwjCmALeudiqaQETsuFIZMz24Y5BZfE=', 'IeUkHhJWTdb9nxzdKg3jnu3+/BRmzFaOxc63RaBQbtw=', 'HPtWYujPWskiaoDuF7Nqvstzq1+H4WGSe0NJ4Q5L3wg=', 'DyEXfjAqdxu65tjR7LNztiyZrzRiIKwBKcU/Zm6yQQA=', 'FnFSI3RgaZKv+w3X9xsSvsQjau3mKQVGvO9+H1FcIyA=', 'D6PsW5SIJZwutM8kUBv62b4uyeQsXMjM1BnSppLK2HA=', 'GTwOBOC9KYNXyyZsFQYIDtNu3OhcZIzAhejFexq1S7o=', 'ECrfjvdHNaJ+kSgwbcvDyZ9vcpHNQGV4zhTqKtq6aPg=', 'D+CveFjkmFnipU1vGtlFsTFqokv73SOuQKbQy3DD6rE=', 'IW9nF7vH3tsIU2oiIIQ/Ti2l8dqp69796KXqc0R5jSI=', 'HaVcyQDw0h9KPmlDkZGKGzwjsqx3PGs++I4uQigyUWE='],
127
+ M: [['EJt/QRug5MmytwyvXDansZS+fBGtJDeL/ttoWSuoEYs=', 'Fu1B4Tu5wMZq4RlCT928vJMU3J/b3upV1sZFQ9xJA+A=', 'K5C7oA/KBYn2F+fcv+guDfcGq2QM6yR7eRqTt042c20='], ['KWnyfu0xpIC5w2x2Q3nbyizI/dFBXD3e1ilAvN4L13E=', 'LiQZ+ewC7DlMmHHIMpY9wbiddDyMe5ZAKbIxFoex/iM=', 'EBBx8AMjebaXMVh2aQ8FPRSNThCfX7BlyKrMVaD4m/o='], ['FDAh7GhqPzMNX55lRjgGXObNeeKMWzdTMmJE7mWhsac=', 'F2zAKWla0CWCpw7/CKb9mdBX4S5Y59e2sWzfq8juKRE=', 'GaP8ClZwK/QXun/uOAJZP6ZERwMHBD93cyec1x0l1eA=']]
1069
128
  };
1070
129
  _2.default = _default;
1071
130
 
@@ -1073,13 +132,13 @@ Object.defineProperty(poseidon2$1, "__esModule", {
1073
132
  value: true
1074
133
  });
1075
134
  var poseidon2_2 = poseidon2$1.poseidon2 = poseidon2;
1076
- var _slow = _interopRequireDefault(slow);
135
+ var _poseidon = _interopRequireDefault(poseidon_1);
1077
136
  var _unstringify = _interopRequireDefault(unstringify);
1078
137
  var _ = _interopRequireDefault(_2);
1079
138
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1080
139
  const c = (0, _unstringify.default)(_.default);
1081
140
  function poseidon2(inputs) {
1082
- return (0, _slow.default)(inputs, c);
141
+ return (0, _poseidon.default)(inputs, c);
1083
142
  }
1084
143
 
1085
144
  function checkParameter(value, name, type) {
@@ -1095,7 +154,7 @@ function checkParameter(value, name, type) {
1095
154
  */
1096
155
  function genRandomNumber(numberOfBytes) {
1097
156
  if (numberOfBytes === void 0) { numberOfBytes = 31; }
1098
- return bignumber.BigNumber.from(random$1.randomBytes(numberOfBytes)).toBigInt();
157
+ return bignumber.BigNumber.from(random.randomBytes(numberOfBytes)).toBigInt();
1099
158
  }
1100
159
  /**
1101
160
  * Checks if a string is a JSON.