@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.
- package/dist/lifecycle/claimNudge.js +1 -124
- package/dist/lifecycle/deployGuard.js +1 -53
- package/dist/lifecycle/legacyNodeId.js +1 -178
- package/dist/lifecycle/manager.js +1 -403
- package/dist/llm/bodyCapture.js +1 -293
- package/dist/llm/index.js +1 -3
- package/dist/llm/server.js +1 -379
- package/dist/llm/traceBackfill.js +1 -525
- package/dist/llm/traceConfig.js +1 -44
- package/dist/llm/traceControl.js +1 -85
- package/dist/llm/traceEnvelope.js +1 -286
- package/dist/llm/traceSink.js +1 -278
- package/dist/llm/traceUploadPayload.js +1 -27
- package/dist/llm/upstream.js +1 -514
- package/dist/router/cachePassthrough.js +1 -13
- package/dist/router/features.js +1 -52
- package/dist/router/index.js +1 -6
- package/dist/router/messagesRoute.js +1 -809
- package/dist/router/modelRouter.js +1 -66
- package/dist/router/providerRoutes.js +1 -1579
- package/dist/router/sseScan.js +1 -543
- package/dist/sync/engine.js +1 -696
- package/package.json +3 -3
|
@@ -1,1579 +1 @@
|
|
|
1
|
-
import { captureTraceMetadata, extractThinkingEffort } from './messagesRoute.js';
|
|
2
|
-
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { teeStreamForScan } from './sseScan.js';
|
|
4
|
-
import { bodyMaxChars, captureBodiesEnabled, captureBody, REDACTION_VERSION, positiveIntegerFromEnv, redactText, stableUserIdHash } from '../llm/bodyCapture.js';
|
|
5
|
-
import { rewriteModel } from './cachePassthrough.js';
|
|
6
|
-
import { PLAN_RE, SIMPLE_LOOKUP_MAX_CHARS } from './features.js';
|
|
7
|
-
import { pickForTurn } from './modelRouter.js';
|
|
8
|
-
export const OPENAI_RESPONSE_HEADER_ALLOWLIST = new Set([
|
|
9
|
-
'openai-processing-ms',
|
|
10
|
-
'openai-version',
|
|
11
|
-
'retry-after',
|
|
12
|
-
'x-request-id',
|
|
13
|
-
]);
|
|
14
|
-
export const GEMINI_RESPONSE_HEADER_ALLOWLIST = new Set([
|
|
15
|
-
'content-type',
|
|
16
|
-
'retry-after',
|
|
17
|
-
'x-request-id',
|
|
18
|
-
]);
|
|
19
|
-
const CREDENTIAL_QUERY_PARAMS = new Set([
|
|
20
|
-
'key',
|
|
21
|
-
'api_key',
|
|
22
|
-
'apikey',
|
|
23
|
-
'access_token',
|
|
24
|
-
'token',
|
|
25
|
-
'authorization',
|
|
26
|
-
'auth',
|
|
27
|
-
'client_secret',
|
|
28
|
-
'refresh_token',
|
|
29
|
-
'id_token',
|
|
30
|
-
'signature',
|
|
31
|
-
'sig',
|
|
32
|
-
]);
|
|
33
|
-
const GEMINI_VERTEX_ACTIONS = new Set([
|
|
34
|
-
'generateContent',
|
|
35
|
-
'streamGenerateContent',
|
|
36
|
-
'countTokens',
|
|
37
|
-
'embedContent',
|
|
38
|
-
'batchEmbedContents',
|
|
39
|
-
]);
|
|
40
|
-
const DEFAULT_PROVIDER_STREAM_MAX_EVENTS = 100_000;
|
|
41
|
-
const DEFAULT_PROVIDER_STREAM_SEMANTIC_TAIL_EVENTS = 100_000;
|
|
42
|
-
const MAX_PROVIDER_STREAM_LINE_SCAN_TAIL_BYTES = 128 * 1024;
|
|
43
|
-
// FIX-11: a single streamed SSE event can legitimately exceed the per-FIELD body cap (a big tool-call argument
|
|
44
|
-
// blob, a long reasoning event). When the whole line overflows we can no longer JSON-parse it and fall back to a
|
|
45
|
-
// lossy regex tail scan that drops tool calls / semantic events. Give the line scanner a higher floor than the
|
|
46
|
-
// body-field cap so far more events stay fully parseable; the captured body is still size-capped downstream by
|
|
47
|
-
// captureBody(), so this only widens what we can structurally extract, it does not bloat stored bodies.
|
|
48
|
-
const DEFAULT_PROVIDER_STREAM_LINE_MAX_BYTES = 2 * 1024 * 1024;
|
|
49
|
-
function providerStreamCaptureLimits(env = process.env) {
|
|
50
|
-
const bodyMax = bodyMaxChars(env);
|
|
51
|
-
return {
|
|
52
|
-
lineMaxBytes: positiveIntegerFromEnv(env, [
|
|
53
|
-
'EVOLVER_LLM_TRACE_PROVIDER_STREAM_LINE_MAX_BYTES',
|
|
54
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_STREAM_LINE_MAX_BYTES',
|
|
55
|
-
'EVOLVER_LLM_TRACE_STREAM_LINE_MAX_BYTES',
|
|
56
|
-
'EVOMAP_PROXY_TRACE_STREAM_LINE_MAX_BYTES',
|
|
57
|
-
], Math.max(bodyMax, DEFAULT_PROVIDER_STREAM_LINE_MAX_BYTES)),
|
|
58
|
-
chunkMaxEvents: positiveIntegerFromEnv(env, [
|
|
59
|
-
'EVOLVER_LLM_TRACE_PROVIDER_STREAM_MAX_EVENTS',
|
|
60
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_STREAM_MAX_EVENTS',
|
|
61
|
-
'EVOLVER_LLM_TRACE_STREAM_MAX_EVENTS',
|
|
62
|
-
'EVOMAP_PROXY_TRACE_STREAM_MAX_EVENTS',
|
|
63
|
-
], DEFAULT_PROVIDER_STREAM_MAX_EVENTS),
|
|
64
|
-
chunkMaxBytes: positiveIntegerFromEnv(env, [
|
|
65
|
-
'EVOLVER_LLM_TRACE_PROVIDER_STREAM_MAX_BYTES',
|
|
66
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_STREAM_MAX_BYTES',
|
|
67
|
-
'EVOLVER_LLM_TRACE_STREAM_MAX_BYTES',
|
|
68
|
-
'EVOMAP_PROXY_TRACE_STREAM_MAX_BYTES',
|
|
69
|
-
], bodyMax),
|
|
70
|
-
rawStreamMaxChars: positiveIntegerFromEnv(env, [
|
|
71
|
-
'EVOLVER_LLM_TRACE_PROVIDER_RAW_STREAM_MAX_CHARS',
|
|
72
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_RAW_STREAM_MAX_CHARS',
|
|
73
|
-
'EVOLVER_LLM_TRACE_STREAM_RAW_MAX_CHARS',
|
|
74
|
-
'EVOMAP_PROXY_TRACE_STREAM_RAW_MAX_CHARS',
|
|
75
|
-
], bodyMax),
|
|
76
|
-
semanticTailMaxEvents: positiveIntegerFromEnv(env, [
|
|
77
|
-
'EVOLVER_LLM_TRACE_PROVIDER_STREAM_SEMANTIC_TAIL_MAX_EVENTS',
|
|
78
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_STREAM_SEMANTIC_TAIL_MAX_EVENTS',
|
|
79
|
-
'EVOLVER_LLM_TRACE_STREAM_SEMANTIC_TAIL_MAX_EVENTS',
|
|
80
|
-
'EVOMAP_PROXY_TRACE_STREAM_SEMANTIC_TAIL_MAX_EVENTS',
|
|
81
|
-
], DEFAULT_PROVIDER_STREAM_SEMANTIC_TAIL_EVENTS),
|
|
82
|
-
semanticTailMaxBytes: positiveIntegerFromEnv(env, [
|
|
83
|
-
'EVOLVER_LLM_TRACE_PROVIDER_STREAM_SEMANTIC_TAIL_MAX_BYTES',
|
|
84
|
-
'EVOMAP_PROXY_TRACE_PROVIDER_STREAM_SEMANTIC_TAIL_MAX_BYTES',
|
|
85
|
-
'EVOLVER_LLM_TRACE_STREAM_SEMANTIC_TAIL_MAX_BYTES',
|
|
86
|
-
'EVOMAP_PROXY_TRACE_STREAM_SEMANTIC_TAIL_MAX_BYTES',
|
|
87
|
-
], bodyMax),
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
const OPENAI_ROUTER_ENABLED_KEYS = ['EVOLVER_LLM_OPENAI_ROUTER_ENABLED', 'EVOMAP_OPENAI_ROUTER_ENABLED'];
|
|
91
|
-
const OPENAI_ROUTE_THREADED_KEYS = ['EVOLVER_LLM_OPENAI_ROUTE_THREADED', 'EVOMAP_OPENAI_ROUTE_THREADED'];
|
|
92
|
-
const OPENAI_ROUTED_RETRY_STATUSES = new Set([400, 404, 422]);
|
|
93
|
-
const ROUTER_FALSE_VALUES = new Set(['0', 'false', 'off', 'no', 'none']);
|
|
94
|
-
function jsonStringify(o) {
|
|
95
|
-
return JSON.stringify(o);
|
|
96
|
-
}
|
|
97
|
-
function copyResponseHeaders(headers = {}, allow) {
|
|
98
|
-
const out = {};
|
|
99
|
-
for (const [name, value] of Object.entries(headers)) {
|
|
100
|
-
const lower = name.toLowerCase();
|
|
101
|
-
if (!allow(lower) || value === undefined || value === null)
|
|
102
|
-
continue;
|
|
103
|
-
if (/[\r\n]/.test(value))
|
|
104
|
-
continue;
|
|
105
|
-
out[lower] = value;
|
|
106
|
-
}
|
|
107
|
-
return out;
|
|
108
|
-
}
|
|
109
|
-
export function copyOpenAIResponseHeaders(headers = {}) {
|
|
110
|
-
return copyResponseHeaders(headers, (lower) => OPENAI_RESPONSE_HEADER_ALLOWLIST.has(lower) || lower.startsWith('x-ratelimit-'));
|
|
111
|
-
}
|
|
112
|
-
export function copyGeminiResponseHeaders(headers = {}) {
|
|
113
|
-
return copyResponseHeaders(headers, (lower) => GEMINI_RESPONSE_HEADER_ALLOWLIST.has(lower) || lower.startsWith('x-goog-'));
|
|
114
|
-
}
|
|
115
|
-
function responseToBody(raw, status, headers, log, event) {
|
|
116
|
-
if (!raw)
|
|
117
|
-
return {};
|
|
118
|
-
try {
|
|
119
|
-
return JSON.parse(raw);
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
log.warn?.(jsonStringify({
|
|
123
|
-
event,
|
|
124
|
-
reason: 'upstream_non_json',
|
|
125
|
-
upstream_status: status,
|
|
126
|
-
content_type: headers?.['content-type'] || '',
|
|
127
|
-
response_bytes: Buffer.byteLength(raw),
|
|
128
|
-
}));
|
|
129
|
-
return { error: raw };
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
function attemptResponseToBody(raw) {
|
|
133
|
-
if (!raw)
|
|
134
|
-
return {};
|
|
135
|
-
try {
|
|
136
|
-
return JSON.parse(raw);
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
return { error: raw };
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
function asUpstreamError(provider, err, fallback = 502) {
|
|
143
|
-
const sc = err && typeof err === 'object' && 'statusCode' in err ? Number(err.statusCode) : NaN;
|
|
144
|
-
return Object.assign(new Error(`${provider} upstream request failed`), {
|
|
145
|
-
statusCode: Number.isFinite(sc) ? sc : fallback,
|
|
146
|
-
cause: err,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
function badRequest(message) {
|
|
150
|
-
return Object.assign(new Error(message), { statusCode: 400 });
|
|
151
|
-
}
|
|
152
|
-
function isRecord(value) {
|
|
153
|
-
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
154
|
-
}
|
|
155
|
-
function envEnabled(env, keys) {
|
|
156
|
-
for (const key of keys) {
|
|
157
|
-
const raw = env[key];
|
|
158
|
-
if (raw === undefined)
|
|
159
|
-
continue;
|
|
160
|
-
const normalized = String(raw).trim().toLowerCase();
|
|
161
|
-
if (!normalized || ROUTER_FALSE_VALUES.has(normalized))
|
|
162
|
-
return false;
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
function routeSpecificOpenAIModelKeys(route, tier) {
|
|
168
|
-
if (route === '/v1/responses')
|
|
169
|
-
return [`EVOLVER_LLM_OPENAI_RESPONSES_MODEL_${tier}`, `EVOMAP_OPENAI_RESPONSES_MODEL_${tier}`];
|
|
170
|
-
return [`EVOLVER_LLM_OPENAI_CHAT_MODEL_${tier}`, `EVOMAP_OPENAI_CHAT_MODEL_${tier}`];
|
|
171
|
-
}
|
|
172
|
-
export function resolveOpenAITierModels(env = process.env, route) {
|
|
173
|
-
const out = {};
|
|
174
|
-
const first = (keys) => {
|
|
175
|
-
for (const key of keys) {
|
|
176
|
-
const value = env[key];
|
|
177
|
-
if (typeof value === 'string' && value.trim())
|
|
178
|
-
return value.trim();
|
|
179
|
-
}
|
|
180
|
-
return undefined;
|
|
181
|
-
};
|
|
182
|
-
const tierKeys = (tier) => [
|
|
183
|
-
...(route ? routeSpecificOpenAIModelKeys(route, tier) : []),
|
|
184
|
-
`EVOLVER_LLM_OPENAI_MODEL_${tier}`,
|
|
185
|
-
`EVOMAP_OPENAI_MODEL_${tier}`,
|
|
186
|
-
];
|
|
187
|
-
const cheap = first(tierKeys('CHEAP'));
|
|
188
|
-
const mid = first(tierKeys('MID'));
|
|
189
|
-
const expensive = first(tierKeys('EXPENSIVE'));
|
|
190
|
-
if (cheap)
|
|
191
|
-
out.cheap = cheap;
|
|
192
|
-
if (mid)
|
|
193
|
-
out.mid = mid;
|
|
194
|
-
if (expensive)
|
|
195
|
-
out.expensive = expensive;
|
|
196
|
-
return out;
|
|
197
|
-
}
|
|
198
|
-
function textFromContent(content) {
|
|
199
|
-
if (typeof content === 'string')
|
|
200
|
-
return content;
|
|
201
|
-
if (!Array.isArray(content))
|
|
202
|
-
return '';
|
|
203
|
-
return content.map((part) => {
|
|
204
|
-
if (typeof part === 'string')
|
|
205
|
-
return part;
|
|
206
|
-
if (!isRecord(part))
|
|
207
|
-
return '';
|
|
208
|
-
for (const key of ['text', 'input_text', 'output_text', 'content']) {
|
|
209
|
-
const value = part[key];
|
|
210
|
-
if (typeof value === 'string')
|
|
211
|
-
return value;
|
|
212
|
-
}
|
|
213
|
-
return '';
|
|
214
|
-
}).filter(Boolean).join('\n');
|
|
215
|
-
}
|
|
216
|
-
function isOpenAIToolOutput(value) {
|
|
217
|
-
if (!isRecord(value))
|
|
218
|
-
return false;
|
|
219
|
-
const type = typeof value['type'] === 'string' ? value['type'] : '';
|
|
220
|
-
const role = typeof value['role'] === 'string' ? value['role'] : '';
|
|
221
|
-
return type === 'function_call_output' || type === 'tool_result' || role === 'tool';
|
|
222
|
-
}
|
|
223
|
-
function openAIResponsesInputText(input) {
|
|
224
|
-
if (typeof input === 'string')
|
|
225
|
-
return input;
|
|
226
|
-
if (!Array.isArray(input))
|
|
227
|
-
return '';
|
|
228
|
-
for (let i = input.length - 1; i >= 0; i--) {
|
|
229
|
-
const item = input[i];
|
|
230
|
-
if (!isRecord(item) || isOpenAIToolOutput(item))
|
|
231
|
-
continue;
|
|
232
|
-
const role = typeof item['role'] === 'string' ? item['role'] : '';
|
|
233
|
-
if (role && role !== 'user')
|
|
234
|
-
continue;
|
|
235
|
-
const direct = textFromContent(item['content']);
|
|
236
|
-
if (direct)
|
|
237
|
-
return direct;
|
|
238
|
-
const text = textFromContent(item['text']);
|
|
239
|
-
if (text)
|
|
240
|
-
return text;
|
|
241
|
-
}
|
|
242
|
-
return '';
|
|
243
|
-
}
|
|
244
|
-
function openAIChatLastUserText(messages) {
|
|
245
|
-
if (!Array.isArray(messages))
|
|
246
|
-
return '';
|
|
247
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
248
|
-
const msg = messages[i];
|
|
249
|
-
if (!isRecord(msg) || msg['role'] !== 'user')
|
|
250
|
-
continue;
|
|
251
|
-
return textFromContent(msg['content']);
|
|
252
|
-
}
|
|
253
|
-
return '';
|
|
254
|
-
}
|
|
255
|
-
function openAIChatLastToolCallCount(messages) {
|
|
256
|
-
if (!Array.isArray(messages))
|
|
257
|
-
return 0;
|
|
258
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
259
|
-
const msg = messages[i];
|
|
260
|
-
if (!isRecord(msg) || msg['role'] !== 'assistant')
|
|
261
|
-
continue;
|
|
262
|
-
const toolCalls = msg['tool_calls'];
|
|
263
|
-
return Array.isArray(toolCalls) ? toolCalls.length : 0;
|
|
264
|
-
}
|
|
265
|
-
return 0;
|
|
266
|
-
}
|
|
267
|
-
function featuresFromText(userText, toolOnly, toolCallCount) {
|
|
268
|
-
const trimmed = userText.trim();
|
|
269
|
-
const userRequestedPlanning = trimmed.length > 0 && PLAN_RE.test(trimmed);
|
|
270
|
-
return {
|
|
271
|
-
last_assistant_tool_call_count: toolCallCount,
|
|
272
|
-
last_assistant_had_tool_call: toolCallCount > 0,
|
|
273
|
-
last_user_is_tool_result_only: toolOnly,
|
|
274
|
-
user_requested_planning: userRequestedPlanning,
|
|
275
|
-
user_simple_lookup: trimmed.length > 0 && !toolOnly && !userRequestedPlanning && trimmed.length <= SIMPLE_LOOKUP_MAX_CHARS,
|
|
276
|
-
last_assistant_output_tokens: 0,
|
|
277
|
-
last_assistant_stop_reason: toolOnly || toolCallCount > 0 ? 'ToolUse' : null,
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
function extractOpenAIFeatures(route, body) {
|
|
281
|
-
if (route === '/v1/chat/completions') {
|
|
282
|
-
const messages = body['messages'];
|
|
283
|
-
const tail = Array.isArray(messages) ? messages[messages.length - 1] : null;
|
|
284
|
-
const toolOnly = isOpenAIToolOutput(tail);
|
|
285
|
-
return featuresFromText(openAIChatLastUserText(messages), toolOnly, openAIChatLastToolCallCount(messages));
|
|
286
|
-
}
|
|
287
|
-
const input = body['input'];
|
|
288
|
-
const toolOnly = Array.isArray(input) && input.length > 0 && input.every(isOpenAIToolOutput);
|
|
289
|
-
const functionCallCount = Array.isArray(input)
|
|
290
|
-
? input.filter((item) => isRecord(item) && item['type'] === 'function_call').length
|
|
291
|
-
: 0;
|
|
292
|
-
return featuresFromText(openAIResponsesInputText(input), toolOnly, functionCallCount);
|
|
293
|
-
}
|
|
294
|
-
function hasOpenAIResponsesThreadState(body) {
|
|
295
|
-
return body['previous_response_id'] !== undefined || body['conversation'] !== undefined;
|
|
296
|
-
}
|
|
297
|
-
function shouldRetryRoutedOpenAI(upstream, opts) {
|
|
298
|
-
if (upstream.stream || opts.provider !== 'openai')
|
|
299
|
-
return false;
|
|
300
|
-
if (!opts.retryBody || !opts.chosenModel || opts.chosenModel === opts.model)
|
|
301
|
-
return false;
|
|
302
|
-
return upstream.status >= 500 || OPENAI_ROUTED_RETRY_STATUSES.has(upstream.status);
|
|
303
|
-
}
|
|
304
|
-
function routeOpenAIRequest(route, body, env, log) {
|
|
305
|
-
const originalModel = typeof body.model === 'string' ? body.model : null;
|
|
306
|
-
let chosenModel = originalModel;
|
|
307
|
-
let tier = null;
|
|
308
|
-
let reason = null;
|
|
309
|
-
let fallback = null;
|
|
310
|
-
let features;
|
|
311
|
-
const routerEnabled = envEnabled(env, OPENAI_ROUTER_ENABLED_KEYS);
|
|
312
|
-
if (!routerEnabled)
|
|
313
|
-
return { body, originalModel, chosenModel, tier, reason, fallback, routerEnabled };
|
|
314
|
-
if (route === '/v1/responses' && hasOpenAIResponsesThreadState(body) && !envEnabled(env, OPENAI_ROUTE_THREADED_KEYS)) {
|
|
315
|
-
return { body, originalModel, chosenModel, tier, reason, fallback: 'threaded_passthrough', routerEnabled };
|
|
316
|
-
}
|
|
317
|
-
if (!originalModel) {
|
|
318
|
-
return { body, originalModel, chosenModel, tier, reason, fallback: 'missing_model', routerEnabled };
|
|
319
|
-
}
|
|
320
|
-
try {
|
|
321
|
-
features = extractOpenAIFeatures(route, body);
|
|
322
|
-
const decision = pickForTurn({
|
|
323
|
-
features,
|
|
324
|
-
router_state: { history: [], pinned: null },
|
|
325
|
-
config: { default_tier: 'mid', disable: false, hard_pin_after_plan: false },
|
|
326
|
-
});
|
|
327
|
-
tier = decision.tier;
|
|
328
|
-
reason = decision.reason;
|
|
329
|
-
const tierModel = resolveOpenAITierModels(env, route)[decision.tier];
|
|
330
|
-
if (tierModel)
|
|
331
|
-
chosenModel = tierModel;
|
|
332
|
-
}
|
|
333
|
-
catch (err) {
|
|
334
|
-
fallback = 'classifier_error';
|
|
335
|
-
log.warn?.(jsonStringify({ event: 'router_fallback', route, reason: fallback, original_model: originalModel, error: err instanceof Error ? err.message : String(err) }));
|
|
336
|
-
}
|
|
337
|
-
let routedBody = body;
|
|
338
|
-
if (chosenModel && chosenModel !== originalModel) {
|
|
339
|
-
try {
|
|
340
|
-
routedBody = rewriteModel(body, chosenModel);
|
|
341
|
-
}
|
|
342
|
-
catch (err) {
|
|
343
|
-
fallback = fallback ?? 'rewrite_error';
|
|
344
|
-
chosenModel = originalModel;
|
|
345
|
-
routedBody = body;
|
|
346
|
-
log.warn?.(jsonStringify({ event: 'router_fallback', route, reason: fallback, original_model: originalModel, error: err instanceof Error ? err.message : String(err) }));
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
log.log?.(jsonStringify({ event: 'router_decision', route, tier, reason, original_model: originalModel, chosen_model: chosenModel, fallback }));
|
|
350
|
-
return { body: routedBody, originalModel, chosenModel, tier, reason, fallback, routerEnabled, ...(features ? { features } : {}) };
|
|
351
|
-
}
|
|
352
|
-
function setUsageNumber(usage, key, value) {
|
|
353
|
-
if (typeof value === 'number' && Number.isFinite(value))
|
|
354
|
-
usage[key] = value;
|
|
355
|
-
}
|
|
356
|
-
function usageOrUndefined(usage) {
|
|
357
|
-
return Object.keys(usage).length > 0 ? usage : undefined;
|
|
358
|
-
}
|
|
359
|
-
function mergeTraceMeta(into, next) {
|
|
360
|
-
if (next.usage)
|
|
361
|
-
into.usage = { ...(into.usage ?? {}), ...next.usage };
|
|
362
|
-
if (next.stop_reason !== undefined)
|
|
363
|
-
into.stop_reason = next.stop_reason;
|
|
364
|
-
if (next.response_id !== undefined)
|
|
365
|
-
into.response_id = next.response_id;
|
|
366
|
-
if (next.error !== undefined)
|
|
367
|
-
into.error = next.error;
|
|
368
|
-
}
|
|
369
|
-
function responseIdFromBody(body) {
|
|
370
|
-
if (!isRecord(body))
|
|
371
|
-
return undefined;
|
|
372
|
-
const id = body['id'];
|
|
373
|
-
if (typeof id === 'string' && id.length > 0)
|
|
374
|
-
return id;
|
|
375
|
-
const response = body['response'];
|
|
376
|
-
if (isRecord(response) && typeof response['id'] === 'string' && response['id'].length > 0)
|
|
377
|
-
return response['id'];
|
|
378
|
-
return undefined;
|
|
379
|
-
}
|
|
380
|
-
function openAIResponsesMeta(body) {
|
|
381
|
-
const o = isRecord(body) && isRecord(body['response']) ? body['response'] : body;
|
|
382
|
-
if (!isRecord(o))
|
|
383
|
-
return {};
|
|
384
|
-
const out = {};
|
|
385
|
-
if (isRecord(o['usage'])) {
|
|
386
|
-
const u = o['usage'];
|
|
387
|
-
const usage = {};
|
|
388
|
-
setUsageNumber(usage, 'input_tokens', u['input_tokens']);
|
|
389
|
-
setUsageNumber(usage, 'output_tokens', u['output_tokens']);
|
|
390
|
-
setUsageNumber(usage, 'cache_creation_input_tokens', u['cache_creation_input_tokens']);
|
|
391
|
-
setUsageNumber(usage, 'cache_read_input_tokens', u['cache_read_input_tokens']);
|
|
392
|
-
const mapped = usageOrUndefined(usage);
|
|
393
|
-
if (mapped)
|
|
394
|
-
out.usage = mapped;
|
|
395
|
-
}
|
|
396
|
-
const incomplete = isRecord(o['incomplete_details']) ? o['incomplete_details']['reason'] : undefined;
|
|
397
|
-
if (typeof incomplete === 'string')
|
|
398
|
-
out.stop_reason = incomplete;
|
|
399
|
-
else if (typeof o['status'] === 'string')
|
|
400
|
-
out.stop_reason = o['status'];
|
|
401
|
-
if ((o['status'] === 'failed' || o['status'] === 'cancelled') && isRecord(o['error'])) {
|
|
402
|
-
const message = o['error']['message'];
|
|
403
|
-
if (typeof message === 'string' && message.trim())
|
|
404
|
-
out.error = message;
|
|
405
|
-
}
|
|
406
|
-
const responseId = responseIdFromBody(body) ?? responseIdFromBody(o);
|
|
407
|
-
if (responseId)
|
|
408
|
-
out.response_id = responseId;
|
|
409
|
-
return out;
|
|
410
|
-
}
|
|
411
|
-
function openAIChatMeta(body) {
|
|
412
|
-
if (!isRecord(body))
|
|
413
|
-
return {};
|
|
414
|
-
const out = {};
|
|
415
|
-
if (isRecord(body['usage'])) {
|
|
416
|
-
const u = body['usage'];
|
|
417
|
-
const usage = {};
|
|
418
|
-
setUsageNumber(usage, 'input_tokens', u['prompt_tokens']);
|
|
419
|
-
setUsageNumber(usage, 'output_tokens', u['completion_tokens']);
|
|
420
|
-
const mapped = usageOrUndefined(usage);
|
|
421
|
-
if (mapped)
|
|
422
|
-
out.usage = mapped;
|
|
423
|
-
}
|
|
424
|
-
const choices = body['choices'];
|
|
425
|
-
const first = Array.isArray(choices) && isRecord(choices[0]) ? choices[0] : null;
|
|
426
|
-
if (first && (typeof first['finish_reason'] === 'string' || first['finish_reason'] === null)) {
|
|
427
|
-
out.stop_reason = first['finish_reason'];
|
|
428
|
-
}
|
|
429
|
-
const responseId = responseIdFromBody(body);
|
|
430
|
-
if (responseId)
|
|
431
|
-
out.response_id = responseId;
|
|
432
|
-
return out;
|
|
433
|
-
}
|
|
434
|
-
function geminiMeta(body) {
|
|
435
|
-
if (!isRecord(body))
|
|
436
|
-
return {};
|
|
437
|
-
const out = {};
|
|
438
|
-
if (isRecord(body['usageMetadata'])) {
|
|
439
|
-
const u = body['usageMetadata'];
|
|
440
|
-
const usage = {};
|
|
441
|
-
setUsageNumber(usage, 'input_tokens', u['promptTokenCount']);
|
|
442
|
-
setUsageNumber(usage, 'output_tokens', u['candidatesTokenCount']);
|
|
443
|
-
setUsageNumber(usage, 'cache_read_input_tokens', u['cachedContentTokenCount']);
|
|
444
|
-
const mapped = usageOrUndefined(usage);
|
|
445
|
-
if (mapped)
|
|
446
|
-
out.usage = mapped;
|
|
447
|
-
}
|
|
448
|
-
const candidates = body['candidates'];
|
|
449
|
-
const first = Array.isArray(candidates) && isRecord(candidates[0]) ? candidates[0] : null;
|
|
450
|
-
if (first && typeof first['finishReason'] === 'string')
|
|
451
|
-
out.stop_reason = first['finishReason'];
|
|
452
|
-
return out;
|
|
453
|
-
}
|
|
454
|
-
function ollamaMeta(body) {
|
|
455
|
-
if (!isRecord(body))
|
|
456
|
-
return {};
|
|
457
|
-
const out = {};
|
|
458
|
-
const usage = {};
|
|
459
|
-
setUsageNumber(usage, 'input_tokens', body['prompt_eval_count']);
|
|
460
|
-
setUsageNumber(usage, 'output_tokens', body['eval_count']);
|
|
461
|
-
const mapped = usageOrUndefined(usage);
|
|
462
|
-
if (mapped)
|
|
463
|
-
out.usage = mapped;
|
|
464
|
-
if (typeof body['done_reason'] === 'string')
|
|
465
|
-
out.stop_reason = body['done_reason'];
|
|
466
|
-
return out;
|
|
467
|
-
}
|
|
468
|
-
function providerMeta(route, body) {
|
|
469
|
-
if (route.provider === 'openai' && route.upstreamPath === '/responses')
|
|
470
|
-
return openAIResponsesMeta(body);
|
|
471
|
-
if (route.provider === 'openai' && route.upstreamPath === '/chat/completions')
|
|
472
|
-
return openAIChatMeta(body);
|
|
473
|
-
if (route.provider === 'gemini' || route.provider === 'vertex')
|
|
474
|
-
return geminiMeta(body);
|
|
475
|
-
if (route.provider === 'ollama')
|
|
476
|
-
return ollamaMeta(body);
|
|
477
|
-
return {};
|
|
478
|
-
}
|
|
479
|
-
function setProviderTextUsage(into, key, match) {
|
|
480
|
-
if (!match?.[1])
|
|
481
|
-
return;
|
|
482
|
-
const n = Number(match[1]);
|
|
483
|
-
if (!Number.isFinite(n))
|
|
484
|
-
return;
|
|
485
|
-
const usage = into.usage ?? {};
|
|
486
|
-
usage[key] = n;
|
|
487
|
-
into.usage = usage;
|
|
488
|
-
}
|
|
489
|
-
function scanProviderTextMetadata(into, text) {
|
|
490
|
-
const id = /"id"\s*:\s*"((?:resp_|chatcmpl-|msg_)[^"]+)"/.exec(text);
|
|
491
|
-
if (id?.[1])
|
|
492
|
-
into.response_id = id[1];
|
|
493
|
-
const status = /"status"\s*:\s*"(completed|failed|incomplete|cancelled)"/.exec(text);
|
|
494
|
-
if (status?.[1])
|
|
495
|
-
into.stop_reason = status[1];
|
|
496
|
-
const finish = /"finish_reason"\s*:\s*("(?:[^"]+)"|null)/.exec(text);
|
|
497
|
-
if (finish?.[1])
|
|
498
|
-
into.stop_reason = finish[1] === 'null' ? null : finish[1].slice(1, -1);
|
|
499
|
-
setProviderTextUsage(into, 'input_tokens', /"input_tokens"\s*:\s*(\d+)/.exec(text));
|
|
500
|
-
setProviderTextUsage(into, 'output_tokens', /"output_tokens"\s*:\s*(\d+)/.exec(text));
|
|
501
|
-
setProviderTextUsage(into, 'input_tokens', /"prompt_tokens"\s*:\s*(\d+)/.exec(text));
|
|
502
|
-
setProviderTextUsage(into, 'output_tokens', /"completion_tokens"\s*:\s*(\d+)/.exec(text));
|
|
503
|
-
}
|
|
504
|
-
function responseBodyIndicatesTruncation(value) {
|
|
505
|
-
return isRecord(value) && (value['provider_stream_truncated'] === true
|
|
506
|
-
|| value['raw_stream_truncated'] === true
|
|
507
|
-
|| value['truncated'] === true);
|
|
508
|
-
}
|
|
509
|
-
function copyDefinedFields(source, keys) {
|
|
510
|
-
const out = {};
|
|
511
|
-
for (const key of keys)
|
|
512
|
-
if (source[key] !== undefined)
|
|
513
|
-
out[key] = source[key];
|
|
514
|
-
return out;
|
|
515
|
-
}
|
|
516
|
-
function semanticToolItem(item) {
|
|
517
|
-
if (!isRecord(item))
|
|
518
|
-
return undefined;
|
|
519
|
-
const type = typeof item['type'] === 'string' ? item['type'] : '';
|
|
520
|
-
const role = typeof item['role'] === 'string' ? item['role'] : '';
|
|
521
|
-
const fn = isRecord(item['function']) ? item['function'] : undefined;
|
|
522
|
-
const isSemantic = type === 'function_call'
|
|
523
|
-
|| type === 'tool_use'
|
|
524
|
-
|| type === 'function_call_output'
|
|
525
|
-
|| type === 'tool_result'
|
|
526
|
-
|| role === 'tool'
|
|
527
|
-
|| Array.isArray(item['tool_calls'])
|
|
528
|
-
|| fn !== undefined;
|
|
529
|
-
if (!isSemantic)
|
|
530
|
-
return undefined;
|
|
531
|
-
const out = copyDefinedFields(item, [
|
|
532
|
-
'id',
|
|
533
|
-
'type',
|
|
534
|
-
'role',
|
|
535
|
-
'call_id',
|
|
536
|
-
'tool_call_id',
|
|
537
|
-
'tool_use_id',
|
|
538
|
-
'name',
|
|
539
|
-
'arguments',
|
|
540
|
-
'input',
|
|
541
|
-
'output',
|
|
542
|
-
'content',
|
|
543
|
-
'status',
|
|
544
|
-
'index',
|
|
545
|
-
'output_index',
|
|
546
|
-
]);
|
|
547
|
-
if (Array.isArray(item['tool_calls']))
|
|
548
|
-
out['tool_calls'] = item['tool_calls'];
|
|
549
|
-
if (fn)
|
|
550
|
-
out['function'] = copyDefinedFields(fn, ['name', 'arguments']);
|
|
551
|
-
return Object.keys(out).length > 0 ? out : undefined;
|
|
552
|
-
}
|
|
553
|
-
function semanticResponse(response) {
|
|
554
|
-
if (!isRecord(response))
|
|
555
|
-
return undefined;
|
|
556
|
-
const out = copyDefinedFields(response, ['id', 'status', 'usage', 'incomplete_details']);
|
|
557
|
-
const output = Array.isArray(response['output'])
|
|
558
|
-
? response['output'].map((item) => semanticToolItem(item)).filter((item) => item !== undefined)
|
|
559
|
-
: [];
|
|
560
|
-
if (output.length > 0)
|
|
561
|
-
out['output'] = output;
|
|
562
|
-
if (isRecord(response['error']))
|
|
563
|
-
out['error'] = copyDefinedFields(response['error'], ['message', 'type', 'code']);
|
|
564
|
-
return Object.keys(out).length > 0 ? out : undefined;
|
|
565
|
-
}
|
|
566
|
-
function semanticOpenAIChatEvent(evt) {
|
|
567
|
-
const choices = Array.isArray(evt['choices'])
|
|
568
|
-
? evt['choices'].map((choice) => {
|
|
569
|
-
if (!isRecord(choice))
|
|
570
|
-
return undefined;
|
|
571
|
-
const out = copyDefinedFields(choice, ['index']);
|
|
572
|
-
if (choice['finish_reason'] !== undefined && choice['finish_reason'] !== null)
|
|
573
|
-
out['finish_reason'] = choice['finish_reason'];
|
|
574
|
-
const delta = isRecord(choice['delta']) ? choice['delta'] : undefined;
|
|
575
|
-
const message = isRecord(choice['message']) ? choice['message'] : undefined;
|
|
576
|
-
if (delta && Array.isArray(delta['tool_calls']))
|
|
577
|
-
out['delta'] = { tool_calls: delta['tool_calls'] };
|
|
578
|
-
if (message && Array.isArray(message['tool_calls']))
|
|
579
|
-
out['message'] = { tool_calls: message['tool_calls'] };
|
|
580
|
-
if (message && isRecord(message['function_call']))
|
|
581
|
-
out['message'] = { ...(isRecord(out['message']) ? out['message'] : {}), function_call: message['function_call'] };
|
|
582
|
-
return Object.keys(out).some((key) => key !== 'index') ? out : undefined;
|
|
583
|
-
}).filter((choice) => choice !== undefined)
|
|
584
|
-
: [];
|
|
585
|
-
const out = copyDefinedFields(evt, ['id', 'usage']);
|
|
586
|
-
if (choices.length > 0)
|
|
587
|
-
out['choices'] = choices;
|
|
588
|
-
return Object.keys(out).length > 0 ? out : undefined;
|
|
589
|
-
}
|
|
590
|
-
function semanticOpenAIResponsesEvent(evt) {
|
|
591
|
-
const type = typeof evt['type'] === 'string' ? evt['type'] : '';
|
|
592
|
-
if (type === 'response.function_call_arguments.delta' || type === 'response.function_call_arguments.done') {
|
|
593
|
-
return copyDefinedFields(evt, ['type', 'item_id', 'output_index', 'call_id', 'id', 'delta', 'arguments']);
|
|
594
|
-
}
|
|
595
|
-
const item = semanticToolItem(evt['item']);
|
|
596
|
-
if (item) {
|
|
597
|
-
const out = copyDefinedFields(evt, ['type', 'output_index', 'item_id']);
|
|
598
|
-
out['item'] = item;
|
|
599
|
-
return out;
|
|
600
|
-
}
|
|
601
|
-
if (type === 'response.completed' || type === 'response.failed' || type === 'response.incomplete' || type === 'response.cancelled') {
|
|
602
|
-
const response = semanticResponse(evt['response']);
|
|
603
|
-
if (response)
|
|
604
|
-
return { type, response };
|
|
605
|
-
}
|
|
606
|
-
return undefined;
|
|
607
|
-
}
|
|
608
|
-
function semanticAnthropicEvent(evt) {
|
|
609
|
-
const type = typeof evt['type'] === 'string' ? evt['type'] : '';
|
|
610
|
-
if (type === 'content_block_start') {
|
|
611
|
-
const contentBlock = semanticToolItem(evt['content_block']);
|
|
612
|
-
if (contentBlock)
|
|
613
|
-
return { ...copyDefinedFields(evt, ['type', 'index']), content_block: contentBlock };
|
|
614
|
-
}
|
|
615
|
-
if (type === 'content_block_delta' && isRecord(evt['delta']) && evt['delta']['type'] === 'input_json_delta') {
|
|
616
|
-
return { ...copyDefinedFields(evt, ['type', 'index']), delta: copyDefinedFields(evt['delta'], ['type', 'partial_json']) };
|
|
617
|
-
}
|
|
618
|
-
if (type === 'message_delta') {
|
|
619
|
-
const out = copyDefinedFields(evt, ['type', 'usage']);
|
|
620
|
-
if (isRecord(evt['delta'])) {
|
|
621
|
-
const delta = copyDefinedFields(evt['delta'], ['stop_reason', 'stop_sequence']);
|
|
622
|
-
if (Object.keys(delta).length > 0)
|
|
623
|
-
out['delta'] = delta;
|
|
624
|
-
}
|
|
625
|
-
return out['usage'] !== undefined || out['delta'] !== undefined ? out : undefined;
|
|
626
|
-
}
|
|
627
|
-
return undefined;
|
|
628
|
-
}
|
|
629
|
-
// Gemini/Vertex tool calls live in candidates[].content.parts[] as
|
|
630
|
-
// { functionCall: { name, args } } / { functionResponse: { name, response } }.
|
|
631
|
-
// Keep only those tool-bearing parts so downstream tool-call reconstruction can
|
|
632
|
-
// rebuild them while still dropping bulky free-text/thought parts.
|
|
633
|
-
function semanticGeminiContentParts(content) {
|
|
634
|
-
if (!isRecord(content))
|
|
635
|
-
return undefined;
|
|
636
|
-
const parts = Array.isArray(content['parts']) ? content['parts'] : [];
|
|
637
|
-
const kept = parts
|
|
638
|
-
.map((part) => {
|
|
639
|
-
if (!isRecord(part))
|
|
640
|
-
return undefined;
|
|
641
|
-
if (isRecord(part['functionCall']))
|
|
642
|
-
return copyDefinedFields(part, ['functionCall']);
|
|
643
|
-
if (isRecord(part['functionResponse']))
|
|
644
|
-
return copyDefinedFields(part, ['functionResponse']);
|
|
645
|
-
return undefined;
|
|
646
|
-
})
|
|
647
|
-
.filter((part) => part !== undefined);
|
|
648
|
-
if (kept.length === 0)
|
|
649
|
-
return undefined;
|
|
650
|
-
const out = copyDefinedFields(content, ['role']);
|
|
651
|
-
out['parts'] = kept;
|
|
652
|
-
return out;
|
|
653
|
-
}
|
|
654
|
-
function semanticGenericEvent(evt) {
|
|
655
|
-
const out = copyDefinedFields(evt, [
|
|
656
|
-
'usage',
|
|
657
|
-
'usageMetadata',
|
|
658
|
-
'prompt_eval_count',
|
|
659
|
-
'eval_count',
|
|
660
|
-
'done',
|
|
661
|
-
'done_reason',
|
|
662
|
-
]);
|
|
663
|
-
const candidates = Array.isArray(evt['candidates'])
|
|
664
|
-
? evt['candidates'].map((candidate) => {
|
|
665
|
-
if (!isRecord(candidate))
|
|
666
|
-
return undefined;
|
|
667
|
-
const candidateOut = copyDefinedFields(candidate, ['finishReason']);
|
|
668
|
-
const content = semanticGeminiContentParts(candidate['content']);
|
|
669
|
-
if (content)
|
|
670
|
-
candidateOut['content'] = content;
|
|
671
|
-
return candidateOut;
|
|
672
|
-
})
|
|
673
|
-
.filter((candidate) => candidate !== undefined && Object.keys(candidate).length > 0)
|
|
674
|
-
: [];
|
|
675
|
-
if (candidates.length > 0)
|
|
676
|
-
out['candidates'] = candidates;
|
|
677
|
-
if (out['done'] !== true)
|
|
678
|
-
delete out['done'];
|
|
679
|
-
return Object.keys(out).length > 0 ? out : undefined;
|
|
680
|
-
}
|
|
681
|
-
function semanticTailEvents(parsed) {
|
|
682
|
-
if (Array.isArray(parsed))
|
|
683
|
-
return parsed.flatMap((item) => semanticTailEvents(item));
|
|
684
|
-
if (!isRecord(parsed))
|
|
685
|
-
return [];
|
|
686
|
-
const event = semanticOpenAIResponsesEvent(parsed)
|
|
687
|
-
?? semanticOpenAIChatEvent(parsed)
|
|
688
|
-
?? semanticAnthropicEvent(parsed)
|
|
689
|
-
?? semanticGenericEvent(parsed);
|
|
690
|
-
return event ? [event] : [];
|
|
691
|
-
}
|
|
692
|
-
class ProviderStreamMetaScanner {
|
|
693
|
-
route;
|
|
694
|
-
env;
|
|
695
|
-
result = {};
|
|
696
|
-
responseChunks = [];
|
|
697
|
-
semanticTailEvents = [];
|
|
698
|
-
responseChunkBytes = 0;
|
|
699
|
-
semanticTailBytes = 0;
|
|
700
|
-
rawStreamBody = '';
|
|
701
|
-
rawStreamChars = 0;
|
|
702
|
-
responseChunksTruncated = false;
|
|
703
|
-
rawStreamTruncated = false;
|
|
704
|
-
semanticTailEventsTruncated = false;
|
|
705
|
-
droppedSemanticTailEventCount = 0;
|
|
706
|
-
buf = '';
|
|
707
|
-
overflowedLine = false;
|
|
708
|
-
overflowTail = '';
|
|
709
|
-
truncatedLineCount = 0;
|
|
710
|
-
droppedLineChars = 0;
|
|
711
|
-
decoder = new TextDecoder();
|
|
712
|
-
limits;
|
|
713
|
-
constructor(route, env = process.env) {
|
|
714
|
-
this.route = route;
|
|
715
|
-
this.env = env;
|
|
716
|
-
this.limits = providerStreamCaptureLimits(env);
|
|
717
|
-
}
|
|
718
|
-
push(chunk) {
|
|
719
|
-
let text;
|
|
720
|
-
if (typeof chunk === 'string')
|
|
721
|
-
text = chunk;
|
|
722
|
-
else if (chunk instanceof Uint8Array)
|
|
723
|
-
text = this.decoder.decode(chunk, { stream: true });
|
|
724
|
-
else
|
|
725
|
-
return;
|
|
726
|
-
if (captureBodiesEnabled(this.env))
|
|
727
|
-
this.captureRawStreamText(text);
|
|
728
|
-
this.pushText(text);
|
|
729
|
-
}
|
|
730
|
-
finish() {
|
|
731
|
-
const tail = this.decoder.decode();
|
|
732
|
-
if (tail) {
|
|
733
|
-
if (captureBodiesEnabled(this.env))
|
|
734
|
-
this.captureRawStreamText(tail);
|
|
735
|
-
this.pushText(tail);
|
|
736
|
-
}
|
|
737
|
-
if (this.overflowedLine) {
|
|
738
|
-
this.finishOverflowedLine();
|
|
739
|
-
return;
|
|
740
|
-
}
|
|
741
|
-
const line = this.buf.trim();
|
|
742
|
-
this.buf = '';
|
|
743
|
-
if (line)
|
|
744
|
-
this.scanLine(line);
|
|
745
|
-
}
|
|
746
|
-
responseBody() {
|
|
747
|
-
if (this.responseChunks.length === 0
|
|
748
|
-
&& this.truncatedLineCount === 0
|
|
749
|
-
&& !this.responseChunksTruncated
|
|
750
|
-
&& !this.rawStreamBody
|
|
751
|
-
&& !this.rawStreamTruncated)
|
|
752
|
-
return undefined;
|
|
753
|
-
return {
|
|
754
|
-
reconstructed: true,
|
|
755
|
-
...(this.responseChunks.length > 0 ? { chunks: this.responseChunks } : {}),
|
|
756
|
-
...(this.semanticTailEvents.length > 0 ? { semantic_tail_events: this.semanticTailEvents } : {}),
|
|
757
|
-
...(this.rawStreamBody ? { raw_stream_body: this.rawStreamBody } : {}),
|
|
758
|
-
...(this.responseChunksTruncated ? { truncated: true } : {}),
|
|
759
|
-
...(this.rawStreamTruncated ? { raw_stream_truncated: true } : {}),
|
|
760
|
-
...(this.semanticTailEventsTruncated
|
|
761
|
-
? {
|
|
762
|
-
semantic_tail_events_truncated: true,
|
|
763
|
-
dropped_semantic_tail_event_count: this.droppedSemanticTailEventCount,
|
|
764
|
-
}
|
|
765
|
-
: {}),
|
|
766
|
-
...(this.truncatedLineCount > 0
|
|
767
|
-
? {
|
|
768
|
-
provider_stream_truncated: true,
|
|
769
|
-
truncated_line_count: this.truncatedLineCount,
|
|
770
|
-
dropped_line_chars: this.droppedLineChars,
|
|
771
|
-
}
|
|
772
|
-
: {}),
|
|
773
|
-
};
|
|
774
|
-
}
|
|
775
|
-
captureRawStreamText(text) {
|
|
776
|
-
if (!text)
|
|
777
|
-
return;
|
|
778
|
-
const redacted = redactText(text);
|
|
779
|
-
const available = Math.max(0, this.limits.rawStreamMaxChars - this.rawStreamChars);
|
|
780
|
-
if (available > 0) {
|
|
781
|
-
const piece = redacted.slice(0, available);
|
|
782
|
-
this.rawStreamBody += piece;
|
|
783
|
-
this.rawStreamChars += piece.length;
|
|
784
|
-
}
|
|
785
|
-
if (redacted.length > available)
|
|
786
|
-
this.rawStreamTruncated = true;
|
|
787
|
-
}
|
|
788
|
-
pushText(text) {
|
|
789
|
-
let remaining = text;
|
|
790
|
-
while (remaining.length > 0) {
|
|
791
|
-
if (this.overflowedLine) {
|
|
792
|
-
const nl = remaining.indexOf('\n');
|
|
793
|
-
const segment = nl >= 0 ? remaining.slice(0, nl) : remaining;
|
|
794
|
-
this.scanOverflowText(segment);
|
|
795
|
-
this.droppedLineChars += segment.length;
|
|
796
|
-
if (nl < 0)
|
|
797
|
-
return;
|
|
798
|
-
this.finishOverflowedLine();
|
|
799
|
-
remaining = remaining.slice(nl + 1);
|
|
800
|
-
continue;
|
|
801
|
-
}
|
|
802
|
-
const nl = remaining.indexOf('\n');
|
|
803
|
-
const segment = nl >= 0 ? remaining.slice(0, nl) : remaining;
|
|
804
|
-
if (this.buf.length + segment.length > this.limits.lineMaxBytes) {
|
|
805
|
-
this.startOverflowedLine(this.buf + segment);
|
|
806
|
-
this.buf = '';
|
|
807
|
-
if (nl < 0)
|
|
808
|
-
return;
|
|
809
|
-
this.finishOverflowedLine();
|
|
810
|
-
remaining = remaining.slice(nl + 1);
|
|
811
|
-
continue;
|
|
812
|
-
}
|
|
813
|
-
this.buf += segment;
|
|
814
|
-
if (nl < 0)
|
|
815
|
-
return;
|
|
816
|
-
const line = this.buf.trim();
|
|
817
|
-
this.buf = '';
|
|
818
|
-
if (line)
|
|
819
|
-
this.scanLine(line);
|
|
820
|
-
remaining = remaining.slice(nl + 1);
|
|
821
|
-
}
|
|
822
|
-
}
|
|
823
|
-
startOverflowedLine(text) {
|
|
824
|
-
this.overflowedLine = true;
|
|
825
|
-
this.truncatedLineCount += 1;
|
|
826
|
-
this.scanOverflowText(text);
|
|
827
|
-
this.droppedLineChars += text.length;
|
|
828
|
-
}
|
|
829
|
-
finishOverflowedLine() {
|
|
830
|
-
if (this.overflowTail)
|
|
831
|
-
scanProviderTextMetadata(this.result, this.overflowTail);
|
|
832
|
-
this.overflowedLine = false;
|
|
833
|
-
this.overflowTail = '';
|
|
834
|
-
}
|
|
835
|
-
scanOverflowText(text) {
|
|
836
|
-
this.overflowTail = (this.overflowTail + text).slice(-MAX_PROVIDER_STREAM_LINE_SCAN_TAIL_BYTES);
|
|
837
|
-
scanProviderTextMetadata(this.result, text);
|
|
838
|
-
}
|
|
839
|
-
scanLine(line) {
|
|
840
|
-
let payload = line.startsWith('data:') ? line.slice(5).trim() : line.trim();
|
|
841
|
-
if (!line.startsWith('data:')) {
|
|
842
|
-
payload = payload
|
|
843
|
-
.replace(/^\[\s*/, '')
|
|
844
|
-
.replace(/^,\s*/, '')
|
|
845
|
-
.replace(/\s*,?\s*\]\s*$/, '')
|
|
846
|
-
.replace(/,\s*$/, '')
|
|
847
|
-
.trim();
|
|
848
|
-
}
|
|
849
|
-
if (!payload || payload === '[DONE]')
|
|
850
|
-
return;
|
|
851
|
-
let parsed;
|
|
852
|
-
try {
|
|
853
|
-
parsed = JSON.parse(payload);
|
|
854
|
-
}
|
|
855
|
-
catch {
|
|
856
|
-
return;
|
|
857
|
-
}
|
|
858
|
-
if (captureBodiesEnabled(this.env)) {
|
|
859
|
-
this.captureParsedBodyChunk(parsed);
|
|
860
|
-
this.captureParsedSemanticTail(parsed);
|
|
861
|
-
}
|
|
862
|
-
this.scanParsed(parsed);
|
|
863
|
-
}
|
|
864
|
-
captureParsedBodyChunk(parsed) {
|
|
865
|
-
if (this.responseChunksTruncated)
|
|
866
|
-
return;
|
|
867
|
-
let bytes = 0;
|
|
868
|
-
try {
|
|
869
|
-
bytes = Buffer.byteLength(JSON.stringify(parsed), 'utf8');
|
|
870
|
-
}
|
|
871
|
-
catch {
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
if (this.responseChunks.length >= this.limits.chunkMaxEvents
|
|
875
|
-
|| this.responseChunkBytes + bytes > this.limits.chunkMaxBytes) {
|
|
876
|
-
this.responseChunksTruncated = true;
|
|
877
|
-
return;
|
|
878
|
-
}
|
|
879
|
-
this.responseChunks.push(parsed);
|
|
880
|
-
this.responseChunkBytes += bytes;
|
|
881
|
-
}
|
|
882
|
-
captureParsedSemanticTail(parsed) {
|
|
883
|
-
if (!this.responseChunksTruncated)
|
|
884
|
-
return;
|
|
885
|
-
for (const event of semanticTailEvents(parsed))
|
|
886
|
-
this.pushSemanticTailEvent(event);
|
|
887
|
-
}
|
|
888
|
-
pushSemanticTailEvent(event) {
|
|
889
|
-
const captured = captureBody(event, this.env);
|
|
890
|
-
if (!captured)
|
|
891
|
-
return;
|
|
892
|
-
let redactedEvent;
|
|
893
|
-
try {
|
|
894
|
-
redactedEvent = JSON.parse(captured.body);
|
|
895
|
-
}
|
|
896
|
-
catch {
|
|
897
|
-
redactedEvent = captured.body;
|
|
898
|
-
}
|
|
899
|
-
let bytes = 0;
|
|
900
|
-
try {
|
|
901
|
-
bytes = Buffer.byteLength(JSON.stringify(redactedEvent), 'utf8');
|
|
902
|
-
}
|
|
903
|
-
catch {
|
|
904
|
-
return;
|
|
905
|
-
}
|
|
906
|
-
if (bytes > this.limits.semanticTailMaxBytes) {
|
|
907
|
-
this.semanticTailEventsTruncated = true;
|
|
908
|
-
this.droppedSemanticTailEventCount += 1;
|
|
909
|
-
return;
|
|
910
|
-
}
|
|
911
|
-
while (this.semanticTailEvents.length >= this.limits.semanticTailMaxEvents
|
|
912
|
-
|| this.semanticTailBytes + bytes > this.limits.semanticTailMaxBytes) {
|
|
913
|
-
const dropped = this.semanticTailEvents.shift();
|
|
914
|
-
if (dropped === undefined)
|
|
915
|
-
break;
|
|
916
|
-
this.semanticTailEventsTruncated = true;
|
|
917
|
-
this.droppedSemanticTailEventCount += 1;
|
|
918
|
-
try {
|
|
919
|
-
this.semanticTailBytes -= Buffer.byteLength(JSON.stringify(dropped), 'utf8');
|
|
920
|
-
}
|
|
921
|
-
catch {
|
|
922
|
-
this.semanticTailBytes = 0;
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
this.semanticTailEvents.push(redactedEvent);
|
|
926
|
-
this.semanticTailBytes += bytes;
|
|
927
|
-
}
|
|
928
|
-
scanParsed(parsed) {
|
|
929
|
-
if (Array.isArray(parsed)) {
|
|
930
|
-
for (const item of parsed)
|
|
931
|
-
this.scanParsed(item);
|
|
932
|
-
return;
|
|
933
|
-
}
|
|
934
|
-
mergeTraceMeta(this.result, providerMeta(this.route, parsed));
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
function getHeader(headers, name) {
|
|
938
|
-
const want = name.toLowerCase();
|
|
939
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
940
|
-
if (key.toLowerCase() === want && value)
|
|
941
|
-
return value;
|
|
942
|
-
}
|
|
943
|
-
return '';
|
|
944
|
-
}
|
|
945
|
-
function clip(value, max = 128) {
|
|
946
|
-
return value.length <= max ? value : value.slice(0, max);
|
|
947
|
-
}
|
|
948
|
-
function safeTraceError(value, max = 256) {
|
|
949
|
-
return clip(redactText(value).replace(/\s+/g, ' ').trim(), max);
|
|
950
|
-
}
|
|
951
|
-
function safePlainSessionId(value) {
|
|
952
|
-
const s = value.trim();
|
|
953
|
-
if (s !== value)
|
|
954
|
-
return '';
|
|
955
|
-
if (s.length < 4 || s.length > 128)
|
|
956
|
-
return '';
|
|
957
|
-
if (s.includes('@') || /\s/.test(s))
|
|
958
|
-
return '';
|
|
959
|
-
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*[A-Za-z0-9]$/.test(s))
|
|
960
|
-
return '';
|
|
961
|
-
if (/^(?:bearer|basic|sk-|ghp_|github_pat_|gho_|ghu_|ghs_|glpat-|xox[baprs]-)/i.test(s))
|
|
962
|
-
return '';
|
|
963
|
-
if (/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(s))
|
|
964
|
-
return '';
|
|
965
|
-
if (/(?:^|[-_.])(?:token|secret|apikey|api[_-]?key|password|passwd|credential|auth)(?:$|[-_.])/i.test(s))
|
|
966
|
-
return '';
|
|
967
|
-
if (/^[a-f0-9]{32,}$/i.test(s))
|
|
968
|
-
return '';
|
|
969
|
-
if (/^[A-Za-z0-9_-]{40,}$/.test(s) && !/[-_.]/.test(s))
|
|
970
|
-
return '';
|
|
971
|
-
if (/(?:session|sess)/i.test(s))
|
|
972
|
-
return s;
|
|
973
|
-
return /[-_.]/.test(s) ? s : '';
|
|
974
|
-
}
|
|
975
|
-
function sessionIdFromPlainField(value) {
|
|
976
|
-
return typeof value === 'string' ? safePlainSessionId(value) : '';
|
|
977
|
-
}
|
|
978
|
-
function sessionIdFromClaudeUserId(value) {
|
|
979
|
-
const marker = '__session_';
|
|
980
|
-
const index = value.indexOf(marker);
|
|
981
|
-
if (index < 0)
|
|
982
|
-
return '';
|
|
983
|
-
return safePlainSessionId(value.slice(index + marker.length));
|
|
984
|
-
}
|
|
985
|
-
function sessionIdFromUserField(value) {
|
|
986
|
-
if (!value)
|
|
987
|
-
return '';
|
|
988
|
-
let parsed = value;
|
|
989
|
-
if (typeof value === 'string') {
|
|
990
|
-
const s = value.trim();
|
|
991
|
-
if (!s.startsWith('{'))
|
|
992
|
-
return sessionIdFromClaudeUserId(s) || safePlainSessionId(s);
|
|
993
|
-
try {
|
|
994
|
-
parsed = JSON.parse(s);
|
|
995
|
-
}
|
|
996
|
-
catch {
|
|
997
|
-
return '';
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
if (parsed && typeof parsed === 'object') {
|
|
1001
|
-
const sid = parsed['session_id'];
|
|
1002
|
-
if (typeof sid === 'string' && sid.length > 0)
|
|
1003
|
-
return safePlainSessionId(sid);
|
|
1004
|
-
}
|
|
1005
|
-
return '';
|
|
1006
|
-
}
|
|
1007
|
-
function extractSessionId(headers, body) {
|
|
1008
|
-
for (const name of ['x-session-id', 'x-cursor-session-id', 'x-conversation-id']) {
|
|
1009
|
-
const value = getHeader(headers, name).trim();
|
|
1010
|
-
const sid = sessionIdFromPlainField(value);
|
|
1011
|
-
if (sid)
|
|
1012
|
-
return clip(sid);
|
|
1013
|
-
}
|
|
1014
|
-
const metadata = body['metadata'];
|
|
1015
|
-
if (isRecord(metadata)) {
|
|
1016
|
-
const sid = sessionIdFromUserField(metadata['user_id']) || sessionIdFromPlainField(metadata['session_id']);
|
|
1017
|
-
if (sid)
|
|
1018
|
-
return clip(sid);
|
|
1019
|
-
}
|
|
1020
|
-
const sid = sessionIdFromUserField(body['user']);
|
|
1021
|
-
if (sid)
|
|
1022
|
-
return clip(sid);
|
|
1023
|
-
return null;
|
|
1024
|
-
}
|
|
1025
|
-
function extractTopLevelUserIdHash(body) {
|
|
1026
|
-
const metadata = body['metadata'];
|
|
1027
|
-
if (isRecord(metadata)) {
|
|
1028
|
-
const userId = metadata['user_id'];
|
|
1029
|
-
if (typeof userId === 'string' || typeof userId === 'number')
|
|
1030
|
-
return stableUserIdHash(userId);
|
|
1031
|
-
}
|
|
1032
|
-
const user = body['user'];
|
|
1033
|
-
if (typeof user === 'string' || typeof user === 'number')
|
|
1034
|
-
return stableUserIdHash(user);
|
|
1035
|
-
return undefined;
|
|
1036
|
-
}
|
|
1037
|
-
function extractPreviousResponseId(body) {
|
|
1038
|
-
const value = body['previous_response_id'];
|
|
1039
|
-
return typeof value === 'string' && value.length > 0 ? clip(value) : null;
|
|
1040
|
-
}
|
|
1041
|
-
function retryHeadersForMutatedOpenAIRequest(headers) {
|
|
1042
|
-
const out = { ...headers };
|
|
1043
|
-
for (const name of Object.keys(out)) {
|
|
1044
|
-
const lower = name.toLowerCase();
|
|
1045
|
-
if (lower === 'idempotency-key' || lower.startsWith('x-stainless-retry-'))
|
|
1046
|
-
delete out[name];
|
|
1047
|
-
}
|
|
1048
|
-
return out;
|
|
1049
|
-
}
|
|
1050
|
-
function detectClient(headers) {
|
|
1051
|
-
const ua = getHeader(headers, 'user-agent').toLowerCase();
|
|
1052
|
-
if (ua.includes('claude'))
|
|
1053
|
-
return 'claude-code';
|
|
1054
|
-
if (ua.includes('cursor'))
|
|
1055
|
-
return 'cursor';
|
|
1056
|
-
if (ua.includes('codex'))
|
|
1057
|
-
return 'codex';
|
|
1058
|
-
return 'unknown';
|
|
1059
|
-
}
|
|
1060
|
-
function wireApiForTrace(opts) {
|
|
1061
|
-
if (opts.provider === 'openai' && opts.upstreamPath === '/responses')
|
|
1062
|
-
return 'openai_responses';
|
|
1063
|
-
if (opts.provider === 'openai' && opts.upstreamPath === '/chat/completions')
|
|
1064
|
-
return 'openai_chat_completions';
|
|
1065
|
-
if (opts.provider === 'gemini')
|
|
1066
|
-
return 'gemini_generate_content';
|
|
1067
|
-
if (opts.provider === 'vertex')
|
|
1068
|
-
return 'vertex_gemini';
|
|
1069
|
-
if (opts.provider === 'ollama')
|
|
1070
|
-
return 'ollama_api';
|
|
1071
|
-
return 'anthropic_messages';
|
|
1072
|
-
}
|
|
1073
|
-
function captureTraceAttempts(attempts, captureBodies, env) {
|
|
1074
|
-
return attempts.map((attempt) => {
|
|
1075
|
-
const record = {
|
|
1076
|
-
attempt_index: attempt.attempt_index,
|
|
1077
|
-
model: attempt.model,
|
|
1078
|
-
provider: attempt.provider,
|
|
1079
|
-
upstream_mode: attempt.upstream_mode,
|
|
1080
|
-
status: attempt.status,
|
|
1081
|
-
...(attempt.error !== undefined ? { error: safeTraceError(attempt.error) } : {}),
|
|
1082
|
-
...(attempt.body_truncated === true ? { body_truncated: true } : {}),
|
|
1083
|
-
};
|
|
1084
|
-
const reqCap = captureBodies ? captureBody(attempt.requestBody, env) : undefined;
|
|
1085
|
-
const respCap = captureBodies && attempt.responseBody !== undefined ? captureBody(attempt.responseBody, env) : undefined;
|
|
1086
|
-
if (reqCap)
|
|
1087
|
-
record.requestBody = reqCap.body;
|
|
1088
|
-
if (respCap)
|
|
1089
|
-
record.responseBody = respCap.body;
|
|
1090
|
-
if (reqCap?.truncated
|
|
1091
|
-
|| respCap?.truncated
|
|
1092
|
-
|| attempt.body_truncated === true
|
|
1093
|
-
|| responseBodyIndicatesTruncation(attempt.responseBody))
|
|
1094
|
-
record.body_truncated = true;
|
|
1095
|
-
return record;
|
|
1096
|
-
});
|
|
1097
|
-
}
|
|
1098
|
-
function emitTrace(opts, t0, ttfb, last, bodyCaptureAllowed) {
|
|
1099
|
-
if (!opts.onTrace)
|
|
1100
|
-
return;
|
|
1101
|
-
const clock = opts.clock ?? (() => Date.now());
|
|
1102
|
-
const requestId = getHeader(opts.headers, 'x-request-id');
|
|
1103
|
-
const sessionId = extractSessionId(opts.headers, opts.body);
|
|
1104
|
-
const previousResponseId = extractPreviousResponseId(opts.body);
|
|
1105
|
-
const captureBodies = bodyCaptureAllowed && captureBodiesEnabled(opts.env ?? process.env);
|
|
1106
|
-
const record = {
|
|
1107
|
-
ts: new Date(t0).toISOString(),
|
|
1108
|
-
event: 'llm_turn',
|
|
1109
|
-
id: `llm_${randomUUID()}`,
|
|
1110
|
-
request_id: requestId ? clip(requestId) : null,
|
|
1111
|
-
route: opts.route ?? opts.upstreamPath,
|
|
1112
|
-
provider: opts.provider,
|
|
1113
|
-
wire_api: wireApiForTrace(opts),
|
|
1114
|
-
client: detectClient(opts.headers),
|
|
1115
|
-
...(getHeader(opts.headers, 'user-agent') ? { user_agent: clip(getHeader(opts.headers, 'user-agent')) } : {}),
|
|
1116
|
-
...(() => {
|
|
1117
|
-
try {
|
|
1118
|
-
const hash = extractTopLevelUserIdHash(opts.body);
|
|
1119
|
-
return hash ? { user_id_hash: hash } : {};
|
|
1120
|
-
}
|
|
1121
|
-
catch {
|
|
1122
|
-
return {};
|
|
1123
|
-
}
|
|
1124
|
-
})(),
|
|
1125
|
-
...(() => {
|
|
1126
|
-
try {
|
|
1127
|
-
const effort = extractThinkingEffort(opts.body);
|
|
1128
|
-
return effort ? { thinking_effort: effort } : {};
|
|
1129
|
-
}
|
|
1130
|
-
catch {
|
|
1131
|
-
return {};
|
|
1132
|
-
}
|
|
1133
|
-
})(),
|
|
1134
|
-
session_id: sessionId,
|
|
1135
|
-
original_model: opts.model,
|
|
1136
|
-
chosen_model: opts.chosenModel ?? opts.model,
|
|
1137
|
-
tier: opts.tier ?? null,
|
|
1138
|
-
reason: opts.reason ?? null,
|
|
1139
|
-
fallback: opts.fallback ?? null,
|
|
1140
|
-
router_enabled: opts.routerEnabled ?? false,
|
|
1141
|
-
upstream_mode: opts.provider,
|
|
1142
|
-
status: last.status,
|
|
1143
|
-
stream: last.stream,
|
|
1144
|
-
ttfb_ms: ttfb,
|
|
1145
|
-
latency_ms: clock() - t0,
|
|
1146
|
-
...(opts.features ? { features: opts.features } : {}),
|
|
1147
|
-
...(last.usage ? { usage: last.usage } : {}),
|
|
1148
|
-
...(last.stop_reason !== undefined ? { stop_reason: last.stop_reason } : {}),
|
|
1149
|
-
...(last.response_id ? { response_id: clip(last.response_id) } : {}),
|
|
1150
|
-
...(previousResponseId ? { previous_response_id: previousResponseId } : {}),
|
|
1151
|
-
...(last.error !== undefined ? { error: safeTraceError(last.error) } : {}),
|
|
1152
|
-
...(captureBodies ? { request_headers: captureTraceMetadata(opts.headers, opts.env ?? process.env) } : {}),
|
|
1153
|
-
...(captureBodies && last.responseHeaders ? { response_headers: captureTraceMetadata(last.responseHeaders, opts.env ?? process.env) } : {}),
|
|
1154
|
-
...(captureBodies && last.transportMetadata !== undefined ? { transport_metadata: captureTraceMetadata(last.transportMetadata, opts.env ?? process.env) } : {}),
|
|
1155
|
-
};
|
|
1156
|
-
if (opts.attempts && opts.attempts.length > 0) {
|
|
1157
|
-
try {
|
|
1158
|
-
record.attempts = captureTraceAttempts(opts.attempts, captureBodies, opts.env ?? process.env);
|
|
1159
|
-
}
|
|
1160
|
-
catch { /* attempt capture must never break trace emission */ }
|
|
1161
|
-
}
|
|
1162
|
-
// Native body capture (v1-compatible default full; see bodyCapture.ts). Redacted + size-capped. Only place
|
|
1163
|
-
// content can enter a provider trace. Non-streaming rows carry full parsed response JSON;
|
|
1164
|
-
// streaming rows carry best-effort reconstructed native event / NDJSON chunks from the transparent stream tee.
|
|
1165
|
-
if (captureBodies) {
|
|
1166
|
-
try {
|
|
1167
|
-
const reqCap = captureBody(opts.body, opts.env ?? process.env);
|
|
1168
|
-
const respCap = last.responseBody !== undefined ? captureBody(last.responseBody, opts.env ?? process.env) : undefined;
|
|
1169
|
-
if (reqCap)
|
|
1170
|
-
record.requestBody = reqCap.body;
|
|
1171
|
-
if (respCap)
|
|
1172
|
-
record.responseBody = respCap.body;
|
|
1173
|
-
record.redaction = REDACTION_VERSION;
|
|
1174
|
-
if (reqCap?.truncated
|
|
1175
|
-
|| respCap?.truncated
|
|
1176
|
-
|| responseBodyIndicatesTruncation(last.responseBody)
|
|
1177
|
-
|| record.attempts?.some((attempt) => attempt.body_truncated === true))
|
|
1178
|
-
record.body_truncated = true;
|
|
1179
|
-
}
|
|
1180
|
-
catch { /* capture must never break trace emission */ }
|
|
1181
|
-
}
|
|
1182
|
-
else if (record.attempts?.some((attempt) => attempt.body_truncated === true)) {
|
|
1183
|
-
record.body_truncated = true;
|
|
1184
|
-
}
|
|
1185
|
-
try {
|
|
1186
|
-
opts.onTrace(record);
|
|
1187
|
-
}
|
|
1188
|
-
catch { /* trace must never break serving */ }
|
|
1189
|
-
}
|
|
1190
|
-
function streamResponse(upstream, headers) {
|
|
1191
|
-
const ct = upstream.headers?.['content-type'];
|
|
1192
|
-
return { status: upstream.status, stream: upstream.stream, headers: ct ? { ...headers, 'Content-Type': ct } : headers };
|
|
1193
|
-
}
|
|
1194
|
-
async function passthrough(opts) {
|
|
1195
|
-
const clock = opts.clock ?? (() => Date.now());
|
|
1196
|
-
const t0 = clock();
|
|
1197
|
-
let upstream;
|
|
1198
|
-
let traceOpts = opts;
|
|
1199
|
-
const attempts = [];
|
|
1200
|
-
let ttfb = null;
|
|
1201
|
-
let bodyCaptureAllowed = false;
|
|
1202
|
-
try {
|
|
1203
|
-
upstream = await opts.proxy(opts.upstreamPath, opts.body, {
|
|
1204
|
-
inboundHeaders: opts.headers,
|
|
1205
|
-
upstreamMode: opts.provider,
|
|
1206
|
-
...(opts.method ? { method: opts.method } : {}),
|
|
1207
|
-
...(opts.baseUrl ? { baseUrl: opts.baseUrl } : {}),
|
|
1208
|
-
});
|
|
1209
|
-
bodyCaptureAllowed = true;
|
|
1210
|
-
ttfb = clock() - t0;
|
|
1211
|
-
}
|
|
1212
|
-
catch (err) {
|
|
1213
|
-
const wrapped = asUpstreamError(opts.provider, err);
|
|
1214
|
-
emitTrace(opts, t0, ttfb, { status: wrapped.statusCode, stream: false, error: wrapped.message }, bodyCaptureAllowed);
|
|
1215
|
-
throw wrapped;
|
|
1216
|
-
}
|
|
1217
|
-
if (shouldRetryRoutedOpenAI(upstream, opts) && opts.retryBody) {
|
|
1218
|
-
const retryBody = opts.retryBody;
|
|
1219
|
-
const retryFallback = `upstream_${upstream.status}_retry`;
|
|
1220
|
-
const retryFailedFallback = `upstream_${upstream.status}_retry_failed`;
|
|
1221
|
-
opts.logger.warn?.(jsonStringify({
|
|
1222
|
-
event: 'router_fallback',
|
|
1223
|
-
route: opts.route ?? opts.upstreamPath,
|
|
1224
|
-
reason: retryFallback,
|
|
1225
|
-
original_model: opts.model,
|
|
1226
|
-
would_have_been: opts.chosenModel,
|
|
1227
|
-
upstream_status: upstream.status,
|
|
1228
|
-
}));
|
|
1229
|
-
let drainedFirst = '';
|
|
1230
|
-
if (upstream.text) {
|
|
1231
|
-
try {
|
|
1232
|
-
drainedFirst = await Promise.resolve(upstream.text());
|
|
1233
|
-
}
|
|
1234
|
-
catch {
|
|
1235
|
-
drainedFirst = '';
|
|
1236
|
-
}
|
|
1237
|
-
}
|
|
1238
|
-
if (opts.onTrace) {
|
|
1239
|
-
attempts.push({
|
|
1240
|
-
attempt_index: 0,
|
|
1241
|
-
model: opts.chosenModel ?? opts.model,
|
|
1242
|
-
provider: opts.provider,
|
|
1243
|
-
upstream_mode: opts.provider,
|
|
1244
|
-
status: upstream.status,
|
|
1245
|
-
error: safeTraceError(`upstream ${upstream.status}`),
|
|
1246
|
-
requestBody: opts.body,
|
|
1247
|
-
responseBody: attemptResponseToBody(drainedFirst),
|
|
1248
|
-
});
|
|
1249
|
-
}
|
|
1250
|
-
try {
|
|
1251
|
-
const retryHeaders = retryHeadersForMutatedOpenAIRequest(opts.headers);
|
|
1252
|
-
upstream = await opts.proxy(opts.upstreamPath, retryBody, {
|
|
1253
|
-
inboundHeaders: retryHeaders,
|
|
1254
|
-
upstreamMode: opts.provider,
|
|
1255
|
-
...(opts.method ? { method: opts.method } : {}),
|
|
1256
|
-
...(opts.baseUrl ? { baseUrl: opts.baseUrl } : {}),
|
|
1257
|
-
});
|
|
1258
|
-
traceOpts = {
|
|
1259
|
-
...opts,
|
|
1260
|
-
body: retryBody,
|
|
1261
|
-
chosenModel: opts.model,
|
|
1262
|
-
fallback: retryFallback,
|
|
1263
|
-
headers: retryHeaders,
|
|
1264
|
-
attempts,
|
|
1265
|
-
};
|
|
1266
|
-
if (opts.onTrace) {
|
|
1267
|
-
attempts.push({
|
|
1268
|
-
attempt_index: 1,
|
|
1269
|
-
model: opts.model,
|
|
1270
|
-
provider: opts.provider,
|
|
1271
|
-
upstream_mode: opts.provider,
|
|
1272
|
-
status: upstream.status,
|
|
1273
|
-
requestBody: retryBody,
|
|
1274
|
-
});
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
|
-
catch (err) {
|
|
1278
|
-
const wrapped = asUpstreamError(opts.provider, err);
|
|
1279
|
-
const retryError = err instanceof Error ? err.message : String(err);
|
|
1280
|
-
if (opts.onTrace) {
|
|
1281
|
-
attempts.push({
|
|
1282
|
-
attempt_index: 1,
|
|
1283
|
-
model: opts.model,
|
|
1284
|
-
provider: opts.provider,
|
|
1285
|
-
upstream_mode: opts.provider,
|
|
1286
|
-
status: wrapped.statusCode,
|
|
1287
|
-
error: retryError,
|
|
1288
|
-
requestBody: retryBody,
|
|
1289
|
-
});
|
|
1290
|
-
}
|
|
1291
|
-
opts.logger.warn?.(jsonStringify({
|
|
1292
|
-
event: 'router_fallback',
|
|
1293
|
-
route: opts.route ?? opts.upstreamPath,
|
|
1294
|
-
reason: retryFailedFallback,
|
|
1295
|
-
original_model: opts.model,
|
|
1296
|
-
would_have_been: opts.chosenModel,
|
|
1297
|
-
error: retryError,
|
|
1298
|
-
}));
|
|
1299
|
-
upstream = {
|
|
1300
|
-
status: upstream.status,
|
|
1301
|
-
headers: upstream.headers,
|
|
1302
|
-
stream: null,
|
|
1303
|
-
text: () => drainedFirst,
|
|
1304
|
-
};
|
|
1305
|
-
traceOpts = { ...opts, fallback: retryFallback, attempts };
|
|
1306
|
-
}
|
|
1307
|
-
}
|
|
1308
|
-
const forwardHeaders = opts.responseHeaders ? opts.responseHeaders(upstream.headers ?? {}) : {};
|
|
1309
|
-
if (upstream.stream) {
|
|
1310
|
-
const scanner = traceOpts.onTrace ? new ProviderStreamMetaScanner(traceOpts, traceOpts.env ?? process.env) : null;
|
|
1311
|
-
const stream = scanner
|
|
1312
|
-
? teeStreamForScan(upstream.stream, (chunk) => scanner.push(chunk), (info) => {
|
|
1313
|
-
scanner.finish();
|
|
1314
|
-
const streamError = scanner.result.error ?? info?.error ?? (info?.cancelled ? 'stream cancelled' : undefined);
|
|
1315
|
-
const responseBody = scanner.responseBody();
|
|
1316
|
-
const finalAttempt = attempts.find((attempt) => attempt.attempt_index === 1 && attempt.responseBody === undefined);
|
|
1317
|
-
if (finalAttempt && responseBody !== undefined) {
|
|
1318
|
-
finalAttempt.responseBody = responseBody;
|
|
1319
|
-
finalAttempt.body_truncated = responseBodyIndicatesTruncation(responseBody);
|
|
1320
|
-
}
|
|
1321
|
-
emitTrace(traceOpts, t0, ttfb, {
|
|
1322
|
-
status: upstream.status,
|
|
1323
|
-
stream: true,
|
|
1324
|
-
...scanner.result,
|
|
1325
|
-
...(streamError ? { error: streamError } : {}),
|
|
1326
|
-
...(responseBody !== undefined ? { responseBody } : {}),
|
|
1327
|
-
...(upstream.headers ? { responseHeaders: upstream.headers } : {}),
|
|
1328
|
-
...(upstream.transportMetadata !== undefined ? { transportMetadata: upstream.transportMetadata } : {}),
|
|
1329
|
-
}, bodyCaptureAllowed);
|
|
1330
|
-
})
|
|
1331
|
-
: upstream.stream;
|
|
1332
|
-
return streamResponse({ ...upstream, stream }, forwardHeaders);
|
|
1333
|
-
}
|
|
1334
|
-
let raw = '';
|
|
1335
|
-
if (upstream.text) {
|
|
1336
|
-
try {
|
|
1337
|
-
raw = await Promise.resolve(upstream.text());
|
|
1338
|
-
}
|
|
1339
|
-
catch (err) {
|
|
1340
|
-
const wrapped = asUpstreamError(opts.provider, err);
|
|
1341
|
-
emitTrace(traceOpts, t0, ttfb, { status: wrapped.statusCode, stream: false, error: wrapped.message }, bodyCaptureAllowed);
|
|
1342
|
-
throw wrapped;
|
|
1343
|
-
}
|
|
1344
|
-
}
|
|
1345
|
-
const body = responseToBody(raw, upstream.status, upstream.headers, opts.logger, `${opts.provider}_fallback`);
|
|
1346
|
-
const finalAttempt = attempts.find((attempt) => attempt.attempt_index === 1 && attempt.responseBody === undefined);
|
|
1347
|
-
if (finalAttempt)
|
|
1348
|
-
finalAttempt.responseBody = body;
|
|
1349
|
-
emitTrace(traceOpts, t0, ttfb, {
|
|
1350
|
-
status: upstream.status,
|
|
1351
|
-
stream: false,
|
|
1352
|
-
...providerMeta(traceOpts, body),
|
|
1353
|
-
responseBody: body,
|
|
1354
|
-
...(upstream.headers ? { responseHeaders: upstream.headers } : {}),
|
|
1355
|
-
...(upstream.transportMetadata !== undefined ? { transportMetadata: upstream.transportMetadata } : {}),
|
|
1356
|
-
}, bodyCaptureAllowed);
|
|
1357
|
-
return { status: upstream.status, body, headers: forwardHeaders };
|
|
1358
|
-
}
|
|
1359
|
-
export function parseModelAction(modelAction) {
|
|
1360
|
-
const idx = modelAction.lastIndexOf(':');
|
|
1361
|
-
if (idx === -1)
|
|
1362
|
-
return { model: modelAction, action: '' };
|
|
1363
|
-
return { model: modelAction.slice(0, idx), action: modelAction.slice(idx + 1) };
|
|
1364
|
-
}
|
|
1365
|
-
function decodePathParam(raw, name) {
|
|
1366
|
-
try {
|
|
1367
|
-
return decodeURIComponent(raw);
|
|
1368
|
-
}
|
|
1369
|
-
catch {
|
|
1370
|
-
throw badRequest(`${name} contains invalid percent encoding`);
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
function validateDecodedPathComponent(value, name) {
|
|
1374
|
-
if (!value)
|
|
1375
|
-
throw badRequest(`${name} is required`);
|
|
1376
|
-
if (value.includes('/') || value.includes('\\'))
|
|
1377
|
-
throw badRequest(`${name} must not contain path separators`);
|
|
1378
|
-
if (value === '.' || value === '..')
|
|
1379
|
-
throw badRequest(`${name} must not be a dot segment`);
|
|
1380
|
-
return value;
|
|
1381
|
-
}
|
|
1382
|
-
function validatedModelAction(raw) {
|
|
1383
|
-
const decoded = validateDecodedPathComponent(decodePathParam(raw, 'modelAction'), 'modelAction');
|
|
1384
|
-
const { model, action } = parseModelAction(decoded);
|
|
1385
|
-
validateDecodedPathComponent(model, 'model');
|
|
1386
|
-
if (!GEMINI_VERTEX_ACTIONS.has(action))
|
|
1387
|
-
throw badRequest(`unsupported model action: ${action || '(missing)'}`);
|
|
1388
|
-
return { model, action };
|
|
1389
|
-
}
|
|
1390
|
-
function validatedVertexProject(raw) {
|
|
1391
|
-
const decoded = validateDecodedPathComponent(decodePathParam(raw, 'project'), 'project');
|
|
1392
|
-
if (!/^[A-Za-z0-9_-]+$/.test(decoded))
|
|
1393
|
-
throw badRequest('project contains unsupported characters');
|
|
1394
|
-
return decoded;
|
|
1395
|
-
}
|
|
1396
|
-
function validatedVertexLocation(raw) {
|
|
1397
|
-
const decoded = validateDecodedPathComponent(decodePathParam(raw, 'location'), 'location');
|
|
1398
|
-
if (decoded !== 'global' && !/^[a-z][a-z0-9-]*$/.test(decoded))
|
|
1399
|
-
throw badRequest('location contains unsupported characters');
|
|
1400
|
-
return decoded;
|
|
1401
|
-
}
|
|
1402
|
-
function providerQueryString(query) {
|
|
1403
|
-
if (!query || Object.keys(query).length === 0)
|
|
1404
|
-
return '';
|
|
1405
|
-
const params = new URLSearchParams();
|
|
1406
|
-
for (const [name, value] of Object.entries(query)) {
|
|
1407
|
-
if (CREDENTIAL_QUERY_PARAMS.has(name.toLowerCase()))
|
|
1408
|
-
continue;
|
|
1409
|
-
params.append(name, value);
|
|
1410
|
-
}
|
|
1411
|
-
const qs = params.toString();
|
|
1412
|
-
return qs ? `?${qs}` : '';
|
|
1413
|
-
}
|
|
1414
|
-
export function detectModelsProvider(headers = {}) {
|
|
1415
|
-
if (headers['anthropic-version'] || headers['anthropic-beta'])
|
|
1416
|
-
return 'anthropic';
|
|
1417
|
-
return 'openai';
|
|
1418
|
-
}
|
|
1419
|
-
export function vertexBaseUrl(location, env = process.env) {
|
|
1420
|
-
const override = (env['EVOMAP_VERTEX_BASE_URL'] || '').trim();
|
|
1421
|
-
if (override)
|
|
1422
|
-
return override.replace(/\/+$/, '');
|
|
1423
|
-
const raw = location.trim();
|
|
1424
|
-
if (!raw || raw === 'global')
|
|
1425
|
-
return 'https://aiplatform.googleapis.com';
|
|
1426
|
-
const loc = validatedVertexLocation(raw);
|
|
1427
|
-
return `https://${loc}-aiplatform.googleapis.com`;
|
|
1428
|
-
}
|
|
1429
|
-
export function buildOpenAIResponsesHandler(opts) {
|
|
1430
|
-
const log = opts.logger ?? console;
|
|
1431
|
-
const env = opts.env ?? process.env;
|
|
1432
|
-
return (req) => {
|
|
1433
|
-
const routed = routeOpenAIRequest('/v1/responses', req.body, env, log);
|
|
1434
|
-
return passthrough({
|
|
1435
|
-
proxy: opts.openAIProxy,
|
|
1436
|
-
provider: 'openai',
|
|
1437
|
-
route: '/v1/responses',
|
|
1438
|
-
upstreamPath: '/responses',
|
|
1439
|
-
model: routed.originalModel,
|
|
1440
|
-
chosenModel: routed.chosenModel,
|
|
1441
|
-
tier: routed.tier,
|
|
1442
|
-
reason: routed.reason,
|
|
1443
|
-
fallback: routed.fallback,
|
|
1444
|
-
routerEnabled: routed.routerEnabled,
|
|
1445
|
-
...(routed.features ? { features: routed.features } : {}),
|
|
1446
|
-
body: routed.body,
|
|
1447
|
-
retryBody: req.body,
|
|
1448
|
-
headers: req.headers ?? {},
|
|
1449
|
-
logger: log,
|
|
1450
|
-
...(opts.onTrace ? { onTrace: opts.onTrace } : {}),
|
|
1451
|
-
...(opts.clock ? { clock: opts.clock } : {}),
|
|
1452
|
-
env,
|
|
1453
|
-
responseHeaders: copyOpenAIResponseHeaders,
|
|
1454
|
-
});
|
|
1455
|
-
};
|
|
1456
|
-
}
|
|
1457
|
-
export function buildOpenAIChatCompletionsHandler(opts) {
|
|
1458
|
-
const log = opts.logger ?? console;
|
|
1459
|
-
const env = opts.env ?? process.env;
|
|
1460
|
-
return (req) => {
|
|
1461
|
-
const routed = routeOpenAIRequest('/v1/chat/completions', req.body, env, log);
|
|
1462
|
-
return passthrough({
|
|
1463
|
-
proxy: opts.openAIProxy,
|
|
1464
|
-
provider: 'openai',
|
|
1465
|
-
route: '/v1/chat/completions',
|
|
1466
|
-
upstreamPath: '/chat/completions',
|
|
1467
|
-
model: routed.originalModel,
|
|
1468
|
-
chosenModel: routed.chosenModel,
|
|
1469
|
-
tier: routed.tier,
|
|
1470
|
-
reason: routed.reason,
|
|
1471
|
-
fallback: routed.fallback,
|
|
1472
|
-
routerEnabled: routed.routerEnabled,
|
|
1473
|
-
...(routed.features ? { features: routed.features } : {}),
|
|
1474
|
-
body: routed.body,
|
|
1475
|
-
retryBody: req.body,
|
|
1476
|
-
headers: req.headers ?? {},
|
|
1477
|
-
logger: log,
|
|
1478
|
-
...(opts.onTrace ? { onTrace: opts.onTrace } : {}),
|
|
1479
|
-
...(opts.clock ? { clock: opts.clock } : {}),
|
|
1480
|
-
env,
|
|
1481
|
-
responseHeaders: copyOpenAIResponseHeaders,
|
|
1482
|
-
});
|
|
1483
|
-
};
|
|
1484
|
-
}
|
|
1485
|
-
export function buildGeminiHandler(opts) {
|
|
1486
|
-
const log = opts.logger ?? console;
|
|
1487
|
-
const env = opts.env ?? process.env;
|
|
1488
|
-
return async (req) => {
|
|
1489
|
-
const { model, action } = validatedModelAction(req.params?.['modelAction'] ?? '');
|
|
1490
|
-
const qs = providerQueryString(req.query);
|
|
1491
|
-
return passthrough({
|
|
1492
|
-
proxy: opts.geminiProxy,
|
|
1493
|
-
provider: 'gemini',
|
|
1494
|
-
route: `/v1beta/models/${model}:${action}`,
|
|
1495
|
-
upstreamPath: `/v1beta/models/${encodeURIComponent(model)}:${action}${qs}`,
|
|
1496
|
-
model,
|
|
1497
|
-
body: req.body,
|
|
1498
|
-
headers: req.headers ?? {},
|
|
1499
|
-
logger: log,
|
|
1500
|
-
...(opts.onTrace ? { onTrace: opts.onTrace } : {}),
|
|
1501
|
-
...(opts.clock ? { clock: opts.clock } : {}),
|
|
1502
|
-
env,
|
|
1503
|
-
responseHeaders: copyGeminiResponseHeaders,
|
|
1504
|
-
});
|
|
1505
|
-
};
|
|
1506
|
-
}
|
|
1507
|
-
export function buildOllamaHandler(opts) {
|
|
1508
|
-
const log = opts.logger ?? console;
|
|
1509
|
-
const env = opts.env ?? process.env;
|
|
1510
|
-
return (req) => passthrough({
|
|
1511
|
-
proxy: opts.ollamaProxy,
|
|
1512
|
-
provider: 'ollama',
|
|
1513
|
-
route: opts.apiPath,
|
|
1514
|
-
upstreamPath: opts.apiPath,
|
|
1515
|
-
model: typeof req.body.model === 'string' ? req.body.model : null,
|
|
1516
|
-
body: req.body,
|
|
1517
|
-
headers: req.headers ?? {},
|
|
1518
|
-
logger: log,
|
|
1519
|
-
...(opts.onTrace ? { onTrace: opts.onTrace } : {}),
|
|
1520
|
-
...(opts.clock ? { clock: opts.clock } : {}),
|
|
1521
|
-
env,
|
|
1522
|
-
});
|
|
1523
|
-
}
|
|
1524
|
-
export function buildVertexHandler(opts) {
|
|
1525
|
-
const log = opts.logger ?? console;
|
|
1526
|
-
const env = opts.env ?? process.env;
|
|
1527
|
-
return async (req) => {
|
|
1528
|
-
const project = validatedVertexProject(req.params?.['project'] ?? '');
|
|
1529
|
-
const location = validatedVertexLocation(req.params?.['location'] ?? '');
|
|
1530
|
-
const { model, action } = validatedModelAction(req.params?.['modelAction'] ?? '');
|
|
1531
|
-
const qs = providerQueryString(req.query);
|
|
1532
|
-
return passthrough({
|
|
1533
|
-
proxy: opts.vertexProxy,
|
|
1534
|
-
provider: 'vertex',
|
|
1535
|
-
route: `/v1/projects/${project}/locations/${location}/publishers/google/models/${model}:${action}`,
|
|
1536
|
-
upstreamPath: `/v1/projects/${encodeURIComponent(project)}/locations/${encodeURIComponent(location)}/publishers/google/models/${encodeURIComponent(model)}:${action}${qs}`,
|
|
1537
|
-
model,
|
|
1538
|
-
body: req.body,
|
|
1539
|
-
headers: req.headers ?? {},
|
|
1540
|
-
logger: log,
|
|
1541
|
-
baseUrl: vertexBaseUrl(location, env),
|
|
1542
|
-
...(opts.onTrace ? { onTrace: opts.onTrace } : {}),
|
|
1543
|
-
...(opts.clock ? { clock: opts.clock } : {}),
|
|
1544
|
-
env,
|
|
1545
|
-
});
|
|
1546
|
-
};
|
|
1547
|
-
}
|
|
1548
|
-
export function buildModelsHandler(opts) {
|
|
1549
|
-
const log = opts.logger ?? console;
|
|
1550
|
-
return async (req) => {
|
|
1551
|
-
const headers = req.headers ?? {};
|
|
1552
|
-
const provider = detectModelsProvider(headers);
|
|
1553
|
-
const proxy = provider === 'anthropic' ? opts.anthropicProxy : opts.openAIProxy;
|
|
1554
|
-
const upstreamPath = provider === 'anthropic' ? '/v1/models' : '/models';
|
|
1555
|
-
const upstream = await proxy(upstreamPath, null, { method: 'GET', inboundHeaders: headers, upstreamMode: provider });
|
|
1556
|
-
let raw = '';
|
|
1557
|
-
if (upstream.text) {
|
|
1558
|
-
try {
|
|
1559
|
-
raw = await Promise.resolve(upstream.text());
|
|
1560
|
-
}
|
|
1561
|
-
catch {
|
|
1562
|
-
raw = '';
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
const body = responseToBody(raw, upstream.status, upstream.headers, log, 'models_fallback');
|
|
1566
|
-
return { status: upstream.status, body };
|
|
1567
|
-
};
|
|
1568
|
-
}
|
|
1569
|
-
export function buildProviderRoutes(opts) {
|
|
1570
|
-
return {
|
|
1571
|
-
'POST /v1/responses': buildOpenAIResponsesHandler(opts),
|
|
1572
|
-
'POST /v1/chat/completions': buildOpenAIChatCompletionsHandler(opts),
|
|
1573
|
-
'GET /v1/models': buildModelsHandler(opts),
|
|
1574
|
-
'POST /v1beta/models/:modelAction': buildGeminiHandler(opts),
|
|
1575
|
-
'POST /api/chat': buildOllamaHandler({ ...opts, apiPath: '/api/chat' }),
|
|
1576
|
-
'POST /api/generate': buildOllamaHandler({ ...opts, apiPath: '/api/generate' }),
|
|
1577
|
-
'POST /v1/projects/:project/locations/:location/publishers/google/models/:modelAction': buildVertexHandler(opts),
|
|
1578
|
-
};
|
|
1579
|
-
}
|
|
1
|
+
const _0x19772a=_0x5bff;(function(_0x3f9f85,_0x4b8ed4){const _0x183b06=_0x5bff,_0x2d7560=_0x3f9f85();while(!![]){try{const _0x41e81d=parseInt(_0x183b06(0x628,'\x62\x26\x21\x42'))/(-0x39c+-0x1848+0x25*0xc1)*(parseInt(_0x183b06(0x500,'\x4e\x4d\x65\x63'))/(-0x5e9*0x3+-0x25d6+0x3793))+parseInt(_0x183b06(0x4ab,'\x7a\x4a\x6c\x35'))/(-0x24ce+-0x24bf+0x4990)*(-parseInt(_0x183b06(0x668,'\x61\x4d\x35\x40'))/(-0x6e4+-0x1*0x14b1+0x1b99))+parseInt(_0x183b06(0x3c8,'\x38\x4e\x28\x51'))/(-0xc57+-0xc7*-0x3+0xa07)+parseInt(_0x183b06(0x334,'\x21\x2a\x5d\x40'))/(-0x1424+-0x21e*-0xe+-0x97a)+-parseInt(_0x183b06(0x209,'\x7a\x4a\x6c\x35'))/(-0x9de+-0x12a9*-0x1+-0x21*0x44)+parseInt(_0x183b06(0x579,'\x46\x44\x76\x57'))/(-0x1*0x1412+0x237d+-0x521*0x3)*(-parseInt(_0x183b06(0x665,'\x32\x47\x61\x64'))/(-0x2*-0xf6d+-0x10e0+-0xdf1))+parseInt(_0x183b06(0x778,'\x34\x4e\x47\x31'))/(0x1c0e+-0x3b*0x1+0x3*-0x943);if(_0x41e81d===_0x4b8ed4)break;else _0x2d7560['push'](_0x2d7560['shift']());}catch(_0x860571){_0x2d7560['push'](_0x2d7560['shift']());}}}(_0x4e51,0x172e9*0x9+0x81522+-0x605*0x1cf));import{captureTraceMetadata,extractThinkingEffort}from'\x2e\x2f\x6d\x65\x73\x73\x61\x67\x65\x73\x52\x6f\x75\x74\x65\x2e\x6a\x73';import{randomUUID}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';import{teeStreamForScan}from'\x2e\x2f\x73\x73\x65\x53\x63\x61\x6e\x2e\x6a\x73';import{bodyMaxChars,captureBodiesEnabled,captureBody,REDACTION_VERSION,positiveIntegerFromEnv,redactText,stableUserIdHash}from'\x2e\x2e\x2f\x6c\x6c\x6d\x2f\x62\x6f\x64\x79\x43\x61\x70\x74\x75\x72\x65\x2e\x6a\x73';import{rewriteModel}from'\x2e\x2f\x63\x61\x63\x68\x65\x50\x61\x73\x73\x74\x68\x72\x6f\x75\x67\x68\x2e\x6a\x73';import{PLAN_RE,SIMPLE_LOOKUP_MAX_CHARS}from'\x2e\x2f\x66\x65\x61\x74\x75\x72\x65\x73\x2e\x6a\x73';import{pickForTurn}from'\x2e\x2f\x6d\x6f\x64\x65\x6c\x52\x6f\x75\x74\x65\x72\x2e\x6a\x73';export const OPENAI_RESPONSE_HEADER_ALLOWLIST=new Set([_0x19772a(0x549,'\x59\x5d\x4b\x49')+_0x19772a(0x515,'\x72\x32\x37\x36')+'\x67\x2d\x6d\x73','\x6f\x70\x65\x6e\x61\x69\x2d\x76'+_0x19772a(0x6c1,'\x76\x77\x5e\x46'),_0x19772a(0x5e8,'\x24\x32\x40\x40')+_0x19772a(0x502,'\x32\x38\x78\x4f'),_0x19772a(0x60a,'\x57\x52\x4b\x4b')+_0x19772a(0x5b9,'\x29\x48\x4f\x42')]);export const GEMINI_RESPONSE_HEADER_ALLOWLIST=new Set([_0x19772a(0x679,'\x21\x2a\x5d\x40')+_0x19772a(0x2e1,'\x75\x63\x55\x63'),_0x19772a(0x720,'\x76\x71\x30\x5b')+_0x19772a(0x71e,'\x4a\x77\x33\x50'),'\x78\x2d\x72\x65\x71\x75\x65\x73'+'\x74\x2d\x69\x64']);const CREDENTIAL_QUERY_PARAMS=new Set([_0x19772a(0x3c1,'\x4a\x77\x33\x50'),_0x19772a(0x41d,'\x34\x4e\x47\x31'),'\x61\x70\x69\x6b\x65\x79','\x61\x63\x63\x65\x73\x73\x5f\x74'+_0x19772a(0x5f5,'\x58\x45\x24\x44'),_0x19772a(0x261,'\x21\x2a\x5d\x40'),_0x19772a(0x782,'\x32\x38\x78\x4f')+_0x19772a(0x267,'\x62\x26\x21\x42'),_0x19772a(0x62d,'\x6c\x7a\x58\x71'),_0x19772a(0x562,'\x25\x59\x4b\x67')+_0x19772a(0x686,'\x75\x63\x55\x63'),_0x19772a(0x644,'\x75\x63\x55\x63')+_0x19772a(0x1de,'\x72\x32\x37\x36'),_0x19772a(0x4e8,'\x34\x34\x79\x6a'),_0x19772a(0x413,'\x70\x64\x63\x6c')+'\x65',_0x19772a(0x765,'\x62\x62\x63\x73')]),GEMINI_VERTEX_ACTIONS=new Set([_0x19772a(0x1ef,'\x32\x38\x78\x4f')+_0x19772a(0x32b,'\x58\x45\x24\x44'),_0x19772a(0x4f2,'\x57\x52\x4b\x4b')+_0x19772a(0x1f0,'\x41\x6d\x6f\x70')+_0x19772a(0x797,'\x70\x64\x63\x6c'),_0x19772a(0x198,'\x25\x59\x4b\x67')+_0x19772a(0x1bc,'\x7a\x4a\x6c\x35'),_0x19772a(0x3ca,'\x6f\x25\x4f\x62')+_0x19772a(0x520,'\x61\x4d\x35\x40'),_0x19772a(0x653,'\x62\x62\x63\x73')+_0x19772a(0x431,'\x62\x26\x21\x42')+'\x74\x73']),DEFAULT_PROVIDER_STREAM_MAX_EVENTS=0x7f*-0x166+0x1f197*-0x1+0x429d1,DEFAULT_PROVIDER_STREAM_SEMANTIC_TAIL_EVENTS=-0x28b59+0xce*-0x35a+0x6c465,MAX_PROVIDER_STREAM_LINE_SCAN_TAIL_BYTES=(0x19ad+-0xc37+-0xcf6)*(0x7f2*-0x4+0x35e*-0x1+0x2726),DEFAULT_PROVIDER_STREAM_LINE_MAX_BYTES=(-0x5c6*-0x1+-0xdee*-0x1+-0x13b2)*(0x25*0x5f+-0x78a*0x1+-0x231)*(-0x87a+0x1*-0x1112+0x1d8c);function providerStreamCaptureLimits(_0x24e3ad=process.env){const _0x1c6071=_0x19772a,_0x1929ad=bodyMaxChars(_0x24e3ad);return{'\x6c\x69\x6e\x65\x4d\x61\x78\x42\x79\x74\x65\x73':positiveIntegerFromEnv(_0x24e3ad,['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x1c6071(0x342,'\x58\x45\x24\x44')+_0x1c6071(0x79f,'\x58\x45\x24\x44')+'\x45\x52\x5f\x53\x54\x52\x45\x41'+_0x1c6071(0x2a0,'\x59\x5d\x4b\x49')+_0x1c6071(0x37d,'\x38\x21\x34\x29'),_0x1c6071(0x1e4,'\x6a\x6f\x63\x28')+_0x1c6071(0x43b,'\x54\x4c\x70\x5e')+_0x1c6071(0x775,'\x24\x32\x40\x40')+_0x1c6071(0x45f,'\x29\x48\x4f\x42')+_0x1c6071(0x3aa,'\x6c\x7a\x58\x71')+_0x1c6071(0x1d5,'\x43\x72\x69\x29')+'\x53',_0x1c6071(0x1eb,'\x25\x59\x4b\x67')+_0x1c6071(0x71c,'\x79\x51\x35\x70')+_0x1c6071(0x758,'\x58\x45\x24\x44')+_0x1c6071(0x79c,'\x57\x52\x4b\x4b')+'\x58\x5f\x42\x59\x54\x45\x53',_0x1c6071(0x6a1,'\x72\x32\x37\x36')+_0x1c6071(0x64a,'\x53\x7a\x6d\x30')+_0x1c6071(0x5a9,'\x6f\x25\x4f\x62')+_0x1c6071(0x220,'\x53\x69\x4b\x76')+'\x41\x58\x5f\x42\x59\x54\x45\x53'],Math[_0x1c6071(0x37b,'\x76\x71\x30\x5b')](_0x1929ad,DEFAULT_PROVIDER_STREAM_LINE_MAX_BYTES)),'\x63\x68\x75\x6e\x6b\x4d\x61\x78\x45\x76\x65\x6e\x74\x73':positiveIntegerFromEnv(_0x24e3ad,[_0x1c6071(0x57e,'\x58\x45\x24\x44')+'\x4c\x4c\x4d\x5f\x54\x52\x41\x43'+'\x45\x5f\x50\x52\x4f\x56\x49\x44'+_0x1c6071(0x704,'\x38\x4e\x28\x51')+_0x1c6071(0x1b7,'\x50\x25\x54\x4d')+_0x1c6071(0x210,'\x32\x47\x61\x64'),_0x1c6071(0x48f,'\x71\x7a\x44\x67')+_0x1c6071(0x77c,'\x38\x21\x34\x29')+_0x1c6071(0x2b7,'\x21\x2a\x5d\x40')+_0x1c6071(0x59d,'\x63\x32\x63\x4e')+_0x1c6071(0x48d,'\x35\x59\x64\x78')+_0x1c6071(0x4c8,'\x46\x44\x76\x57'),_0x1c6071(0x456,'\x59\x5d\x4b\x49')+_0x1c6071(0x7db,'\x47\x66\x32\x30')+_0x1c6071(0x699,'\x29\x48\x4f\x42')+_0x1c6071(0x444,'\x4e\x4d\x65\x63')+_0x1c6071(0x379,'\x32\x38\x78\x4f'),_0x1c6071(0x3e4,'\x38\x4e\x28\x51')+_0x1c6071(0x254,'\x62\x62\x63\x73')+_0x1c6071(0x6ce,'\x71\x7a\x44\x67')+_0x1c6071(0x80d,'\x4e\x4d\x65\x63')+_0x1c6071(0x708,'\x79\x51\x35\x70')],DEFAULT_PROVIDER_STREAM_MAX_EVENTS),'\x63\x68\x75\x6e\x6b\x4d\x61\x78\x42\x79\x74\x65\x73':positiveIntegerFromEnv(_0x24e3ad,[_0x1c6071(0x56b,'\x50\x25\x54\x4d')+_0x1c6071(0x3c2,'\x25\x59\x4b\x67')+_0x1c6071(0x558,'\x75\x63\x55\x63')+_0x1c6071(0x66e,'\x75\x63\x55\x63')+_0x1c6071(0x683,'\x75\x63\x55\x63')+_0x1c6071(0x490,'\x70\x64\x63\x6c'),_0x1c6071(0x5b5,'\x6f\x25\x4f\x62')+_0x1c6071(0x7f6,'\x44\x25\x49\x65')+_0x1c6071(0x640,'\x53\x7a\x6d\x30')+'\x44\x45\x52\x5f\x53\x54\x52\x45'+_0x1c6071(0x275,'\x62\x26\x21\x42')+_0x1c6071(0x3b3,'\x50\x25\x54\x4d'),_0x1c6071(0x74e,'\x76\x2a\x59\x5d')+_0x1c6071(0x759,'\x41\x64\x57\x30')+_0x1c6071(0x4a8,'\x4e\x4d\x65\x63')+_0x1c6071(0x29c,'\x61\x4d\x35\x40')+'\x45\x53',_0x1c6071(0x777,'\x21\x2a\x5d\x40')+_0x1c6071(0x385,'\x46\x44\x76\x57')+_0x1c6071(0x361,'\x29\x48\x4f\x42')+_0x1c6071(0x1af,'\x32\x38\x78\x4f')+'\x54\x45\x53'],_0x1929ad),'\x72\x61\x77\x53\x74\x72\x65\x61\x6d\x4d\x61\x78\x43\x68\x61\x72\x73':positiveIntegerFromEnv(_0x24e3ad,['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x1c6071(0x1a6,'\x59\x5d\x4b\x49')+_0x1c6071(0x32d,'\x71\x7a\x44\x67')+'\x45\x52\x5f\x52\x41\x57\x5f\x53'+_0x1c6071(0x4de,'\x35\x59\x64\x78')+_0x1c6071(0x376,'\x6a\x6f\x63\x28'),'\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0x1c6071(0x1d2,'\x58\x45\x24\x44')+_0x1c6071(0x6fd,'\x76\x77\x5e\x46')+'\x44\x45\x52\x5f\x52\x41\x57\x5f'+_0x1c6071(0x794,'\x71\x7a\x44\x67')+'\x41\x58\x5f\x43\x48\x41\x52\x53',_0x1c6071(0x6a5,'\x47\x66\x32\x30')+'\x4c\x4c\x4d\x5f\x54\x52\x41\x43'+_0x1c6071(0x617,'\x44\x25\x49\x65')+_0x1c6071(0x235,'\x53\x7a\x6d\x30')+_0x1c6071(0x75e,'\x63\x32\x63\x4e'),_0x1c6071(0x340,'\x53\x7a\x6d\x30')+_0x1c6071(0x19e,'\x76\x71\x30\x5b')+_0x1c6071(0x696,'\x70\x64\x63\x6c')+_0x1c6071(0x6f1,'\x44\x25\x49\x65')+_0x1c6071(0x7ef,'\x78\x40\x50\x24')],_0x1929ad),'\x73\x65\x6d\x61\x6e\x74\x69\x63\x54\x61\x69\x6c\x4d\x61\x78\x45\x76\x65\x6e\x74\x73':positiveIntegerFromEnv(_0x24e3ad,[_0x1c6071(0x199,'\x72\x32\x37\x36')+'\x4c\x4c\x4d\x5f\x54\x52\x41\x43'+'\x45\x5f\x50\x52\x4f\x56\x49\x44'+_0x1c6071(0x248,'\x25\x59\x4b\x67')+_0x1c6071(0x4a2,'\x53\x69\x4b\x76')+_0x1c6071(0x1e6,'\x76\x77\x5e\x46')+_0x1c6071(0x31f,'\x62\x62\x63\x73')+'\x54\x53',_0x1c6071(0x4f4,'\x58\x45\x24\x44')+'\x52\x4f\x58\x59\x5f\x54\x52\x41'+_0x1c6071(0x775,'\x24\x32\x40\x40')+_0x1c6071(0x3fc,'\x57\x52\x4b\x4b')+_0x1c6071(0x5ad,'\x75\x63\x55\x63')+_0x1c6071(0x227,'\x32\x47\x61\x64')+_0x1c6071(0x37e,'\x41\x6d\x6f\x70')+_0x1c6071(0x580,'\x46\x44\x76\x57'),_0x1c6071(0x322,'\x63\x32\x63\x4e')+_0x1c6071(0x528,'\x76\x2a\x59\x5d')+_0x1c6071(0x5fc,'\x43\x72\x69\x29')+_0x1c6071(0x262,'\x61\x4d\x35\x40')+_0x1c6071(0x39c,'\x70\x64\x63\x6c')+_0x1c6071(0x4e4,'\x23\x63\x24\x68')+'\x53',_0x1c6071(0x5b5,'\x6f\x25\x4f\x62')+_0x1c6071(0x43e,'\x57\x5d\x74\x6f')+_0x1c6071(0x74f,'\x61\x6b\x75\x53')+'\x4d\x5f\x53\x45\x4d\x41\x4e\x54'+_0x1c6071(0x536,'\x56\x61\x29\x64')+_0x1c6071(0x433,'\x76\x77\x5e\x46')+'\x54\x53'],DEFAULT_PROVIDER_STREAM_SEMANTIC_TAIL_EVENTS),'\x73\x65\x6d\x61\x6e\x74\x69\x63\x54\x61\x69\x6c\x4d\x61\x78\x42\x79\x74\x65\x73':positiveIntegerFromEnv(_0x24e3ad,['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x1c6071(0x533,'\x72\x32\x37\x36')+_0x1c6071(0x44d,'\x72\x32\x37\x36')+_0x1c6071(0x43d,'\x46\x44\x76\x57')+'\x4d\x5f\x53\x45\x4d\x41\x4e\x54'+_0x1c6071(0x312,'\x57\x5d\x74\x6f')+_0x1c6071(0x6ed,'\x38\x21\x34\x29')+'\x53',_0x1c6071(0x65f,'\x76\x77\x5e\x46')+_0x1c6071(0x825,'\x32\x47\x61\x64')+_0x1c6071(0x4c1,'\x6a\x6f\x63\x28')+_0x1c6071(0x4f0,'\x54\x4c\x70\x5e')+_0x1c6071(0x367,'\x6f\x25\x4f\x62')+_0x1c6071(0x5ae,'\x46\x44\x76\x57')+_0x1c6071(0x250,'\x76\x77\x5e\x46')+'\x45\x53',_0x1c6071(0x273,'\x24\x32\x40\x40')+_0x1c6071(0x1fb,'\x21\x2a\x5d\x40')+_0x1c6071(0x323,'\x5d\x6a\x53\x77')+_0x1c6071(0x81d,'\x32\x47\x61\x64')+_0x1c6071(0x5f1,'\x75\x63\x55\x63')+_0x1c6071(0x6e0,'\x75\x63\x55\x63'),_0x1c6071(0x238,'\x24\x32\x40\x40')+_0x1c6071(0x2d1,'\x75\x63\x55\x63')+'\x43\x45\x5f\x53\x54\x52\x45\x41'+_0x1c6071(0x27f,'\x58\x45\x24\x44')+_0x1c6071(0x4f7,'\x38\x4e\x28\x51')+_0x1c6071(0x4c6,'\x47\x66\x32\x30')+'\x53'],_0x1929ad)};}const OPENAI_ROUTER_ENABLED_KEYS=[_0x19772a(0x33a,'\x71\x7a\x44\x67')+_0x19772a(0x7e2,'\x4e\x4d\x65\x63')+_0x19772a(0x542,'\x75\x63\x55\x63')+_0x19772a(0x1cc,'\x23\x63\x24\x68')+'\x44',_0x19772a(0x38d,'\x79\x51\x35\x70')+'\x50\x45\x4e\x41\x49\x5f\x52\x4f'+_0x19772a(0x7f2,'\x38\x21\x34\x29')+_0x19772a(0x5eb,'\x6f\x25\x4f\x62')],OPENAI_ROUTE_THREADED_KEYS=['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x19772a(0x42a,'\x41\x64\x57\x30')+_0x19772a(0x754,'\x62\x26\x21\x42')+'\x5f\x54\x48\x52\x45\x41\x44\x45'+'\x44',_0x19772a(0x263,'\x35\x59\x64\x78')+_0x19772a(0x4ad,'\x38\x4e\x28\x51')+_0x19772a(0x460,'\x4a\x77\x33\x50')+_0x19772a(0x760,'\x43\x72\x69\x29')],OPENAI_ROUTED_RETRY_STATUSES=new Set([0x24a3+-0x172+0x21a1*-0x1,0x382+0x1*0x29d+0x1*-0x48b,0x1*0x304+-0x8d8+0x77a]),ROUTER_FALSE_VALUES=new Set(['\x30','\x66\x61\x6c\x73\x65',_0x19772a(0x681,'\x79\x51\x35\x70'),'\x6e\x6f',_0x19772a(0x468,'\x38\x21\x34\x29')]);function jsonStringify(_0x3a7e72){const _0x3d0868=_0x19772a;return JSON[_0x3d0868(0x65c,'\x41\x64\x57\x30')+'\x79'](_0x3a7e72);}function copyResponseHeaders(_0x1d4334={},_0x44f2a3){const _0x4653a5=_0x19772a,_0x1d49fd={};for(const [_0xf4b8c2,_0x5b1083]of Object[_0x4653a5(0x409,'\x46\x44\x76\x57')](_0x1d4334)){const _0x445804=_0xf4b8c2[_0x4653a5(0x26a,'\x7a\x4a\x6c\x35')+_0x4653a5(0x2c0,'\x66\x76\x37\x4f')]();if(!_0x44f2a3(_0x445804)||_0x5b1083===undefined||_0x5b1083===null)continue;if(/[\r\n]/['\x74\x65\x73\x74'](_0x5b1083))continue;_0x1d49fd[_0x445804]=_0x5b1083;}return _0x1d49fd;}export function copyOpenAIResponseHeaders(_0x59ddf9={}){const _0x32fe43=_0x19772a;return copyResponseHeaders(_0x59ddf9,_0x121262=>OPENAI_RESPONSE_HEADER_ALLOWLIST[_0x32fe43(0x4d7,'\x4a\x77\x33\x50')](_0x121262)||_0x121262[_0x32fe43(0x764,'\x79\x51\x35\x70')+'\x74\x68']('\x78\x2d\x72\x61\x74\x65\x6c\x69'+_0x32fe43(0x594,'\x62\x62\x63\x73')));}export function copyGeminiResponseHeaders(_0x2e2b68={}){const _0x3348a3=_0x19772a;return copyResponseHeaders(_0x2e2b68,_0x4b02ac=>GEMINI_RESPONSE_HEADER_ALLOWLIST[_0x3348a3(0x362,'\x57\x52\x4b\x4b')](_0x4b02ac)||_0x4b02ac['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68']('\x78\x2d\x67\x6f\x6f\x67\x2d'));}function responseToBody(_0xa09283,_0x20e2ff,_0x3aeda7,_0x27e6e4,_0x2ebe8a){const _0x7a5de4=_0x19772a;if(!_0xa09283)return{};try{return JSON['\x70\x61\x72\x73\x65'](_0xa09283);}catch{if('\x42\x45\x51\x72\x67'!=='\x70\x48\x6e\x79\x70')return _0x27e6e4[_0x7a5de4(0x66d,'\x50\x25\x54\x4d')]?.(jsonStringify({'\x65\x76\x65\x6e\x74':_0x2ebe8a,'\x72\x65\x61\x73\x6f\x6e':_0x7a5de4(0x3cd,'\x32\x47\x61\x64')+_0x7a5de4(0x1cf,'\x72\x32\x37\x36')+'\x6e','\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x73\x74\x61\x74\x75\x73':_0x20e2ff,'\x63\x6f\x6e\x74\x65\x6e\x74\x5f\x74\x79\x70\x65':_0x3aeda7?.[_0x7a5de4(0x211,'\x73\x56\x4a\x6a')+_0x7a5de4(0x308,'\x34\x4e\x47\x31')]||'','\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x62\x79\x74\x65\x73':Buffer[_0x7a5de4(0x768,'\x46\x44\x76\x57')+'\x74\x68'](_0xa09283)})),{'\x65\x72\x72\x6f\x72':_0xa09283};else{const _0x328a51=_0x226743(_0x5a01ec[_0x7a5de4(0x820,'\x5d\x6a\x53\x77')])||_0x43e6fc(_0xad4ac9[_0x7a5de4(0x3fa,'\x38\x4e\x28\x51')+'\x69\x64']);if(_0x328a51)return _0x555400(_0x328a51);}}}function attemptResponseToBody(_0x17c7b6){const _0x2b8f38=_0x19772a;if(!_0x17c7b6)return{};try{return JSON[_0x2b8f38(0x530,'\x35\x59\x64\x78')](_0x17c7b6);}catch{return _0x2b8f38(0x578,'\x76\x2a\x59\x5d')!==_0x2b8f38(0x301,'\x61\x4d\x35\x40')?{'\x65\x72\x72\x6f\x72':_0x17c7b6}:{};}}function asUpstreamError(_0x66068e,_0x40890a,_0xaae2d3=0x19*0x10d+-0x243c+-0x2b*-0x47){const _0x261a16=_0x19772a,_0x1faed4=_0x40890a&&typeof _0x40890a==='\x6f\x62\x6a\x65\x63\x74'&&_0x261a16(0x5d7,'\x43\x72\x69\x29')+'\x64\x65'in _0x40890a?Number(_0x40890a[_0x261a16(0x390,'\x70\x64\x63\x6c')+'\x64\x65']):NaN;return Object[_0x261a16(0x316,'\x34\x34\x79\x6a')](new Error(_0x66068e+(_0x261a16(0x6d2,'\x62\x62\x63\x73')+_0x261a16(0x606,'\x47\x66\x32\x30')+_0x261a16(0x6d9,'\x44\x25\x49\x65'))),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':Number[_0x261a16(0x6e7,'\x41\x6d\x6f\x70')](_0x1faed4)?_0x1faed4:_0xaae2d3,'\x63\x61\x75\x73\x65':_0x40890a});}function badRequest(_0x4dace5){const _0x17a65e=_0x19772a;return Object[_0x17a65e(0x7dd,'\x44\x25\x49\x65')](new Error(_0x4dace5),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x190});}function isRecord(_0x57d8f4){const _0x23af46=_0x19772a;return!!_0x57d8f4&&typeof _0x57d8f4===_0x23af46(0x63c,'\x25\x59\x4b\x67')&&!Array['\x69\x73\x41\x72\x72\x61\x79'](_0x57d8f4);}function envEnabled(_0x256151,_0x9c195f){const _0x23bfdd=_0x19772a;for(const _0x4d244b of _0x9c195f){if(_0x23bfdd(0x44c,'\x76\x77\x5e\x46')===_0x23bfdd(0x1fa,'\x57\x5d\x74\x6f')){const _0xf3119f=_0x4ecf17(_0x9942db[_0x23bfdd(0x5c3,'\x76\x71\x30\x5b')]);return _0xf3119f?{'\x75\x73\x65\x72\x5f\x69\x64\x5f\x68\x61\x73\x68':_0xf3119f}:{};}else{const _0x3c7062=_0x256151[_0x4d244b];if(_0x3c7062===undefined)continue;const _0x5ba351=String(_0x3c7062)[_0x23bfdd(0x5ac,'\x32\x38\x78\x4f')]()[_0x23bfdd(0x3a0,'\x25\x59\x4b\x67')+'\x61\x73\x65']();if(!_0x5ba351||ROUTER_FALSE_VALUES[_0x23bfdd(0x4ee,'\x25\x59\x4b\x67')](_0x5ba351))return![];return!![];}}return![];}function routeSpecificOpenAIModelKeys(_0x2ed1bd,_0x2e42b3){const _0x27b839=_0x19772a;if(_0x2ed1bd==='\x2f\x76\x31\x2f\x72\x65\x73\x70'+_0x27b839(0x789,'\x73\x56\x4a\x6a'))return[_0x27b839(0x2b1,'\x62\x26\x21\x42')+_0x27b839(0x2c9,'\x75\x63\x55\x63')+_0x27b839(0x41c,'\x70\x64\x63\x6c')+_0x27b839(0x80a,'\x72\x32\x37\x36')+_0x27b839(0x3c7,'\x72\x32\x37\x36')+_0x2e42b3,_0x27b839(0x2ed,'\x75\x63\x55\x63')+_0x27b839(0x1a9,'\x71\x7a\x44\x67')+_0x27b839(0x73f,'\x58\x45\x24\x44')+_0x27b839(0x1c2,'\x75\x63\x55\x63')+_0x2e42b3];return[_0x27b839(0x4ff,'\x4e\x4d\x65\x63')+_0x27b839(0x7aa,'\x79\x51\x35\x70')+_0x27b839(0x4be,'\x73\x56\x4a\x6a')+'\x4d\x4f\x44\x45\x4c\x5f'+_0x2e42b3,_0x27b839(0x4f1,'\x62\x26\x21\x42')+_0x27b839(0x4bb,'\x76\x2a\x59\x5d')+_0x27b839(0x17d,'\x4e\x4d\x65\x63')+'\x5f'+_0x2e42b3];}export function resolveOpenAITierModels(_0x2c07b8=process.env,_0x1adc8b){const _0x9d78be=_0x19772a,_0x432da9={},_0x1aefdf=_0x164c9a=>{const _0x2cd2c6=_0x5bff;for(const _0x40d61b of _0x164c9a){if(_0x2cd2c6(0x193,'\x66\x76\x37\x4f')===_0x2cd2c6(0x2e5,'\x34\x4e\x47\x31')){if(!_0x4fa48f)return{};try{return _0x4d5154[_0x2cd2c6(0x5a1,'\x32\x38\x78\x4f')](_0x50a25c);}catch{return _0x1d559f['\x77\x61\x72\x6e']?.(_0x59d1bb({'\x65\x76\x65\x6e\x74':_0xe3aa61,'\x72\x65\x61\x73\x6f\x6e':_0x2cd2c6(0x236,'\x34\x4e\x47\x31')+_0x2cd2c6(0x3f6,'\x61\x4d\x35\x40')+'\x6e','\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x73\x74\x61\x74\x75\x73':_0xc2bceb,'\x63\x6f\x6e\x74\x65\x6e\x74\x5f\x74\x79\x70\x65':_0x5a8e49?.[_0x2cd2c6(0x476,'\x25\x59\x4b\x67')+_0x2cd2c6(0x5db,'\x50\x25\x54\x4d')]||'','\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x62\x79\x74\x65\x73':_0x3b9529[_0x2cd2c6(0x4e7,'\x41\x6d\x6f\x70')+'\x74\x68'](_0x230642)})),{'\x65\x72\x72\x6f\x72':_0x361df7};}}else{const _0x21046f=_0x2c07b8[_0x40d61b];if(typeof _0x21046f===_0x2cd2c6(0x501,'\x75\x63\x55\x63')&&_0x21046f['\x74\x72\x69\x6d']())return _0x21046f[_0x2cd2c6(0x20a,'\x47\x66\x32\x30')]();}}return undefined;},_0x45f1ac=_0x345ed2=>[..._0x1adc8b?routeSpecificOpenAIModelKeys(_0x1adc8b,_0x345ed2):[],_0x9d78be(0x59e,'\x75\x63\x55\x63')+_0x9d78be(0x404,'\x57\x52\x4b\x4b')+_0x9d78be(0x34a,'\x34\x4e\x47\x31')+'\x5f'+_0x345ed2,_0x9d78be(0x263,'\x35\x59\x64\x78')+_0x9d78be(0x693,'\x21\x2a\x5d\x40')+'\x44\x45\x4c\x5f'+_0x345ed2],_0x3e65d9=_0x1aefdf(_0x45f1ac('\x43\x48\x45\x41\x50')),_0x382fde=_0x1aefdf(_0x45f1ac(_0x9d78be(0x1ed,'\x43\x72\x69\x29'))),_0x23e052=_0x1aefdf(_0x45f1ac(_0x9d78be(0x2d6,'\x62\x62\x63\x73')+'\x45'));if(_0x3e65d9)_0x432da9['\x63\x68\x65\x61\x70']=_0x3e65d9;if(_0x382fde)_0x432da9[_0x9d78be(0x734,'\x4a\x77\x33\x50')]=_0x382fde;if(_0x23e052)_0x432da9[_0x9d78be(0x785,'\x6a\x6f\x63\x28')+'\x65']=_0x23e052;return _0x432da9;}function textFromContent(_0x1bede4){const _0x2b5ba7=_0x19772a;if(typeof _0x1bede4==='\x73\x74\x72\x69\x6e\x67')return _0x1bede4;if(!Array[_0x2b5ba7(0x4cc,'\x38\x21\x34\x29')](_0x1bede4))return'';return _0x1bede4[_0x2b5ba7(0x73d,'\x76\x71\x30\x5b')](_0x5b5a36=>{const _0x27d344=_0x2b5ba7;if(_0x27d344(0x1ba,'\x54\x4c\x70\x5e')!==_0x27d344(0x6de,'\x58\x45\x24\x44')){if(typeof _0x5b5a36===_0x27d344(0x672,'\x63\x32\x63\x4e'))return _0x5b5a36;if(!isRecord(_0x5b5a36))return'';for(const _0x20a0b2 of[_0x27d344(0x695,'\x32\x38\x78\x4f'),_0x27d344(0x60d,'\x5d\x6a\x53\x77')+'\x78\x74','\x6f\x75\x74\x70\x75\x74\x5f\x74'+_0x27d344(0x239,'\x4e\x4d\x65\x63'),_0x27d344(0x186,'\x57\x52\x4b\x4b')]){const _0x57580c=_0x5b5a36[_0x20a0b2];if(typeof _0x57580c===_0x27d344(0x481,'\x78\x40\x50\x24'))return _0x57580c;}return'';}else _0x3ca784=_0xd1ef06[_0x27d344(0x532,'\x50\x25\x54\x4d')](_0x24d534);})[_0x2b5ba7(0x7b5,'\x4e\x4d\x65\x63')](Boolean)[_0x2b5ba7(0x183,'\x72\x32\x37\x36')]('\x0a');}function isOpenAIToolOutput(_0x5bac29){const _0x2b5230=_0x19772a;if(!isRecord(_0x5bac29))return![];const _0xf92ac0=typeof _0x5bac29[_0x2b5230(0x6e3,'\x57\x52\x4b\x4b')]===_0x2b5230(0x707,'\x46\x44\x76\x57')?_0x5bac29[_0x2b5230(0x5d0,'\x41\x6d\x6f\x70')]:'',_0x34682b=typeof _0x5bac29[_0x2b5230(0x72a,'\x63\x32\x63\x4e')]==='\x73\x74\x72\x69\x6e\x67'?_0x5bac29[_0x2b5230(0x4bd,'\x35\x59\x64\x78')]:'';return _0xf92ac0===_0x2b5230(0x67e,'\x6a\x6f\x63\x28')+_0x2b5230(0x786,'\x21\x2a\x5d\x40')+'\x74\x70\x75\x74'||_0xf92ac0===_0x2b5230(0x1b5,'\x35\x59\x64\x78')+_0x2b5230(0x21c,'\x62\x26\x21\x42')||_0x34682b===_0x2b5230(0x4af,'\x58\x45\x24\x44');}function openAIResponsesInputText(_0x41ae15){const _0x5c1928=_0x19772a;if(typeof _0x41ae15===_0x5c1928(0x672,'\x63\x32\x63\x4e'))return _0x41ae15;if(!Array[_0x5c1928(0x79a,'\x34\x4e\x47\x31')](_0x41ae15))return'';for(let _0x259693=_0x41ae15[_0x5c1928(0x37f,'\x21\x2a\x5d\x40')]-(-0x5*-0x3e1+0x4*0x822+0xcfb*-0x4);_0x259693>=0x2651+-0x8b4+-0x1d9d;_0x259693--){const _0xb7c3c=_0x41ae15[_0x259693];if(!isRecord(_0xb7c3c)||isOpenAIToolOutput(_0xb7c3c))continue;const _0x8d2d04=typeof _0xb7c3c[_0x5c1928(0x5e0,'\x24\x32\x40\x40')]===_0x5c1928(0x3ce,'\x62\x62\x63\x73')?_0xb7c3c[_0x5c1928(0x5a7,'\x75\x63\x55\x63')]:'';if(_0x8d2d04&&_0x8d2d04!==_0x5c1928(0x7bf,'\x50\x25\x54\x4d'))continue;const _0x38eb41=textFromContent(_0xb7c3c[_0x5c1928(0x571,'\x76\x2a\x59\x5d')]);if(_0x38eb41)return _0x38eb41;const _0x3b179d=textFromContent(_0xb7c3c[_0x5c1928(0x21a,'\x23\x63\x24\x68')]);if(_0x3b179d)return _0x3b179d;}return'';}function openAIChatLastUserText(_0x5ecfde){const _0x393e6f=_0x19772a;if(!Array[_0x393e6f(0x68d,'\x71\x7a\x44\x67')](_0x5ecfde))return'';for(let _0x3a21d1=_0x5ecfde[_0x393e6f(0x249,'\x62\x62\x63\x73')]-(-0x68c+-0x234e+0x29db);_0x3a21d1>=-0x22ca+0x134a+-0x4*-0x3e0;_0x3a21d1--){if('\x4d\x46\x6d\x77\x73'===_0x393e6f(0x494,'\x4a\x77\x33\x50')){const _0x5267bb=_0x5ecfde[_0x3a21d1];if(!isRecord(_0x5267bb)||_0x5267bb[_0x393e6f(0x223,'\x6c\x7a\x58\x71')]!==_0x393e6f(0x2f1,'\x62\x26\x21\x42'))continue;return textFromContent(_0x5267bb['\x63\x6f\x6e\x74\x65\x6e\x74']);}else{const _0x1d5872=_0x387a25(_0x4335b7['\x70\x72\x6f\x76\x69\x64\x65\x72'],_0x4fbcf8);_0x296d49(_0x12538b,_0x390ea7,_0x1c9977,{'\x73\x74\x61\x74\x75\x73':_0x1d5872[_0x393e6f(0x2a6,'\x78\x40\x50\x24')+'\x64\x65'],'\x73\x74\x72\x65\x61\x6d':![],'\x65\x72\x72\x6f\x72':_0x1d5872[_0x393e6f(0x577,'\x35\x59\x64\x78')]},_0x574e32);throw _0x1d5872;}}return'';}function openAIChatLastToolCallCount(_0x2935f2){const _0xaacff0=_0x19772a;if(!Array[_0xaacff0(0x63f,'\x76\x71\x30\x5b')](_0x2935f2))return 0x1f57+0x16*-0x135+0x7*-0xaf;for(let _0x12be61=_0x2935f2['\x6c\x65\x6e\x67\x74\x68']-(0x4a3*0x7+-0x239d+0x329);_0x12be61>=0x6f*0x3+0x1e6b+-0x1fb8;_0x12be61--){const _0x29263f=_0x2935f2[_0x12be61];if(!isRecord(_0x29263f)||_0x29263f[_0xaacff0(0x76b,'\x4e\x4d\x65\x63')]!==_0xaacff0(0x52b,'\x62\x62\x63\x73')+'\x74')continue;const _0x480a88=_0x29263f['\x74\x6f\x6f\x6c\x5f\x63\x61\x6c'+'\x6c\x73'];return Array[_0xaacff0(0x513,'\x4a\x77\x33\x50')](_0x480a88)?_0x480a88[_0xaacff0(0x36b,'\x72\x32\x37\x36')]:0x2a1*-0xb+-0x1516+-0x2f1*-0x11;}return-0x1bd8+0x2*0x11e8+-0x7f8;}function featuresFromText(_0x554582,_0x348aa0,_0x13cfce){const _0x16f689=_0x19772a,_0x5f59c0=_0x554582[_0x16f689(0x321,'\x43\x72\x69\x29')](),_0x3968f6=_0x5f59c0[_0x16f689(0x18b,'\x32\x47\x61\x64')]>-0x916*0x3+-0x229+-0x1bb*-0x11&&PLAN_RE[_0x16f689(0x572,'\x4e\x4d\x65\x63')](_0x5f59c0);return{'\x6c\x61\x73\x74\x5f\x61\x73\x73\x69\x73\x74\x61\x6e\x74\x5f\x74\x6f\x6f\x6c\x5f\x63\x61\x6c\x6c\x5f\x63\x6f\x75\x6e\x74':_0x13cfce,'\x6c\x61\x73\x74\x5f\x61\x73\x73\x69\x73\x74\x61\x6e\x74\x5f\x68\x61\x64\x5f\x74\x6f\x6f\x6c\x5f\x63\x61\x6c\x6c':_0x13cfce>0x1ae5+0x1*-0x2165+0x68*0x10,'\x6c\x61\x73\x74\x5f\x75\x73\x65\x72\x5f\x69\x73\x5f\x74\x6f\x6f\x6c\x5f\x72\x65\x73\x75\x6c\x74\x5f\x6f\x6e\x6c\x79':_0x348aa0,'\x75\x73\x65\x72\x5f\x72\x65\x71\x75\x65\x73\x74\x65\x64\x5f\x70\x6c\x61\x6e\x6e\x69\x6e\x67':_0x3968f6,'\x75\x73\x65\x72\x5f\x73\x69\x6d\x70\x6c\x65\x5f\x6c\x6f\x6f\x6b\x75\x70':_0x5f59c0[_0x16f689(0x814,'\x34\x34\x79\x6a')]>0xb78*0x3+0x149a+0x1b81*-0x2&&!_0x348aa0&&!_0x3968f6&&_0x5f59c0[_0x16f689(0x73b,'\x6c\x7a\x58\x71')]<=SIMPLE_LOOKUP_MAX_CHARS,'\x6c\x61\x73\x74\x5f\x61\x73\x73\x69\x73\x74\x61\x6e\x74\x5f\x6f\x75\x74\x70\x75\x74\x5f\x74\x6f\x6b\x65\x6e\x73':0x0,'\x6c\x61\x73\x74\x5f\x61\x73\x73\x69\x73\x74\x61\x6e\x74\x5f\x73\x74\x6f\x70\x5f\x72\x65\x61\x73\x6f\x6e':_0x348aa0||_0x13cfce>0x4*0x4f0+-0x2*-0x335+-0x1a2a*0x1?_0x16f689(0x788,'\x29\x48\x4f\x42'):null};}function extractOpenAIFeatures(_0x5868fb,_0x2ce87a){const _0x20b23b=_0x19772a;if(_0x5868fb===_0x20b23b(0x5a0,'\x38\x21\x34\x29')+_0x20b23b(0x2d9,'\x41\x6d\x6f\x70')+_0x20b23b(0x73e,'\x4a\x77\x33\x50')){const _0x16ef48=_0x2ce87a['\x6d\x65\x73\x73\x61\x67\x65\x73'],_0x51c968=Array[_0x20b23b(0x513,'\x4a\x77\x33\x50')](_0x16ef48)?_0x16ef48[_0x16ef48[_0x20b23b(0x249,'\x62\x62\x63\x73')]-(-0x947+-0x2167+0x31*0xdf)]:null,_0x1bf0f7=isOpenAIToolOutput(_0x51c968);return featuresFromText(openAIChatLastUserText(_0x16ef48),_0x1bf0f7,openAIChatLastToolCallCount(_0x16ef48));}const _0x53ec78=_0x2ce87a[_0x20b23b(0x7d1,'\x71\x7a\x44\x67')],_0x64802d=Array[_0x20b23b(0x49d,'\x63\x32\x63\x4e')](_0x53ec78)&&_0x53ec78[_0x20b23b(0x3ff,'\x66\x76\x37\x4f')]>0x37c*0x7+0x191*0x16+-0x117*0x36&&_0x53ec78['\x65\x76\x65\x72\x79'](isOpenAIToolOutput),_0x3dfcfd=Array[_0x20b23b(0x5c6,'\x44\x25\x49\x65')](_0x53ec78)?_0x53ec78[_0x20b23b(0x4ac,'\x29\x48\x4f\x42')](_0x33c7d=>isRecord(_0x33c7d)&&_0x33c7d['\x74\x79\x70\x65']===_0x20b23b(0x63a,'\x6f\x25\x4f\x62')+_0x20b23b(0x655,'\x29\x48\x4f\x42'))[_0x20b23b(0x677,'\x5d\x6a\x53\x77')]:-0x26cf+0x53*-0x5c+0x1*0x44a3;return featuresFromText(openAIResponsesInputText(_0x53ec78),_0x64802d,_0x3dfcfd);}function hasOpenAIResponsesThreadState(_0x358a87){const _0x32f5bc=_0x19772a;return _0x358a87['\x70\x72\x65\x76\x69\x6f\x75\x73'+'\x5f\x72\x65\x73\x70\x6f\x6e\x73'+_0x32f5bc(0x36c,'\x72\x32\x37\x36')]!==undefined||_0x358a87[_0x32f5bc(0x395,'\x29\x48\x4f\x42')+_0x32f5bc(0x4c9,'\x46\x44\x76\x57')]!==undefined;}function shouldRetryRoutedOpenAI(_0x56237c,_0x516211){const _0x5aceee=_0x19772a;if(_0x56237c[_0x5aceee(0x487,'\x78\x40\x50\x24')]||_0x516211[_0x5aceee(0x7a3,'\x53\x69\x4b\x76')]!==_0x5aceee(0x58b,'\x62\x62\x63\x73'))return![];if(!_0x516211[_0x5aceee(0x43a,'\x57\x52\x4b\x4b')+'\x79']||!_0x516211[_0x5aceee(0x61d,'\x76\x2a\x59\x5d')+_0x5aceee(0x458,'\x62\x62\x63\x73')]||_0x516211[_0x5aceee(0x68a,'\x79\x51\x35\x70')+'\x64\x65\x6c']===_0x516211[_0x5aceee(0x2d0,'\x41\x64\x57\x30')])return![];return _0x56237c[_0x5aceee(0x36d,'\x34\x4e\x47\x31')]>=-0x56*-0xb+0x1713+-0x1*0x18d1||OPENAI_ROUTED_RETRY_STATUSES[_0x5aceee(0x678,'\x35\x59\x64\x78')](_0x56237c[_0x5aceee(0x271,'\x57\x52\x4b\x4b')]);}function routeOpenAIRequest(_0x564b4d,_0x13e057,_0x5cfc0d,_0x5bb3f4){const _0x1feeb0=_0x19772a,_0x974314=typeof _0x13e057[_0x1feeb0(0x6c5,'\x57\x5d\x74\x6f')]===_0x1feeb0(0x501,'\x75\x63\x55\x63')?_0x13e057[_0x1feeb0(0x3c4,'\x38\x4e\x28\x51')]:null;let _0x2bb852=_0x974314,_0x3aa483=null,_0x96701c=null,_0xfa2ac2=null,_0x4134ec;const _0x125719=envEnabled(_0x5cfc0d,OPENAI_ROUTER_ENABLED_KEYS);if(!_0x125719)return{'\x62\x6f\x64\x79':_0x13e057,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x4d\x6f\x64\x65\x6c':_0x974314,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x2bb852,'\x74\x69\x65\x72':_0x3aa483,'\x72\x65\x61\x73\x6f\x6e':_0x96701c,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0xfa2ac2,'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x125719};if(_0x564b4d===_0x1feeb0(0x676,'\x32\x38\x78\x4f')+_0x1feeb0(0x3e6,'\x76\x2a\x59\x5d')&&hasOpenAIResponsesThreadState(_0x13e057)&&!envEnabled(_0x5cfc0d,OPENAI_ROUTE_THREADED_KEYS)){if(_0x1feeb0(0x56e,'\x41\x6d\x6f\x70')==='\x58\x53\x79\x79\x6b'){const _0x2c91f6=_0x33589b(_0x13a059,_0x3d4d6b)[_0x1feeb0(0x725,'\x53\x7a\x6d\x30')](),_0x5d5a3c=_0x5b992c(_0x2c91f6);if(_0x5d5a3c)return _0xe22978(_0x5d5a3c);}else return{'\x62\x6f\x64\x79':_0x13e057,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x4d\x6f\x64\x65\x6c':_0x974314,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x2bb852,'\x74\x69\x65\x72':_0x3aa483,'\x72\x65\x61\x73\x6f\x6e':_0x96701c,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x1feeb0(0x569,'\x78\x40\x50\x24')+_0x1feeb0(0x53b,'\x38\x4e\x28\x51')+_0x1feeb0(0x6f7,'\x58\x45\x24\x44'),'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x125719};}if(!_0x974314){if('\x54\x78\x77\x68\x65'!==_0x1feeb0(0x61c,'\x7a\x4a\x6c\x35'))return{'\x62\x6f\x64\x79':_0x13e057,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x4d\x6f\x64\x65\x6c':_0x974314,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x2bb852,'\x74\x69\x65\x72':_0x3aa483,'\x72\x65\x61\x73\x6f\x6e':_0x96701c,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x1feeb0(0x54a,'\x56\x61\x29\x64')+_0x1feeb0(0x3c4,'\x38\x4e\x28\x51'),'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x125719};else{const _0x4575d4=_0x5c348a[_0x1feeb0(0x40b,'\x5d\x6a\x53\x77')+'\x78\x4f\x66']('\x3a');if(_0x4575d4===-(-0x76d*-0x3+-0x77*0x43+0x2f5*0x3))return{'\x6d\x6f\x64\x65\x6c':_0x14c7ef,'\x61\x63\x74\x69\x6f\x6e':''};return{'\x6d\x6f\x64\x65\x6c':_0x26f819[_0x1feeb0(0x546,'\x58\x45\x24\x44')](-0x11b0+0x21be+0x19b*-0xa,_0x4575d4),'\x61\x63\x74\x69\x6f\x6e':_0x5055bb[_0x1feeb0(0x6ca,'\x4a\x77\x33\x50')](_0x4575d4+(0x2655+0x1af3+-0x4147))};}}try{_0x4134ec=extractOpenAIFeatures(_0x564b4d,_0x13e057);const _0xaa1d00=pickForTurn({'\x66\x65\x61\x74\x75\x72\x65\x73':_0x4134ec,'\x72\x6f\x75\x74\x65\x72\x5f\x73\x74\x61\x74\x65':{'\x68\x69\x73\x74\x6f\x72\x79':[],'\x70\x69\x6e\x6e\x65\x64':null},'\x63\x6f\x6e\x66\x69\x67':{'\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x69\x65\x72':_0x1feeb0(0x6c7,'\x41\x6d\x6f\x70'),'\x64\x69\x73\x61\x62\x6c\x65':![],'\x68\x61\x72\x64\x5f\x70\x69\x6e\x5f\x61\x66\x74\x65\x72\x5f\x70\x6c\x61\x6e':![]}});_0x3aa483=_0xaa1d00['\x74\x69\x65\x72'],_0x96701c=_0xaa1d00[_0x1feeb0(0x493,'\x34\x4e\x47\x31')];const _0x2129f0=resolveOpenAITierModels(_0x5cfc0d,_0x564b4d)[_0xaa1d00[_0x1feeb0(0x3ee,'\x76\x77\x5e\x46')]];if(_0x2129f0)_0x2bb852=_0x2129f0;}catch(_0x363d4c){_0xfa2ac2=_0x1feeb0(0x372,'\x43\x72\x69\x29')+_0x1feeb0(0x1c8,'\x32\x38\x78\x4f'),_0x5bb3f4['\x77\x61\x72\x6e']?.(jsonStringify({'\x65\x76\x65\x6e\x74':_0x1feeb0(0x800,'\x4a\x77\x33\x50')+_0x1feeb0(0x638,'\x75\x63\x55\x63'),'\x72\x6f\x75\x74\x65':_0x564b4d,'\x72\x65\x61\x73\x6f\x6e':_0xfa2ac2,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x974314,'\x65\x72\x72\x6f\x72':_0x363d4c instanceof Error?_0x363d4c[_0x1feeb0(0x25b,'\x54\x4c\x70\x5e')]:String(_0x363d4c)}));}let _0x7256c=_0x13e057;if(_0x2bb852&&_0x2bb852!==_0x974314)try{_0x7256c=rewriteModel(_0x13e057,_0x2bb852);}catch(_0x7f395f){_0xfa2ac2=_0xfa2ac2??_0x1feeb0(0x2af,'\x24\x32\x40\x40')+_0x1feeb0(0x610,'\x79\x51\x35\x70'),_0x2bb852=_0x974314,_0x7256c=_0x13e057,_0x5bb3f4[_0x1feeb0(0x5ce,'\x44\x25\x49\x65')]?.(jsonStringify({'\x65\x76\x65\x6e\x74':_0x1feeb0(0x228,'\x38\x21\x34\x29')+'\x61\x6c\x6c\x62\x61\x63\x6b','\x72\x6f\x75\x74\x65':_0x564b4d,'\x72\x65\x61\x73\x6f\x6e':_0xfa2ac2,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x974314,'\x65\x72\x72\x6f\x72':_0x7f395f instanceof Error?_0x7f395f[_0x1feeb0(0x648,'\x53\x69\x4b\x76')]:String(_0x7f395f)}));}return _0x5bb3f4['\x6c\x6f\x67']?.(jsonStringify({'\x65\x76\x65\x6e\x74':_0x1feeb0(0x453,'\x53\x7a\x6d\x30')+_0x1feeb0(0x4d9,'\x76\x2a\x59\x5d'),'\x72\x6f\x75\x74\x65':_0x564b4d,'\x74\x69\x65\x72':_0x3aa483,'\x72\x65\x61\x73\x6f\x6e':_0x96701c,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x974314,'\x63\x68\x6f\x73\x65\x6e\x5f\x6d\x6f\x64\x65\x6c':_0x2bb852,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0xfa2ac2})),{'\x62\x6f\x64\x79':_0x7256c,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x4d\x6f\x64\x65\x6c':_0x974314,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x2bb852,'\x74\x69\x65\x72':_0x3aa483,'\x72\x65\x61\x73\x6f\x6e':_0x96701c,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0xfa2ac2,'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x125719,..._0x4134ec?{'\x66\x65\x61\x74\x75\x72\x65\x73':_0x4134ec}:{}};}function setUsageNumber(_0x4112d0,_0xcd840,_0x2895f3){const _0x3ebba7=_0x19772a;if(typeof _0x2895f3===_0x3ebba7(0x45a,'\x41\x6d\x6f\x70')&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x2895f3))_0x4112d0[_0xcd840]=_0x2895f3;}function usageOrUndefined(_0x610eb5){const _0x206687=_0x19772a;return Object[_0x206687(0x80e,'\x23\x63\x24\x68')](_0x610eb5)[_0x206687(0x353,'\x7a\x4a\x6c\x35')]>-0xcbc+0x185a+0x5cf*-0x2?_0x610eb5:undefined;}function mergeTraceMeta(_0x272f02,_0x176929){const _0x510230=_0x19772a;if(_0x176929[_0x510230(0x23c,'\x29\x48\x4f\x42')])_0x272f02[_0x510230(0x5da,'\x54\x4c\x70\x5e')]={..._0x272f02['\x75\x73\x61\x67\x65']??{},..._0x176929[_0x510230(0x19f,'\x43\x72\x69\x29')]};if(_0x176929[_0x510230(0x675,'\x59\x5d\x4b\x49')+_0x510230(0x626,'\x6f\x25\x4f\x62')]!==undefined)_0x272f02[_0x510230(0x5b1,'\x41\x6d\x6f\x70')+_0x510230(0x4f6,'\x78\x40\x50\x24')]=_0x176929[_0x510230(0x5f6,'\x6f\x25\x4f\x62')+_0x510230(0x680,'\x66\x76\x37\x4f')];if(_0x176929[_0x510230(0x663,'\x79\x51\x35\x70')+_0x510230(0x6e1,'\x38\x21\x34\x29')]!==undefined)_0x272f02['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x510230(0x7e8,'\x57\x52\x4b\x4b')]=_0x176929[_0x510230(0x2c7,'\x76\x77\x5e\x46')+_0x510230(0x3f7,'\x38\x4e\x28\x51')];if(_0x176929[_0x510230(0x67d,'\x38\x4e\x28\x51')]!==undefined)_0x272f02[_0x510230(0x1c6,'\x73\x56\x4a\x6a')]=_0x176929[_0x510230(0x411,'\x46\x44\x76\x57')];}function responseIdFromBody(_0x2fc998){const _0x53deec=_0x19772a;if(!isRecord(_0x2fc998))return undefined;const _0x5f6534=_0x2fc998['\x69\x64'];if(typeof _0x5f6534===_0x53deec(0x1c9,'\x76\x77\x5e\x46')&&_0x5f6534['\x6c\x65\x6e\x67\x74\x68']>0x1a4e+-0x167e+0x4*-0xf4)return _0x5f6534;const _0x19f91f=_0x2fc998[_0x53deec(0x2ea,'\x50\x25\x54\x4d')];if(isRecord(_0x19f91f)&&typeof _0x19f91f['\x69\x64']===_0x53deec(0x73a,'\x41\x6d\x6f\x70')&&_0x19f91f['\x69\x64']['\x6c\x65\x6e\x67\x74\x68']>-0x26cb+0x1b9*-0x15+-0x8*-0x95f)return _0x19f91f['\x69\x64'];return undefined;}function openAIResponsesMeta(_0x2cd6bb){const _0x2716a8=_0x19772a,_0x13eca9=isRecord(_0x2cd6bb)&&isRecord(_0x2cd6bb[_0x2716a8(0x7c9,'\x76\x71\x30\x5b')])?_0x2cd6bb[_0x2716a8(0x423,'\x6c\x7a\x58\x71')]:_0x2cd6bb;if(!isRecord(_0x13eca9))return{};const _0x5b053e={};if(isRecord(_0x13eca9[_0x2716a8(0x35c,'\x34\x34\x79\x6a')])){if(_0x2716a8(0x5c4,'\x44\x25\x49\x65')!==_0x2716a8(0x52d,'\x54\x4c\x70\x5e')){const _0x3b4446=_0x13eca9[_0x2716a8(0x4b8,'\x32\x47\x61\x64')],_0x40bf46={};setUsageNumber(_0x40bf46,_0x2716a8(0x364,'\x57\x52\x4b\x4b')+_0x2716a8(0x7f5,'\x76\x2a\x59\x5d'),_0x3b4446[_0x2716a8(0x439,'\x38\x4e\x28\x51')+_0x2716a8(0x4b1,'\x44\x25\x49\x65')]),setUsageNumber(_0x40bf46,_0x2716a8(0x1bb,'\x75\x63\x55\x63')+_0x2716a8(0x79d,'\x25\x59\x4b\x67'),_0x3b4446[_0x2716a8(0x544,'\x50\x25\x54\x4d')+_0x2716a8(0x6ea,'\x57\x52\x4b\x4b')]),setUsageNumber(_0x40bf46,_0x2716a8(0x491,'\x72\x32\x37\x36')+_0x2716a8(0x392,'\x78\x40\x50\x24')+_0x2716a8(0x434,'\x34\x34\x79\x6a')+'\x65\x6e\x73',_0x3b4446[_0x2716a8(0x69a,'\x54\x4c\x70\x5e')+_0x2716a8(0x1dc,'\x79\x51\x35\x70')+_0x2716a8(0x576,'\x78\x40\x50\x24')+'\x65\x6e\x73']),setUsageNumber(_0x40bf46,_0x2716a8(0x3ad,'\x41\x6d\x6f\x70')+_0x2716a8(0x51d,'\x53\x69\x4b\x76')+'\x5f\x74\x6f\x6b\x65\x6e\x73',_0x3b4446[_0x2716a8(0x651,'\x46\x44\x76\x57')+_0x2716a8(0x783,'\x73\x56\x4a\x6a')+_0x2716a8(0x246,'\x47\x66\x32\x30')]);const _0x2f4cce=usageOrUndefined(_0x40bf46);if(_0x2f4cce)_0x5b053e[_0x2716a8(0x719,'\x41\x64\x57\x30')]=_0x2f4cce;}else{const _0x4e159c=_0x45e171[_0x2716a8(0x381,'\x76\x77\x5e\x46')]??_0x29b19b,_0x1297cf=_0x8443e[_0x2716a8(0x2b4,'\x41\x64\x57\x30')]??_0x2116a8.env;return async _0x33d737=>{const _0x3e9431=_0x2716a8,{model:_0x51c39d,action:_0x494486}=_0x6a5b49(_0x33d737[_0x3e9431(0x7d7,'\x54\x4c\x70\x5e')]?.[_0x3e9431(0x7e5,'\x38\x21\x34\x29')+_0x3e9431(0x7c6,'\x71\x7a\x44\x67')]??''),_0x5c6790=_0x2b4cbf(_0x33d737['\x71\x75\x65\x72\x79']);return _0x33424b({'\x70\x72\x6f\x78\x79':_0x4b8301['\x67\x65\x6d\x69\x6e\x69\x50\x72'+'\x6f\x78\x79'],'\x70\x72\x6f\x76\x69\x64\x65\x72':'\x67\x65\x6d\x69\x6e\x69','\x72\x6f\x75\x74\x65':_0x3e9431(0x706,'\x78\x40\x50\x24')+_0x3e9431(0x61b,'\x70\x64\x63\x6c')+_0x51c39d+'\x3a'+_0x494486,'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':_0x3e9431(0x6e2,'\x61\x4d\x35\x40')+_0x3e9431(0x5ab,'\x29\x48\x4f\x42')+_0x294607(_0x51c39d)+'\x3a'+_0x494486+_0x5c6790,'\x6d\x6f\x64\x65\x6c':_0x51c39d,'\x62\x6f\x64\x79':_0x33d737['\x62\x6f\x64\x79'],'\x68\x65\x61\x64\x65\x72\x73':_0x33d737[_0x3e9431(0x622,'\x4e\x4d\x65\x63')]??{},'\x6c\x6f\x67\x67\x65\x72':_0x4e159c,..._0x151ba7[_0x3e9431(0x257,'\x78\x40\x50\x24')]?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x28d485[_0x3e9431(0x230,'\x50\x25\x54\x4d')]}:{},..._0x255c34[_0x3e9431(0x207,'\x56\x61\x29\x64')]?{'\x63\x6c\x6f\x63\x6b':_0x4cfed6['\x63\x6c\x6f\x63\x6b']}:{},'\x65\x6e\x76':_0x1297cf,'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0x471107});};}}const _0x68899d=isRecord(_0x13eca9[_0x2716a8(0x636,'\x6f\x25\x4f\x62')+_0x2716a8(0x461,'\x6f\x25\x4f\x62')+'\x6c\x73'])?_0x13eca9[_0x2716a8(0x561,'\x44\x25\x49\x65')+_0x2716a8(0x76e,'\x50\x25\x54\x4d')+'\x6c\x73'][_0x2716a8(0x472,'\x6a\x6f\x63\x28')]:undefined;if(typeof _0x68899d===_0x2716a8(0x55d,'\x76\x2a\x59\x5d'))_0x5b053e[_0x2716a8(0x688,'\x79\x51\x35\x70')+_0x2716a8(0x3d5,'\x23\x63\x24\x68')]=_0x68899d;else{if(typeof _0x13eca9[_0x2716a8(0x348,'\x21\x2a\x5d\x40')]===_0x2716a8(0x2ff,'\x6a\x6f\x63\x28'))_0x5b053e[_0x2716a8(0x4d5,'\x4a\x77\x33\x50')+_0x2716a8(0x7fc,'\x62\x26\x21\x42')]=_0x13eca9['\x73\x74\x61\x74\x75\x73'];}if((_0x13eca9[_0x2716a8(0x78f,'\x4e\x4d\x65\x63')]===_0x2716a8(0x31d,'\x53\x69\x4b\x76')||_0x13eca9[_0x2716a8(0x78f,'\x4e\x4d\x65\x63')]===_0x2716a8(0x742,'\x61\x6b\x75\x53')+'\x64')&&isRecord(_0x13eca9[_0x2716a8(0x1a7,'\x6f\x25\x4f\x62')])){if(_0x2716a8(0x19b,'\x34\x34\x79\x6a')!==_0x2716a8(0x694,'\x38\x21\x34\x29')){const _0x112a2b=/"id"\s*:\s*"((?:resp_|chatcmpl-|msg_)[^"]+)"/[_0x2716a8(0x3e0,'\x47\x66\x32\x30')](_0x41bd96);if(_0x112a2b?.[0x1d6b*0x1+0x84c+0x3*-0xc92])_0x21ca7e[_0x2716a8(0x435,'\x76\x2a\x59\x5d')+_0x2716a8(0x604,'\x62\x26\x21\x42')]=_0x112a2b[-0x1*0x25e7+-0x185d+-0x3e45*-0x1];const _0x1b6585=/"status"\s*:\s*"(completed|failed|incomplete|cancelled)"/[_0x2716a8(0x387,'\x70\x64\x63\x6c')](_0x2e4b25);if(_0x1b6585?.[0x3b*-0x9f+0x2609+0x1*-0x163])_0x74cef4[_0x2716a8(0x4a9,'\x57\x5d\x74\x6f')+_0x2716a8(0x5dc,'\x35\x59\x64\x78')]=_0x1b6585[-0x7f6+-0x4c3*-0x5+0xd*-0x138];const _0x94e023=/"finish_reason"\s*:\s*("(?:[^"]+)"|null)/[_0x2716a8(0x74d,'\x24\x32\x40\x40')](_0x2663f8);if(_0x94e023?.[-0x1a69+0xee2+0x171*0x8])_0x5b0955['\x73\x74\x6f\x70\x5f\x72\x65\x61'+_0x2716a8(0x7fc,'\x62\x26\x21\x42')]=_0x94e023[-0x5*-0x680+-0x16e3+-0x99c]===_0x2716a8(0x732,'\x71\x7a\x44\x67')?null:_0x94e023[-0x47*-0x47+0x2*-0x10f0+0xe30][_0x2716a8(0x20e,'\x72\x32\x37\x36')](0x12f7+0x2f5*-0x3+-0xa17,-(-0x42b*-0x1+-0x319*-0xb+-0x263d));_0x3089fc(_0x534361,_0x2716a8(0x710,'\x24\x32\x40\x40')+'\x6b\x65\x6e\x73',/"input_tokens"\s*:\s*(\d+)/[_0x2716a8(0x1c1,'\x58\x45\x24\x44')](_0x3efb59)),_0x24adea(_0x29328a,_0x2716a8(0x256,'\x6f\x25\x4f\x62')+_0x2716a8(0x726,'\x6f\x25\x4f\x62'),/"output_tokens"\s*:\s*(\d+)/[_0x2716a8(0x3f1,'\x6c\x7a\x58\x71')](_0x56bf70)),_0x129bd4(_0x6234b9,_0x2716a8(0x290,'\x34\x34\x79\x6a')+'\x6b\x65\x6e\x73',/"prompt_tokens"\s*:\s*(\d+)/[_0x2716a8(0x4fc,'\x54\x4c\x70\x5e')](_0x11f2d4)),_0xab0908(_0x345fc1,_0x2716a8(0x744,'\x5d\x6a\x53\x77')+_0x2716a8(0x3e9,'\x32\x47\x61\x64'),/"completion_tokens"\s*:\s*(\d+)/['\x65\x78\x65\x63'](_0x3733ba));}else{const _0x29e6ea=_0x13eca9[_0x2716a8(0x3f8,'\x21\x2a\x5d\x40')][_0x2716a8(0x43f,'\x63\x32\x63\x4e')];if(typeof _0x29e6ea===_0x2716a8(0x5e5,'\x56\x61\x29\x64')&&_0x29e6ea['\x74\x72\x69\x6d']())_0x5b053e[_0x2716a8(0x6af,'\x47\x66\x32\x30')]=_0x29e6ea;}}const _0x27e371=responseIdFromBody(_0x2cd6bb)??responseIdFromBody(_0x13eca9);if(_0x27e371)_0x5b053e[_0x2716a8(0x423,'\x6c\x7a\x58\x71')+_0x2716a8(0x295,'\x7a\x4a\x6c\x35')]=_0x27e371;return _0x5b053e;}function openAIChatMeta(_0x1bddea){const _0x39ed44=_0x19772a;if(!isRecord(_0x1bddea))return{};const _0x32b916={};if(isRecord(_0x1bddea[_0x39ed44(0x344,'\x61\x6b\x75\x53')])){if(_0x39ed44(0x538,'\x72\x32\x37\x36')===_0x39ed44(0x6be,'\x71\x7a\x44\x67'))_0x54dd76=_0x81eeb8[_0x39ed44(0x691,'\x61\x6b\x75\x53')];else{const _0x19f35b=_0x1bddea[_0x39ed44(0x741,'\x78\x40\x50\x24')],_0x57dd4e={};setUsageNumber(_0x57dd4e,_0x39ed44(0x2f5,'\x41\x6d\x6f\x70')+_0x39ed44(0x6eb,'\x53\x7a\x6d\x30'),_0x19f35b['\x70\x72\x6f\x6d\x70\x74\x5f\x74'+_0x39ed44(0x662,'\x6c\x7a\x58\x71')]),setUsageNumber(_0x57dd4e,'\x6f\x75\x74\x70\x75\x74\x5f\x74'+_0x39ed44(0x4cd,'\x73\x56\x4a\x6a'),_0x19f35b[_0x39ed44(0x400,'\x76\x2a\x59\x5d')+_0x39ed44(0x656,'\x24\x32\x40\x40')+'\x73']);const _0x5147b6=usageOrUndefined(_0x57dd4e);if(_0x5147b6)_0x32b916[_0x39ed44(0x45e,'\x47\x66\x32\x30')]=_0x5147b6;}}const _0x27404e=_0x1bddea[_0x39ed44(0x48c,'\x34\x4e\x47\x31')],_0x5e6833=Array['\x69\x73\x41\x72\x72\x61\x79'](_0x27404e)&&isRecord(_0x27404e[0xff1+-0x11ae+-0x59*-0x5])?_0x27404e[-0x20b9*0x1+0x21ad+-0xf4]:null;if(_0x5e6833&&(typeof _0x5e6833['\x66\x69\x6e\x69\x73\x68\x5f\x72'+_0x39ed44(0x2ba,'\x76\x2a\x59\x5d')]===_0x39ed44(0x650,'\x44\x25\x49\x65')||_0x5e6833[_0x39ed44(0x5fd,'\x24\x32\x40\x40')+'\x65\x61\x73\x6f\x6e']===null)){if('\x49\x4a\x58\x50\x51'===_0x39ed44(0x189,'\x76\x71\x30\x5b'))return'';else _0x32b916['\x73\x74\x6f\x70\x5f\x72\x65\x61'+_0x39ed44(0x75d,'\x34\x4e\x47\x31')]=_0x5e6833[_0x39ed44(0x76c,'\x32\x38\x78\x4f')+_0x39ed44(0x504,'\x41\x6d\x6f\x70')];}const _0xd1c708=responseIdFromBody(_0x1bddea);if(_0xd1c708)_0x32b916[_0x39ed44(0x6c8,'\x56\x61\x29\x64')+_0x39ed44(0x604,'\x62\x26\x21\x42')]=_0xd1c708;return _0x32b916;}function geminiMeta(_0x59ea17){const _0x1e060f=_0x19772a;if(!isRecord(_0x59ea17))return{};const _0x36909e={};if(isRecord(_0x59ea17[_0x1e060f(0x55b,'\x63\x32\x63\x4e')+_0x1e060f(0x801,'\x50\x25\x54\x4d')])){if(_0x1e060f(0x1e0,'\x6a\x6f\x63\x28')!==_0x1e060f(0x484,'\x54\x4c\x70\x5e'))_0x5041f6=_0x2f0e9e[_0x1e060f(0x332,'\x76\x77\x5e\x46')](_0x28f085);else{const _0x4423dc=_0x59ea17[_0x1e060f(0x35e,'\x4e\x4d\x65\x63')+_0x1e060f(0x355,'\x62\x62\x63\x73')],_0x304a93={};setUsageNumber(_0x304a93,_0x1e060f(0x192,'\x76\x71\x30\x5b')+_0x1e060f(0x196,'\x76\x77\x5e\x46'),_0x4423dc['\x70\x72\x6f\x6d\x70\x74\x54\x6f'+_0x1e060f(0x2ac,'\x32\x38\x78\x4f')]),setUsageNumber(_0x304a93,_0x1e060f(0x7c3,'\x4a\x77\x33\x50')+_0x1e060f(0x53a,'\x53\x69\x4b\x76'),_0x4423dc[_0x1e060f(0x417,'\x6f\x25\x4f\x62')+'\x65\x73\x54\x6f\x6b\x65\x6e\x43'+_0x1e060f(0x5df,'\x6a\x6f\x63\x28')]),setUsageNumber(_0x304a93,_0x1e060f(0x470,'\x23\x63\x24\x68')+_0x1e060f(0x747,'\x58\x45\x24\x44')+_0x1e060f(0x428,'\x75\x63\x55\x63'),_0x4423dc['\x63\x61\x63\x68\x65\x64\x43\x6f'+_0x1e060f(0x2e8,'\x47\x66\x32\x30')+_0x1e060f(0x51a,'\x76\x71\x30\x5b')]);const _0x12cb1e=usageOrUndefined(_0x304a93);if(_0x12cb1e)_0x36909e['\x75\x73\x61\x67\x65']=_0x12cb1e;}}const _0x285962=_0x59ea17[_0x1e060f(0x803,'\x25\x59\x4b\x67')+'\x65\x73'],_0x195eee=Array[_0x1e060f(0x5ca,'\x29\x48\x4f\x42')](_0x285962)&&isRecord(_0x285962[0x799+-0xca*-0x27+0x2f*-0xd1])?_0x285962[-0x2*-0x783+0x26b2+0xbf*-0x48]:null;if(_0x195eee&&typeof _0x195eee['\x66\x69\x6e\x69\x73\x68\x52\x65'+_0x1e060f(0x718,'\x71\x7a\x44\x67')]===_0x1e060f(0x1c9,'\x76\x77\x5e\x46'))_0x36909e[_0x1e060f(0x600,'\x23\x63\x24\x68')+_0x1e060f(0x804,'\x25\x59\x4b\x67')]=_0x195eee[_0x1e060f(0x1a8,'\x23\x63\x24\x68')+_0x1e060f(0x3d8,'\x70\x64\x63\x6c')];return _0x36909e;}function ollamaMeta(_0x4c7b77){const _0x28c3d5=_0x19772a;if(!isRecord(_0x4c7b77))return{};const _0x352245={},_0x5ccfd6={};setUsageNumber(_0x5ccfd6,_0x28c3d5(0x5ef,'\x43\x72\x69\x29')+_0x28c3d5(0x3be,'\x73\x56\x4a\x6a'),_0x4c7b77[_0x28c3d5(0x821,'\x25\x59\x4b\x67')+'\x76\x61\x6c\x5f\x63\x6f\x75\x6e'+'\x74']),setUsageNumber(_0x5ccfd6,_0x28c3d5(0x37a,'\x61\x6b\x75\x53')+_0x28c3d5(0x6f2,'\x54\x4c\x70\x5e'),_0x4c7b77[_0x28c3d5(0x2f2,'\x79\x51\x35\x70')+'\x6e\x74']);const _0x457c01=usageOrUndefined(_0x5ccfd6);if(_0x457c01)_0x352245[_0x28c3d5(0x203,'\x75\x63\x55\x63')]=_0x457c01;if(typeof _0x4c7b77[_0x28c3d5(0x69b,'\x25\x59\x4b\x67')+_0x28c3d5(0x583,'\x34\x34\x79\x6a')]===_0x28c3d5(0x664,'\x54\x4c\x70\x5e'))_0x352245[_0x28c3d5(0x6db,'\x53\x7a\x6d\x30')+_0x28c3d5(0x422,'\x41\x6d\x6f\x70')]=_0x4c7b77[_0x28c3d5(0x701,'\x6f\x25\x4f\x62')+_0x28c3d5(0x3d5,'\x23\x63\x24\x68')];return _0x352245;}function _0x5bff(_0x3fb2e5,_0x427a50){_0x3fb2e5=_0x3fb2e5-(0x25bf*-0x1+0x52*-0x53+0x41d0);const _0x56f061=_0x4e51();let _0x423b17=_0x56f061[_0x3fb2e5];if(_0x5bff['\x4d\x55\x67\x78\x78\x6b']===undefined){var _0x3aaf8a=function(_0x775703){const _0x4ebd01='\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 _0x320131='',_0x2c2342='';for(let _0x18bc66=-0x89+0x24e8+0x245f*-0x1,_0x4fc2d3,_0x22f2c5,_0x91a3e9=0x1f*-0x45+0x2*-0x128d+0x1b*0x1af;_0x22f2c5=_0x775703['\x63\x68\x61\x72\x41\x74'](_0x91a3e9++);~_0x22f2c5&&(_0x4fc2d3=_0x18bc66%(0x109*-0x1d+0x1b9e+0x1*0x26b)?_0x4fc2d3*(0x1e52+-0xcfc+-0x1*0x1116)+_0x22f2c5:_0x22f2c5,_0x18bc66++%(0x7cc*0x2+0x1229+-0x21bd))?_0x320131+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x235b+-0xd1*-0x21+0x969&_0x4fc2d3>>(-(0x1b34+-0xebb+0x1*-0xc77)*_0x18bc66&-0xbd2+-0x21aa*0x1+-0x19*-0x1d2)):-0x1c*-0x13d+-0x1ee5+-0x3c7){_0x22f2c5=_0x4ebd01['\x69\x6e\x64\x65\x78\x4f\x66'](_0x22f2c5);}for(let _0xa5691c=-0x12e1+-0x1*-0x748+0xb99,_0x27bc24=_0x320131['\x6c\x65\x6e\x67\x74\x68'];_0xa5691c<_0x27bc24;_0xa5691c++){_0x2c2342+='\x25'+('\x30\x30'+_0x320131['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xa5691c)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x25b*-0x1+0x1*-0x1c4b+0x1eb6))['\x73\x6c\x69\x63\x65'](-(0x1a2e+-0x2*-0x874+0x2b14*-0x1));}return decodeURIComponent(_0x2c2342);};const _0x321327=function(_0x22018e,_0x4fd754){let _0x2a291a=[],_0x3d1ded=-0x2*0x111a+0x26f*-0x10+0x25c*0x1f,_0x25816f,_0x7c6fbb='';_0x22018e=_0x3aaf8a(_0x22018e);let _0x55247e;for(_0x55247e=0x11a4*0x2+0xc+-0x2354;_0x55247e<-0xf0a+0x2285+0x3*-0x629;_0x55247e++){_0x2a291a[_0x55247e]=_0x55247e;}for(_0x55247e=-0xa60+0x544+-0x4*-0x147;_0x55247e<-0x1*0x1836+0x1117+0x81f;_0x55247e++){_0x3d1ded=(_0x3d1ded+_0x2a291a[_0x55247e]+_0x4fd754['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x55247e%_0x4fd754['\x6c\x65\x6e\x67\x74\x68']))%(-0x134c+0x13ab+-0x17*-0x7),_0x25816f=_0x2a291a[_0x55247e],_0x2a291a[_0x55247e]=_0x2a291a[_0x3d1ded],_0x2a291a[_0x3d1ded]=_0x25816f;}_0x55247e=-0x447+-0x15ee+-0x1a35*-0x1,_0x3d1ded=0x6e*-0xf+0x13*0x3e+0x1d8;for(let _0x591fb2=0x1762+0xed7+0x5f*-0x67;_0x591fb2<_0x22018e['\x6c\x65\x6e\x67\x74\x68'];_0x591fb2++){_0x55247e=(_0x55247e+(-0x23ad*0x1+-0x1*0x1e49+0x513*0xd))%(-0x3*0x92c+0x58*-0x49+0x359c),_0x3d1ded=(_0x3d1ded+_0x2a291a[_0x55247e])%(0x1106+-0x8b5*-0x3+-0x1*0x2a25),_0x25816f=_0x2a291a[_0x55247e],_0x2a291a[_0x55247e]=_0x2a291a[_0x3d1ded],_0x2a291a[_0x3d1ded]=_0x25816f,_0x7c6fbb+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x22018e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x591fb2)^_0x2a291a[(_0x2a291a[_0x55247e]+_0x2a291a[_0x3d1ded])%(0x100*0x1+-0x4c9+0x4c9)]);}return _0x7c6fbb;};_0x5bff['\x6e\x43\x44\x4f\x55\x75']=_0x321327,_0x5bff['\x78\x6b\x4c\x48\x4d\x66']={},_0x5bff['\x4d\x55\x67\x78\x78\x6b']=!![];}const _0x46442f=_0x56f061[0x1ea0+0xd33*-0x2+-0x43a],_0x4f49bf=_0x3fb2e5+_0x46442f,_0x102fbb=_0x5bff['\x78\x6b\x4c\x48\x4d\x66'][_0x4f49bf];return!_0x102fbb?(_0x5bff['\x7a\x66\x44\x6d\x46\x75']===undefined&&(_0x5bff['\x7a\x66\x44\x6d\x46\x75']=!![]),_0x423b17=_0x5bff['\x6e\x43\x44\x4f\x55\x75'](_0x423b17,_0x427a50),_0x5bff['\x78\x6b\x4c\x48\x4d\x66'][_0x4f49bf]=_0x423b17):_0x423b17=_0x102fbb,_0x423b17;}function providerMeta(_0x4d9549,_0x193bea){const _0x45e414=_0x19772a;if(_0x4d9549['\x70\x72\x6f\x76\x69\x64\x65\x72']===_0x45e414(0x320,'\x66\x76\x37\x4f')&&_0x4d9549[_0x45e414(0x24c,'\x7a\x4a\x6c\x35')+_0x45e414(0x5f7,'\x71\x7a\x44\x67')]==='\x2f\x72\x65\x73\x70\x6f\x6e\x73'+'\x65\x73')return openAIResponsesMeta(_0x193bea);if(_0x4d9549[_0x45e414(0x187,'\x66\x76\x37\x4f')]===_0x45e414(0x78e,'\x57\x5d\x74\x6f')&&_0x4d9549[_0x45e414(0x55c,'\x6c\x7a\x58\x71')+_0x45e414(0x523,'\x38\x21\x34\x29')]===_0x45e414(0x815,'\x62\x26\x21\x42')+_0x45e414(0x39e,'\x70\x64\x63\x6c')+'\x73')return openAIChatMeta(_0x193bea);if(_0x4d9549[_0x45e414(0x23e,'\x35\x59\x64\x78')]===_0x45e414(0x42c,'\x29\x48\x4f\x42')||_0x4d9549[_0x45e414(0x402,'\x25\x59\x4b\x67')]===_0x45e414(0x7ae,'\x72\x32\x37\x36'))return geminiMeta(_0x193bea);if(_0x4d9549[_0x45e414(0x2d3,'\x62\x62\x63\x73')]==='\x6f\x6c\x6c\x61\x6d\x61')return ollamaMeta(_0x193bea);return{};}function setProviderTextUsage(_0x5dd57b,_0x287fab,_0x38eb78){const _0x468bc8=_0x19772a;if(!_0x38eb78?.[0x15a3+-0x71e*0x1+0x3a1*-0x4])return;const _0x436926=Number(_0x38eb78[0x22e6+0x20*0x8d+-0x3485]);if(!Number[_0x468bc8(0x2ec,'\x76\x77\x5e\x46')](_0x436926))return;const _0xbfeb29=_0x5dd57b[_0x468bc8(0x7c4,'\x34\x4e\x47\x31')]??{};_0xbfeb29[_0x287fab]=_0x436926,_0x5dd57b[_0x468bc8(0x773,'\x53\x7a\x6d\x30')]=_0xbfeb29;}function scanProviderTextMetadata(_0x23bd2d,_0x59ee44){const _0x3cef7e=_0x19772a,_0x3fa660=/"id"\s*:\s*"((?:resp_|chatcmpl-|msg_)[^"]+)"/[_0x3cef7e(0x57f,'\x35\x59\x64\x78')](_0x59ee44);if(_0x3fa660?.[0x11b6+-0x1a49+-0x3d*-0x24])_0x23bd2d[_0x3cef7e(0x728,'\x41\x64\x57\x30')+_0x3cef7e(0x5b8,'\x44\x25\x49\x65')]=_0x3fa660[-0x1*-0xe6c+-0x24e0+0x1675];const _0x17dcf9=/"status"\s*:\s*"(completed|failed|incomplete|cancelled)"/[_0x3cef7e(0x1f8,'\x53\x69\x4b\x76')](_0x59ee44);if(_0x17dcf9?.[0x1282+-0x49d*0x1+-0xde4*0x1])_0x23bd2d[_0x3cef7e(0x78a,'\x62\x26\x21\x42')+_0x3cef7e(0x3db,'\x76\x2a\x59\x5d')]=_0x17dcf9[-0xb00+0x5*-0x8b+0xdb8];const _0x2ed7a2=/"finish_reason"\s*:\s*("(?:[^"]+)"|null)/['\x65\x78\x65\x63'](_0x59ee44);if(_0x2ed7a2?.[0xb79+-0x684+-0x2*0x27a])_0x23bd2d[_0x3cef7e(0x71f,'\x38\x4e\x28\x51')+_0x3cef7e(0x3d5,'\x23\x63\x24\x68')]=_0x2ed7a2[-0x1*-0xa93+0x1edb+-0x296d]===_0x3cef7e(0x19c,'\x24\x32\x40\x40')?null:_0x2ed7a2[-0x2f6*0x2+0x1512+-0xf25*0x1][_0x3cef7e(0x424,'\x32\x47\x61\x64')](-0x13f7+-0x5*-0xc5+-0x101f*-0x1,-(0x106d+0x10d*-0x5+-0xb2b));setProviderTextUsage(_0x23bd2d,_0x3cef7e(0x206,'\x7a\x4a\x6c\x35')+_0x3cef7e(0x730,'\x79\x51\x35\x70'),/"input_tokens"\s*:\s*(\d+)/[_0x3cef7e(0x566,'\x72\x32\x37\x36')](_0x59ee44)),setProviderTextUsage(_0x23bd2d,_0x3cef7e(0x3f9,'\x47\x66\x32\x30')+_0x3cef7e(0x6d4,'\x61\x6b\x75\x53'),/"output_tokens"\s*:\s*(\d+)/[_0x3cef7e(0x21f,'\x34\x34\x79\x6a')](_0x59ee44)),setProviderTextUsage(_0x23bd2d,_0x3cef7e(0x2f5,'\x41\x6d\x6f\x70')+_0x3cef7e(0x5dd,'\x38\x4e\x28\x51'),/"prompt_tokens"\s*:\s*(\d+)/[_0x3cef7e(0x3c0,'\x23\x63\x24\x68')](_0x59ee44)),setProviderTextUsage(_0x23bd2d,_0x3cef7e(0x1bb,'\x75\x63\x55\x63')+'\x6f\x6b\x65\x6e\x73',/"completion_tokens"\s*:\s*(\d+)/[_0x3cef7e(0x28e,'\x7a\x4a\x6c\x35')](_0x59ee44));}function responseBodyIndicatesTruncation(_0x61369b){const _0x51375a=_0x19772a;return isRecord(_0x61369b)&&(_0x61369b[_0x51375a(0x674,'\x6a\x6f\x63\x28')+'\x5f\x73\x74\x72\x65\x61\x6d\x5f'+_0x51375a(0x551,'\x53\x7a\x6d\x30')+'\x64']===!![]||_0x61369b[_0x51375a(0x61a,'\x58\x45\x24\x44')+_0x51375a(0x6e6,'\x6a\x6f\x63\x28')+_0x51375a(0x5ec,'\x44\x25\x49\x65')]===!![]||_0x61369b['\x74\x72\x75\x6e\x63\x61\x74\x65'+'\x64']===!![]);}function copyDefinedFields(_0x4e8aea,_0x11bb55){const _0x5a3e6e={};for(const _0x10d115 of _0x11bb55)if(_0x4e8aea[_0x10d115]!==undefined)_0x5a3e6e[_0x10d115]=_0x4e8aea[_0x10d115];return _0x5a3e6e;}function semanticToolItem(_0x58972c){const _0x3910dc=_0x19772a;if(!isRecord(_0x58972c))return undefined;const _0x2c6b90=typeof _0x58972c[_0x3910dc(0x61f,'\x24\x32\x40\x40')]===_0x3910dc(0x202,'\x35\x59\x64\x78')?_0x58972c[_0x3910dc(0x308,'\x34\x4e\x47\x31')]:'',_0xdaee78=typeof _0x58972c[_0x3910dc(0x1d3,'\x50\x25\x54\x4d')]===_0x3910dc(0x380,'\x7a\x4a\x6c\x35')?_0x58972c[_0x3910dc(0x658,'\x7a\x4a\x6c\x35')]:'',_0x415f61=isRecord(_0x58972c[_0x3910dc(0x2cb,'\x59\x5d\x4b\x49')])?_0x58972c['\x66\x75\x6e\x63\x74\x69\x6f\x6e']:undefined,_0xb9b33a=_0x2c6b90===_0x3910dc(0x378,'\x75\x63\x55\x63')+_0x3910dc(0x4d0,'\x34\x4e\x47\x31')||_0x2c6b90===_0x3910dc(0x221,'\x38\x21\x34\x29')||_0x2c6b90==='\x66\x75\x6e\x63\x74\x69\x6f\x6e'+_0x3910dc(0x358,'\x76\x77\x5e\x46')+_0x3910dc(0x7fd,'\x38\x21\x34\x29')||_0x2c6b90===_0x3910dc(0x243,'\x79\x51\x35\x70')+'\x75\x6c\x74'||_0xdaee78===_0x3910dc(0x397,'\x62\x62\x63\x73')||Array['\x69\x73\x41\x72\x72\x61\x79'](_0x58972c[_0x3910dc(0x531,'\x21\x2a\x5d\x40')+'\x6c\x73'])||_0x415f61!==undefined;if(!_0xb9b33a)return undefined;const _0x135a32=copyDefinedFields(_0x58972c,['\x69\x64','\x74\x79\x70\x65','\x72\x6f\x6c\x65',_0x3910dc(0x624,'\x6f\x25\x4f\x62'),_0x3910dc(0x39d,'\x62\x26\x21\x42')+_0x3910dc(0x60f,'\x38\x4e\x28\x51'),'\x74\x6f\x6f\x6c\x5f\x75\x73\x65'+_0x3910dc(0x50e,'\x43\x72\x69\x29'),_0x3910dc(0x2d2,'\x41\x6d\x6f\x70'),_0x3910dc(0x737,'\x35\x59\x64\x78')+'\x73',_0x3910dc(0x599,'\x23\x63\x24\x68'),_0x3910dc(0x3dd,'\x79\x51\x35\x70'),'\x63\x6f\x6e\x74\x65\x6e\x74',_0x3910dc(0x771,'\x43\x72\x69\x29'),'\x69\x6e\x64\x65\x78','\x6f\x75\x74\x70\x75\x74\x5f\x69'+_0x3910dc(0x191,'\x4a\x77\x33\x50')]);if(Array[_0x3910dc(0x313,'\x6c\x7a\x58\x71')](_0x58972c[_0x3910dc(0x553,'\x70\x64\x63\x6c')+'\x6c\x73']))_0x135a32[_0x3910dc(0x4c2,'\x32\x38\x78\x4f')+'\x6c\x73']=_0x58972c[_0x3910dc(0x809,'\x34\x34\x79\x6a')+'\x6c\x73'];if(_0x415f61)_0x135a32[_0x3910dc(0x410,'\x4a\x77\x33\x50')]=copyDefinedFields(_0x415f61,[_0x3910dc(0x556,'\x62\x26\x21\x42'),_0x3910dc(0x3b6,'\x75\x63\x55\x63')+'\x73']);return Object[_0x3910dc(0x80e,'\x23\x63\x24\x68')](_0x135a32)[_0x3910dc(0x6ff,'\x70\x64\x63\x6c')]>-0x1808*-0x1+-0x1*0x411+0x13f7*-0x1?_0x135a32:undefined;}function semanticResponse(_0x24f250){const _0x443356=_0x19772a;if(!isRecord(_0x24f250))return undefined;const _0x150850=copyDefinedFields(_0x24f250,['\x69\x64',_0x443356(0x585,'\x25\x59\x4b\x67'),_0x443356(0x203,'\x75\x63\x55\x63'),_0x443356(0x729,'\x5d\x6a\x53\x77')+_0x443356(0x2e7,'\x62\x26\x21\x42')+'\x6c\x73']),_0x1f40c0=Array[_0x443356(0x6ec,'\x6f\x25\x4f\x62')](_0x24f250[_0x443356(0x75c,'\x57\x52\x4b\x4b')])?_0x24f250[_0x443356(0x1be,'\x56\x61\x29\x64')][_0x443356(0x30a,'\x56\x61\x29\x64')](_0x4c58e7=>semanticToolItem(_0x4c58e7))[_0x443356(0x57d,'\x72\x32\x37\x36')](_0x273012=>_0x273012!==undefined):[];if(_0x1f40c0[_0x443356(0x40d,'\x32\x38\x78\x4f')]>0x1348+0x2*0x83+-0x144e)_0x150850[_0x443356(0x5a4,'\x34\x34\x79\x6a')]=_0x1f40c0;if(isRecord(_0x24f250[_0x443356(0x1d9,'\x35\x59\x64\x78')]))_0x150850[_0x443356(0x5af,'\x5d\x6a\x53\x77')]=copyDefinedFields(_0x24f250[_0x443356(0x748,'\x53\x7a\x6d\x30')],[_0x443356(0x4ae,'\x59\x5d\x4b\x49'),_0x443356(0x59f,'\x46\x44\x76\x57'),_0x443356(0x563,'\x78\x40\x50\x24')]);return Object['\x6b\x65\x79\x73'](_0x150850)[_0x443356(0x64d,'\x24\x32\x40\x40')]>-0x4f*0x65+0x150b+-0x48*-0x24?_0x150850:undefined;}function semanticOpenAIChatEvent(_0x2bec33){const _0x42e03f=_0x19772a,_0x5a6d75=Array[_0x42e03f(0x1ec,'\x43\x72\x69\x29')](_0x2bec33[_0x42e03f(0x7b7,'\x62\x62\x63\x73')])?_0x2bec33[_0x42e03f(0x29a,'\x50\x25\x54\x4d')][_0x42e03f(0x4b7,'\x34\x4e\x47\x31')](_0x4e4372=>{const _0x644898=_0x42e03f;if(_0x644898(0x351,'\x41\x64\x57\x30')!==_0x644898(0x469,'\x7a\x4a\x6c\x35'))this[_0x644898(0x540,'\x32\x38\x78\x4f')+_0x644898(0x71d,'\x41\x6d\x6f\x70')]=!![],this[_0x644898(0x188,'\x56\x61\x29\x64')+_0x644898(0x2f6,'\x73\x56\x4a\x6a')+'\x6e\x74']+=-0x3*0x409+-0x7f6*0x3+0x23fe,this[_0x644898(0x270,'\x72\x32\x37\x36')+_0x644898(0x27b,'\x32\x38\x78\x4f')](_0x27c6e5),this[_0x644898(0x39a,'\x43\x72\x69\x29')+_0x644898(0x717,'\x4e\x4d\x65\x63')]+=_0x3e152e['\x6c\x65\x6e\x67\x74\x68'];else{if(!isRecord(_0x4e4372))return undefined;const _0xc01b6=copyDefinedFields(_0x4e4372,[_0x644898(0x234,'\x62\x26\x21\x42')]);if(_0x4e4372[_0x644898(0x54e,'\x35\x59\x64\x78')+_0x644898(0x646,'\x23\x63\x24\x68')]!==undefined&&_0x4e4372[_0x644898(0x6f8,'\x43\x72\x69\x29')+'\x65\x61\x73\x6f\x6e']!==null)_0xc01b6[_0x644898(0x807,'\x34\x4e\x47\x31')+_0x644898(0x311,'\x78\x40\x50\x24')]=_0x4e4372[_0x644898(0x2b8,'\x57\x5d\x74\x6f')+_0x644898(0x3df,'\x53\x7a\x6d\x30')];const _0x5ab453=isRecord(_0x4e4372[_0x644898(0x659,'\x73\x56\x4a\x6a')])?_0x4e4372[_0x644898(0x1c3,'\x70\x64\x63\x6c')]:undefined,_0x2ad78d=isRecord(_0x4e4372[_0x644898(0x18d,'\x56\x61\x29\x64')])?_0x4e4372[_0x644898(0x5f2,'\x24\x32\x40\x40')]:undefined;if(_0x5ab453&&Array[_0x644898(0x5c6,'\x44\x25\x49\x65')](_0x5ab453[_0x644898(0x7eb,'\x76\x77\x5e\x46')+'\x6c\x73']))_0xc01b6[_0x644898(0x45d,'\x66\x76\x37\x4f')]={'\x74\x6f\x6f\x6c\x5f\x63\x61\x6c\x6c\x73':_0x5ab453[_0x644898(0x7eb,'\x76\x77\x5e\x46')+'\x6c\x73']};if(_0x2ad78d&&Array[_0x644898(0x497,'\x21\x2a\x5d\x40')](_0x2ad78d[_0x644898(0x281,'\x43\x72\x69\x29')+'\x6c\x73']))_0xc01b6[_0x644898(0x4a7,'\x50\x25\x54\x4d')]={'\x74\x6f\x6f\x6c\x5f\x63\x61\x6c\x6c\x73':_0x2ad78d['\x74\x6f\x6f\x6c\x5f\x63\x61\x6c'+'\x6c\x73']};if(_0x2ad78d&&isRecord(_0x2ad78d[_0x644898(0x565,'\x71\x7a\x44\x67')+_0x644898(0x319,'\x43\x72\x69\x29')]))_0xc01b6[_0x644898(0x341,'\x5d\x6a\x53\x77')]={...isRecord(_0xc01b6[_0x644898(0x403,'\x29\x48\x4f\x42')])?_0xc01b6[_0x644898(0x648,'\x53\x69\x4b\x76')]:{},'\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x63\x61\x6c\x6c':_0x2ad78d[_0x644898(0x2ce,'\x61\x6b\x75\x53')+_0x644898(0x442,'\x76\x77\x5e\x46')]};return Object[_0x644898(0x255,'\x57\x5d\x74\x6f')](_0xc01b6)[_0x644898(0x5a5,'\x57\x5d\x74\x6f')](_0xa0c19e=>_0xa0c19e!==_0x644898(0x234,'\x62\x26\x21\x42'))?_0xc01b6:undefined;}})['\x66\x69\x6c\x74\x65\x72'](_0xa9d640=>_0xa9d640!==undefined):[],_0x32799b=copyDefinedFields(_0x2bec33,['\x69\x64',_0x42e03f(0x2a9,'\x79\x51\x35\x70')]);if(_0x5a6d75[_0x42e03f(0x46f,'\x76\x71\x30\x5b')]>0x1*-0x12aa+-0x17ba+0x2a64)_0x32799b[_0x42e03f(0x557,'\x61\x6b\x75\x53')]=_0x5a6d75;return Object[_0x42e03f(0x324,'\x61\x6b\x75\x53')](_0x32799b)[_0x42e03f(0x567,'\x46\x44\x76\x57')]>0x1f8f+-0x217d+0x1ee?_0x32799b:undefined;}function semanticOpenAIResponsesEvent(_0x3620f9){const _0x5a2776=_0x19772a,_0x9a9f81=typeof _0x3620f9[_0x5a2776(0x67c,'\x29\x48\x4f\x42')]===_0x5a2776(0x661,'\x50\x25\x54\x4d')?_0x3620f9[_0x5a2776(0x29d,'\x71\x7a\x44\x67')]:'';if(_0x9a9f81===_0x5a2776(0x58c,'\x35\x59\x64\x78')+'\x2e\x66\x75\x6e\x63\x74\x69\x6f'+_0x5a2776(0x78b,'\x32\x38\x78\x4f')+_0x5a2776(0x6f9,'\x54\x4c\x70\x5e')+_0x5a2776(0x3cf,'\x50\x25\x54\x4d')||_0x9a9f81===_0x5a2776(0x5b4,'\x24\x32\x40\x40')+_0x5a2776(0x81e,'\x56\x61\x29\x64')+_0x5a2776(0x537,'\x29\x48\x4f\x42')+_0x5a2776(0x17b,'\x6a\x6f\x63\x28')+_0x5a2776(0x39b,'\x62\x26\x21\x42'))return _0x5a2776(0x6cc,'\x61\x4d\x35\x40')==='\x6b\x66\x4e\x73\x51'?copyDefinedFields(_0x3620f9,[_0x5a2776(0x6e8,'\x53\x69\x4b\x76'),'\x69\x74\x65\x6d\x5f\x69\x64',_0x5a2776(0x2ab,'\x58\x45\x24\x44')+'\x6e\x64\x65\x78',_0x5a2776(0x1bd,'\x76\x71\x30\x5b'),'\x69\x64',_0x5a2776(0x3e5,'\x56\x61\x29\x64'),_0x5a2776(0x514,'\x63\x32\x63\x4e')+'\x73']):_0x47267b(_0x2e2b35,[_0x5a2776(0x2ae,'\x54\x4c\x70\x5e'),_0x5a2776(0x496,'\x50\x25\x54\x4d'),_0x5a2776(0x7ce,'\x53\x69\x4b\x76')+_0x5a2776(0x454,'\x79\x51\x35\x70'),_0x5a2776(0x477,'\x24\x32\x40\x40'),'\x69\x64',_0x5a2776(0x2a1,'\x76\x77\x5e\x46'),_0x5a2776(0x3b6,'\x75\x63\x55\x63')+'\x73']);const _0x23f12e=semanticToolItem(_0x3620f9[_0x5a2776(0x798,'\x53\x7a\x6d\x30')]);if(_0x23f12e){const _0x49d228=copyDefinedFields(_0x3620f9,[_0x5a2776(0x1a1,'\x21\x2a\x5d\x40'),_0x5a2776(0x68c,'\x66\x76\x37\x4f')+_0x5a2776(0x2eb,'\x34\x4e\x47\x31'),_0x5a2776(0x810,'\x29\x48\x4f\x42')]);return _0x49d228[_0x5a2776(0x31b,'\x34\x4e\x47\x31')]=_0x23f12e,_0x49d228;}if(_0x9a9f81==='\x72\x65\x73\x70\x6f\x6e\x73\x65'+'\x2e\x63\x6f\x6d\x70\x6c\x65\x74'+'\x65\x64'||_0x9a9f81===_0x5a2776(0x3e8,'\x78\x40\x50\x24')+_0x5a2776(0x26c,'\x21\x2a\x5d\x40')||_0x9a9f81===_0x5a2776(0x7de,'\x54\x4c\x70\x5e')+_0x5a2776(0x7da,'\x4e\x4d\x65\x63')+_0x5a2776(0x822,'\x70\x64\x63\x6c')||_0x9a9f81==='\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x5a2776(0x2b0,'\x57\x5d\x74\x6f')+'\x65\x64'){const _0x447f1a=semanticResponse(_0x3620f9['\x72\x65\x73\x70\x6f\x6e\x73\x65']);if(_0x447f1a)return{'\x74\x79\x70\x65':_0x9a9f81,'\x72\x65\x73\x70\x6f\x6e\x73\x65':_0x447f1a};}return undefined;}function semanticAnthropicEvent(_0x4ca31e){const _0x48346b=_0x19772a,_0x5d63f2=typeof _0x4ca31e[_0x48346b(0x5db,'\x50\x25\x54\x4d')]===_0x48346b(0x76d,'\x32\x38\x78\x4f')?_0x4ca31e[_0x48346b(0x272,'\x76\x71\x30\x5b')]:'';if(_0x5d63f2===_0x48346b(0x450,'\x41\x64\x57\x30')+_0x48346b(0x816,'\x62\x26\x21\x42')+_0x48346b(0x2c4,'\x62\x26\x21\x42')){const _0x2b28e4=semanticToolItem(_0x4ca31e[_0x48346b(0x7f9,'\x6f\x25\x4f\x62')+_0x48346b(0x769,'\x34\x4e\x47\x31')]);if(_0x2b28e4)return{...copyDefinedFields(_0x4ca31e,[_0x48346b(0x46b,'\x56\x61\x29\x64'),_0x48346b(0x6a0,'\x58\x45\x24\x44')]),'\x63\x6f\x6e\x74\x65\x6e\x74\x5f\x62\x6c\x6f\x63\x6b':_0x2b28e4};}if(_0x5d63f2===_0x48346b(0x7dc,'\x61\x4d\x35\x40')+_0x48346b(0x618,'\x53\x69\x4b\x76')+_0x48346b(0x547,'\x6c\x7a\x58\x71')&&isRecord(_0x4ca31e['\x64\x65\x6c\x74\x61'])&&_0x4ca31e['\x64\x65\x6c\x74\x61'][_0x48346b(0x5c1,'\x32\x38\x78\x4f')]===_0x48346b(0x2db,'\x32\x38\x78\x4f')+'\x6f\x6e\x5f\x64\x65\x6c\x74\x61'){if(_0x48346b(0x3d9,'\x58\x45\x24\x44')!=='\x75\x59\x7a\x55\x69'){if(!_0x2acac2)throw _0x157adf(_0x2e05e6+(_0x48346b(0x371,'\x71\x7a\x44\x67')+_0x48346b(0x200,'\x6c\x7a\x58\x71')));if(_0x7ab68d[_0x48346b(0x77e,'\x76\x71\x30\x5b')]('\x2f')||_0x50cf40[_0x48346b(0x3d1,'\x76\x77\x5e\x46')]('\x5c'))throw _0x109c4a(_0x480f04+(_0x48346b(0x7e0,'\x34\x4e\x47\x31')+_0x48346b(0x28d,'\x76\x71\x30\x5b')+_0x48346b(0x5bf,'\x62\x26\x21\x42')+_0x48346b(0x76f,'\x34\x34\x79\x6a')+'\x73'));if(_0x3508b7==='\x2e'||_0x313554==='\x2e\x2e')throw _0x2056ed(_0x431ebd+(_0x48346b(0x7e0,'\x34\x4e\x47\x31')+'\x74\x20\x62\x65\x20\x61\x20\x64'+_0x48346b(0x4f8,'\x34\x4e\x47\x31')+'\x6e\x74'));return _0x35bc35;}else return{...copyDefinedFields(_0x4ca31e,[_0x48346b(0x2a7,'\x79\x51\x35\x70'),_0x48346b(0x6d5,'\x25\x59\x4b\x67')]),'\x64\x65\x6c\x74\x61':copyDefinedFields(_0x4ca31e[_0x48346b(0x795,'\x75\x63\x55\x63')],[_0x48346b(0x746,'\x72\x32\x37\x36'),_0x48346b(0x40a,'\x21\x2a\x5d\x40')+'\x6a\x73\x6f\x6e'])};}if(_0x5d63f2===_0x48346b(0x377,'\x21\x2a\x5d\x40')+'\x64\x65\x6c\x74\x61'){const _0x3ebb2c=copyDefinedFields(_0x4ca31e,[_0x48346b(0x2ae,'\x54\x4c\x70\x5e'),'\x75\x73\x61\x67\x65']);if(isRecord(_0x4ca31e[_0x48346b(0x733,'\x72\x32\x37\x36')])){if(_0x48346b(0x5cc,'\x38\x4e\x28\x51')!==_0x48346b(0x7e3,'\x78\x40\x50\x24')){if(typeof _0x577651==='\x73\x74\x72\x69\x6e\x67')return _0x4d3912;if(!_0x5dcbb9[_0x48346b(0x49d,'\x63\x32\x63\x4e')](_0x5016de))return'';return _0x43eb03[_0x48346b(0x39f,'\x58\x45\x24\x44')](_0x279aaf=>{const _0x45dfbc=_0x48346b;if(typeof _0x279aaf===_0x45dfbc(0x63e,'\x73\x56\x4a\x6a'))return _0x279aaf;if(!_0x1c128d(_0x279aaf))return'';for(const _0x4b0c3e of[_0x45dfbc(0x1da,'\x47\x66\x32\x30'),_0x45dfbc(0x22d,'\x76\x77\x5e\x46')+'\x78\x74',_0x45dfbc(0x58a,'\x41\x64\x57\x30')+'\x65\x78\x74',_0x45dfbc(0x4aa,'\x79\x51\x35\x70')]){const _0x1c9b12=_0x279aaf[_0x4b0c3e];if(typeof _0x1c9b12===_0x45dfbc(0x7e7,'\x34\x4e\x47\x31'))return _0x1c9b12;}return'';})['\x66\x69\x6c\x74\x65\x72'](_0x23ab5b)[_0x48346b(0x573,'\x38\x21\x34\x29')]('\x0a');}else{const _0x1d0944=copyDefinedFields(_0x4ca31e[_0x48346b(0x45d,'\x66\x76\x37\x4f')],[_0x48346b(0x69c,'\x70\x64\x63\x6c')+'\x73\x6f\x6e',_0x48346b(0x7ad,'\x62\x62\x63\x73')+_0x48346b(0x2dd,'\x76\x2a\x59\x5d')]);if(Object[_0x48346b(0x488,'\x6c\x7a\x58\x71')](_0x1d0944)[_0x48346b(0x80b,'\x56\x61\x29\x64')]>-0x1*-0x1b9f+0xef0+-0x2a8f)_0x3ebb2c[_0x48346b(0x17e,'\x62\x62\x63\x73')]=_0x1d0944;}}return _0x3ebb2c['\x75\x73\x61\x67\x65']!==undefined||_0x3ebb2c[_0x48346b(0x383,'\x41\x64\x57\x30')]!==undefined?_0x3ebb2c:undefined;}return undefined;}function semanticGeminiContentParts(_0x43ffcc){const _0xce8087=_0x19772a;if(!isRecord(_0x43ffcc))return undefined;const _0x7f43c7=Array[_0xce8087(0x5d4,'\x32\x38\x78\x4f')](_0x43ffcc[_0xce8087(0x1bf,'\x4e\x4d\x65\x63')])?_0x43ffcc[_0xce8087(0x738,'\x32\x47\x61\x64')]:[],_0x4651be=_0x7f43c7[_0xce8087(0x406,'\x6f\x25\x4f\x62')](_0x408b8f=>{const _0x19aa6a=_0xce8087;if(!isRecord(_0x408b8f))return undefined;if(isRecord(_0x408b8f[_0x19aa6a(0x2cb,'\x59\x5d\x4b\x49')+_0x19aa6a(0x2bf,'\x58\x45\x24\x44')]))return copyDefinedFields(_0x408b8f,[_0x19aa6a(0x38a,'\x21\x2a\x5d\x40')+'\x43\x61\x6c\x6c']);if(isRecord(_0x408b8f[_0x19aa6a(0x67e,'\x6a\x6f\x63\x28')+_0x19aa6a(0x41b,'\x78\x40\x50\x24')]))return copyDefinedFields(_0x408b8f,['\x66\x75\x6e\x63\x74\x69\x6f\x6e'+_0x19aa6a(0x66f,'\x62\x26\x21\x42')]);return undefined;})[_0xce8087(0x457,'\x62\x26\x21\x42')](_0x5e1e2d=>_0x5e1e2d!==undefined);if(_0x4651be[_0xce8087(0x46f,'\x76\x71\x30\x5b')]===-0xd3b+0x4*0x3c7+-0x1e1)return undefined;const _0x15b972=copyDefinedFields(_0x43ffcc,[_0xce8087(0x218,'\x41\x64\x57\x30')]);return _0x15b972[_0xce8087(0x4e6,'\x44\x25\x49\x65')]=_0x4651be,_0x15b972;}function semanticGenericEvent(_0x2666aa){const _0x43e7c9=_0x19772a,_0x43f170=copyDefinedFields(_0x2666aa,[_0x43e7c9(0x5da,'\x54\x4c\x70\x5e'),'\x75\x73\x61\x67\x65\x4d\x65\x74'+_0x43e7c9(0x6b5,'\x59\x5d\x4b\x49'),_0x43e7c9(0x421,'\x7a\x4a\x6c\x35')+_0x43e7c9(0x715,'\x63\x32\x63\x4e')+'\x74',_0x43e7c9(0x705,'\x6a\x6f\x63\x28')+'\x6e\x74',_0x43e7c9(0x315,'\x53\x7a\x6d\x30'),_0x43e7c9(0x763,'\x6a\x6f\x63\x28')+_0x43e7c9(0x3db,'\x76\x2a\x59\x5d')]),_0x5baa9e=Array[_0x43e7c9(0x595,'\x46\x44\x76\x57')](_0x2666aa[_0x43e7c9(0x723,'\x58\x45\x24\x44')+'\x65\x73'])?_0x2666aa[_0x43e7c9(0x6fc,'\x76\x2a\x59\x5d')+'\x65\x73'][_0x43e7c9(0x309,'\x41\x64\x57\x30')](_0x9f9ac2=>{const _0x269238=_0x43e7c9;if('\x51\x61\x48\x6d\x76'===_0x269238(0x7c5,'\x70\x64\x63\x6c')){const _0x4d2d87=_0x3a296d['\x75\x73\x61\x67\x65\x4d\x65\x74'+_0x269238(0x6da,'\x38\x21\x34\x29')],_0x3185fd={};_0x2bf3fe(_0x3185fd,_0x269238(0x6bf,'\x6a\x6f\x63\x28')+_0x269238(0x1d6,'\x72\x32\x37\x36'),_0x4d2d87['\x70\x72\x6f\x6d\x70\x74\x54\x6f'+_0x269238(0x4cf,'\x62\x26\x21\x42')]),_0x5ca64a(_0x3185fd,_0x269238(0x50b,'\x6a\x6f\x63\x28')+_0x269238(0x669,'\x32\x38\x78\x4f'),_0x4d2d87[_0x269238(0x5ed,'\x76\x71\x30\x5b')+_0x269238(0x5c0,'\x76\x2a\x59\x5d')+_0x269238(0x225,'\x5d\x6a\x53\x77')]),_0x39ebb8(_0x3185fd,_0x269238(0x806,'\x53\x7a\x6d\x30')+'\x61\x64\x5f\x69\x6e\x70\x75\x74'+_0x269238(0x608,'\x34\x4e\x47\x31'),_0x4d2d87[_0x269238(0x54f,'\x29\x48\x4f\x42')+_0x269238(0x268,'\x6c\x7a\x58\x71')+_0x269238(0x541,'\x71\x7a\x44\x67')]);const _0x58a9e9=_0x1feb8a(_0x3185fd);if(_0x58a9e9)_0xc13105[_0x269238(0x197,'\x6a\x6f\x63\x28')]=_0x58a9e9;}else{if(!isRecord(_0x9f9ac2))return undefined;const _0x401c3a=copyDefinedFields(_0x9f9ac2,[_0x269238(0x3f2,'\x7a\x4a\x6c\x35')+_0x269238(0x731,'\x34\x4e\x47\x31')]),_0x4ed129=semanticGeminiContentParts(_0x9f9ac2[_0x269238(0x2be,'\x46\x44\x76\x57')]);if(_0x4ed129)_0x401c3a[_0x269238(0x641,'\x35\x59\x64\x78')]=_0x4ed129;return _0x401c3a;}})[_0x43e7c9(0x57d,'\x72\x32\x37\x36')](_0x398e47=>_0x398e47!==undefined&&Object[_0x43e7c9(0x619,'\x34\x34\x79\x6a')](_0x398e47)[_0x43e7c9(0x567,'\x46\x44\x76\x57')]>0x725*-0x2+0x3*-0x15+0xe89):[];if(_0x5baa9e[_0x43e7c9(0x353,'\x7a\x4a\x6c\x35')]>0x138b+-0x40+0xb*-0x1c1)_0x43f170[_0x43e7c9(0x5ed,'\x76\x71\x30\x5b')+'\x65\x73']=_0x5baa9e;if(_0x43f170[_0x43e7c9(0x4bf,'\x32\x38\x78\x4f')]!==!![])delete _0x43f170[_0x43e7c9(0x70b,'\x6a\x6f\x63\x28')];return Object[_0x43e7c9(0x72b,'\x41\x6d\x6f\x70')](_0x43f170)[_0x43e7c9(0x353,'\x7a\x4a\x6c\x35')]>-0x1810+-0x25b*0x1+0x1a6b?_0x43f170:undefined;}function semanticTailEvents(_0x85a66c){const _0x2067cc=_0x19772a;if(Array[_0x2067cc(0x595,'\x46\x44\x76\x57')](_0x85a66c))return _0x85a66c[_0x2067cc(0x59b,'\x38\x21\x34\x29')](_0x2b96d0=>semanticTailEvents(_0x2b96d0));if(!isRecord(_0x85a66c))return[];const _0x410ae2=semanticOpenAIResponsesEvent(_0x85a66c)??semanticOpenAIChatEvent(_0x85a66c)??semanticAnthropicEvent(_0x85a66c)??semanticGenericEvent(_0x85a66c);return _0x410ae2?[_0x410ae2]:[];}class ProviderStreamMetaScanner{[_0x19772a(0x2df,'\x32\x38\x78\x4f')];[_0x19772a(0x50a,'\x79\x51\x35\x70')];[_0x19772a(0x7a0,'\x62\x26\x21\x42')]={};[_0x19772a(0x550,'\x29\x48\x4f\x42')+_0x19772a(0x6f6,'\x6f\x25\x4f\x62')]=[];[_0x19772a(0x445,'\x53\x69\x4b\x76')+_0x19772a(0x6df,'\x56\x61\x29\x64')+'\x74\x73']=[];['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x19772a(0x19a,'\x24\x32\x40\x40')+'\x65\x73']=0x1d99+0x69b*-0x3+-0x9c8;[_0x19772a(0x451,'\x25\x59\x4b\x67')+_0x19772a(0x735,'\x54\x4c\x70\x5e')+'\x73']=0x109+-0xd91+0x644*0x2;[_0x19772a(0x592,'\x78\x40\x50\x24')+_0x19772a(0x22f,'\x53\x69\x4b\x76')]='';[_0x19772a(0x812,'\x66\x76\x37\x4f')+_0x19772a(0x4df,'\x61\x6b\x75\x53')]=-0x1*0x105d+0xe20+-0xbf*-0x3;[_0x19772a(0x32e,'\x70\x64\x63\x6c')+_0x19772a(0x49c,'\x6f\x25\x4f\x62')+'\x75\x6e\x63\x61\x74\x65\x64']=![];[_0x19772a(0x346,'\x29\x48\x4f\x42')+_0x19772a(0x47f,'\x32\x38\x78\x4f')+'\x65\x64']=![];[_0x19772a(0x22a,'\x4e\x4d\x65\x63')+_0x19772a(0x36a,'\x7a\x4a\x6c\x35')+_0x19772a(0x28c,'\x29\x48\x4f\x42')+_0x19772a(0x591,'\x34\x4e\x47\x31')]=![];[_0x19772a(0x2b9,'\x34\x4e\x47\x31')+_0x19772a(0x4c0,'\x46\x44\x76\x57')+'\x61\x69\x6c\x45\x76\x65\x6e\x74'+_0x19772a(0x68b,'\x41\x6d\x6f\x70')]=-0x7*0x11f+-0x626*-0x3+-0xa99;[_0x19772a(0x1d8,'\x6c\x7a\x58\x71')]='';[_0x19772a(0x363,'\x63\x32\x63\x4e')+_0x19772a(0x78c,'\x63\x32\x63\x4e')]=![];[_0x19772a(0x357,'\x78\x40\x50\x24')+_0x19772a(0x2fa,'\x25\x59\x4b\x67')]='';[_0x19772a(0x5d3,'\x71\x7a\x44\x67')+_0x19772a(0x6cf,'\x6c\x7a\x58\x71')+'\x6e\x74']=-0x120+-0x1*0x24c1+0x25e1*0x1;[_0x19772a(0x55f,'\x6c\x7a\x58\x71')+_0x19772a(0x3f3,'\x50\x25\x54\x4d')]=0x382*-0xb+0x141*-0x1+-0x7*-0x5b1;[_0x19772a(0x827,'\x63\x32\x63\x4e')]=new TextDecoder();[_0x19772a(0x757,'\x63\x32\x63\x4e')];constructor(_0x5650cb,_0x1bdcbc=process.env){const _0x4b25a4=_0x19772a;this[_0x4b25a4(0x375,'\x57\x52\x4b\x4b')]=_0x5650cb,this['\x65\x6e\x76']=_0x1bdcbc,this[_0x4b25a4(0x2fb,'\x41\x64\x57\x30')]=providerStreamCaptureLimits(_0x1bdcbc);}[_0x19772a(0x667,'\x43\x72\x69\x29')](_0x4a1512){const _0xeef6c6=_0x19772a;let _0x15571a;if(typeof _0x4a1512===_0xeef6c6(0x672,'\x63\x32\x63\x4e'))_0x15571a=_0x4a1512;else{if(_0x4a1512 instanceof Uint8Array)_0x15571a=this[_0xeef6c6(0x455,'\x78\x40\x50\x24')][_0xeef6c6(0x48b,'\x47\x66\x32\x30')](_0x4a1512,{'\x73\x74\x72\x65\x61\x6d':!![]});else return;}if(captureBodiesEnabled(this[_0xeef6c6(0x5a2,'\x71\x7a\x44\x67')]))this[_0xeef6c6(0x51b,'\x78\x40\x50\x24')+_0xeef6c6(0x3e7,'\x75\x63\x55\x63')+_0xeef6c6(0x509,'\x41\x6d\x6f\x70')](_0x15571a);this['\x70\x75\x73\x68\x54\x65\x78\x74'](_0x15571a);}[_0x19772a(0x325,'\x76\x77\x5e\x46')](){const _0x31786d=_0x19772a,_0x1abe79=this[_0x31786d(0x33c,'\x34\x34\x79\x6a')][_0x31786d(0x721,'\x54\x4c\x70\x5e')]();if(_0x1abe79){if(captureBodiesEnabled(this['\x65\x6e\x76']))this[_0x31786d(0x776,'\x59\x5d\x4b\x49')+_0x31786d(0x739,'\x24\x32\x40\x40')+_0x31786d(0x5f9,'\x76\x77\x5e\x46')](_0x1abe79);this['\x70\x75\x73\x68\x54\x65\x78\x74'](_0x1abe79);}if(this[_0x31786d(0x7ba,'\x61\x4d\x35\x40')+_0x31786d(0x18e,'\x59\x5d\x4b\x49')]){this[_0x31786d(0x671,'\x4a\x77\x33\x50')+_0x31786d(0x337,'\x24\x32\x40\x40')+_0x31786d(0x805,'\x71\x7a\x44\x67')]();return;}const _0x7d4844=this[_0x31786d(0x590,'\x75\x63\x55\x63')][_0x31786d(0x630,'\x76\x2a\x59\x5d')]();this['\x62\x75\x66']='';if(_0x7d4844)this[_0x31786d(0x7df,'\x62\x26\x21\x42')](_0x7d4844);}[_0x19772a(0x575,'\x32\x38\x78\x4f')+_0x19772a(0x49f,'\x57\x5d\x74\x6f')](){const _0x37fa04=_0x19772a;if(this[_0x37fa04(0x66b,'\x62\x62\x63\x73')+'\x43\x68\x75\x6e\x6b\x73'][_0x37fa04(0x18b,'\x32\x47\x61\x64')]===-0x238a+-0x685+-0x25*-0x123&&this[_0x37fa04(0x29e,'\x41\x64\x57\x30')+_0x37fa04(0x503,'\x76\x2a\x59\x5d')+'\x6e\x74']===-0xd90+0xe95+-0x1d*0x9&&!this[_0x37fa04(0x5d8,'\x61\x6b\x75\x53')+_0x37fa04(0x2bd,'\x71\x7a\x44\x67')+_0x37fa04(0x2fc,'\x43\x72\x69\x29')]&&!this[_0x37fa04(0x398,'\x41\x64\x57\x30')+_0x37fa04(0x73c,'\x78\x40\x50\x24')]&&!this[_0x37fa04(0x37c,'\x62\x26\x21\x42')+_0x37fa04(0x1df,'\x6f\x25\x4f\x62')+'\x65\x64'])return undefined;return{'\x72\x65\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x65\x64':!![],...this[_0x37fa04(0x5d5,'\x75\x63\x55\x63')+_0x37fa04(0x7a9,'\x78\x40\x50\x24')][_0x37fa04(0x27d,'\x79\x51\x35\x70')]>0x1087+0x45b*0x2+-0x39b*0x7?{'\x63\x68\x75\x6e\x6b\x73':this['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x37fa04(0x6c6,'\x34\x34\x79\x6a')]}:{},...this[_0x37fa04(0x22a,'\x4e\x4d\x65\x63')+_0x37fa04(0x26f,'\x61\x4d\x35\x40')+'\x74\x73'][_0x37fa04(0x72f,'\x71\x7a\x44\x67')]>-0x336+0xe00+0x2*-0x565?{'\x73\x65\x6d\x61\x6e\x74\x69\x63\x5f\x74\x61\x69\x6c\x5f\x65\x76\x65\x6e\x74\x73':this[_0x37fa04(0x548,'\x63\x32\x63\x4e')+_0x37fa04(0x26f,'\x61\x4d\x35\x40')+'\x74\x73']}:{},...this[_0x37fa04(0x589,'\x56\x61\x29\x64')+_0x37fa04(0x71b,'\x6c\x7a\x58\x71')]?{'\x72\x61\x77\x5f\x73\x74\x72\x65\x61\x6d\x5f\x62\x6f\x64\x79':this[_0x37fa04(0x37c,'\x62\x26\x21\x42')+_0x37fa04(0x753,'\x57\x5d\x74\x6f')]}:{},...this[_0x37fa04(0x3e8,'\x78\x40\x50\x24')+_0x37fa04(0x2a4,'\x56\x61\x29\x64')+_0x37fa04(0x6aa,'\x75\x63\x55\x63')]?{'\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{},...this[_0x37fa04(0x703,'\x7a\x4a\x6c\x35')+_0x37fa04(0x226,'\x72\x32\x37\x36')+'\x65\x64']?{'\x72\x61\x77\x5f\x73\x74\x72\x65\x61\x6d\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{},...this[_0x37fa04(0x7b4,'\x62\x26\x21\x42')+_0x37fa04(0x7f0,'\x47\x66\x32\x30')+'\x74\x73\x54\x72\x75\x6e\x63\x61'+'\x74\x65\x64']?{'\x73\x65\x6d\x61\x6e\x74\x69\x63\x5f\x74\x61\x69\x6c\x5f\x65\x76\x65\x6e\x74\x73\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![],'\x64\x72\x6f\x70\x70\x65\x64\x5f\x73\x65\x6d\x61\x6e\x74\x69\x63\x5f\x74\x61\x69\x6c\x5f\x65\x76\x65\x6e\x74\x5f\x63\x6f\x75\x6e\x74':this[_0x37fa04(0x4cb,'\x66\x76\x37\x4f')+_0x37fa04(0x22c,'\x73\x56\x4a\x6a')+_0x37fa04(0x75b,'\x62\x62\x63\x73')+_0x37fa04(0x7e4,'\x38\x4e\x28\x51')]}:{},...this['\x74\x72\x75\x6e\x63\x61\x74\x65'+_0x37fa04(0x7c7,'\x75\x63\x55\x63')+'\x6e\x74']>-0xf9f+-0x346*-0x5+-0x1*0xbf?{'\x70\x72\x6f\x76\x69\x64\x65\x72\x5f\x73\x74\x72\x65\x61\x6d\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![],'\x74\x72\x75\x6e\x63\x61\x74\x65\x64\x5f\x6c\x69\x6e\x65\x5f\x63\x6f\x75\x6e\x74':this[_0x37fa04(0x28a,'\x50\x25\x54\x4d')+'\x64\x4c\x69\x6e\x65\x43\x6f\x75'+'\x6e\x74'],'\x64\x72\x6f\x70\x70\x65\x64\x5f\x6c\x69\x6e\x65\x5f\x63\x68\x61\x72\x73':this[_0x37fa04(0x3b2,'\x25\x59\x4b\x67')+_0x37fa04(0x4b5,'\x76\x77\x5e\x46')]}:{}};}[_0x19772a(0x32c,'\x43\x72\x69\x29')+_0x19772a(0x452,'\x70\x64\x63\x6c')+_0x19772a(0x4dd,'\x57\x5d\x74\x6f')](_0x2100cb){const _0x5cfff5=_0x19772a;if(!_0x2100cb)return;const _0xcc3714=redactText(_0x2100cb),_0x3a71c4=Math[_0x5cfff5(0x552,'\x53\x69\x4b\x76')](0x1*0xae7+-0x1*-0xffa+0x1ae1*-0x1,this[_0x5cfff5(0x331,'\x7a\x4a\x6c\x35')][_0x5cfff5(0x55a,'\x38\x21\x34\x29')+_0x5cfff5(0x6ab,'\x21\x2a\x5d\x40')+'\x73']-this[_0x5cfff5(0x354,'\x6f\x25\x4f\x62')+_0x5cfff5(0x3c5,'\x75\x63\x55\x63')]);if(_0x3a71c4>0x1c92+0x20ec*0x1+0x3d7e*-0x1){const _0x454b03=_0xcc3714[_0x5cfff5(0x359,'\x79\x51\x35\x70')](0x309*0x4+-0x1*0x21dd+-0x53*-0x43,_0x3a71c4);this[_0x5cfff5(0x286,'\x38\x4e\x28\x51')+_0x5cfff5(0x753,'\x57\x5d\x74\x6f')]+=_0x454b03,this['\x72\x61\x77\x53\x74\x72\x65\x61'+'\x6d\x43\x68\x61\x72\x73']+=_0x454b03['\x6c\x65\x6e\x67\x74\x68'];}if(_0xcc3714[_0x5cfff5(0x3c6,'\x41\x64\x57\x30')]>_0x3a71c4)this[_0x5cfff5(0x6e9,'\x32\x47\x61\x64')+_0x5cfff5(0x32a,'\x63\x32\x63\x4e')+'\x65\x64']=!![];}[_0x19772a(0x2d4,'\x41\x64\x57\x30')](_0xfe950){const _0xf313fa=_0x19772a;let _0x21cc76=_0xfe950;while(_0x21cc76[_0xf313fa(0x80b,'\x56\x61\x29\x64')]>-0x1806+-0x2254*0x1+0x3a5a){if(this['\x6f\x76\x65\x72\x66\x6c\x6f\x77'+_0xf313fa(0x52e,'\x54\x4c\x70\x5e')]){const _0x52c0b9=_0x21cc76[_0xf313fa(0x3a5,'\x32\x47\x61\x64')]('\x0a'),_0x535f7b=_0x52c0b9>=-0xd*0x1f1+0xaca+0x1*0xe73?_0x21cc76[_0xf313fa(0x34c,'\x54\x4c\x70\x5e')](0x1*-0x269+0x1c65*0x1+-0x19fc,_0x52c0b9):_0x21cc76;this[_0xf313fa(0x7ca,'\x25\x59\x4b\x67')+'\x66\x6c\x6f\x77\x54\x65\x78\x74'](_0x535f7b),this[_0xf313fa(0x39a,'\x43\x72\x69\x29')+_0xf313fa(0x61e,'\x21\x2a\x5d\x40')]+=_0x535f7b['\x6c\x65\x6e\x67\x74\x68'];if(_0x52c0b9<0x803*0x3+-0x22da+-0x1*-0xad1)return;this['\x66\x69\x6e\x69\x73\x68\x4f\x76'+_0xf313fa(0x217,'\x50\x25\x54\x4d')+_0xf313fa(0x194,'\x35\x59\x64\x78')](),_0x21cc76=_0x21cc76[_0xf313fa(0x616,'\x62\x62\x63\x73')](_0x52c0b9+(0x28a*0xa+-0xa*0x28f+-0x1*-0x33));continue;}const _0x15bc0f=_0x21cc76[_0xf313fa(0x3d4,'\x41\x6d\x6f\x70')]('\x0a'),_0xe3672f=_0x15bc0f>=0x32e+0x6d5+-0xa03?_0x21cc76[_0xf313fa(0x20d,'\x23\x63\x24\x68')](-0x9b9+0x1001+0x6*-0x10c,_0x15bc0f):_0x21cc76;if(this[_0xf313fa(0x459,'\x34\x34\x79\x6a')][_0xf313fa(0x40d,'\x32\x38\x78\x4f')]+_0xe3672f[_0xf313fa(0x441,'\x54\x4c\x70\x5e')]>this[_0xf313fa(0x51f,'\x70\x64\x63\x6c')]['\x6c\x69\x6e\x65\x4d\x61\x78\x42'+_0xf313fa(0x328,'\x71\x7a\x44\x67')]){if('\x6d\x50\x46\x50\x7a'===_0xf313fa(0x3de,'\x44\x25\x49\x65')){const _0x41d744=_0x299869(_0x3fda56(_0x1062bd,_0xf313fa(0x6d0,'\x41\x64\x57\x30')),'\x70\x72\x6f\x6a\x65\x63\x74');if(!/^[A-Za-z0-9_-]+$/[_0xf313fa(0x4e3,'\x24\x32\x40\x40')](_0x41d744))throw _0x30ea64(_0xf313fa(0x339,'\x59\x5d\x4b\x49')+_0xf313fa(0x38c,'\x47\x66\x32\x30')+_0xf313fa(0x7d9,'\x5d\x6a\x53\x77')+_0xf313fa(0x30d,'\x59\x5d\x4b\x49')+_0xf313fa(0x4a1,'\x34\x34\x79\x6a'));return _0x41d744;}else{this[_0xf313fa(0x2d5,'\x76\x77\x5e\x46')+_0xf313fa(0x5ee,'\x47\x66\x32\x30')+_0xf313fa(0x4fb,'\x29\x48\x4f\x42')](this[_0xf313fa(0x645,'\x43\x72\x69\x29')]+_0xe3672f),this[_0xf313fa(0x289,'\x73\x56\x4a\x6a')]='';if(_0x15bc0f<-0xa73+-0xd*0x190+-0x1*-0x1ec3)return;this[_0xf313fa(0x5e7,'\x76\x71\x30\x5b')+_0xf313fa(0x4da,'\x23\x63\x24\x68')+'\x4c\x69\x6e\x65'](),_0x21cc76=_0x21cc76[_0xf313fa(0x774,'\x4e\x4d\x65\x63')](_0x15bc0f+(-0x1025*-0x1+0xb02+-0x1b26));continue;}}this['\x62\x75\x66']+=_0xe3672f;if(_0x15bc0f<0x3c0+-0x15*-0xca+-0x1452)return;const _0x4dc2ce=this[_0xf313fa(0x2c3,'\x59\x5d\x4b\x49')]['\x74\x72\x69\x6d']();this[_0xf313fa(0x1ac,'\x76\x2a\x59\x5d')]='';if(_0x4dc2ce)this[_0xf313fa(0x56d,'\x6a\x6f\x63\x28')](_0x4dc2ce);_0x21cc76=_0x21cc76[_0xf313fa(0x329,'\x70\x64\x63\x6c')](_0x15bc0f+(-0x3*-0x43+-0x11b*0x2+0x16e));}}[_0x19772a(0x2e4,'\x47\x66\x32\x30')+_0x19772a(0x2c8,'\x78\x40\x50\x24')+_0x19772a(0x4e2,'\x41\x6d\x6f\x70')](_0x2f419c){const _0x3098bd=_0x19772a;this[_0x3098bd(0x57b,'\x34\x34\x79\x6a')+'\x65\x64\x4c\x69\x6e\x65']=!![],this['\x74\x72\x75\x6e\x63\x61\x74\x65'+_0x3098bd(0x190,'\x32\x47\x61\x64')+'\x6e\x74']+=0xc97+0xa6+-0xd3c,this[_0x3098bd(0x396,'\x29\x48\x4f\x42')+_0x3098bd(0x58f,'\x21\x2a\x5d\x40')](_0x2f419c),this[_0x3098bd(0x278,'\x61\x4d\x35\x40')+_0x3098bd(0x4b5,'\x76\x77\x5e\x46')]+=_0x2f419c[_0x3098bd(0x6dd,'\x29\x48\x4f\x42')];}[_0x19772a(0x214,'\x7a\x4a\x6c\x35')+_0x19772a(0x77d,'\x25\x59\x4b\x67')+_0x19772a(0x28b,'\x63\x32\x63\x4e')](){const _0x3d48e0=_0x19772a;if(this['\x6f\x76\x65\x72\x66\x6c\x6f\x77'+_0x3d48e0(0x3da,'\x70\x64\x63\x6c')])scanProviderTextMetadata(this[_0x3d48e0(0x343,'\x38\x4e\x28\x51')],this['\x6f\x76\x65\x72\x66\x6c\x6f\x77'+_0x3d48e0(0x26e,'\x53\x69\x4b\x76')]);this[_0x3d48e0(0x7a1,'\x79\x51\x35\x70')+'\x65\x64\x4c\x69\x6e\x65']=![],this[_0x3d48e0(0x7a4,'\x76\x71\x30\x5b')+_0x3d48e0(0x6dc,'\x5d\x6a\x53\x77')]='';}[_0x19772a(0x684,'\x47\x66\x32\x30')+_0x19772a(0x479,'\x4e\x4d\x65\x63')](_0x3860df){const _0x3033e6=_0x19772a;this[_0x3033e6(0x5c8,'\x76\x2a\x59\x5d')+_0x3033e6(0x401,'\x76\x71\x30\x5b')]=(this[_0x3033e6(0x17c,'\x46\x44\x76\x57')+_0x3033e6(0x1e1,'\x50\x25\x54\x4d')]+_0x3860df)['\x73\x6c\x69\x63\x65'](-MAX_PROVIDER_STREAM_LINE_SCAN_TAIL_BYTES),scanProviderTextMetadata(this[_0x3033e6(0x58e,'\x34\x4e\x47\x31')],_0x3860df);}['\x73\x63\x61\x6e\x4c\x69\x6e\x65'](_0x3ef104){const _0x51e2e8=_0x19772a;let _0xf5d8b7=_0x3ef104[_0x51e2e8(0x1b2,'\x21\x2a\x5d\x40')+'\x74\x68'](_0x51e2e8(0x3c3,'\x6f\x25\x4f\x62'))?_0x3ef104[_0x51e2e8(0x6ca,'\x4a\x77\x33\x50')](-0x7*-0xe0+-0xdb7*0x2+0x1553)[_0x51e2e8(0x4c4,'\x73\x56\x4a\x6a')]():_0x3ef104[_0x51e2e8(0x7fb,'\x62\x26\x21\x42')]();!_0x3ef104[_0x51e2e8(0x5c9,'\x44\x25\x49\x65')+'\x74\x68'](_0x51e2e8(0x5f8,'\x76\x77\x5e\x46'))&&(_0xf5d8b7=_0xf5d8b7[_0x51e2e8(0x54b,'\x32\x38\x78\x4f')](/^\[\s*/,'')['\x72\x65\x70\x6c\x61\x63\x65'](/^,\s*/,'')[_0x51e2e8(0x51c,'\x71\x7a\x44\x67')](/\s*,?\s*\]\s*$/,'')['\x72\x65\x70\x6c\x61\x63\x65'](/,\s*$/,'')[_0x51e2e8(0x507,'\x23\x63\x24\x68')]());if(!_0xf5d8b7||_0xf5d8b7==='\x5b\x44\x4f\x4e\x45\x5d')return;let _0x5140af;try{_0x5140af=JSON[_0x51e2e8(0x1f3,'\x41\x6d\x6f\x70')](_0xf5d8b7);}catch{return;}captureBodiesEnabled(this[_0x51e2e8(0x597,'\x76\x2a\x59\x5d')])&&(this[_0x51e2e8(0x72c,'\x62\x26\x21\x42')+_0x51e2e8(0x384,'\x35\x59\x64\x78')+'\x79\x43\x68\x75\x6e\x6b'](_0x5140af),this[_0x51e2e8(0x635,'\x58\x45\x24\x44')+_0x51e2e8(0x521,'\x38\x4e\x28\x51')+_0x51e2e8(0x685,'\x58\x45\x24\x44')+'\x6c'](_0x5140af)),this[_0x51e2e8(0x45b,'\x7a\x4a\x6c\x35')+'\x65\x64'](_0x5140af);}[_0x19772a(0x66c,'\x76\x71\x30\x5b')+_0x19772a(0x27c,'\x38\x21\x34\x29')+_0x19772a(0x791,'\x58\x45\x24\x44')](_0xfe7e18){const _0x473686=_0x19772a;if(this['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x473686(0x1c5,'\x6a\x6f\x63\x28')+_0x473686(0x443,'\x6c\x7a\x58\x71')])return;let _0x4231ef=-0x1d33+-0x4*0x2fb+-0x57*-0x79;try{if(_0x473686(0x6e4,'\x6f\x25\x4f\x62')===_0x473686(0x2de,'\x35\x59\x64\x78'))_0x4231ef=Buffer[_0x473686(0x389,'\x44\x25\x49\x65')+'\x74\x68'](JSON[_0x473686(0x559,'\x25\x59\x4b\x67')+'\x79'](_0xfe7e18),_0x473686(0x241,'\x38\x21\x34\x29'));else{this[_0x473686(0x64e,'\x70\x64\x63\x6c')+_0x473686(0x24d,'\x70\x64\x63\x6c')+_0x473686(0x6bb,'\x25\x59\x4b\x67')+_0x473686(0x7d8,'\x6f\x25\x4f\x62')]=!![],this[_0x473686(0x7c8,'\x38\x21\x34\x29')+_0x473686(0x6f4,'\x29\x48\x4f\x42')+_0x473686(0x5e4,'\x54\x4c\x70\x5e')+_0x473686(0x1d0,'\x76\x71\x30\x5b')]+=-0x1*0x214a+0x282+0x1ec9*0x1;return;}}catch{return;}if(this[_0x473686(0x32e,'\x70\x64\x63\x6c')+_0x473686(0x5b0,'\x41\x64\x57\x30')]['\x6c\x65\x6e\x67\x74\x68']>=this[_0x473686(0x3bd,'\x44\x25\x49\x65')][_0x473686(0x633,'\x58\x45\x24\x44')+_0x473686(0x18a,'\x53\x69\x4b\x76')]||this['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x473686(0x1a0,'\x6a\x6f\x63\x28')+'\x65\x73']+_0x4231ef>this['\x6c\x69\x6d\x69\x74\x73'][_0x473686(0x440,'\x71\x7a\x44\x67')+_0x473686(0x65b,'\x7a\x4a\x6c\x35')]){this[_0x473686(0x7de,'\x54\x4c\x70\x5e')+_0x473686(0x749,'\x41\x64\x57\x30')+_0x473686(0x3b1,'\x76\x2a\x59\x5d')]=!![];return;}this['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x473686(0x724,'\x71\x7a\x44\x67')]['\x70\x75\x73\x68'](_0xfe7e18),this[_0x473686(0x5d8,'\x61\x6b\x75\x53')+_0x473686(0x2d8,'\x34\x4e\x47\x31')+'\x65\x73']+=_0x4231ef;}['\x63\x61\x70\x74\x75\x72\x65\x50'+_0x19772a(0x18c,'\x6a\x6f\x63\x28')+_0x19772a(0x6fa,'\x79\x51\x35\x70')+'\x6c'](_0x1b3f93){const _0x313742=_0x19772a;if(!this[_0x313742(0x21e,'\x73\x56\x4a\x6a')+_0x313742(0x49c,'\x6f\x25\x4f\x62')+_0x313742(0x7b3,'\x78\x40\x50\x24')])return;for(const _0x5eabdd of semanticTailEvents(_0x1b3f93))this[_0x313742(0x5d2,'\x73\x56\x4a\x6a')+_0x313742(0x251,'\x6a\x6f\x63\x28')+_0x313742(0x219,'\x21\x2a\x5d\x40')](_0x5eabdd);}[_0x19772a(0x4c3,'\x44\x25\x49\x65')+_0x19772a(0x240,'\x50\x25\x54\x4d')+_0x19772a(0x1ee,'\x46\x44\x76\x57')](_0x59128e){const _0x3d8413=_0x19772a,_0x10a444=captureBody(_0x59128e,this[_0x3d8413(0x49e,'\x58\x45\x24\x44')]);if(!_0x10a444)return;let _0xe56de2;try{_0xe56de2=JSON['\x70\x61\x72\x73\x65'](_0x10a444['\x62\x6f\x64\x79']);}catch{if(_0x3d8413(0x6a3,'\x47\x66\x32\x30')!==_0x3d8413(0x24b,'\x79\x51\x35\x70'))return{'\x62\x6f\x64\x79':_0x5e27b2,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x4d\x6f\x64\x65\x6c':_0x34f44a,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x359573,'\x74\x69\x65\x72':_0x35d057,'\x72\x65\x61\x73\x6f\x6e':_0x2ceb84,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x3d8413(0x3d6,'\x32\x47\x61\x64')+_0x3d8413(0x784,'\x66\x76\x37\x4f')+_0x3d8413(0x3af,'\x5d\x6a\x53\x77'),'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x4ba231};else _0xe56de2=_0x10a444[_0x3d8413(0x229,'\x75\x63\x55\x63')];}let _0x2a3c8f=0x31f*0x3+-0xa6a*0x2+0xb77;try{_0x2a3c8f=Buffer[_0x3d8413(0x522,'\x63\x32\x63\x4e')+'\x74\x68'](JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0xe56de2),_0x3d8413(0x792,'\x66\x76\x37\x4f'));}catch{if(_0x3d8413(0x6c2,'\x57\x5d\x74\x6f')===_0x3d8413(0x712,'\x32\x38\x78\x4f'))return;else{const _0x3d8e73={..._0x124ef5};for(const _0x5892c2 of _0x4a30d9['\x6b\x65\x79\x73'](_0x3d8e73)){const _0x3d5afa=_0x5892c2['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']();if(_0x3d5afa===_0x3d8413(0x7ea,'\x6a\x6f\x63\x28')+_0x3d8413(0x4db,'\x47\x66\x32\x30')||_0x3d5afa[_0x3d8413(0x4a6,'\x43\x72\x69\x29')+'\x74\x68'](_0x3d8413(0x208,'\x54\x4c\x70\x5e')+_0x3d8413(0x287,'\x61\x4d\x35\x40')+'\x79\x2d'))delete _0x3d8e73[_0x5892c2];}return _0x3d8e73;}}if(_0x2a3c8f>this['\x6c\x69\x6d\x69\x74\x73']['\x73\x65\x6d\x61\x6e\x74\x69\x63'+_0x3d8413(0x790,'\x61\x4d\x35\x40')+_0x3d8413(0x43c,'\x7a\x4a\x6c\x35')]){this[_0x3d8413(0x65d,'\x32\x38\x78\x4f')+_0x3d8413(0x826,'\x66\x76\x37\x4f')+_0x3d8413(0x647,'\x4a\x77\x33\x50')+'\x74\x65\x64']=!![],this[_0x3d8413(0x6bd,'\x62\x62\x63\x73')+_0x3d8413(0x6fe,'\x58\x45\x24\x44')+'\x61\x69\x6c\x45\x76\x65\x6e\x74'+_0x3d8413(0x1d0,'\x76\x71\x30\x5b')]+=0x2*0xeed+0x1*-0xef3+-0xee6;return;}while(this['\x73\x65\x6d\x61\x6e\x74\x69\x63'+_0x3d8413(0x772,'\x57\x52\x4b\x4b')+'\x74\x73'][_0x3d8413(0x27d,'\x79\x51\x35\x70')]>=this[_0x3d8413(0x6b3,'\x34\x4e\x47\x31')][_0x3d8413(0x30f,'\x47\x66\x32\x30')+_0x3d8413(0x3c9,'\x53\x69\x4b\x76')+_0x3d8413(0x2b6,'\x70\x64\x63\x6c')]||this[_0x3d8413(0x19d,'\x78\x40\x50\x24')+_0x3d8413(0x7b6,'\x38\x21\x34\x29')+'\x73']+_0x2a3c8f>this['\x6c\x69\x6d\x69\x74\x73'][_0x3d8413(0x247,'\x56\x61\x29\x64')+_0x3d8413(0x1fd,'\x41\x64\x57\x30')+_0x3d8413(0x6c9,'\x6c\x7a\x58\x71')]){const _0x306efa=this[_0x3d8413(0x548,'\x63\x32\x63\x4e')+_0x3d8413(0x505,'\x53\x69\x4b\x76')+'\x74\x73'][_0x3d8413(0x601,'\x38\x21\x34\x29')]();if(_0x306efa===undefined)break;this[_0x3d8413(0x7ed,'\x41\x6d\x6f\x70')+_0x3d8413(0x72d,'\x21\x2a\x5d\x40')+_0x3d8413(0x28c,'\x29\x48\x4f\x42')+'\x74\x65\x64']=!![],this[_0x3d8413(0x2b3,'\x24\x32\x40\x40')+_0x3d8413(0x399,'\x57\x52\x4b\x4b')+'\x61\x69\x6c\x45\x76\x65\x6e\x74'+_0x3d8413(0x752,'\x53\x7a\x6d\x30')]+=0x63*-0x1e+0x5*-0x82+0xe25;try{_0x3d8413(0x495,'\x29\x48\x4f\x42')!==_0x3d8413(0x627,'\x29\x48\x4f\x42')?this[_0x3d8413(0x5e3,'\x24\x32\x40\x40')+_0x3d8413(0x23d,'\x4a\x77\x33\x50')+'\x73']-=Buffer[_0x3d8413(0x276,'\x34\x34\x79\x6a')+'\x74\x68'](JSON[_0x3d8413(0x766,'\x23\x63\x24\x68')+'\x79'](_0x306efa),_0x3d8413(0x3a4,'\x63\x32\x63\x4e')):_0x277d24=_0x2f53d9[_0x3d8413(0x1aa,'\x53\x7a\x6d\x30')+'\x74\x68'](_0x543596[_0x3d8413(0x30b,'\x32\x38\x78\x4f')+'\x79'](_0xe7869),'\x75\x74\x66\x38');}catch{if('\x62\x62\x43\x43\x5a'!==_0x3d8413(0x612,'\x7a\x4a\x6c\x35'))this[_0x3d8413(0x22a,'\x4e\x4d\x65\x63')+_0x3d8413(0x3f0,'\x53\x7a\x6d\x30')+'\x73']=-0x4dc*-0x8+-0x1edd*-0x1+0xb*-0x657;else return _0x10f041(_0x580328,_0x13be55=>_0x322f64[_0x3d8413(0x181,'\x7a\x4a\x6c\x35')](_0x13be55)||_0x13be55['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x3d8413(0x1e5,'\x62\x26\x21\x42')+_0x3d8413(0x666,'\x6f\x25\x4f\x62')));}}this[_0x3d8413(0x548,'\x63\x32\x63\x4e')+_0x3d8413(0x24d,'\x70\x64\x63\x6c')+'\x74\x73'][_0x3d8413(0x7ac,'\x6f\x25\x4f\x62')](_0xe56de2),this['\x73\x65\x6d\x61\x6e\x74\x69\x63'+'\x54\x61\x69\x6c\x42\x79\x74\x65'+'\x73']+=_0x2a3c8f;}[_0x19772a(0x6a8,'\x35\x59\x64\x78')+'\x65\x64'](_0x5caa90){const _0x508396=_0x19772a;if(Array[_0x508396(0x3e1,'\x53\x7a\x6d\x30')](_0x5caa90)){for(const _0x400623 of _0x5caa90)this[_0x508396(0x793,'\x4a\x77\x33\x50')+'\x65\x64'](_0x400623);return;}mergeTraceMeta(this[_0x508396(0x27e,'\x38\x21\x34\x29')],providerMeta(this[_0x508396(0x2f4,'\x6c\x7a\x58\x71')],_0x5caa90));}}function getHeader(_0x4d03ce,_0x2bdaad){const _0x192d8b=_0x19772a,_0x411b08=_0x2bdaad[_0x192d8b(0x3d3,'\x79\x51\x35\x70')+_0x192d8b(0x4a0,'\x25\x59\x4b\x67')]();for(const [_0x150056,_0x1118c8]of Object[_0x192d8b(0x20b,'\x76\x2a\x59\x5d')](_0x4d03ce)){if(_0x150056[_0x192d8b(0x24a,'\x76\x2a\x59\x5d')+_0x192d8b(0x5ba,'\x6c\x7a\x58\x71')]()===_0x411b08&&_0x1118c8)return _0x1118c8;}return'';}function clip(_0x3ccf2b,_0x10f14e=0x9ee+0x21a5+-0x2b13*0x1){const _0x131158=_0x19772a;return _0x3ccf2b[_0x131158(0x46f,'\x76\x71\x30\x5b')]<=_0x10f14e?_0x3ccf2b:_0x3ccf2b[_0x131158(0x711,'\x7a\x4a\x6c\x35')](-0x4f1+-0x38*-0xb0+0xb*-0x30d,_0x10f14e);}function safeTraceError(_0x5f4c34,_0x7c23de=0xa3d+-0xd16+0x3d9){const _0x185e05=_0x19772a;return clip(redactText(_0x5f4c34)[_0x185e05(0x18f,'\x24\x32\x40\x40')](/\s+/g,'\x20')[_0x185e05(0x52a,'\x44\x25\x49\x65')](),_0x7c23de);}function safePlainSessionId(_0xc3d9a4){const _0x32a7d2=_0x19772a,_0x4b5466=_0xc3d9a4[_0x32a7d2(0x5b3,'\x66\x76\x37\x4f')]();if(_0x4b5466!==_0xc3d9a4)return'';if(_0x4b5466[_0x32a7d2(0x441,'\x54\x4c\x70\x5e')]<-0x8a7+-0x1*0x1df9+0x26a4||_0x4b5466[_0x32a7d2(0x441,'\x54\x4c\x70\x5e')]>-0x4f*-0x3+-0x7b8+0x74b)return'';if(_0x4b5466[_0x32a7d2(0x280,'\x47\x66\x32\x30')]('\x40')||/\s/[_0x32a7d2(0x3ed,'\x70\x64\x63\x6c')](_0x4b5466))return'';if(!/^[A-Za-z0-9][A-Za-z0-9._-]*[A-Za-z0-9]$/[_0x32a7d2(0x4d2,'\x57\x5d\x74\x6f')](_0x4b5466))return'';if(/^(?:bearer|basic|sk-|ghp_|github_pat_|gho_|ghu_|ghs_|glpat-|xox[baprs]-)/i['\x74\x65\x73\x74'](_0x4b5466))return'';if(/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/[_0x32a7d2(0x5bd,'\x59\x5d\x4b\x49')](_0x4b5466))return'';if(/(?:^|[-_.])(?:token|secret|apikey|api[_-]?key|password|passwd|credential|auth)(?:$|[-_.])/i[_0x32a7d2(0x3bc,'\x71\x7a\x44\x67')](_0x4b5466))return'';if(/^[a-f0-9]{32,}$/i[_0x32a7d2(0x2aa,'\x54\x4c\x70\x5e')](_0x4b5466))return'';if(/^[A-Za-z0-9_-]{40,}$/[_0x32a7d2(0x77b,'\x72\x32\x37\x36')](_0x4b5466)&&!/[-_.]/[_0x32a7d2(0x2aa,'\x54\x4c\x70\x5e')](_0x4b5466))return'';if(/(?:session|sess)/i[_0x32a7d2(0x527,'\x53\x7a\x6d\x30')](_0x4b5466))return _0x4b5466;return/[-_.]/[_0x32a7d2(0x3b5,'\x43\x72\x69\x29')](_0x4b5466)?_0x4b5466:'';}function sessionIdFromPlainField(_0x22990e){const _0x32fa1b=_0x19772a;return typeof _0x22990e===_0x32fa1b(0x55e,'\x34\x34\x79\x6a')?safePlainSessionId(_0x22990e):'';}function sessionIdFromClaudeUserId(_0x1a649a){const _0x20cb0e=_0x19772a,_0xd143c='\x5f\x5f\x73\x65\x73\x73\x69\x6f'+'\x6e\x5f',_0x1e8c70=_0x1a649a[_0x20cb0e(0x6ef,'\x76\x71\x30\x5b')](_0xd143c);if(_0x1e8c70<-0x12df+0x1738+-0x7*0x9f)return'';return safePlainSessionId(_0x1a649a[_0x20cb0e(0x304,'\x34\x4e\x47\x31')](_0x1e8c70+_0xd143c[_0x20cb0e(0x30e,'\x76\x77\x5e\x46')]));}function sessionIdFromUserField(_0x20a047){const _0x82b732=_0x19772a;if(!_0x20a047)return'';let _0x18b312=_0x20a047;if(typeof _0x20a047===_0x82b732(0x1e8,'\x61\x6b\x75\x53')){const _0xb15880=_0x20a047[_0x82b732(0x587,'\x46\x44\x76\x57')]();if(!_0xb15880[_0x82b732(0x4ed,'\x23\x63\x24\x68')+'\x74\x68']('\x7b'))return sessionIdFromClaudeUserId(_0xb15880)||safePlainSessionId(_0xb15880);try{_0x18b312=JSON[_0x82b732(0x817,'\x57\x5d\x74\x6f')](_0xb15880);}catch{return'';}}if(_0x18b312&&typeof _0x18b312===_0x82b732(0x6c4,'\x53\x7a\x6d\x30')){const _0x21dc60=_0x18b312['\x73\x65\x73\x73\x69\x6f\x6e\x5f'+'\x69\x64'];if(typeof _0x21dc60==='\x73\x74\x72\x69\x6e\x67'&&_0x21dc60[_0x82b732(0x6e5,'\x6f\x25\x4f\x62')]>0x95c+0x3*0x907+-0x2471)return safePlainSessionId(_0x21dc60);}return'';}function extractSessionId(_0x5ab12f,_0x9b0cde){const _0x81a20d=_0x19772a;for(const _0xe5d5ae of[_0x81a20d(0x518,'\x63\x32\x63\x4e')+'\x6e\x2d\x69\x64',_0x81a20d(0x298,'\x75\x63\x55\x63')+'\x2d\x73\x65\x73\x73\x69\x6f\x6e'+_0x81a20d(0x7f1,'\x5d\x6a\x53\x77'),'\x78\x2d\x63\x6f\x6e\x76\x65\x72'+_0x81a20d(0x277,'\x7a\x4a\x6c\x35')+'\x64']){if(_0x81a20d(0x7e1,'\x5d\x6a\x53\x77')===_0x81a20d(0x449,'\x47\x66\x32\x30'))_0x201733[_0x81a20d(0x65e,'\x38\x4e\x28\x51')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':_0x45865f[_0x81a20d(0x1f5,'\x47\x66\x32\x30')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x36f758[_0x81a20d(0x2c6,'\x6c\x7a\x58\x71')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x2d3676[_0x81a20d(0x4f3,'\x58\x45\x24\x44')],'\x73\x74\x61\x74\x75\x73':_0x420c3d['\x73\x74\x61\x74\x75\x73\x43\x6f'+'\x64\x65'],'\x65\x72\x72\x6f\x72':_0xbc8ae9,'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x3be5df});else{const _0x295b95=getHeader(_0x5ab12f,_0xe5d5ae)[_0x81a20d(0x7fb,'\x62\x26\x21\x42')](),_0x244bd2=sessionIdFromPlainField(_0x295b95);if(_0x244bd2)return clip(_0x244bd2);}}const _0xcf85a2=_0x9b0cde[_0x81a20d(0x517,'\x57\x52\x4b\x4b')];if(isRecord(_0xcf85a2)){const _0x5256e0=sessionIdFromUserField(_0xcf85a2['\x75\x73\x65\x72\x5f\x69\x64'])||sessionIdFromPlainField(_0xcf85a2['\x73\x65\x73\x73\x69\x6f\x6e\x5f'+'\x69\x64']);if(_0x5256e0)return clip(_0x5256e0);}const _0x5752af=sessionIdFromUserField(_0x9b0cde[_0x81a20d(0x38f,'\x75\x63\x55\x63')]);if(_0x5752af)return clip(_0x5752af);return null;}function extractTopLevelUserIdHash(_0xe450b0){const _0x2a96b9=_0x19772a,_0x68629c=_0xe450b0[_0x2a96b9(0x2a8,'\x6a\x6f\x63\x28')];if(isRecord(_0x68629c)){const _0xb04c48=_0x68629c[_0x2a96b9(0x69d,'\x7a\x4a\x6c\x35')];if(typeof _0xb04c48==='\x73\x74\x72\x69\x6e\x67'||typeof _0xb04c48===_0x2a96b9(0x47a,'\x53\x69\x4b\x76'))return stableUserIdHash(_0xb04c48);}const _0x4e8fe7=_0xe450b0[_0x2a96b9(0x49b,'\x25\x59\x4b\x67')];if(typeof _0x4e8fe7===_0x2a96b9(0x25a,'\x70\x64\x63\x6c')||typeof _0x4e8fe7===_0x2a96b9(0x692,'\x38\x4e\x28\x51'))return stableUserIdHash(_0x4e8fe7);return undefined;}function extractPreviousResponseId(_0x48bd4f){const _0x100c85=_0x19772a,_0x1e723b=_0x48bd4f[_0x100c85(0x28f,'\x79\x51\x35\x70')+_0x100c85(0x609,'\x32\x47\x61\x64')+_0x100c85(0x7d5,'\x5d\x6a\x53\x77')];return typeof _0x1e723b===_0x100c85(0x3ce,'\x62\x62\x63\x73')&&_0x1e723b[_0x100c85(0x427,'\x61\x6b\x75\x53')]>0x9f7*-0x2+0x111e+0x2d0?clip(_0x1e723b):null;}function retryHeadersForMutatedOpenAIRequest(_0x11b6a7){const _0x1237db=_0x19772a,_0x2d1592={..._0x11b6a7};for(const _0x36e918 of Object[_0x1237db(0x317,'\x76\x77\x5e\x46')](_0x2d1592)){if(_0x1237db(0x6ac,'\x73\x56\x4a\x6a')===_0x1237db(0x4d6,'\x62\x62\x63\x73')){for(const _0x55892d of _0xb8a5fb){const _0x544a1a=_0x3b944b[_0x55892d];if(typeof _0x544a1a===_0x1237db(0x202,'\x35\x59\x64\x78')&&_0x544a1a[_0x1237db(0x50d,'\x79\x51\x35\x70')]())return _0x544a1a[_0x1237db(0x391,'\x29\x48\x4f\x42')]();}return _0x68f739;}else{const _0x30b87c=_0x36e918[_0x1237db(0x62e,'\x62\x62\x63\x73')+_0x1237db(0x2c0,'\x66\x76\x37\x4f')]();if(_0x30b87c===_0x1237db(0x6b7,'\x59\x5d\x4b\x49')+_0x1237db(0x3ec,'\x79\x51\x35\x70')||_0x30b87c[_0x1237db(0x195,'\x6a\x6f\x63\x28')+'\x74\x68'](_0x1237db(0x66a,'\x56\x61\x29\x64')+'\x65\x73\x73\x2d\x72\x65\x74\x72'+'\x79\x2d'))delete _0x2d1592[_0x36e918];}}return _0x2d1592;}function detectClient(_0x33e9fc){const _0x3d432e=_0x19772a,_0x31fcfe=getHeader(_0x33e9fc,_0x3d432e(0x374,'\x61\x6b\x75\x53')+'\x6e\x74')[_0x3d432e(0x350,'\x41\x6d\x6f\x70')+_0x3d432e(0x6a7,'\x58\x45\x24\x44')]();if(_0x31fcfe[_0x3d432e(0x2e3,'\x78\x40\x50\x24')](_0x3d432e(0x333,'\x38\x21\x34\x29')))return _0x3d432e(0x24e,'\x7a\x4a\x6c\x35')+_0x3d432e(0x478,'\x78\x40\x50\x24');if(_0x31fcfe[_0x3d432e(0x77e,'\x76\x71\x30\x5b')](_0x3d432e(0x7ee,'\x61\x6b\x75\x53')))return _0x3d432e(0x802,'\x76\x77\x5e\x46');if(_0x31fcfe['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x63\x6f\x64\x65\x78'))return _0x3d432e(0x689,'\x35\x59\x64\x78');return _0x3d432e(0x7f7,'\x76\x77\x5e\x46');}function wireApiForTrace(_0x33d347){const _0x45bca9=_0x19772a;if(_0x33d347[_0x45bca9(0x283,'\x32\x47\x61\x64')]===_0x45bca9(0x75a,'\x75\x63\x55\x63')&&_0x33d347['\x75\x70\x73\x74\x72\x65\x61\x6d'+_0x45bca9(0x288,'\x4a\x77\x33\x50')]==='\x2f\x72\x65\x73\x70\x6f\x6e\x73'+'\x65\x73')return _0x45bca9(0x44e,'\x5d\x6a\x53\x77')+_0x45bca9(0x53f,'\x76\x71\x30\x5b');if(_0x33d347[_0x45bca9(0x674,'\x6a\x6f\x63\x28')]==='\x6f\x70\x65\x6e\x61\x69'&&_0x33d347[_0x45bca9(0x1c0,'\x44\x25\x49\x65')+_0x45bca9(0x1a2,'\x41\x64\x57\x30')]===_0x45bca9(0x465,'\x5d\x6a\x53\x77')+_0x45bca9(0x34b,'\x61\x6b\x75\x53')+'\x73')return _0x45bca9(0x7ff,'\x46\x44\x76\x57')+_0x45bca9(0x2a5,'\x32\x38\x78\x4f')+_0x45bca9(0x70c,'\x34\x4e\x47\x31');if(_0x33d347[_0x45bca9(0x303,'\x34\x34\x79\x6a')]===_0x45bca9(0x7af,'\x5d\x6a\x53\x77'))return'\x67\x65\x6d\x69\x6e\x69\x5f\x67'+_0x45bca9(0x47e,'\x54\x4c\x70\x5e')+_0x45bca9(0x259,'\x71\x7a\x44\x67');if(_0x33d347[_0x45bca9(0x4b0,'\x56\x61\x29\x64')]===_0x45bca9(0x4ce,'\x57\x5d\x74\x6f'))return'\x76\x65\x72\x74\x65\x78\x5f\x67'+_0x45bca9(0x6f0,'\x70\x64\x63\x6c');if(_0x33d347['\x70\x72\x6f\x76\x69\x64\x65\x72']==='\x6f\x6c\x6c\x61\x6d\x61')return _0x45bca9(0x407,'\x5d\x6a\x53\x77')+'\x70\x69';return _0x45bca9(0x539,'\x25\x59\x4b\x67')+_0x45bca9(0x356,'\x7a\x4a\x6c\x35')+'\x65\x73';}function captureTraceAttempts(_0x16d8b7,_0xb4c453,_0x4515c8){const _0x19ecca=_0x19772a;return _0x16d8b7[_0x19ecca(0x526,'\x41\x6d\x6f\x70')](_0x3d20f7=>{const _0x780d88=_0x19ecca;if('\x71\x67\x75\x79\x47'===_0x780d88(0x5b6,'\x44\x25\x49\x65')){const _0xd9803a={'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':_0x3d20f7['\x61\x74\x74\x65\x6d\x70\x74\x5f'+_0x780d88(0x352,'\x57\x5d\x74\x6f')],'\x6d\x6f\x64\x65\x6c':_0x3d20f7[_0x780d88(0x36e,'\x53\x69\x4b\x76')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x3d20f7[_0x780d88(0x674,'\x6a\x6f\x63\x28')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x3d20f7[_0x780d88(0x4b6,'\x5d\x6a\x53\x77')+_0x780d88(0x24f,'\x29\x48\x4f\x42')],'\x73\x74\x61\x74\x75\x73':_0x3d20f7[_0x780d88(0x269,'\x75\x63\x55\x63')],..._0x3d20f7[_0x780d88(0x3f4,'\x61\x4d\x35\x40')]!==undefined?{'\x65\x72\x72\x6f\x72':safeTraceError(_0x3d20f7[_0x780d88(0x1cd,'\x25\x59\x4b\x67')])}:{},..._0x3d20f7[_0x780d88(0x1cb,'\x50\x25\x54\x4d')+_0x780d88(0x205,'\x38\x21\x34\x29')]===!![]?{'\x62\x6f\x64\x79\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{}},_0x39de5e=_0xb4c453?captureBody(_0x3d20f7[_0x780d88(0x512,'\x34\x4e\x47\x31')+_0x780d88(0x29f,'\x32\x47\x61\x64')],_0x4515c8):undefined,_0x41c910=_0xb4c453&&_0x3d20f7[_0x780d88(0x6b9,'\x34\x4e\x47\x31')+'\x42\x6f\x64\x79']!==undefined?captureBody(_0x3d20f7[_0x780d88(0x60c,'\x61\x4d\x35\x40')+_0x780d88(0x1f4,'\x54\x4c\x70\x5e')],_0x4515c8):undefined;if(_0x39de5e)_0xd9803a[_0x780d88(0x62a,'\x43\x72\x69\x29')+'\x6f\x64\x79']=_0x39de5e[_0x780d88(0x1ab,'\x32\x47\x61\x64')];if(_0x41c910)_0xd9803a[_0x780d88(0x714,'\x71\x7a\x44\x67')+_0x780d88(0x1ce,'\x24\x32\x40\x40')]=_0x41c910[_0x780d88(0x415,'\x63\x32\x63\x4e')];if(_0x39de5e?.[_0x780d88(0x81b,'\x61\x4d\x35\x40')+'\x64']||_0x41c910?.[_0x780d88(0x581,'\x6c\x7a\x58\x71')+'\x64']||_0x3d20f7[_0x780d88(0x2bc,'\x24\x32\x40\x40')+_0x780d88(0x22e,'\x43\x72\x69\x29')]===!![]||responseBodyIndicatesTruncation(_0x3d20f7[_0x780d88(0x25d,'\x63\x32\x63\x4e')+_0x780d88(0x629,'\x35\x59\x64\x78')]))_0xd9803a['\x62\x6f\x64\x79\x5f\x74\x72\x75'+'\x6e\x63\x61\x74\x65\x64']=!![];return _0xd9803a;}else _0x3a3a96=_0x780d88(0x2fd,'\x76\x77\x5e\x46')+'\x65\x72\x5f\x65\x72\x72\x6f\x72',_0x28a735['\x77\x61\x72\x6e']?.(_0x4ac9a4({'\x65\x76\x65\x6e\x74':_0x780d88(0x370,'\x34\x34\x79\x6a')+_0x780d88(0x7b0,'\x38\x4e\x28\x51'),'\x72\x6f\x75\x74\x65':_0x553119,'\x72\x65\x61\x73\x6f\x6e':_0x8ec480,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x20d186,'\x65\x72\x72\x6f\x72':_0x41cfed instanceof _0x2845d8?_0x3cdac9[_0x780d88(0x767,'\x41\x64\x57\x30')]:_0x1e8979(_0x437fc0)}));});}function emitTrace(_0x3422e4,_0x6d7e6e,_0x27e081,_0x4268f9,_0x3a3ee4){const _0x2d247f=_0x19772a;if(!_0x3422e4['\x6f\x6e\x54\x72\x61\x63\x65'])return;const _0x455a73=_0x3422e4[_0x2d247f(0x58d,'\x5d\x6a\x53\x77')]??(()=>Date[_0x2d247f(0x6b0,'\x57\x5d\x74\x6f')]()),_0x2aa51a=getHeader(_0x3422e4['\x68\x65\x61\x64\x65\x72\x73'],_0x2d247f(0x3ea,'\x6f\x25\x4f\x62')+_0x2d247f(0x6f5,'\x54\x4c\x70\x5e')),_0x2ba71a=extractSessionId(_0x3422e4['\x68\x65\x61\x64\x65\x72\x73'],_0x3422e4[_0x2d247f(0x51e,'\x71\x7a\x44\x67')]),_0x46c21d=extractPreviousResponseId(_0x3422e4[_0x2d247f(0x5e9,'\x21\x2a\x5d\x40')]),_0x373f70=_0x3a3ee4&&captureBodiesEnabled(_0x3422e4[_0x2d247f(0x7a2,'\x57\x5d\x74\x6f')]??process.env),_0x249e6a={'\x74\x73':new Date(_0x6d7e6e)[_0x2d247f(0x637,'\x79\x51\x35\x70')+_0x2d247f(0x6f3,'\x53\x7a\x6d\x30')](),'\x65\x76\x65\x6e\x74':_0x2d247f(0x611,'\x29\x48\x4f\x42'),'\x69\x64':'\x6c\x6c\x6d\x5f'+randomUUID(),'\x72\x65\x71\x75\x65\x73\x74\x5f\x69\x64':_0x2aa51a?clip(_0x2aa51a):null,'\x72\x6f\x75\x74\x65':_0x3422e4[_0x2d247f(0x7d0,'\x72\x32\x37\x36')]??_0x3422e4[_0x2d247f(0x335,'\x6a\x6f\x63\x28')+_0x2d247f(0x2d7,'\x53\x7a\x6d\x30')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x3422e4[_0x2d247f(0x6d1,'\x59\x5d\x4b\x49')],'\x77\x69\x72\x65\x5f\x61\x70\x69':wireApiForTrace(_0x3422e4),'\x63\x6c\x69\x65\x6e\x74':detectClient(_0x3422e4[_0x2d247f(0x294,'\x61\x4d\x35\x40')]),...getHeader(_0x3422e4['\x68\x65\x61\x64\x65\x72\x73'],_0x2d247f(0x64f,'\x23\x63\x24\x68')+'\x6e\x74')?{'\x75\x73\x65\x72\x5f\x61\x67\x65\x6e\x74':clip(getHeader(_0x3422e4[_0x2d247f(0x46a,'\x4a\x77\x33\x50')],'\x75\x73\x65\x72\x2d\x61\x67\x65'+'\x6e\x74'))}:{},...((()=>{const _0x469238=_0x2d247f;if(_0x469238(0x5e6,'\x46\x44\x76\x57')!==_0x469238(0x3f5,'\x4e\x4d\x65\x63'))try{const _0x2f98b6=extractTopLevelUserIdHash(_0x3422e4[_0x469238(0x1ca,'\x4a\x77\x33\x50')]);return _0x2f98b6?{'\x75\x73\x65\x72\x5f\x69\x64\x5f\x68\x61\x73\x68':_0x2f98b6}:{};}catch{if('\x6b\x73\x65\x42\x72'!=='\x4c\x65\x61\x6e\x64')return{};else{if(!_0x15752f(_0x3548b5))return _0x15db0f;const _0x1558e6=typeof _0x2bfe9b[_0x469238(0x61f,'\x24\x32\x40\x40')]==='\x73\x74\x72\x69\x6e\x67'?_0x170988[_0x469238(0x568,'\x73\x56\x4a\x6a')]:'',_0x3e2641=typeof _0x4816c3[_0x469238(0x3fe,'\x44\x25\x49\x65')]===_0x469238(0x380,'\x7a\x4a\x6c\x35')?_0x57623d[_0x469238(0x46d,'\x73\x56\x4a\x6a')]:'',_0x383e22=_0x4c24b5(_0x32434f[_0x469238(0x6a4,'\x58\x45\x24\x44')])?_0x53c1cc[_0x469238(0x299,'\x5d\x6a\x53\x77')]:_0xa769ab,_0xaa78df=_0x1558e6===_0x469238(0x42f,'\x76\x77\x5e\x46')+_0x469238(0x327,'\x71\x7a\x44\x67')||_0x1558e6===_0x469238(0x282,'\x57\x5d\x74\x6f')||_0x1558e6==='\x66\x75\x6e\x63\x74\x69\x6f\x6e'+_0x469238(0x70f,'\x44\x25\x49\x65')+_0x469238(0x4fd,'\x56\x61\x29\x64')||_0x1558e6===_0x469238(0x4c5,'\x76\x2a\x59\x5d')+_0x469238(0x420,'\x5d\x6a\x53\x77')||_0x3e2641===_0x469238(0x770,'\x66\x76\x37\x4f')||_0x584f5d[_0x469238(0x462,'\x53\x69\x4b\x76')](_0x3d264a[_0x469238(0x3a6,'\x76\x71\x30\x5b')+'\x6c\x73'])||_0x383e22!==_0x490bd5;if(!_0xaa78df)return _0x1b3dac;const _0x48157c=_0x35c7b8(_0xa41075,['\x69\x64','\x74\x79\x70\x65',_0x469238(0x258,'\x47\x66\x32\x30'),_0x469238(0x1a3,'\x46\x44\x76\x57'),_0x469238(0x3a7,'\x38\x21\x34\x29')+_0x469238(0x408,'\x61\x6b\x75\x53'),_0x469238(0x4e5,'\x62\x62\x63\x73')+_0x469238(0x3dc,'\x76\x71\x30\x5b'),_0x469238(0x3ab,'\x53\x69\x4b\x76'),_0x469238(0x33b,'\x76\x2a\x59\x5d')+'\x73',_0x469238(0x599,'\x23\x63\x24\x68'),_0x469238(0x41f,'\x6c\x7a\x58\x71'),_0x469238(0x4aa,'\x79\x51\x35\x70'),_0x469238(0x2cc,'\x53\x69\x4b\x76'),_0x469238(0x2f9,'\x21\x2a\x5d\x40'),_0x469238(0x4a3,'\x21\x2a\x5d\x40')+'\x6e\x64\x65\x78']);if(_0x2df090[_0x469238(0x595,'\x46\x44\x76\x57')](_0x2485bd[_0x469238(0x412,'\x63\x32\x63\x4e')+'\x6c\x73']))_0x48157c[_0x469238(0x3bb,'\x58\x45\x24\x44')+'\x6c\x73']=_0x4eb426[_0x469238(0x305,'\x61\x6b\x75\x53')+'\x6c\x73'];if(_0x383e22)_0x48157c[_0x469238(0x63a,'\x6f\x25\x4f\x62')]=_0x4739d2(_0x383e22,[_0x469238(0x26d,'\x71\x7a\x44\x67'),_0x469238(0x482,'\x4a\x77\x33\x50')+'\x73']);return _0x4bada3[_0x469238(0x432,'\x57\x52\x4b\x4b')](_0x48157c)[_0x469238(0x40d,'\x32\x38\x78\x4f')]>0x23b+0x45*-0x7b+0x1eec?_0x48157c:_0x14374d;}}else return _0x189428(_0x1a6575,_0x260c4a=>_0x18a4fe[_0x469238(0x1e7,'\x34\x4e\x47\x31')](_0x260c4a)||_0x260c4a[_0x469238(0x673,'\x34\x4e\x47\x31')+'\x74\x68'](_0x469238(0x265,'\x61\x4d\x35\x40')));})()),...((()=>{try{const _0x41f30c=extractThinkingEffort(_0x3422e4['\x62\x6f\x64\x79']);return _0x41f30c?{'\x74\x68\x69\x6e\x6b\x69\x6e\x67\x5f\x65\x66\x66\x6f\x72\x74':_0x41f30c}:{};}catch{return{};}})()),'\x73\x65\x73\x73\x69\x6f\x6e\x5f\x69\x64':_0x2ba71a,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3422e4[_0x2d247f(0x819,'\x46\x44\x76\x57')],'\x63\x68\x6f\x73\x65\x6e\x5f\x6d\x6f\x64\x65\x6c':_0x3422e4[_0x2d247f(0x5d6,'\x34\x4e\x47\x31')+_0x2d247f(0x586,'\x61\x6b\x75\x53')]??_0x3422e4[_0x2d247f(0x1f5,'\x47\x66\x32\x30')],'\x74\x69\x65\x72':_0x3422e4[_0x2d247f(0x471,'\x61\x6b\x75\x53')]??null,'\x72\x65\x61\x73\x6f\x6e':_0x3422e4['\x72\x65\x61\x73\x6f\x6e']??null,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x3422e4[_0x2d247f(0x232,'\x4e\x4d\x65\x63')]??null,'\x72\x6f\x75\x74\x65\x72\x5f\x65\x6e\x61\x62\x6c\x65\x64':_0x3422e4[_0x2d247f(0x463,'\x58\x45\x24\x44')+'\x61\x62\x6c\x65\x64']??![],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x3422e4[_0x2d247f(0x4b0,'\x56\x61\x29\x64')],'\x73\x74\x61\x74\x75\x73':_0x4268f9[_0x2d247f(0x660,'\x63\x32\x63\x4e')],'\x73\x74\x72\x65\x61\x6d':_0x4268f9['\x73\x74\x72\x65\x61\x6d'],'\x74\x74\x66\x62\x5f\x6d\x73':_0x27e081,'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x455a73()-_0x6d7e6e,..._0x3422e4[_0x2d247f(0x7a6,'\x72\x32\x37\x36')]?{'\x66\x65\x61\x74\x75\x72\x65\x73':_0x3422e4[_0x2d247f(0x1c7,'\x63\x32\x63\x4e')]}:{},..._0x4268f9['\x75\x73\x61\x67\x65']?{'\x75\x73\x61\x67\x65':_0x4268f9['\x75\x73\x61\x67\x65']}:{},..._0x4268f9[_0x2d247f(0x464,'\x71\x7a\x44\x67')+_0x2d247f(0x1b3,'\x53\x7a\x6d\x30')]!==undefined?{'\x73\x74\x6f\x70\x5f\x72\x65\x61\x73\x6f\x6e':_0x4268f9[_0x2d247f(0x62c,'\x61\x4d\x35\x40')+'\x73\x6f\x6e']}:{},..._0x4268f9[_0x2d247f(0x1ae,'\x62\x26\x21\x42')+_0x2d247f(0x3dc,'\x76\x71\x30\x5b')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':clip(_0x4268f9[_0x2d247f(0x728,'\x41\x64\x57\x30')+_0x2d247f(0x722,'\x56\x61\x29\x64')])}:{},..._0x46c21d?{'\x70\x72\x65\x76\x69\x6f\x75\x73\x5f\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':_0x46c21d}:{},..._0x4268f9[_0x2d247f(0x307,'\x62\x26\x21\x42')]!==undefined?{'\x65\x72\x72\x6f\x72':safeTraceError(_0x4268f9[_0x2d247f(0x743,'\x6c\x7a\x58\x71')])}:{},..._0x373f70?{'\x72\x65\x71\x75\x65\x73\x74\x5f\x68\x65\x61\x64\x65\x72\x73':captureTraceMetadata(_0x3422e4[_0x2d247f(0x2cf,'\x35\x59\x64\x78')],_0x3422e4[_0x2d247f(0x7bd,'\x66\x76\x37\x4f')]??process.env)}:{},..._0x373f70&&_0x4268f9[_0x2d247f(0x56a,'\x21\x2a\x5d\x40')+_0x2d247f(0x4f9,'\x6a\x6f\x63\x28')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x68\x65\x61\x64\x65\x72\x73':captureTraceMetadata(_0x4268f9[_0x2d247f(0x483,'\x23\x63\x24\x68')+_0x2d247f(0x498,'\x43\x72\x69\x29')],_0x3422e4[_0x2d247f(0x5e2,'\x29\x48\x4f\x42')]??process.env)}:{},..._0x373f70&&_0x4268f9[_0x2d247f(0x1b9,'\x6c\x7a\x58\x71')+'\x74\x4d\x65\x74\x61\x64\x61\x74'+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x5f\x6d\x65\x74\x61\x64\x61\x74\x61':captureTraceMetadata(_0x4268f9['\x74\x72\x61\x6e\x73\x70\x6f\x72'+_0x2d247f(0x17f,'\x61\x4d\x35\x40')+'\x61'],_0x3422e4['\x65\x6e\x76']??process.env)}:{}};if(_0x3422e4[_0x2d247f(0x620,'\x41\x6d\x6f\x70')]&&_0x3422e4[_0x2d247f(0x4a4,'\x53\x69\x4b\x76')][_0x2d247f(0x3ff,'\x66\x76\x37\x4f')]>-0x60+-0xe*-0x31+-0x24e)try{if(_0x2d247f(0x35b,'\x79\x51\x35\x70')===_0x2d247f(0x42d,'\x4a\x77\x33\x50')){if(!_0x5054c8)return{};try{return _0xc5e4fc[_0x2d247f(0x40c,'\x66\x76\x37\x4f')](_0x4c3a0b);}catch{return{'\x65\x72\x72\x6f\x72':_0x18587f};}}else _0x249e6a[_0x2d247f(0x4e9,'\x34\x4e\x47\x31')]=captureTraceAttempts(_0x3422e4[_0x2d247f(0x393,'\x73\x56\x4a\x6a')],_0x373f70,_0x3422e4['\x65\x6e\x76']??process.env);}catch{}if(_0x373f70)try{if(_0x2d247f(0x682,'\x41\x6d\x6f\x70')===_0x2d247f(0x5fb,'\x63\x32\x63\x4e')){const _0x455d6f=captureBody(_0x3422e4['\x62\x6f\x64\x79'],_0x3422e4[_0x2d247f(0x564,'\x47\x66\x32\x30')]??process.env),_0xefa4fc=_0x4268f9[_0x2d247f(0x60c,'\x61\x4d\x35\x40')+_0x2d247f(0x7c1,'\x6c\x7a\x58\x71')]!==undefined?captureBody(_0x4268f9[_0x2d247f(0x447,'\x4e\x4d\x65\x63')+_0x2d247f(0x53c,'\x46\x44\x76\x57')],_0x3422e4[_0x2d247f(0x21b,'\x53\x7a\x6d\x30')]??process.env):undefined;if(_0x455d6f)_0x249e6a[_0x2d247f(0x1ad,'\x79\x51\x35\x70')+_0x2d247f(0x1dd,'\x38\x21\x34\x29')]=_0x455d6f[_0x2d247f(0x48a,'\x35\x59\x64\x78')];if(_0xefa4fc)_0x249e6a[_0x2d247f(0x6fb,'\x38\x21\x34\x29')+_0x2d247f(0x80c,'\x56\x61\x29\x64')]=_0xefa4fc[_0x2d247f(0x76a,'\x76\x2a\x59\x5d')];_0x249e6a['\x72\x65\x64\x61\x63\x74\x69\x6f'+'\x6e']=REDACTION_VERSION;if(_0x455d6f?.[_0x2d247f(0x4b9,'\x66\x76\x37\x4f')+'\x64']||_0xefa4fc?.[_0x2d247f(0x52f,'\x35\x59\x64\x78')+'\x64']||responseBodyIndicatesTruncation(_0x4268f9['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x2d247f(0x26b,'\x6f\x25\x4f\x62')])||_0x249e6a[_0x2d247f(0x605,'\x50\x25\x54\x4d')]?.[_0x2d247f(0x264,'\x38\x4e\x28\x51')](_0x159231=>_0x159231['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x2d247f(0x534,'\x6f\x25\x4f\x62')]===!![]))_0x249e6a['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x2d247f(0x38b,'\x61\x4d\x35\x40')]=!![];}else{const _0x51d46b=_0x2502b4(_0xcafbc1,_0x2d247f(0x613,'\x62\x62\x63\x73')+'\x6e\x74')[_0x2d247f(0x3a8,'\x6c\x7a\x58\x71')+_0x2d247f(0x6bc,'\x5d\x6a\x53\x77')]();if(_0x51d46b[_0x2d247f(0x799,'\x23\x63\x24\x68')](_0x2d247f(0x180,'\x7a\x4a\x6c\x35')))return _0x2d247f(0x4ca,'\x70\x64\x63\x6c')+_0x2d247f(0x5fa,'\x25\x59\x4b\x67');if(_0x51d46b[_0x2d247f(0x1f6,'\x38\x4e\x28\x51')]('\x63\x75\x72\x73\x6f\x72'))return _0x2d247f(0x57c,'\x79\x51\x35\x70');if(_0x51d46b['\x69\x6e\x63\x6c\x75\x64\x65\x73'](_0x2d247f(0x27a,'\x72\x32\x37\x36')))return'\x63\x6f\x64\x65\x78';return _0x2d247f(0x555,'\x73\x56\x4a\x6a');}}catch{}else{if(_0x249e6a[_0x2d247f(0x3bf,'\x76\x77\x5e\x46')]?.[_0x2d247f(0x5f0,'\x23\x63\x24\x68')](_0x14a5d9=>_0x14a5d9[_0x2d247f(0x2dc,'\x63\x32\x63\x4e')+_0x2d247f(0x291,'\x62\x26\x21\x42')]===!![])){if(_0x2d247f(0x296,'\x54\x4c\x70\x5e')!==_0x2d247f(0x2cd,'\x62\x62\x63\x73'))_0x249e6a[_0x2d247f(0x639,'\x62\x26\x21\x42')+_0x2d247f(0x4d1,'\x41\x64\x57\x30')]=!![];else{const _0x1de7ab=_0x27d229[_0x2d247f(0x603,'\x62\x26\x21\x42')+'\x61\x73\x65']();for(const [_0x9a1977,_0x49c8b9]of _0x4026d9[_0x2d247f(0x6a2,'\x24\x32\x40\x40')](_0xfee046)){if(_0x9a1977[_0x2d247f(0x369,'\x32\x47\x61\x64')+'\x61\x73\x65']()===_0x1de7ab&&_0x49c8b9)return _0x49c8b9;}return'';}}}try{_0x3422e4[_0x2d247f(0x2f3,'\x35\x59\x64\x78')](_0x249e6a);}catch{}}function streamResponse(_0x1eb811,_0x13cd9e){const _0x2ef8fe=_0x19772a,_0x3fef88=_0x1eb811['\x68\x65\x61\x64\x65\x72\x73']?.[_0x2ef8fe(0x535,'\x57\x5d\x74\x6f')+_0x2ef8fe(0x61f,'\x24\x32\x40\x40')];return{'\x73\x74\x61\x74\x75\x73':_0x1eb811[_0x2ef8fe(0x67a,'\x29\x48\x4f\x42')],'\x73\x74\x72\x65\x61\x6d':_0x1eb811[_0x2ef8fe(0x1e9,'\x23\x63\x24\x68')],'\x68\x65\x61\x64\x65\x72\x73':_0x3fef88?{..._0x13cd9e,'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3fef88}:_0x13cd9e};}async function passthrough(_0x12314a){const _0x32f6a8=_0x19772a,_0x1f367f=_0x12314a[_0x32f6a8(0x5cb,'\x59\x5d\x4b\x49')]??(()=>Date[_0x32f6a8(0x79e,'\x70\x64\x63\x6c')]()),_0x218b49=_0x1f367f();let _0x48a349,_0x10c3cb=_0x12314a;const _0x4d7753=[];let _0x2b1bfe=null,_0x913fc=![];try{_0x48a349=await _0x12314a[_0x32f6a8(0x2ca,'\x6c\x7a\x58\x71')](_0x12314a[_0x32f6a8(0x5d9,'\x53\x69\x4b\x76')+_0x32f6a8(0x2f0,'\x38\x4e\x28\x51')],_0x12314a[_0x32f6a8(0x1b6,'\x59\x5d\x4b\x49')],{'\x69\x6e\x62\x6f\x75\x6e\x64\x48\x65\x61\x64\x65\x72\x73':_0x12314a[_0x32f6a8(0x388,'\x43\x72\x69\x29')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x4d\x6f\x64\x65':_0x12314a[_0x32f6a8(0x740,'\x79\x51\x35\x70')],..._0x12314a[_0x32f6a8(0x3d2,'\x73\x56\x4a\x6a')]?{'\x6d\x65\x74\x68\x6f\x64':_0x12314a[_0x32f6a8(0x2da,'\x76\x71\x30\x5b')]}:{},..._0x12314a[_0x32f6a8(0x475,'\x34\x34\x79\x6a')]?{'\x62\x61\x73\x65\x55\x72\x6c':_0x12314a[_0x32f6a8(0x7b8,'\x6c\x7a\x58\x71')]}:{}}),_0x913fc=!![],_0x2b1bfe=_0x1f367f()-_0x218b49;}catch(_0x36c8d5){const _0x4fd163=asUpstreamError(_0x12314a[_0x32f6a8(0x2d3,'\x62\x62\x63\x73')],_0x36c8d5);emitTrace(_0x12314a,_0x218b49,_0x2b1bfe,{'\x73\x74\x61\x74\x75\x73':_0x4fd163[_0x32f6a8(0x50f,'\x38\x21\x34\x29')+'\x64\x65'],'\x73\x74\x72\x65\x61\x6d':![],'\x65\x72\x72\x6f\x72':_0x4fd163[_0x32f6a8(0x18d,'\x56\x61\x29\x64')]},_0x913fc);throw _0x4fd163;}if(shouldRetryRoutedOpenAI(_0x48a349,_0x12314a)&&_0x12314a[_0x32f6a8(0x3fd,'\x62\x62\x63\x73')+'\x79']){if(_0x32f6a8(0x437,'\x66\x76\x37\x4f')!==_0x32f6a8(0x745,'\x6f\x25\x4f\x62'))_0x13cac0[_0x32f6a8(0x474,'\x34\x4e\x47\x31')+_0x32f6a8(0x560,'\x70\x64\x63\x6c')]=_0x346838[_0x32f6a8(0x5a6,'\x72\x32\x37\x36')+_0x32f6a8(0x224,'\x57\x5d\x74\x6f')];else{const _0x5b56b3=_0x12314a[_0x32f6a8(0x3fd,'\x62\x62\x63\x73')+'\x79'],_0x3642fb=_0x32f6a8(0x71a,'\x78\x40\x50\x24')+'\x5f'+_0x48a349['\x73\x74\x61\x74\x75\x73']+_0x32f6a8(0x808,'\x75\x63\x55\x63'),_0x180a6e=_0x32f6a8(0x59c,'\x57\x52\x4b\x4b')+'\x5f'+_0x48a349[_0x32f6a8(0x4ea,'\x6f\x25\x4f\x62')]+(_0x32f6a8(0x485,'\x23\x63\x24\x68')+_0x32f6a8(0x751,'\x5d\x6a\x53\x77'));_0x12314a[_0x32f6a8(0x700,'\x76\x71\x30\x5b')][_0x32f6a8(0x448,'\x75\x63\x55\x63')]?.(jsonStringify({'\x65\x76\x65\x6e\x74':'\x72\x6f\x75\x74\x65\x72\x5f\x66'+_0x32f6a8(0x3b7,'\x6f\x25\x4f\x62'),'\x72\x6f\x75\x74\x65':_0x12314a[_0x32f6a8(0x824,'\x71\x7a\x44\x67')]??_0x12314a[_0x32f6a8(0x709,'\x34\x34\x79\x6a')+_0x32f6a8(0x50c,'\x7a\x4a\x6c\x35')],'\x72\x65\x61\x73\x6f\x6e':_0x3642fb,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x7a8,'\x32\x38\x78\x4f')],'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x12314a[_0x32f6a8(0x394,'\x56\x61\x29\x64')+_0x32f6a8(0x7a7,'\x6c\x7a\x58\x71')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x73\x74\x61\x74\x75\x73':_0x48a349[_0x32f6a8(0x4e1,'\x54\x4c\x70\x5e')]}));let _0x2d0507='';if(_0x48a349[_0x32f6a8(0x1da,'\x47\x66\x32\x30')])try{_0x2d0507=await Promise[_0x32f6a8(0x31a,'\x32\x47\x61\x64')](_0x48a349[_0x32f6a8(0x345,'\x41\x64\x57\x30')]());}catch{_0x2d0507='';}if(_0x12314a[_0x32f6a8(0x4ec,'\x76\x71\x30\x5b')]){if(_0x32f6a8(0x34f,'\x6a\x6f\x63\x28')===_0x32f6a8(0x33e,'\x4e\x4d\x65\x63')){const _0x1bdcb6={},_0x48a064=_0x4b0c1a=>{const _0x27a34b=_0x32f6a8;for(const _0x45b585 of _0x4b0c1a){const _0x4e4f3f=_0x1ffb02[_0x45b585];if(typeof _0x4e4f3f===_0x27a34b(0x1c9,'\x76\x77\x5e\x46')&&_0x4e4f3f[_0x27a34b(0x3b4,'\x5d\x6a\x53\x77')]())return _0x4e4f3f[_0x27a34b(0x41e,'\x61\x6b\x75\x53')]();}return _0x312a76;},_0xdf3020=_0x5630c1=>[..._0x26338e?_0x5aeaee(_0x5935c1,_0x5630c1):[],_0x32f6a8(0x74e,'\x76\x2a\x59\x5d')+_0x32f6a8(0x642,'\x72\x32\x37\x36')+_0x32f6a8(0x48e,'\x25\x59\x4b\x67')+'\x5f'+_0x5630c1,_0x32f6a8(0x7ab,'\x71\x7a\x44\x67')+_0x32f6a8(0x7cc,'\x34\x34\x79\x6a')+_0x32f6a8(0x621,'\x4a\x77\x33\x50')+_0x5630c1],_0x3628d8=_0x48a064(_0xdf3020(_0x32f6a8(0x185,'\x25\x59\x4b\x67'))),_0x66070e=_0x48a064(_0xdf3020(_0x32f6a8(0x302,'\x41\x64\x57\x30'))),_0x19b51b=_0x48a064(_0xdf3020(_0x32f6a8(0x1c4,'\x75\x63\x55\x63')+'\x45'));if(_0x3628d8)_0x1bdcb6[_0x32f6a8(0x233,'\x70\x64\x63\x6c')]=_0x3628d8;if(_0x66070e)_0x1bdcb6['\x6d\x69\x64']=_0x66070e;if(_0x19b51b)_0x1bdcb6[_0x32f6a8(0x1a5,'\x59\x5d\x4b\x49')+'\x65']=_0x19b51b;return _0x1bdcb6;}else _0x4d7753[_0x32f6a8(0x245,'\x76\x2a\x59\x5d')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x0,'\x6d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x68f,'\x73\x56\x4a\x6a')+_0x32f6a8(0x727,'\x6f\x25\x4f\x62')]??_0x12314a[_0x32f6a8(0x5c2,'\x76\x2a\x59\x5d')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x12314a[_0x32f6a8(0x242,'\x32\x38\x78\x4f')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x12314a['\x70\x72\x6f\x76\x69\x64\x65\x72'],'\x73\x74\x61\x74\x75\x73':_0x48a349[_0x32f6a8(0x554,'\x23\x63\x24\x68')],'\x65\x72\x72\x6f\x72':safeTraceError(_0x32f6a8(0x1f9,'\x63\x32\x63\x4e')+'\x20'+_0x48a349[_0x32f6a8(0x771,'\x43\x72\x69\x29')]),'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x12314a[_0x32f6a8(0x598,'\x43\x72\x69\x29')],'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':attemptResponseToBody(_0x2d0507)});}try{const _0x4365ac=retryHeadersForMutatedOpenAIRequest(_0x12314a['\x68\x65\x61\x64\x65\x72\x73']);_0x48a349=await _0x12314a[_0x32f6a8(0x5f3,'\x62\x62\x63\x73')](_0x12314a[_0x32f6a8(0x2e2,'\x23\x63\x24\x68')+_0x32f6a8(0x23b,'\x34\x34\x79\x6a')],_0x5b56b3,{'\x69\x6e\x62\x6f\x75\x6e\x64\x48\x65\x61\x64\x65\x72\x73':_0x4365ac,'\x75\x70\x73\x74\x72\x65\x61\x6d\x4d\x6f\x64\x65':_0x12314a[_0x32f6a8(0x4b0,'\x56\x61\x29\x64')],..._0x12314a['\x6d\x65\x74\x68\x6f\x64']?{'\x6d\x65\x74\x68\x6f\x64':_0x12314a[_0x32f6a8(0x40e,'\x79\x51\x35\x70')]}:{},..._0x12314a[_0x32f6a8(0x306,'\x73\x56\x4a\x6a')]?{'\x62\x61\x73\x65\x55\x72\x6c':_0x12314a[_0x32f6a8(0x7fe,'\x61\x4d\x35\x40')]}:{}}),_0x10c3cb={..._0x12314a,'\x62\x6f\x64\x79':_0x5b56b3,'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x3b8,'\x76\x77\x5e\x46')],'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x3642fb,'\x68\x65\x61\x64\x65\x72\x73':_0x4365ac,'\x61\x74\x74\x65\x6d\x70\x74\x73':_0x4d7753},_0x12314a[_0x32f6a8(0x54d,'\x61\x4d\x35\x40')]&&_0x4d7753[_0x32f6a8(0x625,'\x24\x32\x40\x40')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x1d1,'\x62\x26\x21\x42')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x12314a[_0x32f6a8(0x402,'\x25\x59\x4b\x67')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x12314a[_0x32f6a8(0x674,'\x6a\x6f\x63\x28')],'\x73\x74\x61\x74\x75\x73':_0x48a349[_0x32f6a8(0x67a,'\x29\x48\x4f\x42')],'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x5b56b3});}catch(_0x50f076){if(_0x32f6a8(0x4d8,'\x44\x25\x49\x65')!=='\x79\x52\x50\x50\x54'){const _0x4bddd5=(_0x28c202['\x45\x56\x4f\x4d\x41\x50\x5f\x56'+_0x32f6a8(0x7c0,'\x59\x5d\x4b\x49')+_0x32f6a8(0x4f5,'\x53\x69\x4b\x76')]||'')[_0x32f6a8(0x349,'\x53\x69\x4b\x76')]();if(_0x4bddd5)return _0x4bddd5[_0x32f6a8(0x3ef,'\x73\x56\x4a\x6a')](/\/+$/,'');const _0x7c8e86=_0x58bc3a[_0x32f6a8(0x52a,'\x44\x25\x49\x65')]();if(!_0x7c8e86||_0x7c8e86===_0x32f6a8(0x7ec,'\x29\x48\x4f\x42'))return _0x32f6a8(0x631,'\x24\x32\x40\x40')+_0x32f6a8(0x1db,'\x4a\x77\x33\x50')+_0x32f6a8(0x1fc,'\x41\x64\x57\x30')+_0x32f6a8(0x813,'\x32\x38\x78\x4f')+'\x6d';const _0xc5518=_0x4cad81(_0x7c8e86);return _0x32f6a8(0x649,'\x4e\x4d\x65\x63')+_0xc5518+('\x2d\x61\x69\x70\x6c\x61\x74\x66'+'\x6f\x72\x6d\x2e\x67\x6f\x6f\x67'+'\x6c\x65\x61\x70\x69\x73\x2e\x63'+'\x6f\x6d');}else{const _0x215921=asUpstreamError(_0x12314a['\x70\x72\x6f\x76\x69\x64\x65\x72'],_0x50f076),_0x2794c4=_0x50f076 instanceof Error?_0x50f076[_0x32f6a8(0x7c2,'\x7a\x4a\x6c\x35')]:String(_0x50f076);_0x12314a[_0x32f6a8(0x42b,'\x23\x63\x24\x68')]&&_0x4d7753[_0x32f6a8(0x615,'\x38\x21\x34\x29')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x429,'\x4a\x77\x33\x50')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x12314a[_0x32f6a8(0x25f,'\x57\x5d\x74\x6f')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x12314a['\x70\x72\x6f\x76\x69\x64\x65\x72'],'\x73\x74\x61\x74\x75\x73':_0x215921[_0x32f6a8(0x2a6,'\x78\x40\x50\x24')+'\x64\x65'],'\x65\x72\x72\x6f\x72':_0x2794c4,'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x5b56b3}),_0x12314a[_0x32f6a8(0x266,'\x78\x40\x50\x24')][_0x32f6a8(0x75f,'\x38\x4e\x28\x51')]?.(jsonStringify({'\x65\x76\x65\x6e\x74':'\x72\x6f\x75\x74\x65\x72\x5f\x66'+_0x32f6a8(0x29b,'\x21\x2a\x5d\x40'),'\x72\x6f\x75\x74\x65':_0x12314a[_0x32f6a8(0x5de,'\x58\x45\x24\x44')]??_0x12314a[_0x32f6a8(0x3b0,'\x62\x26\x21\x42')+_0x32f6a8(0x1ff,'\x5d\x6a\x53\x77')],'\x72\x65\x61\x73\x6f\x6e':_0x180a6e,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x12314a[_0x32f6a8(0x819,'\x46\x44\x76\x57')],'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x12314a[_0x32f6a8(0x3a3,'\x50\x25\x54\x4d')+_0x32f6a8(0x6a9,'\x71\x7a\x44\x67')],'\x65\x72\x72\x6f\x72':_0x2794c4})),_0x48a349={'\x73\x74\x61\x74\x75\x73':_0x48a349['\x73\x74\x61\x74\x75\x73'],'\x68\x65\x61\x64\x65\x72\x73':_0x48a349[_0x32f6a8(0x2cf,'\x35\x59\x64\x78')],'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x2d0507},_0x10c3cb={..._0x12314a,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x3642fb,'\x61\x74\x74\x65\x6d\x70\x74\x73':_0x4d7753};}}}}const _0x3db60c=_0x12314a[_0x32f6a8(0x5b2,'\x66\x76\x37\x4f')+_0x32f6a8(0x1e2,'\x38\x21\x34\x29')]?_0x12314a[_0x32f6a8(0x252,'\x59\x5d\x4b\x49')+_0x32f6a8(0x2b2,'\x72\x32\x37\x36')](_0x48a349[_0x32f6a8(0x761,'\x50\x25\x54\x4d')]??{}):{};if(_0x48a349[_0x32f6a8(0x69f,'\x34\x34\x79\x6a')]){const _0x387623=_0x10c3cb[_0x32f6a8(0x3a1,'\x21\x2a\x5d\x40')]?new ProviderStreamMetaScanner(_0x10c3cb,_0x10c3cb[_0x32f6a8(0x1b8,'\x78\x40\x50\x24')]??process.env):null,_0x193e49=_0x387623?teeStreamForScan(_0x48a349[_0x32f6a8(0x508,'\x62\x62\x63\x73')],_0x3e9670=>_0x387623[_0x32f6a8(0x4b2,'\x76\x77\x5e\x46')](_0x3e9670),_0x76315f=>{const _0x8f9b9d=_0x32f6a8;if('\x4a\x41\x64\x6a\x75'===_0x8f9b9d(0x368,'\x59\x5d\x4b\x49')){const _0x58843d=_0x6dfd9f[_0x8f9b9d(0x279,'\x62\x26\x21\x42')+'\x69\x64'];if(typeof _0x58843d===_0x8f9b9d(0x81f,'\x25\x59\x4b\x67')&&_0x58843d[_0x8f9b9d(0x7bb,'\x6a\x6f\x63\x28')]>0x3*-0x4fd+-0x1*0x1b59+0x2a50)return _0xcd402c(_0x58843d);}else{_0x387623[_0x8f9b9d(0x7d2,'\x73\x56\x4a\x6a')]();const _0x1ff712=_0x387623[_0x8f9b9d(0x2a2,'\x24\x32\x40\x40')]['\x65\x72\x72\x6f\x72']??_0x76315f?.[_0x8f9b9d(0x274,'\x61\x6b\x75\x53')]??(_0x76315f?.[_0x8f9b9d(0x74a,'\x24\x32\x40\x40')+'\x64']?_0x8f9b9d(0x237,'\x75\x63\x55\x63')+_0x8f9b9d(0x330,'\x41\x6d\x6f\x70'):undefined),_0xd27e5a=_0x387623[_0x8f9b9d(0x5d5,'\x75\x63\x55\x63')+_0x8f9b9d(0x2bb,'\x61\x4d\x35\x40')](),_0x2e9614=_0x4d7753[_0x8f9b9d(0x7cf,'\x57\x5d\x74\x6f')](_0x2b8bc5=>_0x2b8bc5[_0x8f9b9d(0x3eb,'\x76\x71\x30\x5b')+_0x8f9b9d(0x5d1,'\x62\x62\x63\x73')]===0x31*-0xc1+-0xbf*0x27+0x420b&&_0x2b8bc5[_0x8f9b9d(0x32e,'\x70\x64\x63\x6c')+_0x8f9b9d(0x80c,'\x56\x61\x29\x64')]===undefined);if(_0x2e9614&&_0xd27e5a!==undefined){if(_0x8f9b9d(0x7d3,'\x53\x69\x4b\x76')!=='\x41\x4a\x79\x4b\x4e')_0x2e9614[_0x8f9b9d(0x5d5,'\x75\x63\x55\x63')+'\x42\x6f\x64\x79']=_0xd27e5a,_0x2e9614['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x8f9b9d(0x582,'\x76\x77\x5e\x46')]=responseBodyIndicatesTruncation(_0xd27e5a);else{const _0x54a96b=_0x55ca9d(_0x1228bc,[_0x8f9b9d(0x823,'\x6c\x7a\x58\x71'),_0x8f9b9d(0x33d,'\x41\x6d\x6f\x70')+_0x8f9b9d(0x300,'\x6c\x7a\x58\x71'),_0x8f9b9d(0x446,'\x61\x6b\x75\x53')+_0x8f9b9d(0x525,'\x66\x76\x37\x4f')+'\x74',_0x8f9b9d(0x204,'\x6c\x7a\x58\x71')+'\x6e\x74',_0x8f9b9d(0x654,'\x78\x40\x50\x24'),_0x8f9b9d(0x634,'\x78\x40\x50\x24')+_0x8f9b9d(0x38e,'\x71\x7a\x44\x67')]),_0x53d5ef=_0x96c197[_0x8f9b9d(0x5d4,'\x32\x38\x78\x4f')](_0x4fc4a6['\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65\x73'])?_0x19a5bd['\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65\x73'][_0x8f9b9d(0x486,'\x59\x5d\x4b\x49')](_0x58170b=>{const _0x75c7e5=_0x8f9b9d;if(!_0x2d8cf2(_0x58170b))return _0x52b73f;const _0x126e8e=_0x429804(_0x58170b,[_0x75c7e5(0x3a2,'\x76\x71\x30\x5b')+_0x75c7e5(0x4fe,'\x38\x4e\x28\x51')]),_0x2fde86=_0xc9ad3b(_0x58170b['\x63\x6f\x6e\x74\x65\x6e\x74']);if(_0x2fde86)_0x126e8e[_0x75c7e5(0x641,'\x35\x59\x64\x78')]=_0x2fde86;return _0x126e8e;})['\x66\x69\x6c\x74\x65\x72'](_0x44ad1a=>_0x44ad1a!==_0x124e0a&&_0x4cdab2[_0x8f9b9d(0x756,'\x62\x62\x63\x73')](_0x44ad1a)[_0x8f9b9d(0x27d,'\x79\x51\x35\x70')]>-0x9*-0x1e9+-0x1*0x260d+0x14*0x10b):[];if(_0x53d5ef['\x6c\x65\x6e\x67\x74\x68']>0x1010*-0x2+0x15d*-0x17+0x3f7b)_0x54a96b[_0x8f9b9d(0x5c7,'\x62\x26\x21\x42')+'\x65\x73']=_0x53d5ef;if(_0x54a96b[_0x8f9b9d(0x6ee,'\x47\x66\x32\x30')]!==!![])delete _0x54a96b[_0x8f9b9d(0x6b2,'\x66\x76\x37\x4f')];return _0x205f2a[_0x8f9b9d(0x56f,'\x54\x4c\x70\x5e')](_0x54a96b)[_0x8f9b9d(0x814,'\x34\x34\x79\x6a')]>0x18ad+0x17b5+-0x1831*0x2?_0x54a96b:_0x4ad7b0;}}emitTrace(_0x10c3cb,_0x218b49,_0x2b1bfe,{'\x73\x74\x61\x74\x75\x73':_0x48a349[_0x8f9b9d(0x632,'\x24\x32\x40\x40')],'\x73\x74\x72\x65\x61\x6d':!![],..._0x387623[_0x8f9b9d(0x201,'\x35\x59\x64\x78')],..._0x1ff712?{'\x65\x72\x72\x6f\x72':_0x1ff712}:{},..._0xd27e5a!==undefined?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0xd27e5a}:{},..._0x48a349[_0x8f9b9d(0x690,'\x46\x44\x76\x57')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0x48a349[_0x8f9b9d(0x623,'\x7a\x4a\x6c\x35')]}:{},..._0x48a349[_0x8f9b9d(0x285,'\x61\x4d\x35\x40')+_0x8f9b9d(0x787,'\x4e\x4d\x65\x63')+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x4d\x65\x74\x61\x64\x61\x74\x61':_0x48a349[_0x8f9b9d(0x1b0,'\x32\x47\x61\x64')+_0x8f9b9d(0x2e9,'\x23\x63\x24\x68')+'\x61']}:{}},_0x913fc);}}):_0x48a349[_0x32f6a8(0x519,'\x70\x64\x63\x6c')];return streamResponse({..._0x48a349,'\x73\x74\x72\x65\x61\x6d':_0x193e49},_0x3db60c);}let _0x49f578='';if(_0x48a349[_0x32f6a8(0x779,'\x38\x4e\x28\x51')])try{_0x49f578=await Promise['\x72\x65\x73\x6f\x6c\x76\x65'](_0x48a349[_0x32f6a8(0x35f,'\x41\x6d\x6f\x70')]());}catch(_0x467eb8){if(_0x32f6a8(0x35a,'\x46\x44\x76\x57')===_0x32f6a8(0x5c5,'\x6f\x25\x4f\x62')){const _0x346def=asUpstreamError(_0x12314a[_0x32f6a8(0x326,'\x43\x72\x69\x29')],_0x467eb8);emitTrace(_0x10c3cb,_0x218b49,_0x2b1bfe,{'\x73\x74\x61\x74\x75\x73':_0x346def[_0x32f6a8(0x7e6,'\x4a\x77\x33\x50')+'\x64\x65'],'\x73\x74\x72\x65\x61\x6d':![],'\x65\x72\x72\x6f\x72':_0x346def[_0x32f6a8(0x577,'\x35\x59\x64\x78')]},_0x913fc);throw _0x346def;}else{const _0x25f190=_0x23de35(_0x39240d(_0x294efe,_0x32f6a8(0x63b,'\x72\x32\x37\x36')+_0x32f6a8(0x4b4,'\x76\x71\x30\x5b')),'\x6d\x6f\x64\x65\x6c\x41\x63\x74'+_0x32f6a8(0x62f,'\x79\x51\x35\x70')),{model:_0x1bacc4,action:_0x1d327b}=_0xc4d0ed(_0x25f190);_0x4cf924(_0x1bacc4,_0x32f6a8(0x5cd,'\x23\x63\x24\x68'));if(!_0x5e0e81[_0x32f6a8(0x614,'\x62\x62\x63\x73')](_0x1d327b))throw _0x3218f4(_0x32f6a8(0x3a9,'\x53\x7a\x6d\x30')+'\x74\x65\x64\x20\x6d\x6f\x64\x65'+'\x6c\x20\x61\x63\x74\x69\x6f\x6e'+'\x3a\x20'+(_0x1d327b||_0x32f6a8(0x2e6,'\x4a\x77\x33\x50')+'\x29'));return{'\x6d\x6f\x64\x65\x6c':_0x1bacc4,'\x61\x63\x74\x69\x6f\x6e':_0x1d327b};}}const _0x16cbb8=responseToBody(_0x49f578,_0x48a349[_0x32f6a8(0x2f7,'\x50\x25\x54\x4d')],_0x48a349[_0x32f6a8(0x68e,'\x23\x63\x24\x68')],_0x12314a[_0x32f6a8(0x2ef,'\x54\x4c\x70\x5e')],_0x12314a[_0x32f6a8(0x187,'\x66\x76\x37\x4f')]+(_0x32f6a8(0x828,'\x78\x40\x50\x24')+'\x6b')),_0x20867a=_0x4d7753[_0x32f6a8(0x2c5,'\x61\x4d\x35\x40')](_0x4abc0b=>_0x4abc0b['\x61\x74\x74\x65\x6d\x70\x74\x5f'+_0x32f6a8(0x2f8,'\x66\x76\x37\x4f')]===0x48b*0x8+-0x4c*0x35+-0x41f*0x5&&_0x4abc0b[_0x32f6a8(0x314,'\x72\x32\x37\x36')+'\x42\x6f\x64\x79']===undefined);if(_0x20867a)_0x20867a[_0x32f6a8(0x435,'\x76\x2a\x59\x5d')+_0x32f6a8(0x687,'\x29\x48\x4f\x42')]=_0x16cbb8;return emitTrace(_0x10c3cb,_0x218b49,_0x2b1bfe,{'\x73\x74\x61\x74\x75\x73':_0x48a349[_0x32f6a8(0x6a6,'\x79\x51\x35\x70')],'\x73\x74\x72\x65\x61\x6d':![],...providerMeta(_0x10c3cb,_0x16cbb8),'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0x16cbb8,..._0x48a349[_0x32f6a8(0x713,'\x57\x5d\x74\x6f')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0x48a349[_0x32f6a8(0x81c,'\x53\x7a\x6d\x30')]}:{},..._0x48a349[_0x32f6a8(0x23a,'\x76\x77\x5e\x46')+_0x32f6a8(0x4b3,'\x66\x76\x37\x4f')+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x4d\x65\x74\x61\x64\x61\x74\x61':_0x48a349[_0x32f6a8(0x7fa,'\x24\x32\x40\x40')+_0x32f6a8(0x260,'\x53\x69\x4b\x76')+'\x61']}:{}},_0x913fc),{'\x73\x74\x61\x74\x75\x73':_0x48a349['\x73\x74\x61\x74\x75\x73'],'\x62\x6f\x64\x79':_0x16cbb8,'\x68\x65\x61\x64\x65\x72\x73':_0x3db60c};}export function parseModelAction(_0x500079){const _0x4802a0=_0x19772a,_0x421917=_0x500079[_0x4802a0(0x6d7,'\x29\x48\x4f\x42')+_0x4802a0(0x1d4,'\x6f\x25\x4f\x62')]('\x3a');if(_0x421917===-(0xf82+-0x16a7+0x726))return{'\x6d\x6f\x64\x65\x6c':_0x500079,'\x61\x63\x74\x69\x6f\x6e':''};return{'\x6d\x6f\x64\x65\x6c':_0x500079[_0x4802a0(0x45c,'\x35\x59\x64\x78')](-0x574+-0x1be1+0x2155,_0x421917),'\x61\x63\x74\x69\x6f\x6e':_0x500079['\x73\x6c\x69\x63\x65'](_0x421917+(0x56*0x4d+-0xbf*-0x23+-0x33fa))};}function decodePathParam(_0x355265,_0x5f301c){const _0x2a1b88=_0x19772a;try{return decodeURIComponent(_0x355265);}catch{throw badRequest(_0x5f301c+(_0x2a1b88(0x2e0,'\x34\x4e\x47\x31')+_0x2a1b88(0x59a,'\x59\x5d\x4b\x49')+_0x2a1b88(0x511,'\x78\x40\x50\x24')+'\x74\x20\x65\x6e\x63\x6f\x64\x69'+'\x6e\x67'));}}function validateDecodedPathComponent(_0x1608ad,_0x5be396){const _0x2fdb53=_0x19772a;if(!_0x1608ad)throw badRequest(_0x5be396+(_0x2fdb53(0x366,'\x21\x2a\x5d\x40')+_0x2fdb53(0x80f,'\x6a\x6f\x63\x28')));if(_0x1608ad[_0x2fdb53(0x736,'\x70\x64\x63\x6c')]('\x2f')||_0x1608ad[_0x2fdb53(0x46e,'\x57\x5d\x74\x6f')]('\x5c'))throw badRequest(_0x5be396+(_0x2fdb53(0x2ad,'\x72\x32\x37\x36')+'\x74\x20\x63\x6f\x6e\x74\x61\x69'+_0x2fdb53(0x6ae,'\x41\x6d\x6f\x70')+_0x2fdb53(0x811,'\x43\x72\x69\x29')+'\x73'));if(_0x1608ad==='\x2e'||_0x1608ad==='\x2e\x2e')throw badRequest(_0x5be396+(_0x2fdb53(0x22b,'\x56\x61\x29\x64')+'\x74\x20\x62\x65\x20\x61\x20\x64'+_0x2fdb53(0x7f8,'\x50\x25\x54\x4d')+'\x6e\x74'));return _0x1608ad;}function validatedModelAction(_0x2f71d1){const _0x40d77f=_0x19772a,_0x2d65d9=validateDecodedPathComponent(decodePathParam(_0x2f71d1,_0x40d77f(0x3d7,'\x76\x71\x30\x5b')+_0x40d77f(0x2ee,'\x53\x69\x4b\x76')),_0x40d77f(0x47c,'\x56\x61\x29\x64')+_0x40d77f(0x44a,'\x56\x61\x29\x64')),{model:_0x12debe,action:_0x29c0d1}=parseModelAction(_0x2d65d9);validateDecodedPathComponent(_0x12debe,_0x40d77f(0x310,'\x43\x72\x69\x29'));if(!GEMINI_VERTEX_ACTIONS['\x68\x61\x73'](_0x29c0d1))throw badRequest(_0x40d77f(0x386,'\x6f\x25\x4f\x62')+_0x40d77f(0x7bc,'\x73\x56\x4a\x6a')+_0x40d77f(0x6d6,'\x5d\x6a\x53\x77')+'\x3a\x20'+(_0x29c0d1||_0x40d77f(0x543,'\x25\x59\x4b\x67')+'\x29'));return{'\x6d\x6f\x64\x65\x6c':_0x12debe,'\x61\x63\x74\x69\x6f\x6e':_0x29c0d1};}function validatedVertexProject(_0x4b3e67){const _0x452aa2=_0x19772a,_0x2c52a6=validateDecodedPathComponent(decodePathParam(_0x4b3e67,_0x452aa2(0x697,'\x34\x4e\x47\x31')),_0x452aa2(0x529,'\x6c\x7a\x58\x71'));if(!/^[A-Za-z0-9_-]+$/[_0x452aa2(0x2aa,'\x54\x4c\x70\x5e')](_0x2c52a6))throw badRequest(_0x452aa2(0x5bb,'\x32\x47\x61\x64')+'\x63\x6f\x6e\x74\x61\x69\x6e\x73'+'\x20\x75\x6e\x73\x75\x70\x70\x6f'+'\x72\x74\x65\x64\x20\x63\x68\x61'+_0x452aa2(0x65a,'\x25\x59\x4b\x67'));return _0x2c52a6;}function validatedVertexLocation(_0xefa0bf){const _0x44a466=_0x19772a,_0x83f07a=validateDecodedPathComponent(decodePathParam(_0xefa0bf,_0x44a466(0x2fe,'\x6a\x6f\x63\x28')),_0x44a466(0x652,'\x53\x69\x4b\x76'));if(_0x83f07a!==_0x44a466(0x426,'\x41\x6d\x6f\x70')&&!/^[a-z][a-z0-9-]*$/[_0x44a466(0x7a5,'\x62\x26\x21\x42')](_0x83f07a))throw badRequest(_0x44a466(0x6cb,'\x47\x66\x32\x30')+'\x20\x63\x6f\x6e\x74\x61\x69\x6e'+_0x44a466(0x47d,'\x32\x47\x61\x64')+'\x6f\x72\x74\x65\x64\x20\x63\x68'+_0x44a466(0x49a,'\x6a\x6f\x63\x28'));return _0x83f07a;}function providerQueryString(_0x35d552){const _0xa6eba6=_0x19772a;if(!_0x35d552||Object[_0xa6eba6(0x7d6,'\x43\x72\x69\x29')](_0x35d552)[_0xa6eba6(0x3ba,'\x63\x32\x63\x4e')]===0x2e*-0x76+-0x24*0x45+0x3dd*0x8)return'';const _0x235d89=new URLSearchParams();for(const [_0x1c8cab,_0x41168b]of Object[_0xa6eba6(0x365,'\x41\x6d\x6f\x70')](_0x35d552)){if(_0xa6eba6(0x5be,'\x78\x40\x50\x24')!==_0xa6eba6(0x3e2,'\x50\x25\x54\x4d')){const _0x40c317=_0x1da8f4[_0xa6eba6(0x30c,'\x75\x63\x55\x63')][_0xa6eba6(0x2c2,'\x58\x45\x24\x44')];if(typeof _0x40c317===_0xa6eba6(0x661,'\x50\x25\x54\x4d')&&_0x40c317['\x74\x72\x69\x6d']())_0x156b9d['\x65\x72\x72\x6f\x72']=_0x40c317;}else{if(CREDENTIAL_QUERY_PARAMS['\x68\x61\x73'](_0x1c8cab[_0xa6eba6(0x369,'\x32\x47\x61\x64')+_0xa6eba6(0x74c,'\x75\x63\x55\x63')]()))continue;_0x235d89[_0xa6eba6(0x81a,'\x21\x2a\x5d\x40')](_0x1c8cab,_0x41168b);}}const _0x117a52=_0x235d89[_0xa6eba6(0x7e9,'\x24\x32\x40\x40')]();return _0x117a52?'\x3f'+_0x117a52:'';}export function detectModelsProvider(_0x3129d8={}){const _0x1852d7=_0x19772a;if(_0x3129d8[_0x1852d7(0x5bc,'\x38\x4e\x28\x51')+_0x1852d7(0x3cb,'\x72\x32\x37\x36')+'\x6e']||_0x3129d8[_0x1852d7(0x607,'\x23\x63\x24\x68')+_0x1852d7(0x750,'\x43\x72\x69\x29')])return _0x1852d7(0x79b,'\x71\x7a\x44\x67')+'\x63';return _0x1852d7(0x60b,'\x43\x72\x69\x29');}export function vertexBaseUrl(_0x48eff2,_0x2a125a=process.env){const _0x3a3202=_0x19772a,_0x40d9ab=(_0x2a125a[_0x3a3202(0x318,'\x41\x64\x57\x30')+_0x3a3202(0x20f,'\x70\x64\x63\x6c')+_0x3a3202(0x593,'\x47\x66\x32\x30')]||'')[_0x3a3202(0x587,'\x46\x44\x76\x57')]();if(_0x40d9ab)return _0x40d9ab[_0x3a3202(0x293,'\x57\x5d\x74\x6f')](/\/+$/,'');const _0x5c8f4f=_0x48eff2[_0x3a3202(0x780,'\x21\x2a\x5d\x40')]();if(!_0x5c8f4f||_0x5c8f4f===_0x3a3202(0x231,'\x6c\x7a\x58\x71'))return'\x68\x74\x74\x70\x73\x3a\x2f\x2f'+_0x3a3202(0x67f,'\x32\x38\x78\x4f')+_0x3a3202(0x338,'\x72\x32\x37\x36')+_0x3a3202(0x716,'\x66\x76\x37\x4f')+'\x6d';const _0x53e78b=validatedVertexLocation(_0x5c8f4f);return _0x3a3202(0x1b4,'\x32\x38\x78\x4f')+_0x53e78b+(_0x3a3202(0x382,'\x63\x32\x63\x4e')+_0x3a3202(0x6ba,'\x34\x34\x79\x6a')+_0x3a3202(0x405,'\x7a\x4a\x6c\x35')+'\x6f\x6d');}export function buildOpenAIResponsesHandler(_0x42237c){const _0x157c16=_0x19772a,_0x7b7c80=_0x42237c[_0x157c16(0x63d,'\x38\x21\x34\x29')]??console,_0x30962e=_0x42237c[_0x157c16(0x42e,'\x53\x69\x4b\x76')]??process.env;return _0x5d51df=>{const _0x30b48a=_0x157c16,_0x3553e9=routeOpenAIRequest('\x2f\x76\x31\x2f\x72\x65\x73\x70'+_0x30b48a(0x5aa,'\x6c\x7a\x58\x71'),_0x5d51df[_0x30b48a(0x1fe,'\x44\x25\x49\x65')],_0x30962e,_0x7b7c80);return passthrough({'\x70\x72\x6f\x78\x79':_0x42237c[_0x30b48a(0x184,'\x70\x64\x63\x6c')+_0x30b48a(0x284,'\x66\x76\x37\x4f')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x30b48a(0x216,'\x25\x59\x4b\x67'),'\x72\x6f\x75\x74\x65':_0x30b48a(0x4d4,'\x53\x7a\x6d\x30')+_0x30b48a(0x7be,'\x47\x66\x32\x30'),'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':'\x2f\x72\x65\x73\x70\x6f\x6e\x73'+'\x65\x73','\x6d\x6f\x64\x65\x6c':_0x3553e9[_0x30b48a(0x215,'\x29\x48\x4f\x42')+_0x30b48a(0x516,'\x44\x25\x49\x65')],'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x3553e9[_0x30b48a(0x33f,'\x70\x64\x63\x6c')+'\x64\x65\x6c'],'\x74\x69\x65\x72':_0x3553e9[_0x30b48a(0x6cd,'\x34\x34\x79\x6a')],'\x72\x65\x61\x73\x6f\x6e':_0x3553e9[_0x30b48a(0x70e,'\x41\x64\x57\x30')],'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x3553e9[_0x30b48a(0x35d,'\x41\x6d\x6f\x70')],'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x3553e9[_0x30b48a(0x4dc,'\x41\x64\x57\x30')+_0x30b48a(0x347,'\x78\x40\x50\x24')],..._0x3553e9[_0x30b48a(0x416,'\x57\x52\x4b\x4b')]?{'\x66\x65\x61\x74\x75\x72\x65\x73':_0x3553e9[_0x30b48a(0x70d,'\x71\x7a\x44\x67')]}:{},'\x62\x6f\x64\x79':_0x3553e9[_0x30b48a(0x4d3,'\x61\x4d\x35\x40')],'\x72\x65\x74\x72\x79\x42\x6f\x64\x79':_0x5d51df[_0x30b48a(0x657,'\x78\x40\x50\x24')],'\x68\x65\x61\x64\x65\x72\x73':_0x5d51df[_0x30b48a(0x2c1,'\x29\x48\x4f\x42')]??{},'\x6c\x6f\x67\x67\x65\x72':_0x7b7c80,..._0x42237c[_0x30b48a(0x54c,'\x38\x4e\x28\x51')]?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x42237c[_0x30b48a(0x67b,'\x43\x72\x69\x29')]}:{},..._0x42237c[_0x30b48a(0x53e,'\x70\x64\x63\x6c')]?{'\x63\x6c\x6f\x63\x6b':_0x42237c[_0x30b48a(0x418,'\x50\x25\x54\x4d')]}:{},'\x65\x6e\x76':_0x30962e,'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':copyOpenAIResponseHeaders});};}export function buildOpenAIChatCompletionsHandler(_0x4a6531){const _0x1575a6=_0x19772a,_0x115f31=_0x4a6531[_0x1575a6(0x2ef,'\x54\x4c\x70\x5e')]??console,_0x2a3e1c=_0x4a6531[_0x1575a6(0x5a2,'\x71\x7a\x44\x67')]??process.env;return _0x58dc37=>{const _0x4ce33a=_0x1575a6;if('\x68\x65\x75\x44\x78'===_0x4ce33a(0x6b8,'\x25\x59\x4b\x67'))return _0x33e4f3[_0x4ce33a(0x6b4,'\x7a\x4a\x6c\x35')](new _0x550ef9(_0xf98677),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x190});else{const _0x12ab98=routeOpenAIRequest(_0x4ce33a(0x46c,'\x76\x2a\x59\x5d')+_0x4ce33a(0x222,'\x75\x63\x55\x63')+_0x4ce33a(0x492,'\x35\x59\x64\x78'),_0x58dc37[_0x4ce33a(0x657,'\x78\x40\x50\x24')],_0x2a3e1c,_0x115f31);return passthrough({'\x70\x72\x6f\x78\x79':_0x4a6531[_0x4ce33a(0x510,'\x41\x64\x57\x30')+_0x4ce33a(0x762,'\x5d\x6a\x53\x77')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x4ce33a(0x588,'\x78\x40\x50\x24'),'\x72\x6f\x75\x74\x65':_0x4ce33a(0x78d,'\x5d\x6a\x53\x77')+_0x4ce33a(0x44b,'\x53\x7a\x6d\x30')+_0x4ce33a(0x4a5,'\x57\x52\x4b\x4b'),'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':_0x4ce33a(0x4ba,'\x34\x4e\x47\x31')+_0x4ce33a(0x3ac,'\x62\x26\x21\x42')+'\x73','\x6d\x6f\x64\x65\x6c':_0x12ab98[_0x4ce33a(0x419,'\x44\x25\x49\x65')+_0x4ce33a(0x77a,'\x34\x34\x79\x6a')],'\x63\x68\x6f\x73\x65\x6e\x4d\x6f\x64\x65\x6c':_0x12ab98[_0x4ce33a(0x4ef,'\x66\x76\x37\x4f')+_0x4ce33a(0x7f4,'\x43\x72\x69\x29')],'\x74\x69\x65\x72':_0x12ab98[_0x4ce33a(0x72e,'\x53\x7a\x6d\x30')],'\x72\x65\x61\x73\x6f\x6e':_0x12ab98[_0x4ce33a(0x4eb,'\x4e\x4d\x65\x63')],'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x12ab98['\x66\x61\x6c\x6c\x62\x61\x63\x6b'],'\x72\x6f\x75\x74\x65\x72\x45\x6e\x61\x62\x6c\x65\x64':_0x12ab98[_0x4ce33a(0x3b9,'\x63\x32\x63\x4e')+'\x61\x62\x6c\x65\x64'],..._0x12ab98[_0x4ce33a(0x584,'\x41\x6d\x6f\x70')]?{'\x66\x65\x61\x74\x75\x72\x65\x73':_0x12ab98[_0x4ce33a(0x818,'\x38\x21\x34\x29')]}:{},'\x62\x6f\x64\x79':_0x12ab98['\x62\x6f\x64\x79'],'\x72\x65\x74\x72\x79\x42\x6f\x64\x79':_0x58dc37[_0x4ce33a(0x34d,'\x76\x77\x5e\x46')],'\x68\x65\x61\x64\x65\x72\x73':_0x58dc37['\x68\x65\x61\x64\x65\x72\x73']??{},'\x6c\x6f\x67\x67\x65\x72':_0x115f31,..._0x4a6531['\x6f\x6e\x54\x72\x61\x63\x65']?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x4a6531['\x6f\x6e\x54\x72\x61\x63\x65']}:{},..._0x4a6531[_0x4ce33a(0x506,'\x35\x59\x64\x78')]?{'\x63\x6c\x6f\x63\x6b':_0x4a6531[_0x4ce33a(0x466,'\x4a\x77\x33\x50')]}:{},'\x65\x6e\x76':_0x2a3e1c,'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':copyOpenAIResponseHeaders});}};}export function buildGeminiHandler(_0x55396f){const _0x193daa=_0x19772a,_0x2f3997=_0x55396f[_0x193daa(0x60e,'\x50\x25\x54\x4d')]??console,_0x1742ba=_0x55396f[_0x193daa(0x545,'\x76\x71\x30\x5b')]??process.env;return async _0x3b138a=>{const _0x51d191=_0x193daa,{model:_0x38f5b6,action:_0x5a2f13}=validatedModelAction(_0x3b138a[_0x51d191(0x2b5,'\x4a\x77\x33\x50')]?.['\x6d\x6f\x64\x65\x6c\x41\x63\x74'+_0x51d191(0x5fe,'\x4e\x4d\x65\x63')]??''),_0x396e7b=providerQueryString(_0x3b138a[_0x51d191(0x244,'\x44\x25\x49\x65')]);return passthrough({'\x70\x72\x6f\x78\x79':_0x55396f['\x67\x65\x6d\x69\x6e\x69\x50\x72'+_0x51d191(0x6d8,'\x6c\x7a\x58\x71')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x51d191(0x473,'\x59\x5d\x4b\x49'),'\x72\x6f\x75\x74\x65':_0x51d191(0x602,'\x57\x5d\x74\x6f')+_0x51d191(0x3cc,'\x61\x4d\x35\x40')+_0x38f5b6+'\x3a'+_0x5a2f13,'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':_0x51d191(0x7b1,'\x70\x64\x63\x6c')+'\x6d\x6f\x64\x65\x6c\x73\x2f'+encodeURIComponent(_0x38f5b6)+'\x3a'+_0x5a2f13+_0x396e7b,'\x6d\x6f\x64\x65\x6c':_0x38f5b6,'\x62\x6f\x64\x79':_0x3b138a['\x62\x6f\x64\x79'],'\x68\x65\x61\x64\x65\x72\x73':_0x3b138a[_0x51d191(0x430,'\x59\x5d\x4b\x49')]??{},'\x6c\x6f\x67\x67\x65\x72':_0x2f3997,..._0x55396f[_0x51d191(0x230,'\x50\x25\x54\x4d')]?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x55396f['\x6f\x6e\x54\x72\x61\x63\x65']}:{},..._0x55396f[_0x51d191(0x3d0,'\x79\x51\x35\x70')]?{'\x63\x6c\x6f\x63\x6b':_0x55396f[_0x51d191(0x5e1,'\x75\x63\x55\x63')]}:{},'\x65\x6e\x76':_0x1742ba,'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':copyGeminiResponseHeaders});};}function _0x4e51(){const _0x1a0101=['\x57\x50\x50\x72\x57\x51\x2f\x64\x4e\x47\x38','\x57\x36\x33\x63\x54\x49\x33\x64\x47\x58\x37\x63\x56\x32\x61\x31','\x57\x36\x78\x63\x4a\x43\x6b\x79\x72\x53\x6b\x4f\x77\x58\x75','\x57\x52\x70\x64\x4f\x59\x35\x56\x79\x38\x6b\x4f\x42\x53\x6b\x2f','\x79\x75\x4f\x75\x57\x50\x47\x77\x57\x50\x4f\x2f\x57\x34\x38','\x77\x4a\x6e\x68\x57\x37\x46\x63\x53\x47','\x57\x34\x33\x64\x53\x38\x6b\x6d\x57\x36\x48\x61\x70\x47','\x57\x34\x62\x61\x57\x36\x58\x48\x62\x31\x61','\x57\x35\x56\x63\x52\x53\x6b\x63\x57\x50\x43\x77\x57\x4f\x48\x46\x41\x61','\x57\x4f\x50\x64\x57\x52\x4e\x64\x47\x30\x5a\x63\x4f\x63\x47\x6b','\x57\x4f\x2f\x63\x50\x5a\x43\x64\x57\x34\x70\x63\x51\x57','\x57\x34\x70\x63\x53\x6d\x6f\x67\x72\x43\x6b\x32\x6c\x38\x6f\x4a\x76\x71','\x57\x36\x74\x63\x48\x38\x6b\x69\x76\x6d\x6b\x39\x76\x72\x2f\x63\x49\x57','\x57\x52\x6c\x64\x56\x4a\x68\x63\x54\x38\x6f\x5a\x6d\x31\x70\x63\x55\x57','\x68\x6d\x6f\x32\x57\x51\x71\x59','\x67\x73\x68\x64\x4a\x59\x79\x6f','\x57\x34\x6e\x6c\x57\x35\x31\x59\x68\x66\x6e\x47\x57\x35\x30','\x67\x53\x6f\x32\x57\x51\x34\x55','\x75\x78\x2f\x64\x4e\x43\x6b\x53','\x46\x48\x56\x64\x4b\x57\x78\x63\x4f\x47','\x61\x5a\x48\x43\x57\x50\x46\x64\x50\x5a\x79\x63','\x79\x77\x4e\x64\x48\x43\x6b\x53\x57\x50\x57','\x46\x6d\x6f\x66\x57\x37\x56\x63\x4f\x43\x6f\x37\x7a\x43\x6f\x68\x73\x47','\x71\x32\x61\x42\x70\x53\x6b\x32\x6d\x38\x6b\x51\x57\x37\x53','\x57\x35\x6c\x64\x51\x53\x6b\x74\x57\x36\x65','\x57\x50\x71\x54\x57\x50\x54\x2f\x69\x73\x2f\x63\x56\x31\x4f','\x74\x53\x6b\x39\x76\x47\x57\x55\x57\x52\x65','\x57\x36\x42\x64\x48\x38\x6f\x72\x41\x6d\x6f\x4e\x44\x61','\x57\x34\x69\x6f\x57\x34\x38\x77\x57\x50\x38','\x75\x38\x6f\x76\x6f\x38\x6f\x68\x57\x50\x43\x42\x44\x68\x69','\x77\x64\x6a\x71\x57\x36\x5a\x63\x50\x43\x6f\x50','\x57\x51\x48\x37\x57\x50\x35\x34\x57\x34\x34\x43\x46\x53\x6f\x66\x57\x50\x53\x62\x78\x66\x78\x64\x51\x61','\x57\x35\x46\x63\x53\x38\x6f\x2b\x75\x47','\x67\x4e\x33\x64\x4b\x38\x6b\x6f','\x57\x51\x78\x64\x4f\x43\x6b\x47\x79\x43\x6b\x38\x74\x47\x66\x30','\x78\x32\x34\x74\x6d\x43\x6b\x52','\x65\x53\x6f\x74\x44\x5a\x30\x4b\x57\x51\x37\x64\x4c\x33\x65','\x57\x51\x6c\x64\x55\x4a\x42\x63\x50\x6d\x6f\x30\x67\x65\x33\x63\x56\x61','\x6b\x49\x6d\x7a\x77\x62\x4b\x33\x65\x6d\x6b\x7a','\x57\x36\x6c\x64\x4b\x53\x6f\x72\x42\x57','\x57\x4f\x58\x5a\x64\x58\x42\x63\x4c\x4d\x79\x66\x57\x37\x75','\x69\x53\x6b\x41\x57\x36\x56\x63\x56\x38\x6b\x62\x57\x50\x52\x64\x50\x4c\x53','\x57\x50\x4e\x63\x56\x74\x6d','\x57\x37\x2f\x63\x52\x62\x46\x64\x4d\x62\x4a\x63\x55\x75\x57\x49','\x74\x53\x6b\x39\x72\x72\x65\x31\x57\x51\x75','\x57\x50\x48\x6c\x62\x5a\x61\x65\x73\x53\x6b\x50\x78\x47','\x57\x34\x47\x66\x57\x36\x4e\x63\x53\x66\x70\x63\x4d\x53\x6f\x2f\x57\x51\x6d','\x57\x4f\x6a\x5a\x57\x52\x2f\x64\x4f\x77\x2f\x63\x47\x43\x6f\x76\x78\x71','\x68\x33\x6e\x68\x43\x6d\x6b\x51\x69\x53\x6b\x57\x57\x36\x47','\x57\x37\x35\x6a\x57\x50\x61\x39\x57\x51\x46\x63\x55\x57','\x57\x50\x42\x64\x4d\x48\x79','\x73\x43\x6b\x63\x57\x4f\x5a\x64\x49\x4a\x70\x63\x4b\x6d\x6f\x34\x57\x37\x75','\x6e\x74\x42\x64\x4a\x5a\x34\x78\x46\x47','\x62\x77\x42\x64\x54\x6d\x6b\x75\x57\x37\x33\x63\x49\x48\x79','\x6d\x4a\x56\x64\x4e\x49\x38','\x57\x34\x46\x64\x52\x43\x6b\x73\x57\x36\x7a\x46','\x57\x35\x34\x63\x57\x36\x4a\x63\x50\x75\x37\x63\x4c\x38\x6f\x31\x57\x52\x38','\x75\x77\x57\x67\x6d\x38\x6b\x35\x6d\x38\x6b\x4c\x57\x37\x43','\x6b\x30\x39\x35','\x74\x53\x6f\x77\x6c\x47','\x66\x38\x6f\x6e\x57\x34\x31\x70\x6d\x71','\x57\x4f\x72\x2b\x68\x71\x74\x63\x4d\x4d\x53\x63\x57\x36\x30','\x74\x53\x6b\x5a\x57\x50\x58\x4f\x57\x35\x33\x63\x47\x30\x56\x64\x49\x71','\x63\x43\x6b\x30\x57\x36\x33\x64\x4e\x6d\x6f\x36\x70\x38\x6f\x56\x75\x61','\x57\x51\x58\x63\x69\x49\x64\x63\x54\x47','\x62\x63\x33\x64\x49\x4a\x6d','\x75\x53\x6f\x65\x6a\x38\x6f\x68\x57\x51\x43\x68\x79\x4e\x79','\x57\x50\x33\x64\x4c\x61\x68\x64\x4d\x43\x6b\x63','\x71\x53\x6f\x79\x6a\x38\x6f\x65\x57\x50\x30\x42\x73\x4e\x47','\x67\x53\x6f\x73\x57\x34\x50\x70\x6e\x47','\x6e\x31\x76\x4a\x61\x38\x6b\x2b\x69\x66\x5a\x63\x4d\x61','\x57\x36\x4f\x4d\x57\x50\x52\x64\x47\x59\x64\x63\x49\x43\x6b\x6f','\x57\x50\x44\x76\x57\x52\x33\x64\x4c\x71\x74\x63\x53\x5a\x57','\x45\x72\x42\x64\x4b\x61\x6c\x63\x50\x53\x6b\x43\x7a\x30\x34','\x57\x34\x4a\x63\x54\x6d\x6f\x65\x73\x43\x6b\x32\x61\x53\x6f\x49','\x61\x68\x4e\x63\x48\x6d\x6b\x57','\x57\x34\x5a\x64\x51\x53\x6b\x6e\x57\x36\x54\x69\x6c\x71','\x45\x53\x6b\x4f\x57\x51\x5a\x64\x56\x58\x2f\x63\x4f\x43\x6f\x62\x57\x50\x43','\x64\x4a\x70\x63\x52\x4b\x70\x64\x4c\x61','\x72\x67\x61\x6f\x6b\x57','\x57\x36\x56\x63\x4a\x53\x6b\x57\x57\x51\x75\x53\x57\x51\x35\x5a\x73\x47','\x57\x50\x54\x6e\x63\x73\x47\x76\x77\x53\x6b\x6b','\x63\x53\x6b\x31\x57\x37\x33\x64\x4a\x61','\x61\x58\x33\x64\x56\x72\x34\x57\x73\x6d\x6b\x48\x6f\x57','\x73\x63\x44\x62\x57\x36\x33\x63\x52\x53\x6f\x72\x41\x6d\x6b\x7a','\x66\x74\x7a\x72\x57\x4f\x42\x64\x4e\x74\x79\x75\x57\x52\x38','\x57\x35\x56\x63\x56\x38\x6b\x61\x57\x4f\x79\x4e\x57\x4f\x35\x74\x41\x47','\x76\x4d\x70\x64\x4c\x6d\x6b\x37\x57\x52\x62\x43\x57\x51\x57','\x6f\x53\x6f\x72\x57\x35\x62\x63\x6b\x71','\x6d\x64\x33\x64\x53\x43\x6b\x62\x57\x50\x78\x64\x47\x61','\x61\x43\x6b\x30\x57\x37\x33\x64\x4b\x6d\x6f\x48','\x75\x4e\x58\x50\x57\x4f\x4b\x66\x46\x43\x6f\x35\x57\x37\x34','\x57\x34\x4c\x6c\x57\x37\x7a\x30\x67\x4c\x31\x32','\x78\x6d\x6b\x37\x57\x52\x62\x2b\x57\x37\x34','\x64\x53\x6b\x56\x57\x37\x46\x64\x4c\x53\x6f\x54\x61\x53\x6f\x48\x76\x57','\x45\x6d\x6b\x67\x57\x52\x6a\x6b\x57\x34\x74\x63\x53\x68\x5a\x64\x50\x61','\x75\x53\x6f\x65\x6b\x43\x6f\x64\x57\x4f\x30\x67','\x63\x43\x6b\x50\x57\x37\x57','\x57\x4f\x33\x64\x4d\x61\x74\x64\x4b\x53\x6b\x51\x79\x6d\x6f\x4d\x57\x51\x53','\x57\x36\x43\x57\x57\x52\x43','\x57\x52\x58\x70\x6d\x59\x74\x63\x54\x4c\x65\x4b','\x72\x38\x6b\x47\x57\x4f\x70\x64\x48\x48\x78\x63\x4c\x53\x6f\x54\x57\x51\x4f','\x76\x58\x52\x64\x50\x73\x42\x63\x52\x57','\x64\x78\x52\x63\x4a\x6d\x6b\x4f\x57\x35\x46\x64\x4d\x4c\x68\x63\x4a\x61','\x6e\x38\x6b\x44\x57\x34\x39\x61\x6e\x49\x6e\x6b\x6e\x57','\x77\x6d\x6b\x49\x57\x4f\x39\x50\x57\x36\x61','\x68\x38\x6f\x35\x69\x61','\x77\x67\x61\x78\x6f\x38\x6b\x39\x6e\x43\x6b\x57','\x70\x65\x39\x35\x66\x47','\x57\x4f\x44\x77\x63\x59\x53\x65\x73\x47','\x71\x4d\x70\x64\x47\x53\x6b\x47\x57\x4f\x48\x42','\x57\x50\x62\x4a\x57\x52\x68\x64\x50\x76\x65','\x57\x52\x34\x64\x57\x51\x30','\x57\x50\x48\x4a\x57\x52\x78\x64\x56\x65\x64\x63\x4e\x6d\x6f\x65\x77\x71','\x68\x47\x66\x34\x57\x52\x56\x64\x53\x47','\x57\x50\x4c\x41\x66\x74\x69\x46\x76\x38\x6b\x6e\x75\x47','\x6c\x64\x56\x64\x52\x53\x6f\x6b\x57\x50\x70\x64\x47\x53\x6f\x34\x57\x50\x6d','\x62\x73\x50\x52\x57\x50\x68\x64\x54\x59\x4f\x73\x57\x52\x38','\x57\x37\x6e\x46\x57\x50\x53','\x57\x52\x74\x64\x52\x73\x52\x63\x50\x6d\x6f\x52\x65\x31\x52\x63\x49\x47','\x57\x37\x4b\x4a\x57\x50\x4e\x64\x53\x61\x79','\x57\x35\x65\x7a\x57\x37\x42\x63\x53\x30\x37\x63\x4f\x43\x6f\x55\x57\x52\x34','\x74\x43\x6b\x37\x77\x61\x34\x59\x57\x51\x79\x6d\x78\x71','\x57\x52\x71\x6a\x57\x51\x44\x42\x64\x58\x65','\x62\x38\x6f\x4c\x61\x4d\x71\x58','\x57\x50\x62\x33\x57\x52\x4e\x64\x47\x76\x68\x63\x48\x38\x6f\x79','\x78\x67\x43\x4d\x57\x51\x71\x51\x57\x52\x4f','\x68\x6d\x6f\x35\x6d\x31\x61\x55','\x61\x63\x68\x64\x54\x53\x6b\x6b\x57\x50\x2f\x64\x4e\x47','\x6e\x6d\x6f\x75\x57\x35\x53','\x67\x6d\x6b\x42\x44\x5a\x4b\x51\x57\x51\x4e\x64\x49\x4e\x47','\x57\x35\x71\x72\x57\x34\x38\x6c','\x57\x36\x52\x63\x51\x72\x64\x64\x4b\x47\x34','\x75\x43\x6b\x2f\x57\x50\x35\x4e\x57\x36\x42\x63\x4e\x65\x68\x64\x4c\x71','\x57\x37\x5a\x63\x54\x38\x6b\x41\x72\x38\x6b\x75','\x6e\x59\x64\x64\x50\x53\x6b\x77','\x57\x34\x61\x71\x57\x4f\x74\x64\x4f\x47\x42\x63\x55\x53\x6b\x59\x57\x52\x57','\x57\x34\x4b\x50\x57\x34\x6d\x77\x57\x4f\x4b\x4c\x57\x52\x79\x4e','\x46\x38\x6f\x64\x57\x36\x42\x63\x4f\x53\x6f\x57\x79\x43\x6f\x41','\x57\x4f\x66\x31\x57\x52\x2f\x64\x50\x31\x4e\x63\x4c\x38\x6f\x76\x74\x47','\x57\x37\x64\x64\x51\x4a\x78\x63\x50\x38\x6f\x56\x62\x66\x56\x63\x55\x61','\x57\x50\x70\x63\x51\x5a\x57','\x64\x78\x33\x63\x48\x43\x6b\x4e\x57\x34\x4b','\x67\x64\x44\x42\x57\x4f\x42\x64\x55\x47','\x57\x37\x34\x6d\x57\x50\x38\x35\x57\x51\x46\x63\x55\x4a\x33\x64\x50\x71','\x6b\x49\x70\x64\x4e\x74\x34\x52\x79\x38\x6b\x65\x65\x57','\x57\x34\x69\x44\x57\x35\x6d','\x57\x4f\x4a\x64\x53\x59\x6d\x6c\x57\x34\x74\x63\x4f\x6d\x6b\x42\x57\x35\x34','\x66\x74\x70\x63\x49\x67\x68\x64\x4c\x47','\x71\x68\x65\x4a\x57\x52\x65\x77\x57\x52\x57\x69\x57\x36\x38','\x57\x34\x7a\x6e\x57\x50\x43\x32','\x6b\x49\x46\x64\x47\x63\x30\x77\x7a\x71','\x67\x43\x6b\x2f\x57\x37\x52\x64\x4b\x53\x6f\x54','\x70\x53\x6b\x46\x42\x73\x75\x61\x57\x52\x68\x64\x4e\x68\x6d','\x57\x4f\x48\x35\x64\x57\x46\x63\x4d\x32\x61\x66\x57\x36\x43','\x6b\x5a\x37\x63\x4a\x71','\x57\x52\x4a\x63\x50\x38\x6f\x4c\x76\x53\x6b\x47\x74\x4a\x4b\x58','\x57\x4f\x4e\x63\x4c\x6d\x6f\x6b\x6a\x61','\x57\x34\x5a\x63\x55\x43\x6f\x62\x6f\x6d\x6f\x53','\x57\x35\x42\x63\x56\x38\x6f\x4b\x67\x6d\x6f\x5a\x57\x37\x69','\x57\x35\x4b\x41\x57\x35\x4e\x63\x53\x4b\x4a\x63\x49\x38\x6f\x30\x57\x52\x69','\x6d\x6d\x6f\x6f\x57\x37\x4c\x69\x6c\x63\x69\x45\x69\x71','\x57\x37\x5a\x63\x4b\x43\x6b\x42\x75\x61','\x57\x36\x47\x4a\x57\x35\x38\x44\x57\x4f\x54\x44\x6b\x38\x6f\x67','\x57\x50\x6c\x63\x48\x53\x6f\x46\x6c\x59\x69','\x77\x67\x61\x49\x57\x52\x69','\x57\x35\x70\x63\x51\x43\x6f\x6c\x64\x43\x6f\x31\x57\x37\x54\x63','\x6f\x72\x42\x63\x53\x75\x52\x64\x54\x73\x7a\x44\x57\x4f\x75','\x77\x43\x6b\x2f\x57\x50\x6e\x4a','\x69\x63\x57\x6e\x73\x72\x71\x6b\x65\x57','\x57\x34\x33\x63\x50\x53\x6b\x67\x57\x50\x47\x72','\x57\x52\x68\x63\x4a\x62\x43\x52\x57\x37\x52\x63\x4b\x38\x6b\x5a\x57\x37\x53','\x72\x63\x31\x68\x57\x36\x56\x63\x55\x61','\x77\x4d\x53\x52','\x69\x59\x2f\x64\x4a\x59\x71\x77\x7a\x6d\x6b\x64\x69\x47','\x78\x32\x54\x6c\x57\x36\x65','\x57\x37\x4e\x63\x53\x53\x6f\x2f\x65\x43\x6f\x53\x57\x36\x4b','\x62\x38\x6b\x56\x57\x37\x37\x64\x4e\x71','\x64\x67\x68\x64\x4a\x53\x6b\x70\x57\x36\x2f\x63\x47\x73\x58\x65','\x77\x73\x66\x78\x57\x36\x4a\x63\x52\x53\x6f\x47\x46\x38\x6b\x79','\x71\x6d\x6f\x45\x70\x6d\x6f\x45\x57\x50\x53\x48\x7a\x4e\x34','\x62\x4a\x6c\x63\x4d\x4d\x78\x64\x4d\x62\x66\x36\x57\x51\x75','\x61\x4d\x35\x6e\x57\x4f\x56\x63\x54\x53\x6f\x70\x63\x33\x61','\x57\x50\x69\x2b\x57\x4f\x54\x49\x6d\x4a\x64\x63\x54\x4b\x6d','\x64\x43\x6b\x33\x57\x37\x4a\x64\x4d\x38\x6f\x54\x61\x53\x6f\x54\x42\x71','\x57\x34\x74\x63\x52\x53\x6b\x62\x57\x50\x65\x6d\x57\x50\x71','\x6a\x73\x30\x6f\x73\x57\x4b\x33','\x57\x35\x37\x63\x54\x43\x6f\x4b\x67\x53\x6f\x79\x57\x36\x48\x45\x57\x51\x71','\x57\x51\x74\x64\x50\x4a\x78\x63\x53\x71','\x75\x78\x68\x64\x48\x53\x6b\x41\x57\x50\x54\x68\x57\x51\x30\x49','\x57\x36\x46\x64\x4a\x43\x6b\x2f\x57\x35\x50\x35\x64\x43\x6f\x53\x57\x36\x6d','\x57\x35\x30\x62\x57\x36\x46\x63\x51\x4d\x78\x63\x4e\x43\x6f\x31\x57\x51\x71','\x76\x38\x6f\x56\x57\x37\x53\x31\x42\x78\x64\x63\x4d\x53\x6b\x79','\x57\x35\x70\x63\x50\x43\x6f\x78\x72\x6d\x6b\x39\x66\x57','\x7a\x6d\x6f\x2b\x68\x6d\x6f\x4b','\x6e\x4a\x4e\x64\x53\x6d\x6b\x71\x57\x4f\x42\x64\x49\x6d\x6f\x32\x57\x50\x4b','\x57\x50\x64\x63\x47\x53\x6f\x45\x6a\x64\x30','\x57\x35\x57\x79\x57\x36\x4a\x63\x4f\x57','\x57\x4f\x44\x41\x65\x49\x53\x46\x76\x38\x6b\x6e','\x57\x36\x75\x57\x57\x52\x52\x64\x48\x73\x46\x63\x4d\x53\x6b\x73\x57\x4f\x34','\x46\x43\x6f\x75\x57\x36\x4a\x63\x55\x38\x6f\x36\x42\x61','\x57\x51\x70\x63\x53\x63\x71\x67\x57\x34\x68\x63\x4b\x38\x6b\x72\x57\x34\x38','\x57\x34\x76\x6c\x57\x37\x6a\x5a\x62\x32\x44\x58\x57\x35\x57','\x75\x68\x5a\x64\x4d\x6d\x6b\x51\x57\x4f\x4f','\x72\x4e\x79\x4a\x64\x53\x6b\x52','\x67\x43\x6f\x5a\x6e\x4c\x65\x4e\x57\x36\x4e\x64\x48\x71','\x57\x37\x65\x57\x57\x51\x4a\x64\x47\x74\x33\x63\x48\x53\x6b\x65\x57\x50\x47','\x73\x38\x6b\x4f\x77\x59\x43\x34\x57\x51\x30\x43\x71\x71','\x70\x75\x66\x4e\x67\x53\x6b\x34\x45\x4d\x64\x63\x4e\x47','\x57\x52\x6c\x64\x55\x74\x39\x43\x45\x6d\x6f\x5a\x6d\x38\x6f\x4a','\x57\x36\x69\x4d\x57\x52\x74\x64\x4e\x57','\x45\x53\x6f\x63\x57\x36\x4a\x63\x52\x38\x6f\x57','\x64\x43\x6f\x50\x57\x52\x4b\x4a\x45\x4d\x68\x63\x4d\x53\x6f\x41','\x57\x34\x61\x4e\x57\x34\x75\x43\x57\x50\x75','\x42\x43\x6f\x38\x62\x43\x6f\x4f\x57\x51\x57\x4e\x72\x4c\x71','\x70\x6d\x6f\x7a\x57\x37\x6e\x69\x6c\x63\x34','\x57\x36\x33\x63\x4f\x61\x53','\x57\x35\x68\x64\x51\x38\x6b\x70\x57\x37\x4c\x59\x6c\x43\x6f\x6d\x57\x34\x6d','\x6f\x59\x43\x44\x78\x48\x76\x4f\x66\x6d\x6b\x56','\x74\x59\x6e\x62\x57\x36\x52\x63\x52\x38\x6f\x52','\x6e\x43\x6b\x78\x79\x61','\x63\x38\x6b\x37\x57\x37\x46\x64\x4b\x43\x6f\x57\x64\x38\x6f\x56\x74\x71','\x57\x34\x61\x39\x57\x51\x37\x64\x4e\x5a\x4e\x63\x4d\x57','\x72\x33\x43\x4c\x57\x51\x57','\x57\x35\x78\x63\x53\x43\x6f\x56\x65\x43\x6f\x30','\x57\x35\x37\x63\x56\x38\x6f\x4d','\x46\x43\x6f\x75\x57\x37\x52\x63\x55\x6d\x6f\x36\x42\x6d\x6f\x44\x73\x71','\x57\x37\x54\x63\x57\x50\x30\x31\x57\x52\x37\x63\x4f\x5a\x37\x64\x52\x47','\x74\x38\x6b\x4d\x77\x58\x30','\x6d\x53\x6f\x79\x57\x34\x7a\x73','\x65\x38\x6b\x45\x57\x36\x4a\x63\x55\x38\x6b\x42\x57\x4f\x42\x64\x53\x67\x34','\x46\x53\x6b\x6d\x57\x4f\x56\x64\x4b\x48\x70\x63\x49\x6d\x6f\x50\x57\x52\x79','\x72\x32\x57\x50\x57\x52\x6d','\x57\x36\x38\x57\x57\x52\x78\x64\x4c\x49\x42\x63\x47\x61','\x73\x53\x6f\x76\x6a\x53\x6f\x65','\x57\x4f\x50\x6d\x63\x73\x57','\x57\x36\x30\x47\x57\x52\x46\x64\x4e\x71','\x43\x30\x39\x6b\x57\x52\x61\x4c','\x57\x37\x74\x63\x52\x62\x30','\x46\x59\x44\x6c\x57\x36\x4e\x63\x49\x43\x6f\x33\x46\x38\x6b\x6f','\x57\x34\x68\x63\x50\x43\x6b\x6d\x57\x50\x4f\x6e\x57\x50\x48\x74\x45\x61','\x57\x50\x2f\x64\x49\x71\x6c\x64\x49\x43\x6b\x78\x7a\x6d\x6f\x36\x57\x51\x57','\x57\x36\x4f\x4a\x57\x35\x4f\x36\x57\x4f\x57','\x57\x34\x31\x73\x57\x35\x66\x59\x61\x76\x31\x4b\x57\x35\x34','\x6b\x53\x6f\x6a\x57\x34\x31\x69\x6c\x63\x57','\x57\x34\x65\x61\x57\x34\x71\x46\x57\x50\x47\x6f','\x66\x43\x6f\x42\x57\x51\x75\x5a\x43\x71','\x6a\x63\x6d\x7a','\x57\x37\x64\x63\x51\x48\x46\x64\x47\x47','\x6f\x38\x6b\x6b\x57\x35\x42\x64\x55\x38\x6f\x6b\x6c\x53\x6f\x44\x7a\x47','\x75\x43\x6f\x63\x6a\x38\x6f\x62\x57\x50\x65\x72\x79\x4d\x75','\x64\x43\x6f\x51\x57\x51\x53\x57\x42\x71','\x61\x78\x46\x63\x4a\x53\x6b\x51\x57\x35\x2f\x64\x4c\x32\x33\x63\x4d\x57','\x57\x34\x47\x78\x57\x35\x47\x78\x57\x50\x34','\x57\x37\x31\x7a\x57\x4f\x4f\x51\x57\x51\x42\x63\x50\x57\x33\x64\x56\x57','\x57\x34\x5a\x63\x47\x38\x6f\x2f\x64\x43\x6f\x75','\x79\x31\x6e\x77\x57\x51\x65','\x63\x43\x6b\x2b\x57\x34\x42\x64\x4e\x6d\x6f\x33\x67\x38\x6f\x37\x74\x71','\x76\x4e\x43\x2b\x57\x51\x34\x37','\x74\x6d\x6f\x7a\x57\x37\x5a\x63\x50\x53\x6f\x2b\x43\x43\x6f\x36\x78\x47','\x57\x34\x39\x65\x57\x36\x58\x4c\x66\x4c\x72\x50\x57\x35\x79','\x57\x37\x54\x79\x57\x50\x53\x33\x57\x4f\x5a\x63\x55\x4a\x79','\x57\x51\x48\x73\x6e\x71','\x57\x34\x4c\x44\x57\x36\x44\x4c','\x6a\x66\x4c\x53\x57\x51\x70\x63\x49\x43\x6f\x55\x6f\x66\x53','\x69\x76\x70\x63\x56\x38\x6b\x41\x57\x36\x37\x64\x51\x75\x74\x63\x56\x57','\x63\x73\x78\x64\x47\x53\x6b\x64\x57\x36\x4a\x63\x49\x61','\x57\x37\x6e\x66\x57\x50\x69\x2f\x57\x52\x43','\x43\x67\x4f\x35\x57\x51\x38\x39','\x68\x6d\x6f\x75\x6f\x66\x65\x37','\x6d\x43\x6b\x32\x57\x34\x46\x63\x4e\x43\x6b\x48\x57\x51\x68\x64\x47\x78\x53','\x57\x4f\x7a\x71\x61\x49\x43\x43','\x57\x52\x56\x64\x55\x4a\x5a\x63\x50\x57','\x75\x43\x6b\x47\x77\x48\x65\x56\x57\x52\x65','\x6c\x43\x6b\x66\x57\x34\x52\x64\x4f\x43\x6f\x6c\x6c\x53\x6f\x70\x44\x61','\x71\x38\x6f\x39\x57\x34\x74\x63\x4c\x38\x6f\x62\x75\x6d\x6f\x56\x42\x57','\x57\x51\x7a\x72\x6e\x73\x56\x63\x4f\x31\x30','\x57\x52\x68\x64\x54\x49\x4e\x63\x4b\x43\x6f\x54\x65\x31\x64\x63\x52\x71','\x57\x50\x6c\x63\x4d\x6d\x6f\x6f\x6d\x73\x74\x63\x54\x71','\x57\x50\x48\x71\x63\x61','\x79\x53\x6b\x6b\x46\x5a\x4b\x6a\x57\x50\x65','\x57\x35\x78\x64\x56\x53\x6b\x73\x57\x36\x43','\x6b\x30\x5a\x64\x50\x43\x6b\x49','\x57\x37\x33\x64\x4c\x53\x6f\x63\x7a\x43\x6f\x53\x79\x74\x61','\x57\x37\x31\x75\x57\x4f\x43','\x57\x35\x57\x79\x57\x36\x4a\x63\x4f\x32\x78\x63\x4a\x6d\x6f\x2f\x57\x52\x61','\x75\x53\x6f\x65\x6b\x43\x6f\x66\x57\x4f\x57\x67\x75\x68\x34','\x57\x51\x70\x64\x54\x49\x69','\x57\x4f\x58\x65\x57\x51\x37\x64\x4d\x61\x2f\x63\x50\x49\x79\x6a','\x79\x53\x6f\x75\x57\x37\x52\x63\x55\x38\x6f\x30\x7a\x43\x6f\x6c','\x57\x34\x6c\x63\x51\x6d\x6f\x72\x73\x6d\x6b\x46\x66\x43\x6f\x2f\x76\x57','\x57\x4f\x4c\x74\x63\x73\x65\x42','\x61\x32\x62\x68\x57\x50\x79','\x57\x51\x4e\x64\x55\x64\x7a\x36','\x76\x4d\x57\x79\x6e\x53\x6b\x52\x6c\x38\x6b\x43\x57\x36\x4f','\x71\x33\x65\x65\x6e\x53\x6b\x32\x69\x61','\x57\x36\x68\x64\x4c\x53\x6f\x38\x7a\x43\x6f\x53\x7a\x59\x6c\x64\x4e\x57','\x6a\x4a\x4e\x64\x4f\x53\x6b\x77\x57\x50\x78\x64\x4d\x43\x6f\x34\x57\x4f\x79','\x6c\x65\x39\x34\x68\x57','\x67\x78\x5a\x64\x47\x43\x6b\x73\x57\x36\x4e\x63\x4d\x47','\x57\x51\x4e\x63\x4a\x6d\x6f\x74\x6c\x72\x74\x63\x54\x38\x6f\x32\x57\x51\x71','\x72\x4e\x79\x54\x57\x51\x79\x53','\x57\x51\x4a\x64\x55\x5a\x6e\x38\x44\x71','\x57\x36\x39\x47\x57\x35\x31\x77\x69\x78\x44\x74\x57\x37\x4f','\x57\x50\x6a\x4d\x57\x51\x64\x64\x50\x75\x78\x63\x47\x43\x6f\x76\x42\x47','\x42\x38\x6b\x37\x57\x51\x33\x64\x53\x58\x46\x63\x52\x53\x6f\x74\x57\x4f\x47','\x57\x35\x4b\x70\x76\x4e\x62\x69\x64\x6d\x6f\x69\x62\x57\x6c\x63\x54\x74\x7a\x45\x6e\x43\x6b\x58','\x57\x35\x42\x64\x55\x53\x6b\x79\x57\x37\x30','\x64\x49\x42\x64\x50\x38\x6b\x62\x57\x50\x47','\x79\x30\x39\x76\x57\x52\x61','\x6a\x48\x4a\x63\x53\x75\x5a\x64\x51\x63\x54\x42\x57\x4f\x65','\x66\x63\x54\x7a\x57\x4f\x2f\x64\x52\x74\x6d\x75\x57\x52\x4f','\x69\x63\x57\x6b\x71\x62\x4b\x48\x65\x6d\x6b\x36','\x57\x37\x44\x70\x57\x4f\x4f\x50\x57\x37\x57','\x78\x53\x6b\x46\x57\x4f\x56\x64\x4b\x57','\x69\x49\x46\x64\x47\x47','\x75\x78\x61\x63\x6e\x38\x6b\x33\x6e\x43\x6b\x51\x57\x36\x69','\x45\x58\x52\x64\x4f\x62\x4a\x63\x52\x43\x6b\x63\x78\x31\x75','\x62\x31\x62\x32\x61\x6d\x6b\x34\x69\x67\x56\x63\x47\x57','\x57\x35\x30\x70\x57\x37\x42\x63\x4f\x31\x74\x63\x4a\x43\x6f\x5a\x57\x51\x43','\x44\x43\x6b\x6f\x57\x4f\x70\x64\x4b\x4a\x52\x63\x4f\x43\x6f\x4a\x57\x51\x30','\x57\x51\x2f\x64\x4d\x4a\x39\x52\x43\x43\x6f\x32\x69\x6d\x6f\x4b','\x65\x49\x33\x64\x47\x73\x79\x33\x46\x53\x6b\x66','\x44\x72\x64\x64\x4a\x62\x74\x63\x53\x61','\x61\x38\x6b\x6c\x57\x37\x46\x63\x56\x38\x6b\x58\x57\x4f\x42\x64\x53\x66\x38','\x78\x4c\x4f\x76\x70\x53\x6b\x30\x6b\x38\x6b\x43\x57\x37\x4b','\x77\x6d\x6b\x54\x45\x58\x65\x31\x57\x51\x43','\x57\x52\x31\x41\x57\x34\x39\x31\x57\x52\x64\x63\x55\x5a\x70\x64\x56\x57','\x68\x53\x6f\x4d\x6d\x4c\x53\x4a\x57\x37\x69','\x57\x51\x4a\x64\x4f\x5a\x54\x52\x7a\x43\x6f\x48','\x57\x34\x70\x63\x53\x6d\x6b\x39\x77\x6d\x6b\x69\x77\x59\x62\x43','\x65\x43\x6b\x7a\x57\x37\x68\x64\x47\x6d\x6f\x33\x61\x61','\x6c\x76\x72\x58\x73\x57','\x57\x36\x52\x63\x50\x48\x4a\x64\x4e\x5a\x56\x63\x53\x68\x65\x4e','\x57\x35\x61\x62\x57\x4f\x4e\x64\x54\x62\x70\x63\x50\x43\x6b\x4f\x57\x52\x61','\x57\x51\x31\x65\x70\x64\x68\x63\x4f\x57','\x57\x37\x54\x79\x57\x50\x53\x33','\x57\x34\x42\x63\x56\x38\x6b\x6b\x57\x50\x47\x6d','\x77\x4e\x65\x50\x57\x51\x57','\x57\x50\x7a\x45\x57\x52\x2f\x64\x4e\x72\x74\x63\x50\x73\x4f\x43','\x57\x4f\x6a\x6d\x6a\x5a\x61\x63\x77\x6d\x6b\x68','\x57\x36\x69\x37\x57\x51\x2f\x64\x4d\x73\x64\x63\x48\x38\x6b\x68\x57\x50\x71','\x57\x51\x6c\x63\x4f\x43\x6f\x5a\x64\x58\x74\x63\x4e\x53\x6f\x45\x57\x4f\x53','\x68\x4a\x6a\x41\x57\x4f\x33\x64\x53\x71','\x57\x34\x42\x63\x50\x6d\x6b\x79','\x6c\x43\x6b\x66\x57\x34\x4e\x64\x50\x38\x6f\x77\x70\x43\x6f\x68\x46\x71','\x61\x53\x6b\x41\x57\x36\x56\x63\x55\x53\x6b\x63\x57\x4f\x61','\x74\x53\x6f\x67\x6c\x43\x6f\x66\x57\x50\x34\x7a\x41\x67\x61','\x66\x6d\x6f\x34\x69\x71','\x57\x37\x4a\x63\x4d\x53\x6b\x65\x71\x38\x6b\x47\x77\x62\x78\x63\x4c\x57','\x6a\x4a\x71\x6d\x78\x47\x4f\x50\x67\x53\x6b\x2b','\x62\x6d\x6b\x41\x57\x36\x56\x63\x55\x57','\x43\x75\x39\x68\x57\x52\x61\x58\x78\x38\x6f\x64\x57\x35\x30','\x57\x34\x4b\x61\x57\x34\x79','\x78\x77\x4f\x73\x6f\x53\x6b\x30','\x6f\x38\x6f\x58\x57\x52\x38\x35\x79\x33\x43','\x42\x43\x6f\x38\x62\x43\x6f\x4f\x57\x52\x43\x4c\x71\x4c\x4b','\x57\x34\x79\x64\x57\x50\x74\x64\x56\x62\x70\x63\x55\x6d\x6b\x4f\x57\x52\x69','\x57\x34\x52\x63\x52\x38\x6f\x35\x66\x57','\x57\x51\x70\x64\x51\x59\x52\x63\x50\x6d\x6f\x65\x62\x76\x56\x63\x51\x61','\x79\x75\x39\x75\x57\x52\x61\x48\x76\x71','\x57\x37\x76\x6a\x57\x50\x6d\x5a\x57\x52\x33\x63\x55\x47','\x57\x34\x70\x64\x53\x38\x6b\x6d\x57\x36\x54\x6d\x70\x6d\x6f\x63','\x57\x4f\x46\x63\x56\x43\x6f\x45\x57\x50\x71\x44\x57\x4f\x48\x78\x6a\x61','\x57\x51\x48\x59\x57\x35\x57\x42\x57\x4f\x7a\x42\x66\x38\x6f\x6e','\x64\x43\x6f\x33\x57\x51\x4b\x32\x46\x67\x68\x63\x4e\x57','\x61\x38\x6b\x41\x57\x37\x78\x63\x52\x53\x6b\x61\x57\x4f\x64\x64\x56\x66\x30','\x57\x52\x33\x64\x56\x4a\x7a\x52\x44\x43\x6f\x47','\x69\x64\x42\x63\x47\x68\x4e\x64\x54\x71\x7a\x39\x57\x51\x75','\x57\x52\x70\x64\x54\x59\x52\x63\x56\x43\x6f\x34\x65\x30\x30','\x57\x34\x38\x65\x57\x35\x4b\x44\x57\x52\x4b\x75\x57\x52\x75','\x57\x37\x4e\x64\x4c\x53\x6b\x6d\x42\x6d\x6f\x4d\x44\x59\x42\x64\x4d\x47','\x57\x37\x4a\x63\x50\x38\x6b\x58\x72\x53\x6b\x4a\x76\x4a\x44\x50','\x57\x35\x71\x73\x57\x36\x4a\x63\x4f\x75\x37\x63\x4c\x47','\x42\x48\x56\x64\x4d\x31\x68\x63\x52\x53\x6b\x44\x74\x4b\x71','\x70\x75\x35\x48','\x75\x53\x6b\x2b\x57\x4f\x35\x4a\x57\x36\x65','\x57\x36\x64\x64\x47\x6d\x6f\x67\x43\x57','\x57\x52\x72\x76\x57\x4f\x74\x64\x4c\x67\x4a\x63\x52\x6d\x6f\x59\x46\x71','\x57\x36\x38\x6b\x57\x34\x34\x62','\x74\x4e\x78\x64\x47\x53\x6b\x36\x57\x4f\x35\x73\x57\x51\x30','\x57\x37\x42\x63\x53\x61\x33\x64\x47\x72\x37\x63\x50\x76\x57\x47','\x57\x50\x35\x6d\x62\x59\x75\x76','\x57\x36\x74\x63\x4f\x43\x6b\x6f\x57\x52\x6d\x30','\x57\x36\x4f\x36\x57\x52\x75','\x57\x51\x31\x54\x6f\x73\x56\x63\x50\x33\x43\x56\x57\x34\x65','\x65\x63\x78\x63\x48\x4d\x78\x64\x48\x58\x50\x54\x57\x50\x6d','\x6f\x59\x43\x41\x78\x61\x6d\x52\x62\x53\x6b\x53','\x61\x4a\x50\x45\x57\x4f\x33\x64\x4a\x74\x69\x75\x57\x51\x57','\x68\x38\x6b\x68\x43\x72\x4b\x53','\x65\x57\x5a\x64\x4a\x43\x6b\x4c\x57\x52\x33\x64\x53\x53\x6f\x41\x57\x52\x53','\x61\x33\x4a\x63\x4c\x6d\x6b\x48\x57\x34\x4a\x64\x4c\x68\x68\x63\x4c\x57','\x57\x36\x46\x63\x4e\x43\x6b\x46\x72\x43\x6b\x38\x73\x63\x2f\x63\x4a\x61','\x66\x38\x6f\x2f\x6f\x76\x65','\x7a\x75\x76\x74\x57\x52\x61\x48','\x57\x36\x4f\x37\x57\x51\x56\x64\x48\x63\x79','\x46\x62\x46\x64\x4b\x72\x4a\x63\x53\x6d\x6b\x41','\x57\x35\x33\x63\x50\x53\x6b\x54\x45\x38\x6b\x44','\x57\x35\x65\x4d\x57\x36\x30\x30\x57\x4f\x53','\x57\x37\x44\x5a\x57\x50\x43\x2b','\x61\x77\x33\x64\x4d\x43\x6b\x76','\x77\x59\x44\x71\x57\x36\x74\x63\x50\x53\x6f\x39','\x57\x34\x37\x63\x56\x38\x6f\x55','\x57\x52\x6a\x7a\x57\x50\x61\x50\x57\x51\x42\x63\x4f\x59\x6c\x64\x50\x61','\x57\x37\x78\x64\x56\x4a\x72\x38\x46\x38\x6f\x2f\x6d\x43\x6f\x38','\x43\x43\x6b\x43\x57\x52\x62\x7a\x57\x34\x42\x63\x50\x32\x2f\x64\x55\x61','\x57\x37\x74\x63\x56\x53\x6b\x36\x71\x6d\x6b\x47\x76\x63\x58\x62','\x57\x50\x33\x63\x4f\x64\x79\x64\x57\x34\x52\x63\x4f\x47','\x77\x73\x6e\x72\x57\x37\x78\x63\x50\x6d\x6f\x47\x45\x6d\x6b\x6f','\x61\x38\x6b\x43\x57\x37\x4e\x63\x4f\x43\x6b\x49\x57\x50\x33\x64\x55\x31\x53','\x57\x34\x54\x73\x65\x5a\x65\x65\x67\x43\x6b\x71\x77\x61','\x57\x34\x7a\x65\x57\x52\x65\x63\x57\x52\x4b','\x57\x50\x46\x64\x4d\x58\x44\x61\x78\x38\x6f\x63\x62\x6d\x6f\x45','\x6e\x53\x6f\x74\x57\x4f\x6d\x73\x74\x57','\x57\x36\x68\x64\x53\x6d\x6b\x76\x57\x36\x44\x7a','\x67\x74\x4a\x63\x4a\x78\x64\x64\x4d\x5a\x35\x51\x57\x52\x71','\x57\x36\x52\x63\x53\x72\x4a\x64\x48\x72\x37\x63\x4f\x4b\x61\x37','\x57\x50\x48\x6c\x66\x63\x53\x45\x78\x47','\x57\x51\x6c\x63\x48\x6d\x6f\x45','\x57\x35\x48\x6b\x57\x35\x66\x59\x61\x76\x66\x52\x57\x35\x71','\x57\x35\x65\x74\x57\x36\x70\x63\x51\x30\x52\x63\x4b\x43\x6f\x55\x57\x52\x71','\x57\x51\x75\x75\x57\x52\x54\x45\x70\x58\x5a\x63\x47\x77\x79','\x69\x73\x37\x64\x47\x73\x47\x64\x79\x71','\x6b\x53\x6f\x79\x57\x35\x6a\x61\x6c\x64\x38\x64\x6a\x57','\x61\x77\x70\x63\x4b\x53\x6b\x36\x57\x35\x78\x64\x49\x71','\x69\x6d\x6f\x67\x57\x4f\x4b\x46\x73\x76\x42\x63\x51\x61','\x41\x43\x6b\x58\x57\x50\x72\x51\x57\x35\x46\x63\x47\x30\x56\x64\x4c\x71','\x57\x52\x39\x66\x57\x50\x4f','\x69\x71\x70\x63\x52\x65\x46\x64\x51\x64\x50\x68\x57\x4f\x65','\x57\x50\x5a\x63\x47\x38\x6f\x6f\x6b\x73\x70\x63\x52\x53\x6f\x4a\x57\x51\x6d','\x64\x4d\x33\x64\x4a\x61','\x63\x4d\x50\x6e\x57\x50\x57','\x57\x51\x37\x63\x4e\x62\x30\x5a\x57\x37\x6c\x63\x4d\x6d\x6b\x53\x57\x37\x53','\x57\x51\x71\x76\x57\x52\x39\x43\x64\x57\x4a\x63\x4a\x47','\x57\x37\x52\x64\x48\x38\x6b\x64\x43\x53\x6f\x53\x44\x63\x37\x64\x4b\x57','\x57\x35\x4e\x63\x54\x43\x6f\x4b\x63\x38\x6f\x49\x57\x37\x72\x70\x57\x50\x4f','\x57\x35\x48\x78\x57\x36\x6e\x4f\x61\x65\x48\x51\x57\x34\x65','\x62\x6d\x6b\x6e\x57\x37\x68\x63\x4f\x47','\x61\x38\x6b\x71\x57\x37\x79','\x61\x63\x46\x63\x4e\x67\x65','\x57\x37\x78\x63\x53\x6d\x6b\x4e\x75\x43\x6b\x71\x73\x64\x71','\x57\x34\x2f\x63\x4f\x43\x6f\x61\x71\x38\x6b\x59\x67\x43\x6f\x6f\x75\x57','\x57\x36\x56\x63\x51\x47\x5a\x64\x48\x71\x37\x63\x4f\x31\x57\x59','\x57\x37\x74\x64\x4c\x38\x6f\x63\x44\x43\x6f\x4f','\x57\x52\x69\x6f\x57\x51\x7a\x62\x64\x57\x30','\x65\x4a\x48\x72\x57\x4f\x46\x64\x51\x59\x61\x71\x57\x51\x4f','\x61\x4a\x7a\x72','\x57\x34\x38\x38\x57\x52\x78\x64\x4c\x61','\x75\x67\x71\x56\x57\x51\x4b\x53\x57\x50\x65\x46\x57\x36\x53','\x57\x4f\x31\x77\x63\x63\x53\x64\x75\x43\x6b\x48\x72\x71','\x57\x50\x7a\x74\x6e\x74\x68\x63\x53\x65\x30','\x6e\x59\x42\x64\x52\x6d\x6b\x69\x57\x51\x56\x64\x4a\x53\x6f\x32\x57\x50\x47','\x77\x78\x4c\x4a\x57\x50\x43\x42\x79\x6d\x6f\x50\x57\x36\x4f','\x62\x53\x6b\x42\x41\x49\x34\x58\x57\x51\x38','\x6b\x6d\x6b\x72\x79\x64\x61','\x57\x50\x42\x64\x49\x62\x44\x45\x73\x6d\x6f\x6e\x62\x6d\x6f\x67','\x57\x50\x72\x76\x57\x51\x78\x64\x47\x47','\x57\x35\x65\x66\x57\x36\x70\x63\x4f\x47','\x6c\x5a\x42\x64\x49\x59\x43\x39\x7a\x6d\x6b\x65','\x64\x33\x4a\x64\x47\x43\x6b\x75\x57\x37\x33\x63\x4e\x72\x58\x65','\x6b\x4b\x66\x47\x69\x6d\x6b\x2f\x6a\x4d\x42\x63\x4b\x61','\x76\x77\x71\x67\x6e\x53\x6b\x52\x41\x43\x6b\x47\x57\x37\x43','\x6c\x59\x5a\x64\x52\x43\x6b\x64\x57\x4f\x64\x64\x48\x71','\x78\x38\x6b\x43\x57\x37\x64\x63\x52\x53\x6b\x41\x57\x35\x56\x64\x54\x4c\x65','\x65\x53\x6b\x74\x57\x37\x46\x63\x52\x6d\x6b\x66\x57\x51\x56\x64\x50\x4b\x4f','\x61\x43\x6f\x33\x6a\x75\x79\x4e','\x65\x4a\x6c\x63\x49\x67\x68\x64\x47\x47\x31\x53\x57\x52\x6d','\x57\x34\x33\x63\x56\x53\x6f\x62\x73\x6d\x6b\x2f','\x73\x38\x6b\x44\x57\x50\x6c\x64\x4d\x5a\x4a\x63\x4d\x47','\x57\x36\x70\x63\x4f\x38\x6b\x48\x77\x53\x6b\x4d\x77\x59\x58\x37','\x77\x32\x61\x54\x57\x51\x75\x53\x57\x52\x57\x45','\x57\x34\x75\x72\x57\x36\x30\x64\x57\x52\x35\x48\x67\x53\x6f\x55','\x72\x6d\x6b\x79\x43\x73\x43\x4d\x57\x52\x70\x64\x4b\x68\x69','\x61\x49\x31\x6e\x57\x4f\x52\x64\x52\x63\x6d','\x57\x36\x44\x46\x57\x50\x53\x4f\x57\x4f\x5a\x63\x55\x4a\x79','\x61\x73\x54\x71\x57\x4f\x37\x64\x53\x4a\x61\x55\x57\x52\x53','\x57\x34\x33\x63\x56\x38\x6b\x6b','\x57\x35\x47\x77\x57\x34\x53\x46\x57\x4f\x4b','\x57\x37\x65\x36\x57\x51\x37\x64\x48\x74\x43','\x57\x34\x47\x6e\x57\x37\x61\x78\x57\x51\x62\x37\x68\x6d\x6f\x4d','\x64\x65\x66\x2b\x68\x38\x6b\x6f\x69\x4d\x42\x63\x4e\x57','\x77\x43\x6b\x53\x76\x62\x43\x2f\x57\x51\x43\x42','\x6a\x38\x6f\x2f\x57\x51\x53\x37\x7a\x67\x42\x63\x4d\x53\x6f\x75','\x57\x34\x4f\x71\x57\x37\x70\x63\x51\x31\x2f\x63\x4b\x6d\x6f\x55\x57\x51\x69','\x57\x34\x2f\x63\x50\x38\x6f\x61\x78\x38\x6b\x31\x68\x6d\x6f\x2b\x72\x57','\x57\x50\x52\x64\x47\x57\x76\x73\x78\x38\x6f\x77\x62\x6d\x6f\x43','\x57\x52\x74\x64\x55\x49\x4e\x63\x4f\x6d\x6f\x36','\x57\x36\x70\x63\x4e\x6d\x6b\x58\x71\x6d\x6b\x4b\x78\x4a\x4c\x51','\x71\x68\x5a\x64\x4b\x6d\x6b\x38\x57\x4f\x54\x71','\x73\x33\x68\x64\x47\x47','\x79\x6d\x6f\x46\x57\x35\x33\x63\x55\x53\x6f\x30\x79\x43\x6f\x6c','\x46\x75\x76\x70\x57\x51\x4f','\x57\x34\x46\x63\x55\x38\x6b\x6b\x57\x50\x47\x35\x57\x52\x76\x4d\x45\x71','\x6d\x48\x66\x36\x57\x51\x6c\x64\x4b\x47','\x57\x50\x37\x63\x47\x53\x6f\x75\x6e\x74\x74\x63\x52\x38\x6f\x4e','\x6b\x66\x6a\x34\x62\x43\x6b\x49\x6d\x67\x42\x63\x47\x57','\x68\x53\x6b\x6d\x43\x73\x43\x4d\x57\x51\x42\x64\x4a\x78\x47','\x69\x47\x6d\x62\x41\x59\x6d','\x57\x34\x33\x63\x4e\x53\x6b\x6f\x77\x38\x6b\x39\x74\x57','\x57\x37\x79\x4e\x57\x34\x79\x50\x57\x4f\x54\x68','\x57\x35\x4b\x66\x57\x37\x78\x63\x4f\x31\x37\x63\x52\x43\x6f\x2f\x57\x52\x57','\x62\x38\x6b\x42\x44\x5a\x4f\x4b\x57\x51\x64\x64\x4e\x61','\x57\x50\x72\x4a\x57\x50\x5a\x64\x55\x66\x37\x63\x4c\x47','\x57\x35\x35\x61\x57\x37\x6a\x51\x65\x4c\x54\x47','\x57\x37\x34\x6f\x57\x34\x65\x47\x57\x50\x50\x53\x69\x43\x6f\x73','\x57\x37\x46\x63\x4f\x72\x5a\x64\x49\x71','\x69\x63\x57\x7a\x77\x72\x47\x41\x61\x43\x6b\x4d','\x65\x30\x6a\x32\x6b\x43\x6b\x56','\x57\x52\x6c\x64\x4b\x47\x56\x64\x4d\x71','\x57\x34\x53\x64\x57\x36\x46\x63\x54\x65\x37\x63\x4a\x43\x6f\x6e\x57\x52\x47','\x57\x52\x4f\x45\x57\x52\x50\x62','\x57\x34\x30\x65\x57\x36\x46\x63\x4f\x76\x38','\x65\x4a\x7a\x6b\x57\x4f\x33\x64\x54\x48\x61\x45\x57\x52\x75','\x75\x4e\x58\x50\x57\x4f\x47\x73\x41\x6d\x6f\x30\x57\x37\x65','\x57\x36\x39\x6e\x57\x37\x44\x4f\x67\x68\x50\x38\x57\x34\x43','\x6f\x73\x33\x64\x48\x6d\x6b\x59\x57\x50\x43','\x57\x34\x6a\x71\x57\x36\x35\x51','\x63\x38\x6f\x38\x57\x51\x43\x32\x7a\x4e\x64\x63\x4b\x53\x6f\x75','\x67\x57\x30\x58\x44\x74\x6d\x72\x6a\x38\x6b\x69','\x68\x33\x56\x64\x47\x43\x6b\x62\x57\x37\x4b','\x57\x37\x53\x46\x57\x37\x70\x63\x51\x66\x68\x63\x56\x6d\x6f\x4a\x57\x51\x75','\x78\x53\x6b\x75\x57\x50\x6c\x64\x4d\x57','\x78\x38\x6f\x71\x57\x37\x33\x63\x4f\x61','\x57\x34\x70\x63\x53\x6d\x6f\x6a\x71\x43\x6b\x6d\x67\x43\x6f\x31','\x57\x37\x74\x63\x4f\x61\x52\x64\x47\x47\x52\x63\x54\x4d\x79','\x57\x50\x72\x2f\x57\x51\x64\x64\x54\x66\x37\x63\x47\x6d\x6f\x7a\x73\x47','\x57\x52\x31\x6c\x57\x50\x33\x64\x4a\x4d\x74\x63\x4f\x43\x6f\x58\x46\x57','\x57\x35\x2f\x63\x51\x6d\x6f\x34\x65\x6d\x6f\x31','\x57\x50\x4c\x7a\x57\x52\x6c\x64\x4d\x62\x6c\x63\x51\x72\x30\x6b','\x57\x35\x6d\x71\x57\x50\x78\x64\x53\x62\x56\x63\x54\x38\x6b\x4c\x57\x52\x47','\x75\x78\x57\x34\x57\x51\x71\x66\x57\x51\x53\x64\x57\x36\x4b','\x57\x37\x47\x54\x57\x34\x57\x33','\x61\x33\x50\x66','\x75\x38\x6f\x76\x6f\x43\x6f\x63\x57\x50\x30\x67\x43\x31\x75','\x61\x53\x6b\x41\x57\x36\x56\x63\x56\x38\x6b\x62\x57\x50\x52\x64\x50\x4c\x53','\x46\x76\x4f\x37\x68\x53\x6b\x61\x67\x6d\x6b\x62\x57\x34\x65','\x57\x36\x34\x57\x57\x34\x4b\x47\x57\x4f\x58\x46\x69\x43\x6f\x76','\x67\x43\x6f\x31\x57\x51\x79\x31\x41\x77\x46\x63\x4b\x61','\x77\x43\x6b\x7a\x57\x4f\x70\x64\x4a\x63\x6c\x63\x4a\x43\x6f\x42\x57\x52\x65','\x71\x67\x4f\x49','\x77\x68\x65\x63\x6c\x38\x6b\x52\x46\x43\x6f\x53\x57\x52\x43','\x57\x4f\x52\x64\x4c\x61\x52\x64\x4b\x6d\x6b\x4c\x43\x38\x6f\x58\x57\x51\x53','\x57\x50\x6e\x4f\x57\x52\x74\x64\x51\x61','\x57\x35\x4a\x64\x52\x6d\x6f\x55\x71\x6d\x6f\x72\x74\x61\x42\x64\x4f\x61','\x68\x43\x6f\x33\x57\x52\x57','\x57\x35\x4b\x78\x57\x34\x53\x77\x57\x50\x38\x77\x57\x52\x79\x47','\x46\x64\x58\x62\x57\x35\x33\x63\x55\x57','\x57\x51\x7a\x75\x6a\x64\x78\x63\x54\x30\x61\x46\x57\x34\x61','\x72\x4e\x37\x64\x47\x47','\x6b\x49\x6d\x66\x71\x64\x6d\x53\x65\x71','\x62\x43\x6b\x6c\x43\x64\x4b\x57\x57\x52\x6d','\x57\x51\x56\x64\x54\x49\x48\x52\x79\x57','\x57\x4f\x4e\x63\x4f\x5a\x79\x45\x57\x35\x2f\x63\x51\x43\x6b\x46\x57\x35\x43','\x64\x43\x6b\x49\x57\x37\x5a\x64\x4c\x47','\x57\x4f\x72\x55\x66\x61\x64\x63\x4a\x4d\x53','\x57\x34\x5a\x63\x52\x53\x6b\x64\x57\x4f\x69\x7a','\x57\x4f\x58\x35\x61\x61\x64\x63\x4a\x67\x43\x6a\x57\x36\x69','\x57\x37\x53\x46\x57\x37\x70\x63\x51\x66\x68\x63\x4a\x43\x6f\x6f\x57\x51\x6d','\x46\x57\x5a\x64\x4a\x72\x37\x63\x53\x71','\x77\x38\x6b\x53\x76\x47\x57\x55\x57\x52\x61\x6d\x78\x61','\x76\x78\x43\x50\x6f\x53\x6b\x51\x6e\x43\x6b\x53\x57\x36\x4f','\x57\x51\x69\x70\x57\x51\x7a\x42\x64\x48\x47','\x57\x37\x56\x63\x51\x48\x33\x64\x49\x61','\x57\x37\x46\x64\x4e\x6d\x6f\x68\x45\x6d\x6f\x77\x7a\x5a\x68\x64\x47\x57','\x57\x51\x31\x56\x57\x50\x4e\x64\x56\x59\x64\x63\x47\x57\x6d\x51','\x66\x63\x54\x6e\x57\x4f\x5a\x64\x53\x61','\x57\x36\x35\x6b\x57\x36\x7a\x2f','\x73\x65\x72\x6a\x57\x51\x4f\x42\x72\x38\x6f\x76\x57\x34\x65','\x63\x49\x30\x43\x71\x48\x47','\x68\x43\x6b\x71\x57\x37\x5a\x63\x51\x53\x6b\x63','\x6f\x53\x6b\x76\x57\x34\x68\x64\x52\x6d\x6f\x67\x70\x38\x6f\x43\x45\x61','\x57\x36\x46\x64\x4e\x6d\x6f\x70\x7a\x61','\x57\x34\x6c\x63\x4c\x43\x6f\x53','\x6a\x30\x4e\x64\x55\x6d\x6b\x35\x57\x35\x37\x63\x53\x63\x44\x5a','\x46\x65\x39\x69\x57\x52\x43','\x57\x50\x78\x63\x56\x63\x53','\x57\x34\x38\x71\x57\x34\x57','\x57\x50\x56\x64\x49\x72\x46\x64\x4b\x38\x6b\x69','\x73\x43\x6b\x31\x57\x4f\x76\x59','\x57\x37\x4a\x63\x52\x61\x4e\x64\x4e\x71\x52\x63\x50\x77\x75\x37','\x72\x6d\x6f\x72\x70\x6d\x6f\x45\x57\x50\x43\x42\x77\x68\x34','\x67\x5a\x70\x63\x4b\x61','\x79\x30\x76\x6e\x57\x51\x65\x51','\x57\x35\x46\x63\x4a\x53\x6f\x34\x63\x53\x6f\x50\x57\x37\x4c\x41\x57\x52\x65','\x57\x36\x61\x76\x57\x36\x70\x63\x51\x4e\x65','\x57\x34\x68\x64\x4b\x53\x6f\x6b\x42\x71','\x70\x64\x6c\x63\x49\x68\x68\x64\x4b\x47\x31\x36','\x62\x63\x78\x63\x48\x4d\x70\x64\x4e\x48\x54\x53\x57\x52\x69','\x57\x37\x30\x48\x57\x34\x4e\x63\x49\x33\x56\x63\x52\x53\x6f\x66\x57\x4f\x65','\x63\x6d\x6f\x73\x57\x36\x52\x63\x52\x53\x6b\x41\x57\x50\x68\x64\x55\x76\x43','\x57\x50\x47\x34\x57\x4f\x54\x4d\x69\x74\x42\x63\x52\x66\x75','\x57\x4f\x6e\x45\x66\x71','\x65\x77\x6c\x63\x4b\x53\x6b\x47\x57\x35\x74\x64\x4e\x61','\x57\x4f\x58\x65\x57\x51\x37\x64\x4c\x61\x64\x63\x52\x61','\x46\x38\x6f\x71\x57\x37\x56\x63\x51\x43\x6f\x34\x43\x71','\x6e\x61\x39\x57\x57\x51\x2f\x64\x4c\x61\x65\x4a\x57\x4f\x65','\x61\x33\x56\x64\x4f\x43\x6b\x75\x57\x36\x37\x63\x49\x61\x4f','\x6a\x30\x68\x64\x50\x61','\x57\x36\x78\x63\x50\x38\x6f\x61\x71\x38\x6b\x4e','\x76\x32\x61\x79\x6f\x53\x6b\x51\x6a\x53\x6b\x33\x57\x37\x30','\x6e\x38\x6f\x79\x57\x34\x31\x61\x6e\x49\x34\x50\x6b\x57','\x57\x50\x78\x63\x49\x6d\x6f\x42\x6a\x74\x74\x63\x53\x38\x6f\x47','\x57\x36\x68\x63\x54\x6d\x6b\x4d\x71\x6d\x6b\x47\x71\x47','\x6b\x43\x6f\x43\x57\x34\x31\x73\x6a\x57','\x41\x73\x4c\x67\x57\x37\x57','\x75\x6d\x6b\x2f\x57\x50\x4c\x4a\x57\x37\x34','\x57\x34\x56\x64\x53\x43\x6b\x64\x57\x36\x76\x79\x6f\x38\x6f\x6d\x57\x35\x65','\x57\x35\x58\x78\x57\x36\x31\x57\x67\x4c\x58\x47\x57\x34\x65','\x57\x36\x33\x63\x4b\x6d\x6b\x6f\x76\x47','\x73\x6d\x6b\x35\x72\x61\x57\x50\x57\x51\x43\x69\x71\x47','\x67\x53\x6f\x59\x68\x75\x6d\x6a','\x7a\x53\x6b\x48\x57\x51\x2f\x64\x4f\x71\x6c\x63\x52\x6d\x6f\x6e\x57\x50\x53','\x46\x43\x6f\x43\x57\x51\x46\x63\x52\x38\x6f\x36\x42\x43\x6f\x6a\x71\x61','\x77\x38\x6f\x71\x57\x36\x64\x63\x50\x6d\x6f\x79\x79\x38\x6f\x77\x42\x47','\x57\x50\x37\x63\x56\x63\x65\x74','\x57\x34\x6a\x6e\x57\x4f\x4f\x59','\x57\x34\x71\x78\x57\x34\x38\x43','\x57\x4f\x5a\x64\x4e\x48\x42\x64\x49\x43\x6b\x77\x44\x71','\x57\x4f\x33\x64\x4a\x58\x46\x64\x4c\x43\x6b\x75\x7a\x47','\x57\x52\x58\x73\x6d\x73\x6c\x63\x50\x57','\x57\x34\x47\x74\x57\x34\x53\x75\x57\x52\x6d\x66\x57\x52\x79\x4e','\x67\x4a\x74\x63\x49\x67\x68\x64\x4b\x48\x53','\x73\x4e\x37\x64\x47\x43\x6b\x38\x57\x50\x54\x51\x57\x52\x57\x53','\x63\x43\x6b\x73\x41\x59\x4f\x55','\x75\x32\x54\x72\x57\x37\x68\x63\x51\x53\x6f\x4e\x7a\x43\x6b\x68','\x65\x49\x68\x63\x48\x38\x6f\x36\x57\x35\x43\x66\x57\x37\x34\x61\x6b\x65\x62\x53\x41\x43\x6b\x41','\x73\x43\x6b\x49\x57\x50\x72\x52','\x62\x67\x66\x78\x57\x50\x33\x63\x54\x53\x6f\x6f\x67\x71','\x66\x43\x6b\x6e\x57\x37\x4e\x63\x55\x38\x6b\x6c','\x57\x4f\x58\x43\x57\x52\x78\x64\x4b\x47\x71','\x7a\x65\x7a\x70\x57\x51\x43\x48','\x57\x36\x33\x63\x4d\x43\x6b\x37\x57\x52\x6d\x47\x57\x51\x6e\x30\x73\x47','\x57\x35\x38\x6d\x57\x37\x57\x44','\x45\x72\x68\x64\x4b\x71\x78\x63\x50\x53\x6b\x43\x78\x47\x57','\x57\x35\x43\x68\x57\x36\x70\x63\x51\x68\x56\x63\x54\x38\x6f\x6b\x57\x51\x6d','\x6c\x43\x6b\x37\x75\x61','\x72\x78\x4e\x64\x4e\x38\x6b\x47\x57\x50\x58\x44\x57\x4f\x43\x31','\x6b\x74\x64\x64\x48\x59\x30\x6c\x79\x38\x6b\x62\x67\x47','\x68\x49\x4c\x41\x57\x4f\x33\x64\x4f\x59\x30','\x57\x37\x64\x64\x47\x43\x6f\x66\x42\x43\x6f\x4d\x7a\x63\x42\x64\x4b\x47','\x46\x43\x6f\x45\x57\x36\x78\x63\x52\x71','\x42\x38\x6b\x42\x57\x4f\x46\x64\x4b\x63\x69','\x57\x4f\x54\x76\x57\x51\x74\x64\x48\x71','\x76\x4d\x53\x36','\x62\x43\x6b\x74\x57\x36\x57','\x57\x35\x68\x64\x51\x38\x6b\x62\x57\x37\x31\x79\x6c\x6d\x6f\x51\x57\x34\x30','\x41\x62\x56\x64\x4a\x61\x68\x63\x52\x6d\x6b\x43\x77\x75\x71','\x6a\x4a\x68\x64\x50\x53\x6b\x68','\x57\x34\x78\x63\x54\x38\x6b\x4e\x46\x6d\x6b\x68\x45\x73\x2f\x63\x51\x61','\x61\x64\x4a\x63\x48\x4e\x4e\x64\x51\x61\x50\x36\x57\x51\x75','\x57\x36\x7a\x63\x70\x59\x4a\x63\x53\x4c\x47\x4c\x57\x34\x61','\x57\x35\x38\x6b\x57\x34\x79\x44','\x66\x6d\x6f\x33\x6a\x66\x4f\x53','\x57\x37\x31\x7a\x57\x50\x61\x55','\x45\x4e\x35\x75\x57\x52\x65\x51\x74\x53\x6f\x68\x57\x35\x4f','\x57\x34\x34\x6c\x57\x36\x53\x72\x57\x51\x54\x55\x62\x38\x6f\x52','\x62\x4a\x4a\x63\x4e\x67\x68\x64\x4b\x47\x31\x77\x57\x51\x79','\x57\x51\x54\x6f\x6e\x64\x57','\x57\x51\x4a\x64\x53\x4a\x44\x2b\x46\x53\x6f\x4d\x6b\x6d\x6f\x5a','\x73\x53\x6b\x74\x43\x74\x4f\x58\x57\x36\x46\x64\x4c\x33\x69','\x46\x58\x70\x64\x4e\x48\x2f\x63\x54\x38\x6b\x42\x73\x78\x75','\x57\x52\x47\x76\x57\x51\x72\x68\x66\x63\x64\x63\x4c\x67\x38','\x62\x67\x56\x64\x47\x43\x6b\x73\x57\x37\x4e\x63\x4a\x71','\x57\x36\x78\x63\x51\x53\x6b\x65\x75\x43\x6b\x57','\x57\x37\x52\x64\x4e\x43\x6f\x33\x43\x38\x6f\x4f\x43\x63\x79','\x57\x34\x4f\x6a\x57\x34\x75\x41\x57\x4f\x30\x6b','\x57\x52\x33\x64\x54\x4a\x7a\x5a\x43\x53\x6f\x5a\x69\x53\x6f\x37','\x57\x34\x56\x63\x4f\x38\x6b\x6b\x57\x50\x43\x69','\x67\x43\x6b\x72\x57\x37\x5a\x63\x51\x53\x6b\x77','\x42\x66\x43\x6e\x57\x50\x79\x77\x57\x4f\x6d\x53\x57\x35\x79','\x57\x50\x35\x70\x66\x74\x79\x63\x78\x6d\x6b\x46\x77\x47','\x57\x52\x50\x76\x69\x49\x64\x63\x4f\x31\x4c\x47\x57\x35\x43','\x57\x36\x4c\x5a\x57\x34\x31\x6c\x6d\x4d\x48\x41\x57\x36\x6d','\x57\x52\x37\x64\x52\x59\x34','\x57\x51\x75\x6a\x57\x52\x76\x43\x65\x57\x2f\x63\x4a\x33\x47','\x65\x59\x4a\x64\x54\x38\x6b\x6d','\x6d\x5a\x68\x64\x4a\x59\x30\x68','\x57\x34\x33\x63\x50\x62\x64\x64\x4e\x73\x4e\x63\x51\x68\x43\x58','\x57\x4f\x37\x64\x49\x71\x52\x64\x49\x53\x6b\x74\x7a\x43\x6f\x58\x57\x51\x4f','\x57\x36\x64\x64\x47\x38\x6f\x71\x44\x43\x6f\x37\x44\x49\x6c\x64\x4d\x57','\x57\x37\x56\x64\x48\x38\x6f\x6b\x79\x53\x6f\x44\x43\x49\x52\x64\x4d\x47','\x61\x73\x70\x63\x4a\x59\x30','\x71\x68\x43\x7a\x6b\x43\x6b\x58\x69\x38\x6b\x4d\x57\x36\x4f','\x76\x43\x6f\x46\x6a\x38\x6f\x42\x57\x51\x43\x68\x79\x4d\x71','\x57\x4f\x33\x63\x50\x49\x61\x79\x57\x35\x71','\x65\x78\x50\x71\x57\x4f\x43','\x79\x53\x6b\x4b\x57\x50\x6a\x54\x57\x37\x46\x63\x4d\x31\x30','\x67\x43\x6b\x42\x41\x73\x47\x52\x57\x52\x70\x64\x4b\x68\x34','\x6e\x61\x54\x47\x57\x52\x64\x64\x4c\x48\x79\x30\x57\x50\x38','\x57\x52\x5a\x64\x55\x49\x56\x63\x53\x38\x6f\x56\x68\x47','\x66\x77\x62\x56\x57\x4f\x64\x63\x51\x6d\x6f\x6f\x67\x65\x43','\x71\x6d\x6f\x42\x62\x43\x6f\x70\x57\x50\x71','\x76\x4d\x64\x64\x47\x53\x6b\x39\x57\x50\x31\x71\x57\x51\x4b\x55','\x57\x37\x5a\x63\x51\x53\x6b\x67\x57\x50\x4f\x39\x57\x4f\x50\x74\x7a\x71','\x71\x68\x5a\x64\x4b\x6d\x6b\x38\x57\x4f\x54\x71\x57\x36\x75\x47','\x67\x73\x2f\x64\x47\x73\x34\x68','\x57\x4f\x34\x32\x57\x50\x76\x51\x70\x5a\x33\x63\x55\x76\x34','\x57\x35\x79\x64\x57\x36\x2f\x63\x50\x77\x37\x63\x4e\x38\x6f\x5a\x57\x52\x30','\x57\x4f\x6e\x49\x57\x51\x70\x64\x4f\x76\x2f\x63\x4e\x43\x6f\x64\x77\x71','\x57\x50\x58\x43\x57\x52\x70\x64\x4b\x47\x4f','\x57\x4f\x6c\x64\x4b\x62\x33\x63\x4a\x43\x6f\x65\x69\x4d\x5a\x63\x4d\x61','\x67\x53\x6f\x5a\x6c\x4b\x79','\x57\x35\x78\x63\x52\x38\x6f\x2b\x64\x38\x6f\x59\x57\x36\x35\x4b\x57\x52\x65','\x66\x38\x6f\x33\x57\x50\x34\x4c\x41\x77\x46\x63\x4e\x47','\x74\x38\x6b\x2f\x57\x50\x66\x4a','\x57\x36\x61\x36\x57\x52\x78\x64\x48\x74\x46\x63\x48\x53\x6b\x64','\x57\x35\x56\x63\x56\x38\x6b\x44\x57\x50\x38\x77\x57\x50\x53','\x72\x49\x6e\x72\x57\x37\x42\x63\x51\x53\x6f\x50\x42\x47','\x66\x64\x6e\x71\x57\x50\x78\x64\x4c\x71','\x74\x38\x6b\x53\x72\x61\x47\x30\x57\x51\x57\x41\x73\x47','\x57\x50\x4e\x63\x4f\x74\x7a\x66\x57\x34\x52\x63\x4f\x38\x6b\x72\x57\x35\x30','\x61\x43\x6f\x4b\x6f\x65\x6d\x52\x57\x37\x2f\x64\x4b\x58\x6d','\x57\x37\x5a\x63\x50\x43\x6b\x6f\x71\x43\x6b\x4f\x77\x62\x68\x63\x4b\x71','\x78\x53\x6b\x63\x57\x4f\x4e\x64\x4d\x5a\x47','\x57\x34\x4a\x63\x47\x53\x6b\x72\x45\x43\x6b\x65\x44\x61\x58\x78','\x57\x52\x56\x64\x52\x73\x52\x64\x53\x43\x6b\x37\x75\x43\x6f\x6c\x57\x50\x43','\x57\x35\x68\x64\x53\x6d\x6b\x6e\x57\x36\x57','\x57\x36\x2f\x64\x56\x6d\x6b\x5a\x77\x38\x6b\x51\x78\x78\x75','\x66\x6d\x6f\x32\x57\x51\x30\x57\x42\x78\x79','\x65\x43\x6b\x6c\x57\x37\x68\x63\x4f\x6d\x6b\x61','\x57\x34\x6d\x72\x57\x34\x38\x77\x57\x50\x47\x59\x57\x52\x79\x35','\x57\x52\x50\x76\x6d\x74\x68\x63\x54\x30\x43','\x76\x33\x2f\x64\x56\x43\x6b\x4d\x57\x50\x48\x71\x57\x52\x4f\x61','\x57\x37\x4a\x63\x54\x43\x6f\x55\x62\x47','\x62\x6d\x6b\x6c\x57\x4f\x70\x64\x4c\x5a\x52\x63\x4d\x38\x6f\x4f','\x57\x36\x30\x30\x57\x52\x42\x64\x4c\x61','\x57\x35\x5a\x63\x49\x43\x6b\x63\x77\x71','\x57\x34\x70\x63\x53\x6d\x6b\x39\x77\x6d\x6b\x61\x74\x64\x31\x57','\x7a\x65\x4c\x68\x57\x51\x4f\x6c\x77\x38\x6f\x64\x57\x35\x57','\x57\x4f\x37\x63\x4d\x43\x6f\x42\x6e\x73\x74\x63\x53\x47','\x70\x74\x53\x7a\x73\x71','\x57\x36\x4c\x5a\x57\x34\x31\x6b\x6a\x78\x31\x78\x57\x36\x57','\x62\x32\x74\x63\x4b\x53\x6b\x4d\x57\x34\x47','\x6d\x43\x6b\x59\x57\x34\x46\x63\x47\x53\x6b\x56\x57\x51\x5a\x64\x49\x4e\x57','\x69\x74\x64\x64\x54\x38\x6b\x62\x57\x52\x4a\x64\x49\x6d\x6f\x35\x57\x50\x6d','\x75\x68\x68\x64\x48\x43\x6b\x47\x57\x4f\x62\x42\x57\x36\x75\x51','\x57\x37\x70\x63\x4f\x38\x6b\x37\x72\x6d\x6b\x31\x78\x5a\x58\x73','\x61\x38\x6b\x41\x57\x36\x56\x63\x56\x6d\x6b\x68\x57\x50\x56\x64\x55\x32\x65','\x44\x65\x76\x63\x57\x51\x65\x38','\x76\x4d\x4b\x7a\x6b\x6d\x6b\x6d\x69\x53\x6b\x37\x57\x36\x57','\x66\x73\x78\x63\x4d\x4e\x64\x64\x4b\x5a\x31\x4d\x57\x51\x71','\x74\x43\x6f\x76\x6a\x53\x6f\x71\x57\x4f\x57\x44','\x62\x4a\x6c\x63\x4d\x4d\x64\x64\x4d\x57\x53','\x6a\x43\x6b\x66\x57\x34\x52\x64\x53\x6d\x6f\x75\x6b\x53\x6f\x61\x42\x71','\x76\x6d\x6b\x2b\x57\x50\x35\x51\x57\x36\x46\x63\x4b\x75\x56\x64\x49\x61','\x68\x4d\x46\x64\x4a\x38\x6b\x6b\x57\x34\x70\x63\x49\x48\x6a\x41','\x62\x43\x6f\x35\x6f\x66\x4b\x44\x57\x36\x37\x64\x48\x71\x71','\x57\x36\x4f\x57\x57\x34\x43\x34\x57\x50\x7a\x6c\x6b\x38\x6f\x76','\x6e\x31\x48\x55','\x57\x36\x70\x63\x4f\x38\x6b\x31\x77\x53\x6b\x32\x73\x4a\x44\x53','\x57\x35\x64\x64\x56\x53\x6b\x78\x57\x35\x50\x7a\x6c\x43\x6f\x6d\x57\x34\x6d','\x57\x37\x6c\x63\x4f\x53\x6b\x4e\x67\x43\x6b\x33\x78\x59\x58\x53','\x57\x34\x4e\x63\x50\x61\x33\x64\x4d\x71','\x45\x61\x56\x64\x4d\x71','\x57\x36\x68\x64\x47\x43\x6f\x77\x42\x38\x6f\x51\x43\x4a\x46\x64\x4b\x57','\x43\x43\x6b\x47\x77\x72\x30','\x6d\x4a\x68\x64\x55\x4a\x47\x78\x79\x38\x6b\x64\x66\x57','\x70\x77\x69\x6b\x71\x57\x69\x58\x66\x6d\x6b\x47','\x72\x4d\x4a\x64\x4c\x6d\x6b\x51','\x75\x43\x6f\x63\x6c\x43\x6f\x62\x57\x50\x65\x41\x43\x4d\x71','\x6b\x49\x46\x64\x53\x38\x6b\x72\x57\x4f\x64\x64\x53\x53\x6f\x4a\x57\x50\x53','\x68\x53\x6b\x43\x57\x37\x4e\x63\x55\x38\x6b\x6c\x57\x50\x61','\x57\x35\x6c\x63\x4a\x6d\x6f\x6b\x6b\x68\x37\x63\x50\x53\x6f\x32\x57\x51\x71','\x61\x38\x6f\x5a\x6a\x31\x4b\x4a\x57\x37\x4a\x64\x4b\x57','\x57\x37\x2f\x63\x54\x6d\x6b\x31\x75\x6d\x6b\x47\x73\x63\x53','\x46\x68\x4e\x64\x4c\x71','\x78\x57\x44\x36\x57\x34\x33\x63\x56\x47','\x46\x43\x6f\x45\x57\x37\x5a\x63\x56\x6d\x6f\x57\x43\x6d\x6f\x58\x73\x47','\x57\x52\x65\x6d\x6d\x5a\x64\x63\x53\x65\x43\x56\x57\x34\x79','\x57\x37\x72\x7a\x57\x50\x61\x35\x57\x51\x46\x63\x55\x4a\x33\x64\x50\x71','\x57\x37\x42\x64\x4d\x38\x6f\x6d\x41\x6d\x6f\x51\x44\x4a\x61','\x73\x38\x6b\x62\x57\x4f\x37\x64\x4e\x64\x46\x63\x4e\x43\x6f\x4e','\x57\x34\x4a\x63\x4e\x6d\x6b\x76\x42\x6d\x6b\x41\x45\x61\x66\x6b','\x57\x37\x43\x53\x57\x51\x56\x64\x4c\x61','\x45\x38\x6f\x64\x57\x37\x5a\x63\x50\x53\x6f\x32\x79\x38\x6f\x41\x73\x71','\x57\x37\x75\x4d\x57\x35\x65','\x57\x52\x58\x79\x57\x50\x5a\x64\x4d\x68\x37\x63\x54\x53\x6f\x56\x43\x71','\x57\x52\x75\x45\x57\x52\x48\x67\x61\x71','\x57\x35\x35\x61\x57\x37\x66\x5a\x68\x30\x57','\x72\x38\x6b\x53\x57\x51\x4a\x63\x4d\x53\x6f\x30\x62\x6d\x6f\x51\x78\x61','\x6b\x43\x6b\x77\x43\x73\x43\x55\x57\x52\x74\x64\x52\x77\x38','\x77\x67\x71\x63\x61\x6d\x6b\x37\x6b\x6d\x6b\x55\x57\x36\x47','\x63\x38\x6f\x54\x57\x51\x53\x4a\x46\x78\x46\x63\x55\x6d\x6f\x79','\x76\x43\x6f\x6a\x6f\x6d\x6f\x73','\x57\x35\x75\x73\x57\x37\x6c\x63\x50\x31\x37\x63\x4e\x38\x6f\x55\x57\x52\x61','\x76\x6d\x6f\x64\x6b\x43\x6f\x71\x57\x50\x30','\x78\x59\x6e\x72\x57\x37\x65','\x62\x38\x6b\x56\x57\x36\x33\x64\x48\x43\x6f\x53\x68\x38\x6f\x72\x75\x61','\x77\x32\x61\x79\x68\x6d\x6b\x33\x6d\x53\x6b\x54\x57\x36\x57','\x6e\x30\x44\x74\x57\x52\x43\x57\x64\x43\x6f\x69\x57\x34\x65','\x78\x5a\x39\x73\x57\x36\x61','\x57\x35\x35\x61\x57\x37\x76\x30\x67\x4b\x58\x47\x57\x36\x57','\x78\x38\x6f\x31\x6e\x4c\x53\x48\x57\x37\x37\x64\x4d\x47\x30','\x6e\x43\x6b\x50\x57\x35\x46\x63\x47\x38\x6b\x34\x57\x52\x68\x64\x48\x32\x65','\x78\x30\x39\x68\x57\x51\x61\x48\x78\x38\x6f\x76','\x57\x34\x48\x78\x57\x36\x31\x32\x61\x31\x31\x48\x57\x36\x61','\x41\x53\x6f\x46\x57\x37\x38','\x57\x36\x4e\x63\x50\x61\x56\x64\x4b\x61\x42\x63\x4f\x47','\x57\x35\x37\x63\x52\x53\x6b\x62\x57\x4f\x69\x6c','\x41\x43\x6b\x4f\x57\x52\x33\x64\x52\x47\x74\x63\x53\x43\x6f\x41\x57\x50\x65','\x66\x38\x6f\x2f\x6f\x76\x57\x58\x57\x37\x70\x64\x51\x72\x6d','\x57\x4f\x39\x6e\x63\x74\x69\x61\x78\x6d\x6b\x41\x7a\x61','\x62\x67\x35\x71\x57\x4f\x64\x63\x53\x71','\x57\x35\x78\x63\x56\x53\x6b\x57\x74\x71','\x57\x34\x35\x6b\x57\x36\x7a\x2f\x6c\x65\x58\x33\x57\x34\x79','\x57\x34\x61\x39\x57\x51\x37\x64\x4e\x5a\x4e\x63\x4d\x38\x6b\x4a\x57\x4f\x38','\x57\x34\x70\x63\x56\x53\x6f\x6c\x77\x43\x6b\x32\x68\x53\x6f\x4c','\x6b\x38\x6b\x37\x57\x37\x78\x64\x4d\x71','\x6f\x76\x6e\x59','\x6c\x49\x46\x64\x4a\x59\x34\x68\x46\x38\x6b\x74','\x62\x43\x6b\x2f\x57\x36\x52\x64\x48\x53\x6f\x34\x64\x6d\x6f\x52','\x57\x50\x6e\x59\x57\x52\x79','\x65\x43\x6b\x6e\x57\x36\x57','\x57\x37\x68\x63\x55\x6d\x6b\x36\x75\x61','\x57\x35\x30\x78\x57\x34\x75\x6f\x57\x4f\x75\x63\x57\x52\x57\x47','\x57\x51\x6d\x45\x57\x51\x44\x63\x64\x58\x68\x63\x4b\x32\x38','\x63\x53\x6f\x2f\x57\x51\x79\x34\x46\x32\x68\x63\x4e\x38\x6f\x37','\x57\x4f\x76\x54\x68\x72\x52\x63\x4a\x77\x71\x66\x57\x37\x4f','\x57\x35\x30\x78\x57\x34\x75\x61\x57\x50\x75','\x57\x50\x44\x59\x57\x52\x37\x64\x53\x4b\x74\x63\x4d\x53\x6f\x46\x75\x47','\x57\x37\x56\x63\x4e\x6d\x6b\x6b\x71\x43\x6b\x38\x74\x57','\x57\x50\x2f\x64\x4d\x74\x78\x63\x53\x43\x6f\x75','\x62\x67\x70\x63\x4a\x53\x6b\x51\x57\x34\x37\x64\x4b\x4d\x37\x63\x4b\x61','\x57\x50\x42\x64\x4e\x47\x74\x64\x4d\x6d\x6b\x46\x43\x38\x6f\x4e','\x79\x53\x6f\x45\x57\x36\x33\x63\x52\x43\x6f\x35','\x57\x50\x54\x55\x63\x62\x5a\x63\x4e\x77\x61\x73\x57\x37\x75','\x6e\x38\x6f\x43\x57\x35\x6a\x65','\x57\x51\x64\x64\x52\x73\x52\x63\x4f\x53\x6f\x59\x65\x4c\x56\x63\x51\x57','\x46\x38\x6f\x65\x57\x37\x52\x63\x4f\x6d\x6f\x62\x7a\x38\x6f\x77\x77\x61','\x57\x51\x69\x70\x57\x52\x76\x61\x66\x64\x64\x63\x4c\x4d\x38','\x57\x50\x78\x64\x48\x58\x78\x63\x4b\x43\x6f\x76\x6a\x78\x46\x63\x4a\x57','\x79\x32\x71\x34\x57\x51\x4b','\x57\x51\x48\x78\x65\x59\x57\x42\x45\x38\x6b\x68\x71\x57','\x44\x53\x6f\x45\x57\x35\x62\x6d\x6d\x49\x43\x70\x6d\x61','\x6a\x63\x43\x44\x72\x61\x6d\x48','\x77\x77\x53\x67\x6b\x53\x6b\x53\x67\x6d\x6b\x50\x57\x36\x53','\x78\x38\x6b\x4d\x75\x57\x65\x65\x57\x52\x79\x42\x77\x47','\x66\x67\x50\x6e\x57\x4f\x5a\x63\x55\x47','\x57\x4f\x4a\x64\x4d\x63\x37\x64\x55\x38\x6b\x72','\x71\x4d\x4f\x64\x6b\x38\x6b\x39','\x57\x34\x54\x43\x63\x73\x57\x65\x77\x6d\x6b\x78\x77\x71','\x57\x52\x31\x79\x69\x63\x61','\x57\x4f\x50\x61\x57\x51\x2f\x64\x48\x72\x70\x63\x50\x63\x34\x63','\x65\x43\x6f\x33\x57\x51\x4b\x37\x46\x77\x64\x63\x4e\x53\x6f\x65','\x74\x53\x6b\x4b\x57\x50\x58\x30\x57\x36\x42\x63\x55\x4c\x4a\x64\x4e\x47','\x57\x51\x6e\x31\x66\x62\x6d\x63','\x57\x52\x68\x63\x51\x62\x64\x64\x47\x48\x4a\x63\x55\x67\x30\x5a','\x62\x6d\x6b\x41\x57\x34\x46\x63\x51\x38\x6b\x6c\x57\x4f\x64\x64\x54\x66\x43','\x75\x38\x6b\x4b\x57\x50\x48\x4f\x57\x36\x42\x63\x4f\x75\x68\x64\x4b\x61','\x57\x4f\x54\x39\x57\x52\x4e\x64\x48\x71\x64\x63\x50\x73\x34\x42','\x57\x36\x46\x64\x4c\x53\x6f\x71\x43\x43\x6f\x4d\x46\x74\x64\x64\x4b\x57','\x57\x4f\x76\x42\x61\x5a\x4f','\x57\x52\x47\x69\x57\x50\x6a\x42\x64\x48\x42\x63\x4c\x67\x38','\x57\x4f\x58\x33\x68\x57\x4a\x63\x47\x32\x71\x46\x57\x37\x53','\x57\x36\x68\x63\x48\x38\x6b\x66','\x72\x59\x4c\x66\x57\x36\x6c\x63\x52\x53\x6f\x38','\x57\x37\x6c\x64\x56\x53\x6b\x75\x57\x36\x65','\x62\x43\x6b\x6d\x57\x37\x33\x63\x56\x71','\x72\x6d\x6f\x67\x6b\x43\x6f\x42\x57\x51\x43\x77\x41\x67\x69','\x57\x50\x68\x64\x4c\x74\x68\x64\x4a\x53\x6b\x42\x79\x53\x6f\x58','\x57\x35\x38\x6b\x57\x35\x38\x6d\x57\x4f\x4b','\x6d\x6d\x6f\x74\x57\x34\x39\x75\x6e\x48\x71\x45\x6b\x57','\x46\x4a\x6c\x64\x4c\x48\x2f\x63\x50\x53\x6b\x58\x72\x76\x71','\x57\x36\x42\x64\x48\x38\x6f\x63\x44\x43\x6f\x38\x79\x61','\x6d\x75\x35\x5a\x66\x53\x6b\x5a','\x71\x38\x6b\x64\x57\x4f\x42\x64\x4d\x59\x34','\x6a\x74\x48\x77\x57\x4f\x38','\x79\x38\x6f\x79\x57\x36\x74\x63\x4f\x43\x6f\x48\x43\x71','\x68\x32\x42\x64\x47\x38\x6b\x68\x57\x36\x4a\x63\x4a\x62\x43','\x57\x52\x69\x78\x57\x52\x76\x62\x65\x58\x42\x63\x48\x4d\x6d','\x57\x35\x71\x79\x57\x36\x78\x63\x50\x30\x37\x63\x4c\x38\x6f\x31\x57\x52\x38','\x57\x34\x53\x64\x57\x37\x74\x63\x52\x31\x74\x63\x4d\x71','\x57\x34\x57\x62\x57\x34\x53\x6d\x57\x4f\x30','\x57\x36\x42\x63\x4f\x6d\x6b\x6e\x76\x38\x6b\x30','\x71\x53\x6f\x34\x57\x34\x30','\x6d\x5a\x56\x64\x52\x6d\x6b\x73\x57\x50\x33\x64\x49\x43\x6f\x59\x57\x4f\x79','\x57\x50\x48\x74\x64\x59\x65\x76','\x66\x4e\x4e\x63\x4a\x38\x6b\x4c\x57\x36\x78\x64\x4d\x67\x64\x63\x4b\x47','\x45\x62\x2f\x64\x4a\x62\x74\x63\x4c\x53\x6b\x61\x72\x47','\x66\x43\x6b\x6e\x57\x36\x52\x63\x4f\x6d\x6b\x43','\x57\x50\x39\x67\x66\x49\x43','\x79\x53\x6f\x71\x57\x37\x4b','\x62\x38\x6b\x46\x44\x61','\x71\x33\x65\x65\x6e\x53\x6b\x32\x69\x6d\x6b\x51\x57\x37\x34','\x57\x51\x58\x74\x69\x49\x52\x63\x53\x61','\x57\x4f\x6e\x5a\x57\x52\x78\x64\x54\x72\x64\x63\x4b\x6d\x6f\x79\x78\x71','\x57\x52\x30\x45\x57\x52\x50\x76\x66\x62\x43','\x74\x53\x6b\x31\x57\x50\x62\x4e\x57\x37\x5a\x63\x47\x75\x46\x64\x4d\x61','\x62\x32\x46\x64\x48\x6d\x6b\x64\x57\x37\x61','\x68\x43\x6f\x34\x57\x52\x4b\x34\x7a\x47','\x6f\x6d\x6f\x76\x63\x67\x65\x64\x57\x35\x6c\x64\x55\x4a\x34','\x57\x34\x71\x77\x57\x36\x53\x6b\x57\x50\x34\x68\x57\x51\x61','\x7a\x75\x39\x76\x57\x52\x71\x52\x71\x38\x6f\x76\x57\x34\x53','\x76\x32\x4f\x49\x57\x51\x71','\x69\x4a\x52\x64\x53\x6d\x6b\x6e\x57\x50\x70\x64\x47\x57','\x57\x52\x4f\x45\x57\x51\x31\x62','\x73\x53\x6f\x4e\x57\x34\x42\x63\x48\x43\x6f\x75\x75\x53\x6f\x58\x45\x47','\x6e\x77\x56\x64\x47\x43\x6b\x6b\x57\x37\x61','\x57\x36\x47\x4e\x57\x35\x53\x48\x57\x50\x6e\x7a\x6b\x57','\x57\x4f\x6a\x6c\x61\x59\x38','\x57\x37\x74\x63\x51\x48\x33\x64\x4c\x61\x46\x63\x4b\x67\x61\x47','\x57\x36\x37\x63\x49\x43\x6b\x63\x77\x43\x6b\x53\x77\x61','\x57\x34\x65\x6b\x57\x34\x30\x46\x57\x4f\x4b\x75','\x57\x50\x33\x64\x4e\x48\x33\x63\x49\x38\x6f\x45\x69\x68\x56\x63\x4c\x57','\x6e\x31\x62\x59\x68\x43\x6b\x51\x70\x71','\x68\x4e\x52\x64\x49\x43\x6b\x6c','\x45\x6d\x6b\x46\x45\x64\x71\x6e\x57\x4f\x43\x37\x43\x61','\x57\x35\x44\x5a\x57\x51\x30\x6f\x57\x4f\x68\x63\x4c\x48\x70\x64\x48\x47','\x63\x78\x70\x63\x4d\x43\x6b\x36','\x57\x52\x43\x73\x57\x52\x50\x42\x65\x58\x43','\x67\x4e\x52\x64\x4a\x38\x6b\x71\x57\x37\x78\x63\x4a\x72\x7a\x65','\x57\x35\x57\x32\x57\x52\x52\x64\x4e\x74\x34','\x57\x37\x4f\x48\x57\x52\x37\x64\x47\x47','\x57\x35\x56\x63\x50\x38\x6b\x67\x57\x50\x75\x44','\x75\x6d\x6b\x44\x72\x71\x30\x31\x57\x51\x65\x69\x77\x57','\x6b\x38\x6b\x31\x57\x37\x46\x64\x47\x43\x6f\x38\x62\x43\x6f\x36','\x63\x77\x4e\x64\x4b\x6d\x6b\x73\x57\x36\x4e\x63\x4d\x58\x7a\x4b','\x57\x34\x79\x6b\x57\x4f\x56\x64\x4f\x58\x33\x63\x56\x53\x6b\x2b\x57\x52\x4b','\x57\x35\x52\x63\x52\x53\x6b\x43\x57\x4f\x79\x78\x57\x50\x6a\x66\x42\x47','\x57\x50\x6c\x63\x4d\x6d\x6f\x6f\x6d\x73\x74\x63\x54\x43\x6f\x6d\x57\x51\x6d','\x6f\x6d\x6f\x74\x57\x35\x58\x65\x6c\x49\x43\x70\x69\x61','\x74\x33\x4e\x64\x4e\x6d\x6b\x47\x57\x50\x54\x67','\x57\x51\x65\x41\x57\x51\x7a\x62\x62\x71','\x66\x5a\x56\x63\x49\x67\x64\x64\x4b\x58\x4f','\x67\x38\x6f\x44\x57\x35\x56\x63\x4a\x77\x46\x64\x49\x53\x6f\x52\x57\x51\x53\x42\x68\x5a\x30\x46','\x57\x34\x30\x68\x57\x37\x78\x63\x53\x4b\x4a\x63\x4d\x38\x6f\x37\x57\x52\x57','\x74\x38\x6b\x2f\x57\x4f\x48\x59\x57\x37\x43','\x57\x34\x4c\x78\x57\x36\x72\x51\x68\x65\x39\x47\x57\x35\x43','\x7a\x75\x43\x69\x57\x51\x6d\x52\x71\x53\x6f\x62\x57\x34\x69','\x57\x4f\x66\x31\x57\x52\x2f\x64\x55\x31\x78\x63\x4b\x6d\x6f\x65\x68\x61','\x57\x34\x79\x64\x57\x50\x74\x64\x56\x71\x74\x63\x52\x43\x6b\x4c\x57\x51\x69','\x61\x68\x31\x65\x57\x50\x52\x63\x53\x53\x6f\x6f\x62\x68\x61','\x6a\x59\x5a\x64\x4f\x6d\x6b\x6c\x57\x50\x64\x64\x49\x6d\x6f\x4c','\x6c\x6d\x6f\x6f\x57\x35\x35\x67\x6a\x57\x79\x70\x6d\x61','\x57\x4f\x4e\x64\x47\x63\x62\x5a\x45\x61','\x57\x34\x56\x63\x4f\x38\x6b\x61\x57\x4f\x75\x44\x57\x50\x6a\x37\x7a\x61','\x44\x4c\x6d\x64\x57\x4f\x57\x69\x57\x50\x34\x59\x57\x35\x34','\x57\x37\x39\x6a\x57\x4f\x30\x50\x57\x52\x6c\x63\x54\x64\x43','\x6a\x6d\x6b\x77\x57\x35\x74\x64\x51\x53\x6f\x6e\x6f\x43\x6f\x70\x45\x47','\x57\x35\x64\x64\x55\x53\x6b\x74\x57\x37\x58\x62\x6b\x57','\x66\x32\x78\x63\x47\x43\x6b\x55\x57\x35\x38','\x45\x38\x6f\x75\x57\x37\x68\x63\x56\x61','\x6e\x63\x70\x64\x4d\x72\x4b\x77\x46\x38\x6b\x66\x66\x57','\x67\x43\x6f\x37\x57\x51\x79\x59\x42\x61','\x77\x43\x6b\x7a\x57\x4f\x70\x64\x49\x49\x70\x63\x4a\x71','\x57\x37\x5a\x63\x4d\x53\x6b\x63\x77\x61','\x57\x51\x50\x32\x6f\x71\x38\x2f\x46\x43\x6b\x37\x45\x57','\x64\x32\x42\x63\x4a\x6d\x6b\x53\x57\x34\x37\x64\x4b\x4d\x37\x63\x4b\x61','\x77\x63\x50\x6c\x57\x36\x42\x63\x52\x47','\x57\x52\x6d\x75\x57\x52\x62\x6c','\x57\x4f\x37\x64\x4d\x48\x46\x64\x4e\x43\x6b\x78\x43\x47','\x57\x37\x69\x30\x57\x34\x2f\x63\x4a\x78\x38','\x6c\x43\x6f\x73\x57\x37\x6e\x6f\x6e\x73\x34\x79\x62\x57','\x44\x53\x6f\x57\x57\x36\x37\x63\x48\x6d\x6f\x66','\x67\x6d\x6f\x34\x6d\x31\x61\x36','\x74\x33\x78\x64\x4e\x38\x6b\x55\x57\x50\x54\x44','\x57\x34\x4a\x63\x55\x38\x6f\x39\x6c\x6d\x6f\x5a\x57\x36\x48\x45\x57\x51\x71','\x57\x52\x68\x64\x55\x59\x74\x63\x4f\x6d\x6f\x36','\x71\x65\x2f\x64\x4e\x6d\x6b\x53\x57\x50\x58\x67\x57\x51\x4b\x4b','\x66\x38\x6f\x56\x57\x51\x38\x4c\x42\x4d\x4a\x63\x4c\x6d\x6f\x61','\x57\x4f\x34\x79\x57\x52\x76\x45\x64\x63\x64\x63\x4a\x33\x38','\x75\x53\x6f\x43\x69\x43\x6f\x75\x57\x50\x30','\x57\x36\x46\x63\x4b\x38\x6f\x38\x46\x6d\x6b\x4d','\x44\x53\x6f\x58\x61\x53\x6f\x45\x57\x51\x61','\x6e\x4a\x52\x64\x4f\x53\x6b\x64\x57\x50\x65','\x70\x38\x6f\x43\x57\x35\x6e\x6e\x69\x63\x4f\x6a\x6c\x57','\x57\x51\x37\x64\x50\x64\x54\x34\x44\x43\x6f\x46\x6a\x6d\x6f\x4b','\x6c\x43\x6f\x79\x57\x34\x44\x76','\x57\x36\x47\x77\x57\x37\x6c\x63\x52\x47','\x62\x71\x46\x64\x53\x72\x4b\x32\x78\x38\x6b\x4c\x6e\x57','\x57\x50\x78\x63\x4a\x6d\x6f\x6a','\x75\x53\x6b\x2f\x75\x47\x4f\x39\x57\x51\x34\x67\x77\x61','\x57\x50\x74\x63\x47\x38\x6f\x6b\x6e\x63\x78\x63\x4e\x53\x6f\x4e\x57\x51\x75','\x70\x6d\x6f\x74\x57\x34\x54\x74\x6b\x59\x34\x7a','\x63\x53\x6b\x65\x57\x50\x68\x63\x4e\x49\x74\x63\x4d\x38\x6f\x39\x57\x51\x30','\x57\x37\x56\x63\x4c\x38\x6f\x76\x6c\x6d\x6f\x63\x57\x35\x44\x36\x57\x4f\x53','\x57\x52\x6a\x47\x57\x50\x6c\x64\x50\x68\x4f','\x57\x36\x34\x54\x57\x36\x71\x48\x57\x4f\x48\x6b\x70\x6d\x6f\x4b','\x44\x33\x68\x64\x4d\x6d\x6b\x4c\x57\x51\x50\x64\x57\x51\x30\x54','\x45\x30\x39\x69\x57\x51\x6d\x57\x72\x71','\x43\x4e\x76\x70\x57\x51\x61','\x57\x50\x48\x6c\x62\x5a\x79\x66\x73\x47','\x57\x36\x78\x63\x48\x38\x6b\x70\x75\x6d\x6b\x4c','\x57\x34\x72\x73\x63\x73\x79\x76\x76\x43\x6b\x6e','\x6d\x73\x42\x64\x54\x53\x6b\x71\x57\x50\x68\x64\x4e\x38\x6f\x69\x57\x50\x69','\x57\x51\x6d\x38\x57\x51\x4a\x63\x4b\x73\x64\x63\x4a\x43\x6b\x67\x57\x4f\x47','\x63\x77\x74\x64\x47\x43\x6b\x76\x57\x36\x2f\x63\x47\x62\x76\x46','\x57\x34\x34\x62\x57\x36\x52\x63\x47\x4c\x4e\x64\x53\x78\x4b\x53\x57\x50\x6c\x64\x4a\x6d\x6f\x52\x57\x34\x35\x77','\x66\x32\x78\x63\x48\x43\x6b\x37\x57\x50\x46\x64\x4d\x4d\x42\x63\x4d\x57','\x57\x4f\x2f\x63\x47\x53\x6f\x70\x6e\x74\x71','\x57\x36\x61\x4f\x57\x34\x78\x63\x4a\x4e\x56\x63\x52\x6d\x6f\x6a','\x72\x38\x6b\x69\x57\x50\x68\x64\x4a\x74\x46\x63\x4d\x43\x6f\x50\x57\x4f\x43','\x57\x51\x39\x75\x70\x49\x42\x63\x54\x4c\x30\x56\x57\x35\x4f','\x46\x4c\x65\x4c','\x64\x77\x70\x63\x4c\x6d\x6b\x35\x57\x34\x2f\x64\x4a\x31\x37\x63\x49\x47','\x6a\x63\x6d\x72','\x61\x53\x6b\x45\x57\x36\x2f\x63\x4e\x6d\x6b\x41\x57\x4f\x42\x64\x53\x66\x38','\x6e\x71\x2f\x63\x54\x4c\x46\x64\x52\x49\x54\x6d\x57\x50\x6d','\x62\x53\x6f\x57\x57\x37\x35\x35\x68\x71\x34\x38\x61\x71','\x72\x53\x6b\x69\x57\x4f\x5a\x64\x4d\x73\x6c\x63\x4c\x47','\x75\x67\x74\x64\x47\x38\x6b\x47\x57\x4f\x66\x73','\x57\x52\x30\x75\x57\x52\x6e\x76\x62\x71\x30','\x65\x6d\x6b\x4f\x78\x47\x47\x33\x57\x51\x6d\x44\x73\x71','\x41\x38\x6f\x75\x57\x36\x78\x63\x56\x6d\x6f\x30','\x57\x50\x2f\x64\x49\x72\x42\x64\x4d\x43\x6b\x45\x71\x38\x6f\x37\x57\x52\x57','\x57\x37\x6c\x63\x4e\x53\x6f\x39\x44\x6d\x6b\x6d\x6a\x6d\x6f\x64\x43\x71','\x57\x34\x2f\x63\x54\x6d\x6f\x35\x63\x53\x6f\x33\x57\x36\x50\x75\x57\x52\x43','\x57\x34\x33\x63\x53\x38\x6b\x6b\x57\x50\x75','\x61\x4d\x33\x64\x47\x43\x6b\x63\x57\x37\x4e\x63\x4d\x57\x61','\x57\x50\x37\x63\x51\x4a\x65\x70\x57\x36\x68\x63\x51\x43\x6b\x71\x57\x35\x30','\x74\x6d\x6b\x79\x57\x4f\x5a\x64\x4e\x73\x6c\x63\x4c\x38\x6f\x4a\x57\x52\x79','\x57\x37\x4e\x63\x53\x53\x6b\x31\x71\x6d\x6b\x47\x78\x47','\x78\x53\x6b\x2f\x57\x50\x6e\x59\x57\x37\x70\x63\x4e\x65\x64\x64\x49\x61','\x7a\x6d\x6f\x4d\x62\x38\x6f\x36\x57\x52\x4b\x4c\x77\x66\x47','\x57\x37\x61\x36\x57\x52\x75','\x57\x52\x58\x73\x6e\x74\x43','\x57\x35\x56\x63\x56\x38\x6b\x6f\x57\x4f\x69\x6e\x57\x4f\x39\x31\x7a\x61','\x6d\x4a\x64\x64\x48\x59\x43','\x68\x43\x6f\x34\x57\x52\x34\x2b\x7a\x32\x52\x63\x50\x6d\x6f\x45','\x45\x57\x52\x64\x49\x58\x74\x63\x52\x53\x6b\x63\x78\x4c\x69','\x63\x43\x6b\x77\x41\x5a\x4f\x47\x57\x51\x4e\x64\x54\x68\x69','\x6a\x73\x33\x64\x47\x64\x57\x68\x46\x38\x6b\x74\x66\x57','\x6e\x73\x68\x64\x4a\x59\x71\x54\x45\x38\x6b\x66\x62\x61','\x57\x51\x74\x64\x53\x63\x52\x63\x55\x61','\x46\x43\x6f\x71\x57\x37\x37\x63\x4d\x38\x6f\x48\x43\x6d\x6f\x6c\x74\x71','\x57\x50\x4a\x63\x47\x6d\x6f\x42\x6c\x59\x78\x63\x51\x6d\x6f\x57\x57\x50\x34','\x64\x4e\x52\x64\x4a\x38\x6b\x77\x57\x36\x5a\x63\x4a\x62\x44\x36','\x78\x53\x6b\x42\x57\x37\x46\x63\x4f\x43\x6b\x6c','\x57\x36\x56\x63\x4c\x6d\x6b\x37\x57\x52\x43\x58\x57\x52\x62\x50\x72\x47','\x62\x6d\x6b\x71\x57\x37\x46\x63\x4f\x38\x6b\x58\x57\x50\x46\x64\x54\x66\x69','\x57\x34\x78\x63\x55\x38\x6b\x64\x57\x50\x6d\x6d\x57\x50\x76\x7a\x7a\x71','\x62\x43\x6b\x37\x57\x36\x4b','\x62\x74\x7a\x5a\x57\x4f\x5a\x64\x54\x73\x65\x64\x57\x50\x30','\x72\x43\x6b\x64\x57\x52\x42\x64\x4a\x64\x46\x63\x4e\x43\x6f\x50','\x6c\x59\x53\x68\x72\x72\x38\x54\x6a\x38\x6b\x53','\x57\x37\x42\x64\x4d\x38\x6f\x6d\x43\x53\x6f\x53\x46\x71\x37\x64\x4d\x71','\x73\x6d\x6b\x39\x75\x75\x61','\x57\x37\x6d\x53\x57\x34\x57\x52\x57\x4f\x44\x47\x6b\x61','\x70\x73\x30\x67\x71\x64\x6d\x4d\x66\x6d\x6b\x4c','\x61\x64\x4a\x63\x48\x4e\x4e\x64\x51\x62\x58\x4f\x57\x51\x57','\x57\x35\x4b\x6b\x57\x36\x79\x78\x57\x50\x53\x64\x57\x51\x53\x72','\x72\x4d\x53\x2f\x57\x52\x71\x35\x57\x52\x34\x63\x57\x37\x57','\x57\x36\x57\x4f\x57\x37\x75\x30\x57\x51\x75\x4f\x57\x50\x57\x6e','\x57\x36\x42\x63\x49\x43\x6b\x67\x75\x61','\x68\x43\x6b\x70\x57\x37\x74\x63\x51\x53\x6b\x41\x57\x50\x33\x64\x55\x4c\x61','\x6f\x53\x6f\x43\x57\x35\x58\x6a\x6a\x58\x71\x79\x69\x71','\x68\x32\x71\x67\x6e\x53\x6f\x33\x6a\x6d\x6b\x52\x57\x37\x4b','\x57\x37\x31\x7a\x57\x50\x4b\x59','\x62\x43\x6b\x70\x57\x36\x56\x63\x55\x38\x6b\x43\x57\x50\x68\x64\x54\x66\x6d','\x66\x67\x66\x61\x57\x4f\x37\x63\x51\x38\x6f\x6f\x64\x47','\x66\x73\x54\x71\x57\x50\x70\x64\x53\x49\x65\x76\x57\x50\x69','\x57\x34\x5a\x64\x50\x38\x6f\x4d\x75\x47','\x57\x36\x7a\x45\x57\x50\x43\x33','\x68\x4d\x33\x64\x4b\x38\x6b\x73','\x57\x51\x48\x74\x6e\x5a\x64\x63\x52\x31\x65\x55\x57\x34\x61','\x57\x35\x56\x63\x54\x53\x6f\x4d\x68\x43\x6f\x4d\x57\x37\x4c\x71','\x57\x52\x57\x75\x57\x52\x62\x78\x64\x61','\x74\x38\x6b\x4d\x71\x47\x57\x2b\x57\x52\x61\x53\x71\x71','\x75\x43\x6b\x53\x77\x72\x38\x56\x57\x51\x4f','\x68\x6d\x6b\x31\x57\x37\x42\x64\x4d\x43\x6f\x67\x63\x6d\x6f\x56\x76\x71','\x57\x37\x43\x57\x57\x51\x4a\x64\x48\x71','\x57\x50\x64\x63\x55\x49\x47\x64\x57\x35\x4e\x63\x56\x57','\x43\x72\x56\x64\x4b\x71\x69','\x57\x52\x61\x70\x57\x51\x62\x78\x64\x71\x2f\x63\x4c\x68\x4b','\x57\x50\x50\x69\x57\x52\x4e\x64\x4b\x47','\x57\x37\x6c\x63\x4f\x61\x61','\x70\x72\x76\x59\x57\x52\x5a\x64\x4c\x48\x79\x57\x57\x50\x30','\x57\x35\x37\x63\x55\x38\x6f\x2b\x68\x53\x6b\x39','\x57\x34\x2f\x64\x53\x6d\x6b\x65\x57\x36\x58\x62','\x57\x51\x72\x49\x6f\x63\x74\x63\x53\x65\x43','\x79\x38\x6f\x75\x57\x36\x46\x63\x52\x38\x6f\x48\x41\x47','\x75\x4d\x7a\x35','\x57\x50\x70\x63\x52\x6d\x6f\x79\x57\x52\x47\x76\x7a\x53\x6b\x43\x57\x37\x6d\x59\x65\x57\x6e\x73\x57\x50\x30','\x57\x35\x5a\x63\x49\x43\x6b\x63\x77\x43\x6b\x65\x78\x71\x4a\x63\x4f\x61','\x57\x35\x2f\x63\x54\x38\x6f\x4f\x67\x53\x6f\x4a\x57\x35\x4c\x75\x57\x51\x53','\x44\x61\x44\x71\x57\x51\x65\x32\x78\x53\x6f\x70\x57\x34\x65','\x57\x37\x52\x63\x56\x53\x6b\x57\x75\x43\x6b\x50\x73\x78\x43','\x57\x36\x38\x59\x57\x35\x53\x36\x57\x4f\x31\x6b\x6c\x38\x6f\x6b','\x57\x51\x70\x64\x51\x5a\x46\x63\x56\x43\x6f\x31\x65\x71','\x57\x52\x56\x64\x4c\x38\x6f\x67\x42\x43\x6f\x39\x43\x47','\x71\x53\x6f\x43\x6a\x38\x6f\x75\x57\x50\x6d','\x57\x52\x47\x76\x57\x52\x44\x45\x66\x72\x56\x63\x48\x78\x4b','\x44\x58\x56\x64\x49\x58\x4e\x63\x52\x6d\x6b\x77','\x76\x43\x6f\x46\x62\x6d\x6f\x79\x57\x4f\x38\x71\x44\x76\x71','\x6d\x6d\x6f\x74\x57\x35\x54\x65\x6f\x47\x71\x6d','\x57\x4f\x58\x46\x57\x52\x69','\x57\x36\x34\x51\x57\x35\x4f\x52\x57\x50\x35\x6c\x6b\x38\x6f\x64','\x6a\x63\x30\x6e\x73\x71\x61\x65\x66\x53\x6b\x39','\x57\x34\x4e\x63\x55\x6d\x6b\x61\x57\x50\x47','\x68\x43\x6b\x64\x57\x36\x70\x64\x4f\x6d\x6f\x57','\x57\x37\x5a\x63\x51\x53\x6b\x67\x57\x50\x4f','\x65\x4d\x62\x6e','\x66\x49\x53\x6e','\x74\x53\x6f\x66\x70\x6d\x6f\x68\x57\x4f\x30\x62','\x57\x52\x64\x63\x4f\x63\x71\x49\x57\x34\x38','\x76\x4d\x71\x2f\x57\x51\x34\x4e','\x77\x6d\x6b\x4f\x57\x50\x48\x4c','\x77\x4e\x79\x6e\x57\x52\x6d\x37\x57\x51\x38\x75','\x57\x37\x4e\x64\x54\x53\x6f\x4b\x71\x53\x6f\x6b','\x75\x73\x37\x64\x4c\x43\x6f\x36\x57\x4f\x4a\x63\x47\x4d\x42\x63\x49\x6d\x6f\x38\x57\x34\x57\x35\x57\x35\x34','\x57\x36\x46\x64\x49\x43\x6b\x56\x57\x34\x72\x53\x64\x38\x6f\x32\x57\x37\x69','\x64\x53\x6b\x42\x41\x64\x30\x4b','\x64\x4d\x66\x71\x57\x4f\x52\x63\x52\x61','\x57\x51\x48\x77\x61\x5a\x68\x63\x53\x66\x65\x48\x57\x35\x4b','\x63\x53\x6f\x38\x57\x52\x4b\x4e\x7a\x32\x52\x63\x49\x6d\x6f\x73','\x57\x37\x75\x50\x57\x34\x30\x47\x57\x4f\x57','\x57\x34\x6c\x64\x54\x38\x6f\x34\x67\x53\x6f\x32\x57\x36\x39\x45\x57\x52\x79','\x6b\x64\x79\x44\x73\x71\x65\x31\x61\x43\x6b\x77','\x74\x38\x6f\x74\x6d\x43\x6b\x41\x57\x50\x6d\x71\x46\x47','\x57\x35\x5a\x63\x52\x53\x6b\x43\x57\x4f\x69','\x57\x51\x75\x73\x57\x52\x66\x61','\x41\x62\x56\x64\x4a\x58\x33\x63\x4f\x53\x6b\x72\x74\x57','\x7a\x32\x71\x4c\x57\x51\x30\x6c\x57\x52\x43\x7a\x57\x36\x53','\x57\x34\x47\x44\x57\x34\x38\x42','\x72\x78\x4e\x64\x4e\x38\x6b\x47\x57\x50\x58\x44\x57\x50\x4f\x4d','\x57\x37\x5a\x64\x4e\x43\x6f\x67\x71\x53\x6f\x48\x43\x4a\x68\x64\x48\x71','\x57\x37\x6c\x63\x4f\x38\x6b\x4d\x77\x38\x6b\x33','\x57\x52\x68\x64\x52\x71\x6a\x32\x72\x47','\x57\x34\x4a\x63\x56\x38\x6b\x37\x77\x53\x6b\x41\x75\x63\x54\x58','\x57\x37\x33\x64\x54\x53\x6b\x65','\x74\x38\x6b\x46\x57\x50\x64\x64\x4b\x73\x71','\x75\x53\x6b\x4c\x57\x4f\x4c\x32\x57\x36\x46\x63\x47\x78\x68\x64\x4a\x57','\x57\x35\x68\x64\x55\x53\x6b\x74\x57\x37\x50\x65\x6d\x6d\x6f\x68\x57\x37\x30','\x57\x37\x6c\x63\x4f\x38\x6b\x4e\x67\x38\x6b\x49\x76\x74\x44\x35','\x57\x52\x4e\x63\x51\x6d\x6f\x4f\x68\x47\x6c\x63\x4c\x43\x6f\x62\x57\x4f\x38','\x57\x51\x6c\x64\x55\x4a\x68\x63\x50\x53\x6f\x49\x6e\x66\x68\x63\x56\x71','\x57\x4f\x37\x63\x56\x63\x4b\x70','\x6e\x65\x76\x35\x66\x6d\x6b\x2f\x70\x61','\x61\x4d\x62\x6f\x57\x50\x2f\x63\x53\x38\x6f\x6f\x68\x4d\x30','\x68\x73\x6d\x61\x71\x61','\x61\x73\x54\x71\x57\x50\x78\x64\x51\x59\x61\x75\x57\x51\x57','\x6b\x59\x46\x64\x4e\x74\x4b\x64\x41\x53\x6b\x66','\x57\x52\x68\x63\x4f\x43\x6f\x33\x68\x48\x37\x63\x4b\x43\x6f\x77\x57\x4f\x71','\x74\x33\x78\x64\x4b\x6d\x6b\x35\x57\x4f\x7a\x67\x57\x36\x79\x47','\x57\x35\x46\x63\x55\x38\x6f\x36','\x57\x37\x31\x61\x57\x50\x69\x37\x57\x52\x37\x63\x53\x47\x33\x64\x51\x47','\x64\x4b\x4e\x63\x49\x43\x6b\x54','\x57\x34\x78\x63\x56\x38\x6f\x72\x78\x38\x6b\x36\x66\x43\x6f\x49','\x77\x53\x6b\x6d\x57\x50\x64\x64\x49\x4a\x2f\x63\x4e\x38\x6f\x47\x57\x4f\x43','\x57\x37\x35\x6e\x57\x4f\x30\x55\x57\x50\x52\x63\x56\x74\x42\x64\x52\x47','\x6b\x65\x66\x4c\x61\x6d\x6b\x55','\x78\x67\x61\x79\x6f\x6d\x6b\x53\x6c\x57','\x74\x6d\x6f\x76\x70\x6d\x6f\x46\x57\x50\x43\x72','\x57\x51\x65\x41\x57\x51\x7a\x74\x64\x71\x57','\x57\x37\x2f\x63\x53\x62\x46\x64\x4b\x48\x2f\x63\x55\x67\x57\x36','\x57\x34\x78\x63\x4f\x38\x6f\x78\x71\x53\x6b\x48','\x73\x43\x6b\x4d\x77\x62\x71\x65\x57\x51\x65\x69\x71\x57','\x57\x35\x56\x63\x4f\x53\x6b\x69\x57\x50\x47\x7a\x57\x4f\x48\x64\x45\x71','\x72\x6d\x6b\x6a\x57\x4f\x46\x64\x48\x47','\x78\x38\x6b\x4d\x75\x57\x65','\x57\x50\x56\x63\x49\x6d\x6f\x42\x6e\x73\x74\x63\x53\x38\x6f\x32\x57\x52\x4b','\x57\x35\x4e\x63\x55\x38\x6f\x4b\x67\x38\x6f\x55\x57\x37\x35\x41\x57\x52\x65','\x57\x37\x42\x64\x4e\x38\x6f\x6d\x79\x53\x6f\x49','\x57\x50\x70\x63\x4f\x73\x57\x6e\x57\x34\x74\x63\x4f\x53\x6b\x46\x57\x35\x79','\x79\x43\x6b\x65\x57\x34\x7a\x69\x66\x62\x6d\x5a\x6e\x61','\x6b\x53\x6f\x38\x57\x52\x4b\x4e\x7a\x32\x52\x63\x49\x6d\x6f\x73','\x57\x36\x4e\x63\x47\x53\x6b\x57\x57\x51\x71\x39\x57\x51\x39\x4d\x72\x61','\x57\x4f\x50\x70\x64\x58\x30\x42\x78\x6d\x6b\x68','\x66\x4d\x74\x63\x49\x43\x6b\x4b','\x57\x34\x69\x71\x57\x35\x34\x69\x57\x50\x4b\x73','\x57\x36\x44\x61\x57\x4f\x4f','\x75\x32\x6c\x64\x4e\x53\x6b\x4b\x57\x50\x39\x62\x57\x50\x43\x4d','\x6b\x53\x6f\x73\x57\x35\x65','\x57\x35\x38\x61\x57\x35\x4b\x69\x57\x4f\x6d\x69\x57\x51\x4f\x33','\x57\x36\x4b\x55\x57\x34\x65\x54\x57\x50\x4f','\x57\x34\x57\x63\x57\x52\x4a\x64\x49\x5a\x78\x63\x51\x74\x34\x76','\x70\x53\x6f\x72\x57\x35\x62\x64\x69\x59\x43','\x64\x4e\x70\x63\x4a\x53\x6b\x55\x57\x34\x37\x64\x4b\x57','\x57\x50\x7a\x76\x70\x59\x37\x63\x50\x31\x4f\x5a','\x57\x37\x74\x63\x51\x48\x33\x64\x4c\x61\x43','\x71\x38\x6f\x39\x57\x34\x74\x63\x4c\x38\x6f\x41\x75\x53\x6f\x52\x79\x47','\x57\x50\x62\x45\x57\x4f\x4a\x64\x47\x57\x64\x63\x4f\x49\x4f','\x69\x73\x46\x64\x47\x59\x6d\x6d\x7a\x61','\x57\x35\x42\x63\x4f\x71\x56\x64\x4c\x74\x4f','\x57\x36\x33\x63\x48\x53\x6b\x44','\x57\x52\x43\x6f\x57\x52\x50\x72\x66\x62\x42\x63\x4a\x32\x71','\x57\x50\x4c\x49\x57\x52\x68\x64\x54\x76\x78\x63\x47\x43\x6f\x64','\x66\x43\x6b\x42\x57\x35\x56\x63\x4f\x6d\x6b\x61\x57\x4f\x64\x64\x53\x66\x61','\x57\x50\x42\x63\x49\x6d\x6f\x64\x6d\x47','\x57\x50\x57\x36\x57\x4f\x58\x54\x6a\x73\x4e\x63\x50\x75\x71','\x6c\x74\x4e\x64\x54\x53\x6b\x71\x57\x51\x56\x64\x4d\x43\x6f\x34\x57\x50\x38','\x65\x32\x50\x71\x57\x50\x2f\x63\x53\x6d\x6f\x66\x67\x77\x65','\x57\x34\x78\x63\x50\x6d\x6b\x6c\x57\x50\x6d\x75','\x6c\x4e\x4c\x49\x61\x43\x6b\x79','\x57\x36\x52\x63\x53\x71\x56\x64\x4d\x61\x78\x63\x54\x47','\x57\x34\x56\x64\x53\x43\x6b\x71\x57\x37\x58\x7a\x61\x6d\x6f\x44\x57\x34\x30','\x57\x4f\x2f\x63\x49\x6d\x6f\x6f\x6d\x59\x4a\x63\x47\x38\x6f\x38\x57\x51\x34','\x45\x71\x4c\x36\x57\x35\x5a\x63\x4c\x6d\x6f\x41\x77\x43\x6b\x51','\x77\x4d\x74\x64\x4c\x6d\x6b\x36','\x57\x36\x78\x63\x47\x38\x6f\x36\x46\x53\x6b\x68\x69\x53\x6f\x75\x43\x71','\x69\x38\x6f\x7a\x64\x32\x57\x44\x57\x34\x2f\x64\x50\x63\x61','\x75\x6d\x6b\x53\x72\x61\x53\x36\x57\x51\x75\x6d','\x57\x36\x61\x39\x57\x51\x37\x64\x4e\x5a\x4e\x63\x50\x43\x6b\x77\x57\x4f\x75','\x72\x59\x6e\x6d\x57\x36\x6c\x63\x56\x38\x6f\x4d','\x57\x4f\x34\x79\x57\x52\x76\x45\x64\x61','\x57\x35\x47\x6c\x57\x34\x4b\x7a\x57\x50\x47\x64\x57\x52\x30','\x57\x4f\x74\x64\x4d\x48\x54\x68\x74\x38\x6f\x78\x66\x38\x6f\x76','\x57\x37\x56\x63\x4a\x43\x6b\x67\x76\x6d\x6b\x4e\x73\x62\x4e\x63\x48\x47','\x65\x4d\x74\x63\x4a\x38\x6b\x4b\x57\x34\x52\x64\x4a\x31\x37\x63\x4d\x57','\x57\x51\x4e\x64\x53\x49\x4c\x56\x46\x38\x6f\x38\x6d\x53\x6f\x31','\x57\x52\x35\x61\x69\x49\x53','\x76\x43\x6b\x69\x57\x52\x54\x6a\x57\x35\x53','\x61\x38\x6b\x72\x41\x47','\x68\x67\x79\x4a\x57\x51\x57\x35\x57\x51\x69\x69\x57\x37\x4f','\x57\x50\x30\x53\x57\x51\x31\x33\x6c\x71','\x75\x4e\x76\x32\x57\x50\x79\x6c\x45\x38\x6f\x56\x57\x36\x4f','\x57\x37\x31\x43\x57\x50\x53\x30\x57\x52\x6c\x63\x55\x47\x33\x64\x55\x71','\x68\x6d\x6b\x71\x57\x37\x2f\x63\x51\x6d\x6b\x6c\x57\x4f\x79','\x42\x6d\x6f\x45\x57\x36\x46\x63\x56\x6d\x6f\x57\x42\x6d\x6f\x41\x43\x57','\x61\x4a\x58\x73\x57\x4f\x6c\x64\x52\x64\x61\x79\x57\x52\x30','\x57\x34\x4e\x63\x56\x6d\x6b\x38\x57\x4f\x69\x6b\x57\x50\x4c\x78\x7a\x47','\x71\x77\x4f\x35\x57\x52\x75\x53\x57\x52\x57\x59\x57\x36\x4f','\x74\x38\x6f\x75\x6c\x43\x6f\x70','\x68\x6d\x6f\x38\x57\x51\x4b\x34\x42\x67\x68\x63\x49\x71','\x57\x52\x72\x72\x57\x50\x2f\x64\x4e\x77\x42\x63\x54\x53\x6f\x49\x79\x57','\x66\x53\x6b\x77\x57\x37\x74\x63\x55\x38\x6b\x6c\x57\x4f\x79','\x57\x52\x74\x64\x55\x49\x4b','\x69\x74\x5a\x64\x50\x71','\x6e\x38\x6f\x69\x57\x35\x6a\x64\x6a\x5a\x4b','\x75\x68\x70\x64\x4b\x6d\x6b\x4e\x57\x52\x39\x75\x57\x52\x4f\x57','\x57\x4f\x33\x64\x4c\x57\x5a\x64\x4e\x38\x6b\x46','\x70\x65\x76\x37\x62\x38\x6b\x51','\x73\x6d\x6b\x4a\x57\x50\x58\x48\x57\x37\x43','\x61\x47\x46\x64\x56\x62\x75\x58\x77\x43\x6b\x59\x6d\x57','\x57\x34\x5a\x63\x4b\x74\x5a\x64\x52\x4a\x2f\x63\x4d\x76\x65\x72','\x57\x34\x37\x63\x56\x38\x6f\x76\x67\x38\x6f\x49\x57\x36\x35\x41\x57\x51\x57','\x57\x36\x68\x63\x4d\x38\x6b\x51\x72\x38\x6b\x37\x78\x71\x4b','\x67\x53\x6b\x31\x57\x36\x5a\x64\x47\x43\x6f\x38\x67\x43\x6f\x6c\x76\x57','\x57\x37\x61\x48\x57\x52\x74\x64\x47\x71\x33\x63\x4d\x53\x6b\x73\x57\x50\x57','\x57\x52\x31\x70\x57\x50\x79\x37\x57\x51\x46\x64\x56\x64\x68\x64\x50\x61','\x57\x37\x52\x63\x51\x72\x42\x64\x4b\x47\x61','\x57\x52\x4a\x63\x50\x38\x6f\x4c\x67\x38\x6b\x31\x73\x64\x44\x30','\x67\x4a\x4a\x63\x48\x33\x61','\x77\x4c\x68\x64\x4c\x53\x6b\x66\x57\x52\x38','\x57\x37\x68\x63\x4f\x62\x4a\x64\x4c\x71\x37\x63\x4f\x33\x61','\x68\x53\x6b\x68\x44\x63\x57','\x74\x4e\x4b\x73\x57\x34\x64\x63\x56\x6d\x6f\x64\x63\x33\x61','\x41\x62\x68\x64\x4b\x58\x71','\x67\x6d\x6f\x34\x6e\x66\x4b\x33\x57\x37\x2f\x64\x4b\x58\x69','\x6a\x73\x43\x68\x73\x58\x47\x54','\x57\x50\x58\x72\x57\x52\x2f\x64\x4d\x71\x74\x63\x4e\x4a\x30\x6b','\x66\x4e\x2f\x63\x48\x43\x6b\x37','\x57\x34\x4f\x73\x57\x36\x46\x63\x54\x76\x78\x63\x4b\x61','\x57\x50\x7a\x49\x57\x52\x33\x64\x55\x66\x37\x63\x4d\x47','\x57\x50\x48\x6c\x63\x74\x69\x56\x73\x38\x6b\x42\x76\x47','\x69\x73\x4a\x64\x53\x6d\x6b\x62\x57\x51\x68\x64\x4e\x38\x6f\x37','\x65\x4a\x7a\x72\x57\x50\x46\x64\x50\x59\x4f\x66\x57\x37\x6d','\x57\x34\x39\x65\x57\x36\x35\x51\x6c\x66\x66\x48','\x66\x38\x6f\x39\x57\x51\x38','\x57\x52\x33\x64\x55\x5a\x76\x4f\x72\x6d\x6f\x33\x6f\x43\x6f\x4b','\x57\x36\x42\x63\x4e\x43\x6b\x67\x76\x38\x6b\x53\x74\x47','\x57\x52\x4a\x64\x55\x49\x74\x63\x53\x6d\x6f\x2b\x62\x65\x30','\x62\x38\x6b\x72\x79\x63\x57\x50\x57\x4f\x42\x64\x4d\x4d\x4b','\x57\x36\x4c\x49\x57\x35\x30\x47\x57\x4f\x58\x41\x70\x53\x6f\x78','\x74\x49\x48\x68\x57\x37\x46\x63\x51\x53\x6f\x36\x42\x53\x6b\x30','\x78\x76\x65\x65\x6b\x53\x6b\x32\x6a\x6d\x6b\x49\x57\x36\x57','\x57\x50\x68\x63\x49\x6d\x6b\x76\x6c\x64\x37\x63\x50\x43\x6f\x32\x57\x51\x79','\x63\x38\x6f\x54\x57\x52\x47\x2b\x7a\x4d\x6d','\x57\x37\x4a\x63\x54\x58\x37\x64\x48\x61\x42\x63\x54\x67\x30\x47','\x57\x4f\x31\x76\x57\x51\x2f\x64\x47\x71\x37\x63\x52\x5a\x57\x6b','\x43\x59\x72\x68\x57\x36\x4e\x63\x47\x61','\x57\x51\x62\x63\x57\x52\x4e\x64\x48\x72\x70\x63\x55\x62\x61\x6a','\x57\x50\x58\x4d\x57\x51\x61','\x63\x38\x6f\x54\x57\x52\x47\x59\x41\x77\x4b','\x57\x34\x79\x61\x57\x35\x6d\x6c','\x57\x34\x62\x6b\x57\x36\x76\x48\x66\x4b\x4f','\x57\x50\x5a\x64\x4c\x61\x68\x64\x48\x71','\x77\x43\x6b\x31\x57\x50\x35\x50\x57\x37\x42\x63\x4b\x61','\x57\x4f\x48\x78\x63\x73\x53\x74\x78\x6d\x6b\x6e','\x57\x52\x2f\x64\x54\x4a\x52\x64\x53\x43\x6b\x37\x77\x43\x6f\x6c\x57\x50\x30','\x6d\x62\x62\x47\x57\x51\x37\x64\x4a\x71\x61\x30\x57\x50\x69','\x57\x34\x79\x64\x57\x50\x74\x64\x56\x62\x70\x63\x55\x6d\x6b\x4f\x57\x51\x30','\x57\x37\x5a\x63\x4a\x53\x6b\x38','\x44\x65\x54\x66\x57\x51\x57\x48\x43\x53\x6f\x66\x57\x35\x57','\x57\x50\x46\x64\x4c\x61\x56\x64\x4a\x57','\x57\x50\x4c\x41\x62\x5a\x65\x46\x76\x57','\x57\x35\x74\x63\x47\x58\x74\x64\x48\x48\x47','\x65\x47\x46\x64\x51\x72\x4f\x55','\x57\x37\x5a\x64\x48\x38\x6f\x67\x42\x6d\x6f\x77\x45\x49\x43','\x71\x38\x6b\x45\x57\x51\x70\x64\x4a\x63\x74\x63\x4e\x38\x6f\x31','\x69\x4d\x33\x64\x47\x43\x6b\x63\x57\x37\x4e\x63\x4d\x57\x61','\x57\x50\x72\x54\x57\x52\x2f\x64\x50\x32\x43','\x57\x35\x4b\x66\x57\x36\x46\x63\x50\x75\x37\x63\x4d\x38\x6f\x4f\x57\x51\x69','\x62\x63\x50\x41\x57\x50\x65','\x57\x37\x4e\x63\x53\x53\x6f\x2f\x65\x43\x6f\x53\x57\x36\x4c\x56\x57\x52\x43','\x76\x6d\x6b\x36\x44\x47\x4f\x50\x57\x51\x6d\x71','\x64\x43\x6b\x30\x57\x36\x38','\x6d\x38\x6f\x35\x6d\x30\x57','\x65\x63\x50\x41','\x6d\x73\x4a\x64\x4f\x6d\x6b\x71\x57\x50\x68\x64\x4e\x38\x6f\x4b','\x57\x34\x78\x63\x54\x38\x6b\x34\x43\x6d\x6b\x65\x46\x74\x37\x63\x53\x71','\x72\x43\x6b\x79\x57\x50\x42\x64\x4a\x49\x70\x63\x49\x53\x6f\x74\x57\x52\x65','\x57\x36\x4e\x63\x4e\x6d\x6b\x46\x75\x6d\x6b\x4b\x74\x61\x74\x63\x4c\x47','\x57\x50\x74\x63\x47\x53\x6f\x75\x6d\x47','\x67\x78\x5a\x64\x47\x43\x6b\x75\x57\x36\x4a\x63\x4d\x49\x72\x46','\x57\x37\x4a\x64\x4c\x53\x6f\x71\x43\x53\x6f\x4f\x44\x63\x79','\x57\x50\x37\x64\x49\x61\x4c\x6c\x71\x53\x6f\x78\x61\x6d\x6f\x44','\x61\x53\x6f\x49\x6f\x65\x75\x44\x57\x36\x4e\x64\x4b\x57\x61','\x71\x53\x6f\x46\x6a\x53\x6f\x64\x57\x50\x30\x42\x43\x57','\x65\x63\x4a\x63\x48\x6d\x6f\x36\x57\x35\x30\x6d\x57\x51\x38\x31\x6e\x78\x50\x42\x73\x47','\x69\x63\x56\x64\x47\x4a\x34\x68\x46\x57','\x57\x37\x6c\x64\x4d\x53\x6b\x55\x57\x34\x48\x4b\x61\x6d\x6f\x37\x57\x36\x30','\x57\x50\x58\x49\x57\x51\x70\x64\x4f\x4c\x68\x63\x4c\x6d\x6f\x76','\x68\x6d\x6b\x31\x57\x37\x42\x64\x4d\x71','\x67\x53\x6b\x6d\x41\x5a\x38\x53\x57\x51\x70\x64\x4e\x67\x38','\x57\x50\x46\x63\x54\x49\x53\x7a','\x57\x51\x65\x6f\x57\x51\x44\x41','\x6c\x67\x31\x59\x62\x38\x6b\x51\x6d\x67\x6c\x63\x48\x71','\x69\x63\x30\x68','\x57\x52\x47\x76\x57\x52\x66\x58\x63\x62\x37\x63\x4b\x4e\x4b','\x57\x36\x44\x43\x57\x4f\x30\x55\x57\x51\x68\x63\x54\x4a\x70\x64\x50\x47','\x57\x4f\x7a\x45\x66\x47','\x57\x36\x38\x58\x57\x34\x4b\x50\x57\x50\x4f','\x6c\x66\x6a\x49\x68\x43\x6b\x4f\x6e\x78\x46\x63\x4c\x61','\x57\x34\x72\x43\x64\x49\x6d\x65\x66\x53\x6b\x44\x77\x61','\x6d\x75\x50\x54\x57\x51\x37\x63\x4c\x53\x6f\x30\x6b\x75\x57','\x57\x50\x58\x76\x57\x50\x6e\x6c\x57\x35\x31\x73\x57\x52\x34\x48\x46\x4e\x68\x63\x55\x6d\x6f\x69','\x57\x4f\x5a\x64\x4c\x61\x4e\x64\x4d\x71','\x77\x5a\x46\x64\x4f\x64\x6c\x63\x49\x38\x6b\x5a\x46\x4e\x34','\x76\x67\x4f\x79\x6f\x47','\x57\x34\x78\x63\x56\x6d\x6f\x65\x71\x38\x6b\x4e\x67\x43\x6f\x59\x7a\x61','\x57\x37\x53\x59\x57\x35\x4e\x63\x4c\x4d\x4a\x63\x53\x43\x6f\x6d\x57\x50\x47','\x72\x67\x4f\x7a\x6d\x38\x6b\x68\x6a\x6d\x6b\x49\x57\x37\x71','\x57\x4f\x5a\x63\x50\x4a\x79\x63\x57\x37\x37\x63\x51\x43\x6b\x74\x57\x35\x53','\x42\x47\x5a\x64\x4c\x48\x57','\x66\x77\x62\x6d\x57\x4f\x70\x63\x47\x6d\x6f\x7a\x64\x33\x43','\x43\x6d\x6b\x72\x57\x51\x76\x7a\x57\x35\x64\x63\x52\x68\x52\x64\x56\x47','\x57\x35\x74\x64\x55\x53\x6b\x73\x57\x37\x31\x69\x6a\x38\x6f\x35\x57\x35\x61','\x57\x37\x42\x63\x4c\x6d\x6f\x52\x45\x43\x6b\x61','\x57\x35\x74\x63\x55\x6d\x6f\x6b\x71\x57','\x57\x34\x56\x63\x50\x38\x6b\x6f\x57\x4f\x6d\x43\x57\x50\x4b\x42\x41\x61','\x70\x66\x6a\x34\x61\x38\x6b\x37\x6d\x77\x46\x63\x4f\x47','\x68\x73\x74\x63\x51\x67\x46\x64\x48\x72\x35\x57','\x44\x72\x78\x64\x4d\x48\x2f\x63\x53\x61','\x62\x38\x6f\x5a\x6a\x75\x65\x4e\x57\x36\x6d','\x67\x38\x6b\x41\x57\x37\x42\x63\x4a\x6d\x6b\x62\x57\x4f\x68\x64\x55\x30\x4f','\x57\x52\x72\x43\x62\x59\x34\x43','\x79\x43\x6f\x73\x57\x36\x4a\x63\x56\x6d\x6f\x57\x7a\x47','\x62\x43\x6f\x5a\x6a\x65\x65','\x57\x37\x78\x63\x56\x53\x6b\x57\x74\x71','\x68\x68\x6e\x39\x57\x36\x34\x37\x57\x51\x53\x45\x57\x37\x34','\x57\x36\x52\x63\x53\x72\x42\x64\x47\x74\x74\x63\x4f\x32\x79\x31','\x57\x50\x42\x64\x4a\x47\x52\x63\x55\x43\x6f\x50','\x57\x37\x68\x63\x50\x61\x4f','\x57\x4f\x78\x63\x47\x72\x75\x36\x57\x37\x4b','\x62\x67\x58\x6b\x57\x50\x5a\x63\x54\x53\x6f\x65\x62\x61','\x57\x50\x50\x63\x57\x52\x52\x64\x4e\x71\x37\x63\x54\x49\x4f\x6c','\x75\x38\x6b\x5a\x57\x4f\x71\x52\x57\x37\x4e\x63\x4b\x66\x43','\x46\x43\x6f\x45\x57\x37\x5a\x63\x56\x6d\x6f\x57\x43\x6d\x6f\x52\x71\x47','\x6a\x43\x6f\x5a\x6c\x30\x65','\x57\x51\x52\x64\x51\x73\x64\x64\x56\x43\x6b\x33\x78\x53\x6f\x7a\x57\x50\x4b','\x64\x31\x78\x63\x49\x6d\x6b\x4f\x57\x34\x4a\x64\x49\x61','\x67\x5a\x4e\x63\x56\x77\x46\x64\x4c\x48\x58\x53','\x77\x64\x6a\x64\x57\x37\x68\x63\x56\x53\x6f\x39','\x6d\x6d\x6f\x74\x57\x35\x4f','\x57\x35\x48\x61\x57\x37\x66\x59','\x57\x52\x35\x4f\x57\x4f\x70\x64\x54\x64\x46\x63\x48\x61\x65\x37','\x57\x51\x74\x64\x53\x63\x52\x63\x55\x6d\x6f\x65\x61\x30\x33\x63\x56\x61','\x57\x4f\x5a\x63\x53\x4a\x43\x45\x57\x35\x34','\x6f\x38\x6f\x65\x57\x34\x54\x65\x64\x49\x34\x65\x69\x57','\x6b\x49\x33\x64\x4e\x6d\x6b\x71\x57\x50\x56\x64\x48\x53\x6f\x59\x57\x50\x4f','\x57\x4f\x50\x6c\x65\x49\x43\x44\x73\x43\x6b\x6b\x72\x61','\x57\x34\x4e\x63\x52\x53\x6f\x52\x63\x38\x6f\x59\x57\x36\x4b','\x57\x51\x4e\x64\x53\x4a\x54\x53\x46\x38\x6f\x38','\x6a\x49\x57\x39\x78\x47\x30\x4d\x65\x61','\x57\x4f\x58\x65\x57\x52\x33\x64\x47\x58\x78\x63\x53\x48\x47\x67','\x67\x74\x48\x6d','\x6f\x30\x48\x34\x61\x6d\x6b\x55\x6f\x4b\x37\x63\x4e\x47','\x42\x57\x6e\x57\x57\x35\x52\x63\x4d\x6d\x6f\x41\x77\x43\x6b\x55','\x6e\x43\x6b\x50\x57\x35\x46\x63\x47\x53\x6b\x56\x57\x51\x74\x64\x49\x4e\x65','\x57\x4f\x37\x63\x4d\x43\x6f\x69\x6a\x64\x64\x63\x52\x6d\x6f\x75\x57\x51\x38','\x67\x6d\x6b\x4f\x57\x37\x42\x64\x47\x38\x6f\x57\x64\x38\x6f\x52\x73\x57','\x6c\x43\x6b\x6d\x57\x35\x42\x64\x55\x6d\x6f\x79\x6f\x38\x6f\x72\x41\x71','\x57\x35\x56\x63\x52\x43\x6b\x30\x79\x6d\x6b\x42\x43\x61','\x63\x38\x6f\x32\x57\x51\x71','\x57\x36\x56\x64\x4e\x6d\x6b\x2f\x57\x35\x31\x53\x66\x53\x6f\x4c\x57\x37\x30','\x57\x4f\x72\x6c\x72\x4a\x65\x76\x78\x53\x6b\x74\x75\x47','\x57\x37\x61\x73\x57\x36\x46\x63\x4f\x4c\x2f\x63\x4a\x6d\x6f\x50','\x57\x50\x2f\x63\x47\x5a\x43\x66\x57\x35\x78\x63\x54\x71','\x6c\x59\x5a\x64\x49\x57','\x74\x4a\x35\x68\x57\x36\x79','\x68\x53\x6b\x6f\x43\x74\x30','\x57\x34\x70\x64\x52\x6d\x6b\x70\x57\x36\x43','\x57\x50\x37\x64\x47\x72\x76\x74\x72\x53\x6f\x78\x65\x38\x6f\x70','\x57\x36\x52\x63\x50\x4d\x47\x53\x6b\x6d\x6f\x39\x6b\x43\x6f\x6a\x57\x37\x62\x6a\x57\x4f\x71','\x57\x52\x50\x76\x69\x49\x5a\x63\x52\x66\x6d','\x72\x67\x61\x65','\x62\x75\x6e\x6b\x57\x4f\x68\x63\x55\x53\x6f\x4f\x62\x78\x65','\x70\x6d\x6f\x43\x57\x34\x58\x6f\x6c\x61','\x57\x35\x5a\x63\x49\x43\x6b\x63\x77\x43\x6b\x6d\x73\x48\x78\x63\x49\x57','\x57\x50\x33\x64\x4c\x57\x52\x64\x4e\x38\x6b\x72','\x57\x4f\x54\x63\x57\x52\x78\x64\x4e\x61','\x57\x51\x70\x64\x51\x5a\x46\x63\x53\x43\x6f\x36\x67\x57','\x64\x43\x6f\x79\x57\x34\x44\x76','\x72\x6d\x6f\x45\x70\x47','\x57\x35\x43\x63\x57\x37\x6c\x63\x54\x4b\x2f\x63\x49\x53\x6f\x66\x57\x51\x75','\x43\x33\x68\x64\x48\x43\x6b\x48','\x76\x43\x6f\x63\x69\x43\x6f\x41','\x6e\x77\x68\x64\x48\x61','\x62\x59\x70\x63\x49\x67\x68\x64\x47\x47\x58\x6b\x57\x51\x38','\x79\x6d\x6f\x62\x57\x36\x5a\x63\x50\x53\x6f\x75\x73\x38\x6f\x2b\x78\x47','\x68\x6d\x6b\x35\x57\x52\x4f\x59\x45\x4d\x46\x63\x4e\x53\x6f\x7a','\x57\x50\x4c\x41\x66\x5a\x43\x76\x73\x53\x6b\x6b\x44\x71','\x57\x37\x64\x63\x54\x4a\x4a\x64\x47\x58\x4e\x63\x53\x68\x4f','\x78\x6d\x6b\x37\x75\x61\x30\x32\x57\x51\x43\x68\x77\x57','\x7a\x75\x76\x66\x57\x51\x65\x33\x78\x53\x6f\x70\x57\x34\x61','\x57\x52\x68\x63\x56\x63\x65\x70\x57\x34\x65','\x57\x50\x64\x63\x49\x6d\x6f\x6f\x69\x64\x78\x63\x4f\x6d\x6f\x4e\x57\x51\x53','\x72\x43\x6f\x4b\x72\x62\x30\x4f\x57\x52\x65\x61\x71\x61','\x57\x35\x56\x63\x56\x38\x6b\x44\x57\x50\x6d\x7a\x57\x50\x65','\x6c\x63\x57\x51\x71\x58\x4b\x52\x61\x71','\x67\x38\x6f\x34\x57\x52\x4f\x4a\x46\x78\x42\x63\x4e\x53\x6f\x4c','\x57\x37\x65\x57\x57\x51\x56\x64\x4e\x74\x70\x63\x49\x38\x6b\x73','\x57\x36\x4e\x63\x4a\x6d\x6b\x30\x78\x6d\x6b\x4e\x74\x61\x78\x63\x4b\x71','\x57\x36\x65\x36\x57\x52\x2f\x64\x49\x61','\x57\x34\x74\x63\x4f\x53\x6b\x63\x57\x50\x38\x6d\x57\x4f\x38','\x57\x36\x70\x63\x54\x6d\x6b\x36\x71\x61','\x57\x34\x70\x64\x52\x43\x6b\x74\x57\x36\x58\x6a\x64\x6d\x6f\x6d\x57\x34\x38','\x78\x38\x6b\x57\x71\x58\x30\x78\x57\x51\x43\x68\x73\x61','\x6a\x64\x42\x63\x4e\x78\x30','\x57\x34\x38\x77\x57\x37\x74\x63\x51\x61','\x6c\x4b\x66\x37\x6c\x6d\x6b\x4f\x6f\x33\x42\x63\x4e\x57','\x6e\x6d\x6f\x43\x57\x34\x38','\x72\x32\x61\x2f\x57\x52\x75','\x6c\x75\x6e\x55\x57\x52\x64\x63\x49\x38\x6f\x35\x6b\x30\x43','\x57\x35\x30\x78\x57\x34\x75\x73\x57\x4f\x4b\x66\x57\x51\x30','\x57\x4f\x4a\x63\x4f\x73\x57\x68','\x57\x52\x68\x64\x52\x64\x42\x63\x56\x43\x6f\x4f\x61\x4c\x2f\x63\x54\x57','\x57\x51\x54\x5a\x57\x50\x50\x39\x57\x34\x44\x61\x6a\x53\x6f\x2b\x57\x50\x47\x65\x42\x61','\x75\x74\x58\x55\x57\x36\x52\x63\x4b\x57','\x74\x49\x6a\x55\x57\x36\x5a\x63\x50\x43\x6f\x52','\x57\x4f\x52\x64\x49\x72\x64\x64\x4b\x53\x6b\x7a\x79\x6d\x6f\x47\x57\x52\x30','\x57\x4f\x37\x64\x4d\x48\x46\x64\x4a\x38\x6b\x46','\x78\x53\x6b\x63\x57\x4f\x33\x64\x4b\x47\x4e\x63\x4e\x43\x6f\x54\x57\x52\x71','\x57\x36\x78\x64\x4b\x53\x6f\x72\x43\x53\x6f\x53','\x77\x32\x7a\x52\x57\x50\x53\x71\x46\x38\x6f\x4e\x57\x36\x30','\x57\x35\x74\x63\x55\x43\x6f\x52\x63\x38\x6f\x49\x57\x37\x34','\x65\x53\x6f\x35\x6f\x75\x65\x4e\x57\x37\x78\x64\x47\x4b\x57','\x69\x38\x6b\x39\x77\x58\x30\x65\x57\x4f\x37\x64\x54\x75\x69','\x6b\x62\x33\x64\x4a\x73\x53\x6f\x79\x43\x6b\x2f\x66\x57','\x79\x32\x39\x75\x57\x51\x65\x54','\x65\x64\x44\x6c\x57\x4f\x56\x64\x53\x63\x53\x62\x57\x52\x43','\x57\x36\x46\x63\x47\x38\x6b\x6f\x77\x38\x6b\x36','\x57\x37\x33\x64\x52\x38\x6b\x62\x57\x37\x50\x45\x6b\x38\x6f\x62\x57\x35\x61','\x57\x36\x6c\x63\x56\x53\x6f\x62\x76\x61','\x57\x52\x46\x64\x55\x64\x4c\x2b\x7a\x6d\x6f\x37\x6c\x53\x6f\x2b','\x57\x34\x56\x63\x50\x38\x6b\x61\x57\x50\x75\x74','\x6c\x64\x65\x7a\x71\x57\x69\x32\x65\x6d\x6b\x36','\x78\x33\x6d\x74\x6c\x43\x6b\x2b\x6b\x38\x6b\x53\x57\x36\x38','\x57\x36\x79\x37\x57\x50\x4a\x64\x4e\x49\x46\x63\x48\x53\x6b\x64','\x57\x4f\x48\x4f\x64\x58\x46\x63\x4a\x77\x65\x75\x57\x37\x65','\x77\x74\x72\x77\x57\x50\x64\x64\x53\x73\x30\x46\x57\x52\x4b','\x57\x37\x52\x64\x48\x53\x6f\x78\x43\x43\x6f\x38\x7a\x58\x5a\x64\x47\x47','\x6c\x63\x57\x46','\x67\x38\x6b\x32\x57\x37\x64\x64\x4c\x53\x6f\x38','\x57\x34\x65\x72\x57\x34\x53','\x74\x53\x6b\x53\x77\x48\x4b\x31\x57\x52\x79\x61\x74\x61','\x57\x50\x35\x33\x57\x52\x78\x64\x56\x31\x68\x63\x4d\x53\x6b\x44\x74\x61','\x62\x38\x6b\x78\x44\x5a\x4f\x53\x57\x51\x4e\x64\x4e\x4b\x69','\x71\x4d\x61\x67\x6d\x38\x6b\x35\x6a\x6d\x6b\x4d','\x57\x34\x33\x64\x53\x43\x6b\x30\x57\x37\x54\x6d\x70\x6d\x6f\x6d','\x57\x37\x4a\x63\x56\x38\x6b\x61\x72\x53\x6b\x4b\x77\x74\x30','\x57\x50\x4a\x64\x4b\x47\x56\x64\x4c\x43\x6b\x6a\x41\x43\x6f\x6c\x57\x51\x4f','\x6a\x73\x70\x64\x4a\x73\x69\x68\x41\x43\x6b\x4a\x67\x71','\x6e\x63\x46\x64\x4e\x74\x4f\x6e\x79\x38\x6b\x74\x65\x57','\x72\x33\x43\x35\x57\x51\x38\x51\x57\x51\x38\x7a\x57\x36\x53','\x57\x36\x78\x63\x49\x43\x6b\x74','\x57\x35\x5a\x63\x50\x6d\x6b\x61\x57\x50\x4f\x4e\x57\x50\x39\x78\x7a\x57','\x57\x4f\x58\x65\x57\x52\x33\x64\x48\x72\x74\x63\x53\x47','\x42\x58\x64\x64\x4c\x62\x2f\x63\x52\x6d\x6b\x66\x72\x61','\x68\x53\x6b\x45\x57\x37\x78\x63\x51\x47','\x61\x78\x37\x63\x4a\x38\x6b\x47\x57\x35\x4e\x64\x4e\x4e\x69','\x57\x4f\x58\x2b\x61\x62\x46\x63\x4a\x77\x69\x6a\x57\x37\x61','\x61\x49\x31\x6e\x57\x4f\x52\x64\x52\x63\x6d\x79\x57\x52\x47','\x62\x4a\x42\x63\x4e\x4b\x42\x64\x47\x57\x31\x53\x57\x51\x65','\x73\x6d\x6b\x36\x76\x48\x38\x2b\x57\x4f\x38\x6d\x77\x57','\x57\x35\x47\x76\x57\x35\x4b\x6d\x57\x50\x34\x64\x57\x52\x47\x2f','\x65\x4e\x54\x72\x57\x4f\x42\x63\x53\x43\x6f\x6d','\x6d\x64\x33\x64\x53\x43\x6b\x6e\x57\x50\x52\x64\x49\x47','\x57\x34\x4b\x78\x57\x34\x75\x69\x57\x50\x57\x64\x57\x52\x30\x45','\x57\x35\x56\x63\x50\x6d\x6b\x62','\x57\x50\x78\x63\x56\x73\x79\x66\x57\x34\x64\x63\x56\x6d\x6b\x73\x57\x35\x38','\x65\x4a\x76\x77\x57\x4f\x42\x64\x52\x64\x61\x55\x57\x51\x30','\x67\x38\x6f\x32\x57\x51\x34\x59','\x77\x6d\x6b\x2b\x57\x4f\x53','\x57\x36\x75\x47\x57\x52\x78\x64\x4b\x49\x42\x63\x47\x43\x6b\x79\x57\x50\x6d','\x43\x4c\x6a\x64\x57\x51\x43','\x57\x34\x5a\x63\x54\x6d\x6f\x6c\x73\x53\x6b\x4e\x67\x61','\x42\x47\x46\x64\x4a\x58\x71','\x64\x6d\x6f\x58\x57\x52\x47\x59\x41\x77\x64\x63\x4e\x53\x6f\x74','\x77\x6d\x6b\x69\x57\x50\x68\x64\x4a\x4a\x4e\x63\x4b\x6d\x6f\x2f\x57\x52\x30','\x57\x35\x64\x64\x50\x43\x6f\x53\x74\x43\x6f\x46\x76\x48\x68\x64\x51\x71','\x71\x6d\x6f\x43\x6a\x6d\x6f\x76\x57\x50\x4b\x77\x42\x61','\x57\x34\x53\x75\x57\x36\x46\x63\x51\x68\x42\x63\x4c\x38\x6f\x30\x57\x52\x71','\x61\x43\x6f\x6e\x57\x36\x48\x75\x63\x47','\x71\x63\x6e\x42\x57\x37\x79','\x57\x37\x79\x54\x57\x34\x38\x50\x57\x50\x50\x44','\x61\x4d\x62\x6e\x57\x50\x56\x63\x55\x53\x6f\x66\x68\x47','\x57\x51\x2f\x64\x53\x49\x4c\x52','\x68\x4a\x4a\x63\x47\x68\x53','\x57\x34\x79\x59\x57\x50\x70\x64\x4f\x5a\x34','\x71\x4d\x61\x66\x6c\x38\x6b\x33\x6b\x43\x6b\x57\x57\x37\x30','\x66\x53\x6f\x50\x57\x52\x38\x4a\x76\x33\x64\x63\x4c\x6d\x6f\x43','\x57\x50\x70\x64\x4e\x48\x42\x64\x4a\x38\x6b\x42\x7a\x53\x6f\x58','\x69\x31\x7a\x4f\x57\x51\x74\x63\x49\x61','\x57\x50\x70\x64\x4f\x38\x6f\x62\x76\x38\x6b\x68\x67\x6d\x6f\x47\x73\x47','\x6d\x64\x33\x64\x4f\x53\x6b\x71\x57\x4f\x68\x64\x4e\x47','\x6c\x64\x2f\x64\x50\x53\x6b\x77\x57\x50\x6c\x64\x47\x43\x6f\x34\x57\x4f\x6d','\x71\x53\x6f\x66\x6f\x53\x6f\x65\x57\x50\x43\x68','\x43\x75\x6e\x6b\x57\x52\x61\x48\x78\x57','\x6c\x43\x6b\x6d\x57\x35\x42\x64\x55\x43\x6f\x70\x6c\x53\x6f\x43\x7a\x47','\x57\x50\x56\x64\x47\x57\x64\x64\x4e\x57','\x57\x36\x37\x63\x48\x43\x6f\x32','\x57\x35\x4b\x78\x57\x35\x38\x77\x57\x4f\x38\x68\x57\x51\x30\x33','\x57\x52\x38\x79\x57\x52\x76\x67\x62\x72\x53','\x6d\x63\x42\x64\x52\x71','\x70\x38\x6f\x79\x57\x35\x35\x76\x6e\x5a\x4b\x70\x6e\x57','\x61\x49\x31\x45\x57\x50\x46\x64\x54\x5a\x43','\x62\x4e\x70\x63\x4a\x61','\x57\x35\x74\x63\x4f\x38\x6f\x6d\x71\x61','\x66\x38\x6f\x50\x57\x51\x38\x35\x41\x77\x30','\x67\x6d\x6b\x46\x43\x58\x4f\x58\x57\x52\x78\x64\x4e\x68\x57','\x79\x6d\x6f\x65\x57\x37\x33\x63\x55\x6d\x6f\x47\x44\x53\x6f\x58\x77\x61','\x57\x52\x2f\x64\x52\x59\x64\x63\x55\x53\x6f\x36\x68\x57','\x57\x4f\x5a\x64\x4e\x48\x42\x64\x4a\x6d\x6b\x76\x42\x38\x6f\x4e\x57\x52\x30','\x57\x37\x66\x61\x57\x50\x65\x35\x57\x52\x47','\x57\x50\x4c\x41\x66\x74\x43\x43\x74\x71','\x74\x6d\x6b\x62\x57\x4f\x33\x64\x49\x71\x6c\x63\x4d\x38\x6f\x30\x57\x51\x57','\x57\x51\x54\x75\x6e\x47','\x57\x50\x39\x41\x61\x47','\x63\x53\x6f\x34\x57\x52\x30\x65\x46\x68\x42\x63\x4e\x53\x6f\x77','\x42\x53\x6b\x76\x57\x51\x6a\x74\x57\x34\x64\x63\x55\x71','\x57\x52\x33\x64\x54\x4a\x68\x64\x55\x71','\x57\x34\x4e\x63\x4f\x53\x6f\x4b\x78\x38\x6b\x48\x65\x43\x6f\x4f','\x57\x4f\x46\x63\x55\x38\x6b\x41\x57\x50\x71\x75\x57\x50\x76\x66\x79\x57','\x62\x67\x66\x76','\x63\x67\x46\x64\x48\x6d\x6b\x46','\x57\x50\x7a\x45\x57\x51\x5a\x64\x48\x62\x75','\x57\x4f\x69\x4e\x57\x52\x4e\x64\x56\x30\x42\x63\x4b\x53\x6f\x43\x76\x71','\x65\x4a\x56\x63\x49\x67\x68\x64\x55\x48\x35\x35','\x57\x4f\x4a\x63\x4e\x43\x6f\x6a\x6e\x73\x70\x63\x50\x6d\x6f\x59\x57\x51\x43','\x45\x43\x6b\x6d\x7a\x73\x43\x69\x57\x50\x79\x37\x41\x47','\x57\x4f\x58\x33\x68\x57\x4e\x63\x4c\x68\x65\x73\x57\x36\x53','\x57\x35\x74\x63\x51\x6d\x6f\x76\x73\x61','\x77\x59\x68\x64\x4d\x64\x52\x64\x4c\x62\x44\x4f\x57\x52\x71','\x71\x67\x71\x65\x6c\x6d\x6b\x39','\x57\x36\x79\x37\x57\x51\x30','\x6b\x73\x5a\x64\x55\x4a\x47\x64\x42\x53\x6b\x66','\x6c\x64\x5a\x64\x54\x38\x6b\x75\x57\x4f\x68\x64\x4d\x71','\x61\x53\x6f\x35\x6f\x4c\x61','\x43\x75\x6e\x69\x57\x51\x30\x33\x72\x43\x6f\x35\x57\x35\x57','\x57\x52\x54\x6f\x70\x63\x61','\x57\x36\x6c\x63\x52\x33\x78\x64\x50\x53\x6b\x4a\x71\x57\x4a\x64\x51\x43\x6b\x45\x66\x53\x6f\x57\x57\x51\x4f\x6a\x74\x61','\x57\x37\x4e\x63\x4e\x38\x6f\x76\x6c\x6d\x6f\x74\x57\x34\x48\x2b\x57\x4f\x71','\x57\x34\x69\x6c\x57\x35\x4b\x44\x57\x50\x38','\x6b\x59\x33\x64\x49\x49\x38\x6f\x46\x53\x6f\x70','\x72\x68\x43\x46\x6d\x47','\x57\x4f\x48\x53\x64\x58\x42\x63\x48\x33\x4b\x62\x57\x37\x4f','\x57\x37\x74\x63\x4d\x6d\x6f\x4d\x43\x53\x6b\x68\x6d\x43\x6f\x79\x46\x61','\x57\x37\x44\x45\x57\x4f\x57\x31\x57\x51\x65','\x74\x6d\x6f\x7a\x57\x37\x5a\x63\x50\x53\x6f\x2b\x43\x71','\x6b\x53\x6f\x6a\x57\x35\x62\x72\x68\x74\x4b\x70\x6a\x71','\x6b\x4b\x76\x4b\x61\x38\x6b\x4b\x6f\x4e\x64\x63\x4c\x61','\x6c\x66\x6a\x2b\x68\x47','\x57\x35\x35\x61\x57\x37\x66\x32\x68\x66\x7a\x32\x57\x35\x79','\x57\x37\x2f\x63\x4a\x6d\x6f\x66\x6d\x53\x6f\x67\x57\x34\x50\x4b\x57\x50\x75','\x57\x4f\x33\x63\x54\x64\x61\x74\x57\x36\x4f','\x57\x52\x42\x64\x55\x64\x35\x36\x46\x61','\x57\x51\x70\x63\x55\x49\x65','\x6d\x4d\x2f\x64\x48\x59\x34','\x57\x34\x57\x77\x57\x34\x38','\x57\x36\x4f\x57\x57\x34\x43\x4b\x57\x50\x50\x6d\x6f\x53\x6b\x68','\x57\x34\x70\x64\x53\x43\x6b\x75\x57\x36\x66\x46\x6d\x6d\x6f\x7a\x57\x34\x53','\x57\x4f\x76\x49\x57\x51\x70\x64\x50\x71','\x66\x6d\x6f\x43\x57\x4f\x30\x75\x73\x57','\x68\x53\x6f\x46\x57\x36\x4a\x63\x52\x53\x6b\x41\x57\x50\x5a\x63\x54\x75\x30','\x62\x68\x58\x33\x57\x4f\x64\x63\x54\x6d\x6f\x6f\x62\x65\x43','\x72\x68\x57\x67\x6f\x47','\x64\x67\x62\x68\x57\x4f\x52\x63\x53\x57','\x6b\x59\x30\x6e\x76\x71','\x57\x52\x64\x63\x4e\x63\x47\x6d\x57\x34\x79','\x57\x37\x33\x63\x4d\x6d\x6f\x74\x6c\x53\x6f\x59','\x57\x50\x78\x63\x4f\x61\x71\x79\x57\x35\x2f\x63\x52\x43\x6b\x68','\x65\x38\x6b\x45\x57\x37\x42\x63\x51\x38\x6b\x68\x57\x50\x64\x64\x54\x65\x4f','\x64\x4e\x4c\x67\x57\x50\x33\x63\x55\x43\x6f\x68\x62\x78\x6d','\x57\x4f\x2f\x63\x50\x59\x71\x79\x57\x35\x4e\x63\x56\x38\x6b\x50\x57\x35\x6d','\x6c\x5a\x68\x64\x52\x5a\x47\x71\x42\x6d\x6b\x7a','\x57\x50\x6a\x52\x57\x52\x2f\x64\x53\x4c\x53','\x57\x36\x5a\x64\x4c\x43\x6b\x50\x57\x34\x58\x51','\x57\x50\x6a\x46\x57\x52\x4a\x64\x4c\x61\x30','\x57\x4f\x56\x63\x53\x4a\x43\x65','\x72\x6d\x6b\x45\x57\x34\x30','\x6c\x43\x6f\x65\x57\x34\x39\x65','\x57\x52\x4e\x64\x53\x73\x68\x63\x53\x43\x6f\x4a','\x41\x47\x56\x64\x4a\x62\x4e\x63\x4b\x6d\x6b\x78\x72\x30\x61','\x57\x37\x43\x4e\x57\x51\x37\x64\x4e\x5a\x68\x63\x49\x43\x6b\x64\x57\x50\x47','\x77\x78\x79\x33\x6c\x43\x6b\x51\x6a\x53\x6b\x36','\x57\x52\x54\x65\x69\x5a\x78\x63\x52\x76\x4f\x5a\x57\x35\x65','\x57\x4f\x48\x78\x63\x74\x65\x76\x76\x38\x6b\x5a\x77\x61','\x67\x78\x5a\x64\x47\x43\x6b\x73\x57\x36\x4e\x63\x4d\x4a\x62\x7a','\x65\x68\x70\x63\x4b\x38\x6b\x35\x57\x35\x78\x64\x4c\x78\x6c\x63\x4d\x57','\x57\x37\x33\x63\x4d\x6d\x6b\x79\x71\x43\x6b\x37\x77\x72\x68\x63\x49\x61','\x78\x4a\x76\x64\x57\x36\x6c\x63\x52\x47','\x57\x36\x68\x64\x49\x53\x6f\x74\x7a\x61','\x57\x4f\x33\x64\x4c\x61\x53','\x57\x34\x4e\x64\x55\x53\x6b\x6f\x57\x37\x4f','\x67\x53\x6b\x31\x57\x36\x5a\x64\x47\x43\x6f\x38','\x57\x35\x43\x63\x57\x36\x4a\x63\x53\x47','\x57\x35\x35\x6b\x57\x36\x35\x4a','\x57\x51\x50\x6e\x70\x59\x42\x63\x51\x71','\x69\x59\x5a\x64\x4d\x61','\x57\x35\x39\x61\x57\x36\x39\x4e\x68\x75\x58\x53\x57\x35\x61','\x73\x49\x39\x6f\x57\x34\x64\x63\x56\x43\x6f\x52\x7a\x43\x6b\x46','\x67\x43\x6b\x6b\x44\x49\x61\x52\x57\x51\x61','\x57\x34\x4e\x63\x4d\x6d\x6f\x64\x77\x38\x6b\x61','\x6c\x59\x53\x68\x72\x72\x38\x54\x6f\x53\x6b\x2f','\x57\x35\x35\x61\x57\x37\x7a\x30\x63\x48\x76\x4b\x57\x35\x75','\x73\x6d\x6b\x63\x57\x4f\x42\x64\x48\x57','\x61\x68\x39\x6b\x57\x52\x2f\x63\x56\x53\x6f\x46\x61\x47','\x57\x37\x4a\x63\x4c\x53\x6f\x70\x6f\x57','\x57\x50\x33\x63\x50\x59\x61\x6f','\x6b\x49\x6d\x68\x73\x61\x75\x48\x66\x6d\x6b\x39','\x74\x38\x6b\x32\x57\x50\x66\x50\x57\x36\x78\x63\x4b\x65\x52\x64\x54\x57','\x61\x32\x42\x64\x4b\x6d\x6b\x74\x57\x36\x4a\x63\x54\x47\x44\x7a','\x57\x4f\x58\x46\x57\x52\x68\x64\x4c\x61','\x57\x4f\x50\x2b\x62\x61\x74\x63\x49\x33\x47\x46\x57\x37\x4b','\x57\x34\x66\x61\x57\x37\x66\x31\x65\x4c\x39\x47','\x57\x51\x64\x64\x52\x73\x52\x63\x52\x6d\x6f\x49','\x57\x50\x43\x62\x57\x52\x46\x64\x51\x75\x52\x63\x4a\x6d\x6f\x31\x57\x52\x53','\x62\x38\x6b\x58\x57\x37\x5a\x64\x4d\x57','\x57\x34\x4e\x63\x52\x53\x6f\x4c\x64\x38\x6f\x79\x57\x36\x48\x45\x57\x51\x71','\x57\x35\x6d\x30\x57\x51\x2f\x64\x4d\x71','\x57\x52\x75\x41\x57\x51\x62\x74\x77\x47','\x57\x4f\x75\x45\x57\x51\x58\x67','\x68\x4a\x31\x41','\x43\x38\x6b\x35\x72\x72\x79\x4f','\x6c\x31\x46\x64\x53\x38\x6b\x59\x57\x34\x37\x63\x52\x64\x6a\x37','\x57\x34\x50\x6d\x57\x36\x58\x56\x61\x66\x62\x41\x57\x34\x65','\x57\x52\x6c\x64\x55\x64\x71','\x57\x37\x46\x64\x4e\x6d\x6f\x68\x45\x61','\x57\x4f\x58\x65\x57\x52\x70\x64\x47\x74\x37\x63\x53\x59\x4f\x6f','\x62\x5a\x2f\x63\x47\x68\x70\x64\x47\x57','\x78\x53\x6f\x47\x7a\x4c\x43\x4e\x57\x36\x2f\x64\x4c\x30\x34','\x62\x6d\x6b\x71\x57\x35\x74\x63\x4f\x6d\x6b\x7a\x57\x50\x68\x64\x50\x33\x30','\x6c\x38\x6b\x77\x57\x37\x57','\x57\x37\x74\x64\x48\x38\x6f\x78\x7a\x6d\x6f\x4b\x79\x5a\x46\x64\x48\x71','\x75\x6d\x6f\x57\x57\x4f\x39\x4a\x57\x36\x70\x63\x47\x65\x56\x64\x49\x61','\x57\x50\x35\x45\x57\x51\x4a\x64\x4d\x72\x70\x63\x52\x4a\x38\x67','\x57\x52\x72\x6c\x63\x73\x4b\x76\x76\x38\x6b\x6e','\x57\x34\x75\x57\x57\x34\x30\x39\x57\x4f\x39\x61\x69\x6d\x6f\x75','\x57\x4f\x78\x64\x47\x6d\x6f\x69\x6a\x63\x64\x63\x54\x6d\x6f\x32\x57\x52\x4b','\x62\x78\x4a\x64\x48\x43\x6b\x69\x57\x37\x33\x63\x47\x61','\x57\x36\x78\x63\x54\x6d\x6b\x4e\x72\x6d\x6b\x51\x76\x63\x54\x37','\x57\x37\x54\x63\x57\x4f\x34\x56\x57\x51\x46\x63\x4a\x63\x42\x64\x52\x47','\x57\x37\x4e\x64\x4e\x6d\x6f\x65\x7a\x53\x6f\x53\x79\x71','\x57\x34\x37\x64\x47\x6d\x6b\x6a\x57\x36\x30','\x72\x6d\x6f\x63\x6f\x53\x6f\x79\x57\x4f\x4f','\x6b\x49\x37\x64\x47\x58\x75\x77\x45\x6d\x6b\x73\x67\x61','\x76\x78\x74\x64\x51\x38\x6b\x49\x57\x51\x79','\x57\x51\x78\x64\x52\x63\x64\x63\x50\x53\x6b\x32\x66\x31\x4e\x63\x56\x61','\x57\x52\x4a\x64\x56\x4a\x79','\x62\x63\x6c\x63\x4d\x4e\x30','\x57\x51\x70\x64\x53\x59\x5a\x63\x54\x38\x6f\x2b','\x57\x52\x4e\x63\x4a\x62\x79\x2b\x57\x37\x2f\x63\x49\x43\x6b\x2f\x57\x37\x43','\x57\x36\x52\x63\x48\x6d\x6b\x65\x76\x53\x6b\x49\x79\x58\x74\x63\x47\x61','\x6b\x63\x5a\x64\x55\x53\x6b\x78','\x67\x53\x6b\x37\x57\x36\x37\x64\x51\x53\x6f\x51\x68\x38\x6f\x38\x78\x61','\x57\x34\x78\x63\x50\x6d\x6b\x6c\x57\x50\x6d\x75\x57\x4f\x38\x7a','\x7a\x31\x46\x64\x55\x6d\x6b\x54\x57\x4f\x57','\x61\x4d\x44\x6d\x57\x50\x5a\x63\x55\x53\x6f\x66\x6a\x32\x53','\x71\x38\x6b\x64\x57\x4f\x46\x64\x56\x74\x37\x63\x4e\x38\x6f\x2b\x57\x51\x53','\x57\x35\x48\x43\x57\x37\x6a\x4a','\x6f\x6d\x6f\x6a\x57\x34\x54\x65\x6c\x5a\x53\x45\x6e\x57','\x57\x35\x33\x63\x47\x64\x78\x64\x52\x47','\x57\x52\x70\x64\x53\x4a\x54\x37\x44\x43\x6f\x47\x6d\x47','\x73\x33\x78\x64\x4b\x6d\x6b\x54\x57\x4f\x50\x68\x57\x52\x53','\x57\x35\x4e\x63\x55\x38\x6f\x4d\x65\x38\x6f\x79\x57\x37\x6e\x46','\x57\x35\x58\x71\x57\x37\x66\x55','\x57\x34\x4e\x63\x54\x43\x6f\x4b','\x66\x63\x4e\x64\x54\x63\x34\x33','\x73\x6d\x6f\x67\x57\x36\x68\x63\x50\x53\x6b\x34\x57\x51\x5a\x64\x4a\x65\x34','\x57\x52\x5a\x64\x4c\x61\x68\x64\x48\x71','\x67\x67\x33\x64\x4b\x43\x6b\x74\x57\x37\x4e\x63\x4d\x47\x44\x30','\x57\x35\x68\x64\x4c\x57\x52\x64\x4e\x38\x6b\x42\x44\x43\x6f\x39\x57\x52\x43','\x57\x36\x74\x63\x50\x43\x6b\x37\x72\x6d\x6b\x41\x73\x64\x31\x2f','\x57\x34\x57\x71\x57\x35\x34\x71','\x57\x51\x74\x64\x53\x61\x4e\x63\x55\x38\x6f\x53\x65\x30\x5a\x63\x4d\x47','\x73\x6d\x6f\x46\x6a\x47','\x66\x78\x31\x6b\x57\x4f\x69','\x57\x34\x72\x72\x57\x37\x7a\x32\x61\x61\x69\x51\x57\x50\x57','\x57\x35\x39\x72\x57\x36\x6e\x59\x62\x4b\x53','\x63\x38\x6b\x59\x57\x36\x5a\x64\x4d\x38\x6f\x59\x6a\x53\x6f\x56\x71\x71','\x68\x6d\x6f\x32\x57\x51\x71\x59\x76\x33\x42\x63\x4e\x53\x6f\x77','\x63\x38\x6b\x37\x57\x36\x4e\x64\x47\x43\x6f\x53\x67\x43\x6f\x52\x41\x71','\x57\x35\x70\x63\x54\x6d\x6f\x50\x65\x6d\x6f\x51\x57\x36\x50\x78\x57\x51\x61','\x76\x43\x6f\x46\x61\x43\x6f\x4b\x57\x52\x43\x4d\x43\x32\x75','\x57\x51\x48\x6e\x70\x63\x46\x63\x4f\x31\x43\x52','\x65\x53\x6b\x71\x57\x37\x5a\x63\x54\x53\x6b\x58\x57\x4f\x64\x64\x50\x30\x53','\x57\x35\x5a\x63\x52\x38\x6f\x4b\x68\x6d\x6f\x5a\x57\x37\x6e\x75\x57\x51\x53','\x45\x4b\x76\x63\x57\x51\x65\x4f\x42\x6d\x6f\x66\x57\x35\x4f','\x68\x4a\x54\x76\x57\x4f\x42\x64\x4f\x74\x61','\x67\x64\x4a\x63\x4a\x4e\x6c\x64\x4b\x47\x30','\x41\x71\x52\x64\x4a\x72\x4a\x63\x52\x43\x6b\x76','\x69\x64\x65\x4f\x78\x48\x34\x4b\x64\x61','\x43\x65\x61\x74\x57\x50\x65\x42\x57\x4f\x65\x37\x57\x34\x43','\x57\x50\x33\x64\x4c\x61\x56\x64\x49\x6d\x6b\x46\x42\x38\x6f\x47','\x77\x32\x7a\x52\x57\x50\x53\x6c\x46\x43\x6f\x4a\x57\x36\x61','\x75\x38\x6f\x76\x6f\x38\x6f\x79\x57\x50\x71\x64\x79\x47','\x57\x52\x54\x65\x6e\x4a\x46\x63\x50\x30\x43\x4f\x57\x36\x53','\x63\x68\x33\x64\x48\x47'];_0x4e51=function(){return _0x1a0101;};return _0x4e51();}export function buildOllamaHandler(_0x4bec17){const _0x1807d0=_0x19772a,_0x2993a2=_0x4bec17[_0x1807d0(0x44f,'\x62\x26\x21\x42')]??console,_0x51ab2c=_0x4bec17['\x65\x6e\x76']??process.env;return _0x584237=>passthrough({'\x70\x72\x6f\x78\x79':_0x4bec17[_0x1807d0(0x6ad,'\x61\x6b\x75\x53')+_0x1807d0(0x6d3,'\x44\x25\x49\x65')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x1807d0(0x64c,'\x38\x4e\x28\x51'),'\x72\x6f\x75\x74\x65':_0x4bec17[_0x1807d0(0x6c3,'\x59\x5d\x4b\x49')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':_0x4bec17[_0x1807d0(0x5ea,'\x76\x2a\x59\x5d')],'\x6d\x6f\x64\x65\x6c':typeof _0x584237[_0x1807d0(0x51e,'\x71\x7a\x44\x67')][_0x1807d0(0x70a,'\x57\x52\x4b\x4b')]===_0x1807d0(0x438,'\x4a\x77\x33\x50')?_0x584237[_0x1807d0(0x1b6,'\x59\x5d\x4b\x49')][_0x1807d0(0x755,'\x34\x4e\x47\x31')]:null,'\x62\x6f\x64\x79':_0x584237[_0x1807d0(0x698,'\x58\x45\x24\x44')],'\x68\x65\x61\x64\x65\x72\x73':_0x584237[_0x1807d0(0x68e,'\x23\x63\x24\x68')]??{},'\x6c\x6f\x67\x67\x65\x72':_0x2993a2,..._0x4bec17['\x6f\x6e\x54\x72\x61\x63\x65']?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x4bec17['\x6f\x6e\x54\x72\x61\x63\x65']}:{},..._0x4bec17[_0x1807d0(0x466,'\x4a\x77\x33\x50')]?{'\x63\x6c\x6f\x63\x6b':_0x4bec17['\x63\x6c\x6f\x63\x6b']}:{},'\x65\x6e\x76':_0x51ab2c});}export function buildVertexHandler(_0x441ba2){const _0x258313=_0x19772a,_0x290876=_0x441ba2[_0x258313(0x489,'\x24\x32\x40\x40')]??console,_0x1e913c=_0x441ba2[_0x258313(0x670,'\x44\x25\x49\x65')]??process.env;return async _0x3d1ddd=>{const _0x2bbc0f=_0x258313;if(_0x2bbc0f(0x7cb,'\x56\x61\x29\x64')!=='\x75\x79\x75\x50\x69'){const _0x595a0b=_0x44e2d6(_0x42537a,[_0x2bbc0f(0x702,'\x62\x62\x63\x73'),_0x2bbc0f(0x32f,'\x57\x52\x4b\x4b')+_0x2bbc0f(0x414,'\x21\x2a\x5d\x40'),_0x2bbc0f(0x74b,'\x5d\x6a\x53\x77')]);return _0x595a0b[_0x2bbc0f(0x796,'\x5d\x6a\x53\x77')]=_0x2f4bd2,_0x595a0b;}else{const _0x31a3b1=validatedVertexProject(_0x3d1ddd[_0x2bbc0f(0x34e,'\x35\x59\x64\x78')]?.['\x70\x72\x6f\x6a\x65\x63\x74']??''),_0x2770da=validatedVertexLocation(_0x3d1ddd[_0x2bbc0f(0x1ea,'\x41\x64\x57\x30')]?.[_0x2bbc0f(0x53d,'\x4e\x4d\x65\x63')]??''),{model:_0x18c92e,action:_0x386e09}=validatedModelAction(_0x3d1ddd[_0x2bbc0f(0x40f,'\x76\x77\x5e\x46')]?.[_0x2bbc0f(0x31c,'\x4a\x77\x33\x50')+_0x2bbc0f(0x1d7,'\x44\x25\x49\x65')]??''),_0x19b582=providerQueryString(_0x3d1ddd[_0x2bbc0f(0x64b,'\x54\x4c\x70\x5e')]);return passthrough({'\x70\x72\x6f\x78\x79':_0x441ba2[_0x2bbc0f(0x4c7,'\x38\x4e\x28\x51')+'\x6f\x78\x79'],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x2bbc0f(0x1f2,'\x61\x4d\x35\x40'),'\x72\x6f\x75\x74\x65':_0x2bbc0f(0x5f4,'\x6a\x6f\x63\x28')+'\x65\x63\x74\x73\x2f'+_0x31a3b1+(_0x2bbc0f(0x62b,'\x35\x59\x64\x78')+_0x2bbc0f(0x5cf,'\x21\x2a\x5d\x40'))+_0x2770da+('\x2f\x70\x75\x62\x6c\x69\x73\x68'+_0x2bbc0f(0x25e,'\x44\x25\x49\x65')+_0x2bbc0f(0x480,'\x57\x52\x4b\x4b')+'\x73\x2f')+_0x18c92e+'\x3a'+_0x386e09,'\x75\x70\x73\x74\x72\x65\x61\x6d\x50\x61\x74\x68':_0x2bbc0f(0x467,'\x61\x4d\x35\x40')+_0x2bbc0f(0x77f,'\x5d\x6a\x53\x77')+encodeURIComponent(_0x31a3b1)+('\x2f\x6c\x6f\x63\x61\x74\x69\x6f'+'\x6e\x73\x2f')+encodeURIComponent(_0x2770da)+(_0x2bbc0f(0x596,'\x70\x64\x63\x6c')+_0x2bbc0f(0x3fb,'\x61\x4d\x35\x40')+_0x2bbc0f(0x7b9,'\x50\x25\x54\x4d')+'\x73\x2f')+encodeURIComponent(_0x18c92e)+'\x3a'+_0x386e09+_0x19b582,'\x6d\x6f\x64\x65\x6c':_0x18c92e,'\x62\x6f\x64\x79':_0x3d1ddd[_0x2bbc0f(0x5ff,'\x50\x25\x54\x4d')],'\x68\x65\x61\x64\x65\x72\x73':_0x3d1ddd['\x68\x65\x61\x64\x65\x72\x73']??{},'\x6c\x6f\x67\x67\x65\x72':_0x290876,'\x62\x61\x73\x65\x55\x72\x6c':vertexBaseUrl(_0x2770da,_0x1e913c),..._0x441ba2[_0x2bbc0f(0x4e0,'\x38\x21\x34\x29')]?{'\x6f\x6e\x54\x72\x61\x63\x65':_0x441ba2[_0x2bbc0f(0x5a3,'\x29\x48\x4f\x42')]}:{},..._0x441ba2[_0x2bbc0f(0x253,'\x23\x63\x24\x68')]?{'\x63\x6c\x6f\x63\x6b':_0x441ba2[_0x2bbc0f(0x69e,'\x41\x6d\x6f\x70')]}:{},'\x65\x6e\x76':_0x1e913c});}};}export function buildModelsHandler(_0x112557){const _0x1dc456=_0x19772a,_0x59e151=_0x112557[_0x1dc456(0x570,'\x32\x47\x61\x64')]??console;return async _0x40e226=>{const _0x461415=_0x1dc456,_0x30c6a8=_0x40e226[_0x461415(0x47b,'\x62\x62\x63\x73')]??{},_0x26830f=detectModelsProvider(_0x30c6a8),_0x56785=_0x26830f===_0x461415(0x7cd,'\x61\x6b\x75\x53')+'\x63'?_0x112557[_0x461415(0x7f3,'\x57\x52\x4b\x4b')+_0x461415(0x4fa,'\x44\x25\x49\x65')]:_0x112557[_0x461415(0x212,'\x6a\x6f\x63\x28')+_0x461415(0x6b6,'\x76\x77\x5e\x46')],_0x13b779=_0x26830f===_0x461415(0x7cd,'\x61\x6b\x75\x53')+'\x63'?_0x461415(0x2a3,'\x58\x45\x24\x44')+'\x6c\x73':_0x461415(0x36f,'\x34\x4e\x47\x31'),_0x48b236=await _0x56785(_0x13b779,null,{'\x6d\x65\x74\x68\x6f\x64':_0x461415(0x213,'\x56\x61\x29\x64'),'\x69\x6e\x62\x6f\x75\x6e\x64\x48\x65\x61\x64\x65\x72\x73':_0x30c6a8,'\x75\x70\x73\x74\x72\x65\x61\x6d\x4d\x6f\x64\x65':_0x26830f});let _0x1091d6='';if(_0x48b236['\x74\x65\x78\x74'])try{if(_0x461415(0x499,'\x59\x5d\x4b\x49')!==_0x461415(0x25c,'\x25\x59\x4b\x67')){const _0x54ac30=_0x12353c(_0x4ff3ef[_0x461415(0x1f7,'\x24\x32\x40\x40')],_0x397787),_0x318dac=_0x2bf4af instanceof _0x2d455a?_0x941bec[_0x461415(0x1a4,'\x4a\x77\x33\x50')]:_0x4d1163(_0x3e8949);_0x1344a5[_0x461415(0x182,'\x41\x64\x57\x30')]&&_0x32d9df[_0x461415(0x245,'\x76\x2a\x59\x5d')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':_0x56312b[_0x461415(0x436,'\x70\x64\x63\x6c')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x27e1c2[_0x461415(0x1e3,'\x38\x21\x34\x29')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x3b59fe[_0x461415(0x6c0,'\x63\x32\x63\x4e')],'\x73\x74\x61\x74\x75\x73':_0x54ac30[_0x461415(0x21d,'\x38\x4e\x28\x51')+'\x64\x65'],'\x65\x72\x72\x6f\x72':_0x318dac,'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x5b4311}),_0x107a42[_0x461415(0x31e,'\x6c\x7a\x58\x71')][_0x461415(0x524,'\x6a\x6f\x63\x28')]?.(_0x63d01a({'\x65\x76\x65\x6e\x74':_0x461415(0x297,'\x41\x64\x57\x30')+_0x461415(0x1b1,'\x78\x40\x50\x24'),'\x72\x6f\x75\x74\x65':_0x1e511e[_0x461415(0x336,'\x47\x66\x32\x30')]??_0x1b37e2[_0x461415(0x23f,'\x50\x25\x54\x4d')+_0x461415(0x360,'\x6a\x6f\x63\x28')],'\x72\x65\x61\x73\x6f\x6e':_0x997053,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x571dcc[_0x461415(0x5b7,'\x4e\x4d\x65\x63')],'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x473a7b[_0x461415(0x4ef,'\x66\x76\x37\x4f')+_0x461415(0x781,'\x29\x48\x4f\x42')],'\x65\x72\x72\x6f\x72':_0x318dac})),_0x197bab={'\x73\x74\x61\x74\x75\x73':_0x364793[_0x461415(0x57a,'\x34\x34\x79\x6a')],'\x68\x65\x61\x64\x65\x72\x73':_0x54d450[_0x461415(0x6b1,'\x32\x38\x78\x4f')],'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x2d300f},_0x10696e={..._0x48ac85,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x2e4872,'\x61\x74\x74\x65\x6d\x70\x74\x73':_0x542fa9};}else _0x1091d6=await Promise[_0x461415(0x643,'\x79\x51\x35\x70')](_0x48b236['\x74\x65\x78\x74']());}catch{if(_0x461415(0x7d4,'\x32\x47\x61\x64')===_0x461415(0x574,'\x71\x7a\x44\x67'))return _0x56c5b9(_0x228e8a);else _0x1091d6='';}const _0x23dd14=responseToBody(_0x1091d6,_0x48b236[_0x461415(0x348,'\x21\x2a\x5d\x40')],_0x48b236[_0x461415(0x1f1,'\x57\x52\x4b\x4b')],_0x59e151,'\x6d\x6f\x64\x65\x6c\x73\x5f\x66'+_0x461415(0x56c,'\x79\x51\x35\x70'));return{'\x73\x74\x61\x74\x75\x73':_0x48b236[_0x461415(0x660,'\x63\x32\x63\x4e')],'\x62\x6f\x64\x79':_0x23dd14};};}export function buildProviderRoutes(_0x146254){const _0x4f3ca3=_0x19772a;return{'\x50\x4f\x53\x54\x20\x2f\x76\x31\x2f\x72\x65\x73\x70\x6f\x6e\x73\x65\x73':buildOpenAIResponsesHandler(_0x146254),'\x50\x4f\x53\x54\x20\x2f\x76\x31\x2f\x63\x68\x61\x74\x2f\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\x73':buildOpenAIChatCompletionsHandler(_0x146254),'\x47\x45\x54\x20\x2f\x76\x31\x2f\x6d\x6f\x64\x65\x6c\x73':buildModelsHandler(_0x146254),'\x50\x4f\x53\x54\x20\x2f\x76\x31\x62\x65\x74\x61\x2f\x6d\x6f\x64\x65\x6c\x73\x2f\x3a\x6d\x6f\x64\x65\x6c\x41\x63\x74\x69\x6f\x6e':buildGeminiHandler(_0x146254),'\x50\x4f\x53\x54\x20\x2f\x61\x70\x69\x2f\x63\x68\x61\x74':buildOllamaHandler({..._0x146254,'\x61\x70\x69\x50\x61\x74\x68':_0x4f3ca3(0x3ae,'\x32\x38\x78\x4f')+'\x74'}),'\x50\x4f\x53\x54\x20\x2f\x61\x70\x69\x2f\x67\x65\x6e\x65\x72\x61\x74\x65':buildOllamaHandler({..._0x146254,'\x61\x70\x69\x50\x61\x74\x68':_0x4f3ca3(0x292,'\x57\x52\x4b\x4b')+_0x4f3ca3(0x20c,'\x62\x26\x21\x42')}),'\x50\x4f\x53\x54\x20\x2f\x76\x31\x2f\x70\x72\x6f\x6a\x65\x63\x74\x73\x2f\x3a\x70\x72\x6f\x6a\x65\x63\x74\x2f\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x73\x2f\x3a\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2f\x70\x75\x62\x6c\x69\x73\x68\x65\x72\x73\x2f\x67\x6f\x6f\x67\x6c\x65\x2f\x6d\x6f\x64\x65\x6c\x73\x2f\x3a\x6d\x6f\x64\x65\x6c\x41\x63\x74\x69\x6f\x6e':buildVertexHandler(_0x146254)};}
|