@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.16 → 8.2.1-alpha.161

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +568 -0
  2. package/dist/src/curves/constant.d.ts +2 -0
  3. package/dist/src/curves/constant.d.ts.map +1 -0
  4. package/dist/src/curves/constant.js +6 -0
  5. package/dist/src/curves/{baseCurve.d.ts → ed25519.d.ts} +9 -7
  6. package/dist/src/curves/ed25519.d.ts.map +1 -0
  7. package/dist/src/curves/ed25519.js +72 -0
  8. package/dist/src/curves/ed25519Bip32HdTree.d.ts +10 -0
  9. package/dist/src/curves/ed25519Bip32HdTree.d.ts.map +1 -0
  10. package/dist/src/curves/ed25519Bip32HdTree.js +85 -0
  11. package/dist/src/curves/index.d.ts +6 -1
  12. package/dist/src/curves/index.d.ts.map +1 -1
  13. package/dist/src/curves/index.js +12 -3
  14. package/dist/src/curves/secp256k1.d.ts +3 -1
  15. package/dist/src/curves/secp256k1.d.ts.map +1 -1
  16. package/dist/src/curves/secp256k1.js +29 -38
  17. package/dist/src/curves/secp256k1Bip32HdTree.d.ts +8 -0
  18. package/dist/src/curves/secp256k1Bip32HdTree.d.ts.map +1 -0
  19. package/dist/src/curves/secp256k1Bip32HdTree.js +54 -0
  20. package/dist/src/curves/types.d.ts +36 -0
  21. package/dist/src/curves/types.d.ts.map +1 -0
  22. package/dist/src/curves/types.js +3 -0
  23. package/dist/src/curves/util.d.ts +2 -0
  24. package/dist/src/curves/util.d.ts.map +1 -0
  25. package/dist/src/curves/util.js +11 -0
  26. package/dist/src/hashCommitment.d.ts +17 -0
  27. package/dist/src/hashCommitment.d.ts.map +1 -0
  28. package/dist/src/hashCommitment.js +45 -0
  29. package/dist/src/index.d.ts +6 -2
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +25 -4
  32. package/dist/src/openssl/index.js +6 -2
  33. package/dist/src/openssl/openssl.d.ts +1 -2
  34. package/dist/src/openssl/openssl.d.ts.map +1 -1
  35. package/dist/src/openssl/openssl.js +4 -12
  36. package/dist/src/safePrime.d.ts +3 -0
  37. package/dist/src/safePrime.d.ts.map +1 -0
  38. package/dist/src/safePrime.js +20 -0
  39. package/dist/src/schnorrProof.d.ts +22 -0
  40. package/dist/src/schnorrProof.d.ts.map +1 -0
  41. package/dist/src/schnorrProof.js +62 -0
  42. package/dist/src/shamir/index.d.ts +3 -0
  43. package/dist/src/shamir/index.d.ts.map +1 -0
  44. package/dist/src/shamir/index.js +19 -0
  45. package/dist/src/shamir/shamir.d.ts +38 -0
  46. package/dist/src/shamir/shamir.d.ts.map +1 -0
  47. package/dist/src/shamir/shamir.js +136 -0
  48. package/dist/src/shamir/types.d.ts +5 -0
  49. package/dist/src/shamir/types.d.ts.map +1 -0
  50. package/dist/src/shamir/types.js +3 -0
  51. package/dist/src/tss/ecdsa/index.d.ts +1 -0
  52. package/dist/src/tss/ecdsa/index.d.ts.map +1 -1
  53. package/dist/src/tss/ecdsa/index.js +8 -3
  54. package/dist/src/tss/ecdsa/paillierproof.js +6 -6
  55. package/dist/src/tss/ecdsa/rangeproof.d.ts +1 -2
  56. package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -1
  57. package/dist/src/tss/ecdsa/rangeproof.js +105 -111
  58. package/dist/src/tss/ecdsa/types.d.ts +33 -17
  59. package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
  60. package/dist/src/tss/ecdsa/types.js +19 -20
  61. package/dist/src/tss/ecdsa/zkVProof.d.ts +25 -0
  62. package/dist/src/tss/ecdsa/zkVProof.d.ts.map +1 -0
  63. package/dist/src/tss/ecdsa/zkVProof.js +71 -0
  64. package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts +43 -0
  65. package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts.map +1 -0
  66. package/dist/src/tss/ecdsa-dkls/commsLayer.js +224 -0
  67. package/dist/src/tss/ecdsa-dkls/dkg.d.ts +34 -0
  68. package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -0
  69. package/dist/src/tss/ecdsa-dkls/dkg.js +266 -0
  70. package/dist/src/tss/ecdsa-dkls/dsg.d.ts +48 -0
  71. package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -0
  72. package/dist/src/tss/ecdsa-dkls/dsg.js +257 -0
  73. package/dist/src/tss/ecdsa-dkls/index.d.ts +6 -0
  74. package/dist/src/tss/ecdsa-dkls/index.d.ts.map +1 -0
  75. package/dist/src/tss/ecdsa-dkls/index.js +32 -0
  76. package/dist/src/tss/ecdsa-dkls/types.d.ts +119 -0
  77. package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -0
  78. package/dist/src/tss/ecdsa-dkls/types.js +155 -0
  79. package/dist/src/tss/ecdsa-dkls/util.d.ts +28 -0
  80. package/dist/src/tss/ecdsa-dkls/util.d.ts.map +1 -0
  81. package/dist/src/tss/ecdsa-dkls/util.js +267 -0
  82. package/dist/src/tss/index.d.ts +1 -0
  83. package/dist/src/tss/index.d.ts.map +1 -1
  84. package/dist/src/tss/index.js +7 -2
  85. package/dist/src/types.d.ts +14 -0
  86. package/dist/src/types.d.ts.map +1 -0
  87. package/dist/src/types.js +3 -0
  88. package/dist/src/util.d.ts +8 -2
  89. package/dist/src/util.d.ts.map +1 -1
  90. package/dist/src/util.js +35 -13
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +27 -7
  93. package/dist/src/curves/baseCurve.d.ts.map +0 -1
  94. package/dist/src/curves/baseCurve.js +0 -6
  95. package/dist/src/openssl/opensslbytes.d.ts +0 -4
  96. package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
  97. package/dist/src/openssl/opensslbytes.js +0 -20
