@cloudflare/vite-plugin 1.62.0 → 1.62.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs
CHANGED
|
@@ -17134,8 +17134,8 @@ const chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
|
17134
17134
|
var source_default = chalk;
|
|
17135
17135
|
|
|
17136
17136
|
//#endregion
|
|
17137
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17138
|
-
var require_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
17137
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/symbols.js
|
|
17138
|
+
var require_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/symbols.js": ((exports, module) => {
|
|
17139
17139
|
module.exports = {
|
|
17140
17140
|
kClose: Symbol("close"),
|
|
17141
17141
|
kDestroy: Symbol("destroy"),
|
|
@@ -17212,8 +17212,8 @@ var require_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
17212
17212
|
}) });
|
|
17213
17213
|
|
|
17214
17214
|
//#endregion
|
|
17215
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17216
|
-
var require_timers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
17215
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/timers.js
|
|
17216
|
+
var require_timers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/timers.js": ((exports, module) => {
|
|
17217
17217
|
/**
|
|
17218
17218
|
* This module offers an optimized timer implementation designed for scenarios
|
|
17219
17219
|
* where high precision is not critical.
|
|
@@ -17494,8 +17494,8 @@ var require_timers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17494
17494
|
}) });
|
|
17495
17495
|
|
|
17496
17496
|
//#endregion
|
|
17497
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17498
|
-
var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
17497
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/errors.js
|
|
17498
|
+
var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/errors.js": ((exports, module) => {
|
|
17499
17499
|
const kUndiciError = Symbol.for("undici.error.UND_ERR");
|
|
17500
17500
|
var UndiciError$4 = class extends Error {
|
|
17501
17501
|
constructor(message, options) {
|
|
@@ -17526,7 +17526,7 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17526
17526
|
}
|
|
17527
17527
|
};
|
|
17528
17528
|
const kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
|
|
17529
|
-
var HeadersTimeoutError$
|
|
17529
|
+
var HeadersTimeoutError$2 = class extends UndiciError$4 {
|
|
17530
17530
|
constructor(message) {
|
|
17531
17531
|
super(message);
|
|
17532
17532
|
this.name = "HeadersTimeoutError";
|
|
@@ -17556,7 +17556,7 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17556
17556
|
}
|
|
17557
17557
|
};
|
|
17558
17558
|
const kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
|
|
17559
|
-
var BodyTimeoutError$
|
|
17559
|
+
var BodyTimeoutError$2 = class extends UndiciError$4 {
|
|
17560
17560
|
constructor(message) {
|
|
17561
17561
|
super(message);
|
|
17562
17562
|
this.name = "BodyTimeoutError";
|
|
@@ -17571,7 +17571,7 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17571
17571
|
}
|
|
17572
17572
|
};
|
|
17573
17573
|
const kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
|
|
17574
|
-
var InvalidArgumentError$
|
|
17574
|
+
var InvalidArgumentError$39 = class extends UndiciError$4 {
|
|
17575
17575
|
constructor(message) {
|
|
17576
17576
|
super(message);
|
|
17577
17577
|
this.name = "InvalidArgumentError";
|
|
@@ -17767,7 +17767,7 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17767
17767
|
}
|
|
17768
17768
|
};
|
|
17769
17769
|
const kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
|
|
17770
|
-
var ResponseExceededMaxSizeError$
|
|
17770
|
+
var ResponseExceededMaxSizeError$2 = class extends UndiciError$4 {
|
|
17771
17771
|
constructor(message) {
|
|
17772
17772
|
super(message);
|
|
17773
17773
|
this.name = "ResponseExceededMaxSizeError";
|
|
@@ -17878,12 +17878,12 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17878
17878
|
AbortError: AbortError$2,
|
|
17879
17879
|
HTTPParserError: HTTPParserError$1,
|
|
17880
17880
|
UndiciError: UndiciError$4,
|
|
17881
|
-
HeadersTimeoutError: HeadersTimeoutError$
|
|
17881
|
+
HeadersTimeoutError: HeadersTimeoutError$2,
|
|
17882
17882
|
HeadersOverflowError: HeadersOverflowError$1,
|
|
17883
|
-
BodyTimeoutError: BodyTimeoutError$
|
|
17883
|
+
BodyTimeoutError: BodyTimeoutError$2,
|
|
17884
17884
|
RequestContentLengthMismatchError: RequestContentLengthMismatchError$2,
|
|
17885
17885
|
ConnectTimeoutError: ConnectTimeoutError$1,
|
|
17886
|
-
InvalidArgumentError: InvalidArgumentError$
|
|
17886
|
+
InvalidArgumentError: InvalidArgumentError$39,
|
|
17887
17887
|
InvalidReturnValueError: InvalidReturnValueError$2,
|
|
17888
17888
|
RequestAbortedError: RequestAbortedError$9,
|
|
17889
17889
|
ClientDestroyedError: ClientDestroyedError$2,
|
|
@@ -17893,7 +17893,7 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17893
17893
|
NotSupportedError: NotSupportedError$2,
|
|
17894
17894
|
ResponseContentLengthMismatchError: ResponseContentLengthMismatchError$1,
|
|
17895
17895
|
BalancedPoolMissingUpstreamError: BalancedPoolMissingUpstreamError$1,
|
|
17896
|
-
ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$
|
|
17896
|
+
ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$2,
|
|
17897
17897
|
RequestRetryError: RequestRetryError$1,
|
|
17898
17898
|
ResponseError: ResponseError$1,
|
|
17899
17899
|
SecureProxyConnectionError: SecureProxyConnectionError$1,
|
|
@@ -17904,8 +17904,8 @@ var require_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
17904
17904
|
}) });
|
|
17905
17905
|
|
|
17906
17906
|
//#endregion
|
|
17907
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17908
|
-
var require_constants$7 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
17907
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/constants.js
|
|
17908
|
+
var require_constants$7 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/constants.js": ((exports, module) => {
|
|
17909
17909
|
/**
|
|
17910
17910
|
* @see https://developer.mozilla.org/docs/Web/HTTP/Headers
|
|
17911
17911
|
*/
|
|
@@ -18036,8 +18036,8 @@ var require_constants$7 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
18036
18036
|
}) });
|
|
18037
18037
|
|
|
18038
18038
|
//#endregion
|
|
18039
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
18040
|
-
var require_tree = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
18039
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/tree.js
|
|
18040
|
+
var require_tree = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/tree.js": ((exports, module) => {
|
|
18041
18041
|
const { wellknownHeaderNames, headerNameLowerCasedRecord: headerNameLowerCasedRecord$2 } = require_constants$7();
|
|
18042
18042
|
var TstNode = class TstNode {
|
|
18043
18043
|
/** @type {any} */
|
|
@@ -18155,8 +18155,8 @@ var require_tree = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
18155
18155
|
}) });
|
|
18156
18156
|
|
|
18157
18157
|
//#endregion
|
|
18158
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
18159
|
-
var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
18158
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/util.js
|
|
18159
|
+
var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/util.js": ((exports, module) => {
|
|
18160
18160
|
const assert$34 = __require$3("node:assert");
|
|
18161
18161
|
const { kDestroyed: kDestroyed$2, kBodyUsed: kBodyUsed$1, kListeners, kBody: kBody$2 } = require_symbols();
|
|
18162
18162
|
const { IncomingMessage } = __require$3("node:http");
|
|
@@ -18165,7 +18165,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
18165
18165
|
const { stringify: stringify$4 } = __require$3("node:querystring");
|
|
18166
18166
|
const { EventEmitter: EE$3 } = __require$3("node:events");
|
|
18167
18167
|
const timers$1 = require_timers();
|
|
18168
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
18168
|
+
const { InvalidArgumentError: InvalidArgumentError$38, ConnectTimeoutError } = require_errors();
|
|
18169
18169
|
const { headerNameLowerCasedRecord: headerNameLowerCasedRecord$1 } = require_constants$7();
|
|
18170
18170
|
const { tree } = require_tree();
|
|
18171
18171
|
const [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
|
|
@@ -18268,17 +18268,17 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
18268
18268
|
* @type {URL}
|
|
18269
18269
|
*/
|
|
18270
18270
|
url$2 = new URL(url$2);
|
|
18271
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18271
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18272
18272
|
return url$2;
|
|
18273
18273
|
}
|
|
18274
|
-
if (!url$2 || typeof url$2 !== "object") throw new InvalidArgumentError$
|
|
18274
|
+
if (!url$2 || typeof url$2 !== "object") throw new InvalidArgumentError$38("Invalid URL: The URL argument must be a non-null object.");
|
|
18275
18275
|
if (!(url$2 instanceof URL)) {
|
|
18276
|
-
if (url$2.port != null && url$2.port !== "" && isValidPort(url$2.port) === false) throw new InvalidArgumentError$
|
|
18277
|
-
if (url$2.path != null && typeof url$2.path !== "string") throw new InvalidArgumentError$
|
|
18278
|
-
if (url$2.pathname != null && typeof url$2.pathname !== "string") throw new InvalidArgumentError$
|
|
18279
|
-
if (url$2.hostname != null && typeof url$2.hostname !== "string") throw new InvalidArgumentError$
|
|
18280
|
-
if (url$2.origin != null && typeof url$2.origin !== "string") throw new InvalidArgumentError$
|
|
18281
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18276
|
+
if (url$2.port != null && url$2.port !== "" && isValidPort(url$2.port) === false) throw new InvalidArgumentError$38("Invalid URL: port must be a valid integer or a string representation of an integer.");
|
|
18277
|
+
if (url$2.path != null && typeof url$2.path !== "string") throw new InvalidArgumentError$38("Invalid URL path: the path must be a string or null/undefined.");
|
|
18278
|
+
if (url$2.pathname != null && typeof url$2.pathname !== "string") throw new InvalidArgumentError$38("Invalid URL pathname: the pathname must be a string or null/undefined.");
|
|
18279
|
+
if (url$2.hostname != null && typeof url$2.hostname !== "string") throw new InvalidArgumentError$38("Invalid URL hostname: the hostname must be a string or null/undefined.");
|
|
18280
|
+
if (url$2.origin != null && typeof url$2.origin !== "string") throw new InvalidArgumentError$38("Invalid URL origin: the origin must be a string or null/undefined.");
|
|
18281
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18282
18282
|
const port = url$2.port != null ? url$2.port : url$2.protocol === "https:" ? 443 : 80;
|
|
18283
18283
|
let origin = url$2.origin != null ? url$2.origin : `${url$2.protocol || ""}//${url$2.hostname || ""}:${port}`;
|
|
18284
18284
|
let path$2 = url$2.path != null ? url$2.path : `${url$2.pathname || ""}${url$2.search || ""}`;
|
|
@@ -18286,7 +18286,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
18286
18286
|
if (path$2 && path$2[0] !== "/") path$2 = `/${path$2}`;
|
|
18287
18287
|
return new URL(`${origin}${path$2}`);
|
|
18288
18288
|
}
|
|
18289
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18289
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18290
18290
|
return url$2;
|
|
18291
18291
|
}
|
|
18292
18292
|
/**
|
|
@@ -18295,7 +18295,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
18295
18295
|
*/
|
|
18296
18296
|
function parseOrigin(url$2) {
|
|
18297
18297
|
url$2 = parseURL(url$2);
|
|
18298
|
-
if (url$2.pathname !== "/" || url$2.search || url$2.hash) throw new InvalidArgumentError$
|
|
18298
|
+
if (url$2.pathname !== "/" || url$2.search || url$2.hash) throw new InvalidArgumentError$38("invalid url");
|
|
18299
18299
|
return url$2;
|
|
18300
18300
|
}
|
|
18301
18301
|
/**
|
|
@@ -18496,17 +18496,17 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
18496
18496
|
* @returns {asserts handler is import('../api/api-request').RequestHandler}
|
|
18497
18497
|
*/
|
|
18498
18498
|
function assertRequestHandler$1(handler, method, upgrade$1) {
|
|
18499
|
-
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$
|
|
18499
|
+
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$38("handler must be an object");
|
|
18500
18500
|
if (typeof handler.onRequestStart === "function") return;
|
|
18501
|
-
if (typeof handler.onConnect !== "function") throw new InvalidArgumentError$
|
|
18502
|
-
if (typeof handler.onError !== "function") throw new InvalidArgumentError$
|
|
18503
|
-
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) throw new InvalidArgumentError$
|
|
18501
|
+
if (typeof handler.onConnect !== "function") throw new InvalidArgumentError$38("invalid onConnect method");
|
|
18502
|
+
if (typeof handler.onError !== "function") throw new InvalidArgumentError$38("invalid onError method");
|
|
18503
|
+
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) throw new InvalidArgumentError$38("invalid onBodySent method");
|
|
18504
18504
|
if (upgrade$1 || method === "CONNECT") {
|
|
18505
|
-
if (typeof handler.onUpgrade !== "function") throw new InvalidArgumentError$
|
|
18505
|
+
if (typeof handler.onUpgrade !== "function") throw new InvalidArgumentError$38("invalid onUpgrade method");
|
|
18506
18506
|
} else {
|
|
18507
|
-
if (typeof handler.onHeaders !== "function") throw new InvalidArgumentError$
|
|
18508
|
-
if (typeof handler.onData !== "function") throw new InvalidArgumentError$
|
|
18509
|
-
if (typeof handler.onComplete !== "function") throw new InvalidArgumentError$
|
|
18507
|
+
if (typeof handler.onHeaders !== "function") throw new InvalidArgumentError$38("invalid onHeaders method");
|
|
18508
|
+
if (typeof handler.onData !== "function") throw new InvalidArgumentError$38("invalid onData method");
|
|
18509
|
+
if (typeof handler.onComplete !== "function") throw new InvalidArgumentError$38("invalid onComplete method");
|
|
18510
18510
|
}
|
|
18511
18511
|
}
|
|
18512
18512
|
/**
|
|
@@ -19084,8 +19084,8 @@ var require_util$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
19084
19084
|
}) });
|
|
19085
19085
|
|
|
19086
19086
|
//#endregion
|
|
19087
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19088
|
-
var require_stats = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19087
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/stats.js
|
|
19088
|
+
var require_stats = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/stats.js": ((exports, module) => {
|
|
19089
19089
|
const { kConnected: kConnected$4, kPending: kPending$4, kRunning: kRunning$5, kSize: kSize$5, kFree: kFree$1, kQueued: kQueued$1 } = require_symbols();
|
|
19090
19090
|
var ClientStats$1 = class {
|
|
19091
19091
|
constructor(client) {
|
|
@@ -19112,8 +19112,8 @@ var require_stats = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
19112
19112
|
}) });
|
|
19113
19113
|
|
|
19114
19114
|
//#endregion
|
|
19115
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19116
|
-
var require_diagnostics = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19115
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/diagnostics.js
|
|
19116
|
+
var require_diagnostics = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/diagnostics.js": ((exports, module) => {
|
|
19117
19117
|
const diagnosticsChannel$1 = __require$3("node:diagnostics_channel");
|
|
19118
19118
|
const util$24 = __require$3("node:util");
|
|
19119
19119
|
const undiciDebugLog = util$24.debuglog("undici");
|
|
@@ -19224,9 +19224,9 @@ var require_diagnostics = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
19224
19224
|
}) });
|
|
19225
19225
|
|
|
19226
19226
|
//#endregion
|
|
19227
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19228
|
-
var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19229
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19227
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/request.js
|
|
19228
|
+
var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/request.js": ((exports, module) => {
|
|
19229
|
+
const { InvalidArgumentError: InvalidArgumentError$37, NotSupportedError: NotSupportedError$1 } = require_errors();
|
|
19230
19230
|
const assert$33 = __require$3("node:assert");
|
|
19231
19231
|
const { isValidHTTPToken: isValidHTTPToken$3, isValidHeaderValue: isValidHeaderValue$2, isStream, destroy, isBuffer, isFormDataLike, isIterable, hasSafeIterator: hasSafeIterator$2, isBlobLike, serializePathWithQuery: serializePathWithQuery$3, assertRequestHandler, getServerName, normalizedMethodRecords: normalizedMethodRecords$1, getProtocolFromUrlString } = require_util$5();
|
|
19232
19232
|
const { channels: channels$6 } = require_diagnostics();
|
|
@@ -19243,20 +19243,20 @@ var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
19243
19243
|
const kHandler = Symbol("handler");
|
|
19244
19244
|
var Request$6 = class {
|
|
19245
19245
|
constructor(origin, { path: path$2, method, body, headers, query, idempotent, blocking, upgrade: upgrade$1, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections, typeOfService }, handler) {
|
|
19246
|
-
if (typeof path$2 !== "string") throw new InvalidArgumentError$
|
|
19247
|
-
else if (path$2[0] !== "/" && !(path$2.startsWith("http://") || path$2.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError$
|
|
19248
|
-
else if (invalidPathRegex.test(path$2)) throw new InvalidArgumentError$
|
|
19249
|
-
if (typeof method !== "string") throw new InvalidArgumentError$
|
|
19250
|
-
else if (normalizedMethodRecords$1[method] === void 0 && !isValidHTTPToken$3(method)) throw new InvalidArgumentError$
|
|
19251
|
-
if (upgrade$1 && typeof upgrade$1 !== "string") throw new InvalidArgumentError$
|
|
19252
|
-
if (upgrade$1 && !isValidHeaderValue$2(upgrade$1)) throw new InvalidArgumentError$
|
|
19253
|
-
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$
|
|
19254
|
-
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$
|
|
19255
|
-
if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError$
|
|
19256
|
-
if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError$
|
|
19257
|
-
if (throwOnError != null) throw new InvalidArgumentError$
|
|
19258
|
-
if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError$
|
|
19259
|
-
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError$
|
|
19246
|
+
if (typeof path$2 !== "string") throw new InvalidArgumentError$37("path must be a string");
|
|
19247
|
+
else if (path$2[0] !== "/" && !(path$2.startsWith("http://") || path$2.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError$37("path must be an absolute URL or start with a slash");
|
|
19248
|
+
else if (invalidPathRegex.test(path$2)) throw new InvalidArgumentError$37("invalid request path");
|
|
19249
|
+
if (typeof method !== "string") throw new InvalidArgumentError$37("method must be a string");
|
|
19250
|
+
else if (normalizedMethodRecords$1[method] === void 0 && !isValidHTTPToken$3(method)) throw new InvalidArgumentError$37("invalid request method");
|
|
19251
|
+
if (upgrade$1 && typeof upgrade$1 !== "string") throw new InvalidArgumentError$37("upgrade must be a string");
|
|
19252
|
+
if (upgrade$1 && !isValidHeaderValue$2(upgrade$1)) throw new InvalidArgumentError$37("invalid upgrade header");
|
|
19253
|
+
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$37("invalid headersTimeout");
|
|
19254
|
+
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$37("invalid bodyTimeout");
|
|
19255
|
+
if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError$37("invalid reset");
|
|
19256
|
+
if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError$37("invalid expectContinue");
|
|
19257
|
+
if (throwOnError != null) throw new InvalidArgumentError$37("invalid throwOnError");
|
|
19258
|
+
if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError$37("maxRedirections is not supported, use the redirect interceptor");
|
|
19259
|
+
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError$37("typeOfService must be an integer between 0 and 255");
|
|
19260
19260
|
this.headersTimeout = headersTimeout;
|
|
19261
19261
|
this.bodyTimeout = bodyTimeout;
|
|
19262
19262
|
this.method = method;
|
|
@@ -19282,7 +19282,7 @@ var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
19282
19282
|
else if (body instanceof ArrayBuffer) this.body = body.byteLength ? Buffer.from(body) : null;
|
|
19283
19283
|
else if (typeof body === "string") this.body = body.length ? Buffer.from(body) : null;
|
|
19284
19284
|
else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) this.body = body;
|
|
19285
|
-
else throw new InvalidArgumentError$
|
|
19285
|
+
else throw new InvalidArgumentError$37("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
|
|
19286
19286
|
this.completed = false;
|
|
19287
19287
|
this.aborted = false;
|
|
19288
19288
|
this.upgrade = upgrade$1 || null;
|
|
@@ -19298,17 +19298,17 @@ var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
19298
19298
|
this.headers = [];
|
|
19299
19299
|
this.expectContinue = expectContinue != null ? expectContinue : false;
|
|
19300
19300
|
if (Array.isArray(headers)) {
|
|
19301
|
-
if (headers.length % 2 !== 0) throw new InvalidArgumentError$
|
|
19301
|
+
if (headers.length % 2 !== 0) throw new InvalidArgumentError$37("headers array must be even");
|
|
19302
19302
|
for (let i$1 = 0; i$1 < headers.length; i$1 += 2) processHeader(this, headers[i$1], headers[i$1 + 1]);
|
|
19303
19303
|
} else if (headers && typeof headers === "object") if (hasSafeIterator$2(headers)) for (const header of headers) {
|
|
19304
|
-
if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError$
|
|
19304
|
+
if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError$37("headers must be in key-value pair format");
|
|
19305
19305
|
processHeader(this, header[0], header[1]);
|
|
19306
19306
|
}
|
|
19307
19307
|
else {
|
|
19308
19308
|
const keys = Object.keys(headers);
|
|
19309
19309
|
for (let i$1 = 0; i$1 < keys.length; ++i$1) processHeader(this, keys[i$1], headers[keys[i$1]]);
|
|
19310
19310
|
}
|
|
19311
|
-
else if (headers != null) throw new InvalidArgumentError$
|
|
19311
|
+
else if (headers != null) throw new InvalidArgumentError$37("headers must be an object or an array");
|
|
19312
19312
|
assertRequestHandler(handler, method, upgrade$1);
|
|
19313
19313
|
this.servername = servername || getServerName(this.host) || null;
|
|
19314
19314
|
this[kHandler] = handler;
|
|
@@ -19422,51 +19422,51 @@ var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
19422
19422
|
}
|
|
19423
19423
|
};
|
|
19424
19424
|
function processHeader(request$2, key, val) {
|
|
19425
|
-
if (val && typeof val === "object" && !Array.isArray(val)) throw new InvalidArgumentError$
|
|
19425
|
+
if (val && typeof val === "object" && !Array.isArray(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19426
19426
|
else if (val === void 0) return;
|
|
19427
19427
|
let headerName = headerNameLowerCasedRecord[key];
|
|
19428
19428
|
if (headerName === void 0) {
|
|
19429
19429
|
headerName = key.toLowerCase();
|
|
19430
|
-
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken$3(headerName)) throw new InvalidArgumentError$
|
|
19430
|
+
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken$3(headerName)) throw new InvalidArgumentError$37("invalid header key");
|
|
19431
19431
|
}
|
|
19432
19432
|
if (Array.isArray(val)) {
|
|
19433
19433
|
const arr = [];
|
|
19434
19434
|
for (let i$1 = 0; i$1 < val.length; i$1++) if (typeof val[i$1] === "string") {
|
|
19435
|
-
if (!isValidHeaderValue$2(val[i$1])) throw new InvalidArgumentError$
|
|
19435
|
+
if (!isValidHeaderValue$2(val[i$1])) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19436
19436
|
arr.push(val[i$1]);
|
|
19437
19437
|
} else if (val[i$1] === null) arr.push("");
|
|
19438
|
-
else if (typeof val[i$1] === "object") throw new InvalidArgumentError$
|
|
19438
|
+
else if (typeof val[i$1] === "object") throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19439
19439
|
else {
|
|
19440
19440
|
const str = `${val[i$1]}`;
|
|
19441
|
-
if (!isValidHeaderValue$2(str)) throw new InvalidArgumentError$
|
|
19441
|
+
if (!isValidHeaderValue$2(str)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19442
19442
|
arr.push(str);
|
|
19443
19443
|
}
|
|
19444
19444
|
val = arr;
|
|
19445
19445
|
} else if (typeof val === "string") {
|
|
19446
|
-
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$
|
|
19446
|
+
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19447
19447
|
} else if (val === null) val = "";
|
|
19448
19448
|
else {
|
|
19449
19449
|
val = `${val}`;
|
|
19450
|
-
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$
|
|
19450
|
+
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19451
19451
|
}
|
|
19452
19452
|
if (headerName === "host") {
|
|
19453
|
-
if (request$2.host !== null) throw new InvalidArgumentError$
|
|
19454
|
-
if (typeof val !== "string") throw new InvalidArgumentError$
|
|
19453
|
+
if (request$2.host !== null) throw new InvalidArgumentError$37("duplicate host header");
|
|
19454
|
+
if (typeof val !== "string") throw new InvalidArgumentError$37("invalid host header");
|
|
19455
19455
|
request$2.host = val;
|
|
19456
19456
|
} else if (headerName === "content-length") {
|
|
19457
|
-
if (request$2.contentLength !== null) throw new InvalidArgumentError$
|
|
19458
|
-
if (!isValidContentLengthHeaderValue(val)) throw new InvalidArgumentError$
|
|
19457
|
+
if (request$2.contentLength !== null) throw new InvalidArgumentError$37("duplicate content-length header");
|
|
19458
|
+
if (!isValidContentLengthHeaderValue(val)) throw new InvalidArgumentError$37("invalid content-length header");
|
|
19459
19459
|
request$2.contentLength = parseInt(val, 10);
|
|
19460
19460
|
} else if (request$2.contentType === null && headerName === "content-type") {
|
|
19461
19461
|
request$2.contentType = val;
|
|
19462
19462
|
request$2.headers.push(key, val);
|
|
19463
|
-
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") throw new InvalidArgumentError$
|
|
19463
|
+
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") throw new InvalidArgumentError$37(`invalid ${headerName} header`);
|
|
19464
19464
|
else if (headerName === "connection") {
|
|
19465
19465
|
const value = typeof val === "string" ? val : null;
|
|
19466
|
-
if (value === null) throw new InvalidArgumentError$
|
|
19466
|
+
if (value === null) throw new InvalidArgumentError$37("invalid connection header");
|
|
19467
19467
|
for (const token of value.toLowerCase().split(",")) {
|
|
19468
19468
|
const trimmed = token.trim();
|
|
19469
|
-
if (!isValidHTTPToken$3(trimmed)) throw new InvalidArgumentError$
|
|
19469
|
+
if (!isValidHTTPToken$3(trimmed)) throw new InvalidArgumentError$37("invalid connection header");
|
|
19470
19470
|
if (trimmed === "close") request$2.reset = true;
|
|
19471
19471
|
}
|
|
19472
19472
|
} else if (headerName === "expect") throw new NotSupportedError$1("expect header not supported");
|
|
@@ -19476,9 +19476,9 @@ var require_request$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
19476
19476
|
}) });
|
|
19477
19477
|
|
|
19478
19478
|
//#endregion
|
|
19479
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19480
|
-
var require_wrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19481
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19479
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/wrap-handler.js
|
|
19480
|
+
var require_wrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/wrap-handler.js": ((exports, module) => {
|
|
19481
|
+
const { InvalidArgumentError: InvalidArgumentError$36 } = require_errors();
|
|
19482
19482
|
module.exports = class WrapHandler$4 {
|
|
19483
19483
|
#handler;
|
|
19484
19484
|
constructor(handler) {
|
|
@@ -19531,7 +19531,7 @@ var require_wrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
19531
19531
|
this.#handler.onComplete?.(rawTrailers);
|
|
19532
19532
|
}
|
|
19533
19533
|
onResponseError(controller, err) {
|
|
19534
|
-
if (!this.#handler.onError) throw new InvalidArgumentError$
|
|
19534
|
+
if (!this.#handler.onError) throw new InvalidArgumentError$36("invalid onError method");
|
|
19535
19535
|
this.#handler.onError?.(err);
|
|
19536
19536
|
}
|
|
19537
19537
|
};
|
|
@@ -19541,8 +19541,8 @@ var require_wrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
19541
19541
|
}) });
|
|
19542
19542
|
|
|
19543
19543
|
//#endregion
|
|
19544
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19545
|
-
var require_dispatcher = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19544
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
19545
|
+
var require_dispatcher = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher.js": ((exports, module) => {
|
|
19546
19546
|
const EventEmitter$3 = __require$3("node:events");
|
|
19547
19547
|
const WrapHandler$3 = require_wrap_handler();
|
|
19548
19548
|
const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler$3.wrap(handler));
|
|
@@ -19573,10 +19573,10 @@ var require_dispatcher = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
19573
19573
|
}) });
|
|
19574
19574
|
|
|
19575
19575
|
//#endregion
|
|
19576
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19577
|
-
var require_unwrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19576
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/unwrap-handler.js
|
|
19577
|
+
var require_unwrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/unwrap-handler.js": ((exports, module) => {
|
|
19578
19578
|
const { parseHeaders: parseHeaders$1 } = require_util$5();
|
|
19579
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19579
|
+
const { InvalidArgumentError: InvalidArgumentError$35 } = require_errors();
|
|
19580
19580
|
const kResume$4 = Symbol("resume");
|
|
19581
19581
|
var UnwrapController = class {
|
|
19582
19582
|
#paused = false;
|
|
@@ -19650,18 +19650,18 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
19650
19650
|
this.#handler.onResponseEnd?.(this.#controller, parseHeaders$1(rawTrailers));
|
|
19651
19651
|
}
|
|
19652
19652
|
onError(err) {
|
|
19653
|
-
if (!this.#handler.onResponseError) throw new InvalidArgumentError$
|
|
19653
|
+
if (!this.#handler.onResponseError) throw new InvalidArgumentError$35("invalid onError method");
|
|
19654
19654
|
this.#handler.onResponseError?.(this.#controller, err);
|
|
19655
19655
|
}
|
|
19656
19656
|
};
|
|
19657
19657
|
}) });
|
|
19658
19658
|
|
|
19659
19659
|
//#endregion
|
|
19660
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19661
|
-
var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19660
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
19661
|
+
var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js": ((exports, module) => {
|
|
19662
19662
|
const Dispatcher$3 = require_dispatcher();
|
|
19663
19663
|
const UnwrapHandler = require_unwrap_handler();
|
|
19664
|
-
const { ClientDestroyedError: ClientDestroyedError$1, ClientClosedError, InvalidArgumentError: InvalidArgumentError$
|
|
19664
|
+
const { ClientDestroyedError: ClientDestroyedError$1, ClientClosedError, InvalidArgumentError: InvalidArgumentError$34 } = require_errors();
|
|
19665
19665
|
const { kDestroy: kDestroy$6, kClose: kClose$8, kClosed: kClosed$3, kDestroyed: kDestroyed$1, kDispatch: kDispatch$6 } = require_symbols();
|
|
19666
19666
|
const kOnDestroyed = Symbol("onDestroyed");
|
|
19667
19667
|
const kOnClosed = Symbol("onClosed");
|
|
@@ -19705,7 +19705,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
19705
19705
|
return err ? reject(err) : resolve$4(data$1);
|
|
19706
19706
|
});
|
|
19707
19707
|
});
|
|
19708
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
19708
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$34("invalid callback");
|
|
19709
19709
|
if (this[kDestroyed$1]) {
|
|
19710
19710
|
const err = new ClientDestroyedError$1();
|
|
19711
19711
|
queueMicrotask(() => callback$1(err, null));
|
|
@@ -19736,7 +19736,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
19736
19736
|
return err$1 ? reject(err$1) : resolve$4(data$1);
|
|
19737
19737
|
});
|
|
19738
19738
|
});
|
|
19739
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
19739
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$34("invalid callback");
|
|
19740
19740
|
if (this[kDestroyed$1]) {
|
|
19741
19741
|
if (this[kOnDestroyed]) this[kOnDestroyed].push(callback$1);
|
|
19742
19742
|
else queueMicrotask(() => callback$1(null, null));
|
|
@@ -19754,10 +19754,10 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
19754
19754
|
this[kDestroy$6](err).then(() => queueMicrotask(onDestroyed));
|
|
19755
19755
|
}
|
|
19756
19756
|
dispatch(opts, handler) {
|
|
19757
|
-
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$
|
|
19757
|
+
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$34("handler must be an object");
|
|
19758
19758
|
handler = UnwrapHandler.unwrap(handler);
|
|
19759
19759
|
try {
|
|
19760
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
19760
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$34("opts must be an object.");
|
|
19761
19761
|
if (this[kDestroyed$1] || this[kOnDestroyed]) throw new ClientDestroyedError$1();
|
|
19762
19762
|
if (this[kClosed$3]) throw new ClientClosedError();
|
|
19763
19763
|
return this[kDispatch$6](opts, handler);
|
|
@@ -19772,12 +19772,12 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
19772
19772
|
}) });
|
|
19773
19773
|
|
|
19774
19774
|
//#endregion
|
|
19775
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19776
|
-
var require_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19775
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/connect.js
|
|
19776
|
+
var require_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/connect.js": ((exports, module) => {
|
|
19777
19777
|
const net$3 = __require$3("node:net");
|
|
19778
19778
|
const assert$32 = __require$3("node:assert");
|
|
19779
19779
|
const util$23 = require_util$5();
|
|
19780
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19780
|
+
const { InvalidArgumentError: InvalidArgumentError$33 } = require_errors();
|
|
19781
19781
|
let tls$1;
|
|
19782
19782
|
const SessionCache = class WeakSessionCache {
|
|
19783
19783
|
constructor(maxCachedSessions) {
|
|
@@ -19809,7 +19809,7 @@ var require_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
19809
19809
|
}
|
|
19810
19810
|
};
|
|
19811
19811
|
function buildConnector$6({ allowH2, useH2c, maxCachedSessions, socketPath, timeout: timeout$1, session: customSession,...opts }) {
|
|
19812
|
-
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) throw new InvalidArgumentError$
|
|
19812
|
+
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) throw new InvalidArgumentError$33("maxCachedSessions must be a positive integer or zero");
|
|
19813
19813
|
const options = {
|
|
19814
19814
|
path: socketPath,
|
|
19815
19815
|
...opts
|
|
@@ -19883,8 +19883,8 @@ var require_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
19883
19883
|
}) });
|
|
19884
19884
|
|
|
19885
19885
|
//#endregion
|
|
19886
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19887
|
-
var require_utils$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19886
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/utils.js
|
|
19887
|
+
var require_utils$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/utils.js": ((exports) => {
|
|
19888
19888
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19889
19889
|
exports.enumToMap = enumToMap;
|
|
19890
19890
|
function enumToMap(obj, filter = [], exceptions = []) {
|
|
@@ -19897,8 +19897,8 @@ var require_utils$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
19897
19897
|
}) });
|
|
19898
19898
|
|
|
19899
19899
|
//#endregion
|
|
19900
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19901
|
-
var require_constants$6 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
19900
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/constants.js
|
|
19901
|
+
var require_constants$6 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/constants.js": ((exports) => {
|
|
19902
19902
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19903
19903
|
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;
|
|
19904
19904
|
const utils_1 = require_utils$2();
|
|
@@ -20484,8 +20484,8 @@ var require_constants$6 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
20484
20484
|
}) });
|
|
20485
20485
|
|
|
20486
20486
|
//#endregion
|
|
20487
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20488
|
-
var require_llhttp_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20487
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
20488
|
+
var require_llhttp_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js": ((exports, module) => {
|
|
20489
20489
|
const { Buffer: Buffer$5 } = __require$3("node:buffer");
|
|
20490
20490
|
const wasmBase64$1 = "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==";
|
|
20491
20491
|
let wasmBuffer$1;
|
|
@@ -20495,8 +20495,8 @@ var require_llhttp_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
20495
20495
|
}) });
|
|
20496
20496
|
|
|
20497
20497
|
//#endregion
|
|
20498
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20499
|
-
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20498
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
20499
|
+
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js": ((exports, module) => {
|
|
20500
20500
|
const { Buffer: Buffer$4 } = __require$3("node:buffer");
|
|
20501
20501
|
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==";
|
|
20502
20502
|
let wasmBuffer;
|
|
@@ -20506,8 +20506,8 @@ var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
20506
20506
|
}) });
|
|
20507
20507
|
|
|
20508
20508
|
//#endregion
|
|
20509
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20510
|
-
var require_constants$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20509
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/constants.js
|
|
20510
|
+
var require_constants$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/constants.js": ((exports, module) => {
|
|
20511
20511
|
const corsSafeListedMethods = [
|
|
20512
20512
|
"GET",
|
|
20513
20513
|
"HEAD",
|
|
@@ -20729,8 +20729,8 @@ var require_constants$5 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
20729
20729
|
}) });
|
|
20730
20730
|
|
|
20731
20731
|
//#endregion
|
|
20732
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20733
|
-
var require_global$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20732
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/global.js
|
|
20733
|
+
var require_global$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/global.js": ((exports, module) => {
|
|
20734
20734
|
const globalOrigin = Symbol.for("undici.globalOrigin.1");
|
|
20735
20735
|
function getGlobalOrigin$2() {
|
|
20736
20736
|
return globalThis[globalOrigin];
|
|
@@ -20761,8 +20761,8 @@ var require_global$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
20761
20761
|
}) });
|
|
20762
20762
|
|
|
20763
20763
|
//#endregion
|
|
20764
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20765
|
-
var require_encoding = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20764
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/encoding/index.js
|
|
20765
|
+
var require_encoding = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/encoding/index.js": ((exports, module) => {
|
|
20766
20766
|
const textDecoder = new TextDecoder();
|
|
20767
20767
|
/**
|
|
20768
20768
|
* @see https://encoding.spec.whatwg.org/#utf-8-decode
|
|
@@ -20777,8 +20777,8 @@ var require_encoding = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
20777
20777
|
}) });
|
|
20778
20778
|
|
|
20779
20779
|
//#endregion
|
|
20780
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20781
|
-
var require_infra = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20780
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/infra/index.js
|
|
20781
|
+
var require_infra = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/infra/index.js": ((exports, module) => {
|
|
20782
20782
|
const assert$31 = __require$3("node:assert");
|
|
20783
20783
|
const { utf8DecodeBytes: utf8DecodeBytes$2 } = require_encoding();
|
|
20784
20784
|
/**
|
|
@@ -20928,8 +20928,8 @@ var require_infra = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
20928
20928
|
}) });
|
|
20929
20929
|
|
|
20930
20930
|
//#endregion
|
|
20931
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20932
|
-
var require_data_url = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
20931
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/data-url.js
|
|
20932
|
+
var require_data_url = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/data-url.js": ((exports, module) => {
|
|
20933
20933
|
const assert$30 = __require$3("node:assert");
|
|
20934
20934
|
const { forgivingBase64, collectASequenceOfCodePoints: collectASequenceOfCodePoints$1, collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast$2, isomorphicDecode: isomorphicDecode$1, removeASCIIWhitespace, removeChars: removeChars$2 } = require_infra();
|
|
20935
20935
|
const encoder = new TextEncoder();
|
|
@@ -21170,8 +21170,8 @@ var require_data_url = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
21170
21170
|
}) });
|
|
21171
21171
|
|
|
21172
21172
|
//#endregion
|
|
21173
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21174
|
-
var require_runtime_features = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
21173
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/runtime-features.js
|
|
21174
|
+
var require_runtime_features = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/runtime-features.js": ((exports, module) => {
|
|
21175
21175
|
/** @typedef {`node:${string}`} NodeModuleName */
|
|
21176
21176
|
/** @type {Record<NodeModuleName, () => any>} */
|
|
21177
21177
|
const lazyLoaders = {
|
|
@@ -21269,8 +21269,8 @@ var require_runtime_features = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
21269
21269
|
}) });
|
|
21270
21270
|
|
|
21271
21271
|
//#endregion
|
|
21272
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21273
|
-
var require_webidl = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
21272
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/webidl/index.js
|
|
21273
|
+
var require_webidl = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/webidl/index.js": ((exports, module) => {
|
|
21274
21274
|
const assert$29 = __require$3("node:assert");
|
|
21275
21275
|
const { types: types$3, inspect: inspect$1 } = __require$3("node:util");
|
|
21276
21276
|
const { runtimeFeatures: runtimeFeatures$7 } = require_runtime_features();
|
|
@@ -21771,8 +21771,8 @@ var require_webidl = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
21771
21771
|
}) });
|
|
21772
21772
|
|
|
21773
21773
|
//#endregion
|
|
21774
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21775
|
-
var require_util$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
21774
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/util.js
|
|
21775
|
+
var require_util$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/util.js": ((exports, module) => {
|
|
21776
21776
|
const { Transform: Transform$2 } = __require$3("node:stream");
|
|
21777
21777
|
const zlib$1 = __require$3("node:zlib");
|
|
21778
21778
|
const { redirectStatusSet: redirectStatusSet$2, referrerPolicyTokens, badPortsSet } = require_constants$5();
|
|
@@ -22562,8 +22562,8 @@ var require_util$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
22562
22562
|
}) });
|
|
22563
22563
|
|
|
22564
22564
|
//#endregion
|
|
22565
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22566
|
-
var require_formdata = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
22565
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata.js
|
|
22566
|
+
var require_formdata = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata.js": ((exports, module) => {
|
|
22567
22567
|
const { iteratorMixin: iteratorMixin$1 } = require_util$4();
|
|
22568
22568
|
const { kEnumerableProperty: kEnumerableProperty$10 } = require_util$5();
|
|
22569
22569
|
const { webidl: webidl$14 } = require_webidl();
|
|
@@ -22709,8 +22709,8 @@ var require_formdata = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
22709
22709
|
}) });
|
|
22710
22710
|
|
|
22711
22711
|
//#endregion
|
|
22712
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22713
|
-
var require_formdata_parser = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
22712
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
22713
|
+
var require_formdata_parser = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js": ((exports, module) => {
|
|
22714
22714
|
const { bufferToLowerCasedHeaderName: bufferToLowerCasedHeaderName$1 } = require_util$5();
|
|
22715
22715
|
const { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
22716
22716
|
const { makeEntry } = require_formdata();
|
|
@@ -22957,8 +22957,8 @@ var require_formdata_parser = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
22957
22957
|
}) });
|
|
22958
22958
|
|
|
22959
22959
|
//#endregion
|
|
22960
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22961
|
-
var require_promise = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
22960
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/promise.js
|
|
22961
|
+
var require_promise = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/promise.js": ((exports, module) => {
|
|
22962
22962
|
/**
|
|
22963
22963
|
* @template {*} T
|
|
22964
22964
|
* @typedef {Object} DeferredPromise
|
|
@@ -22986,8 +22986,8 @@ var require_promise = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
22986
22986
|
}) });
|
|
22987
22987
|
|
|
22988
22988
|
//#endregion
|
|
22989
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22990
|
-
var require_body = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
22989
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/body.js
|
|
22990
|
+
var require_body = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/body.js": ((exports, module) => {
|
|
22991
22991
|
const util$22 = require_util$5();
|
|
22992
22992
|
const { ReadableStreamFrom: ReadableStreamFrom$1, readableStreamClose: readableStreamClose$1, fullyReadBody: fullyReadBody$1, extractMimeType: extractMimeType$1 } = require_util$4();
|
|
22993
22993
|
const { FormData: FormData$3, setFormDataState } = require_formdata();
|
|
@@ -23245,14 +23245,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r\n\r\n`);
|
|
|
23245
23245
|
}) });
|
|
23246
23246
|
|
|
23247
23247
|
//#endregion
|
|
23248
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
23249
|
-
var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
23248
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h1.js
|
|
23249
|
+
var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h1.js": ((exports, module) => {
|
|
23250
23250
|
const assert$25 = __require$3("node:assert");
|
|
23251
23251
|
const util$21 = require_util$5();
|
|
23252
23252
|
const { channels: channels$5 } = require_diagnostics();
|
|
23253
23253
|
const timers = require_timers();
|
|
23254
|
-
const { RequestContentLengthMismatchError: RequestContentLengthMismatchError$1, ResponseContentLengthMismatchError, RequestAbortedError: RequestAbortedError$8, InvalidArgumentError: InvalidArgumentError$
|
|
23255
|
-
const { kUrl: kUrl$7, kReset: kReset$1, kClient: kClient$3, kParser, kBlocking, kRunning: kRunning$4, kPending: kPending$3, kSize: kSize$4, kWriting, kQueue: kQueue$3, kNoRef, kKeepAliveDefaultTimeout: kKeepAliveDefaultTimeout$1, kHostHeader: kHostHeader$1, kPendingIdx: kPendingIdx$2, kRunningIdx: kRunningIdx$2, kError: kError$2, kPipelining: kPipelining$1, kSocket: kSocket$1, kKeepAliveTimeoutValue: kKeepAliveTimeoutValue$1, kMaxHeadersSize: kMaxHeadersSize$1, kKeepAliveMaxTimeout: kKeepAliveMaxTimeout$1, kKeepAliveTimeoutThreshold: kKeepAliveTimeoutThreshold$1, kHeadersTimeout: kHeadersTimeout$
|
|
23254
|
+
const { RequestContentLengthMismatchError: RequestContentLengthMismatchError$1, ResponseContentLengthMismatchError, RequestAbortedError: RequestAbortedError$8, InvalidArgumentError: InvalidArgumentError$32, HeadersTimeoutError: HeadersTimeoutError$1, HeadersOverflowError, SocketError: SocketError$3, InformationalError: InformationalError$3, BodyTimeoutError: BodyTimeoutError$1, HTTPParserError, ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$1 } = require_errors();
|
|
23255
|
+
const { kUrl: kUrl$7, kReset: kReset$1, kClient: kClient$3, kParser, kBlocking, kRunning: kRunning$4, kPending: kPending$3, kSize: kSize$4, kWriting, kQueue: kQueue$3, kNoRef, kKeepAliveDefaultTimeout: kKeepAliveDefaultTimeout$1, kHostHeader: kHostHeader$1, kPendingIdx: kPendingIdx$2, kRunningIdx: kRunningIdx$2, kError: kError$2, kPipelining: kPipelining$1, kSocket: kSocket$1, kKeepAliveTimeoutValue: kKeepAliveTimeoutValue$1, kMaxHeadersSize: kMaxHeadersSize$1, kKeepAliveMaxTimeout: kKeepAliveMaxTimeout$1, kKeepAliveTimeoutThreshold: kKeepAliveTimeoutThreshold$1, kHeadersTimeout: kHeadersTimeout$2, kBodyTimeout: kBodyTimeout$2, kStrictContentLength: kStrictContentLength$2, kMaxRequests: kMaxRequests$1, kCounter: kCounter$1, kMaxResponseSize: kMaxResponseSize$1, kOnError: kOnError$2, kResume: kResume$3, kHTTPContext: kHTTPContext$2, kClosed: kClosed$2 } = require_symbols();
|
|
23256
23256
|
const constants$6 = require_constants$6();
|
|
23257
23257
|
const EMPTY_BUF = Buffer.alloc(0);
|
|
23258
23258
|
const FastBuffer = Buffer[Symbol.species];
|
|
@@ -23647,7 +23647,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
23647
23647
|
}
|
|
23648
23648
|
assert$25(statusCode >= 200);
|
|
23649
23649
|
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
|
|
23650
|
-
util$21.destroy(socket, new ResponseExceededMaxSizeError());
|
|
23650
|
+
util$21.destroy(socket, new ResponseExceededMaxSizeError$1());
|
|
23651
23651
|
return -1;
|
|
23652
23652
|
}
|
|
23653
23653
|
this.bytesRead += buf.length;
|
|
@@ -23703,10 +23703,10 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
23703
23703
|
if (timeoutType === TIMEOUT_HEADERS) {
|
|
23704
23704
|
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning$4] > 1) {
|
|
23705
23705
|
assert$25(!paused, "cannot be paused while waiting for headers");
|
|
23706
|
-
util$21.destroy(socket, new HeadersTimeoutError());
|
|
23706
|
+
util$21.destroy(socket, new HeadersTimeoutError$1());
|
|
23707
23707
|
}
|
|
23708
23708
|
} else if (timeoutType === TIMEOUT_BODY) {
|
|
23709
|
-
if (!paused) util$21.destroy(socket, new BodyTimeoutError());
|
|
23709
|
+
if (!paused) util$21.destroy(socket, new BodyTimeoutError$1());
|
|
23710
23710
|
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
|
|
23711
23711
|
assert$25(client[kRunning$4] === 0 && client[kKeepAliveTimeoutValue$1]);
|
|
23712
23712
|
util$21.destroy(socket, new InformationalError$3("socket idle timeout"));
|
|
@@ -23826,19 +23826,18 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
23826
23826
|
}
|
|
23827
23827
|
function clearIdleSocketValidation(socket) {
|
|
23828
23828
|
if (socket[kIdleSocketValidationTimeout]) {
|
|
23829
|
-
|
|
23829
|
+
clearImmediate(socket[kIdleSocketValidationTimeout]);
|
|
23830
23830
|
socket[kIdleSocketValidationTimeout] = null;
|
|
23831
23831
|
}
|
|
23832
23832
|
socket[kIdleSocketValidation] = 0;
|
|
23833
23833
|
}
|
|
23834
23834
|
function scheduleIdleSocketValidation(client, socket) {
|
|
23835
23835
|
socket[kIdleSocketValidation] = 1;
|
|
23836
|
-
socket[kIdleSocketValidationTimeout] =
|
|
23836
|
+
socket[kIdleSocketValidationTimeout] = setImmediate(() => {
|
|
23837
23837
|
socket[kIdleSocketValidationTimeout] = null;
|
|
23838
23838
|
socket[kIdleSocketValidation] = 2;
|
|
23839
23839
|
if (client[kSocket$1] === socket && !socket.destroyed) client[kResume$3]();
|
|
23840
|
-
}
|
|
23841
|
-
socket[kIdleSocketValidationTimeout].unref?.();
|
|
23840
|
+
});
|
|
23842
23841
|
}
|
|
23843
23842
|
/**
|
|
23844
23843
|
* @param {import('./client.js')} client
|
|
@@ -23877,7 +23876,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
23877
23876
|
} else if (client[kRunning$4] > 0 && socket[kParser].statusCode < 200) {
|
|
23878
23877
|
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
|
|
23879
23878
|
const request$2 = client[kQueue$3][client[kRunningIdx$2]];
|
|
23880
|
-
const headersTimeout = request$2.headersTimeout != null ? request$2.headersTimeout : client[kHeadersTimeout$
|
|
23879
|
+
const headersTimeout = request$2.headersTimeout != null ? request$2.headersTimeout : client[kHeadersTimeout$2];
|
|
23881
23880
|
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
|
|
23882
23881
|
}
|
|
23883
23882
|
}
|
|
@@ -23906,7 +23905,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
23906
23905
|
if (contentType) {
|
|
23907
23906
|
const contentTypeValue = `${contentType}`;
|
|
23908
23907
|
if (!util$21.isValidHeaderValue(contentTypeValue)) {
|
|
23909
|
-
util$21.errorRequest(client, request$2, new InvalidArgumentError$
|
|
23908
|
+
util$21.errorRequest(client, request$2, new InvalidArgumentError$32("invalid content-type header"));
|
|
23910
23909
|
return false;
|
|
23911
23910
|
}
|
|
23912
23911
|
headers.push("content-type", contentTypeValue);
|
|
@@ -24259,13 +24258,13 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24259
24258
|
}) });
|
|
24260
24259
|
|
|
24261
24260
|
//#endregion
|
|
24262
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
24263
|
-
var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
24261
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h2.js
|
|
24262
|
+
var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h2.js": ((exports, module) => {
|
|
24264
24263
|
const assert$24 = __require$3("node:assert");
|
|
24265
24264
|
const { pipeline: pipeline$4 } = __require$3("node:stream");
|
|
24266
24265
|
const util$20 = require_util$5();
|
|
24267
|
-
const { RequestContentLengthMismatchError, RequestAbortedError: RequestAbortedError$7, SocketError: SocketError$2, InformationalError: InformationalError$2, InvalidArgumentError: InvalidArgumentError$
|
|
24268
|
-
const { kUrl: kUrl$6, kReset, kClient: kClient$2, kRunning: kRunning$3, kPending: kPending$2, kQueue: kQueue$2, kPendingIdx: kPendingIdx$1, kRunningIdx: kRunningIdx$1, kError: kError$1, kSocket, kStrictContentLength: kStrictContentLength$1, kOnError: kOnError$1, kMaxConcurrentStreams: kMaxConcurrentStreams$1, kPingInterval: kPingInterval$1, kHTTP2Session, kHTTP2InitialWindowSize: kHTTP2InitialWindowSize$1, kHTTP2ConnectionWindowSize: kHTTP2ConnectionWindowSize$1, kResume: kResume$2, kSize: kSize$3, kHTTPContext: kHTTPContext$1, kClosed: kClosed$1, kBodyTimeout: kBodyTimeout$1, kEnableConnectProtocol, kRemoteSettings, kHTTP2Stream: kHTTP2Stream$1, kHTTP2SessionState } = require_symbols();
|
|
24266
|
+
const { RequestContentLengthMismatchError, RequestAbortedError: RequestAbortedError$7, SocketError: SocketError$2, InformationalError: InformationalError$2, InvalidArgumentError: InvalidArgumentError$31, HeadersTimeoutError, BodyTimeoutError } = require_errors();
|
|
24267
|
+
const { kUrl: kUrl$6, kReset, kClient: kClient$2, kRunning: kRunning$3, kPending: kPending$2, kQueue: kQueue$2, kPendingIdx: kPendingIdx$1, kRunningIdx: kRunningIdx$1, kError: kError$1, kSocket, kStrictContentLength: kStrictContentLength$1, kOnError: kOnError$1, kMaxConcurrentStreams: kMaxConcurrentStreams$1, kPingInterval: kPingInterval$1, kHTTP2Session, kHTTP2InitialWindowSize: kHTTP2InitialWindowSize$1, kHTTP2ConnectionWindowSize: kHTTP2ConnectionWindowSize$1, kResume: kResume$2, kSize: kSize$3, kHTTPContext: kHTTPContext$1, kClosed: kClosed$1, kBodyTimeout: kBodyTimeout$1, kHeadersTimeout: kHeadersTimeout$1, kEnableConnectProtocol, kRemoteSettings, kHTTP2Stream: kHTTP2Stream$1, kHTTP2SessionState } = require_symbols();
|
|
24269
24268
|
const { channels: channels$4 } = require_diagnostics();
|
|
24270
24269
|
const kOpenStreams = Symbol("open streams");
|
|
24271
24270
|
let extractBody$3;
|
|
@@ -24345,7 +24344,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24345
24344
|
}
|
|
24346
24345
|
function resumeH2(client) {
|
|
24347
24346
|
const socket = client[kSocket];
|
|
24348
|
-
if (socket?.destroyed === false) if (client[kSize$3] === 0
|
|
24347
|
+
if (socket?.destroyed === false) if (client[kSize$3] === 0) {
|
|
24349
24348
|
socket.unref();
|
|
24350
24349
|
client[kHTTP2Session].unref();
|
|
24351
24350
|
} else {
|
|
@@ -24418,6 +24417,20 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24418
24417
|
* @this {import('http2').ClientHttp2Session}
|
|
24419
24418
|
* @param {number} errorCode
|
|
24420
24419
|
*/
|
|
24420
|
+
function completeRequest(client, request$2, resetPendingIdx = false) {
|
|
24421
|
+
const queue = client[kQueue$2];
|
|
24422
|
+
const runningIdx = client[kRunningIdx$1];
|
|
24423
|
+
if (runningIdx < client[kPendingIdx$1] && queue[runningIdx] === request$2) {
|
|
24424
|
+
queue[runningIdx] = null;
|
|
24425
|
+
client[kRunningIdx$1] = runningIdx + 1;
|
|
24426
|
+
return;
|
|
24427
|
+
}
|
|
24428
|
+
const index = queue.indexOf(request$2, runningIdx);
|
|
24429
|
+
if (index === -1 || index >= client[kPendingIdx$1]) return;
|
|
24430
|
+
queue.splice(index, 1);
|
|
24431
|
+
client[kPendingIdx$1]--;
|
|
24432
|
+
if (resetPendingIdx && client[kPendingIdx$1] < client[kRunningIdx$1]) client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24433
|
+
}
|
|
24421
24434
|
function onHttp2SessionGoAway(errorCode) {
|
|
24422
24435
|
const err = this[kError$1] || new SocketError$2(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util$20.getSocketInfo(this[kSocket]));
|
|
24423
24436
|
const client = this[kClient$2];
|
|
@@ -24429,7 +24442,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24429
24442
|
if (client[kRunningIdx$1] < client[kQueue$2].length) {
|
|
24430
24443
|
const request$2 = client[kQueue$2][client[kRunningIdx$1]];
|
|
24431
24444
|
client[kQueue$2][client[kRunningIdx$1]++] = null;
|
|
24432
|
-
util$20.errorRequest(client, request$2, err);
|
|
24445
|
+
if (request$2 != null) util$20.errorRequest(client, request$2, err);
|
|
24433
24446
|
client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24434
24447
|
}
|
|
24435
24448
|
assert$24(client[kRunning$3] === 0);
|
|
@@ -24452,7 +24465,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24452
24465
|
const requests = client[kQueue$2].splice(client[kRunningIdx$1]);
|
|
24453
24466
|
for (let i$1 = 0; i$1 < requests.length; i$1++) {
|
|
24454
24467
|
const request$2 = requests[i$1];
|
|
24455
|
-
util$20.errorRequest(client, request$2, err);
|
|
24468
|
+
if (request$2 != null) util$20.errorRequest(client, request$2, err);
|
|
24456
24469
|
}
|
|
24457
24470
|
}
|
|
24458
24471
|
}
|
|
@@ -24482,12 +24495,13 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24482
24495
|
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
|
|
24483
24496
|
}
|
|
24484
24497
|
function writeH2(client, request$2) {
|
|
24485
|
-
const
|
|
24498
|
+
const headersTimeout = request$2.headersTimeout ?? client[kHeadersTimeout$1];
|
|
24499
|
+
const bodyTimeout = request$2.bodyTimeout ?? client[kBodyTimeout$1];
|
|
24486
24500
|
const session = client[kHTTP2Session];
|
|
24487
24501
|
const { method, path: path$2, host, upgrade: upgrade$1, expectContinue, signal, protocol, headers: reqHeaders } = request$2;
|
|
24488
24502
|
let { body } = request$2;
|
|
24489
24503
|
if (upgrade$1 != null && upgrade$1 !== "websocket") {
|
|
24490
|
-
util$20.errorRequest(client, request$2, new InvalidArgumentError$
|
|
24504
|
+
util$20.errorRequest(client, request$2, new InvalidArgumentError$31(`Custom upgrade "${upgrade$1}" not supported over HTTP/2`));
|
|
24491
24505
|
return false;
|
|
24492
24506
|
}
|
|
24493
24507
|
const headers = {};
|
|
@@ -24517,6 +24531,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24517
24531
|
stream$2.removeAllListeners("data");
|
|
24518
24532
|
stream$2.close();
|
|
24519
24533
|
client[kOnError$1](err);
|
|
24534
|
+
completeRequest(client, request$2);
|
|
24520
24535
|
client[kResume$2]();
|
|
24521
24536
|
}
|
|
24522
24537
|
util$20.destroy(body, err);
|
|
@@ -24549,7 +24564,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24549
24564
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24550
24565
|
request$2.onUpgrade(statusCode, parseH2Headers(realHeaders), stream$2);
|
|
24551
24566
|
++session[kOpenStreams];
|
|
24552
|
-
client
|
|
24567
|
+
completeRequest(client, request$2);
|
|
24553
24568
|
});
|
|
24554
24569
|
stream$2.on("error", () => {
|
|
24555
24570
|
if (stream$2.rstCode === NGHTTP2_REFUSED_STREAM || stream$2.rstCode === NGHTTP2_CANCEL) abort$1(new InformationalError$2(`HTTP/2: "stream error" received - code ${stream$2.rstCode}`));
|
|
@@ -24558,7 +24573,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24558
24573
|
session[kOpenStreams] -= 1;
|
|
24559
24574
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24560
24575
|
});
|
|
24561
|
-
stream$2.setTimeout(
|
|
24576
|
+
stream$2.setTimeout(headersTimeout);
|
|
24562
24577
|
return true;
|
|
24563
24578
|
}
|
|
24564
24579
|
stream$2 = session.request(headers, {
|
|
@@ -24570,13 +24585,14 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24570
24585
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24571
24586
|
request$2.onUpgrade(statusCode, parseH2Headers(realHeaders), stream$2);
|
|
24572
24587
|
++session[kOpenStreams];
|
|
24573
|
-
client
|
|
24588
|
+
completeRequest(client, request$2);
|
|
24574
24589
|
});
|
|
24590
|
+
stream$2.on("error", abort$1);
|
|
24575
24591
|
stream$2.once("close", () => {
|
|
24576
24592
|
session[kOpenStreams] -= 1;
|
|
24577
24593
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24578
24594
|
});
|
|
24579
|
-
stream$2.setTimeout(
|
|
24595
|
+
stream$2.setTimeout(headersTimeout);
|
|
24580
24596
|
return true;
|
|
24581
24597
|
}
|
|
24582
24598
|
headers[HTTP2_HEADER_PATH] = path$2;
|
|
@@ -24632,12 +24648,13 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24632
24648
|
writeBodyH2();
|
|
24633
24649
|
}
|
|
24634
24650
|
++session[kOpenStreams];
|
|
24635
|
-
stream$2.setTimeout(
|
|
24651
|
+
stream$2.setTimeout(headersTimeout);
|
|
24636
24652
|
let responseReceived = false;
|
|
24637
24653
|
stream$2.once("response", (headers$1) => {
|
|
24638
24654
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24639
24655
|
request$2.onResponseStarted();
|
|
24640
24656
|
responseReceived = true;
|
|
24657
|
+
stream$2.setTimeout(bodyTimeout);
|
|
24641
24658
|
if (request$2.aborted) {
|
|
24642
24659
|
stream$2.removeAllListeners("data");
|
|
24643
24660
|
return;
|
|
@@ -24652,12 +24669,11 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24652
24669
|
stream$2.removeAllListeners("data");
|
|
24653
24670
|
if (responseReceived) {
|
|
24654
24671
|
if (!request$2.aborted && !request$2.completed) request$2.onComplete({});
|
|
24655
|
-
client
|
|
24672
|
+
completeRequest(client, request$2);
|
|
24656
24673
|
client[kResume$2]();
|
|
24657
24674
|
} else {
|
|
24658
24675
|
abort$1(new InformationalError$2("HTTP/2: stream half-closed (remote)"));
|
|
24659
|
-
client
|
|
24660
|
-
client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24676
|
+
completeRequest(client, request$2, true);
|
|
24661
24677
|
client[kResume$2]();
|
|
24662
24678
|
}
|
|
24663
24679
|
});
|
|
@@ -24665,6 +24681,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24665
24681
|
stream$2.removeAllListeners("data");
|
|
24666
24682
|
session[kOpenStreams] -= 1;
|
|
24667
24683
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24684
|
+
if (!request$2.aborted && !request$2.completed) abort$1(new InformationalError$2("HTTP/2: stream closed before the response was complete"));
|
|
24668
24685
|
});
|
|
24669
24686
|
stream$2.once("error", function(err) {
|
|
24670
24687
|
stream$2.removeAllListeners("data");
|
|
@@ -24678,7 +24695,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24678
24695
|
stream$2.removeAllListeners("data");
|
|
24679
24696
|
});
|
|
24680
24697
|
stream$2.on("timeout", () => {
|
|
24681
|
-
const err = new
|
|
24698
|
+
const err = responseReceived ? new BodyTimeoutError(`HTTP/2: "body timeout after ${bodyTimeout}"`) : new HeadersTimeoutError(`HTTP/2: "headers timeout after ${headersTimeout}"`);
|
|
24682
24699
|
stream$2.removeAllListeners("data");
|
|
24683
24700
|
session[kOpenStreams] -= 1;
|
|
24684
24701
|
if (session[kOpenStreams] === 0) session.unref();
|
|
@@ -24789,8 +24806,8 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
24789
24806
|
}) });
|
|
24790
24807
|
|
|
24791
24808
|
//#endregion
|
|
24792
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
24793
|
-
var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
24809
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client.js
|
|
24810
|
+
var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client.js": ((exports, module) => {
|
|
24794
24811
|
const assert$23 = __require$3("node:assert");
|
|
24795
24812
|
const net$2 = __require$3("node:net");
|
|
24796
24813
|
const http$1 = __require$3("node:http");
|
|
@@ -24799,14 +24816,14 @@ var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
24799
24816
|
const { channels: channels$3 } = require_diagnostics();
|
|
24800
24817
|
const Request$5 = require_request$1();
|
|
24801
24818
|
const DispatcherBase$5 = require_dispatcher_base();
|
|
24802
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
24819
|
+
const { InvalidArgumentError: InvalidArgumentError$30, InformationalError: InformationalError$1, ClientDestroyedError } = require_errors();
|
|
24803
24820
|
const buildConnector$5 = require_connect();
|
|
24804
24821
|
const { kUrl: kUrl$5, kServerName, kClient: kClient$1, kBusy: kBusy$1, kConnect, kResuming, kRunning: kRunning$2, kPending: kPending$1, kSize: kSize$2, kQueue: kQueue$1, kConnected: kConnected$3, kConnecting, kNeedDrain: kNeedDrain$4, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError, kPipelining, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, kKeepAliveTimeoutThreshold, kHeadersTimeout, kBodyTimeout, kStrictContentLength, kConnector: kConnector$1, kMaxRequests, kCounter, kClose: kClose$7, kDestroy: kDestroy$5, kDispatch: kDispatch$5, kLocalAddress, kMaxResponseSize, kOnError, kHTTPContext, kMaxConcurrentStreams, kHTTP2InitialWindowSize, kHTTP2ConnectionWindowSize, kResume: kResume$1, kPingInterval } = require_symbols();
|
|
24805
24822
|
const connectH1 = require_client_h1();
|
|
24806
24823
|
const connectH2 = require_client_h2();
|
|
24807
24824
|
const kClosedResolve$1 = Symbol("kClosedResolve");
|
|
24808
24825
|
const getDefaultNodeMaxHeaderSize = http$1 && http$1.maxHeaderSize && Number.isInteger(http$1.maxHeaderSize) && http$1.maxHeaderSize > 0 ? () => http$1.maxHeaderSize : () => {
|
|
24809
|
-
throw new InvalidArgumentError$
|
|
24826
|
+
throw new InvalidArgumentError$30("http module not available or http.maxHeaderSize invalid");
|
|
24810
24827
|
};
|
|
24811
24828
|
const noop$8 = () => {};
|
|
24812
24829
|
function getPipelining(client) {
|
|
@@ -24822,32 +24839,32 @@ var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
24822
24839
|
* @param {import('../../types/client.js').Client.Options} options
|
|
24823
24840
|
*/
|
|
24824
24841
|
constructor(url$2, { maxHeaderSize, headersTimeout, socketTimeout, requestTimeout, connectTimeout, bodyTimeout, idleTimeout, keepAlive, keepAliveTimeout, maxKeepAliveTimeout, keepAliveMaxTimeout, keepAliveTimeoutThreshold, socketPath, pipelining, tls: tls$2, strictContentLength, maxCachedSessions, connect: connect$2, maxRequestsPerClient, localAddress, maxResponseSize, autoSelectFamily, autoSelectFamilyAttemptTimeout, maxConcurrentStreams, allowH2, useH2c, initialWindowSize, connectionWindowSize, pingInterval, webSocket } = {}) {
|
|
24825
|
-
if (keepAlive !== void 0) throw new InvalidArgumentError$
|
|
24826
|
-
if (socketTimeout !== void 0) throw new InvalidArgumentError$
|
|
24827
|
-
if (requestTimeout !== void 0) throw new InvalidArgumentError$
|
|
24828
|
-
if (idleTimeout !== void 0) throw new InvalidArgumentError$
|
|
24829
|
-
if (maxKeepAliveTimeout !== void 0) throw new InvalidArgumentError$
|
|
24842
|
+
if (keepAlive !== void 0) throw new InvalidArgumentError$30("unsupported keepAlive, use pipelining=0 instead");
|
|
24843
|
+
if (socketTimeout !== void 0) throw new InvalidArgumentError$30("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
|
|
24844
|
+
if (requestTimeout !== void 0) throw new InvalidArgumentError$30("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
|
|
24845
|
+
if (idleTimeout !== void 0) throw new InvalidArgumentError$30("unsupported idleTimeout, use keepAliveTimeout instead");
|
|
24846
|
+
if (maxKeepAliveTimeout !== void 0) throw new InvalidArgumentError$30("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
|
|
24830
24847
|
if (maxHeaderSize != null) {
|
|
24831
|
-
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) throw new InvalidArgumentError$
|
|
24848
|
+
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) throw new InvalidArgumentError$30("invalid maxHeaderSize");
|
|
24832
24849
|
} else maxHeaderSize = getDefaultNodeMaxHeaderSize();
|
|
24833
|
-
if (socketPath != null && typeof socketPath !== "string") throw new InvalidArgumentError$
|
|
24834
|
-
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) throw new InvalidArgumentError$
|
|
24835
|
-
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) throw new InvalidArgumentError$
|
|
24836
|
-
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) throw new InvalidArgumentError$
|
|
24837
|
-
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) throw new InvalidArgumentError$
|
|
24838
|
-
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$
|
|
24839
|
-
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$
|
|
24840
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
24841
|
-
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError$
|
|
24842
|
-
if (localAddress != null && (typeof localAddress !== "string" || net$2.isIP(localAddress) === 0)) throw new InvalidArgumentError$
|
|
24843
|
-
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError$
|
|
24844
|
-
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError$
|
|
24845
|
-
if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError$
|
|
24846
|
-
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) throw new InvalidArgumentError$
|
|
24847
|
-
if (useH2c != null && typeof useH2c !== "boolean") throw new InvalidArgumentError$
|
|
24848
|
-
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) throw new InvalidArgumentError$
|
|
24849
|
-
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) throw new InvalidArgumentError$
|
|
24850
|
-
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) throw new InvalidArgumentError$
|
|
24850
|
+
if (socketPath != null && typeof socketPath !== "string") throw new InvalidArgumentError$30("invalid socketPath");
|
|
24851
|
+
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) throw new InvalidArgumentError$30("invalid connectTimeout");
|
|
24852
|
+
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) throw new InvalidArgumentError$30("invalid keepAliveTimeout");
|
|
24853
|
+
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) throw new InvalidArgumentError$30("invalid keepAliveMaxTimeout");
|
|
24854
|
+
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) throw new InvalidArgumentError$30("invalid keepAliveTimeoutThreshold");
|
|
24855
|
+
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$30("headersTimeout must be a positive integer or zero");
|
|
24856
|
+
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$30("bodyTimeout must be a positive integer or zero");
|
|
24857
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$30("connect must be a function or an object");
|
|
24858
|
+
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError$30("maxRequestsPerClient must be a positive number");
|
|
24859
|
+
if (localAddress != null && (typeof localAddress !== "string" || net$2.isIP(localAddress) === 0)) throw new InvalidArgumentError$30("localAddress must be valid string IP address");
|
|
24860
|
+
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError$30("maxResponseSize must be a positive number");
|
|
24861
|
+
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError$30("autoSelectFamilyAttemptTimeout must be a positive number");
|
|
24862
|
+
if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError$30("allowH2 must be a valid boolean value");
|
|
24863
|
+
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) throw new InvalidArgumentError$30("maxConcurrentStreams must be a positive integer, greater than 0");
|
|
24864
|
+
if (useH2c != null && typeof useH2c !== "boolean") throw new InvalidArgumentError$30("useH2c must be a valid boolean value");
|
|
24865
|
+
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) throw new InvalidArgumentError$30("initialWindowSize must be a positive integer, greater than 0");
|
|
24866
|
+
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) throw new InvalidArgumentError$30("connectionWindowSize must be a positive integer, greater than 0");
|
|
24867
|
+
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) throw new InvalidArgumentError$30("pingInterval must be a positive integer, greater or equal to 0");
|
|
24851
24868
|
super({ webSocket });
|
|
24852
24869
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$5({
|
|
24853
24870
|
...tls$2,
|
|
@@ -24950,7 +24967,7 @@ var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
24950
24967
|
const requests = this[kQueue$1].splice(this[kPendingIdx]);
|
|
24951
24968
|
for (let i$1 = 0; i$1 < requests.length; i$1++) {
|
|
24952
24969
|
const request$2 = requests[i$1];
|
|
24953
|
-
util$19.errorRequest(this, request$2, err);
|
|
24970
|
+
if (request$2 != null) util$19.errorRequest(this, request$2, err);
|
|
24954
24971
|
}
|
|
24955
24972
|
const callback$1 = () => {
|
|
24956
24973
|
if (this[kClosedResolve$1]) {
|
|
@@ -24973,7 +24990,7 @@ var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
24973
24990
|
const requests = client[kQueue$1].splice(client[kRunningIdx]);
|
|
24974
24991
|
for (let i$1 = 0; i$1 < requests.length; i$1++) {
|
|
24975
24992
|
const request$2 = requests[i$1];
|
|
24976
|
-
util$19.errorRequest(client, request$2, err);
|
|
24993
|
+
if (request$2 != null) util$19.errorRequest(client, request$2, err);
|
|
24977
24994
|
}
|
|
24978
24995
|
assert$23(client[kSize$2] === 0);
|
|
24979
24996
|
}
|
|
@@ -25162,8 +25179,8 @@ var require_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
25162
25179
|
}) });
|
|
25163
25180
|
|
|
25164
25181
|
//#endregion
|
|
25165
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25166
|
-
var require_fixed_queue = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25182
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
25183
|
+
var require_fixed_queue = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js": ((exports, module) => {
|
|
25167
25184
|
const kSize$1 = 2048;
|
|
25168
25185
|
const kMask = kSize$1 - 1;
|
|
25169
25186
|
/**
|
|
@@ -25235,8 +25252,8 @@ var require_fixed_queue = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
25235
25252
|
}) });
|
|
25236
25253
|
|
|
25237
25254
|
//#endregion
|
|
25238
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25239
|
-
var require_pool_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25255
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool-base.js
|
|
25256
|
+
var require_pool_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool-base.js": ((exports, module) => {
|
|
25240
25257
|
const { PoolStats } = require_stats();
|
|
25241
25258
|
const DispatcherBase$4 = require_dispatcher_base();
|
|
25242
25259
|
const FixedQueue$1 = require_fixed_queue();
|
|
@@ -25384,11 +25401,11 @@ var require_pool_base = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
25384
25401
|
}) });
|
|
25385
25402
|
|
|
25386
25403
|
//#endregion
|
|
25387
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25388
|
-
var require_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25404
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool.js
|
|
25405
|
+
var require_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool.js": ((exports, module) => {
|
|
25389
25406
|
const { PoolBase: PoolBase$2, kClients: kClients$4, kNeedDrain: kNeedDrain$2, kAddClient: kAddClient$2, kGetDispatcher: kGetDispatcher$2, kRemoveClient: kRemoveClient$2 } = require_pool_base();
|
|
25390
25407
|
const Client$6 = require_client();
|
|
25391
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25408
|
+
const { InvalidArgumentError: InvalidArgumentError$29 } = require_errors();
|
|
25392
25409
|
const util$18 = require_util$5();
|
|
25393
25410
|
const { kUrl: kUrl$3 } = require_symbols();
|
|
25394
25411
|
const buildConnector$4 = require_connect();
|
|
@@ -25400,9 +25417,9 @@ var require_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
25400
25417
|
}
|
|
25401
25418
|
var Pool$6 = class extends PoolBase$2 {
|
|
25402
25419
|
constructor(origin, { connections, factory: factory$1 = defaultFactory$4, connect: connect$2, connectTimeout, tls: tls$2, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl,...options } = {}) {
|
|
25403
|
-
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$
|
|
25404
|
-
if (typeof factory$1 !== "function") throw new InvalidArgumentError$
|
|
25405
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25420
|
+
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$29("invalid connections");
|
|
25421
|
+
if (typeof factory$1 !== "function") throw new InvalidArgumentError$29("factory must be a function.");
|
|
25422
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$29("connect must be a function or an object");
|
|
25406
25423
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$4({
|
|
25407
25424
|
...tls$2,
|
|
25408
25425
|
maxCachedSessions,
|
|
@@ -25452,9 +25469,9 @@ var require_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
25452
25469
|
}) });
|
|
25453
25470
|
|
|
25454
25471
|
//#endregion
|
|
25455
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25456
|
-
var require_balanced_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25457
|
-
const { BalancedPoolMissingUpstreamError, InvalidArgumentError: InvalidArgumentError$
|
|
25472
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
25473
|
+
var require_balanced_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js": ((exports, module) => {
|
|
25474
|
+
const { BalancedPoolMissingUpstreamError, InvalidArgumentError: InvalidArgumentError$28 } = require_errors();
|
|
25458
25475
|
const { PoolBase: PoolBase$1, kClients: kClients$3, kNeedDrain: kNeedDrain$1, kAddClient: kAddClient$1, kRemoveClient: kRemoveClient$1, kGetDispatcher: kGetDispatcher$1 } = require_pool_base();
|
|
25459
25476
|
const Pool$5 = require_pool();
|
|
25460
25477
|
const { kUrl: kUrl$2 } = require_symbols();
|
|
@@ -25488,10 +25505,16 @@ var require_balanced_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
25488
25505
|
return new Pool$5(origin, opts);
|
|
25489
25506
|
}
|
|
25490
25507
|
var BalancedPool$1 = class extends PoolBase$1 {
|
|
25491
|
-
constructor(upstreams = [], { factory: factory$1 = defaultFactory$3,...opts } = {}) {
|
|
25492
|
-
if (typeof factory$1 !== "function") throw new InvalidArgumentError$
|
|
25508
|
+
constructor(upstreams = [], { factory: factory$1 = defaultFactory$3, connect: connect$2, tls: tls$2,...opts } = {}) {
|
|
25509
|
+
if (typeof factory$1 !== "function") throw new InvalidArgumentError$28("factory must be a function.");
|
|
25493
25510
|
super(opts);
|
|
25494
|
-
|
|
25511
|
+
if (connect$2 && typeof connect$2 !== "function") connect$2 = { ...connect$2 };
|
|
25512
|
+
if (tls$2 && typeof tls$2 !== "function") tls$2 = { ...tls$2 };
|
|
25513
|
+
this[kOptions$3] = {
|
|
25514
|
+
...util$17.deepClone(opts),
|
|
25515
|
+
connect: connect$2,
|
|
25516
|
+
tls: tls$2
|
|
25517
|
+
};
|
|
25495
25518
|
this[kOptions$3].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
25496
25519
|
this[kIndex$1] = -1;
|
|
25497
25520
|
this[kCurrentWeight] = 0;
|
|
@@ -25568,11 +25591,11 @@ var require_balanced_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
25568
25591
|
}) });
|
|
25569
25592
|
|
|
25570
25593
|
//#endregion
|
|
25571
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25572
|
-
var require_round_robin_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25594
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
25595
|
+
var require_round_robin_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/round-robin-pool.js": ((exports, module) => {
|
|
25573
25596
|
const { PoolBase, kClients: kClients$2, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
|
|
25574
25597
|
const Client$5 = require_client();
|
|
25575
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25598
|
+
const { InvalidArgumentError: InvalidArgumentError$27 } = require_errors();
|
|
25576
25599
|
const util$16 = require_util$5();
|
|
25577
25600
|
const { kUrl: kUrl$1 } = require_symbols();
|
|
25578
25601
|
const buildConnector$3 = require_connect();
|
|
@@ -25585,9 +25608,9 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
25585
25608
|
}
|
|
25586
25609
|
var RoundRobinPool$1 = class extends PoolBase {
|
|
25587
25610
|
constructor(origin, { connections, factory: factory$1 = defaultFactory$2, connect: connect$2, connectTimeout, tls: tls$2, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl,...options } = {}) {
|
|
25588
|
-
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$
|
|
25589
|
-
if (typeof factory$1 !== "function") throw new InvalidArgumentError$
|
|
25590
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25611
|
+
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$27("invalid connections");
|
|
25612
|
+
if (typeof factory$1 !== "function") throw new InvalidArgumentError$27("factory must be a function.");
|
|
25613
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$27("connect must be a function or an object");
|
|
25591
25614
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$3({
|
|
25592
25615
|
...tls$2,
|
|
25593
25616
|
maxCachedSessions,
|
|
@@ -25654,9 +25677,9 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
25654
25677
|
}) });
|
|
25655
25678
|
|
|
25656
25679
|
//#endregion
|
|
25657
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25658
|
-
var require_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25659
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25680
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/agent.js
|
|
25681
|
+
var require_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/agent.js": ((exports, module) => {
|
|
25682
|
+
const { InvalidArgumentError: InvalidArgumentError$26, MaxOriginsReachedError } = require_errors();
|
|
25660
25683
|
const { kClients: kClients$1, kRunning, kClose: kClose$5, kDestroy: kDestroy$3, kDispatch: kDispatch$3, kUrl } = require_symbols();
|
|
25661
25684
|
const DispatcherBase$3 = require_dispatcher_base();
|
|
25662
25685
|
const Pool$4 = require_pool();
|
|
@@ -25674,9 +25697,9 @@ var require_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
25674
25697
|
}
|
|
25675
25698
|
var Agent$6 = class extends DispatcherBase$3 {
|
|
25676
25699
|
constructor({ factory: factory$1 = defaultFactory$1, maxOrigins = Infinity, connect: connect$2,...options } = {}) {
|
|
25677
|
-
if (typeof factory$1 !== "function") throw new InvalidArgumentError$
|
|
25678
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25679
|
-
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) throw new InvalidArgumentError$
|
|
25700
|
+
if (typeof factory$1 !== "function") throw new InvalidArgumentError$26("factory must be a function.");
|
|
25701
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$26("connect must be a function or an object");
|
|
25702
|
+
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) throw new InvalidArgumentError$26("maxOrigins must be a number greater than 0");
|
|
25680
25703
|
super(options);
|
|
25681
25704
|
if (connect$2 && typeof connect$2 !== "function") connect$2 = { ...connect$2 };
|
|
25682
25705
|
this[kOptions$1] = {
|
|
@@ -25708,7 +25731,7 @@ var require_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
25708
25731
|
[kDispatch$3](opts, handler) {
|
|
25709
25732
|
let key;
|
|
25710
25733
|
if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) key = String(opts.origin);
|
|
25711
|
-
else throw new InvalidArgumentError$
|
|
25734
|
+
else throw new InvalidArgumentError$26("opts.origin must be a non-empty string or URL.");
|
|
25712
25735
|
if (this[kOrigins].size >= this[kOptions$1].maxOrigins && !this[kOrigins].has(key)) throw new MaxOriginsReachedError();
|
|
25713
25736
|
const result = this[kClients$1].get(key);
|
|
25714
25737
|
let dispatcher = result && result.dispatcher;
|
|
@@ -25765,11 +25788,11 @@ var require_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
25765
25788
|
}) });
|
|
25766
25789
|
|
|
25767
25790
|
//#endregion
|
|
25768
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25769
|
-
var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25791
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-utils.js
|
|
25792
|
+
var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-utils.js": ((exports, module) => {
|
|
25770
25793
|
const { Buffer: Buffer$3 } = __require$3("node:buffer");
|
|
25771
25794
|
const net$1 = __require$3("node:net");
|
|
25772
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25795
|
+
const { InvalidArgumentError: InvalidArgumentError$25 } = require_errors();
|
|
25773
25796
|
/**
|
|
25774
25797
|
* Parse an address and determine its type
|
|
25775
25798
|
* @param {string} address - The address to parse
|
|
@@ -25788,7 +25811,7 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
25788
25811
|
buffer: parseIPv6(address)
|
|
25789
25812
|
};
|
|
25790
25813
|
const domainBuffer = Buffer$3.from(address, "utf8");
|
|
25791
|
-
if (domainBuffer.length > 255) throw new InvalidArgumentError$
|
|
25814
|
+
if (domainBuffer.length > 255) throw new InvalidArgumentError$25("Domain name too long (max 255 bytes)");
|
|
25792
25815
|
return {
|
|
25793
25816
|
type: 3,
|
|
25794
25817
|
buffer: Buffer$3.concat([Buffer$3.from([domainBuffer.length]), domainBuffer])
|
|
@@ -25857,27 +25880,27 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
25857
25880
|
* @returns {{address: string, port: number, bytesRead: number}}
|
|
25858
25881
|
*/
|
|
25859
25882
|
function parseResponseAddress(buffer$1, offset = 0) {
|
|
25860
|
-
if (buffer$1.length < offset + 1) throw new InvalidArgumentError$
|
|
25883
|
+
if (buffer$1.length < offset + 1) throw new InvalidArgumentError$25("Buffer too small to contain address type");
|
|
25861
25884
|
const addressType = buffer$1[offset];
|
|
25862
25885
|
let address;
|
|
25863
25886
|
let currentOffset = offset + 1;
|
|
25864
25887
|
switch (addressType) {
|
|
25865
25888
|
case 1:
|
|
25866
|
-
if (buffer$1.length < currentOffset + 6) throw new InvalidArgumentError$
|
|
25889
|
+
if (buffer$1.length < currentOffset + 6) throw new InvalidArgumentError$25("Buffer too small for IPv4 address");
|
|
25867
25890
|
address = Array.from(buffer$1.subarray(currentOffset, currentOffset + 4)).join(".");
|
|
25868
25891
|
currentOffset += 4;
|
|
25869
25892
|
break;
|
|
25870
25893
|
case 3: {
|
|
25871
|
-
if (buffer$1.length < currentOffset + 1) throw new InvalidArgumentError$
|
|
25894
|
+
if (buffer$1.length < currentOffset + 1) throw new InvalidArgumentError$25("Buffer too small for domain length");
|
|
25872
25895
|
const domainLength = buffer$1[currentOffset];
|
|
25873
25896
|
currentOffset += 1;
|
|
25874
|
-
if (buffer$1.length < currentOffset + domainLength + 2) throw new InvalidArgumentError$
|
|
25897
|
+
if (buffer$1.length < currentOffset + domainLength + 2) throw new InvalidArgumentError$25("Buffer too small for domain address");
|
|
25875
25898
|
address = buffer$1.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
|
|
25876
25899
|
currentOffset += domainLength;
|
|
25877
25900
|
break;
|
|
25878
25901
|
}
|
|
25879
25902
|
case 4: {
|
|
25880
|
-
if (buffer$1.length < currentOffset + 18) throw new InvalidArgumentError$
|
|
25903
|
+
if (buffer$1.length < currentOffset + 18) throw new InvalidArgumentError$25("Buffer too small for IPv6 address");
|
|
25881
25904
|
const parts = [];
|
|
25882
25905
|
for (let i$1 = 0; i$1 < 8; i$1++) {
|
|
25883
25906
|
const value = buffer$1.readUInt16BE(currentOffset + i$1 * 2);
|
|
@@ -25887,9 +25910,9 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
25887
25910
|
currentOffset += 16;
|
|
25888
25911
|
break;
|
|
25889
25912
|
}
|
|
25890
|
-
default: throw new InvalidArgumentError$
|
|
25913
|
+
default: throw new InvalidArgumentError$25(`Invalid address type: ${addressType}`);
|
|
25891
25914
|
}
|
|
25892
|
-
if (buffer$1.length < currentOffset + 2) throw new InvalidArgumentError$
|
|
25915
|
+
if (buffer$1.length < currentOffset + 2) throw new InvalidArgumentError$25("Buffer too small for port");
|
|
25893
25916
|
const port = buffer$1.readUInt16BE(currentOffset);
|
|
25894
25917
|
currentOffset += 2;
|
|
25895
25918
|
return {
|
|
@@ -25928,11 +25951,11 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
25928
25951
|
}) });
|
|
25929
25952
|
|
|
25930
25953
|
//#endregion
|
|
25931
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25932
|
-
var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
25954
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-client.js
|
|
25955
|
+
var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-client.js": ((exports, module) => {
|
|
25933
25956
|
const { EventEmitter: EventEmitter$2 } = __require$3("node:events");
|
|
25934
25957
|
const { Buffer: Buffer$2 } = __require$3("node:buffer");
|
|
25935
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25958
|
+
const { InvalidArgumentError: InvalidArgumentError$24, Socks5ProxyError } = require_errors();
|
|
25936
25959
|
const { debuglog: debuglog$2 } = __require$3("node:util");
|
|
25937
25960
|
const { parseAddress } = require_socks5_utils();
|
|
25938
25961
|
const debug$6 = debuglog$2("undici:socks5");
|
|
@@ -25982,7 +26005,7 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
25982
26005
|
var Socks5Client$1 = class extends EventEmitter$2 {
|
|
25983
26006
|
constructor(socket, options = {}) {
|
|
25984
26007
|
super();
|
|
25985
|
-
if (!socket) throw new InvalidArgumentError$
|
|
26008
|
+
if (!socket) throw new InvalidArgumentError$24("socket is required");
|
|
25986
26009
|
this.socket = socket;
|
|
25987
26010
|
this.options = options;
|
|
25988
26011
|
this.state = STATES$1.INITIAL;
|
|
@@ -26050,7 +26073,7 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26050
26073
|
* Start the SOCKS5 handshake
|
|
26051
26074
|
*/
|
|
26052
26075
|
handshake() {
|
|
26053
|
-
if (this.state !== STATES$1.INITIAL) throw new InvalidArgumentError$
|
|
26076
|
+
if (this.state !== STATES$1.INITIAL) throw new InvalidArgumentError$24("Handshake already started");
|
|
26054
26077
|
debug$6("starting handshake with", this.authMethods.length, "auth methods");
|
|
26055
26078
|
this.state = STATES$1.HANDSHAKING;
|
|
26056
26079
|
const request$2 = Buffer$2.alloc(2 + this.authMethods.length);
|
|
@@ -26083,11 +26106,11 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26083
26106
|
*/
|
|
26084
26107
|
sendAuthRequest() {
|
|
26085
26108
|
const { username, password } = this.options;
|
|
26086
|
-
if (!username || !password) throw new InvalidArgumentError$
|
|
26109
|
+
if (!username || !password) throw new InvalidArgumentError$24("Username and password required for authentication");
|
|
26087
26110
|
debug$6("sending username/password auth");
|
|
26088
26111
|
const usernameBuffer = Buffer$2.from(username);
|
|
26089
26112
|
const passwordBuffer = Buffer$2.from(password);
|
|
26090
|
-
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError$
|
|
26113
|
+
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError$24("Username or password too long");
|
|
26091
26114
|
const request$2 = Buffer$2.alloc(3 + usernameBuffer.length + passwordBuffer.length);
|
|
26092
26115
|
request$2[0] = 1;
|
|
26093
26116
|
request$2[1] = usernameBuffer.length;
|
|
@@ -26115,8 +26138,8 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26115
26138
|
* @param {number} port - Target port
|
|
26116
26139
|
*/
|
|
26117
26140
|
connect(address, port) {
|
|
26118
|
-
if (this.state === STATES$1.CONNECTING || this.state === STATES$1.CONNECTED) throw new InvalidArgumentError$
|
|
26119
|
-
if (this.state !== STATES$1.AUTHENTICATED) throw new InvalidArgumentError$
|
|
26141
|
+
if (this.state === STATES$1.CONNECTING || this.state === STATES$1.CONNECTED) throw new InvalidArgumentError$24("Connection already in progress");
|
|
26142
|
+
if (this.state !== STATES$1.AUTHENTICATED) throw new InvalidArgumentError$24("Client must be authenticated before CONNECT");
|
|
26120
26143
|
debug$6("connecting to", address, port);
|
|
26121
26144
|
this.state = STATES$1.CONNECTING;
|
|
26122
26145
|
const request$2 = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
|
|
@@ -26211,12 +26234,12 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26211
26234
|
}) });
|
|
26212
26235
|
|
|
26213
26236
|
//#endregion
|
|
26214
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26215
|
-
var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
26237
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
26238
|
+
var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js": ((exports, module) => {
|
|
26216
26239
|
const { URL: URL$2 } = __require$3("node:url");
|
|
26217
26240
|
let tls;
|
|
26218
26241
|
const DispatcherBase$2 = require_dispatcher_base();
|
|
26219
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
26242
|
+
const { InvalidArgumentError: InvalidArgumentError$23 } = require_errors();
|
|
26220
26243
|
const { Socks5Client, STATES } = require_socks5_client();
|
|
26221
26244
|
const { kDispatch: kDispatch$2, kClose: kClose$4, kDestroy: kDestroy$2 } = require_symbols();
|
|
26222
26245
|
const Pool$3 = require_pool();
|
|
@@ -26241,9 +26264,9 @@ var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
26241
26264
|
process.emitWarning("SOCKS5 proxy support is experimental and subject to change", "ExperimentalWarning");
|
|
26242
26265
|
experimentalWarningEmitted = true;
|
|
26243
26266
|
}
|
|
26244
|
-
if (!proxyUrl) throw new InvalidArgumentError$
|
|
26267
|
+
if (!proxyUrl) throw new InvalidArgumentError$23("Proxy URL is mandatory");
|
|
26245
26268
|
const url$2 = typeof proxyUrl === "string" ? new URL$2(proxyUrl) : proxyUrl;
|
|
26246
|
-
if (url$2.protocol !== "socks5:" && url$2.protocol !== "socks:") throw new InvalidArgumentError$
|
|
26269
|
+
if (url$2.protocol !== "socks5:" && url$2.protocol !== "socks:") throw new InvalidArgumentError$23("Proxy URL must use socks5:// or socks:// protocol");
|
|
26247
26270
|
this[kProxyUrl] = url$2;
|
|
26248
26271
|
this[kProxyHeaders$1] = options.headers || {};
|
|
26249
26272
|
this[kProxyProtocol] = options.proxyTls ? "https:" : "http:";
|
|
@@ -26397,13 +26420,13 @@ var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
26397
26420
|
}) });
|
|
26398
26421
|
|
|
26399
26422
|
//#endregion
|
|
26400
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26401
|
-
var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
26423
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
26424
|
+
var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js": ((exports, module) => {
|
|
26402
26425
|
const { kProxy, kClose: kClose$3, kDestroy: kDestroy$1, kDispatch: kDispatch$1 } = require_symbols();
|
|
26403
26426
|
const Agent$5 = require_agent();
|
|
26404
26427
|
const Pool$2 = require_pool();
|
|
26405
26428
|
const DispatcherBase$1 = require_dispatcher_base();
|
|
26406
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
26429
|
+
const { InvalidArgumentError: InvalidArgumentError$22, RequestAbortedError: RequestAbortedError$6, SecureProxyConnectionError } = require_errors();
|
|
26407
26430
|
const buildConnector$1 = require_connect();
|
|
26408
26431
|
const Client$3 = require_client();
|
|
26409
26432
|
const { channels: channels$2 } = require_diagnostics();
|
|
@@ -26429,7 +26452,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26429
26452
|
var Http1ProxyWrapper = class extends DispatcherBase$1 {
|
|
26430
26453
|
#client;
|
|
26431
26454
|
constructor(proxyUrl, { headers = {}, connect: connect$2, factory: factory$1 }) {
|
|
26432
|
-
if (!proxyUrl) throw new InvalidArgumentError$
|
|
26455
|
+
if (!proxyUrl) throw new InvalidArgumentError$22("Proxy URL is mandatory");
|
|
26433
26456
|
super();
|
|
26434
26457
|
this[kProxyHeaders] = headers;
|
|
26435
26458
|
if (factory$1) this.#client = factory$1(proxyUrl, { connect: connect$2 });
|
|
@@ -26439,7 +26462,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26439
26462
|
const onHeaders = handler.onHeaders;
|
|
26440
26463
|
handler.onHeaders = function(statusCode, data$1, resume$1) {
|
|
26441
26464
|
if (statusCode === 407) {
|
|
26442
|
-
if (typeof handler.onError === "function") handler.onError(new InvalidArgumentError$
|
|
26465
|
+
if (typeof handler.onError === "function") handler.onError(new InvalidArgumentError$22("Proxy Authentication Required (407)"));
|
|
26443
26466
|
return;
|
|
26444
26467
|
}
|
|
26445
26468
|
if (onHeaders) onHeaders.call(this, statusCode, data$1, resume$1);
|
|
@@ -26465,9 +26488,9 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26465
26488
|
};
|
|
26466
26489
|
var ProxyAgent$2 = class extends DispatcherBase$1 {
|
|
26467
26490
|
constructor(opts) {
|
|
26468
|
-
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) throw new InvalidArgumentError$
|
|
26491
|
+
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) throw new InvalidArgumentError$22("Proxy uri is mandatory");
|
|
26469
26492
|
const { clientFactory = defaultFactory } = opts;
|
|
26470
|
-
if (typeof clientFactory !== "function") throw new InvalidArgumentError$
|
|
26493
|
+
if (typeof clientFactory !== "function") throw new InvalidArgumentError$22("Proxy opts.clientFactory must be a function.");
|
|
26471
26494
|
const { proxyTunnel = true } = opts;
|
|
26472
26495
|
super();
|
|
26473
26496
|
const url$2 = this.#getUrl(opts);
|
|
@@ -26480,7 +26503,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26480
26503
|
this[kProxyTls] = opts.proxyTls;
|
|
26481
26504
|
this[kProxyHeaders] = opts.headers || {};
|
|
26482
26505
|
this[kTunnelProxy] = proxyTunnel;
|
|
26483
|
-
if (opts.auth && opts.token) throw new InvalidArgumentError$
|
|
26506
|
+
if (opts.auth && opts.token) throw new InvalidArgumentError$22("opts.auth cannot be used in combination with opts.token");
|
|
26484
26507
|
else if (opts.auth) this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
|
|
26485
26508
|
else if (opts.token) this[kProxyHeaders]["proxy-authorization"] = opts.token;
|
|
26486
26509
|
else if (username && password) this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
|
|
@@ -26512,7 +26535,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26512
26535
|
factory: factory$1,
|
|
26513
26536
|
connect: async (opts$1, callback$1) => {
|
|
26514
26537
|
if (!this[kClient]) {
|
|
26515
|
-
callback$1(new InvalidArgumentError$
|
|
26538
|
+
callback$1(new InvalidArgumentError$22("Cannot establish tunnel connection without a proxy client"));
|
|
26516
26539
|
return;
|
|
26517
26540
|
}
|
|
26518
26541
|
let requestedPath = opts$1.host;
|
|
@@ -26613,14 +26636,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
26613
26636
|
* It should be removed in the next major version for performance reasons
|
|
26614
26637
|
*/
|
|
26615
26638
|
function throwIfProxyAuthIsSent(headers) {
|
|
26616
|
-
if (headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization")) throw new InvalidArgumentError$
|
|
26639
|
+
if (headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization")) throw new InvalidArgumentError$22("Proxy-Authorization should be sent in ProxyAgent constructor");
|
|
26617
26640
|
}
|
|
26618
26641
|
module.exports = ProxyAgent$2;
|
|
26619
26642
|
}) });
|
|
26620
26643
|
|
|
26621
26644
|
//#endregion
|
|
26622
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26623
|
-
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
26645
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
26646
|
+
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js": ((exports, module) => {
|
|
26624
26647
|
const DispatcherBase = require_dispatcher_base();
|
|
26625
26648
|
const { kClose: kClose$2, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
26626
26649
|
const ProxyAgent$1 = require_proxy_agent();
|
|
@@ -26718,8 +26741,8 @@ var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$3({ "../../node_mo
|
|
|
26718
26741
|
}) });
|
|
26719
26742
|
|
|
26720
26743
|
//#endregion
|
|
26721
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26722
|
-
var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
26744
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/retry-handler.js
|
|
26745
|
+
var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/retry-handler.js": ((exports, module) => {
|
|
26723
26746
|
const assert$22 = __require$3("node:assert");
|
|
26724
26747
|
const { kRetryHandlerDefaultRetry } = require_symbols();
|
|
26725
26748
|
const { RequestRetryError } = require_errors();
|
|
@@ -26795,21 +26818,29 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26795
26818
|
}
|
|
26796
26819
|
onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err) {
|
|
26797
26820
|
if (this.retryOpts.throwOnError) {
|
|
26798
|
-
if (this.retryOpts.statusCodes.includes(statusCode) === false)
|
|
26821
|
+
if (this.retryOpts.statusCodes.includes(statusCode) === false) if (this.headersSent) this.handler.onResponseError?.(controller, err);
|
|
26822
|
+
else {
|
|
26799
26823
|
this.headersSent = true;
|
|
26824
|
+
this.checkpointResponseEnd(headers);
|
|
26800
26825
|
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26801
|
-
}
|
|
26826
|
+
}
|
|
26827
|
+
else this.error = err;
|
|
26802
26828
|
return;
|
|
26803
26829
|
}
|
|
26804
26830
|
if (isDisturbed$1(this.opts.body)) {
|
|
26805
26831
|
this.headersSent = true;
|
|
26832
|
+
this.checkpointResponseEnd(headers);
|
|
26806
26833
|
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26807
26834
|
return;
|
|
26808
26835
|
}
|
|
26809
26836
|
function shouldRetry(passedErr) {
|
|
26810
26837
|
if (passedErr) {
|
|
26811
|
-
this.headersSent
|
|
26812
|
-
|
|
26838
|
+
if (this.headersSent) this.handler.onResponseError?.(controller, passedErr);
|
|
26839
|
+
else {
|
|
26840
|
+
this.headersSent = true;
|
|
26841
|
+
this.checkpointResponseEnd(headers);
|
|
26842
|
+
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26843
|
+
}
|
|
26813
26844
|
controller.resume();
|
|
26814
26845
|
return;
|
|
26815
26846
|
}
|
|
@@ -26825,6 +26856,14 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26825
26856
|
}
|
|
26826
26857
|
}, shouldRetry.bind(this));
|
|
26827
26858
|
}
|
|
26859
|
+
checkpointResponseEnd(headers) {
|
|
26860
|
+
if (this.end == null && this.opts.method !== "HEAD") {
|
|
26861
|
+
const contentLength = headers["content-length"];
|
|
26862
|
+
this.end = contentLength != null ? Number(contentLength) - 1 : null;
|
|
26863
|
+
assert$22(this.end == null || Number.isFinite(this.end), "invalid content-length");
|
|
26864
|
+
this.resume = this.end != null;
|
|
26865
|
+
}
|
|
26866
|
+
}
|
|
26828
26867
|
onRequestStart(controller, context) {
|
|
26829
26868
|
if (!this.headersSent) this.handler.onRequestStart?.(controller, context);
|
|
26830
26869
|
}
|
|
@@ -26887,8 +26926,10 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26887
26926
|
});
|
|
26888
26927
|
validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount);
|
|
26889
26928
|
const { start, size, end = size ? size - 1 : null } = contentRange;
|
|
26890
|
-
|
|
26891
|
-
|
|
26929
|
+
if (this.start !== start || this.end != null && this.end !== end) throw new RequestRetryError("Content-Range mismatch", statusCode, {
|
|
26930
|
+
headers,
|
|
26931
|
+
data: { count: this.retryCount }
|
|
26932
|
+
});
|
|
26892
26933
|
return;
|
|
26893
26934
|
}
|
|
26894
26935
|
if (this.end == null) {
|
|
@@ -26955,7 +26996,7 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26955
26996
|
}
|
|
26956
26997
|
}
|
|
26957
26998
|
onResponseError(controller, err) {
|
|
26958
|
-
if (controller?.aborted || isDisturbed$1(this.opts.body)) {
|
|
26999
|
+
if (controller?.aborted || isDisturbed$1(this.opts.body) || this.headersSent && !this.resume) {
|
|
26959
27000
|
this.handler.onResponseError?.(controller, err);
|
|
26960
27001
|
return;
|
|
26961
27002
|
}
|
|
@@ -26981,8 +27022,8 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
26981
27022
|
}) });
|
|
26982
27023
|
|
|
26983
27024
|
//#endregion
|
|
26984
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26985
|
-
var require_retry_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27025
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
27026
|
+
var require_retry_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/retry-agent.js": ((exports, module) => {
|
|
26986
27027
|
const Dispatcher$2 = require_dispatcher();
|
|
26987
27028
|
const RetryHandler$2 = require_retry_handler();
|
|
26988
27029
|
var RetryAgent$1 = class extends Dispatcher$2 {
|
|
@@ -27014,20 +27055,20 @@ var require_retry_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
27014
27055
|
}) });
|
|
27015
27056
|
|
|
27016
27057
|
//#endregion
|
|
27017
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27018
|
-
var require_h2c_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27019
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27058
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
27059
|
+
var require_h2c_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/h2c-client.js": ((exports, module) => {
|
|
27060
|
+
const { InvalidArgumentError: InvalidArgumentError$21 } = require_errors();
|
|
27020
27061
|
const Client$2 = require_client();
|
|
27021
27062
|
var H2CClient$1 = class extends Client$2 {
|
|
27022
27063
|
constructor(origin, clientOpts) {
|
|
27023
27064
|
if (typeof origin === "string") origin = new URL(origin);
|
|
27024
|
-
if (origin.protocol !== "http:") throw new InvalidArgumentError$
|
|
27065
|
+
if (origin.protocol !== "http:") throw new InvalidArgumentError$21("h2c-client: Only h2c protocol is supported");
|
|
27025
27066
|
const { maxConcurrentStreams, pipelining,...opts } = clientOpts ?? {};
|
|
27026
27067
|
let defaultMaxConcurrentStreams = 100;
|
|
27027
27068
|
let defaultPipelining = 100;
|
|
27028
27069
|
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) defaultMaxConcurrentStreams = maxConcurrentStreams;
|
|
27029
27070
|
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) defaultPipelining = pipelining;
|
|
27030
|
-
if (defaultPipelining > defaultMaxConcurrentStreams) throw new InvalidArgumentError$
|
|
27071
|
+
if (defaultPipelining > defaultMaxConcurrentStreams) throw new InvalidArgumentError$21("h2c-client: pipelining cannot be greater than maxConcurrentStreams");
|
|
27031
27072
|
super(origin, {
|
|
27032
27073
|
...opts,
|
|
27033
27074
|
maxConcurrentStreams: defaultMaxConcurrentStreams,
|
|
@@ -27041,11 +27082,11 @@ var require_h2c_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
27041
27082
|
}) });
|
|
27042
27083
|
|
|
27043
27084
|
//#endregion
|
|
27044
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27045
|
-
var require_readable = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27085
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/readable.js
|
|
27086
|
+
var require_readable = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/readable.js": ((exports, module) => {
|
|
27046
27087
|
const assert$21 = __require$3("node:assert");
|
|
27047
27088
|
const { Readable: Readable$4 } = __require$3("node:stream");
|
|
27048
|
-
const { RequestAbortedError: RequestAbortedError$5, NotSupportedError, InvalidArgumentError: InvalidArgumentError$
|
|
27089
|
+
const { RequestAbortedError: RequestAbortedError$5, NotSupportedError, InvalidArgumentError: InvalidArgumentError$20, AbortError: AbortError$1 } = require_errors();
|
|
27049
27090
|
const util$14 = require_util$5();
|
|
27050
27091
|
const { ReadableStreamFrom } = require_util$5();
|
|
27051
27092
|
const kConsume = Symbol("kConsume");
|
|
@@ -27253,7 +27294,7 @@ var require_readable = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
27253
27294
|
*/
|
|
27254
27295
|
dump(opts) {
|
|
27255
27296
|
const signal = opts?.signal;
|
|
27256
|
-
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) return Promise.reject(new InvalidArgumentError$
|
|
27297
|
+
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) return Promise.reject(new InvalidArgumentError$20("signal must be an AbortSignal"));
|
|
27257
27298
|
const limit = opts?.limit && Number.isFinite(opts.limit) ? opts.limit : 128 * 1024;
|
|
27258
27299
|
if (signal?.aborted) return Promise.reject(signal.reason ?? new AbortError$1());
|
|
27259
27300
|
if (this._readableState.closeEmitted) return Promise.resolve(null);
|
|
@@ -27455,24 +27496,24 @@ var require_readable = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
27455
27496
|
}) });
|
|
27456
27497
|
|
|
27457
27498
|
//#endregion
|
|
27458
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27459
|
-
var require_api_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27499
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-request.js
|
|
27500
|
+
var require_api_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-request.js": ((exports, module) => {
|
|
27460
27501
|
const assert$20 = __require$3("node:assert");
|
|
27461
27502
|
const { AsyncResource: AsyncResource$4 } = __require$3("node:async_hooks");
|
|
27462
27503
|
const { Readable: Readable$3 } = require_readable();
|
|
27463
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27504
|
+
const { InvalidArgumentError: InvalidArgumentError$19, RequestAbortedError: RequestAbortedError$4 } = require_errors();
|
|
27464
27505
|
const util$13 = require_util$5();
|
|
27465
27506
|
function noop$5() {}
|
|
27466
27507
|
var RequestHandler = class extends AsyncResource$4 {
|
|
27467
27508
|
constructor(opts, callback$1) {
|
|
27468
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27509
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$19("invalid opts");
|
|
27469
27510
|
const { signal, method, opaque, body, onInfo, responseHeaders, highWaterMark } = opts;
|
|
27470
27511
|
try {
|
|
27471
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
27472
|
-
if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) throw new InvalidArgumentError$
|
|
27473
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27474
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27475
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27512
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$19("invalid callback");
|
|
27513
|
+
if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) throw new InvalidArgumentError$19("invalid highWaterMark");
|
|
27514
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$19("signal must be an EventEmitter or EventTarget");
|
|
27515
|
+
if (method === "CONNECT") throw new InvalidArgumentError$19("invalid method");
|
|
27516
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$19("invalid onInfo callback");
|
|
27476
27517
|
super("UNDICI_REQUEST");
|
|
27477
27518
|
} catch (err) {
|
|
27478
27519
|
if (util$13.isStream(body)) util$13.destroy(body.on("error", noop$5), err);
|
|
@@ -27605,8 +27646,8 @@ var require_api_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
27605
27646
|
}) });
|
|
27606
27647
|
|
|
27607
27648
|
//#endregion
|
|
27608
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27609
|
-
var require_abort_signal = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27649
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/abort-signal.js
|
|
27650
|
+
var require_abort_signal = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/abort-signal.js": ((exports, module) => {
|
|
27610
27651
|
const { addAbortListener: addAbortListener$1 } = require_util$5();
|
|
27611
27652
|
const { RequestAbortedError: RequestAbortedError$3 } = require_errors();
|
|
27612
27653
|
const kListener = Symbol("kListener");
|
|
@@ -27645,25 +27686,25 @@ var require_abort_signal = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
27645
27686
|
}) });
|
|
27646
27687
|
|
|
27647
27688
|
//#endregion
|
|
27648
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27649
|
-
var require_api_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27689
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-stream.js
|
|
27690
|
+
var require_api_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-stream.js": ((exports, module) => {
|
|
27650
27691
|
const assert$19 = __require$3("node:assert");
|
|
27651
27692
|
const { finished: finished$1 } = __require$3("node:stream");
|
|
27652
27693
|
const { AsyncResource: AsyncResource$3 } = __require$3("node:async_hooks");
|
|
27653
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27694
|
+
const { InvalidArgumentError: InvalidArgumentError$18, InvalidReturnValueError: InvalidReturnValueError$1 } = require_errors();
|
|
27654
27695
|
const util$12 = require_util$5();
|
|
27655
27696
|
const { addSignal: addSignal$3, removeSignal: removeSignal$3 } = require_abort_signal();
|
|
27656
27697
|
function noop$4() {}
|
|
27657
27698
|
var StreamHandler = class extends AsyncResource$3 {
|
|
27658
27699
|
constructor(opts, factory$1, callback$1) {
|
|
27659
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27700
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$18("invalid opts");
|
|
27660
27701
|
const { signal, method, opaque, body, onInfo, responseHeaders } = opts;
|
|
27661
27702
|
try {
|
|
27662
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
27663
|
-
if (typeof factory$1 !== "function") throw new InvalidArgumentError$
|
|
27664
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27665
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27666
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27703
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$18("invalid callback");
|
|
27704
|
+
if (typeof factory$1 !== "function") throw new InvalidArgumentError$18("invalid factory");
|
|
27705
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$18("signal must be an EventEmitter or EventTarget");
|
|
27706
|
+
if (method === "CONNECT") throw new InvalidArgumentError$18("invalid method");
|
|
27707
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$18("invalid onInfo callback");
|
|
27667
27708
|
super("UNDICI_STREAM");
|
|
27668
27709
|
} catch (err) {
|
|
27669
27710
|
if (util$12.isStream(body)) util$12.destroy(body.on("error", noop$4), err);
|
|
@@ -27776,12 +27817,12 @@ var require_api_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
27776
27817
|
}) });
|
|
27777
27818
|
|
|
27778
27819
|
//#endregion
|
|
27779
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27780
|
-
var require_api_pipeline = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27820
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-pipeline.js
|
|
27821
|
+
var require_api_pipeline = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-pipeline.js": ((exports, module) => {
|
|
27781
27822
|
const { Readable: Readable$2, Duplex, PassThrough } = __require$3("node:stream");
|
|
27782
27823
|
const assert$18 = __require$3("node:assert");
|
|
27783
27824
|
const { AsyncResource: AsyncResource$2 } = __require$3("node:async_hooks");
|
|
27784
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27825
|
+
const { InvalidArgumentError: InvalidArgumentError$17, InvalidReturnValueError, RequestAbortedError: RequestAbortedError$2 } = require_errors();
|
|
27785
27826
|
const util$11 = require_util$5();
|
|
27786
27827
|
const { addSignal: addSignal$2, removeSignal: removeSignal$2 } = require_abort_signal();
|
|
27787
27828
|
function noop$3() {}
|
|
@@ -27818,12 +27859,12 @@ var require_api_pipeline = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
27818
27859
|
};
|
|
27819
27860
|
var PipelineHandler = class extends AsyncResource$2 {
|
|
27820
27861
|
constructor(opts, handler) {
|
|
27821
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27822
|
-
if (typeof handler !== "function") throw new InvalidArgumentError$
|
|
27862
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$17("invalid opts");
|
|
27863
|
+
if (typeof handler !== "function") throw new InvalidArgumentError$17("invalid handler");
|
|
27823
27864
|
const { signal, method, opaque, onInfo, responseHeaders } = opts;
|
|
27824
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27825
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27826
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27865
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$17("signal must be an EventEmitter or EventTarget");
|
|
27866
|
+
if (method === "CONNECT") throw new InvalidArgumentError$17("invalid method");
|
|
27867
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$17("invalid onInfo callback");
|
|
27827
27868
|
super("UNDICI_PIPELINE");
|
|
27828
27869
|
this.opaque = opaque || null;
|
|
27829
27870
|
this.responseHeaders = responseHeaders || null;
|
|
@@ -27945,9 +27986,9 @@ var require_api_pipeline = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
27945
27986
|
}) });
|
|
27946
27987
|
|
|
27947
27988
|
//#endregion
|
|
27948
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27949
|
-
var require_api_upgrade = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
27950
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27989
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-upgrade.js
|
|
27990
|
+
var require_api_upgrade = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-upgrade.js": ((exports, module) => {
|
|
27991
|
+
const { InvalidArgumentError: InvalidArgumentError$16, SocketError: SocketError$1 } = require_errors();
|
|
27951
27992
|
const { AsyncResource: AsyncResource$1 } = __require$3("node:async_hooks");
|
|
27952
27993
|
const assert$17 = __require$3("node:assert");
|
|
27953
27994
|
const util$10 = require_util$5();
|
|
@@ -27955,10 +27996,10 @@ var require_api_upgrade = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
27955
27996
|
const { addSignal: addSignal$1, removeSignal: removeSignal$1 } = require_abort_signal();
|
|
27956
27997
|
var UpgradeHandler = class extends AsyncResource$1 {
|
|
27957
27998
|
constructor(opts, callback$1) {
|
|
27958
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27959
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
27999
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$16("invalid opts");
|
|
28000
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$16("invalid callback");
|
|
27960
28001
|
const { signal, opaque, responseHeaders } = opts;
|
|
27961
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
28002
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$16("signal must be an EventEmitter or EventTarget");
|
|
27962
28003
|
super("UNDICI_UPGRADE");
|
|
27963
28004
|
this.responseHeaders = responseHeaders || null;
|
|
27964
28005
|
this.opaque = opaque || null;
|
|
@@ -28027,19 +28068,19 @@ var require_api_upgrade = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
28027
28068
|
}) });
|
|
28028
28069
|
|
|
28029
28070
|
//#endregion
|
|
28030
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28031
|
-
var require_api_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28071
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-connect.js
|
|
28072
|
+
var require_api_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-connect.js": ((exports, module) => {
|
|
28032
28073
|
const assert$16 = __require$3("node:assert");
|
|
28033
28074
|
const { AsyncResource } = __require$3("node:async_hooks");
|
|
28034
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28075
|
+
const { InvalidArgumentError: InvalidArgumentError$15, SocketError } = require_errors();
|
|
28035
28076
|
const util$9 = require_util$5();
|
|
28036
28077
|
const { addSignal, removeSignal } = require_abort_signal();
|
|
28037
28078
|
var ConnectHandler = class extends AsyncResource {
|
|
28038
28079
|
constructor(opts, callback$1) {
|
|
28039
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
28040
|
-
if (typeof callback$1 !== "function") throw new InvalidArgumentError$
|
|
28080
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$15("invalid opts");
|
|
28081
|
+
if (typeof callback$1 !== "function") throw new InvalidArgumentError$15("invalid callback");
|
|
28041
28082
|
const { signal, opaque, responseHeaders } = opts;
|
|
28042
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
28083
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$15("signal must be an EventEmitter or EventTarget");
|
|
28043
28084
|
super("UNDICI_CONNECT");
|
|
28044
28085
|
this.opaque = opaque || null;
|
|
28045
28086
|
this.responseHeaders = responseHeaders || null;
|
|
@@ -28107,8 +28148,8 @@ var require_api_connect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
28107
28148
|
}) });
|
|
28108
28149
|
|
|
28109
28150
|
//#endregion
|
|
28110
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28111
|
-
var require_api = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28151
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/index.js
|
|
28152
|
+
var require_api = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/index.js": ((exports, module) => {
|
|
28112
28153
|
module.exports.request = require_api_request();
|
|
28113
28154
|
module.exports.stream = require_api_stream();
|
|
28114
28155
|
module.exports.pipeline = require_api_pipeline();
|
|
@@ -28117,8 +28158,8 @@ var require_api = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undic
|
|
|
28117
28158
|
}) });
|
|
28118
28159
|
|
|
28119
28160
|
//#endregion
|
|
28120
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28121
|
-
var require_mock_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28161
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-errors.js
|
|
28162
|
+
var require_mock_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-errors.js": ((exports, module) => {
|
|
28122
28163
|
const { UndiciError: UndiciError$3 } = require_errors();
|
|
28123
28164
|
const kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
28124
28165
|
/**
|
|
@@ -28142,8 +28183,8 @@ var require_mock_errors = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
28142
28183
|
}) });
|
|
28143
28184
|
|
|
28144
28185
|
//#endregion
|
|
28145
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28146
|
-
var require_mock_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28186
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-symbols.js
|
|
28187
|
+
var require_mock_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-symbols.js": ((exports, module) => {
|
|
28147
28188
|
module.exports = {
|
|
28148
28189
|
kAgent: Symbol("agent"),
|
|
28149
28190
|
kOptions: Symbol("options"),
|
|
@@ -28177,14 +28218,14 @@ var require_mock_symbols = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
28177
28218
|
}) });
|
|
28178
28219
|
|
|
28179
28220
|
//#endregion
|
|
28180
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28181
|
-
var require_mock_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28221
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-utils.js
|
|
28222
|
+
var require_mock_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-utils.js": ((exports, module) => {
|
|
28182
28223
|
const { MockNotMatchedError } = require_mock_errors();
|
|
28183
28224
|
const { kDispatches: kDispatches$4, kMockAgent: kMockAgent$2, kOriginalDispatch: kOriginalDispatch$2, kOrigin: kOrigin$2, kGetNetConnect: kGetNetConnect$1, kTotalDispatchCount } = require_mock_symbols();
|
|
28184
28225
|
const { serializePathWithQuery: serializePathWithQuery$2 } = require_util$5();
|
|
28185
28226
|
const { STATUS_CODES: STATUS_CODES$1 } = __require$3("node:http");
|
|
28186
28227
|
const { types: { isPromise } } = __require$3("node:util");
|
|
28187
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28228
|
+
const { InvalidArgumentError: InvalidArgumentError$14 } = require_errors();
|
|
28188
28229
|
function matchValue$1(match, value) {
|
|
28189
28230
|
if (typeof match === "string") return match === value;
|
|
28190
28231
|
if (match instanceof RegExp) return match.test(value);
|
|
@@ -28443,9 +28484,9 @@ var require_mock_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
28443
28484
|
}
|
|
28444
28485
|
function buildAndValidateMockOptions$1(opts) {
|
|
28445
28486
|
const { agent,...mockOptions } = opts;
|
|
28446
|
-
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") throw new InvalidArgumentError$
|
|
28447
|
-
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") throw new InvalidArgumentError$
|
|
28448
|
-
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") throw new InvalidArgumentError$
|
|
28487
|
+
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") throw new InvalidArgumentError$14("options.enableCallHistory must to be a boolean");
|
|
28488
|
+
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") throw new InvalidArgumentError$14("options.acceptNonStandardSearchParameters must to be a boolean");
|
|
28489
|
+
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") throw new InvalidArgumentError$14("options.ignoreTrailingSlash must to be a boolean");
|
|
28449
28490
|
return mockOptions;
|
|
28450
28491
|
}
|
|
28451
28492
|
module.exports = {
|
|
@@ -28470,11 +28511,11 @@ var require_mock_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
28470
28511
|
}) });
|
|
28471
28512
|
|
|
28472
28513
|
//#endregion
|
|
28473
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28474
|
-
var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28514
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-interceptor.js
|
|
28515
|
+
var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-interceptor.js": ((exports, module) => {
|
|
28475
28516
|
const { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
28476
28517
|
const { kDispatches: kDispatches$3, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch, kIgnoreTrailingSlash: kIgnoreTrailingSlash$3 } = require_mock_symbols();
|
|
28477
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28518
|
+
const { InvalidArgumentError: InvalidArgumentError$13 } = require_errors();
|
|
28478
28519
|
const { serializePathWithQuery: serializePathWithQuery$1 } = require_util$5();
|
|
28479
28520
|
/**
|
|
28480
28521
|
* Defines the scope API for an interceptor reply
|
|
@@ -28487,7 +28528,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28487
28528
|
* Delay a reply by a set amount in ms.
|
|
28488
28529
|
*/
|
|
28489
28530
|
delay(waitInMs) {
|
|
28490
|
-
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) throw new InvalidArgumentError$
|
|
28531
|
+
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) throw new InvalidArgumentError$13("waitInMs must be a valid integer > 0");
|
|
28491
28532
|
this[kMockDispatch].delay = waitInMs;
|
|
28492
28533
|
return this;
|
|
28493
28534
|
}
|
|
@@ -28502,7 +28543,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28502
28543
|
* Allow one to define a reply for a set amount of matching requests.
|
|
28503
28544
|
*/
|
|
28504
28545
|
times(repeatTimes) {
|
|
28505
|
-
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) throw new InvalidArgumentError$
|
|
28546
|
+
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) throw new InvalidArgumentError$13("repeatTimes must be a valid integer > 0");
|
|
28506
28547
|
this[kMockDispatch].times = repeatTimes;
|
|
28507
28548
|
return this;
|
|
28508
28549
|
}
|
|
@@ -28512,8 +28553,8 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28512
28553
|
*/
|
|
28513
28554
|
var MockInterceptor$2 = class {
|
|
28514
28555
|
constructor(opts, mockDispatches) {
|
|
28515
|
-
if (typeof opts !== "object") throw new InvalidArgumentError$
|
|
28516
|
-
if (typeof opts.path === "undefined") throw new InvalidArgumentError$
|
|
28556
|
+
if (typeof opts !== "object") throw new InvalidArgumentError$13("opts must be an object");
|
|
28557
|
+
if (typeof opts.path === "undefined") throw new InvalidArgumentError$13("opts.path must be defined");
|
|
28517
28558
|
if (typeof opts.method === "undefined") opts.method = "GET";
|
|
28518
28559
|
if (typeof opts.path === "string") if (opts.query) opts.path = serializePathWithQuery$1(opts.path, opts.query);
|
|
28519
28560
|
else {
|
|
@@ -28546,8 +28587,8 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28546
28587
|
};
|
|
28547
28588
|
}
|
|
28548
28589
|
validateReplyParameters(replyParameters) {
|
|
28549
|
-
if (typeof replyParameters.statusCode === "undefined") throw new InvalidArgumentError$
|
|
28550
|
-
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) throw new InvalidArgumentError$
|
|
28590
|
+
if (typeof replyParameters.statusCode === "undefined") throw new InvalidArgumentError$13("statusCode must be defined");
|
|
28591
|
+
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) throw new InvalidArgumentError$13("responseOptions must be an object");
|
|
28551
28592
|
}
|
|
28552
28593
|
/**
|
|
28553
28594
|
* Mock an undici request with a defined reply.
|
|
@@ -28556,7 +28597,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28556
28597
|
if (typeof replyOptionsCallbackOrStatusCode === "function") {
|
|
28557
28598
|
const wrappedDefaultsCallback = (opts) => {
|
|
28558
28599
|
const resolvedData = replyOptionsCallbackOrStatusCode(opts);
|
|
28559
|
-
if (typeof resolvedData !== "object" || resolvedData === null) throw new InvalidArgumentError$
|
|
28600
|
+
if (typeof resolvedData !== "object" || resolvedData === null) throw new InvalidArgumentError$13("reply options callback must return an object");
|
|
28560
28601
|
const replyParameters$1 = {
|
|
28561
28602
|
data: "",
|
|
28562
28603
|
responseOptions: {},
|
|
@@ -28580,14 +28621,14 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28580
28621
|
* Mock an undici request with a defined error.
|
|
28581
28622
|
*/
|
|
28582
28623
|
replyWithError(error$2) {
|
|
28583
|
-
if (typeof error$2 === "undefined") throw new InvalidArgumentError$
|
|
28624
|
+
if (typeof error$2 === "undefined") throw new InvalidArgumentError$13("error must be defined");
|
|
28584
28625
|
return new MockScope(addMockDispatch(this[kDispatches$3], this[kDispatchKey], { error: error$2 }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash$3] }));
|
|
28585
28626
|
}
|
|
28586
28627
|
/**
|
|
28587
28628
|
* Set default reply headers on the interceptor for subsequent replies
|
|
28588
28629
|
*/
|
|
28589
28630
|
defaultReplyHeaders(headers) {
|
|
28590
|
-
if (typeof headers === "undefined") throw new InvalidArgumentError$
|
|
28631
|
+
if (typeof headers === "undefined") throw new InvalidArgumentError$13("headers must be defined");
|
|
28591
28632
|
this[kDefaultHeaders] = headers;
|
|
28592
28633
|
return this;
|
|
28593
28634
|
}
|
|
@@ -28595,7 +28636,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28595
28636
|
* Set default reply trailers on the interceptor for subsequent replies
|
|
28596
28637
|
*/
|
|
28597
28638
|
defaultReplyTrailers(trailers) {
|
|
28598
|
-
if (typeof trailers === "undefined") throw new InvalidArgumentError$
|
|
28639
|
+
if (typeof trailers === "undefined") throw new InvalidArgumentError$13("trailers must be defined");
|
|
28599
28640
|
this[kDefaultTrailers] = trailers;
|
|
28600
28641
|
return this;
|
|
28601
28642
|
}
|
|
@@ -28612,21 +28653,21 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
28612
28653
|
}) });
|
|
28613
28654
|
|
|
28614
28655
|
//#endregion
|
|
28615
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28616
|
-
var require_mock_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28656
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-client.js
|
|
28657
|
+
var require_mock_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-client.js": ((exports, module) => {
|
|
28617
28658
|
const { promisify: promisify$2 } = __require$3("node:util");
|
|
28618
28659
|
const Client$1 = require_client();
|
|
28619
28660
|
const { buildMockDispatch: buildMockDispatch$1 } = require_mock_utils();
|
|
28620
28661
|
const { kDispatches: kDispatches$2, kMockAgent: kMockAgent$1, kClose: kClose$1, kOriginalClose: kOriginalClose$1, kOrigin: kOrigin$1, kOriginalDispatch: kOriginalDispatch$1, kConnected: kConnected$1, kIgnoreTrailingSlash: kIgnoreTrailingSlash$2 } = require_mock_symbols();
|
|
28621
28662
|
const { MockInterceptor: MockInterceptor$1 } = require_mock_interceptor();
|
|
28622
28663
|
const Symbols$1 = require_symbols();
|
|
28623
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28664
|
+
const { InvalidArgumentError: InvalidArgumentError$12 } = require_errors();
|
|
28624
28665
|
/**
|
|
28625
28666
|
* MockClient provides an API that extends the Client to influence the mockDispatches.
|
|
28626
28667
|
*/
|
|
28627
28668
|
var MockClient$2 = class extends Client$1 {
|
|
28628
28669
|
constructor(origin, opts) {
|
|
28629
|
-
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28670
|
+
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$12("Argument opts.agent must implement Agent");
|
|
28630
28671
|
super(origin, opts);
|
|
28631
28672
|
this[kMockAgent$1] = opts.agent;
|
|
28632
28673
|
this[kOrigin$1] = origin;
|
|
@@ -28663,23 +28704,23 @@ var require_mock_client = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
28663
28704
|
}) });
|
|
28664
28705
|
|
|
28665
28706
|
//#endregion
|
|
28666
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28667
|
-
var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28707
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-call-history.js
|
|
28708
|
+
var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-call-history.js": ((exports, module) => {
|
|
28668
28709
|
const { kMockCallHistoryAddLog: kMockCallHistoryAddLog$1 } = require_mock_symbols();
|
|
28669
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28710
|
+
const { InvalidArgumentError: InvalidArgumentError$11 } = require_errors();
|
|
28670
28711
|
function handleFilterCallsWithOptions(criteria, options, handler, store, allLogs) {
|
|
28671
28712
|
switch (options.operator) {
|
|
28672
28713
|
case "OR":
|
|
28673
28714
|
store.push(...handler(criteria, allLogs));
|
|
28674
28715
|
return store;
|
|
28675
28716
|
case "AND": return handler(criteria, store);
|
|
28676
|
-
default: throw new InvalidArgumentError$
|
|
28717
|
+
default: throw new InvalidArgumentError$11("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
|
|
28677
28718
|
}
|
|
28678
28719
|
}
|
|
28679
28720
|
function buildAndValidateFilterCallsOptions(options = {}) {
|
|
28680
28721
|
const finalOptions = {};
|
|
28681
28722
|
if ("operator" in options) {
|
|
28682
|
-
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") throw new InvalidArgumentError$
|
|
28723
|
+
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") throw new InvalidArgumentError$11("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
|
|
28683
28724
|
return {
|
|
28684
28725
|
...finalOptions,
|
|
28685
28726
|
operator: options.operator.toUpperCase()
|
|
@@ -28695,7 +28736,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
28695
28736
|
if (parameterValue instanceof RegExp) return logs.filter((log$2) => {
|
|
28696
28737
|
return parameterValue.test(log$2[parameterName]);
|
|
28697
28738
|
});
|
|
28698
|
-
throw new InvalidArgumentError$
|
|
28739
|
+
throw new InvalidArgumentError$11(`${parameterName} parameter should be one of string, regexp, undefined or null`);
|
|
28699
28740
|
};
|
|
28700
28741
|
}
|
|
28701
28742
|
function computeUrlWithMaybeSearchParameters(requestInit) {
|
|
@@ -28705,7 +28746,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
28705
28746
|
url$2.search = new URLSearchParams(requestInit.query).toString();
|
|
28706
28747
|
return url$2;
|
|
28707
28748
|
} catch (error$2) {
|
|
28708
|
-
throw new InvalidArgumentError$
|
|
28749
|
+
throw new InvalidArgumentError$11("An error occurred when computing MockCallHistoryLog.url", { cause: error$2 });
|
|
28709
28750
|
}
|
|
28710
28751
|
}
|
|
28711
28752
|
var MockCallHistoryLog$1 = class {
|
|
@@ -28763,9 +28804,9 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
28763
28804
|
return this.logs.at(-1);
|
|
28764
28805
|
}
|
|
28765
28806
|
nthCall(number$3) {
|
|
28766
|
-
if (typeof number$3 !== "number") throw new InvalidArgumentError$
|
|
28767
|
-
if (!Number.isInteger(number$3)) throw new InvalidArgumentError$
|
|
28768
|
-
if (Math.sign(number$3) !== 1) throw new InvalidArgumentError$
|
|
28807
|
+
if (typeof number$3 !== "number") throw new InvalidArgumentError$11("nthCall must be called with a number");
|
|
28808
|
+
if (!Number.isInteger(number$3)) throw new InvalidArgumentError$11("nthCall must be called with an integer");
|
|
28809
|
+
if (Math.sign(number$3) !== 1) throw new InvalidArgumentError$11("nthCall must be called with a positive value. use firstCall or lastCall instead");
|
|
28769
28810
|
return this.logs.at(number$3 - 1);
|
|
28770
28811
|
}
|
|
28771
28812
|
filterCalls(criteria, options) {
|
|
@@ -28791,7 +28832,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
28791
28832
|
if ("method" in criteria) maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered, this.logs);
|
|
28792
28833
|
return [...new Set(maybeDuplicatedLogsFiltered)];
|
|
28793
28834
|
}
|
|
28794
|
-
throw new InvalidArgumentError$
|
|
28835
|
+
throw new InvalidArgumentError$11("criteria parameter should be one of function, regexp, or object");
|
|
28795
28836
|
}
|
|
28796
28837
|
filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
|
|
28797
28838
|
filterCallsByHost = makeFilterCalls.call(this, "host");
|
|
@@ -28818,21 +28859,21 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
28818
28859
|
}) });
|
|
28819
28860
|
|
|
28820
28861
|
//#endregion
|
|
28821
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28822
|
-
var require_mock_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28862
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-pool.js
|
|
28863
|
+
var require_mock_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-pool.js": ((exports, module) => {
|
|
28823
28864
|
const { promisify: promisify$1 } = __require$3("node:util");
|
|
28824
28865
|
const Pool$1 = require_pool();
|
|
28825
28866
|
const { buildMockDispatch } = require_mock_utils();
|
|
28826
28867
|
const { kDispatches: kDispatches$1, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected, kIgnoreTrailingSlash: kIgnoreTrailingSlash$1 } = require_mock_symbols();
|
|
28827
28868
|
const { MockInterceptor } = require_mock_interceptor();
|
|
28828
28869
|
const Symbols = require_symbols();
|
|
28829
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28870
|
+
const { InvalidArgumentError: InvalidArgumentError$10 } = require_errors();
|
|
28830
28871
|
/**
|
|
28831
28872
|
* MockPool provides an API that extends the Pool to influence the mockDispatches.
|
|
28832
28873
|
*/
|
|
28833
28874
|
var MockPool$2 = class extends Pool$1 {
|
|
28834
28875
|
constructor(origin, opts) {
|
|
28835
|
-
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28876
|
+
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$10("Argument opts.agent must implement Agent");
|
|
28836
28877
|
super(origin, opts);
|
|
28837
28878
|
this[kMockAgent] = opts.agent;
|
|
28838
28879
|
this[kOrigin] = origin;
|
|
@@ -28869,8 +28910,8 @@ var require_mock_pool = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm
|
|
|
28869
28910
|
}) });
|
|
28870
28911
|
|
|
28871
28912
|
//#endregion
|
|
28872
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28873
|
-
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28913
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
28914
|
+
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js": ((exports, module) => {
|
|
28874
28915
|
const { Transform: Transform$1 } = __require$3("node:stream");
|
|
28875
28916
|
const { Console } = __require$3("node:console");
|
|
28876
28917
|
const PERSISTENT = process.versions.icu ? "✅" : "Y ";
|
|
@@ -28905,15 +28946,15 @@ var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$3({ "../
|
|
|
28905
28946
|
}) });
|
|
28906
28947
|
|
|
28907
28948
|
//#endregion
|
|
28908
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28909
|
-
var require_mock_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
28949
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-agent.js
|
|
28950
|
+
var require_mock_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-agent.js": ((exports, module) => {
|
|
28910
28951
|
const { kClients } = require_symbols();
|
|
28911
28952
|
const Agent$3 = require_agent();
|
|
28912
28953
|
const { kAgent, kMockAgentSet, kMockAgentGet, kDispatches, kIsMockActive, kNetConnect, kGetNetConnect, kOptions, kFactory, kMockAgentRegisterCallHistory, kMockAgentIsCallHistoryEnabled, kMockAgentAddCallHistoryLog, kMockAgentMockCallHistoryInstance, kMockAgentAcceptsNonStandardSearchParameters, kMockCallHistoryAddLog, kIgnoreTrailingSlash } = require_mock_symbols();
|
|
28913
28954
|
const MockClient$1 = require_mock_client();
|
|
28914
28955
|
const MockPool$1 = require_mock_pool();
|
|
28915
28956
|
const { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
|
|
28916
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28957
|
+
const { InvalidArgumentError: InvalidArgumentError$9, UndiciError: UndiciError$2 } = require_errors();
|
|
28917
28958
|
const Dispatcher$1 = require_dispatcher();
|
|
28918
28959
|
const PendingInterceptorsFormatter = require_pending_interceptors_formatter();
|
|
28919
28960
|
const { MockCallHistory: MockCallHistory$1 } = require_mock_call_history();
|
|
@@ -28926,7 +28967,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
28926
28967
|
this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
|
|
28927
28968
|
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
|
|
28928
28969
|
this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
|
|
28929
|
-
if (opts?.agent && typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28970
|
+
if (opts?.agent && typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$9("Argument opts.agent must implement Agent");
|
|
28930
28971
|
const agent = opts?.agent ? opts.agent : new Agent$3(opts);
|
|
28931
28972
|
this[kAgent] = agent;
|
|
28932
28973
|
this[kClients] = agent[kClients];
|
|
@@ -28970,7 +29011,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
28970
29011
|
if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) if (Array.isArray(this[kNetConnect])) this[kNetConnect].push(matcher);
|
|
28971
29012
|
else this[kNetConnect] = [matcher];
|
|
28972
29013
|
else if (typeof matcher === "undefined") this[kNetConnect] = true;
|
|
28973
|
-
else throw new InvalidArgumentError$
|
|
29014
|
+
else throw new InvalidArgumentError$9("Unsupported matcher. Must be one of String|Function|RegExp.");
|
|
28974
29015
|
}
|
|
28975
29016
|
disableNetConnect() {
|
|
28976
29017
|
this[kNetConnect] = false;
|
|
@@ -29046,9 +29087,9 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
29046
29087
|
}) });
|
|
29047
29088
|
|
|
29048
29089
|
//#endregion
|
|
29049
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29050
|
-
var require_snapshot_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29051
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29090
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-utils.js
|
|
29091
|
+
var require_snapshot_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-utils.js": ((exports, module) => {
|
|
29092
|
+
const { InvalidArgumentError: InvalidArgumentError$8 } = require_errors();
|
|
29052
29093
|
const { runtimeFeatures: runtimeFeatures$5 } = require_runtime_features();
|
|
29053
29094
|
/**
|
|
29054
29095
|
* @typedef {Object} HeaderFilters
|
|
@@ -29150,7 +29191,7 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
29150
29191
|
* @returns {asserts mode is SnapshotMode}
|
|
29151
29192
|
*/
|
|
29152
29193
|
function validateSnapshotMode$1(mode) {
|
|
29153
|
-
if (!validSnapshotModes.includes(mode)) throw new InvalidArgumentError$
|
|
29194
|
+
if (!validSnapshotModes.includes(mode)) throw new InvalidArgumentError$8(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
|
|
29154
29195
|
}
|
|
29155
29196
|
module.exports = {
|
|
29156
29197
|
createHeaderFilters: createHeaderFilters$1,
|
|
@@ -29163,12 +29204,12 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
29163
29204
|
}) });
|
|
29164
29205
|
|
|
29165
29206
|
//#endregion
|
|
29166
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29167
|
-
var require_snapshot_recorder = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29207
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
29208
|
+
var require_snapshot_recorder = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-recorder.js": ((exports, module) => {
|
|
29168
29209
|
const { writeFile, readFile, mkdir } = __require$3("node:fs/promises");
|
|
29169
29210
|
const { dirname: dirname$2, resolve: resolve$3 } = __require$3("node:path");
|
|
29170
29211
|
const { setTimeout: setTimeout$2, clearTimeout: clearTimeout$1 } = __require$3("node:timers");
|
|
29171
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29212
|
+
const { InvalidArgumentError: InvalidArgumentError$7, UndiciError: UndiciError$1 } = require_errors();
|
|
29172
29213
|
const { hashId, isUrlExcludedFactory, normalizeHeaders: normalizeHeaders$4, createHeaderFilters } = require_snapshot_utils();
|
|
29173
29214
|
/**
|
|
29174
29215
|
* @typedef {Object} SnapshotRequestOptions
|
|
@@ -29429,7 +29470,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
29429
29470
|
*/
|
|
29430
29471
|
async loadSnapshots(filePath) {
|
|
29431
29472
|
const path$2 = filePath || this.#snapshotPath;
|
|
29432
|
-
if (!path$2) throw new InvalidArgumentError$
|
|
29473
|
+
if (!path$2) throw new InvalidArgumentError$7("Snapshot path is required");
|
|
29433
29474
|
try {
|
|
29434
29475
|
const data$1 = await readFile(resolve$3(path$2), "utf8");
|
|
29435
29476
|
const parsed = JSON.parse(data$1);
|
|
@@ -29450,7 +29491,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
29450
29491
|
*/
|
|
29451
29492
|
async saveSnapshots(filePath) {
|
|
29452
29493
|
const path$2 = filePath || this.#snapshotPath;
|
|
29453
|
-
if (!path$2) throw new InvalidArgumentError$
|
|
29494
|
+
if (!path$2) throw new InvalidArgumentError$7("Snapshot path is required");
|
|
29454
29495
|
const resolvedPath = resolve$3(path$2);
|
|
29455
29496
|
await mkdir(dirname$2(resolvedPath), { recursive: true });
|
|
29456
29497
|
const data$1 = Array.from(this.#snapshots.entries()).map(([hash$1, snapshot]) => ({
|
|
@@ -29582,13 +29623,13 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
29582
29623
|
}) });
|
|
29583
29624
|
|
|
29584
29625
|
//#endregion
|
|
29585
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29586
|
-
var require_snapshot_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29626
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-agent.js
|
|
29627
|
+
var require_snapshot_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-agent.js": ((exports, module) => {
|
|
29587
29628
|
const Agent$2 = require_agent();
|
|
29588
29629
|
const MockAgent$1 = require_mock_agent();
|
|
29589
29630
|
const { SnapshotRecorder } = require_snapshot_recorder();
|
|
29590
29631
|
const WrapHandler$1 = require_wrap_handler();
|
|
29591
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29632
|
+
const { InvalidArgumentError: InvalidArgumentError$6, UndiciError } = require_errors();
|
|
29592
29633
|
const { validateSnapshotMode } = require_snapshot_utils();
|
|
29593
29634
|
const kSnapshotRecorder = Symbol("kSnapshotRecorder");
|
|
29594
29635
|
const kSnapshotMode = Symbol("kSnapshotMode");
|
|
@@ -29605,7 +29646,7 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
29605
29646
|
const { mode = "record", snapshotPath = null,...mockAgentOpts } = opts;
|
|
29606
29647
|
super(mockAgentOpts);
|
|
29607
29648
|
validateSnapshotMode(mode);
|
|
29608
|
-
if ((mode === "playback" || mode === "update") && !snapshotPath) throw new InvalidArgumentError$
|
|
29649
|
+
if ((mode === "playback" || mode === "update") && !snapshotPath) throw new InvalidArgumentError$6(`snapshotPath is required when mode is '${mode}'`);
|
|
29609
29650
|
this[kSnapshotMode] = mode;
|
|
29610
29651
|
this[kSnapshotPath] = snapshotPath;
|
|
29611
29652
|
this[kSnapshotRecorder] = new SnapshotRecorder({
|
|
@@ -29842,15 +29883,15 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
29842
29883
|
}) });
|
|
29843
29884
|
|
|
29844
29885
|
//#endregion
|
|
29845
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29846
|
-
var require_global = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29886
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/global.js
|
|
29887
|
+
var require_global = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/global.js": ((exports, module) => {
|
|
29847
29888
|
const globalDispatcher = Symbol.for("undici.globalDispatcher.2");
|
|
29848
29889
|
const legacyGlobalDispatcher = Symbol.for("undici.globalDispatcher.1");
|
|
29849
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29890
|
+
const { InvalidArgumentError: InvalidArgumentError$5 } = require_errors();
|
|
29850
29891
|
const Agent$1 = require_agent();
|
|
29851
29892
|
if (getGlobalDispatcher$3() === void 0) setGlobalDispatcher$1(new Agent$1());
|
|
29852
29893
|
function setGlobalDispatcher$1(agent) {
|
|
29853
|
-
if (!agent || typeof agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
29894
|
+
if (!agent || typeof agent.dispatch !== "function") throw new InvalidArgumentError$5("Argument agent must implement Agent");
|
|
29854
29895
|
Object.defineProperty(globalThis, globalDispatcher, {
|
|
29855
29896
|
value: agent,
|
|
29856
29897
|
writable: true,
|
|
@@ -29887,8 +29928,8 @@ var require_global = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
29887
29928
|
}) });
|
|
29888
29929
|
|
|
29889
29930
|
//#endregion
|
|
29890
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29891
|
-
var require_decorator_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29931
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/decorator-handler.js
|
|
29932
|
+
var require_decorator_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/decorator-handler.js": ((exports, module) => {
|
|
29892
29933
|
const assert$15 = __require$3("node:assert");
|
|
29893
29934
|
const WrapHandler = require_wrap_handler();
|
|
29894
29935
|
/**
|
|
@@ -29941,12 +29982,12 @@ var require_decorator_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modul
|
|
|
29941
29982
|
}) });
|
|
29942
29983
|
|
|
29943
29984
|
//#endregion
|
|
29944
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29945
|
-
var require_redirect_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
29985
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/redirect-handler.js
|
|
29986
|
+
var require_redirect_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/redirect-handler.js": ((exports, module) => {
|
|
29946
29987
|
const util$8 = require_util$5();
|
|
29947
29988
|
const { kBodyUsed } = require_symbols();
|
|
29948
29989
|
const assert$14 = __require$3("node:assert");
|
|
29949
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29990
|
+
const { InvalidArgumentError: InvalidArgumentError$4 } = require_errors();
|
|
29950
29991
|
const EE$2 = __require$3("node:events");
|
|
29951
29992
|
const redirectableStatusCodes = [
|
|
29952
29993
|
300,
|
|
@@ -29971,12 +30012,12 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
29971
30012
|
};
|
|
29972
30013
|
var RedirectHandler$2 = class RedirectHandler$2 {
|
|
29973
30014
|
static buildDispatch(dispatcher, maxRedirections) {
|
|
29974
|
-
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$
|
|
30015
|
+
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$4("maxRedirections must be a positive number");
|
|
29975
30016
|
const dispatch = dispatcher.dispatch.bind(dispatcher);
|
|
29976
30017
|
return (opts, originalHandler) => dispatch(opts, new RedirectHandler$2(dispatch, maxRedirections, opts, originalHandler));
|
|
29977
30018
|
}
|
|
29978
30019
|
constructor(dispatch, maxRedirections, opts, handler) {
|
|
29979
|
-
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$
|
|
30020
|
+
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$4("maxRedirections must be a positive number");
|
|
29980
30021
|
this.dispatch = dispatch;
|
|
29981
30022
|
this.location = null;
|
|
29982
30023
|
const { maxRedirections: _,...cleanOpts } = opts;
|
|
@@ -30027,7 +30068,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
30027
30068
|
const { origin, pathname, search } = util$8.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
|
|
30028
30069
|
const path$2 = search ? `${pathname}${search}` : pathname;
|
|
30029
30070
|
const redirectUrlString = `${origin}${path$2}`;
|
|
30030
|
-
for (const historyUrl of this.history) if (historyUrl.toString() === redirectUrlString) throw new InvalidArgumentError$
|
|
30071
|
+
for (const historyUrl of this.history) if (historyUrl.toString() === redirectUrlString) throw new InvalidArgumentError$4(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
|
|
30031
30072
|
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
|
|
30032
30073
|
this.opts.path = path$2;
|
|
30033
30074
|
this.opts.origin = origin;
|
|
@@ -30067,8 +30108,8 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$3({ "../../node_module
|
|
|
30067
30108
|
}) });
|
|
30068
30109
|
|
|
30069
30110
|
//#endregion
|
|
30070
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30071
|
-
var require_redirect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30111
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/redirect.js
|
|
30112
|
+
var require_redirect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/redirect.js": ((exports, module) => {
|
|
30072
30113
|
const RedirectHandler$1 = require_redirect_handler();
|
|
30073
30114
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
30074
30115
|
return (dispatch) => {
|
|
@@ -30084,8 +30125,8 @@ var require_redirect = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
30084
30125
|
}) });
|
|
30085
30126
|
|
|
30086
30127
|
//#endregion
|
|
30087
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30088
|
-
var require_response_error = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30128
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/response-error.js
|
|
30129
|
+
var require_response_error = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/response-error.js": ((exports, module) => {
|
|
30089
30130
|
const DecoratorHandler$4 = require_decorator_handler();
|
|
30090
30131
|
const { ResponseError } = require_errors();
|
|
30091
30132
|
var ResponseErrorHandler = class extends DecoratorHandler$4 {
|
|
@@ -30153,8 +30194,8 @@ var require_response_error = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
30153
30194
|
}) });
|
|
30154
30195
|
|
|
30155
30196
|
//#endregion
|
|
30156
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30157
|
-
var require_retry = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30197
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/retry.js
|
|
30198
|
+
var require_retry = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/retry.js": ((exports, module) => {
|
|
30158
30199
|
const RetryHandler$1 = require_retry_handler();
|
|
30159
30200
|
module.exports = (globalOpts) => {
|
|
30160
30201
|
return (dispatch) => {
|
|
@@ -30175,19 +30216,18 @@ var require_retry = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
30175
30216
|
}) });
|
|
30176
30217
|
|
|
30177
30218
|
//#endregion
|
|
30178
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30179
|
-
var require_dump = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30180
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
30219
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dump.js
|
|
30220
|
+
var require_dump = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dump.js": ((exports, module) => {
|
|
30221
|
+
const { InvalidArgumentError: InvalidArgumentError$3, RequestAbortedError: RequestAbortedError$1 } = require_errors();
|
|
30181
30222
|
const DecoratorHandler$3 = require_decorator_handler();
|
|
30182
30223
|
var DumpHandler = class extends DecoratorHandler$3 {
|
|
30183
30224
|
#maxSize = 1024 * 1024;
|
|
30184
30225
|
#dumped = false;
|
|
30185
30226
|
#size = 0;
|
|
30186
|
-
#controller = null;
|
|
30187
30227
|
aborted = false;
|
|
30188
30228
|
reason = false;
|
|
30189
30229
|
constructor({ maxSize, signal }, handler) {
|
|
30190
|
-
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) throw new InvalidArgumentError$
|
|
30230
|
+
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) throw new InvalidArgumentError$3("maxSize must be a number greater than 0");
|
|
30191
30231
|
super(handler);
|
|
30192
30232
|
this.#maxSize = maxSize ?? this.#maxSize;
|
|
30193
30233
|
}
|
|
@@ -30197,7 +30237,6 @@ var require_dump = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
30197
30237
|
}
|
|
30198
30238
|
onRequestStart(controller, context) {
|
|
30199
30239
|
controller.abort = this.#abort.bind(this);
|
|
30200
|
-
this.#controller = controller;
|
|
30201
30240
|
return super.onRequestStart(controller, context);
|
|
30202
30241
|
}
|
|
30203
30242
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
@@ -30207,32 +30246,26 @@ var require_dump = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
30207
30246
|
return super.onResponseStart(controller, statusCode, headers, statusMessage);
|
|
30208
30247
|
}
|
|
30209
30248
|
onResponseError(controller, err) {
|
|
30210
|
-
|
|
30211
|
-
err = this.#controller?.reason ?? err;
|
|
30212
|
-
super.onResponseError(controller, err);
|
|
30249
|
+
super.onResponseError(controller, this.aborted === true ? this.reason : err);
|
|
30213
30250
|
}
|
|
30214
30251
|
onResponseData(controller, chunk) {
|
|
30215
30252
|
this.#size = this.#size + chunk.length;
|
|
30216
|
-
if (this.#size
|
|
30217
|
-
|
|
30218
|
-
if (this.aborted === true) super.onResponseError(controller, this.reason);
|
|
30219
|
-
else super.onResponseEnd(controller, {});
|
|
30220
|
-
}
|
|
30253
|
+
if (this.#size > this.#maxSize) throw new RequestAbortedError$1(`Response size (${this.#size}) larger than maxSize (${this.#maxSize})`);
|
|
30254
|
+
if (this.#size === this.#maxSize) this.#dumped = true;
|
|
30221
30255
|
return true;
|
|
30222
30256
|
}
|
|
30223
30257
|
onResponseEnd(controller, trailers) {
|
|
30224
|
-
if (this
|
|
30225
|
-
if (this.#controller.aborted === true) {
|
|
30258
|
+
if (this.aborted === true) {
|
|
30226
30259
|
super.onResponseError(controller, this.reason);
|
|
30227
30260
|
return;
|
|
30228
30261
|
}
|
|
30229
|
-
super.onResponseEnd(controller, trailers);
|
|
30262
|
+
super.onResponseEnd(controller, this.#dumped ? {} : trailers);
|
|
30230
30263
|
}
|
|
30231
30264
|
};
|
|
30232
|
-
function createDumpInterceptor({ maxSize: defaultMaxSize } = { maxSize: 1024 * 1024 }) {
|
|
30265
|
+
function createDumpInterceptor({ maxSize: defaultMaxSize$1 } = { maxSize: 1024 * 1024 }) {
|
|
30233
30266
|
return (dispatch) => {
|
|
30234
30267
|
return function Intercept(opts, handler) {
|
|
30235
|
-
const { dumpMaxSize = defaultMaxSize } = opts;
|
|
30268
|
+
const { dumpMaxSize = defaultMaxSize$1 } = opts;
|
|
30236
30269
|
return dispatch(opts, new DumpHandler({
|
|
30237
30270
|
maxSize: dumpMaxSize,
|
|
30238
30271
|
signal: opts.signal
|
|
@@ -30244,12 +30277,12 @@ var require_dump = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
30244
30277
|
}) });
|
|
30245
30278
|
|
|
30246
30279
|
//#endregion
|
|
30247
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30248
|
-
var require_dns = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30280
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dns.js
|
|
30281
|
+
var require_dns = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dns.js": ((exports, module) => {
|
|
30249
30282
|
const { isIP } = __require$3("node:net");
|
|
30250
30283
|
const { lookup } = __require$3("node:dns");
|
|
30251
30284
|
const DecoratorHandler$2 = require_decorator_handler();
|
|
30252
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
30285
|
+
const { InvalidArgumentError: InvalidArgumentError$2, InformationalError } = require_errors();
|
|
30253
30286
|
const maxInt = Math.pow(2, 31) - 1;
|
|
30254
30287
|
function hasSafeIterator$1(headers) {
|
|
30255
30288
|
const prototype = Object.getPrototypeOf(headers);
|
|
@@ -30518,13 +30551,13 @@ var require_dns = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undic
|
|
|
30518
30551
|
}
|
|
30519
30552
|
};
|
|
30520
30553
|
module.exports = (interceptorOpts) => {
|
|
30521
|
-
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) throw new InvalidArgumentError$
|
|
30522
|
-
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) throw new InvalidArgumentError$
|
|
30523
|
-
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) throw new InvalidArgumentError$
|
|
30524
|
-
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") throw new InvalidArgumentError$
|
|
30525
|
-
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") throw new InvalidArgumentError$
|
|
30526
|
-
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") throw new InvalidArgumentError$
|
|
30527
|
-
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) throw new InvalidArgumentError$
|
|
30554
|
+
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) throw new InvalidArgumentError$2("Invalid maxTTL. Must be a positive number");
|
|
30555
|
+
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) throw new InvalidArgumentError$2("Invalid maxItems. Must be a positive number and greater than zero");
|
|
30556
|
+
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) throw new InvalidArgumentError$2("Invalid affinity. Must be either 4 or 6");
|
|
30557
|
+
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") throw new InvalidArgumentError$2("Invalid dualStack. Must be a boolean");
|
|
30558
|
+
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") throw new InvalidArgumentError$2("Invalid lookup. Must be a function");
|
|
30559
|
+
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") throw new InvalidArgumentError$2("Invalid pick. Must be a function");
|
|
30560
|
+
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) throw new InvalidArgumentError$2("Invalid storage. Must be a object with methods: { get, set, full, delete }");
|
|
30528
30561
|
const dualStack = interceptorOpts?.dualStack ?? true;
|
|
30529
30562
|
let affinity;
|
|
30530
30563
|
if (dualStack) affinity = interceptorOpts?.affinity ?? null;
|
|
@@ -30563,8 +30596,8 @@ var require_dns = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undic
|
|
|
30563
30596
|
}) });
|
|
30564
30597
|
|
|
30565
30598
|
//#endregion
|
|
30566
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30567
|
-
var require_cache$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
30599
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/cache.js
|
|
30600
|
+
var require_cache$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/cache.js": ((exports, module) => {
|
|
30568
30601
|
const { safeHTTPMethods, pathHasQueryOrFragment, hasSafeIterator, isValidHTTPToken: isValidHTTPToken$1 } = require_util$5();
|
|
30569
30602
|
const { serializePathWithQuery } = require_util$5();
|
|
30570
30603
|
const MAX_DELTA_SECONDS = 2147483647;
|
|
@@ -30996,8 +31029,8 @@ var require_cache$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
30996
31029
|
}) });
|
|
30997
31030
|
|
|
30998
31031
|
//#endregion
|
|
30999
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31000
|
-
var require_date = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
31032
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/date.js
|
|
31033
|
+
var require_date = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/date.js": ((exports, module) => {
|
|
31001
31034
|
/**
|
|
31002
31035
|
* @see https://www.rfc-editor.org/rfc/rfc9110.html#name-date-time-formats
|
|
31003
31036
|
*
|
|
@@ -31318,8 +31351,8 @@ var require_date = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
31318
31351
|
}) });
|
|
31319
31352
|
|
|
31320
31353
|
//#endregion
|
|
31321
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31322
|
-
var require_cache_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
31354
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-handler.js
|
|
31355
|
+
var require_cache_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-handler.js": ((exports, module) => {
|
|
31323
31356
|
const util$7 = require_util$5();
|
|
31324
31357
|
const { parseCacheControlHeader: parseCacheControlHeader$1, hasInvalidCacheControlDirective, parseVaryHeader, hasVaryStar, isInvalidOrWildcardVaryHeader: isInvalidOrWildcardVaryHeader$1, isEtagUsable } = require_cache$2();
|
|
31325
31358
|
const { parseHttpDate: parseHttpDate$1 } = require_date();
|
|
@@ -31460,13 +31493,17 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
31460
31493
|
return downstreamOnHeaders();
|
|
31461
31494
|
}
|
|
31462
31495
|
const cacheControlHeader = resHeaders["cache-control"];
|
|
31496
|
+
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader$1(cacheControlHeader) : {};
|
|
31497
|
+
if (revalidationResponseDisallowsCachedReuse$1(this.#cacheType, resHeaders, cacheControlDirectives)) {
|
|
31498
|
+
deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31499
|
+
return downstreamOnHeaders();
|
|
31500
|
+
}
|
|
31463
31501
|
const heuristicallyCacheable = resHeaders["last-modified"] && arrayIncludes$1(HEURISTICALLY_CACHEABLE_STATUS_CODES, statusCode);
|
|
31464
31502
|
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
|
|
31465
31503
|
if (statusCode === 304 && resHeaders.vary && isInvalidOrWildcardVaryHeader$1(resHeaders.vary)) deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31466
31504
|
return downstreamOnHeaders();
|
|
31467
31505
|
}
|
|
31468
|
-
|
|
31469
|
-
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
31506
|
+
if (!canCacheResponse(this.#cacheType, this.#cacheKey.method, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
31470
31507
|
if (statusCode === 304 && (cacheControlHeader || revalidationResponseDisallowsCachedReuse$1(this.#cacheType, resHeaders, cacheControlDirectives))) deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31471
31508
|
return downstreamOnHeaders();
|
|
31472
31509
|
}
|
|
@@ -31618,22 +31655,24 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
31618
31655
|
* @returns {boolean}
|
|
31619
31656
|
*/
|
|
31620
31657
|
function revalidationResponseDisallowsCachedReuse$1(cacheType, resHeaders, cacheControlDirectives) {
|
|
31621
|
-
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && cacheControlDirectives.private === true || (resHeaders.vary ? isInvalidOrWildcardVaryHeader$1(resHeaders.vary) : false);
|
|
31658
|
+
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && (cacheControlDirectives.private === true || Object.hasOwn(resHeaders, "set-cookie")) || (resHeaders.vary ? isInvalidOrWildcardVaryHeader$1(resHeaders.vary) : false);
|
|
31622
31659
|
}
|
|
31623
31660
|
/**
|
|
31624
31661
|
* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-storing-responses-to-authen
|
|
31625
31662
|
*
|
|
31626
31663
|
* @param {import('../../types/cache-interceptor.d.ts').default.CacheOptions['type']} cacheType
|
|
31664
|
+
* @param {string} method
|
|
31627
31665
|
* @param {number} statusCode
|
|
31628
31666
|
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
|
|
31629
31667
|
* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
|
|
31630
31668
|
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} [reqHeaders]
|
|
31631
31669
|
*/
|
|
31632
|
-
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
31670
|
+
function canCacheResponse(cacheType, method, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
31671
|
+
if (!arrayIncludes$1(util$7.safeHTTPMethods, method)) return false;
|
|
31633
31672
|
if (statusCode < 200 || arrayIncludes$1(NOT_UNDERSTOOD_STATUS_CODES, statusCode)) return false;
|
|
31634
31673
|
if (!arrayIncludes$1(HEURISTICALLY_CACHEABLE_STATUS_CODES, statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === void 0 && !(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== void 0 && cacheType === "shared")) return false;
|
|
31635
31674
|
if (cacheControlDirectives["no-store"]) return false;
|
|
31636
|
-
if (cacheType === "shared" && cacheControlDirectives.private === true) return false;
|
|
31675
|
+
if (cacheType === "shared" && (cacheControlDirectives.private === true || Object.hasOwn(resHeaders, "set-cookie"))) return false;
|
|
31637
31676
|
if (resHeaders.vary && hasVaryStar(resHeaders.vary)) return false;
|
|
31638
31677
|
if (reqHeaders != null && Object.hasOwn(reqHeaders, "authorization")) {
|
|
31639
31678
|
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) return false;
|
|
@@ -31764,8 +31803,8 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.
|
|
|
31764
31803
|
}) });
|
|
31765
31804
|
|
|
31766
31805
|
//#endregion
|
|
31767
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31768
|
-
var require_memory_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
31806
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/memory-cache-store.js
|
|
31807
|
+
var require_memory_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/memory-cache-store.js": ((exports, module) => {
|
|
31769
31808
|
const { Writable: Writable$2 } = __require$3("node:stream");
|
|
31770
31809
|
const { EventEmitter: EventEmitter$1 } = __require$3("node:events");
|
|
31771
31810
|
const { assertCacheKey: assertCacheKey$1, assertCacheValue: assertCacheValue$1 } = require_cache$2();
|
|
@@ -31951,8 +31990,8 @@ var require_memory_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
31951
31990
|
}) });
|
|
31952
31991
|
|
|
31953
31992
|
//#endregion
|
|
31954
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31955
|
-
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
31993
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
31994
|
+
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-revalidation-handler.js": ((exports, module) => {
|
|
31956
31995
|
const assert$13 = __require$3("node:assert");
|
|
31957
31996
|
/**
|
|
31958
31997
|
* This takes care of revalidation requests we send to the origin. If we get
|
|
@@ -32031,8 +32070,8 @@ var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$3({ "../../n
|
|
|
32031
32070
|
}) });
|
|
32032
32071
|
|
|
32033
32072
|
//#endregion
|
|
32034
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32035
|
-
var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
32073
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/cache.js
|
|
32074
|
+
var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/cache.js": ((exports, module) => {
|
|
32036
32075
|
const assert$12 = __require$3("node:assert");
|
|
32037
32076
|
const { Readable: Readable$1 } = __require$3("node:stream");
|
|
32038
32077
|
const util$6 = require_util$5();
|
|
@@ -32103,7 +32142,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
32103
32142
|
* @returns {boolean}
|
|
32104
32143
|
*/
|
|
32105
32144
|
function revalidationResponseDisallowsCachedReuse(cacheType, headers) {
|
|
32106
|
-
if (headers.vary && isInvalidOrWildcardVaryHeader(headers.vary)) return true;
|
|
32145
|
+
if (headers.vary && isInvalidOrWildcardVaryHeader(headers.vary) || cacheType === "shared" && Object.hasOwn(headers, "set-cookie")) return true;
|
|
32107
32146
|
const cacheControl = headers["cache-control"];
|
|
32108
32147
|
if (!cacheControl) return false;
|
|
32109
32148
|
const cacheControlDirectives = parseCacheControlHeader(cacheControl);
|
|
@@ -32250,6 +32289,11 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
32250
32289
|
*/
|
|
32251
32290
|
function handleResult(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result) {
|
|
32252
32291
|
if (!result) return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
|
|
32292
|
+
if (globalOpts.type === "shared" && Object.hasOwn(result.headers, "set-cookie")) {
|
|
32293
|
+
if (util$6.isStream(result.body)) result.body.on("error", nop).destroy();
|
|
32294
|
+
deleteCachedValue(globalOpts.store, cacheKey);
|
|
32295
|
+
return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
|
|
32296
|
+
}
|
|
32253
32297
|
const now = Date.now();
|
|
32254
32298
|
if (now > result.deleteAt) return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
|
|
32255
32299
|
const age = Math.round((now - result.cachedAt) / 1e3);
|
|
@@ -32355,6 +32399,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
32355
32399
|
* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
|
|
32356
32400
|
*/
|
|
32357
32401
|
const cacheKey = makeCacheKey$1(opts$1);
|
|
32402
|
+
if (!arrayIncludes(util$6.safeHTTPMethods, opts$1.method)) return dispatch(opts$1, new CacheHandler(globalOpts, cacheKey, handler));
|
|
32358
32403
|
const result = store.get(cacheKey);
|
|
32359
32404
|
if (result && typeof result.then === "function") return result.then((result$1) => handleResult(dispatch, globalOpts, cacheKey, handler, opts$1, reqCacheControl, result$1));
|
|
32360
32405
|
else return handleResult(dispatch, globalOpts, cacheKey, handler, opts$1, reqCacheControl, result);
|
|
@@ -32364,10 +32409,11 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
32364
32409
|
}) });
|
|
32365
32410
|
|
|
32366
32411
|
//#endregion
|
|
32367
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32368
|
-
var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
32412
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/decompress.js
|
|
32413
|
+
var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/decompress.js": ((exports, module) => {
|
|
32369
32414
|
const { createInflate: createInflate$1, createGunzip, createBrotliDecompress, createZstdDecompress } = __require$3("node:zlib");
|
|
32370
|
-
const { pipeline: pipeline$2 } = __require$3("node:stream");
|
|
32415
|
+
const { pipeline: pipeline$2, Transform: TransformStream$1 } = __require$3("node:stream");
|
|
32416
|
+
const { InvalidArgumentError: InvalidArgumentError$1, ResponseExceededMaxSizeError } = require_errors();
|
|
32371
32417
|
const DecoratorHandler$1 = require_decorator_handler();
|
|
32372
32418
|
const { runtimeFeatures: runtimeFeatures$4 } = require_runtime_features();
|
|
32373
32419
|
/** @typedef {import('node:stream').Transform} Transform */
|
|
@@ -32384,23 +32430,54 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32384
32430
|
...runtimeFeatures$4.has("zstd") ? { zstd: createZstdDecompress } : {}
|
|
32385
32431
|
};
|
|
32386
32432
|
const defaultSkipStatusCodes = [204, 304];
|
|
32433
|
+
const defaultMaxSize = 64 * 1024 * 1024;
|
|
32434
|
+
/**
|
|
32435
|
+
* Limits the output of one stage in a decompression chain.
|
|
32436
|
+
* @param {number} maxSize - Maximum output size in bytes
|
|
32437
|
+
* @returns {Transform}
|
|
32438
|
+
*/
|
|
32439
|
+
function createMaxSizeLimiter(maxSize) {
|
|
32440
|
+
let size = 0;
|
|
32441
|
+
return new TransformStream$1({ transform(chunk, _encoding, callback$1) {
|
|
32442
|
+
const decompressedSize = size + chunk.length;
|
|
32443
|
+
if (decompressedSize > maxSize) {
|
|
32444
|
+
callback$1(new ResponseExceededMaxSizeError(`Decompressed response size (${decompressedSize}) exceeded maxSize (${maxSize})`));
|
|
32445
|
+
return;
|
|
32446
|
+
}
|
|
32447
|
+
size = decompressedSize;
|
|
32448
|
+
callback$1(null, chunk);
|
|
32449
|
+
} });
|
|
32450
|
+
}
|
|
32387
32451
|
let warningEmitted$1 = false;
|
|
32388
32452
|
/**
|
|
32389
32453
|
* @typedef {Object} DecompressHandlerOptions
|
|
32390
32454
|
* @property {number[]|Readonly<number[]>} [skipStatusCodes=[204, 304]] - List of status codes to skip decompression for
|
|
32391
32455
|
* @property {boolean} [skipErrorResponses] - Whether to skip decompression for error responses (status codes >= 400)
|
|
32456
|
+
* @property {number} [maxSize=67108864] - Maximum decompressed response size in bytes
|
|
32392
32457
|
*/
|
|
32393
32458
|
var DecompressHandler = class extends DecoratorHandler$1 {
|
|
32394
32459
|
/** @type {Transform[]} */
|
|
32395
32460
|
#decompressors = [];
|
|
32461
|
+
/** @type {Record<string, string | string[]> | undefined} */
|
|
32462
|
+
#trailers;
|
|
32396
32463
|
/** @type {Readonly<number[]>} */
|
|
32397
32464
|
#skipStatusCodes;
|
|
32398
32465
|
/** @type {boolean} */
|
|
32399
32466
|
#skipErrorResponses;
|
|
32400
|
-
|
|
32467
|
+
/** @type {number} */
|
|
32468
|
+
#maxSize;
|
|
32469
|
+
/** @type {number} */
|
|
32470
|
+
#decompressedSize = 0;
|
|
32471
|
+
/** @type {boolean} */
|
|
32472
|
+
#terminated = false;
|
|
32473
|
+
/** @type {boolean} */
|
|
32474
|
+
#inputEnded = false;
|
|
32475
|
+
constructor(handler, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true, maxSize = defaultMaxSize } = {}) {
|
|
32476
|
+
if (!Number.isSafeInteger(maxSize) || maxSize < 1) throw new InvalidArgumentError$1("maxSize must be a positive integer");
|
|
32401
32477
|
super(handler);
|
|
32402
32478
|
this.#skipStatusCodes = skipStatusCodes;
|
|
32403
32479
|
this.#skipErrorResponses = skipErrorResponses;
|
|
32480
|
+
this.#maxSize = maxSize;
|
|
32404
32481
|
}
|
|
32405
32482
|
/**
|
|
32406
32483
|
* Determines if decompression should be skipped based on encoding and status code
|
|
@@ -32418,7 +32495,7 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32418
32495
|
* Creates a chain of decompressors for multiple content encodings
|
|
32419
32496
|
*
|
|
32420
32497
|
* @param {string} encodings - Comma-separated list of content encodings
|
|
32421
|
-
* @returns {Array<
|
|
32498
|
+
* @returns {Array<Transform>} - Array of decompressor and limiting streams
|
|
32422
32499
|
* @throws {Error} - If the number of content-encodings exceeds the maximum allowed
|
|
32423
32500
|
*/
|
|
32424
32501
|
#createDecompressionChain(encodings) {
|
|
@@ -32436,7 +32513,25 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32436
32513
|
}
|
|
32437
32514
|
decompressors.push(supportedEncodings[encoding]());
|
|
32438
32515
|
}
|
|
32439
|
-
return decompressors;
|
|
32516
|
+
if (decompressors.length < 2) return decompressors;
|
|
32517
|
+
/** @type {Transform[]} */
|
|
32518
|
+
const streams = [];
|
|
32519
|
+
for (let i$1 = 0; i$1 < decompressors.length; i$1++) {
|
|
32520
|
+
streams.push(decompressors[i$1]);
|
|
32521
|
+
if (i$1 < decompressors.length - 1) streams.push(createMaxSizeLimiter(this.#maxSize));
|
|
32522
|
+
}
|
|
32523
|
+
return streams;
|
|
32524
|
+
}
|
|
32525
|
+
/**
|
|
32526
|
+
* Stops decompression and reports an error.
|
|
32527
|
+
* @param {Controller} controller - The controller to coordinate with
|
|
32528
|
+
* @param {Error} error - The decompression error
|
|
32529
|
+
* @returns {void}
|
|
32530
|
+
*/
|
|
32531
|
+
#fail(controller, error$2) {
|
|
32532
|
+
if (this.#terminated) return;
|
|
32533
|
+
if (this.#inputEnded) this.onResponseError(controller, error$2);
|
|
32534
|
+
else controller.abort(error$2);
|
|
32440
32535
|
}
|
|
32441
32536
|
/**
|
|
32442
32537
|
* Sets up event handlers for a decompressor stream using readable events
|
|
@@ -32446,11 +32541,20 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32446
32541
|
*/
|
|
32447
32542
|
#setupDecompressorEvents(decompressor, controller) {
|
|
32448
32543
|
decompressor.on("readable", () => {
|
|
32544
|
+
if (this.#terminated) return;
|
|
32449
32545
|
let chunk;
|
|
32450
|
-
while ((chunk = decompressor.read()) !== null)
|
|
32546
|
+
while ((chunk = decompressor.read()) !== null) {
|
|
32547
|
+
const decompressedSize = this.#decompressedSize + chunk.length;
|
|
32548
|
+
if (decompressedSize > this.#maxSize) {
|
|
32549
|
+
this.#fail(controller, new ResponseExceededMaxSizeError(`Decompressed response size (${decompressedSize}) exceeded maxSize (${this.#maxSize})`));
|
|
32550
|
+
return;
|
|
32551
|
+
}
|
|
32552
|
+
this.#decompressedSize = decompressedSize;
|
|
32553
|
+
if (super.onResponseData(controller, chunk) === false) break;
|
|
32554
|
+
}
|
|
32451
32555
|
});
|
|
32452
32556
|
decompressor.on("error", (error$2) => {
|
|
32453
|
-
|
|
32557
|
+
this.#fail(controller, error$2);
|
|
32454
32558
|
});
|
|
32455
32559
|
}
|
|
32456
32560
|
/**
|
|
@@ -32462,7 +32566,10 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32462
32566
|
const decompressor = this.#decompressors[0];
|
|
32463
32567
|
this.#setupDecompressorEvents(decompressor, controller);
|
|
32464
32568
|
decompressor.on("end", () => {
|
|
32465
|
-
|
|
32569
|
+
if (this.#terminated) return;
|
|
32570
|
+
this.#terminated = true;
|
|
32571
|
+
this.#cleanupDecompressors();
|
|
32572
|
+
super.onResponseEnd(controller, this.#trailers);
|
|
32466
32573
|
});
|
|
32467
32574
|
}
|
|
32468
32575
|
/**
|
|
@@ -32474,11 +32581,14 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32474
32581
|
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
|
|
32475
32582
|
this.#setupDecompressorEvents(lastDecompressor, controller);
|
|
32476
32583
|
pipeline$2(this.#decompressors, (err) => {
|
|
32584
|
+
if (this.#terminated) return;
|
|
32477
32585
|
if (err) {
|
|
32478
|
-
|
|
32586
|
+
this.#fail(controller, err);
|
|
32479
32587
|
return;
|
|
32480
32588
|
}
|
|
32481
|
-
|
|
32589
|
+
this.#terminated = true;
|
|
32590
|
+
this.#cleanupDecompressors();
|
|
32591
|
+
super.onResponseEnd(controller, this.#trailers);
|
|
32482
32592
|
});
|
|
32483
32593
|
}
|
|
32484
32594
|
/**
|
|
@@ -32505,6 +32615,22 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32505
32615
|
}
|
|
32506
32616
|
this.#decompressors = decompressors;
|
|
32507
32617
|
const { "content-encoding": _, "content-length": __,...newHeaders } = headers;
|
|
32618
|
+
if (controller?.rawHeaders) {
|
|
32619
|
+
const rawHeaders = controller.rawHeaders;
|
|
32620
|
+
if (Array.isArray(rawHeaders)) {
|
|
32621
|
+
const filteredHeaders = [];
|
|
32622
|
+
for (let i$1 = 0; i$1 < rawHeaders.length; i$1 += 2) {
|
|
32623
|
+
const headerName = rawHeaders[i$1];
|
|
32624
|
+
const lowerName = (Buffer.isBuffer(headerName) ? headerName.toString("latin1") : `${headerName}`).toLowerCase();
|
|
32625
|
+
if (lowerName === "content-encoding" || lowerName === "content-length") continue;
|
|
32626
|
+
filteredHeaders.push(rawHeaders[i$1], rawHeaders[i$1 + 1]);
|
|
32627
|
+
}
|
|
32628
|
+
rawHeaders.splice(0, rawHeaders.length, ...filteredHeaders);
|
|
32629
|
+
} else if (typeof rawHeaders === "object") for (const name of Object.keys(rawHeaders)) {
|
|
32630
|
+
const lowerName = name.toLowerCase();
|
|
32631
|
+
if (lowerName === "content-encoding" || lowerName === "content-length") delete rawHeaders[name];
|
|
32632
|
+
}
|
|
32633
|
+
}
|
|
32508
32634
|
if (this.#decompressors.length === 1) this.#setupSingleDecompressor(controller);
|
|
32509
32635
|
else this.#setupMultipleDecompressors(controller);
|
|
32510
32636
|
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
|
|
@@ -32528,8 +32654,9 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32528
32654
|
*/
|
|
32529
32655
|
onResponseEnd(controller, trailers) {
|
|
32530
32656
|
if (this.#decompressors.length > 0) {
|
|
32657
|
+
this.#inputEnded = true;
|
|
32658
|
+
this.#trailers = trailers;
|
|
32531
32659
|
this.#decompressors[0].end();
|
|
32532
|
-
this.#cleanupDecompressors();
|
|
32533
32660
|
return;
|
|
32534
32661
|
}
|
|
32535
32662
|
super.onResponseEnd(controller, trailers);
|
|
@@ -32540,10 +32667,10 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32540
32667
|
* @returns {void}
|
|
32541
32668
|
*/
|
|
32542
32669
|
onResponseError(controller, err) {
|
|
32543
|
-
if (this.#
|
|
32544
|
-
|
|
32545
|
-
|
|
32546
|
-
|
|
32670
|
+
if (this.#terminated) return;
|
|
32671
|
+
this.#terminated = true;
|
|
32672
|
+
for (const decompressor of this.#decompressors) decompressor.destroy();
|
|
32673
|
+
this.#cleanupDecompressors();
|
|
32547
32674
|
super.onResponseError(controller, err);
|
|
32548
32675
|
}
|
|
32549
32676
|
};
|
|
@@ -32567,8 +32694,8 @@ var require_decompress = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
32567
32694
|
}) });
|
|
32568
32695
|
|
|
32569
32696
|
//#endregion
|
|
32570
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32571
|
-
var require_deduplication_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
32697
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/deduplication-handler.js
|
|
32698
|
+
var require_deduplication_handler = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/deduplication-handler.js": ((exports, module) => {
|
|
32572
32699
|
const { RequestAbortedError } = require_errors();
|
|
32573
32700
|
/**
|
|
32574
32701
|
* @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
|
|
@@ -32905,8 +33032,8 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJS$3({ "../../node_m
|
|
|
32905
33032
|
}) });
|
|
32906
33033
|
|
|
32907
33034
|
//#endregion
|
|
32908
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32909
|
-
var require_deduplicate = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
33035
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/deduplicate.js
|
|
33036
|
+
var require_deduplicate = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/deduplicate.js": ((exports, module) => {
|
|
32910
33037
|
const diagnosticsChannel = __require$3("node:diagnostics_channel");
|
|
32911
33038
|
const util$5 = require_util$5();
|
|
32912
33039
|
const DeduplicationHandler = require_deduplication_handler();
|
|
@@ -32968,8 +33095,8 @@ var require_deduplicate = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
32968
33095
|
}) });
|
|
32969
33096
|
|
|
32970
33097
|
//#endregion
|
|
32971
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32972
|
-
var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
33098
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
33099
|
+
var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/sqlite-cache-store.js": ((exports, module) => {
|
|
32973
33100
|
const { Writable: Writable$1 } = __require$3("node:stream");
|
|
32974
33101
|
const { assertCacheKey, assertCacheValue } = require_cache$2();
|
|
32975
33102
|
let DatabaseSync;
|
|
@@ -33289,8 +33416,8 @@ var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
33289
33416
|
}) });
|
|
33290
33417
|
|
|
33291
33418
|
//#endregion
|
|
33292
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
33293
|
-
var require_headers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
33419
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/headers.js
|
|
33420
|
+
var require_headers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/headers.js": ((exports, module) => {
|
|
33294
33421
|
const { kConstruct: kConstruct$7 } = require_symbols();
|
|
33295
33422
|
const { kEnumerableProperty: kEnumerableProperty$9 } = require_util$5();
|
|
33296
33423
|
const { iteratorMixin, isValidHeaderName: isValidHeaderName$1, isValidHeaderValue } = require_util$4();
|
|
@@ -33683,8 +33810,8 @@ var require_headers = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
33683
33810
|
}) });
|
|
33684
33811
|
|
|
33685
33812
|
//#endregion
|
|
33686
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
33687
|
-
var require_response = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
33813
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/response.js
|
|
33814
|
+
var require_response = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/response.js": ((exports, module) => {
|
|
33688
33815
|
const { Headers: Headers$5, HeadersList: HeadersList$2, fill, getHeadersGuard: getHeadersGuard$1, setHeadersGuard: setHeadersGuard$1, setHeadersList: setHeadersList$1 } = require_headers();
|
|
33689
33816
|
const { extractBody: extractBody$2, cloneBody: cloneBody$1, mixinBody: mixinBody$1, streamRegistry, bodyUnusable: bodyUnusable$1 } = require_body();
|
|
33690
33817
|
const util$3 = require_util$5();
|
|
@@ -34029,8 +34156,8 @@ var require_response = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
34029
34156
|
}) });
|
|
34030
34157
|
|
|
34031
34158
|
//#endregion
|
|
34032
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34033
|
-
var require_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
34159
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/request.js
|
|
34160
|
+
var require_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/request.js": ((exports, module) => {
|
|
34034
34161
|
const { extractBody: extractBody$1, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
34035
34162
|
const { Headers: Headers$4, fill: fillHeaders, HeadersList: HeadersList$1, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList: getHeadersList$1 } = require_headers();
|
|
34036
34163
|
const util$2 = require_util$5();
|
|
@@ -34619,8 +34746,8 @@ var require_request = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
34619
34746
|
}) });
|
|
34620
34747
|
|
|
34621
34748
|
//#endregion
|
|
34622
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34623
|
-
var require_subresource_integrity = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
34749
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
34750
|
+
var require_subresource_integrity = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js": ((exports, module) => {
|
|
34624
34751
|
const assert$8 = __require$3("node:assert");
|
|
34625
34752
|
const { runtimeFeatures: runtimeFeatures$3 } = require_runtime_features();
|
|
34626
34753
|
/**
|
|
@@ -34786,8 +34913,8 @@ var require_subresource_integrity = /* @__PURE__ */ __commonJS$3({ "../../node_m
|
|
|
34786
34913
|
}) });
|
|
34787
34914
|
|
|
34788
34915
|
//#endregion
|
|
34789
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34790
|
-
var require_fetch = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
34916
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/index.js
|
|
34917
|
+
var require_fetch = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/index.js": ((exports, module) => {
|
|
34791
34918
|
const { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse: fromInnerResponse$1, getResponseState: getResponseState$1 } = require_response();
|
|
34792
34919
|
const { HeadersList } = require_headers();
|
|
34793
34920
|
const { Request: Request$3, cloneRequest, getRequestDispatcher, getRequestState: getRequestState$1 } = require_request();
|
|
@@ -35539,8 +35666,8 @@ var require_fetch = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
35539
35666
|
}) });
|
|
35540
35667
|
|
|
35541
35668
|
//#endregion
|
|
35542
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
35543
|
-
var require_util$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
35669
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/util.js
|
|
35670
|
+
var require_util$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/util.js": ((exports, module) => {
|
|
35544
35671
|
const assert$6 = __require$3("node:assert");
|
|
35545
35672
|
const { URLSerializer: URLSerializer$1 } = require_data_url();
|
|
35546
35673
|
const { isValidHeaderName } = require_util$4();
|
|
@@ -35574,8 +35701,8 @@ var require_util$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
35574
35701
|
}) });
|
|
35575
35702
|
|
|
35576
35703
|
//#endregion
|
|
35577
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
35578
|
-
var require_cache = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
35704
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cache.js
|
|
35705
|
+
var require_cache = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cache.js": ((exports, module) => {
|
|
35579
35706
|
const assert$5 = __require$3("node:assert");
|
|
35580
35707
|
const { kConstruct: kConstruct$4 } = require_symbols();
|
|
35581
35708
|
const { urlEquals, getFieldValues } = require_util$3();
|
|
@@ -36023,8 +36150,8 @@ var require_cache = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
36023
36150
|
}) });
|
|
36024
36151
|
|
|
36025
36152
|
//#endregion
|
|
36026
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36027
|
-
var require_cachestorage = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36153
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cachestorage.js
|
|
36154
|
+
var require_cachestorage = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cachestorage.js": ((exports, module) => {
|
|
36028
36155
|
const { Cache } = require_cache();
|
|
36029
36156
|
const { webidl: webidl$6 } = require_webidl();
|
|
36030
36157
|
const { kEnumerableProperty: kEnumerableProperty$5 } = require_util$5();
|
|
@@ -36114,8 +36241,8 @@ var require_cachestorage = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.p
|
|
|
36114
36241
|
}) });
|
|
36115
36242
|
|
|
36116
36243
|
//#endregion
|
|
36117
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36118
|
-
var require_constants$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36244
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/constants.js
|
|
36245
|
+
var require_constants$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/constants.js": ((exports, module) => {
|
|
36119
36246
|
const maxAttributeValueSize$1 = 1024;
|
|
36120
36247
|
const maxNameValuePairSize$1 = 4096;
|
|
36121
36248
|
module.exports = {
|
|
@@ -36125,8 +36252,8 @@ var require_constants$4 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
36125
36252
|
}) });
|
|
36126
36253
|
|
|
36127
36254
|
//#endregion
|
|
36128
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36129
|
-
var require_util$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36255
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/util.js
|
|
36256
|
+
var require_util$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/util.js": ((exports, module) => {
|
|
36130
36257
|
/**
|
|
36131
36258
|
* @param {string} value
|
|
36132
36259
|
* @returns {boolean}
|
|
@@ -36362,8 +36489,8 @@ var require_util$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
36362
36489
|
}) });
|
|
36363
36490
|
|
|
36364
36491
|
//#endregion
|
|
36365
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36366
|
-
var require_parse$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36492
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/parse.js
|
|
36493
|
+
var require_parse$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/parse.js": ((exports, module) => {
|
|
36367
36494
|
const { collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast$1 } = require_infra();
|
|
36368
36495
|
const { maxNameValuePairSize, maxAttributeValueSize } = require_constants$4();
|
|
36369
36496
|
const { isCTLExcludingHtab } = require_util$2();
|
|
@@ -36465,8 +36592,8 @@ var require_parse$2 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
36465
36592
|
}) });
|
|
36466
36593
|
|
|
36467
36594
|
//#endregion
|
|
36468
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36469
|
-
var require_cookies = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36595
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/index.js
|
|
36596
|
+
var require_cookies = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/index.js": ((exports, module) => {
|
|
36470
36597
|
const { parseSetCookie } = require_parse$2();
|
|
36471
36598
|
const { stringify: stringify$2 } = require_util$2();
|
|
36472
36599
|
const { webidl: webidl$5 } = require_webidl();
|
|
@@ -36628,8 +36755,8 @@ var require_cookies = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/u
|
|
|
36628
36755
|
}) });
|
|
36629
36756
|
|
|
36630
36757
|
//#endregion
|
|
36631
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36632
|
-
var require_events = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
36758
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/events.js
|
|
36759
|
+
var require_events = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/events.js": ((exports, module) => {
|
|
36633
36760
|
const { webidl: webidl$4 } = require_webidl();
|
|
36634
36761
|
const { kEnumerableProperty: kEnumerableProperty$4 } = require_util$5();
|
|
36635
36762
|
const { kConstruct: kConstruct$2 } = require_symbols();
|
|
@@ -36891,8 +37018,8 @@ var require_events = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
36891
37018
|
}) });
|
|
36892
37019
|
|
|
36893
37020
|
//#endregion
|
|
36894
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36895
|
-
var require_constants$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37021
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/constants.js
|
|
37022
|
+
var require_constants$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/constants.js": ((exports, module) => {
|
|
36896
37023
|
/**
|
|
36897
37024
|
* This is a Globally Unique Identifier unique used to validate that the
|
|
36898
37025
|
* endpoint accepts websocket connections.
|
|
@@ -37011,8 +37138,8 @@ var require_constants$3 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
37011
37138
|
}) });
|
|
37012
37139
|
|
|
37013
37140
|
//#endregion
|
|
37014
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37015
|
-
var require_util$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37141
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/util.js
|
|
37142
|
+
var require_util$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/util.js": ((exports, module) => {
|
|
37016
37143
|
const { states: states$4, opcodes: opcodes$6 } = require_constants$3();
|
|
37017
37144
|
const { isUtf8 } = __require$3("node:buffer");
|
|
37018
37145
|
const { removeHTTPWhitespace } = require_data_url();
|
|
@@ -37223,8 +37350,8 @@ var require_util$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/un
|
|
|
37223
37350
|
}) });
|
|
37224
37351
|
|
|
37225
37352
|
//#endregion
|
|
37226
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37227
|
-
var require_frame = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37353
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/frame.js
|
|
37354
|
+
var require_frame = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/frame.js": ((exports, module) => {
|
|
37228
37355
|
const { runtimeFeatures: runtimeFeatures$1 } = require_runtime_features();
|
|
37229
37356
|
const { maxUnsigned16Bit, opcodes: opcodes$5 } = require_constants$3();
|
|
37230
37357
|
const BUFFER_SIZE = 8 * 1024;
|
|
@@ -37324,8 +37451,8 @@ var require_frame = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/und
|
|
|
37324
37451
|
}) });
|
|
37325
37452
|
|
|
37326
37453
|
//#endregion
|
|
37327
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37328
|
-
var require_connection = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37454
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/connection.js
|
|
37455
|
+
var require_connection = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/connection.js": ((exports, module) => {
|
|
37329
37456
|
const { uid, states: states$3, sentCloseFrameState: sentCloseFrameState$3, emptyBuffer: emptyBuffer$1, opcodes: opcodes$4 } = require_constants$3();
|
|
37330
37457
|
const { parseExtensions, isClosed: isClosed$1, isClosing: isClosing$1, isEstablished: isEstablished$2, isConnecting: isConnecting$1, validateCloseCodeAndReason: validateCloseCodeAndReason$1 } = require_util$1();
|
|
37331
37458
|
const { makeRequest: makeRequest$1 } = require_request();
|
|
@@ -37410,7 +37537,8 @@ var require_connection = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
37410
37537
|
}
|
|
37411
37538
|
const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
|
|
37412
37539
|
if (secProtocol !== null) {
|
|
37413
|
-
|
|
37540
|
+
const requestProtocols = getDecodeSplit("sec-websocket-protocol", request$2.headersList);
|
|
37541
|
+
if (requestProtocols === null || !requestProtocols.includes(secProtocol)) {
|
|
37414
37542
|
failWebsocketConnection$3(handler, 1002, "Protocol was not set in the opening handshake.");
|
|
37415
37543
|
return;
|
|
37416
37544
|
}
|
|
@@ -37475,8 +37603,8 @@ var require_connection = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
37475
37603
|
}) });
|
|
37476
37604
|
|
|
37477
37605
|
//#endregion
|
|
37478
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37479
|
-
var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37606
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
37607
|
+
var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js": ((exports, module) => {
|
|
37480
37608
|
const { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require$3("node:zlib");
|
|
37481
37609
|
const { isValidClientWindowBits } = require_util$1();
|
|
37482
37610
|
const { MessageSizeExceededError: MessageSizeExceededError$1 } = require_errors();
|
|
@@ -37530,6 +37658,7 @@ var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$3({ "../../node_mo
|
|
|
37530
37658
|
if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
|
|
37531
37659
|
callback$1(new MessageSizeExceededError$1());
|
|
37532
37660
|
this.#inflate.removeAllListeners();
|
|
37661
|
+
this.#inflate.destroy();
|
|
37533
37662
|
this.#inflate = null;
|
|
37534
37663
|
return;
|
|
37535
37664
|
}
|
|
@@ -37555,8 +37684,8 @@ var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$3({ "../../node_mo
|
|
|
37555
37684
|
}) });
|
|
37556
37685
|
|
|
37557
37686
|
//#endregion
|
|
37558
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37559
|
-
var require_receiver$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
37687
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/receiver.js
|
|
37688
|
+
var require_receiver$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/receiver.js": ((exports, module) => {
|
|
37560
37689
|
const { Writable } = __require$3("node:stream");
|
|
37561
37690
|
const assert$2 = __require$3("node:assert");
|
|
37562
37691
|
const { parserStates, opcodes: opcodes$3, states: states$2, emptyBuffer, sentCloseFrameState: sentCloseFrameState$2 } = require_constants$3();
|
|
@@ -37870,8 +37999,8 @@ var require_receiver$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnp
|
|
|
37870
37999
|
}) });
|
|
37871
38000
|
|
|
37872
38001
|
//#endregion
|
|
37873
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37874
|
-
var require_sender$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38002
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/sender.js
|
|
38003
|
+
var require_sender$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/sender.js": ((exports, module) => {
|
|
37875
38004
|
const { WebsocketFrameSend: WebsocketFrameSend$2 } = require_frame();
|
|
37876
38005
|
const { opcodes: opcodes$2, sendHints: sendHints$1 } = require_constants$3();
|
|
37877
38006
|
const FixedQueue = require_fixed_queue();
|
|
@@ -37954,8 +38083,8 @@ var require_sender$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/
|
|
|
37954
38083
|
}) });
|
|
37955
38084
|
|
|
37956
38085
|
//#endregion
|
|
37957
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37958
|
-
var require_websocket$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38086
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/websocket.js
|
|
38087
|
+
var require_websocket$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/websocket.js": ((exports, module) => {
|
|
37959
38088
|
const { isArrayBuffer } = __require$3("node:util/types");
|
|
37960
38089
|
const { webidl: webidl$3 } = require_webidl();
|
|
37961
38090
|
const { URLSerializer } = require_data_url();
|
|
@@ -38369,8 +38498,8 @@ var require_websocket$1 = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
38369
38498
|
}) });
|
|
38370
38499
|
|
|
38371
38500
|
//#endregion
|
|
38372
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38373
|
-
var require_websocketerror = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38501
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
38502
|
+
var require_websocketerror = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketerror.js": ((exports, module) => {
|
|
38374
38503
|
const { webidl: webidl$2 } = require_webidl();
|
|
38375
38504
|
const { validateCloseCodeAndReason } = require_util$1();
|
|
38376
38505
|
const { kConstruct: kConstruct$1 } = require_symbols();
|
|
@@ -38441,8 +38570,8 @@ var require_websocketerror = /* @__PURE__ */ __commonJS$3({ "../../node_modules/
|
|
|
38441
38570
|
}) });
|
|
38442
38571
|
|
|
38443
38572
|
//#endregion
|
|
38444
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38445
|
-
var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38573
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
38574
|
+
var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketstream.js": ((exports, module) => {
|
|
38446
38575
|
const { createDeferredPromise } = require_promise();
|
|
38447
38576
|
const { environmentSettingsObject: environmentSettingsObject$1 } = require_util$4();
|
|
38448
38577
|
const { states, opcodes, sentCloseFrameState } = require_constants$3();
|
|
@@ -38467,8 +38596,8 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
38467
38596
|
#readableStream;
|
|
38468
38597
|
/** @type {ReadableStreamDefaultController} */
|
|
38469
38598
|
#readableStreamController;
|
|
38470
|
-
/** @type {
|
|
38471
|
-
#
|
|
38599
|
+
/** @type {WritableStreamDefaultController} */
|
|
38600
|
+
#writableStreamController;
|
|
38472
38601
|
#handshakeAborted = false;
|
|
38473
38602
|
/** @type {import('../websocket').Handler} */
|
|
38474
38603
|
#handler = {
|
|
@@ -38595,12 +38724,14 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
38595
38724
|
cancel: (reason) => this.#cancel(reason)
|
|
38596
38725
|
});
|
|
38597
38726
|
const writable = new WritableStream({
|
|
38727
|
+
start: (controller) => {
|
|
38728
|
+
this.#writableStreamController = controller;
|
|
38729
|
+
},
|
|
38598
38730
|
write: (chunk) => this.#write(chunk),
|
|
38599
38731
|
close: () => closeWebSocketConnection(this.#handler, null, null),
|
|
38600
38732
|
abort: (reason) => this.#closeUsingReason(reason)
|
|
38601
38733
|
});
|
|
38602
38734
|
this.#readableStream = readable;
|
|
38603
|
-
this.#writableStream = writable;
|
|
38604
38735
|
this.#openedPromise.resolve({
|
|
38605
38736
|
extensions,
|
|
38606
38737
|
protocol,
|
|
@@ -38633,7 +38764,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
38633
38764
|
const reason = result?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result.reason));
|
|
38634
38765
|
if (wasClean) {
|
|
38635
38766
|
this.#readableStreamController.close();
|
|
38636
|
-
|
|
38767
|
+
this.#writableStreamController.error(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
|
|
38637
38768
|
this.#closedPromise.resolve({
|
|
38638
38769
|
closeCode: code,
|
|
38639
38770
|
reason
|
|
@@ -38641,7 +38772,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
38641
38772
|
} else {
|
|
38642
38773
|
const error$2 = createUnvalidatedWebSocketError("unclean close", code, reason);
|
|
38643
38774
|
this.#readableStreamController?.error(error$2);
|
|
38644
|
-
this.#
|
|
38775
|
+
this.#writableStreamController?.error(error$2);
|
|
38645
38776
|
this.#closedPromise.reject(error$2);
|
|
38646
38777
|
}
|
|
38647
38778
|
}
|
|
@@ -38695,8 +38826,8 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$3({ "../../node_modules
|
|
|
38695
38826
|
}) });
|
|
38696
38827
|
|
|
38697
38828
|
//#endregion
|
|
38698
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38699
|
-
var require_util = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38829
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/util.js
|
|
38830
|
+
var require_util = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/util.js": ((exports, module) => {
|
|
38700
38831
|
/**
|
|
38701
38832
|
* Checks if the given value is a valid LastEventId.
|
|
38702
38833
|
* @param {string} value
|
|
@@ -38722,8 +38853,8 @@ var require_util = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undi
|
|
|
38722
38853
|
}) });
|
|
38723
38854
|
|
|
38724
38855
|
//#endregion
|
|
38725
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38726
|
-
var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
38856
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
38857
|
+
var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js": ((exports, module) => {
|
|
38727
38858
|
const { Transform } = __require$3("node:stream");
|
|
38728
38859
|
const { isASCIINumber, isValidLastEventId } = require_util();
|
|
38729
38860
|
/**
|
|
@@ -38750,6 +38881,24 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
38750
38881
|
* @type {32} SPACE
|
|
38751
38882
|
*/
|
|
38752
38883
|
const SPACE$1 = 32;
|
|
38884
|
+
const DATA = Buffer.from("data");
|
|
38885
|
+
const EVENT = Buffer.from("event");
|
|
38886
|
+
const ID = Buffer.from("id");
|
|
38887
|
+
const RETRY = Buffer.from("retry");
|
|
38888
|
+
function isASCIINumberBytes(buffer$1, start) {
|
|
38889
|
+
if (start >= buffer$1.length) return false;
|
|
38890
|
+
for (let i$1 = start; i$1 < buffer$1.length; i$1++) if (buffer$1[i$1] < 48 || buffer$1[i$1] > 57) return false;
|
|
38891
|
+
return true;
|
|
38892
|
+
}
|
|
38893
|
+
function isValidLastEventIdBytes(buffer$1, start) {
|
|
38894
|
+
for (let i$1 = start; i$1 < buffer$1.length; i$1++) if (buffer$1[i$1] === 0) return false;
|
|
38895
|
+
return true;
|
|
38896
|
+
}
|
|
38897
|
+
function isFieldName(line, length, field) {
|
|
38898
|
+
if (length !== field.length) return false;
|
|
38899
|
+
for (let i$1 = 0; i$1 < length; i$1++) if (line[i$1] !== field[i$1]) return false;
|
|
38900
|
+
return true;
|
|
38901
|
+
}
|
|
38753
38902
|
/**
|
|
38754
38903
|
* @typedef {object} EventSourceStreamEvent
|
|
38755
38904
|
* @type {object}
|
|
@@ -38784,10 +38933,13 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
38784
38933
|
*/
|
|
38785
38934
|
eventEndCheck = false;
|
|
38786
38935
|
/**
|
|
38787
|
-
* @type {Buffer
|
|
38936
|
+
* @type {Buffer[]}
|
|
38788
38937
|
*/
|
|
38789
|
-
|
|
38938
|
+
chunks = [];
|
|
38939
|
+
chunkIndex = 0;
|
|
38790
38940
|
pos = 0;
|
|
38941
|
+
lineChunkIndex = 0;
|
|
38942
|
+
linePos = 0;
|
|
38791
38943
|
event = {
|
|
38792
38944
|
data: void 0,
|
|
38793
38945
|
event: void 0,
|
|
@@ -38817,69 +38969,42 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
38817
38969
|
callback$1();
|
|
38818
38970
|
return;
|
|
38819
38971
|
}
|
|
38820
|
-
|
|
38821
|
-
|
|
38822
|
-
|
|
38823
|
-
case 1:
|
|
38824
|
-
if (this.buffer[0] === BOM[0]) {
|
|
38825
|
-
callback$1();
|
|
38826
|
-
return;
|
|
38827
|
-
}
|
|
38828
|
-
this.checkBOM = false;
|
|
38972
|
+
this.chunks.push(chunk);
|
|
38973
|
+
if (this.checkBOM) {
|
|
38974
|
+
if (this.handleBOM()) {
|
|
38829
38975
|
callback$1();
|
|
38830
38976
|
return;
|
|
38831
|
-
|
|
38832
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
|
|
38833
|
-
callback$1();
|
|
38834
|
-
return;
|
|
38835
|
-
}
|
|
38836
|
-
this.checkBOM = false;
|
|
38837
|
-
break;
|
|
38838
|
-
case 3:
|
|
38839
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
|
|
38840
|
-
this.buffer = Buffer.alloc(0);
|
|
38841
|
-
this.checkBOM = false;
|
|
38842
|
-
callback$1();
|
|
38843
|
-
return;
|
|
38844
|
-
}
|
|
38845
|
-
this.checkBOM = false;
|
|
38846
|
-
break;
|
|
38847
|
-
default:
|
|
38848
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) this.buffer = this.buffer.subarray(3);
|
|
38849
|
-
this.checkBOM = false;
|
|
38850
|
-
break;
|
|
38977
|
+
}
|
|
38851
38978
|
}
|
|
38852
|
-
while (this.
|
|
38979
|
+
while (this.hasCurrentByte()) {
|
|
38980
|
+
const byte = this.currentByte();
|
|
38853
38981
|
if (this.eventEndCheck) {
|
|
38854
38982
|
if (this.crlfCheck) {
|
|
38855
|
-
if (
|
|
38856
|
-
this.buffer = this.buffer.subarray(this.pos + 1);
|
|
38857
|
-
this.pos = 0;
|
|
38983
|
+
if (byte === LF) {
|
|
38858
38984
|
this.crlfCheck = false;
|
|
38985
|
+
this.consumeCurrentByte();
|
|
38859
38986
|
continue;
|
|
38860
38987
|
}
|
|
38861
38988
|
this.crlfCheck = false;
|
|
38862
38989
|
}
|
|
38863
|
-
if (
|
|
38864
|
-
if (
|
|
38865
|
-
this.
|
|
38866
|
-
this.
|
|
38867
|
-
if (this.event.data !== void 0 || this.event.event || this.event.id !== void 0 || this.event.retry) this.processEvent(this.event);
|
|
38990
|
+
if (byte === LF || byte === CR) {
|
|
38991
|
+
if (byte === CR) this.crlfCheck = true;
|
|
38992
|
+
this.consumeCurrentByte();
|
|
38993
|
+
if (this.hasPendingEvent()) this.processEvent(this.event);
|
|
38868
38994
|
this.clearEvent();
|
|
38869
38995
|
continue;
|
|
38870
38996
|
}
|
|
38871
38997
|
this.eventEndCheck = false;
|
|
38872
38998
|
continue;
|
|
38873
38999
|
}
|
|
38874
|
-
if (
|
|
38875
|
-
if (
|
|
38876
|
-
this.parseLine(this.
|
|
38877
|
-
this.
|
|
38878
|
-
this.pos = 0;
|
|
39000
|
+
if (byte === LF || byte === CR) {
|
|
39001
|
+
if (byte === CR) this.crlfCheck = true;
|
|
39002
|
+
this.parseLine(this.readLine(), this.event);
|
|
39003
|
+
this.consumeCurrentByte();
|
|
38879
39004
|
this.eventEndCheck = true;
|
|
38880
39005
|
continue;
|
|
38881
39006
|
}
|
|
38882
|
-
this.
|
|
39007
|
+
this.advanceCursor();
|
|
38883
39008
|
}
|
|
38884
39009
|
callback$1();
|
|
38885
39010
|
}
|
|
@@ -38891,31 +39016,30 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
38891
39016
|
if (line.length === 0) return;
|
|
38892
39017
|
const colonPosition = line.indexOf(COLON);
|
|
38893
39018
|
if (colonPosition === 0) return;
|
|
38894
|
-
let
|
|
38895
|
-
let
|
|
39019
|
+
let fieldLength = line.length;
|
|
39020
|
+
let valueStart = line.length;
|
|
38896
39021
|
if (colonPosition !== -1) {
|
|
38897
|
-
|
|
38898
|
-
|
|
39022
|
+
fieldLength = colonPosition;
|
|
39023
|
+
valueStart = colonPosition + 1;
|
|
38899
39024
|
if (line[valueStart] === SPACE$1) ++valueStart;
|
|
38900
|
-
value = line.subarray(valueStart).toString("utf8");
|
|
38901
|
-
} else {
|
|
38902
|
-
field = line.toString("utf8");
|
|
38903
|
-
value = "";
|
|
38904
39025
|
}
|
|
38905
|
-
|
|
38906
|
-
|
|
38907
|
-
|
|
38908
|
-
|
|
38909
|
-
|
|
38910
|
-
|
|
38911
|
-
|
|
38912
|
-
|
|
38913
|
-
|
|
38914
|
-
|
|
38915
|
-
|
|
38916
|
-
|
|
38917
|
-
|
|
38918
|
-
|
|
39026
|
+
if (isFieldName(line, fieldLength, DATA)) {
|
|
39027
|
+
const value = line.toString("utf8", valueStart);
|
|
39028
|
+
if (event.data === void 0) event.data = value;
|
|
39029
|
+
else event.data += `\n${value}`;
|
|
39030
|
+
return;
|
|
39031
|
+
}
|
|
39032
|
+
if (isFieldName(line, fieldLength, RETRY)) {
|
|
39033
|
+
if (isASCIINumberBytes(line, valueStart)) event.retry = line.toString("utf8", valueStart);
|
|
39034
|
+
return;
|
|
39035
|
+
}
|
|
39036
|
+
if (isFieldName(line, fieldLength, ID)) {
|
|
39037
|
+
if (isValidLastEventIdBytes(line, valueStart)) event.id = line.toString("utf8", valueStart);
|
|
39038
|
+
return;
|
|
39039
|
+
}
|
|
39040
|
+
if (isFieldName(line, fieldLength, EVENT)) {
|
|
39041
|
+
const value = line.toString("utf8", valueStart);
|
|
39042
|
+
if (value.length > 0) event.event = value;
|
|
38919
39043
|
}
|
|
38920
39044
|
}
|
|
38921
39045
|
/**
|
|
@@ -38934,20 +39058,117 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$3({ "../../node_modu
|
|
|
38934
39058
|
});
|
|
38935
39059
|
}
|
|
38936
39060
|
clearEvent() {
|
|
38937
|
-
this.event =
|
|
38938
|
-
|
|
38939
|
-
|
|
38940
|
-
|
|
38941
|
-
|
|
38942
|
-
|
|
39061
|
+
this.event.data = void 0;
|
|
39062
|
+
this.event.event = void 0;
|
|
39063
|
+
this.event.id = void 0;
|
|
39064
|
+
this.event.retry = void 0;
|
|
39065
|
+
}
|
|
39066
|
+
hasPendingEvent() {
|
|
39067
|
+
return this.event.data !== void 0 || this.event.event !== void 0 || this.event.id !== void 0 || this.event.retry !== void 0;
|
|
39068
|
+
}
|
|
39069
|
+
hasCurrentByte() {
|
|
39070
|
+
return this.chunkIndex < this.chunks.length && this.pos < this.chunks[this.chunkIndex].length;
|
|
39071
|
+
}
|
|
39072
|
+
currentByte() {
|
|
39073
|
+
return this.chunks[this.chunkIndex][this.pos];
|
|
39074
|
+
}
|
|
39075
|
+
consumeCurrentByte() {
|
|
39076
|
+
this.advanceCursor();
|
|
39077
|
+
this.syncLineStartToCursor();
|
|
39078
|
+
}
|
|
39079
|
+
advanceCursor() {
|
|
39080
|
+
this.pos++;
|
|
39081
|
+
while (this.chunkIndex < this.chunks.length && this.pos >= this.chunks[this.chunkIndex].length) {
|
|
39082
|
+
this.chunkIndex++;
|
|
39083
|
+
this.pos = 0;
|
|
39084
|
+
}
|
|
39085
|
+
}
|
|
39086
|
+
syncLineStartToCursor() {
|
|
39087
|
+
this.lineChunkIndex = this.chunkIndex;
|
|
39088
|
+
this.linePos = this.pos;
|
|
39089
|
+
this.dropConsumedChunks();
|
|
39090
|
+
}
|
|
39091
|
+
dropConsumedChunks() {
|
|
39092
|
+
while (this.lineChunkIndex > 0) {
|
|
39093
|
+
this.chunks.shift();
|
|
39094
|
+
this.lineChunkIndex--;
|
|
39095
|
+
this.chunkIndex--;
|
|
39096
|
+
}
|
|
39097
|
+
if (this.chunkIndex === this.chunks.length) {
|
|
39098
|
+
this.chunks.length = 0;
|
|
39099
|
+
this.chunkIndex = 0;
|
|
39100
|
+
this.pos = 0;
|
|
39101
|
+
this.lineChunkIndex = 0;
|
|
39102
|
+
this.linePos = 0;
|
|
39103
|
+
}
|
|
39104
|
+
}
|
|
39105
|
+
readLine() {
|
|
39106
|
+
if (this.lineChunkIndex === this.chunkIndex) return this.chunks[this.chunkIndex].subarray(this.linePos, this.pos);
|
|
39107
|
+
const chunks = [];
|
|
39108
|
+
let length = 0;
|
|
39109
|
+
for (let i$1 = this.lineChunkIndex; i$1 <= this.chunkIndex; i$1++) {
|
|
39110
|
+
const chunk = this.chunks[i$1];
|
|
39111
|
+
const start = i$1 === this.lineChunkIndex ? this.linePos : 0;
|
|
39112
|
+
const end = i$1 === this.chunkIndex ? this.pos : chunk.length;
|
|
39113
|
+
const slice = chunk.subarray(start, end);
|
|
39114
|
+
length += slice.length;
|
|
39115
|
+
chunks.push(slice);
|
|
39116
|
+
}
|
|
39117
|
+
return Buffer.concat(chunks, length);
|
|
39118
|
+
}
|
|
39119
|
+
peekBufferedByte(offset) {
|
|
39120
|
+
let chunkIndex = this.lineChunkIndex;
|
|
39121
|
+
let pos = this.linePos;
|
|
39122
|
+
while (chunkIndex < this.chunks.length) {
|
|
39123
|
+
const chunk = this.chunks[chunkIndex];
|
|
39124
|
+
const remaining = chunk.length - pos;
|
|
39125
|
+
if (offset < remaining) return chunk[pos + offset];
|
|
39126
|
+
offset -= remaining;
|
|
39127
|
+
chunkIndex++;
|
|
39128
|
+
pos = 0;
|
|
39129
|
+
}
|
|
39130
|
+
}
|
|
39131
|
+
discardLeadingBytes(count) {
|
|
39132
|
+
while (count > 0 && this.lineChunkIndex < this.chunks.length) {
|
|
39133
|
+
const remaining = this.chunks[this.lineChunkIndex].length - this.linePos;
|
|
39134
|
+
if (count < remaining) {
|
|
39135
|
+
this.linePos += count;
|
|
39136
|
+
count = 0;
|
|
39137
|
+
} else {
|
|
39138
|
+
count -= remaining;
|
|
39139
|
+
this.lineChunkIndex++;
|
|
39140
|
+
this.linePos = 0;
|
|
39141
|
+
}
|
|
39142
|
+
}
|
|
39143
|
+
this.chunkIndex = this.lineChunkIndex;
|
|
39144
|
+
this.pos = this.linePos;
|
|
39145
|
+
this.dropConsumedChunks();
|
|
39146
|
+
}
|
|
39147
|
+
handleBOM() {
|
|
39148
|
+
const first = this.peekBufferedByte(0);
|
|
39149
|
+
const second = this.peekBufferedByte(1);
|
|
39150
|
+
const third = this.peekBufferedByte(2);
|
|
39151
|
+
if (second === void 0) {
|
|
39152
|
+
if (first === BOM[0]) return true;
|
|
39153
|
+
this.checkBOM = false;
|
|
39154
|
+
return true;
|
|
39155
|
+
}
|
|
39156
|
+
if (third === void 0) {
|
|
39157
|
+
if (first === BOM[0] && second === BOM[1]) return true;
|
|
39158
|
+
this.checkBOM = false;
|
|
39159
|
+
return false;
|
|
39160
|
+
}
|
|
39161
|
+
if (first === BOM[0] && second === BOM[1] && third === BOM[2]) this.discardLeadingBytes(3);
|
|
39162
|
+
this.checkBOM = false;
|
|
39163
|
+
return !this.hasCurrentByte();
|
|
38943
39164
|
}
|
|
38944
39165
|
};
|
|
38945
39166
|
module.exports = { EventSourceStream: EventSourceStream$1 };
|
|
38946
39167
|
}) });
|
|
38947
39168
|
|
|
38948
39169
|
//#endregion
|
|
38949
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38950
|
-
var require_eventsource = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
39170
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
39171
|
+
var require_eventsource = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource.js": ((exports, module) => {
|
|
38951
39172
|
const { pipeline } = __require$3("node:stream");
|
|
38952
39173
|
const { fetching } = require_fetch();
|
|
38953
39174
|
const { makeRequest } = require_request();
|
|
@@ -39278,8 +39499,8 @@ var require_eventsource = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pn
|
|
|
39278
39499
|
}) });
|
|
39279
39500
|
|
|
39280
39501
|
//#endregion
|
|
39281
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
39282
|
-
var require_undici = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.
|
|
39502
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/index.js
|
|
39503
|
+
var require_undici = /* @__PURE__ */ __commonJS$3({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/index.js": ((exports, module) => {
|
|
39283
39504
|
const Client = require_client();
|
|
39284
39505
|
const Dispatcher = require_dispatcher();
|
|
39285
39506
|
const Pool = require_pool();
|
|
@@ -80413,7 +80634,7 @@ var __name$1 = (target$1, value) => __defProp$1(target$1, "name", {
|
|
|
80413
80634
|
});
|
|
80414
80635
|
|
|
80415
80636
|
//#endregion
|
|
80416
|
-
//#region ../workers-auth/dist/chunk-
|
|
80637
|
+
//#region ../workers-auth/dist/chunk-FT2NMTJB.mjs
|
|
80417
80638
|
var import_undici$2 = require_undici();
|
|
80418
80639
|
createRequire(import.meta.url || (typeof __filename === "string" ? __filename : "/"));
|
|
80419
80640
|
var hasWarnedAboutDeprecatedV1ApiToken = false;
|
|
@@ -80526,16 +80747,23 @@ var getCfAuthorizationTokenFromEnv = getEnvironmentVariableFactory({ variableNam
|
|
|
80526
80747
|
var getCloudflareAuthUseKeyringFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "CLOUDFLARE_AUTH_USE_KEYRING" });
|
|
80527
80748
|
var headersCache = {};
|
|
80528
80749
|
var usesAccessCache = /* @__PURE__ */ new Map();
|
|
80750
|
+
function buildProbeUrl(domain$1, previewToken) {
|
|
80751
|
+
const url2 = new URL(`https://${domain$1}`);
|
|
80752
|
+
if (previewToken) url2.searchParams.set("cf_workers_preview_token", previewToken);
|
|
80753
|
+
return url2.toString();
|
|
80754
|
+
}
|
|
80755
|
+
__name$1(buildProbeUrl, "buildProbeUrl");
|
|
80529
80756
|
function clearAccessCaches() {
|
|
80530
80757
|
for (const key of Object.keys(headersCache)) delete headersCache[key];
|
|
80531
80758
|
usesAccessCache.clear();
|
|
80532
80759
|
}
|
|
80533
80760
|
__name$1(clearAccessCaches, "clearAccessCaches");
|
|
80534
|
-
async function domainUsesAccess(domain$1, logger$2) {
|
|
80761
|
+
async function domainUsesAccess(domain$1, logger$2, previewToken) {
|
|
80535
80762
|
logger$2.debug("Checking if domain has Access enabled:", domain$1);
|
|
80536
|
-
|
|
80537
|
-
|
|
80538
|
-
|
|
80763
|
+
const cacheKey = JSON.stringify([domain$1, Boolean(previewToken)]);
|
|
80764
|
+
if (usesAccessCache.has(cacheKey)) {
|
|
80765
|
+
logger$2.debug("Using cached Access switch for:", domain$1, usesAccessCache.get(cacheKey));
|
|
80766
|
+
return usesAccessCache.get(cacheKey) ?? false;
|
|
80539
80767
|
}
|
|
80540
80768
|
logger$2.debug("Access switch not cached for:", domain$1);
|
|
80541
80769
|
try {
|
|
@@ -80543,17 +80771,19 @@ async function domainUsesAccess(domain$1, logger$2) {
|
|
|
80543
80771
|
const cancel$1 = setTimeout(() => {
|
|
80544
80772
|
controller.abort();
|
|
80545
80773
|
}, 1e3);
|
|
80546
|
-
const output = await (0, import_undici$2.fetch)(
|
|
80774
|
+
const output = await (0, import_undici$2.fetch)(buildProbeUrl(domain$1, previewToken), {
|
|
80547
80775
|
redirect: "manual",
|
|
80548
80776
|
signal: controller.signal
|
|
80549
80777
|
});
|
|
80550
80778
|
clearTimeout(cancel$1);
|
|
80551
80779
|
const usesAccess = !!(output.status === 302 && output.headers.get("location")?.includes("cloudflareaccess.com"));
|
|
80552
|
-
|
|
80553
|
-
|
|
80780
|
+
if (usesAccess || !previewToken) {
|
|
80781
|
+
logger$2.debug("Caching access switch for:", domain$1);
|
|
80782
|
+
usesAccessCache.set(cacheKey, usesAccess);
|
|
80783
|
+
}
|
|
80554
80784
|
return usesAccess;
|
|
80555
80785
|
} catch {
|
|
80556
|
-
|
|
80786
|
+
logger$2.debug("Access probe failed for:", domain$1);
|
|
80557
80787
|
return false;
|
|
80558
80788
|
}
|
|
80559
80789
|
}
|
|
@@ -80570,7 +80800,7 @@ async function getAccessHeaders(domain$1, options) {
|
|
|
80570
80800
|
};
|
|
80571
80801
|
}
|
|
80572
80802
|
if (clientId !== void 0 || clientSecret !== void 0) logger$2.warn(`Both CLOUDFLARE_ACCESS_CLIENT_ID and CLOUDFLARE_ACCESS_CLIENT_SECRET must be set to use Access Service Token authentication. Only ${clientId !== void 0 ? "CLOUDFLARE_ACCESS_CLIENT_ID" : "CLOUDFLARE_ACCESS_CLIENT_SECRET"} was found.`);
|
|
80573
|
-
if (!await domainUsesAccess(domain$1, logger$2)) return {};
|
|
80803
|
+
if (!await domainUsesAccess(domain$1, logger$2, options.previewToken)) return {};
|
|
80574
80804
|
logger$2.debug("Getting Access headers for domain:", domain$1);
|
|
80575
80805
|
if (headersCache[domain$1]) {
|
|
80576
80806
|
logger$2.debug("Using cached Access headers for domain:", domain$1);
|
|
@@ -80580,7 +80810,7 @@ async function getAccessHeaders(domain$1, options) {
|
|
|
80580
80810
|
Set the CLOUDFLARE_ACCESS_CLIENT_ID and CLOUDFLARE_ACCESS_CLIENT_SECRET environment variables to authenticate with an Access Service Token.
|
|
80581
80811
|
See https://developers.cloudflare.com/cloudflare-one/access-controls/service-credentials/service-tokens/`, { telemetryMessage: "user access missing service token non interactive" });
|
|
80582
80812
|
logger$2.debug("Spawning cloudflared to get Access token for domain:");
|
|
80583
|
-
const output = await spawnCloudflaredAccessLogin(domain$1, options.signal);
|
|
80813
|
+
const output = await spawnCloudflaredAccessLogin(buildProbeUrl(domain$1, options.previewToken), options.signal);
|
|
80584
80814
|
if (output.error) throw new UserError("To use Wrangler with Cloudflare Access, please install `cloudflared` from https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation", { telemetryMessage: "user access missing cloudflared" });
|
|
80585
80815
|
const stringOutput = output.stdout;
|
|
80586
80816
|
logger$2.debug("cloudflared output:", stringOutput);
|
|
@@ -80594,12 +80824,12 @@ See https://developers.cloudflare.com/cloudflare-one/access-controls/service-cre
|
|
|
80594
80824
|
throw new Error("Failed to authenticate with Cloudflare Access");
|
|
80595
80825
|
}
|
|
80596
80826
|
__name$1(getAccessHeaders, "getAccessHeaders");
|
|
80597
|
-
function spawnCloudflaredAccessLogin(
|
|
80827
|
+
function spawnCloudflaredAccessLogin(loginTarget, signal) {
|
|
80598
80828
|
return new Promise((resolve$4, reject) => {
|
|
80599
80829
|
const child = spawn("cloudflared", [
|
|
80600
80830
|
"access",
|
|
80601
80831
|
"login",
|
|
80602
|
-
|
|
80832
|
+
loginTarget
|
|
80603
80833
|
], { signal });
|
|
80604
80834
|
const stdoutChunks = [];
|
|
80605
80835
|
child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
|
|
@@ -80949,6 +81179,14 @@ var ErrorUnknown = class extends ErrorOAuth2 {
|
|
|
80949
81179
|
return "ErrorUnknown";
|
|
80950
81180
|
}
|
|
80951
81181
|
};
|
|
81182
|
+
var ErrorAuthServerUnreachable = class extends ErrorOAuth2 {
|
|
81183
|
+
static {
|
|
81184
|
+
__name$1(this, "ErrorAuthServerUnreachable");
|
|
81185
|
+
}
|
|
81186
|
+
toString() {
|
|
81187
|
+
return "ErrorAuthServerUnreachable";
|
|
81188
|
+
}
|
|
81189
|
+
};
|
|
80952
81190
|
var ErrorNoAuthCode = class extends ErrorOAuth2 {
|
|
80953
81191
|
static {
|
|
80954
81192
|
__name$1(this, "ErrorNoAuthCode");
|
|
@@ -81258,7 +81496,12 @@ async function fetchAuthToken(body, logger$2, isNonInteractiveOrCI2) {
|
|
|
81258
81496
|
return response;
|
|
81259
81497
|
} catch (e) {
|
|
81260
81498
|
logger$2.debug("Failed to fetch auth token:", e);
|
|
81261
|
-
|
|
81499
|
+
const cause = e?.cause;
|
|
81500
|
+
const code = typeof cause?.code === "string" ? ` (${cause.code})` : "";
|
|
81501
|
+
throw new ErrorAuthServerUnreachable(`Could not reach the Cloudflare auth server at ${getTokenUrlFromEnv()}${code}.`, {
|
|
81502
|
+
cause: e,
|
|
81503
|
+
telemetryMessage: "user oauth token endpoint unreachable"
|
|
81504
|
+
});
|
|
81262
81505
|
}
|
|
81263
81506
|
}
|
|
81264
81507
|
__name$1(fetchAuthToken, "fetchAuthToken");
|
|
@@ -81709,10 +81952,10 @@ function createOAuthFlow(ctx) {
|
|
|
81709
81952
|
refresh_token,
|
|
81710
81953
|
scopes
|
|
81711
81954
|
});
|
|
81712
|
-
return
|
|
81955
|
+
return "refreshed";
|
|
81713
81956
|
} catch (e) {
|
|
81714
81957
|
ctx.logger.debug(`Token refresh failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
81715
|
-
return
|
|
81958
|
+
return e instanceof ErrorAuthServerUnreachable ? "unreachable" : "rejected";
|
|
81716
81959
|
}
|
|
81717
81960
|
}
|
|
81718
81961
|
__name$1(refreshToken, "refreshToken");
|
|
@@ -81733,7 +81976,12 @@ function createOAuthFlow(ctx) {
|
|
|
81733
81976
|
reason: "no-credentials-login-failed"
|
|
81734
81977
|
};
|
|
81735
81978
|
} else if (isRefreshNeeded(props.profile)) {
|
|
81736
|
-
|
|
81979
|
+
const refreshed = await refreshToken(props.profile);
|
|
81980
|
+
if (refreshed === "refreshed") return { loggedIn: true };
|
|
81981
|
+
if (refreshed === "unreachable") return {
|
|
81982
|
+
loggedIn: false,
|
|
81983
|
+
reason: "token-refresh-unreachable"
|
|
81984
|
+
};
|
|
81737
81985
|
if (ctx.isNonInteractiveOrCI()) return {
|
|
81738
81986
|
loggedIn: false,
|
|
81739
81987
|
reason: "token-expired-non-interactive"
|
|
@@ -81778,7 +82026,7 @@ function createOAuthFlow(ctx) {
|
|
|
81778
82026
|
});
|
|
81779
82027
|
if (!stored.accessToken) return;
|
|
81780
82028
|
if (stored.accessToken && /* @__PURE__ */ new Date() >= new Date(stored.accessToken.expiry)) {
|
|
81781
|
-
if (
|
|
82029
|
+
if (await refreshToken() !== "refreshed") return;
|
|
81782
82030
|
stored = readStoredAuthState({
|
|
81783
82031
|
warningLogger: ctx.logger,
|
|
81784
82032
|
storage: getStorage()
|
|
@@ -82860,7 +83108,7 @@ function scrubEncryptedCredentials(options) {
|
|
|
82860
83108
|
__name$1(scrubEncryptedCredentials, "scrubEncryptedCredentials");
|
|
82861
83109
|
|
|
82862
83110
|
//#endregion
|
|
82863
|
-
//#region ../workers-auth/dist/chunk-
|
|
83111
|
+
//#region ../workers-auth/dist/chunk-VVLCNASF.mjs
|
|
82864
83112
|
createRequire(import.meta.url || (typeof __filename === "string" ? __filename : "/"));
|
|
82865
83113
|
function createPreferences(getConfigPath) {
|
|
82866
83114
|
function getUserPreferencesPath() {
|
|
@@ -83563,7 +83811,8 @@ function notLoggedInErrorBodies(loginCommand) {
|
|
|
83563
83811
|
"no-credentials-non-interactive": `Could not authenticate because no credentials were found and the environment is non-interactive. Set a CLOUDFLARE_API_TOKEN environment variable or run \`${loginCommand}\` in an interactive terminal first.`,
|
|
83564
83812
|
"no-credentials-login-failed": `No credentials were found and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again.`,
|
|
83565
83813
|
"token-expired-non-interactive": `Your auth token has expired and could not be refreshed, and the environment is non-interactive. Run \`${loginCommand}\` in an interactive terminal or set a CLOUDFLARE_API_TOKEN.`,
|
|
83566
|
-
"token-expired-login-failed": `Your auth token has expired and could not be refreshed, and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again
|
|
83814
|
+
"token-expired-login-failed": `Your auth token has expired and could not be refreshed, and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again.`,
|
|
83815
|
+
"token-refresh-unreachable": `Your auth token has expired and could not be refreshed because the Cloudflare auth server could not be reached. This is usually a network problem (connectivity, proxy, or IPv6), not an invalid login: your stored credentials were left unchanged. Check your connection and try again.`
|
|
83567
83816
|
};
|
|
83568
83817
|
}
|
|
83569
83818
|
__name$1(notLoggedInErrorBodies, "notLoggedInErrorBodies");
|
|
@@ -83793,6 +84042,7 @@ ${accounts.map((account) => ` \`${redactAccountName ? "(redacted)" : account.na
|
|
|
83793
84042
|
}
|
|
83794
84043
|
const result = await loginOrRefreshIfRequired(config$2);
|
|
83795
84044
|
if (!result.loggedIn) if (result.reason === "no-credentials-non-interactive" || result.reason === "token-expired-non-interactive") throw new UserError(`In a non-interactive environment, it's necessary to set a CLOUDFLARE_API_TOKEN environment variable for ${cliName} to work. Please go to https://developers.cloudflare.com/fundamentals/api/get-started/create-token/ for instructions on how to create an api token, and assign its value to CLOUDFLARE_API_TOKEN.`, { telemetryMessage: "user auth missing api token non interactive" });
|
|
84045
|
+
else if (result.reason === "token-refresh-unreachable") throw new UserError(NOT_LOGGED_IN_ERROR_BODIES[result.reason], { telemetryMessage: "user auth token refresh unreachable" });
|
|
83796
84046
|
else throw new UserError("Did not login, quitting...", { telemetryMessage: "user login cancelled" });
|
|
83797
84047
|
const accountId = await getOrSelectAccountId(config$2);
|
|
83798
84048
|
if (!accountId) throw new UserError("No account id found, quitting...", { telemetryMessage: "user auth missing account id" });
|
|
@@ -85381,7 +85631,7 @@ __name(createWorkerUploadForm, "createWorkerUploadForm");
|
|
|
85381
85631
|
//#endregion
|
|
85382
85632
|
//#region ../remote-bindings/dist/index.mjs
|
|
85383
85633
|
var import_undici = require_undici();
|
|
85384
|
-
var version$2 = "0.0.
|
|
85634
|
+
var version$2 = "0.0.38";
|
|
85385
85635
|
var NoDefaultValueProvided = class extends UserError {
|
|
85386
85636
|
constructor() {
|
|
85387
85637
|
super("This command cannot be run in a non-interactive context", { telemetryMessage: "remote bindings prompt default missing" });
|
|
@@ -85431,7 +85681,7 @@ function getRemoteBindingsAuthHook(auth, accountId, profileDir, logger$1$1) {
|
|
|
85431
85681
|
apiToken: remoteBindingsAuth.requireApiToken()
|
|
85432
85682
|
});
|
|
85433
85683
|
}
|
|
85434
|
-
var ProxyServerWorker_default = "// ../../node_modules/.pnpm/capnweb@0.5.0/node_modules/capnweb/dist/index-workers.js\nimport * as cfw from \"cloudflare:workers\";\nvar WORKERS_MODULE_SYMBOL = /* @__PURE__ */ Symbol(\"workers-module\");\nglobalThis[WORKERS_MODULE_SYMBOL] = cfw;\nif (!Symbol.dispose) {\n Symbol.dispose = /* @__PURE__ */ Symbol.for(\"dispose\");\n}\nif (!Symbol.asyncDispose) {\n Symbol.asyncDispose = /* @__PURE__ */ Symbol.for(\"asyncDispose\");\n}\nif (!Promise.withResolvers) {\n Promise.withResolvers = function() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n };\n}\nvar workersModule = globalThis[WORKERS_MODULE_SYMBOL];\nvar RpcTarget = workersModule ? workersModule.RpcTarget : class {\n};\nvar AsyncFunction = (async function() {\n}).constructor;\nfunction typeForRpc(value) {\n switch (typeof value) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return \"primitive\";\n case \"undefined\":\n return \"undefined\";\n case \"object\":\n case \"function\":\n break;\n case \"bigint\":\n return \"bigint\";\n default:\n return \"unsupported\";\n }\n if (value === null) {\n return \"primitive\";\n }\n let prototype = Object.getPrototypeOf(value);\n switch (prototype) {\n case Object.prototype:\n return \"object\";\n case Function.prototype:\n case AsyncFunction.prototype:\n return \"function\";\n case Array.prototype:\n return \"array\";\n case Date.prototype:\n return \"date\";\n case Uint8Array.prototype:\n return \"bytes\";\n case WritableStream.prototype:\n return \"writable\";\n case ReadableStream.prototype:\n return \"readable\";\n case Headers.prototype:\n return \"headers\";\n case Request.prototype:\n return \"request\";\n case Response.prototype:\n return \"response\";\n // TODO: All other structured clone types.\n case RpcStub.prototype:\n return \"stub\";\n case RpcPromise.prototype:\n return \"rpc-promise\";\n // TODO: Promise<T> or thenable\n default:\n if (workersModule) {\n if (prototype == workersModule.RpcStub.prototype || value instanceof workersModule.ServiceStub) {\n return \"rpc-target\";\n } else if (prototype == workersModule.RpcPromise.prototype || prototype == workersModule.RpcProperty.prototype) {\n return \"rpc-thenable\";\n }\n }\n if (value instanceof RpcTarget) {\n return \"rpc-target\";\n }\n if (value instanceof Error) {\n return \"error\";\n }\n return \"unsupported\";\n }\n}\nfunction mapNotLoaded() {\n throw new Error(\"RPC map() implementation was not loaded.\");\n}\nvar mapImpl = { applyMap: mapNotLoaded, sendMap: mapNotLoaded };\nfunction streamNotLoaded() {\n throw new Error(\"Stream implementation was not loaded.\");\n}\nvar streamImpl = {\n createWritableStreamHook: streamNotLoaded,\n createWritableStreamFromHook: streamNotLoaded,\n createReadableStreamHook: streamNotLoaded\n};\nvar StubHook = class {\n // Like call(), but designed for streaming calls (e.g. WritableStream writes). Returns:\n // - promise: A Promise<void> for the completion of the call.\n // - size: If the call was remote, the byte size of the serialized message. For local calls,\n // undefined is returned, indicating the caller should await the promise to serialize writes\n // (no overlapping).\n stream(path, args) {\n let hook = this.call(path, args);\n let pulled = hook.pull();\n let promise;\n if (pulled instanceof Promise) {\n promise = pulled.then((p) => {\n p.dispose();\n });\n } else {\n pulled.dispose();\n promise = Promise.resolve();\n }\n return { promise };\n }\n};\nvar ErrorStubHook = class extends StubHook {\n constructor(error) {\n super();\n this.error = error;\n }\n call(path, args) {\n return this;\n }\n map(path, captures, instructions) {\n return this;\n }\n get(path) {\n return this;\n }\n dup() {\n return this;\n }\n pull() {\n return Promise.reject(this.error);\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n }\n onBroken(callback) {\n try {\n callback(this.error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n};\nvar DISPOSED_HOOK = new ErrorStubHook(\n new Error(\"Attempted to use RPC stub after it has been disposed.\")\n);\nvar doCall = (hook, path, params) => {\n return hook.call(path, params);\n};\nfunction withCallInterceptor(interceptor, callback) {\n let oldValue = doCall;\n doCall = interceptor;\n try {\n return callback();\n } finally {\n doCall = oldValue;\n }\n}\nvar RAW_STUB = /* @__PURE__ */ Symbol(\"realStub\");\nvar PROXY_HANDLERS = {\n apply(target, thisArg, argumentsList) {\n let stub = target.raw;\n return new RpcPromise(doCall(\n stub.hook,\n stub.pathIfPromise || [],\n RpcPayload.fromAppParams(argumentsList)\n ), []);\n },\n get(target, prop, receiver) {\n let stub = target.raw;\n if (prop === RAW_STUB) {\n return stub;\n } else if (prop in RpcPromise.prototype) {\n return stub[prop];\n } else if (typeof prop === \"string\") {\n return new RpcPromise(\n stub.hook,\n stub.pathIfPromise ? [...stub.pathIfPromise, prop] : [prop]\n );\n } else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) {\n return () => {\n stub.hook.dispose();\n stub.hook = DISPOSED_HOOK;\n };\n } else {\n return void 0;\n }\n },\n has(target, prop) {\n let stub = target.raw;\n if (prop === RAW_STUB) {\n return true;\n } else if (prop in RpcPromise.prototype) {\n return prop in stub;\n } else if (typeof prop === \"string\") {\n return true;\n } else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) {\n return true;\n } else {\n return false;\n }\n },\n construct(target, args) {\n throw new Error(\"An RPC stub cannot be used as a constructor.\");\n },\n defineProperty(target, property, attributes) {\n throw new Error(\"Can't define properties on RPC stubs.\");\n },\n deleteProperty(target, p) {\n throw new Error(\"Can't delete properties on RPC stubs.\");\n },\n getOwnPropertyDescriptor(target, p) {\n return void 0;\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.raw);\n },\n isExtensible(target) {\n return false;\n },\n ownKeys(target) {\n return [];\n },\n preventExtensions(target) {\n return true;\n },\n set(target, p, newValue, receiver) {\n throw new Error(\"Can't assign properties on RPC stubs.\");\n },\n setPrototypeOf(target, v) {\n throw new Error(\"Can't override prototype of RPC stubs.\");\n }\n};\nvar RpcStub = class _RpcStub extends RpcTarget {\n // Although `hook` and `path` are declared `public` here, they are effectively hidden by the\n // proxy.\n constructor(hook, pathIfPromise) {\n super();\n if (!(hook instanceof StubHook)) {\n let value = hook;\n if (value instanceof RpcTarget || value instanceof Function) {\n hook = TargetStubHook.create(value, void 0);\n } else {\n hook = new PayloadStubHook(RpcPayload.fromAppReturn(value));\n }\n if (pathIfPromise) {\n throw new TypeError(\"RpcStub constructor expected one argument, received two.\");\n }\n }\n this.hook = hook;\n this.pathIfPromise = pathIfPromise;\n let func = () => {\n };\n func.raw = this;\n return new Proxy(func, PROXY_HANDLERS);\n }\n hook;\n pathIfPromise;\n dup() {\n let target = this[RAW_STUB];\n if (target.pathIfPromise) {\n return new _RpcStub(target.hook.get(target.pathIfPromise));\n } else {\n return new _RpcStub(target.hook.dup());\n }\n }\n onRpcBroken(callback) {\n this[RAW_STUB].hook.onBroken(callback);\n }\n map(func) {\n let { hook, pathIfPromise } = this[RAW_STUB];\n return mapImpl.sendMap(hook, pathIfPromise || [], func);\n }\n toString() {\n return \"[object RpcStub]\";\n }\n};\nvar RpcPromise = class extends RpcStub {\n // TODO: Support passing target value or promise to constructor.\n constructor(hook, pathIfPromise) {\n super(hook, pathIfPromise);\n }\n then(onfulfilled, onrejected) {\n return pullPromise(this).then(...arguments);\n }\n catch(onrejected) {\n return pullPromise(this).catch(...arguments);\n }\n finally(onfinally) {\n return pullPromise(this).finally(...arguments);\n }\n toString() {\n return \"[object RpcPromise]\";\n }\n};\nfunction unwrapStubTakingOwnership(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) {\n return hook.get(pathIfPromise);\n } else {\n return hook;\n }\n}\nfunction unwrapStubAndDup(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise) {\n return hook.get(pathIfPromise);\n } else {\n return hook.dup();\n }\n}\nfunction unwrapStubNoProperties(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) {\n return void 0;\n }\n return hook;\n}\nfunction unwrapStubOrParent(stub) {\n return stub[RAW_STUB].hook;\n}\nfunction unwrapStubAndPath(stub) {\n return stub[RAW_STUB];\n}\nasync function pullPromise(promise) {\n let { hook, pathIfPromise } = promise[RAW_STUB];\n if (pathIfPromise.length > 0) {\n hook = hook.get(pathIfPromise);\n }\n let payload = await hook.pull();\n return payload.deliverResolve();\n}\nvar RpcPayload = class _RpcPayload {\n // Private constructor; use factory functions above to construct.\n constructor(value, source, hooks, promises) {\n this.value = value;\n this.source = source;\n this.hooks = hooks;\n this.promises = promises;\n }\n // Create a payload from a value passed as params to an RPC from the app.\n //\n // The payload does NOT take ownership of any stubs in `value`, and but promises not to modify\n // `value`. If the payload is delivered locally, `value` will be deep-copied first, so as not\n // to have the sender and recipient end up sharing the same mutable object. `value` will not be\n // touched again after the call returns synchronously (returns a promise) -- by that point,\n // the value has either been copied or serialized to the wire.\n static fromAppParams(value) {\n return new _RpcPayload(value, \"params\");\n }\n // Create a payload from a value return from an RPC implementation by the app.\n //\n // Unlike fromAppParams(), in this case the payload takes ownership of all stubs in `value`, and\n // may hold onto `value` for an arbitrarily long time (e.g. to serve pipelined requests). It\n // will still avoid modifying `value` and will make a deep copy if it is delivered locally.\n static fromAppReturn(value) {\n return new _RpcPayload(value, \"return\");\n }\n // Combine an array of payloads into a single payload whose value is an array. Ownership of all\n // stubs is transferred from the inputs to the outputs, hence if the output is disposed, the\n // inputs should not be. (In case of exception, nothing is disposed, though.)\n static fromArray(array) {\n let hooks = [];\n let promises = [];\n let resultArray = [];\n for (let payload of array) {\n payload.ensureDeepCopied();\n for (let hook of payload.hooks) {\n hooks.push(hook);\n }\n for (let promise of payload.promises) {\n if (promise.parent === payload) {\n promise = {\n parent: resultArray,\n property: resultArray.length,\n promise: promise.promise\n };\n }\n promises.push(promise);\n }\n resultArray.push(payload.value);\n }\n return new _RpcPayload(resultArray, \"owned\", hooks, promises);\n }\n // Create a payload from a value parsed off the wire using Evaluator.evaluate().\n //\n // A payload is constructed with a null value and the given hooks and promises arrays. The value\n // is expected to be filled in by the evaluator, and the hooks and promises arrays are expected\n // to be extended with stubs found during parsing. (This weird usage model is necessary so that\n // if the root value turns out to be a promise, its `parent` in `promises` can be the payload\n // object itself.)\n //\n // When done, the payload takes ownership of the final value and all the stubs within. It may\n // modify the value in preparation for delivery, and may deliver the value directly to the app\n // without copying.\n static forEvaluate(hooks, promises) {\n return new _RpcPayload(null, \"owned\", hooks, promises);\n }\n // Deep-copy the given value, including dup()ing all stubs.\n //\n // If `value` is a function, it should be bound to `oldParent` as its `this`.\n //\n // If deep-copying from a branch of some other RpcPayload, it must be provided, to make sure\n // RpcTargets found within don't get duplicate stubs.\n static deepCopyFrom(value, oldParent, owner) {\n let result = new _RpcPayload(null, \"owned\", [], []);\n result.value = result.deepCopy(\n value,\n oldParent,\n \"value\",\n result,\n /*dupStubs=*/\n true,\n owner\n );\n return result;\n }\n // For `source === \"return\"` payloads only, this tracks any StubHooks created around RpcTargets\n // or WritableStreams found in the payload at the time that it is serialized (or deep-copied) for\n // return, so that we can make sure they are not disposed before the pipeline ends.\n //\n // This is initialized on first use.\n rpcTargets;\n // Get the StubHook representing the given RpcTarget found inside this payload.\n getHookForRpcTarget(target, parent, dupStubs = true) {\n if (this.source === \"params\") {\n if (dupStubs) {\n let dupable = target;\n if (typeof dupable.dup === \"function\") {\n target = dupable.dup();\n }\n }\n return TargetStubHook.create(target, parent);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(target);\n return hook;\n }\n } else {\n hook = TargetStubHook.create(target, parent);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(target, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw RpcTargets\");\n }\n }\n // Get the StubHook representing the given WritableStream found inside this payload.\n getHookForWritableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") {\n return streamImpl.createWritableStreamHook(stream);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw WritableStreams\");\n }\n }\n // Get the StubHook representing the given ReadableStream found inside this payload.\n getHookForReadableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") {\n return streamImpl.createReadableStreamHook(stream);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw ReadableStreams\");\n }\n }\n deepCopy(value, oldParent, property, parent, dupStubs, owner) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n return value;\n case \"primitive\":\n case \"bigint\":\n case \"date\":\n case \"bytes\":\n case \"error\":\n case \"undefined\":\n return value;\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) {\n result[i] = this.deepCopy(array[i], array, i, result, dupStubs, owner);\n }\n return result;\n }\n case \"object\": {\n let result = {};\n let object = value;\n for (let i in object) {\n result[i] = this.deepCopy(object[i], object, i, result, dupStubs, owner);\n }\n return result;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook;\n if (dupStubs) {\n hook = unwrapStubAndDup(stub);\n } else {\n hook = unwrapStubTakingOwnership(stub);\n }\n if (stub instanceof RpcPromise) {\n let promise = new RpcPromise(hook, []);\n this.promises.push({ parent, property, promise });\n return promise;\n } else {\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook;\n if (owner) {\n hook = owner.getHookForRpcTarget(target, oldParent, dupStubs);\n } else {\n hook = TargetStubHook.create(target, oldParent);\n }\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n case \"rpc-thenable\": {\n let target = value;\n let promise;\n if (owner) {\n promise = new RpcPromise(owner.getHookForRpcTarget(target, oldParent, dupStubs), []);\n } else {\n promise = new RpcPromise(TargetStubHook.create(target, oldParent), []);\n }\n this.promises.push({ parent, property, promise });\n return promise;\n }\n case \"writable\": {\n let stream = value;\n let hook;\n if (owner) {\n hook = owner.getHookForWritableStream(stream, oldParent, dupStubs);\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n }\n this.hooks.push(hook);\n return stream;\n }\n case \"readable\": {\n let stream = value;\n let hook;\n if (owner) {\n hook = owner.getHookForReadableStream(stream, oldParent, dupStubs);\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n }\n this.hooks.push(hook);\n return stream;\n }\n case \"headers\":\n return new Headers(value);\n case \"request\": {\n let req = value;\n if (req.body) {\n this.deepCopy(req.body, req, \"body\", req, dupStubs, owner);\n }\n return new Request(req);\n }\n case \"response\": {\n let resp = value;\n if (resp.body) {\n this.deepCopy(resp.body, resp, \"body\", resp, dupStubs, owner);\n }\n return new Response(resp.body, resp);\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n // Ensures that if the value originally came from an unowned source, we have replaced it with a\n // deep copy.\n ensureDeepCopied() {\n if (this.source !== \"owned\") {\n let dupStubs = this.source === \"params\";\n this.hooks = [];\n this.promises = [];\n try {\n this.value = this.deepCopy(this.value, void 0, \"value\", this, dupStubs, this);\n } catch (err) {\n this.hooks = void 0;\n this.promises = void 0;\n throw err;\n }\n this.source = \"owned\";\n if (this.rpcTargets && this.rpcTargets.size > 0) {\n throw new Error(\"Not all rpcTargets were accounted for in deep-copy?\");\n }\n this.rpcTargets = void 0;\n }\n }\n // Resolve all promises in this payload and then assign the final value into `parent[property]`.\n deliverTo(parent, property, promises) {\n this.ensureDeepCopied();\n if (this.value instanceof RpcPromise) {\n _RpcPayload.deliverRpcPromiseTo(this.value, parent, property, promises);\n } else {\n parent[property] = this.value;\n for (let record of this.promises) {\n _RpcPayload.deliverRpcPromiseTo(record.promise, record.parent, record.property, promises);\n }\n }\n }\n static deliverRpcPromiseTo(promise, parent, property, promises) {\n let hook = unwrapStubNoProperties(promise);\n if (!hook) {\n throw new Error(\"property promises should have been resolved earlier\");\n }\n let inner = hook.pull();\n if (inner instanceof _RpcPayload) {\n inner.deliverTo(parent, property, promises);\n } else {\n promises.push(inner.then((payload) => {\n let subPromises = [];\n payload.deliverTo(parent, property, subPromises);\n if (subPromises.length > 0) {\n return Promise.all(subPromises);\n }\n }));\n }\n }\n // Call the given function with the payload as an argument. The call is made synchronously if\n // possible, in order to maintain e-order. However, if any RpcPromises exist in the payload,\n // they are awaited and substituted before calling the function. The result of the call is\n // wrapped into another payload.\n //\n // The payload is automatically disposed after the call completes. The caller should not call\n // dispose().\n async deliverCall(func, thisArg) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n let result = Function.prototype.apply.call(func, thisArg, this.value);\n if (result instanceof RpcPromise) {\n return _RpcPayload.fromAppReturn(result);\n } else {\n return _RpcPayload.fromAppReturn(await result);\n }\n } finally {\n this.dispose();\n }\n }\n // Produce a promise for this payload for return to the application. Any RpcPromises in the\n // payload are awaited and substituted with their results first.\n //\n // The returned object will have a disposer which disposes the payload. The caller should not\n // separately dispose it.\n async deliverResolve() {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n let result = this.value;\n if (result instanceof Object) {\n if (!(Symbol.dispose in result)) {\n Object.defineProperty(result, Symbol.dispose, {\n // NOTE: Using `this.dispose.bind(this)` here causes Playwright's build of\n // Chromium 140.0.7339.16 to fail when the object is assigned to a `using` variable,\n // with the error:\n // TypeError: Symbol(Symbol.dispose) is not a function\n // I cannot reproduce this problem in Chrome 140.0.7339.127 nor in Node or workerd,\n // so maybe it was a short-lived V8 bug or something. To be safe, though, we use\n // `() => this.dispose()`, which seems to always work.\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n }\n }\n return result;\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n dispose() {\n if (this.source === \"owned\") {\n this.hooks.forEach((hook) => hook.dispose());\n this.promises.forEach((promise) => promise.promise[Symbol.dispose]());\n } else if (this.source === \"return\") {\n this.disposeImpl(this.value, void 0);\n if (this.rpcTargets && this.rpcTargets.size > 0) {\n throw new Error(\"Not all rpcTargets were accounted for in disposeImpl()?\");\n }\n } else ;\n this.source = \"owned\";\n this.hooks = [];\n this.promises = [];\n }\n // Recursive dispose, called only when `source` is \"return\".\n disposeImpl(value, parent) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) {\n this.disposeImpl(array[i], array);\n }\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) {\n this.disposeImpl(object[i], object);\n }\n return;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook = unwrapStubNoProperties(stub);\n if (hook) {\n hook.dispose();\n }\n return;\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n hook.dispose();\n this.rpcTargets.delete(target);\n } else {\n disposeRpcTarget(target);\n }\n return;\n }\n case \"rpc-thenable\":\n return;\n case \"headers\":\n return;\n case \"request\": {\n let req = value;\n if (req.body) this.disposeImpl(req.body, req);\n return;\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.disposeImpl(resp.body, resp);\n return;\n }\n case \"writable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n this.rpcTargets.delete(stream);\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n }\n hook.dispose();\n return;\n }\n case \"readable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n this.rpcTargets.delete(stream);\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n }\n hook.dispose();\n return;\n }\n default:\n return;\n }\n }\n // Ignore unhandled rejections in all promises in this payload -- that is, all promises that\n // *would* be awaited if this payload were to be delivered. See the similarly-named method of\n // StubHook for explanation.\n ignoreUnhandledRejections() {\n if (this.hooks) {\n this.hooks.forEach((hook) => {\n hook.ignoreUnhandledRejections();\n });\n this.promises.forEach(\n (promise) => unwrapStubOrParent(promise.promise).ignoreUnhandledRejections()\n );\n } else {\n this.ignoreUnhandledRejectionsImpl(this.value);\n }\n }\n ignoreUnhandledRejectionsImpl(value) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n case \"function\":\n case \"rpc-target\":\n case \"writable\":\n case \"readable\":\n case \"headers\":\n case \"request\":\n case \"response\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) {\n this.ignoreUnhandledRejectionsImpl(array[i]);\n }\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) {\n this.ignoreUnhandledRejectionsImpl(object[i]);\n }\n return;\n }\n case \"stub\":\n case \"rpc-promise\":\n unwrapStubOrParent(value).ignoreUnhandledRejections();\n return;\n case \"rpc-thenable\":\n value.then((_) => {\n }, (_) => {\n });\n return;\n default:\n return;\n }\n }\n};\nfunction followPath(value, parent, path, owner) {\n for (let i = 0; i < path.length; i++) {\n parent = value;\n let part = path[i];\n if (part in Object.prototype) {\n value = void 0;\n continue;\n }\n let kind = typeForRpc(value);\n switch (kind) {\n case \"object\":\n case \"function\":\n if (Object.hasOwn(value, part)) {\n value = value[part];\n } else {\n value = void 0;\n }\n break;\n case \"array\":\n if (Number.isInteger(part) && part >= 0) {\n value = value[part];\n } else {\n value = void 0;\n }\n break;\n case \"rpc-target\":\n case \"rpc-thenable\": {\n if (Object.hasOwn(value, part)) {\n throw new TypeError(\n `Attempted to access property '${part}', which is an instance property of the RpcTarget. To avoid leaking private internals, instance properties cannot be accessed over RPC. If you want to make this property available over RPC, define it as a method or getter on the class, instead of an instance property.`\n );\n } else {\n value = value[part];\n }\n owner = null;\n break;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return { hook, remainingPath: pathIfPromise ? pathIfPromise.concat(path.slice(i)) : path.slice(i) };\n }\n case \"writable\":\n value = void 0;\n break;\n case \"readable\":\n value = void 0;\n break;\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"headers\":\n case \"request\":\n case \"response\":\n value = void 0;\n break;\n case \"undefined\":\n value = value[part];\n break;\n case \"unsupported\": {\n if (i === 0) {\n throw new TypeError(`RPC stub points at a non-serializable type.`);\n } else {\n let prefix = path.slice(0, i).join(\".\");\n let remainder = path.slice(0, i).join(\".\");\n throw new TypeError(\n `'${prefix}' is not a serializable type, so property ${remainder} cannot be accessed.`\n );\n }\n }\n default:\n throw new TypeError(\"unreachable\");\n }\n }\n if (value instanceof RpcPromise) {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return { hook, remainingPath: pathIfPromise || [] };\n }\n return {\n value,\n parent,\n owner\n };\n}\nvar ValueStubHook = class extends StubHook {\n call(path, args) {\n try {\n let { value, owner } = this.getValue();\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) {\n return followResult.hook.call(followResult.remainingPath, args);\n }\n if (typeof followResult.value != \"function\") {\n throw new TypeError(`'${path.join(\".\")}' is not a function.`);\n }\n let promise = args.deliverCall(followResult.value, followResult.parent);\n return new PromiseStubHook(promise.then((payload) => {\n return new PayloadStubHook(payload);\n }));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n try {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n ;\n } catch (err) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n if (followResult.hook) {\n return followResult.hook.map(followResult.remainingPath, captures, instructions);\n }\n return mapImpl.applyMap(\n followResult.value,\n followResult.parent,\n followResult.owner,\n captures,\n instructions\n );\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n get(path) {\n try {\n let { value, owner } = this.getValue();\n if (path.length === 0 && owner === null) {\n throw new Error(\"Can't dup an RpcTarget stub as a promise.\");\n }\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) {\n return followResult.hook.get(followResult.remainingPath);\n }\n return new PayloadStubHook(RpcPayload.deepCopyFrom(\n followResult.value,\n followResult.parent,\n followResult.owner\n ));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n};\nvar PayloadStubHook = class _PayloadStubHook extends ValueStubHook {\n constructor(payload) {\n super();\n this.payload = payload;\n }\n payload;\n // cleared when disposed\n getPayload() {\n if (this.payload) {\n return this.payload;\n } else {\n throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n }\n getValue() {\n let payload = this.getPayload();\n return { value: payload.value, owner: payload };\n }\n dup() {\n let thisPayload = this.getPayload();\n return new _PayloadStubHook(RpcPayload.deepCopyFrom(\n thisPayload.value,\n void 0,\n thisPayload\n ));\n }\n pull() {\n return this.getPayload();\n }\n ignoreUnhandledRejections() {\n if (this.payload) {\n this.payload.ignoreUnhandledRejections();\n }\n }\n dispose() {\n if (this.payload) {\n this.payload.dispose();\n this.payload = void 0;\n }\n }\n onBroken(callback) {\n if (this.payload) {\n if (this.payload.value instanceof RpcStub) {\n this.payload.value.onRpcBroken(callback);\n }\n }\n }\n};\nfunction disposeRpcTarget(target) {\n if (Symbol.dispose in target) {\n try {\n target[Symbol.dispose]();\n } catch (err) {\n Promise.reject(err);\n }\n }\n}\nvar TargetStubHook = class _TargetStubHook extends ValueStubHook {\n // Constructs a TargetStubHook that is not duplicated from an existing hook.\n //\n // If `value` is a function, `parent` is bound as its \"this\".\n static create(value, parent) {\n if (typeof value !== \"function\") {\n parent = void 0;\n }\n return new _TargetStubHook(value, parent);\n }\n constructor(target, parent, dupFrom) {\n super();\n this.target = target;\n this.parent = parent;\n if (dupFrom) {\n if (dupFrom.refcount) {\n this.refcount = dupFrom.refcount;\n ++this.refcount.count;\n }\n } else if (Symbol.dispose in target) {\n this.refcount = { count: 1 };\n }\n }\n target;\n // cleared when disposed\n parent;\n // `this` parameter when calling `target`\n refcount;\n // undefined if not needed (because target has no disposer)\n getTarget() {\n if (this.target) {\n return this.target;\n } else {\n throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n }\n getValue() {\n return { value: this.getTarget(), owner: null };\n }\n dup() {\n return new _TargetStubHook(this.getTarget(), this.parent, this);\n }\n pull() {\n let target = this.getTarget();\n if (\"then\" in target) {\n return Promise.resolve(target).then((resolution) => {\n return RpcPayload.fromAppReturn(resolution);\n });\n } else {\n return Promise.reject(new Error(\"Tried to resolve a non-promise stub.\"));\n }\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n if (this.target) {\n if (this.refcount) {\n if (--this.refcount.count == 0) {\n disposeRpcTarget(this.target);\n }\n }\n this.target = void 0;\n }\n }\n onBroken(callback) {\n }\n};\nvar PromiseStubHook = class _PromiseStubHook extends StubHook {\n promise;\n resolution;\n constructor(promise) {\n super();\n this.promise = promise.then((res) => {\n this.resolution = res;\n return res;\n });\n }\n call(path, args) {\n args.ensureDeepCopied();\n return new _PromiseStubHook(this.promise.then((hook) => hook.call(path, args)));\n }\n stream(path, args) {\n args.ensureDeepCopied();\n let promise = this.promise.then((hook) => {\n let result = hook.stream(path, args);\n return result.promise;\n });\n return { promise };\n }\n map(path, captures, instructions) {\n return new _PromiseStubHook(this.promise.then(\n (hook) => hook.map(path, captures, instructions),\n (err) => {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n ));\n }\n get(path) {\n return new _PromiseStubHook(this.promise.then((hook) => hook.get(path)));\n }\n dup() {\n if (this.resolution) {\n return this.resolution.dup();\n } else {\n return new _PromiseStubHook(this.promise.then((hook) => hook.dup()));\n }\n }\n pull() {\n if (this.resolution) {\n return this.resolution.pull();\n } else {\n return this.promise.then((hook) => hook.pull());\n }\n }\n ignoreUnhandledRejections() {\n if (this.resolution) {\n this.resolution.ignoreUnhandledRejections();\n } else {\n this.promise.then((res) => {\n res.ignoreUnhandledRejections();\n }, (err) => {\n });\n }\n }\n dispose() {\n if (this.resolution) {\n this.resolution.dispose();\n } else {\n this.promise.then((hook) => {\n hook.dispose();\n }, (err) => {\n });\n }\n }\n onBroken(callback) {\n if (this.resolution) {\n this.resolution.onBroken(callback);\n } else {\n this.promise.then((hook) => {\n hook.onBroken(callback);\n }, callback);\n }\n }\n};\nvar NullExporter = class {\n exportStub(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n exportPromise(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n getImport(hook) {\n return void 0;\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot create pipes without an RPC session.\");\n }\n onSendError(error) {\n }\n};\nvar NULL_EXPORTER = new NullExporter();\nvar ERROR_TYPES = {\n Error,\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n AggregateError\n // TODO: DOMError? Others?\n};\nvar Devaluator = class _Devaluator {\n constructor(exporter, source) {\n this.exporter = exporter;\n this.source = source;\n }\n // Devaluate the given value.\n // * value: The value to devaluate.\n // * parent: The value's parent object, which would be used as `this` if the value were called\n // as a function.\n // * exporter: Callbacks to the RPC session for exporting capabilities found in this message.\n // * source: The RpcPayload which contains the value, and therefore owns stubs within.\n //\n // Returns: The devaluated value, ready to be JSON-serialized.\n static devaluate(value, parent, exporter = NULL_EXPORTER, source) {\n let devaluator = new _Devaluator(exporter, source);\n try {\n return devaluator.devaluateImpl(value, parent, 0);\n } catch (err) {\n if (devaluator.exports) {\n try {\n exporter.unexport(devaluator.exports);\n } catch (err2) {\n }\n }\n throw err;\n }\n }\n exports;\n devaluateImpl(value, parent, depth) {\n if (depth >= 64) {\n throw new Error(\n \"Serialization exceeded maximum allowed depth. (Does the message contain cycles?)\"\n );\n }\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\": {\n let msg;\n try {\n msg = `Cannot serialize value: ${value}`;\n } catch (err) {\n msg = \"Cannot serialize value: (couldn't stringify value)\";\n }\n throw new TypeError(msg);\n }\n case \"primitive\":\n if (typeof value === \"number\" && !isFinite(value)) {\n if (value === Infinity) {\n return [\"inf\"];\n } else if (value === -Infinity) {\n return [\"-inf\"];\n } else {\n return [\"nan\"];\n }\n } else {\n return value;\n }\n case \"object\": {\n let object = value;\n let result = {};\n for (let key in object) {\n result[key] = this.devaluateImpl(object[key], object, depth + 1);\n }\n return result;\n }\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) {\n result[i] = this.devaluateImpl(array[i], array, depth + 1);\n }\n return [result];\n }\n case \"bigint\":\n return [\"bigint\", value.toString()];\n case \"date\":\n return [\"date\", value.getTime()];\n case \"bytes\": {\n let bytes = value;\n if (bytes.toBase64) {\n return [\"bytes\", bytes.toBase64({ omitPadding: true })];\n } else {\n return [\n \"bytes\",\n btoa(String.fromCharCode.apply(null, bytes).replace(/=*$/, \"\"))\n ];\n }\n }\n case \"headers\":\n return [\"headers\", [...value]];\n case \"request\": {\n let req = value;\n let init = {};\n if (req.method !== \"GET\") init.method = req.method;\n let headers = [...req.headers];\n if (headers.length > 0) {\n init.headers = headers;\n }\n if (req.body) {\n init.body = this.devaluateImpl(req.body, req, depth + 1);\n init.duplex = req.duplex || \"half\";\n } else if (req.body === void 0 && ![\"GET\", \"HEAD\", \"OPTIONS\", \"TRACE\", \"DELETE\"].includes(req.method)) {\n let bodyPromise = req.arrayBuffer();\n let readable = new ReadableStream({\n async start(controller) {\n try {\n controller.enqueue(new Uint8Array(await bodyPromise));\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n }\n });\n let hook = streamImpl.createReadableStreamHook(readable);\n let importId = this.exporter.createPipe(readable, hook);\n init.body = [\"readable\", importId];\n init.duplex = req.duplex || \"half\";\n }\n if (req.cache && req.cache !== \"default\") init.cache = req.cache;\n if (req.redirect !== \"follow\") init.redirect = req.redirect;\n if (req.integrity) init.integrity = req.integrity;\n if (req.mode && req.mode !== \"cors\") init.mode = req.mode;\n if (req.credentials && req.credentials !== \"same-origin\") {\n init.credentials = req.credentials;\n }\n if (req.referrer && req.referrer !== \"about:client\") init.referrer = req.referrer;\n if (req.referrerPolicy) init.referrerPolicy = req.referrerPolicy;\n if (req.keepalive) init.keepalive = req.keepalive;\n let cfReq = req;\n if (cfReq.cf) init.cf = cfReq.cf;\n if (cfReq.encodeResponseBody && cfReq.encodeResponseBody !== \"automatic\") {\n init.encodeResponseBody = cfReq.encodeResponseBody;\n }\n return [\"request\", req.url, init];\n }\n case \"response\": {\n let resp = value;\n let body = this.devaluateImpl(resp.body, resp, depth + 1);\n let init = {};\n if (resp.status !== 200) init.status = resp.status;\n if (resp.statusText) init.statusText = resp.statusText;\n let headers = [...resp.headers];\n if (headers.length > 0) {\n init.headers = headers;\n }\n let cfResp = resp;\n if (cfResp.cf) init.cf = cfResp.cf;\n if (cfResp.encodeBody && cfResp.encodeBody !== \"automatic\") {\n init.encodeBody = cfResp.encodeBody;\n }\n if (cfResp.webSocket) {\n throw new TypeError(\"Can't serialize a Response containing a webSocket.\");\n }\n return [\"response\", body, init];\n }\n case \"error\": {\n let e = value;\n let rewritten = this.exporter.onSendError(e);\n if (rewritten) {\n e = rewritten;\n }\n let result = [\"error\", e.name, e.message];\n if (rewritten && rewritten.stack) {\n result.push(rewritten.stack);\n }\n return result;\n }\n case \"undefined\":\n return [\"undefined\"];\n case \"stub\":\n case \"rpc-promise\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n let importId = this.exporter.getImport(hook);\n if (importId !== void 0) {\n if (pathIfPromise) {\n if (pathIfPromise.length > 0) {\n return [\"pipeline\", importId, pathIfPromise];\n } else {\n return [\"pipeline\", importId];\n }\n } else {\n return [\"import\", importId];\n }\n }\n if (pathIfPromise) {\n hook = hook.get(pathIfPromise);\n } else {\n hook = hook.dup();\n }\n return this.devaluateHook(pathIfPromise ? \"promise\" : \"export\", hook);\n }\n case \"function\":\n case \"rpc-target\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"export\", hook);\n }\n case \"rpc-thenable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"promise\", hook);\n }\n case \"writable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize WritableStream in this context.\");\n }\n let hook = this.source.getHookForWritableStream(value, parent);\n return this.devaluateHook(\"writable\", hook);\n }\n case \"readable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize ReadableStream in this context.\");\n }\n let ws = value;\n let hook = this.source.getHookForReadableStream(ws, parent);\n let importId = this.exporter.createPipe(ws, hook);\n return [\"readable\", importId];\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n devaluateHook(type, hook) {\n if (!this.exports) this.exports = [];\n let exportId = type === \"promise\" ? this.exporter.exportPromise(hook) : this.exporter.exportStub(hook);\n this.exports.push(exportId);\n return [type, exportId];\n }\n};\nvar NullImporter = class {\n importStub(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n importPromise(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n getExport(idx) {\n return void 0;\n }\n getPipeReadable(exportId) {\n throw new Error(\"Cannot retrieve pipe readable without an RPC session.\");\n }\n};\nvar NULL_IMPORTER = new NullImporter();\nfunction fixBrokenRequestBody(request, body) {\n let promise = new Response(body).arrayBuffer().then((arrayBuffer) => {\n let bytes = new Uint8Array(arrayBuffer);\n let result = new Request(request, { body: bytes });\n return new PayloadStubHook(RpcPayload.fromAppReturn(result));\n });\n return new RpcPromise(new PromiseStubHook(promise), []);\n}\nvar Evaluator = class _Evaluator {\n constructor(importer) {\n this.importer = importer;\n }\n hooks = [];\n promises = [];\n evaluate(value) {\n let payload = RpcPayload.forEvaluate(this.hooks, this.promises);\n try {\n payload.value = this.evaluateImpl(value, payload, \"value\");\n return payload;\n } catch (err) {\n payload.dispose();\n throw err;\n }\n }\n // Evaluate the value without destroying it.\n evaluateCopy(value) {\n return this.evaluate(structuredClone(value));\n }\n evaluateImpl(value, parent, property) {\n if (value instanceof Array) {\n if (value.length == 1 && value[0] instanceof Array) {\n let result = value[0];\n for (let i = 0; i < result.length; i++) {\n result[i] = this.evaluateImpl(result[i], result, i);\n }\n return result;\n } else switch (value[0]) {\n case \"bigint\":\n if (typeof value[1] == \"string\") {\n return BigInt(value[1]);\n }\n break;\n case \"date\":\n if (typeof value[1] == \"number\") {\n return new Date(value[1]);\n }\n break;\n case \"bytes\": {\n let b64 = Uint8Array;\n if (typeof value[1] == \"string\") {\n if (b64.fromBase64) {\n return b64.fromBase64(value[1]);\n } else {\n let bs = atob(value[1]);\n let len = bs.length;\n let bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = bs.charCodeAt(i);\n }\n return bytes;\n }\n }\n break;\n }\n case \"error\":\n if (value.length >= 3 && typeof value[1] === \"string\" && typeof value[2] === \"string\") {\n let cls = ERROR_TYPES[value[1]] || Error;\n let result = new cls(value[2]);\n if (typeof value[3] === \"string\") {\n result.stack = value[3];\n }\n return result;\n }\n break;\n case \"undefined\":\n if (value.length === 1) {\n return void 0;\n }\n break;\n case \"inf\":\n return Infinity;\n case \"-inf\":\n return -Infinity;\n case \"nan\":\n return NaN;\n case \"headers\":\n if (value.length === 2 && value[1] instanceof Array) {\n return new Headers(value[1]);\n }\n break;\n case \"request\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let url = value[1];\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.body) {\n init.body = this.evaluateImpl(init.body, init, \"body\");\n if (init.body === null || typeof init.body === \"string\" || init.body instanceof Uint8Array || init.body instanceof ReadableStream) ;\n else {\n throw new TypeError(\"Request body must be of type ReadableStream.\");\n }\n }\n if (init.signal) {\n init.signal = this.evaluateImpl(init.signal, init, \"signal\");\n if (!(init.signal instanceof AbortSignal)) {\n throw new TypeError(\"Request siganl must be of type AbortSignal.\");\n }\n }\n if (init.headers && !(init.headers instanceof Array)) {\n throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n }\n let result = new Request(url, init);\n if (init.body instanceof ReadableStream && result.body === void 0) {\n let promise = fixBrokenRequestBody(result, init.body);\n this.promises.push({ promise, parent, property });\n return promise;\n } else {\n return result;\n }\n }\n case \"response\": {\n if (value.length !== 3) break;\n let body = this.evaluateImpl(value[1], parent, property);\n if (body === null || typeof body === \"string\" || body instanceof Uint8Array || body instanceof ReadableStream) ;\n else {\n throw new TypeError(\"Response body must be of type ReadableStream.\");\n }\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.webSocket) {\n throw new TypeError(\"Can't deserialize a Response containing a webSocket.\");\n }\n if (init.headers && !(init.headers instanceof Array)) {\n throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n }\n return new Response(body, init);\n }\n case \"import\":\n case \"pipeline\": {\n if (value.length < 2 || value.length > 4) {\n break;\n }\n if (typeof value[1] != \"number\") {\n break;\n }\n let hook = this.importer.getExport(value[1]);\n if (!hook) {\n throw new Error(`no such entry on exports table: ${value[1]}`);\n }\n let isPromise = value[0] == \"pipeline\";\n let addStub = (hook2) => {\n if (isPromise) {\n let promise = new RpcPromise(hook2, []);\n this.promises.push({ promise, parent, property });\n return promise;\n } else {\n this.hooks.push(hook2);\n return new RpcPromise(hook2, []);\n }\n };\n if (value.length == 2) {\n if (isPromise) {\n return addStub(hook.get([]));\n } else {\n return addStub(hook.dup());\n }\n }\n let path = value[2];\n if (!(path instanceof Array)) {\n break;\n }\n if (!path.every(\n (part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n }\n )) {\n break;\n }\n if (value.length == 3) {\n return addStub(hook.get(path));\n }\n let args = value[3];\n if (!(args instanceof Array)) {\n break;\n }\n let subEval = new _Evaluator(this.importer);\n args = subEval.evaluate([args]);\n return addStub(hook.call(path, args));\n }\n case \"remap\": {\n if (value.length !== 5 || typeof value[1] !== \"number\" || !(value[2] instanceof Array) || !(value[3] instanceof Array) || !(value[4] instanceof Array)) {\n break;\n }\n let hook = this.importer.getExport(value[1]);\n if (!hook) {\n throw new Error(`no such entry on exports table: ${value[1]}`);\n }\n let path = value[2];\n if (!path.every(\n (part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n }\n )) {\n break;\n }\n let captures = value[3].map((cap) => {\n if (!(cap instanceof Array) || cap.length !== 2 || cap[0] !== \"import\" && cap[0] !== \"export\" || typeof cap[1] !== \"number\") {\n throw new TypeError(`unknown map capture: ${JSON.stringify(cap)}`);\n }\n if (cap[0] === \"export\") {\n return this.importer.importStub(cap[1]);\n } else {\n let exp = this.importer.getExport(cap[1]);\n if (!exp) {\n throw new Error(`no such entry on exports table: ${cap[1]}`);\n }\n return exp.dup();\n }\n });\n let instructions = value[4];\n let resultHook = hook.map(path, captures, instructions);\n let promise = new RpcPromise(resultHook, []);\n this.promises.push({ promise, parent, property });\n return promise;\n }\n case \"export\":\n case \"promise\":\n if (typeof value[1] == \"number\") {\n if (value[0] == \"promise\") {\n let hook = this.importer.importPromise(value[1]);\n let promise = new RpcPromise(hook, []);\n this.promises.push({ parent, property, promise });\n return promise;\n } else {\n let hook = this.importer.importStub(value[1]);\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n }\n break;\n case \"writable\":\n if (typeof value[1] == \"number\") {\n let hook = this.importer.importStub(value[1]);\n let stream = streamImpl.createWritableStreamFromHook(hook);\n this.hooks.push(hook);\n return stream;\n }\n break;\n case \"readable\":\n if (typeof value[1] == \"number\") {\n let stream = this.importer.getPipeReadable(value[1]);\n let hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n break;\n }\n throw new TypeError(`unknown special value: ${JSON.stringify(value)}`);\n } else if (value instanceof Object) {\n let result = value;\n for (let key in result) {\n if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(result[key], result, key);\n delete result[key];\n } else {\n result[key] = this.evaluateImpl(result[key], result, key);\n }\n }\n return result;\n } else {\n return value;\n }\n }\n};\nvar ImportTableEntry = class {\n constructor(session, importId, pulling) {\n this.session = session;\n this.importId = importId;\n if (pulling) {\n this.activePull = Promise.withResolvers();\n }\n }\n localRefcount = 0;\n remoteRefcount = 1;\n activePull;\n resolution;\n // List of integer indexes into session.onBrokenCallbacks which are callbacks registered on\n // this import. Initialized on first use (so `undefined` is the same as an empty list).\n onBrokenRegistrations;\n resolve(resolution) {\n if (this.localRefcount == 0) {\n resolution.dispose();\n return;\n }\n this.resolution = resolution;\n this.sendRelease();\n if (this.onBrokenRegistrations) {\n for (let i of this.onBrokenRegistrations) {\n let callback = this.session.onBrokenCallbacks[i];\n let endIndex = this.session.onBrokenCallbacks.length;\n resolution.onBroken(callback);\n if (this.session.onBrokenCallbacks[endIndex] === callback) {\n delete this.session.onBrokenCallbacks[endIndex];\n } else {\n delete this.session.onBrokenCallbacks[i];\n }\n }\n this.onBrokenRegistrations = void 0;\n }\n if (this.activePull) {\n this.activePull.resolve();\n this.activePull = void 0;\n }\n }\n async awaitResolution() {\n if (!this.activePull) {\n this.session.sendPull(this.importId);\n this.activePull = Promise.withResolvers();\n }\n await this.activePull.promise;\n return this.resolution.pull();\n }\n dispose() {\n if (this.resolution) {\n this.resolution.dispose();\n } else {\n this.abort(new Error(\"RPC was canceled because the RpcPromise was disposed.\"));\n this.sendRelease();\n }\n }\n abort(error) {\n if (!this.resolution) {\n this.resolution = new ErrorStubHook(error);\n if (this.activePull) {\n this.activePull.reject(error);\n this.activePull = void 0;\n }\n this.onBrokenRegistrations = void 0;\n }\n }\n onBroken(callback) {\n if (this.resolution) {\n this.resolution.onBroken(callback);\n } else {\n let index = this.session.onBrokenCallbacks.length;\n this.session.onBrokenCallbacks.push(callback);\n if (!this.onBrokenRegistrations) this.onBrokenRegistrations = [];\n this.onBrokenRegistrations.push(index);\n }\n }\n sendRelease() {\n if (this.remoteRefcount > 0) {\n this.session.sendRelease(this.importId, this.remoteRefcount);\n this.remoteRefcount = 0;\n }\n }\n};\nvar RpcImportHook = class _RpcImportHook extends StubHook {\n // undefined when we're disposed\n // `pulling` is true if we already expect that this import is going to be resolved later, and\n // null if this import is not allowed to be pulled (i.e. it's a stub not a promise).\n constructor(isPromise, entry) {\n super();\n this.isPromise = isPromise;\n ++entry.localRefcount;\n this.entry = entry;\n }\n entry;\n collectPath(path) {\n return this;\n }\n getEntry() {\n if (this.entry) {\n return this.entry;\n } else {\n throw new Error(\"This RpcImportHook was already disposed.\");\n }\n }\n // -------------------------------------------------------------------------------------\n // implements StubHook\n call(path, args) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.call(path, args);\n } else {\n return entry.session.sendCall(entry.importId, path, args);\n }\n }\n stream(path, args) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.stream(path, args);\n } else {\n return entry.session.sendStream(entry.importId, path, args);\n }\n }\n map(path, captures, instructions) {\n let entry;\n try {\n entry = this.getEntry();\n } catch (err) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n if (entry.resolution) {\n return entry.resolution.map(path, captures, instructions);\n } else {\n return entry.session.sendMap(entry.importId, path, captures, instructions);\n }\n }\n get(path) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.get(path);\n } else {\n return entry.session.sendCall(entry.importId, path);\n }\n }\n dup() {\n return new _RpcImportHook(false, this.getEntry());\n }\n pull() {\n let entry = this.getEntry();\n if (!this.isPromise) {\n throw new Error(\"Can't pull this hook because it's not a promise hook.\");\n }\n if (entry.resolution) {\n return entry.resolution.pull();\n }\n return entry.awaitResolution();\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let entry = this.entry;\n this.entry = void 0;\n if (entry) {\n if (--entry.localRefcount === 0) {\n entry.dispose();\n }\n }\n }\n onBroken(callback) {\n if (this.entry) {\n this.entry.onBroken(callback);\n }\n }\n};\nvar RpcMainHook = class extends RpcImportHook {\n session;\n constructor(entry) {\n super(false, entry);\n this.session = entry.session;\n }\n dispose() {\n if (this.session) {\n let session = this.session;\n this.session = void 0;\n session.shutdown();\n }\n }\n};\nvar RpcSessionImpl = class {\n constructor(transport, mainHook, options) {\n this.transport = transport;\n this.options = options;\n this.exports.push({ hook: mainHook, refcount: 1 });\n this.imports.push(new ImportTableEntry(this, 0, false));\n let rejectFunc;\n let abortPromise = new Promise((resolve, reject) => {\n rejectFunc = reject;\n });\n this.cancelReadLoop = rejectFunc;\n this.readLoop(abortPromise).catch((err) => this.abort(err));\n }\n exports = [];\n reverseExports = /* @__PURE__ */ new Map();\n imports = [];\n abortReason;\n cancelReadLoop;\n // We assign positive numbers to imports we initiate, and negative numbers to exports we\n // initiate. So the next import ID is just `imports.length`, but the next export ID needs\n // to be tracked explicitly.\n nextExportId = -1;\n // If set, call this when all incoming calls are complete.\n onBatchDone;\n // How many promises is our peer expecting us to resolve?\n pullCount = 0;\n // Sparse array of onBrokenCallback registrations. Items are strictly appended to the end but\n // may be deleted from the middle (hence leaving the array sparse).\n onBrokenCallbacks = [];\n // Should only be called once immediately after construction.\n getMainImport() {\n return new RpcMainHook(this.imports[0]);\n }\n shutdown() {\n this.abort(new Error(\"RPC session was shut down by disposing the main stub\"), false);\n }\n exportStub(hook) {\n if (this.abortReason) throw this.abortReason;\n let existingExportId = this.reverseExports.get(hook);\n if (existingExportId !== void 0) {\n ++this.exports[existingExportId].refcount;\n return existingExportId;\n } else {\n let exportId = this.nextExportId--;\n this.exports[exportId] = { hook, refcount: 1 };\n this.reverseExports.set(hook, exportId);\n return exportId;\n }\n }\n exportPromise(hook) {\n if (this.abortReason) throw this.abortReason;\n let exportId = this.nextExportId--;\n this.exports[exportId] = { hook, refcount: 1 };\n this.reverseExports.set(hook, exportId);\n this.ensureResolvingExport(exportId);\n return exportId;\n }\n unexport(ids) {\n for (let id of ids) {\n this.releaseExport(id, 1);\n }\n }\n releaseExport(exportId, refcount) {\n let entry = this.exports[exportId];\n if (!entry) {\n throw new Error(`no such export ID: ${exportId}`);\n }\n if (entry.refcount < refcount) {\n throw new Error(`refcount would go negative: ${entry.refcount} < ${refcount}`);\n }\n entry.refcount -= refcount;\n if (entry.refcount === 0) {\n delete this.exports[exportId];\n this.reverseExports.delete(entry.hook);\n entry.hook.dispose();\n }\n }\n onSendError(error) {\n if (this.options.onSendError) {\n return this.options.onSendError(error);\n }\n }\n ensureResolvingExport(exportId) {\n let exp = this.exports[exportId];\n if (!exp) {\n throw new Error(`no such export ID: ${exportId}`);\n }\n if (!exp.pull) {\n let resolve = async () => {\n let hook = exp.hook;\n for (; ; ) {\n let payload = await hook.pull();\n if (payload.value instanceof RpcStub) {\n let { hook: inner, pathIfPromise } = unwrapStubAndPath(payload.value);\n if (pathIfPromise && pathIfPromise.length == 0) {\n if (this.getImport(hook) === void 0) {\n hook = inner;\n continue;\n }\n }\n }\n return payload;\n }\n };\n let autoRelease = exp.autoRelease;\n ++this.pullCount;\n exp.pull = resolve().then(\n (payload) => {\n let value = Devaluator.devaluate(payload.value, void 0, this, payload);\n this.send([\"resolve\", exportId, value]);\n if (autoRelease) this.releaseExport(exportId, 1);\n },\n (error) => {\n this.send([\"reject\", exportId, Devaluator.devaluate(error, void 0, this)]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }\n ).catch(\n (error) => {\n try {\n this.send([\"reject\", exportId, Devaluator.devaluate(error, void 0, this)]);\n if (autoRelease) this.releaseExport(exportId, 1);\n } catch (error2) {\n this.abort(error2);\n }\n }\n ).finally(() => {\n if (--this.pullCount === 0) {\n if (this.onBatchDone) {\n this.onBatchDone.resolve();\n }\n }\n });\n }\n }\n getImport(hook) {\n if (hook instanceof RpcImportHook && hook.entry && hook.entry.session === this) {\n return hook.entry.importId;\n } else {\n return void 0;\n }\n }\n importStub(idx) {\n if (this.abortReason) throw this.abortReason;\n let entry = this.imports[idx];\n if (!entry) {\n entry = new ImportTableEntry(this, idx, false);\n this.imports[idx] = entry;\n }\n return new RpcImportHook(\n /*isPromise=*/\n false,\n entry\n );\n }\n importPromise(idx) {\n if (this.abortReason) throw this.abortReason;\n if (this.imports[idx]) {\n return new ErrorStubHook(new Error(\n \"Bug in RPC system: The peer sent a promise reusing an existing export ID.\"\n ));\n }\n let entry = new ImportTableEntry(this, idx, true);\n this.imports[idx] = entry;\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n getExport(idx) {\n return this.exports[idx]?.hook;\n }\n getPipeReadable(exportId) {\n let entry = this.exports[exportId];\n if (!entry || !entry.pipeReadable) {\n throw new Error(`Export ${exportId} is not a pipe or its readable end was already consumed.`);\n }\n let readable = entry.pipeReadable;\n entry.pipeReadable = void 0;\n return readable;\n }\n createPipe(readable, readableHook) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pipe\"]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, false);\n this.imports.push(entry);\n let hook = new RpcImportHook(\n /*isPromise=*/\n false,\n entry\n );\n let writable = streamImpl.createWritableStreamFromHook(hook);\n readable.pipeTo(writable).catch(() => {\n }).finally(() => readableHook.dispose());\n return importId;\n }\n // Serializes and sends a message. Returns the byte length of the serialized message.\n send(msg) {\n if (this.abortReason !== void 0) {\n return 0;\n }\n let msgText;\n try {\n msgText = JSON.stringify(msg);\n } catch (err) {\n try {\n this.abort(err);\n } catch (err2) {\n }\n throw err;\n }\n this.transport.send(msgText).catch((err) => this.abort(err, false));\n return msgText.length;\n }\n sendCall(id, path, args) {\n if (this.abortReason) throw this.abortReason;\n let value = [\"pipeline\", id, path];\n if (args) {\n let devalue = Devaluator.devaluate(args.value, void 0, this, args);\n value.push(devalue[0]);\n }\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n sendStream(id, path, args) {\n if (this.abortReason) throw this.abortReason;\n let value = [\"pipeline\", id, path];\n let devalue = Devaluator.devaluate(args.value, void 0, this, args);\n value.push(devalue[0]);\n let size = this.send([\"stream\", value]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(\n this,\n importId,\n /*pulling=*/\n true\n );\n entry.remoteRefcount = 0;\n entry.localRefcount = 1;\n this.imports.push(entry);\n let promise = entry.awaitResolution().then(\n (p) => {\n p.dispose();\n delete this.imports[importId];\n },\n (err) => {\n delete this.imports[importId];\n throw err;\n }\n );\n return { promise, size };\n }\n sendMap(id, path, captures, instructions) {\n if (this.abortReason) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw this.abortReason;\n }\n let devaluedCaptures = captures.map((hook) => {\n let importId = this.getImport(hook);\n if (importId !== void 0) {\n return [\"import\", importId];\n } else {\n return [\"export\", this.exportStub(hook)];\n }\n });\n let value = [\"remap\", id, path, devaluedCaptures, instructions];\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n sendPull(id) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pull\", id]);\n }\n sendRelease(id, remoteRefcount) {\n if (this.abortReason) return;\n this.send([\"release\", id, remoteRefcount]);\n delete this.imports[id];\n }\n abort(error, trySendAbortMessage = true) {\n if (this.abortReason !== void 0) return;\n this.cancelReadLoop(error);\n if (trySendAbortMessage) {\n try {\n this.transport.send(JSON.stringify([\"abort\", Devaluator.devaluate(error, void 0, this)])).catch((err) => {\n });\n } catch (err) {\n }\n }\n if (error === void 0) {\n error = \"undefined\";\n }\n this.abortReason = error;\n if (this.onBatchDone) {\n this.onBatchDone.reject(error);\n }\n if (this.transport.abort) {\n try {\n this.transport.abort(error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n for (let i in this.onBrokenCallbacks) {\n try {\n this.onBrokenCallbacks[i](error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n for (let i in this.imports) {\n this.imports[i].abort(error);\n }\n for (let i in this.exports) {\n this.exports[i].hook.dispose();\n }\n }\n async readLoop(abortPromise) {\n while (!this.abortReason) {\n let msg = JSON.parse(await Promise.race([this.transport.receive(), abortPromise]));\n if (this.abortReason) break;\n if (msg instanceof Array) {\n switch (msg[0]) {\n case \"push\":\n if (msg.length > 1) {\n let payload = new Evaluator(this).evaluate(msg[1]);\n let hook = new PayloadStubHook(payload);\n hook.ignoreUnhandledRejections();\n this.exports.push({ hook, refcount: 1 });\n continue;\n }\n break;\n case \"stream\": {\n if (msg.length > 1) {\n let payload = new Evaluator(this).evaluate(msg[1]);\n let hook = new PayloadStubHook(payload);\n hook.ignoreUnhandledRejections();\n let exportId = this.exports.length;\n this.exports.push({ hook, refcount: 1, autoRelease: true });\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"pipe\": {\n let { readable, writable } = new TransformStream();\n let hook = streamImpl.createWritableStreamHook(writable);\n this.exports.push({ hook, refcount: 1, pipeReadable: readable });\n continue;\n }\n case \"pull\": {\n let exportId = msg[1];\n if (typeof exportId == \"number\") {\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"resolve\":\n // [\"resolve\", ExportId, Expression]\n case \"reject\": {\n let importId = msg[1];\n if (typeof importId == \"number\" && msg.length > 2) {\n let imp = this.imports[importId];\n if (imp) {\n if (msg[0] == \"resolve\") {\n imp.resolve(new PayloadStubHook(new Evaluator(this).evaluate(msg[2])));\n } else {\n let payload = new Evaluator(this).evaluate(msg[2]);\n payload.dispose();\n imp.resolve(new ErrorStubHook(payload.value));\n }\n } else {\n if (msg[0] == \"resolve\") {\n new Evaluator(this).evaluate(msg[2]).dispose();\n }\n }\n continue;\n }\n break;\n }\n case \"release\": {\n let exportId = msg[1];\n let refcount = msg[2];\n if (typeof exportId == \"number\" && typeof refcount == \"number\") {\n this.releaseExport(exportId, refcount);\n continue;\n }\n break;\n }\n case \"abort\": {\n let payload = new Evaluator(this).evaluate(msg[1]);\n payload.dispose();\n this.abort(payload, false);\n break;\n }\n }\n }\n throw new Error(`bad RPC message: ${JSON.stringify(msg)}`);\n }\n }\n async drain() {\n if (this.abortReason) {\n throw this.abortReason;\n }\n if (this.pullCount > 0) {\n let { promise, resolve, reject } = Promise.withResolvers();\n this.onBatchDone = { resolve, reject };\n await promise;\n }\n }\n getStats() {\n let result = { imports: 0, exports: 0 };\n for (let i in this.imports) {\n ++result.imports;\n }\n for (let i in this.exports) {\n ++result.exports;\n }\n return result;\n }\n};\nvar RpcSession = class {\n #session;\n #mainStub;\n constructor(transport, localMain, options = {}) {\n let mainHook;\n if (localMain) {\n mainHook = new PayloadStubHook(RpcPayload.fromAppReturn(localMain));\n } else {\n mainHook = new ErrorStubHook(new Error(\"This connection has no main object.\"));\n }\n this.#session = new RpcSessionImpl(transport, mainHook, options);\n this.#mainStub = new RpcStub(this.#session.getMainImport());\n }\n getRemoteMain() {\n return this.#mainStub;\n }\n getStats() {\n return this.#session.getStats();\n }\n drain() {\n return this.#session.drain();\n }\n};\nfunction newWebSocketRpcSession(webSocket, localMain, options) {\n if (typeof webSocket === \"string\") {\n webSocket = new WebSocket(webSocket);\n }\n let transport = new WebSocketTransport(webSocket);\n let rpc = new RpcSession(transport, localMain, options);\n return rpc.getRemoteMain();\n}\nfunction newWorkersWebSocketRpcResponse(request, localMain, options) {\n if (request.headers.get(\"Upgrade\")?.toLowerCase() !== \"websocket\") {\n return new Response(\"This endpoint only accepts WebSocket requests.\", { status: 400 });\n }\n let pair = new WebSocketPair();\n let server = pair[0];\n server.accept();\n newWebSocketRpcSession(server, localMain, options);\n return new Response(null, {\n status: 101,\n webSocket: pair[1]\n });\n}\nvar WebSocketTransport = class {\n constructor(webSocket) {\n this.#webSocket = webSocket;\n if (webSocket.readyState === WebSocket.CONNECTING) {\n this.#sendQueue = [];\n webSocket.addEventListener(\"open\", (event) => {\n try {\n for (let message of this.#sendQueue) {\n webSocket.send(message);\n }\n } catch (err) {\n this.#receivedError(err);\n }\n this.#sendQueue = void 0;\n });\n }\n webSocket.addEventListener(\"message\", (event) => {\n if (this.#error) ;\n else if (typeof event.data === \"string\") {\n if (this.#receiveResolver) {\n this.#receiveResolver(event.data);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n } else {\n this.#receiveQueue.push(event.data);\n }\n } else {\n this.#receivedError(new TypeError(\"Received non-string message from WebSocket.\"));\n }\n });\n webSocket.addEventListener(\"close\", (event) => {\n this.#receivedError(new Error(`Peer closed WebSocket: ${event.code} ${event.reason}`));\n });\n webSocket.addEventListener(\"error\", (event) => {\n this.#receivedError(new Error(`WebSocket connection failed.`));\n });\n }\n #webSocket;\n #sendQueue;\n // only if not opened yet\n #receiveResolver;\n #receiveRejecter;\n #receiveQueue = [];\n #error;\n async send(message) {\n if (this.#sendQueue === void 0) {\n this.#webSocket.send(message);\n } else {\n this.#sendQueue.push(message);\n }\n }\n async receive() {\n if (this.#receiveQueue.length > 0) {\n return this.#receiveQueue.shift();\n } else if (this.#error) {\n throw this.#error;\n } else {\n return new Promise((resolve, reject) => {\n this.#receiveResolver = resolve;\n this.#receiveRejecter = reject;\n });\n }\n }\n abort(reason) {\n let message;\n if (reason instanceof Error) {\n message = reason.message;\n } else {\n message = `${reason}`;\n }\n this.#webSocket.close(3e3, message);\n if (!this.#error) {\n this.#error = reason;\n }\n }\n #receivedError(reason) {\n if (!this.#error) {\n this.#error = reason;\n if (this.#receiveRejecter) {\n this.#receiveRejecter(reason);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n }\n }\n }\n};\nvar BatchServerTransport = class {\n constructor(batch) {\n this.#batchToReceive = batch;\n }\n #batchToSend = [];\n #batchToReceive;\n #allReceived = Promise.withResolvers();\n async send(message) {\n this.#batchToSend.push(message);\n }\n async receive() {\n let msg = this.#batchToReceive.shift();\n if (msg !== void 0) {\n return msg;\n } else {\n this.#allReceived.resolve();\n return new Promise((r) => {\n });\n }\n }\n abort(reason) {\n this.#allReceived.reject(reason);\n }\n whenAllReceived() {\n return this.#allReceived.promise;\n }\n getResponseBody() {\n return this.#batchToSend.join(\"\\n\");\n }\n};\nasync function newHttpBatchRpcResponse(request, localMain, options) {\n if (request.method !== \"POST\") {\n return new Response(\"This endpoint only accepts POST requests.\", { status: 405 });\n }\n let body = await request.text();\n let batch = body === \"\" ? [] : body.split(\"\\n\");\n let transport = new BatchServerTransport(batch);\n let rpc = new RpcSession(transport, localMain, options);\n await transport.whenAllReceived();\n await rpc.drain();\n return new Response(transport.getResponseBody());\n}\nvar currentMapBuilder;\nvar MapBuilder = class {\n context;\n captureMap = /* @__PURE__ */ new Map();\n instructions = [];\n constructor(subject, path) {\n if (currentMapBuilder) {\n this.context = {\n parent: currentMapBuilder,\n captures: [],\n subject: currentMapBuilder.capture(subject),\n path\n };\n } else {\n this.context = {\n parent: void 0,\n captures: [],\n subject,\n path\n };\n }\n currentMapBuilder = this;\n }\n unregister() {\n currentMapBuilder = this.context.parent;\n }\n makeInput() {\n return new MapVariableHook(this, 0);\n }\n makeOutput(result) {\n let devalued;\n try {\n devalued = Devaluator.devaluate(result.value, void 0, this, result);\n } finally {\n result.dispose();\n }\n this.instructions.push(devalued);\n if (this.context.parent) {\n this.context.parent.instructions.push(\n [\n \"remap\",\n this.context.subject,\n this.context.path,\n this.context.captures.map((cap) => [\"import\", cap]),\n this.instructions\n ]\n );\n return new MapVariableHook(this.context.parent, this.context.parent.instructions.length);\n } else {\n return this.context.subject.map(this.context.path, this.context.captures, this.instructions);\n }\n }\n pushCall(hook, path, params) {\n let devalued = Devaluator.devaluate(params.value, void 0, this, params);\n devalued = devalued[0];\n let subject = this.capture(hook.dup());\n this.instructions.push([\"pipeline\", subject, path, devalued]);\n return new MapVariableHook(this, this.instructions.length);\n }\n pushGet(hook, path) {\n let subject = this.capture(hook.dup());\n this.instructions.push([\"pipeline\", subject, path]);\n return new MapVariableHook(this, this.instructions.length);\n }\n capture(hook) {\n if (hook instanceof MapVariableHook && hook.mapper === this) {\n return hook.idx;\n }\n let result = this.captureMap.get(hook);\n if (result === void 0) {\n if (this.context.parent) {\n let parentIdx = this.context.parent.capture(hook);\n this.context.captures.push(parentIdx);\n } else {\n this.context.captures.push(hook);\n }\n result = -this.context.captures.length;\n this.captureMap.set(hook, result);\n }\n return result;\n }\n // ---------------------------------------------------------------------------\n // implements Exporter\n exportStub(hook) {\n throw new Error(\n \"Can't construct an RpcTarget or RPC callback inside a mapper function. Try creating a new RpcStub outside the callback first, then using it inside the callback.\"\n );\n }\n exportPromise(hook) {\n return this.exportStub(hook);\n }\n getImport(hook) {\n return this.capture(hook);\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot send ReadableStream inside a mapper function.\");\n }\n onSendError(error) {\n }\n};\nmapImpl.sendMap = (hook, path, func) => {\n let builder = new MapBuilder(hook, path);\n let result;\n try {\n result = RpcPayload.fromAppReturn(withCallInterceptor(builder.pushCall.bind(builder), () => {\n return func(new RpcPromise(builder.makeInput(), []));\n }));\n } finally {\n builder.unregister();\n }\n if (result instanceof Promise) {\n result.catch((err) => {\n });\n throw new Error(\"RPC map() callbacks cannot be async.\");\n }\n return new RpcPromise(builder.makeOutput(result), []);\n};\nfunction throwMapperBuilderUseError() {\n throw new Error(\n \"Attempted to use an abstract placeholder from a mapper function. Please make sure your map function has no side effects.\"\n );\n}\nvar MapVariableHook = class extends StubHook {\n constructor(mapper, idx) {\n super();\n this.mapper = mapper;\n this.idx = idx;\n }\n // We don't have anything we actually need to dispose, so dup() can just return the same hook.\n dup() {\n return this;\n }\n dispose() {\n }\n get(path) {\n if (path.length == 0) {\n return this;\n } else if (currentMapBuilder) {\n return currentMapBuilder.pushGet(this, path);\n } else {\n throwMapperBuilderUseError();\n }\n }\n // Other methods should never be called.\n call(path, args) {\n throwMapperBuilderUseError();\n }\n map(path, captures, instructions) {\n throwMapperBuilderUseError();\n }\n pull() {\n throwMapperBuilderUseError();\n }\n ignoreUnhandledRejections() {\n }\n onBroken(callback) {\n throwMapperBuilderUseError();\n }\n};\nvar MapApplicator = class {\n constructor(captures, input) {\n this.captures = captures;\n this.variables = [input];\n }\n variables;\n dispose() {\n for (let variable of this.variables) {\n variable.dispose();\n }\n }\n apply(instructions) {\n try {\n if (instructions.length < 1) {\n throw new Error(\"Invalid empty mapper function.\");\n }\n for (let instruction of instructions.slice(0, -1)) {\n let payload = new Evaluator(this).evaluateCopy(instruction);\n if (payload.value instanceof RpcStub) {\n let hook = unwrapStubNoProperties(payload.value);\n if (hook) {\n this.variables.push(hook);\n continue;\n }\n }\n this.variables.push(new PayloadStubHook(payload));\n }\n return new Evaluator(this).evaluateCopy(instructions[instructions.length - 1]);\n } finally {\n for (let variable of this.variables) {\n variable.dispose();\n }\n }\n }\n importStub(idx) {\n throw new Error(\"A mapper function cannot refer to exports.\");\n }\n importPromise(idx) {\n return this.importStub(idx);\n }\n getExport(idx) {\n if (idx < 0) {\n return this.captures[-idx - 1];\n } else {\n return this.variables[idx];\n }\n }\n getPipeReadable(exportId) {\n throw new Error(\"A mapper function cannot use pipe readables.\");\n }\n};\nfunction applyMapToElement(input, parent, owner, captures, instructions) {\n let inputHook = new PayloadStubHook(RpcPayload.deepCopyFrom(input, parent, owner));\n let mapper = new MapApplicator(captures, inputHook);\n try {\n return mapper.apply(instructions);\n } finally {\n mapper.dispose();\n }\n}\nmapImpl.applyMap = (input, parent, owner, captures, instructions) => {\n try {\n let result;\n if (input instanceof RpcPromise) {\n throw new Error(\"applyMap() can't be called on RpcPromise\");\n } else if (input instanceof Array) {\n let payloads = [];\n try {\n for (let elem of input) {\n payloads.push(applyMapToElement(elem, input, owner, captures, instructions));\n }\n } catch (err) {\n for (let payload of payloads) {\n payload.dispose();\n }\n throw err;\n }\n result = RpcPayload.fromArray(payloads);\n } else if (input === null || input === void 0) {\n result = RpcPayload.fromAppReturn(input);\n } else {\n result = applyMapToElement(input, parent, owner, captures, instructions);\n }\n return new PayloadStubHook(result);\n } finally {\n for (let cap of captures) {\n cap.dispose();\n }\n }\n};\nvar WritableStreamStubHook = class _WritableStreamStubHook extends StubHook {\n state;\n // undefined when disposed\n // Creates a new WritableStreamStubHook that is not duplicated from an existing hook.\n static create(stream) {\n let writer = stream.getWriter();\n return new _WritableStreamStubHook({ refcount: 1, writer, closed: false });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) {\n ++state.refcount;\n }\n }\n getState() {\n if (this.state) {\n return this.state;\n } else {\n throw new Error(\"Attempted to use a WritableStreamStubHook after it was disposed.\");\n }\n }\n call(path, args) {\n try {\n let state = this.getState();\n if (path.length !== 1 || typeof path[0] !== \"string\") {\n throw new Error(\"WritableStream stub only supports direct method calls\");\n }\n const method = path[0];\n if (method !== \"write\" && method !== \"close\" && method !== \"abort\") {\n args.dispose();\n throw new Error(`Unknown WritableStream method: ${method}`);\n }\n if (method === \"close\" || method === \"abort\") {\n state.closed = true;\n }\n let func = state.writer[method];\n let promise = args.deliverCall(func, state.writer);\n return new PromiseStubHook(promise.then((payload) => new PayloadStubHook(payload)));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n for (let cap of captures) {\n cap.dispose();\n }\n return new ErrorStubHook(new Error(\"Cannot use map() on a WritableStream\"));\n }\n get(path) {\n return new ErrorStubHook(new Error(\"Cannot access properties on a WritableStream stub\"));\n }\n dup() {\n let state = this.getState();\n return new _WritableStreamStubHook(state, this);\n }\n pull() {\n return Promise.reject(new Error(\"Cannot pull a WritableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.closed) {\n state.writer.abort(new Error(\"WritableStream RPC stub was disposed without calling close()\")).catch(() => {\n });\n }\n state.writer.releaseLock();\n }\n }\n }\n onBroken(callback) {\n }\n};\nvar INITIAL_WINDOW = 256 * 1024;\nvar MAX_WINDOW = 1024 * 1024 * 1024;\nvar MIN_WINDOW = 64 * 1024;\nvar STARTUP_GROWTH_FACTOR = 2;\nvar STEADY_GROWTH_FACTOR = 1.25;\nvar DECAY_FACTOR = 0.9;\nvar STARTUP_EXIT_ROUNDS = 3;\nvar FlowController = class {\n constructor(now) {\n this.now = now;\n }\n // The current window size in bytes. The sender blocks when bytesInFlight >= window.\n window = INITIAL_WINDOW;\n // Total bytes currently in flight (sent but not yet acked).\n bytesInFlight = 0;\n // Whether we're still in the startup phase.\n inStartupPhase = true;\n // ----- BDP estimation state (private) -----\n // Total bytes acked so far.\n delivered = 0;\n // Time of most recent ack.\n deliveredTime = 0;\n // Time when the very first ack was received.\n firstAckTime = 0;\n firstAckDelivered = 0;\n // Global minimum RTT observed (milliseconds).\n minRtt = Infinity;\n // For startup exit: count of consecutive RTT rounds where the window didn't meaningfully grow.\n roundsWithoutIncrease = 0;\n // Window size at the start of the current round, for startup exit detection.\n lastRoundWindow = 0;\n // Time when the current round started.\n roundStartTime = 0;\n // Called when a write of `size` bytes is about to be sent. Returns a token that must be\n // passed to onAck() when the ack arrives, and whether the sender should block (window full).\n onSend(size) {\n this.bytesInFlight += size;\n let token = {\n sentTime: this.now(),\n size,\n deliveredAtSend: this.delivered,\n deliveredTimeAtSend: this.deliveredTime,\n windowAtSend: this.window,\n windowFullAtSend: this.bytesInFlight >= this.window\n };\n return { token, shouldBlock: token.windowFullAtSend };\n }\n // Called when a previously-sent write fails. Restores bytesInFlight without updating\n // any BDP estimates.\n onError(token) {\n this.bytesInFlight -= token.size;\n }\n // Called when an ack is received for a previously-sent write. Updates BDP estimates and\n // the window. Returns whether a blocked sender should now unblock.\n onAck(token) {\n let ackTime = this.now();\n this.delivered += token.size;\n this.deliveredTime = ackTime;\n this.bytesInFlight -= token.size;\n let rtt = ackTime - token.sentTime;\n this.minRtt = Math.min(this.minRtt, rtt);\n if (this.firstAckTime === 0) {\n this.firstAckTime = ackTime;\n this.firstAckDelivered = this.delivered;\n } else {\n let baseTime;\n let baseDelivered;\n if (token.deliveredTimeAtSend === 0) {\n baseTime = this.firstAckTime;\n baseDelivered = this.firstAckDelivered;\n } else {\n baseTime = token.deliveredTimeAtSend;\n baseDelivered = token.deliveredAtSend;\n }\n let interval = ackTime - baseTime;\n let bytes = this.delivered - baseDelivered;\n let bandwidth = bytes / interval;\n let growthFactor = this.inStartupPhase ? STARTUP_GROWTH_FACTOR : STEADY_GROWTH_FACTOR;\n let newWindow = bandwidth * this.minRtt * growthFactor;\n newWindow = Math.min(newWindow, token.windowAtSend * growthFactor);\n if (token.windowFullAtSend) {\n newWindow = Math.max(newWindow, token.windowAtSend * DECAY_FACTOR);\n } else {\n newWindow = Math.max(newWindow, this.window);\n }\n this.window = Math.max(Math.min(newWindow, MAX_WINDOW), MIN_WINDOW);\n if (this.inStartupPhase && token.sentTime >= this.roundStartTime) {\n if (this.window > this.lastRoundWindow * STEADY_GROWTH_FACTOR) {\n this.roundsWithoutIncrease = 0;\n } else {\n if (++this.roundsWithoutIncrease >= STARTUP_EXIT_ROUNDS) {\n this.inStartupPhase = false;\n }\n }\n this.roundStartTime = ackTime;\n this.lastRoundWindow = this.window;\n }\n }\n return this.bytesInFlight < this.window;\n }\n};\nfunction createWritableStreamFromHook(hook) {\n let pendingError = void 0;\n let hookDisposed = false;\n let fc = new FlowController(() => performance.now());\n let windowResolve;\n let windowReject;\n const disposeHook = () => {\n if (!hookDisposed) {\n hookDisposed = true;\n hook.dispose();\n }\n };\n return new WritableStream({\n write(chunk, controller) {\n if (pendingError !== void 0) {\n throw pendingError;\n }\n const payload = RpcPayload.fromAppParams([chunk]);\n const { promise, size } = hook.stream([\"write\"], payload);\n if (size === void 0) {\n return promise.catch((err) => {\n if (pendingError === void 0) {\n pendingError = err;\n }\n throw err;\n });\n } else {\n let { token, shouldBlock } = fc.onSend(size);\n promise.then(() => {\n let hasCapacity = fc.onAck(token);\n if (hasCapacity && windowResolve) {\n windowResolve();\n windowResolve = void 0;\n windowReject = void 0;\n }\n }, (err) => {\n fc.onError(token);\n if (pendingError === void 0) {\n pendingError = err;\n controller.error(err);\n disposeHook();\n }\n if (windowReject) {\n windowReject(err);\n windowResolve = void 0;\n windowReject = void 0;\n }\n });\n if (shouldBlock) {\n return new Promise((resolve, reject) => {\n windowResolve = resolve;\n windowReject = reject;\n });\n }\n }\n },\n async close() {\n if (pendingError !== void 0) {\n disposeHook();\n throw pendingError;\n }\n const { promise } = hook.stream([\"close\"], RpcPayload.fromAppParams([]));\n try {\n await promise;\n } catch (err) {\n throw pendingError ?? err;\n } finally {\n disposeHook();\n }\n },\n abort(reason) {\n if (pendingError !== void 0) {\n return;\n }\n pendingError = reason ?? new Error(\"WritableStream was aborted\");\n if (windowReject) {\n windowReject(pendingError);\n windowResolve = void 0;\n windowReject = void 0;\n }\n const { promise } = hook.stream([\"abort\"], RpcPayload.fromAppParams([reason]));\n promise.then(() => disposeHook(), () => disposeHook());\n }\n });\n}\nvar ReadableStreamStubHook = class _ReadableStreamStubHook extends StubHook {\n state;\n // undefined when disposed\n // Creates a new ReadableStreamStubHook.\n static create(stream) {\n return new _ReadableStreamStubHook({ refcount: 1, stream, canceled: false });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) {\n ++state.refcount;\n }\n }\n call(path, args) {\n args.dispose();\n return new ErrorStubHook(new Error(\"Cannot call methods on a ReadableStream stub\"));\n }\n map(path, captures, instructions) {\n for (let cap of captures) {\n cap.dispose();\n }\n return new ErrorStubHook(new Error(\"Cannot use map() on a ReadableStream\"));\n }\n get(path) {\n return new ErrorStubHook(new Error(\"Cannot access properties on a ReadableStream stub\"));\n }\n dup() {\n let state = this.state;\n if (!state) {\n throw new Error(\"Attempted to dup a ReadableStreamStubHook after it was disposed.\");\n }\n return new _ReadableStreamStubHook(state, this);\n }\n pull() {\n return Promise.reject(new Error(\"Cannot pull a ReadableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.canceled) {\n state.canceled = true;\n if (!state.stream.locked) {\n state.stream.cancel(\n new Error(\"ReadableStream RPC stub was disposed without being consumed\")\n ).catch(() => {\n });\n }\n }\n }\n }\n }\n onBroken(callback) {\n }\n};\nstreamImpl.createWritableStreamHook = WritableStreamStubHook.create;\nstreamImpl.createWritableStreamFromHook = createWritableStreamFromHook;\nstreamImpl.createReadableStreamHook = ReadableStreamStubHook.create;\nasync function newWorkersRpcResponse(request, localMain) {\n if (request.method === \"POST\") {\n let response = await newHttpBatchRpcResponse(request, localMain);\n response.headers.set(\"Access-Control-Allow-Origin\", \"*\");\n return response;\n } else if (request.headers.get(\"Upgrade\")?.toLowerCase() === \"websocket\") {\n return newWorkersWebSocketRpcResponse(request, localMain);\n } else {\n return new Response(\"This endpoint only accepts POST or WebSocket requests.\", { status: 400 });\n }\n}\n\n// templates/remoteBindings/ProxyServerWorker.ts\nimport { EmailMessage } from \"cloudflare:email\";\nvar BindingNotFoundError = class extends Error {\n constructor(name) {\n super(`Binding ${name ? `\"${name}\"` : \"\"} not found`);\n }\n};\nfunction getExposedJSRPCBinding(request, env) {\n const url = new URL(request.url);\n const bindingName = url.searchParams.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n if (targetBinding.constructor.name === \"SendEmail\") {\n return {\n async send(e) {\n if (\"EmailMessage::raw\" in e) {\n const message = new EmailMessage(\n e.from,\n e.to,\n e[\"EmailMessage::raw\"]\n );\n return targetBinding.send(message);\n } else {\n return targetBinding.send(e);\n }\n }\n };\n }\n const dispatchNamespaceOptions = url.searchParams.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction getExposedFetcher(request, env) {\n const bindingName = request.headers.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n const dispatchNamespaceOptions = request.headers.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction isJSRPCBinding(request) {\n const url = new URL(request.url);\n return request.headers.has(\"Upgrade\") && url.searchParams.has(\"MF-Binding\");\n}\nfunction isConnectBinding(request) {\n return request.headers.get(\"Upgrade\") === \"websocket\" && request.headers.has(\"MF-Connect-Address\");\n}\nfunction handleConnect(request, env) {\n const address = request.headers.get(\"MF-Connect-Address\");\n if (address === null) {\n return new Response(\"Missing MF-Connect-Address header\", { status: 400 });\n }\n const fetcher = getExposedFetcher(request, env);\n const { 0: client, 1: server } = new WebSocketPair();\n server.accept();\n const socket = fetcher.connect(address);\n pipeSocketOverWebSocket(socket, server).catch(() => {\n });\n return new Response(null, { status: 101, webSocket: client });\n}\nfunction truncateCloseReason(reason) {\n const bytes = new TextEncoder().encode(reason);\n if (bytes.length <= 123) {\n return reason;\n }\n let end = 123;\n while (end > 0 && ((bytes[end] ?? 0) & 192) === 128) {\n end--;\n }\n return new TextDecoder().decode(bytes.subarray(0, end));\n}\nasync function pipeSocketOverWebSocket(socket, ws) {\n const writer = socket.writable.getWriter();\n const reader = socket.readable.getReader();\n let wsClosed = false;\n function closeWebSocket(code, reason) {\n if (wsClosed) {\n return;\n }\n wsClosed = true;\n try {\n ws.close(\n code,\n reason === void 0 ? void 0 : truncateCloseReason(reason)\n );\n } catch {\n }\n }\n let writeChain = Promise.resolve();\n let writerClosed = false;\n function closeWriter() {\n if (writerClosed) {\n return Promise.resolve();\n }\n writerClosed = true;\n return writeChain.then(() => writer.close());\n }\n let resolveFromWs;\n let rejectFromWs;\n const fromWebSocket = new Promise((resolve, reject) => {\n resolveFromWs = resolve;\n rejectFromWs = reject;\n });\n ws.addEventListener(\"message\", (event) => {\n const chunk = typeof event.data === \"string\" ? new TextEncoder().encode(event.data) : new Uint8Array(event.data);\n writeChain = writeChain.then(() => writer.write(chunk)).catch((error) => {\n closeWebSocket(\n 1011,\n error?.message ?? \"socket write failed\"\n );\n reader.cancel().catch(() => {\n });\n rejectFromWs(error);\n });\n });\n ws.addEventListener(\"close\", (event) => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n if (event.code === 1011) {\n rejectFromWs(\n new Error(event.reason || \"Remote tunnel closed with an error\")\n );\n return;\n }\n closeWriter().then(resolveFromWs, rejectFromWs);\n });\n ws.addEventListener(\"error\", () => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n rejectFromWs(new Error(\"Tunnel WebSocket errored\"));\n });\n const toWebSocket = (async () => {\n try {\n for (; ; ) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n if (wsClosed) {\n break;\n }\n ws.send(\n value.buffer.slice(\n value.byteOffset,\n value.byteOffset + value.byteLength\n )\n );\n }\n closeWebSocket(1e3);\n } catch (error) {\n closeWebSocket(1011, error?.message ?? \"socket read failed\");\n throw error;\n } finally {\n reader.releaseLock();\n closeWriter().then(resolveFromWs, rejectFromWs);\n }\n })();\n await Promise.all([toWebSocket, fromWebSocket]);\n}\nvar ProxyServerWorker_default = {\n async fetch(request, env) {\n try {\n if (isConnectBinding(request)) {\n return handleConnect(request, env);\n } else if (isJSRPCBinding(request)) {\n return await newWorkersRpcResponse(\n request,\n getExposedJSRPCBinding(request, env)\n );\n } else {\n const fetcher = getExposedFetcher(request, env);\n const originalHeaders = new Headers();\n for (const [name, value] of request.headers) {\n if (name.startsWith(\"mf-header-\")) {\n originalHeaders.set(name.slice(\"mf-header-\".length), value);\n } else if (name === \"upgrade\") {\n originalHeaders.set(name, value);\n }\n }\n return await fetcher.fetch(\n request.headers.get(\"MF-URL\") ?? \"http://example.com\",\n new Request(request, {\n redirect: \"manual\",\n headers: originalHeaders\n })\n );\n }\n } catch (e) {\n if (e instanceof BindingNotFoundError) {\n return new Response(e.message, { status: 400 });\n }\n return new Response(e.message, { status: 500 });\n }\n }\n};\nexport {\n ProxyServerWorker_default as default\n};\n";
|
|
85684
|
+
var ProxyServerWorker_default = "// ../../node_modules/.pnpm/capnweb@0.12.0/node_modules/capnweb/dist/index-workers.js\nimport * as cfw from \"cloudflare:workers\";\nvar WORKERS_MODULE_SYMBOL = /* @__PURE__ */ Symbol(\"workers-module\");\nglobalThis[WORKERS_MODULE_SYMBOL] = cfw;\nif (!Symbol.dispose) Symbol.dispose = /* @__PURE__ */ Symbol.for(\"dispose\");\nif (!Symbol.asyncDispose) Symbol.asyncDispose = /* @__PURE__ */ Symbol.for(\"asyncDispose\");\nif (!Promise.withResolvers) Promise.withResolvers = function() {\n let resolve;\n let reject;\n return {\n promise: new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n }),\n resolve,\n reject\n };\n};\nvar workersModule = globalThis[WORKERS_MODULE_SYMBOL];\nvar RpcTarget$1 = workersModule ? workersModule.RpcTarget : class {\n};\nvar AsyncFunction = (async function() {\n}).constructor;\nvar BUFFER_PROTOTYPE = typeof Buffer !== \"undefined\" ? Buffer.prototype : void 0;\nfunction typeForRpc(value) {\n switch (typeof value) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return \"primitive\";\n case \"undefined\":\n return \"undefined\";\n case \"object\":\n case \"function\":\n break;\n case \"bigint\":\n return \"bigint\";\n default:\n return \"unsupported\";\n }\n if (value === null) return \"primitive\";\n let prototype = Object.getPrototypeOf(value);\n switch (prototype) {\n case Object.prototype:\n return \"object\";\n case Function.prototype:\n case AsyncFunction.prototype:\n return \"function\";\n case Array.prototype:\n return \"array\";\n case Date.prototype:\n return \"date\";\n case Uint8Array.prototype:\n case BUFFER_PROTOTYPE:\n case ArrayBuffer.prototype:\n case DataView.prototype:\n case Int8Array.prototype:\n case Uint8ClampedArray.prototype:\n case Int16Array.prototype:\n case Uint16Array.prototype:\n case Int32Array.prototype:\n case Uint32Array.prototype:\n case BigInt64Array.prototype:\n case BigUint64Array.prototype:\n case Float32Array.prototype:\n case Float64Array.prototype:\n return \"bytes\";\n case WritableStream.prototype:\n return \"writable\";\n case ReadableStream.prototype:\n return \"readable\";\n case URL.prototype:\n return \"url\";\n case Headers.prototype:\n return \"headers\";\n case Request.prototype:\n return \"request\";\n case Response.prototype:\n return \"response\";\n case Blob.prototype:\n return \"blob\";\n case RpcStub$1.prototype:\n return \"stub\";\n case RpcPromise$1.prototype:\n return \"rpc-promise\";\n default:\n if (workersModule) {\n if (prototype == workersModule.RpcStub.prototype || value instanceof workersModule.ServiceStub) return \"rpc-target\";\n else if (prototype == workersModule.RpcPromise.prototype || prototype == workersModule.RpcProperty.prototype) return \"rpc-thenable\";\n }\n if (value instanceof RpcTarget$1) return \"rpc-target\";\n if (value instanceof Error) return \"error\";\n return \"unsupported\";\n }\n}\nfunction mapNotLoaded() {\n throw new Error(\"RPC map() implementation was not loaded.\");\n}\nvar mapImpl = {\n applyMap: mapNotLoaded,\n sendMap: mapNotLoaded\n};\nfunction streamNotLoaded() {\n throw new Error(\"Stream implementation was not loaded.\");\n}\nvar streamImpl = {\n createWritableStreamHook: streamNotLoaded,\n createWritableStreamFromHook: streamNotLoaded,\n createReadableStreamHook: streamNotLoaded\n};\nvar StubHook = class {\n stream(path, args) {\n let hook = this.call(path, args);\n let pulled;\n try {\n pulled = hook.pull();\n } catch (err) {\n hook.dispose();\n throw err;\n }\n let promise;\n if (pulled instanceof Promise) promise = pulled.then((p) => {\n p.dispose();\n });\n else {\n pulled.dispose();\n promise = Promise.resolve();\n }\n return { promise };\n }\n};\nvar ErrorStubHook = class extends StubHook {\n error;\n constructor(error) {\n super();\n this.error = error;\n }\n call(path, args) {\n args.dispose();\n return this;\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return this;\n }\n get(path) {\n return this;\n }\n dup() {\n return this;\n }\n pull() {\n return Promise.reject(this.error);\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n }\n onBroken(callback) {\n try {\n callback(this.error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n};\nvar DISPOSED_HOOK = new ErrorStubHook(/* @__PURE__ */ new Error(\"Attempted to use RPC stub after it has been disposed.\"));\nvar doCall = (hook, path, params) => {\n return hook.call(path, params);\n};\nfunction withCallInterceptor(interceptor, callback) {\n let oldValue = doCall;\n doCall = interceptor;\n try {\n return callback();\n } finally {\n doCall = oldValue;\n }\n}\nvar RAW_STUB = /* @__PURE__ */ Symbol(\"realStub\");\nvar PROXY_HANDLERS = {\n apply(target, thisArg, argumentsList) {\n let stub = target.raw;\n return new RpcPromise$1(doCall(stub.hook, stub.pathIfPromise || [], RpcPayload.fromAppParams(argumentsList)), []);\n },\n get(target, prop, receiver) {\n let stub = target.raw;\n if (prop === RAW_STUB) return stub;\n else if (prop in RpcPromise$1.prototype) return stub[prop];\n else if (typeof prop === \"string\") return new RpcPromise$1(stub.hook, stub.pathIfPromise ? [...stub.pathIfPromise, prop] : [prop]);\n else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) return () => {\n stub.hook.dispose();\n stub.hook = DISPOSED_HOOK;\n };\n else return;\n },\n has(target, prop) {\n let stub = target.raw;\n if (prop === RAW_STUB) return true;\n else if (prop in RpcPromise$1.prototype) return prop in stub;\n else if (typeof prop === \"string\") return true;\n else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) return true;\n else return false;\n },\n construct(target, args) {\n throw new Error(\"An RPC stub cannot be used as a constructor.\");\n },\n defineProperty(target, property, attributes) {\n throw new Error(\"Can't define properties on RPC stubs.\");\n },\n deleteProperty(target, p) {\n throw new Error(\"Can't delete properties on RPC stubs.\");\n },\n getOwnPropertyDescriptor(target, p) {\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.raw);\n },\n isExtensible(target) {\n return false;\n },\n ownKeys(target) {\n return [];\n },\n preventExtensions(target) {\n return true;\n },\n set(target, p, newValue, receiver) {\n throw new Error(\"Can't assign properties on RPC stubs.\");\n },\n setPrototypeOf(target, v) {\n throw new Error(\"Can't override prototype of RPC stubs.\");\n }\n};\nvar RpcStub$1 = class RpcStub$12 extends RpcTarget$1 {\n constructor(hook, pathIfPromise) {\n super();\n if (!(hook instanceof StubHook)) {\n let value = hook;\n if (value instanceof RpcTarget$1 || value instanceof Function) hook = TargetStubHook.create(value, void 0);\n else hook = new PayloadStubHook(RpcPayload.fromAppReturn(value));\n if (pathIfPromise) throw new TypeError(\"RpcStub constructor expected one argument, received two.\");\n }\n this.hook = hook;\n this.pathIfPromise = pathIfPromise;\n let func = () => {\n };\n func.raw = this;\n return new Proxy(func, PROXY_HANDLERS);\n }\n hook;\n pathIfPromise;\n dup() {\n let target = this[RAW_STUB];\n if (target.pathIfPromise) return new RpcStub$12(target.hook.get(target.pathIfPromise));\n else return new RpcStub$12(target.hook.dup());\n }\n onRpcBroken(callback) {\n this[RAW_STUB].hook.onBroken(callback);\n }\n map(func) {\n let { hook, pathIfPromise } = this[RAW_STUB];\n return mapImpl.sendMap(hook, pathIfPromise || [], func);\n }\n toString() {\n return \"[object RpcStub]\";\n }\n};\nvar RpcPromise$1 = class extends RpcStub$1 {\n constructor(hook, pathIfPromise) {\n if (hook instanceof StubHook) super(hook, pathIfPromise ?? []);\n else {\n if (pathIfPromise !== void 0) throw new TypeError(\"RpcPromise constructor expected one argument, received two.\");\n let kind = typeForRpc(hook);\n if (kind === \"rpc-promise\") {\n let raw = unwrapStubAndPath(hook);\n if (raw.pathIfPromise.length > 0) super(raw.hook, raw.pathIfPromise);\n else {\n let adopted = raw.hook;\n raw.hook = DISPOSED_HOOK;\n super(adopted, []);\n }\n } else if (kind === \"rpc-thenable\") super(TargetStubHook.create(hook, void 0), []);\n else {\n let promiseHook = new PromiseStubHook(Promise.resolve(hook).then((value) => new PayloadStubHook(RpcPayload.fromAppReturn(value))));\n promiseHook.ignoreUnhandledRejections();\n super(promiseHook, []);\n }\n }\n }\n then(onfulfilled, onrejected) {\n return pullPromise(this).then(...arguments);\n }\n catch(onrejected) {\n return pullPromise(this).catch(...arguments);\n }\n finally(onfinally) {\n return pullPromise(this).finally(...arguments);\n }\n toString() {\n return \"[object RpcPromise]\";\n }\n};\nfunction unwrapStubTakingOwnership(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) return hook.get(pathIfPromise);\n else return hook;\n}\nfunction unwrapStubAndDup(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise) return hook.get(pathIfPromise);\n else return hook.dup();\n}\nfunction unwrapStubNoProperties(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) return;\n return hook;\n}\nfunction unwrapStubOrParent(stub) {\n return stub[RAW_STUB].hook;\n}\nfunction unwrapStubAndPath(stub) {\n return stub[RAW_STUB];\n}\nasync function pullPromise(promise) {\n let { hook, pathIfPromise } = promise[RAW_STUB];\n if (pathIfPromise.length > 0) hook = hook.get(pathIfPromise);\n return (await hook.pull()).deliverResolve();\n}\nvar RpcPayload = class RpcPayload2 {\n value;\n source;\n hooks;\n promises;\n static fromAppParams(value) {\n return new RpcPayload2(value, \"params\");\n }\n static fromAppReturn(value) {\n return new RpcPayload2(value, \"return\");\n }\n static fromArray(array) {\n let hooks = [];\n let promises = [];\n let resultArray = [];\n for (let payload of array) {\n payload.ensureDeepCopied();\n for (let hook of payload.hooks) hooks.push(hook);\n for (let promise of payload.promises) {\n if (promise.parent === payload) promise = {\n parent: resultArray,\n property: resultArray.length,\n promise: promise.promise\n };\n promises.push(promise);\n }\n resultArray.push(payload.value);\n }\n return new RpcPayload2(resultArray, \"owned\", hooks, promises);\n }\n static forEvaluate(hooks, promises) {\n return new RpcPayload2(null, \"owned\", hooks, promises);\n }\n static deepCopyFrom(value, oldParent, owner) {\n let result = new RpcPayload2(null, \"owned\", [], []);\n result.value = result.deepCopy(value, oldParent, \"value\", result, true, owner);\n return result;\n }\n constructor(value, source, hooks, promises) {\n this.value = value;\n this.source = source;\n this.hooks = hooks;\n this.promises = promises;\n }\n rpcTargets;\n getHookForRpcTarget(target, parent, dupStubs = true) {\n if (this.source === \"params\") {\n if (dupStubs) {\n let dupable = target;\n if (typeof dupable.dup === \"function\") target = dupable.dup();\n }\n return TargetStubHook.create(target, parent);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(target);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(target);\n return hook;\n }\n else {\n hook = TargetStubHook.create(target, parent);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(target, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw RpcTargets\");\n }\n getHookForWritableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") return streamImpl.createWritableStreamHook(stream);\n else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n else {\n hook = streamImpl.createWritableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw WritableStreams\");\n }\n getHookForReadableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") return streamImpl.createReadableStreamHook(stream);\n else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n else {\n hook = streamImpl.createReadableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw ReadableStreams\");\n }\n deepCopy(value, oldParent, property, parent, dupStubs, owner) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n return value;\n case \"primitive\":\n case \"bigint\":\n case \"date\":\n case \"bytes\":\n case \"blob\":\n case \"url\":\n case \"error\":\n case \"undefined\":\n return value;\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) result[i] = this.deepCopy(array[i], array, i, result, dupStubs, owner);\n return result;\n }\n case \"object\": {\n let result = {};\n let object = value;\n for (let i in object) result[i] = this.deepCopy(object[i], object, i, result, dupStubs, owner);\n return result;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook;\n if (dupStubs) hook = unwrapStubAndDup(stub);\n else hook = unwrapStubTakingOwnership(stub);\n if (stub instanceof RpcPromise$1) {\n let promise = new RpcPromise$1(hook, []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n } else {\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook;\n if (owner) hook = owner.getHookForRpcTarget(target, oldParent, dupStubs);\n else hook = TargetStubHook.create(target, oldParent);\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n case \"rpc-thenable\": {\n let target = value;\n let promise;\n if (owner) promise = new RpcPromise$1(owner.getHookForRpcTarget(target, oldParent, dupStubs), []);\n else promise = new RpcPromise$1(TargetStubHook.create(target, oldParent), []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n }\n case \"writable\": {\n let stream = value;\n let hook;\n if (owner) hook = owner.getHookForWritableStream(stream, oldParent, dupStubs);\n else hook = streamImpl.createWritableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n case \"readable\": {\n let stream = value;\n let hook;\n if (owner) hook = owner.getHookForReadableStream(stream, oldParent, dupStubs);\n else hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n case \"headers\":\n return new Headers(value);\n case \"request\": {\n let req = value;\n if (req.body) this.deepCopy(req.body, req, \"body\", req, dupStubs, owner);\n return new Request(req);\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.deepCopy(resp.body, resp, \"body\", resp, dupStubs, owner);\n return new Response(resp.body, resp);\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n ensureDeepCopied() {\n if (this.source !== \"owned\") {\n let dupStubs = this.source === \"params\";\n this.hooks = [];\n this.promises = [];\n try {\n this.value = this.deepCopy(this.value, void 0, \"value\", this, dupStubs, this);\n } catch (err) {\n this.hooks = void 0;\n this.promises = void 0;\n throw err;\n }\n this.source = \"owned\";\n if (this.rpcTargets && this.rpcTargets.size > 0) throw new Error(\"Not all rpcTargets were accounted for in deep-copy?\");\n this.rpcTargets = void 0;\n }\n }\n deliverTo(parent, property, promises) {\n this.ensureDeepCopied();\n if (this.value instanceof RpcPromise$1) RpcPayload2.deliverRpcPromiseTo(this.value, parent, property, promises);\n else {\n parent[property] = this.value;\n for (let record of this.promises) RpcPayload2.deliverRpcPromiseTo(record.promise, record.parent, record.property, promises);\n }\n }\n static deliverRpcPromiseTo(promise, parent, property, promises) {\n let hook = unwrapStubNoProperties(promise);\n if (!hook) throw new Error(\"property promises should have been resolved earlier\");\n let inner = hook.pull();\n if (inner instanceof RpcPayload2) inner.deliverTo(parent, property, promises);\n else promises.push(inner.then((payload) => {\n let subPromises = [];\n payload.deliverTo(parent, property, subPromises);\n if (subPromises.length > 0) return Promise.all(subPromises);\n }));\n }\n async deliverCall(func, thisArg) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let result = Function.prototype.apply.call(func, thisArg, this.value);\n if (result instanceof RpcPromise$1) return RpcPayload2.fromAppReturn(result);\n else return RpcPayload2.fromAppReturn(await result);\n } finally {\n this.dispose();\n }\n }\n async deliverStreamWrite(writer) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let chunk = this.value[0];\n if ((this.hooks.length > 0 || this.promises.length > 0) && chunk instanceof Object) {\n if (!(Symbol.dispose in chunk)) Object.defineProperty(chunk, Symbol.dispose, {\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n await writer.write(chunk);\n return RpcPayload2.fromAppReturn(void 0);\n }\n await writer.write(chunk);\n this.dispose();\n return RpcPayload2.fromAppReturn(void 0);\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n async deliverResolve() {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let result = this.value;\n if (result instanceof Object) {\n if (!(Symbol.dispose in result)) Object.defineProperty(result, Symbol.dispose, {\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n }\n return result;\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n dispose() {\n if (this.source === \"owned\") {\n this.hooks.forEach((hook) => hook.dispose());\n this.promises.forEach((promise) => promise.promise[Symbol.dispose]());\n } else if (this.source === \"return\") {\n this.disposeImpl(this.value, void 0);\n if (this.rpcTargets && this.rpcTargets.size > 0) throw new Error(\"Not all rpcTargets were accounted for in disposeImpl()?\");\n }\n this.source = \"owned\";\n this.hooks = [];\n this.promises = [];\n }\n disposeImpl(value, parent) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"url\":\n case \"error\":\n case \"undefined\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) this.disposeImpl(array[i], array);\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) this.disposeImpl(object[i], object);\n return;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let hook = unwrapStubNoProperties(value);\n if (hook) hook.dispose();\n return;\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n hook.dispose();\n this.rpcTargets.delete(target);\n } else disposeRpcTarget(target);\n return;\n }\n case \"rpc-thenable\":\n return;\n case \"headers\":\n return;\n case \"request\": {\n let req = value;\n if (req.body) this.disposeImpl(req.body, req);\n return;\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.disposeImpl(resp.body, resp);\n return;\n }\n case \"writable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) this.rpcTargets.delete(stream);\n else hook = streamImpl.createWritableStreamHook(stream);\n hook.dispose();\n return;\n }\n case \"readable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) this.rpcTargets.delete(stream);\n else hook = streamImpl.createReadableStreamHook(stream);\n hook.dispose();\n return;\n }\n default:\n return;\n }\n }\n ignoreUnhandledRejections() {\n if (this.hooks) {\n this.hooks.forEach((hook) => {\n hook.ignoreUnhandledRejections();\n });\n this.promises.forEach((promise) => unwrapStubOrParent(promise.promise).ignoreUnhandledRejections());\n } else this.ignoreUnhandledRejectionsImpl(this.value);\n }\n ignoreUnhandledRejectionsImpl(value) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n case \"function\":\n case \"rpc-target\":\n case \"writable\":\n case \"readable\":\n case \"url\":\n case \"headers\":\n case \"request\":\n case \"response\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) this.ignoreUnhandledRejectionsImpl(array[i]);\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) this.ignoreUnhandledRejectionsImpl(object[i]);\n return;\n }\n case \"stub\":\n case \"rpc-promise\":\n unwrapStubOrParent(value).ignoreUnhandledRejections();\n return;\n case \"rpc-thenable\":\n value.then((_) => {\n }, (_) => {\n });\n return;\n default:\n return;\n }\n }\n};\nfunction followPath(value, parent, path, owner) {\n for (let i = 0; i < path.length; i++) {\n parent = value;\n let part = path[i];\n if (part in Object.prototype) {\n value = void 0;\n continue;\n }\n switch (typeForRpc(value)) {\n case \"object\":\n case \"function\":\n if (Object.hasOwn(value, part)) value = value[part];\n else value = void 0;\n break;\n case \"array\":\n if (Number.isInteger(part) && part >= 0) value = value[part];\n else value = void 0;\n break;\n case \"rpc-target\":\n case \"rpc-thenable\":\n if (Object.hasOwn(value, part)) throw new TypeError(`Attempted to access property '${part}', which is an instance property of the RpcTarget. To avoid leaking private internals, instance properties cannot be accessed over RPC. If you want to make this property available over RPC, define it as a method or getter on the class, instead of an instance property.`);\n else value = value[part];\n owner = null;\n break;\n case \"stub\":\n case \"rpc-promise\": {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return {\n hook,\n remainingPath: pathIfPromise ? pathIfPromise.concat(path.slice(i)) : path.slice(i)\n };\n }\n case \"writable\":\n value = void 0;\n break;\n case \"readable\":\n value = void 0;\n break;\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"error\":\n case \"url\":\n case \"headers\":\n case \"request\":\n case \"response\":\n value = void 0;\n break;\n case \"undefined\":\n value = value[part];\n break;\n case \"unsupported\":\n if (i === 0) throw new TypeError(`RPC stub points at a non-serializable type.`);\n else {\n let prefix = path.slice(0, i).join(\".\");\n let remainder = path.slice(0, i).join(\".\");\n throw new TypeError(`'${prefix}' is not a serializable type, so property ${remainder} cannot be accessed.`);\n }\n default:\n throw new TypeError(\"unreachable\");\n }\n }\n if (value instanceof RpcPromise$1) {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return {\n hook,\n remainingPath: pathIfPromise || []\n };\n }\n return {\n value,\n parent,\n owner\n };\n}\nvar ValueStubHook = class extends StubHook {\n call(path, args) {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n } catch (err) {\n args.dispose();\n return new ErrorStubHook(err);\n }\n if (followResult.hook) return followResult.hook.call(followResult.remainingPath, args);\n if (typeof followResult.value != \"function\") {\n args.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new TypeError(`'${path.join(\".\")}' is not a function.`));\n }\n return new PromiseStubHook(args.deliverCall(followResult.value, followResult.parent).then((payload) => {\n return new PayloadStubHook(payload);\n }));\n }\n map(path, captures, instructions) {\n try {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n } catch (err) {\n for (let cap of captures) cap.dispose();\n throw err;\n }\n if (followResult.hook) return followResult.hook.map(followResult.remainingPath, captures, instructions);\n return mapImpl.applyMap(followResult.value, followResult.parent, followResult.owner, captures, instructions);\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n get(path) {\n try {\n let { value, owner } = this.getValue();\n if (path.length === 0 && owner === null) {\n if (value instanceof Object && \"then\" in value) return this.dup();\n throw new Error(\"Can't dup an RpcTarget stub as a promise.\");\n }\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) return followResult.hook.get(followResult.remainingPath);\n return new PayloadStubHook(RpcPayload.deepCopyFrom(followResult.value, followResult.parent, followResult.owner));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n};\nvar PayloadStubHook = class PayloadStubHook2 extends ValueStubHook {\n constructor(payload) {\n super();\n this.payload = payload;\n }\n payload;\n getPayload() {\n if (this.payload) return this.payload;\n else throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n getValue() {\n let payload = this.getPayload();\n return {\n value: payload.value,\n owner: payload\n };\n }\n dup() {\n let thisPayload = this.getPayload();\n return new PayloadStubHook2(RpcPayload.deepCopyFrom(thisPayload.value, void 0, thisPayload));\n }\n pull() {\n return this.getPayload();\n }\n ignoreUnhandledRejections() {\n if (this.payload) this.payload.ignoreUnhandledRejections();\n }\n dispose() {\n if (this.payload) {\n this.payload.dispose();\n this.payload = void 0;\n }\n }\n onBroken(callback) {\n if (this.payload) {\n if (this.payload.value instanceof RpcStub$1) this.payload.value.onRpcBroken(callback);\n }\n }\n};\nfunction disposeRpcTarget(target) {\n if (Symbol.dispose in target) try {\n target[Symbol.dispose]();\n } catch (err) {\n Promise.reject(err);\n }\n}\nvar TargetStubHook = class TargetStubHook2 extends ValueStubHook {\n static create(value, parent) {\n if (typeof value !== \"function\") parent = void 0;\n return new TargetStubHook2(value, parent);\n }\n constructor(target, parent, dupFrom) {\n super();\n this.target = target;\n this.parent = parent;\n if (dupFrom) {\n if (dupFrom.refcount) {\n this.refcount = dupFrom.refcount;\n ++this.refcount.count;\n }\n } else if (Symbol.dispose in target) this.refcount = { count: 1 };\n }\n target;\n parent;\n refcount;\n getTarget() {\n if (this.target) return this.target;\n else throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n getValue() {\n return {\n value: this.getTarget(),\n owner: null\n };\n }\n dup() {\n return new TargetStubHook2(this.getTarget(), this.parent, this);\n }\n pull() {\n let target = this.getTarget();\n if (\"then\" in target) return Promise.resolve(target).then((resolution) => {\n return RpcPayload.fromAppReturn(resolution);\n });\n else return Promise.reject(/* @__PURE__ */ new Error(\"Tried to resolve a non-promise stub.\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n if (this.target) {\n if (this.refcount) {\n if (--this.refcount.count == 0) disposeRpcTarget(this.target);\n }\n this.target = void 0;\n }\n }\n onBroken(callback) {\n let target = this.target;\n if (target && \"then\" in target) Promise.resolve(target).then(() => {\n }, callback);\n }\n};\nvar PromiseStubHook = class PromiseStubHook2 extends StubHook {\n promise;\n resolution;\n constructor(promise) {\n super();\n this.promise = promise.then((res) => {\n this.resolution = res;\n return res;\n });\n }\n call(path, args) {\n args.ensureDeepCopied();\n return new PromiseStubHook2(this.promise.then((hook) => hook.call(path, args), (err) => {\n args.dispose();\n throw err;\n }));\n }\n stream(path, args) {\n args.ensureDeepCopied();\n return { promise: this.promise.then((hook) => hook.stream(path, args).promise, (err) => {\n args.dispose();\n throw err;\n }) };\n }\n map(path, captures, instructions) {\n return new PromiseStubHook2(this.promise.then((hook) => hook.map(path, captures, instructions), (err) => {\n for (let cap of captures) cap.dispose();\n throw err;\n }));\n }\n get(path) {\n return new PromiseStubHook2(this.promise.then((hook) => hook.get(path)));\n }\n dup() {\n if (this.resolution) return this.resolution.dup();\n else return new PromiseStubHook2(this.promise.then((hook) => hook.dup()));\n }\n pull() {\n if (this.resolution) return this.resolution.pull();\n else return this.promise.then((hook) => hook.pull());\n }\n ignoreUnhandledRejections() {\n if (this.resolution) this.resolution.ignoreUnhandledRejections();\n else this.promise.then((res) => {\n res.ignoreUnhandledRejections();\n }, (err) => {\n });\n }\n dispose() {\n this.promise.then((hook) => hook.dispose(), () => {\n });\n }\n onBroken(callback) {\n if (this.resolution) this.resolution.onBroken(callback);\n else this.promise.then((hook) => {\n hook.onBroken(callback);\n }, callback);\n }\n};\nvar DEFAULT_LIMITS = {\n maxBigIntDigits: 16384,\n maxDepth: 256,\n maxMessageSize: 32 * 1024 * 1024\n};\nvar NATIVE_LITTLE_ENDIAN = new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\nvar BYTE_CONTAINER_TYPE_NAMES = [\n \"ArrayBuffer\",\n \"DataView\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Uint16Array\",\n \"Int32Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Float32Array\",\n \"Float64Array\"\n];\nfunction isValidByteContainerName(value) {\n return BYTE_CONTAINER_TYPE_NAMES.includes(value);\n}\nvar TYPED_ARRAY_ELEMENT_SIZE = {\n ArrayBuffer: void 0,\n DataView: void 0,\n Int8Array: void 0,\n Uint8Array: void 0,\n Uint8ClampedArray: void 0,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n BigInt64Array: 8,\n BigUint64Array: 8,\n Float32Array: 4,\n Float64Array: 8\n};\nvar BYTE_CONTAINER_PROTOTYPES = {\n ArrayBuffer: ArrayBuffer.prototype,\n DataView: DataView.prototype,\n Int8Array: Int8Array.prototype,\n Uint8ClampedArray: Uint8ClampedArray.prototype,\n Int16Array: Int16Array.prototype,\n Uint16Array: Uint16Array.prototype,\n Int32Array: Int32Array.prototype,\n Uint32Array: Uint32Array.prototype,\n BigInt64Array: BigInt64Array.prototype,\n BigUint64Array: BigUint64Array.prototype,\n Float32Array: Float32Array.prototype,\n Float64Array: Float64Array.prototype\n};\nvar BYTE_CONTAINER_TYPE_BY_PROTOTYPE = /* @__PURE__ */ new Map();\nfor (let type of Object.keys(BYTE_CONTAINER_PROTOTYPES)) BYTE_CONTAINER_TYPE_BY_PROTOTYPE.set(BYTE_CONTAINER_PROTOTYPES[type], type);\nfunction swapByteOrder(bytes, elementSize) {\n if (elementSize !== 2 && elementSize !== 4 && elementSize !== 8) throw new RangeError(`Unsupported element size: ${elementSize}`);\n let view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n for (let offset = 0; offset < bytes.byteLength; offset += elementSize) switch (elementSize) {\n case 2:\n view.setUint16(offset, view.getUint16(offset, false), true);\n break;\n case 4:\n view.setUint32(offset, view.getUint32(offset, false), true);\n break;\n case 8:\n view.setBigUint64(offset, view.getBigUint64(offset, false), true);\n break;\n }\n}\nvar NullExporter = class {\n exportStub(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n exportPromise(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n getImport(hook) {\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot create pipes without an RPC session.\");\n }\n onSendError(error) {\n }\n};\nvar NULL_EXPORTER = new NullExporter();\nasync function streamToBlob(stream, type) {\n let b = await new Response(stream).blob();\n return b.type === type ? b : b.slice(0, b.size, type);\n}\nvar ERROR_TYPES = {\n __proto__: null,\n Error,\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n AggregateError\n};\nvar Devaluator = class Devaluator2 {\n exporter;\n source;\n encodingLevel;\n constructor(exporter, source, encodingLevel) {\n this.exporter = exporter;\n this.source = source;\n this.encodingLevel = encodingLevel;\n }\n static devaluate(value, parent, exporter = NULL_EXPORTER, source, encodingLevel = \"string\") {\n let devaluator = new Devaluator2(exporter, source, encodingLevel);\n try {\n return devaluator.devaluateImpl(value, parent, 0);\n } catch (err) {\n if (devaluator.exports) try {\n exporter.unexport(devaluator.exports);\n } catch (err2) {\n }\n throw err;\n }\n }\n exports;\n devaluateImpl(value, parent, depth) {\n if (depth >= 256) throw new Error(\"Serialization exceeded maximum allowed depth. (Does the message contain cycles?)\");\n switch (typeForRpc(value)) {\n case \"unsupported\": {\n let msg;\n try {\n msg = `Cannot serialize value: ${value}`;\n } catch (err) {\n msg = \"Cannot serialize value: (couldn't stringify value)\";\n }\n throw new TypeError(msg);\n }\n case \"primitive\":\n if (typeof value === \"number\" && !isFinite(value)) {\n if (this.encodingLevel === \"structuredClonable\") return value;\n if (value === Infinity) return [\"inf\"];\n else if (value === -Infinity) return [\"-inf\"];\n else return [\"nan\"];\n } else return value;\n case \"object\": {\n let object = value;\n let result = {};\n for (let key in object) result[key] = this.devaluateImpl(object[key], object, depth + 1);\n return result;\n }\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) result[i] = this.devaluateImpl(array[i], array, depth + 1);\n return [result];\n }\n case \"bigint\":\n if (this.encodingLevel === \"structuredClonable\") return value;\n return [\"bigint\", value.toString()];\n case \"date\": {\n if (this.encodingLevel === \"structuredClonable\") return value;\n const time = value.getTime();\n return [\"date\", Number.isNaN(time) ? null : time];\n }\n case \"bytes\": {\n let alternateTypeName = BYTE_CONTAINER_TYPE_BY_PROTOTYPE.get(Object.getPrototypeOf(value));\n let bytes;\n if (alternateTypeName === \"ArrayBuffer\") bytes = new Uint8Array(value);\n else if (alternateTypeName === void 0) bytes = value;\n else {\n let view = value;\n bytes = new Uint8Array(view.buffer, view.byteOffset, view.byteLength);\n let elementSize = TYPED_ARRAY_ELEMENT_SIZE[alternateTypeName];\n if (!NATIVE_LITTLE_ENDIAN && elementSize) {\n bytes = bytes.slice();\n swapByteOrder(bytes, elementSize);\n }\n }\n if (this.encodingLevel === \"structuredClonable\" || this.encodingLevel === \"jsonCompatibleWithBytes\") return alternateTypeName === void 0 ? [\"bytes\", bytes] : [\n \"bytes\",\n bytes,\n alternateTypeName\n ];\n let b64;\n if (bytes.toBase64) b64 = bytes.toBase64({ omitPadding: true });\n else if (typeof Buffer !== \"undefined\") b64 = (bytes instanceof Buffer ? bytes : Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength)).toString(\"base64\");\n else {\n let binary = \"\";\n for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);\n b64 = btoa(binary);\n }\n b64 = b64.replace(/=+$/, \"\");\n return alternateTypeName === void 0 ? [\"bytes\", b64] : [\n \"bytes\",\n b64,\n alternateTypeName\n ];\n }\n case \"url\":\n return [\"url\", value.href];\n case \"headers\":\n return [\"headers\", [...value]];\n case \"request\": {\n let req = value;\n let init = {};\n if (req.method !== \"GET\") init.method = req.method;\n let headers = [...req.headers];\n if (headers.length > 0) init.headers = headers;\n if (req.body) {\n init.body = this.devaluateImpl(req.body, req, depth + 1);\n init.duplex = req.duplex || \"half\";\n } else if (req.body === void 0 && ![\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"TRACE\",\n \"DELETE\"\n ].includes(req.method)) {\n let bodyPromise = req.arrayBuffer();\n let readable = new ReadableStream({ async start(controller) {\n try {\n controller.enqueue(new Uint8Array(await bodyPromise));\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n } });\n let hook = streamImpl.createReadableStreamHook(readable);\n init.body = [\"readable\", this.exporter.createPipe(readable, hook)];\n init.duplex = req.duplex || \"half\";\n }\n if (req.cache && req.cache !== \"default\") init.cache = req.cache;\n if (req.redirect !== \"follow\") init.redirect = req.redirect;\n if (req.integrity) init.integrity = req.integrity;\n if (req.mode && req.mode !== \"cors\") init.mode = req.mode;\n if (req.credentials && req.credentials !== \"same-origin\") init.credentials = req.credentials;\n if (req.referrer && req.referrer !== \"about:client\") init.referrer = req.referrer;\n if (req.referrerPolicy) init.referrerPolicy = req.referrerPolicy;\n if (req.keepalive) init.keepalive = req.keepalive;\n let cfReq = req;\n if (cfReq.cf) init.cf = cfReq.cf;\n if (cfReq.encodeResponseBody && cfReq.encodeResponseBody !== \"automatic\") init.encodeResponseBody = cfReq.encodeResponseBody;\n return [\n \"request\",\n req.url,\n init\n ];\n }\n case \"response\": {\n let resp = value;\n let body = this.devaluateImpl(resp.body, resp, depth + 1);\n let init = {};\n if (resp.status !== 200) init.status = resp.status;\n if (resp.statusText) init.statusText = resp.statusText;\n let headers = [...resp.headers];\n if (headers.length > 0) init.headers = headers;\n let cfResp = resp;\n if (cfResp.cf) init.cf = cfResp.cf;\n if (cfResp.encodeBody && cfResp.encodeBody !== \"automatic\") init.encodeBody = cfResp.encodeBody;\n if (cfResp.webSocket) throw new TypeError(\"Can't serialize a Response containing a webSocket.\");\n return [\n \"response\",\n body,\n init\n ];\n }\n case \"blob\": {\n let blob = value;\n let readable = blob.stream();\n let hook = streamImpl.createReadableStreamHook(readable);\n let importId = this.exporter.createPipe(readable, hook);\n return [\n \"blob\",\n blob.type,\n [\"readable\", importId]\n ];\n }\n case \"error\": {\n let e = value;\n let rewritten = this.exporter.onSendError(e);\n if (rewritten) e = rewritten;\n let anyE = e;\n let props;\n let captureProp = (key, val) => {\n let exportsBefore = this.exports?.length ?? 0;\n try {\n let encoded = this.devaluateImpl(val, e, depth + 1);\n if (!props) props = {};\n props[key] = encoded;\n } catch (err) {\n if (this.exports && this.exports.length > exportsBefore) {\n let tail = this.exports.splice(exportsBefore);\n try {\n this.exporter.unexport(tail);\n } catch (err2) {\n }\n }\n }\n };\n for (let key of Object.keys(e)) {\n if (key === \"name\" || key === \"message\" || key === \"stack\") continue;\n captureProp(key, anyE[key]);\n }\n if (\"cause\" in e) captureProp(\"cause\", anyE.cause);\n if (e instanceof AggregateError) captureProp(\"errors\", e.errors);\n let result = [\n \"error\",\n e.name,\n e.message\n ];\n if (props) {\n result.push(rewritten && rewritten.stack ? rewritten.stack : null);\n result.push(props);\n } else if (rewritten && rewritten.stack) result.push(rewritten.stack);\n return result;\n }\n case \"undefined\":\n if (this.encodingLevel === \"structuredClonable\") return;\n return [\"undefined\"];\n case \"stub\":\n case \"rpc-promise\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n let importId = this.exporter.getImport(hook);\n if (importId !== void 0) if (pathIfPromise) if (pathIfPromise.length > 0) return [\n \"pipeline\",\n importId,\n pathIfPromise\n ];\n else return [\"pipeline\", importId];\n else return [\"import\", importId];\n if (pathIfPromise) hook = hook.get(pathIfPromise);\n else hook = hook.dup();\n return this.devaluateHook(pathIfPromise ? \"promise\" : \"export\", hook);\n }\n case \"function\":\n case \"rpc-target\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"export\", hook);\n }\n case \"rpc-thenable\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"promise\", hook);\n }\n case \"writable\": {\n if (!this.source) throw new Error(\"Can't serialize WritableStream in this context.\");\n let hook = this.source.getHookForWritableStream(value, parent);\n return this.devaluateHook(\"writable\", hook);\n }\n case \"readable\": {\n if (!this.source) throw new Error(\"Can't serialize ReadableStream in this context.\");\n let ws = value;\n let hook = this.source.getHookForReadableStream(ws, parent);\n return [\"readable\", this.exporter.createPipe(ws, hook)];\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n devaluateHook(type, hook) {\n if (!this.exports) this.exports = [];\n let exportId = type === \"promise\" ? this.exporter.exportPromise(hook) : this.exporter.exportStub(hook);\n this.exports.push(exportId);\n return [type, exportId];\n }\n};\nvar NullImporter = class {\n importStub(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n importPromise(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n getExport(idx) {\n }\n getPipeReadable(exportId) {\n throw new Error(\"Cannot retrieve pipe readable without an RPC session.\");\n }\n getLimits() {\n return DEFAULT_LIMITS;\n }\n};\nvar NULL_IMPORTER = new NullImporter();\nfunction fixBrokenRequestBody(request, body) {\n return new RpcPromise$1(new PromiseStubHook(new Response(body).arrayBuffer().then((arrayBuffer) => {\n let bytes = new Uint8Array(arrayBuffer);\n let result = new Request(request, { body: bytes });\n return new PayloadStubHook(RpcPayload.fromAppReturn(result));\n })), []);\n}\nfunction streamToBlobPromise(stream, type) {\n return new RpcPromise$1(new PromiseStubHook(streamToBlob(stream, type).then((blob) => {\n return new PayloadStubHook(RpcPayload.fromAppReturn(blob));\n })), []);\n}\nvar Evaluator = class Evaluator2 {\n importer;\n encodingLevel;\n limits;\n constructor(importer, encodingLevel = \"string\") {\n this.importer = importer;\n this.encodingLevel = encodingLevel;\n this.limits = importer.getLimits();\n }\n hooks = [];\n promises = [];\n evaluate(value) {\n return this.evaluateWithDepth(value, 0);\n }\n evaluateWithDepth(value, depth) {\n let payload = RpcPayload.forEvaluate(this.hooks, this.promises);\n try {\n payload.value = this.evaluateImpl(value, payload, \"value\", depth);\n return payload;\n } catch (err) {\n payload.dispose();\n throw err;\n }\n }\n evaluateCopy(value) {\n return this.evaluate(structuredClone(value));\n }\n evaluateImpl(value, parent, property, depth) {\n let maxDepth = this.limits.maxDepth;\n if (depth >= maxDepth) throw new TypeError(`Deserialization exceeded maximum allowed message depth of ${maxDepth}.`);\n if (this.encodingLevel === \"structuredClonable\") {\n if (value instanceof Date || typeof value === \"bigint\") return value;\n }\n if (value instanceof Array) {\n if (value.length == 1 && value[0] instanceof Array) {\n let result = value[0];\n for (let i = 0; i < result.length; i++) result[i] = this.evaluateImpl(result[i], result, i, depth + 1);\n return result;\n } else switch (value[0]) {\n case \"bigint\":\n if (typeof value[1] == \"string\") {\n let digits = value[1];\n let maxBigIntDigits = this.limits.maxBigIntDigits;\n if (digits.length > maxBigIntDigits) throw new TypeError(`Deserialized bigint exceeds maximum length of ${maxBigIntDigits} digits.`);\n return BigInt(digits);\n }\n break;\n case \"date\":\n if (value[1] === null) return /* @__PURE__ */ new Date(NaN);\n if (typeof value[1] == \"number\") return new Date(value[1]);\n break;\n case \"bytes\": {\n let bytes;\n if (value[1] instanceof Uint8Array) bytes = value[1];\n else if (typeof value[1] == \"string\") if (typeof Buffer !== \"undefined\") bytes = Buffer.from(value[1], \"base64\");\n else if (Uint8Array.fromBase64) bytes = Uint8Array.fromBase64(value[1]);\n else {\n let bs = atob(value[1]);\n let len = bs.length;\n bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) bytes[i] = bs.charCodeAt(i);\n }\n else break;\n if (value.length === 2) return bytes;\n if (typeof value[2] !== \"string\") throw new TypeError(`Unknown bytes type marker type: ${typeof value[2]}`);\n if (!isValidByteContainerName(value[2])) {\n let marker2 = value[2].slice(0, 64);\n throw new TypeError(`Unknown bytes type marker: ${marker2}`);\n }\n let marker = value[2];\n let elementSize = TYPED_ARRAY_ELEMENT_SIZE[marker];\n if (elementSize !== void 0 && bytes.byteLength % elementSize !== 0) throw new TypeError(`Invalid byte length ${bytes.byteLength} for ${marker}; expected a multiple of ${elementSize}`);\n let buffer = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n if (!NATIVE_LITTLE_ENDIAN && elementSize !== void 0) swapByteOrder(new Uint8Array(buffer), elementSize);\n switch (marker) {\n case \"ArrayBuffer\":\n return buffer;\n case \"DataView\":\n return new DataView(buffer);\n case \"Int8Array\":\n return new Int8Array(buffer);\n case \"Uint8Array\":\n return new Uint8Array(buffer);\n case \"Uint8ClampedArray\":\n return new Uint8ClampedArray(buffer);\n case \"Int16Array\":\n return new Int16Array(buffer);\n case \"Uint16Array\":\n return new Uint16Array(buffer);\n case \"Int32Array\":\n return new Int32Array(buffer);\n case \"Uint32Array\":\n return new Uint32Array(buffer);\n case \"BigInt64Array\":\n return new BigInt64Array(buffer);\n case \"BigUint64Array\":\n return new BigUint64Array(buffer);\n case \"Float32Array\":\n return new Float32Array(buffer);\n case \"Float64Array\":\n return new Float64Array(buffer);\n default:\n }\n }\n case \"error\":\n if (value.length >= 3 && typeof value[1] === \"string\" && typeof value[2] === \"string\") {\n let cls = ERROR_TYPES[value[1]] || Error;\n let result = cls === AggregateError ? new cls([], value[2]) : new cls(value[2]);\n if (typeof value[3] === \"string\") result.stack = value[3];\n if (value.length >= 5) {\n let props = value[4];\n if (!props || typeof props !== \"object\" || Array.isArray(props)) break;\n let anyResult = result;\n let propsObj = props;\n for (let key of Object.keys(propsObj)) {\n if (key === \"name\" || key === \"message\" || key === \"stack\") continue;\n if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(propsObj[key], result, key, depth + 1);\n continue;\n }\n anyResult[key] = this.evaluateImpl(propsObj[key], result, key, depth + 1);\n }\n }\n return result;\n }\n break;\n case \"undefined\":\n if (value.length === 1) return;\n break;\n case \"inf\":\n return Infinity;\n case \"-inf\":\n return -Infinity;\n case \"nan\":\n return NaN;\n case \"url\":\n if (value.length === 2 && typeof value[1] === \"string\") return new URL(value[1]);\n break;\n case \"headers\":\n if (value.length === 2 && value[1] instanceof Array) return new Headers(value[1]);\n break;\n case \"request\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let url = value[1];\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.body) {\n init.body = this.evaluateImpl(init.body, init, \"body\", depth + 1);\n if (init.body === null || typeof init.body === \"string\" || init.body instanceof Uint8Array || init.body instanceof ReadableStream) {\n } else throw new TypeError(\"Request body must be of type ReadableStream.\");\n }\n if (init.signal) {\n init.signal = this.evaluateImpl(init.signal, init, \"signal\", depth + 1);\n if (!(init.signal instanceof AbortSignal)) throw new TypeError(\"Request siganl must be of type AbortSignal.\");\n }\n if (init.headers && !(init.headers instanceof Array)) throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n let result = new Request(url, init);\n if (init.body instanceof ReadableStream && result.body === void 0) {\n let promise = fixBrokenRequestBody(result, init.body);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n } else return result;\n }\n case \"response\": {\n if (value.length !== 3) break;\n let body = this.evaluateImpl(value[1], parent, property, depth + 1);\n if (body === null || typeof body === \"string\" || body instanceof Uint8Array || body instanceof ReadableStream) {\n } else throw new TypeError(\"Response body must be of type ReadableStream.\");\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.webSocket) throw new TypeError(\"Can't deserialize a Response containing a webSocket.\");\n if (init.headers && !(init.headers instanceof Array)) throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n return new Response(body, init);\n }\n case \"blob\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let contentType = value[1];\n let content = this.evaluateImpl(value[2], parent, property, depth + 1);\n if (!(content instanceof ReadableStream)) throw new TypeError(\"Blob content must be serialized as a ReadableStream.\");\n let promise = streamToBlobPromise(content, contentType);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n }\n case \"import\":\n case \"pipeline\": {\n if (value.length < 2 || value.length > 4) break;\n if (typeof value[1] != \"number\") break;\n let hook = this.importer.getExport(value[1]);\n if (!hook) throw new Error(`no such entry on exports table: ${value[1]}`);\n let isPromise = value[0] == \"pipeline\";\n let addStub = (hook2) => {\n if (isPromise) {\n let promise = new RpcPromise$1(hook2, []);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n } else {\n this.hooks.push(hook2);\n return new RpcPromise$1(hook2, []);\n }\n };\n if (value.length == 2) if (isPromise) return addStub(hook.get([]));\n else return addStub(hook.dup());\n let path = value[2];\n if (!(path instanceof Array)) break;\n if (!path.every((part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n })) break;\n if (value.length == 3) return addStub(hook.get(path));\n let args = value[3];\n if (!(args instanceof Array)) break;\n args = new Evaluator2(this.importer).evaluateWithDepth([args], depth);\n return addStub(hook.call(path, args));\n }\n case \"remap\": {\n if (value.length !== 5 || typeof value[1] !== \"number\" || !(value[2] instanceof Array) || !(value[3] instanceof Array) || !(value[4] instanceof Array)) break;\n let hook = this.importer.getExport(value[1]);\n if (!hook) throw new Error(`no such entry on exports table: ${value[1]}`);\n let path = value[2];\n if (!path.every((part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n })) break;\n let captures = value[3].map((cap) => {\n if (!(cap instanceof Array) || cap.length !== 2 || cap[0] !== \"import\" && cap[0] !== \"export\" || typeof cap[1] !== \"number\") throw new TypeError(`unknown map capture: ${JSON.stringify(cap)}`);\n if (cap[0] === \"export\") return this.importer.importStub(cap[1]);\n else {\n let exp = this.importer.getExport(cap[1]);\n if (!exp) throw new Error(`no such entry on exports table: ${cap[1]}`);\n return exp.dup();\n }\n });\n let instructions = value[4];\n let promise = new RpcPromise$1(hook.map(path, captures, instructions), []);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n }\n case \"export\":\n case \"promise\":\n if (typeof value[1] == \"number\") if (value[0] == \"promise\") {\n let promise = new RpcPromise$1(this.importer.importPromise(value[1]), []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n } else {\n let hook = this.importer.importStub(value[1]);\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n break;\n case \"writable\":\n if (typeof value[1] == \"number\") {\n let hook = this.importer.importStub(value[1]);\n let stream = streamImpl.createWritableStreamFromHook(hook);\n this.hooks.push(hook);\n return stream;\n }\n break;\n case \"readable\":\n if (typeof value[1] == \"number\") {\n let stream = this.importer.getPipeReadable(value[1]);\n let hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n break;\n }\n throw new TypeError(`unknown special value: ${JSON.stringify(value)}`);\n } else if (value instanceof Object) {\n let result = value;\n for (let key in result) if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(result[key], result, key, depth + 1);\n delete result[key];\n } else result[key] = this.evaluateImpl(result[key], result, key, depth + 1);\n return result;\n } else return value;\n }\n};\nvar ESTIMATED_OBJECT_OVERHEAD = 16;\nvar ESTIMATED_ENTRY_OVERHEAD = 8;\nvar ESTIMATED_BINARY_OVERHEAD = 16;\nvar MAX_ESTIMATE_DEPTH = 64;\nfunction estimateStringSize(value) {\n return 2 + value.length * 3;\n}\nfunction estimateEncodedSize(value, seen, depth = 0) {\n if (depth >= MAX_ESTIMATE_DEPTH) return ESTIMATED_ENTRY_OVERHEAD;\n switch (typeof value) {\n case \"string\":\n return estimateStringSize(value);\n case \"number\":\n return 16;\n case \"bigint\":\n return 16;\n case \"boolean\":\n return 8;\n case \"undefined\":\n return 16;\n case \"object\": {\n if (value === null) return 8;\n if (ArrayBuffer.isView(value)) return ESTIMATED_BINARY_OVERHEAD + value.byteLength;\n if (value instanceof ArrayBuffer) return ESTIMATED_BINARY_OVERHEAD + value.byteLength;\n if (typeof Blob !== \"undefined\" && value instanceof Blob) return ESTIMATED_BINARY_OVERHEAD + value.size;\n if (value instanceof Date) return 16;\n seen ??= /* @__PURE__ */ new WeakSet();\n if (seen.has(value)) return ESTIMATED_ENTRY_OVERHEAD;\n seen.add(value);\n if (value instanceof Array) {\n let size2 = ESTIMATED_OBJECT_OVERHEAD;\n for (let item of value) size2 += ESTIMATED_ENTRY_OVERHEAD + estimateEncodedSize(item, seen, depth + 1);\n return size2;\n }\n if (value instanceof Error) {\n let size2 = ESTIMATED_OBJECT_OVERHEAD + estimateStringSize(value.name) + estimateStringSize(value.message) + estimateStringSize(value.stack ?? \"\");\n for (let key of Object.keys(value)) size2 += ESTIMATED_ENTRY_OVERHEAD + estimateStringSize(key) + estimateEncodedSize(value[key], seen, depth + 1);\n return size2;\n }\n let size = ESTIMATED_OBJECT_OVERHEAD;\n for (let key of Object.keys(value)) size += ESTIMATED_ENTRY_OVERHEAD + estimateStringSize(key) + estimateEncodedSize(value[key], seen, depth + 1);\n return size;\n }\n default:\n return 16;\n }\n}\nvar ImportTableEntry = class {\n session;\n importId;\n constructor(session, importId, pulling) {\n this.session = session;\n this.importId = importId;\n if (pulling) this.activePull = Promise.withResolvers();\n }\n localRefcount = 0;\n remoteRefcount = 1;\n activePull;\n resolution;\n onBrokenRegistrations;\n resolve(resolution) {\n if (this.localRefcount == 0) {\n resolution.dispose();\n return;\n }\n this.resolution = resolution;\n this.sendRelease();\n if (this.onBrokenRegistrations) {\n for (let i of this.onBrokenRegistrations) {\n let callback = this.session.onBrokenCallbacks[i];\n let endIndex = this.session.onBrokenCallbacks.length;\n resolution.onBroken(callback);\n if (this.session.onBrokenCallbacks[endIndex] === callback) delete this.session.onBrokenCallbacks[endIndex];\n else delete this.session.onBrokenCallbacks[i];\n }\n this.onBrokenRegistrations = void 0;\n }\n if (this.activePull) {\n this.activePull.resolve();\n this.activePull = void 0;\n }\n }\n async awaitResolution() {\n if (!this.activePull) {\n this.session.sendPull(this.importId);\n this.activePull = Promise.withResolvers();\n }\n await this.activePull.promise;\n return this.resolution.pull();\n }\n dispose() {\n if (this.resolution) this.resolution.dispose();\n else {\n this.abort(/* @__PURE__ */ new Error(\"RPC was canceled because the RpcPromise was disposed.\"));\n this.sendRelease();\n }\n }\n abort(error) {\n if (!this.resolution) {\n this.resolution = new ErrorStubHook(error);\n if (this.activePull) {\n this.activePull.reject(error);\n this.activePull = void 0;\n }\n this.onBrokenRegistrations = void 0;\n }\n }\n onBroken(callback) {\n if (this.resolution) this.resolution.onBroken(callback);\n else {\n let index = this.session.onBrokenCallbacks.length;\n this.session.onBrokenCallbacks.push(callback);\n if (!this.onBrokenRegistrations) this.onBrokenRegistrations = [];\n this.onBrokenRegistrations.push(index);\n }\n }\n sendRelease() {\n if (this.remoteRefcount > 0) {\n this.session.sendRelease(this.importId, this.remoteRefcount);\n this.remoteRefcount = 0;\n }\n }\n};\nvar RpcImportHook = class RpcImportHook2 extends StubHook {\n isPromise;\n entry;\n constructor(isPromise, entry) {\n super();\n this.isPromise = isPromise;\n ++entry.localRefcount;\n this.entry = entry;\n }\n collectPath(path) {\n return this;\n }\n getEntry() {\n if (this.entry) return this.entry;\n else throw new Error(\"This RpcImportHook was already disposed.\");\n }\n getEntryTakingOwnership(disposeOwned) {\n try {\n return this.getEntry();\n } catch (err) {\n disposeOwned();\n throw err;\n }\n }\n call(path, args) {\n let entry = this.getEntryTakingOwnership(() => args.dispose());\n if (entry.resolution) return entry.resolution.call(path, args);\n else return entry.session.sendCall(entry.importId, path, args);\n }\n stream(path, args) {\n let entry = this.getEntryTakingOwnership(() => args.dispose());\n if (entry.resolution) return entry.resolution.stream(path, args);\n else return entry.session.sendStream(entry.importId, path, args);\n }\n map(path, captures, instructions) {\n let entry = this.getEntryTakingOwnership(() => {\n for (let cap of captures) cap.dispose();\n });\n if (entry.resolution) return entry.resolution.map(path, captures, instructions);\n else return entry.session.sendMap(entry.importId, path, captures, instructions);\n }\n get(path) {\n let entry = this.getEntry();\n if (entry.resolution) return entry.resolution.get(path);\n else return entry.session.sendCall(entry.importId, path);\n }\n dup() {\n return new RpcImportHook2(false, this.getEntry());\n }\n pull() {\n let entry = this.getEntry();\n if (!this.isPromise) throw new Error(\"Can't pull this hook because it's not a promise hook.\");\n if (entry.resolution) return entry.resolution.pull();\n return entry.awaitResolution();\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let entry = this.entry;\n this.entry = void 0;\n if (entry) {\n if (--entry.localRefcount === 0) entry.dispose();\n }\n }\n onBroken(callback) {\n if (this.entry) this.entry.onBroken(callback);\n }\n};\nvar RpcMainHook = class extends RpcImportHook {\n session;\n constructor(entry) {\n super(false, entry);\n this.session = entry.session;\n }\n dispose() {\n if (this.session) {\n let session = this.session;\n this.session = void 0;\n session.shutdown();\n }\n }\n};\nvar RpcSessionImpl = class {\n transport;\n options;\n exports = [];\n reverseExports = /* @__PURE__ */ new Map();\n imports = [];\n abortReason;\n cancelReadLoop;\n nextExportId = -1;\n onBatchDone;\n pullCount = 0;\n onBrokenCallbacks = [];\n encodingLevel;\n limits;\n constructor(transport, mainHook, options) {\n this.transport = transport;\n this.options = options;\n let level = \"string\";\n if (\"encodingLevel\" in transport) {\n let raw = transport.encodingLevel;\n if (raw !== void 0) {\n if (raw !== \"string\" && raw !== \"jsonCompatible\" && raw !== \"jsonCompatibleWithBytes\" && raw !== \"structuredClonable\") throw new TypeError(`Unknown transport encodingLevel: ${String(raw)}`);\n level = raw;\n }\n }\n this.encodingLevel = level;\n this.limits = {\n ...DEFAULT_LIMITS,\n ...options.limits\n };\n this.exports.push({\n hook: mainHook,\n refcount: 1\n });\n this.imports.push(new ImportTableEntry(this, 0, false));\n this.readLoop().catch((err) => this.abort(err));\n }\n getMainImport() {\n return new RpcMainHook(this.imports[0]);\n }\n shutdown() {\n this.abort(/* @__PURE__ */ new Error(\"RPC session was shut down by disposing the main stub\"), false);\n }\n exportStub(hook) {\n if (this.abortReason) throw this.abortReason;\n let existingExportId = this.reverseExports.get(hook);\n if (existingExportId !== void 0) {\n ++this.exports[existingExportId].refcount;\n return existingExportId;\n } else {\n let exportId = this.nextExportId--;\n this.exports[exportId] = {\n hook,\n refcount: 1\n };\n this.reverseExports.set(hook, exportId);\n return exportId;\n }\n }\n exportPromise(hook) {\n if (this.abortReason) throw this.abortReason;\n let exportId = this.nextExportId--;\n this.exports[exportId] = {\n hook,\n refcount: 1\n };\n this.reverseExports.set(hook, exportId);\n this.ensureResolvingExport(exportId);\n return exportId;\n }\n unexport(ids) {\n for (let id of ids) this.releaseExport(id, 1);\n }\n releaseExport(exportId, refcount) {\n let entry = this.exports[exportId];\n if (!entry) throw new Error(`no such export ID: ${exportId}`);\n if (entry.refcount < refcount) throw new Error(`refcount would go negative: ${entry.refcount} < ${refcount}`);\n entry.refcount -= refcount;\n if (entry.refcount === 0) {\n delete this.exports[exportId];\n this.reverseExports.delete(entry.hook);\n entry.hook.dispose();\n }\n }\n onSendError(error) {\n if (this.options.onSendError) return this.options.onSendError(error);\n }\n ensureResolvingExport(exportId) {\n let exp = this.exports[exportId];\n if (!exp) throw new Error(`no such export ID: ${exportId}`);\n if (!exp.pull) {\n let resolve = async () => {\n let hook = exp.hook;\n for (; ; ) {\n let payload = await hook.pull();\n if (payload.value instanceof RpcStub$1) {\n let { hook: inner, pathIfPromise } = unwrapStubAndPath(payload.value);\n if (pathIfPromise && pathIfPromise.length == 0) {\n if (this.getImport(hook) === void 0) {\n hook = inner;\n continue;\n }\n }\n }\n return payload;\n }\n };\n let autoRelease = exp.autoRelease;\n ++this.pullCount;\n exp.pull = resolve().then((payload) => {\n let value = Devaluator.devaluate(payload.value, void 0, this, payload, this.encodingLevel);\n this.send([\n \"resolve\",\n exportId,\n value\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }, (error) => {\n this.send([\n \"reject\",\n exportId,\n Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }).catch((error) => {\n try {\n this.send([\n \"reject\",\n exportId,\n Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n } catch (error2) {\n this.abort(error2);\n }\n }).finally(() => {\n if (--this.pullCount === 0) {\n if (this.onBatchDone) this.onBatchDone.resolve();\n }\n });\n }\n }\n getImport(hook) {\n if (hook instanceof RpcImportHook && hook.entry && hook.entry.session === this) return hook.entry.importId;\n else return;\n }\n importStub(idx) {\n if (this.abortReason) throw this.abortReason;\n let entry = this.imports[idx];\n if (!entry) {\n entry = new ImportTableEntry(this, idx, false);\n this.imports[idx] = entry;\n }\n return new RpcImportHook(false, entry);\n }\n importPromise(idx) {\n if (this.abortReason) throw this.abortReason;\n if (this.imports[idx]) return new ErrorStubHook(/* @__PURE__ */ new Error(\"Bug in RPC system: The peer sent a promise reusing an existing export ID.\"));\n let entry = new ImportTableEntry(this, idx, true);\n this.imports[idx] = entry;\n return new RpcImportHook(true, entry);\n }\n getExport(idx) {\n return this.exports[idx]?.hook;\n }\n getPipeReadable(exportId) {\n let entry = this.exports[exportId];\n if (!entry || !entry.pipeReadable) throw new Error(`Export ${exportId} is not a pipe or its readable end was already consumed.`);\n let readable = entry.pipeReadable;\n entry.pipeReadable = void 0;\n return readable;\n }\n getLimits() {\n return this.limits;\n }\n createPipe(readable, readableHook) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pipe\"]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, false);\n this.imports.push(entry);\n let hook = new RpcImportHook(false, entry);\n let writable = streamImpl.createWritableStreamFromHook(hook);\n readable.pipeTo(writable).catch(() => {\n }).finally(() => readableHook.dispose());\n return importId;\n }\n send(msg) {\n if (this.abortReason !== void 0) return 0;\n if (this.encodingLevel === \"string\") {\n let msgText;\n try {\n msgText = JSON.stringify(msg);\n } catch (err) {\n try {\n this.abort(err);\n } catch (err2) {\n }\n throw err;\n }\n try {\n let sent = this.transport.send(msgText);\n if (sent !== void 0 && typeof sent.catch === \"function\") sent.catch((err) => this.abort(err, false));\n } catch (err) {\n queueMicrotask(() => this.abort(err, false));\n }\n return msgText.length;\n } else try {\n let size = this.transport.send(msg);\n if (typeof size === \"number\") return size;\n let thenable = size;\n if (thenable && typeof thenable.then === \"function\") Promise.resolve(thenable).catch((err) => this.abort(err, false));\n return;\n } catch (err) {\n queueMicrotask(() => this.abort(err, false));\n return;\n }\n }\n sendCall(id, path, args) {\n if (this.abortReason) {\n args?.dispose();\n throw this.abortReason;\n }\n let value = [\n \"pipeline\",\n id,\n path\n ];\n if (args) {\n let devalue;\n try {\n devalue = Devaluator.devaluate(args.value, void 0, this, args, this.encodingLevel);\n } catch (err) {\n args.dispose();\n throw err;\n }\n value.push(devalue[0]);\n }\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(true, entry);\n }\n sendStream(id, path, args) {\n if (this.abortReason) {\n args.dispose();\n throw this.abortReason;\n }\n let value = [\n \"pipeline\",\n id,\n path\n ];\n let devalue;\n try {\n devalue = Devaluator.devaluate(args.value, void 0, this, args, this.encodingLevel);\n } catch (err) {\n args.dispose();\n throw err;\n }\n value.push(devalue[0]);\n let msg = [\"stream\", value];\n let size = this.send(msg);\n if (size === void 0) size = estimateEncodedSize(msg);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, true);\n entry.remoteRefcount = 0;\n entry.localRefcount = 1;\n this.imports.push(entry);\n return {\n promise: entry.awaitResolution().then((p) => {\n p.dispose();\n delete this.imports[importId];\n }, (err) => {\n delete this.imports[importId];\n throw err;\n }),\n size\n };\n }\n sendMap(id, path, captures, instructions) {\n if (this.abortReason) {\n for (let cap of captures) cap.dispose();\n throw this.abortReason;\n }\n let value = [\n \"remap\",\n id,\n path,\n captures.map((hook) => {\n let importId = this.getImport(hook);\n if (importId !== void 0) return [\"import\", importId];\n else return [\"export\", this.exportStub(hook)];\n }),\n instructions\n ];\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(true, entry);\n }\n sendPull(id) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pull\", id]);\n }\n sendRelease(id, remoteRefcount) {\n if (this.abortReason) return;\n this.send([\n \"release\",\n id,\n remoteRefcount\n ]);\n delete this.imports[id];\n }\n abort(error, trySendAbortMessage = true) {\n if (this.abortReason !== void 0) return;\n this.cancelReadLoop?.(error);\n this.cancelReadLoop = void 0;\n if (trySendAbortMessage) try {\n let abortMsg = [\"abort\", Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)];\n if (this.encodingLevel === \"string\") {\n let sent = this.transport.send(JSON.stringify(abortMsg));\n if (sent !== void 0 && typeof sent.catch === \"function\") sent.catch((err) => {\n });\n } else {\n let result = this.transport.send(abortMsg);\n if (result && typeof result.then === \"function\") Promise.resolve(result).catch((err) => {\n });\n }\n } catch (err) {\n }\n if (error === void 0) error = \"undefined\";\n this.abortReason = error;\n if (this.onBatchDone) this.onBatchDone.reject(error);\n if (this.transport.abort) try {\n this.transport.abort(error);\n } catch (err) {\n Promise.resolve(err);\n }\n for (let i in this.onBrokenCallbacks) try {\n this.onBrokenCallbacks[i](error);\n } catch (err) {\n Promise.resolve(err);\n }\n for (let i in this.imports) this.imports[i].abort(error);\n for (let i in this.exports) this.exports[i].hook.dispose();\n }\n async readLoop() {\n while (!this.abortReason) {\n let readCanceled = Promise.withResolvers();\n this.cancelReadLoop = readCanceled.reject;\n let raw;\n try {\n raw = await Promise.race([this.transport.receive(), readCanceled.promise]);\n } finally {\n if (this.cancelReadLoop === readCanceled.reject) this.cancelReadLoop = void 0;\n }\n if (this.encodingLevel === \"string\" && raw.length > this.limits.maxMessageSize) throw new TypeError(`Incoming message exceeds maximum size of ${this.limits.maxMessageSize} UTF-16 code units.`);\n if (this.abortReason) break;\n let msg = this.encodingLevel === \"string\" ? JSON.parse(raw) : raw;\n if (msg instanceof Array) switch (msg[0]) {\n case \"push\":\n if (msg.length > 1) {\n let hook = new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[1]));\n hook.ignoreUnhandledRejections();\n this.exports.push({\n hook,\n refcount: 1\n });\n continue;\n }\n break;\n case \"stream\":\n if (msg.length > 1) {\n let hook = new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[1]));\n hook.ignoreUnhandledRejections();\n let exportId = this.exports.length;\n this.exports.push({\n hook,\n refcount: 1,\n autoRelease: true\n });\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n case \"pipe\": {\n let { readable, writable } = new TransformStream();\n let hook = streamImpl.createWritableStreamHook(writable);\n this.exports.push({\n hook,\n refcount: 1,\n pipeReadable: readable\n });\n continue;\n }\n case \"pull\": {\n let exportId = msg[1];\n if (typeof exportId == \"number\") {\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"resolve\":\n case \"reject\": {\n let importId = msg[1];\n if (typeof importId == \"number\" && msg.length > 2) {\n let imp = this.imports[importId];\n if (imp) if (msg[0] == \"resolve\") imp.resolve(new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[2])));\n else {\n let payload = new Evaluator(this, this.encodingLevel).evaluate(msg[2]);\n payload.dispose();\n imp.resolve(new ErrorStubHook(payload.value));\n }\n else if (msg[0] == \"resolve\") new Evaluator(this, this.encodingLevel).evaluate(msg[2]).dispose();\n continue;\n }\n break;\n }\n case \"release\": {\n let exportId = msg[1];\n let refcount = msg[2];\n if (typeof exportId == \"number\" && typeof refcount == \"number\") {\n this.releaseExport(exportId, refcount);\n continue;\n }\n break;\n }\n case \"abort\": {\n let payload = new Evaluator(this, this.encodingLevel).evaluate(msg[1]);\n payload.dispose();\n this.abort(payload.value, false);\n break;\n }\n }\n throw new Error(`bad RPC message: ${JSON.stringify(msg)}`);\n }\n }\n async drain() {\n if (this.abortReason) throw this.abortReason;\n if (this.pullCount > 0) {\n let { promise, resolve, reject } = Promise.withResolvers();\n this.onBatchDone = {\n resolve,\n reject\n };\n await promise;\n }\n }\n getStats() {\n let result = {\n imports: 0,\n exports: 0\n };\n for (let i in this.imports) ++result.imports;\n for (let i in this.exports) ++result.exports;\n return result;\n }\n};\nvar RpcSession$1 = class {\n #session;\n #mainStub;\n constructor(transport, localMain, options = {}) {\n let mainHook;\n if (localMain) mainHook = new PayloadStubHook(RpcPayload.fromAppReturn(localMain));\n else mainHook = new ErrorStubHook(/* @__PURE__ */ new Error(\"This connection has no main object.\"));\n this.#session = new RpcSessionImpl(transport, mainHook, options);\n this.#mainStub = new RpcStub$1(this.#session.getMainImport());\n }\n getRemoteMain() {\n return this.#mainStub;\n }\n getStats() {\n return this.#session.getStats();\n }\n drain() {\n return this.#session.drain();\n }\n};\nfunction newWebSocketRpcSession$1(webSocket, localMain, options) {\n if (typeof webSocket === \"string\") webSocket = new WebSocket(webSocket);\n return new RpcSession$1(new WebSocketTransport(webSocket), localMain, options).getRemoteMain();\n}\nfunction newWorkersWebSocketRpcResponse(request, localMain, options) {\n if (request.headers.get(\"Upgrade\")?.toLowerCase() !== \"websocket\") return new Response(\"This endpoint only accepts WebSocket requests.\", { status: 400 });\n let pair = new WebSocketPair();\n let server = pair[0];\n server.accept();\n newWebSocketRpcSession$1(server, localMain, options);\n return new Response(null, {\n status: 101,\n webSocket: pair[1]\n });\n}\nvar WebSocketTransport = class {\n constructor(webSocket) {\n this.#webSocket = webSocket;\n webSocket.binaryType = \"arraybuffer\";\n if (webSocket.readyState === WebSocket.CONNECTING) {\n this.#sendQueue = [];\n webSocket.addEventListener(\"open\", (event) => {\n try {\n for (let message of this.#sendQueue) webSocket.send(message);\n } catch (err) {\n this.#receivedError(err);\n }\n this.#sendQueue = void 0;\n });\n }\n webSocket.addEventListener(\"message\", (event) => {\n if (this.#error) {\n } else if (typeof event.data === \"string\" || event.data instanceof ArrayBuffer) if (this.#receiveResolver) {\n this.#receiveResolver(event.data);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n } else this.#receiveQueue.push(event.data);\n else this.#receivedError(/* @__PURE__ */ new TypeError(\"Received unexpected message type from WebSocket.\"));\n });\n webSocket.addEventListener(\"close\", (event) => {\n this.#receivedError(/* @__PURE__ */ new Error(`Peer closed WebSocket: ${event.code} ${event.reason}`));\n });\n webSocket.addEventListener(\"error\", (event) => {\n this.#receivedError(/* @__PURE__ */ new Error(`WebSocket connection failed.`));\n });\n }\n #webSocket;\n #sendQueue;\n #receiveResolver;\n #receiveRejecter;\n #receiveQueue = [];\n #error;\n send(message) {\n if (this.#sendQueue === void 0) this.#webSocket.send(message);\n else this.#sendQueue.push(message);\n }\n receive() {\n if (this.#receiveQueue.length > 0) return Promise.resolve(this.#receiveQueue.shift());\n else if (this.#error) return Promise.reject(this.#error);\n else return new Promise((resolve, reject) => {\n this.#receiveResolver = resolve;\n this.#receiveRejecter = reject;\n });\n }\n abort(reason) {\n let message;\n if (reason instanceof Error) message = reason.message;\n else message = `${reason}`;\n let reasonBytes = new TextEncoder().encode(message);\n if (reasonBytes.length > 123) message = new TextDecoder().decode(reasonBytes.subarray(0, 123), { stream: true });\n this.#webSocket.close(3e3, message);\n if (!this.#error) this.#error = reason;\n }\n #receivedError(reason) {\n if (!this.#error) {\n this.#error = reason;\n if (this.#receiveRejecter) {\n this.#receiveRejecter(reason);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n }\n }\n }\n};\nvar BatchServerTransport = class {\n constructor(batch) {\n this.#batchToReceive = batch;\n }\n #batchToSend = [];\n #batchToReceive;\n #allReceived = Promise.withResolvers();\n send(message) {\n this.#batchToSend.push(message);\n }\n async receive() {\n let msg = this.#batchToReceive.shift();\n if (msg !== void 0) return msg;\n else {\n this.#allReceived.resolve();\n return new Promise((r) => {\n });\n }\n }\n abort(reason) {\n this.#allReceived.reject(reason);\n }\n whenAllReceived() {\n return this.#allReceived.promise;\n }\n getResponseBody() {\n return this.#batchToSend.join(\"\\n\");\n }\n};\nasync function newHttpBatchRpcResponse(request, localMain, options) {\n if (request.method !== \"POST\") return new Response(\"This endpoint only accepts POST requests.\", { status: 405 });\n let body = await request.text();\n let transport = new BatchServerTransport(body === \"\" ? [] : body.split(\"\\n\"));\n let rpc = new RpcSession$1(transport, localMain, options);\n await transport.whenAllReceived();\n await rpc.drain();\n return new Response(transport.getResponseBody());\n}\nvar currentMapBuilder;\nvar MapBuilder = class {\n context;\n captureMap = /* @__PURE__ */ new Map();\n instructions = [];\n constructor(subject, path) {\n if (currentMapBuilder) this.context = {\n parent: currentMapBuilder,\n captures: [],\n subject: currentMapBuilder.capture(subject),\n path\n };\n else this.context = {\n parent: void 0,\n captures: [],\n subject,\n path\n };\n currentMapBuilder = this;\n }\n unregister() {\n currentMapBuilder = this.context.parent;\n }\n makeInput() {\n return new MapVariableHook(this, 0);\n }\n makeOutput(result) {\n let devalued;\n try {\n devalued = Devaluator.devaluate(result.value, void 0, this, result);\n } finally {\n result.dispose();\n }\n this.instructions.push(devalued);\n if (this.context.parent) {\n this.context.parent.instructions.push([\n \"remap\",\n this.context.subject,\n this.context.path,\n this.context.captures.map((cap) => [\"import\", cap]),\n this.instructions\n ]);\n return new MapVariableHook(this.context.parent, this.context.parent.instructions.length);\n } else return this.context.subject.map(this.context.path, this.context.captures, this.instructions);\n }\n pushCall(hook, path, params) {\n let devalued = Devaluator.devaluate(params.value, void 0, this, params);\n devalued = devalued[0];\n let subject = this.capture(hook.dup());\n this.instructions.push([\n \"pipeline\",\n subject,\n path,\n devalued\n ]);\n return new MapVariableHook(this, this.instructions.length);\n }\n pushGet(hook, path) {\n let subject = this.capture(hook.dup());\n this.instructions.push([\n \"pipeline\",\n subject,\n path\n ]);\n return new MapVariableHook(this, this.instructions.length);\n }\n capture(hook) {\n if (hook instanceof MapVariableHook && hook.mapper === this) return hook.idx;\n let result = this.captureMap.get(hook);\n if (result === void 0) {\n if (this.context.parent) {\n let parentIdx = this.context.parent.capture(hook);\n this.context.captures.push(parentIdx);\n } else this.context.captures.push(hook);\n result = -this.context.captures.length;\n this.captureMap.set(hook, result);\n }\n return result;\n }\n exportStub(hook) {\n throw new Error(\"Can't construct an RpcTarget or RPC callback inside a mapper function. Try creating a new RpcStub outside the callback first, then using it inside the callback.\");\n }\n exportPromise(hook) {\n return this.exportStub(hook);\n }\n getImport(hook) {\n return this.capture(hook);\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot send ReadableStream inside a mapper function.\");\n }\n onSendError(error) {\n }\n};\nmapImpl.sendMap = (hook, path, func) => {\n let builder = new MapBuilder(hook, path);\n let result;\n try {\n result = RpcPayload.fromAppReturn(withCallInterceptor(builder.pushCall.bind(builder), () => {\n return func(new RpcPromise$1(builder.makeInput(), []));\n }));\n } finally {\n builder.unregister();\n }\n if (result instanceof Promise) {\n result.catch((err) => {\n });\n throw new Error(\"RPC map() callbacks cannot be async.\");\n }\n return new RpcPromise$1(builder.makeOutput(result), []);\n};\nfunction throwMapperBuilderUseError() {\n throw new Error(\"Attempted to use an abstract placeholder from a mapper function. Please make sure your map function has no side effects.\");\n}\nvar MapVariableHook = class extends StubHook {\n mapper;\n idx;\n constructor(mapper, idx) {\n super();\n this.mapper = mapper;\n this.idx = idx;\n }\n dup() {\n return this;\n }\n dispose() {\n }\n get(path) {\n if (path.length == 0) return this;\n else if (currentMapBuilder) return currentMapBuilder.pushGet(this, path);\n else throwMapperBuilderUseError();\n }\n call(path, args) {\n args.dispose();\n throwMapperBuilderUseError();\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n throwMapperBuilderUseError();\n }\n pull() {\n throwMapperBuilderUseError();\n }\n ignoreUnhandledRejections() {\n }\n onBroken(callback) {\n throwMapperBuilderUseError();\n }\n};\nvar MapApplicator = class {\n captures;\n variables;\n constructor(captures, input) {\n this.captures = captures;\n this.variables = [input];\n }\n dispose() {\n for (let variable of this.variables) variable.dispose();\n }\n apply(instructions) {\n try {\n if (instructions.length < 1) throw new Error(\"Invalid empty mapper function.\");\n for (let instruction of instructions.slice(0, -1)) {\n let payload = new Evaluator(this).evaluateCopy(instruction);\n if (payload.value instanceof RpcStub$1) {\n let hook = unwrapStubNoProperties(payload.value);\n if (hook) {\n this.variables.push(hook);\n continue;\n }\n }\n this.variables.push(new PayloadStubHook(payload));\n }\n return new Evaluator(this).evaluateCopy(instructions[instructions.length - 1]);\n } finally {\n for (let variable of this.variables) variable.dispose();\n }\n }\n importStub(idx) {\n throw new Error(\"A mapper function cannot refer to exports.\");\n }\n importPromise(idx) {\n return this.importStub(idx);\n }\n getExport(idx) {\n if (idx < 0) return this.captures[-idx - 1];\n else return this.variables[idx];\n }\n getPipeReadable(exportId) {\n throw new Error(\"A mapper function cannot use pipe readables.\");\n }\n getLimits() {\n return DEFAULT_LIMITS;\n }\n};\nfunction applyMapToElement(input, parent, owner, captures, instructions) {\n let mapper = new MapApplicator(captures, new PayloadStubHook(RpcPayload.deepCopyFrom(input, parent, owner)));\n try {\n return mapper.apply(instructions);\n } finally {\n mapper.dispose();\n }\n}\nmapImpl.applyMap = (input, parent, owner, captures, instructions) => {\n try {\n let result;\n if (input instanceof RpcPromise$1) throw new Error(\"applyMap() can't be called on RpcPromise\");\n else if (input instanceof Array) {\n let payloads = [];\n try {\n for (let elem of input) payloads.push(applyMapToElement(elem, input, owner, captures, instructions));\n } catch (err) {\n for (let payload of payloads) payload.dispose();\n throw err;\n }\n result = RpcPayload.fromArray(payloads);\n } else if (input === null || input === void 0) result = RpcPayload.fromAppReturn(input);\n else result = applyMapToElement(input, parent, owner, captures, instructions);\n return new PayloadStubHook(result);\n } finally {\n for (let cap of captures) cap.dispose();\n }\n};\nvar WritableStreamStubHook = class WritableStreamStubHook2 extends StubHook {\n state;\n static create(stream) {\n return new WritableStreamStubHook2({\n refcount: 1,\n writer: stream.getWriter(),\n closed: false\n });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) ++state.refcount;\n }\n getState() {\n if (this.state) return this.state;\n else throw new Error(\"Attempted to use a WritableStreamStubHook after it was disposed.\");\n }\n call(path, args) {\n try {\n let state = this.getState();\n if (path.length !== 1 || typeof path[0] !== \"string\") throw new Error(\"WritableStream stub only supports direct method calls\");\n const method = path[0];\n if (method !== \"write\" && method !== \"close\" && method !== \"abort\") throw new Error(`Unknown WritableStream method: ${method}`);\n if (method === \"close\" || method === \"abort\") state.closed = true;\n return new PromiseStubHook((method === \"write\" ? args.deliverStreamWrite(state.writer) : args.deliverCall(state.writer[method], state.writer)).then((payload) => new PayloadStubHook(payload)));\n } catch (err) {\n args.dispose();\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot use map() on a WritableStream\"));\n }\n get(path) {\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot access properties on a WritableStream stub\"));\n }\n dup() {\n return new WritableStreamStubHook2(this.getState(), this);\n }\n pull() {\n return Promise.reject(/* @__PURE__ */ new Error(\"Cannot pull a WritableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.closed) state.writer.abort(/* @__PURE__ */ new Error(\"WritableStream RPC stub was disposed without calling close()\")).catch(() => {\n });\n state.writer.releaseLock();\n }\n }\n }\n onBroken(callback) {\n }\n};\nvar INITIAL_WINDOW = 256 * 1024;\nvar MAX_WINDOW = 1024 * 1024 * 1024;\nvar MIN_WINDOW = 64 * 1024;\nvar STARTUP_GROWTH_FACTOR = 2;\nvar STEADY_GROWTH_FACTOR = 1.25;\nvar DECAY_FACTOR = 0.9;\nvar STARTUP_EXIT_ROUNDS = 3;\nvar FlowController = class {\n now;\n window = INITIAL_WINDOW;\n bytesInFlight = 0;\n inStartupPhase = true;\n delivered = 0;\n deliveredTime = 0;\n firstAckTime = 0;\n firstAckDelivered = 0;\n minRtt = Infinity;\n roundsWithoutIncrease = 0;\n lastRoundWindow = 0;\n roundStartTime = 0;\n constructor(now) {\n this.now = now;\n }\n onSend(size) {\n this.bytesInFlight += size;\n let token = {\n sentTime: this.now(),\n size,\n deliveredAtSend: this.delivered,\n deliveredTimeAtSend: this.deliveredTime,\n windowAtSend: this.window,\n windowFullAtSend: this.bytesInFlight >= this.window\n };\n return {\n token,\n shouldBlock: token.windowFullAtSend\n };\n }\n onError(token) {\n this.bytesInFlight -= token.size;\n }\n onAck(token) {\n let ackTime = this.now();\n this.delivered += token.size;\n this.deliveredTime = ackTime;\n this.bytesInFlight -= token.size;\n let rtt = ackTime - token.sentTime;\n this.minRtt = Math.min(this.minRtt, rtt);\n if (this.firstAckTime === 0) {\n this.firstAckTime = ackTime;\n this.firstAckDelivered = this.delivered;\n } else {\n let baseTime;\n let baseDelivered;\n if (token.deliveredTimeAtSend === 0) {\n baseTime = this.firstAckTime;\n baseDelivered = this.firstAckDelivered;\n } else {\n baseTime = token.deliveredTimeAtSend;\n baseDelivered = token.deliveredAtSend;\n }\n let interval = ackTime - baseTime;\n let bandwidth = (this.delivered - baseDelivered) / interval;\n let growthFactor = this.inStartupPhase ? STARTUP_GROWTH_FACTOR : STEADY_GROWTH_FACTOR;\n let newWindow = bandwidth * this.minRtt * growthFactor;\n newWindow = Math.min(newWindow, token.windowAtSend * growthFactor);\n if (token.windowFullAtSend) newWindow = Math.max(newWindow, token.windowAtSend * DECAY_FACTOR);\n else newWindow = Math.max(newWindow, this.window);\n this.window = Math.max(Math.min(newWindow, MAX_WINDOW), MIN_WINDOW);\n if (this.inStartupPhase && token.sentTime >= this.roundStartTime) {\n if (this.window > this.lastRoundWindow * STEADY_GROWTH_FACTOR) this.roundsWithoutIncrease = 0;\n else if (++this.roundsWithoutIncrease >= STARTUP_EXIT_ROUNDS) this.inStartupPhase = false;\n this.roundStartTime = ackTime;\n this.lastRoundWindow = this.window;\n }\n }\n return this.bytesInFlight < this.window;\n }\n};\nfunction createWritableStreamFromHook(hook) {\n let pendingError = void 0;\n let hookDisposed = false;\n let fc = new FlowController(() => performance.now());\n let windowResolve;\n let windowReject;\n const disposeHook = () => {\n if (!hookDisposed) {\n hookDisposed = true;\n hook.dispose();\n }\n };\n return new WritableStream({\n write(chunk, controller) {\n if (pendingError !== void 0) throw pendingError;\n const payload = RpcPayload.fromAppParams([chunk]);\n const { promise, size } = hook.stream([\"write\"], payload);\n if (size === void 0) return promise.catch((err) => {\n if (pendingError === void 0) pendingError = err;\n throw err;\n });\n else {\n let { token, shouldBlock } = fc.onSend(size);\n promise.then(() => {\n if (fc.onAck(token) && windowResolve) {\n windowResolve();\n windowResolve = void 0;\n windowReject = void 0;\n }\n }, (err) => {\n fc.onError(token);\n if (pendingError === void 0) {\n pendingError = err;\n controller.error(err);\n disposeHook();\n }\n if (windowReject) {\n windowReject(err);\n windowResolve = void 0;\n windowReject = void 0;\n }\n });\n if (shouldBlock) return new Promise((resolve, reject) => {\n windowResolve = resolve;\n windowReject = reject;\n });\n }\n },\n async close() {\n if (pendingError !== void 0) {\n disposeHook();\n throw pendingError;\n }\n const { promise } = hook.stream([\"close\"], RpcPayload.fromAppParams([]));\n try {\n await promise;\n } catch (err) {\n throw pendingError ?? err;\n } finally {\n disposeHook();\n }\n },\n abort(reason) {\n if (pendingError !== void 0) return;\n pendingError = reason ?? /* @__PURE__ */ new Error(\"WritableStream was aborted\");\n if (windowReject) {\n windowReject(pendingError);\n windowResolve = void 0;\n windowReject = void 0;\n }\n const { promise } = hook.stream([\"abort\"], RpcPayload.fromAppParams([reason]));\n promise.then(() => disposeHook(), () => disposeHook());\n }\n });\n}\nvar ReadableStreamStubHook = class ReadableStreamStubHook2 extends StubHook {\n state;\n static create(stream) {\n return new ReadableStreamStubHook2({\n refcount: 1,\n stream,\n canceled: false\n });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) ++state.refcount;\n }\n call(path, args) {\n args.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot call methods on a ReadableStream stub\"));\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot use map() on a ReadableStream\"));\n }\n get(path) {\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot access properties on a ReadableStream stub\"));\n }\n dup() {\n let state = this.state;\n if (!state) throw new Error(\"Attempted to dup a ReadableStreamStubHook after it was disposed.\");\n return new ReadableStreamStubHook2(state, this);\n }\n pull() {\n return Promise.reject(/* @__PURE__ */ new Error(\"Cannot pull a ReadableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.canceled) {\n state.canceled = true;\n if (!state.stream.locked) state.stream.cancel(/* @__PURE__ */ new Error(\"ReadableStream RPC stub was disposed without being consumed\")).catch(() => {\n });\n }\n }\n }\n }\n onBroken(callback) {\n }\n};\nstreamImpl.createWritableStreamHook = WritableStreamStubHook.create;\nstreamImpl.createWritableStreamFromHook = createWritableStreamFromHook;\nstreamImpl.createReadableStreamHook = ReadableStreamStubHook.create;\nasync function newWorkersRpcResponse(request, localMain, options) {\n if (request.method === \"POST\") {\n let response = await newHttpBatchRpcResponse(request, localMain, options);\n response.headers.set(\"Access-Control-Allow-Origin\", \"*\");\n return response;\n } else if (request.headers.get(\"Upgrade\")?.toLowerCase() === \"websocket\") return newWorkersWebSocketRpcResponse(request, localMain, options);\n else return new Response(\"This endpoint only accepts POST or WebSocket requests.\", { status: 400 });\n}\n\n// templates/remoteBindings/ProxyServerWorker.ts\nimport { EmailMessage } from \"cloudflare:email\";\nvar BindingNotFoundError = class extends Error {\n constructor(name) {\n super(`Binding ${name ? `\"${name}\"` : \"\"} not found`);\n }\n};\nfunction getExposedJSRPCBinding(request, env) {\n const url = new URL(request.url);\n const bindingName = url.searchParams.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n if (targetBinding.constructor.name === \"SendEmail\") {\n return {\n async send(e) {\n if (\"EmailMessage::raw\" in e) {\n const message = new EmailMessage(\n e.from,\n e.to,\n e[\"EmailMessage::raw\"]\n );\n return targetBinding.send(message);\n } else {\n return targetBinding.send(e);\n }\n }\n };\n }\n const dispatchNamespaceOptions = url.searchParams.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction getExposedFetcher(request, env) {\n const bindingName = request.headers.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n const dispatchNamespaceOptions = request.headers.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction isJSRPCBinding(request) {\n const url = new URL(request.url);\n return request.headers.has(\"Upgrade\") && url.searchParams.has(\"MF-Binding\");\n}\nfunction isConnectBinding(request) {\n return request.headers.get(\"Upgrade\") === \"websocket\" && request.headers.has(\"MF-Connect-Address\");\n}\nfunction handleConnect(request, env) {\n const address = request.headers.get(\"MF-Connect-Address\");\n if (address === null) {\n return new Response(\"Missing MF-Connect-Address header\", { status: 400 });\n }\n const fetcher = getExposedFetcher(request, env);\n const { 0: client, 1: server } = new WebSocketPair();\n server.accept();\n const socket = fetcher.connect(address);\n pipeSocketOverWebSocket(socket, server).catch(() => {\n });\n return new Response(null, { status: 101, webSocket: client });\n}\nfunction truncateCloseReason(reason) {\n const bytes = new TextEncoder().encode(reason);\n if (bytes.length <= 123) {\n return reason;\n }\n let end = 123;\n while (end > 0 && ((bytes[end] ?? 0) & 192) === 128) {\n end--;\n }\n return new TextDecoder().decode(bytes.subarray(0, end));\n}\nasync function pipeSocketOverWebSocket(socket, ws) {\n const writer = socket.writable.getWriter();\n const reader = socket.readable.getReader();\n let wsClosed = false;\n function closeWebSocket(code, reason) {\n if (wsClosed) {\n return;\n }\n wsClosed = true;\n try {\n ws.close(\n code,\n reason === void 0 ? void 0 : truncateCloseReason(reason)\n );\n } catch {\n }\n }\n let writeChain = Promise.resolve();\n let writerClosed = false;\n function closeWriter() {\n if (writerClosed) {\n return Promise.resolve();\n }\n writerClosed = true;\n return writeChain.then(() => writer.close());\n }\n let resolveFromWs;\n let rejectFromWs;\n const fromWebSocket = new Promise((resolve, reject) => {\n resolveFromWs = resolve;\n rejectFromWs = reject;\n });\n ws.addEventListener(\"message\", (event) => {\n const chunk = typeof event.data === \"string\" ? new TextEncoder().encode(event.data) : new Uint8Array(event.data);\n writeChain = writeChain.then(() => writer.write(chunk)).catch((error) => {\n closeWebSocket(\n 1011,\n error?.message ?? \"socket write failed\"\n );\n reader.cancel().catch(() => {\n });\n rejectFromWs(error);\n });\n });\n ws.addEventListener(\"close\", (event) => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n if (event.code === 1011) {\n rejectFromWs(\n new Error(event.reason || \"Remote tunnel closed with an error\")\n );\n return;\n }\n closeWriter().then(resolveFromWs, rejectFromWs);\n });\n ws.addEventListener(\"error\", () => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n rejectFromWs(new Error(\"Tunnel WebSocket errored\"));\n });\n const toWebSocket = (async () => {\n try {\n for (; ; ) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n if (wsClosed) {\n break;\n }\n ws.send(\n value.buffer.slice(\n value.byteOffset,\n value.byteOffset + value.byteLength\n )\n );\n }\n closeWebSocket(1e3);\n } catch (error) {\n closeWebSocket(1011, error?.message ?? \"socket read failed\");\n throw error;\n } finally {\n reader.releaseLock();\n closeWriter().then(resolveFromWs, rejectFromWs);\n }\n })();\n await Promise.all([toWebSocket, fromWebSocket]);\n}\nvar ProxyServerWorker_default = {\n async fetch(request, env) {\n try {\n if (isConnectBinding(request)) {\n return handleConnect(request, env);\n } else if (isJSRPCBinding(request)) {\n return await newWorkersRpcResponse(\n request,\n getExposedJSRPCBinding(request, env)\n );\n } else {\n const fetcher = getExposedFetcher(request, env);\n const originalHeaders = new Headers();\n for (const [name, value] of request.headers) {\n if (name.startsWith(\"mf-header-\")) {\n originalHeaders.set(name.slice(\"mf-header-\".length), value);\n } else if (name === \"upgrade\") {\n originalHeaders.set(name, value);\n }\n }\n return await fetcher.fetch(\n request.headers.get(\"MF-URL\") ?? \"http://example.com\",\n new Request(request, {\n redirect: \"manual\",\n headers: originalHeaders\n })\n );\n }\n } catch (e) {\n if (e instanceof BindingNotFoundError) {\n return new Response(e.message, { status: 400 });\n }\n return new Response(e.message, { status: 500 });\n }\n }\n};\nexport {\n ProxyServerWorker_default as default\n};\n";
|
|
85435
85685
|
let logger;
|
|
85436
85686
|
function initLogger(value) {
|
|
85437
85687
|
logger = value;
|
|
@@ -85962,7 +86212,10 @@ var RemoteRuntimeController = class {
|
|
|
85962
86212
|
bundleId
|
|
85963
86213
|
});
|
|
85964
86214
|
if (bundleId !== this.#currentBundleId || !token) return false;
|
|
85965
|
-
const accessHeaders = await getAccessHeaders(token.host, {
|
|
86215
|
+
const accessHeaders = await getAccessHeaders(token.host, {
|
|
86216
|
+
logger,
|
|
86217
|
+
previewToken: token.value
|
|
86218
|
+
});
|
|
85966
86219
|
const proxyData = {
|
|
85967
86220
|
userWorkerUrl: {
|
|
85968
86221
|
protocol: "https:",
|