perstack 0.0.135 → 0.0.137
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/bin/cli.js +1411 -285
- package/dist/bin/cli.js.map +1 -1
- package/dist/{dist-CcuzVu2T.js → dist-B-pbUImR.js} +3 -2
- package/dist/{dist-CcuzVu2T.js.map → dist-B-pbUImR.js.map} +1 -1
- package/dist/{resolve-expert-Bin42ehj.js → resolve-expert-Lim3XOx2.js} +2 -2
- package/dist/{resolve-expert-Bin42ehj.js.map → resolve-expert-Lim3XOx2.js.map} +1 -1
- package/dist/{src-Cl4mko2y.js → src-BHnyzbe_.js} +2 -2
- package/dist/{src-Cl4mko2y.js.map → src-BHnyzbe_.js.map} +1 -1
- package/package.json +5 -5
package/dist/bin/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../chunk-DORXReHP.js";
|
|
3
|
-
import { $ as discriminatedUnion, A as stopRunByInteractiveTool, At as $constructor, B as knownModels, C as runParamsSchema, Ct as parse$1, D as startRun, Dt as clone, E as startGeneration, Et as safeParseAsync$1, F as jobSchema, Ft as createId, G as ZodOptional$1, H as resolveModelTierWithFallback, I as expertSchema, J as _null, K as _enum, L as isCoordinatorExpert, M as startCommandInputSchema, Mt as PerstackError, N as perstackConfigSchema, O as stopRunByDelegate, Ot as defineLazy, P as lockfileSchema, Q as custom, R as validateDelegation, S as retry, St as $ZodType, T as skipDelegates, Tt as safeParse$1, U as number$1, V as resolveModelTier, W as ZodIssueCode$1, X as array$1, Y as any, Z as boolean, _ as finishToolCall, _t as datetime, a as createFilteredEventListener, at as number, b as resolveToolResults, ct as preprocess, d as callTools, dt as string, et as intersection, f as completeRun, ft as tuple, g as finishMcpTools, gt as safeParseAsync$2, h as createStreamingEvent, ht as url, i as truncateText$1, it as never, j as runCommandInputSchema, jt as NEVER, k as stopRunByError, kt as normalizeParams, l as createBaseToolActivity, lt as record, m as createRuntimeEvent, mt as unknown, n as formatZodError, nt as literal, o as validateEventFilter, ot as object$2, p as continueToNextStep, pt as union, q as _instanceof, r as parseWithFriendlyError, rt as looseObject, s as getFilteredEnv, st as optional, t as createApiClient, tt as lazy, u as createGeneralToolActivity, ut as strictObject, v as parseExpertKey, vt as toJSONSchema, w as runSettingSchema, wt as parseAsync, x as resumeFromStop, xt as $ZodObject, y as proceedToInteractiveTools, z as checkpointSchema } from "../dist-
|
|
3
|
+
import { $ as discriminatedUnion, A as stopRunByInteractiveTool, At as $constructor, B as knownModels, C as runParamsSchema, Ct as parse$1, D as startRun, Dt as clone, E as startGeneration, Et as safeParseAsync$1, F as jobSchema, Ft as createId, G as ZodOptional$1, H as resolveModelTierWithFallback, I as expertSchema, J as _null, K as _enum, L as isCoordinatorExpert, M as startCommandInputSchema, Mt as PerstackError, N as perstackConfigSchema, O as stopRunByDelegate, Ot as defineLazy, P as lockfileSchema, Q as custom, R as validateDelegation, S as retry, St as $ZodType, T as skipDelegates, Tt as safeParse$1, U as number$1, V as resolveModelTier, W as ZodIssueCode$1, X as array$1, Y as any, Z as boolean, _ as finishToolCall, _t as datetime, a as createFilteredEventListener, at as number, b as resolveToolResults, ct as preprocess, d as callTools, dt as string, et as intersection, f as completeRun, ft as tuple, g as finishMcpTools, gt as safeParseAsync$2, h as createStreamingEvent, ht as url, i as truncateText$1, it as never, j as runCommandInputSchema, jt as NEVER, k as stopRunByError, kt as normalizeParams, l as createBaseToolActivity, lt as record, m as createRuntimeEvent, mt as unknown, n as formatZodError, nt as literal, o as validateEventFilter, ot as object$2, p as continueToNextStep, pt as union, q as _instanceof, r as parseWithFriendlyError, rt as looseObject, s as getFilteredEnv, st as optional, t as createApiClient, tt as lazy, u as createGeneralToolActivity, ut as strictObject, v as parseExpertKey, vt as toJSONSchema, w as runSettingSchema, wt as parseAsync, x as resumeFromStop, xt as $ZodObject, y as proceedToInteractiveTools, z as checkpointSchema } from "../dist-B-pbUImR.js";
|
|
4
4
|
import { t as require_token_error } from "../token-error-Bru5BVnt.js";
|
|
5
5
|
import fs, { constants, lstat, mkdir, open, readFile, stat, writeFile } from "node:fs/promises";
|
|
6
6
|
import path, { dirname, extname } from "node:path";
|
|
@@ -4896,7 +4896,7 @@ function object$1(shape, params) {
|
|
|
4896
4896
|
});
|
|
4897
4897
|
}
|
|
4898
4898
|
//#endregion
|
|
4899
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
4899
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
|
|
4900
4900
|
function isZ4Schema(s) {
|
|
4901
4901
|
return !!s._zod;
|
|
4902
4902
|
}
|
|
@@ -5011,7 +5011,7 @@ function getLiteralValue(schema) {
|
|
|
5011
5011
|
if (directValue !== void 0) return directValue;
|
|
5012
5012
|
}
|
|
5013
5013
|
//#endregion
|
|
5014
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
5014
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
5015
5015
|
const LATEST_PROTOCOL_VERSION = "2025-11-25";
|
|
5016
5016
|
const SUPPORTED_PROTOCOL_VERSIONS = [
|
|
5017
5017
|
LATEST_PROTOCOL_VERSION,
|
|
@@ -6209,7 +6209,7 @@ var UrlElicitationRequiredError = class extends McpError {
|
|
|
6209
6209
|
}
|
|
6210
6210
|
};
|
|
6211
6211
|
//#endregion
|
|
6212
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
6212
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
6213
6213
|
/**
|
|
6214
6214
|
* Experimental task interfaces for MCP SDK.
|
|
6215
6215
|
* WARNING: These APIs are experimental and may change without notice.
|
|
@@ -7288,7 +7288,7 @@ const zodToJsonSchema = (schema, options) => {
|
|
|
7288
7288
|
return combined;
|
|
7289
7289
|
};
|
|
7290
7290
|
//#endregion
|
|
7291
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
7291
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
7292
7292
|
function mapMiniTarget(t) {
|
|
7293
7293
|
if (!t) return "draft-7";
|
|
7294
7294
|
if (t === "jsonSchema7" || t === "draft-7") return "draft-7";
|
|
@@ -14235,7 +14235,7 @@ var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
14235
14235
|
exports.default = formatsPlugin;
|
|
14236
14236
|
}));
|
|
14237
14237
|
//#endregion
|
|
14238
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
14238
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
14239
14239
|
var import_ajv = /* @__PURE__ */ __toESM(require_ajv(), 1);
|
|
14240
14240
|
var import_dist$2 = /* @__PURE__ */ __toESM(require_dist$2(), 1);
|
|
14241
14241
|
function createDefaultAjvInstance() {
|
|
@@ -14311,7 +14311,7 @@ var AjvJsonSchemaValidator = class {
|
|
|
14311
14311
|
}
|
|
14312
14312
|
};
|
|
14313
14313
|
//#endregion
|
|
14314
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
14314
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js
|
|
14315
14315
|
/**
|
|
14316
14316
|
* Experimental client task features for MCP SDK.
|
|
14317
14317
|
* WARNING: These APIs are experimental and may change without notice.
|
|
@@ -14484,7 +14484,7 @@ var ExperimentalClientTasks = class {
|
|
|
14484
14484
|
}
|
|
14485
14485
|
};
|
|
14486
14486
|
//#endregion
|
|
14487
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
14487
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
14488
14488
|
/**
|
|
14489
14489
|
* Experimental task capability assertion helpers.
|
|
14490
14490
|
* WARNING: These APIs are experimental and may change without notice.
|
|
@@ -14535,7 +14535,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
|
14535
14535
|
}
|
|
14536
14536
|
}
|
|
14537
14537
|
//#endregion
|
|
14538
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
14538
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js
|
|
14539
14539
|
/**
|
|
14540
14540
|
* Elicitation default application helper. Applies defaults to the data based on the schema.
|
|
14541
14541
|
*
|
|
@@ -15062,7 +15062,7 @@ function errorToolResult(e) {
|
|
|
15062
15062
|
}] };
|
|
15063
15063
|
}
|
|
15064
15064
|
//#endregion
|
|
15065
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15065
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
15066
15066
|
/**
|
|
15067
15067
|
* Experimental server task features for MCP SDK.
|
|
15068
15068
|
* WARNING: These APIs are experimental and may change without notice.
|
|
@@ -15103,6 +15103,136 @@ var ExperimentalServerTasks = class {
|
|
|
15103
15103
|
return this._server.requestStream(request, resultSchema, options);
|
|
15104
15104
|
}
|
|
15105
15105
|
/**
|
|
15106
|
+
* Sends a sampling request and returns an AsyncGenerator that yields response messages.
|
|
15107
|
+
* The generator is guaranteed to end with either a 'result' or 'error' message.
|
|
15108
|
+
*
|
|
15109
|
+
* For task-augmented requests, yields 'taskCreated' and 'taskStatus' messages
|
|
15110
|
+
* before the final result.
|
|
15111
|
+
*
|
|
15112
|
+
* @example
|
|
15113
|
+
* ```typescript
|
|
15114
|
+
* const stream = server.experimental.tasks.createMessageStream({
|
|
15115
|
+
* messages: [{ role: 'user', content: { type: 'text', text: 'Hello' } }],
|
|
15116
|
+
* maxTokens: 100
|
|
15117
|
+
* }, {
|
|
15118
|
+
* onprogress: (progress) => {
|
|
15119
|
+
* // Handle streaming tokens via progress notifications
|
|
15120
|
+
* console.log('Progress:', progress.message);
|
|
15121
|
+
* }
|
|
15122
|
+
* });
|
|
15123
|
+
*
|
|
15124
|
+
* for await (const message of stream) {
|
|
15125
|
+
* switch (message.type) {
|
|
15126
|
+
* case 'taskCreated':
|
|
15127
|
+
* console.log('Task created:', message.task.taskId);
|
|
15128
|
+
* break;
|
|
15129
|
+
* case 'taskStatus':
|
|
15130
|
+
* console.log('Task status:', message.task.status);
|
|
15131
|
+
* break;
|
|
15132
|
+
* case 'result':
|
|
15133
|
+
* console.log('Final result:', message.result);
|
|
15134
|
+
* break;
|
|
15135
|
+
* case 'error':
|
|
15136
|
+
* console.error('Error:', message.error);
|
|
15137
|
+
* break;
|
|
15138
|
+
* }
|
|
15139
|
+
* }
|
|
15140
|
+
* ```
|
|
15141
|
+
*
|
|
15142
|
+
* @param params - The sampling request parameters
|
|
15143
|
+
* @param options - Optional request options (timeout, signal, task creation params, onprogress, etc.)
|
|
15144
|
+
* @returns AsyncGenerator that yields ResponseMessage objects
|
|
15145
|
+
*
|
|
15146
|
+
* @experimental
|
|
15147
|
+
*/
|
|
15148
|
+
createMessageStream(params, options) {
|
|
15149
|
+
const clientCapabilities = this._server.getClientCapabilities();
|
|
15150
|
+
if ((params.tools || params.toolChoice) && !clientCapabilities?.sampling?.tools) throw new Error("Client does not support sampling tools capability.");
|
|
15151
|
+
if (params.messages.length > 0) {
|
|
15152
|
+
const lastMessage = params.messages[params.messages.length - 1];
|
|
15153
|
+
const lastContent = Array.isArray(lastMessage.content) ? lastMessage.content : [lastMessage.content];
|
|
15154
|
+
const hasToolResults = lastContent.some((c) => c.type === "tool_result");
|
|
15155
|
+
const previousMessage = params.messages.length > 1 ? params.messages[params.messages.length - 2] : void 0;
|
|
15156
|
+
const previousContent = previousMessage ? Array.isArray(previousMessage.content) ? previousMessage.content : [previousMessage.content] : [];
|
|
15157
|
+
const hasPreviousToolUse = previousContent.some((c) => c.type === "tool_use");
|
|
15158
|
+
if (hasToolResults) {
|
|
15159
|
+
if (lastContent.some((c) => c.type !== "tool_result")) throw new Error("The last message must contain only tool_result content if any is present");
|
|
15160
|
+
if (!hasPreviousToolUse) throw new Error("tool_result blocks are not matching any tool_use from the previous message");
|
|
15161
|
+
}
|
|
15162
|
+
if (hasPreviousToolUse) {
|
|
15163
|
+
const toolUseIds = new Set(previousContent.filter((c) => c.type === "tool_use").map((c) => c.id));
|
|
15164
|
+
const toolResultIds = new Set(lastContent.filter((c) => c.type === "tool_result").map((c) => c.toolUseId));
|
|
15165
|
+
if (toolUseIds.size !== toolResultIds.size || ![...toolUseIds].every((id) => toolResultIds.has(id))) throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match");
|
|
15166
|
+
}
|
|
15167
|
+
}
|
|
15168
|
+
return this.requestStream({
|
|
15169
|
+
method: "sampling/createMessage",
|
|
15170
|
+
params
|
|
15171
|
+
}, CreateMessageResultSchema, options);
|
|
15172
|
+
}
|
|
15173
|
+
/**
|
|
15174
|
+
* Sends an elicitation request and returns an AsyncGenerator that yields response messages.
|
|
15175
|
+
* The generator is guaranteed to end with either a 'result' or 'error' message.
|
|
15176
|
+
*
|
|
15177
|
+
* For task-augmented requests (especially URL-based elicitation), yields 'taskCreated'
|
|
15178
|
+
* and 'taskStatus' messages before the final result.
|
|
15179
|
+
*
|
|
15180
|
+
* @example
|
|
15181
|
+
* ```typescript
|
|
15182
|
+
* const stream = server.experimental.tasks.elicitInputStream({
|
|
15183
|
+
* mode: 'url',
|
|
15184
|
+
* message: 'Please authenticate',
|
|
15185
|
+
* elicitationId: 'auth-123',
|
|
15186
|
+
* url: 'https://example.com/auth'
|
|
15187
|
+
* }, {
|
|
15188
|
+
* task: { ttl: 300000 } // Task-augmented for long-running auth flow
|
|
15189
|
+
* });
|
|
15190
|
+
*
|
|
15191
|
+
* for await (const message of stream) {
|
|
15192
|
+
* switch (message.type) {
|
|
15193
|
+
* case 'taskCreated':
|
|
15194
|
+
* console.log('Task created:', message.task.taskId);
|
|
15195
|
+
* break;
|
|
15196
|
+
* case 'taskStatus':
|
|
15197
|
+
* console.log('Task status:', message.task.status);
|
|
15198
|
+
* break;
|
|
15199
|
+
* case 'result':
|
|
15200
|
+
* console.log('User action:', message.result.action);
|
|
15201
|
+
* break;
|
|
15202
|
+
* case 'error':
|
|
15203
|
+
* console.error('Error:', message.error);
|
|
15204
|
+
* break;
|
|
15205
|
+
* }
|
|
15206
|
+
* }
|
|
15207
|
+
* ```
|
|
15208
|
+
*
|
|
15209
|
+
* @param params - The elicitation request parameters
|
|
15210
|
+
* @param options - Optional request options (timeout, signal, task creation params, etc.)
|
|
15211
|
+
* @returns AsyncGenerator that yields ResponseMessage objects
|
|
15212
|
+
*
|
|
15213
|
+
* @experimental
|
|
15214
|
+
*/
|
|
15215
|
+
elicitInputStream(params, options) {
|
|
15216
|
+
const clientCapabilities = this._server.getClientCapabilities();
|
|
15217
|
+
const mode = params.mode ?? "form";
|
|
15218
|
+
switch (mode) {
|
|
15219
|
+
case "url":
|
|
15220
|
+
if (!clientCapabilities?.elicitation?.url) throw new Error("Client does not support url elicitation.");
|
|
15221
|
+
break;
|
|
15222
|
+
case "form":
|
|
15223
|
+
if (!clientCapabilities?.elicitation?.form) throw new Error("Client does not support form elicitation.");
|
|
15224
|
+
break;
|
|
15225
|
+
}
|
|
15226
|
+
const normalizedParams = mode === "form" && params.mode === void 0 ? {
|
|
15227
|
+
...params,
|
|
15228
|
+
mode: "form"
|
|
15229
|
+
} : params;
|
|
15230
|
+
return this.requestStream({
|
|
15231
|
+
method: "elicitation/create",
|
|
15232
|
+
params: normalizedParams
|
|
15233
|
+
}, ElicitResultSchema, options);
|
|
15234
|
+
}
|
|
15235
|
+
/**
|
|
15106
15236
|
* Gets the current status of a task.
|
|
15107
15237
|
*
|
|
15108
15238
|
* @param taskId - The task identifier
|
|
@@ -15152,7 +15282,7 @@ var ExperimentalServerTasks = class {
|
|
|
15152
15282
|
}
|
|
15153
15283
|
};
|
|
15154
15284
|
//#endregion
|
|
15155
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15285
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
|
|
15156
15286
|
/**
|
|
15157
15287
|
* An MCP server on top of a pluggable transport.
|
|
15158
15288
|
*
|
|
@@ -15493,7 +15623,7 @@ var Server = class extends Protocol {
|
|
|
15493
15623
|
}
|
|
15494
15624
|
};
|
|
15495
15625
|
//#endregion
|
|
15496
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15626
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
|
|
15497
15627
|
const COMPLETABLE_SYMBOL = Symbol.for("mcp.completable");
|
|
15498
15628
|
/**
|
|
15499
15629
|
* Checks if a schema is completable (has completion metadata).
|
|
@@ -15512,7 +15642,7 @@ var McpZodTypeKind;
|
|
|
15512
15642
|
McpZodTypeKind["Completable"] = "McpCompletable";
|
|
15513
15643
|
})(McpZodTypeKind || (McpZodTypeKind = {}));
|
|
15514
15644
|
//#endregion
|
|
15515
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15645
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
|
|
15516
15646
|
/**
|
|
15517
15647
|
* Tool name validation utilities according to SEP: Specify Format for Tool Names
|
|
15518
15648
|
*
|
|
@@ -15583,7 +15713,7 @@ function validateAndWarnToolName(name) {
|
|
|
15583
15713
|
return result.isValid;
|
|
15584
15714
|
}
|
|
15585
15715
|
//#endregion
|
|
15586
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15716
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
|
|
15587
15717
|
/**
|
|
15588
15718
|
* Experimental McpServer task features for MCP SDK.
|
|
15589
15719
|
* WARNING: These APIs are experimental and may change without notice.
|
|
@@ -15614,7 +15744,7 @@ var ExperimentalMcpServerTasks = class {
|
|
|
15614
15744
|
}
|
|
15615
15745
|
};
|
|
15616
15746
|
//#endregion
|
|
15617
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
15747
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
15618
15748
|
/**
|
|
15619
15749
|
* High-level MCP server that provides a simpler API for working with resources, tools, and prompts.
|
|
15620
15750
|
* For advanced usage (like sending notifications or setting custom request handlers), use the underlying
|
|
@@ -17190,7 +17320,7 @@ function getBaseURL() {
|
|
|
17190
17320
|
return doc && typeof doc == "object" && "baseURI" in doc && typeof doc.baseURI == "string" ? doc.baseURI : void 0;
|
|
17191
17321
|
}
|
|
17192
17322
|
//#endregion
|
|
17193
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
17323
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js
|
|
17194
17324
|
/**
|
|
17195
17325
|
* Normalizes HeadersInit to a plain Record<string, string> for manipulation.
|
|
17196
17326
|
* Handles Headers objects, arrays of tuples, and plain objects.
|
|
@@ -17277,7 +17407,7 @@ async function pkceChallenge(length) {
|
|
|
17277
17407
|
};
|
|
17278
17408
|
}
|
|
17279
17409
|
//#endregion
|
|
17280
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
17410
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
|
|
17281
17411
|
/**
|
|
17282
17412
|
* Reusable URL validation that disallows javascript: scheme
|
|
17283
17413
|
*/
|
|
@@ -17449,7 +17579,7 @@ object$2({
|
|
|
17449
17579
|
token_type_hint: string().optional()
|
|
17450
17580
|
}).strip();
|
|
17451
17581
|
//#endregion
|
|
17452
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
17582
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js
|
|
17453
17583
|
/**
|
|
17454
17584
|
* Utilities for handling OAuth resource URIs.
|
|
17455
17585
|
*/
|
|
@@ -17482,7 +17612,7 @@ function checkResourceAllowed({ requestedResource, configuredResource }) {
|
|
|
17482
17612
|
return requestedPath.startsWith(configuredPath);
|
|
17483
17613
|
}
|
|
17484
17614
|
//#endregion
|
|
17485
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
17615
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js
|
|
17486
17616
|
/**
|
|
17487
17617
|
* Base class for all OAuth errors
|
|
17488
17618
|
*/
|
|
@@ -17632,7 +17762,7 @@ const OAUTH_ERRORS = {
|
|
|
17632
17762
|
[InvalidTargetError.errorCode]: InvalidTargetError
|
|
17633
17763
|
};
|
|
17634
17764
|
//#endregion
|
|
17635
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
17765
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js
|
|
17636
17766
|
var UnauthorizedError = class extends Error {
|
|
17637
17767
|
constructor(message) {
|
|
17638
17768
|
super(message ?? "Unauthorized");
|
|
@@ -17760,19 +17890,41 @@ async function auth(provider, options) {
|
|
|
17760
17890
|
}
|
|
17761
17891
|
}
|
|
17762
17892
|
async function authInternal(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl, fetchFn }) {
|
|
17893
|
+
const cachedState = await provider.discoveryState?.();
|
|
17763
17894
|
let resourceMetadata;
|
|
17764
17895
|
let authorizationServerUrl;
|
|
17765
|
-
|
|
17766
|
-
|
|
17767
|
-
|
|
17768
|
-
|
|
17769
|
-
|
|
17770
|
-
|
|
17771
|
-
|
|
17772
|
-
|
|
17773
|
-
|
|
17896
|
+
let metadata;
|
|
17897
|
+
let effectiveResourceMetadataUrl = resourceMetadataUrl;
|
|
17898
|
+
if (!effectiveResourceMetadataUrl && cachedState?.resourceMetadataUrl) effectiveResourceMetadataUrl = new URL(cachedState.resourceMetadataUrl);
|
|
17899
|
+
if (cachedState?.authorizationServerUrl) {
|
|
17900
|
+
authorizationServerUrl = cachedState.authorizationServerUrl;
|
|
17901
|
+
resourceMetadata = cachedState.resourceMetadata;
|
|
17902
|
+
metadata = cachedState.authorizationServerMetadata ?? await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn });
|
|
17903
|
+
if (!resourceMetadata) try {
|
|
17904
|
+
resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl: effectiveResourceMetadataUrl }, fetchFn);
|
|
17905
|
+
} catch {}
|
|
17906
|
+
if (metadata !== cachedState.authorizationServerMetadata || resourceMetadata !== cachedState.resourceMetadata) await provider.saveDiscoveryState?.({
|
|
17907
|
+
authorizationServerUrl: String(authorizationServerUrl),
|
|
17908
|
+
resourceMetadataUrl: effectiveResourceMetadataUrl?.toString(),
|
|
17909
|
+
resourceMetadata,
|
|
17910
|
+
authorizationServerMetadata: metadata
|
|
17911
|
+
});
|
|
17912
|
+
} else {
|
|
17913
|
+
const serverInfo = await discoverOAuthServerInfo(serverUrl, {
|
|
17914
|
+
resourceMetadataUrl: effectiveResourceMetadataUrl,
|
|
17915
|
+
fetchFn
|
|
17916
|
+
});
|
|
17917
|
+
authorizationServerUrl = serverInfo.authorizationServerUrl;
|
|
17918
|
+
metadata = serverInfo.authorizationServerMetadata;
|
|
17919
|
+
resourceMetadata = serverInfo.resourceMetadata;
|
|
17920
|
+
await provider.saveDiscoveryState?.({
|
|
17921
|
+
authorizationServerUrl: String(authorizationServerUrl),
|
|
17922
|
+
resourceMetadataUrl: effectiveResourceMetadataUrl?.toString(),
|
|
17923
|
+
resourceMetadata,
|
|
17924
|
+
authorizationServerMetadata: metadata
|
|
17925
|
+
});
|
|
17926
|
+
}
|
|
17774
17927
|
const resource = await selectResourceURL(serverUrl, provider, resourceMetadata);
|
|
17775
|
-
const metadata = await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn });
|
|
17776
17928
|
let clientInformation = await Promise.resolve(provider.clientInformation());
|
|
17777
17929
|
if (!clientInformation) {
|
|
17778
17930
|
if (authorizationCode !== void 0) throw new Error("Existing OAuth client information is required when exchanging an authorization code");
|
|
@@ -18037,6 +18189,41 @@ async function discoverAuthorizationServerMetadata(authorizationServerUrl, { fet
|
|
|
18037
18189
|
}
|
|
18038
18190
|
}
|
|
18039
18191
|
/**
|
|
18192
|
+
* Discovers the authorization server for an MCP server following
|
|
18193
|
+
* {@link https://datatracker.ietf.org/doc/html/rfc9728 | RFC 9728} (OAuth 2.0 Protected
|
|
18194
|
+
* Resource Metadata), with fallback to treating the server URL as the
|
|
18195
|
+
* authorization server.
|
|
18196
|
+
*
|
|
18197
|
+
* This function combines two discovery steps into one call:
|
|
18198
|
+
* 1. Probes `/.well-known/oauth-protected-resource` on the MCP server to find the
|
|
18199
|
+
* authorization server URL (RFC 9728).
|
|
18200
|
+
* 2. Fetches authorization server metadata from that URL (RFC 8414 / OpenID Connect Discovery).
|
|
18201
|
+
*
|
|
18202
|
+
* Use this when you need the authorization server metadata for operations outside the
|
|
18203
|
+
* {@linkcode auth} orchestrator, such as token refresh or token revocation.
|
|
18204
|
+
*
|
|
18205
|
+
* @param serverUrl - The MCP resource server URL
|
|
18206
|
+
* @param opts - Optional configuration
|
|
18207
|
+
* @param opts.resourceMetadataUrl - Override URL for the protected resource metadata endpoint
|
|
18208
|
+
* @param opts.fetchFn - Custom fetch function for HTTP requests
|
|
18209
|
+
* @returns Authorization server URL, metadata, and resource metadata (if available)
|
|
18210
|
+
*/
|
|
18211
|
+
async function discoverOAuthServerInfo(serverUrl, opts) {
|
|
18212
|
+
let resourceMetadata;
|
|
18213
|
+
let authorizationServerUrl;
|
|
18214
|
+
try {
|
|
18215
|
+
resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl: opts?.resourceMetadataUrl }, opts?.fetchFn);
|
|
18216
|
+
if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) authorizationServerUrl = resourceMetadata.authorization_servers[0];
|
|
18217
|
+
} catch {}
|
|
18218
|
+
if (!authorizationServerUrl) authorizationServerUrl = String(new URL("/", serverUrl));
|
|
18219
|
+
const authorizationServerMetadata = await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn: opts?.fetchFn });
|
|
18220
|
+
return {
|
|
18221
|
+
authorizationServerUrl,
|
|
18222
|
+
authorizationServerMetadata,
|
|
18223
|
+
resourceMetadata
|
|
18224
|
+
};
|
|
18225
|
+
}
|
|
18226
|
+
/**
|
|
18040
18227
|
* Begins the authorization flow with the given server, by generating a PKCE challenge and constructing the authorization URL.
|
|
18041
18228
|
*/
|
|
18042
18229
|
async function startAuthorization(authorizationServerUrl, { metadata, clientInformation, redirectUrl, scope, state, resource }) {
|
|
@@ -18194,7 +18381,7 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
|
|
|
18194
18381
|
return OAuthClientInformationFullSchema.parse(await response.json());
|
|
18195
18382
|
}
|
|
18196
18383
|
//#endregion
|
|
18197
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
18384
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js
|
|
18198
18385
|
var SseError = class extends Error {
|
|
18199
18386
|
constructor(code, message, event) {
|
|
18200
18387
|
super(`SSE error: ${message}`);
|
|
@@ -18739,7 +18926,7 @@ var require_enoent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18739
18926
|
};
|
|
18740
18927
|
}));
|
|
18741
18928
|
//#endregion
|
|
18742
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
18929
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
|
|
18743
18930
|
var import_cross_spawn = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
18744
18931
|
const cp = __require("child_process");
|
|
18745
18932
|
const parse = require_parse$2();
|
|
@@ -18788,7 +18975,7 @@ function serializeMessage(message) {
|
|
|
18788
18975
|
return JSON.stringify(message) + "\n";
|
|
18789
18976
|
}
|
|
18790
18977
|
//#endregion
|
|
18791
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
18978
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js
|
|
18792
18979
|
/**
|
|
18793
18980
|
* Environment variables to inherit by default, if an environment is not explicitly given.
|
|
18794
18981
|
*/
|
|
@@ -18948,7 +19135,7 @@ function isElectron$1() {
|
|
|
18948
19135
|
return "type" in process$1;
|
|
18949
19136
|
}
|
|
18950
19137
|
//#endregion
|
|
18951
|
-
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.
|
|
19138
|
+
//#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js
|
|
18952
19139
|
/**
|
|
18953
19140
|
* In-memory transport for creating clients and servers that talk to each other within the same process.
|
|
18954
19141
|
*/
|
|
@@ -21270,7 +21457,7 @@ async function expertVersionsHandler(scopeName, options) {
|
|
|
21270
21457
|
}
|
|
21271
21458
|
//#endregion
|
|
21272
21459
|
//#region ../../packages/runtime/package.json
|
|
21273
|
-
var version$1 = "0.0.
|
|
21460
|
+
var version$1 = "0.0.144";
|
|
21274
21461
|
//#endregion
|
|
21275
21462
|
//#region ../../packages/runtime/src/helpers/usage.ts
|
|
21276
21463
|
function createEmptyUsage() {
|
|
@@ -41985,7 +42172,7 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
41985
42172
|
}
|
|
41986
42173
|
static async #getFetch() {
|
|
41987
42174
|
const hasWindow = typeof window !== "undefined" && !!window;
|
|
41988
|
-
this.#fetch ||= hasWindow ? window.fetch : (await import("../src-
|
|
42175
|
+
this.#fetch ||= hasWindow ? window.fetch : (await import("../src-BHnyzbe_.js")).default;
|
|
41989
42176
|
return this.#fetch;
|
|
41990
42177
|
}
|
|
41991
42178
|
/**
|
|
@@ -46198,25 +46385,25 @@ var require_data_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
46198
46385
|
//#endregion
|
|
46199
46386
|
//#region ../../node_modules/.bun/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js
|
|
46200
46387
|
var require_buffer_equal_constant_time = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
46201
|
-
var Buffer$
|
|
46388
|
+
var Buffer$7 = __require("buffer").Buffer;
|
|
46202
46389
|
var SlowBuffer = __require("buffer").SlowBuffer;
|
|
46203
46390
|
module.exports = bufferEq;
|
|
46204
46391
|
function bufferEq(a, b) {
|
|
46205
|
-
if (!Buffer$
|
|
46392
|
+
if (!Buffer$7.isBuffer(a) || !Buffer$7.isBuffer(b)) return false;
|
|
46206
46393
|
if (a.length !== b.length) return false;
|
|
46207
46394
|
var c = 0;
|
|
46208
46395
|
for (var i = 0; i < a.length; i++) c |= a[i] ^ b[i];
|
|
46209
46396
|
return c === 0;
|
|
46210
46397
|
}
|
|
46211
46398
|
bufferEq.install = function() {
|
|
46212
|
-
Buffer$
|
|
46399
|
+
Buffer$7.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
|
|
46213
46400
|
return bufferEq(this, that);
|
|
46214
46401
|
};
|
|
46215
46402
|
};
|
|
46216
|
-
var origBufEqual = Buffer$
|
|
46403
|
+
var origBufEqual = Buffer$7.prototype.equal;
|
|
46217
46404
|
var origSlowBufEqual = SlowBuffer.prototype.equal;
|
|
46218
46405
|
bufferEq.restore = function() {
|
|
46219
|
-
Buffer$
|
|
46406
|
+
Buffer$7.prototype.equal = origBufEqual;
|
|
46220
46407
|
SlowBuffer.prototype.equal = origSlowBufEqual;
|
|
46221
46408
|
};
|
|
46222
46409
|
}));
|
|
@@ -46399,10 +46586,10 @@ var require_jwa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
46399
46586
|
//#endregion
|
|
46400
46587
|
//#region ../../node_modules/.bun/jws@4.0.1/node_modules/jws/lib/tostring.js
|
|
46401
46588
|
var require_tostring = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
46402
|
-
var Buffer$
|
|
46589
|
+
var Buffer$6 = __require("buffer").Buffer;
|
|
46403
46590
|
module.exports = function toString(obj) {
|
|
46404
46591
|
if (typeof obj === "string") return obj;
|
|
46405
|
-
if (typeof obj === "number" || Buffer$
|
|
46592
|
+
if (typeof obj === "number" || Buffer$6.isBuffer(obj)) return obj.toString();
|
|
46406
46593
|
return JSON.stringify(obj);
|
|
46407
46594
|
};
|
|
46408
46595
|
}));
|
|
@@ -57759,7 +57946,7 @@ function createOpenAI(options = {}) {
|
|
|
57759
57946
|
}
|
|
57760
57947
|
createOpenAI();
|
|
57761
57948
|
//#endregion
|
|
57762
|
-
//#region ../../node_modules/.bun/ollama-ai-provider-v2@3.
|
|
57949
|
+
//#region ../../node_modules/.bun/ollama-ai-provider-v2@3.5.0+75033251fd01c73e/node_modules/ollama-ai-provider-v2/dist/index.mjs
|
|
57763
57950
|
function convertToOllamaCompletionPrompt({ prompt, user = "user", assistant = "assistant" }) {
|
|
57764
57951
|
let text = "";
|
|
57765
57952
|
if (prompt[0].role === "system") {
|
|
@@ -58226,9 +58413,15 @@ var OllamaResponseProcessor = class {
|
|
|
58226
58413
|
this.config = config;
|
|
58227
58414
|
}
|
|
58228
58415
|
processGenerateResponse(response) {
|
|
58416
|
+
const content = this.extractContent(response);
|
|
58417
|
+
const hasToolCalls = content.some((item) => item.type === "tool-call");
|
|
58418
|
+
const rawFinishReason = mapOllamaFinishReason(response.done_reason);
|
|
58229
58419
|
return {
|
|
58230
|
-
content
|
|
58231
|
-
finishReason:
|
|
58420
|
+
content,
|
|
58421
|
+
finishReason: hasToolCalls && rawFinishReason.unified !== "tool-calls" ? {
|
|
58422
|
+
unified: "tool-calls",
|
|
58423
|
+
raw: "tool_calls"
|
|
58424
|
+
} : rawFinishReason,
|
|
58232
58425
|
usage: this.extractUsage(response),
|
|
58233
58426
|
providerMetadata: { ollama: {} }
|
|
58234
58427
|
};
|
|
@@ -58883,9 +59076,13 @@ var OllamaStreamProcessor = class {
|
|
|
58883
59076
|
type: "reasoning-end",
|
|
58884
59077
|
id: this.state.reasoningId
|
|
58885
59078
|
});
|
|
59079
|
+
const correctedFinishReason = this.state.hasToolCalls && this.state.finishReason.unified !== "tool-calls" ? {
|
|
59080
|
+
unified: "tool-calls",
|
|
59081
|
+
raw: "tool_calls"
|
|
59082
|
+
} : this.state.finishReason;
|
|
58886
59083
|
controller.enqueue({
|
|
58887
59084
|
type: "finish",
|
|
58888
|
-
finishReason:
|
|
59085
|
+
finishReason: correctedFinishReason,
|
|
58889
59086
|
usage: this.state.usage,
|
|
58890
59087
|
providerMetadata: { ollama: { responseId: this.state.responseId } }
|
|
58891
59088
|
});
|
|
@@ -59019,7 +59216,7 @@ function createOllama(options = {}) {
|
|
|
59019
59216
|
}
|
|
59020
59217
|
createOllama();
|
|
59021
59218
|
//#endregion
|
|
59022
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
59219
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/symbols.js
|
|
59023
59220
|
var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
59024
59221
|
module.exports = {
|
|
59025
59222
|
kClose: Symbol("close"),
|
|
@@ -59091,11 +59288,12 @@ var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
59091
59288
|
kPingInterval: Symbol("ping interval"),
|
|
59092
59289
|
kNoProxyAgent: Symbol("no proxy agent"),
|
|
59093
59290
|
kHttpProxyAgent: Symbol("http proxy agent"),
|
|
59094
|
-
kHttpsProxyAgent: Symbol("https proxy agent")
|
|
59291
|
+
kHttpsProxyAgent: Symbol("https proxy agent"),
|
|
59292
|
+
kSocks5ProxyAgent: Symbol("socks5 proxy agent")
|
|
59095
59293
|
};
|
|
59096
59294
|
}));
|
|
59097
59295
|
//#endregion
|
|
59098
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
59296
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/timers.js
|
|
59099
59297
|
var require_timers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
59100
59298
|
/**
|
|
59101
59299
|
* This module offers an optimized timer implementation designed for scenarios
|
|
@@ -59376,7 +59574,7 @@ var require_timers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
59376
59574
|
};
|
|
59377
59575
|
}));
|
|
59378
59576
|
//#endregion
|
|
59379
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
59577
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/errors.js
|
|
59380
59578
|
var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
59381
59579
|
const kUndiciError = Symbol.for("undici.error.UND_ERR");
|
|
59382
59580
|
var UndiciError = class extends Error {
|
|
@@ -59733,6 +59931,29 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
59733
59931
|
return true;
|
|
59734
59932
|
}
|
|
59735
59933
|
};
|
|
59934
|
+
var Socks5ProxyError = class extends UndiciError {
|
|
59935
|
+
constructor(message, code) {
|
|
59936
|
+
super(message);
|
|
59937
|
+
this.name = "Socks5ProxyError";
|
|
59938
|
+
this.message = message || "SOCKS5 proxy error";
|
|
59939
|
+
this.code = code || "UND_ERR_SOCKS5";
|
|
59940
|
+
}
|
|
59941
|
+
};
|
|
59942
|
+
const kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
|
|
59943
|
+
var MessageSizeExceededError = class extends UndiciError {
|
|
59944
|
+
constructor(message) {
|
|
59945
|
+
super(message);
|
|
59946
|
+
this.name = "MessageSizeExceededError";
|
|
59947
|
+
this.message = message || "Max decompressed message size exceeded";
|
|
59948
|
+
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
|
|
59949
|
+
}
|
|
59950
|
+
static [Symbol.hasInstance](instance) {
|
|
59951
|
+
return instance && instance[kMessageSizeExceededError] === true;
|
|
59952
|
+
}
|
|
59953
|
+
get [kMessageSizeExceededError]() {
|
|
59954
|
+
return true;
|
|
59955
|
+
}
|
|
59956
|
+
};
|
|
59736
59957
|
module.exports = {
|
|
59737
59958
|
AbortError,
|
|
59738
59959
|
HTTPParserError,
|
|
@@ -59756,11 +59977,13 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
59756
59977
|
RequestRetryError,
|
|
59757
59978
|
ResponseError,
|
|
59758
59979
|
SecureProxyConnectionError,
|
|
59759
|
-
MaxOriginsReachedError
|
|
59980
|
+
MaxOriginsReachedError,
|
|
59981
|
+
Socks5ProxyError,
|
|
59982
|
+
MessageSizeExceededError
|
|
59760
59983
|
};
|
|
59761
59984
|
}));
|
|
59762
59985
|
//#endregion
|
|
59763
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
59986
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/constants.js
|
|
59764
59987
|
var require_constants$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
59765
59988
|
/**
|
|
59766
59989
|
* @see https://developer.mozilla.org/docs/Web/HTTP/Headers
|
|
@@ -59891,7 +60114,7 @@ var require_constants$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
59891
60114
|
};
|
|
59892
60115
|
}));
|
|
59893
60116
|
//#endregion
|
|
59894
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
60117
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/tree.js
|
|
59895
60118
|
var require_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
59896
60119
|
const { wellknownHeaderNames, headerNameLowerCasedRecord } = require_constants$5();
|
|
59897
60120
|
var TstNode = class TstNode {
|
|
@@ -60009,13 +60232,13 @@ var require_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60009
60232
|
};
|
|
60010
60233
|
}));
|
|
60011
60234
|
//#endregion
|
|
60012
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
60235
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/util.js
|
|
60013
60236
|
var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60014
60237
|
const assert$33 = __require("node:assert");
|
|
60015
60238
|
const { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
|
|
60016
60239
|
const { IncomingMessage } = __require("node:http");
|
|
60017
60240
|
const stream = __require("node:stream");
|
|
60018
|
-
const net$
|
|
60241
|
+
const net$4 = __require("node:net");
|
|
60019
60242
|
const { stringify } = __require("node:querystring");
|
|
60020
60243
|
const { EventEmitter: EE$3 } = __require("node:events");
|
|
60021
60244
|
const timers = require_timers();
|
|
@@ -60176,7 +60399,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60176
60399
|
if (!host) return null;
|
|
60177
60400
|
assert$33(typeof host === "string");
|
|
60178
60401
|
const servername = getHostname(host);
|
|
60179
|
-
if (net$
|
|
60402
|
+
if (net$4.isIP(servername)) return "";
|
|
60180
60403
|
return servername;
|
|
60181
60404
|
}
|
|
60182
60405
|
/**
|
|
@@ -60203,6 +60426,18 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60203
60426
|
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
|
|
60204
60427
|
}
|
|
60205
60428
|
/**
|
|
60429
|
+
* Checks whether an object has a safe Symbol.iterator — i.e. one that is
|
|
60430
|
+
* either own or inherited from a non-Object.prototype chain. This prevents
|
|
60431
|
+
* prototype-pollution attacks from injecting a fake iterator on
|
|
60432
|
+
* Object.prototype.
|
|
60433
|
+
* @param {object} obj
|
|
60434
|
+
* @returns {boolean}
|
|
60435
|
+
*/
|
|
60436
|
+
function hasSafeIterator(obj) {
|
|
60437
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
60438
|
+
return Object.prototype.hasOwnProperty.call(obj, Symbol.iterator) || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
|
|
60439
|
+
}
|
|
60440
|
+
/**
|
|
60206
60441
|
* @param {Blob|Buffer|import ('stream').Stream} body
|
|
60207
60442
|
* @returns {number|null}
|
|
60208
60443
|
*/
|
|
@@ -60874,6 +61109,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60874
61109
|
getServerName,
|
|
60875
61110
|
isStream,
|
|
60876
61111
|
isIterable,
|
|
61112
|
+
hasSafeIterator,
|
|
60877
61113
|
isAsyncIterable,
|
|
60878
61114
|
isDestroyed,
|
|
60879
61115
|
headerNameToString,
|
|
@@ -60918,7 +61154,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60918
61154
|
};
|
|
60919
61155
|
}));
|
|
60920
61156
|
//#endregion
|
|
60921
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61157
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/stats.js
|
|
60922
61158
|
var require_stats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60923
61159
|
const { kConnected, kPending, kRunning, kSize, kFree, kQueued } = require_symbols();
|
|
60924
61160
|
var ClientStats = class {
|
|
@@ -60945,7 +61181,7 @@ var require_stats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
60945
61181
|
};
|
|
60946
61182
|
}));
|
|
60947
61183
|
//#endregion
|
|
60948
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61184
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/diagnostics.js
|
|
60949
61185
|
var require_diagnostics = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
60950
61186
|
const diagnosticsChannel$1 = __require("node:diagnostics_channel");
|
|
60951
61187
|
const util$1 = __require("node:util");
|
|
@@ -61054,32 +61290,35 @@ var require_diagnostics = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61054
61290
|
module.exports = { channels };
|
|
61055
61291
|
}));
|
|
61056
61292
|
//#endregion
|
|
61057
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61293
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/request.js
|
|
61058
61294
|
var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61059
61295
|
const { InvalidArgumentError, NotSupportedError } = require_errors();
|
|
61060
61296
|
const assert$32 = __require("node:assert");
|
|
61061
|
-
const { isValidHTTPToken, isValidHeaderValue, isStream, destroy, isBuffer, isFormDataLike, isIterable, isBlobLike, serializePathWithQuery, assertRequestHandler, getServerName, normalizedMethodRecords, getProtocolFromUrlString } = require_util$5();
|
|
61297
|
+
const { isValidHTTPToken, isValidHeaderValue, isStream, destroy, isBuffer, isFormDataLike, isIterable, hasSafeIterator, isBlobLike, serializePathWithQuery, assertRequestHandler, getServerName, normalizedMethodRecords, getProtocolFromUrlString } = require_util$5();
|
|
61062
61298
|
const { channels } = require_diagnostics();
|
|
61063
61299
|
const { headerNameLowerCasedRecord } = require_constants$5();
|
|
61064
61300
|
const invalidPathRegex = /[^\u0021-\u00ff]/;
|
|
61065
61301
|
const kHandler = Symbol("handler");
|
|
61066
61302
|
var Request = class {
|
|
61067
|
-
constructor(origin, { path, method, body, headers, query, idempotent, blocking, upgrade, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections }, handler) {
|
|
61303
|
+
constructor(origin, { path, method, body, headers, query, idempotent, blocking, upgrade, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections, typeOfService }, handler) {
|
|
61068
61304
|
if (typeof path !== "string") throw new InvalidArgumentError("path must be a string");
|
|
61069
61305
|
else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
|
|
61070
61306
|
else if (invalidPathRegex.test(path)) throw new InvalidArgumentError("invalid request path");
|
|
61071
61307
|
if (typeof method !== "string") throw new InvalidArgumentError("method must be a string");
|
|
61072
61308
|
else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) throw new InvalidArgumentError("invalid request method");
|
|
61073
61309
|
if (upgrade && typeof upgrade !== "string") throw new InvalidArgumentError("upgrade must be a string");
|
|
61310
|
+
if (upgrade && !isValidHeaderValue(upgrade)) throw new InvalidArgumentError("invalid upgrade header");
|
|
61074
61311
|
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError("invalid headersTimeout");
|
|
61075
61312
|
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError("invalid bodyTimeout");
|
|
61076
61313
|
if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError("invalid reset");
|
|
61077
61314
|
if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError("invalid expectContinue");
|
|
61078
61315
|
if (throwOnError != null) throw new InvalidArgumentError("invalid throwOnError");
|
|
61079
61316
|
if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
|
|
61317
|
+
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
|
|
61080
61318
|
this.headersTimeout = headersTimeout;
|
|
61081
61319
|
this.bodyTimeout = bodyTimeout;
|
|
61082
61320
|
this.method = method;
|
|
61321
|
+
this.typeOfService = typeOfService ?? 0;
|
|
61083
61322
|
this.abort = null;
|
|
61084
61323
|
if (body == null) this.body = null;
|
|
61085
61324
|
else if (isStream(body)) {
|
|
@@ -61119,7 +61358,7 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61119
61358
|
if (Array.isArray(headers)) {
|
|
61120
61359
|
if (headers.length % 2 !== 0) throw new InvalidArgumentError("headers array must be even");
|
|
61121
61360
|
for (let i = 0; i < headers.length; i += 2) processHeader(this, headers[i], headers[i + 1]);
|
|
61122
|
-
} else if (headers && typeof headers === "object") if (headers
|
|
61361
|
+
} else if (headers && typeof headers === "object") if (hasSafeIterator(headers)) for (const header of headers) {
|
|
61123
61362
|
if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError("headers must be in key-value pair format");
|
|
61124
61363
|
processHeader(this, header[0], header[1]);
|
|
61125
61364
|
}
|
|
@@ -61261,10 +61500,12 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61261
61500
|
if (!isValidHeaderValue(val)) throw new InvalidArgumentError(`invalid ${key} header`);
|
|
61262
61501
|
} else if (val === null) val = "";
|
|
61263
61502
|
else val = `${val}`;
|
|
61264
|
-
if (
|
|
61503
|
+
if (headerName === "host") {
|
|
61504
|
+
if (request.host !== null) throw new InvalidArgumentError("duplicate host header");
|
|
61265
61505
|
if (typeof val !== "string") throw new InvalidArgumentError("invalid host header");
|
|
61266
61506
|
request.host = val;
|
|
61267
|
-
} else if (
|
|
61507
|
+
} else if (headerName === "content-length") {
|
|
61508
|
+
if (request.contentLength !== null) throw new InvalidArgumentError("duplicate content-length header");
|
|
61268
61509
|
request.contentLength = parseInt(val, 10);
|
|
61269
61510
|
if (!Number.isFinite(request.contentLength)) throw new InvalidArgumentError("invalid content-length header");
|
|
61270
61511
|
} else if (request.contentType === null && headerName === "content-type") {
|
|
@@ -61281,7 +61522,7 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61281
61522
|
module.exports = Request;
|
|
61282
61523
|
}));
|
|
61283
61524
|
//#endregion
|
|
61284
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61525
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/wrap-handler.js
|
|
61285
61526
|
var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61286
61527
|
const { InvalidArgumentError } = require_errors();
|
|
61287
61528
|
module.exports = class WrapHandler {
|
|
@@ -61295,6 +61536,9 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61295
61536
|
onConnect(abort, context) {
|
|
61296
61537
|
return this.#handler.onConnect?.(abort, context);
|
|
61297
61538
|
}
|
|
61539
|
+
onResponseStarted() {
|
|
61540
|
+
return this.#handler.onResponseStarted?.();
|
|
61541
|
+
}
|
|
61298
61542
|
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
|
|
61299
61543
|
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
|
|
61300
61544
|
}
|
|
@@ -61316,12 +61560,12 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61316
61560
|
}
|
|
61317
61561
|
onRequestUpgrade(controller, statusCode, headers, socket) {
|
|
61318
61562
|
const rawHeaders = [];
|
|
61319
|
-
for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key
|
|
61563
|
+
for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
61320
61564
|
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
|
|
61321
61565
|
}
|
|
61322
61566
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
61323
61567
|
const rawHeaders = [];
|
|
61324
|
-
for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key
|
|
61568
|
+
for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
61325
61569
|
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) controller.pause();
|
|
61326
61570
|
}
|
|
61327
61571
|
onResponseData(controller, data) {
|
|
@@ -61329,7 +61573,7 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61329
61573
|
}
|
|
61330
61574
|
onResponseEnd(controller, trailers) {
|
|
61331
61575
|
const rawTrailers = [];
|
|
61332
|
-
for (const [key, val] of Object.entries(trailers)) rawTrailers.push(Buffer.from(key
|
|
61576
|
+
for (const [key, val] of Object.entries(trailers)) rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
61333
61577
|
this.#handler.onComplete?.(rawTrailers);
|
|
61334
61578
|
}
|
|
61335
61579
|
onResponseError(controller, err) {
|
|
@@ -61337,14 +61581,17 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61337
61581
|
this.#handler.onError?.(err);
|
|
61338
61582
|
}
|
|
61339
61583
|
};
|
|
61584
|
+
function toRawHeaderValue(value) {
|
|
61585
|
+
return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
|
|
61586
|
+
}
|
|
61340
61587
|
}));
|
|
61341
61588
|
//#endregion
|
|
61342
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61589
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
61343
61590
|
var require_dispatcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61344
|
-
const EventEmitter$
|
|
61591
|
+
const EventEmitter$3 = __require("node:events");
|
|
61345
61592
|
const WrapHandler = require_wrap_handler();
|
|
61346
61593
|
const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler));
|
|
61347
|
-
var Dispatcher = class extends EventEmitter$
|
|
61594
|
+
var Dispatcher = class extends EventEmitter$3 {
|
|
61348
61595
|
dispatch() {
|
|
61349
61596
|
throw new Error("not implemented");
|
|
61350
61597
|
}
|
|
@@ -61370,7 +61617,7 @@ var require_dispatcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61370
61617
|
module.exports = Dispatcher;
|
|
61371
61618
|
}));
|
|
61372
61619
|
//#endregion
|
|
61373
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61620
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/unwrap-handler.js
|
|
61374
61621
|
var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61375
61622
|
const { parseHeaders } = require_util$5();
|
|
61376
61623
|
const { InvalidArgumentError } = require_errors();
|
|
@@ -61423,6 +61670,9 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
61423
61670
|
this.#controller = new UnwrapController(abort);
|
|
61424
61671
|
this.#handler.onRequestStart?.(this.#controller, context);
|
|
61425
61672
|
}
|
|
61673
|
+
onResponseStarted() {
|
|
61674
|
+
return this.#handler.onResponseStarted?.();
|
|
61675
|
+
}
|
|
61426
61676
|
onUpgrade(statusCode, rawHeaders, socket) {
|
|
61427
61677
|
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
|
|
61428
61678
|
}
|
|
@@ -61445,7 +61695,7 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
61445
61695
|
};
|
|
61446
61696
|
}));
|
|
61447
61697
|
//#endregion
|
|
61448
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61698
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
61449
61699
|
var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61450
61700
|
const Dispatcher = require_dispatcher();
|
|
61451
61701
|
const UnwrapHandler = require_unwrap_handler();
|
|
@@ -61542,9 +61792,9 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
61542
61792
|
module.exports = DispatcherBase;
|
|
61543
61793
|
}));
|
|
61544
61794
|
//#endregion
|
|
61545
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61795
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/connect.js
|
|
61546
61796
|
var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
61547
|
-
const net$
|
|
61797
|
+
const net$3 = __require("node:net");
|
|
61548
61798
|
const assert$31 = __require("node:assert");
|
|
61549
61799
|
const util = require_util$5();
|
|
61550
61800
|
const { InvalidArgumentError } = require_errors();
|
|
@@ -61604,7 +61854,7 @@ var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61604
61854
|
} else {
|
|
61605
61855
|
assert$31(!httpSocket, "httpSocket can only be sent on TLS update");
|
|
61606
61856
|
port = port || 80;
|
|
61607
|
-
socket = net$
|
|
61857
|
+
socket = net$3.connect({
|
|
61608
61858
|
highWaterMark: 64 * 1024,
|
|
61609
61859
|
...options,
|
|
61610
61860
|
localAddress,
|
|
@@ -61643,7 +61893,7 @@ var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
61643
61893
|
module.exports = buildConnector;
|
|
61644
61894
|
}));
|
|
61645
61895
|
//#endregion
|
|
61646
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61896
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/utils.js
|
|
61647
61897
|
var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
61648
61898
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61649
61899
|
exports.enumToMap = enumToMap;
|
|
@@ -61656,7 +61906,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
61656
61906
|
}
|
|
61657
61907
|
}));
|
|
61658
61908
|
//#endregion
|
|
61659
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
61909
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/constants.js
|
|
61660
61910
|
var require_constants$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
61661
61911
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61662
61912
|
exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
|
|
@@ -62242,27 +62492,27 @@ var require_constants$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
62242
62492
|
};
|
|
62243
62493
|
}));
|
|
62244
62494
|
//#endregion
|
|
62245
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62495
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
62246
62496
|
var require_llhttp_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62247
|
-
const { Buffer: Buffer$
|
|
62497
|
+
const { Buffer: Buffer$5 } = __require("node:buffer");
|
|
62248
62498
|
const wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
62249
62499
|
let wasmBuffer;
|
|
62250
62500
|
Object.defineProperty(module, "exports", { get: () => {
|
|
62251
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$
|
|
62501
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$5.from(wasmBase64, "base64");
|
|
62252
62502
|
} });
|
|
62253
62503
|
}));
|
|
62254
62504
|
//#endregion
|
|
62255
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62505
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
62256
62506
|
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62257
|
-
const { Buffer: Buffer$
|
|
62507
|
+
const { Buffer: Buffer$4 } = __require("node:buffer");
|
|
62258
62508
|
const wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
62259
62509
|
let wasmBuffer;
|
|
62260
62510
|
Object.defineProperty(module, "exports", { get: () => {
|
|
62261
|
-
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$
|
|
62511
|
+
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$4.from(wasmBase64, "base64");
|
|
62262
62512
|
} });
|
|
62263
62513
|
}));
|
|
62264
62514
|
//#endregion
|
|
62265
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62515
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/constants.js
|
|
62266
62516
|
var require_constants$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62267
62517
|
const corsSafeListedMethods = [
|
|
62268
62518
|
"GET",
|
|
@@ -62483,7 +62733,7 @@ var require_constants$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
62483
62733
|
};
|
|
62484
62734
|
}));
|
|
62485
62735
|
//#endregion
|
|
62486
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62736
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/global.js
|
|
62487
62737
|
var require_global$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62488
62738
|
const globalOrigin = Symbol.for("undici.globalOrigin.1");
|
|
62489
62739
|
function getGlobalOrigin() {
|
|
@@ -62514,7 +62764,7 @@ var require_global$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
62514
62764
|
};
|
|
62515
62765
|
}));
|
|
62516
62766
|
//#endregion
|
|
62517
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62767
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/encoding/index.js
|
|
62518
62768
|
var require_encoding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62519
62769
|
const textDecoder = new TextDecoder();
|
|
62520
62770
|
/**
|
|
@@ -62529,7 +62779,7 @@ var require_encoding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
62529
62779
|
module.exports = { utf8DecodeBytes };
|
|
62530
62780
|
}));
|
|
62531
62781
|
//#endregion
|
|
62532
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62782
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/infra/index.js
|
|
62533
62783
|
var require_infra = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62534
62784
|
const assert$30 = __require("node:assert");
|
|
62535
62785
|
const { utf8DecodeBytes } = require_encoding();
|
|
@@ -62679,7 +62929,7 @@ var require_infra = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
62679
62929
|
};
|
|
62680
62930
|
}));
|
|
62681
62931
|
//#endregion
|
|
62682
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
62932
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/data-url.js
|
|
62683
62933
|
var require_data_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62684
62934
|
const assert$29 = __require("node:assert");
|
|
62685
62935
|
const { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
|
|
@@ -62920,7 +63170,7 @@ var require_data_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
62920
63170
|
};
|
|
62921
63171
|
}));
|
|
62922
63172
|
//#endregion
|
|
62923
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
63173
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/runtime-features.js
|
|
62924
63174
|
var require_runtime_features = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
62925
63175
|
/** @typedef {`node:${string}`} NodeModuleName */
|
|
62926
63176
|
/** @type {Record<NodeModuleName, () => any>} */
|
|
@@ -63018,7 +63268,7 @@ var require_runtime_features = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
63018
63268
|
module.exports.default = instance;
|
|
63019
63269
|
}));
|
|
63020
63270
|
//#endregion
|
|
63021
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
63271
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/webidl/index.js
|
|
63022
63272
|
var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
63023
63273
|
const assert$28 = __require("node:assert");
|
|
63024
63274
|
const { types: types$1, inspect } = __require("node:util");
|
|
@@ -63272,6 +63522,7 @@ var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
63272
63522
|
};
|
|
63273
63523
|
};
|
|
63274
63524
|
webidl.dictionaryConverter = function(converters) {
|
|
63525
|
+
converters.sort((a, b) => (a.key > b.key) - (a.key < b.key));
|
|
63275
63526
|
return (dictionary, prefix, argument) => {
|
|
63276
63527
|
const dict = {};
|
|
63277
63528
|
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) throw webidl.errors.exception({
|
|
@@ -63518,7 +63769,7 @@ var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
63518
63769
|
module.exports = { webidl };
|
|
63519
63770
|
}));
|
|
63520
63771
|
//#endregion
|
|
63521
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
63772
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/util.js
|
|
63522
63773
|
var require_util$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
63523
63774
|
const { Transform: Transform$2 } = __require("node:stream");
|
|
63524
63775
|
const zlib$1 = __require("node:zlib");
|
|
@@ -64307,7 +64558,7 @@ var require_util$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
64307
64558
|
};
|
|
64308
64559
|
}));
|
|
64309
64560
|
//#endregion
|
|
64310
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
64561
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata.js
|
|
64311
64562
|
var require_formdata = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
64312
64563
|
const { iteratorMixin } = require_util$4();
|
|
64313
64564
|
const { kEnumerableProperty } = require_util$5();
|
|
@@ -64453,7 +64704,7 @@ var require_formdata = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
64453
64704
|
};
|
|
64454
64705
|
}));
|
|
64455
64706
|
//#endregion
|
|
64456
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
64707
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
64457
64708
|
var require_formdata_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
64458
64709
|
const { bufferToLowerCasedHeaderName } = require_util$5();
|
|
64459
64710
|
const { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
@@ -64692,7 +64943,7 @@ var require_formdata_parser = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
64692
64943
|
};
|
|
64693
64944
|
}));
|
|
64694
64945
|
//#endregion
|
|
64695
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
64946
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/promise.js
|
|
64696
64947
|
var require_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
64697
64948
|
/**
|
|
64698
64949
|
* @template {*} T
|
|
@@ -64720,7 +64971,7 @@ var require_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
64720
64971
|
module.exports = { createDeferredPromise };
|
|
64721
64972
|
}));
|
|
64722
64973
|
//#endregion
|
|
64723
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
64974
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/body.js
|
|
64724
64975
|
var require_body = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
64725
64976
|
const util = require_util$5();
|
|
64726
64977
|
const { ReadableStreamFrom, readableStreamClose, fullyReadBody, extractMimeType } = require_util$4();
|
|
@@ -64978,7 +65229,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r\n\r\n`);
|
|
|
64978
65229
|
};
|
|
64979
65230
|
}));
|
|
64980
65231
|
//#endregion
|
|
64981
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
65232
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h1.js
|
|
64982
65233
|
var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
64983
65234
|
const assert$24 = __require("node:assert");
|
|
64984
65235
|
const util = require_util$5();
|
|
@@ -65592,6 +65843,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
65592
65843
|
if (reset != null) socket[kReset] = reset;
|
|
65593
65844
|
if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) socket[kReset] = true;
|
|
65594
65845
|
if (blocking) socket[kBlocking] = true;
|
|
65846
|
+
if (socket.setTypeOfService) socket.setTypeOfService(request.typeOfService);
|
|
65595
65847
|
let header = `${method} ${path} HTTP/1.1\r\n`;
|
|
65596
65848
|
if (typeof host === "string") header += `host: ${host}\r\n`;
|
|
65597
65849
|
else header += client[kHostHeader];
|
|
@@ -65902,7 +66154,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
65902
66154
|
module.exports = connectH1;
|
|
65903
66155
|
}));
|
|
65904
66156
|
//#endregion
|
|
65905
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
66157
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h2.js
|
|
65906
66158
|
var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
65907
66159
|
const assert$23 = __require("node:assert");
|
|
65908
66160
|
const { pipeline: pipeline$4 } = __require("node:stream");
|
|
@@ -66286,9 +66538,10 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66286
66538
|
return;
|
|
66287
66539
|
}
|
|
66288
66540
|
if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) stream.pause();
|
|
66289
|
-
|
|
66290
|
-
|
|
66291
|
-
|
|
66541
|
+
stream.on("data", (chunk) => {
|
|
66542
|
+
if (request.aborted || request.completed) return;
|
|
66543
|
+
if (request.onData(chunk) === false) stream.pause();
|
|
66544
|
+
});
|
|
66292
66545
|
});
|
|
66293
66546
|
stream.once("end", () => {
|
|
66294
66547
|
stream.removeAllListeners("data");
|
|
@@ -66328,6 +66581,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66328
66581
|
});
|
|
66329
66582
|
stream.once("trailers", (trailers) => {
|
|
66330
66583
|
if (request.aborted || request.completed) return;
|
|
66584
|
+
stream.removeAllListeners("data");
|
|
66331
66585
|
request.onComplete(trailers);
|
|
66332
66586
|
});
|
|
66333
66587
|
return true;
|
|
@@ -66429,10 +66683,10 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66429
66683
|
module.exports = connectH2;
|
|
66430
66684
|
}));
|
|
66431
66685
|
//#endregion
|
|
66432
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
66686
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client.js
|
|
66433
66687
|
var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
66434
66688
|
const assert$22 = __require("node:assert");
|
|
66435
|
-
const net = __require("node:net");
|
|
66689
|
+
const net$2 = __require("node:net");
|
|
66436
66690
|
const http = __require("node:http");
|
|
66437
66691
|
const util = require_util$5();
|
|
66438
66692
|
const { ClientStats } = require_stats();
|
|
@@ -66479,7 +66733,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66479
66733
|
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
|
|
66480
66734
|
if (connect != null && typeof connect !== "function" && typeof connect !== "object") throw new InvalidArgumentError("connect must be a function or an object");
|
|
66481
66735
|
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
|
|
66482
|
-
if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) throw new InvalidArgumentError("localAddress must be valid string IP address");
|
|
66736
|
+
if (localAddress != null && (typeof localAddress !== "string" || net$2.isIP(localAddress) === 0)) throw new InvalidArgumentError("localAddress must be valid string IP address");
|
|
66483
66737
|
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError("maxResponseSize must be a positive number");
|
|
66484
66738
|
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
|
|
66485
66739
|
if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError("allowH2 must be a valid boolean value");
|
|
@@ -66502,6 +66756,13 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66502
66756
|
} : void 0,
|
|
66503
66757
|
...connect
|
|
66504
66758
|
});
|
|
66759
|
+
else if (socketPath != null) {
|
|
66760
|
+
const customConnect = connect;
|
|
66761
|
+
connect = (opts, callback) => customConnect({
|
|
66762
|
+
...opts,
|
|
66763
|
+
socketPath
|
|
66764
|
+
}, callback);
|
|
66765
|
+
}
|
|
66505
66766
|
this[kUrl] = util.parseOrigin(url);
|
|
66506
66767
|
this[kConnector] = connect;
|
|
66507
66768
|
this[kPipelining] = pipelining != null ? pipelining : 1;
|
|
@@ -66622,7 +66883,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66622
66883
|
const idx = hostname.indexOf("]");
|
|
66623
66884
|
assert$22(idx !== -1);
|
|
66624
66885
|
const ip = hostname.substring(1, idx);
|
|
66625
|
-
assert$22(net.isIPv6(ip));
|
|
66886
|
+
assert$22(net$2.isIPv6(ip));
|
|
66626
66887
|
hostname = ip;
|
|
66627
66888
|
}
|
|
66628
66889
|
client[kConnecting] = true;
|
|
@@ -66760,6 +67021,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66760
67021
|
if (client[kPending] === 0) return;
|
|
66761
67022
|
if (client[kRunning] >= (getPipelining(client) || 1)) return;
|
|
66762
67023
|
const request = client[kQueue][client[kPendingIdx]];
|
|
67024
|
+
if (request === null) return;
|
|
66763
67025
|
if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
|
|
66764
67026
|
if (client[kRunning] > 0) return;
|
|
66765
67027
|
client[kServerName] = request.servername;
|
|
@@ -66782,7 +67044,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66782
67044
|
module.exports = Client;
|
|
66783
67045
|
}));
|
|
66784
67046
|
//#endregion
|
|
66785
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67047
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
66786
67048
|
var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
66787
67049
|
const kSize = 2048;
|
|
66788
67050
|
const kMask = kSize - 1;
|
|
@@ -66854,7 +67116,7 @@ var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
66854
67116
|
};
|
|
66855
67117
|
}));
|
|
66856
67118
|
//#endregion
|
|
66857
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67119
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/pool-base.js
|
|
66858
67120
|
var require_pool_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
66859
67121
|
const { PoolStats } = require_stats();
|
|
66860
67122
|
const DispatcherBase = require_dispatcher_base();
|
|
@@ -67002,7 +67264,7 @@ var require_pool_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67002
67264
|
};
|
|
67003
67265
|
}));
|
|
67004
67266
|
//#endregion
|
|
67005
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67267
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/pool.js
|
|
67006
67268
|
var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67007
67269
|
const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
|
|
67008
67270
|
const Client = require_client();
|
|
@@ -67040,7 +67302,8 @@ var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67040
67302
|
...util.deepClone(options),
|
|
67041
67303
|
connect,
|
|
67042
67304
|
allowH2,
|
|
67043
|
-
clientTtl
|
|
67305
|
+
clientTtl,
|
|
67306
|
+
socketPath
|
|
67044
67307
|
};
|
|
67045
67308
|
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
|
|
67046
67309
|
this[kFactory] = factory;
|
|
@@ -67068,13 +67331,13 @@ var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67068
67331
|
module.exports = Pool;
|
|
67069
67332
|
}));
|
|
67070
67333
|
//#endregion
|
|
67071
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67334
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
67072
67335
|
var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67073
67336
|
const { BalancedPoolMissingUpstreamError, InvalidArgumentError } = require_errors();
|
|
67074
67337
|
const { PoolBase, kClients, kNeedDrain, kAddClient, kRemoveClient, kGetDispatcher } = require_pool_base();
|
|
67075
67338
|
const Pool = require_pool();
|
|
67076
67339
|
const { kUrl } = require_symbols();
|
|
67077
|
-
const
|
|
67340
|
+
const util = require_util$5();
|
|
67078
67341
|
const kFactory = Symbol("factory");
|
|
67079
67342
|
const kOptions = Symbol("options");
|
|
67080
67343
|
const kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
|
|
@@ -67107,7 +67370,8 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
67107
67370
|
constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
|
|
67108
67371
|
if (typeof factory !== "function") throw new InvalidArgumentError("factory must be a function.");
|
|
67109
67372
|
super();
|
|
67110
|
-
this[kOptions] = opts;
|
|
67373
|
+
this[kOptions] = { ...util.deepClone(opts) };
|
|
67374
|
+
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
67111
67375
|
this[kIndex] = -1;
|
|
67112
67376
|
this[kCurrentWeight] = 0;
|
|
67113
67377
|
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
|
|
@@ -67118,9 +67382,9 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
67118
67382
|
this._updateBalancedPoolStats();
|
|
67119
67383
|
}
|
|
67120
67384
|
addUpstream(upstream) {
|
|
67121
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
67385
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
67122
67386
|
if (this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true)) return this;
|
|
67123
|
-
const pool = this[kFactory](upstreamOrigin,
|
|
67387
|
+
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
|
|
67124
67388
|
this[kAddClient](pool);
|
|
67125
67389
|
pool.on("connect", () => {
|
|
67126
67390
|
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
|
|
@@ -67146,13 +67410,13 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
67146
67410
|
this[kGreatestCommonDivisor] = result;
|
|
67147
67411
|
}
|
|
67148
67412
|
removeUpstream(upstream) {
|
|
67149
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
67413
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
67150
67414
|
const pool = this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
|
|
67151
67415
|
if (pool) this[kRemoveClient](pool);
|
|
67152
67416
|
return this;
|
|
67153
67417
|
}
|
|
67154
67418
|
getUpstream(upstream) {
|
|
67155
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
67419
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
67156
67420
|
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
|
|
67157
67421
|
}
|
|
67158
67422
|
get upstreams() {
|
|
@@ -67182,7 +67446,7 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
67182
67446
|
module.exports = BalancedPool;
|
|
67183
67447
|
}));
|
|
67184
67448
|
//#endregion
|
|
67185
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67449
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
67186
67450
|
var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67187
67451
|
const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
|
|
67188
67452
|
const Client = require_client();
|
|
@@ -67221,7 +67485,8 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
67221
67485
|
...util.deepClone(options),
|
|
67222
67486
|
connect,
|
|
67223
67487
|
allowH2,
|
|
67224
|
-
clientTtl
|
|
67488
|
+
clientTtl,
|
|
67489
|
+
socketPath
|
|
67225
67490
|
};
|
|
67226
67491
|
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
|
|
67227
67492
|
this[kFactory] = factory;
|
|
@@ -67266,7 +67531,7 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
67266
67531
|
module.exports = RoundRobinPool;
|
|
67267
67532
|
}));
|
|
67268
67533
|
//#endregion
|
|
67269
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67534
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/agent.js
|
|
67270
67535
|
var require_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67271
67536
|
const { InvalidArgumentError, MaxOriginsReachedError } = require_errors();
|
|
67272
67537
|
const { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
|
|
@@ -67376,7 +67641,598 @@ var require_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67376
67641
|
module.exports = Agent;
|
|
67377
67642
|
}));
|
|
67378
67643
|
//#endregion
|
|
67379
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
67644
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/socks5-utils.js
|
|
67645
|
+
var require_socks5_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67646
|
+
const { Buffer: Buffer$3 } = __require("node:buffer");
|
|
67647
|
+
const net$1 = __require("node:net");
|
|
67648
|
+
const { InvalidArgumentError } = require_errors();
|
|
67649
|
+
/**
|
|
67650
|
+
* Parse an address and determine its type
|
|
67651
|
+
* @param {string} address - The address to parse
|
|
67652
|
+
* @returns {{type: number, buffer: Buffer}} Address type and buffer
|
|
67653
|
+
*/
|
|
67654
|
+
function parseAddress(address) {
|
|
67655
|
+
if (net$1.isIPv4(address)) {
|
|
67656
|
+
const parts = address.split(".").map(Number);
|
|
67657
|
+
return {
|
|
67658
|
+
type: 1,
|
|
67659
|
+
buffer: Buffer$3.from(parts)
|
|
67660
|
+
};
|
|
67661
|
+
}
|
|
67662
|
+
if (net$1.isIPv6(address)) return {
|
|
67663
|
+
type: 4,
|
|
67664
|
+
buffer: parseIPv6(address)
|
|
67665
|
+
};
|
|
67666
|
+
const domainBuffer = Buffer$3.from(address, "utf8");
|
|
67667
|
+
if (domainBuffer.length > 255) throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
|
|
67668
|
+
return {
|
|
67669
|
+
type: 3,
|
|
67670
|
+
buffer: Buffer$3.concat([Buffer$3.from([domainBuffer.length]), domainBuffer])
|
|
67671
|
+
};
|
|
67672
|
+
}
|
|
67673
|
+
/**
|
|
67674
|
+
* Parse IPv6 address to buffer
|
|
67675
|
+
* @param {string} address - IPv6 address string
|
|
67676
|
+
* @returns {Buffer} 16-byte buffer
|
|
67677
|
+
*/
|
|
67678
|
+
function parseIPv6(address) {
|
|
67679
|
+
const buffer = Buffer$3.alloc(16);
|
|
67680
|
+
const parts = address.split(":");
|
|
67681
|
+
let partIndex = 0;
|
|
67682
|
+
let bufferIndex = 0;
|
|
67683
|
+
const doubleColonIndex = address.indexOf("::");
|
|
67684
|
+
if (doubleColonIndex !== -1) {
|
|
67685
|
+
const skipParts = 8 - parts.filter((p) => p.length > 0).length;
|
|
67686
|
+
for (let i = 0; i < parts.length; i++) if (parts[i] === "" && i === doubleColonIndex / 3) bufferIndex += skipParts * 2;
|
|
67687
|
+
else if (parts[i] !== "") {
|
|
67688
|
+
const value = parseInt(parts[i], 16);
|
|
67689
|
+
buffer.writeUInt16BE(value, bufferIndex);
|
|
67690
|
+
bufferIndex += 2;
|
|
67691
|
+
}
|
|
67692
|
+
} else for (const part of parts) {
|
|
67693
|
+
if (part === "") continue;
|
|
67694
|
+
const value = parseInt(part, 16);
|
|
67695
|
+
buffer.writeUInt16BE(value, partIndex * 2);
|
|
67696
|
+
partIndex++;
|
|
67697
|
+
}
|
|
67698
|
+
return buffer;
|
|
67699
|
+
}
|
|
67700
|
+
/**
|
|
67701
|
+
* Build a SOCKS5 address buffer
|
|
67702
|
+
* @param {number} type - Address type (1=IPv4, 3=Domain, 4=IPv6)
|
|
67703
|
+
* @param {Buffer} addressBuffer - The address data
|
|
67704
|
+
* @param {number} port - Port number
|
|
67705
|
+
* @returns {Buffer} Complete address buffer including type, address, and port
|
|
67706
|
+
*/
|
|
67707
|
+
function buildAddressBuffer(type, addressBuffer, port) {
|
|
67708
|
+
const portBuffer = Buffer$3.allocUnsafe(2);
|
|
67709
|
+
portBuffer.writeUInt16BE(port, 0);
|
|
67710
|
+
return Buffer$3.concat([
|
|
67711
|
+
Buffer$3.from([type]),
|
|
67712
|
+
addressBuffer,
|
|
67713
|
+
portBuffer
|
|
67714
|
+
]);
|
|
67715
|
+
}
|
|
67716
|
+
/**
|
|
67717
|
+
* Parse address from SOCKS5 response
|
|
67718
|
+
* @param {Buffer} buffer - Buffer containing the address
|
|
67719
|
+
* @param {number} offset - Starting offset in buffer
|
|
67720
|
+
* @returns {{address: string, port: number, bytesRead: number}}
|
|
67721
|
+
*/
|
|
67722
|
+
function parseResponseAddress(buffer, offset = 0) {
|
|
67723
|
+
if (buffer.length < offset + 1) throw new InvalidArgumentError("Buffer too small to contain address type");
|
|
67724
|
+
const addressType = buffer[offset];
|
|
67725
|
+
let address;
|
|
67726
|
+
let currentOffset = offset + 1;
|
|
67727
|
+
switch (addressType) {
|
|
67728
|
+
case 1:
|
|
67729
|
+
if (buffer.length < currentOffset + 6) throw new InvalidArgumentError("Buffer too small for IPv4 address");
|
|
67730
|
+
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
|
|
67731
|
+
currentOffset += 4;
|
|
67732
|
+
break;
|
|
67733
|
+
case 3: {
|
|
67734
|
+
if (buffer.length < currentOffset + 1) throw new InvalidArgumentError("Buffer too small for domain length");
|
|
67735
|
+
const domainLength = buffer[currentOffset];
|
|
67736
|
+
currentOffset += 1;
|
|
67737
|
+
if (buffer.length < currentOffset + domainLength + 2) throw new InvalidArgumentError("Buffer too small for domain address");
|
|
67738
|
+
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
|
|
67739
|
+
currentOffset += domainLength;
|
|
67740
|
+
break;
|
|
67741
|
+
}
|
|
67742
|
+
case 4: {
|
|
67743
|
+
if (buffer.length < currentOffset + 18) throw new InvalidArgumentError("Buffer too small for IPv6 address");
|
|
67744
|
+
const parts = [];
|
|
67745
|
+
for (let i = 0; i < 8; i++) {
|
|
67746
|
+
const value = buffer.readUInt16BE(currentOffset + i * 2);
|
|
67747
|
+
parts.push(value.toString(16));
|
|
67748
|
+
}
|
|
67749
|
+
address = parts.join(":");
|
|
67750
|
+
currentOffset += 16;
|
|
67751
|
+
break;
|
|
67752
|
+
}
|
|
67753
|
+
default: throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
|
|
67754
|
+
}
|
|
67755
|
+
if (buffer.length < currentOffset + 2) throw new InvalidArgumentError("Buffer too small for port");
|
|
67756
|
+
const port = buffer.readUInt16BE(currentOffset);
|
|
67757
|
+
currentOffset += 2;
|
|
67758
|
+
return {
|
|
67759
|
+
address,
|
|
67760
|
+
port,
|
|
67761
|
+
bytesRead: currentOffset - offset
|
|
67762
|
+
};
|
|
67763
|
+
}
|
|
67764
|
+
/**
|
|
67765
|
+
* Create error for SOCKS5 reply code
|
|
67766
|
+
* @param {number} replyCode - SOCKS5 reply code
|
|
67767
|
+
* @returns {Error} Appropriate error object
|
|
67768
|
+
*/
|
|
67769
|
+
function createReplyError(replyCode) {
|
|
67770
|
+
const message = {
|
|
67771
|
+
1: "General SOCKS server failure",
|
|
67772
|
+
2: "Connection not allowed by ruleset",
|
|
67773
|
+
3: "Network unreachable",
|
|
67774
|
+
4: "Host unreachable",
|
|
67775
|
+
5: "Connection refused",
|
|
67776
|
+
6: "TTL expired",
|
|
67777
|
+
7: "Command not supported",
|
|
67778
|
+
8: "Address type not supported"
|
|
67779
|
+
}[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
|
|
67780
|
+
const error = new Error(message);
|
|
67781
|
+
error.code = `SOCKS5_${replyCode}`;
|
|
67782
|
+
return error;
|
|
67783
|
+
}
|
|
67784
|
+
module.exports = {
|
|
67785
|
+
parseAddress,
|
|
67786
|
+
parseIPv6,
|
|
67787
|
+
buildAddressBuffer,
|
|
67788
|
+
parseResponseAddress,
|
|
67789
|
+
createReplyError
|
|
67790
|
+
};
|
|
67791
|
+
}));
|
|
67792
|
+
//#endregion
|
|
67793
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/socks5-client.js
|
|
67794
|
+
var require_socks5_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67795
|
+
const { EventEmitter: EventEmitter$2 } = __require("node:events");
|
|
67796
|
+
const { Buffer: Buffer$2 } = __require("node:buffer");
|
|
67797
|
+
const { InvalidArgumentError, Socks5ProxyError } = require_errors();
|
|
67798
|
+
const { debuglog: debuglog$1 } = __require("node:util");
|
|
67799
|
+
const { parseAddress } = require_socks5_utils();
|
|
67800
|
+
const debug = debuglog$1("undici:socks5");
|
|
67801
|
+
const SOCKS_VERSION = 5;
|
|
67802
|
+
const AUTH_METHODS = {
|
|
67803
|
+
NO_AUTH: 0,
|
|
67804
|
+
GSSAPI: 1,
|
|
67805
|
+
USERNAME_PASSWORD: 2,
|
|
67806
|
+
NO_ACCEPTABLE: 255
|
|
67807
|
+
};
|
|
67808
|
+
const COMMANDS = {
|
|
67809
|
+
CONNECT: 1,
|
|
67810
|
+
BIND: 2,
|
|
67811
|
+
UDP_ASSOCIATE: 3
|
|
67812
|
+
};
|
|
67813
|
+
const ADDRESS_TYPES = {
|
|
67814
|
+
IPV4: 1,
|
|
67815
|
+
DOMAIN: 3,
|
|
67816
|
+
IPV6: 4
|
|
67817
|
+
};
|
|
67818
|
+
const REPLY_CODES = {
|
|
67819
|
+
SUCCEEDED: 0,
|
|
67820
|
+
GENERAL_FAILURE: 1,
|
|
67821
|
+
CONNECTION_NOT_ALLOWED: 2,
|
|
67822
|
+
NETWORK_UNREACHABLE: 3,
|
|
67823
|
+
HOST_UNREACHABLE: 4,
|
|
67824
|
+
CONNECTION_REFUSED: 5,
|
|
67825
|
+
TTL_EXPIRED: 6,
|
|
67826
|
+
COMMAND_NOT_SUPPORTED: 7,
|
|
67827
|
+
ADDRESS_TYPE_NOT_SUPPORTED: 8
|
|
67828
|
+
};
|
|
67829
|
+
const STATES = {
|
|
67830
|
+
INITIAL: "initial",
|
|
67831
|
+
HANDSHAKING: "handshaking",
|
|
67832
|
+
AUTHENTICATING: "authenticating",
|
|
67833
|
+
CONNECTING: "connecting",
|
|
67834
|
+
CONNECTED: "connected",
|
|
67835
|
+
ERROR: "error",
|
|
67836
|
+
CLOSED: "closed"
|
|
67837
|
+
};
|
|
67838
|
+
/**
|
|
67839
|
+
* SOCKS5 client implementation
|
|
67840
|
+
* Handles SOCKS5 protocol negotiation and connection establishment
|
|
67841
|
+
*/
|
|
67842
|
+
var Socks5Client = class extends EventEmitter$2 {
|
|
67843
|
+
constructor(socket, options = {}) {
|
|
67844
|
+
super();
|
|
67845
|
+
if (!socket) throw new InvalidArgumentError("socket is required");
|
|
67846
|
+
this.socket = socket;
|
|
67847
|
+
this.options = options;
|
|
67848
|
+
this.state = STATES.INITIAL;
|
|
67849
|
+
this.buffer = Buffer$2.alloc(0);
|
|
67850
|
+
this.authMethods = [];
|
|
67851
|
+
if (options.username && options.password) this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
|
|
67852
|
+
this.authMethods.push(AUTH_METHODS.NO_AUTH);
|
|
67853
|
+
this.socket.on("data", this.onData.bind(this));
|
|
67854
|
+
this.socket.on("error", this.onError.bind(this));
|
|
67855
|
+
this.socket.on("close", this.onClose.bind(this));
|
|
67856
|
+
}
|
|
67857
|
+
/**
|
|
67858
|
+
* Handle incoming data from the socket
|
|
67859
|
+
*/
|
|
67860
|
+
onData(data) {
|
|
67861
|
+
debug("received data", data.length, "bytes in state", this.state);
|
|
67862
|
+
this.buffer = Buffer$2.concat([this.buffer, data]);
|
|
67863
|
+
try {
|
|
67864
|
+
switch (this.state) {
|
|
67865
|
+
case STATES.HANDSHAKING:
|
|
67866
|
+
this.handleHandshakeResponse();
|
|
67867
|
+
break;
|
|
67868
|
+
case STATES.AUTHENTICATING:
|
|
67869
|
+
this.handleAuthResponse();
|
|
67870
|
+
break;
|
|
67871
|
+
case STATES.CONNECTING:
|
|
67872
|
+
this.handleConnectResponse();
|
|
67873
|
+
break;
|
|
67874
|
+
}
|
|
67875
|
+
} catch (err) {
|
|
67876
|
+
this.onError(err);
|
|
67877
|
+
}
|
|
67878
|
+
}
|
|
67879
|
+
/**
|
|
67880
|
+
* Handle socket errors
|
|
67881
|
+
*/
|
|
67882
|
+
onError(err) {
|
|
67883
|
+
debug("socket error", err);
|
|
67884
|
+
this.state = STATES.ERROR;
|
|
67885
|
+
this.emit("error", err);
|
|
67886
|
+
this.destroy();
|
|
67887
|
+
}
|
|
67888
|
+
/**
|
|
67889
|
+
* Handle socket close
|
|
67890
|
+
*/
|
|
67891
|
+
onClose() {
|
|
67892
|
+
debug("socket closed");
|
|
67893
|
+
this.state = STATES.CLOSED;
|
|
67894
|
+
this.emit("close");
|
|
67895
|
+
}
|
|
67896
|
+
/**
|
|
67897
|
+
* Destroy the client and underlying socket
|
|
67898
|
+
*/
|
|
67899
|
+
destroy() {
|
|
67900
|
+
if (this.socket && !this.socket.destroyed) this.socket.destroy();
|
|
67901
|
+
}
|
|
67902
|
+
/**
|
|
67903
|
+
* Start the SOCKS5 handshake
|
|
67904
|
+
*/
|
|
67905
|
+
handshake() {
|
|
67906
|
+
if (this.state !== STATES.INITIAL) throw new InvalidArgumentError("Handshake already started");
|
|
67907
|
+
debug("starting handshake with", this.authMethods.length, "auth methods");
|
|
67908
|
+
this.state = STATES.HANDSHAKING;
|
|
67909
|
+
const request = Buffer$2.alloc(2 + this.authMethods.length);
|
|
67910
|
+
request[0] = SOCKS_VERSION;
|
|
67911
|
+
request[1] = this.authMethods.length;
|
|
67912
|
+
this.authMethods.forEach((method, i) => {
|
|
67913
|
+
request[2 + i] = method;
|
|
67914
|
+
});
|
|
67915
|
+
this.socket.write(request);
|
|
67916
|
+
}
|
|
67917
|
+
/**
|
|
67918
|
+
* Handle handshake response from server
|
|
67919
|
+
*/
|
|
67920
|
+
handleHandshakeResponse() {
|
|
67921
|
+
if (this.buffer.length < 2) return;
|
|
67922
|
+
const version = this.buffer[0];
|
|
67923
|
+
const method = this.buffer[1];
|
|
67924
|
+
if (version !== SOCKS_VERSION) throw new Socks5ProxyError(`Invalid SOCKS version: ${version}`, "UND_ERR_SOCKS5_VERSION");
|
|
67925
|
+
if (method === AUTH_METHODS.NO_ACCEPTABLE) throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
|
|
67926
|
+
this.buffer = this.buffer.subarray(2);
|
|
67927
|
+
debug("server selected auth method", method);
|
|
67928
|
+
if (method === AUTH_METHODS.NO_AUTH) this.emit("authenticated");
|
|
67929
|
+
else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
|
|
67930
|
+
this.state = STATES.AUTHENTICATING;
|
|
67931
|
+
this.sendAuthRequest();
|
|
67932
|
+
} else throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
|
|
67933
|
+
}
|
|
67934
|
+
/**
|
|
67935
|
+
* Send username/password authentication request
|
|
67936
|
+
*/
|
|
67937
|
+
sendAuthRequest() {
|
|
67938
|
+
const { username, password } = this.options;
|
|
67939
|
+
if (!username || !password) throw new InvalidArgumentError("Username and password required for authentication");
|
|
67940
|
+
debug("sending username/password auth");
|
|
67941
|
+
const usernameBuffer = Buffer$2.from(username);
|
|
67942
|
+
const passwordBuffer = Buffer$2.from(password);
|
|
67943
|
+
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError("Username or password too long");
|
|
67944
|
+
const request = Buffer$2.alloc(3 + usernameBuffer.length + passwordBuffer.length);
|
|
67945
|
+
request[0] = 1;
|
|
67946
|
+
request[1] = usernameBuffer.length;
|
|
67947
|
+
usernameBuffer.copy(request, 2);
|
|
67948
|
+
request[2 + usernameBuffer.length] = passwordBuffer.length;
|
|
67949
|
+
passwordBuffer.copy(request, 3 + usernameBuffer.length);
|
|
67950
|
+
this.socket.write(request);
|
|
67951
|
+
}
|
|
67952
|
+
/**
|
|
67953
|
+
* Handle authentication response
|
|
67954
|
+
*/
|
|
67955
|
+
handleAuthResponse() {
|
|
67956
|
+
if (this.buffer.length < 2) return;
|
|
67957
|
+
const version = this.buffer[0];
|
|
67958
|
+
const status = this.buffer[1];
|
|
67959
|
+
if (version !== 1) throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version}`, "UND_ERR_SOCKS5_AUTH_VERSION");
|
|
67960
|
+
if (status !== 0) throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
|
|
67961
|
+
this.buffer = this.buffer.subarray(2);
|
|
67962
|
+
debug("authentication successful");
|
|
67963
|
+
this.emit("authenticated");
|
|
67964
|
+
}
|
|
67965
|
+
/**
|
|
67966
|
+
* Send CONNECT command
|
|
67967
|
+
* @param {string} address - Target address (IP or domain)
|
|
67968
|
+
* @param {number} port - Target port
|
|
67969
|
+
*/
|
|
67970
|
+
connect(address, port) {
|
|
67971
|
+
if (this.state === STATES.CONNECTED) throw new InvalidArgumentError("Already connected");
|
|
67972
|
+
debug("connecting to", address, port);
|
|
67973
|
+
this.state = STATES.CONNECTING;
|
|
67974
|
+
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
|
|
67975
|
+
this.socket.write(request);
|
|
67976
|
+
}
|
|
67977
|
+
/**
|
|
67978
|
+
* Build a SOCKS5 request
|
|
67979
|
+
*/
|
|
67980
|
+
buildConnectRequest(command, address, port) {
|
|
67981
|
+
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
|
|
67982
|
+
const request = Buffer$2.alloc(4 + addressBuffer.length + 2);
|
|
67983
|
+
request[0] = SOCKS_VERSION;
|
|
67984
|
+
request[1] = command;
|
|
67985
|
+
request[2] = 0;
|
|
67986
|
+
request[3] = addressType;
|
|
67987
|
+
addressBuffer.copy(request, 4);
|
|
67988
|
+
request.writeUInt16BE(port, 4 + addressBuffer.length);
|
|
67989
|
+
return request;
|
|
67990
|
+
}
|
|
67991
|
+
/**
|
|
67992
|
+
* Handle CONNECT response
|
|
67993
|
+
*/
|
|
67994
|
+
handleConnectResponse() {
|
|
67995
|
+
if (this.buffer.length < 4) return;
|
|
67996
|
+
const version = this.buffer[0];
|
|
67997
|
+
const reply = this.buffer[1];
|
|
67998
|
+
const addressType = this.buffer[3];
|
|
67999
|
+
if (version !== SOCKS_VERSION) throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version}`, "UND_ERR_SOCKS5_REPLY_VERSION");
|
|
68000
|
+
let responseLength = 4;
|
|
68001
|
+
if (addressType === ADDRESS_TYPES.IPV4) responseLength += 6;
|
|
68002
|
+
else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
68003
|
+
if (this.buffer.length < 5) return;
|
|
68004
|
+
responseLength += 1 + this.buffer[4] + 2;
|
|
68005
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) responseLength += 18;
|
|
68006
|
+
else throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
|
|
68007
|
+
if (this.buffer.length < responseLength) return;
|
|
68008
|
+
if (reply !== REPLY_CODES.SUCCEEDED) throw new Socks5ProxyError(`SOCKS5 connection failed: ${this.getReplyErrorMessage(reply)}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
|
|
68009
|
+
let boundAddress;
|
|
68010
|
+
let offset = 4;
|
|
68011
|
+
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
68012
|
+
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
|
|
68013
|
+
offset += 4;
|
|
68014
|
+
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
68015
|
+
const domainLength = this.buffer[offset];
|
|
68016
|
+
offset += 1;
|
|
68017
|
+
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
|
|
68018
|
+
offset += domainLength;
|
|
68019
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
68020
|
+
const parts = [];
|
|
68021
|
+
for (let i = 0; i < 8; i++) {
|
|
68022
|
+
const value = this.buffer.readUInt16BE(offset + i * 2);
|
|
68023
|
+
parts.push(value.toString(16));
|
|
68024
|
+
}
|
|
68025
|
+
boundAddress = parts.join(":");
|
|
68026
|
+
offset += 16;
|
|
68027
|
+
}
|
|
68028
|
+
const boundPort = this.buffer.readUInt16BE(offset);
|
|
68029
|
+
this.buffer = this.buffer.subarray(responseLength);
|
|
68030
|
+
this.state = STATES.CONNECTED;
|
|
68031
|
+
debug("connected, bound address:", boundAddress, "port:", boundPort);
|
|
68032
|
+
this.emit("connected", {
|
|
68033
|
+
address: boundAddress,
|
|
68034
|
+
port: boundPort
|
|
68035
|
+
});
|
|
68036
|
+
}
|
|
68037
|
+
/**
|
|
68038
|
+
* Get human-readable error message for reply code
|
|
68039
|
+
*/
|
|
68040
|
+
getReplyErrorMessage(reply) {
|
|
68041
|
+
switch (reply) {
|
|
68042
|
+
case REPLY_CODES.GENERAL_FAILURE: return "General SOCKS server failure";
|
|
68043
|
+
case REPLY_CODES.CONNECTION_NOT_ALLOWED: return "Connection not allowed by ruleset";
|
|
68044
|
+
case REPLY_CODES.NETWORK_UNREACHABLE: return "Network unreachable";
|
|
68045
|
+
case REPLY_CODES.HOST_UNREACHABLE: return "Host unreachable";
|
|
68046
|
+
case REPLY_CODES.CONNECTION_REFUSED: return "Connection refused";
|
|
68047
|
+
case REPLY_CODES.TTL_EXPIRED: return "TTL expired";
|
|
68048
|
+
case REPLY_CODES.COMMAND_NOT_SUPPORTED: return "Command not supported";
|
|
68049
|
+
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED: return "Address type not supported";
|
|
68050
|
+
default: return `Unknown error code: ${reply}`;
|
|
68051
|
+
}
|
|
68052
|
+
}
|
|
68053
|
+
};
|
|
68054
|
+
module.exports = {
|
|
68055
|
+
Socks5Client,
|
|
68056
|
+
AUTH_METHODS,
|
|
68057
|
+
COMMANDS,
|
|
68058
|
+
ADDRESS_TYPES,
|
|
68059
|
+
REPLY_CODES,
|
|
68060
|
+
STATES
|
|
68061
|
+
};
|
|
68062
|
+
}));
|
|
68063
|
+
//#endregion
|
|
68064
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
68065
|
+
var require_socks5_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68066
|
+
const net = __require("node:net");
|
|
68067
|
+
const { URL: URL$1 } = __require("node:url");
|
|
68068
|
+
let tls;
|
|
68069
|
+
const DispatcherBase = require_dispatcher_base();
|
|
68070
|
+
const { InvalidArgumentError } = require_errors();
|
|
68071
|
+
const { Socks5Client } = require_socks5_client();
|
|
68072
|
+
const { kDispatch, kClose, kDestroy } = require_symbols();
|
|
68073
|
+
const Pool = require_pool();
|
|
68074
|
+
const buildConnector = require_connect();
|
|
68075
|
+
const { debuglog } = __require("node:util");
|
|
68076
|
+
const debug = debuglog("undici:socks5-proxy");
|
|
68077
|
+
const kProxyUrl = Symbol("proxy url");
|
|
68078
|
+
const kProxyHeaders = Symbol("proxy headers");
|
|
68079
|
+
const kProxyAuth = Symbol("proxy auth");
|
|
68080
|
+
const kPool = Symbol("pool");
|
|
68081
|
+
const kConnector = Symbol("connector");
|
|
68082
|
+
let experimentalWarningEmitted = false;
|
|
68083
|
+
/**
|
|
68084
|
+
* SOCKS5 proxy agent for dispatching requests through a SOCKS5 proxy
|
|
68085
|
+
*/
|
|
68086
|
+
var Socks5ProxyAgent = class extends DispatcherBase {
|
|
68087
|
+
constructor(proxyUrl, options = {}) {
|
|
68088
|
+
super();
|
|
68089
|
+
if (!experimentalWarningEmitted) {
|
|
68090
|
+
process.emitWarning("SOCKS5 proxy support is experimental and subject to change", "ExperimentalWarning");
|
|
68091
|
+
experimentalWarningEmitted = true;
|
|
68092
|
+
}
|
|
68093
|
+
if (!proxyUrl) throw new InvalidArgumentError("Proxy URL is mandatory");
|
|
68094
|
+
const url = typeof proxyUrl === "string" ? new URL$1(proxyUrl) : proxyUrl;
|
|
68095
|
+
if (url.protocol !== "socks5:" && url.protocol !== "socks:") throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
|
|
68096
|
+
this[kProxyUrl] = url;
|
|
68097
|
+
this[kProxyHeaders] = options.headers || {};
|
|
68098
|
+
this[kProxyAuth] = {
|
|
68099
|
+
username: options.username || (url.username ? decodeURIComponent(url.username) : null),
|
|
68100
|
+
password: options.password || (url.password ? decodeURIComponent(url.password) : null)
|
|
68101
|
+
};
|
|
68102
|
+
this[kConnector] = options.connect || buildConnector({
|
|
68103
|
+
...options.proxyTls,
|
|
68104
|
+
servername: options.proxyTls?.servername || url.hostname
|
|
68105
|
+
});
|
|
68106
|
+
this[kPool] = null;
|
|
68107
|
+
}
|
|
68108
|
+
/**
|
|
68109
|
+
* Create a SOCKS5 connection to the proxy
|
|
68110
|
+
*/
|
|
68111
|
+
async createSocks5Connection(targetHost, targetPort) {
|
|
68112
|
+
const proxyHost = this[kProxyUrl].hostname;
|
|
68113
|
+
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
|
|
68114
|
+
debug("creating SOCKS5 connection to", proxyHost, proxyPort);
|
|
68115
|
+
const socket = await new Promise((resolve, reject) => {
|
|
68116
|
+
const onConnect = () => {
|
|
68117
|
+
socket.removeListener("error", onError);
|
|
68118
|
+
resolve(socket);
|
|
68119
|
+
};
|
|
68120
|
+
const onError = (err) => {
|
|
68121
|
+
socket.removeListener("connect", onConnect);
|
|
68122
|
+
reject(err);
|
|
68123
|
+
};
|
|
68124
|
+
const socket = net.connect({
|
|
68125
|
+
host: proxyHost,
|
|
68126
|
+
port: proxyPort
|
|
68127
|
+
});
|
|
68128
|
+
socket.once("connect", onConnect);
|
|
68129
|
+
socket.once("error", onError);
|
|
68130
|
+
});
|
|
68131
|
+
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
|
|
68132
|
+
socks5Client.on("error", (err) => {
|
|
68133
|
+
debug("SOCKS5 error:", err);
|
|
68134
|
+
socket.destroy();
|
|
68135
|
+
});
|
|
68136
|
+
await socks5Client.handshake();
|
|
68137
|
+
await new Promise((resolve, reject) => {
|
|
68138
|
+
const timeout = setTimeout(() => {
|
|
68139
|
+
reject(/* @__PURE__ */ new Error("SOCKS5 authentication timeout"));
|
|
68140
|
+
}, 5e3);
|
|
68141
|
+
const onAuthenticated = () => {
|
|
68142
|
+
clearTimeout(timeout);
|
|
68143
|
+
socks5Client.removeListener("error", onError);
|
|
68144
|
+
resolve();
|
|
68145
|
+
};
|
|
68146
|
+
const onError = (err) => {
|
|
68147
|
+
clearTimeout(timeout);
|
|
68148
|
+
socks5Client.removeListener("authenticated", onAuthenticated);
|
|
68149
|
+
reject(err);
|
|
68150
|
+
};
|
|
68151
|
+
if (socks5Client.state === "authenticated") {
|
|
68152
|
+
clearTimeout(timeout);
|
|
68153
|
+
resolve();
|
|
68154
|
+
} else {
|
|
68155
|
+
socks5Client.once("authenticated", onAuthenticated);
|
|
68156
|
+
socks5Client.once("error", onError);
|
|
68157
|
+
}
|
|
68158
|
+
});
|
|
68159
|
+
await socks5Client.connect(targetHost, targetPort);
|
|
68160
|
+
await new Promise((resolve, reject) => {
|
|
68161
|
+
const timeout = setTimeout(() => {
|
|
68162
|
+
reject(/* @__PURE__ */ new Error("SOCKS5 connection timeout"));
|
|
68163
|
+
}, 5e3);
|
|
68164
|
+
const onConnected = (info) => {
|
|
68165
|
+
debug("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
|
|
68166
|
+
clearTimeout(timeout);
|
|
68167
|
+
socks5Client.removeListener("error", onError);
|
|
68168
|
+
resolve();
|
|
68169
|
+
};
|
|
68170
|
+
const onError = (err) => {
|
|
68171
|
+
clearTimeout(timeout);
|
|
68172
|
+
socks5Client.removeListener("connected", onConnected);
|
|
68173
|
+
reject(err);
|
|
68174
|
+
};
|
|
68175
|
+
socks5Client.once("connected", onConnected);
|
|
68176
|
+
socks5Client.once("error", onError);
|
|
68177
|
+
});
|
|
68178
|
+
return socket;
|
|
68179
|
+
}
|
|
68180
|
+
/**
|
|
68181
|
+
* Dispatch a request through the SOCKS5 proxy
|
|
68182
|
+
*/
|
|
68183
|
+
async [kDispatch](opts, handler) {
|
|
68184
|
+
const { origin } = opts;
|
|
68185
|
+
debug("dispatching request to", origin, "via SOCKS5");
|
|
68186
|
+
try {
|
|
68187
|
+
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) this[kPool] = new Pool(origin, {
|
|
68188
|
+
pipelining: opts.pipelining,
|
|
68189
|
+
connections: opts.connections,
|
|
68190
|
+
connect: async (connectOpts, callback) => {
|
|
68191
|
+
try {
|
|
68192
|
+
const url = new URL$1(origin);
|
|
68193
|
+
const targetHost = url.hostname;
|
|
68194
|
+
const targetPort = parseInt(url.port) || (url.protocol === "https:" ? 443 : 80);
|
|
68195
|
+
debug("establishing SOCKS5 connection to", targetHost, targetPort);
|
|
68196
|
+
const socket = await this.createSocks5Connection(targetHost, targetPort);
|
|
68197
|
+
let finalSocket = socket;
|
|
68198
|
+
if (url.protocol === "https:") {
|
|
68199
|
+
if (!tls) tls = __require("node:tls");
|
|
68200
|
+
debug("upgrading to TLS");
|
|
68201
|
+
finalSocket = tls.connect({
|
|
68202
|
+
socket,
|
|
68203
|
+
servername: targetHost,
|
|
68204
|
+
...connectOpts.tls || {}
|
|
68205
|
+
});
|
|
68206
|
+
await new Promise((resolve, reject) => {
|
|
68207
|
+
finalSocket.once("secureConnect", resolve);
|
|
68208
|
+
finalSocket.once("error", reject);
|
|
68209
|
+
});
|
|
68210
|
+
}
|
|
68211
|
+
callback(null, finalSocket);
|
|
68212
|
+
} catch (err) {
|
|
68213
|
+
debug("SOCKS5 connection error:", err);
|
|
68214
|
+
callback(err);
|
|
68215
|
+
}
|
|
68216
|
+
}
|
|
68217
|
+
});
|
|
68218
|
+
return this[kPool][kDispatch](opts, handler);
|
|
68219
|
+
} catch (err) {
|
|
68220
|
+
debug("dispatch error:", err);
|
|
68221
|
+
if (typeof handler.onError === "function") handler.onError(err);
|
|
68222
|
+
else throw err;
|
|
68223
|
+
}
|
|
68224
|
+
}
|
|
68225
|
+
async [kClose]() {
|
|
68226
|
+
if (this[kPool]) await this[kPool].close();
|
|
68227
|
+
}
|
|
68228
|
+
async [kDestroy](err) {
|
|
68229
|
+
if (this[kPool]) await this[kPool].destroy(err);
|
|
68230
|
+
}
|
|
68231
|
+
};
|
|
68232
|
+
module.exports = Socks5ProxyAgent;
|
|
68233
|
+
}));
|
|
68234
|
+
//#endregion
|
|
68235
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
67380
68236
|
var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67381
68237
|
const { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
|
|
67382
68238
|
const Agent = require_agent();
|
|
@@ -67386,6 +68242,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67386
68242
|
const buildConnector = require_connect();
|
|
67387
68243
|
const Client = require_client();
|
|
67388
68244
|
const { channels } = require_diagnostics();
|
|
68245
|
+
const Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
67389
68246
|
const kAgent = Symbol("proxy agent");
|
|
67390
68247
|
const kClient = Symbol("proxy client");
|
|
67391
68248
|
const kProxyHeaders = Symbol("proxy headers");
|
|
@@ -67467,6 +68324,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67467
68324
|
const agentFactory = opts.factory || defaultAgentFactory;
|
|
67468
68325
|
const factory = (origin, options) => {
|
|
67469
68326
|
const { protocol } = new URL(origin);
|
|
68327
|
+
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") return new Socks5ProxyAgent(this[kProxy].uri, {
|
|
68328
|
+
headers: this[kProxyHeaders],
|
|
68329
|
+
connect,
|
|
68330
|
+
factory: agentFactory,
|
|
68331
|
+
username: opts.username || username,
|
|
68332
|
+
password: opts.password || password,
|
|
68333
|
+
proxyTls: opts.proxyTls
|
|
68334
|
+
});
|
|
67470
68335
|
if (!this[kTunnelProxy] && protocol === "http:" && this[kProxy].protocol === "http:") return new Http1ProxyWrapper(this[kProxy].uri, {
|
|
67471
68336
|
headers: this[kProxyHeaders],
|
|
67472
68337
|
connect,
|
|
@@ -67474,11 +68339,16 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67474
68339
|
});
|
|
67475
68340
|
return agentFactory(origin, options);
|
|
67476
68341
|
};
|
|
67477
|
-
this[kClient] =
|
|
68342
|
+
if (protocol === "socks5:" || protocol === "socks:") this[kClient] = null;
|
|
68343
|
+
else this[kClient] = clientFactory(url, { connect });
|
|
67478
68344
|
this[kAgent] = new Agent({
|
|
67479
68345
|
...opts,
|
|
67480
68346
|
factory,
|
|
67481
68347
|
connect: async (opts, callback) => {
|
|
68348
|
+
if (!this[kClient]) {
|
|
68349
|
+
callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
|
|
68350
|
+
return;
|
|
68351
|
+
}
|
|
67482
68352
|
let requestedPath = opts.host;
|
|
67483
68353
|
if (!opts.port) requestedPath += `:${defaultProtocolPort(opts.protocol)}`;
|
|
67484
68354
|
try {
|
|
@@ -67545,10 +68415,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67545
68415
|
else return new URL(opts.uri);
|
|
67546
68416
|
}
|
|
67547
68417
|
[kClose]() {
|
|
67548
|
-
|
|
68418
|
+
const promises = [this[kAgent].close()];
|
|
68419
|
+
if (this[kClient]) promises.push(this[kClient].close());
|
|
68420
|
+
return Promise.all(promises);
|
|
67549
68421
|
}
|
|
67550
68422
|
[kDestroy]() {
|
|
67551
|
-
|
|
68423
|
+
const promises = [this[kAgent].destroy()];
|
|
68424
|
+
if (this[kClient]) promises.push(this[kClient].destroy());
|
|
68425
|
+
return Promise.all(promises);
|
|
67552
68426
|
}
|
|
67553
68427
|
};
|
|
67554
68428
|
/**
|
|
@@ -67578,7 +68452,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67578
68452
|
module.exports = ProxyAgent;
|
|
67579
68453
|
}));
|
|
67580
68454
|
//#endregion
|
|
67581
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
68455
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
67582
68456
|
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67583
68457
|
const DispatcherBase = require_dispatcher_base();
|
|
67584
68458
|
const { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
@@ -67676,7 +68550,7 @@ var require_env_http_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, modu
|
|
|
67676
68550
|
module.exports = EnvHttpProxyAgent;
|
|
67677
68551
|
}));
|
|
67678
68552
|
//#endregion
|
|
67679
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
68553
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/retry-handler.js
|
|
67680
68554
|
var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67681
68555
|
const assert$21 = __require("node:assert");
|
|
67682
68556
|
const { kRetryHandlerDefaultRetry } = require_symbols();
|
|
@@ -67924,7 +68798,7 @@ var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
67924
68798
|
};
|
|
67925
68799
|
}));
|
|
67926
68800
|
//#endregion
|
|
67927
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
68801
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
67928
68802
|
var require_retry_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67929
68803
|
const Dispatcher = require_dispatcher();
|
|
67930
68804
|
const RetryHandler = require_retry_handler();
|
|
@@ -67956,7 +68830,7 @@ var require_retry_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67956
68830
|
module.exports = RetryAgent;
|
|
67957
68831
|
}));
|
|
67958
68832
|
//#endregion
|
|
67959
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
68833
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
67960
68834
|
var require_h2c_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67961
68835
|
const { InvalidArgumentError } = require_errors();
|
|
67962
68836
|
const Client = require_client();
|
|
@@ -67982,7 +68856,7 @@ var require_h2c_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67982
68856
|
module.exports = H2CClient;
|
|
67983
68857
|
}));
|
|
67984
68858
|
//#endregion
|
|
67985
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
68859
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/readable.js
|
|
67986
68860
|
var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
67987
68861
|
const assert$20 = __require("node:assert");
|
|
67988
68862
|
const { Readable: Readable$3 } = __require("node:stream");
|
|
@@ -68395,7 +69269,7 @@ var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68395
69269
|
};
|
|
68396
69270
|
}));
|
|
68397
69271
|
//#endregion
|
|
68398
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69272
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-request.js
|
|
68399
69273
|
var require_api_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68400
69274
|
const assert$19 = __require("node:assert");
|
|
68401
69275
|
const { AsyncResource: AsyncResource$4 } = __require("node:async_hooks");
|
|
@@ -68544,7 +69418,7 @@ var require_api_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68544
69418
|
module.exports.RequestHandler = RequestHandler;
|
|
68545
69419
|
}));
|
|
68546
69420
|
//#endregion
|
|
68547
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69421
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/abort-signal.js
|
|
68548
69422
|
var require_abort_signal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68549
69423
|
const { addAbortListener } = require_util$5();
|
|
68550
69424
|
const { RequestAbortedError } = require_errors();
|
|
@@ -68583,7 +69457,7 @@ var require_abort_signal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68583
69457
|
};
|
|
68584
69458
|
}));
|
|
68585
69459
|
//#endregion
|
|
68586
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69460
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-stream.js
|
|
68587
69461
|
var require_api_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68588
69462
|
const assert$18 = __require("node:assert");
|
|
68589
69463
|
const { finished: finished$1 } = __require("node:stream");
|
|
@@ -68713,7 +69587,7 @@ var require_api_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68713
69587
|
module.exports = stream;
|
|
68714
69588
|
}));
|
|
68715
69589
|
//#endregion
|
|
68716
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69590
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-pipeline.js
|
|
68717
69591
|
var require_api_pipeline = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68718
69592
|
const { Readable: Readable$2, Duplex, PassThrough: PassThrough$1 } = __require("node:stream");
|
|
68719
69593
|
const assert$17 = __require("node:assert");
|
|
@@ -68881,7 +69755,7 @@ var require_api_pipeline = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68881
69755
|
module.exports = pipeline;
|
|
68882
69756
|
}));
|
|
68883
69757
|
//#endregion
|
|
68884
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69758
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-upgrade.js
|
|
68885
69759
|
var require_api_upgrade = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68886
69760
|
const { InvalidArgumentError, SocketError } = require_errors();
|
|
68887
69761
|
const { AsyncResource: AsyncResource$1 } = __require("node:async_hooks");
|
|
@@ -68962,7 +69836,7 @@ var require_api_upgrade = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
68962
69836
|
module.exports = upgrade;
|
|
68963
69837
|
}));
|
|
68964
69838
|
//#endregion
|
|
68965
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69839
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-connect.js
|
|
68966
69840
|
var require_api_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
68967
69841
|
const assert$15 = __require("node:assert");
|
|
68968
69842
|
const { AsyncResource } = __require("node:async_hooks");
|
|
@@ -69041,7 +69915,7 @@ var require_api_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69041
69915
|
module.exports = connect;
|
|
69042
69916
|
}));
|
|
69043
69917
|
//#endregion
|
|
69044
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69918
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/index.js
|
|
69045
69919
|
var require_api = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69046
69920
|
module.exports.request = require_api_request();
|
|
69047
69921
|
module.exports.stream = require_api_stream();
|
|
@@ -69050,7 +69924,7 @@ var require_api = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69050
69924
|
module.exports.connect = require_api_connect();
|
|
69051
69925
|
}));
|
|
69052
69926
|
//#endregion
|
|
69053
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69927
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-errors.js
|
|
69054
69928
|
var require_mock_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69055
69929
|
const { UndiciError } = require_errors();
|
|
69056
69930
|
const kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
@@ -69074,7 +69948,7 @@ var require_mock_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69074
69948
|
module.exports = { MockNotMatchedError };
|
|
69075
69949
|
}));
|
|
69076
69950
|
//#endregion
|
|
69077
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69951
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-symbols.js
|
|
69078
69952
|
var require_mock_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69079
69953
|
module.exports = {
|
|
69080
69954
|
kAgent: Symbol("agent"),
|
|
@@ -69107,7 +69981,7 @@ var require_mock_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69107
69981
|
};
|
|
69108
69982
|
}));
|
|
69109
69983
|
//#endregion
|
|
69110
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
69984
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-utils.js
|
|
69111
69985
|
var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69112
69986
|
const { MockNotMatchedError } = require_mock_errors();
|
|
69113
69987
|
const { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect } = require_mock_symbols();
|
|
@@ -69396,7 +70270,7 @@ var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69396
70270
|
};
|
|
69397
70271
|
}));
|
|
69398
70272
|
//#endregion
|
|
69399
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70273
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-interceptor.js
|
|
69400
70274
|
var require_mock_interceptor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69401
70275
|
const { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
69402
70276
|
const { kDispatches, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch, kIgnoreTrailingSlash } = require_mock_symbols();
|
|
@@ -69537,7 +70411,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
69537
70411
|
module.exports.MockScope = MockScope;
|
|
69538
70412
|
}));
|
|
69539
70413
|
//#endregion
|
|
69540
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70414
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-client.js
|
|
69541
70415
|
var require_mock_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69542
70416
|
const { promisify: promisify$2 } = __require("node:util");
|
|
69543
70417
|
const Client = require_client();
|
|
@@ -69587,7 +70461,7 @@ var require_mock_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69587
70461
|
module.exports = MockClient;
|
|
69588
70462
|
}));
|
|
69589
70463
|
//#endregion
|
|
69590
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70464
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-call-history.js
|
|
69591
70465
|
var require_mock_call_history = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69592
70466
|
const { kMockCallHistoryAddLog } = require_mock_symbols();
|
|
69593
70467
|
const { InvalidArgumentError } = require_errors();
|
|
@@ -69741,7 +70615,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
69741
70615
|
module.exports.MockCallHistoryLog = MockCallHistoryLog;
|
|
69742
70616
|
}));
|
|
69743
70617
|
//#endregion
|
|
69744
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70618
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-pool.js
|
|
69745
70619
|
var require_mock_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69746
70620
|
const { promisify: promisify$1 } = __require("node:util");
|
|
69747
70621
|
const Pool = require_pool();
|
|
@@ -69791,7 +70665,7 @@ var require_mock_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69791
70665
|
module.exports = MockPool;
|
|
69792
70666
|
}));
|
|
69793
70667
|
//#endregion
|
|
69794
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70668
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
69795
70669
|
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69796
70670
|
const { Transform: Transform$1 } = __require("node:stream");
|
|
69797
70671
|
const { Console } = __require("node:console");
|
|
@@ -69826,7 +70700,7 @@ var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJSMin(((exp
|
|
|
69826
70700
|
};
|
|
69827
70701
|
}));
|
|
69828
70702
|
//#endregion
|
|
69829
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70703
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-agent.js
|
|
69830
70704
|
var require_mock_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69831
70705
|
const { kClients } = require_symbols();
|
|
69832
70706
|
const Agent = require_agent();
|
|
@@ -69966,7 +70840,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
69966
70840
|
module.exports = MockAgent;
|
|
69967
70841
|
}));
|
|
69968
70842
|
//#endregion
|
|
69969
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70843
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-utils.js
|
|
69970
70844
|
var require_snapshot_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
69971
70845
|
const { InvalidArgumentError } = require_errors();
|
|
69972
70846
|
const { runtimeFeatures } = require_runtime_features();
|
|
@@ -70082,7 +70956,7 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
70082
70956
|
};
|
|
70083
70957
|
}));
|
|
70084
70958
|
//#endregion
|
|
70085
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
70959
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
70086
70960
|
var require_snapshot_recorder = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70087
70961
|
const { writeFile: writeFile$1, readFile: readFile$1, mkdir: mkdir$1 } = __require("node:fs/promises");
|
|
70088
70962
|
const { dirname: dirname$1, resolve } = __require("node:path");
|
|
@@ -70500,7 +71374,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
70500
71374
|
};
|
|
70501
71375
|
}));
|
|
70502
71376
|
//#endregion
|
|
70503
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71377
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-agent.js
|
|
70504
71378
|
var require_snapshot_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70505
71379
|
const Agent = require_agent();
|
|
70506
71380
|
const MockAgent = require_mock_agent();
|
|
@@ -70759,7 +71633,7 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
70759
71633
|
module.exports = SnapshotAgent;
|
|
70760
71634
|
}));
|
|
70761
71635
|
//#endregion
|
|
70762
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71636
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/global.js
|
|
70763
71637
|
var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70764
71638
|
const globalDispatcher = Symbol.for("undici.globalDispatcher.1");
|
|
70765
71639
|
const { InvalidArgumentError } = require_errors();
|
|
@@ -70795,7 +71669,7 @@ var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
70795
71669
|
};
|
|
70796
71670
|
}));
|
|
70797
71671
|
//#endregion
|
|
70798
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71672
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/decorator-handler.js
|
|
70799
71673
|
var require_decorator_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70800
71674
|
const assert$14 = __require("node:assert");
|
|
70801
71675
|
const WrapHandler = require_wrap_handler();
|
|
@@ -70848,7 +71722,7 @@ var require_decorator_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
70848
71722
|
};
|
|
70849
71723
|
}));
|
|
70850
71724
|
//#endregion
|
|
70851
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71725
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/redirect-handler.js
|
|
70852
71726
|
var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70853
71727
|
const util = require_util$5();
|
|
70854
71728
|
const { kBodyUsed } = require_symbols();
|
|
@@ -70965,7 +71839,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
70965
71839
|
if (Array.isArray(headers)) {
|
|
70966
71840
|
for (let i = 0; i < headers.length; i += 2) if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) ret.push(headers[i], headers[i + 1]);
|
|
70967
71841
|
} else if (headers && typeof headers === "object") {
|
|
70968
|
-
const entries =
|
|
71842
|
+
const entries = util.hasSafeIterator(headers) ? headers : Object.entries(headers);
|
|
70969
71843
|
for (const [key, value] of entries) if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) ret.push(key, value);
|
|
70970
71844
|
} else assert$13(headers == null, "headers must be an object or an array");
|
|
70971
71845
|
return ret;
|
|
@@ -70973,7 +71847,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
70973
71847
|
module.exports = RedirectHandler;
|
|
70974
71848
|
}));
|
|
70975
71849
|
//#endregion
|
|
70976
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71850
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/redirect.js
|
|
70977
71851
|
var require_redirect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70978
71852
|
const RedirectHandler = require_redirect_handler();
|
|
70979
71853
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
@@ -70989,7 +71863,7 @@ var require_redirect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
70989
71863
|
module.exports = createRedirectInterceptor;
|
|
70990
71864
|
}));
|
|
70991
71865
|
//#endregion
|
|
70992
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71866
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/response-error.js
|
|
70993
71867
|
var require_response_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
70994
71868
|
const DecoratorHandler = require_decorator_handler();
|
|
70995
71869
|
const { ResponseError } = require_errors();
|
|
@@ -71057,7 +71931,7 @@ var require_response_error = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
71057
71931
|
};
|
|
71058
71932
|
}));
|
|
71059
71933
|
//#endregion
|
|
71060
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71934
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/retry.js
|
|
71061
71935
|
var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71062
71936
|
const RetryHandler = require_retry_handler();
|
|
71063
71937
|
module.exports = (globalOpts) => {
|
|
@@ -71078,7 +71952,7 @@ var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71078
71952
|
};
|
|
71079
71953
|
}));
|
|
71080
71954
|
//#endregion
|
|
71081
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
71955
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/dump.js
|
|
71082
71956
|
var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71083
71957
|
const { InvalidArgumentError, RequestAbortedError } = require_errors();
|
|
71084
71958
|
const DecoratorHandler = require_decorator_handler();
|
|
@@ -71146,13 +72020,63 @@ var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71146
72020
|
module.exports = createDumpInterceptor;
|
|
71147
72021
|
}));
|
|
71148
72022
|
//#endregion
|
|
71149
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
72023
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/dns.js
|
|
71150
72024
|
var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71151
72025
|
const { isIP } = __require("node:net");
|
|
71152
72026
|
const { lookup } = __require("node:dns");
|
|
71153
72027
|
const DecoratorHandler = require_decorator_handler();
|
|
71154
72028
|
const { InvalidArgumentError, InformationalError } = require_errors();
|
|
71155
72029
|
const maxInt = Math.pow(2, 31) - 1;
|
|
72030
|
+
function hasSafeIterator(headers) {
|
|
72031
|
+
const prototype = Object.getPrototypeOf(headers);
|
|
72032
|
+
return Object.prototype.hasOwnProperty.call(headers, Symbol.iterator) || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
|
|
72033
|
+
}
|
|
72034
|
+
function isHostHeader(key) {
|
|
72035
|
+
return typeof key === "string" && key.toLowerCase() === "host";
|
|
72036
|
+
}
|
|
72037
|
+
function normalizeHeaders(headers) {
|
|
72038
|
+
if (headers == null) return null;
|
|
72039
|
+
if (Array.isArray(headers)) {
|
|
72040
|
+
if (headers.length === 0 || !Array.isArray(headers[0])) return headers;
|
|
72041
|
+
const normalized = [];
|
|
72042
|
+
for (const header of headers) if (Array.isArray(header) && header.length === 2) normalized.push(header[0], header[1]);
|
|
72043
|
+
else normalized.push(header);
|
|
72044
|
+
return normalized;
|
|
72045
|
+
}
|
|
72046
|
+
if (typeof headers === "object" && hasSafeIterator(headers)) {
|
|
72047
|
+
const normalized = [];
|
|
72048
|
+
for (const header of headers) if (Array.isArray(header) && header.length === 2) normalized.push(header[0], header[1]);
|
|
72049
|
+
else normalized.push(header);
|
|
72050
|
+
return normalized;
|
|
72051
|
+
}
|
|
72052
|
+
return headers;
|
|
72053
|
+
}
|
|
72054
|
+
function hasHostHeader(headers) {
|
|
72055
|
+
if (headers == null) return false;
|
|
72056
|
+
if (Array.isArray(headers)) {
|
|
72057
|
+
if (headers.length === 0) return false;
|
|
72058
|
+
for (let i = 0; i < headers.length; i += 2) if (isHostHeader(headers[i])) return true;
|
|
72059
|
+
return false;
|
|
72060
|
+
}
|
|
72061
|
+
if (typeof headers === "object") {
|
|
72062
|
+
for (const key in headers) if (isHostHeader(key)) return true;
|
|
72063
|
+
}
|
|
72064
|
+
return false;
|
|
72065
|
+
}
|
|
72066
|
+
function withHostHeader(host, headers) {
|
|
72067
|
+
const normalizedHeaders = normalizeHeaders(headers);
|
|
72068
|
+
if (hasHostHeader(normalizedHeaders)) return normalizedHeaders;
|
|
72069
|
+
if (Array.isArray(normalizedHeaders)) return [
|
|
72070
|
+
"host",
|
|
72071
|
+
host,
|
|
72072
|
+
...normalizedHeaders
|
|
72073
|
+
];
|
|
72074
|
+
if (normalizedHeaders && typeof normalizedHeaders === "object") return {
|
|
72075
|
+
host,
|
|
72076
|
+
...normalizedHeaders
|
|
72077
|
+
};
|
|
72078
|
+
return { host };
|
|
72079
|
+
}
|
|
71156
72080
|
var DNSStorage = class {
|
|
71157
72081
|
#maxItems = 0;
|
|
71158
72082
|
#records = /* @__PURE__ */ new Map();
|
|
@@ -71351,7 +72275,8 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71351
72275
|
else port = "";
|
|
71352
72276
|
const dispatchOpts = {
|
|
71353
72277
|
...this.#opts,
|
|
71354
|
-
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}
|
|
72278
|
+
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
|
|
72279
|
+
headers: withHostHeader(this.#origin.host, this.#opts.headers)
|
|
71355
72280
|
};
|
|
71356
72281
|
this.#dispatch(dispatchOpts, this);
|
|
71357
72282
|
return;
|
|
@@ -71399,10 +72324,7 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71399
72324
|
...origDispatchOpts,
|
|
71400
72325
|
servername: origin.hostname,
|
|
71401
72326
|
origin: newOrigin.origin,
|
|
71402
|
-
headers:
|
|
71403
|
-
host: origin.host,
|
|
71404
|
-
...origDispatchOpts.headers
|
|
71405
|
-
}
|
|
72327
|
+
headers: withHostHeader(origin.host, origDispatchOpts.headers)
|
|
71406
72328
|
}, instance.getHandler({
|
|
71407
72329
|
origin,
|
|
71408
72330
|
dispatch,
|
|
@@ -71416,9 +72338,9 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71416
72338
|
};
|
|
71417
72339
|
}));
|
|
71418
72340
|
//#endregion
|
|
71419
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
72341
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/cache.js
|
|
71420
72342
|
var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71421
|
-
const { safeHTTPMethods, pathHasQueryOrFragment } = require_util$5();
|
|
72343
|
+
const { safeHTTPMethods, pathHasQueryOrFragment, hasSafeIterator } = require_util$5();
|
|
71422
72344
|
const { serializePathWithQuery } = require_util$5();
|
|
71423
72345
|
/**
|
|
71424
72346
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
|
|
@@ -71441,17 +72363,15 @@ var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71441
72363
|
function normalizeHeaders(opts) {
|
|
71442
72364
|
let headers;
|
|
71443
72365
|
if (opts.headers == null) headers = {};
|
|
71444
|
-
else if (typeof opts.headers
|
|
72366
|
+
else if (typeof opts.headers === "object") {
|
|
71445
72367
|
headers = {};
|
|
71446
|
-
for (const x of opts.headers) {
|
|
72368
|
+
if (hasSafeIterator(opts.headers)) for (const x of opts.headers) {
|
|
71447
72369
|
if (!Array.isArray(x)) throw new Error("opts.headers is not a valid header map");
|
|
71448
72370
|
const [key, val] = x;
|
|
71449
72371
|
if (typeof key !== "string" || typeof val !== "string") throw new Error("opts.headers is not a valid header map");
|
|
71450
72372
|
headers[key.toLowerCase()] = val;
|
|
71451
72373
|
}
|
|
71452
|
-
|
|
71453
|
-
headers = {};
|
|
71454
|
-
for (const key of Object.keys(opts.headers)) headers[key.toLowerCase()] = opts.headers[key];
|
|
72374
|
+
else for (const key of Object.keys(opts.headers)) headers[key.toLowerCase()] = opts.headers[key];
|
|
71455
72375
|
} else throw new Error("opts.headers is not an object");
|
|
71456
72376
|
return headers;
|
|
71457
72377
|
}
|
|
@@ -71651,7 +72571,7 @@ var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71651
72571
|
};
|
|
71652
72572
|
}));
|
|
71653
72573
|
//#endregion
|
|
71654
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
72574
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/date.js
|
|
71655
72575
|
var require_date = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71656
72576
|
/**
|
|
71657
72577
|
* @see https://www.rfc-editor.org/rfc/rfc9110.html#name-date-time-formats
|
|
@@ -71971,7 +72891,7 @@ var require_date = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
71971
72891
|
module.exports = { parseHttpDate };
|
|
71972
72892
|
}));
|
|
71973
72893
|
//#endregion
|
|
71974
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
72894
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/cache-handler.js
|
|
71975
72895
|
var require_cache_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
71976
72896
|
const util = require_util$5();
|
|
71977
72897
|
const { parseCacheControlHeader, parseVaryHeader, isEtagUsable } = require_cache$2();
|
|
@@ -72294,7 +73214,7 @@ var require_cache_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
72294
73214
|
module.exports = CacheHandler;
|
|
72295
73215
|
}));
|
|
72296
73216
|
//#endregion
|
|
72297
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
73217
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/cache/memory-cache-store.js
|
|
72298
73218
|
var require_memory_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
72299
73219
|
const { Writable: Writable$2 } = __require("node:stream");
|
|
72300
73220
|
const { EventEmitter: EventEmitter$1 } = __require("node:events");
|
|
@@ -72460,7 +73380,7 @@ var require_memory_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
72460
73380
|
module.exports = MemoryCacheStore;
|
|
72461
73381
|
}));
|
|
72462
73382
|
//#endregion
|
|
72463
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
73383
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
72464
73384
|
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
72465
73385
|
const assert$12 = __require("node:assert");
|
|
72466
73386
|
/**
|
|
@@ -72539,7 +73459,7 @@ var require_cache_revalidation_handler = /* @__PURE__ */ __commonJSMin(((exports
|
|
|
72539
73459
|
module.exports = CacheRevalidationHandler;
|
|
72540
73460
|
}));
|
|
72541
73461
|
//#endregion
|
|
72542
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
73462
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/cache.js
|
|
72543
73463
|
var require_cache$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
72544
73464
|
const assert$11 = __require("node:assert");
|
|
72545
73465
|
const { Readable: Readable$1 } = __require("node:stream");
|
|
@@ -72805,7 +73725,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
72805
73725
|
};
|
|
72806
73726
|
}));
|
|
72807
73727
|
//#endregion
|
|
72808
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
73728
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/decompress.js
|
|
72809
73729
|
var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
72810
73730
|
const { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
|
|
72811
73731
|
const { pipeline: pipeline$3 } = __require("node:stream");
|
|
@@ -73007,13 +73927,24 @@ var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73007
73927
|
module.exports = createDecompressInterceptor;
|
|
73008
73928
|
}));
|
|
73009
73929
|
//#endregion
|
|
73010
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
73930
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/deduplication-handler.js
|
|
73011
73931
|
var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73932
|
+
const { RequestAbortedError } = require_errors();
|
|
73012
73933
|
/**
|
|
73013
73934
|
* @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
|
|
73014
73935
|
*/
|
|
73936
|
+
const DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
|
|
73937
|
+
/**
|
|
73938
|
+
* @typedef {Object} WaitingHandler
|
|
73939
|
+
* @property {DispatchHandler} handler
|
|
73940
|
+
* @property {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
73941
|
+
* @property {Buffer[]} bufferedChunks
|
|
73942
|
+
* @property {number} bufferedBytes
|
|
73943
|
+
* @property {object | null} pendingTrailers
|
|
73944
|
+
* @property {boolean} done
|
|
73945
|
+
*/
|
|
73015
73946
|
/**
|
|
73016
|
-
* Handler that
|
|
73947
|
+
* Handler that forwards response events to multiple waiting handlers.
|
|
73017
73948
|
* Used for request deduplication.
|
|
73018
73949
|
*
|
|
73019
73950
|
* @implements {DispatchHandler}
|
|
@@ -73024,13 +73955,13 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
73024
73955
|
*/
|
|
73025
73956
|
#primaryHandler;
|
|
73026
73957
|
/**
|
|
73027
|
-
* @type {
|
|
73958
|
+
* @type {WaitingHandler[]}
|
|
73028
73959
|
*/
|
|
73029
73960
|
#waitingHandlers = [];
|
|
73030
73961
|
/**
|
|
73031
|
-
* @type {
|
|
73962
|
+
* @type {number}
|
|
73032
73963
|
*/
|
|
73033
|
-
#
|
|
73964
|
+
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
|
|
73034
73965
|
/**
|
|
73035
73966
|
* @type {number}
|
|
73036
73967
|
*/
|
|
@@ -73048,6 +73979,18 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
73048
73979
|
*/
|
|
73049
73980
|
#aborted = false;
|
|
73050
73981
|
/**
|
|
73982
|
+
* @type {boolean}
|
|
73983
|
+
*/
|
|
73984
|
+
#responseStarted = false;
|
|
73985
|
+
/**
|
|
73986
|
+
* @type {boolean}
|
|
73987
|
+
*/
|
|
73988
|
+
#responseDataStarted = false;
|
|
73989
|
+
/**
|
|
73990
|
+
* @type {boolean}
|
|
73991
|
+
*/
|
|
73992
|
+
#completed = false;
|
|
73993
|
+
/**
|
|
73051
73994
|
* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
|
|
73052
73995
|
*/
|
|
73053
73996
|
#controller = null;
|
|
@@ -73058,20 +74001,40 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
73058
74001
|
/**
|
|
73059
74002
|
* @param {DispatchHandler} primaryHandler The primary handler
|
|
73060
74003
|
* @param {() => void} onComplete Callback when request completes
|
|
74004
|
+
* @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
|
|
73061
74005
|
*/
|
|
73062
|
-
constructor(primaryHandler, onComplete) {
|
|
74006
|
+
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
|
|
73063
74007
|
this.#primaryHandler = primaryHandler;
|
|
73064
74008
|
this.#onComplete = onComplete;
|
|
74009
|
+
this.#maxBufferSize = maxBufferSize;
|
|
73065
74010
|
}
|
|
73066
74011
|
/**
|
|
73067
|
-
* Add a waiting handler that will receive
|
|
74012
|
+
* Add a waiting handler that will receive response events.
|
|
74013
|
+
* Returns false if deduplication can no longer safely attach this handler.
|
|
74014
|
+
*
|
|
73068
74015
|
* @param {DispatchHandler} handler
|
|
74016
|
+
* @returns {boolean}
|
|
73069
74017
|
*/
|
|
73070
74018
|
addWaitingHandler(handler) {
|
|
73071
|
-
this.#
|
|
74019
|
+
if (this.#completed || this.#responseDataStarted) return false;
|
|
74020
|
+
const waitingHandler = this.#createWaitingHandler(handler);
|
|
74021
|
+
const waitingController = waitingHandler.controller;
|
|
74022
|
+
try {
|
|
74023
|
+
handler.onRequestStart?.(waitingController, null);
|
|
74024
|
+
if (waitingController.aborted) {
|
|
74025
|
+
waitingHandler.done = true;
|
|
74026
|
+
return true;
|
|
74027
|
+
}
|
|
74028
|
+
if (this.#responseStarted) handler.onResponseStart?.(waitingController, this.#statusCode, this.#headers, this.#statusMessage);
|
|
74029
|
+
} catch {
|
|
74030
|
+
waitingHandler.done = true;
|
|
74031
|
+
return true;
|
|
74032
|
+
}
|
|
74033
|
+
if (!waitingController.aborted) this.#waitingHandlers.push(waitingHandler);
|
|
74034
|
+
return true;
|
|
73072
74035
|
}
|
|
73073
74036
|
/**
|
|
73074
|
-
* @param {()
|
|
74037
|
+
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
73075
74038
|
* @param {any} context
|
|
73076
74039
|
*/
|
|
73077
74040
|
onRequestStart(controller, context) {
|
|
@@ -73094,26 +74057,81 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
73094
74057
|
* @param {string} statusMessage
|
|
73095
74058
|
*/
|
|
73096
74059
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
74060
|
+
this.#responseStarted = true;
|
|
73097
74061
|
this.#statusCode = statusCode;
|
|
73098
74062
|
this.#headers = headers;
|
|
73099
74063
|
this.#statusMessage = statusMessage;
|
|
73100
74064
|
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
74065
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
74066
|
+
const { handler, controller: waitingController } = waitingHandler;
|
|
74067
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
74068
|
+
waitingHandler.done = true;
|
|
74069
|
+
continue;
|
|
74070
|
+
}
|
|
74071
|
+
try {
|
|
74072
|
+
handler.onResponseStart?.(waitingController, statusCode, headers, statusMessage);
|
|
74073
|
+
} catch {}
|
|
74074
|
+
if (waitingController.aborted) waitingHandler.done = true;
|
|
74075
|
+
}
|
|
74076
|
+
this.#pruneDoneWaitingHandlers();
|
|
73101
74077
|
}
|
|
73102
74078
|
/**
|
|
73103
74079
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
73104
74080
|
* @param {Buffer} chunk
|
|
73105
74081
|
*/
|
|
73106
74082
|
onResponseData(controller, chunk) {
|
|
73107
|
-
this.#
|
|
74083
|
+
if (this.#aborted || this.#completed) return;
|
|
74084
|
+
this.#responseDataStarted = true;
|
|
73108
74085
|
this.#primaryHandler.onResponseData?.(controller, chunk);
|
|
74086
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
74087
|
+
const { handler, controller: waitingController } = waitingHandler;
|
|
74088
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
74089
|
+
waitingHandler.done = true;
|
|
74090
|
+
continue;
|
|
74091
|
+
}
|
|
74092
|
+
if (waitingController.paused) {
|
|
74093
|
+
this.#bufferWaitingChunk(waitingHandler, chunk);
|
|
74094
|
+
continue;
|
|
74095
|
+
}
|
|
74096
|
+
try {
|
|
74097
|
+
handler.onResponseData?.(waitingController, chunk);
|
|
74098
|
+
} catch {}
|
|
74099
|
+
if (waitingController.aborted) {
|
|
74100
|
+
waitingHandler.done = true;
|
|
74101
|
+
waitingHandler.bufferedChunks = [];
|
|
74102
|
+
waitingHandler.bufferedBytes = 0;
|
|
74103
|
+
}
|
|
74104
|
+
}
|
|
74105
|
+
this.#pruneDoneWaitingHandlers();
|
|
73109
74106
|
}
|
|
73110
74107
|
/**
|
|
73111
74108
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
73112
74109
|
* @param {object} trailers
|
|
73113
74110
|
*/
|
|
73114
74111
|
onResponseEnd(controller, trailers) {
|
|
74112
|
+
if (this.#aborted || this.#completed) return;
|
|
74113
|
+
this.#completed = true;
|
|
73115
74114
|
this.#primaryHandler.onResponseEnd?.(controller, trailers);
|
|
73116
|
-
this.#
|
|
74115
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
74116
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
74117
|
+
waitingHandler.done = true;
|
|
74118
|
+
continue;
|
|
74119
|
+
}
|
|
74120
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
74121
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
74122
|
+
waitingHandler.done = true;
|
|
74123
|
+
continue;
|
|
74124
|
+
}
|
|
74125
|
+
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
74126
|
+
waitingHandler.pendingTrailers = trailers;
|
|
74127
|
+
continue;
|
|
74128
|
+
}
|
|
74129
|
+
try {
|
|
74130
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
|
|
74131
|
+
} catch {}
|
|
74132
|
+
waitingHandler.done = true;
|
|
74133
|
+
}
|
|
74134
|
+
this.#pruneDoneWaitingHandlers();
|
|
73117
74135
|
this.#onComplete?.();
|
|
73118
74136
|
}
|
|
73119
74137
|
/**
|
|
@@ -73121,76 +74139,132 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
73121
74139
|
* @param {Error} err
|
|
73122
74140
|
*/
|
|
73123
74141
|
onResponseError(controller, err) {
|
|
74142
|
+
if (this.#completed) return;
|
|
73124
74143
|
this.#aborted = true;
|
|
74144
|
+
this.#completed = true;
|
|
73125
74145
|
this.#primaryHandler.onResponseError?.(controller, err);
|
|
73126
|
-
this.#
|
|
74146
|
+
for (const waitingHandler of this.#waitingHandlers) this.#errorWaitingHandler(waitingHandler, err);
|
|
74147
|
+
this.#waitingHandlers = [];
|
|
73127
74148
|
this.#onComplete?.();
|
|
73128
74149
|
}
|
|
73129
74150
|
/**
|
|
73130
|
-
*
|
|
74151
|
+
* @param {DispatchHandler} handler
|
|
74152
|
+
* @returns {WaitingHandler}
|
|
73131
74153
|
*/
|
|
73132
|
-
#
|
|
73133
|
-
|
|
73134
|
-
|
|
73135
|
-
|
|
73136
|
-
|
|
73137
|
-
|
|
73138
|
-
|
|
73139
|
-
|
|
73140
|
-
|
|
73141
|
-
|
|
73142
|
-
|
|
73143
|
-
|
|
73144
|
-
|
|
73145
|
-
|
|
73146
|
-
|
|
73147
|
-
|
|
73148
|
-
|
|
73149
|
-
|
|
73150
|
-
|
|
73151
|
-
|
|
73152
|
-
|
|
73153
|
-
|
|
73154
|
-
|
|
73155
|
-
|
|
73156
|
-
|
|
74154
|
+
#createWaitingHandler(handler) {
|
|
74155
|
+
/** @type {WaitingHandler} */
|
|
74156
|
+
const waitingHandler = {
|
|
74157
|
+
handler,
|
|
74158
|
+
controller: null,
|
|
74159
|
+
bufferedChunks: [],
|
|
74160
|
+
bufferedBytes: 0,
|
|
74161
|
+
pendingTrailers: null,
|
|
74162
|
+
done: false
|
|
74163
|
+
};
|
|
74164
|
+
const state = {
|
|
74165
|
+
aborted: false,
|
|
74166
|
+
paused: false,
|
|
74167
|
+
reason: null
|
|
74168
|
+
};
|
|
74169
|
+
waitingHandler.controller = {
|
|
74170
|
+
resume: () => {
|
|
74171
|
+
if (state.aborted) return;
|
|
74172
|
+
state.paused = false;
|
|
74173
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
74174
|
+
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
|
|
74175
|
+
try {
|
|
74176
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
|
|
74177
|
+
} catch {}
|
|
74178
|
+
waitingHandler.pendingTrailers = null;
|
|
74179
|
+
waitingHandler.done = true;
|
|
74180
|
+
}
|
|
74181
|
+
this.#pruneDoneWaitingHandlers();
|
|
74182
|
+
},
|
|
74183
|
+
pause: () => {
|
|
74184
|
+
if (!state.aborted) state.paused = true;
|
|
74185
|
+
},
|
|
74186
|
+
get paused() {
|
|
74187
|
+
return state.paused;
|
|
74188
|
+
},
|
|
74189
|
+
get aborted() {
|
|
74190
|
+
return state.aborted;
|
|
74191
|
+
},
|
|
74192
|
+
get reason() {
|
|
74193
|
+
return state.reason;
|
|
74194
|
+
},
|
|
74195
|
+
abort: (reason) => {
|
|
74196
|
+
state.aborted = true;
|
|
74197
|
+
state.reason = reason ?? null;
|
|
74198
|
+
waitingHandler.done = true;
|
|
74199
|
+
waitingHandler.pendingTrailers = null;
|
|
74200
|
+
waitingHandler.bufferedChunks = [];
|
|
74201
|
+
waitingHandler.bufferedBytes = 0;
|
|
74202
|
+
}
|
|
74203
|
+
};
|
|
74204
|
+
return waitingHandler;
|
|
74205
|
+
}
|
|
74206
|
+
/**
|
|
74207
|
+
* @param {WaitingHandler} waitingHandler
|
|
74208
|
+
* @param {Buffer} chunk
|
|
74209
|
+
*/
|
|
74210
|
+
#bufferWaitingChunk(waitingHandler, chunk) {
|
|
74211
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
74212
|
+
waitingHandler.done = true;
|
|
74213
|
+
waitingHandler.bufferedChunks = [];
|
|
74214
|
+
waitingHandler.bufferedBytes = 0;
|
|
74215
|
+
return;
|
|
74216
|
+
}
|
|
74217
|
+
const bufferedChunk = Buffer.from(chunk);
|
|
74218
|
+
waitingHandler.bufferedChunks.push(bufferedChunk);
|
|
74219
|
+
waitingHandler.bufferedBytes += bufferedChunk.length;
|
|
74220
|
+
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
|
|
74221
|
+
const err = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
|
|
74222
|
+
this.#errorWaitingHandler(waitingHandler, err);
|
|
73157
74223
|
}
|
|
73158
|
-
this.#waitingHandlers = [];
|
|
73159
|
-
this.#chunks = [];
|
|
73160
74224
|
}
|
|
73161
74225
|
/**
|
|
73162
|
-
*
|
|
73163
|
-
* @param {Error} err
|
|
74226
|
+
* @param {WaitingHandler} waitingHandler
|
|
73164
74227
|
*/
|
|
73165
|
-
#
|
|
73166
|
-
|
|
73167
|
-
|
|
73168
|
-
|
|
73169
|
-
|
|
73170
|
-
get paused() {
|
|
73171
|
-
return false;
|
|
73172
|
-
},
|
|
73173
|
-
get aborted() {
|
|
73174
|
-
return true;
|
|
73175
|
-
},
|
|
73176
|
-
get reason() {
|
|
73177
|
-
return err;
|
|
73178
|
-
},
|
|
73179
|
-
abort() {}
|
|
73180
|
-
};
|
|
74228
|
+
#flushWaitingHandler(waitingHandler) {
|
|
74229
|
+
const { handler, controller } = waitingHandler;
|
|
74230
|
+
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
74231
|
+
const bufferedChunk = waitingHandler.bufferedChunks.shift();
|
|
74232
|
+
waitingHandler.bufferedBytes -= bufferedChunk.length;
|
|
73181
74233
|
try {
|
|
73182
|
-
handler.
|
|
73183
|
-
handler.onResponseError?.(waitingController, err);
|
|
74234
|
+
handler.onResponseData?.(controller, bufferedChunk);
|
|
73184
74235
|
} catch {}
|
|
74236
|
+
if (controller.aborted) {
|
|
74237
|
+
waitingHandler.done = true;
|
|
74238
|
+
waitingHandler.pendingTrailers = null;
|
|
74239
|
+
waitingHandler.bufferedChunks = [];
|
|
74240
|
+
waitingHandler.bufferedBytes = 0;
|
|
74241
|
+
break;
|
|
74242
|
+
}
|
|
73185
74243
|
}
|
|
73186
|
-
|
|
73187
|
-
|
|
74244
|
+
}
|
|
74245
|
+
/**
|
|
74246
|
+
* @param {WaitingHandler} waitingHandler
|
|
74247
|
+
* @param {Error} err
|
|
74248
|
+
*/
|
|
74249
|
+
#errorWaitingHandler(waitingHandler, err) {
|
|
74250
|
+
if (waitingHandler.done) return;
|
|
74251
|
+
waitingHandler.done = true;
|
|
74252
|
+
waitingHandler.pendingTrailers = null;
|
|
74253
|
+
waitingHandler.bufferedChunks = [];
|
|
74254
|
+
waitingHandler.bufferedBytes = 0;
|
|
74255
|
+
try {
|
|
74256
|
+
waitingHandler.controller.abort(err);
|
|
74257
|
+
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err);
|
|
74258
|
+
} catch {}
|
|
74259
|
+
}
|
|
74260
|
+
#pruneDoneWaitingHandlers() {
|
|
74261
|
+
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
|
|
73188
74262
|
}
|
|
73189
74263
|
};
|
|
73190
74264
|
module.exports = DeduplicationHandler;
|
|
73191
74265
|
}));
|
|
73192
74266
|
//#endregion
|
|
73193
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
74267
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/deduplicate.js
|
|
73194
74268
|
var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73195
74269
|
const diagnosticsChannel = __require("node:diagnostics_channel");
|
|
73196
74270
|
const util = require_util$5();
|
|
@@ -73202,12 +74276,13 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73202
74276
|
* @returns {import('../../types/dispatcher.d.ts').default.DispatcherComposeInterceptor}
|
|
73203
74277
|
*/
|
|
73204
74278
|
module.exports = (opts = {}) => {
|
|
73205
|
-
const { methods = ["GET"], skipHeaderNames = [], excludeHeaderNames = [] } = opts;
|
|
74279
|
+
const { methods = ["GET"], skipHeaderNames = [], excludeHeaderNames = [], maxBufferSize = 5 * 1024 * 1024 } = opts;
|
|
73206
74280
|
if (typeof opts !== "object" || opts === null) throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
|
|
73207
74281
|
if (!Array.isArray(methods)) throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
|
|
73208
74282
|
for (const method of methods) if (!util.safeHTTPMethods.includes(method)) throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);
|
|
73209
74283
|
if (!Array.isArray(skipHeaderNames)) throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
|
|
73210
74284
|
if (!Array.isArray(excludeHeaderNames)) throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
|
|
74285
|
+
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
|
|
73211
74286
|
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name) => name.toLowerCase()));
|
|
73212
74287
|
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name) => name.toLowerCase()));
|
|
73213
74288
|
/**
|
|
@@ -73228,8 +74303,8 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73228
74303
|
const dedupeKey = makeDeduplicationKey(makeCacheKey(opts), excludeHeaderNamesSet);
|
|
73229
74304
|
const pendingHandler = pendingRequests.get(dedupeKey);
|
|
73230
74305
|
if (pendingHandler) {
|
|
73231
|
-
pendingHandler.addWaitingHandler(handler);
|
|
73232
|
-
return
|
|
74306
|
+
if (pendingHandler.addWaitingHandler(handler)) return true;
|
|
74307
|
+
return dispatch(opts, handler);
|
|
73233
74308
|
}
|
|
73234
74309
|
const deduplicationHandler = new DeduplicationHandler(handler, () => {
|
|
73235
74310
|
pendingRequests.delete(dedupeKey);
|
|
@@ -73238,7 +74313,7 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73238
74313
|
key: dedupeKey,
|
|
73239
74314
|
type: "removed"
|
|
73240
74315
|
});
|
|
73241
|
-
});
|
|
74316
|
+
}, maxBufferSize);
|
|
73242
74317
|
pendingRequests.set(dedupeKey, deduplicationHandler);
|
|
73243
74318
|
if (pendingRequestsChannel.hasSubscribers) pendingRequestsChannel.publish({
|
|
73244
74319
|
size: pendingRequests.size,
|
|
@@ -73251,7 +74326,7 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73251
74326
|
};
|
|
73252
74327
|
}));
|
|
73253
74328
|
//#endregion
|
|
73254
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
74329
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
73255
74330
|
var require_sqlite_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73256
74331
|
const { Writable: Writable$1 } = __require("node:stream");
|
|
73257
74332
|
const { assertCacheKey, assertCacheValue } = require_cache$2();
|
|
@@ -73570,7 +74645,7 @@ var require_sqlite_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
73570
74645
|
}
|
|
73571
74646
|
}));
|
|
73572
74647
|
//#endregion
|
|
73573
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
74648
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/headers.js
|
|
73574
74649
|
var require_headers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73575
74650
|
const { kConstruct } = require_symbols();
|
|
73576
74651
|
const { kEnumerableProperty } = require_util$5();
|
|
@@ -73963,7 +75038,7 @@ var require_headers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
73963
75038
|
};
|
|
73964
75039
|
}));
|
|
73965
75040
|
//#endregion
|
|
73966
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
75041
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/response.js
|
|
73967
75042
|
var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
73968
75043
|
const { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
73969
75044
|
const { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
|
|
@@ -74308,7 +75383,7 @@ var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
74308
75383
|
};
|
|
74309
75384
|
}));
|
|
74310
75385
|
//#endregion
|
|
74311
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
75386
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/request.js
|
|
74312
75387
|
var require_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
74313
75388
|
const { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
74314
75389
|
const { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
@@ -74897,7 +75972,7 @@ var require_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
74897
75972
|
};
|
|
74898
75973
|
}));
|
|
74899
75974
|
//#endregion
|
|
74900
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
75975
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
74901
75976
|
var require_subresource_integrity = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
74902
75977
|
const assert$7 = __require("node:assert");
|
|
74903
75978
|
const { runtimeFeatures } = require_runtime_features();
|
|
@@ -75063,7 +76138,7 @@ var require_subresource_integrity = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
75063
76138
|
};
|
|
75064
76139
|
}));
|
|
75065
76140
|
//#endregion
|
|
75066
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
76141
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/index.js
|
|
75067
76142
|
var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
75068
76143
|
const { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse, getResponseState } = require_response();
|
|
75069
76144
|
const { HeadersList } = require_headers();
|
|
@@ -75159,7 +76234,8 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75159
76234
|
request,
|
|
75160
76235
|
processResponseEndOfBody: handleFetchDone,
|
|
75161
76236
|
processResponse,
|
|
75162
|
-
dispatcher: getRequestDispatcher(requestObject)
|
|
76237
|
+
dispatcher: getRequestDispatcher(requestObject),
|
|
76238
|
+
requestObject
|
|
75163
76239
|
});
|
|
75164
76240
|
return p.promise;
|
|
75165
76241
|
}
|
|
@@ -75190,7 +76266,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75190
76266
|
const response = getResponseState(responseObject);
|
|
75191
76267
|
if (response.body?.stream != null && isReadable(response.body.stream)) controller.error(error);
|
|
75192
76268
|
}
|
|
75193
|
-
function fetching({ request, processRequestBodyChunkLength, processRequestEndOfBody, processResponse, processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, dispatcher = getGlobalDispatcher() }) {
|
|
76269
|
+
function fetching({ request, processRequestBodyChunkLength, processRequestEndOfBody, processResponse, processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, dispatcher = getGlobalDispatcher(), requestObject = null }) {
|
|
75194
76270
|
assert$6(dispatcher);
|
|
75195
76271
|
let taskDestination = null;
|
|
75196
76272
|
let crossOriginIsolatedCapability = false;
|
|
@@ -75209,7 +76285,8 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75209
76285
|
processResponseConsumeBody,
|
|
75210
76286
|
processResponseEndOfBody,
|
|
75211
76287
|
taskDestination,
|
|
75212
|
-
crossOriginIsolatedCapability
|
|
76288
|
+
crossOriginIsolatedCapability,
|
|
76289
|
+
requestObject
|
|
75213
76290
|
};
|
|
75214
76291
|
assert$6(!request.body || request.body.stream);
|
|
75215
76292
|
if (request.window === "client") request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
|
|
@@ -75668,8 +76745,10 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75668
76745
|
const url = requestCurrentURL(request);
|
|
75669
76746
|
/** @type {import('../../..').Agent} */
|
|
75670
76747
|
const agent = fetchParams.controller.dispatcher;
|
|
76748
|
+
const path = url.pathname + url.search;
|
|
76749
|
+
const hasTrailingQuestionMark = url.search.length === 0 && url.href[url.href.length - url.hash.length - 1] === "?";
|
|
75671
76750
|
return new Promise((resolve, reject) => agent.dispatch({
|
|
75672
|
-
path:
|
|
76751
|
+
path: hasTrailingQuestionMark ? `${path}?` : path,
|
|
75673
76752
|
origin: url.origin,
|
|
75674
76753
|
method: request.method,
|
|
75675
76754
|
body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
|
|
@@ -75801,7 +76880,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75801
76880
|
};
|
|
75802
76881
|
}));
|
|
75803
76882
|
//#endregion
|
|
75804
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
76883
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/util.js
|
|
75805
76884
|
var require_util$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
75806
76885
|
const assert$5 = __require("node:assert");
|
|
75807
76886
|
const { URLSerializer } = require_data_url();
|
|
@@ -75835,7 +76914,7 @@ var require_util$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
75835
76914
|
};
|
|
75836
76915
|
}));
|
|
75837
76916
|
//#endregion
|
|
75838
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
76917
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/cache.js
|
|
75839
76918
|
var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
75840
76919
|
const assert$4 = __require("node:assert");
|
|
75841
76920
|
const { kConstruct } = require_symbols();
|
|
@@ -76283,7 +77362,7 @@ var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76283
77362
|
module.exports = { Cache };
|
|
76284
77363
|
}));
|
|
76285
77364
|
//#endregion
|
|
76286
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77365
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/cachestorage.js
|
|
76287
77366
|
var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76288
77367
|
const { Cache } = require_cache();
|
|
76289
77368
|
const { webidl } = require_webidl();
|
|
@@ -76373,7 +77452,7 @@ var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76373
77452
|
module.exports = { CacheStorage };
|
|
76374
77453
|
}));
|
|
76375
77454
|
//#endregion
|
|
76376
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77455
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/constants.js
|
|
76377
77456
|
var require_constants$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76378
77457
|
module.exports = {
|
|
76379
77458
|
maxAttributeValueSize: 1024,
|
|
@@ -76381,7 +77460,7 @@ var require_constants$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76381
77460
|
};
|
|
76382
77461
|
}));
|
|
76383
77462
|
//#endregion
|
|
76384
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77463
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/util.js
|
|
76385
77464
|
var require_util$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76386
77465
|
/**
|
|
76387
77466
|
* @param {string} value
|
|
@@ -76575,7 +77654,7 @@ var require_util$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76575
77654
|
};
|
|
76576
77655
|
}));
|
|
76577
77656
|
//#endregion
|
|
76578
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77657
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/parse.js
|
|
76579
77658
|
var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76580
77659
|
const { collectASequenceOfCodePointsFast } = require_infra();
|
|
76581
77660
|
const { maxNameValuePairSize, maxAttributeValueSize } = require_constants$2();
|
|
@@ -76680,7 +77759,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76680
77759
|
};
|
|
76681
77760
|
}));
|
|
76682
77761
|
//#endregion
|
|
76683
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77762
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/index.js
|
|
76684
77763
|
var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76685
77764
|
const { parseSetCookie } = require_parse();
|
|
76686
77765
|
const { stringify } = require_util$2();
|
|
@@ -76842,7 +77921,7 @@ var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
76842
77921
|
};
|
|
76843
77922
|
}));
|
|
76844
77923
|
//#endregion
|
|
76845
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
77924
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/events.js
|
|
76846
77925
|
var require_events = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
76847
77926
|
const { webidl } = require_webidl();
|
|
76848
77927
|
const { kEnumerableProperty } = require_util$5();
|
|
@@ -77104,7 +78183,7 @@ var require_events = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77104
78183
|
};
|
|
77105
78184
|
}));
|
|
77106
78185
|
//#endregion
|
|
77107
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78186
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/constants.js
|
|
77108
78187
|
var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77109
78188
|
module.exports = {
|
|
77110
78189
|
uid: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
|
|
@@ -77148,7 +78227,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77148
78227
|
};
|
|
77149
78228
|
}));
|
|
77150
78229
|
//#endregion
|
|
77151
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78230
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/util.js
|
|
77152
78231
|
var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77153
78232
|
const { states, opcodes } = require_constants$1();
|
|
77154
78233
|
const { isUtf8 } = __require("node:buffer");
|
|
@@ -77288,11 +78367,13 @@ var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77288
78367
|
* @returns {boolean}
|
|
77289
78368
|
*/
|
|
77290
78369
|
function isValidClientWindowBits(value) {
|
|
78370
|
+
if (value.length === 0) return false;
|
|
77291
78371
|
for (let i = 0; i < value.length; i++) {
|
|
77292
78372
|
const byte = value.charCodeAt(i);
|
|
77293
78373
|
if (byte < 48 || byte > 57) return false;
|
|
77294
78374
|
}
|
|
77295
|
-
|
|
78375
|
+
const num = Number.parseInt(value, 10);
|
|
78376
|
+
return num >= 8 && num <= 15;
|
|
77296
78377
|
}
|
|
77297
78378
|
/**
|
|
77298
78379
|
* @see https://whatpr.org/websockets/48/7b748d3...d5570f3.html#get-a-url-record
|
|
@@ -77352,7 +78433,7 @@ var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77352
78433
|
};
|
|
77353
78434
|
}));
|
|
77354
78435
|
//#endregion
|
|
77355
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78436
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/frame.js
|
|
77356
78437
|
var require_frame = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77357
78438
|
const { runtimeFeatures } = require_runtime_features();
|
|
77358
78439
|
const { maxUnsigned16Bit, opcodes } = require_constants$1();
|
|
@@ -77452,7 +78533,7 @@ var require_frame = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77452
78533
|
};
|
|
77453
78534
|
}));
|
|
77454
78535
|
//#endregion
|
|
77455
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78536
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/connection.js
|
|
77456
78537
|
var require_connection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77457
78538
|
const { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants$1();
|
|
77458
78539
|
const { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util$1();
|
|
@@ -77602,10 +78683,11 @@ var require_connection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77602
78683
|
};
|
|
77603
78684
|
}));
|
|
77604
78685
|
//#endregion
|
|
77605
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78686
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
77606
78687
|
var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77607
78688
|
const { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
|
|
77608
78689
|
const { isValidClientWindowBits } = require_util$1();
|
|
78690
|
+
const { MessageSizeExceededError } = require_errors();
|
|
77609
78691
|
const tail = Buffer.from([
|
|
77610
78692
|
0,
|
|
77611
78693
|
0,
|
|
@@ -77614,15 +78696,27 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
77614
78696
|
]);
|
|
77615
78697
|
const kBuffer = Symbol("kBuffer");
|
|
77616
78698
|
const kLength = Symbol("kLength");
|
|
78699
|
+
const kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
|
|
77617
78700
|
var PerMessageDeflate = class {
|
|
77618
78701
|
/** @type {import('node:zlib').InflateRaw} */
|
|
77619
78702
|
#inflate;
|
|
77620
78703
|
#options = {};
|
|
78704
|
+
/** @type {boolean} */
|
|
78705
|
+
#aborted = false;
|
|
78706
|
+
/** @type {Function|null} */
|
|
78707
|
+
#currentCallback = null;
|
|
78708
|
+
/**
|
|
78709
|
+
* @param {Map<string, string>} extensions
|
|
78710
|
+
*/
|
|
77621
78711
|
constructor(extensions) {
|
|
77622
78712
|
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
|
77623
78713
|
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
|
77624
78714
|
}
|
|
77625
78715
|
decompress(chunk, fin, callback) {
|
|
78716
|
+
if (this.#aborted) {
|
|
78717
|
+
callback(new MessageSizeExceededError());
|
|
78718
|
+
return;
|
|
78719
|
+
}
|
|
77626
78720
|
if (!this.#inflate) {
|
|
77627
78721
|
let windowBits = Z_DEFAULT_WINDOWBITS;
|
|
77628
78722
|
if (this.#options.serverMaxWindowBits) {
|
|
@@ -77632,24 +78726,45 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
77632
78726
|
}
|
|
77633
78727
|
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
|
|
77634
78728
|
}
|
|
77635
|
-
|
|
78729
|
+
try {
|
|
78730
|
+
this.#inflate = createInflateRaw({ windowBits });
|
|
78731
|
+
} catch (err) {
|
|
78732
|
+
callback(err);
|
|
78733
|
+
return;
|
|
78734
|
+
}
|
|
77636
78735
|
this.#inflate[kBuffer] = [];
|
|
77637
78736
|
this.#inflate[kLength] = 0;
|
|
77638
78737
|
this.#inflate.on("data", (data) => {
|
|
77639
|
-
this.#
|
|
78738
|
+
if (this.#aborted) return;
|
|
77640
78739
|
this.#inflate[kLength] += data.length;
|
|
78740
|
+
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
|
|
78741
|
+
this.#aborted = true;
|
|
78742
|
+
this.#inflate.removeAllListeners();
|
|
78743
|
+
this.#inflate.destroy();
|
|
78744
|
+
this.#inflate = null;
|
|
78745
|
+
if (this.#currentCallback) {
|
|
78746
|
+
const cb = this.#currentCallback;
|
|
78747
|
+
this.#currentCallback = null;
|
|
78748
|
+
cb(new MessageSizeExceededError());
|
|
78749
|
+
}
|
|
78750
|
+
return;
|
|
78751
|
+
}
|
|
78752
|
+
this.#inflate[kBuffer].push(data);
|
|
77641
78753
|
});
|
|
77642
78754
|
this.#inflate.on("error", (err) => {
|
|
77643
78755
|
this.#inflate = null;
|
|
77644
78756
|
callback(err);
|
|
77645
78757
|
});
|
|
77646
78758
|
}
|
|
78759
|
+
this.#currentCallback = callback;
|
|
77647
78760
|
this.#inflate.write(chunk);
|
|
77648
78761
|
if (fin) this.#inflate.write(tail);
|
|
77649
78762
|
this.#inflate.flush(() => {
|
|
78763
|
+
if (this.#aborted || !this.#inflate) return;
|
|
77650
78764
|
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
|
77651
78765
|
this.#inflate[kBuffer].length = 0;
|
|
77652
78766
|
this.#inflate[kLength] = 0;
|
|
78767
|
+
this.#currentCallback = null;
|
|
77653
78768
|
callback(null, full);
|
|
77654
78769
|
});
|
|
77655
78770
|
}
|
|
@@ -77657,7 +78772,7 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
77657
78772
|
module.exports = { PerMessageDeflate };
|
|
77658
78773
|
}));
|
|
77659
78774
|
//#endregion
|
|
77660
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
78775
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/receiver.js
|
|
77661
78776
|
var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77662
78777
|
const { Writable } = __require("node:stream");
|
|
77663
78778
|
const assert$1 = __require("node:assert");
|
|
@@ -77666,6 +78781,7 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77666
78781
|
const { failWebsocketConnection } = require_connection();
|
|
77667
78782
|
const { WebsocketFrameSend } = require_frame();
|
|
77668
78783
|
const { PerMessageDeflate } = require_permessage_deflate();
|
|
78784
|
+
const { MessageSizeExceededError } = require_errors();
|
|
77669
78785
|
var ByteParser = class extends Writable {
|
|
77670
78786
|
#buffers = [];
|
|
77671
78787
|
#fragmentsBytes = 0;
|
|
@@ -77678,6 +78794,10 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77678
78794
|
#extensions;
|
|
77679
78795
|
/** @type {import('./websocket').Handler} */
|
|
77680
78796
|
#handler;
|
|
78797
|
+
/**
|
|
78798
|
+
* @param {import('./websocket').Handler} handler
|
|
78799
|
+
* @param {Map<string, string>|null} extensions
|
|
78800
|
+
*/
|
|
77681
78801
|
constructor(handler, extensions) {
|
|
77682
78802
|
super();
|
|
77683
78803
|
this.#handler = handler;
|
|
@@ -77769,12 +78889,12 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77769
78889
|
if (this.#byteOffset < 8) return callback();
|
|
77770
78890
|
const buffer = this.consume(8);
|
|
77771
78891
|
const upper = buffer.readUInt32BE(0);
|
|
77772
|
-
|
|
78892
|
+
const lower = buffer.readUInt32BE(4);
|
|
78893
|
+
if (upper !== 0 || lower > 2 ** 31 - 1) {
|
|
77773
78894
|
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
|
|
77774
78895
|
return;
|
|
77775
78896
|
}
|
|
77776
|
-
|
|
77777
|
-
this.#info.payloadLength = (upper << 8) + lower;
|
|
78897
|
+
this.#info.payloadLength = lower;
|
|
77778
78898
|
this.#state = parserStates.READ_DATA;
|
|
77779
78899
|
} else if (this.#state === parserStates.READ_DATA) {
|
|
77780
78900
|
if (this.#byteOffset < this.#info.payloadLength) return callback();
|
|
@@ -77789,7 +78909,8 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77789
78909
|
} else {
|
|
77790
78910
|
this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => {
|
|
77791
78911
|
if (error) {
|
|
77792
|
-
|
|
78912
|
+
const code = error instanceof MessageSizeExceededError ? 1009 : 1007;
|
|
78913
|
+
failWebsocketConnection(this.#handler, code, error.message);
|
|
77793
78914
|
return;
|
|
77794
78915
|
}
|
|
77795
78916
|
this.writeFragments(data);
|
|
@@ -77939,7 +79060,7 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
77939
79060
|
module.exports = { ByteParser };
|
|
77940
79061
|
}));
|
|
77941
79062
|
//#endregion
|
|
77942
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79063
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/sender.js
|
|
77943
79064
|
var require_sender = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
77944
79065
|
const { WebsocketFrameSend } = require_frame();
|
|
77945
79066
|
const { opcodes, sendHints } = require_constants$1();
|
|
@@ -78022,7 +79143,7 @@ var require_sender = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
78022
79143
|
module.exports = { SendQueue };
|
|
78023
79144
|
}));
|
|
78024
79145
|
//#endregion
|
|
78025
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79146
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/websocket.js
|
|
78026
79147
|
var require_websocket = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
78027
79148
|
const { isArrayBuffer } = __require("node:util/types");
|
|
78028
79149
|
const { webidl } = require_webidl();
|
|
@@ -78425,7 +79546,7 @@ var require_websocket = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
78425
79546
|
};
|
|
78426
79547
|
}));
|
|
78427
79548
|
//#endregion
|
|
78428
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79549
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
78429
79550
|
var require_websocketerror = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
78430
79551
|
const { webidl } = require_webidl();
|
|
78431
79552
|
const { validateCloseCodeAndReason } = require_util$1();
|
|
@@ -78496,7 +79617,7 @@ var require_websocketerror = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
78496
79617
|
};
|
|
78497
79618
|
}));
|
|
78498
79619
|
//#endregion
|
|
78499
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79620
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
78500
79621
|
var require_websocketstream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
78501
79622
|
const { createDeferredPromise } = require_promise();
|
|
78502
79623
|
const { environmentSettingsObject } = require_util$4();
|
|
@@ -78748,7 +79869,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
78748
79869
|
module.exports = { WebSocketStream };
|
|
78749
79870
|
}));
|
|
78750
79871
|
//#endregion
|
|
78751
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79872
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/util.js
|
|
78752
79873
|
var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
78753
79874
|
/**
|
|
78754
79875
|
* Checks if the given value is a valid LastEventId.
|
|
@@ -78774,7 +79895,7 @@ var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
78774
79895
|
};
|
|
78775
79896
|
}));
|
|
78776
79897
|
//#endregion
|
|
78777
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
79898
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
78778
79899
|
var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
78779
79900
|
const { Transform } = __require("node:stream");
|
|
78780
79901
|
const { isASCIINumber, isValidLastEventId } = require_util();
|
|
@@ -78997,7 +80118,7 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
78997
80118
|
module.exports = { EventSourceStream };
|
|
78998
80119
|
}));
|
|
78999
80120
|
//#endregion
|
|
79000
|
-
//#region ../../node_modules/.bun/undici@7.
|
|
80121
|
+
//#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
79001
80122
|
var require_eventsource = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
79002
80123
|
const { pipeline: pipeline$1 } = __require("node:stream");
|
|
79003
80124
|
const { fetching } = require_fetch();
|
|
@@ -79337,6 +80458,7 @@ var import_undici = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
79337
80458
|
const RoundRobinPool = require_round_robin_pool();
|
|
79338
80459
|
const Agent = require_agent();
|
|
79339
80460
|
const ProxyAgent = require_proxy_agent();
|
|
80461
|
+
const Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
79340
80462
|
const EnvHttpProxyAgent = require_env_http_proxy_agent();
|
|
79341
80463
|
const RetryAgent = require_retry_agent();
|
|
79342
80464
|
const H2CClient = require_h2c_client();
|
|
@@ -79363,6 +80485,7 @@ var import_undici = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
79363
80485
|
module.exports.RoundRobinPool = RoundRobinPool;
|
|
79364
80486
|
module.exports.Agent = Agent;
|
|
79365
80487
|
module.exports.ProxyAgent = ProxyAgent;
|
|
80488
|
+
module.exports.Socks5ProxyAgent = Socks5ProxyAgent;
|
|
79366
80489
|
module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
|
|
79367
80490
|
module.exports.RetryAgent = RetryAgent;
|
|
79368
80491
|
module.exports.H2CClient = H2CClient;
|
|
@@ -79539,7 +80662,7 @@ function validateRuntimeVersion(experts) {
|
|
|
79539
80662
|
//#endregion
|
|
79540
80663
|
//#region ../../packages/runtime/src/helpers/setup-experts.ts
|
|
79541
80664
|
async function setupExperts(setting, resolveExpertToRun) {
|
|
79542
|
-
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-
|
|
80665
|
+
const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-Lim3XOx2.js")).resolveExpertToRun;
|
|
79543
80666
|
const { expertKey } = setting;
|
|
79544
80667
|
const experts = { ...setting.experts };
|
|
79545
80668
|
const clientOptions = {
|
|
@@ -92132,7 +93255,8 @@ function toolCallPartToCoreToolCallPart(part) {
|
|
|
92132
93255
|
type: "tool-call",
|
|
92133
93256
|
toolCallId: part.toolCallId,
|
|
92134
93257
|
toolName: part.toolName,
|
|
92135
|
-
input: part.args
|
|
93258
|
+
input: part.args,
|
|
93259
|
+
providerOptions: part.providerMetadata
|
|
92136
93260
|
};
|
|
92137
93261
|
}
|
|
92138
93262
|
function thinkingPartToCoreThinkingPart(part) {
|
|
@@ -92304,7 +93428,8 @@ function classifyToolCalls(toolCalls, skillManager) {
|
|
|
92304
93428
|
toolCallId: tc.toolCallId,
|
|
92305
93429
|
toolName: tc.toolName,
|
|
92306
93430
|
input: tc.input,
|
|
92307
|
-
adapter
|
|
93431
|
+
adapter,
|
|
93432
|
+
providerMetadata: tc.providerMetadata
|
|
92308
93433
|
};
|
|
92309
93434
|
});
|
|
92310
93435
|
}
|
|
@@ -92321,7 +93446,8 @@ function buildToolCallParts(toolCalls) {
|
|
|
92321
93446
|
type: "toolCallPart",
|
|
92322
93447
|
toolCallId: tc.toolCallId,
|
|
92323
93448
|
toolName: tc.toolName,
|
|
92324
|
-
args: tc.input
|
|
93449
|
+
args: tc.input,
|
|
93450
|
+
providerMetadata: tc.providerMetadata
|
|
92325
93451
|
}));
|
|
92326
93452
|
}
|
|
92327
93453
|
function buildToolCalls(toolCalls) {
|
|
@@ -124640,7 +125766,7 @@ async function startHandler(expertKey, query, options, handlerOptions) {
|
|
|
124640
125766
|
//#endregion
|
|
124641
125767
|
//#region package.json
|
|
124642
125768
|
var name = "perstack";
|
|
124643
|
-
var version = "0.0.
|
|
125769
|
+
var version = "0.0.137";
|
|
124644
125770
|
var description = "PerStack CLI";
|
|
124645
125771
|
//#endregion
|
|
124646
125772
|
//#region bin/cli.ts
|