@@ -18,12 +18,12 @@ exports.m = Math.ceil(k / Math.log2(exports.alpha));
18
18
  * @returns {Promise<Array<bigint>>} - array of challenges $p_i$
19
19
  */
20
20
  async function generateP(n) {
21
- if (bigint_crypto_utils_1.bitLength(n) < index_1.minModulusBitLength) {
21
+ if ((0, bigint_crypto_utils_1.bitLength)(n) < index_1.minModulusBitLength) {
22
22
  throw new Error(`modulus n must have a bit length larger than or equal to ${index_1.minModulusBitLength}`);
23
23
  }
24
24
  return Promise.all(Array(exports.m)
25
25
  .fill(null)
26
- .map(() => util_1.randomPositiveCoPrimeLessThan(n)));
26
+ .map(() => (0, util_1.randomPositiveCoPrimeLessThan)(n)));
27
27
  }
28
28
  exports.generateP = generateP;
29
29
  /**
@@ -37,8 +37,8 @@ function prove(n, lambda, p) {
37
37
  if (!p.every((p_i) => p_i > 0)) {
38
38
  throw new Error('All paillier challenge values must be positive.');
39
39
  }
40
- const n_inv = bigint_mod_arith_1.modInv(n, lambda);
41
- return p.map((p_i) => bigint_mod_arith_1.modPow(p_i, n_inv, n));
40
+ const n_inv = (0, bigint_mod_arith_1.modInv)(n, lambda);
41
+ return p.map((p_i) => (0, bigint_mod_arith_1.modPow)(p_i, n_inv, n));
42
42
  }
43
43
  exports.prove = prove;
44
44
  /**
@@ -76,11 +76,11 @@ function verify(n, p, sigma) {
76
76
  }
77
77
  // c) Verify that $p_i = \sigma_i^N \mod N$ for $i = 1...m$.
78
78
  for (let i = 0; i < exports.m; i++) {
79
- if (p[i] !== bigint_mod_arith_1.modPow(sigma[i], n, n)) {
79
+ if (p[i] !== (0, bigint_mod_arith_1.modPow)(sigma[i], n, n)) {
80
80
  return false;
81
81
  }
82
82
  }
83
83
  return true;
84
84
  }
85
85
  exports.verify = verify;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbGxpZXJwcm9vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90c3MvZWNkc2EvcGFpbGxpZXJwcm9vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBZ0Q7QUFDaEQsdURBQWtEO0FBRWxELHFDQUEyRDtBQUMzRCxtQ0FBOEM7QUFDOUMscUNBQW1EO0FBRW5ELHVCQUF1QjtBQUN2QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDZCwrQ0FBK0M7QUFDL0Msb0VBQW9FO0FBQ3ZELFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBSyxDQUFDLENBQUMsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLFNBQVMsQ0FBQyxDQUFTO0lBQ3ZDLElBQUksK0JBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRywyQkFBbUIsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCwyQkFBbUIsRUFBRSxDQUFDLENBQUM7S0FDcEc7SUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLEtBQUssQ0FBQyxTQUFDLENBQUM7U0FDTCxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLG9DQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9DLENBQUM7QUFDSixDQUFDO0FBVEQsOEJBU0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixLQUFLLENBQUMsQ0FBUyxFQUFFLE1BQWMsRUFBRSxDQUFnQjtJQUMvRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztLQUNwRTtJQUNELE1BQU0sS0FBSyxHQUFHLHlCQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMseUJBQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQU5ELHNCQU1DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixNQUFNLENBQUMsQ0FBUyxFQUFFLENBQWdCLEVBQUUsS0FBb0I7SUFDdEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDcEU7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztLQUMxRTtJQUNELHNFQUFzRTtJQUN0RSxpQ0FBaUM7SUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUksYUFBSyxLQUFLLE1BQU0sRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUM7SUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGdDQUF1QixFQUFFO1FBQzNDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0lBQ0QsOERBQThEO0lBQzlELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFDLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDMUMsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELDREQUE0RDtJQUM1RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzFCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLHlCQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFsQ0Qsd0JBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYml0TGVuZ3RoIH0gZnJvbSAnYmlnaW50LWNyeXB0by11dGlscyc7XG5pbXBvcnQgeyBtb2RJbnYsIG1vZFBvdyB9IGZyb20gJ2JpZ2ludC1tb2QtYXJpdGgnO1xuXG5pbXBvcnQgeyByYW5kb21Qb3NpdGl2ZUNvUHJpbWVMZXNzVGhhbiB9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHsgbWluTW9kdWx1c0JpdExlbmd0aCB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgcHJpbWVzU21hbGxlclRoYW4zMTk1NjcgfSBmcm9tICcuL3ByaW1lcyc7XG5cbi8vIFNlY3VyaXR5IHBhcmFtZXRlcnMuXG5jb25zdCBrID0gMTI4O1xuLy8gZXByaW50LmlhY3Iub3JnLzIwMTgvMDU3LnBkZiNwYWdlNiBzZWN0aW9uIDVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9CaXRHby9CaXRHb0pTL3B1bGwvMzUwMiNkaXNjdXNzaW9uX3IxMjAzMDcwMzkyXG5leHBvcnQgY29uc3QgYWxwaGEgPSAzMTk1Njc7XG5leHBvcnQgY29uc3QgbSA9IE1hdGguY2VpbChrIC8gTWF0aC5sb2cyKGFscGhhKSk7XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzZXQgb2YgY2hhbGxlbmdlcyAkcCQgZm9yIGEgZ2l2ZW4gcGFpbGxpZXIgcHVibGljIGtleSBtb2R1bHVzICRuJC5cbiAqIEBwYXJhbSBuIC0gcGFpbGxpZXIgcHVibGljIGtleSBtb2R1bHVzXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxiaWdpbnQ+Pn0gLSBhcnJheSBvZiBjaGFsbGVuZ2VzICRwX2kkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVAobjogYmlnaW50KTogUHJvbWlzZTxBcnJheTxiaWdpbnQ+PiB7XG4gIGlmIChiaXRMZW5ndGgobikgPCBtaW5Nb2R1bHVzQml0TGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBtb2R1bHVzIG4gbXVzdCBoYXZlIGEgYml0IGxlbmd0aCBsYXJnZXIgdGhhbiBvciBlcXVhbCB0byAke21pbk1vZHVsdXNCaXRMZW5ndGh9YCk7XG4gIH1cbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIEFycmF5KG0pXG4gICAgICAuZmlsbChudWxsKVxuICAgICAgLm1hcCgoKSA9PiByYW5kb21Qb3NpdGl2ZUNvUHJpbWVMZXNzVGhhbihuKSlcbiAgKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHNldCBvZiBwcm9vZnMgJHNpZ21hJCBmb3IgYSBnaXZlbiBzZXQgb2YgY2hhbGxlbmdlcyAkcCQgdXNpbmcgdGhlIHBhaWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiQgYW5kIHRoZSBwcml2YXRlIGtleSAkXFxsYW1iZGEkLlxuICogQHBhcmFtIG4gLSBwYWlsbGllciBwdWJsaWMga2V5IG1vZHVsdXMgJG4kXG4gKiBAcGFyYW0gbGFtYmRhIC0gcHJpdmF0ZSBrZXkgJFxcbGFtYmRhLCAgd2hpY2ggaXMgdGhlICRcXGV1bGVyKE4pID0gKHAtMSkocS0xKSRcbiAqIEBwYXJhbSBwIC0gYXJyYXkgb2YgY2hhbGxlbmdlcyAkcCRcbiAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGJpZ2ludD4+fSAtIGFycmF5IG9mIHByb29mcyAkXFxzaWdtYSRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZlKG46IGJpZ2ludCwgbGFtYmRhOiBiaWdpbnQsIHA6IEFycmF5PGJpZ2ludD4pOiBiaWdpbnRbXSB7XG4gIGlmICghcC5ldmVyeSgocF9pKSA9PiBwX2kgPiAwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQWxsIHBhaWxsaWVyIGNoYWxsZW5nZSB2YWx1ZXMgbXVzdCBiZSBwb3NpdGl2ZS4nKTtcbiAgfVxuICBjb25zdCBuX2ludiA9IG1vZEludihuLCBsYW1iZGEpO1xuICByZXR1cm4gcC5tYXAoKHBfaSkgPT4gbW9kUG93KHBfaSwgbl9pbnYsIG4pKTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgYSBzZXQgb2YgcHJvb2ZzICRcXHNpZ21hJCBvbiB0aGUgbW9kdWx1cyAkbiQgdXNpbmcgdGhlIGNoYWxsZW5nZXMgJHAkIHRoYXQgd2VyZSBwcm92aWRlZCB0byB0aGUgcHJvdmVyIHRvIGdlbmVyYXRlIHRoZSBwcm9vZnMuXG4gKiBAcGFyYW0gbiAtIHBhaWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiRcbiAqIEBwYXJhbSBwIC0gYXJyYXkgb2YgY2hhbGxlbmdlcyAkcCRcbiAqIEBwYXJhbSBzaWdtYSAtIGFycmF5IG9mIHByb29mcyAkXFxzaWdtYSRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeShuOiBiaWdpbnQsIHA6IEFycmF5PGJpZ2ludD4sIHNpZ21hOiBBcnJheTxiaWdpbnQ+KTogYm9vbGVhbiB7XG4gIGlmICghcC5ldmVyeSgocF9pKSA9PiBwX2kgPiAwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQWxsIHBhaWxsaWVyIGNoYWxsZW5nZSB2YWx1ZXMgbXVzdCBiZSBwb3NpdGl2ZS4nKTtcbiAgfVxuICBpZiAoIXNpZ21hLmV2ZXJ5KChzaWdtYV9pKSA9PiBzaWdtYV9pID4gMCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0FsbCBwYWlsbGllciBjaGFsbGVuZ2UgcHJvb2YgdmFsdWVzIG11c3QgYmUgcG9zaXRpdmUuJyk7XG4gIH1cbiAgLy8gYSkgQ2hlY2sgdGhhdCAkTiQgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFuZCBpcyBub3QgZGl2aXNpYmxlIGJ5IGFsbFxuICAvLyB0aGUgcHJpbWVzIGxlc3MgdGhhbiAkXFxhbHBoYSQuXG4gIGlmIChuIDw9IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKGFscGhhICE9PSAzMTk1NjcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIGFscGhhIHZhbHVlJyk7XG4gIH1cbiAgZm9yIChjb25zdCBwcmltZSBvZiBwcmltZXNTbWFsbGVyVGhhbjMxOTU2Nykge1xuICAgIGlmIChuICUgQmlnSW50KHByaW1lKSA9PT0gQmlnSW50KDApKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIC8vIGIpIENoZWNrIHRoYXQgJFxcc2lnbWFfaSQgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyICRpID0gMS4uLm0kLlxuICBpZiAoc2lnbWEubGVuZ3RoICE9PSBtKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICghc2lnbWEuZXZlcnkoKHNpZ21hX2kpID0+IHNpZ21hX2kgPiAwKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBjKSBWZXJpZnkgdGhhdCAkcF9pID0gXFxzaWdtYV9pXk4gXFxtb2QgTiQgZm9yICRpID0gMS4uLm0kLlxuICBmb3IgKGxldCBpID0gMDsgaSA8IG07IGkrKykge1xuICAgIGlmIChwW2ldICE9PSBtb2RQb3coc2lnbWFbaV0sIG4sIG4pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbGxpZXJwcm9vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90c3MvZWNkc2EvcGFpbGxpZXJwcm9vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBZ0Q7QUFDaEQsdURBQWtEO0FBRWxELHFDQUEyRDtBQUMzRCxtQ0FBOEM7QUFDOUMscUNBQW1EO0FBRW5ELHVCQUF1QjtBQUN2QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDZCwrQ0FBK0M7QUFDL0Msb0VBQW9FO0FBQ3ZELFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBSyxDQUFDLENBQUMsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLFNBQVMsQ0FBQyxDQUFTO0lBQ3ZDLElBQUksSUFBQSwrQkFBUyxFQUFDLENBQUMsQ0FBQyxHQUFHLDJCQUFtQixFQUFFO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELDJCQUFtQixFQUFFLENBQUMsQ0FBQztLQUNwRztJQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsS0FBSyxDQUFDLFNBQUMsQ0FBQztTQUNMLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxvQ0FBNkIsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBQ0osQ0FBQztBQVRELDhCQVNDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQVMsRUFBRSxNQUFjLEVBQUUsQ0FBZ0I7SUFDL0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDcEU7SUFDRCxNQUFNLEtBQUssR0FBRyxJQUFBLHlCQUFNLEVBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBQSx5QkFBTSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBTkQsc0JBTUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLE1BQU0sQ0FBQyxDQUFTLEVBQUUsQ0FBZ0IsRUFBRSxLQUFvQjtJQUN0RSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztLQUNwRTtJQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQzFFO0lBQ0Qsc0VBQXNFO0lBQ3RFLGlDQUFpQztJQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxhQUFLLEtBQUssTUFBTSxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQUM1QztJQUNELEtBQUssTUFBTSxLQUFLLElBQUksZ0NBQXVCLEVBQUU7UUFDM0MsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCw4REFBOEQ7SUFDOUQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQUMsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRTtRQUMxQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsNERBQTREO0lBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBQSx5QkFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBbENELHdCQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpdExlbmd0aCB9IGZyb20gJ2JpZ2ludC1jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgbW9kSW52LCBtb2RQb3cgfSBmcm9tICdiaWdpbnQtbW9kLWFyaXRoJztcblxuaW1wb3J0IHsgcmFuZG9tUG9zaXRpdmVDb1ByaW1lTGVzc1RoYW4gfSBmcm9tICcuLi8uLi91dGlsJztcbmltcG9ydCB7IG1pbk1vZHVsdXNCaXRMZW5ndGggfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IHByaW1lc1NtYWxsZXJUaGFuMzE5NTY3IH0gZnJvbSAnLi9wcmltZXMnO1xuXG4vLyBTZWN1cml0eSBwYXJhbWV0ZXJzLlxuY29uc3QgayA9IDEyODtcbi8vIGVwcmludC5pYWNyLm9yZy8yMDE4LzA1Ny5wZGYjcGFnZTYgc2VjdGlvbiA1XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQml0R28vQml0R29KUy9wdWxsLzM1MDIjZGlzY3Vzc2lvbl9yMTIwMzA3MDM5MlxuZXhwb3J0IGNvbnN0IGFscGhhID0gMzE5NTY3O1xuZXhwb3J0IGNvbnN0IG0gPSBNYXRoLmNlaWwoayAvIE1hdGgubG9nMihhbHBoYSkpO1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgc2V0IG9mIGNoYWxsZW5nZXMgJHAkIGZvciBhIGdpdmVuIHBhaWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1cyAkbiQuXG4gKiBAcGFyYW0gbiAtIHBhaWxsaWVyIHB1YmxpYyBrZXkgbW9kdWx1c1xuICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8YmlnaW50Pj59IC0gYXJyYXkgb2YgY2hhbGxlbmdlcyAkcF9pJFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVQKG46IGJpZ2ludCk6IFByb21pc2U8QXJyYXk8YmlnaW50Pj4ge1xuICBpZiAoYml0TGVuZ3RoKG4pIDwgbWluTW9kdWx1c0JpdExlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgbW9kdWx1cyBuIG11c3QgaGF2ZSBhIGJpdCBsZW5ndGggbGFyZ2VyIHRoYW4gb3IgZXF1YWwgdG8gJHttaW5Nb2R1bHVzQml0TGVuZ3RofWApO1xuICB9XG4gIHJldHVybiBQcm9taXNlLmFsbChcbiAgICBBcnJheShtKVxuICAgICAgLmZpbGwobnVsbClcbiAgICAgIC5tYXAoKCkgPT4gcmFuZG9tUG9zaXRpdmVDb1ByaW1lTGVzc1RoYW4obikpXG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzZXQgb2YgcHJvb2ZzICRzaWdtYSQgZm9yIGEgZ2l2ZW4gc2V0IG9mIGNoYWxsZW5nZXMgJHAkIHVzaW5nIHRoZSBwYWlsbGllciBwdWJsaWMga2V5IG1vZHVsdXMgJG4kIGFuZCB0aGUgcHJpdmF0ZSBrZXkgJFxcbGFtYmRhJC5cbiAqIEBwYXJhbSBuIC0gcGFpbGxpZXIgcHVibGljIGtleSBtb2R1bHVzICRuJFxuICogQHBhcmFtIGxhbWJkYSAtIHByaXZhdGUga2V5ICRcXGxhbWJkYSwgIHdoaWNoIGlzIHRoZSAkXFxldWxlcihOKSA9IChwLTEpKHEtMSkkXG4gKiBAcGFyYW0gcCAtIGFycmF5IG9mIGNoYWxsZW5nZXMgJHAkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxiaWdpbnQ+Pn0gLSBhcnJheSBvZiBwcm9vZnMgJFxcc2lnbWEkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92ZShuOiBiaWdpbnQsIGxhbWJkYTogYmlnaW50LCBwOiBBcnJheTxiaWdpbnQ+KTogYmlnaW50W10ge1xuICBpZiAoIXAuZXZlcnkoKHBfaSkgPT4gcF9pID4gMCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0FsbCBwYWlsbGllciBjaGFsbGVuZ2UgdmFsdWVzIG11c3QgYmUgcG9zaXRpdmUuJyk7XG4gIH1cbiAgY29uc3Qgbl9pbnYgPSBtb2RJbnYobiwgbGFtYmRhKTtcbiAgcmV0dXJuIHAubWFwKChwX2kpID0+IG1vZFBvdyhwX2ksIG5faW52LCBuKSk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGEgc2V0IG9mIHByb29mcyAkXFxzaWdtYSQgb24gdGhlIG1vZHVsdXMgJG4kIHVzaW5nIHRoZSBjaGFsbGVuZ2VzICRwJCB0aGF0IHdlcmUgcHJvdmlkZWQgdG8gdGhlIHByb3ZlciB0byBnZW5lcmF0ZSB0aGUgcHJvb2ZzLlxuICogQHBhcmFtIG4gLSBwYWlsbGllciBwdWJsaWMga2V5IG1vZHVsdXMgJG4kXG4gKiBAcGFyYW0gcCAtIGFycmF5IG9mIGNoYWxsZW5nZXMgJHAkXG4gKiBAcGFyYW0gc2lnbWEgLSBhcnJheSBvZiBwcm9vZnMgJFxcc2lnbWEkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnkobjogYmlnaW50LCBwOiBBcnJheTxiaWdpbnQ+LCBzaWdtYTogQXJyYXk8YmlnaW50Pik6IGJvb2xlYW4ge1xuICBpZiAoIXAuZXZlcnkoKHBfaSkgPT4gcF9pID4gMCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0FsbCBwYWlsbGllciBjaGFsbGVuZ2UgdmFsdWVzIG11c3QgYmUgcG9zaXRpdmUuJyk7XG4gIH1cbiAgaWYgKCFzaWdtYS5ldmVyeSgoc2lnbWFfaSkgPT4gc2lnbWFfaSA+IDApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBbGwgcGFpbGxpZXIgY2hhbGxlbmdlIHByb29mIHZhbHVlcyBtdXN0IGJlIHBvc2l0aXZlLicpO1xuICB9XG4gIC8vIGEpIENoZWNrIHRoYXQgJE4kIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBhbmQgaXMgbm90IGRpdmlzaWJsZSBieSBhbGxcbiAgLy8gdGhlIHByaW1lcyBsZXNzIHRoYW4gJFxcYWxwaGEkLlxuICBpZiAobiA8PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChhbHBoYSAhPT0gMzE5NTY3KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCBhbHBoYSB2YWx1ZScpO1xuICB9XG4gIGZvciAoY29uc3QgcHJpbWUgb2YgcHJpbWVzU21hbGxlclRoYW4zMTk1NjcpIHtcbiAgICBpZiAobiAlIEJpZ0ludChwcmltZSkgPT09IEJpZ0ludCgwKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICAvLyBiKSBDaGVjayB0aGF0ICRcXHNpZ21hX2kkIGlzIGEgcG9zaXRpdmUgaW50ZWdlciAkaSA9IDEuLi5tJC5cbiAgaWYgKHNpZ21hLmxlbmd0aCAhPT0gbSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIXNpZ21hLmV2ZXJ5KChzaWdtYV9pKSA9PiBzaWdtYV9pID4gMCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gYykgVmVyaWZ5IHRoYXQgJHBfaSA9IFxcc2lnbWFfaV5OIFxcbW9kIE4kIGZvciAkaSA9IDEuLi5tJC5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtOyBpKyspIHtcbiAgICBpZiAocFtpXSAhPT0gbW9kUG93KHNpZ21hW2ldLCBuLCBuKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
@@ -1,14 +1,13 @@
1
1
  import { BaseCurve } from '../../curves';
2
2
  import { PublicKey } from 'paillier-bigint';
3
3
  import { DeserializedNtilde, DeserializedNtildeProof, RangeProof, RangeProofWithCheck, DeserializedNtildeWithProofs } from './types';
4
- export declare function generateSafePrimes(bitLengths: number[]): Promise<bigint[]>;
5
4
  /**
6
5
  * Generate "challenge" values for range proofs.
7
6
  * @param {number} bitlength The bit length of the modulus to generate. This should
8
7
  * be the same as the bit length of the paillier public keys used for MtA.
9
8
  * @returns {DeserializedNtilde} The generated Ntilde values.
10
9
  */
