mte-relay-browser-public-client 4.4.5 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -0
- package/{src/mte-relay-browser.mjs → dist/index.mjs} +925 -934
- package/dist/types/cache.d.ts +96 -0
- package/dist/types/codec.d.ts +30 -0
- package/dist/types/config.d.ts +43 -0
- package/dist/types/constants.d.ts +27 -0
- package/dist/types/core.d.ts +16 -0
- package/dist/types/errors.d.ts +29 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/mte-helpers.d.ts +50 -0
- package/dist/types/mte-state.d.ts +18 -0
- package/dist/types/pairing.d.ts +17 -0
- package/dist/types/storage.d.ts +25 -0
- package/dist/types/types.d.ts +65 -0
- package/dist/types/utils.d.ts +51 -0
- package/package.json +31 -16
- package/src/mte-relay-browser.iife.js +0 -4
- package/src/mte-relay-browser.js +0 -4
|
@@ -1,38 +1,43 @@
|
|
|
1
|
-
function
|
|
1
|
+
function SA(A) {
|
|
2
2
|
if (Object.prototype.hasOwnProperty.call(A, "__esModule")) return A;
|
|
3
|
-
var
|
|
4
|
-
if (typeof
|
|
5
|
-
var
|
|
6
|
-
|
|
3
|
+
var s = A.default;
|
|
4
|
+
if (typeof s == "function") {
|
|
5
|
+
var C = function y() {
|
|
6
|
+
var G = !1;
|
|
7
|
+
try {
|
|
8
|
+
G = this instanceof y;
|
|
9
|
+
} catch {
|
|
10
|
+
}
|
|
11
|
+
return G ? Reflect.construct(s, arguments, this.constructor) : s.apply(this, arguments);
|
|
7
12
|
};
|
|
8
|
-
|
|
9
|
-
} else
|
|
10
|
-
return Object.defineProperty(
|
|
11
|
-
var
|
|
12
|
-
Object.defineProperty(
|
|
13
|
+
C.prototype = s.prototype;
|
|
14
|
+
} else C = {};
|
|
15
|
+
return Object.defineProperty(C, "__esModule", { value: !0 }), Object.keys(A).forEach(function(y) {
|
|
16
|
+
var G = Object.getOwnPropertyDescriptor(A, y);
|
|
17
|
+
Object.defineProperty(C, y, G.get ? G : {
|
|
13
18
|
enumerable: !0,
|
|
14
19
|
get: function() {
|
|
15
|
-
return A[
|
|
20
|
+
return A[y];
|
|
16
21
|
}
|
|
17
22
|
});
|
|
18
|
-
}),
|
|
23
|
+
}), C;
|
|
19
24
|
}
|
|
20
|
-
var
|
|
21
|
-
const
|
|
25
|
+
var iA = {};
|
|
26
|
+
const LA = {}, uA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
22
27
|
__proto__: null,
|
|
23
|
-
default:
|
|
24
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
25
|
-
var
|
|
26
|
-
function
|
|
27
|
-
return
|
|
28
|
-
var
|
|
29
|
-
function
|
|
30
|
-
return
|
|
31
|
-
a(
|
|
28
|
+
default: LA
|
|
29
|
+
}, Symbol.toStringTag, { value: "Module" })), pA = /* @__PURE__ */ SA(uA);
|
|
30
|
+
var yA;
|
|
31
|
+
function qA() {
|
|
32
|
+
return yA || (yA = 1, (function(A) {
|
|
33
|
+
var s = iA && iA.__awaiter || function(t, g, I, B) {
|
|
34
|
+
function E(i) {
|
|
35
|
+
return i instanceof I ? i : new I(function(a) {
|
|
36
|
+
a(i);
|
|
32
37
|
});
|
|
33
38
|
}
|
|
34
|
-
return new (I || (I = Promise))(function(
|
|
35
|
-
function
|
|
39
|
+
return new (I || (I = Promise))(function(i, a) {
|
|
40
|
+
function Q(f) {
|
|
36
41
|
try {
|
|
37
42
|
d(B.next(f));
|
|
38
43
|
} catch (n) {
|
|
@@ -47,48 +52,48 @@ function vA() {
|
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
54
|
function d(f) {
|
|
50
|
-
f.done ?
|
|
55
|
+
f.done ? i(f.value) : E(f.value).then(Q, c);
|
|
51
56
|
}
|
|
52
|
-
d((B = B.apply(
|
|
57
|
+
d((B = B.apply(t, g || [])).next());
|
|
53
58
|
});
|
|
54
59
|
};
|
|
55
60
|
Object.defineProperty(A, "__esModule", { value: !0 }), A.MteMem = A.MteWasm = A.MteKyber = A.MteKyberStatus = A.MteKyberStrength = A.MteRandom = A.MteSdrStorage = A.MteSdrCookie = A.MteSdrAbs = A.MteMkeDec = A.MteMkeEnc = A.MteDec = A.MteEnc = A.MteBase = A.MteInitInfo = A.MteHashes = A.MteCiphers = A.MteVerifiers = A.MteDrbgs = A.MteStatus = void 0;
|
|
56
|
-
var
|
|
57
|
-
(function(
|
|
58
|
-
|
|
59
|
-
})(
|
|
60
|
-
var
|
|
61
|
-
(function(
|
|
62
|
-
|
|
63
|
-
})(
|
|
64
|
-
var
|
|
65
|
-
(function(
|
|
66
|
-
|
|
67
|
-
})(
|
|
68
|
-
var
|
|
69
|
-
(function(
|
|
70
|
-
|
|
71
|
-
})(
|
|
72
|
-
var
|
|
73
|
-
(function(
|
|
74
|
-
|
|
75
|
-
})(
|
|
76
|
-
|
|
77
|
-
}(A.MteInitInfo || (A.MteInitInfo = {}));
|
|
78
|
-
class
|
|
61
|
+
var C;
|
|
62
|
+
(function(t) {
|
|
63
|
+
t[t.mte_status_success = 0] = "mte_status_success", t[t.mte_status_invalid_input = 1] = "mte_status_invalid_input", t[t.mte_status_unsupported = 2] = "mte_status_unsupported", t[t.mte_status_drbg_error = 3] = "mte_status_drbg_error", t[t.mte_status_drbg_catastrophic = 4] = "mte_status_drbg_catastrophic", t[t.mte_status_drbg_seedlife_reached = 5] = "mte_status_drbg_seedlife_reached", t[t.mte_status_cipher_test_failed = 6] = "mte_status_cipher_test_failed", t[t.mte_status_hash_test_failed = 7] = "mte_status_hash_test_failed", t[t.mte_status_output_inhibited = 8] = "mte_status_output_inhibited", t[t.mte_status_impl_error = 9] = "mte_status_impl_error", t[t.mte_status_license_error = 10] = "mte_status_license_error", t[t.mte_status_token_does_not_exist = 11] = "mte_status_token_does_not_exist", t[t.mte_status_checksum_mismatch = 12] = "mte_status_checksum_mismatch", t[t.mte_status_digest_mismatch = 13] = "mte_status_digest_mismatch", t[t.mte_status_time_before_exceeded = 14] = "mte_status_time_before_exceeded", t[t.mte_status_time_after_exceeded = 15] = "mte_status_time_after_exceeded", t[t.mte_status_seq_outside_window = 16] = "mte_status_seq_outside_window", t[t.mte_status_seq_async_replay = 17] = "mte_status_seq_async_replay", t[t.mte_status_seq_mismatch = 18] = "mte_status_seq_mismatch";
|
|
64
|
+
})(C = A.MteStatus || (A.MteStatus = {}));
|
|
65
|
+
var y;
|
|
66
|
+
(function(t) {
|
|
67
|
+
t[t.mte_drbgs_none = 0] = "mte_drbgs_none", t[t.mte_drbgs_increment = 1] = "mte_drbgs_increment", t[t.mte_drbgs_ctr_aes128_df = 2] = "mte_drbgs_ctr_aes128_df", t[t.mte_drbgs_ctr_aes128_nodf = 3] = "mte_drbgs_ctr_aes128_nodf", t[t.mte_drbgs_ctr_aes192_df = 4] = "mte_drbgs_ctr_aes192_df", t[t.mte_drbgs_ctr_aes192_nodf = 5] = "mte_drbgs_ctr_aes192_nodf", t[t.mte_drbgs_ctr_aes256_df = 6] = "mte_drbgs_ctr_aes256_df", t[t.mte_drbgs_ctr_aes256_nodf = 7] = "mte_drbgs_ctr_aes256_nodf", t[t.mte_drbgs_hash_sha1 = 8] = "mte_drbgs_hash_sha1", t[t.mte_drbgs_hash_sha256 = 9] = "mte_drbgs_hash_sha256", t[t.mte_drbgs_hash_sha512 = 10] = "mte_drbgs_hash_sha512";
|
|
68
|
+
})(y = A.MteDrbgs || (A.MteDrbgs = {}));
|
|
69
|
+
var G;
|
|
70
|
+
(function(t) {
|
|
71
|
+
t[t.mte_verifiers_none = 0] = "mte_verifiers_none", t[t.mte_verifiers_crc32 = 1] = "mte_verifiers_crc32", t[t.mte_verifiers_crc32_seq = 2] = "mte_verifiers_crc32_seq", t[t.mte_verifiers_seq = 3] = "mte_verifiers_seq", t[t.mte_verifiers_t64 = 4] = "mte_verifiers_t64", t[t.mte_verifiers_t64_crc32 = 5] = "mte_verifiers_t64_crc32", t[t.mte_verifiers_t64_crc32_seq = 6] = "mte_verifiers_t64_crc32_seq", t[t.mte_verifiers_t64_seq = 7] = "mte_verifiers_t64_seq";
|
|
72
|
+
})(G = A.MteVerifiers || (A.MteVerifiers = {}));
|
|
73
|
+
var u;
|
|
74
|
+
(function(t) {
|
|
75
|
+
t[t.mte_ciphers_none = 0] = "mte_ciphers_none", t[t.mte_ciphers_aes128_ctr = 1] = "mte_ciphers_aes128_ctr", t[t.mte_ciphers_aes192_ctr = 2] = "mte_ciphers_aes192_ctr", t[t.mte_ciphers_aes256_ctr = 3] = "mte_ciphers_aes256_ctr";
|
|
76
|
+
})(u = A.MteCiphers || (A.MteCiphers = {}));
|
|
77
|
+
var R;
|
|
78
|
+
(function(t) {
|
|
79
|
+
t[t.mte_hashes_none = 0] = "mte_hashes_none", t[t.mte_hashes_crc32 = 1] = "mte_hashes_crc32", t[t.mte_hashes_sha1 = 2] = "mte_hashes_sha1", t[t.mte_hashes_sha256 = 3] = "mte_hashes_sha256", t[t.mte_hashes_sha512 = 4] = "mte_hashes_sha512";
|
|
80
|
+
})(R = A.MteHashes || (A.MteHashes = {})), (function(t) {
|
|
81
|
+
t[t.mte_init_info_arm64_aes_paa = 0] = "mte_init_info_arm64_aes_paa", t[t.mte_init_info_arm64_sha1_paa = 1] = "mte_init_info_arm64_sha1_paa", t[t.mte_init_info_arm64_sha256_paa = 2] = "mte_init_info_arm64_sha256_paa", t[t.mte_init_info_arm64_sha512_paa = 3] = "mte_init_info_arm64_sha512_paa", t[t.mte_init_info_arm64_crc32_paa = 4] = "mte_init_info_arm64_crc32_paa";
|
|
82
|
+
})(A.MteInitInfo || (A.MteInitInfo = {}));
|
|
83
|
+
class F {
|
|
79
84
|
/** Constructor. Derived classes must call initBase() from their
|
|
80
85
|
constructor. */
|
|
81
|
-
constructor(
|
|
82
|
-
if (this.drbg =
|
|
83
|
-
this.drbg = I, this.tokBytes = B, this.verifiers =
|
|
86
|
+
constructor(g) {
|
|
87
|
+
if (this.drbg = y.mte_drbgs_none, this.tokBytes = 0, this.verifiers = G.mte_verifiers_none, this.cipher = u.mte_ciphers_none, this.hash_ = R.mte_hashes_none, this.entropyInput = new EA(), this.nonce = null, this.nonceIntBytes = 0, this.eiCallback = null, this.nCallback = null, this.tsCallback = null, this.initBase = (I, B, E, i, a) => {
|
|
88
|
+
this.drbg = I, this.tokBytes = B, this.verifiers = E, this.cipher = i, this.hash_ = a, this.nonceIntBytes = Math.max(this.getDrbgsNonceMinBytes(I), Math.min(8, this.getDrbgsNonceMaxBytes(I)));
|
|
84
89
|
}, this.destructBase = () => {
|
|
85
90
|
this.wasm.free(this.entropyInput), this.entropyInput.invalidate();
|
|
86
91
|
}, this.getVersion = () => {
|
|
87
92
|
const I = this.exports.mte_base_version();
|
|
88
93
|
return this.wasm.wasmOffToStr(I);
|
|
89
94
|
}, this.getVersionMajor = () => this.exports.mte_wasm_base_version_major(), this.getVersionMinor = () => this.exports.mte_wasm_base_version_minor(), this.getVersionPatch = () => this.exports.mte_wasm_base_version_patch(), this.initLicense = (I, B) => {
|
|
90
|
-
const
|
|
91
|
-
return this.wasm.free(
|
|
95
|
+
const E = this.wasm.strToWasm(I), i = this.wasm.strToWasm(B), a = this.exports.mte_license_init(E.off, i.off);
|
|
96
|
+
return this.wasm.free(E), this.wasm.free(i), a;
|
|
92
97
|
}, this.getStatusCount = () => this.exports.mte_wasm_base_status_count(), this.getStatusName = (I) => {
|
|
93
98
|
const B = this.exports.mte_wasm_base_status_name(I);
|
|
94
99
|
return this.wasm.wasmOffToStr(B);
|
|
@@ -96,14 +101,14 @@ function vA() {
|
|
|
96
101
|
const B = this.exports.mte_wasm_base_status_description(I);
|
|
97
102
|
return this.wasm.wasmOffToStr(B);
|
|
98
103
|
}, this.getStatusCode = (I) => {
|
|
99
|
-
const B = this.wasm.strToWasm(I),
|
|
100
|
-
return this.wasm.free(B),
|
|
104
|
+
const B = this.wasm.strToWasm(I), E = this.exports.mte_wasm_base_status_code(B.off);
|
|
105
|
+
return this.wasm.free(B), E;
|
|
101
106
|
}, this.statusIsError = (I) => this.exports.mte_base_status_is_error(I), this.hasRuntimeOpts = () => this.exports.mte_wasm_base_has_runtime_opts(), this.getDefaultDrbg = () => this.exports.mte_wasm_base_default_drbg(), this.getDefaultTokBytes = () => this.exports.mte_wasm_base_default_tok_bytes(), this.getDefaultVerifiers = () => this.exports.mte_wasm_base_default_verifiers(), this.getDefaultCipher = () => this.exports.mte_wasm_base_default_cipher(), this.getDefaultHash = () => this.exports.mte_wasm_base_default_hash(), this.getDrbgsCount = () => this.exports.mte_wasm_base_drbgs_count(), this.getDrbgsName = (I) => {
|
|
102
107
|
const B = this.exports.mte_wasm_base_drbgs_name(I);
|
|
103
108
|
return this.wasm.wasmOffToStr(B);
|
|
104
109
|
}, this.getDrbgsAlgo = (I) => {
|
|
105
|
-
const B = this.wasm.strToWasm(I),
|
|
106
|
-
return this.wasm.free(B),
|
|
110
|
+
const B = this.wasm.strToWasm(I), E = this.exports.mte_wasm_base_drbgs_algo(B.off);
|
|
111
|
+
return this.wasm.free(B), E;
|
|
107
112
|
}, this.getDrbgsSecStrengthBytes = (I) => this.exports.mte_wasm_base_drbgs_sec_strength_bytes(I), this.getDrbgsPersonalMinBytes = (I) => this.exports.mte_wasm_base_drbgs_personal_min_bytes(I), this.getDrbgsPersonalMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_personal_max_bytes(I), this.getDrbgsEntropyMinBytes = (I) => this.exports.mte_wasm_base_drbgs_entropy_min_bytes(I), this.getDrbgsEntropyMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_entropy_max_bytes(I), this.getDrbgsNonceMinBytes = (I) => this.exports.mte_wasm_base_drbgs_nonce_min_bytes(I), this.getDrbgsNonceMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_nonce_max_bytes(I), this.getDrbgsReseedInterval = (I) => this.exports.mte_wasm_base_drbgs_reseed_interval(I), this.setIncrInstError = (I) => {
|
|
108
113
|
this.exports.mte_wasm_base_drbgs_incr_inst_error(I);
|
|
109
114
|
}, this.setIncrGenError = (I, B) => {
|
|
@@ -112,20 +117,20 @@ function vA() {
|
|
|
112
117
|
const B = this.exports.mte_wasm_base_verifiers_name(I);
|
|
113
118
|
return this.wasm.wasmOffToStr(B);
|
|
114
119
|
}, this.getVerifiersAlgo = (I) => {
|
|
115
|
-
const B = this.wasm.strToWasm(I),
|
|
116
|
-
return this.wasm.free(B),
|
|
120
|
+
const B = this.wasm.strToWasm(I), E = this.exports.mte_wasm_base_verifiers_algo(B.off);
|
|
121
|
+
return this.wasm.free(B), E;
|
|
117
122
|
}, this.getCiphersCount = () => this.exports.mte_wasm_base_ciphers_count(), this.getCiphersName = (I) => {
|
|
118
123
|
const B = this.exports.mte_wasm_base_ciphers_name(I);
|
|
119
124
|
return this.wasm.wasmOffToStr(B);
|
|
120
125
|
}, this.getCiphersAlgo = (I) => {
|
|
121
|
-
const B = this.wasm.strToWasm(I),
|
|
122
|
-
return this.wasm.free(B),
|
|
126
|
+
const B = this.wasm.strToWasm(I), E = this.exports.mte_wasm_base_ciphers_algo(B.off);
|
|
127
|
+
return this.wasm.free(B), E;
|
|
123
128
|
}, this.getCiphersBlockBytes = (I) => this.exports.mte_wasm_base_ciphers_block_bytes(I), this.getHashesCount = () => this.exports.mte_wasm_base_hashes_count(), this.getHashesName = (I) => {
|
|
124
129
|
const B = this.exports.mte_wasm_base_hashes_name(I);
|
|
125
130
|
return this.wasm.wasmOffToStr(B);
|
|
126
131
|
}, this.getHashesAlgo = (I) => {
|
|
127
|
-
const B = this.wasm.strToWasm(I),
|
|
128
|
-
return this.wasm.free(B),
|
|
132
|
+
const B = this.wasm.strToWasm(I), E = this.exports.mte_wasm_base_hashes_algo(B.off);
|
|
133
|
+
return this.wasm.free(B), E;
|
|
129
134
|
}, this.getDrbg = () => this.drbg, this.getTokBytes = () => this.tokBytes, this.getVerifiers = () => this.verifiers, this.getCipher = () => this.cipher, this.getHash = () => this.hash_, this.setEntropyCallback = (I) => {
|
|
130
135
|
this.eiCallback = I;
|
|
131
136
|
}, this.setEntropyArr = (I) => {
|
|
@@ -144,299 +149,299 @@ function vA() {
|
|
|
144
149
|
this.nonce = I;
|
|
145
150
|
}, this.setNonce = (I) => {
|
|
146
151
|
const B = new Uint8Array(this.nonceIntBytes);
|
|
147
|
-
for (let
|
|
148
|
-
let
|
|
152
|
+
for (let E = 0; E < I.length; ++E) {
|
|
153
|
+
let i = parseInt(I.charAt(E));
|
|
149
154
|
for (let a = 0; a < B.length; ++a) {
|
|
150
|
-
let
|
|
151
|
-
B[a] =
|
|
155
|
+
let Q = B[a] * 10 + i;
|
|
156
|
+
B[a] = Q % 256, i = Math.floor(Q / 256);
|
|
152
157
|
}
|
|
153
158
|
}
|
|
154
159
|
this.setNonceArr(B);
|
|
155
160
|
}, this.setTimestampCallback = (I) => {
|
|
156
161
|
this.tsCallback = I;
|
|
157
|
-
}, this.entropyCallback = (I, B,
|
|
158
|
-
const c =
|
|
159
|
-
return c.eiCallback ? c.eiCallback.entropyCallback(B,
|
|
160
|
-
}, this.nonceCallback = (I, B,
|
|
161
|
-
const
|
|
162
|
-
if (
|
|
163
|
-
|
|
162
|
+
}, this.entropyCallback = (I, B, E, i, a, Q) => {
|
|
163
|
+
const c = F.instances[I];
|
|
164
|
+
return c.eiCallback ? c.eiCallback.entropyCallback(B, E, i, a, Q) : c.entropyInput.used < E || c.entropyInput.used > i ? C.mte_status_drbg_catastrophic : (c.wasm.intToWasm(a, c.entropyInput.off), c.wasm.intToWasm(Q, c.entropyInput.used), C.mte_status_success);
|
|
165
|
+
}, this.nonceCallback = (I, B, E, i, a) => {
|
|
166
|
+
const Q = F.instances[I];
|
|
167
|
+
if (Q.nCallback) {
|
|
168
|
+
Q.nCallback.nonceCallback(B, E, i, a);
|
|
164
169
|
return;
|
|
165
170
|
}
|
|
166
|
-
if (
|
|
167
|
-
|
|
171
|
+
if (Q.nonce == null) {
|
|
172
|
+
Q.wasm.intToWasm(a, 0);
|
|
168
173
|
return;
|
|
169
174
|
}
|
|
170
|
-
this.wasm.arrToOffLen(
|
|
175
|
+
this.wasm.arrToOffLen(Q.nonce, i, Q.nonce.length), Q.wasm.intToWasm(a, Q.nonce.length);
|
|
171
176
|
}, this.timestampCallback = (I, B) => {
|
|
172
|
-
const
|
|
173
|
-
let
|
|
174
|
-
|
|
175
|
-
}, this.wasm =
|
|
176
|
-
this.exports =
|
|
177
|
+
const E = F.instances[I];
|
|
178
|
+
let i = { ts: 0, upper: 0 };
|
|
179
|
+
E.tsCallback && (i = E.tsCallback.timestampCallback()), i.upper == 0 ? E.wasm.int64ToWasm(B, i.ts) : (E.wasm.intToWasm(B, i.ts), E.wasm.intToWasm(B + 4, i.upper));
|
|
180
|
+
}, this.wasm = g, g.exports !== null)
|
|
181
|
+
this.exports = g.exports;
|
|
177
182
|
else
|
|
178
183
|
throw new TypeError("MteBase: WASM does not have exports.");
|
|
179
|
-
if (
|
|
180
|
-
this.memory =
|
|
184
|
+
if (g.memory !== null)
|
|
185
|
+
this.memory = g.memory;
|
|
181
186
|
else
|
|
182
187
|
throw new TypeError("MteBase: WASM does not have memory.");
|
|
183
|
-
if (
|
|
188
|
+
if (g.entropyCallback === null && (g.entropyCallback = this.entropyCallback), g.nonceCallback === null && (g.nonceCallback = this.nonceCallback), g.timestampCallback === null && (g.timestampCallback = this.timestampCallback), this.instance = F.instances.length, F.instances.push(this), !F.mteInitialized && this.exports.mte_init(0, 0) == 0)
|
|
184
189
|
throw new Error("MteBase: MTE init error.");
|
|
185
190
|
}
|
|
186
191
|
}
|
|
187
|
-
A.MteBase =
|
|
188
|
-
class
|
|
192
|
+
A.MteBase = F, F.instances = [], F.mteInitialized = !1;
|
|
193
|
+
class b extends F {
|
|
189
194
|
/** Constructor taking the DRBG, token size in bytes, and verifiers
|
|
190
195
|
* algorithm. */
|
|
191
|
-
constructor(
|
|
192
|
-
super(
|
|
196
|
+
constructor(g, I, B, E) {
|
|
197
|
+
super(g), this.destruct = () => {
|
|
193
198
|
this.destructBase(), this.wasm.free(this.encoder), this.encoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate();
|
|
194
199
|
}, this.instantiate = (d) => {
|
|
195
200
|
const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_instantiate(this.encoder.off, this.instance, this.instance, f.off, f.used);
|
|
196
201
|
return this.wasm.free(f), n;
|
|
197
|
-
}, this.getReseedCounter = () => this.exports.mte_wasm_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_enc_state_save(this.encoder.off, this.saved.off) ==
|
|
202
|
+
}, this.getReseedCounter = () => this.exports.mte_wasm_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_enc_state_save(this.encoder.off, this.saved.off) == C.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_enc_state_save_b64(this.encoder.off, this.saved64.off) == C.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (d) => (this.wasm.arrToOffLen(d, this.saved.off, d.length), this.exports.mte_enc_state_restore(this.encoder.off, this.saved.off)), this.restoreStateB64 = (d) => {
|
|
198
203
|
const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_state_restore_b64(this.encoder.off, f.off);
|
|
199
204
|
return this.wasm.free(f), n;
|
|
200
205
|
}, this.encode = (d) => {
|
|
201
206
|
const f = this.wasm.arrToWasm(d), n = this.exports.mte_enc_buff_bytes(this.encoder.off, d.length), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode(this.encoder.off, this.instance, f.off, d.length, w.off, r.off, o.off);
|
|
202
|
-
if (h !=
|
|
207
|
+
if (h != C.mte_status_success)
|
|
203
208
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
|
|
204
209
|
const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = w.buff.slice(e, e + D);
|
|
205
210
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
|
|
206
211
|
}, this.encodeB64 = (d) => {
|
|
207
212
|
const f = this.wasm.arrToWasm(d), n = this.exports.mte_wasm_enc_buff_bytes_b64(this.encoder.off, d.length), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode_b64(this.encoder.off, this.instance, f.off, d.length, w.off, r.off, o.off);
|
|
208
|
-
if (h !=
|
|
213
|
+
if (h != C.mte_status_success)
|
|
209
214
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: null, status: h };
|
|
210
215
|
const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToStr(w, e);
|
|
211
216
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: D, status: h };
|
|
212
217
|
}, this.encodeStr = (d) => {
|
|
213
218
|
const f = this.wasm.strToWasm(d), n = this.exports.mte_enc_buff_bytes(this.encoder.off, f.used), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode(this.encoder.off, this.instance, f.off, f.used, w.off, r.off, o.off);
|
|
214
|
-
if (h !=
|
|
219
|
+
if (h != C.mte_status_success)
|
|
215
220
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
|
|
216
221
|
const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = w.buff.slice(e, e + D);
|
|
217
222
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
|
|
218
223
|
}, this.encodeStrB64 = (d) => {
|
|
219
224
|
const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_buff_bytes_b64(this.encoder.off, f.used), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode_b64(this.encoder.off, this.instance, f.off, f.used, w.off, r.off, o.off);
|
|
220
|
-
if (h !=
|
|
225
|
+
if (h != C.mte_status_success)
|
|
221
226
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: null, status: h };
|
|
222
227
|
const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToStr(w, e);
|
|
223
228
|
return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: D, status: h };
|
|
224
229
|
}, this.uninstantiate = () => this.exports.mte_enc_uninstantiate(this.encoder.off);
|
|
225
|
-
const
|
|
226
|
-
this.initBase(
|
|
227
|
-
const
|
|
228
|
-
if (
|
|
230
|
+
const i = typeof I == "string" ? this.getDrbgsAlgo(I) : I, a = typeof E == "string" ? this.getVerifiersAlgo(E) : E;
|
|
231
|
+
this.initBase(i, B, a, u.mte_ciphers_none, R.mte_hashes_none);
|
|
232
|
+
const Q = this.exports.mte_wasm_enc_state_bytes(i, B, a);
|
|
233
|
+
if (Q == 0)
|
|
229
234
|
throw new RangeError("MteEnc: Invalid options.");
|
|
230
|
-
if (this.encoder =
|
|
235
|
+
if (this.encoder = g.malloc(Q), this.exports.mte_wasm_enc_state_init(this.encoder.off, i, B, a) != C.mte_status_success)
|
|
231
236
|
throw new RangeError("MteEnc: Invalid options.");
|
|
232
|
-
this.saved =
|
|
237
|
+
this.saved = g.malloc(this.exports.mte_enc_save_bytes(this.encoder.off)), this.saved64 = g.malloc(this.exports.mte_wasm_enc_save_bytes_b64(this.encoder.off));
|
|
233
238
|
}
|
|
234
239
|
/** Create an encoder using default options. */
|
|
235
|
-
static fromdefault(
|
|
236
|
-
const I = new
|
|
237
|
-
return new
|
|
240
|
+
static fromdefault(g) {
|
|
241
|
+
const I = new F(g);
|
|
242
|
+
return new b(g, I.getDefaultDrbg(), I.getDefaultTokBytes(), I.getDefaultVerifiers());
|
|
238
243
|
}
|
|
239
244
|
}
|
|
240
|
-
A.MteEnc =
|
|
241
|
-
class
|
|
245
|
+
A.MteEnc = b;
|
|
246
|
+
class Y extends F {
|
|
242
247
|
/** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
|
|
243
248
|
* timestamp window, and sequence window. */
|
|
244
|
-
constructor(
|
|
245
|
-
super(
|
|
249
|
+
constructor(g, I, B, E, i, a) {
|
|
250
|
+
super(g), this.encTs = { ts: 0, upper: 0 }, this.decTs = { ts: 0, upper: 0 }, this.msgSkipped = 0, this.destruct = () => {
|
|
246
251
|
this.destructBase(), this.wasm.free(this.decoder), this.decoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate();
|
|
247
252
|
}, this.instantiate = (n) => {
|
|
248
253
|
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_instantiate(this.decoder.off, this.instance, this.instance, w.off, w.used);
|
|
249
254
|
return this.wasm.free(w), r;
|
|
250
|
-
}, this.getReseedCounter = () => this.exports.mte_wasm_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_dec_state_save(this.decoder.off, this.saved.off) ==
|
|
255
|
+
}, this.getReseedCounter = () => this.exports.mte_wasm_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_dec_state_save(this.decoder.off, this.saved.off) == C.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_dec_state_save_b64(this.decoder.off, this.saved64.off) == C.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (n) => (this.wasm.arrToOffLen(n, this.saved.off, n.length), this.exports.mte_dec_state_restore(this.decoder.off, this.saved.off)), this.restoreStateB64 = (n) => {
|
|
251
256
|
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_state_restore_b64(this.decoder.off, w.off);
|
|
252
257
|
return this.wasm.free(w), r;
|
|
253
258
|
}, this.decode = (n) => {
|
|
254
|
-
const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(),
|
|
255
|
-
if (this.statusIsError(
|
|
256
|
-
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(
|
|
257
|
-
const
|
|
258
|
-
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(
|
|
259
|
+
const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), H = this.wasm.newInt(), N = this.exports.mte_wasm_dec_decode(this.decoder.off, this.instance, w.off, n.length, o.off, h.off, e.off, D.off, m.off, H.off);
|
|
260
|
+
if (this.statusIsError(N))
|
|
261
|
+
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: null, status: N };
|
|
262
|
+
const l = this.wasm.wasmToInt(h.off), L = this.wasm.wasmToInt(e.off), p = o.buff.slice(l, l + L);
|
|
263
|
+
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(H.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: p, status: N };
|
|
259
264
|
}, this.decodeB64 = (n) => {
|
|
260
|
-
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(),
|
|
261
|
-
if (this.statusIsError(
|
|
262
|
-
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(
|
|
263
|
-
const
|
|
264
|
-
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(
|
|
265
|
+
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), H = this.wasm.newInt(), N = this.exports.mte_wasm_dec_decode_b64(this.decoder.off, this.instance, w.off, w.used, o.off, h.off, e.off, D.off, m.off, H.off);
|
|
266
|
+
if (this.statusIsError(N))
|
|
267
|
+
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: null, status: N };
|
|
268
|
+
const l = this.wasm.wasmToInt(h.off), L = this.wasm.wasmToInt(e.off), p = o.buff.slice(l, l + L);
|
|
269
|
+
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(H.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: p, status: N };
|
|
265
270
|
}, this.decodeStr = (n) => {
|
|
266
|
-
const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(),
|
|
267
|
-
if (this.statusIsError(
|
|
268
|
-
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(
|
|
269
|
-
const
|
|
270
|
-
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(
|
|
271
|
+
const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), H = this.wasm.newInt(), N = this.exports.mte_wasm_dec_decode(this.decoder.off, this.instance, w.off, n.length, o.off, h.off, e.off, D.off, m.off, H.off);
|
|
272
|
+
if (this.statusIsError(N))
|
|
273
|
+
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { str: null, status: N };
|
|
274
|
+
const l = this.wasm.wasmToInt(h.off), L = this.wasm.wasmToStr(o, l);
|
|
275
|
+
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(H.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { str: L, status: N };
|
|
271
276
|
}, this.decodeStrB64 = (n) => {
|
|
272
|
-
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(),
|
|
273
|
-
if (this.statusIsError(
|
|
274
|
-
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(
|
|
275
|
-
const
|
|
276
|
-
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(
|
|
277
|
+
const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), H = this.wasm.newInt(), N = this.exports.mte_wasm_dec_decode_b64(this.decoder.off, this.instance, w.off, w.used, o.off, h.off, e.off, D.off, m.off, H.off);
|
|
278
|
+
if (this.statusIsError(N))
|
|
279
|
+
return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { str: null, status: N };
|
|
280
|
+
const l = this.wasm.wasmToInt(h.off), L = this.wasm.wasmToStr(o, l);
|
|
281
|
+
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(H.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { str: L, status: N };
|
|
277
282
|
}, this.getEncTs = () => this.encTs, this.getDecTs = () => this.decTs, this.getMsgSkipped = () => this.msgSkipped, this.uninstantiate = () => this.exports.mte_dec_uninstantiate(this.decoder.off);
|
|
278
|
-
const
|
|
279
|
-
this.initBase(
|
|
280
|
-
const d = this.exports.mte_wasm_dec_state_bytes(
|
|
283
|
+
const Q = typeof I == "string" ? this.getDrbgsAlgo(I) : I, c = typeof E == "string" ? this.getVerifiersAlgo(E) : E;
|
|
284
|
+
this.initBase(Q, B, c, u.mte_ciphers_none, R.mte_hashes_none);
|
|
285
|
+
const d = this.exports.mte_wasm_dec_state_bytes(Q, B, c);
|
|
281
286
|
if (d == 0)
|
|
282
287
|
throw new RangeError("MteDec: Invalid options.");
|
|
283
|
-
if (this.decoder =
|
|
288
|
+
if (this.decoder = g.malloc(d), this.exports.mte_wasm_dec_state_init(this.decoder.off, Q, B, c, i, a) != C.mte_status_success)
|
|
284
289
|
throw this.wasm.free(this.decoder), new RangeError("MteDec: Invalid options.");
|
|
285
|
-
this.saved =
|
|
290
|
+
this.saved = g.malloc(this.exports.mte_dec_save_bytes(this.decoder.off)), this.saved64 = g.malloc(this.exports.mte_wasm_dec_save_bytes_b64(this.decoder.off));
|
|
286
291
|
}
|
|
287
292
|
/** Create a decoder using default options.
|
|
288
293
|
*
|
|
289
294
|
* The timestamp window and sequence window are optionally settable. */
|
|
290
|
-
static fromdefault(
|
|
291
|
-
const
|
|
292
|
-
return new
|
|
295
|
+
static fromdefault(g, I = 0, B = 0) {
|
|
296
|
+
const E = new F(g);
|
|
297
|
+
return new Y(g, E.getDefaultDrbg(), E.getDefaultTokBytes(), E.getDefaultVerifiers(), I, B);
|
|
293
298
|
}
|
|
294
299
|
}
|
|
295
|
-
A.MteDec =
|
|
296
|
-
class
|
|
300
|
+
A.MteDec = Y;
|
|
301
|
+
class S extends F {
|
|
297
302
|
/** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
|
|
298
303
|
* cipher algorithm, and hash algorithm. */
|
|
299
|
-
constructor(
|
|
300
|
-
super(
|
|
304
|
+
constructor(g, I, B, E, i, a) {
|
|
305
|
+
super(g), this.destruct = () => {
|
|
301
306
|
this.destructBase(), this.wasm.free(this.encoder), this.encoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate(), this.wasm.free(this.chunk), this.chunk.invalidate();
|
|
302
307
|
}, this.instantiate = (r) => {
|
|
303
308
|
const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_instantiate(this.encoder.off, this.instance, this.instance, o.off, o.used);
|
|
304
309
|
return this.wasm.free(o), h;
|
|
305
|
-
}, this.getReseedCounter = () => this.exports.mte_wasm_mke_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_mke_enc_state_save(this.encoder.off, this.saved.off) ==
|
|
310
|
+
}, this.getReseedCounter = () => this.exports.mte_wasm_mke_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_mke_enc_state_save(this.encoder.off, this.saved.off) == C.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_mke_enc_state_save_b64(this.encoder.off, this.saved64.off) == C.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (r) => (this.wasm.arrToOffLen(r, this.saved.off, r.length), this.exports.mte_mke_enc_state_restore(this.encoder.off, this.saved.off)), this.restoreStateB64 = (r) => {
|
|
306
311
|
const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_state_restore_b64(this.encoder.off, o.off);
|
|
307
312
|
return this.wasm.free(o), h;
|
|
308
313
|
}, this.encode = (r) => {
|
|
309
|
-
const o = this.wasm.arrToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(),
|
|
310
|
-
if (
|
|
311
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status:
|
|
312
|
-
const
|
|
313
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr:
|
|
314
|
+
const o = this.wasm.arrToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), H = this.exports.mte_wasm_mke_enc_encode(this.encoder.off, this.instance, o.off, r.length, e.off, D.off, m.off);
|
|
315
|
+
if (H != C.mte_status_success)
|
|
316
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status: H };
|
|
317
|
+
const N = this.wasm.wasmToInt(D.off), l = this.wasm.wasmToInt(m.off), L = e.buff.slice(N, N + l);
|
|
318
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: L, status: H };
|
|
314
319
|
}, this.encodeB64 = (r) => {
|
|
315
|
-
const o = this.wasm.arrToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(),
|
|
316
|
-
if (
|
|
317
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status:
|
|
318
|
-
const
|
|
319
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str:
|
|
320
|
+
const o = this.wasm.arrToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), H = this.exports.mte_wasm_mke_enc_encode_b64(this.encoder.off, this.instance, o.off, r.length, e.off, D.off, m.off);
|
|
321
|
+
if (H != C.mte_status_success)
|
|
322
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status: H };
|
|
323
|
+
const N = this.wasm.wasmToInt(D.off), l = this.wasm.wasmToStr(e, N);
|
|
324
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: l, status: H };
|
|
320
325
|
}, this.encodeStr = (r) => {
|
|
321
|
-
const o = this.wasm.strToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(),
|
|
322
|
-
if (
|
|
323
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status:
|
|
324
|
-
const
|
|
325
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr:
|
|
326
|
+
const o = this.wasm.strToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), H = this.exports.mte_wasm_mke_enc_encode(this.encoder.off, this.instance, o.off, o.used, e.off, D.off, m.off);
|
|
327
|
+
if (H != C.mte_status_success)
|
|
328
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status: H };
|
|
329
|
+
const N = this.wasm.wasmToInt(D.off), l = this.wasm.wasmToInt(m.off), L = e.buff.slice(N, N + l);
|
|
330
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: L, status: H };
|
|
326
331
|
}, this.encodeStrB64 = (r) => {
|
|
327
|
-
const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(),
|
|
328
|
-
if (
|
|
329
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status:
|
|
330
|
-
const
|
|
331
|
-
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str:
|
|
332
|
+
const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), H = this.exports.mte_wasm_mke_enc_encode_b64(this.encoder.off, this.instance, o.off, o.used, e.off, D.off, m.off);
|
|
333
|
+
if (H != C.mte_status_success)
|
|
334
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status: H };
|
|
335
|
+
const N = this.wasm.wasmToInt(D.off), l = this.wasm.wasmToStr(e, N);
|
|
336
|
+
return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: l, status: H };
|
|
332
337
|
}, this.encryptFinishBytes = () => this.exports.mte_mke_enc_encrypt_finish_bytes(this.encoder.off), this.startEncrypt = () => this.exports.mte_mke_enc_encrypt_start(this.encoder.off, this.chunk.off), this.encryptChunk = (r) => {
|
|
333
338
|
const o = this.wasm.arrToWasm(r), h = this.exports.mte_wasm_mke_enc_encrypt_chunk(this.encoder.off, this.chunk.off, o.off, r.length, o.off);
|
|
334
339
|
let e = null;
|
|
335
|
-
return h ==
|
|
340
|
+
return h == C.mte_status_success && (e = new Uint8Array(o.buff)), this.wasm.free(o), e;
|
|
336
341
|
}, this.finishEncrypt = () => {
|
|
337
342
|
const r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_mke_enc_encrypt_finish(this.encoder.off, this.chunk.off, this.instance, r.off, o.off);
|
|
338
|
-
if (h !=
|
|
343
|
+
if (h != C.mte_status_success)
|
|
339
344
|
return this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
|
|
340
345
|
const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = this.chunk.buff.slice(e, e + D);
|
|
341
346
|
return this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
|
|
342
347
|
}, this.uninstantiate = () => this.exports.mte_mke_enc_uninstantiate(this.encoder.off);
|
|
343
|
-
const
|
|
344
|
-
this.initBase(
|
|
345
|
-
const n = this.exports.mte_wasm_mke_enc_state_bytes(
|
|
348
|
+
const Q = typeof I == "string" ? this.getDrbgsAlgo(I) : I, c = typeof E == "string" ? this.getVerifiersAlgo(E) : E, d = typeof i == "string" ? this.getCiphersAlgo(i) : i, f = typeof a == "string" ? this.getHashesAlgo(a) : a;
|
|
349
|
+
this.initBase(Q, B, c, d, f);
|
|
350
|
+
const n = this.exports.mte_wasm_mke_enc_state_bytes(Q, B, c, d, f);
|
|
346
351
|
if (n == 0)
|
|
347
352
|
throw new RangeError("MteMkeEnc: Invalid options.");
|
|
348
|
-
if (this.encoder =
|
|
353
|
+
if (this.encoder = g.malloc(n), this.exports.mte_wasm_mke_enc_state_init(this.encoder.off, Q, B, c, d, f) != C.mte_status_success)
|
|
349
354
|
throw new RangeError("MteMkeEnc: Invalid options.");
|
|
350
|
-
this.saved =
|
|
355
|
+
this.saved = g.malloc(this.exports.mte_mke_enc_save_bytes(this.encoder.off)), this.saved64 = g.malloc(this.exports.mte_wasm_mke_enc_save_bytes_b64(this.encoder.off)), this.chunk = g.malloc(this.exports.mte_mke_enc_encrypt_state_bytes(this.encoder.off));
|
|
351
356
|
}
|
|
352
357
|
/** Create an encoder using default options. */
|
|
353
|
-
static fromdefault(
|
|
354
|
-
const I = new
|
|
355
|
-
return new
|
|
358
|
+
static fromdefault(g) {
|
|
359
|
+
const I = new F(g);
|
|
360
|
+
return new S(g, I.getDefaultDrbg(), I.getDefaultTokBytes(), I.getDefaultVerifiers(), I.getDefaultCipher(), I.getDefaultHash());
|
|
356
361
|
}
|
|
357
362
|
}
|
|
358
|
-
A.MteMkeEnc =
|
|
359
|
-
class U extends
|
|
363
|
+
A.MteMkeEnc = S;
|
|
364
|
+
class U extends F {
|
|
360
365
|
/** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
|
|
361
366
|
* cipher algorith, hash algorithm, timestamp window, and sequence window. */
|
|
362
|
-
constructor(
|
|
363
|
-
super(
|
|
367
|
+
constructor(g, I, B, E, i, a, Q, c) {
|
|
368
|
+
super(g), this.encTs = { ts: 0, upper: 0 }, this.decTs = { ts: 0, upper: 0 }, this.msgSkipped = 0, this.destruct = () => {
|
|
364
369
|
this.destructBase(), this.wasm.free(this.decoder), this.decoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate(), this.wasm.free(this.chunk), this.chunk.invalidate();
|
|
365
370
|
}, this.instantiate = (h) => {
|
|
366
371
|
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_instantiate(this.decoder.off, this.instance, this.instance, e.off, e.used);
|
|
367
372
|
return this.wasm.free(e), D;
|
|
368
|
-
}, this.getReseedCounter = () => this.exports.mte_wasm_mke_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_mke_dec_state_save(this.decoder.off, this.saved.off) ==
|
|
373
|
+
}, this.getReseedCounter = () => this.exports.mte_wasm_mke_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_mke_dec_state_save(this.decoder.off, this.saved.off) == C.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_mke_dec_state_save_b64(this.decoder.off, this.saved64.off) == C.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (h) => (this.wasm.arrToOffLen(h, this.saved.off, h.length), this.exports.mte_mke_dec_state_restore(this.decoder.off, this.saved.off)), this.restoreStateB64 = (h) => {
|
|
369
374
|
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_state_restore_b64(this.decoder.off, e.off);
|
|
370
375
|
return this.wasm.free(e), D;
|
|
371
376
|
}, this.decode = (h) => {
|
|
372
377
|
const e = this.wasm.arrToWasm(h), D = this.exports.mte_mke_dec_buff_bytes(this.decoder.off, h.length);
|
|
373
378
|
if (D == 0)
|
|
374
|
-
return this.wasm.free(e), { arr: null, status:
|
|
375
|
-
const m = this.wasm.malloc(D),
|
|
376
|
-
if (this.statusIsError(
|
|
377
|
-
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(
|
|
378
|
-
const
|
|
379
|
-
return this.encTs = this.wasm.wasmToTimestamp(
|
|
379
|
+
return this.wasm.free(e), { arr: null, status: C.mte_status_invalid_input };
|
|
380
|
+
const m = this.wasm.malloc(D), H = this.wasm.newInt(), N = this.wasm.newInt(), l = this.wasm.newInt64(), L = this.wasm.newInt64(), p = this.wasm.newInt(), W = this.exports.mte_wasm_mke_dec_decode(this.decoder.off, this.instance, e.off, h.length, m.off, H.off, N.off, l.off, L.off, p.off);
|
|
381
|
+
if (this.statusIsError(W))
|
|
382
|
+
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { arr: null, status: W };
|
|
383
|
+
const j = this.wasm.wasmToInt(H.off), BA = this.wasm.wasmToInt(N.off), aA = m.buff.slice(j, j + BA);
|
|
384
|
+
return this.encTs = this.wasm.wasmToTimestamp(l), this.decTs = this.wasm.wasmToTimestamp(L), this.msgSkipped = this.wasm.wasmToInt(p.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { arr: aA, status: W };
|
|
380
385
|
}, this.decodeB64 = (h) => {
|
|
381
|
-
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D),
|
|
382
|
-
if (this.statusIsError(
|
|
383
|
-
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(
|
|
384
|
-
const
|
|
385
|
-
return this.encTs = this.wasm.wasmToTimestamp(
|
|
386
|
+
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D), H = this.wasm.newInt(), N = this.wasm.newInt(), l = this.wasm.newInt64(), L = this.wasm.newInt64(), p = this.wasm.newInt(), W = this.exports.mte_wasm_mke_dec_decode_b64(this.decoder.off, this.instance, e.off, e.used, m.off, H.off, N.off, l.off, L.off, p.off);
|
|
387
|
+
if (this.statusIsError(W))
|
|
388
|
+
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { arr: null, status: W };
|
|
389
|
+
const j = this.wasm.wasmToInt(H.off), BA = this.wasm.wasmToInt(N.off), aA = m.buff.slice(j, j + BA);
|
|
390
|
+
return this.encTs = this.wasm.wasmToTimestamp(l), this.decTs = this.wasm.wasmToTimestamp(L), this.msgSkipped = this.wasm.wasmToInt(p.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { arr: aA, status: W };
|
|
386
391
|
}, this.decodeStr = (h) => {
|
|
387
392
|
const e = this.wasm.arrToWasm(h), D = this.exports.mte_mke_dec_buff_bytes(this.decoder.off, h.length);
|
|
388
393
|
if (D == 0)
|
|
389
|
-
return this.wasm.free(e), { str: null, status:
|
|
390
|
-
const m = this.wasm.malloc(D),
|
|
391
|
-
if (this.statusIsError(
|
|
392
|
-
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(
|
|
393
|
-
const
|
|
394
|
-
return this.encTs = this.wasm.wasmToTimestamp(
|
|
394
|
+
return this.wasm.free(e), { str: null, status: C.mte_status_invalid_input };
|
|
395
|
+
const m = this.wasm.malloc(D), H = this.wasm.newInt(), N = this.wasm.newInt(), l = this.wasm.newInt64(), L = this.wasm.newInt64(), p = this.wasm.newInt(), W = this.exports.mte_wasm_mke_dec_decode(this.decoder.off, this.instance, e.off, h.length, m.off, H.off, N.off, l.off, L.off, p.off);
|
|
396
|
+
if (this.statusIsError(W))
|
|
397
|
+
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { str: null, status: W };
|
|
398
|
+
const j = this.wasm.wasmToInt(H.off), BA = this.wasm.wasmToStr(m, j);
|
|
399
|
+
return this.encTs = this.wasm.wasmToTimestamp(l), this.decTs = this.wasm.wasmToTimestamp(L), this.msgSkipped = this.wasm.wasmToInt(p.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { str: BA, status: W };
|
|
395
400
|
}, this.decodeStrB64 = (h) => {
|
|
396
|
-
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D),
|
|
397
|
-
if (this.statusIsError(
|
|
398
|
-
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(
|
|
399
|
-
const
|
|
400
|
-
return this.encTs = this.wasm.wasmToTimestamp(
|
|
401
|
+
const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D), H = this.wasm.newInt(), N = this.wasm.newInt(), l = this.wasm.newInt64(), L = this.wasm.newInt64(), p = this.wasm.newInt(), W = this.exports.mte_wasm_mke_dec_decode_b64(this.decoder.off, this.instance, e.off, e.used, m.off, H.off, N.off, l.off, L.off, p.off);
|
|
402
|
+
if (this.statusIsError(W))
|
|
403
|
+
return this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { str: null, status: W };
|
|
404
|
+
const j = this.wasm.wasmToInt(H.off), BA = this.wasm.wasmToStr(m, j);
|
|
405
|
+
return this.encTs = this.wasm.wasmToTimestamp(l), this.decTs = this.wasm.wasmToTimestamp(L), this.msgSkipped = this.wasm.wasmToInt(p.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(H), this.wasm.free(N), this.wasm.free(l), this.wasm.free(L), this.wasm.free(p), { str: BA, status: W };
|
|
401
406
|
}, this.startDecrypt = () => this.exports.mte_mke_dec_decrypt_start(this.decoder.off, this.chunk.off), this.decryptChunk = (h) => {
|
|
402
|
-
const e = this.wasm.arrToWasm(h), D = this.wasm.newInt(), m = h.length + this.ciphBlockBytes,
|
|
403
|
-
return this.wasm.free(e), this.wasm.free(
|
|
407
|
+
const e = this.wasm.arrToWasm(h), D = this.wasm.newInt(), m = h.length + this.ciphBlockBytes, H = this.wasm.malloc(m), N = this.exports.mte_wasm_mke_dec_decrypt_chunk(this.decoder.off, this.chunk.off, e.off, h.length, H.off, D.off), l = this.wasm.wasmToInt(D.off), L = H.buff.slice(0, l);
|
|
408
|
+
return this.wasm.free(e), this.wasm.free(H), this.wasm.free(D), N == C.mte_status_success ? L : null;
|
|
404
409
|
}, this.finishDecrypt = () => {
|
|
405
|
-
const h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(),
|
|
406
|
-
if (this.statusIsError(
|
|
407
|
-
return this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(
|
|
408
|
-
const
|
|
409
|
-
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(
|
|
410
|
+
const h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), H = this.wasm.newInt(), N = this.exports.mte_wasm_mke_dec_decrypt_finish(this.decoder.off, this.chunk.off, this.instance, h.off, e.off, D.off, m.off, H.off);
|
|
411
|
+
if (this.statusIsError(N))
|
|
412
|
+
return this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: null, status: N };
|
|
413
|
+
const l = this.wasm.wasmToInt(h.off), L = this.wasm.wasmToInt(e.off), p = this.chunk.buff.slice(l, l + L);
|
|
414
|
+
return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(H.off), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(H), { arr: p, status: N };
|
|
410
415
|
}, this.getEncTs = () => this.encTs, this.getDecTs = () => this.decTs, this.getMsgSkipped = () => this.msgSkipped, this.uninstantiate = () => this.exports.mte_mke_dec_uninstantiate(this.decoder.off);
|
|
411
|
-
const d = typeof I == "string" ? this.getDrbgsAlgo(I) : I, f = typeof
|
|
416
|
+
const d = typeof I == "string" ? this.getDrbgsAlgo(I) : I, f = typeof E == "string" ? this.getVerifiersAlgo(E) : E, n = typeof i == "string" ? this.getCiphersAlgo(i) : i, w = typeof a == "string" ? this.getHashesAlgo(a) : a;
|
|
412
417
|
this.initBase(d, B, f, n, w);
|
|
413
418
|
const r = this.exports.mte_wasm_mke_dec_state_bytes(d, B, f, n, w);
|
|
414
419
|
if (r == 0)
|
|
415
420
|
throw new RangeError("MteMkeDec: Invalid options.");
|
|
416
|
-
if (this.decoder =
|
|
421
|
+
if (this.decoder = g.malloc(r), this.exports.mte_wasm_mke_dec_state_init(this.decoder.off, d, B, f, n, w, Q, c) != C.mte_status_success)
|
|
417
422
|
throw new RangeError("MteMkeDec: Invalid options.");
|
|
418
|
-
if (this.saved =
|
|
423
|
+
if (this.saved = g.malloc(this.exports.mte_mke_dec_save_bytes(this.decoder.off)), this.saved64 = g.malloc(this.exports.mte_wasm_mke_dec_save_bytes_b64(this.decoder.off)), this.chunk = g.malloc(this.exports.mte_mke_dec_decrypt_state_bytes(this.decoder.off)), this.ciphBlockBytes = this.getCiphersBlockBytes(n), this.ciphBlockBytes == 0)
|
|
419
424
|
throw new RangeError("MteMkeDec: Invalid options.");
|
|
420
425
|
}
|
|
421
426
|
/** Create a decoder using default options.
|
|
422
427
|
*
|
|
423
428
|
* The timestamp window and sequence window are optionally settable. */
|
|
424
|
-
static fromdefault(
|
|
425
|
-
const
|
|
426
|
-
return new U(
|
|
429
|
+
static fromdefault(g, I = 0, B = 0) {
|
|
430
|
+
const E = new F(g);
|
|
431
|
+
return new U(g, E.getDefaultDrbg(), E.getDefaultTokBytes(), E.getDefaultVerifiers(), E.getDefaultCipher(), E.getDefaultHash(), I, B);
|
|
427
432
|
}
|
|
428
433
|
}
|
|
429
434
|
A.MteMkeDec = U;
|
|
430
|
-
class
|
|
435
|
+
class J {
|
|
431
436
|
/** Constructor taking the MKE encoder/decoder and directory for the SDR to
|
|
432
437
|
* use.
|
|
433
438
|
*
|
|
434
439
|
* Note: the MKE encoder/decoder provided to this object cannot be used
|
|
435
440
|
* outside this object as this object will change their states.
|
|
436
441
|
*/
|
|
437
|
-
constructor(
|
|
438
|
-
this.entropy = new Uint8Array(0), this.memFiles = /* @__PURE__ */ new Map(), this.getEncoder = () => this.enc, this.getDecoder = () => this.dec, this.initSdr = (
|
|
439
|
-
this.entropy =
|
|
442
|
+
constructor(g, I, B) {
|
|
443
|
+
this.entropy = new Uint8Array(0), this.memFiles = /* @__PURE__ */ new Map(), this.getEncoder = () => this.enc, this.getDecoder = () => this.dec, this.initSdr = (Q, c) => {
|
|
444
|
+
this.entropy = Q, this.nonce.fill(0);
|
|
440
445
|
for (let d = 0; d < c.length; ++d) {
|
|
441
446
|
let f = parseInt(c.charAt(d));
|
|
442
447
|
for (let n = 0; n < this.nonce.length; ++n) {
|
|
@@ -445,101 +450,101 @@ function vA() {
|
|
|
445
450
|
}
|
|
446
451
|
}
|
|
447
452
|
this.implDirExists(this.sdrPath) || this.implCreateDir(this.sdrPath);
|
|
448
|
-
}, this.readData = (
|
|
453
|
+
}, this.readData = (Q) => {
|
|
449
454
|
let c;
|
|
450
|
-
this.memFiles.has(
|
|
455
|
+
this.memFiles.has(Q) ? c = this.memFiles.get(Q) : c = this.implReadFile(this.sdrPath, Q);
|
|
451
456
|
const d = new Uint8Array(this.nonce.length);
|
|
452
457
|
for (let o = 0; o < d.length; ++o)
|
|
453
458
|
d[o] = c[o] ^ this.nonce[o];
|
|
454
459
|
const f = Uint8Array.from(this.entropy);
|
|
455
460
|
this.dec.setEntropyArr(f), this.dec.setNonceArr(d);
|
|
456
|
-
const n = this.dec.instantiate(
|
|
457
|
-
if (n !=
|
|
461
|
+
const n = this.dec.instantiate(Q);
|
|
462
|
+
if (n != C.mte_status_success)
|
|
458
463
|
throw new Error("Error instantiating decoder (" + this.dec.getStatusName(n) + "): " + this.dec.getStatusDescription(n));
|
|
459
464
|
const w = c.slice(d.length), r = this.dec.decode(w);
|
|
460
|
-
if (r.status !=
|
|
465
|
+
if (r.status != C.mte_status_success)
|
|
461
466
|
throw new Error("Error decoding data (" + this.dec.getStatusName(r.status) + "): " + this.dec.getStatusDescription(r.status));
|
|
462
467
|
return r.arr;
|
|
463
|
-
}, this.readString = (
|
|
468
|
+
}, this.readString = (Q) => {
|
|
464
469
|
let c;
|
|
465
|
-
this.memFiles.has(
|
|
470
|
+
this.memFiles.has(Q) ? c = this.memFiles.get(Q) : c = this.implReadFile(this.sdrPath, Q);
|
|
466
471
|
const d = new Uint8Array(this.nonce.length);
|
|
467
472
|
for (let o = 0; o < d.length; ++o)
|
|
468
473
|
d[o] = c[o] ^ this.nonce[o];
|
|
469
474
|
const f = Uint8Array.from(this.entropy);
|
|
470
475
|
this.dec.setEntropyArr(f), this.dec.setNonceArr(d);
|
|
471
|
-
const n = this.dec.instantiate(
|
|
472
|
-
if (n !=
|
|
476
|
+
const n = this.dec.instantiate(Q);
|
|
477
|
+
if (n != C.mte_status_success)
|
|
473
478
|
throw new Error("Error instantiating decoder (" + this.dec.getStatusName(n) + "): " + this.dec.getStatusDescription(n));
|
|
474
479
|
const w = c.slice(d.length), r = this.dec.decodeStr(w);
|
|
475
|
-
if (r.status !=
|
|
480
|
+
if (r.status != C.mte_status_success)
|
|
476
481
|
throw new Error("Error decoding data (" + this.dec.getStatusName(r.status) + "): " + this.dec.getStatusDescription(r.status));
|
|
477
482
|
return r.str;
|
|
478
|
-
}, this.writeData = (
|
|
483
|
+
}, this.writeData = (Q, c, d = !1) => {
|
|
479
484
|
const f = this.implGetTimestamp(), n = new Uint8Array(this.nonce.length);
|
|
480
485
|
for (let e = 0; e < n.length; ++e)
|
|
481
486
|
n[e] = f[e] ^ this.nonce[e];
|
|
482
487
|
const w = Uint8Array.from(this.entropy);
|
|
483
488
|
this.enc.setEntropyArr(w), this.enc.setNonceArr(n);
|
|
484
|
-
const r = this.enc.instantiate(
|
|
485
|
-
if (r !=
|
|
489
|
+
const r = this.enc.instantiate(Q);
|
|
490
|
+
if (r != C.mte_status_success)
|
|
486
491
|
throw new Error("Error instantiating encoder (" + this.enc.getStatusName(r) + "): " + this.enc.getStatusDescription(r));
|
|
487
492
|
const o = this.enc.encode(c);
|
|
488
|
-
if (o.status !=
|
|
493
|
+
if (o.status != C.mte_status_success)
|
|
489
494
|
throw new Error("Error encoding data (" + this.enc.getStatusName(o.status) + "): " + this.enc.getStatusDescription(o.status));
|
|
490
495
|
const h = new Uint8Array(o.arr.length + f.length);
|
|
491
496
|
for (let e = 0; e < f.length; ++e)
|
|
492
497
|
h[e] = f[e];
|
|
493
498
|
for (let e = 0; e < o.arr.length; ++e)
|
|
494
499
|
h[e + f.length] = o.arr[e];
|
|
495
|
-
d ? this.memFiles.set(
|
|
496
|
-
}, this.writeString = (
|
|
500
|
+
d ? this.memFiles.set(Q, h) : this.implWriteFile(this.sdrPath, Q, h);
|
|
501
|
+
}, this.writeString = (Q, c, d = !1) => {
|
|
497
502
|
const f = this.implGetTimestamp(), n = new Uint8Array(this.nonce.length);
|
|
498
503
|
for (let e = 0; e < n.length; ++e)
|
|
499
504
|
n[e] = f[e] ^ this.nonce[e];
|
|
500
505
|
const w = Uint8Array.from(this.entropy);
|
|
501
506
|
this.enc.setEntropyArr(w), this.enc.setNonceArr(n);
|
|
502
|
-
const r = this.enc.instantiate(
|
|
503
|
-
if (r !=
|
|
507
|
+
const r = this.enc.instantiate(Q);
|
|
508
|
+
if (r != C.mte_status_success)
|
|
504
509
|
throw new Error("Error instantiating encoder (" + this.enc.getStatusName(r) + "): " + this.enc.getStatusDescription(r));
|
|
505
510
|
const o = this.enc.encodeStr(c);
|
|
506
|
-
if (o.status !=
|
|
511
|
+
if (o.status != C.mte_status_success)
|
|
507
512
|
throw new Error("Error encoding data (" + this.enc.getStatusName(o.status) + "): " + this.enc.getStatusDescription(o.status));
|
|
508
513
|
const h = new Uint8Array(o.arr.length + f.length);
|
|
509
514
|
for (let e = 0; e < f.length; ++e)
|
|
510
515
|
h[e] = f[e];
|
|
511
516
|
for (let e = 0; e < o.arr.length; ++e)
|
|
512
517
|
h[e + f.length] = o.arr[e];
|
|
513
|
-
d ? this.memFiles.set(
|
|
514
|
-
}, this.remove = (
|
|
515
|
-
this.memFiles.has(
|
|
518
|
+
d ? this.memFiles.set(Q, h) : this.implWriteFile(this.sdrPath, Q, h);
|
|
519
|
+
}, this.remove = (Q) => {
|
|
520
|
+
this.memFiles.has(Q) ? this.memFiles.delete(Q) : this.implRemoveFile(this.sdrPath, Q);
|
|
516
521
|
}, this.removeSdr = () => {
|
|
517
522
|
if (this.implDirExists(this.sdrPath)) {
|
|
518
|
-
const
|
|
519
|
-
for (let c = 0; c <
|
|
520
|
-
this.implRemoveFile(this.sdrPath,
|
|
523
|
+
const Q = this.implListFiles(this.sdrPath);
|
|
524
|
+
for (let c = 0; c < Q.length; ++c)
|
|
525
|
+
this.implRemoveFile(this.sdrPath, Q[c]);
|
|
521
526
|
this.implRemoveDir(this.sdrPath);
|
|
522
527
|
}
|
|
523
|
-
}, this.implDirExists = (
|
|
524
|
-
}, this.implReadFile = (
|
|
528
|
+
}, this.implDirExists = (Q) => !0, this.implListFiles = (Q) => [], this.implCreateDir = (Q) => {
|
|
529
|
+
}, this.implReadFile = (Q, c) => {
|
|
525
530
|
throw new Error("MteSdrAbs.readFile() called.");
|
|
526
|
-
}, this.implWriteFile = (
|
|
531
|
+
}, this.implWriteFile = (Q, c, d) => {
|
|
527
532
|
throw new Error("MteSdrAbs.writeFile() called.");
|
|
528
|
-
}, this.implRemoveDir = (
|
|
529
|
-
}, this.implRemoveFile = (
|
|
533
|
+
}, this.implRemoveDir = (Q) => {
|
|
534
|
+
}, this.implRemoveFile = (Q, c) => {
|
|
530
535
|
}, this.implGetTimestamp = () => {
|
|
531
|
-
let
|
|
536
|
+
let Q = Math.floor(Date.now());
|
|
532
537
|
const c = new Uint8Array(this.nonce.length);
|
|
533
538
|
for (let d = c.length - 1; d >= 0; --d)
|
|
534
|
-
c[d] =
|
|
539
|
+
c[d] = Q % 256, Q = Math.floor(Q / 256);
|
|
535
540
|
return c;
|
|
536
|
-
}, this.enc =
|
|
537
|
-
const
|
|
541
|
+
}, this.enc = g, this.dec = I, this.wasm = g.wasm, this.enc.setEntropyCallback(null), this.dec.setEntropyCallback(null), this.enc.setNonceCallback(null), this.dec.setNonceCallback(null), this.enc.setTimestampCallback(null), this.dec.setTimestampCallback(null);
|
|
542
|
+
const E = g.getDrbgsNonceMinBytes(g.getDrbg()), i = g.getDrbgsNonceMaxBytes(g.getDrbg()), a = Math.min(Math.max(E, 8), i);
|
|
538
543
|
this.nonce = new Uint8Array(a), this.sdrPath = B;
|
|
539
544
|
}
|
|
540
545
|
}
|
|
541
|
-
A.MteSdrAbs =
|
|
542
|
-
class Z extends
|
|
546
|
+
A.MteSdrAbs = J;
|
|
547
|
+
class Z extends J {
|
|
543
548
|
/** Constructor taking the MKE encoder/decoder, directory for the SDR to
|
|
544
549
|
* use, and cookie attributes to append.
|
|
545
550
|
*
|
|
@@ -550,81 +555,81 @@ function vA() {
|
|
|
550
555
|
* Note: the MKE encoder/decoder provided to this object cannot be used
|
|
551
556
|
* outside this object as this object will change their states.
|
|
552
557
|
*/
|
|
553
|
-
constructor(
|
|
554
|
-
super(
|
|
555
|
-
const a =
|
|
556
|
-
return document.cookie.split(";").filter((
|
|
557
|
-
}, this.implReadFile = (
|
|
558
|
-
const
|
|
558
|
+
constructor(g, I, B, E) {
|
|
559
|
+
super(g, I, B), this.implListFiles = (i) => {
|
|
560
|
+
const a = i + "_";
|
|
561
|
+
return document.cookie.split(";").filter((Q) => Q.trim().startsWith(a)).map((Q) => Q.split("=")[0].trim().slice(a.length));
|
|
562
|
+
}, this.implReadFile = (i, a) => {
|
|
563
|
+
const Q = i + "_" + a + "=", c = document.cookie.split(";").filter((f) => f.trim().startsWith(Q));
|
|
559
564
|
if (c.length != 1)
|
|
560
565
|
throw new Error("Could not find cookie.");
|
|
561
566
|
const d = c[0];
|
|
562
567
|
return this.wasm.b64decode(decodeURIComponent(d.split("=")[1].trim()));
|
|
563
|
-
}, this.implWriteFile = (
|
|
564
|
-
const c = encodeURIComponent(this.wasm.b64encode(
|
|
565
|
-
document.cookie =
|
|
566
|
-
}, this.implRemoveFile = (
|
|
567
|
-
document.cookie =
|
|
568
|
-
}, this.attrs =
|
|
568
|
+
}, this.implWriteFile = (i, a, Q) => {
|
|
569
|
+
const c = encodeURIComponent(this.wasm.b64encode(Q));
|
|
570
|
+
document.cookie = i + "_" + a + "=" + c + this.attrs;
|
|
571
|
+
}, this.implRemoveFile = (i, a) => {
|
|
572
|
+
document.cookie = i + "_" + a + "=_; max-age=0";
|
|
573
|
+
}, this.attrs = E;
|
|
569
574
|
}
|
|
570
575
|
/** Create an SDR at the given directory with the cookie attributes to
|
|
571
576
|
* append. Default-constructed MKE encoder and decoder are created.
|
|
572
577
|
*/
|
|
573
|
-
static fromdefault(
|
|
574
|
-
return new Z(
|
|
578
|
+
static fromdefault(g, I, B) {
|
|
579
|
+
return new Z(S.fromdefault(g), U.fromdefault(g), I, B);
|
|
575
580
|
}
|
|
576
581
|
}
|
|
577
582
|
A.MteSdrCookie = Z;
|
|
578
|
-
class
|
|
583
|
+
class _ extends J {
|
|
579
584
|
/** Constructor taking the MKE encoder/decoder, directory for the SDR to
|
|
580
585
|
* use, and storage to use (true = local, false = session).
|
|
581
586
|
*
|
|
582
587
|
* Note: the MKE encoder/decoder provided to this object cannot be used
|
|
583
588
|
* outside this object as this object will change their states.
|
|
584
589
|
*/
|
|
585
|
-
constructor(
|
|
586
|
-
super(
|
|
587
|
-
const a =
|
|
590
|
+
constructor(g, I, B, E) {
|
|
591
|
+
super(g, I, B), this.implListFiles = (i) => {
|
|
592
|
+
const a = i + "/", Q = new Array();
|
|
588
593
|
for (let c = 0; c < this.storage.length; ++c) {
|
|
589
594
|
const d = this.storage.key(c);
|
|
590
|
-
d.startsWith(a) &&
|
|
595
|
+
d.startsWith(a) && Q.push(d.slice(a.length));
|
|
591
596
|
}
|
|
592
|
-
return
|
|
593
|
-
}, this.implReadFile = (
|
|
594
|
-
const
|
|
597
|
+
return Q;
|
|
598
|
+
}, this.implReadFile = (i, a) => {
|
|
599
|
+
const Q = i + "/" + a, c = this.storage.getItem(Q);
|
|
595
600
|
if (c == null)
|
|
596
601
|
throw new Error("Could not find file.");
|
|
597
602
|
return this.wasm.b64decode(c);
|
|
598
|
-
}, this.implWriteFile = (
|
|
599
|
-
const c = this.wasm.b64encode(
|
|
603
|
+
}, this.implWriteFile = (i, a, Q) => {
|
|
604
|
+
const c = this.wasm.b64encode(Q), d = i + "/" + a;
|
|
600
605
|
this.storage.setItem(d, c);
|
|
601
|
-
}, this.implRemoveFile = (
|
|
602
|
-
const
|
|
603
|
-
this.storage.removeItem(
|
|
604
|
-
}, this.storage =
|
|
606
|
+
}, this.implRemoveFile = (i, a) => {
|
|
607
|
+
const Q = i + "/" + a;
|
|
608
|
+
this.storage.removeItem(Q);
|
|
609
|
+
}, this.storage = E ? window.localStorage : window.sessionStorage;
|
|
605
610
|
}
|
|
606
611
|
/** Create an SDR at the given directory with the storage choice. Default-
|
|
607
612
|
* constructed MKE encoder and decoder are created.
|
|
608
613
|
*/
|
|
609
|
-
static fromdefault(
|
|
610
|
-
return new
|
|
614
|
+
static fromdefault(g, I, B) {
|
|
615
|
+
return new _(S.fromdefault(g), U.fromdefault(g), I, B);
|
|
611
616
|
}
|
|
612
617
|
}
|
|
613
|
-
A.MteSdrStorage =
|
|
614
|
-
class
|
|
618
|
+
A.MteSdrStorage = _;
|
|
619
|
+
class X {
|
|
615
620
|
}
|
|
616
|
-
A.MteRandom =
|
|
617
|
-
var
|
|
618
|
-
(function(
|
|
619
|
-
|
|
620
|
-
})(
|
|
621
|
-
var
|
|
622
|
-
(function(
|
|
623
|
-
|
|
624
|
-
})(
|
|
625
|
-
class
|
|
621
|
+
A.MteRandom = X, X.getBytes = (t) => t.length == 0 ? !1 : typeof window > "u" ? (pA.getRandomValues(t), !0) : (window.crypto.getRandomValues(t), !0);
|
|
622
|
+
var x;
|
|
623
|
+
(function(t) {
|
|
624
|
+
t[t.none = 0] = "none", t[t.K512 = 512] = "K512", t[t.K768 = 768] = "K768", t[t.K1024 = 1024] = "K1024";
|
|
625
|
+
})(x = A.MteKyberStrength || (A.MteKyberStrength = {}));
|
|
626
|
+
var z;
|
|
627
|
+
(function(t) {
|
|
628
|
+
t[t.success = 0] = "success", t[t.invalidStrength = -1] = "invalidStrength", t[t.entropyFail = -2] = "entropyFail", t[t.invalidPubKey = -3] = "invalidPubKey", t[t.invalidPrivKey = -4] = "invalidPrivKey", t[t.memoryFail = -5] = "memoryFail", t[t.invalidCipherText = -6] = "invalidCipherText";
|
|
629
|
+
})(z = A.MteKyberStatus || (A.MteKyberStatus = {}));
|
|
630
|
+
class M {
|
|
626
631
|
/** Constructor which needs no parameters. */
|
|
627
|
-
constructor(
|
|
632
|
+
constructor(g, I) {
|
|
628
633
|
if (this.publicKeySize = 0, this.privateKeySize = 0, this.minEntropySize = 0, this.maxEntropySize = 0, this.encryptedSize = 0, this.secretSize = 0, this.privateKey = null, this.myEntropyCb = null, this.myEntropy = null, this.getPublicKeySize = () => this.publicKeySize, this.getSecretSize = () => this.secretSize, this.getEncryptedSize = () => this.encryptedSize, this.getminEntropySize = () => this.minEntropySize, this.getMaxEntropySize = () => this.maxEntropySize, this.getAlgorithm = () => {
|
|
629
634
|
const B = this.exports.mte_wasm_kyber_get_algorithm();
|
|
630
635
|
return this.wasm.wasmOffToStr(B);
|
|
@@ -632,147 +637,147 @@ function vA() {
|
|
|
632
637
|
this.myEntropyCb = B;
|
|
633
638
|
}, this.setEntropy = (B) => {
|
|
634
639
|
if (B.length < this.minEntropySize || B.length > this.maxEntropySize)
|
|
635
|
-
return
|
|
640
|
+
return z.entropyFail;
|
|
636
641
|
this.myEntropy = new Uint8Array(B.length);
|
|
637
|
-
for (let
|
|
638
|
-
this.myEntropy[
|
|
639
|
-
return
|
|
642
|
+
for (let E = 0; E < B.length; ++E)
|
|
643
|
+
this.myEntropy[E] = B[E], B[E] = 0;
|
|
644
|
+
return z.success;
|
|
640
645
|
}, this.createKeypair = () => {
|
|
641
|
-
let B =
|
|
642
|
-
const
|
|
643
|
-
this.wasm.intToWasm(
|
|
644
|
-
const a = this.wasm.malloc(this.privateKeySize),
|
|
645
|
-
if (this.wasm.intToWasm(
|
|
646
|
-
return this.wasm.free(
|
|
647
|
-
const c =
|
|
648
|
-
return this.privateKey = a.buff.slice(0, this.privateKeySize), this.wasm.free(
|
|
646
|
+
let B = z.success;
|
|
647
|
+
const E = this.wasm.malloc(this.publicKeySize), i = this.wasm.newInt();
|
|
648
|
+
this.wasm.intToWasm(i.off, this.publicKeySize);
|
|
649
|
+
const a = this.wasm.malloc(this.privateKeySize), Q = this.wasm.newInt();
|
|
650
|
+
if (this.wasm.intToWasm(Q.off, this.privateKeySize), B = this.exports.mte_wasm_kyber_create_keypair(a.off, Q.off, E.off, i.off, this.instance), B != z.success)
|
|
651
|
+
return this.wasm.free(E), this.wasm.free(i), this.wasm.free(a), this.wasm.free(Q), { result1: null, result2: null, status: B };
|
|
652
|
+
const c = E.buff.slice(0, this.publicKeySize);
|
|
653
|
+
return this.privateKey = a.buff.slice(0, this.privateKeySize), this.wasm.free(E), this.wasm.free(i), this.wasm.free(a), this.wasm.free(Q), { result1: c, result2: null, status: B };
|
|
649
654
|
}, this.createSecret = (B) => {
|
|
650
|
-
const
|
|
655
|
+
const E = this.wasm.arrToWasm(B), i = this.wasm.malloc(this.secretSize), a = this.wasm.newInt();
|
|
651
656
|
this.wasm.intToWasm(a.off, this.secretSize);
|
|
652
|
-
const
|
|
657
|
+
const Q = this.wasm.malloc(this.encryptedSize), c = this.wasm.newInt();
|
|
653
658
|
this.wasm.intToWasm(c.off, this.encryptedSize);
|
|
654
|
-
const d = this.exports.mte_wasm_kyber_create_secret(
|
|
655
|
-
if (this.wasm.free(
|
|
656
|
-
return this.wasm.free(
|
|
657
|
-
const f =
|
|
658
|
-
return this.wasm.free(
|
|
659
|
+
const d = this.exports.mte_wasm_kyber_create_secret(E.off, B.length, i.off, a.off, Q.off, c.off, this.instance);
|
|
660
|
+
if (this.wasm.free(E), d !== z.success)
|
|
661
|
+
return this.wasm.free(i), this.wasm.free(a), this.wasm.free(Q), this.wasm.free(c), { result1: null, result2: null, status: d };
|
|
662
|
+
const f = i.buff.slice(0, this.secretSize), n = Q.buff.slice(0, this.encryptedSize);
|
|
663
|
+
return this.wasm.free(i), this.wasm.free(a), this.wasm.free(Q), this.wasm.free(c), {
|
|
659
664
|
result1: f,
|
|
660
665
|
result2: n,
|
|
661
|
-
status:
|
|
666
|
+
status: z.success
|
|
662
667
|
};
|
|
663
668
|
}, this.decryptSecret = (B) => {
|
|
664
669
|
if (this.privateKey === null)
|
|
665
670
|
return {
|
|
666
671
|
result1: null,
|
|
667
672
|
result2: null,
|
|
668
|
-
status:
|
|
673
|
+
status: z.invalidPrivKey
|
|
669
674
|
};
|
|
670
|
-
const
|
|
671
|
-
this.wasm.intToWasm(
|
|
672
|
-
const c = this.exports.mte_wasm_kyber_decrypt_secret(
|
|
673
|
-
if (this.wasm.free(
|
|
674
|
-
return this.wasm.free(a), this.wasm.free(
|
|
675
|
+
const E = this.wasm.arrToWasm(this.privateKey), i = this.wasm.arrToWasm(B), a = this.wasm.malloc(this.secretSize), Q = this.wasm.newInt();
|
|
676
|
+
this.wasm.intToWasm(Q.off, this.secretSize);
|
|
677
|
+
const c = this.exports.mte_wasm_kyber_decrypt_secret(E.off, this.privateKey.length, i.off, B.length, a.off, Q.off);
|
|
678
|
+
if (this.wasm.free(E), this.wasm.free(i), c !== z.success)
|
|
679
|
+
return this.wasm.free(a), this.wasm.free(Q), { result1: null, result2: null, status: c };
|
|
675
680
|
const d = a.buff.slice(0, this.secretSize);
|
|
676
|
-
return this.wasm.free(a), this.wasm.free(
|
|
681
|
+
return this.wasm.free(a), this.wasm.free(Q), {
|
|
677
682
|
result1: d,
|
|
678
683
|
result2: null,
|
|
679
|
-
status:
|
|
684
|
+
status: z.success
|
|
680
685
|
};
|
|
681
686
|
}, this.destruct = () => {
|
|
682
|
-
for (
|
|
683
|
-
|
|
684
|
-
}, this.defaultCallback = (B,
|
|
685
|
-
const c =
|
|
687
|
+
for (M.instances[this.instance] = null; M.instances.length > 0 && M.instances[M.instances.length - 1] == null; )
|
|
688
|
+
M.instances.pop();
|
|
689
|
+
}, this.defaultCallback = (B, E, i, a, Q) => {
|
|
690
|
+
const c = M.instances[B];
|
|
686
691
|
if (c.myEntropyCb !== null)
|
|
687
|
-
return c.myEntropyCb.entropyCallback(
|
|
692
|
+
return c.myEntropyCb.entropyCallback(E, i, a, Q);
|
|
688
693
|
if (c.myEntropy === null) {
|
|
689
694
|
let d = new Uint8Array(a);
|
|
690
|
-
if (!
|
|
691
|
-
return
|
|
692
|
-
let f = this.wasm.wasmOverlay(
|
|
695
|
+
if (!X.getBytes(d))
|
|
696
|
+
return z.entropyFail;
|
|
697
|
+
let f = this.wasm.wasmOverlay(E, a);
|
|
693
698
|
for (let n = 0; n < a; ++n)
|
|
694
699
|
f[n] = d[n], d[n] = 0;
|
|
695
|
-
c.wasm.intToWasm(
|
|
700
|
+
c.wasm.intToWasm(i, a);
|
|
696
701
|
} else {
|
|
697
|
-
let d = this.wasm.wasmOverlay(
|
|
702
|
+
let d = this.wasm.wasmOverlay(E, c.myEntropy.length);
|
|
698
703
|
for (let f = 0; f < c.myEntropy.length; ++f)
|
|
699
704
|
d[f] = c.myEntropy[f], c.myEntropy[f] = 0;
|
|
700
|
-
c.wasm.intToWasm(
|
|
705
|
+
c.wasm.intToWasm(i, c.myEntropy.length), c.myEntropy = null;
|
|
701
706
|
}
|
|
702
|
-
return
|
|
703
|
-
},
|
|
707
|
+
return z.success;
|
|
708
|
+
}, M.strength !== x.none && M.strength !== I)
|
|
704
709
|
throw new TypeError("MteKyber: differing Kyber strengths are not supported.");
|
|
705
|
-
if (this.wasm =
|
|
706
|
-
this.exports =
|
|
710
|
+
if (this.wasm = g, g.exports !== null)
|
|
711
|
+
this.exports = g.exports;
|
|
707
712
|
else
|
|
708
713
|
throw new TypeError("MteKyber: WASM does not have exports.");
|
|
709
|
-
if (
|
|
710
|
-
this.memory =
|
|
714
|
+
if (g.memory !== null)
|
|
715
|
+
this.memory = g.memory;
|
|
711
716
|
else
|
|
712
717
|
throw new TypeError("MteKyber: WASM does not have memory.");
|
|
713
|
-
|
|
714
|
-
for (let B = 0; B <
|
|
715
|
-
if (
|
|
718
|
+
g.kyberCallback === null && (g.kyberCallback = this.defaultCallback), this.instance = -1;
|
|
719
|
+
for (let B = 0; B < M.instances.length; B++)
|
|
720
|
+
if (M.instances[B] === null) {
|
|
716
721
|
this.instance = B;
|
|
717
722
|
break;
|
|
718
723
|
}
|
|
719
|
-
if (this.instance === -1 ? (this.instance =
|
|
724
|
+
if (this.instance === -1 ? (this.instance = M.instances.length, M.instances.push(this)) : M.instances[this.instance] = this, this.exports.mte_wasm_kyber_init(I) != z.success)
|
|
720
725
|
throw new TypeError("MteKyber: intializing the strength failed.");
|
|
721
|
-
|
|
726
|
+
M.strength = I, this.publicKeySize = this.exports.mte_wasm_kyber_get_pubkey_size(), this.privateKeySize = this.exports.mte_wasm_kyber_get_privkey_size(), this.minEntropySize = this.exports.mte_wasm_kyber_get_min_entropy_size(), this.maxEntropySize = this.exports.mte_wasm_kyber_get_max_entropy_size(), this.encryptedSize = this.exports.mte_wasm_kyber_get_encrypted_size(), this.secretSize = this.exports.mte_wasm_kyber_get_secret_size();
|
|
722
727
|
}
|
|
723
728
|
}
|
|
724
|
-
A.MteKyber =
|
|
725
|
-
for (let
|
|
726
|
-
|
|
729
|
+
A.MteKyber = M, M.instances = [], M.strength = x.none, M.zeroize = (t) => {
|
|
730
|
+
for (let g = 0; g < t.length; ++g)
|
|
731
|
+
t[g] = 0;
|
|
727
732
|
};
|
|
728
|
-
class
|
|
733
|
+
class kA {
|
|
729
734
|
constructor() {
|
|
730
|
-
this.kyberCallback = null, this.entropyCallback = null, this.nonceCallback = null, this.timestampCallback = null, this.exports = null, this.memory = null, this.pageBytes = 64 * 1024, this.base = 0, this.bytes = 0, this.blocks = [], this.instantiate = () => new Promise((
|
|
735
|
+
this.kyberCallback = null, this.entropyCallback = null, this.nonceCallback = null, this.timestampCallback = null, this.exports = null, this.memory = null, this.pageBytes = 64 * 1024, this.base = 0, this.bytes = 0, this.blocks = [], this.instantiate = () => new Promise((g, I) => s(this, void 0, void 0, function* () {
|
|
731
736
|
try {
|
|
732
737
|
const B = {
|
|
733
738
|
mte_wasm_kyber_cb: this.kyberCallbackWasm,
|
|
734
739
|
mte_wasm_ei_cb: this.entropyCallbackWasm,
|
|
735
740
|
mte_wasm_n_cb: this.nonceCallbackWasm,
|
|
736
741
|
mte_wasm_t_cb: this.timestampCallbackWasm
|
|
737
|
-
},
|
|
742
|
+
}, E = {
|
|
738
743
|
env: B,
|
|
739
744
|
imports: B
|
|
740
|
-
},
|
|
741
|
-
this.exports =
|
|
745
|
+
}, i = new V(), a = yield WebAssembly.compile(i.wasmArr), Q = yield WebAssembly.instantiate(a, E);
|
|
746
|
+
this.exports = Q.exports, this.memory = this.exports.memory, this.base = this.memory.buffer.byteLength, g();
|
|
742
747
|
} catch (B) {
|
|
743
748
|
I(B);
|
|
744
749
|
}
|
|
745
|
-
})), this.malloc = (
|
|
750
|
+
})), this.malloc = (g) => {
|
|
746
751
|
const I = this.memory, B = this.blocks.length;
|
|
747
|
-
for (let
|
|
748
|
-
if (!this.blocks[
|
|
749
|
-
this.blocks[
|
|
750
|
-
const c = new
|
|
751
|
-
return this.blocks[
|
|
752
|
+
for (let Q = 0; Q < B; ++Q)
|
|
753
|
+
if (!this.blocks[Q].inUse && this.blocks[Q].bytes >= g) {
|
|
754
|
+
this.blocks[Q].bytes > g && (this.blocks.splice(Q + 1, 0, new HA(this.blocks[Q].off + g, this.blocks[Q].bytes - g)), this.blocks[Q].bytes = g);
|
|
755
|
+
const c = new EA(this.blocks[Q].off, new Uint8Array(I.buffer, this.blocks[Q].off, g));
|
|
756
|
+
return this.blocks[Q].inUse = !0, this.blocks[Q].mteMem = c, c;
|
|
752
757
|
}
|
|
753
|
-
const
|
|
754
|
-
I.grow(
|
|
755
|
-
for (let
|
|
756
|
-
this.blocks[
|
|
757
|
-
const a = I.buffer.byteLength -
|
|
758
|
-
return this.blocks.length != 0 && !this.blocks[this.blocks.length - 1].inUse ? this.blocks[this.blocks.length - 1].bytes += a : this.blocks.push(new
|
|
759
|
-
}, this.free = (
|
|
758
|
+
const E = I.buffer.byteLength, i = Math.ceil(g / this.pageBytes);
|
|
759
|
+
I.grow(i);
|
|
760
|
+
for (let Q = 0; Q < B; ++Q)
|
|
761
|
+
this.blocks[Q].inUse && (this.blocks[Q].mteMem.buff = new Uint8Array(I.buffer, this.blocks[Q].off, this.blocks[Q].bytes));
|
|
762
|
+
const a = I.buffer.byteLength - E;
|
|
763
|
+
return this.blocks.length != 0 && !this.blocks[this.blocks.length - 1].inUse ? this.blocks[this.blocks.length - 1].bytes += a : this.blocks.push(new HA(this.base + this.bytes, a)), this.bytes += a, this.malloc(g);
|
|
764
|
+
}, this.free = (g) => {
|
|
760
765
|
let I = 0;
|
|
761
766
|
const B = this.blocks.length;
|
|
762
|
-
for (; I < B && this.blocks[I].off !=
|
|
767
|
+
for (; I < B && this.blocks[I].off != g.off; ++I)
|
|
763
768
|
;
|
|
764
769
|
I != B && (I != 0 && !this.blocks[I - 1].inUse ? (this.blocks[I - 1].bytes += this.blocks[I].bytes, this.blocks.splice(I, 1), --I) : (this.blocks[I].inUse = !1, this.blocks[I].mteMem = null), I < this.blocks.length - 1 && !this.blocks[I + 1].inUse && (this.blocks[I].bytes += this.blocks[I + 1].bytes, this.blocks.splice(I + 1, 1)));
|
|
765
|
-
}, this.wasmToInt = (
|
|
766
|
-
const I = this.wasmOverlay(
|
|
770
|
+
}, this.wasmToInt = (g) => {
|
|
771
|
+
const I = this.wasmOverlay(g, 4);
|
|
767
772
|
return I[0] + // 2^0
|
|
768
773
|
I[1] * 256 + // 2^8
|
|
769
774
|
I[2] * 65536 + // 2^16
|
|
770
775
|
I[3] * 16777216;
|
|
771
|
-
}, this.intToWasm = (
|
|
772
|
-
const B = this.wasmOverlay(
|
|
776
|
+
}, this.intToWasm = (g, I) => {
|
|
777
|
+
const B = this.wasmOverlay(g, 4);
|
|
773
778
|
B[0] = I & 255, B[1] = I >> 8 & 255, B[2] = I >> 16 & 255, B[3] = I >> 24;
|
|
774
|
-
}, this.newInt = () => this.malloc(4), this.wasmToInt64 = (
|
|
775
|
-
const I = this.wasmOverlay(
|
|
779
|
+
}, this.newInt = () => this.malloc(4), this.wasmToInt64 = (g) => {
|
|
780
|
+
const I = this.wasmOverlay(g, 8);
|
|
776
781
|
return I[0] + // 2^0
|
|
777
782
|
I[1] * 256 + // 2^8
|
|
778
783
|
I[2] * 65536 + // 2^16
|
|
@@ -780,262 +785,141 @@ function vA() {
|
|
|
780
785
|
I[4] * 4294967296 + // 2^32
|
|
781
786
|
I[5] * 1099511627776 + // 2^40
|
|
782
787
|
I[6] * 281474976710656;
|
|
783
|
-
}, this.int64ToWasm = (
|
|
784
|
-
const B = this.wasmOverlay(
|
|
785
|
-
for (let
|
|
786
|
-
B[
|
|
788
|
+
}, this.int64ToWasm = (g, I) => {
|
|
789
|
+
const B = this.wasmOverlay(g, 8);
|
|
790
|
+
for (let E = 0; E < 6; ++E)
|
|
791
|
+
B[E] = I & 255, I /= 256;
|
|
787
792
|
B[6] = I & 255, B[7] = 0;
|
|
788
|
-
}, this.newInt64 = () => this.malloc(8), this.wasmToTimestamp = (
|
|
789
|
-
const B = this.wasmOverlay(
|
|
790
|
-
for (let
|
|
791
|
-
|
|
792
|
-
return
|
|
793
|
-
}, this.arrToWasm = (
|
|
794
|
-
const I = this.malloc(
|
|
795
|
-
for (let B = 0; B <
|
|
796
|
-
I.buff[B] =
|
|
793
|
+
}, this.newInt64 = () => this.malloc(8), this.wasmToTimestamp = (g) => g.buff[7] == 0 && (g.buff[6] & 224) == 0 ? { ts: this.wasmToInt64(g.off), upper: 0 } : { ts: this.wasmToInt(g.off), upper: this.wasmToInt(g.off + 4) }, this.wasmOverlay = (g, I) => new Uint8Array(this.memory.buffer, g, I), this.wasmToArr = (g, I) => {
|
|
794
|
+
const B = this.wasmOverlay(g, I), E = new Uint8Array(I);
|
|
795
|
+
for (let i = 0; i < I; ++i)
|
|
796
|
+
E[i] = B[i];
|
|
797
|
+
return E;
|
|
798
|
+
}, this.arrToWasm = (g) => {
|
|
799
|
+
const I = this.malloc(g.length);
|
|
800
|
+
for (let B = 0; B < g.length; ++B)
|
|
801
|
+
I.buff[B] = g[B];
|
|
797
802
|
return I;
|
|
798
|
-
}, this.arrToOffLen = (
|
|
799
|
-
const
|
|
800
|
-
for (let
|
|
801
|
-
|
|
802
|
-
}, this.strToWasm = (
|
|
803
|
-
|
|
804
|
-
const B = this.malloc(
|
|
805
|
-
let
|
|
806
|
-
for (let a = 0; a <
|
|
807
|
-
let
|
|
808
|
-
|
|
803
|
+
}, this.arrToOffLen = (g, I, B) => {
|
|
804
|
+
const E = this.wasmOverlay(I, B);
|
|
805
|
+
for (let i = 0; i < B; ++i)
|
|
806
|
+
E[i] = g[i];
|
|
807
|
+
}, this.strToWasm = (g, I = 0) => {
|
|
808
|
+
g = String(g);
|
|
809
|
+
const B = this.malloc(g.length * 4 + 1 + I), E = B.buff;
|
|
810
|
+
let i = 0;
|
|
811
|
+
for (let a = 0; a < g.length; ++a) {
|
|
812
|
+
let Q = g.charCodeAt(a);
|
|
813
|
+
Q < 128 ? (E[i] = Q, ++i) : Q < 2048 ? (E[i] = 192 | Q >> 6, ++i, E[i] = 128 | Q & 63, ++i) : Q < 55296 || Q >= 57344 ? (E[i] = 224 | Q >> 12, ++i, E[i] = 128 | Q >> 6 & 63, ++i, E[i] = 128 | Q & 63, ++i) : (Q = (Q & 1023) << 10 | g.charCodeAt(a) & 1023 | 65536, E[i] = 240 | Q >> 18, ++i, E[i] = 128 | Q >> 12 & 63, ++i, E[i] = 128 | Q >> 6 & 63, ++i, E[i] = 128 | Q & 63, ++i);
|
|
809
814
|
}
|
|
810
|
-
return B.used =
|
|
811
|
-
}, this.wasmToStr = (
|
|
812
|
-
let B,
|
|
813
|
-
const
|
|
814
|
-
for (let a = I; a <
|
|
815
|
-
|
|
816
|
-
return
|
|
817
|
-
}, this.wasmOffToStr = (
|
|
818
|
-
const B = this.wasmOverlay(
|
|
819
|
-
return this.wasmToStr(new
|
|
820
|
-
}, this.b64encode = (
|
|
821
|
-
const I = this.arrToWasm(
|
|
822
|
-
this.exports.mte_wasm_base64_encode(I.off,
|
|
823
|
-
const
|
|
824
|
-
return this.free(I), this.free(
|
|
825
|
-
}, this.b64decode = (
|
|
826
|
-
const I = this.strToWasm(
|
|
827
|
-
return this.free(I),
|
|
828
|
-
}, this.kyberCallbackWasm = (
|
|
815
|
+
return B.used = i, E[i] = 0, B;
|
|
816
|
+
}, this.wasmToStr = (g, I = 0) => {
|
|
817
|
+
let B, E = "";
|
|
818
|
+
const i = g.buff;
|
|
819
|
+
for (let a = I; a < g.used && i[a] != 0; )
|
|
820
|
+
i[a] < 128 ? (E += String.fromCharCode(i[a]), ++a) : i[a] > 191 && i[a] < 224 ? (B = (i[a] & 31) << 6 | i[a + 1] & 63, E += String.fromCharCode(B), a += 2) : i[a] > 223 && i[a] < 240 ? (B = (i[a] & 15) << 12 | (i[a + 1] & 63) << 6 | i[a + 2] & 63, E += String.fromCharCode(B), a += 3) : (B = (i[a] & 7) << 18 | (i[a + 1] & 63) << 12 | (i[a + 2] & 63) << 6 | (i[a + 3] & 63) - 65536, E += String.fromCharCode(B), a += 4);
|
|
821
|
+
return E;
|
|
822
|
+
}, this.wasmOffToStr = (g, I = 0) => {
|
|
823
|
+
const B = this.wasmOverlay(g, this.memory.buffer.byteLength - g);
|
|
824
|
+
return this.wasmToStr(new EA(-1, B), I);
|
|
825
|
+
}, this.b64encode = (g) => {
|
|
826
|
+
const I = this.arrToWasm(g), B = this.exports.mte_wasm_base64_encode_bytes(g.length), E = this.malloc(B);
|
|
827
|
+
this.exports.mte_wasm_base64_encode(I.off, g.length, E.off);
|
|
828
|
+
const i = this.wasmToStr(E);
|
|
829
|
+
return this.free(I), this.free(E), i;
|
|
830
|
+
}, this.b64decode = (g) => {
|
|
831
|
+
const I = this.strToWasm(g), B = this.exports.mte_wasm_base64_decode(I.off), E = this.wasmToArr(I.off, B);
|
|
832
|
+
return this.free(I), E;
|
|
833
|
+
}, this.kyberCallbackWasm = (g, I, B, E, i) => {
|
|
829
834
|
if (this.kyberCallback === null)
|
|
830
835
|
throw new TypeError("Missing Kyber callback.");
|
|
831
|
-
return this.kyberCallback(
|
|
832
|
-
}, this.entropyCallbackWasm = (
|
|
836
|
+
return this.kyberCallback(g, I, B, E, i);
|
|
837
|
+
}, this.entropyCallbackWasm = (g, I, B, E, i, a) => {
|
|
833
838
|
if (this.entropyCallback === null)
|
|
834
839
|
throw new TypeError("Missing entropy callback.");
|
|
835
|
-
return this.entropyCallback(
|
|
836
|
-
}, this.nonceCallbackWasm = (
|
|
840
|
+
return this.entropyCallback(g, I, B, E, i, a);
|
|
841
|
+
}, this.nonceCallbackWasm = (g, I, B, E, i) => {
|
|
837
842
|
if (this.nonceCallback === null)
|
|
838
843
|
throw new TypeError("Missing nonce callback.");
|
|
839
|
-
this.nonceCallback(
|
|
840
|
-
}, this.timestampCallbackWasm = (
|
|
844
|
+
this.nonceCallback(g, I, B, E, i);
|
|
845
|
+
}, this.timestampCallbackWasm = (g, I) => {
|
|
841
846
|
if (this.timestampCallback === null)
|
|
842
847
|
throw new TypeError("Missing timestamp callback.");
|
|
843
|
-
return this.timestampCallback(
|
|
848
|
+
return this.timestampCallback(g, I);
|
|
844
849
|
};
|
|
845
850
|
}
|
|
846
851
|
}
|
|
847
|
-
A.MteWasm =
|
|
848
|
-
class
|
|
852
|
+
A.MteWasm = kA;
|
|
853
|
+
class EA {
|
|
849
854
|
/** Constructor taking the WASM offset and overlaid array. The default
|
|
850
855
|
* arguments create an invalid memory object (like NULL). */
|
|
851
|
-
constructor(
|
|
856
|
+
constructor(g = -1, I = null) {
|
|
852
857
|
this.invalidate = () => {
|
|
853
858
|
this.off = -1, this.buff = null, this.used = 0;
|
|
854
|
-
}, this.off =
|
|
859
|
+
}, this.off = g, this.buff = I, this.used = I != null ? I.length : 0;
|
|
855
860
|
}
|
|
856
861
|
}
|
|
857
|
-
A.MteMem =
|
|
858
|
-
class
|
|
862
|
+
A.MteMem = EA;
|
|
863
|
+
class HA {
|
|
859
864
|
/** Constructor. The block is marked as not in use. */
|
|
860
|
-
constructor(
|
|
861
|
-
this.inUse = !1, this.off =
|
|
865
|
+
constructor(g, I) {
|
|
866
|
+
this.inUse = !1, this.off = g, this.bytes = I, this.mteMem = null;
|
|
862
867
|
}
|
|
863
868
|
}
|
|
864
|
-
class
|
|
869
|
+
class V {
|
|
865
870
|
/** Constructor. */
|
|
866
871
|
constructor() {
|
|
867
|
-
let
|
|
868
|
-
for (let o =
|
|
869
|
-
--
|
|
870
|
-
this.wasmArr = new Uint8Array(
|
|
872
|
+
let g = Math.floor(V.wasmB64.length / 4) * 3;
|
|
873
|
+
for (let o = V.wasmB64.length - 1; o > 0 && V.wasmB64[o] == "="; --o)
|
|
874
|
+
--g;
|
|
875
|
+
this.wasmArr = new Uint8Array(g);
|
|
871
876
|
const I = (o) => o >= 65 && o <= 90 ? o - 65 : o >= 97 && o <= 122 ? o - 71 : o >= 48 && o <= 57 ? o + 4 : o == 43 ? 62 : 63;
|
|
872
|
-
let B,
|
|
873
|
-
const r = Math.floor(
|
|
877
|
+
let B, E, i, a, Q, c, d, f, n = 0, w = 0;
|
|
878
|
+
const r = Math.floor(g / 3) * 3;
|
|
874
879
|
for (; n < r; )
|
|
875
|
-
|
|
876
|
-
switch (
|
|
880
|
+
Q = V.wasmB64.charCodeAt(w), ++w, c = V.wasmB64.charCodeAt(w), ++w, d = V.wasmB64.charCodeAt(w), ++w, f = V.wasmB64.charCodeAt(w), ++w, B = I(Q), E = I(c), i = I(d), a = I(f), this.wasmArr[n] = B << 2 | E >> 4, ++n, this.wasmArr[n] = (E & 15) << 4 | i >> 2, ++n, this.wasmArr[n] = (i & 3) << 6 | a, ++n;
|
|
881
|
+
switch (g - n) {
|
|
877
882
|
case 1:
|
|
878
|
-
|
|
883
|
+
Q = V.wasmB64.charCodeAt(w), ++w, c = V.wasmB64.charCodeAt(w), B = I(Q), E = I(c), this.wasmArr[n] = B << 2 | E >> 4;
|
|
879
884
|
break;
|
|
880
885
|
case 2:
|
|
881
|
-
|
|
886
|
+
Q = V.wasmB64.charCodeAt(w), ++w, c = V.wasmB64.charCodeAt(w), ++w, d = V.wasmB64.charCodeAt(w), B = I(Q), E = I(c), i = I(d), this.wasmArr[n] = B << 2 | E >> 4, ++n, this.wasmArr[n] = (E & 15) << 4 | i >> 2;
|
|
882
887
|
break;
|
|
883
888
|
}
|
|
884
889
|
}
|
|
885
890
|
}
|
|
886
|
-
x.wasmB64 = "AGFzbQEAAAABnQEUYAJ/fwF/YAF/AX9gAAF/YAN/f38AYAJ/fwBgBX9/f39/AX9gA39/fwF/YAF/AGAEf39/fwBgB39/f39/f38Bf2ABfwF8YAp/f39/f39/f39/AX9gBn9/f39/fwF/YAV/f39/fwBgBH9/f38Bf2AGf39/fH9/AX9gAABgBn9/f398fwF/YAh/f39/f398fwF/YAh/f39/f39/fwF/AkIDA2Vudg5tdGVfd2FzbV9laV9jYgAPA2Vudg1tdGVfd2FzbV9uX2NiAA0DZW52EW10ZV93YXNtX2t5YmVyX2NiAAUDtwG1ARAAAgEBBQAEBgYGAwABBAYHBAMDDgQHAwAFBAQGAQQGCAYBAAAAAQYAAAAAAAABAQYAAAABAAAAAQEAAQAAAAEAAQQNBwMIAwMDCAcIAwMHAwMEBAcDBwMEBwcICAAEAQMBAgICAgEBAQICAgIBAQEBCgEKBwQBAQEBAQIBAQYRBQoBAAAACwsGDgUKAAAACQkFEgUAAAsLDBMFDAUAAAkJDAUBAgICAgICAgUFCQwDAAIHAQIEBQFwAQUFBQYBAQGAgAIGCAF/AUGQrQILB4ceggEGbWVtb3J5AgAIbXRlX2luaXQABBBtdGVfYmFzZV92ZXJzaW9uAAUZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAGG10ZV9iYXNlX3N0YXR1c19pc19lcnJvcgAGEG10ZV9saWNlbnNlX2luaXQACRJtdGVfZW5jX3NhdmVfYnl0ZXMAJRJtdGVfZW5jX3N0YXRlX3NhdmUAJhVtdGVfZW5jX3N0YXRlX3Jlc3RvcmUAJxJtdGVfZW5jX2J1ZmZfYnl0ZXMAKBVtdGVfZW5jX3VuaW5zdGFudGlhdGUAKRJtdGVfZGVjX3NhdmVfYnl0ZXMAJRJtdGVfZGVjX3N0YXRlX3NhdmUALhVtdGVfZGVjX3N0YXRlX3Jlc3RvcmUALxJtdGVfZGVjX2J1ZmZfYnl0ZXMAMBVtdGVfZGVjX3VuaW5zdGFudGlhdGUAMRZtdGVfbWtlX2VuY19zYXZlX2J5dGVzACUWbXRlX21rZV9lbmNfc3RhdGVfc2F2ZQAmGW10ZV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmUAOBZtdGVfbWtlX2VuY19idWZmX2J5dGVzADkgbXRlX21rZV9lbmNfZW5jcnlwdF9maW5pc2hfYnl0ZXMAOx9tdGVfbWtlX2VuY19lbmNyeXB0X3N0YXRlX2J5dGVzADwZbXRlX21rZV9lbmNfZW5jcnlwdF9zdGFydAA9GW10ZV9ta2VfZW5jX3VuaW5zdGFudGlhdGUAPhZtdGVfbWtlX2RlY19zYXZlX2J5dGVzACUWbXRlX21rZV9kZWNfc3RhdGVfc2F2ZQAuGW10ZV9ta2VfZGVjX3N0YXRlX3Jlc3RvcmUAPxZtdGVfbWtlX2RlY19idWZmX2J5dGVzAEAfbXRlX21rZV9kZWNfZGVjcnlwdF9zdGF0ZV9ieXRlcwBCGW10ZV9ta2VfZGVjX2RlY3J5cHRfc3RhcnQAQxltdGVfbWtlX2RlY191bmluc3RhbnRpYXRlAEQcbXRlX3dhc21fYmFzZTY0X2VuY29kZV9ieXRlcwBiFm10ZV93YXNtX2Jhc2U2NF9lbmNvZGUAYxZtdGVfd2FzbV9iYXNlNjRfZGVjb2RlAGQbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21ham9yAGUbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21pbm9yAGYbbXRlX3dhc21fYmFzZV92ZXJzaW9uX3BhdGNoAGcabXRlX3dhc21fYmFzZV9zdGF0dXNfY291bnQAaBltdGVfd2FzbV9iYXNlX3N0YXR1c19uYW1lAGkgbXRlX3dhc21fYmFzZV9zdGF0dXNfZGVzY3JpcHRpb24AahltdGVfd2FzbV9iYXNlX3N0YXR1c19jb2RlAGsebXRlX3dhc21fYmFzZV9oYXNfcnVudGltZV9vcHRzAGcabXRlX3dhc21fYmFzZV9kZWZhdWx0X2RyYmcAbB9tdGVfd2FzbV9iYXNlX2RlZmF1bHRfdG9rX2J5dGVzAG0fbXRlX3dhc21fYmFzZV9kZWZhdWx0X3ZlcmlmaWVycwBuHG10ZV93YXNtX2Jhc2VfZGVmYXVsdF9jaXBoZXIAbhptdGVfd2FzbV9iYXNlX2RlZmF1bHRfaGFzaABuGW10ZV93YXNtX2Jhc2VfZHJiZ3NfY291bnQAbxhtdGVfd2FzbV9iYXNlX2RyYmdzX25hbWUAcBhtdGVfd2FzbV9iYXNlX2RyYmdzX2FsZ28AcSZtdGVfd2FzbV9iYXNlX2RyYmdzX3NlY19zdHJlbmd0aF9ieXRlcwByJm10ZV93YXNtX2Jhc2VfZHJiZ3NfcGVyc29uYWxfbWluX2J5dGVzAHMmbXRlX3dhc21fYmFzZV9kcmJnc19wZXJzb25hbF9tYXhfYnl0ZXMAdCVtdGVfd2FzbV9iYXNlX2RyYmdzX2VudHJvcHlfbWluX2J5dGVzAHIlbXRlX3dhc21fYmFzZV9kcmJnc19lbnRyb3B5X21heF9ieXRlcwB0I210ZV93YXNtX2Jhc2VfZHJiZ3Nfbm9uY2VfbWluX2J5dGVzAHUjbXRlX3dhc21fYmFzZV9kcmJnc19ub25jZV9tYXhfYnl0ZXMAciNtdGVfd2FzbV9iYXNlX2RyYmdzX3Jlc2VlZF9pbnRlcnZhbAB2I210ZV93YXNtX2Jhc2VfZHJiZ3NfaW5jcl9pbnN0X2Vycm9yAHcibXRlX3dhc21fYmFzZV9kcmJnc19pbmNyX2dlbl9lcnJvcgB4HW10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2NvdW50AG0cbXRlX3dhc21fYmFzZV92ZXJpZmllcnNfbmFtZQB5HG10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2FsZ28AehttdGVfd2FzbV9iYXNlX2NpcGhlcnNfY291bnQAZRptdGVfd2FzbV9iYXNlX2NpcGhlcnNfbmFtZQB7Gm10ZV93YXNtX2Jhc2VfY2lwaGVyc19hbGdvAHwhbXRlX3dhc21fYmFzZV9jaXBoZXJzX2Jsb2NrX2J5dGVzAH0abXRlX3dhc21fYmFzZV9oYXNoZXNfY291bnQAfhltdGVfd2FzbV9iYXNlX2hhc2hlc19uYW1lAH8ZbXRlX3dhc21fYmFzZV9oYXNoZXNfYWxnbwCAARhtdGVfd2FzbV9kZWNfc3RhdGVfYnl0ZXMAgQEXbXRlX3dhc21fZGVjX3N0YXRlX2luaXQAggEYbXRlX3dhc21fZGVjX2luc3RhbnRpYXRlAIMBG210ZV93YXNtX2RlY19yZXNlZWRfY291bnRlcgCEARttdGVfd2FzbV9kZWNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZGVjX3N0YXRlX3NhdmVfYjY0AIYBHm10ZV93YXNtX2RlY19zdGF0ZV9yZXN0b3JlX2I2NACHARttdGVfd2FzbV9kZWNfYnVmZl9ieXRlc19iNjQAiAETbXRlX3dhc21fZGVjX2RlY29kZQCJARdtdGVfd2FzbV9kZWNfZGVjb2RlX2I2NACKARhtdGVfd2FzbV9lbmNfc3RhdGVfYnl0ZXMAiwEXbXRlX3dhc21fZW5jX3N0YXRlX2luaXQAjAEYbXRlX3dhc21fZW5jX2luc3RhbnRpYXRlAI0BG210ZV93YXNtX2VuY19yZXNlZWRfY291bnRlcgCOARttdGVfd2FzbV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZW5jX3N0YXRlX3NhdmVfYjY0AI8BHm10ZV93YXNtX2VuY19zdGF0ZV9yZXN0b3JlX2I2NACQARttdGVfd2FzbV9lbmNfYnVmZl9ieXRlc19iNjQAkQETbXRlX3dhc21fZW5jX2VuY29kZQCSARdtdGVfd2FzbV9lbmNfZW5jb2RlX2I2NACTARxtdGVfd2FzbV9ta2VfZGVjX3N0YXRlX2J5dGVzAJQBG210ZV93YXNtX21rZV9kZWNfc3RhdGVfaW5pdACVARxtdGVfd2FzbV9ta2VfZGVjX2luc3RhbnRpYXRlAJYBH210ZV93YXNtX21rZV9kZWNfcmVzZWVkX2NvdW50ZXIAhAEfbXRlX3dhc21fbWtlX2RlY19zYXZlX2J5dGVzX2I2NACFAR9tdGVfd2FzbV9ta2VfZGVjX3N0YXRlX3NhdmVfYjY0AIYBIm10ZV93YXNtX21rZV9kZWNfc3RhdGVfcmVzdG9yZV9iNjQAlwEfbXRlX3dhc21fbWtlX2RlY19idWZmX2J5dGVzX2I2NACYARdtdGVfd2FzbV9ta2VfZGVjX2RlY29kZQCZARttdGVfd2FzbV9ta2VfZGVjX2RlY29kZV9iNjQAmgEebXRlX3dhc21fbWtlX2RlY19kZWNyeXB0X2NodW5rAJsBH210ZV93YXNtX21rZV9kZWNfZGVjcnlwdF9maW5pc2gAnAEcbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9ieXRlcwCdARttdGVfd2FzbV9ta2VfZW5jX3N0YXRlX2luaXQAngEcbXRlX3dhc21fbWtlX2VuY19pbnN0YW50aWF0ZQCfAR9tdGVfd2FzbV9ta2VfZW5jX3Jlc2VlZF9jb3VudGVyAI4BH210ZV93YXNtX21rZV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEfbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9zYXZlX2I2NACPASJtdGVfd2FzbV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmVfYjY0AKABH210ZV93YXNtX21rZV9lbmNfYnVmZl9ieXRlc19iNjQAoQEXbXRlX3dhc21fbWtlX2VuY19lbmNvZGUAogEbbXRlX3dhc21fbWtlX2VuY19lbmNvZGVfYjY0AKMBHm10ZV93YXNtX21rZV9lbmNfZW5jcnlwdF9jaHVuawCkAR9tdGVfd2FzbV9ta2VfZW5jX2VuY3J5cHRfZmluaXNoAKUBE210ZV93YXNtX2t5YmVyX2luaXQApgEebXRlX3dhc21fa3liZXJfZ2V0X3B1YmtleV9zaXplAKcBH210ZV93YXNtX2t5YmVyX2dldF9wcml2a2V5X3NpemUAqAEebXRlX3dhc21fa3liZXJfZ2V0X3NlY3JldF9zaXplAKkBIW10ZV93YXNtX2t5YmVyX2dldF9lbmNyeXB0ZWRfc2l6ZQCqASNtdGVfd2FzbV9reWJlcl9nZXRfbWluX2VudHJvcHlfc2l6ZQCrASNtdGVfd2FzbV9reWJlcl9nZXRfbWF4X2VudHJvcHlfc2l6ZQCsARxtdGVfd2FzbV9reWJlcl9nZXRfYWxnb3JpdGhtAK0BHW10ZV93YXNtX2t5YmVyX2NyZWF0ZV9rZXlwYWlyAK8BHG10ZV93YXNtX2t5YmVyX2NyZWF0ZV9zZWNyZXQAsAEdbXRlX3dhc21fa3liZXJfZGVjcnlwdF9zZWNyZXQAsQELX2luaXRpYWxpemUAAxBfX2Vycm5vX2xvY2F0aW9uALcBCXN0YWNrU2F2ZQC0AQxzdGFja1Jlc3RvcmUAtQEKc3RhY2tBbGxvYwC2AQkLAQBBAQsEYWCuAQMKztQEtQEDAAEL3wMBAn9B8CtBgAgtAAAiAgR/QQAhAANAIAIgA2ohAyAAIgFBAWoiAEGACGotAAAiAg0ACyABQQJqBUEBC0GACGoiAC0AQEEIdCAALQBBciIBIAAtAD8gAC0APiAALQA9IAAtADwgAC0AOyAALQA6IAAtADkgAC0AOCAALQA3IAAtADYgAC0ANSAALQA0IAAtADMgAC0AMiAALQAxIAAtADAgAC0ALyAALQAuIAAtAC0gAC0ALCAALQArIAAtACogAC0AKSAALQAoIAAtACcgAC0AJiAALQAlIAAtACQgAC0AIyAALQAiIAAtACEgAC0AICAALQAfIAAtAB4gAC0AHSAALQAcIAAtABsgAC0AGiAALQAZIAAtABggAC0AFyAALQAWIAAtABUgAC0AFCAALQATIAAtABIgAC0AESAALQAQIAAtAA8gAC0ADiAALQANIAAtAAwgAC0ACyAALQAKIAAtAAkgAC0ACCAALQAHIAAtAAYgAC0ABSAALQAEIAAtAAMgAC0AAiAALQABIAMgAC0AAGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamprIAFFciIANgIAIABFCwUAQYAICycBAX8CQAJAIAAODwEAAAAAAAAAAAAAAAAAAQALIABBD0chAQsgAQuHBQIMfwJ+AkAgAEEIIABBQGsiCxAfIgENACAAQcgRakEAOgAAIABByABqIQlBgAEhA0GBASEEQQEhCANAIABBCCAJEB8iAQ0BIAMgBGohBgNAIAkpAwAhDSAGIQcgAyEFIAQhAgJAA0ACQCALIAAgB0EBdiIBakHIEGotAABBA3RqKQMAIg4gDVYEQCABIAVGBEAgBSECDAILIAEgBWohByABIQIMAgsgDSAOWA0CIAFBAWoiBSACTw0AIAIgBWohBwwBCwsCQAJAIANFDQAgAiADRw0AIAAgA0EBayIDakHIEGogCDoAAAwBCwJAAkAgAiAERw0AIAJBgAJGDQAgACAEakHIEGogCDoAAAwBCwJAIARBgAJHBEAgA0UNASACIANrIAQgAmtPDQELAkAgA0EBayIGIAJBAWsiCk8NAEEAIQUgBiEBIAIgA2tBA3EiDARAA0AgAEHIEGoiByABaiAHIAFBAWoiAWotAAA6AAAgBUEBaiIFIAxHDQALCyACIANBf3NqQQNJDQADQCAAIAFqIgJByBBqIAJByRBqKAAANgAAIAFBBGoiASAKRw0ACwsgACAKakHIEGogCDoAACAGIQMMAgsCQCACIARPDQBBACEFIAQiASACa0EDcSIHBEADQCAAQcgQaiIGIAFqIAYgAUEBayIBai0AADoAACAFQQFqIgUgB0cNAAsLIAQgAkF/c2pBA0kNAANAIABByBBqIgYgAWpB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BSAGaiABIAVqLQAAOgAAIAVBAWohBSADQQFqIgMgAEcNAAsLIAIgBGoPC0EAIQRBACEFIAJBAWtBA08EQCACQXxxIQZBACEAA0AgAyAFaiABIAVqLQAAOgAAIAMgBUEBciIHaiABIAdqLQAAOgAAIAMgBUECciIHaiABIAdqLQAAOgAAIAMgBUEDciIHaiABIAdqLQAAOgAAIAVBBGohBSAAQQRqIgAgBkcNAAsLIAJBA3EiAARAA0AgAyAFaiABIAVqLQAAOgAAIAVBAWohBSAEQQFqIgQgAEcNAAsLIAILvgQAIAEgACkDMDwAACABIAApAzBCCIg8AAEgASAAKQMwQhCIPAACIAEgACkDMEIYiDwAAyABIAA1AjQ8AAQgASAAKQMwQiiIPAAFIAEgADMBNjwABiABIAAxADc8AAcgASAALQAAOgAIIAEgAC0AAToACSABIAAtAAI6AAogASAALQADOgALIAEgAC0ABDoADCABIAAtAAU6AA0gASAALQAGOgAOIAEgAC0ABzoADyABIAAtAAg6ABAgASAALQAJOgARIAEgAC0ACjoAEiABIAAtAAs6ABMgASAALQAMOgAUIAEgAC0ADToAFSABIAAtAA46ABYgASAALQAPOgAXIAEgAC0AEDoAGCABIAAtABE6ABkgASAALQASOgAaIAEgAC0AEzoAGyABIAAtABQ6ABwgASAALQAVOgAdIAEgAC0AFjoAHiABIAAtABc6AB8gASAALQAYOgAgIAEgAC0AGToAISABIAAtABo6ACIgASAALQAbOgAjIAEgAC0AHDoAJCABIAAtAB06ACUgASAALQAeOgAmIAEgAC0AHzoAJyABIAAtACA6ACggASAALQAhOgApIAEgAC0AIjoAKiABIAAtACM6ACsgASAALQAkOgAsIAEgAC0AJToALSABIAAtACY6AC4gASAALQAnOgAvIAEgAC0AKDoAMCABIAAtACk6ADEgASAALQAqOgAyIAEgAC0AKzoAMyABIAAtACw6ADQgASAALQAtOgA1IAEgAC0ALjoANiABIAAtAC86ADcL7AMAIAAgASkAADcDMCAAIAEtAAg6AAAgACABLQAJOgABIAAgAS0ACjoAAiAAIAEtAAs6AAMgACABLQAMOgAEIAAgAS0ADToABSAAIAEtAA46AAYgACABLQAPOgAHIAAgAS0AEDoACCAAIAEtABE6AAkgACABLQASOgAKIAAgAS0AEzoACyAAIAEtABQ6AAwgACABLQAVOgANIAAgAS0AFjoADiAAIAEtABc6AA8gACABLQAYOgAQIAAgAS0AGToAESAAIAEtABo6ABIgACABLQAbOgATIAAgAS0AHDoAFCAAIAEtAB06ABUgACABLQAeOgAWIAAgAS0AHzoAFyAAIAEtACA6ABggACABLQAhOgAZIAAgAS0AIjoAGiAAIAEtACM6ABsgACABLQAkOgAcIAAgAS0AJToAHSAAIAEtACY6AB4gACABLQAnOgAfIAAgAS0AKDoAICAAIAEtACk6ACEgACABLQAqOgAiIAAgAS0AKzoAIyAAIAEtACw6ACQgACABLQAtOgAlIAAgAS0ALjoAJiAAIAEtAC86ACcgACABLQAwOgAoIAAgAS0AMToAKSAAIAEtADI6ACogACABLQAzOgArIAAgAS0ANDoALCAAIAEtADU6AC0gACABLQA2OgAuIAAgAS0ANzoALwuAAwEFfyMAQYACayIEJAACf0EDIAFBgIAESw0AGiAAKQMwQoGAgICAgMAAWgRAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEFDAELIAQgAEEQaiIGEBEgAUEQTwRAA0AgABAZIAQgACACEBIaIAJBEGohAiABQRBrIgFBD0sNAAsLAkAgAUUNACAAEBkgBCAAIARB8AFqEBIaIAFBAWshBSABQQNxIgcEQANAIAIgAUEBayIBaiAEQfABaiABai0AADoAACADQQFqIgMgB0cNAAsLIAVBA0kNAANAIAIgAUEBayIDaiAEQfABaiIFIANqLQAAOgAAIAIgAUECayIDaiAEQfABaiADai0AADoAACACIAFBA2siA2ogBEHwAWogA2otAAA6AAAgAiABQQRrIgFqIAEgBWotAAA6AAAgAQ0ACwtB0CUgBiAAEBogACAAKQMwQgF8NwMwQQALIQMgBEGAAmokACADCzUAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEAC5xFAUV/An8gAUEDcUUEQCABKAI8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoAjgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgCNCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAIwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoAiwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgCKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAIkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoAiAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRggASgCHCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhGSABKAIYIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEcIAEoAhQiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIR0gASgCECICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhDCABKAIMIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEJIAEoAggiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIQ8gASgCBCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhCiABKAIAIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycgwBCyABKAA8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoADgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgANCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAAwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoACwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgAKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAAkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoACAi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IAAgAWogACADai0AADoAACABIABBAXIiCmogAyAKai0AADoAACABIABBAnIiCmogAyAKai0AADoAACABIABBA3IiCmogAyAKai0AADoAACAAQQRqIQAgB0EEaiIHIAVHDQALCyAJQQNxIgdFDQADQCAAIAFqIAAgA2otAAA6AAAgAEEBaiEAIARBAWoiBCAHRw0ACwsgCEH//wNxIgBBkCwtAAAiA0kEQCAAIAFqIAhBf3MgA2pB//8DcUEBahCzARoLIAhBgQJPBEAgBigCGCEEQYACIQBBgAIhBwNAIAEgAEH/AXFqIgUgBS0AACAAIARqLQAAczoAACAIIAdBAWoiB0H//wNxIgBLDQALCwJAIANFDQBBACEHQQAhACADQQFrQQNPBEAgA0H8AXEhCEEAIQQDQCAAIAFqIgUgBS0AACAAQQFyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQJyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQNyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQRqIgBBkCxqLQAAczoAACAEQQRqIgQgCEcNAAsLIANBA3EiBEUNAANAIAAgAWoiCCAILQAAIABBAWoiAEGQLGotAABzOgAAIAdBAWoiByAERw0ACwsgAiABNgIYIAIgCSADIAMgCUkbNgIcIAsgAkEIahA0IgANACALQQI2AoQWCyACQSBqJAAgBkEgaiQAIAALdAEDfyMAIgIhAyACIAEQECIEQQNqQQJ2QQNsQRBqQXBxayICJAAgASAEIAIQDBoCQAJ/IABBD2pBcHEiASgChBZBBGtBfUkEQEEBIQBBAAwBCyABIAIQNiIADQFBACEAQQILIQIgASACNgKEFgsgAyQAIAALKABBDyABQQNqQQJ2QQNsQQFqIgBB4AFrIABBhQJJGyAAQQ9qQXBxagtuACMAQRBrIgEkACABIAM2AgwgASACNgIEIAFBADYCACABIAQ2AgggACABEEEhACAFIAEoAgggBGtBACABKAIMIgIbNgIAIAYgAjYCACAHQgA3AwAgCEIANwMAIAkgASgCADYCACABQRBqJAAgAAucAQAjAEEQayIBJAAgASADNgIMIAEgAjYCBCABQQA2AgAgASAENgIIIAEgASgCBCABKAIMIAEoAggQDCICNgIMIAEgASgC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ASAENgIEIAAgARA6IQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALiwEAIwBBEGsiASQAIAEgAzYCCCABIAI2AgAgASAENgIEAn8gACABEDoiAARAIAFBADYCCCAADAELIAEoAgQiAiABKAIIIgMgAiADaiICEAshAyABIAI2AgQgASADNgIIIAALIQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALkAUBBn8jAEEQayIGJAAgBiADNgIIIAYgBDYCBCAGIAI2AgACfyAGKAIEIQcgAEEPakFwcSILKAKAFkEDRwRAIAcgBigCCBAKQQEMAQsgC0GAFWogBigCACAGKAIIECQhCSAGKAIIIQACQCAGKAIAIgggAUEPakFwcSIEKAKAAiICckEHcUUEQCACQQN2IQJBACEDIABBCE8EQCALQeASaiEKA0AgBCACQQN0aiIBIAEpAwAgCCADQQN0aikDAIU3AwAgAkEBaiICQSBHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgB2ohByAIIAFBeHFqIQhBAAshAyAAQQhrIgBBB0sNAAsLIAJBA3QhAiAARQ0BIANBA3QhAyAAQQFxBH8gAiAEaiIBIAEtAAAgAyAIai0AAHM6AAAgA0EBciEDIAJBAXIhAiAAQQFrBSAACyEBIABBAUYNAQNAIAIgBGoiACAALQAAIAMgCGoiCi0AAHM6AAAgACAALQABIAotAAFzOgABIANBAmohAyACQQJqIQIgAUECayIBDQALDAELIABFDQAgC0HgEmohCkEAIQMDQCACIARqIgEgAS0AACADIAhqLQAAczoAACACQQFqIgJBgAJHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgCGohCCABIAdqIQdBAAshAyAAQQFrIgANAAsLIAtB4BJqIAQgBCgCgAIiAGogAiAAayIAIAcQFyEBIAQgBCgCgAIgAGo2AoACIAEgCXILIQAgBSAGKAIINgIAIAZBEGokACAAC7gBAQF/IwBBEGsiAiQAIAJCADcDACACQQA2AggCf0EKQYAsKAIARQ0AGiAAQQ9qQXBxIgAoAoAWQQNHBEAgAkEANgIIQQEMAQsgAEECNgKAFiAAQYAVaiIFIABBsBVqIABB8BVqKAIAIAUQIyACQSA2AgggAiAFNgIAIAIgAUEPakFwcTYCBCAAIAJBABAqCyEAIAMgAigCBCABa0EAIAIoAggiARs2AgAgBCABNgIAIAJBEGokACAAC+wBAQV/QaQsQQA6AAACfwJAIABB//8DcSIAQYAIRwRAIABBgAZHBEAgAEGABEcNAkGwLEH3DUEJEA5BgAYhAUGAASECQQMhA0ECIQRBgAYhBUGABQwDC0GwLEHSDUEJEA5BwAghBUGACSEBQYABIQJBAiEDQQMhBEHABwwCC0GwLEHtDUEKEA5BoAwhBUGADCEBQaABIQJBAiEDQQQhBEGACwwBC0GwLEEAOgAAQQALIQBBpiwgAzoAAEGlLCAEOgAAQagsIAI7AQBBqiwgATsBAEGsLCAAOwEAQa4sIAU7AQBBAEF/QaUsLQAAGwsUAEGqLC8BAEEgakEAQaUsLQAAGwsYAEGqLC8BAEEBdEHgAGpBAEGlLC0AABsLDgBBpSwtAABBAEdBBXQLEQBBriwvAQBBAEGlLC0AABsLBABBIAsEAEEwCwUAQbAsCxEAIAAgASgCACACIAMgBBACC84JAQd/IwBBEGsiByQAAkBBpSwtAABFBEBBfyEFDAELQXshBUGqLC8BACIGQSBqIgggAygCAEsNACABKAIAIAYgCGpBQGtJDQAgB0EwayIFJAAgByAFNgIMIAdBMDYCCCAFQTAQCkF+IQUgBCAHQQxqIAdBCGpBIEEwEK4BDQAgBygCCCIEQTFrQW9JDQAgBygCDCAEEFtBACEIQQAhBSMAQcAwayIEJAAgBEGlLC0AAEELdEGA8B9xayILJAAgBEGAMGoiBhBdIAYgBkEgEEsgCyAGQQAQTAJAQaUsLQAARQ0AIARBoDBqIQpBACEGA0AgBCAFQQl0aiAKIAZB/wFxEFAgBkEBaiEGIAVBAWoiBUGlLC0AACIJSQ0ACyAJRQ0AQQAhBQNAIARBgCBqIAVBCXRqIAogBkH/AXEQUCAGQQFqIQYgBUEBaiIFQaUsLQAASQ0ACwsgBBBXIARBgCBqEFdBACEGQaUsLQAABEADQCAEQYAQaiAGQQl0aiIKIAsgBkELdGogBBBYQQAhBQNAIAogBUEBdGoiCSAJLgEAQckKbCIJIAlBgICEmH9sQRB1Qf9lbGpBEHU7AQAgBUEBaiIFQYACRw0ACyAGQQFqIgZBpSwtAABJDQALCyAEQYAQaiIFIAUgBEGAIGoQWiAFEFkgACAEEFUgAiAFEFUgAkGqLC8BAGogBC0AgDA6AABBqiwvAQAgAmogBC0AgTA6AAFBqiwvAQAgAmogBC0AgjA6AAJBqiwvAQAgAmogBC0AgzA6AANBqiwvAQAgAmogBC0AhDA6AARBqiwvAQAgAmogBC0AhTA6AAVBqiwvAQAgAmogBC0AhjA6AAZBqiwvAQAgAmogBC0AhzA6AAdBqiwvAQAgAmogBC0AiDA6AAhBqiwvAQAgAmogBC0AiTA6AAlBqiwvAQAgAmogBC0AijA6AApBqiwvAQAgAmogBC0AizA6AAtBqiwvAQAgAmogBC0AjDA6AAxBqiwvAQAgAmogBC0AjTA6AA1BqiwvAQAgAmogBC0AjjA6AA5BqiwvAQAgAmogBC0AjzA6AA9BqiwvAQAgAmogBC0AkDA6ABBBqiwvAQAgAmogBC0AkTA6ABFBqiwvAQAgAmogBC0AkjA6ABJBqiwvAQAgAmogBC0AkzA6ABNBqiwvAQAgAmogBC0AlDA6ABRBqiwvAQAgAmogBC0AlTA6ABVBqiwvAQAgAmogBC0AljA6ABZBqiwvAQAgAmogBC0AlzA6ABdBqiwvAQAgAmogBC0AmDA6ABhBqiwvAQAgAmogBC0AmTA6ABlBqiwvAQAgAmogBC0AmjA6ABpBqiwvAQAgAmogBC0AmzA6ABtBqiwvAQAgAmogBC0AnDA6ABxBqiwvAQAgAmogBC0AnTA6AB1BqiwvAQAgAmogBC0AnjA6AB5BqiwvAQAgAmogBC0AnzA6AB8gBEHAMGokAEGqLC8BACEFA0AgACAFIAhqaiACIAhqLQAAOgAAIAhBAWoiCEGqLC8BACIFQSBqIgRJDQALIAQgBWogAGogAiAEEEpBqiwvAQBBAXQgAGpBQGsQXUEAIQUgAUGqLC8BACIAQQF0QeAAajYCACADIABBIGo2AgBBpCxBAToAAAsgB0EQaiQAIAUL5AIBBH8jAEEQayIHJAACQEGlLC0AAEUEQEF/IQgMAQtBfSEIQaosLwEAQSBqIAFHDQBBeyEIIAMoAgBBIEkNACAFKAIAQa4sLwEASQ0AIAdBMGsiASQAIAcgATYCDCAHQTA2AgggAUEwEApBfiEIIAYgB0EMaiAHQQhqQSBBMBCuAQ0AIAcoAggiAUExa0FvSQ0AQQAhBiAHKAIMIQkCQAJAA0AgBiAJai0AAEUEQCAKQQFqIgpB/wFxIgYgAUkNAQwCCwsgCSABEFsMAQtBpCwtAABFDQELIwBBgAFrIgEkACABQUBrIgYQXSAGIAZBIBBKIAFB4ABqIABBqiwvAQBBIGoQSiABIAZBwAAQSyAEIAYgACABQSBqIgAQTSAAIARBriwvAQAQSiACQSAgAUHAABBJIAFBgAFqJAAgA0EgNgIAQQAhCCAFQa4sLwEANgIAQaQsQQA6AAALIAdBEGokACAIC9UQARN/An9Bf0GlLC0AAEUNABpBfCEIAkBBqiwvAQBBAXRB4ABqIAFHDQBBeiEIQa4sLwEAIANHDQAgBSgCAEEgSQ0AIwBBgAFrIgwkACAMQa4sLwEAQQ9qQfD/B3FrIhAkAEGqLC8BACEYIAxBQGshEyMAQYAoayILJAAgC0GAGGohESACIQECQEGsLC8BACIDQaUsLQAAIgdB4AJsRgRAIAdFDQEDQCARIBJBCXRqIQhBACEJA0AgAS0ACCEUIAEtAAchDSABLQAGIRUgAS0ABSEWIAEtAAQhFyABLQADIQ4gAS0AACEHIAEtAAIhBiABLQABIQogCCAJQQR0aiIPIAEtAApBA3QgAS0ACSIDQQV2ckGBGmxBgAhqQQt2OwEOIA8gBkEFdEHgD3EgCkEDdnJBgRpsQYAIakELdjsBAiAPIAcgCkEIdEGADnFyQYEabEGACGpBC3Y7AQAgDyAXQQp0QYAIcSAOQQJ0IAZBBnZyckGBGmxBgAhqQQt2OwEEIA8gFkEHdEGAD3EgF0EBdnJBgRpsQYAIakELdjsBBiAPIBVBBHRB8A9xIBZBBHZyQYEabEGACGpBC3Y7AQggDyAUQQl0QYAMcSANQQF0IBVBB3ZyckGBGmxBgAhqQQt2OwEKIA8gA0EGdEHAD3EgFEECdnJBgRpsQYAIakELdjsBDCABQQtqIQEgCUEBaiIJQSBHDQALIBJBAWoiEkGlLC0AAEkNAAsMAQsgB0HAAmwgA0cNACAHRQ0AA0AgESAGQQl0aiEOQQAhCQNAIAEtAAAhByABLQACIQggAS0AASENIA4gCUEDdGoiCiABLQAEQQJ0IAEtAAMiA0EGdnJBgRpsQYAEakEKdjsBBiAKIAhBBnRBwAdxIA1BAnZyQYEabEGABGpBCnY7AQIgCiAHIA1BCHRBgAZxckGBGmxBgARqQQp2OwEAIAogA0EEdEHwB3EgCEEEdnJBgRpsQYAEakEKdjsBBCABQQVqIQEgCUEBaiIJQcAARw0ACyAGQQFqIgZBpSwtAABJDQALCyALQYAEaiEIIAJBrCwvAQBqIQZBACEJAkBBqCwvAQAiAUGgAUYEQANAIAYtAAIhByAGLQADIQ0gBi0AASEOIAYtAAQhAyAIIAlBBHRqIgogBi0AACIBQR9xQYEabEEQakEFdjsBACAKIANBA3ZBgRpsQRBqQQV2OwEOIAogDkECdkEfcUGBGmxBEGpBBXY7AQQgCiANQQF2QR9xQYEabEEQakEFdjsBCiAKIA5BA3QgAUEFdnJBH3FBgRpsQRBqQQV2OwECIAogB0EBdCAOQQd2ckEfcUGBGmxBEGpBBXY7AQYgCiANQQR0IAdBBHZyQR9xQYEabEEQakEFdjsBCCAKIANBAnQgDUEGdnJBH3FBgRpsQRBqQQV2OwEMIAZBBWohBiAJQQFqIglBIEcNAAwCCwALIAFBgAFHDQADQCAIIAlBAnRqIgEgBi0AAEEPcUGBGmxBCGpBBHY7AQAgASAGLQAAQQR2QYEabEEIakEEdjsBAiAGQQFqIQYgCUEBaiIJQYABRw0ACwsgC0GACGoiASAAEFYgERBXIAsgASAREFggCxBOQQAhBgNAIAsgBkEBdCIBaiABIAhqLwEAIAEgC2ovAQBrOwEAIAsgAUECciIBaiABIAhqLwEAIAEgC2ovAQBrOwEAIAZBAmoiBkGAAkcNAAsgCxBSQQAhAUEAIQYDQCALIAFBAXRqIgMgAy4BACIDIANBgRprIgMgA0EQdEEQdUEASBs7AQAgAUEBaiIBQYACRw0ACwNAIAYgE2oiB0EAOgAAIAcgCyAGQQR0aiIDLwEAQQF0QYANakGBGm5BAXEiAToAACAHIAEgAy8BAkEBdEGADWpBgRpuQQF0QQJxciIBOgAAIAcgASADLwEEQQF0QYANakGBGm5BAnRBBHFyIgE6AAAgByABIAMvAQZBAXRBgA1qQYEabkEDdEEIcXIiAToAACAHIAEgAy8BCEEBdEGADWpBgRpuQQR0QRBxciIBOgAAIAcgASADLwEKQQF0QYANakGBGm5BBXRBIHFyIgE6AAAgByABIAMvAQxBAXRBgA1qQYEabkEGdEHAAHFyIgE6AAAgByABIAMvAQ5BAXRBgA1qQYEabkEHdHI6AAAgBkEBaiIGQSBHDQALIAtBgChqJAAgDEGqLC8BAEEBdCAAaiIBKQAoNwNoIAwgASkAMDcDcCAMIAEpADg3A3ggDCABKQAgNwNgIAwgE0HAABBLIBAgEyAAIBhqIAxBIGoiDhBNAn9BACEIQQAhCUEAIQZBAEGuLC8BACIBRQ0AGiABQQNxIQ0CQCABQQFrQQNJBEBBACEBDAELIAFBfHEhB0EAIQEDQCABIBBqLQAAIAEgAmotAABzIAhyIBAgAUEBciIDai0AACACIANqLQAAc3IgECABQQJyIgNqLQAAIAIgA2otAABzciAQIAFBA3IiA2otAAAgAiADai0AAHNyIQggAUEEaiEBIAZBBGoiBiAHRw0ACwsgDQRAA0AgASAQai0AACABIAJqLQAAcyAIciEIIAFBAWohASAJQQFqIgkgDUcNAAsLIAhB/wFxQQBHCyEBIA4gAkGuLC8BABBKQaosLwEAQQF0IABqQUBrIQNBACEHQQAhCEEAIAFB/wFxayECA0AgByAMaiIAIAAtAAAiACADIAdqLQAAcyACcSAAczoAACAMIAdBAXIiAWoiACAALQAAIgAgASADai0AAHMgAnEgAHM6AAAgB0ECaiEHIAhBAmoiCEEgRw0ACyAEQSAgDEHAABBJIAxBgAFqJAAgBUEgNgIAQQAhCAsgCAsL4gMBAn8gACACaiEDAkACQAJAIAAgAXNBA3FFBEAgAEEDcUUNASACQQBMDQEgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgJBA3FFDQMgAiADSQ0ACwwCCwJAIANBBEkNACADQQRrIgQgAEkNACAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwwDCyAAIQIMAgsgACECCwJAIANBfHEiAEHAAEkNACACIABBQGoiBEsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIARNDQALCyAAIAJNDQADQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAASQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLC9gCAQJ/AkAgAUUNACAAQQA6AAAgACABaiICQQFrQQA6AAAgAUEDSQ0AIABBADoAAiAAQQA6AAEgAkEDa0EAOgAAIAJBAmtBADoAACABQQdJDQAgAEEAOgADIAJBBGtBADoAACABQQlJDQAgAEEAIABrQQNxIgNqIgJBADYCACACIAEgA2tBfHEiA2oiAUEEa0EANgIAIANBCUkNACACQQA2AgggAkEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgA0EZSQ0AIAJBADYCGCACQQA2AhQgAkEANgIQIAJBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAyACQQRxQRhyIgNrIgFBIEkNACACIANqIQIDQCACQgA3AxggAkIANwMQIAJCADcDCCACQgA3AwAgAkEgaiECIAFBIGsiAUEfSw0ACwsgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYQtCwvFIwUAQYAIC8INNC4yLjAAv9YivCzrCkculICXgj/sqFWhqO1fM/DDRCvdMVLdLlawc6tZi0HYyj+cxweLfLvmeUgmDmHoEYlb93//kLwz2CHgAL/WIrws6wpHLpSAl4I/7KhVoajtXzPww0Qr3TFS3S5WsHOrWYtB2Mo/nMcHi3y75nlIJg5h6BGJW/d//5C8M9gh4ABtdGVfc3RhdHVzX3NlcV9hc3luY19yZXBsYXkAbXRlX3N0YXR1c19zZXFfb3V0c2lkZV93aW5kb3cAbXRlX3N0YXR1c19pbnZhbGlkX2lucHV0AG10ZV9zdGF0dXNfdG9rZW5fZG9lc19ub3RfZXhpc3QAbXRlX3N0YXR1c19zdWNjZXNzAG10ZV9jaXBoZXJzX2FlczI1Nl9jdHIAbXRlX3N0YXR1c19pbXBsX2Vycm9yAG10ZV9zdGF0dXNfZHJiZ19lcnJvcgBtdGVfc3RhdHVzX2xpY2Vuc2VfZXJyb3IAbXRlX3ZlcmlmaWVyc19zZXEAbXRlX3N0YXR1c19kaWdlc3RfbWlzbWF0Y2gAbXRlX3N0YXR1c19zZXFfbWlzbWF0Y2gAbXRlX3N0YXR1c19jaGVja3N1bV9taXNtYXRjaABtdGVfZHJiZ3NfY3RyX2FlczI1Nl9kZgBtdGVfc3RhdHVzX3Vuc3VwcG9ydGVkAG10ZV9zdGF0dXNfb3V0cHV0X2luaGliaXRlZABtdGVfc3RhdHVzX2NpcGhlcl90ZXN0X2ZhaWxlZABtdGVfc3RhdHVzX2hhc2hfdGVzdF9mYWlsZWQAbXRlX3N0YXR1c19kcmJnX3NlZWRsaWZlX3JlYWNoZWQAbXRlX3N0YXR1c190aW1lX2FmdGVyX2V4Y2VlZGVkAG10ZV9zdGF0dXNfdGltZV9iZWZvcmVfZXhjZWVkZWQAbXRlX3N0YXR1c19kcmJnX2NhdGFzdHJvcGhpYwBLeWJlcjc2OABtdGVfaGFzaGVzX3NoYTI1NgBLeWJlcjEwMjQAS3liZXI1MTIAVGhlIHNlcXVlbmNlIG51bWJlciBpcyBvdXRzaWRlIHRoZSB3aW5kb3cuAE91dHB1dCBpcyBpbmhpYml0ZWQgZHVlIHRvIGFuIGVycm9yIHN0YXRlIG9yIHNlbGYtdGVzdC4AVGhlIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIHRvbyBsb25nIGFmdGVyIGl0IHdhcyBzZW50LgBUaGUgbWVzc2FnZSB3YXMgcmVjZWl2ZWQgdG9vIGxvbmcgYmVmb3JlIGl0IHdhcyBzZW50LgBObyBzdWNoIHRva2VuIGV4aXN0cy4ASW1wbGVtZW50YXRpb24gZXJyb3IuAEhhc2ggZGlnZXN0IG1pc21hdGNoLgBDaGVja3N1bSBtaXNtYXRjaC4AVGhlIHNlcXVlbmNlIG51bWJlciBoYXMgYWxyZWFkeSBiZWVuIHNlZW4gaW4gYXN5bmMgbW9kZS4AVGhlIGxpY2Vuc2Ugd2FzIG5vdCBzZXQgb3IgaXMgbm90IHZhbGlkLgBBbiBpbnB1dCB3YXMgbm90IHZhbGlkLgBBdHRlbXB0aW5nIHRvIHN5bmMgdXAgYSBzZXF1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AAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAIDtCAsKmgsUB9UFjgUfAcoAVgxuAikGtgDCA08IPwe8BT0C1AcIAX8BxAmyBb8GfwxYCvkD3AJgAvsGmwE0DN4GxwSMAtkK9wP0B9MF5wv5BgQC+QzBC2cKrwZ3CH4AvQWsCacM8gs+A2sAdAcKDEoJcwvBAx0HLArAAdgIpQIGCLIIrgErAksDHghnAw4GaQCmAUsCsQAWDN4LNQsmBnUGCwwKA4cEbgz4CcsFpwpfBMsGhAKZCV0BogFJAWUMtgwxA0kEWwJiAioF/AdIB4ABQgh5DMIEygeXCdwAXgiGBmAIBwcDCBoDGwerCZsJ3gGVDM0L5APfA74DTQfyBVwGpQYPB7QFQwkiCR0JNAFsACMLZgNWA+YF5wn+BPoFoQR7BqMEJQxqAzcFPwiIAL8EgQu5BQUF1wefCqYKuAjQCUsAnAC4C18LpAtoA30KNgaiCFoCNgcJA5MAegj3CfYAjAbbBswBIwHrAFAMtgpbC5gM8waaCeMEtgnWClMLTwT7BFwKKQRBC9UC5AVACY4BtwP3AI0FlgzDCQ8BWgBVA0QHgwyKBFIGmgJAAQgA/QoIBhoBLgcNBQoJKAJ1CjoIIwbNAGYLBgahCiUKCAmpAoIAQgZPBz0Dggv5Cy0FxApFB8IFsgQ/CUsM2AaTCqsANwziC3MHLAftBWcB9gKhBQBB8CsLAQE=";
|
|
887
|
-
}(
|
|
888
|
-
}
|
|
889
|
-
var b = vA(), jA = Object.defineProperty, PA = (A, g, t) => g in A ? jA(A, g, { enumerable: !0, configurable: !0, writable: !0, value: t }) : A[g] = t, uA = (A, g, t) => (PA(A, typeof g != "symbol" ? g + "" : g, t), t);
|
|
890
|
-
function $A(A) {
|
|
891
|
-
let g = [];
|
|
892
|
-
return g.push(A.clientId), g.push(A.pairId), g.push(A.type === "MTE" ? 0 : 1), g.push(A.urlIsEncoded ? 1 : 0), g.push(A.headersAreEncoded ? 1 : 0), g.push(A.bodyIsEncoded ? 1 : 0), g.push(A.useStreaming ? 1 : 0), g.join(",");
|
|
893
|
-
}
|
|
894
|
-
function cA(A) {
|
|
895
|
-
const g = A.split(","), t = g[0], H = g[1], F = g[2] === "0" ? "MTE" : "MKE", N = g[3] === "1", k = g[4] === "1", R = g[5] === "1", p = g[6] === "1";
|
|
896
|
-
return {
|
|
897
|
-
type: F,
|
|
898
|
-
urlIsEncoded: N,
|
|
899
|
-
headersAreEncoded: k,
|
|
900
|
-
bodyIsEncoded: R,
|
|
901
|
-
clientId: t,
|
|
902
|
-
pairId: H,
|
|
903
|
-
useStreaming: p
|
|
904
|
-
};
|
|
905
|
-
}
|
|
906
|
-
async function AI(A, g) {
|
|
907
|
-
var t, H;
|
|
908
|
-
const F = [], N = new URL(A.url), k = (t = g.encodeUrl) != null ? t : !0;
|
|
909
|
-
if (k) {
|
|
910
|
-
const _ = N.pathname.slice(1) + N.search;
|
|
911
|
-
F.push({ data: _, output: "B64" });
|
|
912
|
-
}
|
|
913
|
-
const R = new Headers(A.headers), p = {};
|
|
914
|
-
let u = (H = g.encodeHeaders) != null ? H : !0;
|
|
915
|
-
if (u)
|
|
916
|
-
if (Array.isArray(g.encodeHeaders))
|
|
917
|
-
for (const _ of g.encodeHeaders) {
|
|
918
|
-
const q = A.headers.get(_);
|
|
919
|
-
q && (p[_] = q, R.delete(_));
|
|
920
|
-
}
|
|
921
|
-
else
|
|
922
|
-
for (const [_, q] of A.headers.entries())
|
|
923
|
-
p[_] = q, R.delete(_);
|
|
924
|
-
const J = A.headers.get("content-type");
|
|
925
|
-
if (J && (p["content-type"] = J), Object.keys(p).length > 0) {
|
|
926
|
-
u = !0;
|
|
927
|
-
const _ = JSON.stringify(p);
|
|
928
|
-
F.push({ data: _, output: "B64" });
|
|
929
|
-
} else
|
|
930
|
-
u = !1;
|
|
931
|
-
const U = new Uint8Array(await A.arrayBuffer());
|
|
932
|
-
let X = !1;
|
|
933
|
-
U.byteLength > 0 && (X = !0, F.push({ data: U, output: "Uint8Array" }));
|
|
934
|
-
const Z = await aI({
|
|
935
|
-
id: `encoder.${g.origin}.${g.pairId}`,
|
|
936
|
-
items: F,
|
|
937
|
-
type: g.type
|
|
938
|
-
});
|
|
939
|
-
let W = A.url;
|
|
940
|
-
if (k) {
|
|
941
|
-
const _ = encodeURIComponent(Z[0]);
|
|
942
|
-
W = N.origin + g.pathPrefix + "/" + _, Z.shift();
|
|
943
|
-
}
|
|
944
|
-
R.set(j, $A({
|
|
945
|
-
type: g.type,
|
|
946
|
-
urlIsEncoded: k,
|
|
947
|
-
headersAreEncoded: u,
|
|
948
|
-
bodyIsEncoded: X,
|
|
949
|
-
clientId: g.clientId,
|
|
950
|
-
pairId: g.pairId,
|
|
951
|
-
useStreaming: g.useStreaming
|
|
952
|
-
})), R.set("content-type", "application/octet-stream"), u && (R.set(mA, Z[0]), Z.shift());
|
|
953
|
-
let M = A.body ? U : null;
|
|
954
|
-
return X && (M = Z[0]), new Request(W, {
|
|
955
|
-
method: A.method,
|
|
956
|
-
headers: R,
|
|
957
|
-
body: M,
|
|
958
|
-
cache: "no-cache",
|
|
959
|
-
credentials: A.credentials
|
|
960
|
-
});
|
|
961
|
-
}
|
|
962
|
-
const yA = /* @__PURE__ */ new Map();
|
|
963
|
-
function T(A, g) {
|
|
964
|
-
yA.set(A, g);
|
|
965
|
-
}
|
|
966
|
-
function $(A) {
|
|
967
|
-
return yA.get(A);
|
|
968
|
-
}
|
|
969
|
-
function II(A) {
|
|
970
|
-
yA.delete(A);
|
|
971
|
-
}
|
|
972
|
-
function QA(A, g) {
|
|
973
|
-
T(YA(A), g);
|
|
891
|
+
V.wasmB64 = "AGFzbQEAAAABnQEUYAJ/fwF/YAF/AX9gAAF/YAN/f38AYAJ/fwBgBX9/f39/AX9gA39/fwF/YAF/AGAEf39/fwBgB39/f39/f38Bf2ABfwF8YAp/f39/f39/f39/AX9gBn9/f39/fwF/YAV/f39/fwBgBH9/f38Bf2AGf39/fH9/AX9gAABgBn9/f398fwF/YAh/f39/f398fwF/YAh/f39/f39/fwF/AkIDA2Vudg5tdGVfd2FzbV9laV9jYgAPA2Vudg1tdGVfd2FzbV9uX2NiAA0DZW52EW10ZV93YXNtX2t5YmVyX2NiAAUDtwG1ARAAAgEBBQAEBgYGAwABBAYHBAMDDgQHAwAFBAQGAQQGCAYBAAAAAQYAAAAAAAABAQYAAAABAAAAAQEAAQAAAAEAAQQNBwMIAwMDCAcIAwMHAwMEBAcDBwMEBwcICAAEAQMBAgICAgEBAQICAgIBAQEBCgEKBwQBAQEBAQIBAQYRBQoBAAAACwsGDgUKAAAACQkFEgUAAAsLDBMFDAUAAAkJDAUBAgICAgICAgUFCQwDAAIHAQIEBQFwAQUFBQYBAQGAgAIGCAF/AUGQrQILB4ceggEGbWVtb3J5AgAIbXRlX2luaXQABBBtdGVfYmFzZV92ZXJzaW9uAAUZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAGG10ZV9iYXNlX3N0YXR1c19pc19lcnJvcgAGEG10ZV9saWNlbnNlX2luaXQACRJtdGVfZW5jX3NhdmVfYnl0ZXMAJRJtdGVfZW5jX3N0YXRlX3NhdmUAJhVtdGVfZW5jX3N0YXRlX3Jlc3RvcmUAJxJtdGVfZW5jX2J1ZmZfYnl0ZXMAKBVtdGVfZW5jX3VuaW5zdGFudGlhdGUAKRJtdGVfZGVjX3NhdmVfYnl0ZXMAJRJtdGVfZGVjX3N0YXRlX3NhdmUALhVtdGVfZGVjX3N0YXRlX3Jlc3RvcmUALxJtdGVfZGVjX2J1ZmZfYnl0ZXMAMBVtdGVfZGVjX3VuaW5zdGFudGlhdGUAMRZtdGVfbWtlX2VuY19zYXZlX2J5dGVzACUWbXRlX21rZV9lbmNfc3RhdGVfc2F2ZQAmGW10ZV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmUAOBZtdGVfbWtlX2VuY19idWZmX2J5dGVzADkgbXRlX21rZV9lbmNfZW5jcnlwdF9maW5pc2hfYnl0ZXMAOx9tdGVfbWtlX2VuY19lbmNyeXB0X3N0YXRlX2J5dGVzADwZbXRlX21rZV9lbmNfZW5jcnlwdF9zdGFydAA9GW10ZV9ta2VfZW5jX3VuaW5zdGFudGlhdGUAPhZtdGVfbWtlX2RlY19zYXZlX2J5dGVzACUWbXRlX21rZV9kZWNfc3RhdGVfc2F2ZQAuGW10ZV9ta2VfZGVjX3N0YXRlX3Jlc3RvcmUAPxZtdGVfbWtlX2RlY19idWZmX2J5dGVzAEAfbXRlX21rZV9kZWNfZGVjcnlwdF9zdGF0ZV9ieXRlcwBCGW10ZV9ta2VfZGVjX2RlY3J5cHRfc3RhcnQAQxltdGVfbWtlX2RlY191bmluc3RhbnRpYXRlAEQcbXRlX3dhc21fYmFzZTY0X2VuY29kZV9ieXRlcwBiFm10ZV93YXNtX2Jhc2U2NF9lbmNvZGUAYxZtdGVfd2FzbV9iYXNlNjRfZGVjb2RlAGQbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21ham9yAGUbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21pbm9yAGYbbXRlX3dhc21fYmFzZV92ZXJzaW9uX3BhdGNoAGcabXRlX3dhc21fYmFzZV9zdGF0dXNfY291bnQAaBltdGVfd2FzbV9iYXNlX3N0YXR1c19uYW1lAGkgbXRlX3dhc21fYmFzZV9zdGF0dXNfZGVzY3JpcHRpb24AahltdGVfd2FzbV9iYXNlX3N0YXR1c19jb2RlAGsebXRlX3dhc21fYmFzZV9oYXNfcnVudGltZV9vcHRzAGcabXRlX3dhc21fYmFzZV9kZWZhdWx0X2RyYmcAbB9tdGVfd2FzbV9iYXNlX2RlZmF1bHRfdG9rX2J5dGVzAG0fbXRlX3dhc21fYmFzZV9kZWZhdWx0X3ZlcmlmaWVycwBuHG10ZV93YXNtX2Jhc2VfZGVmYXVsdF9jaXBoZXIAbhptdGVfd2FzbV9iYXNlX2RlZmF1bHRfaGFzaABuGW10ZV93YXNtX2Jhc2VfZHJiZ3NfY291bnQAbxhtdGVfd2FzbV9iYXNlX2RyYmdzX25hbWUAcBhtdGVfd2FzbV9iYXNlX2RyYmdzX2FsZ28AcSZtdGVfd2FzbV9iYXNlX2RyYmdzX3NlY19zdHJlbmd0aF9ieXRlcwByJm10ZV93YXNtX2Jhc2VfZHJiZ3NfcGVyc29uYWxfbWluX2J5dGVzAHMmbXRlX3dhc21fYmFzZV9kcmJnc19wZXJzb25hbF9tYXhfYnl0ZXMAdCVtdGVfd2FzbV9iYXNlX2RyYmdzX2VudHJvcHlfbWluX2J5dGVzAHIlbXRlX3dhc21fYmFzZV9kcmJnc19lbnRyb3B5X21heF9ieXRlcwB0I210ZV93YXNtX2Jhc2VfZHJiZ3Nfbm9uY2VfbWluX2J5dGVzAHUjbXRlX3dhc21fYmFzZV9kcmJnc19ub25jZV9tYXhfYnl0ZXMAciNtdGVfd2FzbV9iYXNlX2RyYmdzX3Jlc2VlZF9pbnRlcnZhbAB2I210ZV93YXNtX2Jhc2VfZHJiZ3NfaW5jcl9pbnN0X2Vycm9yAHcibXRlX3dhc21fYmFzZV9kcmJnc19pbmNyX2dlbl9lcnJvcgB4HW10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2NvdW50AG0cbXRlX3dhc21fYmFzZV92ZXJpZmllcnNfbmFtZQB5HG10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2FsZ28AehttdGVfd2FzbV9iYXNlX2NpcGhlcnNfY291bnQAZRptdGVfd2FzbV9iYXNlX2NpcGhlcnNfbmFtZQB7Gm10ZV93YXNtX2Jhc2VfY2lwaGVyc19hbGdvAHwhbXRlX3dhc21fYmFzZV9jaXBoZXJzX2Jsb2NrX2J5dGVzAH0abXRlX3dhc21fYmFzZV9oYXNoZXNfY291bnQAfhltdGVfd2FzbV9iYXNlX2hhc2hlc19uYW1lAH8ZbXRlX3dhc21fYmFzZV9oYXNoZXNfYWxnbwCAARhtdGVfd2FzbV9kZWNfc3RhdGVfYnl0ZXMAgQEXbXRlX3dhc21fZGVjX3N0YXRlX2luaXQAggEYbXRlX3dhc21fZGVjX2luc3RhbnRpYXRlAIMBG210ZV93YXNtX2RlY19yZXNlZWRfY291bnRlcgCEARttdGVfd2FzbV9kZWNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZGVjX3N0YXRlX3NhdmVfYjY0AIYBHm10ZV93YXNtX2RlY19zdGF0ZV9yZXN0b3JlX2I2NACHARttdGVfd2FzbV9kZWNfYnVmZl9ieXRlc19iNjQAiAETbXRlX3dhc21fZGVjX2RlY29kZQCJARdtdGVfd2FzbV9kZWNfZGVjb2RlX2I2NACKARhtdGVfd2FzbV9lbmNfc3RhdGVfYnl0ZXMAiwEXbXRlX3dhc21fZW5jX3N0YXRlX2luaXQAjAEYbXRlX3dhc21fZW5jX2luc3RhbnRpYXRlAI0BG210ZV93YXNtX2VuY19yZXNlZWRfY291bnRlcgCOARttdGVfd2FzbV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZW5jX3N0YXRlX3NhdmVfYjY0AI8BHm10ZV93YXNtX2VuY19zdGF0ZV9yZXN0b3JlX2I2NACQARttdGVfd2FzbV9lbmNfYnVmZl9ieXRlc19iNjQAkQETbXRlX3dhc21fZW5jX2VuY29kZQCSARdtdGVfd2FzbV9lbmNfZW5jb2RlX2I2NACTARxtdGVfd2FzbV9ta2VfZGVjX3N0YXRlX2J5dGVzAJQBG210ZV93YXNtX21rZV9kZWNfc3RhdGVfaW5pdACVARxtdGVfd2FzbV9ta2VfZGVjX2luc3RhbnRpYXRlAJYBH210ZV93YXNtX21rZV9kZWNfcmVzZWVkX2NvdW50ZXIAhAEfbXRlX3dhc21fbWtlX2RlY19zYXZlX2J5dGVzX2I2NACFAR9tdGVfd2FzbV9ta2VfZGVjX3N0YXRlX3NhdmVfYjY0AIYBIm10ZV93YXNtX21rZV9kZWNfc3RhdGVfcmVzdG9yZV9iNjQAlwEfbXRlX3dhc21fbWtlX2RlY19idWZmX2J5dGVzX2I2NACYARdtdGVfd2FzbV9ta2VfZGVjX2RlY29kZQCZARttdGVfd2FzbV9ta2VfZGVjX2RlY29kZV9iNjQAmgEebXRlX3dhc21fbWtlX2RlY19kZWNyeXB0X2NodW5rAJsBH210ZV93YXNtX21rZV9kZWNfZGVjcnlwdF9maW5pc2gAnAEcbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9ieXRlcwCdARttdGVfd2FzbV9ta2VfZW5jX3N0YXRlX2luaXQAngEcbXRlX3dhc21fbWtlX2VuY19pbnN0YW50aWF0ZQCfAR9tdGVfd2FzbV9ta2VfZW5jX3Jlc2VlZF9jb3VudGVyAI4BH210ZV93YXNtX21rZV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEfbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9zYXZlX2I2NACPASJtdGVfd2FzbV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmVfYjY0AKABH210ZV93YXNtX21rZV9lbmNfYnVmZl9ieXRlc19iNjQAoQEXbXRlX3dhc21fbWtlX2VuY19lbmNvZGUAogEbbXRlX3dhc21fbWtlX2VuY19lbmNvZGVfYjY0AKMBHm10ZV93YXNtX21rZV9lbmNfZW5jcnlwdF9jaHVuawCkAR9tdGVfd2FzbV9ta2VfZW5jX2VuY3J5cHRfZmluaXNoAKUBE210ZV93YXNtX2t5YmVyX2luaXQApgEebXRlX3dhc21fa3liZXJfZ2V0X3B1YmtleV9zaXplAKcBH210ZV93YXNtX2t5YmVyX2dldF9wcml2a2V5X3NpemUAqAEebXRlX3dhc21fa3liZXJfZ2V0X3NlY3JldF9zaXplAKkBIW10ZV93YXNtX2t5YmVyX2dldF9lbmNyeXB0ZWRfc2l6ZQCqASNtdGVfd2FzbV9reWJlcl9nZXRfbWluX2VudHJvcHlfc2l6ZQCrASNtdGVfd2FzbV9reWJlcl9nZXRfbWF4X2VudHJvcHlfc2l6ZQCsARxtdGVfd2FzbV9reWJlcl9nZXRfYWxnb3JpdGhtAK0BHW10ZV93YXNtX2t5YmVyX2NyZWF0ZV9rZXlwYWlyAK8BHG10ZV93YXNtX2t5YmVyX2NyZWF0ZV9zZWNyZXQAsAEdbXRlX3dhc21fa3liZXJfZGVjcnlwdF9zZWNyZXQAsQELX2luaXRpYWxpemUAAxBfX2Vycm5vX2xvY2F0aW9uALcBCXN0YWNrU2F2ZQC0AQxzdGFja1Jlc3RvcmUAtQEKc3RhY2tBbGxvYwC2AQkLAQBBAQsEYWCuAQMKztQEtQEDAAEL3wMBAn9B8CtBgAgtAAAiAgR/QQAhAANAIAIgA2ohAyAAIgFBAWoiAEGACGotAAAiAg0ACyABQQJqBUEBC0GACGoiAC0AQEEIdCAALQBBciIBIAAtAD8gAC0APiAALQA9IAAtADwgAC0AOyAALQA6IAAtADkgAC0AOCAALQA3IAAtADYgAC0ANSAALQA0IAAtADMgAC0AMiAALQAxIAAtADAgAC0ALyAALQAuIAAtAC0gAC0ALCAALQArIAAtACogAC0AKSAALQAoIAAtACcgAC0AJiAALQAlIAAtACQgAC0AIyAALQAiIAAtACEgAC0AICAALQAfIAAtAB4gAC0AHSAALQAcIAAtABsgAC0AGiAALQAZIAAtABggAC0AFyAALQAWIAAtABUgAC0AFCAALQATIAAtABIgAC0AESAALQAQIAAtAA8gAC0ADiAALQANIAAtAAwgAC0ACyAALQAKIAAtAAkgAC0ACCAALQAHIAAtAAYgAC0ABSAALQAEIAAtAAMgAC0AAiAALQABIAMgAC0AAGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamprIAFFciIANgIAIABFCwUAQYAICycBAX8CQAJAIAAODwEAAAAAAAAAAAAAAAAAAQALIABBD0chAQsgAQuHBQIMfwJ+AkAgAEEIIABBQGsiCxAfIgENACAAQcgRakEAOgAAIABByABqIQlBgAEhA0GBASEEQQEhCANAIABBCCAJEB8iAQ0BIAMgBGohBgNAIAkpAwAhDSAGIQcgAyEFIAQhAgJAA0ACQCALIAAgB0EBdiIBakHIEGotAABBA3RqKQMAIg4gDVYEQCABIAVGBEAgBSECDAILIAEgBWohByABIQIMAgsgDSAOWA0CIAFBAWoiBSACTw0AIAIgBWohBwwBCwsCQAJAIANFDQAgAiADRw0AIAAgA0EBayIDakHIEGogCDoAAAwBCwJAAkAgAiAERw0AIAJBgAJGDQAgACAEakHIEGogCDoAAAwBCwJAIARBgAJHBEAgA0UNASACIANrIAQgAmtPDQELAkAgA0EBayIGIAJBAWsiCk8NAEEAIQUgBiEBIAIgA2tBA3EiDARAA0AgAEHIEGoiByABaiAHIAFBAWoiAWotAAA6AAAgBUEBaiIFIAxHDQALCyACIANBf3NqQQNJDQADQCAAIAFqIgJByBBqIAJByRBqKAAANgAAIAFBBGoiASAKRw0ACwsgACAKakHIEGogCDoAACAGIQMMAgsCQCACIARPDQBBACEFIAQiASACa0EDcSIHBEADQCAAQcgQaiIGIAFqIAYgAUEBayIBai0AADoAACAFQQFqIgUgB0cNAAsLIAQgAkF/c2pBA0kNAANAIABByBBqIgYgAWpB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BSAGaiABIAVqLQAAOgAAIAVBAWohBSADQQFqIgMgAEcNAAsLIAIgBGoPC0EAIQRBACEFIAJBAWtBA08EQCACQXxxIQZBACEAA0AgAyAFaiABIAVqLQAAOgAAIAMgBUEBciIHaiABIAdqLQAAOgAAIAMgBUECciIHaiABIAdqLQAAOgAAIAMgBUEDciIHaiABIAdqLQAAOgAAIAVBBGohBSAAQQRqIgAgBkcNAAsLIAJBA3EiAARAA0AgAyAFaiABIAVqLQAAOgAAIAVBAWohBSAEQQFqIgQgAEcNAAsLIAILvgQAIAEgACkDMDwAACABIAApAzBCCIg8AAEgASAAKQMwQhCIPAACIAEgACkDMEIYiDwAAyABIAA1AjQ8AAQgASAAKQMwQiiIPAAFIAEgADMBNjwABiABIAAxADc8AAcgASAALQAAOgAIIAEgAC0AAToACSABIAAtAAI6AAogASAALQADOgALIAEgAC0ABDoADCABIAAtAAU6AA0gASAALQAGOgAOIAEgAC0ABzoADyABIAAtAAg6ABAgASAALQAJOgARIAEgAC0ACjoAEiABIAAtAAs6ABMgASAALQAMOgAUIAEgAC0ADToAFSABIAAtAA46ABYgASAALQAPOgAXIAEgAC0AEDoAGCABIAAtABE6ABkgASAALQASOgAaIAEgAC0AEzoAGyABIAAtABQ6ABwgASAALQAVOgAdIAEgAC0AFjoAHiABIAAtABc6AB8gASAALQAYOgAgIAEgAC0AGToAISABIAAtABo6ACIgASAALQAbOgAjIAEgAC0AHDoAJCABIAAtAB06ACUgASAALQAeOgAmIAEgAC0AHzoAJyABIAAtACA6ACggASAALQAhOgApIAEgAC0AIjoAKiABIAAtACM6ACsgASAALQAkOgAsIAEgAC0AJToALSABIAAtACY6AC4gASAALQAnOgAvIAEgAC0AKDoAMCABIAAtACk6ADEgASAALQAqOgAyIAEgAC0AKzoAMyABIAAtACw6ADQgASAALQAtOgA1IAEgAC0ALjoANiABIAAtAC86ADcL7AMAIAAgASkAADcDMCAAIAEtAAg6AAAgACABLQAJOgABIAAgAS0ACjoAAiAAIAEtAAs6AAMgACABLQAMOgAEIAAgAS0ADToABSAAIAEtAA46AAYgACABLQAPOgAHIAAgAS0AEDoACCAAIAEtABE6AAkgACABLQASOgAKIAAgAS0AEzoACyAAIAEtABQ6AAwgACABLQAVOgANIAAgAS0AFjoADiAAIAEtABc6AA8gACABLQAYOgAQIAAgAS0AGToAESAAIAEtABo6ABIgACABLQAbOgATIAAgAS0AHDoAFCAAIAEtAB06ABUgACABLQAeOgAWIAAgAS0AHzoAFyAAIAEtACA6ABggACABLQAhOgAZIAAgAS0AIjoAGiAAIAEtACM6ABsgACABLQAkOgAcIAAgAS0AJToAHSAAIAEtACY6AB4gACABLQAnOgAfIAAgAS0AKDoAICAAIAEtACk6ACEgACABLQAqOgAiIAAgAS0AKzoAIyAAIAEtACw6ACQgACABLQAtOgAlIAAgAS0ALjoAJiAAIAEtAC86ACcgACABLQAwOgAoIAAgAS0AMToAKSAAIAEtADI6ACogACABLQAzOgArIAAgAS0ANDoALCAAIAEtADU6AC0gACABLQA2OgAuIAAgAS0ANzoALwuAAwEFfyMAQYACayIEJAACf0EDIAFBgIAESw0AGiAAKQMwQoGAgICAgMAAWgRAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEFDAELIAQgAEEQaiIGEBEgAUEQTwRAA0AgABAZIAQgACACEBIaIAJBEGohAiABQRBrIgFBD0sNAAsLAkAgAUUNACAAEBkgBCAAIARB8AFqEBIaIAFBAWshBSABQQNxIgcEQANAIAIgAUEBayIBaiAEQfABaiABai0AADoAACADQQFqIgMgB0cNAAsLIAVBA0kNAANAIAIgAUEBayIDaiAEQfABaiIFIANqLQAAOgAAIAIgAUECayIDaiAEQfABaiADai0AADoAACACIAFBA2siA2ogBEHwAWogA2otAAA6AAAgAiABQQRrIgFqIAEgBWotAAA6AAAgAQ0ACwtB0CUgBiAAEBogACAAKQMwQgF8NwMwQQALIQMgBEGAAmokACADCzUAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEAC5xFAUV/An8gAUEDcUUEQCABKAI8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoAjgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgCNCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAIwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoAiwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgCKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAIkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoAiAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRggASgCHCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhGSABKAIYIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEcIAEoAhQiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIR0gASgCECICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhDCABKAIMIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEJIAEoAggiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIQ8gASgCBCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhCiABKAIAIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycgwBCyABKAA8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoADgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgANCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAAwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoACwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgAKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAAkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoACAi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IAAgAWogACADai0AADoAACABIABBAXIiCmogAyAKai0AADoAACABIABBAnIiCmogAyAKai0AADoAACABIABBA3IiCmogAyAKai0AADoAACAAQQRqIQAgB0EEaiIHIAVHDQALCyAJQQNxIgdFDQADQCAAIAFqIAAgA2otAAA6AAAgAEEBaiEAIARBAWoiBCAHRw0ACwsgCEH//wNxIgBBkCwtAAAiA0kEQCAAIAFqIAhBf3MgA2pB//8DcUEBahCzARoLIAhBgQJPBEAgBigCGCEEQYACIQBBgAIhBwNAIAEgAEH/AXFqIgUgBS0AACAAIARqLQAAczoAACAIIAdBAWoiB0H//wNxIgBLDQALCwJAIANFDQBBACEHQQAhACADQQFrQQNPBEAgA0H8AXEhCEEAIQQDQCAAIAFqIgUgBS0AACAAQQFyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQJyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQNyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQRqIgBBkCxqLQAAczoAACAEQQRqIgQgCEcNAAsLIANBA3EiBEUNAANAIAAgAWoiCCAILQAAIABBAWoiAEGQLGotAABzOgAAIAdBAWoiByAERw0ACwsgAiABNgIYIAIgCSADIAMgCUkbNgIcIAsgAkEIahA0IgANACALQQI2AoQWCyACQSBqJAAgBkEgaiQAIAALdAEDfyMAIgIhAyACIAEQECIEQQNqQQJ2QQNsQRBqQXBxayICJAAgASAEIAIQDBoCQAJ/IABBD2pBcHEiASgChBZBBGtBfUkEQEEBIQBBAAwBCyABIAIQNiIADQFBACEAQQILIQIgASACNgKEFgsgAyQAIAALKABBDyABQQNqQQJ2QQNsQQFqIgBB4AFrIABBhQJJGyAAQQ9qQXBxagtuACMAQRBrIgEkACABIAM2AgwgASACNgIEIAFBADYCACABIAQ2AgggACABEEEhACAFIAEoAgggBGtBACABKAIMIgIbNgIAIAYgAjYCACAHQgA3AwAgCEIANwMAIAkgASgCADYCACABQRBqJAAgAAucAQAjAEEQayIBJAAgASADNgIMIAEgAjYCBCABQQA2AgAgASAENgIIIAEgASgCBCABKAIMIAEoAggQDCICNgIMIAEgASgC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ASAENgIEIAAgARA6IQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALiwEAIwBBEGsiASQAIAEgAzYCCCABIAI2AgAgASAENgIEAn8gACABEDoiAARAIAFBADYCCCAADAELIAEoAgQiAiABKAIIIgMgAiADaiICEAshAyABIAI2AgQgASADNgIIIAALIQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALkAUBBn8jAEEQayIGJAAgBiADNgIIIAYgBDYCBCAGIAI2AgACfyAGKAIEIQcgAEEPakFwcSILKAKAFkEDRwRAIAcgBigCCBAKQQEMAQsgC0GAFWogBigCACAGKAIIECQhCSAGKAIIIQACQCAGKAIAIgggAUEPakFwcSIEKAKAAiICckEHcUUEQCACQQN2IQJBACEDIABBCE8EQCALQeASaiEKA0AgBCACQQN0aiIBIAEpAwAgCCADQQN0aikDAIU3AwAgAkEBaiICQSBHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgB2ohByAIIAFBeHFqIQhBAAshAyAAQQhrIgBBB0sNAAsLIAJBA3QhAiAARQ0BIANBA3QhAyAAQQFxBH8gAiAEaiIBIAEtAAAgAyAIai0AAHM6AAAgA0EBciEDIAJBAXIhAiAAQQFrBSAACyEBIABBAUYNAQNAIAIgBGoiACAALQAAIAMgCGoiCi0AAHM6AAAgACAALQABIAotAAFzOgABIANBAmohAyACQQJqIQIgAUECayIBDQALDAELIABFDQAgC0HgEmohCkEAIQMDQCACIARqIgEgAS0AACADIAhqLQAAczoAACACQQFqIgJBgAJHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgCGohCCABIAdqIQdBAAshAyAAQQFrIgANAAsLIAtB4BJqIAQgBCgCgAIiAGogAiAAayIAIAcQFyEBIAQgBCgCgAIgAGo2AoACIAEgCXILIQAgBSAGKAIINgIAIAZBEGokACAAC7gBAQF/IwBBEGsiAiQAIAJCADcDACACQQA2AggCf0EKQYAsKAIARQ0AGiAAQQ9q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bXBsX2Vycm9yAG10ZV9zdGF0dXNfZHJiZ19lcnJvcgBtdGVfc3RhdHVzX2xpY2Vuc2VfZXJyb3IAbXRlX3ZlcmlmaWVyc19zZXEAbXRlX3N0YXR1c19kaWdlc3RfbWlzbWF0Y2gAbXRlX3N0YXR1c19zZXFfbWlzbWF0Y2gAbXRlX3N0YXR1c19jaGVja3N1bV9taXNtYXRjaABtdGVfZHJiZ3NfY3RyX2FlczI1Nl9kZgBtdGVfc3RhdHVzX3Vuc3VwcG9ydGVkAG10ZV9zdGF0dXNfb3V0cHV0X2luaGliaXRlZABtdGVfc3RhdHVzX2NpcGhlcl90ZXN0X2ZhaWxlZABtdGVfc3RhdHVzX2hhc2hfdGVzdF9mYWlsZWQAbXRlX3N0YXR1c19kcmJnX3NlZWRsaWZlX3JlYWNoZWQAbXRlX3N0YXR1c190aW1lX2FmdGVyX2V4Y2VlZGVkAG10ZV9zdGF0dXNfdGltZV9iZWZvcmVfZXhjZWVkZWQAbXRlX3N0YXR1c19kcmJnX2NhdGFzdHJvcGhpYwBLeWJlcjc2OABtdGVfaGFzaGVzX3NoYTI1NgBLeWJlcjEwMjQAS3liZXI1MTIAVGhlIHNlcXVlbmNlIG51bWJlciBpcyBvdXRzaWRlIHRoZSB3aW5kb3cuAE91dHB1dCBpcyBpbmhpYml0ZWQgZHVlIHRvIGFuIGVycm9yIHN0YXRlIG9yIHNlbGYtdGVzdC4AVGhlIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIHRvbyBsb25nIGFmdGVyIGl0IHdhcyBzZW50LgBUaGUgbWVzc2FnZSB3YXMgcmVjZWl2ZWQgdG9vIGxvbmcgYmVmb3JlIGl0IHdhcyBzZW50LgBObyBzdWNoIHRva2VuIGV4aXN0cy4ASW1wbGVtZW50YXRpb24gZXJyb3IuAEhhc2ggZGlnZXN0IG1pc21hdGNoLgBDaGVja3N1bSBtaXNtYXRjaC4AVGhlIHNlcXVlbmNlIG51bWJlciBoYXMgYWxyZWFkeSBiZWVuIHNlZW4gaW4gYXN5bmMgbW9kZS4AVGhlIGxpY2Vuc2Ugd2FzIG5vdCBzZXQgb3IgaXMgbm90IHZhbGlkLgBBbiBpbnB1dCB3YXMgbm90IHZhbGlkLgBBdHRlbXB0aW5nIHRvIHN5bmMgdXAgYSBzZXF1ZW5jaW5nIHZhcmlhdGlvbiByZXN1bHRlZCBpbiBhIGJhZCBtZXNzYWdlLiBUaGUgc3RhdGUgaGFzIGJlZW4gcm9sbGVkIGJhY2sgdG8gd2hlcmUgaXQgd2FzIGJlZm9yZSB0aGUgbWVzc2FnZSBhcnJpdmVkLgBBbiB1bnN1cHBvcnRlZCBvcGVyYXRpb24gd2FzIGF0dGVtcHRlZC4ATm8gZXJyb3Igb2NjdXJyZWQuAEEgY2lwaGVyIGFsZ29yaXRobSBzZWxmLXRlc3QgZmFpbGVkLgBBIGhhc2ggYWxnb3JpdGhtIHNlbGYtdGVzdCBmYWlsZWQuAEEgbm9ybWFsIERSQkcgZXJyb3Igb2NjdXJyZWQuIE5JU1QgU1AgODAwLTkwQSBzZWN0aW9uIDkuAEEgY2F0YXN0cm9waGljIERSQkcgZXJyb3Igb2NjdXJyZWQuIE5JU1QgU1AgODAwLTkwQSBzZWN0aW9uIDkuAFRoZSBzZWVkbGlmZSBoYXMgYmVlbiByZWFjaGVkLiBOSVNUIFNQIDgwMC05MEEgc2VjdGlvbiA5LjMuMS4AAAAAAAAAAGgKAABoCgAAaAoAABIFAABoCgAAaAoAAGgKAABoCgAAaAoAAGgKAADQBQAAaAoAAGgKAABoCgAAaAoAAAAAAABoCgAAaAoAAGgKAADbBgAAaAoAQdAVC4AQaAoAAGgKAABoCgAAbgUAAGgKAABoCgAAaAoAAGgKAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAD4AAABkAAAAZAAAAGQAAAA/AAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAGQAAABkAAAAZAAAAGUAAABkAAAAZAAAAGQAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAP8EAADGBAAA6AUAAD8FAAC1BgAAVQYAABsGAAA5BgAA/wUAACkFAABVBQAA3wQAALMFAACABQAAlQYAAHYGAACoBAAAjAQAAJsFAAAAAAAAWAkAAIUIAAAwCQAAswkAAOwJAAArCgAAawkAAJAJAAArBwAA5AcAAFwIAADOBwAAEAgAAPoHAACYBwAAYwcAAAAHAAAjCAAAnQgAAAAAAABjfHd78mtvxTABZyv+16t2yoLJffpZR/Ct1KKvnKRywLf9kyY2P/fMNKXl8XHYMRUExyPDGJYFmgcSgOLrJ7J1CYMsGhtuWqBSO9azKeMvhFPRAO0g/LFbasu+OUpMWM/Q76r7Q00zhUX5An9QPJ+oUaNAj5KdOPW8ttohEP/z0s0ME+xfl0QXxKd+PWRdGXNggU/cIiqQiEbuuBTeXgvb4DI6CkkGJFzC06xikZXkeefIN22N1U6pbFb06mV6rgi6eCUuHKa0xujddB9LvYuKcD61ZkgD9g5hNVe5hsEdnuH4mBFp2Y6Umx6H6c5VKN+MoYkNv+ZCaEGZLQ+wVLsWxvju9v/W3pFgAs5W57VN7I8fifrvso77QbNfRSNT5Jt14T1MbH71g2hR0fniq2IqCJVGnTA3Ci8OJBvfzU5/6hIdWDQ23LRbpHa3fVLdXhOmuQDBQON5ttSNZ3KUmLCFu8VP7YaaZhGK6QT+oHglS6JdgAU/IXDxY3evQiDl/b+BGCbDvjWILpNV/HrIujLmwBmeo0RUOwuMx2sop7wWrdtkdBSSDEi4n71DxDkx0/LVi27aAbGcSdis88/K9EcQb/BKXDhXc5fLoeg+lmEND+B8ccyQBvccwmquaReZOifZ6ysi0qkHMy08FcmHqlClA1kJGmXXhNCCKVoee6htLKWEmY0NvbFUUAOpfRli5ppFnUCHFevJC+xn/eq/95ZbwhyualpBAk9c9DQIk3NTPwxSZV4ooQ+1CTabPSZpzZ8bnnQuLbLu+/ZNYc57PnGX9WgALGAfyO2+RtlL3tToSmsq5RbF11WUzxAGgfBEuuPz/sCKrbxIBN/BdWMwGg5tTBQ1L+GizDlX8oJHrOcrlaCY0X9mfquDyinTPHniHXY7Vk4e2wps5F1u76aopDeLMkNZt4xk0uC0+gclr47pGNWIb3Ik8cdRI3ycId3choWQQsSq2AUBEqNf+dCRWCe5OBOzM7twiae2IpIgSf94eo/4gBfaMca4w7B3Ecv81joAQYEmCyABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fgABBsCYLwAUBAAAAAAAAAIKAAAAAAAAAioAAAAAAAIAAgACAAAAAgIuAAAAAAAAAAQAAgAAAAACBgACAAAAAgAmAAAAAAACAigAAAAAAAACIAAAAAAAAAAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAIDtCAsKmgsUB9UFjgUfAcoAVgxuAikGtgDCA08IPwe8BT0C1AcIAX8BxAmyBb8GfwxYCvkD3AJgAvsGmwE0DN4GxwSMAtkK9wP0B9MF5wv5BgQC+QzBC2cKrwZ3CH4AvQWsCacM8gs+A2sAdAcKDEoJcwvBAx0HLArAAdgIpQIGCLIIrgErAksDHghnAw4GaQCmAUsCsQAWDN4LNQsmBnUGCwwKA4cEbgz4CcsFpwpfBMsGhAKZCV0BogFJAWUMtgwxA0kEWwJiAioF/AdIB4ABQgh5DMIEygeXCdwAXgiGBmAIBwcDCBoDGwerCZsJ3gGVDM0L5APfA74DTQfyBVwGpQYPB7QFQwkiCR0JNAFsACMLZgNWA+YF5wn+BPoFoQR7BqMEJQxqAzcFPwiIAL8EgQu5BQUF1wefCqYKuAjQCUsAnAC4C18LpAtoA30KNgaiCFoCNgcJA5MAegj3CfYAjAbbBswBIwHrAFAMtgpbC5gM8waaCeMEtgnWClMLTwT7BFwKKQRBC9UC5AVACY4BtwP3AI0FlgzDCQ8BWgBVA0QHgwyKBFIGmgJAAQgA/QoIBhoBLgcNBQoJKAJ1CjoIIwbNAGYLBgahCiUKCAmpAoIAQgZPBz0Dggv5Cy0FxApFB8IFsgQ/CUsM2AaTCqsANwziC3MHLAftBWcB9gKhBQBB8CsLAQE=";
|
|
892
|
+
})(iA)), iA;
|
|
974
893
|
}
|
|
894
|
+
var q = qA();
|
|
895
|
+
const k = {
|
|
896
|
+
numberOfPairs: 5,
|
|
897
|
+
encodeType: "MKE",
|
|
898
|
+
encodeUrls: !0,
|
|
899
|
+
encodeHeaders: !0,
|
|
900
|
+
pathPrefix: "",
|
|
901
|
+
mtePoolSize: 2,
|
|
902
|
+
mkePoolSize: 5,
|
|
903
|
+
persistentStorage: void 0,
|
|
904
|
+
customFetch: void 0
|
|
905
|
+
};
|
|
906
|
+
let T, wA = !1, eA;
|
|
975
907
|
function UA(A) {
|
|
976
|
-
|
|
908
|
+
T = A;
|
|
977
909
|
}
|
|
978
910
|
function YA(A) {
|
|
979
|
-
|
|
980
|
-
}
|
|
981
|
-
const FA = typeof window < "u" && window.localStorage;
|
|
982
|
-
function NA(A) {
|
|
983
|
-
const g = GA(A);
|
|
984
|
-
let t;
|
|
985
|
-
return t = $(g), !t && FA && (t = localStorage.getItem(g), t && T(g, t)), t;
|
|
986
|
-
}
|
|
987
|
-
function lA(A, g) {
|
|
988
|
-
const t = GA(A);
|
|
989
|
-
T(t, g), FA && localStorage.setItem(t, g);
|
|
990
|
-
}
|
|
991
|
-
function BI(A) {
|
|
992
|
-
const g = GA(A);
|
|
993
|
-
II(g), FA && localStorage.removeItem(g);
|
|
994
|
-
}
|
|
995
|
-
function GA(A) {
|
|
996
|
-
return `clientid:${A}`;
|
|
997
|
-
}
|
|
998
|
-
function LA(A) {
|
|
999
|
-
const g = MA(A);
|
|
1000
|
-
return $(g) || (T(g, "pending"), "validate");
|
|
1001
|
-
}
|
|
1002
|
-
function IA(A, g) {
|
|
1003
|
-
const t = MA(A);
|
|
1004
|
-
T(t, g);
|
|
911
|
+
wA = A;
|
|
1005
912
|
}
|
|
1006
913
|
function MA(A) {
|
|
1007
|
-
|
|
1008
|
-
}
|
|
1009
|
-
function gI(A, g) {
|
|
1010
|
-
const t = hA(A), H = $(t) || [];
|
|
1011
|
-
H.push(g), T(t, H);
|
|
1012
|
-
}
|
|
1013
|
-
function QI(A) {
|
|
1014
|
-
const g = hA(A), t = $(g);
|
|
1015
|
-
if (!t)
|
|
1016
|
-
throw new Error(`No queue found for origin ${A}.`);
|
|
1017
|
-
const H = t.shift();
|
|
1018
|
-
if (!H)
|
|
1019
|
-
throw Error("No ID in queue.");
|
|
1020
|
-
return t.push(H), T(g, t), H;
|
|
1021
|
-
}
|
|
1022
|
-
function tI(A, g) {
|
|
1023
|
-
const t = hA(A), H = $(t);
|
|
1024
|
-
if (!H)
|
|
1025
|
-
throw new Error(`No queue found for origin ${A}.`);
|
|
1026
|
-
const F = H.indexOf(g);
|
|
1027
|
-
if (F === -1)
|
|
1028
|
-
throw new Error(`No pairId found for origin ${A}.`);
|
|
1029
|
-
H.splice(F, 1), T(t, H);
|
|
1030
|
-
}
|
|
1031
|
-
function iI(A) {
|
|
1032
|
-
const g = hA(A);
|
|
1033
|
-
T(g, []);
|
|
914
|
+
eA = A;
|
|
1034
915
|
}
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
916
|
+
const nA = "x-mte-relay-eh", $ = "x-mte-relay", JA = {
|
|
917
|
+
ORIGIN_STATUS: "origin-status",
|
|
918
|
+
CLIENT_ID: "client-id",
|
|
919
|
+
PAIR_QUEUE: "pair-queue",
|
|
920
|
+
MTE_STATE: "mte-state",
|
|
921
|
+
INIT_PROMISE: "init-promise"
|
|
922
|
+
}, rA = {
|
|
1039
923
|
"Repair is required.": 559,
|
|
1040
924
|
"State not found.": 560,
|
|
1041
925
|
"Failed to encode.": 561,
|
|
@@ -1047,408 +931,515 @@ const wA = {
|
|
|
1047
931
|
"Failed to save decoder stateId.": 567,
|
|
1048
932
|
"Failed to save encoder stateId.": 568,
|
|
1049
933
|
"Missing required header": 569
|
|
1050
|
-
},
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
super(g), uA(this, "status"), uA(this, "info"), this.status = wA[g], this.info = t;
|
|
1054
|
-
}
|
|
1055
|
-
static isMteErrorStatus(g) {
|
|
1056
|
-
return sI.has(g);
|
|
1057
|
-
}
|
|
1058
|
-
static getStatusErrorMessages(g) {
|
|
1059
|
-
const t = Object.entries(wA);
|
|
1060
|
-
for (const [H, F] of t)
|
|
1061
|
-
if (F === g)
|
|
1062
|
-
return H;
|
|
1063
|
-
}
|
|
934
|
+
}, fA = /* @__PURE__ */ new Map(), P = (A, s) => `${JA[A]}:${s}`;
|
|
935
|
+
function v(A, s) {
|
|
936
|
+
fA.set(A, s);
|
|
1064
937
|
}
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
function EI(A) {
|
|
1068
|
-
BA = A.mtePoolSize || BA, gA = A.mkePoolSize || gA;
|
|
1069
|
-
let g = 0;
|
|
1070
|
-
for (; g < BA; )
|
|
1071
|
-
++g, sA.push(b.MteEnc.fromdefault(A.mteWasm)), EA.push(b.MteDec.fromdefault(A.mteWasm));
|
|
1072
|
-
for (g = 0; g < gA; )
|
|
1073
|
-
++g, CA.push(b.MteMkeEnc.fromdefault(A.mteWasm)), eA.push(b.MteMkeDec.fromdefault(A.mteWasm, 1e3, -63));
|
|
938
|
+
function tA(A) {
|
|
939
|
+
return fA.get(A);
|
|
1074
940
|
}
|
|
1075
|
-
function
|
|
1076
|
-
|
|
941
|
+
function NA(A) {
|
|
942
|
+
fA.delete(A);
|
|
1077
943
|
}
|
|
1078
|
-
function
|
|
1079
|
-
|
|
944
|
+
function _A(A) {
|
|
945
|
+
const s = P("ORIGIN_STATUS", A);
|
|
946
|
+
return tA(s) || (v(s, "validate"), "validate");
|
|
1080
947
|
}
|
|
1081
|
-
function
|
|
1082
|
-
|
|
948
|
+
function CA(A, s) {
|
|
949
|
+
v(P("ORIGIN_STATUS", A), s);
|
|
950
|
+
}
|
|
951
|
+
async function DA(A) {
|
|
952
|
+
const s = P("CLIENT_ID", A);
|
|
953
|
+
let C = tA(s);
|
|
954
|
+
return !C && k.persistentStorage && (C = await k.persistentStorage.getItem(s) || void 0, C && v(s, C)), C;
|
|
955
|
+
}
|
|
956
|
+
async function mA(A, s) {
|
|
957
|
+
const C = P("CLIENT_ID", A);
|
|
958
|
+
v(C, s), k.persistentStorage && await k.persistentStorage.setItem(C, s);
|
|
1083
959
|
}
|
|
1084
|
-
function
|
|
1085
|
-
|
|
960
|
+
async function zA(A) {
|
|
961
|
+
const s = P("CLIENT_ID", A);
|
|
962
|
+
NA(s), k.persistentStorage && await k.persistentStorage.removeItem(s);
|
|
1086
963
|
}
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
964
|
+
function bA(A, s) {
|
|
965
|
+
const C = P("PAIR_QUEUE", A), y = tA(C) || [];
|
|
966
|
+
y.push(s), v(C, y);
|
|
967
|
+
}
|
|
968
|
+
function ZA(A) {
|
|
969
|
+
const s = P("PAIR_QUEUE", A), C = tA(s);
|
|
970
|
+
if (!C || C.length === 0)
|
|
971
|
+
throw new Error(`No pair queue found for origin ${A}.`);
|
|
972
|
+
const y = C.shift();
|
|
973
|
+
return C.push(y), v(s, C), y;
|
|
974
|
+
}
|
|
975
|
+
function XA(A, s) {
|
|
976
|
+
const C = P("PAIR_QUEUE", A), y = tA(C);
|
|
977
|
+
if (!y)
|
|
1090
978
|
return;
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
if (!g.initLicense(A.companyName, A.licenseKey)) {
|
|
1094
|
-
const k = b.MteStatus.mte_status_license_error, R = g.getStatusName(k), p = g.getStatusDescription(k);
|
|
1095
|
-
throw new Error(`Error with MTE License.
|
|
1096
|
-
${R}: ${p}`);
|
|
1097
|
-
}
|
|
1098
|
-
EI({
|
|
1099
|
-
mteWasm: K,
|
|
1100
|
-
mkePoolSize: A.mkePoolSize,
|
|
1101
|
-
mtePoolSize: A.mtePoolSize
|
|
1102
|
-
});
|
|
1103
|
-
const t = RA("MKE", K);
|
|
1104
|
-
_A = t.encryptFinishBytes(), oA(t);
|
|
1105
|
-
const H = g.getDefaultDrbg(), F = g.getDrbgsEntropyMinBytes(H), N = g.getDrbgsEntropyMaxBytes(H);
|
|
1106
|
-
aA = F === 0 && N === 0, aA && console.warn(`------------------------------
|
|
1107
|
-
MTE Trial Build is detected! It offers no security guarantees. Do not run this in production!
|
|
1108
|
-
------------------------------`);
|
|
979
|
+
const G = y.indexOf(s);
|
|
980
|
+
G > -1 && y.splice(G, 1), v(C, y);
|
|
1109
981
|
}
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
g.setEntropyArr(aA ? new Uint8Array(0) : A.entropy), g.setNonce(A.nonce);
|
|
1113
|
-
const t = g.instantiate(A.personalization);
|
|
1114
|
-
P(t, g);
|
|
1115
|
-
const H = tA(g);
|
|
1116
|
-
oA(g), await QA(`encoder.${A.origin}.${A.pairId}`, H), gI(A.origin, A.pairId);
|
|
982
|
+
function xA(A) {
|
|
983
|
+
v(P("PAIR_QUEUE", A), []);
|
|
1117
984
|
}
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
g.setEntropyArr(aA ? new Uint8Array(0) : A.entropy), g.setNonce(A.nonce);
|
|
1121
|
-
const t = g.instantiate(A.personalization);
|
|
1122
|
-
P(t, g);
|
|
1123
|
-
const H = tA(g);
|
|
1124
|
-
fA(g), await QA(`decoder.${A.origin}.${A.pairId}`, H);
|
|
985
|
+
function gA(A, s) {
|
|
986
|
+
v(P("MTE_STATE", A), s);
|
|
1125
987
|
}
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
const k = A.items.length;
|
|
1136
|
-
for (; N < k; ++N)
|
|
1137
|
-
F = t.encodeStr("").status;
|
|
1138
|
-
P(F, t);
|
|
1139
|
-
const R = tA(t);
|
|
1140
|
-
await QA(A.id, R), DA(t, g);
|
|
988
|
+
function GA(A) {
|
|
989
|
+
return tA(P("MTE_STATE", A));
|
|
990
|
+
}
|
|
991
|
+
const VA = new Set(Object.values(rA));
|
|
992
|
+
class O extends Error {
|
|
993
|
+
status;
|
|
994
|
+
info;
|
|
995
|
+
constructor(s, C) {
|
|
996
|
+
super(s), this.status = C?.status || rA[s], this.info = C;
|
|
1141
997
|
}
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
throw oA(t), new z("Failed to encode.", {
|
|
1150
|
-
stateId: A.id,
|
|
1151
|
-
error: F.message
|
|
1152
|
-
});
|
|
998
|
+
/**
|
|
999
|
+
* Checks if a given HTTP status code corresponds to a known MTE Relay error.
|
|
1000
|
+
* @param {number} status The HTTP status code.
|
|
1001
|
+
* @returns {boolean} True if it is a known MTE error status.
|
|
1002
|
+
*/
|
|
1003
|
+
static isMteErrorStatus(s) {
|
|
1004
|
+
return VA.has(s);
|
|
1153
1005
|
}
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1006
|
+
/**
|
|
1007
|
+
* Retrieves the error message associated with a given MTE Relay status code.
|
|
1008
|
+
* @param {number} status The HTTP status code.
|
|
1009
|
+
* @returns {ErrorMessages | undefined} The corresponding error message.
|
|
1010
|
+
*/
|
|
1011
|
+
static getStatusErrorMessages(s) {
|
|
1012
|
+
for (const [C, y] of Object.entries(rA))
|
|
1013
|
+
if (y === s)
|
|
1014
|
+
return C;
|
|
1157
1015
|
}
|
|
1158
|
-
return oA(t), H;
|
|
1159
1016
|
}
|
|
1160
|
-
|
|
1161
|
-
const
|
|
1162
|
-
if (
|
|
1163
|
-
throw new
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
for (const N of A.items) {
|
|
1171
|
-
if (N.data.length === _A && A.type === "MKE")
|
|
1172
|
-
continue;
|
|
1173
|
-
let k;
|
|
1174
|
-
N.data instanceof Uint8Array ? N.output === "Uint8Array" ? k = t.decode(N.data) : k = t.decodeStr(N.data) : N.output === "Uint8Array" ? k = t.decodeB64(N.data) : k = t.decodeStrB64(N.data), P(k.status, t), H.push("str" in k ? k.str : k.arr);
|
|
1175
|
-
}
|
|
1176
|
-
} catch (N) {
|
|
1177
|
-
throw fA(t), new z("Failed to decode.", {
|
|
1178
|
-
stateId: A.id,
|
|
1179
|
-
error: N.message
|
|
1180
|
-
});
|
|
1017
|
+
function FA() {
|
|
1018
|
+
const A = new q.MteKyber(T, q.MteKyberStrength.K512), s = A.createKeypair();
|
|
1019
|
+
if (s.status !== q.MteKyberStatus.success)
|
|
1020
|
+
throw new Error("Kyber initiator failed to create key pair.");
|
|
1021
|
+
const C = KA(s.result1);
|
|
1022
|
+
function y(G) {
|
|
1023
|
+
const u = OA(G), R = A.decryptSecret(u);
|
|
1024
|
+
if (R.status !== q.MteKyberStatus.success)
|
|
1025
|
+
throw new Error("Kyber initiator failed to decrypt secret.");
|
|
1026
|
+
return R.result1;
|
|
1181
1027
|
}
|
|
1182
|
-
|
|
1183
|
-
return fA(t), await QA(A.id, F), H;
|
|
1028
|
+
return { publicKey: C, decryptSecret: y };
|
|
1184
1029
|
}
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1030
|
+
const WA = Array.from({ length: 256 }, (A, s) => s.toString(16).padStart(2, "0"));
|
|
1031
|
+
function cA() {
|
|
1032
|
+
const A = new Uint8Array(16);
|
|
1033
|
+
crypto.getRandomValues(A);
|
|
1034
|
+
let s = "";
|
|
1035
|
+
for (let C = 0; C < A.length; C++)
|
|
1036
|
+
s += WA[A[C]];
|
|
1037
|
+
return s;
|
|
1193
1038
|
}
|
|
1194
|
-
function
|
|
1195
|
-
|
|
1196
|
-
if (!g)
|
|
1197
|
-
throw new z("Failed to get state from encoder or decoder.");
|
|
1198
|
-
return g;
|
|
1039
|
+
function KA(A) {
|
|
1040
|
+
return typeof window < "u" ? btoa(String.fromCharCode.apply(null, A)) : Buffer.from(A).toString("base64");
|
|
1199
1041
|
}
|
|
1200
|
-
function
|
|
1201
|
-
const
|
|
1202
|
-
|
|
1042
|
+
function OA(A) {
|
|
1043
|
+
const s = typeof window < "u" ? atob(A) : Buffer.from(A, "base64").toString("binary"), C = s.length, y = new Uint8Array(C);
|
|
1044
|
+
for (let G = 0; G < C; G++)
|
|
1045
|
+
y[G] = s.charCodeAt(G);
|
|
1046
|
+
return y;
|
|
1203
1047
|
}
|
|
1204
|
-
function
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1048
|
+
function TA(A) {
|
|
1049
|
+
return [
|
|
1050
|
+
A.clientId,
|
|
1051
|
+
A.pairId,
|
|
1052
|
+
A.type === "MTE" ? 0 : 1,
|
|
1053
|
+
A.urlIsEncoded ? 1 : 0,
|
|
1054
|
+
A.headersAreEncoded ? 1 : 0,
|
|
1055
|
+
A.bodyIsEncoded ? 1 : 0,
|
|
1056
|
+
A.useStreaming ? 1 : 0
|
|
1057
|
+
].join(",");
|
|
1208
1058
|
}
|
|
1209
|
-
function
|
|
1210
|
-
const
|
|
1211
|
-
if (g.status !== b.MteKyberStatus.success)
|
|
1212
|
-
throw new Error("Initiator: Failed to create the key pair.");
|
|
1213
|
-
const t = nI(g.result1);
|
|
1214
|
-
function H(F) {
|
|
1215
|
-
const N = rI(F), k = A.decryptSecret(N);
|
|
1216
|
-
if (k.status !== b.MteKyberStatus.success)
|
|
1217
|
-
throw new Error("Failed to decrypt the secret.");
|
|
1218
|
-
return k.result1;
|
|
1219
|
-
}
|
|
1059
|
+
function oA(A) {
|
|
1060
|
+
const s = A.split(",");
|
|
1220
1061
|
return {
|
|
1221
|
-
|
|
1222
|
-
|
|
1062
|
+
clientId: s[0],
|
|
1063
|
+
pairId: s[1],
|
|
1064
|
+
type: s[2] === "0" ? "MTE" : "MKE",
|
|
1065
|
+
urlIsEncoded: s[3] === "1",
|
|
1066
|
+
headersAreEncoded: s[4] === "1",
|
|
1067
|
+
bodyIsEncoded: s[5] === "1",
|
|
1068
|
+
useStreaming: s[6] === "1"
|
|
1223
1069
|
};
|
|
1224
1070
|
}
|
|
1225
|
-
function
|
|
1226
|
-
|
|
1071
|
+
function AA(A, s) {
|
|
1072
|
+
if (A !== q.MteStatus.mte_status_success && s.statusIsError(A))
|
|
1073
|
+
throw new O("MTE Status was not successful.", {
|
|
1074
|
+
statusName: s.getStatusName(A),
|
|
1075
|
+
description: s.getStatusDescription(A)
|
|
1076
|
+
});
|
|
1227
1077
|
}
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
return H;
|
|
1078
|
+
let hA = 0;
|
|
1079
|
+
function PA(A) {
|
|
1080
|
+
if (hA === 0) {
|
|
1081
|
+
const s = A.getDrbg();
|
|
1082
|
+
hA = Number(String(A.getDrbgsReseedInterval(s)).substring(0, 15));
|
|
1234
1083
|
}
|
|
1235
|
-
|
|
1084
|
+
if (Number(String(A.getReseedCounter()).substring(0, 15)) / hA > 0.9)
|
|
1085
|
+
throw new O("DRBG reseed is required.");
|
|
1236
1086
|
}
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
return A;
|
|
1087
|
+
function QA(A) {
|
|
1088
|
+
const s = A.saveStateB64();
|
|
1089
|
+
if (!s)
|
|
1090
|
+
throw new O("Failed to get state from encoder or decoder.");
|
|
1091
|
+
return s;
|
|
1243
1092
|
}
|
|
1244
|
-
|
|
1245
|
-
const
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
const p = new Uint8Array(await A.arrayBuffer());
|
|
1257
|
-
F.push({ data: p, output: "Uint8Array" });
|
|
1093
|
+
function lA(A, s) {
|
|
1094
|
+
const C = A.restoreStateB64(s);
|
|
1095
|
+
AA(C, A);
|
|
1096
|
+
}
|
|
1097
|
+
const K = {
|
|
1098
|
+
mte: {
|
|
1099
|
+
encoder: [],
|
|
1100
|
+
decoder: []
|
|
1101
|
+
},
|
|
1102
|
+
mke: {
|
|
1103
|
+
encoder: [],
|
|
1104
|
+
decoder: []
|
|
1258
1105
|
}
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1106
|
+
};
|
|
1107
|
+
async function vA(A) {
|
|
1108
|
+
if (T)
|
|
1109
|
+
return;
|
|
1110
|
+
const s = new q.MteWasm();
|
|
1111
|
+
await s.instantiate(), UA(s);
|
|
1112
|
+
const C = new q.MteBase(T);
|
|
1113
|
+
if (!C.initLicense(A.companyName, A.licenseKey)) {
|
|
1114
|
+
const R = C.getStatusName(q.MteStatus.mte_status_license_error), F = C.getStatusDescription(q.MteStatus.mte_status_license_error);
|
|
1115
|
+
throw new Error(`Error with MTE License.
|
|
1116
|
+
${R}: ${F}`);
|
|
1270
1117
|
}
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
});
|
|
1118
|
+
jA();
|
|
1119
|
+
const y = sA("MKE", "encoder");
|
|
1120
|
+
y.encryptFinishBytes(), IA(y);
|
|
1121
|
+
const G = C.getDefaultDrbg(), u = C.getDrbgsEntropyMinBytes(G) === 0;
|
|
1122
|
+
YA(u), u && console.warn("MTE Trial Build is detected! It offers no security guarantees.");
|
|
1277
1123
|
}
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
mkePoolSize: A.mkePoolSize,
|
|
1284
|
-
mtePoolSize: A.mtePoolSize
|
|
1285
|
-
});
|
|
1124
|
+
function jA() {
|
|
1125
|
+
for (let A = 0; A < k.mtePoolSize; ++A)
|
|
1126
|
+
K.mte.encoder.push(q.MteEnc.fromdefault(T)), K.mte.decoder.push(q.MteDec.fromdefault(T, 1e3, -63));
|
|
1127
|
+
for (let A = 0; A < k.mkePoolSize; ++A)
|
|
1128
|
+
K.mke.encoder.push(q.MteMkeEnc.fromdefault(T)), K.mke.decoder.push(q.MteMkeDec.fromdefault(T, 1e3, -63));
|
|
1286
1129
|
}
|
|
1287
|
-
|
|
1288
|
-
|
|
1130
|
+
function sA(A, s) {
|
|
1131
|
+
const C = K[A.toLowerCase()][s];
|
|
1132
|
+
return C.length > 0 ? C.pop() : A === "MTE" ? s === "encoder" ? q.MteEnc.fromdefault(T) : q.MteDec.fromdefault(T, 1e3, -63) : s === "encoder" ? q.MteMkeEnc.fromdefault(T) : q.MteMkeDec.fromdefault(T, 1e3, -63);
|
|
1289
1133
|
}
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1134
|
+
function IA(A) {
|
|
1135
|
+
A.uninstantiate(), A instanceof q.MteEnc && K.mte.encoder.length < k.mtePoolSize ? K.mte.encoder.push(A) : A instanceof q.MteDec && K.mte.decoder.length < k.mtePoolSize ? K.mte.decoder.push(A) : A instanceof q.MteMkeEnc && K.mke.encoder.length < k.mkePoolSize ? K.mke.encoder.push(A) : A instanceof q.MteMkeDec && K.mke.decoder.length < k.mkePoolSize ? K.mke.decoder.push(A) : A.destruct();
|
|
1136
|
+
}
|
|
1137
|
+
async function $A(A) {
|
|
1138
|
+
const s = sA("MTE", "encoder");
|
|
1139
|
+
s.setEntropyArr(wA ? new Uint8Array(0) : A.entropy), s.setNonce(A.nonce);
|
|
1140
|
+
const C = s.instantiate(A.personalization);
|
|
1141
|
+
AA(C, s);
|
|
1142
|
+
const y = QA(s);
|
|
1143
|
+
IA(s), gA(`encoder.${A.origin}.${A.pairId}`, y), bA(A.origin, A.pairId);
|
|
1144
|
+
}
|
|
1145
|
+
async function AI(A) {
|
|
1146
|
+
const s = sA("MTE", "decoder");
|
|
1147
|
+
s.setEntropyArr(wA ? new Uint8Array(0) : A.entropy), s.setNonce(A.nonce);
|
|
1148
|
+
const C = s.instantiate(A.personalization);
|
|
1149
|
+
AA(C, s);
|
|
1150
|
+
const y = QA(s);
|
|
1151
|
+
IA(s), gA(`decoder.${A.origin}.${A.pairId}`, y);
|
|
1152
|
+
}
|
|
1153
|
+
async function II(A, s) {
|
|
1154
|
+
const C = new URL(A.url), y = new Headers(A.headers), G = `encoder.${s.origin}.${s.pairId}`, u = GA(G);
|
|
1155
|
+
if (!u)
|
|
1156
|
+
throw new O("State not found.", { stateId: G });
|
|
1157
|
+
const R = sA(s.type, "encoder");
|
|
1158
|
+
lA(R, u);
|
|
1159
|
+
let F = A.url;
|
|
1160
|
+
if (s.encodeUrl) {
|
|
1161
|
+
const X = C.pathname.slice(1) + C.search, x = R.encodeStrB64(X);
|
|
1162
|
+
AA(x.status, R);
|
|
1163
|
+
const z = encodeURIComponent(x.str);
|
|
1164
|
+
F = `${C.origin}${s.pathPrefix}/${z}`;
|
|
1165
|
+
}
|
|
1166
|
+
const b = {};
|
|
1167
|
+
if (s.encodeHeaders) {
|
|
1168
|
+
const X = Array.isArray(s.encodeHeaders) ? s.encodeHeaders : Array.from(A.headers.keys());
|
|
1169
|
+
for (const x of X) {
|
|
1170
|
+
const z = A.headers.get(x);
|
|
1171
|
+
z && (b[x] = z, y.delete(x));
|
|
1313
1172
|
}
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1173
|
+
}
|
|
1174
|
+
const Y = A.headers.get("content-type");
|
|
1175
|
+
Y && (b["content-type"] = Y);
|
|
1176
|
+
const S = Object.keys(b).length > 0;
|
|
1177
|
+
if (S) {
|
|
1178
|
+
const X = R.encodeStrB64(JSON.stringify(b));
|
|
1179
|
+
AA(X.status, R), y.set(nA, X.str);
|
|
1180
|
+
}
|
|
1181
|
+
let U = null;
|
|
1182
|
+
const J = A.method !== "GET" && A.method !== "HEAD" && A.body;
|
|
1183
|
+
let Z = !1;
|
|
1184
|
+
if (J) {
|
|
1185
|
+
Z = !0;
|
|
1186
|
+
const X = new Uint8Array(await A.arrayBuffer());
|
|
1187
|
+
if (X.byteLength > 0) {
|
|
1188
|
+
const x = R.encode(X);
|
|
1189
|
+
AA(x.status, R), U = x.arr;
|
|
1320
1190
|
}
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1191
|
+
gA(G, QA(R)), IA(R);
|
|
1192
|
+
} else
|
|
1193
|
+
gA(G, QA(R)), IA(R);
|
|
1194
|
+
y.set($, TA({
|
|
1195
|
+
type: s.type,
|
|
1196
|
+
urlIsEncoded: s.encodeUrl,
|
|
1197
|
+
headersAreEncoded: S,
|
|
1198
|
+
bodyIsEncoded: Z,
|
|
1199
|
+
clientId: s.clientId,
|
|
1200
|
+
pairId: s.pairId,
|
|
1201
|
+
useStreaming: s.useStreaming
|
|
1202
|
+
})), y.set("content-type", "application/octet-stream");
|
|
1203
|
+
const _ = {
|
|
1204
|
+
method: A.method,
|
|
1205
|
+
headers: y,
|
|
1206
|
+
body: U,
|
|
1207
|
+
cache: "no-cache",
|
|
1208
|
+
credentials: A.credentials
|
|
1209
|
+
};
|
|
1210
|
+
return J && s.useStreaming && (_.duplex = "half"), new Request(F, _);
|
|
1211
|
+
}
|
|
1212
|
+
async function BI(A, s) {
|
|
1213
|
+
const C = A.headers.get($);
|
|
1214
|
+
if (!C)
|
|
1215
|
+
throw new O("Missing required header", {
|
|
1216
|
+
"missing-header": $
|
|
1336
1217
|
});
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1218
|
+
const y = oA(C), G = new Headers(A.headers), u = s.decoderId, R = GA(u);
|
|
1219
|
+
if (!R)
|
|
1220
|
+
throw new O("State not found.", { stateId: u });
|
|
1221
|
+
const F = sA(y.type, "decoder");
|
|
1222
|
+
if (lA(F, R), PA(F), y.headersAreEncoded) {
|
|
1223
|
+
const Y = A.headers.get(nA);
|
|
1224
|
+
if (Y) {
|
|
1225
|
+
const S = F.decodeStrB64(Y);
|
|
1226
|
+
AA(S.status, F);
|
|
1227
|
+
const U = JSON.parse(S.str);
|
|
1228
|
+
for (const [J, Z] of Object.entries(U))
|
|
1229
|
+
G.set(J, Z);
|
|
1230
|
+
G.delete(nA);
|
|
1342
1231
|
}
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
if (
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
return lA(u, q.clientId), await wI(M, {
|
|
1352
|
-
decoderId: `decoder.${u}.${q.pairId}`
|
|
1353
|
-
});
|
|
1354
|
-
} catch (J) {
|
|
1355
|
-
if (J instanceof z) {
|
|
1356
|
-
if (J.status === 566 || J.status === 560) {
|
|
1357
|
-
if (IA(u, "pending"), BI(u), iI(u), H != null && H.isLastAttempt)
|
|
1358
|
-
throw new Error("Origin is not an MTE Relay server.");
|
|
1359
|
-
return await HA(A, g, t, {
|
|
1360
|
-
revalidateServer: !0,
|
|
1361
|
-
isLastAttempt: !0
|
|
1362
|
-
});
|
|
1232
|
+
}
|
|
1233
|
+
let b;
|
|
1234
|
+
if (y.bodyIsEncoded && A.body)
|
|
1235
|
+
if (y.type === "MTE") {
|
|
1236
|
+
const Y = new Uint8Array(await A.arrayBuffer());
|
|
1237
|
+
if (Y.byteLength > 0) {
|
|
1238
|
+
const S = F.decode(Y);
|
|
1239
|
+
AA(S.status, F), b = S.arr;
|
|
1363
1240
|
}
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1241
|
+
gA(u, QA(F)), IA(F);
|
|
1242
|
+
} else {
|
|
1243
|
+
F.startDecrypt();
|
|
1244
|
+
const Y = A.body.getReader();
|
|
1245
|
+
b = new ReadableStream({
|
|
1246
|
+
async pull(S) {
|
|
1247
|
+
const { done: U, value: J } = await Y.read();
|
|
1248
|
+
if (U) {
|
|
1249
|
+
const _ = F.finishDecrypt();
|
|
1250
|
+
AA(_.status, F), _.arr && _.arr.length > 0 && S.enqueue(_.arr), gA(u, QA(F)), IA(F), S.close();
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1253
|
+
const Z = F.decryptChunk(J);
|
|
1254
|
+
return S.enqueue(Z);
|
|
1255
|
+
}
|
|
1256
|
+
});
|
|
1368
1257
|
}
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1258
|
+
else
|
|
1259
|
+
gA(u, QA(F)), IA(F);
|
|
1260
|
+
return new Response(b, {
|
|
1261
|
+
headers: G,
|
|
1262
|
+
status: A.status,
|
|
1263
|
+
statusText: A.statusText
|
|
1264
|
+
});
|
|
1373
1265
|
}
|
|
1374
|
-
async function
|
|
1375
|
-
const
|
|
1376
|
-
|
|
1377
|
-
const
|
|
1266
|
+
async function gI(A) {
|
|
1267
|
+
const s = new Headers(), C = await DA(A);
|
|
1268
|
+
C && s.set($, C);
|
|
1269
|
+
const y = await eA(`${A}${k.pathPrefix}/api/mte-relay`, {
|
|
1378
1270
|
method: "HEAD",
|
|
1379
|
-
headers:
|
|
1271
|
+
headers: s
|
|
1380
1272
|
});
|
|
1381
|
-
if (
|
|
1382
|
-
throw new
|
|
1383
|
-
if (!
|
|
1384
|
-
throw new Error("Origin is not an MTE Relay origin
|
|
1385
|
-
const
|
|
1386
|
-
if (!
|
|
1387
|
-
throw new Error("Origin is not an MTE Relay origin
|
|
1388
|
-
const
|
|
1389
|
-
|
|
1390
|
-
throw new Error("Response is missing clientId from header. Response missing ClientId.");
|
|
1391
|
-
return lA(A, N.clientId), IA(A, "pending"), "pending";
|
|
1273
|
+
if (O.isMteErrorStatus(y.status))
|
|
1274
|
+
throw new O(O.getStatusErrorMessages(y.status), { status: y.status });
|
|
1275
|
+
if (!y.ok)
|
|
1276
|
+
throw new Error("Origin is not an MTE Relay origin: Response not OK.");
|
|
1277
|
+
const G = y.headers.get($);
|
|
1278
|
+
if (!G)
|
|
1279
|
+
throw new Error("Origin is not an MTE Relay origin: Missing header.");
|
|
1280
|
+
const u = oA(G);
|
|
1281
|
+
await mA(A, u.clientId), CA(A, "pending");
|
|
1392
1282
|
}
|
|
1393
|
-
async function
|
|
1394
|
-
const
|
|
1395
|
-
if (!
|
|
1396
|
-
throw new Error("Client ID is not set.");
|
|
1397
|
-
const
|
|
1398
|
-
let
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
decoderPublicKey: q.publicKey
|
|
1408
|
-
}), F.push({ encoderKyber: M, decoderKyber: q });
|
|
1283
|
+
async function RA(A, s) {
|
|
1284
|
+
const C = await DA(A);
|
|
1285
|
+
if (!C)
|
|
1286
|
+
throw new Error("Client ID is not set for pairing.");
|
|
1287
|
+
const y = s || k.numberOfPairs, G = [], u = [];
|
|
1288
|
+
for (let S = 0; S < y; ++S) {
|
|
1289
|
+
const U = FA(), J = FA();
|
|
1290
|
+
G.push({
|
|
1291
|
+
pairId: cA(),
|
|
1292
|
+
encoderPersonalizationStr: cA(),
|
|
1293
|
+
encoderPublicKey: U.publicKey,
|
|
1294
|
+
decoderPersonalizationStr: cA(),
|
|
1295
|
+
decoderPublicKey: J.publicKey
|
|
1296
|
+
}), u.push({ encoderKyber: U, decoderKyber: J });
|
|
1409
1297
|
}
|
|
1410
|
-
const R = await
|
|
1298
|
+
const R = await eA(`${A}${k.pathPrefix}/api/mte-pair`, {
|
|
1411
1299
|
headers: {
|
|
1412
|
-
[
|
|
1300
|
+
[$]: C,
|
|
1413
1301
|
"Content-Type": "application/json"
|
|
1414
1302
|
},
|
|
1415
1303
|
method: "POST",
|
|
1416
|
-
body: JSON.stringify(
|
|
1304
|
+
body: JSON.stringify(G)
|
|
1417
1305
|
});
|
|
1418
1306
|
if (!R.ok)
|
|
1419
|
-
throw new Error("Failed to pair with server
|
|
1420
|
-
const
|
|
1421
|
-
if (!
|
|
1422
|
-
throw new Error(`Response is missing header: ${
|
|
1423
|
-
const
|
|
1424
|
-
|
|
1425
|
-
const
|
|
1426
|
-
let
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
const Z = F[U], W = H[U], M = J[U], _ = Z.encoderKyber.decryptSecret(M.decoderSecret), q = Z.decoderKyber.decryptSecret(M.encoderSecret);
|
|
1430
|
-
await eI({
|
|
1307
|
+
throw new Error("Failed to pair with server: Response not OK.");
|
|
1308
|
+
const F = R.headers.get($);
|
|
1309
|
+
if (!F)
|
|
1310
|
+
throw new Error(`Response is missing header: ${$}`);
|
|
1311
|
+
const b = oA(F);
|
|
1312
|
+
await mA(A, b.clientId);
|
|
1313
|
+
const Y = await R.json();
|
|
1314
|
+
for (let S = 0; S < Y.length; ++S) {
|
|
1315
|
+
const { encoderKyber: U, decoderKyber: J } = u[S], Z = G[S], _ = Y[S], X = U.decryptSecret(_.decoderSecret), x = J.decryptSecret(_.encoderSecret);
|
|
1316
|
+
await $A({
|
|
1431
1317
|
origin: A,
|
|
1432
|
-
entropy:
|
|
1433
|
-
nonce:
|
|
1434
|
-
personalization:
|
|
1435
|
-
pairId:
|
|
1436
|
-
}), await
|
|
1437
|
-
entropy:
|
|
1438
|
-
nonce:
|
|
1439
|
-
personalization:
|
|
1318
|
+
entropy: X,
|
|
1319
|
+
nonce: _.decoderNonce,
|
|
1320
|
+
personalization: Z.encoderPersonalizationStr,
|
|
1321
|
+
pairId: _.pairId
|
|
1322
|
+
}), await AI({
|
|
1323
|
+
entropy: x,
|
|
1324
|
+
nonce: _.encoderNonce,
|
|
1325
|
+
personalization: Z.decoderPersonalizationStr,
|
|
1440
1326
|
origin: A,
|
|
1441
|
-
pairId:
|
|
1327
|
+
pairId: _.pairId
|
|
1328
|
+
});
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
async function dA(A, s, C, y = !1) {
|
|
1332
|
+
let G = "";
|
|
1333
|
+
const u = A instanceof Request ? A : new Request(A, s), R = new URL(u.url).origin;
|
|
1334
|
+
try {
|
|
1335
|
+
await QI(R);
|
|
1336
|
+
const F = {
|
|
1337
|
+
encodeUrl: C?.encodeUrl ?? k.encodeUrls,
|
|
1338
|
+
encodeHeaders: C?.encodeHeaders ?? k.encodeHeaders,
|
|
1339
|
+
encodeType: C?.encodeType || k.encodeType,
|
|
1340
|
+
useStreaming: C?.useStreaming ?? !0,
|
|
1341
|
+
pathPrefix: C?.pathPrefix ?? k.pathPrefix
|
|
1342
|
+
}, b = await DA(R);
|
|
1343
|
+
if (!b)
|
|
1344
|
+
throw new Error("Origin is missing ClientId");
|
|
1345
|
+
G = ZA(R);
|
|
1346
|
+
const Y = await II(u, {
|
|
1347
|
+
pairId: G,
|
|
1348
|
+
type: F.encodeType,
|
|
1349
|
+
origin: R,
|
|
1350
|
+
clientId: b,
|
|
1351
|
+
encodeUrl: F.encodeUrl,
|
|
1352
|
+
encodeHeaders: F.encodeHeaders,
|
|
1353
|
+
useStreaming: F.useStreaming,
|
|
1354
|
+
pathPrefix: F.pathPrefix
|
|
1355
|
+
}), S = await eA(Y);
|
|
1356
|
+
if (!S.ok && O.isMteErrorStatus(S.status)) {
|
|
1357
|
+
const Z = O.getStatusErrorMessages(S.status);
|
|
1358
|
+
if (Z)
|
|
1359
|
+
throw new O(Z, { status: S.status });
|
|
1360
|
+
}
|
|
1361
|
+
if (S.redirected)
|
|
1362
|
+
return S;
|
|
1363
|
+
const U = S.headers.get($);
|
|
1364
|
+
if (!U)
|
|
1365
|
+
throw new Error("Origin is not an MTE Relay server.");
|
|
1366
|
+
const J = oA(U);
|
|
1367
|
+
return await mA(R, J.clientId), await BI(S, {
|
|
1368
|
+
decoderId: `decoder.${R}.${J.pairId}`
|
|
1442
1369
|
});
|
|
1370
|
+
} catch (F) {
|
|
1371
|
+
if (F instanceof O) {
|
|
1372
|
+
if (F.status === 566 || F.status === 560) {
|
|
1373
|
+
if (CA(R, "pending"), await zA(R), xA(R), y)
|
|
1374
|
+
throw new Error("Origin is not an MTE Relay server after retry.");
|
|
1375
|
+
return await dA(A, s, C, !0);
|
|
1376
|
+
}
|
|
1377
|
+
if (!y)
|
|
1378
|
+
return XA(R, G), await RA(R, 1), await dA(A, s, C, !0);
|
|
1379
|
+
}
|
|
1380
|
+
throw F instanceof Error ? F : Error("An unknown error occurred.", { cause: F });
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
async function QI(A) {
|
|
1384
|
+
const s = P("INIT_PROMISE", A), C = tA(s);
|
|
1385
|
+
if (C)
|
|
1386
|
+
return await C;
|
|
1387
|
+
const y = _A(A);
|
|
1388
|
+
if (y !== "paired") {
|
|
1389
|
+
if (y === "invalid")
|
|
1390
|
+
throw new Error("Origin is not a valid MTE Relay server.");
|
|
1391
|
+
if (y === "validate" || y === "pending") {
|
|
1392
|
+
const G = (async () => {
|
|
1393
|
+
try {
|
|
1394
|
+
await gI(A), await RA(A), CA(A, "paired");
|
|
1395
|
+
} catch (u) {
|
|
1396
|
+
throw CA(A, "invalid"), NA(s), u;
|
|
1397
|
+
}
|
|
1398
|
+
})();
|
|
1399
|
+
return v(s, G), await G;
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
class tI {
|
|
1404
|
+
store = /* @__PURE__ */ new Map();
|
|
1405
|
+
getItem(s) {
|
|
1406
|
+
return this.store.get(s) ?? null;
|
|
1443
1407
|
}
|
|
1408
|
+
setItem(s, C) {
|
|
1409
|
+
this.store.set(s, C);
|
|
1410
|
+
}
|
|
1411
|
+
removeItem(s) {
|
|
1412
|
+
this.store.delete(s);
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
class iI {
|
|
1416
|
+
getItem(s) {
|
|
1417
|
+
return localStorage.getItem(s);
|
|
1418
|
+
}
|
|
1419
|
+
setItem(s, C) {
|
|
1420
|
+
localStorage.setItem(s, C);
|
|
1421
|
+
}
|
|
1422
|
+
removeItem(s) {
|
|
1423
|
+
localStorage.removeItem(s);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
async function sI(A) {
|
|
1427
|
+
k.numberOfPairs = A.numberOfPairs ?? k.numberOfPairs, k.encodeType = A.encodeType ?? k.encodeType, k.encodeUrls = A.encodeUrls ?? k.encodeUrls, k.encodeHeaders = A.encodeHeaders ?? k.encodeHeaders, k.pathPrefix = A.pathPrefix ?? k.pathPrefix, k.mtePoolSize = A.mtePoolSize ?? k.mtePoolSize, k.mkePoolSize = A.mkePoolSize ?? k.mkePoolSize, k.customFetch = A.fetch, A.storage ? k.persistentStorage = A.storage : typeof window < "u" && window.localStorage ? k.persistentStorage = new iI() : k.persistentStorage = new tI();
|
|
1428
|
+
const s = k.customFetch || fetch;
|
|
1429
|
+
if (!s)
|
|
1430
|
+
throw new Error("Fetch API is not available. Please provide a fetch implementation.");
|
|
1431
|
+
MA(s), await vA({
|
|
1432
|
+
licenseKey: A.licenseKey,
|
|
1433
|
+
companyName: A.licenseCompany
|
|
1434
|
+
});
|
|
1444
1435
|
}
|
|
1445
|
-
function
|
|
1446
|
-
return
|
|
1436
|
+
async function EI(A, s, C) {
|
|
1437
|
+
return await dA(A, s, C);
|
|
1447
1438
|
}
|
|
1448
|
-
|
|
1439
|
+
sI({
|
|
1449
1440
|
licenseCompany: "Eclypses Inc",
|
|
1450
1441
|
licenseKey: "9eHOohOm/GwY01xbvNTL9B+1"
|
|
1451
1442
|
});
|
|
1452
1443
|
export {
|
|
1453
|
-
|
|
1444
|
+
EI as mteFetch
|
|
1454
1445
|
};
|