@private.me/xbind 1.2.17 → 1.3.5

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 (77) hide show
  1. package/README.md +97 -7
  2. package/dist-standalone/_deps/crypto/base64.js +212 -87
  3. package/dist-standalone/_deps/crypto/cjs/base64.js +653 -91
  4. package/dist-standalone/_deps/crypto/cjs/errors.js +658 -102
  5. package/dist-standalone/_deps/crypto/cjs/hmac.js +468 -66
  6. package/dist-standalone/_deps/crypto/cjs/index.js +848 -82
  7. package/dist-standalone/_deps/crypto/cjs/package.json +1 -0
  8. package/dist-standalone/_deps/crypto/cjs/padding.js +504 -50
  9. package/dist-standalone/_deps/crypto/cjs/share-header.js +369 -65
  10. package/dist-standalone/_deps/crypto/cjs/shares.js +865 -143
  11. package/dist-standalone/_deps/crypto/cjs/tlv.js +1005 -183
  12. package/dist-standalone/_deps/crypto/cjs/uuid.js +437 -55
  13. package/dist-standalone/_deps/crypto/cjs/verify.js +414 -24
  14. package/dist-standalone/_deps/crypto/cjs/xorida.js +888 -186
  15. package/dist-standalone/_deps/crypto/errors.js +179 -89
  16. package/dist-standalone/_deps/crypto/hmac.js +129 -61
  17. package/dist-standalone/_deps/crypto/index.js +140 -40
  18. package/dist-standalone/_deps/crypto/padding.js +151 -45
  19. package/dist-standalone/_deps/crypto/share-header.js +89 -60
  20. package/dist-standalone/_deps/crypto/shares.js +280 -133
  21. package/dist-standalone/_deps/crypto/tlv.js +348 -179
  22. package/dist-standalone/_deps/crypto/uuid.js +130 -50
  23. package/dist-standalone/_deps/crypto/verify.js +71 -15
  24. package/dist-standalone/_deps/crypto/xorida.js +332 -181
  25. package/dist-standalone/_deps/shared/cjs/errors.js +582 -525
  26. package/dist-standalone/_deps/shared/cjs/index.js +413 -409
  27. package/dist-standalone/_deps/shared/cjs/types.js +262 -348
  28. package/dist-standalone/_deps/shared/errors.d.ts +7 -1
  29. package/dist-standalone/_deps/shared/errors.d.ts.map +1 -1
  30. package/dist-standalone/_deps/shared/errors.js +229 -166
  31. package/dist-standalone/_deps/shared/errors.js.map +1 -1
  32. package/dist-standalone/_deps/shared/index.js +50 -54
  33. package/dist-standalone/_deps/shared/types.js +61 -60
  34. package/dist-standalone/_deps/ux-helpers/cjs/errors.js +1 -1
  35. package/dist-standalone/_deps/ux-helpers/cjs/pagination.js +1 -1
  36. package/dist-standalone/_deps/ux-helpers/cjs/progress.js +1 -1
  37. package/dist-standalone/_deps/ux-helpers/cjs/search.js +1 -1
  38. package/dist-standalone/_deps/ux-helpers/errors.js +1 -1
  39. package/dist-standalone/_deps/ux-helpers/pagination.js +1 -1
  40. package/dist-standalone/_deps/ux-helpers/progress.js +1 -1
  41. package/dist-standalone/_deps/ux-helpers/search.js +1 -1
  42. package/dist-standalone/_deps/xchange/auto-accept.js +1 -1
  43. package/dist-standalone/_deps/xchange/cjs/auto-accept.js +1 -1
  44. package/dist-standalone/_deps/xchange/cjs/errors.js +1 -1
  45. package/dist-standalone/_deps/xchange/cjs/index.js +1 -1
  46. package/dist-standalone/_deps/xchange/cjs/invite-client.js +1 -1
  47. package/dist-standalone/_deps/xchange/cjs/lazy-init.js +1 -1
  48. package/dist-standalone/_deps/xchange/cjs/trust-integration.js +1 -1
  49. package/dist-standalone/_deps/xchange/cjs/xchange.js +1 -1
  50. package/dist-standalone/_deps/xchange/errors.js +1 -1
  51. package/dist-standalone/_deps/xchange/index.js +1 -1
  52. package/dist-standalone/_deps/xchange/invite-client.js +1 -1
  53. package/dist-standalone/_deps/xchange/lazy-init.js +1 -1
  54. package/dist-standalone/_deps/xchange/trust-integration.js +1 -1
  55. package/dist-standalone/_deps/xchange/xchange.js +1 -1
  56. package/dist-standalone/_deps/xregistry/cjs/discovery.js +1 -1
  57. package/dist-standalone/_deps/xregistry/cjs/errors.js +1 -1
  58. package/dist-standalone/_deps/xregistry/cjs/index.js +1 -1
  59. package/dist-standalone/_deps/xregistry/cjs/registry.js +1 -1
  60. package/dist-standalone/_deps/xregistry/cjs/schema.js +1 -1
  61. package/dist-standalone/_deps/xregistry/cjs/types.js +1 -1
  62. package/dist-standalone/_deps/xregistry/discovery.js +1 -1
  63. package/dist-standalone/_deps/xregistry/errors.js +1 -1
  64. package/dist-standalone/_deps/xregistry/index.js +1 -1
  65. package/dist-standalone/_deps/xregistry/registry.js +1 -1
  66. package/dist-standalone/_deps/xregistry/schema.js +1 -1
  67. package/dist-standalone/_deps/xregistry/types.js +1 -1
  68. package/dist-standalone/cjs/identity.js +2 -3
  69. package/dist-standalone/cli/setup.d.ts +52 -0
  70. package/dist-standalone/cli/setup.js +515 -0
  71. package/dist-standalone/cli/types.d.ts +79 -0
  72. package/dist-standalone/cli/types.js +27 -0
  73. package/dist-standalone/cli/xbind.d.ts +20 -0
  74. package/dist-standalone/cli/xbind.js +149 -0
  75. package/dist-standalone/identity.js +2 -3
  76. package/package.json +3 -2
  77. package/share1.dat +0 -0