11
- export declare function generateNtilde(bitlength?: number): Promise<DeserializedNtildeWithProofs>;
10
+ export declare function generateNtilde(openSSLBytes: Uint8Array, bitlength?: number): Promise<DeserializedNtildeWithProofs>;
12
11
  /**
13
12
  * Generate iterations of Ntilde, h1, h2 discrete log proofs.
14
13
  * @param {DeserializedNtilde} ntilde Ntilde, h1, h2 to generate the proofs for.
@@ -1 +1 @@
1
- {"version":3,"file":"rangeproof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/rangeproof.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAEvB,UAAU,EACV,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAQjB,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOhF;AAwBD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,SAAS,SAAsB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA2C3G;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,uBAAuB,CAAC,CAsBlC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,uBAAuB,GACnC,OAAO,CAAC,OAAO,CAAC,CA0ClB;AACD;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,UAAU,EACjB,CAAC,EAAE,MAAM,GACR,OAAO,CAgCT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,mBAAmB,CAAC,CAoD9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,mBAAmB,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,GACR,OAAO,CAiET"}
1
+ {"version":3,"file":"rangeproof.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa/rangeproof.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAEvB,UAAU,EACV,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAkCjB;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,UAAU,EACxB,SAAS,SAAsB,GAC9B,OAAO,CAAC,4BAA4B,CAAC,CA2CvC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,uBAAuB,CAAC,CAsBlC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,uBAAuB,GACnC,OAAO,CAAC,OAAO,CAAC,CA0ClB;AACD;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,UAAU,EACjB,CAAC,EAAE,MAAM,GACR,OAAO,CAmCT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,mBAAmB,CAAC,CAoD9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,mBAAmB,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,GACR,OAAO,CAiET"}