@@ -1,71 +1,473 @@
1
- "use strict";
2
- /**
3
- * HMAC-SHA256 integrity verification using Web Crypto API.
4
- *
5
- * Provides message-level integrity for the XorIDA pipeline.
6
- * The HMAC is computed over the padded payload (after TLV serialization + PKCS#7 padding)
7
- * and verified after reconstruction, before unpadding.
8
- *
9
- * Uses crypto.subtle for constant-time verification (no manual byte comparison).
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.generateHMAC = generateHMAC;
13
- exports.verifyHMAC = verifyHMAC;
14
- exports.signHMAC = signHMAC;
15
- /** HMAC key length in bytes. */
16
- const HMAC_KEY_LENGTH = 32;
17
- /** HMAC algorithm config. */
18
- const HMAC_ALGO = { name: 'HMAC', hash: 'SHA-256' };
19
- /** Copy a Uint8Array into a fresh ArrayBuffer (avoids SharedArrayBuffer type issues). */
20
- function toArrayBuffer(data) {
21
- const buf = new ArrayBuffer(data.byteLength);
22
- new Uint8Array(buf).set(data);
23
- return buf;
1
+ 'use strict';
2
+ (function (_0x57eaa7, _0x5dc11c) {
3
+ const a2_0x5d95a0 = {
4
+ _0x4364ac: 0x1ed,
5
+ _0x41a95f: 0x1fb,
6
+ _0x1fe806: 0x1c3,
7
+ _0x4a7bf5: 0x212,
8
+ _0x12d955: 0x215
9
+ }, _0xae67b4 = a2_0x4c78, _0x5bef34 = _0x57eaa7();
10
+ while (!![]) {
11
+ try {
12
+ const _0x5c21a8 = -parseInt(_0xae67b4(0x21b)) / 0x1 + parseInt(_0xae67b4(0x1da)) / 0x2 * (parseInt(_0xae67b4(0x1d6)) / 0x3) + -parseInt(_0xae67b4(a2_0x5d95a0._0x4364ac)) / 0x4 + parseInt(_0xae67b4(0x1ca)) / 0x5 * (parseInt(_0xae67b4(0x1fa)) / 0x6) + -parseInt(_0xae67b4(a2_0x5d95a0._0x41a95f)) / 0x7 * (-parseInt(_0xae67b4(a2_0x5d95a0._0x1fe806)) / 0x8) + parseInt(_0xae67b4(0x1e1)) / 0x9 * (parseInt(_0xae67b4(a2_0x5d95a0._0x4a7bf5)) / 0xa) + parseInt(_0xae67b4(a2_0x5d95a0._0x12d955)) / 0xb * (-parseInt(_0xae67b4(0x1cb)) / 0xc);
13
+ if (_0x5c21a8 === _0x5dc11c)
14
+ break;
15
+ else
16
+ _0x5bef34['push'](_0x5bef34['shift']());
17
+ } catch (_0x13a540) {
18
+ _0x5bef34['push'](_0x5bef34['shift']());
19
+ }
20
+ }
21
+ }(a2_0x231f, 0xcc373));
22
+ function a2_0x4c78(_0x3d8fdf, _0x74dd11) {
23
+ _0x3d8fdf = _0x3d8fdf - 0x1b9;
24
+ const _0x231f6b = a2_0x231f();
25
+ let _0x4c78e6 = _0x231f6b[_0x3d8fdf];
26
+ if (a2_0x4c78['UVJlqS'] === undefined) {
27
+ var _0x20de39 = function (_0x694b84) {
28
+ const _0x34c849 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
29
+ let _0x5d3b1d = '', _0x25849b = '';
30
+ for (let _0x2f5690 = 0x0, _0x13f98f, _0x4179bf, _0x10d6e6 = 0x0; _0x4179bf = _0x694b84['charAt'](_0x10d6e6++); ~_0x4179bf && (_0x13f98f = _0x2f5690 % 0x4 ? _0x13f98f * 0x40 + _0x4179bf : _0x4179bf, _0x2f5690++ % 0x4) ? _0x5d3b1d += String['fromCharCode'](0xff & _0x13f98f >> (-0x2 * _0x2f5690 & 0x6)) : 0x0) {
31
+ _0x4179bf = _0x34c849['indexOf'](_0x4179bf);
32
+ }
33
+ for (let _0x5a4fbc = 0x0, _0x3e840c = _0x5d3b1d['length']; _0x5a4fbc < _0x3e840c; _0x5a4fbc++) {
34
+ _0x25849b += '%' + ('00' + _0x5d3b1d['charCodeAt'](_0x5a4fbc)['toString'](0x10))['slice'](-0x2);
35
+ }
36
+ return decodeURIComponent(_0x25849b);
37
+ };
38
+ a2_0x4c78['kUMckQ'] = _0x20de39, a2_0x4c78['udBIOO'] = {}, a2_0x4c78['UVJlqS'] = !![];
39
+ }
40
+ const _0xacbdec = _0x231f6b[0x0], _0x3f5640 = _0x3d8fdf + _0xacbdec, _0x5e4de6 = a2_0x4c78['udBIOO'][_0x3f5640];
41
+ return !_0x5e4de6 ? (_0x4c78e6 = a2_0x4c78['kUMckQ'](_0x4c78e6), a2_0x4c78['udBIOO'][_0x3f5640] = _0x4c78e6) : _0x4c78e6 = _0x5e4de6, _0x4c78e6;
24
42
  }
25
- /**
26
- * Import a raw key buffer for HMAC operations.
27
- * Copies to a fresh ArrayBuffer to satisfy Web Crypto API typing.
28
- */
29
- async function importKey(keyBytes, usage) {
30
- return crypto.subtle.importKey('raw', toArrayBuffer(keyBytes), HMAC_ALGO, false, [usage]);
43
+ const a3_0x53e374 = a3_0x583d;
44
+ (function (_0x840bb8, _0x276297) {
45
+ const a2_0x245735 = {
46
+ _0x55014f: 0x1d8,
47
+ _0x31498e: 0x207,
48
+ _0xec2d64: 0x1c5,
49
+ _0x435663: 0x1fd,
50
+ _0x5e7678: 0x1f7,
51
+ _0x23837c: 0x203,
52
+ _0xcbdf5a: 0x1f4,
53
+ _0x1e7677: 0x1f4,
54
+ _0x15167a: 0x1bb,
55
+ _0x3bfc0f: 0x1cd
56
+ }, _0x2c3109 = a2_0x4c78, _0x3fe7ad = {
57
+ 'OKNPn': function (_0x23fec9, _0x920300) {
58
+ return _0x23fec9 + _0x920300;
59
+ },
60
+ 'qOLHV': function (_0x52b6bc, _0x32fb61) {
61
+ return _0x52b6bc + _0x32fb61;
62
+ },
63
+ 'TRCaL': function (_0x18ca86, _0x489344) {
64
+ return _0x18ca86 / _0x489344;
65
+ },
66
+ 'iqRTa': function (_0x219def, _0x1a9234) {
67
+ return _0x219def(_0x1a9234);
68
+ },
69
+ 'JkUpQ': function (_0xda58d7, _0x33ba68) {
70
+ return _0xda58d7(_0x33ba68);
71
+ },
72
+ 'JbmMz': function (_0x1939c1, _0x46171b) {
73
+ return _0x1939c1(_0x46171b);
74
+ },
75
+ 'QYBWF': function (_0x157a47, _0x4c0dcf) {
76
+ return _0x157a47(_0x4c0dcf);
77
+ },
78
+ 'wuxmx': function (_0x6a73d4, _0x444cef) {
79
+ return _0x6a73d4(_0x444cef);
80
+ },
81
+ 'aiVgt': function (_0x2f6afd, _0x217cc8) {
82
+ return _0x2f6afd * _0x217cc8;
83
+ },
84
+ 'ekbBr': function (_0x714385, _0x1f1c90) {
85
+ return _0x714385(_0x1f1c90);
86
+ },
87
+ 'dYzXy': function (_0x3754ea, _0x5e7238) {
88
+ return _0x3754ea(_0x5e7238);
89
+ },
90
+ 'zLxMw': function (_0x2b1b9d, _0x446f23) {
91
+ return _0x2b1b9d(_0x446f23);
92
+ },
93
+ 'hvYbE': function (_0x33d297, _0x2fc845) {
94
+ return _0x33d297(_0x2fc845);
95
+ },
96
+ 'FjAuq': 'push',
97
+ 'eGkyM': _0x2c3109(a2_0x245735._0x55014f)
98
+ }, _0x27b614 = {
99
+ '_0x2d4bd4': 0xe6,
100
+ '_0x532158': 0xd5,
101
+ '_0x5a4cae': 0xed,
102
+ '_0x5e7fe6': 0xef,
103
+ '_0x3481ee': 0xe7
104
+ }, _0x2210b4 = a3_0x583d, _0xf0d16c = _0x840bb8();
105
+ while (!![]) {
106
+ try {
107
+ const _0x307947 = _0x3fe7ad['OKNPn'](_0x3fe7ad[_0x2c3109(0x1dc)](_0x3fe7ad[_0x2c3109(0x1f4)](-_0x3fe7ad['iqRTa'](parseInt, _0x3fe7ad[_0x2c3109(a2_0x245735._0x31498e)](_0x2210b4, 0xda)), 0x1) * (_0x3fe7ad[_0x2c3109(a2_0x245735._0x31498e)](parseInt, _0x3fe7ad[_0x2c3109(0x207)](_0x2210b4, _0x27b614[_0x2c3109(a2_0x245735._0xec2d64)])) / 0x2) + _0x3fe7ad[_0x2c3109(a2_0x245735._0x435663)](parseInt, _0x3fe7ad['QYBWF'](_0x2210b4, 0xea)) / 0x3, -parseInt(_0x3fe7ad[_0x2c3109(0x1e9)](_0x2210b4, _0x27b614[_0x2c3109(0x1d4)])) / 0x4) + _0x3fe7ad['aiVgt'](_0x3fe7ad['TRCaL'](-_0x3fe7ad[_0x2c3109(a2_0x245735._0x5e7678)](parseInt, _0x3fe7ad['dYzXy'](_0x2210b4, 0xf0)), 0x5), _0x3fe7ad[_0x2c3109(0x1f4)](parseInt(_0x2210b4(0xdc)), 0x6)) + _0x3fe7ad['TRCaL'](_0x3fe7ad['zLxMw'](parseInt, _0x2210b4(_0x27b614[_0x2c3109(a2_0x245735._0x23837c)])), 0x7), _0x3fe7ad['aiVgt'](_0x3fe7ad[_0x2c3109(a2_0x245735._0xcbdf5a)](-parseInt(_0x2210b4(0xd8)), 0x8), _0x3fe7ad[_0x2c3109(a2_0x245735._0x1e7677)](-_0x3fe7ad[_0x2c3109(0x1f9)](parseInt, _0x2210b4(_0x27b614[_0x2c3109(0x1e8)])), 0x9))) + -parseInt(_0x2210b4(_0x27b614[_0x2c3109(0x210)])) / 0xa * _0x3fe7ad[_0x2c3109(a2_0x245735._0xcbdf5a)](_0x3fe7ad[_0x2c3109(0x1f7)](parseInt, _0x3fe7ad[_0x2c3109(0x1fd)](_0x2210b4, 0xd3)), 0xb);
108
+ if (_0x307947 === _0x276297)
109
+ break;
110
+ else
111
+ _0xf0d16c[_0x3fe7ad[_0x2c3109(a2_0x245735._0x15167a)]](_0xf0d16c[_0x2c3109(0x1d8)]());
112
+ } catch (_0x4fe874) {
113
+ _0xf0d16c[_0x3fe7ad['FjAuq']](_0xf0d16c[_0x3fe7ad[_0x2c3109(a2_0x245735._0x3bfc0f)]]());
114
+ }
115
+ }
116
+ }(a3_0x2211, 0x57e47));
117
+ function a3_0x583d(_0x181833, _0x3a4192) {
118
+ const a2_0x583caf = {
119
+ _0x325ac5: 0x1f8,
120
+ _0x566628: 0x218,
121
+ _0x25fbe3: 0x1f6,
122
+ _0xd9e962: 0x1cf,
123
+ _0x503acc: 0x1e7,
124
+ _0x3984cb: 0x1ce
125
+ }, a2_0x50e505 = {
126
+ _0x35da6e: 0x1c6,
127
+ _0x49f791: 0x1bd,
128
+ _0x1e9aad: 0x1bc,
129
+ _0xfff2f2: 0x219,
130
+ _0x2d0665: 0x20e,
131
+ _0x3b4cc3: 0x1e6
132
+ }, _0x4dc4bb = a2_0x4c78, _0x156525 = {
133
+ 'GrgQE': function (_0x336c25, _0x5dc838) {
134
+ return _0x336c25 % _0x5dc838;
135
+ },
136
+ 'qiGXB': function (_0x30d764, _0x8fa5f2) {
137
+ return _0x30d764 + _0x8fa5f2;
138
+ },
139
+ 'fSYag': _0x4dc4bb(0x217),
140
+ 'nLrAE': function (_0x415555, _0x173b6a) {
141
+ return _0x415555 >> _0x173b6a;
142
+ },
143
+ 'llKOW': _0x4dc4bb(0x205),
144
+ 'yqrhv': _0x4dc4bb(0x21d),
145
+ 'jeETb': function (_0x51f11d, _0x1d925e) {
146
+ return _0x51f11d + _0x1d925e;
147
+ },
148
+ 'nnrzm': _0x4dc4bb(a2_0x583caf._0x325ac5),
149
+ 'idvDA': _0x4dc4bb(a2_0x583caf._0x566628),
150
+ 'YVcHT': function (_0x21abfd, _0x220aeb) {
151
+ return _0x21abfd - _0x220aeb;
152
+ },
153
+ 'HavPi': function (_0x2145eb) {
154
+ return _0x2145eb();
155
+ },
156
+ 'gpFpt': _0x4dc4bb(0x1d9),
157
+ 'YkHzu': function (_0x9a1c10, _0x5744d8) {
158
+ return _0x9a1c10 + _0x5744d8;
159
+ },
160
+ 'dDshv': _0x4dc4bb(0x1cf)
161
+ };
162
+ _0x181833 = _0x156525[_0x4dc4bb(a2_0x583caf._0x25fbe3)](_0x181833, 0xd2);
163
+ const _0x3e5211 = _0x156525[_0x4dc4bb(0x20b)](a3_0x2211);
164
+ let _0x3e3b8c = _0x3e5211[_0x181833];
165
+ if (a3_0x583d[_0x156525[_0x4dc4bb(0x1dd)]] === undefined) {
166
+ var _0x53f926 = function (_0x52e2ac) {
167
+ const _0x318bce = a2_0x4c78, _0x5432ab = _0x318bce(a2_0x50e505._0x35da6e);
168
+ let _0x15042b = '', _0x492296 = '';
169
+ for (let _0x5f3da7 = 0x0, _0xbb5d66, _0x2dd2ad, _0x5d356c = 0x0; _0x2dd2ad = _0x52e2ac[_0x318bce(a2_0x50e505._0x49f791)](_0x5d356c++); ~_0x2dd2ad && (_0xbb5d66 = _0x156525[_0x318bce(a2_0x50e505._0x1e9aad)](_0x5f3da7, 0x4) ? _0x156525[_0x318bce(0x200)](_0xbb5d66 * 0x40, _0x2dd2ad) : _0x2dd2ad, _0x5f3da7++ % 0x4) ? _0x15042b += String[_0x156525[_0x318bce(a2_0x50e505._0xfff2f2)]](0xff & _0x156525[_0x318bce(a2_0x50e505._0x2d0665)](_0xbb5d66, -0x2 * _0x5f3da7 & 0x6)) : 0x0) {
170
+ _0x2dd2ad = _0x5432ab[_0x156525[_0x318bce(a2_0x50e505._0x3b4cc3)]](_0x2dd2ad);
171
+ }
172
+ for (let _0xebd895 = 0x0, _0x47608a = _0x15042b[_0x156525[_0x318bce(0x1e3)]]; _0xebd895 < _0x47608a; _0xebd895++) {
173
+ _0x492296 += _0x156525[_0x318bce(0x1c8)]('%', _0x156525[_0x318bce(0x200)]('00', _0x15042b[_0x156525[_0x318bce(0x1df)]](_0xebd895)[_0x156525[_0x318bce(0x1fc)]](0x10))['slice'](-0x2));
174
+ }
175
+ return decodeURIComponent(_0x492296);
176
+ };
177
+ a3_0x583d[_0x4dc4bb(0x1e7)] = _0x53f926, a3_0x583d[_0x4dc4bb(a2_0x583caf._0xd9e962)] = {}, a3_0x583d['xYemNJ'] = !![];
178
+ }
179
+ const _0x41ed91 = _0x3e5211[0x0], _0x59175e = _0x156525['YkHzu'](_0x181833, _0x41ed91), _0x2066f6 = a3_0x583d[_0x4dc4bb(0x1cf)][_0x59175e];
180
+ return !_0x2066f6 ? (_0x3e3b8c = a3_0x583d[_0x4dc4bb(a2_0x583caf._0x503acc)](_0x3e3b8c), a3_0x583d[_0x156525[_0x4dc4bb(a2_0x583caf._0x3984cb)]][_0x59175e] = _0x3e3b8c) : _0x3e3b8c = _0x2066f6, _0x3e3b8c;
31
181
  }
32
- /**
33
- * Generate a fresh random HMAC key and sign data with HMAC-SHA256.
34
- *
35
- * @param data - Bytes to sign (the padded payload)
36
- * @returns Object containing the raw key bytes and the 32-byte signature
37
- */
38
- async function generateHMAC(data) {
39
- const keyBytes = new Uint8Array(HMAC_KEY_LENGTH);
40
- crypto.getRandomValues(keyBytes);
41
- const cryptoKey = await importKey(keyBytes, 'sign');
42
- const sig = await crypto.subtle.sign('HMAC', cryptoKey, toArrayBuffer(data));
43
- return { key: keyBytes, signature: new Uint8Array(sig) };
182
+ Object[a3_0x53e374(0xe4)](exports, '__esModule', { 'value': !![] }), exports[a3_0x53e374(0xd6)] = generateHMAC, exports[a3_0x53e374(0xd7)] = verifyHMAC, exports[a3_0x53e374(0xdb)] = signHMAC;
183
+ const HMAC_KEY_LENGTH = 0x20, HMAC_ALGO = {
184
+ 'name': a3_0x53e374(0xdf),
185
+ 'hash': a3_0x53e374(0xe8)
186
+ };
187
+ function a2_0x231f() {
188
+ const _0x14ff25 = [
189
+ 'BNr5mg1AztbTmLHYCNvevNjx',
190
+ 'AenKr3q',
191
+ 'xZb4mti1ywuW',
192
+ 'Be5uu20',
193
+ 'xZb4ntmYmtu4',
194
+ 'uhfSDMO',
195
+ 'mtaYmeftCLn5CW',
196
+ 'BNrlm21kytf0mKriDuXquq',
197
+ 'C2HPzNq',
198
+ 'EfLLBu5k',
199
+ 'mZy5ne9Rv3f0vq',
200
+ 't1f1ANe',
201
+ 'Cu9msfy',
202
+ 'z3bgChq',
203
+ 'EvPMELO',
204
+ 'BM5YEM0',
205
+ 'EKzovKO',
206
+ 'our4uLfjBG',
207
+ 'ENfsDgy',
208
+ 'ExfYAhy',
209
+ 'xZb4mZDIoda2',
210
+ 'qZjmtKjlsg5XDw0',
211
+ 'BgXlt1C',
212
+ 'AuPADhPJ',
213
+ 'xZb4nwu3zMu2',
214
+ 'D3v4BxG',
215
+ 'DtbyANvNuW',
216
+ 'BgDeBKO',
217
+ 'A3bhCeK',
218
+ 'mtGXmJm4mer0D0XYrW',
219
+ 'B0zqALO',
220
+ 'yu1ttfC',
221
+ 'qxCXv0iZAJbZmNy1',
222
+ 'qZjmtKjh',
223
+ 'vwrnswm',
224
+ 'DhLZAfy',
225
+ 'vfjdyuW',
226
+ 'qZn2surNweW',
227
+ 'wvzJsfq',
228
+ 'zwTIqNi',
229
+ 'y2HHCKnVzgvbDa',
230
+ 'AhzzyKu',
231
+ 'nLbtBffREG',
232
+ 'n1D2zgTAvq',
233
+ 'Awr2ree',
234
+ 'sMjTtxO',
235
+ 'v0vhEwW',
236
+ 'xZb4ngrKzdHM',
237
+ 'CwLhwei',
238
+ 'xZb4mwiXytnL',
239
+ 'CZnQuef3zq',
240
+ 'xZb4nwe0y2fL',
241
+ 'A1bwrKK',
242
+ 'Aw5KzxHpzG',
243
+ 'B2rdww9KsdvbDZvQDtjX',
244
+ 'sMTvCfe',
245
+ 'DtbiyMX0AtfUrW',
246
+ 'AvLKyK4',
247
+ 'C2uXyNfx',
248
+ 'sgf2ugK',
249
+ 'swXrB1y',
250
+ 'q01MmW',
251
+ 'BKXYquu',
252
+ 'BxrIDxjlmvLYmK8',
253
+ 'xZb4mZq4mwvL',
254
+ 'DMvYAwz5',
255
+ 'ndC2ndi0mfj5zwnhsW',
256
+ 'rwDmwxmWqW',
257
+ 'ruTMy3qZrW',
258
+ 'mJjHvg1mq2O',
259
+ 'C2v0',
260
+ 'zNjVBunOyxjdB2rL',
261
+ 'Dg9tDhjPBMC',
262
+ 'zLnzywC',
263
+ 'BNHmDKrOtdrcvW',
264
+ 'mJa1mtuYB09XBe1t',
265
+ 'BKPlv21AsfjZmNj1rwz5',
266
+ 'BgvUz3rO',
267
+ 'BuP5ww1kztvVAfbbCtfYCxnx',
268
+ 'BxCXseiWugn6yq',
269
+ 'rMPbDxe',
270
+ 'r3jNuuu',
271
+ 'y2HHCKf0',
272
+ 'y3HzCM8',
273
+ 'xZb4ntHLy2i4',
274
+ 'tw5Ar3K',
275
+ 'EJj2vxP4AKHez3zPDhvMza',
276
+ 'AgTYsum',
277
+ 'nduWnJuXmMXKDLrjvq',
278
+ 'Ew1OB3q',
279
+ 'xZb4mMq0yMq0',
280
+ 'ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExPbqKneruzhseLks0XntK9quvjtvfvwv1HzwJaXmJm0nty3odKRlZ0',
281
+ 'swXvruS',
282
+ 'AMvfvgi',
283
+ 'xZb4mtrKzwi4',
284
+ 'mZe4nZuXmgPjwgP6Cq',
285
+ 'ndG2mZaZnKPIC1fIwG',
286
+ 'q3zpsK8',
287
+ 'zuDREu0',
288
+ 'zerZAhy',
289
+ 'r2jrAuzX'
290
+ ];
291
+ a2_0x231f = function () {
292
+ return _0x14ff25;
293
+ };
294
+ return a2_0x231f();
44
295
  }
45
- /**
46
- * Verify an HMAC-SHA256 signature using constant-time comparison.
47
- *
48
- * Uses crypto.subtle.verify() which is constant-time by specification.
49
- * NEVER manually compare HMAC bytes (timing attack risk).
50
- *
51
- * @param key - Raw HMAC key bytes (32 bytes)
52
- * @param data - Data that was signed
53
- * @param signature - Expected HMAC-SHA256 signature (32 bytes)
54
- * @returns true if signature is valid, false otherwise
55
- */
56
- async function verifyHMAC(key, data, signature) {
57
- const cryptoKey = await importKey(key, 'verify');
58
- return crypto.subtle.verify('HMAC', cryptoKey, toArrayBuffer(signature), toArrayBuffer(data));
296
+ function toArrayBuffer(_0x57040c) {
297
+ const a2_0x320622 = {
298
+ _0x4433fa: 0x1e4,
299
+ _0x226ac4: 0x1cc
300
+ }, _0x5bd52d = a2_0x4c78, _0x3304b9 = {
301
+ 'ymhot': function (_0x332ee4, _0x563765) {
302
+ return _0x332ee4(_0x563765);
303
+ },
304
+ 'CvOJO': _0x5bd52d(0x216)
305
+ }, _0x3c0f2f = { '_0x37b806': 0xe9 }, _0x4a087e = a3_0x583d, _0xd1c62 = new ArrayBuffer(_0x57040c[_0x3304b9[_0x5bd52d(0x1c4)](_0x4a087e, _0x3c0f2f[_0x5bd52d(a2_0x320622._0x4433fa)])]);
306
+ return new Uint8Array(_0xd1c62)[_0x3304b9[_0x5bd52d(a2_0x320622._0x226ac4)]](_0x57040c), _0xd1c62;
59
307
  }
60
- /**
61
- * Sign data with a provided HMAC key (for cases where the key is already known).
62
- *
63
- * @param key - Raw HMAC key bytes (32 bytes)
64
- * @param data - Bytes to sign
65
- * @returns 32-byte HMAC-SHA256 signature
66
- */
67
- async function signHMAC(key, data) {
68
- const cryptoKey = await importKey(key, 'sign');
69
- const sig = await crypto.subtle.sign('HMAC', cryptoKey, toArrayBuffer(data));
70
- return new Uint8Array(sig);
308
+ async function importKey(_0x52752e, _0xfa1424) {
309
+ const a2_0x16174f = {
310
+ _0x5770ab: 0x1ff,
311
+ _0x5a0b87: 0x1c0,
312
+ _0x3b802a: 0x1be
313
+ }, _0x59bf64 = a2_0x4c78, _0x7c2c7a = {
314
+ 'MnZGy': function (_0x13fc03, _0x2bca97) {
315
+ return _0x13fc03(_0x2bca97);
316
+ },
317
+ 'cxYro': function (_0x23fa5c, _0x36005c) {
318
+ return _0x23fa5c(_0x36005c);
319
+ }
320
+ }, _0x361198 = {
321
+ '_0x4ddd8f': 0xde,
322
+ '_0x2a13ac': 0xe0
323
+ }, _0x2e4a97 = a3_0x583d, _0x89ff76 = { 'Vwoup': _0x2e4a97(_0x361198[_0x59bf64(a2_0x16174f._0x5770ab)]) };
324
+ return crypto[_0x2e4a97(_0x361198['_0x2a13ac'])][_0x7c2c7a[_0x59bf64(a2_0x16174f._0x5a0b87)](_0x2e4a97, 0xee)](_0x89ff76['Vwoup'], _0x7c2c7a[_0x59bf64(a2_0x16174f._0x3b802a)](toArrayBuffer, _0x52752e), HMAC_ALGO, ![], [_0xfa1424]);
71
325
  }
326
+ async function generateHMAC(_0x502f98) {
327
+ const a2_0x47a8ff = {
328
+ _0x91e784: 0x1db,
329
+ _0x3f5921: 0x1eb,
330
+ _0x54338c: 0x1d1
331
+ }, _0x2d5588 = a2_0x4c78, _0x324d87 = {
332
+ 'lgDnJ': function (_0x562bd8, _0x1e427a) {
333
+ return _0x562bd8(_0x1e427a);
334
+ },
335
+ 'OQujq': 'subtle',
336
+ 'hCdGt': 'zFSxY'
337
+ }, _0x438d11 = { '_0x1aa99f': 0xdf }, _0x456c76 = a3_0x583d, _0x3692b8 = {
338
+ 'zFSxY': function (_0x3382e1, _0x1fae1a) {
339
+ const _0x143c7f = a2_0x4c78;
340
+ return _0x324d87[_0x143c7f(0x1eb)](_0x3382e1, _0x1fae1a);
341
+ }
342
+ }, _0x8bd71e = new Uint8Array(HMAC_KEY_LENGTH);
343
+ crypto[_0x456c76(0xd9)](_0x8bd71e);
344
+ const _0x105cbe = await importKey(_0x8bd71e, _0x456c76(0xe3)), _0x14aee5 = await crypto[_0x324d87[_0x2d5588(a2_0x47a8ff._0x91e784)]][_0x324d87[_0x2d5588(a2_0x47a8ff._0x3f5921)](_0x456c76, 0xe3)](_0x456c76(_0x438d11['_0x1aa99f']), _0x105cbe, _0x3692b8[_0x324d87[_0x2d5588(a2_0x47a8ff._0x54338c)]](toArrayBuffer, _0x502f98));
345
+ return {
346
+ 'key': _0x8bd71e,
347
+ 'signature': new Uint8Array(_0x14aee5)
348
+ };
349
+ }
350
+ async function verifyHMAC(_0x296361, _0x17964, _0x250118) {
351
+ const a2_0x8f91 = {
352
+ _0x471e80: 0x1de,
353
+ _0x491054: 0x209,
354
+ _0x4a57ca: 0x1e2,
355
+ _0x33b4ae: 0x1bf
356
+ }, _0x3059af = a2_0x4c78, _0x518fce = {
357
+ 'hkrIC': function (_0x51f9a0, _0x477999) {
358
+ return _0x51f9a0(_0x477999);
359
+ },
360
+ 'yZfzZ': function (_0x7345b0, _0x380fd7) {
361
+ return _0x7345b0(_0x380fd7);
362
+ },
363
+ 'iYdbN': _0x3059af(0x211),
364
+ 'zqRtf': function (_0x1614c3, _0x1ace6b) {
365
+ return _0x1614c3(_0x1ace6b);
366
+ }
367
+ }, _0x52111e = {
368
+ '_0x125ae0': 0xeb,
369
+ '_0x14deb8': 0xd4,
370
+ '_0xf359d2': 0xe0,
371
+ '_0x58ecb8': 0xe1
372
+ }, _0x361d9b = a3_0x583d, _0x1901a8 = {
373
+ 'SLIPk': function (_0x232dc2, _0x502693, _0x127e1c) {
374
+ return _0x232dc2(_0x502693, _0x127e1c);
375
+ },
376
+ 'xirKG': _0x361d9b(_0x52111e[_0x3059af(0x1d2)]),
377
+ 'jTgBq': _0x361d9b(0xdf),
378
+ 'iwjap': function (_0x25e8ec, _0x42f46b) {
379
+ const _0x2cf7e6 = a2_0x4c78;
380
+ return _0x518fce[_0x2cf7e6(0x1c2)](_0x25e8ec, _0x42f46b);
381
+ },
382
+ 'zABOx': function (_0x1ad58a, _0x3cd0f0) {
383
+ return _0x1ad58a(_0x3cd0f0);
384
+ }
385
+ }, _0x256cec = await _0x1901a8[_0x361d9b(_0x52111e[_0x3059af(0x1c9)])](importKey, _0x296361, _0x1901a8[_0x361d9b(0xec)]);
386
+ return crypto[_0x518fce[_0x3059af(a2_0x8f91._0x471e80)](_0x361d9b, _0x52111e['_0xf359d2'])][_0x518fce[_0x3059af(a2_0x8f91._0x491054)]](_0x1901a8[_0x518fce[_0x3059af(a2_0x8f91._0x4a57ca)](_0x361d9b, 0xd2)], _0x256cec, _0x1901a8[_0x361d9b(0xdd)](toArrayBuffer, _0x250118), _0x1901a8[_0x361d9b(_0x52111e[_0x3059af(a2_0x8f91._0x33b4ae)])](toArrayBuffer, _0x17964));
387
+ }
388
+ function a3_0x2211() {
389
+ const a2_0x44a9b2 = {
390
+ _0x569343: 0x1d7,
391
+ _0x53cc08: 0x1ba,
392
+ _0x1fe6dc: 0x1e5,
393
+ _0x2563a5: 0x213,
394
+ _0x4b1a1c: 0x1f0,
395
+ _0x2dc389: 0x21a,
396
+ _0x25a70c: 0x1ea,
397
+ _0x32a6e4: 0x1ec,
398
+ _0x52a70a: 0x1e0,
399
+ _0x54d1d6: 0x20c,
400
+ _0x15f1ff: 0x1f3,
401
+ _0x18e1bd: 0x20f,
402
+ _0x4c4212: 0x1ee,
403
+ _0x1b0c9c: 0x1fe
404
+ }, _0x51104a = a2_0x4c78, _0x378e2f = {
405
+ 'Pqlvj': _0x51104a(a2_0x44a9b2._0x569343),
406
+ 'UdMIc': 'ALrNqNe',
407
+ 'IlUEK': _0x51104a(0x206),
408
+ 'kpGpI': _0x51104a(0x1c1),
409
+ 'zFNVJ': 'z2v0uMfUzg9TvMfSDwvZ',
410
+ 'kPVFI': _0x51104a(a2_0x44a9b2._0x53cc08),
411
+ 'lNTSm': _0x51104a(a2_0x44a9b2._0x1fe6dc),
412
+ 'WcVfk': _0x51104a(0x1b9),
413
+ 'IlQoV': 'AxDQyxa',
414
+ 'ZnWLS': _0x51104a(0x1f5),
415
+ 'tyshV': 'zgvMAw5LuhjVCgvYDhK',
416
+ 'AgXwr': _0x51104a(0x21c),
417
+ 'oFPjZ': 'DMvYAwz5',
418
+ 'WEGyl': function (_0x5dab69) {
419
+ return _0x5dab69();
420
+ }
421
+ }, _0x41c3a1 = [
422
+ _0x51104a(a2_0x44a9b2._0x2563a5),
423
+ _0x378e2f[_0x51104a(0x1d5)],
424
+ _0x51104a(a2_0x44a9b2._0x4b1a1c),
425
+ 'nZjHuuzhq3K',
426
+ _0x51104a(a2_0x44a9b2._0x2dc389),
427
+ _0x378e2f[_0x51104a(0x1f2)],
428
+ _0x51104a(0x1d0),
429
+ _0x51104a(a2_0x44a9b2._0x25a70c),
430
+ _0x378e2f[_0x51104a(0x1c7)],
431
+ _0x378e2f[_0x51104a(a2_0x44a9b2._0x32a6e4)],
432
+ 'DMvYAwz5se1bqW',
433
+ 'nZa4ntiWtLDir1nM',
434
+ _0x378e2f[_0x51104a(a2_0x44a9b2._0x52a70a)],
435
+ _0x378e2f[_0x51104a(0x204)],
436
+ _0x378e2f[_0x51104a(0x1d3)],
437
+ _0x378e2f['WcVfk'],
438
+ _0x378e2f[_0x51104a(a2_0x44a9b2._0x54d1d6)],
439
+ _0x51104a(0x20d),
440
+ _0x51104a(0x20a),
441
+ _0x378e2f['ZnWLS'],
442
+ _0x51104a(0x214),
443
+ _0x51104a(0x202),
444
+ _0x51104a(0x1f1),
445
+ _0x378e2f[_0x51104a(a2_0x44a9b2._0x15f1ff)],
446
+ 'DM9Zvxq',
447
+ _0x378e2f['AgXwr'],
448
+ _0x51104a(a2_0x44a9b2._0x18e1bd),
449
+ _0x51104a(0x208),
450
+ 'yNL0zuXLBMD0Aa',
451
+ 'mtCXnZy3n3zOy2LMDq',
452
+ _0x378e2f[_0x51104a(a2_0x44a9b2._0x4c4212)]
453
+ ];
454
+ return a3_0x2211 = function () {
455
+ return _0x41c3a1;
456
+ }, _0x378e2f[_0x51104a(a2_0x44a9b2._0x1b0c9c)](a3_0x2211);
457
+ }
458
+ async function signHMAC(_0x333616, _0x5cb9bc) {
459
+ const a2_0x4ca88e = { _0xacad39: 0x201 }, _0x48a225 = a2_0x4c78, _0xc62e0c = {
460
+ 'aMSLW': function (_0x4fdce3, _0x5d447c) {
461
+ return _0x4fdce3(_0x5d447c);
462
+ }
463
+ }, _0x531388 = { '_0x1b1a3e': 0xe2 }, _0x38e43c = a3_0x583d, _0x4f477b = {
464
+ 'kThQS': function (_0x13703d, _0x2fb3bc, _0x36eed1) {
465
+ return _0x13703d(_0x2fb3bc, _0x36eed1);
466
+ },
467
+ 'vosUt': _0x38e43c(0xe3),
468
+ 'Kriia': function (_0x388b29, _0x509535) {
469
+ return _0xc62e0c['aMSLW'](_0x388b29, _0x509535);
470
+ }
471
+ }, _0x113727 = await _0x4f477b['kThQS'](importKey, _0x333616, _0x4f477b[_0x38e43c(0xe5)]), _0x39e9aa = await crypto[_0x38e43c(0xe0)][_0xc62e0c[_0x48a225(0x1ef)](_0x38e43c, 0xe3)](_0x38e43c(0xdf), _0x113727, _0x4f477b[_0x38e43c(_0x531388[_0x48a225(a2_0x4ca88e._0xacad39)])](toArrayBuffer, _0x5cb9bc));
472
+ return new Uint8Array(_0x39e9aa);
473
+ }