dsh-coding-subscription-oauth 0.5.8 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +217 -188
- package/CONTRIBUTING.md +120 -120
- package/INSTALL.md +241 -209
- package/LICENSE +19 -19
- package/NOTICE +11 -11
- package/README.de.md +298 -294
- package/README.es.md +299 -295
- package/README.fr.md +299 -295
- package/README.ja.md +299 -295
- package/README.ko.md +299 -295
- package/README.md +313 -307
- package/README.pt-BR.md +299 -295
- package/README.ru.md +299 -295
- package/README.zh-CN.md +311 -305
- package/compatibility/dsh-bom.json +30 -0
- package/cordis.patch.yml +13 -13
- package/docs/00-project-rules.md +195 -195
- package/docs/02-architecture.md +134 -129
- package/docs/02-architecture.zh-CN.md +134 -129
- package/lib/adapter.d.ts.map +1 -1
- package/lib/alias-adapter.d.ts +3 -1
- package/lib/alias-adapter.d.ts.map +1 -1
- package/lib/auth-routes.d.ts +8 -15
- package/lib/auth-routes.d.ts.map +1 -1
- package/lib/bin.js +746 -1402
- package/lib/bin.js.map +4 -4
- package/lib/capability-routes.d.ts +3 -3
- package/lib/capability-routes.d.ts.map +1 -1
- package/lib/capability-settings.d.ts +5 -4
- package/lib/capability-settings.d.ts.map +1 -1
- package/lib/client.js +27 -8
- package/lib/client.js.map +4 -4
- package/lib/compatibility.d.ts +46 -0
- package/lib/compatibility.d.ts.map +1 -0
- package/lib/dsh-host-adapter.d.ts +18 -0
- package/lib/dsh-host-adapter.d.ts.map +1 -0
- package/lib/gateway-auth.d.ts +1 -2
- package/lib/gateway-auth.d.ts.map +1 -1
- package/lib/gateway-routes.d.ts +3 -4
- package/lib/gateway-routes.d.ts.map +1 -1
- package/lib/gateway.d.ts +4 -0
- package/lib/gateway.d.ts.map +1 -1
- package/lib/ids.d.ts +3 -32
- package/lib/ids.d.ts.map +1 -1
- package/lib/imagine-routes.d.ts +2 -0
- package/lib/imagine-routes.d.ts.map +1 -1
- package/lib/index.d.ts +19 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +26627 -1047
- package/lib/index.js.map +4 -4
- package/lib/invariant.js.map +1 -1
- package/lib/oauth-import-routes.d.ts +3 -4
- package/lib/oauth-import-routes.d.ts.map +1 -1
- package/lib/proxy.d.ts +3 -16
- package/lib/proxy.d.ts.map +1 -1
- package/lib/web-origin.d.ts +28 -4
- package/lib/web-origin.d.ts.map +1 -1
- package/lib/web-routes.d.ts.map +1 -1
- package/media/en/settings_accounts.png +0 -0
- package/media/en/settings_capabilities.png +0 -0
- package/media/en/settings_gateway.png +0 -0
- package/media/settings_accounts.png +0 -0
- package/media/settings_capabilities.png +0 -0
- package/media/settings_gateway.png +0 -0
- package/media/settings_overview.png +0 -0
- package/media/zh-CN/settings_accounts.png +0 -0
- package/media/zh-CN/settings_capabilities.png +0 -0
- package/media/zh-CN/settings_gateway.png +0 -0
- package/package.json +211 -174
- package/patches/dsh-agy@0.1.2.patch +25 -25
- package/scripts/release.mjs +186 -170
- package/scripts/smoke-deployed-routes.mjs +146 -146
- package/scripts/verify-deployed-catalog.mjs +87 -87
- package/src/adapter.ts +329 -268
- package/src/alias-adapter.ts +141 -147
- package/src/auth-routes.ts +921 -871
- package/src/auth.ts +67 -67
- package/src/bin.ts +350 -350
- package/src/capability-routes.ts +279 -275
- package/src/capability-runtime.ts +313 -313
- package/src/capability-settings.ts +658 -657
- package/src/capability-tools.ts +666 -666
- package/src/catalog.ts +271 -271
- package/src/client/GrokBuildSettings.tsx +770 -718
- package/src/client/api.ts +88 -88
- package/src/client/components/AboutTab.tsx +30 -30
- package/src/client/components/AccountsTab.tsx +241 -224
- package/src/client/components/Badge.tsx +33 -33
- package/src/client/components/CapabilitiesTab.tsx +265 -227
- package/src/client/components/CliPullPreview.tsx +116 -107
- package/src/client/components/CopyButton.tsx +57 -57
- package/src/client/components/GatewayTab.tsx +469 -409
- package/src/client/components/NoticeBanner.tsx +46 -46
- package/src/client/components/ProgressBar.tsx +53 -53
- package/src/client/components/ProviderCard.tsx +606 -502
- package/src/client/components/SettingsTabs.tsx +75 -75
- package/src/client/components/ToggleSwitch.tsx +71 -62
- package/src/client/constants.ts +224 -206
- package/src/client/display.ts +61 -61
- package/src/client/dshClientAdapter.ts +127 -0
- package/src/client/gatewaySnippets.ts +37 -36
- package/src/client/index.tsx +156 -37
- package/src/client/locales.ts +535 -491
- package/src/client/microStyles.ts +52 -33
- package/src/client/parsers.ts +396 -386
- package/src/client/styles.ts +325 -307
- package/src/client/types.ts +197 -185
- package/src/codex-http.ts +447 -447
- package/src/codex-images.ts +485 -485
- package/src/codex-model-capabilities.ts +320 -320
- package/src/codex-search.ts +245 -245
- package/src/codex-usage.ts +263 -263
- package/src/compatibility.ts +55 -0
- package/src/dsh-host-adapter.ts +173 -0
- package/src/gateway-anthropic-messages.ts +84 -84
- package/src/gateway-auth.ts +102 -100
- package/src/gateway-backend.ts +274 -274
- package/src/gateway-body.ts +49 -49
- package/src/gateway-config.ts +76 -76
- package/src/gateway-http.ts +104 -104
- package/src/gateway-openai-chat.ts +124 -124
- package/src/gateway-openai-responses.ts +53 -53
- package/src/gateway-parse.ts +224 -224
- package/src/gateway-protocol.ts +52 -52
- package/src/gateway-routes.ts +158 -152
- package/src/gateway.ts +258 -242
- package/src/grok-errors.ts +24 -24
- package/src/grok-imagine.ts +1627 -1627
- package/src/grok-import.ts +151 -151
- package/src/http-json.ts +82 -82
- package/src/ids.ts +59 -45
- package/src/imagine-routes.ts +463 -461
- package/src/index.ts +729 -592
- package/src/invariant.ts +17 -17
- package/src/kimi-errors.ts +26 -26
- package/src/media-store.ts +927 -927
- package/src/oauth-import-routes.ts +324 -314
- package/src/oauth-providers.ts +152 -152
- package/src/oauth-session.ts +183 -183
- package/src/oauth-sources.ts +1104 -1104
- package/src/oauth.ts +620 -620
- package/src/provider.ts +128 -128
- package/src/proxy.ts +11 -99
- package/src/redact.ts +72 -72
- package/src/session.ts +218 -218
- package/src/store.ts +217 -217
- package/src/web-origin.ts +296 -60
- package/src/web-routes.ts +38 -75
package/lib/bin.js
CHANGED
|
@@ -38,9 +38,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
38
38
|
mod
|
|
39
39
|
));
|
|
40
40
|
|
|
41
|
-
// node_modules/.pnpm/undici@7.
|
|
41
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/symbols.js
|
|
42
42
|
var require_symbols = __commonJS({
|
|
43
|
-
"node_modules/.pnpm/undici@7.
|
|
43
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/symbols.js"(exports, module) {
|
|
44
44
|
"use strict";
|
|
45
45
|
module.exports = {
|
|
46
46
|
kClose: /* @__PURE__ */ Symbol("close"),
|
|
@@ -118,9 +118,9 @@ var require_symbols = __commonJS({
|
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
|
|
121
|
-
// node_modules/.pnpm/undici@7.
|
|
121
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/timers.js
|
|
122
122
|
var require_timers = __commonJS({
|
|
123
|
-
"node_modules/.pnpm/undici@7.
|
|
123
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/timers.js"(exports, module) {
|
|
124
124
|
"use strict";
|
|
125
125
|
var fastNow = 0;
|
|
126
126
|
var RESOLUTION_MS = 1e3;
|
|
@@ -347,9 +347,9 @@ var require_timers = __commonJS({
|
|
|
347
347
|
}
|
|
348
348
|
});
|
|
349
349
|
|
|
350
|
-
// node_modules/.pnpm/undici@7.
|
|
350
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/errors.js
|
|
351
351
|
var require_errors = __commonJS({
|
|
352
|
-
"node_modules/.pnpm/undici@7.
|
|
352
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/errors.js"(exports, module) {
|
|
353
353
|
"use strict";
|
|
354
354
|
var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
|
|
355
355
|
var UndiciError = class extends Error {
|
|
@@ -756,9 +756,9 @@ var require_errors = __commonJS({
|
|
|
756
756
|
}
|
|
757
757
|
});
|
|
758
758
|
|
|
759
|
-
// node_modules/.pnpm/undici@7.
|
|
759
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/constants.js
|
|
760
760
|
var require_constants = __commonJS({
|
|
761
|
-
"node_modules/.pnpm/undici@7.
|
|
761
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/constants.js"(exports, module) {
|
|
762
762
|
"use strict";
|
|
763
763
|
var wellknownHeaderNames = (
|
|
764
764
|
/** @type {const} */
|
|
@@ -884,9 +884,9 @@ var require_constants = __commonJS({
|
|
|
884
884
|
}
|
|
885
885
|
});
|
|
886
886
|
|
|
887
|
-
// node_modules/.pnpm/undici@7.
|
|
887
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/tree.js
|
|
888
888
|
var require_tree = __commonJS({
|
|
889
|
-
"node_modules/.pnpm/undici@7.
|
|
889
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/tree.js"(exports, module) {
|
|
890
890
|
"use strict";
|
|
891
891
|
var {
|
|
892
892
|
wellknownHeaderNames,
|
|
@@ -1026,9 +1026,9 @@ var require_tree = __commonJS({
|
|
|
1026
1026
|
}
|
|
1027
1027
|
});
|
|
1028
1028
|
|
|
1029
|
-
// node_modules/.pnpm/undici@7.
|
|
1029
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/util.js
|
|
1030
1030
|
var require_util = __commonJS({
|
|
1031
|
-
"node_modules/.pnpm/undici@7.
|
|
1031
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/util.js"(exports, module) {
|
|
1032
1032
|
"use strict";
|
|
1033
1033
|
var assert = __require("node:assert");
|
|
1034
1034
|
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
|
|
@@ -1847,9 +1847,9 @@ var require_util = __commonJS({
|
|
|
1847
1847
|
}
|
|
1848
1848
|
});
|
|
1849
1849
|
|
|
1850
|
-
// node_modules/.pnpm/undici@7.
|
|
1850
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/stats.js
|
|
1851
1851
|
var require_stats = __commonJS({
|
|
1852
|
-
"node_modules/.pnpm/undici@7.
|
|
1852
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/stats.js"(exports, module) {
|
|
1853
1853
|
"use strict";
|
|
1854
1854
|
var {
|
|
1855
1855
|
kConnected,
|
|
@@ -1881,9 +1881,9 @@ var require_stats = __commonJS({
|
|
|
1881
1881
|
}
|
|
1882
1882
|
});
|
|
1883
1883
|
|
|
1884
|
-
// node_modules/.pnpm/undici@7.
|
|
1884
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/diagnostics.js
|
|
1885
1885
|
var require_diagnostics = __commonJS({
|
|
1886
|
-
"node_modules/.pnpm/undici@7.
|
|
1886
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/diagnostics.js"(exports, module) {
|
|
1887
1887
|
"use strict";
|
|
1888
1888
|
var diagnosticsChannel = __require("node:diagnostics_channel");
|
|
1889
1889
|
var util = __require("node:util");
|
|
@@ -2098,9 +2098,9 @@ var require_diagnostics = __commonJS({
|
|
|
2098
2098
|
}
|
|
2099
2099
|
});
|
|
2100
2100
|
|
|
2101
|
-
// node_modules/.pnpm/undici@7.
|
|
2101
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/request.js
|
|
2102
2102
|
var require_request = __commonJS({
|
|
2103
|
-
"node_modules/.pnpm/undici@7.
|
|
2103
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/request.js"(exports, module) {
|
|
2104
2104
|
"use strict";
|
|
2105
2105
|
var {
|
|
2106
2106
|
InvalidArgumentError,
|
|
@@ -2126,18 +2126,6 @@ var require_request = __commonJS({
|
|
|
2126
2126
|
var { channels } = require_diagnostics();
|
|
2127
2127
|
var { headerNameLowerCasedRecord } = require_constants();
|
|
2128
2128
|
var invalidPathRegex = /[^\u0021-\u00ff]/;
|
|
2129
|
-
function isValidContentLengthHeaderValue(val) {
|
|
2130
|
-
if (typeof val !== "string" || val.length === 0) {
|
|
2131
|
-
return false;
|
|
2132
|
-
}
|
|
2133
|
-
for (let i = 0; i < val.length; i++) {
|
|
2134
|
-
const charCode = val.charCodeAt(i);
|
|
2135
|
-
if (charCode < 48 || charCode > 57) {
|
|
2136
|
-
return false;
|
|
2137
|
-
}
|
|
2138
|
-
}
|
|
2139
|
-
return true;
|
|
2140
|
-
}
|
|
2141
2129
|
var kHandler = /* @__PURE__ */ Symbol("handler");
|
|
2142
2130
|
var Request = class {
|
|
2143
2131
|
constructor(origin, {
|
|
@@ -2412,11 +2400,7 @@ var require_request = __commonJS({
|
|
|
2412
2400
|
} else if (typeof val[i] === "object") {
|
|
2413
2401
|
throw new InvalidArgumentError(`invalid ${key} header`);
|
|
2414
2402
|
} else {
|
|
2415
|
-
|
|
2416
|
-
if (!isValidHeaderValue(str)) {
|
|
2417
|
-
throw new InvalidArgumentError(`invalid ${key} header`);
|
|
2418
|
-
}
|
|
2419
|
-
arr.push(str);
|
|
2403
|
+
arr.push(`${val[i]}`);
|
|
2420
2404
|
}
|
|
2421
2405
|
}
|
|
2422
2406
|
val = arr;
|
|
@@ -2428,9 +2412,6 @@ var require_request = __commonJS({
|
|
|
2428
2412
|
val = "";
|
|
2429
2413
|
} else {
|
|
2430
2414
|
val = `${val}`;
|
|
2431
|
-
if (!isValidHeaderValue(val)) {
|
|
2432
|
-
throw new InvalidArgumentError(`invalid ${key} header`);
|
|
2433
|
-
}
|
|
2434
2415
|
}
|
|
2435
2416
|
if (headerName === "host") {
|
|
2436
2417
|
if (request.host !== null) {
|
|
@@ -2444,10 +2425,10 @@ var require_request = __commonJS({
|
|
|
2444
2425
|
if (request.contentLength !== null) {
|
|
2445
2426
|
throw new InvalidArgumentError("duplicate content-length header");
|
|
2446
2427
|
}
|
|
2447
|
-
|
|
2428
|
+
request.contentLength = parseInt(val, 10);
|
|
2429
|
+
if (!Number.isFinite(request.contentLength)) {
|
|
2448
2430
|
throw new InvalidArgumentError("invalid content-length header");
|
|
2449
2431
|
}
|
|
2450
|
-
request.contentLength = parseInt(val, 10);
|
|
2451
2432
|
} else if (request.contentType === null && headerName === "content-type") {
|
|
2452
2433
|
request.contentType = val;
|
|
2453
2434
|
request.headers.push(key, val);
|
|
@@ -2477,9 +2458,9 @@ var require_request = __commonJS({
|
|
|
2477
2458
|
}
|
|
2478
2459
|
});
|
|
2479
2460
|
|
|
2480
|
-
// node_modules/.pnpm/undici@7.
|
|
2461
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/wrap-handler.js
|
|
2481
2462
|
var require_wrap_handler = __commonJS({
|
|
2482
|
-
"node_modules/.pnpm/undici@7.
|
|
2463
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/wrap-handler.js"(exports, module) {
|
|
2483
2464
|
"use strict";
|
|
2484
2465
|
var { InvalidArgumentError } = require_errors();
|
|
2485
2466
|
module.exports = class WrapHandler {
|
|
@@ -2560,9 +2541,9 @@ var require_wrap_handler = __commonJS({
|
|
|
2560
2541
|
}
|
|
2561
2542
|
});
|
|
2562
2543
|
|
|
2563
|
-
// node_modules/.pnpm/undici@7.
|
|
2544
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
2564
2545
|
var require_dispatcher = __commonJS({
|
|
2565
|
-
"node_modules/.pnpm/undici@7.
|
|
2546
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module) {
|
|
2566
2547
|
"use strict";
|
|
2567
2548
|
var EventEmitter = __require("node:events");
|
|
2568
2549
|
var WrapHandler = require_wrap_handler();
|
|
@@ -2602,9 +2583,9 @@ var require_dispatcher = __commonJS({
|
|
|
2602
2583
|
}
|
|
2603
2584
|
});
|
|
2604
2585
|
|
|
2605
|
-
// node_modules/.pnpm/undici@7.
|
|
2586
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/unwrap-handler.js
|
|
2606
2587
|
var require_unwrap_handler = __commonJS({
|
|
2607
|
-
"node_modules/.pnpm/undici@7.
|
|
2588
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/unwrap-handler.js"(exports, module) {
|
|
2608
2589
|
"use strict";
|
|
2609
2590
|
var { parseHeaders } = require_util();
|
|
2610
2591
|
var { InvalidArgumentError } = require_errors();
|
|
@@ -2615,8 +2596,6 @@ var require_unwrap_handler = __commonJS({
|
|
|
2615
2596
|
#aborted = false;
|
|
2616
2597
|
#abort;
|
|
2617
2598
|
[kResume] = null;
|
|
2618
|
-
rawHeaders = null;
|
|
2619
|
-
rawTrailers = null;
|
|
2620
2599
|
constructor(abort) {
|
|
2621
2600
|
this.#abort = abort;
|
|
2622
2601
|
}
|
|
@@ -2663,12 +2642,10 @@ var require_unwrap_handler = __commonJS({
|
|
|
2663
2642
|
return this.#handler.onResponseStarted?.();
|
|
2664
2643
|
}
|
|
2665
2644
|
onUpgrade(statusCode, rawHeaders, socket) {
|
|
2666
|
-
this.#controller.rawHeaders = rawHeaders;
|
|
2667
2645
|
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
|
|
2668
2646
|
}
|
|
2669
2647
|
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
|
|
2670
2648
|
this.#controller[kResume] = resume;
|
|
2671
|
-
this.#controller.rawHeaders = rawHeaders;
|
|
2672
2649
|
this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage);
|
|
2673
2650
|
return !this.#controller.paused;
|
|
2674
2651
|
}
|
|
@@ -2677,7 +2654,6 @@ var require_unwrap_handler = __commonJS({
|
|
|
2677
2654
|
return !this.#controller.paused;
|
|
2678
2655
|
}
|
|
2679
2656
|
onComplete(rawTrailers) {
|
|
2680
|
-
this.#controller.rawTrailers = rawTrailers;
|
|
2681
2657
|
this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
|
|
2682
2658
|
}
|
|
2683
2659
|
onError(err) {
|
|
@@ -2690,9 +2666,9 @@ var require_unwrap_handler = __commonJS({
|
|
|
2690
2666
|
}
|
|
2691
2667
|
});
|
|
2692
2668
|
|
|
2693
|
-
// node_modules/.pnpm/undici@7.
|
|
2669
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
2694
2670
|
var require_dispatcher_base = __commonJS({
|
|
2695
|
-
"node_modules/.pnpm/undici@7.
|
|
2671
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module) {
|
|
2696
2672
|
"use strict";
|
|
2697
2673
|
var Dispatcher2 = require_dispatcher();
|
|
2698
2674
|
var UnwrapHandler = require_unwrap_handler();
|
|
@@ -2704,7 +2680,6 @@ var require_dispatcher_base = __commonJS({
|
|
|
2704
2680
|
var { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols();
|
|
2705
2681
|
var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
|
|
2706
2682
|
var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
|
|
2707
|
-
var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions");
|
|
2708
2683
|
var DispatcherBase = class extends Dispatcher2 {
|
|
2709
2684
|
/** @type {boolean} */
|
|
2710
2685
|
[kDestroyed] = false;
|
|
@@ -2714,23 +2689,6 @@ var require_dispatcher_base = __commonJS({
|
|
|
2714
2689
|
[kClosed] = false;
|
|
2715
2690
|
/** @type {Array<Function>|null} */
|
|
2716
2691
|
[kOnClosed] = null;
|
|
2717
|
-
/**
|
|
2718
|
-
* @param {import('../../types/dispatcher').DispatcherOptions} [opts]
|
|
2719
|
-
*/
|
|
2720
|
-
constructor(opts) {
|
|
2721
|
-
super();
|
|
2722
|
-
this[kWebSocketOptions] = opts?.webSocket ?? {};
|
|
2723
|
-
}
|
|
2724
|
-
/**
|
|
2725
|
-
* @returns {import('../../types/dispatcher').WebSocketOptions}
|
|
2726
|
-
*/
|
|
2727
|
-
get webSocketOptions() {
|
|
2728
|
-
return {
|
|
2729
|
-
maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
|
|
2730
|
-
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
|
|
2731
|
-
// 128 MB default
|
|
2732
|
-
};
|
|
2733
|
-
}
|
|
2734
2692
|
/** @returns {boolean} */
|
|
2735
2693
|
get destroyed() {
|
|
2736
2694
|
return this[kDestroyed];
|
|
@@ -2842,9 +2800,9 @@ var require_dispatcher_base = __commonJS({
|
|
|
2842
2800
|
}
|
|
2843
2801
|
});
|
|
2844
2802
|
|
|
2845
|
-
// node_modules/.pnpm/undici@7.
|
|
2803
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/connect.js
|
|
2846
2804
|
var require_connect = __commonJS({
|
|
2847
|
-
"node_modules/.pnpm/undici@7.
|
|
2805
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/connect.js"(exports, module) {
|
|
2848
2806
|
"use strict";
|
|
2849
2807
|
var net = __require("node:net");
|
|
2850
2808
|
var assert = __require("node:assert");
|
|
@@ -2873,20 +2831,6 @@ var require_connect = __commonJS({
|
|
|
2873
2831
|
if (this._maxCachedSessions === 0) {
|
|
2874
2832
|
return;
|
|
2875
2833
|
}
|
|
2876
|
-
if (this._sessionCache.has(sessionKey)) {
|
|
2877
|
-
this._sessionCache.delete(sessionKey);
|
|
2878
|
-
} else if (this._sessionCache.size >= this._maxCachedSessions) {
|
|
2879
|
-
for (const [key, ref] of this._sessionCache) {
|
|
2880
|
-
if (ref.deref() === void 0) {
|
|
2881
|
-
this._sessionCache.delete(key);
|
|
2882
|
-
return;
|
|
2883
|
-
}
|
|
2884
|
-
}
|
|
2885
|
-
const oldest = this._sessionCache.keys().next();
|
|
2886
|
-
if (!oldest.done) {
|
|
2887
|
-
this._sessionCache.delete(oldest.value);
|
|
2888
|
-
}
|
|
2889
|
-
}
|
|
2890
2834
|
this._sessionCache.set(sessionKey, new WeakRef(session));
|
|
2891
2835
|
this._sessionRegistry.register(session, sessionKey);
|
|
2892
2836
|
}
|
|
@@ -2968,9 +2912,9 @@ var require_connect = __commonJS({
|
|
|
2968
2912
|
}
|
|
2969
2913
|
});
|
|
2970
2914
|
|
|
2971
|
-
// node_modules/.pnpm/undici@7.
|
|
2915
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/utils.js
|
|
2972
2916
|
var require_utils = __commonJS({
|
|
2973
|
-
"node_modules/.pnpm/undici@7.
|
|
2917
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/utils.js"(exports) {
|
|
2974
2918
|
"use strict";
|
|
2975
2919
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2976
2920
|
exports.enumToMap = enumToMap;
|
|
@@ -2984,9 +2928,9 @@ var require_utils = __commonJS({
|
|
|
2984
2928
|
}
|
|
2985
2929
|
});
|
|
2986
2930
|
|
|
2987
|
-
// node_modules/.pnpm/undici@7.
|
|
2931
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/constants.js
|
|
2988
2932
|
var require_constants2 = __commonJS({
|
|
2989
|
-
"node_modules/.pnpm/undici@7.
|
|
2933
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/constants.js"(exports) {
|
|
2990
2934
|
"use strict";
|
|
2991
2935
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2992
2936
|
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;
|
|
@@ -3607,9 +3551,9 @@ var require_constants2 = __commonJS({
|
|
|
3607
3551
|
}
|
|
3608
3552
|
});
|
|
3609
3553
|
|
|
3610
|
-
// node_modules/.pnpm/undici@7.
|
|
3554
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
3611
3555
|
var require_llhttp_wasm = __commonJS({
|
|
3612
|
-
"node_modules/.pnpm/undici@7.
|
|
3556
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module) {
|
|
3613
3557
|
"use strict";
|
|
3614
3558
|
var { Buffer: Buffer3 } = __require("node:buffer");
|
|
3615
3559
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASECDMYBC0GIASECDMUBCyADQQA2AhwgAyABNgIUIANB2yA2AhAgA0EHNgIMQQAhAgzEAQsgASAERgRAQYkBIQIMxAELAkACQAJAIAEtAABBoNIAai0AAEEBaw4DRgIAAQtB8gAhAgysAQsgA0EANgIcIAMgATYCFCADQbQSNgIQIANBBzYCDEEAIQIMxAELQeoAIQIMqgELIAEgBEcEQCABQQFqIQFB7wAhAgyqAQtBhwEhAgzCAQsgBCABIgBGBEBBhgEhAgzCAQsgAC0AACIBQS9GBEAgAEEBaiEBQe4AIQIMqQELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDUEMAQsgBCABIgBGBEBBhQEhAgzBAQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQdsgNgIQIANBBzYCDAy/AQsCQAJAAkACQAJAA0AgAS0AAEGgzgBqLQAAIgBBBUcEQAJAAkAgAEEBaw4IRwUGBwgABAEIC0HrACECDK0BCyABQQFqIQFB7QAhAgysAQsgBCABQQFqIgFHDQALQYQBIQIMwwELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgzBAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgzAAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy/AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMvgELIAEgBEYEQEGDASECDL4BCwJAIAEtAABBoM4Aai0AAEEBaw4IPgQFBgAIAgMHCyABQQFqIQELQQMhAgyjAQsgAUEBagwNC0EAIQIgA0EANgIcIANB0RI2AhAgA0EHNgIMIAMgAUEBajYCFAy6AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy5AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgy4AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy3AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMtgELQewAIQIMnAELIAEgBEYEQEGCASECDLUBCyABQQFqDAILIAEgBEYEQEGBASECDLQBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyYAQtBgAEhAgywAQsDQCABLQAAQaDMAGotAAAiAEECRwRAIABBAUcEQEHpACECDJkBCwwxCyAEIAFBAWoiAUcNAAtB/wAhAgyvAQsgASAERgRAQf4AIQIMrwELAkAgAS0AAEEJaw43LwMGLwQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDJQBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIANBADYCHCADIAE2AhQgA0GNFDYCECADQQc2AgxBACECDKgBCwJAAkACQAJAA0AgAS0AAEGgygBqLQAAIgBBBUcEQAJAIABBAWsOBi4DBAUGAAYLQegAIQIMlAELIAQgAUEBaiIBRw0AC0H9ACECDKsBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDKoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDKkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQfoANgIcIAMgATYCFCADIAA2AgxBACECDKgBCyADQQA2AhwgAyABNgIUIANB5Ag2AhAgA0EHNgIMQQAhAgynAQsgASAERg0BIAFBAWoLIQFBBiECDIwBC0H8ACECDKQBCwJAAkACQAJAA0AgAS0AAEGgyABqLQAAIgBBBUcEQCAAQQFrDgQpAgMEBQsgBCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
@@ -3622,9 +3566,9 @@ var require_llhttp_wasm = __commonJS({
|
|
|
3622
3566
|
}
|
|
3623
3567
|
});
|
|
3624
3568
|
|
|
3625
|
-
// node_modules/.pnpm/undici@7.
|
|
3569
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
3626
3570
|
var require_llhttp_simd_wasm = __commonJS({
|
|
3627
|
-
"node_modules/.pnpm/undici@7.
|
|
3571
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module) {
|
|
3628
3572
|
"use strict";
|
|
3629
3573
|
var { Buffer: Buffer3 } = __require("node:buffer");
|
|
3630
3574
|
var 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+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+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==";
|
|
@@ -3637,9 +3581,9 @@ var require_llhttp_simd_wasm = __commonJS({
|
|
|
3637
3581
|
}
|
|
3638
3582
|
});
|
|
3639
3583
|
|
|
3640
|
-
// node_modules/.pnpm/undici@7.
|
|
3584
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/constants.js
|
|
3641
3585
|
var require_constants3 = __commonJS({
|
|
3642
|
-
"node_modules/.pnpm/undici@7.
|
|
3586
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/constants.js"(exports, module) {
|
|
3643
3587
|
"use strict";
|
|
3644
3588
|
var corsSafeListedMethods = (
|
|
3645
3589
|
/** @type {const} */
|
|
@@ -3861,9 +3805,9 @@ var require_constants3 = __commonJS({
|
|
|
3861
3805
|
}
|
|
3862
3806
|
});
|
|
3863
3807
|
|
|
3864
|
-
// node_modules/.pnpm/undici@7.
|
|
3808
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/global.js
|
|
3865
3809
|
var require_global = __commonJS({
|
|
3866
|
-
"node_modules/.pnpm/undici@7.
|
|
3810
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/global.js"(exports, module) {
|
|
3867
3811
|
"use strict";
|
|
3868
3812
|
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
|
|
3869
3813
|
function getGlobalOrigin() {
|
|
@@ -3897,9 +3841,9 @@ var require_global = __commonJS({
|
|
|
3897
3841
|
}
|
|
3898
3842
|
});
|
|
3899
3843
|
|
|
3900
|
-
// node_modules/.pnpm/undici@7.
|
|
3844
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/encoding/index.js
|
|
3901
3845
|
var require_encoding = __commonJS({
|
|
3902
|
-
"node_modules/.pnpm/undici@7.
|
|
3846
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/encoding/index.js"(exports, module) {
|
|
3903
3847
|
"use strict";
|
|
3904
3848
|
var textDecoder = new TextDecoder();
|
|
3905
3849
|
function utf8DecodeBytes(buffer) {
|
|
@@ -3918,9 +3862,9 @@ var require_encoding = __commonJS({
|
|
|
3918
3862
|
}
|
|
3919
3863
|
});
|
|
3920
3864
|
|
|
3921
|
-
// node_modules/.pnpm/undici@7.
|
|
3865
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/infra/index.js
|
|
3922
3866
|
var require_infra = __commonJS({
|
|
3923
|
-
"node_modules/.pnpm/undici@7.
|
|
3867
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/infra/index.js"(exports, module) {
|
|
3924
3868
|
"use strict";
|
|
3925
3869
|
var assert = __require("node:assert");
|
|
3926
3870
|
var { utf8DecodeBytes } = require_encoding();
|
|
@@ -4031,9 +3975,9 @@ var require_infra = __commonJS({
|
|
|
4031
3975
|
}
|
|
4032
3976
|
});
|
|
4033
3977
|
|
|
4034
|
-
// node_modules/.pnpm/undici@7.
|
|
3978
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/data-url.js
|
|
4035
3979
|
var require_data_url = __commonJS({
|
|
4036
|
-
"node_modules/.pnpm/undici@7.
|
|
3980
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/data-url.js"(exports, module) {
|
|
4037
3981
|
"use strict";
|
|
4038
3982
|
var assert = __require("node:assert");
|
|
4039
3983
|
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
|
|
@@ -4310,9 +4254,9 @@ var require_data_url = __commonJS({
|
|
|
4310
4254
|
}
|
|
4311
4255
|
});
|
|
4312
4256
|
|
|
4313
|
-
// node_modules/.pnpm/undici@7.
|
|
4257
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/runtime-features.js
|
|
4314
4258
|
var require_runtime_features = __commonJS({
|
|
4315
|
-
"node_modules/.pnpm/undici@7.
|
|
4259
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/runtime-features.js"(exports, module) {
|
|
4316
4260
|
"use strict";
|
|
4317
4261
|
var lazyLoaders = {
|
|
4318
4262
|
__proto__: null,
|
|
@@ -4412,9 +4356,9 @@ var require_runtime_features = __commonJS({
|
|
|
4412
4356
|
}
|
|
4413
4357
|
});
|
|
4414
4358
|
|
|
4415
|
-
// node_modules/.pnpm/undici@7.
|
|
4359
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/webidl/index.js
|
|
4416
4360
|
var require_webidl = __commonJS({
|
|
4417
|
-
"node_modules/.pnpm/undici@7.
|
|
4361
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/webidl/index.js"(exports, module) {
|
|
4418
4362
|
"use strict";
|
|
4419
4363
|
var assert = __require("node:assert");
|
|
4420
4364
|
var { types, inspect } = __require("node:util");
|
|
@@ -4554,7 +4498,7 @@ var require_webidl = __commonJS({
|
|
|
4554
4498
|
lowerBound = 0;
|
|
4555
4499
|
upperBound = Math.pow(2, bitLength) - 1;
|
|
4556
4500
|
} else {
|
|
4557
|
-
lowerBound =
|
|
4501
|
+
lowerBound = Math.pow(-2, bitLength) - 1;
|
|
4558
4502
|
upperBound = Math.pow(2, bitLength - 1) - 1;
|
|
4559
4503
|
}
|
|
4560
4504
|
let x = Number(V);
|
|
@@ -4591,7 +4535,7 @@ var require_webidl = __commonJS({
|
|
|
4591
4535
|
}
|
|
4592
4536
|
x = webidl.util.IntegerPart(x);
|
|
4593
4537
|
x = x % Math.pow(2, bitLength);
|
|
4594
|
-
if (signedness === "signed" && x >= Math.pow(2, bitLength - 1)
|
|
4538
|
+
if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
|
|
4595
4539
|
return x - Math.pow(2, bitLength);
|
|
4596
4540
|
}
|
|
4597
4541
|
return x;
|
|
@@ -5014,9 +4958,9 @@ var require_webidl = __commonJS({
|
|
|
5014
4958
|
}
|
|
5015
4959
|
});
|
|
5016
4960
|
|
|
5017
|
-
// node_modules/.pnpm/undici@7.
|
|
4961
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/util.js
|
|
5018
4962
|
var require_util2 = __commonJS({
|
|
5019
|
-
"node_modules/.pnpm/undici@7.
|
|
4963
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/util.js"(exports, module) {
|
|
5020
4964
|
"use strict";
|
|
5021
4965
|
var { Transform } = __require("node:stream");
|
|
5022
4966
|
var zlib = __require("node:zlib");
|
|
@@ -5781,9 +5725,9 @@ var require_util2 = __commonJS({
|
|
|
5781
5725
|
}
|
|
5782
5726
|
});
|
|
5783
5727
|
|
|
5784
|
-
// node_modules/.pnpm/undici@7.
|
|
5728
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/formdata.js
|
|
5785
5729
|
var require_formdata = __commonJS({
|
|
5786
|
-
"node_modules/.pnpm/undici@7.
|
|
5730
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/formdata.js"(exports, module) {
|
|
5787
5731
|
"use strict";
|
|
5788
5732
|
var { iteratorMixin } = require_util2();
|
|
5789
5733
|
var { kEnumerableProperty } = require_util();
|
|
@@ -5943,9 +5887,9 @@ var require_formdata = __commonJS({
|
|
|
5943
5887
|
}
|
|
5944
5888
|
});
|
|
5945
5889
|
|
|
5946
|
-
// node_modules/.pnpm/undici@7.
|
|
5890
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
5947
5891
|
var require_formdata_parser = __commonJS({
|
|
5948
|
-
"node_modules/.pnpm/undici@7.
|
|
5892
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module) {
|
|
5949
5893
|
"use strict";
|
|
5950
5894
|
var { bufferToLowerCasedHeaderName } = require_util();
|
|
5951
5895
|
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
@@ -6109,7 +6053,7 @@ var require_formdata_parser = __commonJS({
|
|
|
6109
6053
|
);
|
|
6110
6054
|
value = decoder.decode(tokenValue);
|
|
6111
6055
|
}
|
|
6112
|
-
return { name: attrNameStr, value
|
|
6056
|
+
return { name: attrNameStr, value };
|
|
6113
6057
|
}
|
|
6114
6058
|
function parseMultipartFormDataHeaders(input, position) {
|
|
6115
6059
|
let name = null;
|
|
@@ -6144,7 +6088,6 @@ var require_formdata_parser = __commonJS({
|
|
|
6144
6088
|
switch (bufferToLowerCasedHeaderName(headerName)) {
|
|
6145
6089
|
case "content-disposition": {
|
|
6146
6090
|
name = filename = null;
|
|
6147
|
-
let filenameIsExtended = false;
|
|
6148
6091
|
const dispositionType = collectASequenceOfBytes(
|
|
6149
6092
|
(char) => isToken(char),
|
|
6150
6093
|
input,
|
|
@@ -6153,7 +6096,7 @@ var require_formdata_parser = __commonJS({
|
|
|
6153
6096
|
if (dispositionType.toString("ascii").toLowerCase() !== "form-data") {
|
|
6154
6097
|
throw parsingError("expected form-data for content-disposition header");
|
|
6155
6098
|
}
|
|
6156
|
-
while (position.position < input.length &&
|
|
6099
|
+
while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) {
|
|
6157
6100
|
const attribute = parseContentDispositionAttribute(input, position);
|
|
6158
6101
|
if (!attribute) {
|
|
6159
6102
|
break;
|
|
@@ -6161,12 +6104,7 @@ var require_formdata_parser = __commonJS({
|
|
|
6161
6104
|
if (attribute.name === "name") {
|
|
6162
6105
|
name = attribute.value;
|
|
6163
6106
|
} else if (attribute.name === "filename") {
|
|
6164
|
-
|
|
6165
|
-
filename = attribute.value;
|
|
6166
|
-
filenameIsExtended = true;
|
|
6167
|
-
} else if (!filenameIsExtended) {
|
|
6168
|
-
filename = attribute.value;
|
|
6169
|
-
}
|
|
6107
|
+
filename = attribute.value;
|
|
6170
6108
|
}
|
|
6171
6109
|
}
|
|
6172
6110
|
if (name === null) {
|
|
@@ -6202,7 +6140,7 @@ var require_formdata_parser = __commonJS({
|
|
|
6202
6140
|
);
|
|
6203
6141
|
}
|
|
6204
6142
|
}
|
|
6205
|
-
if (input[position.position] !== 13
|
|
6143
|
+
if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
|
|
6206
6144
|
throw parsingError("expected CRLF");
|
|
6207
6145
|
} else {
|
|
6208
6146
|
position.position += 2;
|
|
@@ -6273,9 +6211,9 @@ var require_formdata_parser = __commonJS({
|
|
|
6273
6211
|
}
|
|
6274
6212
|
});
|
|
6275
6213
|
|
|
6276
|
-
// node_modules/.pnpm/undici@7.
|
|
6214
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/promise.js
|
|
6277
6215
|
var require_promise = __commonJS({
|
|
6278
|
-
"node_modules/.pnpm/undici@7.
|
|
6216
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/promise.js"(exports, module) {
|
|
6279
6217
|
"use strict";
|
|
6280
6218
|
function createDeferredPromise() {
|
|
6281
6219
|
let res;
|
|
@@ -6292,9 +6230,9 @@ var require_promise = __commonJS({
|
|
|
6292
6230
|
}
|
|
6293
6231
|
});
|
|
6294
6232
|
|
|
6295
|
-
// node_modules/.pnpm/undici@7.
|
|
6233
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/body.js
|
|
6296
6234
|
var require_body = __commonJS({
|
|
6297
|
-
"node_modules/.pnpm/undici@7.
|
|
6235
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/body.js"(exports, module) {
|
|
6298
6236
|
"use strict";
|
|
6299
6237
|
var util = require_util();
|
|
6300
6238
|
var {
|
|
@@ -6575,9 +6513,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
|
|
|
6575
6513
|
}
|
|
6576
6514
|
});
|
|
6577
6515
|
|
|
6578
|
-
// node_modules/.pnpm/undici@7.
|
|
6516
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client-h1.js
|
|
6579
6517
|
var require_client_h1 = __commonJS({
|
|
6580
|
-
"node_modules/.pnpm/undici@7.
|
|
6518
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module) {
|
|
6581
6519
|
"use strict";
|
|
6582
6520
|
var assert = __require("node:assert");
|
|
6583
6521
|
var util = require_util();
|
|
@@ -6587,7 +6525,6 @@ var require_client_h1 = __commonJS({
|
|
|
6587
6525
|
RequestContentLengthMismatchError,
|
|
6588
6526
|
ResponseContentLengthMismatchError,
|
|
6589
6527
|
RequestAbortedError,
|
|
6590
|
-
InvalidArgumentError,
|
|
6591
6528
|
HeadersTimeoutError,
|
|
6592
6529
|
HeadersOverflowError,
|
|
6593
6530
|
SocketError,
|
|
@@ -6634,18 +6571,15 @@ var require_client_h1 = __commonJS({
|
|
|
6634
6571
|
var EMPTY_BUF = Buffer.alloc(0);
|
|
6635
6572
|
var FastBuffer = Buffer[Symbol.species];
|
|
6636
6573
|
var removeAllListeners = util.removeAllListeners;
|
|
6637
|
-
var kIdleSocketValidation = /* @__PURE__ */ Symbol("kIdleSocketValidation");
|
|
6638
|
-
var kIdleSocketValidationTimeout = /* @__PURE__ */ Symbol("kIdleSocketValidationTimeout");
|
|
6639
|
-
var kSocketUsed = /* @__PURE__ */ Symbol("kSocketUsed");
|
|
6640
6574
|
var extractBody;
|
|
6641
6575
|
function lazyllhttp() {
|
|
6642
6576
|
const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
|
|
6643
6577
|
let mod;
|
|
6644
6578
|
let useWasmSIMD = process.arch !== "ppc64";
|
|
6645
6579
|
if (process.env.UNDICI_NO_WASM_SIMD === "1") {
|
|
6646
|
-
useWasmSIMD = false;
|
|
6647
|
-
} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
|
|
6648
6580
|
useWasmSIMD = true;
|
|
6581
|
+
} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
|
|
6582
|
+
useWasmSIMD = false;
|
|
6649
6583
|
}
|
|
6650
6584
|
if (useWasmSIMD) {
|
|
6651
6585
|
try {
|
|
@@ -6763,7 +6697,6 @@ var require_client_h1 = __commonJS({
|
|
|
6763
6697
|
this.client = client;
|
|
6764
6698
|
this.socket = socket;
|
|
6765
6699
|
this.timeout = null;
|
|
6766
|
-
this.timeoutWeakRef = new WeakRef(this);
|
|
6767
6700
|
this.timeoutValue = null;
|
|
6768
6701
|
this.timeoutType = null;
|
|
6769
6702
|
this.statusCode = 0;
|
|
@@ -6789,9 +6722,9 @@ var require_client_h1 = __commonJS({
|
|
|
6789
6722
|
}
|
|
6790
6723
|
if (delay) {
|
|
6791
6724
|
if (type & USE_FAST_TIMER) {
|
|
6792
|
-
this.timeout = timers.setFastTimeout(onParserTimeout, delay, this
|
|
6725
|
+
this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
|
|
6793
6726
|
} else {
|
|
6794
|
-
this.timeout = setTimeout(onParserTimeout, delay, this
|
|
6727
|
+
this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
|
|
6795
6728
|
this.timeout?.unref();
|
|
6796
6729
|
}
|
|
6797
6730
|
}
|
|
@@ -6863,47 +6796,19 @@ var require_client_h1 = __commonJS({
|
|
|
6863
6796
|
this.paused = true;
|
|
6864
6797
|
socket.unshift(data);
|
|
6865
6798
|
} else {
|
|
6866
|
-
|
|
6799
|
+
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
|
|
6800
|
+
let message = "";
|
|
6801
|
+
if (ptr) {
|
|
6802
|
+
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
|
|
6803
|
+
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
|
|
6804
|
+
}
|
|
6805
|
+
throw new HTTPParserError(message, constants2.ERROR[ret], data);
|
|
6867
6806
|
}
|
|
6868
6807
|
}
|
|
6869
6808
|
} catch (err) {
|
|
6870
6809
|
util.destroy(socket, err);
|
|
6871
6810
|
}
|
|
6872
6811
|
}
|
|
6873
|
-
finish() {
|
|
6874
|
-
assert(currentParser === null);
|
|
6875
|
-
assert(this.ptr != null);
|
|
6876
|
-
assert(!this.paused);
|
|
6877
|
-
const { llhttp } = this;
|
|
6878
|
-
let ret;
|
|
6879
|
-
try {
|
|
6880
|
-
currentParser = this;
|
|
6881
|
-
ret = llhttp.llhttp_finish(this.ptr);
|
|
6882
|
-
} finally {
|
|
6883
|
-
currentParser = null;
|
|
6884
|
-
}
|
|
6885
|
-
if (ret === constants2.ERROR.OK) {
|
|
6886
|
-
return null;
|
|
6887
|
-
}
|
|
6888
|
-
if (ret === constants2.ERROR.PAUSED || ret === constants2.ERROR.PAUSED_UPGRADE) {
|
|
6889
|
-
this.paused = true;
|
|
6890
|
-
return null;
|
|
6891
|
-
}
|
|
6892
|
-
return this.createError(ret, EMPTY_BUF);
|
|
6893
|
-
}
|
|
6894
|
-
createError(ret, data) {
|
|
6895
|
-
const { llhttp, contentLength, bytesRead } = this;
|
|
6896
|
-
if (contentLength && bytesRead !== parseInt(contentLength, 10)) {
|
|
6897
|
-
return new ResponseContentLengthMismatchError();
|
|
6898
|
-
}
|
|
6899
|
-
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
|
|
6900
|
-
let message = "";
|
|
6901
|
-
if (ptr) {
|
|
6902
|
-
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
|
|
6903
|
-
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
|
|
6904
|
-
}
|
|
6905
|
-
return new HTTPParserError(message, constants2.ERROR[ret], data);
|
|
6906
|
-
}
|
|
6907
6812
|
destroy() {
|
|
6908
6813
|
assert(currentParser === null);
|
|
6909
6814
|
assert(this.ptr != null);
|
|
@@ -6931,10 +6836,6 @@ var require_client_h1 = __commonJS({
|
|
|
6931
6836
|
if (socket.destroyed) {
|
|
6932
6837
|
return -1;
|
|
6933
6838
|
}
|
|
6934
|
-
if (client[kRunning] === 0) {
|
|
6935
|
-
util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
|
|
6936
|
-
return -1;
|
|
6937
|
-
}
|
|
6938
6839
|
const request = client[kQueue][client[kRunningIdx]];
|
|
6939
6840
|
if (!request) {
|
|
6940
6841
|
return -1;
|
|
@@ -7037,10 +6938,6 @@ var require_client_h1 = __commonJS({
|
|
|
7037
6938
|
if (socket.destroyed) {
|
|
7038
6939
|
return -1;
|
|
7039
6940
|
}
|
|
7040
|
-
if (client[kRunning] === 0) {
|
|
7041
|
-
util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
|
|
7042
|
-
return -1;
|
|
7043
|
-
}
|
|
7044
6941
|
const request = client[kQueue][client[kRunningIdx]];
|
|
7045
6942
|
if (!request) {
|
|
7046
6943
|
return -1;
|
|
@@ -7174,7 +7071,6 @@ var require_client_h1 = __commonJS({
|
|
|
7174
7071
|
}
|
|
7175
7072
|
request.onComplete(headers);
|
|
7176
7073
|
client[kQueue][client[kRunningIdx]++] = null;
|
|
7177
|
-
socket[kSocketUsed] = client[kPending] === 0;
|
|
7178
7074
|
if (socket[kWriting]) {
|
|
7179
7075
|
assert(client[kRunning] === 0);
|
|
7180
7076
|
util.destroy(socket, new InformationalError("reset"));
|
|
@@ -7228,9 +7124,6 @@ var require_client_h1 = __commonJS({
|
|
|
7228
7124
|
socket[kWriting] = false;
|
|
7229
7125
|
socket[kReset] = false;
|
|
7230
7126
|
socket[kBlocking] = false;
|
|
7231
|
-
socket[kIdleSocketValidation] = 0;
|
|
7232
|
-
socket[kIdleSocketValidationTimeout] = null;
|
|
7233
|
-
socket[kSocketUsed] = false;
|
|
7234
7127
|
socket[kParser] = new Parser(client, socket, llhttpInstance);
|
|
7235
7128
|
util.addListener(socket, "error", onHttpSocketError);
|
|
7236
7129
|
util.addListener(socket, "readable", onHttpSocketReadable);
|
|
@@ -7270,7 +7163,7 @@ var require_client_h1 = __commonJS({
|
|
|
7270
7163
|
* @returns {boolean}
|
|
7271
7164
|
*/
|
|
7272
7165
|
busy(request) {
|
|
7273
|
-
if (socket[kWriting] || socket[kReset] || socket[kBlocking]
|
|
7166
|
+
if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
|
|
7274
7167
|
return true;
|
|
7275
7168
|
}
|
|
7276
7169
|
if (request) {
|
|
@@ -7292,11 +7185,7 @@ var require_client_h1 = __commonJS({
|
|
|
7292
7185
|
assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
|
|
7293
7186
|
const parser = this[kParser];
|
|
7294
7187
|
if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
|
|
7295
|
-
|
|
7296
|
-
if (parserErr) {
|
|
7297
|
-
this[kError] = parserErr;
|
|
7298
|
-
this[kClient][kOnError](parserErr);
|
|
7299
|
-
}
|
|
7188
|
+
parser.onMessageComplete();
|
|
7300
7189
|
return;
|
|
7301
7190
|
}
|
|
7302
7191
|
this[kError] = err;
|
|
@@ -7308,20 +7197,16 @@ var require_client_h1 = __commonJS({
|
|
|
7308
7197
|
function onHttpSocketEnd() {
|
|
7309
7198
|
const parser = this[kParser];
|
|
7310
7199
|
if (parser.statusCode && !parser.shouldKeepAlive) {
|
|
7311
|
-
|
|
7312
|
-
if (parserErr) {
|
|
7313
|
-
util.destroy(this, parserErr);
|
|
7314
|
-
}
|
|
7200
|
+
parser.onMessageComplete();
|
|
7315
7201
|
return;
|
|
7316
7202
|
}
|
|
7317
7203
|
util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
|
|
7318
7204
|
}
|
|
7319
7205
|
function onHttpSocketClose() {
|
|
7320
7206
|
const parser = this[kParser];
|
|
7321
|
-
clearIdleSocketValidation(this);
|
|
7322
7207
|
if (parser) {
|
|
7323
7208
|
if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
|
|
7324
|
-
|
|
7209
|
+
parser.onMessageComplete();
|
|
7325
7210
|
}
|
|
7326
7211
|
this[kParser].destroy();
|
|
7327
7212
|
this[kParser] = null;
|
|
@@ -7350,24 +7235,6 @@ var require_client_h1 = __commonJS({
|
|
|
7350
7235
|
function onSocketClose() {
|
|
7351
7236
|
this[kClosed] = true;
|
|
7352
7237
|
}
|
|
7353
|
-
function clearIdleSocketValidation(socket) {
|
|
7354
|
-
if (socket[kIdleSocketValidationTimeout]) {
|
|
7355
|
-
clearTimeout(socket[kIdleSocketValidationTimeout]);
|
|
7356
|
-
socket[kIdleSocketValidationTimeout] = null;
|
|
7357
|
-
}
|
|
7358
|
-
socket[kIdleSocketValidation] = 0;
|
|
7359
|
-
}
|
|
7360
|
-
function scheduleIdleSocketValidation(client, socket) {
|
|
7361
|
-
socket[kIdleSocketValidation] = 1;
|
|
7362
|
-
socket[kIdleSocketValidationTimeout] = setTimeout(() => {
|
|
7363
|
-
socket[kIdleSocketValidationTimeout] = null;
|
|
7364
|
-
socket[kIdleSocketValidation] = 2;
|
|
7365
|
-
if (client[kSocket] === socket && !socket.destroyed) {
|
|
7366
|
-
client[kResume]();
|
|
7367
|
-
}
|
|
7368
|
-
}, 0);
|
|
7369
|
-
socket[kIdleSocketValidationTimeout].unref?.();
|
|
7370
|
-
}
|
|
7371
7238
|
function resumeH1(client) {
|
|
7372
7239
|
const socket = client[kSocket];
|
|
7373
7240
|
if (socket && !socket.destroyed) {
|
|
@@ -7380,29 +7247,6 @@ var require_client_h1 = __commonJS({
|
|
|
7380
7247
|
socket.ref();
|
|
7381
7248
|
socket[kNoRef] = false;
|
|
7382
7249
|
}
|
|
7383
|
-
if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) {
|
|
7384
|
-
if (socket[kIdleSocketValidation] === 0) {
|
|
7385
|
-
scheduleIdleSocketValidation(client, socket);
|
|
7386
|
-
socket[kParser].readMore();
|
|
7387
|
-
if (socket.destroyed) {
|
|
7388
|
-
return;
|
|
7389
|
-
}
|
|
7390
|
-
return;
|
|
7391
|
-
}
|
|
7392
|
-
if (socket[kIdleSocketValidation] === 1) {
|
|
7393
|
-
socket[kParser].readMore();
|
|
7394
|
-
if (socket.destroyed) {
|
|
7395
|
-
return;
|
|
7396
|
-
}
|
|
7397
|
-
return;
|
|
7398
|
-
}
|
|
7399
|
-
}
|
|
7400
|
-
if (client[kRunning] === 0) {
|
|
7401
|
-
socket[kParser].readMore();
|
|
7402
|
-
if (socket.destroyed) {
|
|
7403
|
-
return;
|
|
7404
|
-
}
|
|
7405
|
-
}
|
|
7406
7250
|
if (client[kSize] === 0) {
|
|
7407
7251
|
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
|
|
7408
7252
|
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
|
|
@@ -7433,16 +7277,8 @@ var require_client_h1 = __commonJS({
|
|
|
7433
7277
|
}
|
|
7434
7278
|
body = bodyStream.stream;
|
|
7435
7279
|
contentLength = bodyStream.length;
|
|
7436
|
-
} else if (util.isBlobLike(body) && request.contentType == null) {
|
|
7437
|
-
|
|
7438
|
-
if (contentType) {
|
|
7439
|
-
const contentTypeValue = `${contentType}`;
|
|
7440
|
-
if (!util.isValidHeaderValue(contentTypeValue)) {
|
|
7441
|
-
util.errorRequest(client, request, new InvalidArgumentError("invalid content-type header"));
|
|
7442
|
-
return false;
|
|
7443
|
-
}
|
|
7444
|
-
headers.push("content-type", contentTypeValue);
|
|
7445
|
-
}
|
|
7280
|
+
} else if (util.isBlobLike(body) && request.contentType == null && body.type) {
|
|
7281
|
+
headers.push("content-type", body.type);
|
|
7446
7282
|
}
|
|
7447
7283
|
if (body && typeof body.read === "function") {
|
|
7448
7284
|
body.read(0);
|
|
@@ -7463,7 +7299,6 @@ var require_client_h1 = __commonJS({
|
|
|
7463
7299
|
process.emitWarning(new RequestContentLengthMismatchError());
|
|
7464
7300
|
}
|
|
7465
7301
|
const socket = client[kSocket];
|
|
7466
|
-
clearIdleSocketValidation(socket);
|
|
7467
7302
|
const abort = (err) => {
|
|
7468
7303
|
if (request.aborted || request.completed) {
|
|
7469
7304
|
return;
|
|
@@ -7844,9 +7679,9 @@ ${len.toString(16)}\r
|
|
|
7844
7679
|
}
|
|
7845
7680
|
});
|
|
7846
7681
|
|
|
7847
|
-
// node_modules/.pnpm/undici@7.
|
|
7682
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client-h2.js
|
|
7848
7683
|
var require_client_h2 = __commonJS({
|
|
7849
|
-
"node_modules/.pnpm/undici@7.
|
|
7684
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module) {
|
|
7850
7685
|
"use strict";
|
|
7851
7686
|
var assert = __require("node:assert");
|
|
7852
7687
|
var { pipeline } = __require("node:stream");
|
|
@@ -8571,9 +8406,9 @@ var require_client_h2 = __commonJS({
|
|
|
8571
8406
|
}
|
|
8572
8407
|
});
|
|
8573
8408
|
|
|
8574
|
-
// node_modules/.pnpm/undici@7.
|
|
8409
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client.js
|
|
8575
8410
|
var require_client = __commonJS({
|
|
8576
|
-
"node_modules/.pnpm/undici@7.
|
|
8411
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/client.js"(exports, module) {
|
|
8577
8412
|
"use strict";
|
|
8578
8413
|
var assert = __require("node:assert");
|
|
8579
8414
|
var net = __require("node:net");
|
|
@@ -8679,8 +8514,7 @@ var require_client = __commonJS({
|
|
|
8679
8514
|
useH2c,
|
|
8680
8515
|
initialWindowSize,
|
|
8681
8516
|
connectionWindowSize,
|
|
8682
|
-
pingInterval
|
|
8683
|
-
webSocket
|
|
8517
|
+
pingInterval
|
|
8684
8518
|
} = {}) {
|
|
8685
8519
|
if (keepAlive !== void 0) {
|
|
8686
8520
|
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
|
|
@@ -8758,7 +8592,7 @@ var require_client = __commonJS({
|
|
|
8758
8592
|
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
|
|
8759
8593
|
throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");
|
|
8760
8594
|
}
|
|
8761
|
-
super(
|
|
8595
|
+
super();
|
|
8762
8596
|
if (typeof connect2 !== "function") {
|
|
8763
8597
|
connect2 = buildConnector({
|
|
8764
8598
|
...tls,
|
|
@@ -8770,13 +8604,9 @@ var require_client = __commonJS({
|
|
|
8770
8604
|
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
|
|
8771
8605
|
...connect2
|
|
8772
8606
|
});
|
|
8773
|
-
} else {
|
|
8607
|
+
} else if (socketPath != null) {
|
|
8774
8608
|
const customConnect = connect2;
|
|
8775
|
-
connect2 = (opts, callback) => customConnect({
|
|
8776
|
-
...opts,
|
|
8777
|
-
...socketPath != null ? { socketPath } : null,
|
|
8778
|
-
...allowH2 != null ? { allowH2 } : null
|
|
8779
|
-
}, callback);
|
|
8609
|
+
connect2 = (opts, callback) => customConnect({ ...opts, socketPath }, callback);
|
|
8780
8610
|
}
|
|
8781
8611
|
this[kUrl] = util.parseOrigin(url);
|
|
8782
8612
|
this[kConnector] = connect2;
|
|
@@ -9098,9 +8928,9 @@ var require_client = __commonJS({
|
|
|
9098
8928
|
}
|
|
9099
8929
|
});
|
|
9100
8930
|
|
|
9101
|
-
// node_modules/.pnpm/undici@7.
|
|
8931
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
9102
8932
|
var require_fixed_queue = __commonJS({
|
|
9103
|
-
"node_modules/.pnpm/undici@7.
|
|
8933
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module) {
|
|
9104
8934
|
"use strict";
|
|
9105
8935
|
var kSize = 2048;
|
|
9106
8936
|
var kMask = kSize - 1;
|
|
@@ -9169,9 +8999,9 @@ var require_fixed_queue = __commonJS({
|
|
|
9169
8999
|
}
|
|
9170
9000
|
});
|
|
9171
9001
|
|
|
9172
|
-
// node_modules/.pnpm/undici@7.
|
|
9002
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/pool-base.js
|
|
9173
9003
|
var require_pool_base = __commonJS({
|
|
9174
|
-
"node_modules/.pnpm/undici@7.
|
|
9004
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module) {
|
|
9175
9005
|
"use strict";
|
|
9176
9006
|
var { PoolStats } = require_stats();
|
|
9177
9007
|
var DispatcherBase = require_dispatcher_base();
|
|
@@ -9345,9 +9175,9 @@ var require_pool_base = __commonJS({
|
|
|
9345
9175
|
}
|
|
9346
9176
|
});
|
|
9347
9177
|
|
|
9348
|
-
// node_modules/.pnpm/undici@7.
|
|
9178
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/pool.js
|
|
9349
9179
|
var require_pool = __commonJS({
|
|
9350
|
-
"node_modules/.pnpm/undici@7.
|
|
9180
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/pool.js"(exports, module) {
|
|
9351
9181
|
"use strict";
|
|
9352
9182
|
var {
|
|
9353
9183
|
PoolBase,
|
|
@@ -9405,7 +9235,7 @@ var require_pool = __commonJS({
|
|
|
9405
9235
|
...connect
|
|
9406
9236
|
});
|
|
9407
9237
|
}
|
|
9408
|
-
super(
|
|
9238
|
+
super();
|
|
9409
9239
|
this[kConnections] = connections || null;
|
|
9410
9240
|
this[kUrl] = util.parseOrigin(origin);
|
|
9411
9241
|
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl, socketPath };
|
|
@@ -9447,9 +9277,9 @@ var require_pool = __commonJS({
|
|
|
9447
9277
|
}
|
|
9448
9278
|
});
|
|
9449
9279
|
|
|
9450
|
-
// node_modules/.pnpm/undici@7.
|
|
9280
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
9451
9281
|
var require_balanced_pool = __commonJS({
|
|
9452
|
-
"node_modules/.pnpm/undici@7.
|
|
9282
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports, module) {
|
|
9453
9283
|
"use strict";
|
|
9454
9284
|
var {
|
|
9455
9285
|
BalancedPoolMissingUpstreamError,
|
|
@@ -9491,7 +9321,7 @@ var require_balanced_pool = __commonJS({
|
|
|
9491
9321
|
if (typeof factory !== "function") {
|
|
9492
9322
|
throw new InvalidArgumentError("factory must be a function.");
|
|
9493
9323
|
}
|
|
9494
|
-
super(
|
|
9324
|
+
super();
|
|
9495
9325
|
this[kOptions] = { ...util.deepClone(opts) };
|
|
9496
9326
|
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
9497
9327
|
this[kIndex] = -1;
|
|
@@ -9595,9 +9425,9 @@ var require_balanced_pool = __commonJS({
|
|
|
9595
9425
|
}
|
|
9596
9426
|
});
|
|
9597
9427
|
|
|
9598
|
-
// node_modules/.pnpm/undici@7.
|
|
9428
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
9599
9429
|
var require_round_robin_pool = __commonJS({
|
|
9600
|
-
"node_modules/.pnpm/undici@7.
|
|
9430
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports, module) {
|
|
9601
9431
|
"use strict";
|
|
9602
9432
|
var {
|
|
9603
9433
|
PoolBase,
|
|
@@ -9712,9 +9542,9 @@ var require_round_robin_pool = __commonJS({
|
|
|
9712
9542
|
}
|
|
9713
9543
|
});
|
|
9714
9544
|
|
|
9715
|
-
// node_modules/.pnpm/undici@7.
|
|
9545
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/agent.js
|
|
9716
9546
|
var require_agent = __commonJS({
|
|
9717
|
-
"node_modules/.pnpm/undici@7.
|
|
9547
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/agent.js"(exports, module) {
|
|
9718
9548
|
"use strict";
|
|
9719
9549
|
var { InvalidArgumentError, MaxOriginsReachedError } = require_errors();
|
|
9720
9550
|
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
|
|
@@ -9743,7 +9573,7 @@ var require_agent = __commonJS({
|
|
|
9743
9573
|
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) {
|
|
9744
9574
|
throw new InvalidArgumentError("maxOrigins must be a number greater than 0");
|
|
9745
9575
|
}
|
|
9746
|
-
super(
|
|
9576
|
+
super();
|
|
9747
9577
|
if (connect && typeof connect !== "function") {
|
|
9748
9578
|
connect = { ...connect };
|
|
9749
9579
|
}
|
|
@@ -9845,9 +9675,9 @@ var require_agent = __commonJS({
|
|
|
9845
9675
|
}
|
|
9846
9676
|
});
|
|
9847
9677
|
|
|
9848
|
-
// node_modules/.pnpm/undici@7.
|
|
9678
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/socks5-utils.js
|
|
9849
9679
|
var require_socks5_utils = __commonJS({
|
|
9850
|
-
"node_modules/.pnpm/undici@7.
|
|
9680
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/socks5-utils.js"(exports, module) {
|
|
9851
9681
|
"use strict";
|
|
9852
9682
|
var { Buffer: Buffer3 } = __require("node:buffer");
|
|
9853
9683
|
var net = __require("node:net");
|
|
@@ -9880,37 +9710,28 @@ var require_socks5_utils = __commonJS({
|
|
|
9880
9710
|
}
|
|
9881
9711
|
function parseIPv6(address) {
|
|
9882
9712
|
const buffer = Buffer3.alloc(16);
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9886
|
-
|
|
9887
|
-
if (net.isIPv4(ipv4Part)) {
|
|
9888
|
-
const octets = ipv4Part.split(".").map(Number);
|
|
9889
|
-
const high = (octets[0] << 8 | octets[1]).toString(16);
|
|
9890
|
-
const low = (octets[2] << 8 | octets[3]).toString(16);
|
|
9891
|
-
normalizedAddress = `${address.slice(0, lastColonIndex)}:${high}:${low}`;
|
|
9892
|
-
}
|
|
9893
|
-
}
|
|
9894
|
-
const doubleColonIndex = normalizedAddress.indexOf("::");
|
|
9713
|
+
const parts = address.split(":");
|
|
9714
|
+
let partIndex = 0;
|
|
9715
|
+
let bufferIndex = 0;
|
|
9716
|
+
const doubleColonIndex = address.indexOf("::");
|
|
9895
9717
|
if (doubleColonIndex !== -1) {
|
|
9896
|
-
const
|
|
9897
|
-
const
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
|
|
9905
|
-
|
|
9906
|
-
for (const part of afterParts) {
|
|
9907
|
-
buffer.writeUInt16BE(parseInt(part, 16), bufferIndex);
|
|
9908
|
-
bufferIndex += 2;
|
|
9718
|
+
const nonEmptyParts = parts.filter((p) => p.length > 0).length;
|
|
9719
|
+
const skipParts = 8 - nonEmptyParts;
|
|
9720
|
+
for (let i = 0; i < parts.length; i++) {
|
|
9721
|
+
if (parts[i] === "" && i === doubleColonIndex / 3) {
|
|
9722
|
+
bufferIndex += skipParts * 2;
|
|
9723
|
+
} else if (parts[i] !== "") {
|
|
9724
|
+
const value = parseInt(parts[i], 16);
|
|
9725
|
+
buffer.writeUInt16BE(value, bufferIndex);
|
|
9726
|
+
bufferIndex += 2;
|
|
9727
|
+
}
|
|
9909
9728
|
}
|
|
9910
9729
|
} else {
|
|
9911
|
-
const
|
|
9912
|
-
|
|
9913
|
-
|
|
9730
|
+
for (const part of parts) {
|
|
9731
|
+
if (part === "") continue;
|
|
9732
|
+
const value = parseInt(part, 16);
|
|
9733
|
+
buffer.writeUInt16BE(value, partIndex * 2);
|
|
9734
|
+
partIndex++;
|
|
9914
9735
|
}
|
|
9915
9736
|
}
|
|
9916
9737
|
return buffer;
|
|
@@ -10006,9 +9827,9 @@ var require_socks5_utils = __commonJS({
|
|
|
10006
9827
|
}
|
|
10007
9828
|
});
|
|
10008
9829
|
|
|
10009
|
-
// node_modules/.pnpm/undici@7.
|
|
9830
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/socks5-client.js
|
|
10010
9831
|
var require_socks5_client = __commonJS({
|
|
10011
|
-
"node_modules/.pnpm/undici@7.
|
|
9832
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/core/socks5-client.js"(exports, module) {
|
|
10012
9833
|
"use strict";
|
|
10013
9834
|
var { EventEmitter } = __require("node:events");
|
|
10014
9835
|
var { Buffer: Buffer3 } = __require("node:buffer");
|
|
@@ -10016,7 +9837,6 @@ var require_socks5_client = __commonJS({
|
|
|
10016
9837
|
var { debuglog } = __require("node:util");
|
|
10017
9838
|
var { parseAddress } = require_socks5_utils();
|
|
10018
9839
|
var debug = debuglog("undici:socks5");
|
|
10019
|
-
var EMPTY_BUFFER = Buffer3.alloc(0);
|
|
10020
9840
|
var SOCKS_VERSION = 5;
|
|
10021
9841
|
var AUTH_METHODS = {
|
|
10022
9842
|
NO_AUTH: 0,
|
|
@@ -10049,7 +9869,6 @@ var require_socks5_client = __commonJS({
|
|
|
10049
9869
|
INITIAL: "initial",
|
|
10050
9870
|
HANDSHAKING: "handshaking",
|
|
10051
9871
|
AUTHENTICATING: "authenticating",
|
|
10052
|
-
AUTHENTICATED: "authenticated",
|
|
10053
9872
|
CONNECTING: "connecting",
|
|
10054
9873
|
CONNECTED: "connected",
|
|
10055
9874
|
ERROR: "error",
|
|
@@ -10064,18 +9883,15 @@ var require_socks5_client = __commonJS({
|
|
|
10064
9883
|
this.socket = socket;
|
|
10065
9884
|
this.options = options;
|
|
10066
9885
|
this.state = STATES.INITIAL;
|
|
10067
|
-
this.buffer =
|
|
10068
|
-
this.onSocketData = this.onData.bind(this);
|
|
10069
|
-
this.onSocketError = this.onError.bind(this);
|
|
10070
|
-
this.onSocketClose = this.onClose.bind(this);
|
|
9886
|
+
this.buffer = Buffer3.alloc(0);
|
|
10071
9887
|
this.authMethods = [];
|
|
10072
9888
|
if (options.username && options.password) {
|
|
10073
9889
|
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
|
|
10074
9890
|
}
|
|
10075
9891
|
this.authMethods.push(AUTH_METHODS.NO_AUTH);
|
|
10076
|
-
this.socket.on("data", this.
|
|
10077
|
-
this.socket.on("error", this.
|
|
10078
|
-
this.socket.on("close", this.
|
|
9892
|
+
this.socket.on("data", this.onData.bind(this));
|
|
9893
|
+
this.socket.on("error", this.onError.bind(this));
|
|
9894
|
+
this.socket.on("close", this.onClose.bind(this));
|
|
10079
9895
|
}
|
|
10080
9896
|
/**
|
|
10081
9897
|
* Handle incoming data from the socket
|
|
@@ -10124,10 +9940,6 @@ var require_socks5_client = __commonJS({
|
|
|
10124
9940
|
this.socket.destroy();
|
|
10125
9941
|
}
|
|
10126
9942
|
}
|
|
10127
|
-
markAuthenticated() {
|
|
10128
|
-
this.state = STATES.AUTHENTICATED;
|
|
10129
|
-
this.emit("authenticated");
|
|
10130
|
-
}
|
|
10131
9943
|
/**
|
|
10132
9944
|
* Start the SOCKS5 handshake
|
|
10133
9945
|
*/
|
|
@@ -10163,7 +9975,7 @@ var require_socks5_client = __commonJS({
|
|
|
10163
9975
|
this.buffer = this.buffer.subarray(2);
|
|
10164
9976
|
debug("server selected auth method", method);
|
|
10165
9977
|
if (method === AUTH_METHODS.NO_AUTH) {
|
|
10166
|
-
this.
|
|
9978
|
+
this.emit("authenticated");
|
|
10167
9979
|
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
|
|
10168
9980
|
this.state = STATES.AUTHENTICATING;
|
|
10169
9981
|
this.sendAuthRequest();
|
|
@@ -10210,7 +10022,7 @@ var require_socks5_client = __commonJS({
|
|
|
10210
10022
|
}
|
|
10211
10023
|
this.buffer = this.buffer.subarray(2);
|
|
10212
10024
|
debug("authentication successful");
|
|
10213
|
-
this.
|
|
10025
|
+
this.emit("authenticated");
|
|
10214
10026
|
}
|
|
10215
10027
|
/**
|
|
10216
10028
|
* Send CONNECT command
|
|
@@ -10218,11 +10030,8 @@ var require_socks5_client = __commonJS({
|
|
|
10218
10030
|
* @param {number} port - Target port
|
|
10219
10031
|
*/
|
|
10220
10032
|
connect(address, port) {
|
|
10221
|
-
if (this.state === STATES.
|
|
10222
|
-
throw new InvalidArgumentError("
|
|
10223
|
-
}
|
|
10224
|
-
if (this.state !== STATES.AUTHENTICATED) {
|
|
10225
|
-
throw new InvalidArgumentError("Client must be authenticated before CONNECT");
|
|
10033
|
+
if (this.state === STATES.CONNECTED) {
|
|
10034
|
+
throw new InvalidArgumentError("Already connected");
|
|
10226
10035
|
}
|
|
10227
10036
|
debug("connecting to", address, port);
|
|
10228
10037
|
this.state = STATES.CONNECTING;
|
|
@@ -10296,9 +10105,8 @@ var require_socks5_client = __commonJS({
|
|
|
10296
10105
|
offset += 16;
|
|
10297
10106
|
}
|
|
10298
10107
|
const boundPort = this.buffer.readUInt16BE(offset);
|
|
10299
|
-
this.buffer =
|
|
10108
|
+
this.buffer = this.buffer.subarray(responseLength);
|
|
10300
10109
|
this.state = STATES.CONNECTED;
|
|
10301
|
-
this.socket.removeListener("data", this.onSocketData);
|
|
10302
10110
|
debug("connected, bound address:", boundAddress, "port:", boundPort);
|
|
10303
10111
|
this.emit("connected", { address: boundAddress, port: boundPort });
|
|
10304
10112
|
}
|
|
@@ -10339,15 +10147,16 @@ var require_socks5_client = __commonJS({
|
|
|
10339
10147
|
}
|
|
10340
10148
|
});
|
|
10341
10149
|
|
|
10342
|
-
// node_modules/.pnpm/undici@7.
|
|
10150
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
10343
10151
|
var require_socks5_proxy_agent = __commonJS({
|
|
10344
|
-
"node_modules/.pnpm/undici@7.
|
|
10152
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports, module) {
|
|
10345
10153
|
"use strict";
|
|
10154
|
+
var net = __require("node:net");
|
|
10346
10155
|
var { URL: URL2 } = __require("node:url");
|
|
10347
10156
|
var tls;
|
|
10348
10157
|
var DispatcherBase = require_dispatcher_base();
|
|
10349
10158
|
var { InvalidArgumentError } = require_errors();
|
|
10350
|
-
var { Socks5Client
|
|
10159
|
+
var { Socks5Client } = require_socks5_client();
|
|
10351
10160
|
var { kDispatch, kClose, kDestroy } = require_symbols();
|
|
10352
10161
|
var Pool = require_pool();
|
|
10353
10162
|
var buildConnector = require_connect();
|
|
@@ -10356,10 +10165,8 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10356
10165
|
var kProxyUrl = /* @__PURE__ */ Symbol("proxy url");
|
|
10357
10166
|
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
|
|
10358
10167
|
var kProxyAuth = /* @__PURE__ */ Symbol("proxy auth");
|
|
10359
|
-
var
|
|
10360
|
-
var kPools = /* @__PURE__ */ Symbol("pools");
|
|
10168
|
+
var kPool = /* @__PURE__ */ Symbol("pool");
|
|
10361
10169
|
var kConnector = /* @__PURE__ */ Symbol("connector");
|
|
10362
|
-
var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
|
|
10363
10170
|
var experimentalWarningEmitted = false;
|
|
10364
10171
|
var Socks5ProxyAgent = class extends DispatcherBase {
|
|
10365
10172
|
constructor(proxyUrl, options = {}) {
|
|
@@ -10380,8 +10187,6 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10380
10187
|
}
|
|
10381
10188
|
this[kProxyUrl] = url;
|
|
10382
10189
|
this[kProxyHeaders] = options.headers || {};
|
|
10383
|
-
this[kProxyProtocol] = options.proxyTls ? "https:" : "http:";
|
|
10384
|
-
this[kRequestTls] = options.requestTls;
|
|
10385
10190
|
this[kProxyAuth] = {
|
|
10386
10191
|
username: options.username || (url.username ? decodeURIComponent(url.username) : null),
|
|
10387
10192
|
password: options.password || (url.password ? decodeURIComponent(url.password) : null)
|
|
@@ -10390,7 +10195,7 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10390
10195
|
...options.proxyTls,
|
|
10391
10196
|
servername: options.proxyTls?.servername || url.hostname
|
|
10392
10197
|
});
|
|
10393
|
-
this[
|
|
10198
|
+
this[kPool] = null;
|
|
10394
10199
|
}
|
|
10395
10200
|
/**
|
|
10396
10201
|
* Create a SOCKS5 connection to the proxy
|
|
@@ -10400,18 +10205,20 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10400
10205
|
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
|
|
10401
10206
|
debug("creating SOCKS5 connection to", proxyHost, proxyPort);
|
|
10402
10207
|
const socket = await new Promise((resolve6, reject) => {
|
|
10403
|
-
|
|
10404
|
-
|
|
10208
|
+
const onConnect = () => {
|
|
10209
|
+
socket2.removeListener("error", onError);
|
|
10210
|
+
resolve6(socket2);
|
|
10211
|
+
};
|
|
10212
|
+
const onError = (err) => {
|
|
10213
|
+
socket2.removeListener("connect", onConnect);
|
|
10214
|
+
reject(err);
|
|
10215
|
+
};
|
|
10216
|
+
const socket2 = net.connect({
|
|
10405
10217
|
host: proxyHost,
|
|
10406
|
-
port: proxyPort
|
|
10407
|
-
protocol: this[kProxyProtocol]
|
|
10408
|
-
}, (err, socket2) => {
|
|
10409
|
-
if (err) {
|
|
10410
|
-
reject(err);
|
|
10411
|
-
} else {
|
|
10412
|
-
resolve6(socket2);
|
|
10413
|
-
}
|
|
10218
|
+
port: proxyPort
|
|
10414
10219
|
});
|
|
10220
|
+
socket2.once("connect", onConnect);
|
|
10221
|
+
socket2.once("error", onError);
|
|
10415
10222
|
});
|
|
10416
10223
|
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
|
|
10417
10224
|
socks5Client.on("error", (err) => {
|
|
@@ -10433,7 +10240,7 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10433
10240
|
socks5Client.removeListener("authenticated", onAuthenticated);
|
|
10434
10241
|
reject(err);
|
|
10435
10242
|
};
|
|
10436
|
-
if (socks5Client.state ===
|
|
10243
|
+
if (socks5Client.state === "authenticated") {
|
|
10437
10244
|
clearTimeout(timeout);
|
|
10438
10245
|
resolve6();
|
|
10439
10246
|
} else {
|
|
@@ -10465,14 +10272,12 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10465
10272
|
/**
|
|
10466
10273
|
* Dispatch a request through the SOCKS5 proxy
|
|
10467
10274
|
*/
|
|
10468
|
-
[kDispatch](opts, handler) {
|
|
10275
|
+
async [kDispatch](opts, handler) {
|
|
10469
10276
|
const { origin } = opts;
|
|
10470
10277
|
debug("dispatching request to", origin, "via SOCKS5");
|
|
10471
10278
|
try {
|
|
10472
|
-
|
|
10473
|
-
|
|
10474
|
-
if (!pool || pool.destroyed || pool.closed) {
|
|
10475
|
-
pool = new Pool(origin, {
|
|
10279
|
+
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) {
|
|
10280
|
+
this[kPool] = new Pool(origin, {
|
|
10476
10281
|
pipelining: opts.pipelining,
|
|
10477
10282
|
connections: opts.connections,
|
|
10478
10283
|
connect: async (connectOpts, callback) => {
|
|
@@ -10489,9 +10294,9 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10489
10294
|
}
|
|
10490
10295
|
debug("upgrading to TLS");
|
|
10491
10296
|
finalSocket = tls.connect({
|
|
10492
|
-
...this[kRequestTls],
|
|
10493
10297
|
socket,
|
|
10494
|
-
servername:
|
|
10298
|
+
servername: targetHost,
|
|
10299
|
+
...connectOpts.tls || {}
|
|
10495
10300
|
});
|
|
10496
10301
|
await new Promise((resolve6, reject) => {
|
|
10497
10302
|
finalSocket.once("secureConnect", resolve6);
|
|
@@ -10505,46 +10310,35 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10505
10310
|
}
|
|
10506
10311
|
}
|
|
10507
10312
|
});
|
|
10508
|
-
this[kPools].set(originKey, pool);
|
|
10509
10313
|
}
|
|
10510
|
-
return
|
|
10314
|
+
return this[kPool][kDispatch](opts, handler);
|
|
10511
10315
|
} catch (err) {
|
|
10512
10316
|
debug("dispatch error:", err);
|
|
10513
|
-
if (typeof handler.
|
|
10514
|
-
handler.onResponseError(null, err);
|
|
10515
|
-
return false;
|
|
10516
|
-
} else if (typeof handler.onError === "function") {
|
|
10317
|
+
if (typeof handler.onError === "function") {
|
|
10517
10318
|
handler.onError(err);
|
|
10518
|
-
return false;
|
|
10519
10319
|
} else {
|
|
10520
10320
|
throw err;
|
|
10521
10321
|
}
|
|
10522
10322
|
}
|
|
10523
10323
|
}
|
|
10524
10324
|
async [kClose]() {
|
|
10525
|
-
|
|
10526
|
-
|
|
10527
|
-
closePromises.push(pool.close());
|
|
10325
|
+
if (this[kPool]) {
|
|
10326
|
+
await this[kPool].close();
|
|
10528
10327
|
}
|
|
10529
|
-
this[kPools].clear();
|
|
10530
|
-
await Promise.all(closePromises);
|
|
10531
10328
|
}
|
|
10532
10329
|
async [kDestroy](err) {
|
|
10533
|
-
|
|
10534
|
-
|
|
10535
|
-
destroyPromises.push(pool.destroy(err));
|
|
10330
|
+
if (this[kPool]) {
|
|
10331
|
+
await this[kPool].destroy(err);
|
|
10536
10332
|
}
|
|
10537
|
-
this[kPools].clear();
|
|
10538
|
-
await Promise.all(destroyPromises);
|
|
10539
10333
|
}
|
|
10540
10334
|
};
|
|
10541
10335
|
module.exports = Socks5ProxyAgent;
|
|
10542
10336
|
}
|
|
10543
10337
|
});
|
|
10544
10338
|
|
|
10545
|
-
// node_modules/.pnpm/undici@7.
|
|
10339
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
10546
10340
|
var require_proxy_agent = __commonJS({
|
|
10547
|
-
"node_modules/.pnpm/undici@7.
|
|
10341
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module) {
|
|
10548
10342
|
"use strict";
|
|
10549
10343
|
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
|
|
10550
10344
|
var Agent = require_agent();
|
|
@@ -10660,8 +10454,7 @@ var require_proxy_agent = __commonJS({
|
|
|
10660
10454
|
factory: agentFactory,
|
|
10661
10455
|
username: opts.username || username,
|
|
10662
10456
|
password: opts.password || password,
|
|
10663
|
-
proxyTls: opts.proxyTls
|
|
10664
|
-
requestTls: opts.requestTls
|
|
10457
|
+
proxyTls: opts.proxyTls
|
|
10665
10458
|
});
|
|
10666
10459
|
}
|
|
10667
10460
|
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
|
|
@@ -10799,9 +10592,9 @@ var require_proxy_agent = __commonJS({
|
|
|
10799
10592
|
}
|
|
10800
10593
|
});
|
|
10801
10594
|
|
|
10802
|
-
// node_modules/.pnpm/undici@7.
|
|
10595
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
10803
10596
|
var require_env_http_proxy_agent = __commonJS({
|
|
10804
|
-
"node_modules/.pnpm/undici@7.
|
|
10597
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports, module) {
|
|
10805
10598
|
"use strict";
|
|
10806
10599
|
var DispatcherBase = require_dispatcher_base();
|
|
10807
10600
|
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
@@ -10922,9 +10715,9 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
10922
10715
|
}
|
|
10923
10716
|
});
|
|
10924
10717
|
|
|
10925
|
-
// node_modules/.pnpm/undici@7.
|
|
10718
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/retry-handler.js
|
|
10926
10719
|
var require_retry_handler = __commonJS({
|
|
10927
|
-
"node_modules/.pnpm/undici@7.
|
|
10720
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/retry-handler.js"(exports, module) {
|
|
10928
10721
|
"use strict";
|
|
10929
10722
|
var assert = __require("node:assert");
|
|
10930
10723
|
var { kRetryHandlerDefaultRetry } = require_symbols();
|
|
@@ -10939,23 +10732,6 @@ var require_retry_handler = __commonJS({
|
|
|
10939
10732
|
const retryTime = new Date(retryAfter).getTime();
|
|
10940
10733
|
return isNaN(retryTime) ? 0 : retryTime - Date.now();
|
|
10941
10734
|
}
|
|
10942
|
-
function validatePartialResponseContentLength(headers, range, statusCode, retryCount) {
|
|
10943
|
-
const contentLength = headers["content-length"];
|
|
10944
|
-
if (contentLength == null) {
|
|
10945
|
-
return;
|
|
10946
|
-
}
|
|
10947
|
-
if (!Number.isFinite(range.start) || !Number.isFinite(range.end)) {
|
|
10948
|
-
return;
|
|
10949
|
-
}
|
|
10950
|
-
const length = Number(contentLength);
|
|
10951
|
-
const expectedLength = range.end - range.start + 1;
|
|
10952
|
-
if (!Number.isFinite(length) || length !== expectedLength) {
|
|
10953
|
-
throw new RequestRetryError("Content-Length mismatch", statusCode, {
|
|
10954
|
-
headers,
|
|
10955
|
-
data: { count: retryCount }
|
|
10956
|
-
});
|
|
10957
|
-
}
|
|
10958
|
-
}
|
|
10959
10735
|
var RetryHandler = class _RetryHandler {
|
|
10960
10736
|
constructor(opts, { dispatch, handler }) {
|
|
10961
10737
|
const { retryOptions, ...dispatchOpts } = opts;
|
|
@@ -11124,7 +10900,6 @@ var require_retry_handler = __commonJS({
|
|
|
11124
10900
|
data: { count: this.retryCount }
|
|
11125
10901
|
});
|
|
11126
10902
|
}
|
|
11127
|
-
validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount);
|
|
11128
10903
|
const { start, size, end = size ? size - 1 : null } = contentRange;
|
|
11129
10904
|
assert(this.start === start, "content-range mismatch");
|
|
11130
10905
|
assert(this.end == null || this.end === end, "content-range mismatch");
|
|
@@ -11143,7 +10918,6 @@ var require_retry_handler = __commonJS({
|
|
|
11143
10918
|
);
|
|
11144
10919
|
return;
|
|
11145
10920
|
}
|
|
11146
|
-
validatePartialResponseContentLength(headers, range, statusCode, this.retryCount);
|
|
11147
10921
|
const { start, size, end = size ? size - 1 : null } = range;
|
|
11148
10922
|
assert(
|
|
11149
10923
|
start != null && Number.isFinite(start),
|
|
@@ -11250,9 +11024,9 @@ var require_retry_handler = __commonJS({
|
|
|
11250
11024
|
}
|
|
11251
11025
|
});
|
|
11252
11026
|
|
|
11253
|
-
// node_modules/.pnpm/undici@7.
|
|
11027
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
11254
11028
|
var require_retry_agent = __commonJS({
|
|
11255
|
-
"node_modules/.pnpm/undici@7.
|
|
11029
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/retry-agent.js"(exports, module) {
|
|
11256
11030
|
"use strict";
|
|
11257
11031
|
var Dispatcher2 = require_dispatcher();
|
|
11258
11032
|
var RetryHandler = require_retry_handler();
|
|
@@ -11285,9 +11059,9 @@ var require_retry_agent = __commonJS({
|
|
|
11285
11059
|
}
|
|
11286
11060
|
});
|
|
11287
11061
|
|
|
11288
|
-
// node_modules/.pnpm/undici@7.
|
|
11062
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
11289
11063
|
var require_h2c_client = __commonJS({
|
|
11290
|
-
"node_modules/.pnpm/undici@7.
|
|
11064
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/dispatcher/h2c-client.js"(exports, module) {
|
|
11291
11065
|
"use strict";
|
|
11292
11066
|
var { InvalidArgumentError } = require_errors();
|
|
11293
11067
|
var Client = require_client();
|
|
@@ -11301,7 +11075,7 @@ var require_h2c_client = __commonJS({
|
|
|
11301
11075
|
"h2c-client: Only h2c protocol is supported"
|
|
11302
11076
|
);
|
|
11303
11077
|
}
|
|
11304
|
-
const { maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {};
|
|
11078
|
+
const { connect, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {};
|
|
11305
11079
|
let defaultMaxConcurrentStreams = 100;
|
|
11306
11080
|
let defaultPipelining = 100;
|
|
11307
11081
|
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) {
|
|
@@ -11328,9 +11102,9 @@ var require_h2c_client = __commonJS({
|
|
|
11328
11102
|
}
|
|
11329
11103
|
});
|
|
11330
11104
|
|
|
11331
|
-
// node_modules/.pnpm/undici@7.
|
|
11105
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/readable.js
|
|
11332
11106
|
var require_readable = __commonJS({
|
|
11333
|
-
"node_modules/.pnpm/undici@7.
|
|
11107
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/readable.js"(exports, module) {
|
|
11334
11108
|
"use strict";
|
|
11335
11109
|
var assert = __require("node:assert");
|
|
11336
11110
|
var { Readable } = __require("node:stream");
|
|
@@ -11730,9 +11504,9 @@ var require_readable = __commonJS({
|
|
|
11730
11504
|
}
|
|
11731
11505
|
});
|
|
11732
11506
|
|
|
11733
|
-
// node_modules/.pnpm/undici@7.
|
|
11507
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-request.js
|
|
11734
11508
|
var require_api_request = __commonJS({
|
|
11735
|
-
"node_modules/.pnpm/undici@7.
|
|
11509
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-request.js"(exports, module) {
|
|
11736
11510
|
"use strict";
|
|
11737
11511
|
var assert = __require("node:assert");
|
|
11738
11512
|
var { AsyncResource } = __require("node:async_hooks");
|
|
@@ -11751,7 +11525,7 @@ var require_api_request = __commonJS({
|
|
|
11751
11525
|
if (typeof callback !== "function") {
|
|
11752
11526
|
throw new InvalidArgumentError("invalid callback");
|
|
11753
11527
|
}
|
|
11754
|
-
if (highWaterMark
|
|
11528
|
+
if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
|
|
11755
11529
|
throw new InvalidArgumentError("invalid highWaterMark");
|
|
11756
11530
|
}
|
|
11757
11531
|
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
|
|
@@ -11908,9 +11682,9 @@ var require_api_request = __commonJS({
|
|
|
11908
11682
|
}
|
|
11909
11683
|
});
|
|
11910
11684
|
|
|
11911
|
-
// node_modules/.pnpm/undici@7.
|
|
11685
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/abort-signal.js
|
|
11912
11686
|
var require_abort_signal = __commonJS({
|
|
11913
|
-
"node_modules/.pnpm/undici@7.
|
|
11687
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/abort-signal.js"(exports, module) {
|
|
11914
11688
|
"use strict";
|
|
11915
11689
|
var { addAbortListener } = require_util();
|
|
11916
11690
|
var { RequestAbortedError } = require_errors();
|
|
@@ -11960,9 +11734,9 @@ var require_abort_signal = __commonJS({
|
|
|
11960
11734
|
}
|
|
11961
11735
|
});
|
|
11962
11736
|
|
|
11963
|
-
// node_modules/.pnpm/undici@7.
|
|
11737
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-stream.js
|
|
11964
11738
|
var require_api_stream = __commonJS({
|
|
11965
|
-
"node_modules/.pnpm/undici@7.
|
|
11739
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-stream.js"(exports, module) {
|
|
11966
11740
|
"use strict";
|
|
11967
11741
|
var assert = __require("node:assert");
|
|
11968
11742
|
var { finished } = __require("node:stream");
|
|
@@ -12121,9 +11895,9 @@ var require_api_stream = __commonJS({
|
|
|
12121
11895
|
}
|
|
12122
11896
|
});
|
|
12123
11897
|
|
|
12124
|
-
// node_modules/.pnpm/undici@7.
|
|
11898
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-pipeline.js
|
|
12125
11899
|
var require_api_pipeline = __commonJS({
|
|
12126
|
-
"node_modules/.pnpm/undici@7.
|
|
11900
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-pipeline.js"(exports, module) {
|
|
12127
11901
|
"use strict";
|
|
12128
11902
|
var {
|
|
12129
11903
|
Readable,
|
|
@@ -12322,9 +12096,9 @@ var require_api_pipeline = __commonJS({
|
|
|
12322
12096
|
}
|
|
12323
12097
|
});
|
|
12324
12098
|
|
|
12325
|
-
// node_modules/.pnpm/undici@7.
|
|
12099
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-upgrade.js
|
|
12326
12100
|
var require_api_upgrade = __commonJS({
|
|
12327
|
-
"node_modules/.pnpm/undici@7.
|
|
12101
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-upgrade.js"(exports, module) {
|
|
12328
12102
|
"use strict";
|
|
12329
12103
|
var { InvalidArgumentError, SocketError } = require_errors();
|
|
12330
12104
|
var { AsyncResource } = __require("node:async_hooks");
|
|
@@ -12416,9 +12190,9 @@ var require_api_upgrade = __commonJS({
|
|
|
12416
12190
|
}
|
|
12417
12191
|
});
|
|
12418
12192
|
|
|
12419
|
-
// node_modules/.pnpm/undici@7.
|
|
12193
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-connect.js
|
|
12420
12194
|
var require_api_connect = __commonJS({
|
|
12421
|
-
"node_modules/.pnpm/undici@7.
|
|
12195
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/api-connect.js"(exports, module) {
|
|
12422
12196
|
"use strict";
|
|
12423
12197
|
var assert = __require("node:assert");
|
|
12424
12198
|
var { AsyncResource } = __require("node:async_hooks");
|
|
@@ -12507,9 +12281,9 @@ var require_api_connect = __commonJS({
|
|
|
12507
12281
|
}
|
|
12508
12282
|
});
|
|
12509
12283
|
|
|
12510
|
-
// node_modules/.pnpm/undici@7.
|
|
12284
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/index.js
|
|
12511
12285
|
var require_api = __commonJS({
|
|
12512
|
-
"node_modules/.pnpm/undici@7.
|
|
12286
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/api/index.js"(exports, module) {
|
|
12513
12287
|
"use strict";
|
|
12514
12288
|
module.exports.request = require_api_request();
|
|
12515
12289
|
module.exports.stream = require_api_stream();
|
|
@@ -12519,9 +12293,9 @@ var require_api = __commonJS({
|
|
|
12519
12293
|
}
|
|
12520
12294
|
});
|
|
12521
12295
|
|
|
12522
|
-
// node_modules/.pnpm/undici@7.
|
|
12296
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-errors.js
|
|
12523
12297
|
var require_mock_errors = __commonJS({
|
|
12524
|
-
"node_modules/.pnpm/undici@7.
|
|
12298
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-errors.js"(exports, module) {
|
|
12525
12299
|
"use strict";
|
|
12526
12300
|
var { UndiciError } = require_errors();
|
|
12527
12301
|
var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
@@ -12545,9 +12319,9 @@ var require_mock_errors = __commonJS({
|
|
|
12545
12319
|
}
|
|
12546
12320
|
});
|
|
12547
12321
|
|
|
12548
|
-
// node_modules/.pnpm/undici@7.
|
|
12322
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-symbols.js
|
|
12549
12323
|
var require_mock_symbols = __commonJS({
|
|
12550
|
-
"node_modules/.pnpm/undici@7.
|
|
12324
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-symbols.js"(exports, module) {
|
|
12551
12325
|
"use strict";
|
|
12552
12326
|
module.exports = {
|
|
12553
12327
|
kAgent: /* @__PURE__ */ Symbol("agent"),
|
|
@@ -12582,9 +12356,9 @@ var require_mock_symbols = __commonJS({
|
|
|
12582
12356
|
}
|
|
12583
12357
|
});
|
|
12584
12358
|
|
|
12585
|
-
// node_modules/.pnpm/undici@7.
|
|
12359
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-utils.js
|
|
12586
12360
|
var require_mock_utils = __commonJS({
|
|
12587
|
-
"node_modules/.pnpm/undici@7.
|
|
12361
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-utils.js"(exports, module) {
|
|
12588
12362
|
"use strict";
|
|
12589
12363
|
var { MockNotMatchedError } = require_mock_errors();
|
|
12590
12364
|
var {
|
|
@@ -12959,9 +12733,9 @@ var require_mock_utils = __commonJS({
|
|
|
12959
12733
|
}
|
|
12960
12734
|
});
|
|
12961
12735
|
|
|
12962
|
-
// node_modules/.pnpm/undici@7.
|
|
12736
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-interceptor.js
|
|
12963
12737
|
var require_mock_interceptor = __commonJS({
|
|
12964
|
-
"node_modules/.pnpm/undici@7.
|
|
12738
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module) {
|
|
12965
12739
|
"use strict";
|
|
12966
12740
|
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
12967
12741
|
var {
|
|
@@ -13123,9 +12897,9 @@ var require_mock_interceptor = __commonJS({
|
|
|
13123
12897
|
}
|
|
13124
12898
|
});
|
|
13125
12899
|
|
|
13126
|
-
// node_modules/.pnpm/undici@7.
|
|
12900
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-client.js
|
|
13127
12901
|
var require_mock_client = __commonJS({
|
|
13128
|
-
"node_modules/.pnpm/undici@7.
|
|
12902
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-client.js"(exports, module) {
|
|
13129
12903
|
"use strict";
|
|
13130
12904
|
var { promisify } = __require("node:util");
|
|
13131
12905
|
var Client = require_client();
|
|
@@ -13184,19 +12958,19 @@ var require_mock_client = __commonJS({
|
|
|
13184
12958
|
}
|
|
13185
12959
|
});
|
|
13186
12960
|
|
|
13187
|
-
// node_modules/.pnpm/undici@7.
|
|
12961
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-call-history.js
|
|
13188
12962
|
var require_mock_call_history = __commonJS({
|
|
13189
|
-
"node_modules/.pnpm/undici@7.
|
|
12963
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-call-history.js"(exports, module) {
|
|
13190
12964
|
"use strict";
|
|
13191
12965
|
var { kMockCallHistoryAddLog } = require_mock_symbols();
|
|
13192
12966
|
var { InvalidArgumentError } = require_errors();
|
|
13193
|
-
function handleFilterCallsWithOptions(criteria, options, handler, store
|
|
12967
|
+
function handleFilterCallsWithOptions(criteria, options, handler, store) {
|
|
13194
12968
|
switch (options.operator) {
|
|
13195
12969
|
case "OR":
|
|
13196
|
-
store.push(...handler(criteria
|
|
12970
|
+
store.push(...handler(criteria));
|
|
13197
12971
|
return store;
|
|
13198
12972
|
case "AND":
|
|
13199
|
-
return handler(
|
|
12973
|
+
return handler.call({ logs: store }, criteria);
|
|
13200
12974
|
default:
|
|
13201
12975
|
throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
|
|
13202
12976
|
}
|
|
@@ -13215,14 +12989,14 @@ var require_mock_call_history = __commonJS({
|
|
|
13215
12989
|
return finalOptions;
|
|
13216
12990
|
}
|
|
13217
12991
|
function makeFilterCalls(parameterName) {
|
|
13218
|
-
return (parameterValue
|
|
12992
|
+
return (parameterValue) => {
|
|
13219
12993
|
if (typeof parameterValue === "string" || parameterValue == null) {
|
|
13220
|
-
return logs.filter((log) => {
|
|
12994
|
+
return this.logs.filter((log) => {
|
|
13221
12995
|
return log[parameterName] === parameterValue;
|
|
13222
12996
|
});
|
|
13223
12997
|
}
|
|
13224
12998
|
if (parameterValue instanceof RegExp) {
|
|
13225
|
-
return logs.filter((log) => {
|
|
12999
|
+
return this.logs.filter((log) => {
|
|
13226
13000
|
return parameterValue.test(log[parameterName]);
|
|
13227
13001
|
});
|
|
13228
13002
|
}
|
|
@@ -13327,30 +13101,30 @@ var require_mock_call_history = __commonJS({
|
|
|
13327
13101
|
return this.logs;
|
|
13328
13102
|
}
|
|
13329
13103
|
const finalOptions = { operator: "OR", ...buildAndValidateFilterCallsOptions(options) };
|
|
13330
|
-
let maybeDuplicatedLogsFiltered =
|
|
13104
|
+
let maybeDuplicatedLogsFiltered = [];
|
|
13331
13105
|
if ("protocol" in criteria) {
|
|
13332
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered
|
|
13106
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered);
|
|
13333
13107
|
}
|
|
13334
13108
|
if ("host" in criteria) {
|
|
13335
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered
|
|
13109
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered);
|
|
13336
13110
|
}
|
|
13337
13111
|
if ("port" in criteria) {
|
|
13338
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered
|
|
13112
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered);
|
|
13339
13113
|
}
|
|
13340
13114
|
if ("origin" in criteria) {
|
|
13341
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered
|
|
13115
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered);
|
|
13342
13116
|
}
|
|
13343
13117
|
if ("path" in criteria) {
|
|
13344
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered
|
|
13118
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered);
|
|
13345
13119
|
}
|
|
13346
13120
|
if ("hash" in criteria) {
|
|
13347
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered
|
|
13121
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered);
|
|
13348
13122
|
}
|
|
13349
13123
|
if ("fullUrl" in criteria) {
|
|
13350
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered
|
|
13124
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered);
|
|
13351
13125
|
}
|
|
13352
13126
|
if ("method" in criteria) {
|
|
13353
|
-
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered
|
|
13127
|
+
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered);
|
|
13354
13128
|
}
|
|
13355
13129
|
const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)];
|
|
13356
13130
|
return uniqLogsFiltered;
|
|
@@ -13384,9 +13158,9 @@ var require_mock_call_history = __commonJS({
|
|
|
13384
13158
|
}
|
|
13385
13159
|
});
|
|
13386
13160
|
|
|
13387
|
-
// node_modules/.pnpm/undici@7.
|
|
13161
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-pool.js
|
|
13388
13162
|
var require_mock_pool = __commonJS({
|
|
13389
|
-
"node_modules/.pnpm/undici@7.
|
|
13163
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-pool.js"(exports, module) {
|
|
13390
13164
|
"use strict";
|
|
13391
13165
|
var { promisify } = __require("node:util");
|
|
13392
13166
|
var Pool = require_pool();
|
|
@@ -13445,9 +13219,9 @@ var require_mock_pool = __commonJS({
|
|
|
13445
13219
|
}
|
|
13446
13220
|
});
|
|
13447
13221
|
|
|
13448
|
-
// node_modules/.pnpm/undici@7.
|
|
13222
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
13449
13223
|
var require_pending_interceptors_formatter = __commonJS({
|
|
13450
|
-
"node_modules/.pnpm/undici@7.
|
|
13224
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module) {
|
|
13451
13225
|
"use strict";
|
|
13452
13226
|
var { Transform } = __require("node:stream");
|
|
13453
13227
|
var { Console } = __require("node:console");
|
|
@@ -13486,9 +13260,9 @@ var require_pending_interceptors_formatter = __commonJS({
|
|
|
13486
13260
|
}
|
|
13487
13261
|
});
|
|
13488
13262
|
|
|
13489
|
-
// node_modules/.pnpm/undici@7.
|
|
13263
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-agent.js
|
|
13490
13264
|
var require_mock_agent = __commonJS({
|
|
13491
|
-
"node_modules/.pnpm/undici@7.
|
|
13265
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/mock-agent.js"(exports, module) {
|
|
13492
13266
|
"use strict";
|
|
13493
13267
|
var { kClients } = require_symbols();
|
|
13494
13268
|
var Agent = require_agent();
|
|
@@ -13670,9 +13444,9 @@ ${pendingInterceptorsFormatter.format(pending)}`.trim()
|
|
|
13670
13444
|
}
|
|
13671
13445
|
});
|
|
13672
13446
|
|
|
13673
|
-
// node_modules/.pnpm/undici@7.
|
|
13447
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-utils.js
|
|
13674
13448
|
var require_snapshot_utils = __commonJS({
|
|
13675
|
-
"node_modules/.pnpm/undici@7.
|
|
13449
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-utils.js"(exports, module) {
|
|
13676
13450
|
"use strict";
|
|
13677
13451
|
var { InvalidArgumentError } = require_errors();
|
|
13678
13452
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -13756,9 +13530,9 @@ var require_snapshot_utils = __commonJS({
|
|
|
13756
13530
|
}
|
|
13757
13531
|
});
|
|
13758
13532
|
|
|
13759
|
-
// node_modules/.pnpm/undici@7.
|
|
13533
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
13760
13534
|
var require_snapshot_recorder = __commonJS({
|
|
13761
|
-
"node_modules/.pnpm/undici@7.
|
|
13535
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-recorder.js"(exports, module) {
|
|
13762
13536
|
"use strict";
|
|
13763
13537
|
var { writeFile, readFile: readFile4, mkdir: mkdir4 } = __require("node:fs/promises");
|
|
13764
13538
|
var { dirname: dirname4, resolve: resolve6 } = __require("node:path");
|
|
@@ -14132,9 +13906,9 @@ var require_snapshot_recorder = __commonJS({
|
|
|
14132
13906
|
}
|
|
14133
13907
|
});
|
|
14134
13908
|
|
|
14135
|
-
// node_modules/.pnpm/undici@7.
|
|
13909
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-agent.js
|
|
14136
13910
|
var require_snapshot_agent = __commonJS({
|
|
14137
|
-
"node_modules/.pnpm/undici@7.
|
|
13911
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/mock/snapshot-agent.js"(exports, module) {
|
|
14138
13912
|
"use strict";
|
|
14139
13913
|
var Agent = require_agent();
|
|
14140
13914
|
var MockAgent = require_mock_agent();
|
|
@@ -14419,12 +14193,11 @@ var require_snapshot_agent = __commonJS({
|
|
|
14419
14193
|
}
|
|
14420
14194
|
});
|
|
14421
14195
|
|
|
14422
|
-
// node_modules/.pnpm/undici@7.
|
|
14196
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/global.js
|
|
14423
14197
|
var require_global2 = __commonJS({
|
|
14424
|
-
"node_modules/.pnpm/undici@7.
|
|
14198
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/global.js"(exports, module) {
|
|
14425
14199
|
"use strict";
|
|
14426
|
-
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.
|
|
14427
|
-
var legacyGlobalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
|
|
14200
|
+
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
|
|
14428
14201
|
var { InvalidArgumentError } = require_errors();
|
|
14429
14202
|
var Agent = require_agent();
|
|
14430
14203
|
if (getGlobalDispatcher2() === void 0) {
|
|
@@ -14440,15 +14213,9 @@ var require_global2 = __commonJS({
|
|
|
14440
14213
|
enumerable: false,
|
|
14441
14214
|
configurable: false
|
|
14442
14215
|
});
|
|
14443
|
-
Object.defineProperty(globalThis, legacyGlobalDispatcher, {
|
|
14444
|
-
value: agent,
|
|
14445
|
-
writable: true,
|
|
14446
|
-
enumerable: false,
|
|
14447
|
-
configurable: false
|
|
14448
|
-
});
|
|
14449
14216
|
}
|
|
14450
14217
|
function getGlobalDispatcher2() {
|
|
14451
|
-
return globalThis[
|
|
14218
|
+
return globalThis[globalDispatcher];
|
|
14452
14219
|
}
|
|
14453
14220
|
var installedExports = (
|
|
14454
14221
|
/** @type {const} */
|
|
@@ -14473,9 +14240,9 @@ var require_global2 = __commonJS({
|
|
|
14473
14240
|
}
|
|
14474
14241
|
});
|
|
14475
14242
|
|
|
14476
|
-
// node_modules/.pnpm/undici@7.
|
|
14243
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/decorator-handler.js
|
|
14477
14244
|
var require_decorator_handler = __commonJS({
|
|
14478
|
-
"node_modules/.pnpm/undici@7.
|
|
14245
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/decorator-handler.js"(exports, module) {
|
|
14479
14246
|
"use strict";
|
|
14480
14247
|
var assert = __require("node:assert");
|
|
14481
14248
|
var WrapHandler = require_wrap_handler();
|
|
@@ -14529,9 +14296,9 @@ var require_decorator_handler = __commonJS({
|
|
|
14529
14296
|
}
|
|
14530
14297
|
});
|
|
14531
14298
|
|
|
14532
|
-
// node_modules/.pnpm/undici@7.
|
|
14299
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/redirect-handler.js
|
|
14533
14300
|
var require_redirect_handler = __commonJS({
|
|
14534
|
-
"node_modules/.pnpm/undici@7.
|
|
14301
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/redirect-handler.js"(exports, module) {
|
|
14535
14302
|
"use strict";
|
|
14536
14303
|
var util = require_util();
|
|
14537
14304
|
var { kBodyUsed } = require_symbols();
|
|
@@ -14689,9 +14456,9 @@ var require_redirect_handler = __commonJS({
|
|
|
14689
14456
|
}
|
|
14690
14457
|
});
|
|
14691
14458
|
|
|
14692
|
-
// node_modules/.pnpm/undici@7.
|
|
14459
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/redirect.js
|
|
14693
14460
|
var require_redirect = __commonJS({
|
|
14694
|
-
"node_modules/.pnpm/undici@7.
|
|
14461
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/redirect.js"(exports, module) {
|
|
14695
14462
|
"use strict";
|
|
14696
14463
|
var RedirectHandler = require_redirect_handler();
|
|
14697
14464
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
@@ -14711,9 +14478,9 @@ var require_redirect = __commonJS({
|
|
|
14711
14478
|
}
|
|
14712
14479
|
});
|
|
14713
14480
|
|
|
14714
|
-
// node_modules/.pnpm/undici@7.
|
|
14481
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/response-error.js
|
|
14715
14482
|
var require_response_error = __commonJS({
|
|
14716
|
-
"node_modules/.pnpm/undici@7.
|
|
14483
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/response-error.js"(exports, module) {
|
|
14717
14484
|
"use strict";
|
|
14718
14485
|
var DecoratorHandler = require_decorator_handler();
|
|
14719
14486
|
var { ResponseError } = require_errors();
|
|
@@ -14793,9 +14560,9 @@ var require_response_error = __commonJS({
|
|
|
14793
14560
|
}
|
|
14794
14561
|
});
|
|
14795
14562
|
|
|
14796
|
-
// node_modules/.pnpm/undici@7.
|
|
14563
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/retry.js
|
|
14797
14564
|
var require_retry = __commonJS({
|
|
14798
|
-
"node_modules/.pnpm/undici@7.
|
|
14565
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/retry.js"(exports, module) {
|
|
14799
14566
|
"use strict";
|
|
14800
14567
|
var RetryHandler = require_retry_handler();
|
|
14801
14568
|
module.exports = (globalOpts) => {
|
|
@@ -14817,9 +14584,9 @@ var require_retry = __commonJS({
|
|
|
14817
14584
|
}
|
|
14818
14585
|
});
|
|
14819
14586
|
|
|
14820
|
-
// node_modules/.pnpm/undici@7.
|
|
14587
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/dump.js
|
|
14821
14588
|
var require_dump = __commonJS({
|
|
14822
|
-
"node_modules/.pnpm/undici@7.
|
|
14589
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/dump.js"(exports, module) {
|
|
14823
14590
|
"use strict";
|
|
14824
14591
|
var { InvalidArgumentError, RequestAbortedError } = require_errors();
|
|
14825
14592
|
var DecoratorHandler = require_decorator_handler();
|
|
@@ -14903,9 +14670,9 @@ var require_dump = __commonJS({
|
|
|
14903
14670
|
}
|
|
14904
14671
|
});
|
|
14905
14672
|
|
|
14906
|
-
// node_modules/.pnpm/undici@7.
|
|
14673
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/dns.js
|
|
14907
14674
|
var require_dns = __commonJS({
|
|
14908
|
-
"node_modules/.pnpm/undici@7.
|
|
14675
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/dns.js"(exports, module) {
|
|
14909
14676
|
"use strict";
|
|
14910
14677
|
var { isIP } = __require("node:net");
|
|
14911
14678
|
var { lookup } = __require("node:dns");
|
|
@@ -15342,134 +15109,22 @@ var require_dns = __commonJS({
|
|
|
15342
15109
|
}
|
|
15343
15110
|
});
|
|
15344
15111
|
|
|
15345
|
-
// node_modules/.pnpm/undici@7.
|
|
15112
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/cache.js
|
|
15346
15113
|
var require_cache = __commonJS({
|
|
15347
|
-
"node_modules/.pnpm/undici@7.
|
|
15114
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/cache.js"(exports, module) {
|
|
15348
15115
|
"use strict";
|
|
15349
15116
|
var {
|
|
15350
15117
|
safeHTTPMethods,
|
|
15351
15118
|
pathHasQueryOrFragment,
|
|
15352
|
-
hasSafeIterator
|
|
15353
|
-
isValidHTTPToken
|
|
15119
|
+
hasSafeIterator
|
|
15354
15120
|
} = require_util();
|
|
15355
15121
|
var { serializePathWithQuery } = require_util();
|
|
15356
|
-
var MAX_DELTA_SECONDS = 2147483647;
|
|
15357
|
-
var RESTRICTIVE_DIRECTIVE_NAMES = ["no-store", "private", "no-cache"];
|
|
15358
|
-
var kInvalidCacheControlDirectives = /* @__PURE__ */ Symbol("invalid cache-control directives");
|
|
15359
|
-
function trimOWS(value) {
|
|
15360
|
-
return value.replace(/^[\t ]+|[\t ]+$/g, "");
|
|
15361
|
-
}
|
|
15362
|
-
function arrayIncludes(array, value) {
|
|
15363
|
-
for (let i = 0; i < array.length; i++) {
|
|
15364
|
-
if (array[i] === value) {
|
|
15365
|
-
return true;
|
|
15366
|
-
}
|
|
15367
|
-
}
|
|
15368
|
-
return false;
|
|
15369
|
-
}
|
|
15370
|
-
function trimOWSStart(value) {
|
|
15371
|
-
return value.replace(/^[\t ]+/, "");
|
|
15372
|
-
}
|
|
15373
|
-
function trimOWSEnd(value) {
|
|
15374
|
-
return value.replace(/[\t ]+$/, "");
|
|
15375
|
-
}
|
|
15376
|
-
function findUnescapedQuote(value, start) {
|
|
15377
|
-
let escaped = false;
|
|
15378
|
-
for (let i = start; i < value.length; i++) {
|
|
15379
|
-
if (escaped) {
|
|
15380
|
-
escaped = false;
|
|
15381
|
-
} else if (value[i] === "\\") {
|
|
15382
|
-
escaped = true;
|
|
15383
|
-
} else if (value[i] === '"') {
|
|
15384
|
-
return i;
|
|
15385
|
-
}
|
|
15386
|
-
}
|
|
15387
|
-
return -1;
|
|
15388
|
-
}
|
|
15389
|
-
function splitCacheControlHeaderValue(value) {
|
|
15390
|
-
const directives = [];
|
|
15391
|
-
let start = 0;
|
|
15392
|
-
let quoteStart = -1;
|
|
15393
|
-
let inQuote = false;
|
|
15394
|
-
let escaped = false;
|
|
15395
|
-
for (let i = 0; i < value.length; i++) {
|
|
15396
|
-
if (inQuote) {
|
|
15397
|
-
if (escaped) {
|
|
15398
|
-
escaped = false;
|
|
15399
|
-
} else if (value[i] === "\\") {
|
|
15400
|
-
escaped = true;
|
|
15401
|
-
} else if (value[i] === '"') {
|
|
15402
|
-
inQuote = false;
|
|
15403
|
-
quoteStart = -1;
|
|
15404
|
-
}
|
|
15405
|
-
} else if (value[i] === '"') {
|
|
15406
|
-
inQuote = true;
|
|
15407
|
-
quoteStart = i;
|
|
15408
|
-
} else if (value[i] === ",") {
|
|
15409
|
-
directives.push({ value: value.substring(start, i), fromMalformedQuote: false });
|
|
15410
|
-
start = i + 1;
|
|
15411
|
-
}
|
|
15412
|
-
}
|
|
15413
|
-
if (!inQuote) {
|
|
15414
|
-
directives.push({ value: value.substring(start), fromMalformedQuote: false });
|
|
15415
|
-
return directives;
|
|
15416
|
-
}
|
|
15417
|
-
const tail = value.substring(start);
|
|
15418
|
-
const quoteOffset = quoteStart - start;
|
|
15419
|
-
let tailStart = 0;
|
|
15420
|
-
for (let i = 0; i < tail.length; i++) {
|
|
15421
|
-
if (tail[i] === ",") {
|
|
15422
|
-
directives.push({
|
|
15423
|
-
value: tail.substring(tailStart, i),
|
|
15424
|
-
fromMalformedQuote: tailStart > quoteOffset
|
|
15425
|
-
});
|
|
15426
|
-
tailStart = i + 1;
|
|
15427
|
-
}
|
|
15428
|
-
}
|
|
15429
|
-
directives.push({
|
|
15430
|
-
value: tail.substring(tailStart),
|
|
15431
|
-
fromMalformedQuote: tailStart > quoteOffset
|
|
15432
|
-
});
|
|
15433
|
-
return directives;
|
|
15434
|
-
}
|
|
15435
|
-
function markInvalidCacheControlDirective(directives, key) {
|
|
15436
|
-
let invalidDirectives = directives[kInvalidCacheControlDirectives];
|
|
15437
|
-
if (invalidDirectives === void 0) {
|
|
15438
|
-
invalidDirectives = /* @__PURE__ */ new Set();
|
|
15439
|
-
Object.defineProperty(directives, kInvalidCacheControlDirectives, {
|
|
15440
|
-
value: invalidDirectives
|
|
15441
|
-
});
|
|
15442
|
-
}
|
|
15443
|
-
invalidDirectives.add(key);
|
|
15444
|
-
}
|
|
15445
|
-
function hasInvalidCacheControlDirective(directives, key) {
|
|
15446
|
-
return directives[kInvalidCacheControlDirectives]?.has(key) === true;
|
|
15447
|
-
}
|
|
15448
|
-
function getMalformedRestrictiveDirectiveName(key) {
|
|
15449
|
-
for (const directiveName of RESTRICTIVE_DIRECTIVE_NAMES) {
|
|
15450
|
-
if (key.startsWith(directiveName) && key.length > directiveName.length && !isValidHTTPToken(key[directiveName.length])) {
|
|
15451
|
-
return directiveName;
|
|
15452
|
-
}
|
|
15453
|
-
}
|
|
15454
|
-
let tokenOnlyKey = "";
|
|
15455
|
-
let hasInvalidTokenChar = false;
|
|
15456
|
-
for (let i = 0; i < key.length; i++) {
|
|
15457
|
-
if (isValidHTTPToken(key[i])) {
|
|
15458
|
-
tokenOnlyKey += key[i];
|
|
15459
|
-
} else {
|
|
15460
|
-
hasInvalidTokenChar = true;
|
|
15461
|
-
}
|
|
15462
|
-
}
|
|
15463
|
-
if (hasInvalidTokenChar && arrayIncludes(RESTRICTIVE_DIRECTIVE_NAMES, tokenOnlyKey)) {
|
|
15464
|
-
return tokenOnlyKey;
|
|
15465
|
-
}
|
|
15466
|
-
}
|
|
15467
15122
|
function makeCacheKey(opts) {
|
|
15468
15123
|
if (!opts.origin) {
|
|
15469
15124
|
throw new Error("opts.origin is undefined");
|
|
15470
15125
|
}
|
|
15471
15126
|
let fullPath = opts.path || "/";
|
|
15472
|
-
if (opts.query && !pathHasQueryOrFragment(
|
|
15127
|
+
if (opts.query && !pathHasQueryOrFragment(opts.path)) {
|
|
15473
15128
|
fullPath = serializePathWithQuery(fullPath, opts.query);
|
|
15474
15129
|
}
|
|
15475
15130
|
return {
|
|
@@ -15479,18 +15134,6 @@ var require_cache = __commonJS({
|
|
|
15479
15134
|
headers: opts.headers
|
|
15480
15135
|
};
|
|
15481
15136
|
}
|
|
15482
|
-
function appendHeader(headers, key, val) {
|
|
15483
|
-
const headerName = key.toLowerCase();
|
|
15484
|
-
const current = headers[headerName];
|
|
15485
|
-
const values = Array.isArray(val) ? val : [val];
|
|
15486
|
-
if (current === void 0) {
|
|
15487
|
-
headers[headerName] = Array.isArray(val) ? val.slice() : val;
|
|
15488
|
-
} else if (Array.isArray(current)) {
|
|
15489
|
-
current.push(...values);
|
|
15490
|
-
} else {
|
|
15491
|
-
headers[headerName] = [current, ...values];
|
|
15492
|
-
}
|
|
15493
|
-
}
|
|
15494
15137
|
function normalizeHeaders(opts) {
|
|
15495
15138
|
let headers;
|
|
15496
15139
|
if (opts.headers == null) {
|
|
@@ -15506,11 +15149,11 @@ var require_cache = __commonJS({
|
|
|
15506
15149
|
if (typeof key !== "string" || typeof val !== "string") {
|
|
15507
15150
|
throw new Error("opts.headers is not a valid header map");
|
|
15508
15151
|
}
|
|
15509
|
-
|
|
15152
|
+
headers[key.toLowerCase()] = val;
|
|
15510
15153
|
}
|
|
15511
15154
|
} else {
|
|
15512
15155
|
for (const key of Object.keys(opts.headers)) {
|
|
15513
|
-
|
|
15156
|
+
headers[key.toLowerCase()] = opts.headers[key];
|
|
15514
15157
|
}
|
|
15515
15158
|
}
|
|
15516
15159
|
} else {
|
|
@@ -15555,32 +15198,25 @@ var require_cache = __commonJS({
|
|
|
15555
15198
|
}
|
|
15556
15199
|
function parseCacheControlHeader(header) {
|
|
15557
15200
|
const output = {};
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15201
|
+
let directives;
|
|
15202
|
+
if (Array.isArray(header)) {
|
|
15203
|
+
directives = [];
|
|
15204
|
+
for (const directive of header) {
|
|
15205
|
+
directives.push(...directive.split(","));
|
|
15206
|
+
}
|
|
15207
|
+
} else {
|
|
15208
|
+
directives = header.split(",");
|
|
15209
|
+
}
|
|
15561
15210
|
for (let i = 0; i < directives.length; i++) {
|
|
15562
|
-
const
|
|
15563
|
-
const directive = directiveRecord.value.toLowerCase();
|
|
15564
|
-
const fromMalformedQuote = directiveRecord.fromMalformedQuote;
|
|
15211
|
+
const directive = directives[i].toLowerCase();
|
|
15565
15212
|
const keyValueDelimiter = directive.indexOf("=");
|
|
15566
15213
|
let key;
|
|
15567
15214
|
let value;
|
|
15568
|
-
let keyHasTrailingWhitespace = false;
|
|
15569
|
-
let valueHasLeadingWhitespace = false;
|
|
15570
15215
|
if (keyValueDelimiter !== -1) {
|
|
15571
|
-
|
|
15572
|
-
|
|
15573
|
-
keyHasTrailingWhitespace = trimOWSEnd(rawKey) !== rawKey;
|
|
15574
|
-
valueHasLeadingWhitespace = trimOWSStart(rawValue) !== rawValue;
|
|
15575
|
-
key = trimOWS(rawKey);
|
|
15576
|
-
value = trimOWSStart(rawValue);
|
|
15216
|
+
key = directive.substring(0, keyValueDelimiter).trimStart();
|
|
15217
|
+
value = directive.substring(keyValueDelimiter + 1);
|
|
15577
15218
|
} else {
|
|
15578
|
-
key =
|
|
15579
|
-
}
|
|
15580
|
-
const malformedRestrictiveDirectiveName = getMalformedRestrictiveDirectiveName(key);
|
|
15581
|
-
if (malformedRestrictiveDirectiveName !== void 0) {
|
|
15582
|
-
output[malformedRestrictiveDirectiveName] = true;
|
|
15583
|
-
continue;
|
|
15219
|
+
key = directive.trim();
|
|
15584
15220
|
}
|
|
15585
15221
|
switch (key) {
|
|
15586
15222
|
case "min-fresh":
|
|
@@ -15589,85 +15225,45 @@ var require_cache = __commonJS({
|
|
|
15589
15225
|
case "s-maxage":
|
|
15590
15226
|
case "stale-while-revalidate":
|
|
15591
15227
|
case "stale-if-error": {
|
|
15592
|
-
if (
|
|
15593
|
-
continue;
|
|
15594
|
-
}
|
|
15595
|
-
if (value === void 0 || keyHasTrailingWhitespace || valueHasLeadingWhitespace) {
|
|
15596
|
-
delete output[key];
|
|
15597
|
-
invalidNumericDirectives.add(key);
|
|
15598
|
-
markInvalidCacheControlDirective(output, key);
|
|
15228
|
+
if (value === void 0 || value[0] === " ") {
|
|
15599
15229
|
continue;
|
|
15600
15230
|
}
|
|
15601
15231
|
if (value.length >= 2 && value[0] === '"' && value[value.length - 1] === '"') {
|
|
15602
15232
|
value = value.substring(1, value.length - 1);
|
|
15603
15233
|
}
|
|
15604
|
-
|
|
15605
|
-
|
|
15606
|
-
invalidNumericDirectives.add(key);
|
|
15607
|
-
markInvalidCacheControlDirective(output, key);
|
|
15234
|
+
const parsedValue = parseInt(value, 10);
|
|
15235
|
+
if (parsedValue !== parsedValue) {
|
|
15608
15236
|
continue;
|
|
15609
15237
|
}
|
|
15610
|
-
|
|
15611
|
-
|
|
15612
|
-
if (!(key in output) || output[key] < parsedValue) {
|
|
15613
|
-
output[key] = parsedValue;
|
|
15614
|
-
}
|
|
15615
|
-
} else if (!(key in output) || output[key] > parsedValue) {
|
|
15616
|
-
output[key] = parsedValue;
|
|
15238
|
+
if (key === "max-age" && key in output && output[key] >= parsedValue) {
|
|
15239
|
+
continue;
|
|
15617
15240
|
}
|
|
15241
|
+
output[key] = parsedValue;
|
|
15618
15242
|
break;
|
|
15619
15243
|
}
|
|
15620
15244
|
case "private":
|
|
15621
15245
|
case "no-cache": {
|
|
15622
|
-
if (fromMalformedQuote) {
|
|
15623
|
-
output[key] = true;
|
|
15624
|
-
break;
|
|
15625
|
-
}
|
|
15626
|
-
if (value !== void 0 && value.length === 0) {
|
|
15627
|
-
output[key] = true;
|
|
15628
|
-
break;
|
|
15629
|
-
}
|
|
15630
15246
|
if (value) {
|
|
15631
15247
|
if (value[0] === '"') {
|
|
15632
|
-
|
|
15633
|
-
let
|
|
15634
|
-
|
|
15635
|
-
let foundEndingQuote = false;
|
|
15636
|
-
const closingQuote = findUnescapedQuote(value, 1);
|
|
15637
|
-
if (closingQuote !== -1) {
|
|
15638
|
-
fieldList = value.substring(1, closingQuote);
|
|
15639
|
-
foundEndingQuote = true;
|
|
15640
|
-
} else {
|
|
15641
|
-
const fieldListParts = [value.substring(1)];
|
|
15248
|
+
const headers = [value.substring(1)];
|
|
15249
|
+
let foundEndingQuote = value[value.length - 1] === '"';
|
|
15250
|
+
if (!foundEndingQuote) {
|
|
15642
15251
|
for (let j = i + 1; j < directives.length; j++) {
|
|
15643
|
-
const nextPart =
|
|
15644
|
-
const
|
|
15645
|
-
|
|
15646
|
-
if (
|
|
15647
|
-
fieldListParts.push(nextPart.substring(0, closingQuote2));
|
|
15252
|
+
const nextPart = directives[j];
|
|
15253
|
+
const nextPartLength = nextPart.length;
|
|
15254
|
+
headers.push(nextPart.trim());
|
|
15255
|
+
if (nextPartLength !== 0 && nextPart[nextPartLength - 1] === '"') {
|
|
15648
15256
|
foundEndingQuote = true;
|
|
15649
15257
|
break;
|
|
15650
15258
|
}
|
|
15651
|
-
fieldListParts.push(nextPart);
|
|
15652
15259
|
}
|
|
15653
|
-
fieldList = fieldListParts.join(",");
|
|
15654
|
-
}
|
|
15655
|
-
if (!foundEndingQuote) {
|
|
15656
|
-
output[key] = true;
|
|
15657
|
-
break;
|
|
15658
15260
|
}
|
|
15659
|
-
|
|
15660
|
-
|
|
15661
|
-
|
|
15662
|
-
|
|
15663
|
-
|
|
15664
|
-
if (!isValidHTTPToken(headers[j])) {
|
|
15665
|
-
validFieldNames = false;
|
|
15261
|
+
if (foundEndingQuote) {
|
|
15262
|
+
let lastHeader = headers[headers.length - 1];
|
|
15263
|
+
if (lastHeader[lastHeader.length - 1] === '"') {
|
|
15264
|
+
lastHeader = lastHeader.substring(0, lastHeader.length - 1);
|
|
15265
|
+
headers[headers.length - 1] = lastHeader;
|
|
15666
15266
|
}
|
|
15667
|
-
}
|
|
15668
|
-
if (!validFieldNames) {
|
|
15669
|
-
output[key] = true;
|
|
15670
|
-
} else if (output[key] !== true) {
|
|
15671
15267
|
if (key in output) {
|
|
15672
15268
|
output[key] = output[key].concat(headers);
|
|
15673
15269
|
} else {
|
|
@@ -15675,15 +15271,10 @@ var require_cache = __commonJS({
|
|
|
15675
15271
|
}
|
|
15676
15272
|
}
|
|
15677
15273
|
} else {
|
|
15678
|
-
|
|
15679
|
-
|
|
15680
|
-
|
|
15681
|
-
|
|
15682
|
-
if (key in output) {
|
|
15683
|
-
output[key] = output[key].concat(fieldName);
|
|
15684
|
-
} else {
|
|
15685
|
-
output[key] = [fieldName];
|
|
15686
|
-
}
|
|
15274
|
+
if (key in output) {
|
|
15275
|
+
output[key] = output[key].concat(value);
|
|
15276
|
+
} else {
|
|
15277
|
+
output[key] = [value];
|
|
15687
15278
|
}
|
|
15688
15279
|
}
|
|
15689
15280
|
break;
|
|
@@ -15691,76 +15282,39 @@ var require_cache = __commonJS({
|
|
|
15691
15282
|
}
|
|
15692
15283
|
// eslint-disable-next-line no-fallthrough
|
|
15693
15284
|
case "public":
|
|
15285
|
+
case "no-store":
|
|
15694
15286
|
case "must-revalidate":
|
|
15695
15287
|
case "proxy-revalidate":
|
|
15696
15288
|
case "immutable":
|
|
15697
15289
|
case "no-transform":
|
|
15698
15290
|
case "must-understand":
|
|
15699
15291
|
case "only-if-cached":
|
|
15700
|
-
if (
|
|
15701
|
-
continue;
|
|
15702
|
-
}
|
|
15703
|
-
if (value !== void 0) {
|
|
15704
|
-
delete output[key];
|
|
15705
|
-
invalidNoArgumentDirectives.add(key);
|
|
15292
|
+
if (value) {
|
|
15706
15293
|
continue;
|
|
15707
15294
|
}
|
|
15708
15295
|
output[key] = true;
|
|
15709
15296
|
break;
|
|
15710
|
-
case "no-store":
|
|
15711
|
-
output[key] = true;
|
|
15712
|
-
break;
|
|
15713
15297
|
default:
|
|
15714
15298
|
continue;
|
|
15715
15299
|
}
|
|
15716
15300
|
}
|
|
15717
15301
|
return output;
|
|
15718
15302
|
}
|
|
15719
|
-
function splitVaryHeader(varyHeader) {
|
|
15720
|
-
const values = Array.isArray(varyHeader) ? varyHeader : [varyHeader];
|
|
15721
|
-
const output = [];
|
|
15722
|
-
for (let i = 0; i < values.length; i++) {
|
|
15723
|
-
const parts = values[i].split(",");
|
|
15724
|
-
for (let j = 0; j < parts.length; j++) {
|
|
15725
|
-
output.push(parts[j]);
|
|
15726
|
-
}
|
|
15727
|
-
}
|
|
15728
|
-
return output;
|
|
15729
|
-
}
|
|
15730
|
-
function hasVaryStar(varyHeader) {
|
|
15731
|
-
const values = splitVaryHeader(varyHeader);
|
|
15732
|
-
for (let i = 0; i < values.length; i++) {
|
|
15733
|
-
if (trimOWS(values[i]).indexOf("*") !== -1) {
|
|
15734
|
-
return true;
|
|
15735
|
-
}
|
|
15736
|
-
}
|
|
15737
|
-
return false;
|
|
15738
|
-
}
|
|
15739
15303
|
function parseVaryHeader(varyHeader, headers) {
|
|
15740
|
-
if (
|
|
15304
|
+
if (typeof varyHeader === "string" && varyHeader.includes("*")) {
|
|
15741
15305
|
return headers;
|
|
15742
15306
|
}
|
|
15743
15307
|
const output = (
|
|
15744
15308
|
/** @type {Record<string, string | string[] | null>} */
|
|
15745
15309
|
{}
|
|
15746
15310
|
);
|
|
15747
|
-
const varyingHeaders =
|
|
15311
|
+
const varyingHeaders = typeof varyHeader === "string" ? varyHeader.split(",") : varyHeader;
|
|
15748
15312
|
for (const header of varyingHeaders) {
|
|
15749
|
-
const trimmedHeader =
|
|
15750
|
-
|
|
15751
|
-
continue;
|
|
15752
|
-
}
|
|
15753
|
-
if (!isValidHTTPToken(trimmedHeader)) {
|
|
15754
|
-
return void 0;
|
|
15755
|
-
}
|
|
15756
|
-
const headerValue = headers[trimmedHeader];
|
|
15757
|
-
output[trimmedHeader] = Array.isArray(headerValue) ? headerValue.slice() : headerValue ?? null;
|
|
15313
|
+
const trimmedHeader = header.trim().toLowerCase();
|
|
15314
|
+
output[trimmedHeader] = headers[trimmedHeader] ?? null;
|
|
15758
15315
|
}
|
|
15759
15316
|
return output;
|
|
15760
15317
|
}
|
|
15761
|
-
function isInvalidOrWildcardVaryHeader(varyHeader) {
|
|
15762
|
-
return hasVaryStar(varyHeader) || parseVaryHeader(varyHeader, {}) === void 0;
|
|
15763
|
-
}
|
|
15764
15318
|
function isEtagUsable(etag) {
|
|
15765
15319
|
if (etag.length <= 2) {
|
|
15766
15320
|
return false;
|
|
@@ -15791,23 +15345,24 @@ var require_cache = __commonJS({
|
|
|
15791
15345
|
throw new TypeError(`${name} needs to have at least one method`);
|
|
15792
15346
|
}
|
|
15793
15347
|
for (const method of methods) {
|
|
15794
|
-
if (!
|
|
15348
|
+
if (!safeHTTPMethods.includes(method)) {
|
|
15795
15349
|
throw new TypeError(`element of ${name}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method}`);
|
|
15796
15350
|
}
|
|
15797
15351
|
}
|
|
15798
15352
|
}
|
|
15799
15353
|
function makeDeduplicationKey(cacheKey, excludeHeaders) {
|
|
15800
|
-
|
|
15354
|
+
let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}`;
|
|
15801
15355
|
if (cacheKey.headers) {
|
|
15802
15356
|
const sortedHeaders = Object.keys(cacheKey.headers).sort();
|
|
15803
15357
|
for (const header of sortedHeaders) {
|
|
15804
15358
|
if (excludeHeaders?.has(header.toLowerCase())) {
|
|
15805
15359
|
continue;
|
|
15806
15360
|
}
|
|
15807
|
-
|
|
15361
|
+
const value = cacheKey.headers[header];
|
|
15362
|
+
key += `:${header}=${Array.isArray(value) ? value.join(",") : value}`;
|
|
15808
15363
|
}
|
|
15809
15364
|
}
|
|
15810
|
-
return
|
|
15365
|
+
return key;
|
|
15811
15366
|
}
|
|
15812
15367
|
module.exports = {
|
|
15813
15368
|
makeCacheKey,
|
|
@@ -15815,10 +15370,7 @@ var require_cache = __commonJS({
|
|
|
15815
15370
|
assertCacheKey,
|
|
15816
15371
|
assertCacheValue,
|
|
15817
15372
|
parseCacheControlHeader,
|
|
15818
|
-
hasInvalidCacheControlDirective,
|
|
15819
15373
|
parseVaryHeader,
|
|
15820
|
-
hasVaryStar,
|
|
15821
|
-
isInvalidOrWildcardVaryHeader,
|
|
15822
15374
|
isEtagUsable,
|
|
15823
15375
|
assertCacheMethods,
|
|
15824
15376
|
assertCacheStore,
|
|
@@ -15827,9 +15379,9 @@ var require_cache = __commonJS({
|
|
|
15827
15379
|
}
|
|
15828
15380
|
});
|
|
15829
15381
|
|
|
15830
|
-
// node_modules/.pnpm/undici@7.
|
|
15382
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/date.js
|
|
15831
15383
|
var require_date = __commonJS({
|
|
15832
|
-
"node_modules/.pnpm/undici@7.
|
|
15384
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/util/date.js"(exports, module) {
|
|
15833
15385
|
"use strict";
|
|
15834
15386
|
function parseHttpDate(date) {
|
|
15835
15387
|
switch (date[3]) {
|
|
@@ -15841,13 +15393,6 @@ var require_date = __commonJS({
|
|
|
15841
15393
|
return parseRfc850Date(date);
|
|
15842
15394
|
}
|
|
15843
15395
|
}
|
|
15844
|
-
function makeDate(year, monthIdx, day, hour, minute, second, weekday) {
|
|
15845
|
-
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
|
|
15846
|
-
if (year >= 0 && year <= 99) {
|
|
15847
|
-
result.setUTCFullYear(year);
|
|
15848
|
-
}
|
|
15849
|
-
return result.getUTCFullYear() === year && result.getUTCMonth() === monthIdx && result.getUTCDate() === day && result.getUTCHours() === hour && result.getUTCMinutes() === minute && result.getUTCSeconds() === second && result.getUTCDay() === weekday ? result : void 0;
|
|
15850
|
-
}
|
|
15851
15396
|
function parseImfDate(date) {
|
|
15852
15397
|
if (date.length !== 29 || date[4] !== " " || date[7] !== " " || date[11] !== " " || date[16] !== " " || date[19] !== ":" || date[22] !== ":" || date[25] !== " " || date[26] !== "G" || date[27] !== "M" || date[28] !== "T") {
|
|
15853
15398
|
return void 0;
|
|
@@ -16008,7 +15553,8 @@ var require_date = __commonJS({
|
|
|
16008
15553
|
}
|
|
16009
15554
|
second = (code1 - 48) * 10 + (code2 - 48);
|
|
16010
15555
|
}
|
|
16011
|
-
|
|
15556
|
+
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
|
|
15557
|
+
return result.getUTCDay() === weekday ? result : void 0;
|
|
16012
15558
|
}
|
|
16013
15559
|
function parseAscTimeDate(date) {
|
|
16014
15560
|
if (date.length !== 24 || date[7] !== " " || date[10] !== " " || date[19] !== " ") {
|
|
@@ -16170,7 +15716,8 @@ var require_date = __commonJS({
|
|
|
16170
15716
|
return void 0;
|
|
16171
15717
|
}
|
|
16172
15718
|
const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
|
|
16173
|
-
|
|
15719
|
+
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
|
|
15720
|
+
return result.getUTCDay() === weekday ? result : void 0;
|
|
16174
15721
|
}
|
|
16175
15722
|
function parseRfc850Date(date) {
|
|
16176
15723
|
let commaIndex = -1;
|
|
@@ -16319,7 +15866,8 @@ var require_date = __commonJS({
|
|
|
16319
15866
|
}
|
|
16320
15867
|
second = (code1 - 48) * 10 + (code2 - 48);
|
|
16321
15868
|
}
|
|
16322
|
-
|
|
15869
|
+
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
|
|
15870
|
+
return result.getUTCDay() === weekday ? result : void 0;
|
|
16323
15871
|
}
|
|
16324
15872
|
module.exports = {
|
|
16325
15873
|
parseHttpDate
|
|
@@ -16327,17 +15875,14 @@ var require_date = __commonJS({
|
|
|
16327
15875
|
}
|
|
16328
15876
|
});
|
|
16329
15877
|
|
|
16330
|
-
// node_modules/.pnpm/undici@7.
|
|
15878
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/cache-handler.js
|
|
16331
15879
|
var require_cache_handler = __commonJS({
|
|
16332
|
-
"node_modules/.pnpm/undici@7.
|
|
15880
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/cache-handler.js"(exports, module) {
|
|
16333
15881
|
"use strict";
|
|
16334
15882
|
var util = require_util();
|
|
16335
15883
|
var {
|
|
16336
15884
|
parseCacheControlHeader,
|
|
16337
|
-
hasInvalidCacheControlDirective,
|
|
16338
15885
|
parseVaryHeader,
|
|
16339
|
-
hasVaryStar,
|
|
16340
|
-
isInvalidOrWildcardVaryHeader,
|
|
16341
15886
|
isEtagUsable
|
|
16342
15887
|
} = require_cache();
|
|
16343
15888
|
var { parseHttpDate } = require_date();
|
|
@@ -16361,78 +15906,6 @@ var require_cache_handler = __commonJS({
|
|
|
16361
15906
|
206
|
|
16362
15907
|
];
|
|
16363
15908
|
var MAX_RESPONSE_AGE = 2147483647e3;
|
|
16364
|
-
function trimOWS(value) {
|
|
16365
|
-
return value.replace(/^[\t ]+|[\t ]+$/g, "");
|
|
16366
|
-
}
|
|
16367
|
-
function arrayIncludes(array, value) {
|
|
16368
|
-
for (let i = 0; i < array.length; i++) {
|
|
16369
|
-
if (array[i] === value) {
|
|
16370
|
-
return true;
|
|
16371
|
-
}
|
|
16372
|
-
}
|
|
16373
|
-
return false;
|
|
16374
|
-
}
|
|
16375
|
-
function appendConnectionHeaderTokens(headersToRemove, connectionHeader) {
|
|
16376
|
-
const values = Array.isArray(connectionHeader) ? connectionHeader : [connectionHeader];
|
|
16377
|
-
for (let i = 0; i < values.length; i++) {
|
|
16378
|
-
const tokens = values[i].split(",");
|
|
16379
|
-
for (let j = 0; j < tokens.length; j++) {
|
|
16380
|
-
headersToRemove.push(trimOWS(tokens[j]).toLowerCase());
|
|
16381
|
-
}
|
|
16382
|
-
}
|
|
16383
|
-
}
|
|
16384
|
-
function getSameOriginPath(cacheKey, location) {
|
|
16385
|
-
if (typeof location !== "string") {
|
|
16386
|
-
return void 0;
|
|
16387
|
-
}
|
|
16388
|
-
let originUrl;
|
|
16389
|
-
let requestUrl;
|
|
16390
|
-
let locationUrl;
|
|
16391
|
-
try {
|
|
16392
|
-
originUrl = new URL(cacheKey.origin);
|
|
16393
|
-
requestUrl = new URL(cacheKey.path, originUrl);
|
|
16394
|
-
locationUrl = new URL(location, requestUrl);
|
|
16395
|
-
} catch {
|
|
16396
|
-
return void 0;
|
|
16397
|
-
}
|
|
16398
|
-
if (locationUrl.origin !== originUrl.origin) {
|
|
16399
|
-
return void 0;
|
|
16400
|
-
}
|
|
16401
|
-
return locationUrl.pathname + locationUrl.search;
|
|
16402
|
-
}
|
|
16403
|
-
function deleteCachedUri(store, cacheKey, path) {
|
|
16404
|
-
deleteCachedValue(store, {
|
|
16405
|
-
...cacheKey,
|
|
16406
|
-
path
|
|
16407
|
-
});
|
|
16408
|
-
for (let i = 0; i < util.safeHTTPMethods.length; i++) {
|
|
16409
|
-
const method = util.safeHTTPMethods[i];
|
|
16410
|
-
if (method !== cacheKey.method) {
|
|
16411
|
-
deleteCachedValue(store, {
|
|
16412
|
-
...cacheKey,
|
|
16413
|
-
method,
|
|
16414
|
-
path
|
|
16415
|
-
});
|
|
16416
|
-
}
|
|
16417
|
-
}
|
|
16418
|
-
}
|
|
16419
|
-
function deleteLocationTargets(store, cacheKey, headerValue) {
|
|
16420
|
-
if (headerValue === void 0) {
|
|
16421
|
-
return;
|
|
16422
|
-
}
|
|
16423
|
-
const values = Array.isArray(headerValue) ? headerValue : [headerValue];
|
|
16424
|
-
for (let i = 0; i < values.length; i++) {
|
|
16425
|
-
const path = getSameOriginPath(cacheKey, values[i]);
|
|
16426
|
-
if (path !== void 0) {
|
|
16427
|
-
deleteCachedUri(store, cacheKey, path);
|
|
16428
|
-
}
|
|
16429
|
-
}
|
|
16430
|
-
}
|
|
16431
|
-
function invalidateUnsafeRequest(store, cacheKey, resHeaders) {
|
|
16432
|
-
deleteCachedUri(store, cacheKey, cacheKey.path);
|
|
16433
|
-
deleteLocationTargets(store, cacheKey, resHeaders.location);
|
|
16434
|
-
deleteLocationTargets(store, cacheKey, resHeaders["content-location"]);
|
|
16435
|
-
}
|
|
16436
15909
|
var CacheHandler = class {
|
|
16437
15910
|
/**
|
|
16438
15911
|
* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
|
|
@@ -16492,49 +15965,35 @@ var require_cache_handler = __commonJS({
|
|
|
16492
15965
|
statusMessage
|
|
16493
15966
|
);
|
|
16494
15967
|
const handler = this;
|
|
16495
|
-
if (!
|
|
16496
|
-
|
|
15968
|
+
if (!util.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) {
|
|
15969
|
+
try {
|
|
15970
|
+
this.#store.delete(this.#cacheKey)?.catch?.(noop);
|
|
15971
|
+
} catch {
|
|
15972
|
+
}
|
|
16497
15973
|
return downstreamOnHeaders();
|
|
16498
15974
|
}
|
|
16499
15975
|
const cacheControlHeader = resHeaders["cache-control"];
|
|
16500
|
-
const heuristicallyCacheable = resHeaders["last-modified"] &&
|
|
15976
|
+
const heuristicallyCacheable = resHeaders["last-modified"] && HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode);
|
|
16501
15977
|
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
|
|
16502
|
-
if (statusCode === 304 && resHeaders.vary && isInvalidOrWildcardVaryHeader(resHeaders.vary)) {
|
|
16503
|
-
deleteCachedValue(this.#store, this.#cacheKey);
|
|
16504
|
-
}
|
|
16505
15978
|
return downstreamOnHeaders();
|
|
16506
15979
|
}
|
|
16507
15980
|
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
|
|
16508
15981
|
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
16509
|
-
if (statusCode === 304 && (cacheControlHeader || revalidationResponseDisallowsCachedReuse(this.#cacheType, resHeaders, cacheControlDirectives))) {
|
|
16510
|
-
deleteCachedValue(this.#store, this.#cacheKey);
|
|
16511
|
-
}
|
|
16512
15982
|
return downstreamOnHeaders();
|
|
16513
15983
|
}
|
|
16514
15984
|
const now = Date.now();
|
|
16515
|
-
const resAge =
|
|
16516
|
-
if (resAge
|
|
16517
|
-
deleteCachedValueIfNotModified(statusCode, this.#store, this.#cacheKey);
|
|
16518
|
-
return downstreamOnHeaders();
|
|
16519
|
-
}
|
|
16520
|
-
const resDate = Object.hasOwn(resHeaders, "date") ? getDate(resHeaders.date) : void 0;
|
|
16521
|
-
if (resDate === null) {
|
|
16522
|
-
deleteCachedValueIfNotModified(statusCode, this.#store, this.#cacheKey);
|
|
15985
|
+
const resAge = resHeaders.age ? getAge(resHeaders.age) : void 0;
|
|
15986
|
+
if (resAge && resAge >= MAX_RESPONSE_AGE) {
|
|
16523
15987
|
return downstreamOnHeaders();
|
|
16524
15988
|
}
|
|
16525
|
-
const
|
|
16526
|
-
const currentAge = Math.max(apparentAge, resAge ?? 0);
|
|
15989
|
+
const resDate = typeof resHeaders.date === "string" ? parseHttpDate(resHeaders.date) : void 0;
|
|
16527
15990
|
const staleAt = determineStaleAt(this.#cacheType, now, resAge, resHeaders, resDate, cacheControlDirectives) ?? this.#cacheByDefault;
|
|
16528
|
-
if (staleAt === void 0 ||
|
|
16529
|
-
if (cacheControlHeader || staleAt !== void 0) {
|
|
16530
|
-
deleteCachedValueIfNotModified(statusCode, this.#store, this.#cacheKey);
|
|
16531
|
-
}
|
|
15991
|
+
if (staleAt === void 0 || resAge && resAge > staleAt) {
|
|
16532
15992
|
return downstreamOnHeaders();
|
|
16533
15993
|
}
|
|
16534
|
-
const baseTime =
|
|
15994
|
+
const baseTime = resDate ? resDate.getTime() : now;
|
|
16535
15995
|
const absoluteStaleAt = staleAt + baseTime;
|
|
16536
15996
|
if (now >= absoluteStaleAt) {
|
|
16537
|
-
deleteCachedValueIfNotModified(statusCode, this.#store, this.#cacheKey);
|
|
16538
15997
|
return downstreamOnHeaders();
|
|
16539
15998
|
}
|
|
16540
15999
|
let varyDirectives;
|
|
@@ -16544,8 +16003,7 @@ var require_cache_handler = __commonJS({
|
|
|
16544
16003
|
return downstreamOnHeaders();
|
|
16545
16004
|
}
|
|
16546
16005
|
}
|
|
16547
|
-
const
|
|
16548
|
-
const deleteAt = determineDeleteAt(baseTime, now, cacheControlDirectives, absoluteStaleAt);
|
|
16006
|
+
const deleteAt = determineDeleteAt(baseTime, cacheControlDirectives, absoluteStaleAt);
|
|
16549
16007
|
const strippedHeaders = stripNecessaryHeaders(resHeaders, cacheControlDirectives);
|
|
16550
16008
|
const value = {
|
|
16551
16009
|
statusCode,
|
|
@@ -16553,7 +16011,7 @@ var require_cache_handler = __commonJS({
|
|
|
16553
16011
|
headers: strippedHeaders,
|
|
16554
16012
|
vary: varyDirectives,
|
|
16555
16013
|
cacheControlDirectives,
|
|
16556
|
-
cachedAt,
|
|
16014
|
+
cachedAt: resAge ? now - resAge : now,
|
|
16557
16015
|
staleAt: absoluteStaleAt,
|
|
16558
16016
|
deleteAt
|
|
16559
16017
|
};
|
|
@@ -16565,7 +16023,6 @@ var require_cache_handler = __commonJS({
|
|
|
16565
16023
|
value.statusCode = cachedValue.statusCode;
|
|
16566
16024
|
value.statusMessage = cachedValue.statusMessage;
|
|
16567
16025
|
value.etag = cachedValue.etag;
|
|
16568
|
-
value.vary = varyDirectives ?? cachedValue.vary;
|
|
16569
16026
|
value.headers = { ...cachedValue.headers, ...strippedHeaders };
|
|
16570
16027
|
downstreamOnHeaders();
|
|
16571
16028
|
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
|
|
@@ -16656,25 +16113,11 @@ var require_cache_handler = __commonJS({
|
|
|
16656
16113
|
this.#handler.onResponseError?.(controller, err);
|
|
16657
16114
|
}
|
|
16658
16115
|
};
|
|
16659
|
-
function deleteCachedValue(store, cacheKey) {
|
|
16660
|
-
try {
|
|
16661
|
-
store.delete(cacheKey)?.catch?.(noop);
|
|
16662
|
-
} catch {
|
|
16663
|
-
}
|
|
16664
|
-
}
|
|
16665
|
-
function deleteCachedValueIfNotModified(statusCode, store, cacheKey) {
|
|
16666
|
-
if (statusCode === 304) {
|
|
16667
|
-
deleteCachedValue(store, cacheKey);
|
|
16668
|
-
}
|
|
16669
|
-
}
|
|
16670
|
-
function revalidationResponseDisallowsCachedReuse(cacheType, resHeaders, cacheControlDirectives) {
|
|
16671
|
-
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && cacheControlDirectives.private === true || (resHeaders.vary ? isInvalidOrWildcardVaryHeader(resHeaders.vary) : false);
|
|
16672
|
-
}
|
|
16673
16116
|
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
16674
|
-
if (statusCode < 200 ||
|
|
16117
|
+
if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
|
|
16675
16118
|
return false;
|
|
16676
16119
|
}
|
|
16677
|
-
if (!
|
|
16120
|
+
if (!HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === void 0 && // RFC 9111: a private response directive, if the cache is not shared
|
|
16678
16121
|
!(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== void 0 && cacheType === "shared")) {
|
|
16679
16122
|
return false;
|
|
16680
16123
|
}
|
|
@@ -16684,98 +16127,60 @@ var require_cache_handler = __commonJS({
|
|
|
16684
16127
|
if (cacheType === "shared" && cacheControlDirectives.private === true) {
|
|
16685
16128
|
return false;
|
|
16686
16129
|
}
|
|
16687
|
-
if (resHeaders.vary
|
|
16130
|
+
if (resHeaders.vary?.includes("*")) {
|
|
16688
16131
|
return false;
|
|
16689
16132
|
}
|
|
16690
|
-
if (reqHeaders
|
|
16133
|
+
if (reqHeaders?.authorization) {
|
|
16691
16134
|
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) {
|
|
16692
16135
|
return false;
|
|
16693
16136
|
}
|
|
16694
16137
|
if (typeof reqHeaders.authorization !== "string") {
|
|
16695
16138
|
return false;
|
|
16696
16139
|
}
|
|
16697
|
-
if (Array.isArray(cacheControlDirectives["no-cache"]) &&
|
|
16140
|
+
if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
|
|
16698
16141
|
return false;
|
|
16699
16142
|
}
|
|
16700
|
-
if (Array.isArray(cacheControlDirectives["private"]) &&
|
|
16143
|
+
if (Array.isArray(cacheControlDirectives["private"]) && cacheControlDirectives["private"].includes("authorization")) {
|
|
16701
16144
|
return false;
|
|
16702
16145
|
}
|
|
16703
16146
|
}
|
|
16704
16147
|
return true;
|
|
16705
16148
|
}
|
|
16706
|
-
function getDate(dateHeader) {
|
|
16707
|
-
let dateValue = dateHeader;
|
|
16708
|
-
if (Array.isArray(dateValue)) {
|
|
16709
|
-
if (dateValue.length !== 1) {
|
|
16710
|
-
return null;
|
|
16711
|
-
}
|
|
16712
|
-
dateValue = dateValue[0];
|
|
16713
|
-
}
|
|
16714
|
-
if (typeof dateValue !== "string") {
|
|
16715
|
-
return null;
|
|
16716
|
-
}
|
|
16717
|
-
return parseHttpDate(dateValue);
|
|
16718
|
-
}
|
|
16719
16149
|
function getAge(ageHeader) {
|
|
16720
|
-
|
|
16721
|
-
|
|
16722
|
-
if (ageValue.length !== 1) {
|
|
16723
|
-
return MAX_RESPONSE_AGE;
|
|
16724
|
-
}
|
|
16725
|
-
ageValue = ageValue[0];
|
|
16726
|
-
}
|
|
16727
|
-
if (typeof ageValue !== "string" || !/^[\t ]*[0-9]+[\t ]*$/.test(ageValue)) {
|
|
16728
|
-
return MAX_RESPONSE_AGE;
|
|
16729
|
-
}
|
|
16730
|
-
const age = BigInt(ageValue.replace(/^[\t ]+|[\t ]+$/g, ""));
|
|
16731
|
-
if (age >= BigInt(MAX_RESPONSE_AGE / 1e3)) {
|
|
16732
|
-
return MAX_RESPONSE_AGE;
|
|
16733
|
-
}
|
|
16734
|
-
return Number(age) * 1e3;
|
|
16150
|
+
const age = parseInt(Array.isArray(ageHeader) ? ageHeader[0] : ageHeader);
|
|
16151
|
+
return isNaN(age) ? void 0 : age * 1e3;
|
|
16735
16152
|
}
|
|
16736
16153
|
function determineStaleAt(cacheType, now, age, resHeaders, responseDate, cacheControlDirectives) {
|
|
16737
16154
|
if (cacheType === "shared") {
|
|
16738
|
-
if (hasInvalidCacheControlDirective(cacheControlDirectives, "s-maxage")) {
|
|
16739
|
-
return 0;
|
|
16740
|
-
}
|
|
16741
16155
|
const sMaxAge = cacheControlDirectives["s-maxage"];
|
|
16742
16156
|
if (sMaxAge !== void 0) {
|
|
16743
|
-
return sMaxAge * 1e3;
|
|
16157
|
+
return sMaxAge > 0 ? sMaxAge * 1e3 : void 0;
|
|
16744
16158
|
}
|
|
16745
16159
|
}
|
|
16746
|
-
if (hasInvalidCacheControlDirective(cacheControlDirectives, "max-age")) {
|
|
16747
|
-
return 0;
|
|
16748
|
-
}
|
|
16749
16160
|
const maxAge = cacheControlDirectives["max-age"];
|
|
16750
16161
|
if (maxAge !== void 0) {
|
|
16751
|
-
return maxAge * 1e3;
|
|
16162
|
+
return maxAge > 0 ? maxAge * 1e3 : void 0;
|
|
16752
16163
|
}
|
|
16753
|
-
if (
|
|
16754
|
-
if (typeof resHeaders.expires !== "string") {
|
|
16755
|
-
return 0;
|
|
16756
|
-
}
|
|
16164
|
+
if (typeof resHeaders.expires === "string") {
|
|
16757
16165
|
const expiresDate = parseHttpDate(resHeaders.expires);
|
|
16758
|
-
if (
|
|
16759
|
-
|
|
16760
|
-
|
|
16761
|
-
if (now >= expiresDate.getTime()) {
|
|
16762
|
-
return 0;
|
|
16763
|
-
}
|
|
16764
|
-
if (responseDate) {
|
|
16765
|
-
if (responseDate >= expiresDate) {
|
|
16766
|
-
return 0;
|
|
16166
|
+
if (expiresDate) {
|
|
16167
|
+
if (now >= expiresDate.getTime()) {
|
|
16168
|
+
return void 0;
|
|
16767
16169
|
}
|
|
16768
|
-
|
|
16769
|
-
|
|
16770
|
-
|
|
16170
|
+
if (responseDate) {
|
|
16171
|
+
if (responseDate >= expiresDate) {
|
|
16172
|
+
return void 0;
|
|
16173
|
+
}
|
|
16174
|
+
if (age !== void 0 && age > expiresDate - responseDate) {
|
|
16175
|
+
return void 0;
|
|
16176
|
+
}
|
|
16771
16177
|
}
|
|
16772
|
-
return
|
|
16178
|
+
return expiresDate.getTime() - now;
|
|
16773
16179
|
}
|
|
16774
|
-
return expiresDate.getTime() - now;
|
|
16775
16180
|
}
|
|
16776
16181
|
if (typeof resHeaders["last-modified"] === "string") {
|
|
16777
|
-
const lastModified =
|
|
16778
|
-
if (lastModified) {
|
|
16182
|
+
const lastModified = new Date(resHeaders["last-modified"]);
|
|
16183
|
+
if (isValidDate(lastModified)) {
|
|
16779
16184
|
if (lastModified.getTime() >= now) {
|
|
16780
16185
|
return void 0;
|
|
16781
16186
|
}
|
|
@@ -16784,11 +16189,11 @@ var require_cache_handler = __commonJS({
|
|
|
16784
16189
|
}
|
|
16785
16190
|
}
|
|
16786
16191
|
if (cacheControlDirectives.immutable) {
|
|
16787
|
-
return
|
|
16192
|
+
return 31536e3;
|
|
16788
16193
|
}
|
|
16789
16194
|
return void 0;
|
|
16790
16195
|
}
|
|
16791
|
-
function determineDeleteAt(
|
|
16196
|
+
function determineDeleteAt(now, cacheControlDirectives, staleAt) {
|
|
16792
16197
|
let staleWhileRevalidate = -Infinity;
|
|
16793
16198
|
let staleIfError = -Infinity;
|
|
16794
16199
|
let immutable = -Infinity;
|
|
@@ -16799,12 +16204,11 @@ var require_cache_handler = __commonJS({
|
|
|
16799
16204
|
staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1e3;
|
|
16800
16205
|
}
|
|
16801
16206
|
if (cacheControlDirectives.immutable && staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
|
|
16802
|
-
immutable =
|
|
16207
|
+
immutable = now + 31536e6;
|
|
16803
16208
|
}
|
|
16804
16209
|
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity && immutable === -Infinity) {
|
|
16805
|
-
const freshnessLifetime = staleAt -
|
|
16806
|
-
|
|
16807
|
-
return staleAt + freshnessLifetime + datePrecisionPadding;
|
|
16210
|
+
const freshnessLifetime = staleAt - now;
|
|
16211
|
+
return staleAt + freshnessLifetime;
|
|
16808
16212
|
}
|
|
16809
16213
|
return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
|
|
16810
16214
|
}
|
|
@@ -16822,7 +16226,11 @@ var require_cache_handler = __commonJS({
|
|
|
16822
16226
|
"age"
|
|
16823
16227
|
];
|
|
16824
16228
|
if (resHeaders["connection"]) {
|
|
16825
|
-
|
|
16229
|
+
if (Array.isArray(resHeaders["connection"])) {
|
|
16230
|
+
headersToRemove.push(...resHeaders["connection"].map((header) => header.trim()));
|
|
16231
|
+
} else {
|
|
16232
|
+
headersToRemove.push(...resHeaders["connection"].split(",").map((header) => header.trim()));
|
|
16233
|
+
}
|
|
16826
16234
|
}
|
|
16827
16235
|
if (Array.isArray(cacheControlDirectives["no-cache"])) {
|
|
16828
16236
|
headersToRemove.push(...cacheControlDirectives["no-cache"]);
|
|
@@ -16832,20 +16240,23 @@ var require_cache_handler = __commonJS({
|
|
|
16832
16240
|
}
|
|
16833
16241
|
let strippedHeaders;
|
|
16834
16242
|
for (const headerName of headersToRemove) {
|
|
16835
|
-
if (
|
|
16243
|
+
if (resHeaders[headerName]) {
|
|
16836
16244
|
strippedHeaders ??= { ...resHeaders };
|
|
16837
16245
|
delete strippedHeaders[headerName];
|
|
16838
16246
|
}
|
|
16839
16247
|
}
|
|
16840
16248
|
return strippedHeaders ?? resHeaders;
|
|
16841
16249
|
}
|
|
16250
|
+
function isValidDate(date) {
|
|
16251
|
+
return date instanceof Date && Number.isFinite(date.valueOf());
|
|
16252
|
+
}
|
|
16842
16253
|
module.exports = CacheHandler;
|
|
16843
16254
|
}
|
|
16844
16255
|
});
|
|
16845
16256
|
|
|
16846
|
-
// node_modules/.pnpm/undici@7.
|
|
16257
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/cache/memory-cache-store.js
|
|
16847
16258
|
var require_memory_cache_store = __commonJS({
|
|
16848
|
-
"node_modules/.pnpm/undici@7.
|
|
16259
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/cache/memory-cache-store.js"(exports, module) {
|
|
16849
16260
|
"use strict";
|
|
16850
16261
|
var { Writable } = __require("node:stream");
|
|
16851
16262
|
var { EventEmitter } = __require("node:events");
|
|
@@ -17009,57 +16420,26 @@ var require_memory_cache_store = __commonJS({
|
|
|
17009
16420
|
}
|
|
17010
16421
|
};
|
|
17011
16422
|
function findEntry(key, entries, now) {
|
|
17012
|
-
|
|
17013
|
-
|
|
17014
|
-
|
|
17015
|
-
return entry;
|
|
17016
|
-
}
|
|
17017
|
-
}
|
|
17018
|
-
}
|
|
17019
|
-
function varyMatches(key, entry) {
|
|
17020
|
-
if (entry.vary == null) {
|
|
17021
|
-
return true;
|
|
17022
|
-
}
|
|
17023
|
-
for (const headerName in entry.vary) {
|
|
17024
|
-
if (Object.hasOwn(entry.vary, headerName) && !headerValueEquals(key.headers?.[headerName], entry.vary[headerName])) {
|
|
17025
|
-
return false;
|
|
17026
|
-
}
|
|
17027
|
-
}
|
|
17028
|
-
return true;
|
|
17029
|
-
}
|
|
17030
|
-
function headerValueEquals(lhs, rhs) {
|
|
17031
|
-
if (lhs == null && rhs == null) {
|
|
17032
|
-
return true;
|
|
17033
|
-
}
|
|
17034
|
-
if (lhs == null && rhs != null || lhs != null && rhs == null) {
|
|
17035
|
-
return false;
|
|
17036
|
-
}
|
|
17037
|
-
if (Array.isArray(lhs) && Array.isArray(rhs)) {
|
|
17038
|
-
if (lhs.length !== rhs.length) {
|
|
17039
|
-
return false;
|
|
17040
|
-
}
|
|
17041
|
-
for (let i = 0; i < lhs.length; i++) {
|
|
17042
|
-
if (lhs[i] !== rhs[i]) {
|
|
17043
|
-
return false;
|
|
17044
|
-
}
|
|
16423
|
+
return entries.find((entry) => entry.deleteAt > now && entry.method === key.method && (entry.vary == null || Object.keys(entry.vary).every((headerName) => {
|
|
16424
|
+
if (entry.vary[headerName] === null) {
|
|
16425
|
+
return key.headers[headerName] === void 0;
|
|
17045
16426
|
}
|
|
17046
|
-
return
|
|
17047
|
-
}
|
|
17048
|
-
return lhs === rhs;
|
|
16427
|
+
return entry.vary[headerName] === key.headers[headerName];
|
|
16428
|
+
})));
|
|
17049
16429
|
}
|
|
17050
16430
|
module.exports = MemoryCacheStore;
|
|
17051
16431
|
}
|
|
17052
16432
|
});
|
|
17053
16433
|
|
|
17054
|
-
// node_modules/.pnpm/undici@7.
|
|
16434
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
17055
16435
|
var require_cache_revalidation_handler = __commonJS({
|
|
17056
|
-
"node_modules/.pnpm/undici@7.
|
|
16436
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports, module) {
|
|
17057
16437
|
"use strict";
|
|
17058
16438
|
var assert = __require("node:assert");
|
|
17059
16439
|
var CacheRevalidationHandler = class {
|
|
17060
16440
|
#successful = false;
|
|
17061
16441
|
/**
|
|
17062
|
-
* @type {((
|
|
16442
|
+
* @type {((boolean, any) => void) | null}
|
|
17063
16443
|
*/
|
|
17064
16444
|
#callback;
|
|
17065
16445
|
/**
|
|
@@ -17072,7 +16452,7 @@ var require_cache_revalidation_handler = __commonJS({
|
|
|
17072
16452
|
*/
|
|
17073
16453
|
#allowErrorStatusCodes;
|
|
17074
16454
|
/**
|
|
17075
|
-
* @param {(
|
|
16455
|
+
* @param {(boolean) => void} callback Function to call if the cached value is valid
|
|
17076
16456
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchHandlers} handler
|
|
17077
16457
|
* @param {boolean} allowErrorStatusCodes
|
|
17078
16458
|
*/
|
|
@@ -17094,7 +16474,7 @@ var require_cache_revalidation_handler = __commonJS({
|
|
|
17094
16474
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
17095
16475
|
assert(this.#callback != null);
|
|
17096
16476
|
this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
|
|
17097
|
-
this.#callback(this.#successful, this.#context
|
|
16477
|
+
this.#callback(this.#successful, this.#context);
|
|
17098
16478
|
this.#callback = null;
|
|
17099
16479
|
if (this.#successful) {
|
|
17100
16480
|
return true;
|
|
@@ -17138,9 +16518,9 @@ var require_cache_revalidation_handler = __commonJS({
|
|
|
17138
16518
|
}
|
|
17139
16519
|
});
|
|
17140
16520
|
|
|
17141
|
-
// node_modules/.pnpm/undici@7.
|
|
16521
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/cache.js
|
|
17142
16522
|
var require_cache2 = __commonJS({
|
|
17143
|
-
"node_modules/.pnpm/undici@7.
|
|
16523
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/cache.js"(exports, module) {
|
|
17144
16524
|
"use strict";
|
|
17145
16525
|
var assert = __require("node:assert");
|
|
17146
16526
|
var { Readable } = __require("node:stream");
|
|
@@ -17148,9 +16528,8 @@ var require_cache2 = __commonJS({
|
|
|
17148
16528
|
var CacheHandler = require_cache_handler();
|
|
17149
16529
|
var MemoryCacheStore = require_memory_cache_store();
|
|
17150
16530
|
var CacheRevalidationHandler = require_cache_revalidation_handler();
|
|
17151
|
-
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader
|
|
16531
|
+
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache();
|
|
17152
16532
|
var { AbortError } = require_errors();
|
|
17153
|
-
var { parseHttpDate } = require_date();
|
|
17154
16533
|
function assertCacheOrigins(origins, name) {
|
|
17155
16534
|
if (origins === void 0) return;
|
|
17156
16535
|
if (!Array.isArray(origins)) {
|
|
@@ -17165,37 +16544,6 @@ var require_cache2 = __commonJS({
|
|
|
17165
16544
|
}
|
|
17166
16545
|
var nop = () => {
|
|
17167
16546
|
};
|
|
17168
|
-
function trimOWS(value) {
|
|
17169
|
-
return value.replace(/^[\t ]+|[\t ]+$/g, "");
|
|
17170
|
-
}
|
|
17171
|
-
function arrayIncludes(array, value) {
|
|
17172
|
-
for (let i = 0; i < array.length; i++) {
|
|
17173
|
-
if (array[i] === value) {
|
|
17174
|
-
return true;
|
|
17175
|
-
}
|
|
17176
|
-
}
|
|
17177
|
-
return false;
|
|
17178
|
-
}
|
|
17179
|
-
function hasPragmaNoCache(headers) {
|
|
17180
|
-
const pragma = headers?.pragma;
|
|
17181
|
-
if (!pragma) {
|
|
17182
|
-
return false;
|
|
17183
|
-
}
|
|
17184
|
-
const values = Array.isArray(pragma) ? pragma : [pragma];
|
|
17185
|
-
for (let i = 0; i < values.length; i++) {
|
|
17186
|
-
const value = values[i];
|
|
17187
|
-
if (typeof value !== "string") {
|
|
17188
|
-
continue;
|
|
17189
|
-
}
|
|
17190
|
-
const directives = value.split(",");
|
|
17191
|
-
for (let j = 0; j < directives.length; j++) {
|
|
17192
|
-
if (trimOWS(directives[j]).toLowerCase() === "no-cache") {
|
|
17193
|
-
return true;
|
|
17194
|
-
}
|
|
17195
|
-
}
|
|
17196
|
-
}
|
|
17197
|
-
return false;
|
|
17198
|
-
}
|
|
17199
16547
|
function needsRevalidation(result, cacheControlDirectives, { headers = {} }) {
|
|
17200
16548
|
if (cacheControlDirectives?.["no-cache"]) {
|
|
17201
16549
|
return true;
|
|
@@ -17208,58 +16556,10 @@ var require_cache2 = __commonJS({
|
|
|
17208
16556
|
}
|
|
17209
16557
|
return false;
|
|
17210
16558
|
}
|
|
17211
|
-
function
|
|
17212
|
-
return result.cacheControlDirectives?.["must-revalidate"] === true || cacheType === "shared" && (result.cacheControlDirectives?.["proxy-revalidate"] === true || // https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.2.10
|
|
17213
|
-
// s-maxage implies proxy-revalidate for shared caches.
|
|
17214
|
-
result.cacheControlDirectives?.["s-maxage"] !== void 0);
|
|
17215
|
-
}
|
|
17216
|
-
function revalidationResponseDisallowsCachedReuse(cacheType, headers) {
|
|
17217
|
-
if (headers.vary && isInvalidOrWildcardVaryHeader(headers.vary)) {
|
|
17218
|
-
return true;
|
|
17219
|
-
}
|
|
17220
|
-
const cacheControl = headers["cache-control"];
|
|
17221
|
-
if (!cacheControl) {
|
|
17222
|
-
return false;
|
|
17223
|
-
}
|
|
17224
|
-
const cacheControlDirectives = parseCacheControlHeader(cacheControl);
|
|
17225
|
-
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && cacheControlDirectives.private === true;
|
|
17226
|
-
}
|
|
17227
|
-
function revalidationResponseUpdatesCacheControl(headers) {
|
|
17228
|
-
return headers["cache-control"] !== void 0;
|
|
17229
|
-
}
|
|
17230
|
-
function deleteCachedValue(store, cacheKey) {
|
|
17231
|
-
try {
|
|
17232
|
-
store.delete(cacheKey)?.catch?.(nop);
|
|
17233
|
-
} catch {
|
|
17234
|
-
}
|
|
17235
|
-
}
|
|
17236
|
-
function getUsableLastModified(headers) {
|
|
17237
|
-
const lastModified = headers?.["last-modified"];
|
|
17238
|
-
if (typeof lastModified === "string" && parseHttpDate(lastModified)) {
|
|
17239
|
-
return lastModified;
|
|
17240
|
-
}
|
|
17241
|
-
}
|
|
17242
|
-
function makeRevalidationHeaders(opts, result) {
|
|
17243
|
-
const headers = {
|
|
17244
|
-
...opts.headers,
|
|
17245
|
-
"if-modified-since": getUsableLastModified(result.headers) ?? new Date(result.cachedAt).toUTCString()
|
|
17246
|
-
};
|
|
17247
|
-
if (result.etag) {
|
|
17248
|
-
headers["if-none-match"] = result.etag;
|
|
17249
|
-
}
|
|
17250
|
-
if (result.vary) {
|
|
17251
|
-
for (const key in result.vary) {
|
|
17252
|
-
if (result.vary[key] != null) {
|
|
17253
|
-
headers[key] = result.vary[key];
|
|
17254
|
-
}
|
|
17255
|
-
}
|
|
17256
|
-
}
|
|
17257
|
-
return headers;
|
|
17258
|
-
}
|
|
17259
|
-
function isStale(result, cacheControlDirectives, cacheType) {
|
|
16559
|
+
function isStale(result, cacheControlDirectives) {
|
|
17260
16560
|
const now = Date.now();
|
|
17261
16561
|
if (now > result.staleAt) {
|
|
17262
|
-
if (
|
|
16562
|
+
if (cacheControlDirectives?.["max-stale"]) {
|
|
17263
16563
|
const gracePeriod = result.staleAt + cacheControlDirectives["max-stale"] * 1e3;
|
|
17264
16564
|
return now > gracePeriod;
|
|
17265
16565
|
}
|
|
@@ -17272,9 +16572,9 @@ var require_cache2 = __commonJS({
|
|
|
17272
16572
|
}
|
|
17273
16573
|
return false;
|
|
17274
16574
|
}
|
|
17275
|
-
function withinStaleWhileRevalidateWindow(result
|
|
16575
|
+
function withinStaleWhileRevalidateWindow(result) {
|
|
17276
16576
|
const staleWhileRevalidate = result.cacheControlDirectives?.["stale-while-revalidate"];
|
|
17277
|
-
if (!staleWhileRevalidate
|
|
16577
|
+
if (!staleWhileRevalidate) {
|
|
17278
16578
|
return false;
|
|
17279
16579
|
}
|
|
17280
16580
|
const now = Date.now();
|
|
@@ -17374,17 +16674,32 @@ var require_cache2 = __commonJS({
|
|
|
17374
16674
|
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
|
|
17375
16675
|
}
|
|
17376
16676
|
const age = Math.round((now - result.cachedAt) / 1e3);
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
16677
|
+
if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) {
|
|
16678
|
+
return dispatch(opts, handler);
|
|
16679
|
+
}
|
|
16680
|
+
const stale = isStale(result, reqCacheControl);
|
|
16681
|
+
const revalidate = needsRevalidation(result, reqCacheControl, opts);
|
|
17380
16682
|
if (stale || revalidate) {
|
|
17381
16683
|
if (util.isStream(opts.body) && util.bodyLength(opts.body) !== 0) {
|
|
17382
16684
|
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
|
|
17383
16685
|
}
|
|
17384
|
-
if (!revalidate && withinStaleWhileRevalidateWindow(result
|
|
16686
|
+
if (!revalidate && withinStaleWhileRevalidateWindow(result)) {
|
|
17385
16687
|
sendCachedValue(handler, opts, result, age, null, true);
|
|
17386
16688
|
queueMicrotask(() => {
|
|
17387
|
-
const headers2 =
|
|
16689
|
+
const headers2 = {
|
|
16690
|
+
...opts.headers,
|
|
16691
|
+
"if-modified-since": new Date(result.cachedAt).toUTCString()
|
|
16692
|
+
};
|
|
16693
|
+
if (result.etag) {
|
|
16694
|
+
headers2["if-none-match"] = result.etag;
|
|
16695
|
+
}
|
|
16696
|
+
if (result.vary) {
|
|
16697
|
+
for (const key in result.vary) {
|
|
16698
|
+
if (result.vary[key] != null) {
|
|
16699
|
+
headers2[key] = result.vary[key];
|
|
16700
|
+
}
|
|
16701
|
+
}
|
|
16702
|
+
}
|
|
17388
16703
|
dispatch(
|
|
17389
16704
|
{
|
|
17390
16705
|
...opts,
|
|
@@ -17410,33 +16725,32 @@ var require_cache2 = __commonJS({
|
|
|
17410
16725
|
return true;
|
|
17411
16726
|
}
|
|
17412
16727
|
let withinStaleIfErrorThreshold = false;
|
|
17413
|
-
|
|
17414
|
-
|
|
17415
|
-
|
|
17416
|
-
|
|
16728
|
+
const staleIfErrorExpiry = result.cacheControlDirectives["stale-if-error"] ?? reqCacheControl?.["stale-if-error"];
|
|
16729
|
+
if (staleIfErrorExpiry) {
|
|
16730
|
+
withinStaleIfErrorThreshold = now < result.staleAt + staleIfErrorExpiry * 1e3;
|
|
16731
|
+
}
|
|
16732
|
+
const headers = {
|
|
16733
|
+
...opts.headers,
|
|
16734
|
+
"if-modified-since": new Date(result.cachedAt).toUTCString()
|
|
16735
|
+
};
|
|
16736
|
+
if (result.etag) {
|
|
16737
|
+
headers["if-none-match"] = result.etag;
|
|
16738
|
+
}
|
|
16739
|
+
if (result.vary) {
|
|
16740
|
+
for (const key in result.vary) {
|
|
16741
|
+
if (result.vary[key] != null) {
|
|
16742
|
+
headers[key] = result.vary[key];
|
|
16743
|
+
}
|
|
17417
16744
|
}
|
|
17418
16745
|
}
|
|
17419
|
-
const headers = makeRevalidationHeaders(opts, result);
|
|
17420
16746
|
return dispatch(
|
|
17421
16747
|
{
|
|
17422
16748
|
...opts,
|
|
17423
16749
|
headers
|
|
17424
16750
|
},
|
|
17425
16751
|
new CacheRevalidationHandler(
|
|
17426
|
-
(success, context
|
|
16752
|
+
(success, context) => {
|
|
17427
16753
|
if (success) {
|
|
17428
|
-
if (statusCode === 304) {
|
|
17429
|
-
if (revalidationResponseDisallowsCachedReuse(globalOpts.type, headers2)) {
|
|
17430
|
-
if (util.isStream(result.body)) {
|
|
17431
|
-
result.body.on("error", nop).destroy();
|
|
17432
|
-
}
|
|
17433
|
-
deleteCachedValue(globalOpts.store, cacheKey);
|
|
17434
|
-
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
|
|
17435
|
-
}
|
|
17436
|
-
if (revalidationResponseUpdatesCacheControl(headers2)) {
|
|
17437
|
-
deleteCachedValue(globalOpts.store, cacheKey);
|
|
17438
|
-
}
|
|
17439
|
-
}
|
|
17440
16754
|
sendCachedValue(handler, opts, result, age, context, stale);
|
|
17441
16755
|
} else if (util.isStream(result.body)) {
|
|
17442
16756
|
result.body.on("error", nop).destroy();
|
|
@@ -17478,16 +16792,10 @@ var require_cache2 = __commonJS({
|
|
|
17478
16792
|
cacheByDefault,
|
|
17479
16793
|
type
|
|
17480
16794
|
};
|
|
17481
|
-
const safeMethodsToNotCache =
|
|
17482
|
-
for (let i = 0; i < util.safeHTTPMethods.length; i++) {
|
|
17483
|
-
const method = util.safeHTTPMethods[i];
|
|
17484
|
-
if (!arrayIncludes(methods, method)) {
|
|
17485
|
-
safeMethodsToNotCache.push(method);
|
|
17486
|
-
}
|
|
17487
|
-
}
|
|
16795
|
+
const safeMethodsToNotCache = util.safeHTTPMethods.filter((method) => methods.includes(method) === false);
|
|
17488
16796
|
return (dispatch) => {
|
|
17489
16797
|
return (opts2, handler) => {
|
|
17490
|
-
if (!opts2.origin ||
|
|
16798
|
+
if (!opts2.origin || safeMethodsToNotCache.includes(opts2.method)) {
|
|
17491
16799
|
return dispatch(opts2, handler);
|
|
17492
16800
|
}
|
|
17493
16801
|
if (origins !== void 0) {
|
|
@@ -17513,7 +16821,7 @@ var require_cache2 = __commonJS({
|
|
|
17513
16821
|
...opts2,
|
|
17514
16822
|
headers: normalizeHeaders(opts2)
|
|
17515
16823
|
};
|
|
17516
|
-
const reqCacheControl = opts2.headers?.["cache-control"] ? parseCacheControlHeader(opts2.headers["cache-control"]) :
|
|
16824
|
+
const reqCacheControl = opts2.headers?.["cache-control"] ? parseCacheControlHeader(opts2.headers["cache-control"]) : void 0;
|
|
17517
16825
|
if (reqCacheControl?.["no-store"]) {
|
|
17518
16826
|
return dispatch(opts2, handler);
|
|
17519
16827
|
}
|
|
@@ -17546,9 +16854,9 @@ var require_cache2 = __commonJS({
|
|
|
17546
16854
|
}
|
|
17547
16855
|
});
|
|
17548
16856
|
|
|
17549
|
-
// node_modules/.pnpm/undici@7.
|
|
16857
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/decompress.js
|
|
17550
16858
|
var require_decompress = __commonJS({
|
|
17551
|
-
"node_modules/.pnpm/undici@7.
|
|
16859
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/decompress.js"(exports, module) {
|
|
17552
16860
|
"use strict";
|
|
17553
16861
|
var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
|
|
17554
16862
|
var { pipeline } = __require("node:stream");
|
|
@@ -17760,9 +17068,9 @@ var require_decompress = __commonJS({
|
|
|
17760
17068
|
}
|
|
17761
17069
|
});
|
|
17762
17070
|
|
|
17763
|
-
// node_modules/.pnpm/undici@7.
|
|
17071
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/deduplication-handler.js
|
|
17764
17072
|
var require_deduplication_handler = __commonJS({
|
|
17765
|
-
"node_modules/.pnpm/undici@7.
|
|
17073
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/handler/deduplication-handler.js"(exports, module) {
|
|
17766
17074
|
"use strict";
|
|
17767
17075
|
var { RequestAbortedError } = require_errors();
|
|
17768
17076
|
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
|
|
@@ -18119,9 +17427,9 @@ var require_deduplication_handler = __commonJS({
|
|
|
18119
17427
|
}
|
|
18120
17428
|
});
|
|
18121
17429
|
|
|
18122
|
-
// node_modules/.pnpm/undici@7.
|
|
17430
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/deduplicate.js
|
|
18123
17431
|
var require_deduplicate = __commonJS({
|
|
18124
|
-
"node_modules/.pnpm/undici@7.
|
|
17432
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/interceptor/deduplicate.js"(exports, module) {
|
|
18125
17433
|
"use strict";
|
|
18126
17434
|
var diagnosticsChannel = __require("node:diagnostics_channel");
|
|
18127
17435
|
var util = require_util();
|
|
@@ -18204,9 +17512,9 @@ var require_deduplicate = __commonJS({
|
|
|
18204
17512
|
}
|
|
18205
17513
|
});
|
|
18206
17514
|
|
|
18207
|
-
// node_modules/.pnpm/undici@7.
|
|
17515
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
18208
17516
|
var require_sqlite_cache_store = __commonJS({
|
|
18209
|
-
"node_modules/.pnpm/undici@7.
|
|
17517
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports, module) {
|
|
18210
17518
|
"use strict";
|
|
18211
17519
|
var { Writable } = __require("node:stream");
|
|
18212
17520
|
var { assertCacheKey, assertCacheValue } = require_cache();
|
|
@@ -18369,7 +17677,7 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
18369
17677
|
SELECT
|
|
18370
17678
|
id
|
|
18371
17679
|
FROM cacheInterceptorV${VERSION}
|
|
18372
|
-
ORDER BY cachedAt
|
|
17680
|
+
ORDER BY cachedAt DESC
|
|
18373
17681
|
LIMIT ?
|
|
18374
17682
|
)
|
|
18375
17683
|
`);
|
|
@@ -18424,6 +17732,7 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
18424
17732
|
existingValue.id
|
|
18425
17733
|
);
|
|
18426
17734
|
} else {
|
|
17735
|
+
this.#prune();
|
|
18427
17736
|
this.#insertValueQuery.run(
|
|
18428
17737
|
url,
|
|
18429
17738
|
key.method,
|
|
@@ -18438,7 +17747,6 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
18438
17747
|
value.cachedAt,
|
|
18439
17748
|
value.staleAt
|
|
18440
17749
|
);
|
|
18441
|
-
this.#prune();
|
|
18442
17750
|
}
|
|
18443
17751
|
}
|
|
18444
17752
|
/**
|
|
@@ -18526,7 +17834,7 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
18526
17834
|
const now = Date.now();
|
|
18527
17835
|
for (const value of values) {
|
|
18528
17836
|
if (now >= value.deleteAt && !canBeExpired) {
|
|
18529
|
-
|
|
17837
|
+
return void 0;
|
|
18530
17838
|
}
|
|
18531
17839
|
let matches = true;
|
|
18532
17840
|
if (value.vary) {
|
|
@@ -18556,21 +17864,16 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
18556
17864
|
if (lhs.length !== rhs.length) {
|
|
18557
17865
|
return false;
|
|
18558
17866
|
}
|
|
18559
|
-
|
|
18560
|
-
if (lhs[i] !== rhs[i]) {
|
|
18561
|
-
return false;
|
|
18562
|
-
}
|
|
18563
|
-
}
|
|
18564
|
-
return true;
|
|
17867
|
+
return lhs.every((x, i) => x === rhs[i]);
|
|
18565
17868
|
}
|
|
18566
17869
|
return lhs === rhs;
|
|
18567
17870
|
}
|
|
18568
17871
|
}
|
|
18569
17872
|
});
|
|
18570
17873
|
|
|
18571
|
-
// node_modules/.pnpm/undici@7.
|
|
17874
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/headers.js
|
|
18572
17875
|
var require_headers = __commonJS({
|
|
18573
|
-
"node_modules/.pnpm/undici@7.
|
|
17876
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/headers.js"(exports, module) {
|
|
18574
17877
|
"use strict";
|
|
18575
17878
|
var { kConstruct } = require_symbols();
|
|
18576
17879
|
var { kEnumerableProperty } = require_util();
|
|
@@ -19029,9 +18332,9 @@ var require_headers = __commonJS({
|
|
|
19029
18332
|
}
|
|
19030
18333
|
});
|
|
19031
18334
|
|
|
19032
|
-
// node_modules/.pnpm/undici@7.
|
|
18335
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/response.js
|
|
19033
18336
|
var require_response = __commonJS({
|
|
19034
|
-
"node_modules/.pnpm/undici@7.
|
|
18337
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/response.js"(exports, module) {
|
|
19035
18338
|
"use strict";
|
|
19036
18339
|
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
19037
18340
|
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
|
|
@@ -19451,9 +18754,9 @@ var require_response = __commonJS({
|
|
|
19451
18754
|
}
|
|
19452
18755
|
});
|
|
19453
18756
|
|
|
19454
|
-
// node_modules/.pnpm/undici@7.
|
|
18757
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/request.js
|
|
19455
18758
|
var require_request2 = __commonJS({
|
|
19456
|
-
"node_modules/.pnpm/undici@7.
|
|
18759
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/request.js"(exports, module) {
|
|
19457
18760
|
"use strict";
|
|
19458
18761
|
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
19459
18762
|
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
@@ -20207,9 +19510,9 @@ var require_request2 = __commonJS({
|
|
|
20207
19510
|
}
|
|
20208
19511
|
});
|
|
20209
19512
|
|
|
20210
|
-
// node_modules/.pnpm/undici@7.
|
|
19513
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
20211
19514
|
var require_subresource_integrity = __commonJS({
|
|
20212
|
-
"node_modules/.pnpm/undici@7.
|
|
19515
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports, module) {
|
|
20213
19516
|
"use strict";
|
|
20214
19517
|
var assert = __require("node:assert");
|
|
20215
19518
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -20346,9 +19649,9 @@ var require_subresource_integrity = __commonJS({
|
|
|
20346
19649
|
}
|
|
20347
19650
|
});
|
|
20348
19651
|
|
|
20349
|
-
// node_modules/.pnpm/undici@7.
|
|
19652
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/index.js
|
|
20350
19653
|
var require_fetch = __commonJS({
|
|
20351
|
-
"node_modules/.pnpm/undici@7.
|
|
19654
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/index.js"(exports, module) {
|
|
20352
19655
|
"use strict";
|
|
20353
19656
|
var {
|
|
20354
19657
|
makeNetworkError,
|
|
@@ -20850,7 +20153,7 @@ var require_fetch = __commonJS({
|
|
|
20850
20153
|
cacheState = "";
|
|
20851
20154
|
}
|
|
20852
20155
|
let responseStatus = 0;
|
|
20853
|
-
if (fetchParams.request.mode !== "
|
|
20156
|
+
if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
|
|
20854
20157
|
responseStatus = response.status;
|
|
20855
20158
|
const mimeType = extractMimeType(response.headersList);
|
|
20856
20159
|
if (mimeType !== "failure") {
|
|
@@ -21014,7 +20317,7 @@ var require_fetch = __commonJS({
|
|
|
21014
20317
|
if (contentLength != null) {
|
|
21015
20318
|
contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
|
|
21016
20319
|
}
|
|
21017
|
-
if (contentLengthHeaderValue != null
|
|
20320
|
+
if (contentLengthHeaderValue != null) {
|
|
21018
20321
|
httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
|
|
21019
20322
|
}
|
|
21020
20323
|
if (contentLength != null && httpRequest.keepalive) {
|
|
@@ -21490,9 +20793,9 @@ var require_fetch = __commonJS({
|
|
|
21490
20793
|
}
|
|
21491
20794
|
});
|
|
21492
20795
|
|
|
21493
|
-
// node_modules/.pnpm/undici@7.
|
|
20796
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/util.js
|
|
21494
20797
|
var require_util3 = __commonJS({
|
|
21495
|
-
"node_modules/.pnpm/undici@7.
|
|
20798
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/util.js"(exports, module) {
|
|
21496
20799
|
"use strict";
|
|
21497
20800
|
var assert = __require("node:assert");
|
|
21498
20801
|
var { URLSerializer } = require_data_url();
|
|
@@ -21520,9 +20823,9 @@ var require_util3 = __commonJS({
|
|
|
21520
20823
|
}
|
|
21521
20824
|
});
|
|
21522
20825
|
|
|
21523
|
-
// node_modules/.pnpm/undici@7.
|
|
20826
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/cache.js
|
|
21524
20827
|
var require_cache3 = __commonJS({
|
|
21525
|
-
"node_modules/.pnpm/undici@7.
|
|
20828
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/cache.js"(exports, module) {
|
|
21526
20829
|
"use strict";
|
|
21527
20830
|
var assert = __require("node:assert");
|
|
21528
20831
|
var { kConstruct } = require_symbols();
|
|
@@ -22069,9 +21372,9 @@ var require_cache3 = __commonJS({
|
|
|
22069
21372
|
}
|
|
22070
21373
|
});
|
|
22071
21374
|
|
|
22072
|
-
// node_modules/.pnpm/undici@7.
|
|
21375
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/cachestorage.js
|
|
22073
21376
|
var require_cachestorage = __commonJS({
|
|
22074
|
-
"node_modules/.pnpm/undici@7.
|
|
21377
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cache/cachestorage.js"(exports, module) {
|
|
22075
21378
|
"use strict";
|
|
22076
21379
|
var { Cache } = require_cache3();
|
|
22077
21380
|
var { webidl } = require_webidl();
|
|
@@ -22179,9 +21482,9 @@ var require_cachestorage = __commonJS({
|
|
|
22179
21482
|
}
|
|
22180
21483
|
});
|
|
22181
21484
|
|
|
22182
|
-
// node_modules/.pnpm/undici@7.
|
|
21485
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/constants.js
|
|
22183
21486
|
var require_constants4 = __commonJS({
|
|
22184
|
-
"node_modules/.pnpm/undici@7.
|
|
21487
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/constants.js"(exports, module) {
|
|
22185
21488
|
"use strict";
|
|
22186
21489
|
var maxAttributeValueSize = 1024;
|
|
22187
21490
|
var maxNameValuePairSize = 4096;
|
|
@@ -22192,9 +21495,9 @@ var require_constants4 = __commonJS({
|
|
|
22192
21495
|
}
|
|
22193
21496
|
});
|
|
22194
21497
|
|
|
22195
|
-
// node_modules/.pnpm/undici@7.
|
|
21498
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/util.js
|
|
22196
21499
|
var require_util4 = __commonJS({
|
|
22197
|
-
"node_modules/.pnpm/undici@7.
|
|
21500
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/util.js"(exports, module) {
|
|
22198
21501
|
"use strict";
|
|
22199
21502
|
function isCTLExcludingHtab(value) {
|
|
22200
21503
|
for (let i = 0; i < value.length; ++i) {
|
|
@@ -22257,48 +21560,14 @@ var require_util4 = __commonJS({
|
|
|
22257
21560
|
for (let i = 0; i < path.length; ++i) {
|
|
22258
21561
|
const code = path.charCodeAt(i);
|
|
22259
21562
|
if (code < 32 || // exclude CTLs (0-31)
|
|
22260
|
-
code
|
|
21563
|
+
code === 127 || // DEL
|
|
22261
21564
|
code === 59) {
|
|
22262
21565
|
throw new Error("Invalid cookie path");
|
|
22263
21566
|
}
|
|
22264
21567
|
}
|
|
22265
21568
|
}
|
|
22266
|
-
function isLetterOrDigit(code) {
|
|
22267
|
-
return code >= 48 && code <= 57 || // 0-9
|
|
22268
|
-
code >= 65 && code <= 90 || // A-Z
|
|
22269
|
-
code >= 97 && code <= 122;
|
|
22270
|
-
}
|
|
22271
21569
|
function validateCookieDomain(domain) {
|
|
22272
|
-
if (domain
|
|
22273
|
-
return;
|
|
22274
|
-
}
|
|
22275
|
-
if (domain.length > 255) {
|
|
22276
|
-
throw new Error("Invalid cookie domain");
|
|
22277
|
-
}
|
|
22278
|
-
let labelLength = 0;
|
|
22279
|
-
for (let i = 0; i < domain.length; ++i) {
|
|
22280
|
-
const code = domain.charCodeAt(i);
|
|
22281
|
-
if (code === 46) {
|
|
22282
|
-
if (labelLength === 0) {
|
|
22283
|
-
throw new Error("Invalid cookie domain");
|
|
22284
|
-
}
|
|
22285
|
-
if (domain.charCodeAt(i - 1) === 45) {
|
|
22286
|
-
throw new Error("Invalid cookie domain");
|
|
22287
|
-
}
|
|
22288
|
-
labelLength = 0;
|
|
22289
|
-
continue;
|
|
22290
|
-
}
|
|
22291
|
-
if (labelLength === 0 && !isLetterOrDigit(code)) {
|
|
22292
|
-
throw new Error("Invalid cookie domain");
|
|
22293
|
-
}
|
|
22294
|
-
if (!isLetterOrDigit(code) && code !== 45) {
|
|
22295
|
-
throw new Error("Invalid cookie domain");
|
|
22296
|
-
}
|
|
22297
|
-
if (++labelLength > 63) {
|
|
22298
|
-
throw new Error("Invalid cookie domain");
|
|
22299
|
-
}
|
|
22300
|
-
}
|
|
22301
|
-
if (labelLength === 0 || domain.charCodeAt(domain.length - 1) === 45) {
|
|
21570
|
+
if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
|
|
22302
21571
|
throw new Error("Invalid cookie domain");
|
|
22303
21572
|
}
|
|
22304
21573
|
}
|
|
@@ -22381,11 +21650,7 @@ var require_util4 = __commonJS({
|
|
|
22381
21650
|
throw new Error("Invalid unparsed");
|
|
22382
21651
|
}
|
|
22383
21652
|
const [key, ...value] = part.split("=");
|
|
22384
|
-
|
|
22385
|
-
const joinedValue = value.join("=");
|
|
22386
|
-
validateCookieName(trimmedKey);
|
|
22387
|
-
validateCookieValue(joinedValue);
|
|
22388
|
-
out.push(`${trimmedKey}=${joinedValue}`);
|
|
21653
|
+
out.push(`${key.trim()}=${value.join("=")}`);
|
|
22389
21654
|
}
|
|
22390
21655
|
return out.join("; ");
|
|
22391
21656
|
}
|
|
@@ -22400,14 +21665,15 @@ var require_util4 = __commonJS({
|
|
|
22400
21665
|
}
|
|
22401
21666
|
});
|
|
22402
21667
|
|
|
22403
|
-
// node_modules/.pnpm/undici@7.
|
|
21668
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/parse.js
|
|
22404
21669
|
var require_parse = __commonJS({
|
|
22405
|
-
"node_modules/.pnpm/undici@7.
|
|
21670
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/parse.js"(exports, module) {
|
|
22406
21671
|
"use strict";
|
|
22407
21672
|
var { collectASequenceOfCodePointsFast } = require_infra();
|
|
22408
21673
|
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4();
|
|
22409
21674
|
var { isCTLExcludingHtab } = require_util4();
|
|
22410
21675
|
var assert = __require("node:assert");
|
|
21676
|
+
var { unescape: qsUnescape } = __require("node:querystring");
|
|
22411
21677
|
function parseSetCookie(header) {
|
|
22412
21678
|
if (isCTLExcludingHtab(header)) {
|
|
22413
21679
|
return null;
|
|
@@ -22441,7 +21707,7 @@ var require_parse = __commonJS({
|
|
|
22441
21707
|
}
|
|
22442
21708
|
return {
|
|
22443
21709
|
name,
|
|
22444
|
-
value,
|
|
21710
|
+
value: qsUnescape(value),
|
|
22445
21711
|
...parseUnparsedAttributes(unparsedAttributes)
|
|
22446
21712
|
};
|
|
22447
21713
|
}
|
|
@@ -22515,14 +21781,18 @@ var require_parse = __commonJS({
|
|
|
22515
21781
|
} else if (attributeNameLowercase === "httponly") {
|
|
22516
21782
|
cookieAttributeList.httpOnly = true;
|
|
22517
21783
|
} else if (attributeNameLowercase === "samesite") {
|
|
21784
|
+
let enforcement = "Default";
|
|
22518
21785
|
const attributeValueLowercase = attributeValue.toLowerCase();
|
|
22519
|
-
if (attributeValueLowercase
|
|
22520
|
-
|
|
22521
|
-
}
|
|
22522
|
-
|
|
22523
|
-
|
|
22524
|
-
|
|
21786
|
+
if (attributeValueLowercase.includes("none")) {
|
|
21787
|
+
enforcement = "None";
|
|
21788
|
+
}
|
|
21789
|
+
if (attributeValueLowercase.includes("strict")) {
|
|
21790
|
+
enforcement = "Strict";
|
|
21791
|
+
}
|
|
21792
|
+
if (attributeValueLowercase.includes("lax")) {
|
|
21793
|
+
enforcement = "Lax";
|
|
22525
21794
|
}
|
|
21795
|
+
cookieAttributeList.sameSite = enforcement;
|
|
22526
21796
|
} else {
|
|
22527
21797
|
cookieAttributeList.unparsed ??= [];
|
|
22528
21798
|
cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
|
|
@@ -22536,9 +21806,9 @@ var require_parse = __commonJS({
|
|
|
22536
21806
|
}
|
|
22537
21807
|
});
|
|
22538
21808
|
|
|
22539
|
-
// node_modules/.pnpm/undici@7.
|
|
21809
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/index.js
|
|
22540
21810
|
var require_cookies = __commonJS({
|
|
22541
|
-
"node_modules/.pnpm/undici@7.
|
|
21811
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/cookies/index.js"(exports, module) {
|
|
22542
21812
|
"use strict";
|
|
22543
21813
|
var { parseSetCookie } = require_parse();
|
|
22544
21814
|
var { stringify } = require_util4();
|
|
@@ -22671,9 +21941,9 @@ var require_cookies = __commonJS({
|
|
|
22671
21941
|
}
|
|
22672
21942
|
});
|
|
22673
21943
|
|
|
22674
|
-
// node_modules/.pnpm/undici@7.
|
|
21944
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/events.js
|
|
22675
21945
|
var require_events = __commonJS({
|
|
22676
|
-
"node_modules/.pnpm/undici@7.
|
|
21946
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/events.js"(exports, module) {
|
|
22677
21947
|
"use strict";
|
|
22678
21948
|
var { webidl } = require_webidl();
|
|
22679
21949
|
var { kEnumerableProperty } = require_util();
|
|
@@ -22939,9 +22209,9 @@ var require_events = __commonJS({
|
|
|
22939
22209
|
}
|
|
22940
22210
|
});
|
|
22941
22211
|
|
|
22942
|
-
// node_modules/.pnpm/undici@7.
|
|
22212
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/constants.js
|
|
22943
22213
|
var require_constants5 = __commonJS({
|
|
22944
|
-
"node_modules/.pnpm/undici@7.
|
|
22214
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/constants.js"(exports, module) {
|
|
22945
22215
|
"use strict";
|
|
22946
22216
|
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
22947
22217
|
var staticPropertyDescriptors = {
|
|
@@ -22995,9 +22265,9 @@ var require_constants5 = __commonJS({
|
|
|
22995
22265
|
}
|
|
22996
22266
|
});
|
|
22997
22267
|
|
|
22998
|
-
// node_modules/.pnpm/undici@7.
|
|
22268
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/util.js
|
|
22999
22269
|
var require_util5 = __commonJS({
|
|
23000
|
-
"node_modules/.pnpm/undici@7.
|
|
22270
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/util.js"(exports, module) {
|
|
23001
22271
|
"use strict";
|
|
23002
22272
|
var { states, opcodes } = require_constants5();
|
|
23003
22273
|
var { isUtf8 } = __require("node:buffer");
|
|
@@ -23172,9 +22442,9 @@ var require_util5 = __commonJS({
|
|
|
23172
22442
|
}
|
|
23173
22443
|
});
|
|
23174
22444
|
|
|
23175
|
-
// node_modules/.pnpm/undici@7.
|
|
22445
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/frame.js
|
|
23176
22446
|
var require_frame = __commonJS({
|
|
23177
|
-
"node_modules/.pnpm/undici@7.
|
|
22447
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/frame.js"(exports, module) {
|
|
23178
22448
|
"use strict";
|
|
23179
22449
|
var { runtimeFeatures } = require_runtime_features();
|
|
23180
22450
|
var { maxUnsigned16Bit, opcodes } = require_constants5();
|
|
@@ -23277,9 +22547,9 @@ var require_frame = __commonJS({
|
|
|
23277
22547
|
}
|
|
23278
22548
|
});
|
|
23279
22549
|
|
|
23280
|
-
// node_modules/.pnpm/undici@7.
|
|
22550
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/connection.js
|
|
23281
22551
|
var require_connection = __commonJS({
|
|
23282
|
-
"node_modules/.pnpm/undici@7.
|
|
22552
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/connection.js"(exports, module) {
|
|
23283
22553
|
"use strict";
|
|
23284
22554
|
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5();
|
|
23285
22555
|
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util5();
|
|
@@ -23433,9 +22703,9 @@ var require_connection = __commonJS({
|
|
|
23433
22703
|
}
|
|
23434
22704
|
});
|
|
23435
22705
|
|
|
23436
|
-
// node_modules/.pnpm/undici@7.
|
|
22706
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
23437
22707
|
var require_permessage_deflate = __commonJS({
|
|
23438
|
-
"node_modules/.pnpm/undici@7.
|
|
22708
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports, module) {
|
|
23439
22709
|
"use strict";
|
|
23440
22710
|
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
|
|
23441
22711
|
var { isValidClientWindowBits } = require_util5();
|
|
@@ -23443,26 +22713,27 @@ var require_permessage_deflate = __commonJS({
|
|
|
23443
22713
|
var tail = Buffer.from([0, 0, 255, 255]);
|
|
23444
22714
|
var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
|
|
23445
22715
|
var kLength = /* @__PURE__ */ Symbol("kLength");
|
|
22716
|
+
var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
|
|
23446
22717
|
var PerMessageDeflate = class {
|
|
23447
22718
|
/** @type {import('node:zlib').InflateRaw} */
|
|
23448
22719
|
#inflate;
|
|
23449
22720
|
#options = {};
|
|
23450
|
-
|
|
22721
|
+
/** @type {boolean} */
|
|
22722
|
+
#aborted = false;
|
|
22723
|
+
/** @type {Function|null} */
|
|
22724
|
+
#currentCallback = null;
|
|
23451
22725
|
/**
|
|
23452
22726
|
* @param {Map<string, string>} extensions
|
|
23453
22727
|
*/
|
|
23454
|
-
constructor(extensions
|
|
22728
|
+
constructor(extensions) {
|
|
23455
22729
|
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
|
23456
22730
|
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
|
23457
|
-
this.#maxPayloadSize = options.maxPayloadSize;
|
|
23458
22731
|
}
|
|
23459
|
-
/**
|
|
23460
|
-
* Decompress a compressed payload.
|
|
23461
|
-
* @param {Buffer} chunk Compressed data
|
|
23462
|
-
* @param {boolean} fin Final fragment flag
|
|
23463
|
-
* @param {Function} callback Callback function
|
|
23464
|
-
*/
|
|
23465
22732
|
decompress(chunk, fin, callback) {
|
|
22733
|
+
if (this.#aborted) {
|
|
22734
|
+
callback(new MessageSizeExceededError());
|
|
22735
|
+
return;
|
|
22736
|
+
}
|
|
23466
22737
|
if (!this.#inflate) {
|
|
23467
22738
|
let windowBits = Z_DEFAULT_WINDOWBITS;
|
|
23468
22739
|
if (this.#options.serverMaxWindowBits) {
|
|
@@ -23481,11 +22752,20 @@ var require_permessage_deflate = __commonJS({
|
|
|
23481
22752
|
this.#inflate[kBuffer] = [];
|
|
23482
22753
|
this.#inflate[kLength] = 0;
|
|
23483
22754
|
this.#inflate.on("data", (data) => {
|
|
22755
|
+
if (this.#aborted) {
|
|
22756
|
+
return;
|
|
22757
|
+
}
|
|
23484
22758
|
this.#inflate[kLength] += data.length;
|
|
23485
|
-
if (this.#
|
|
23486
|
-
|
|
22759
|
+
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
|
|
22760
|
+
this.#aborted = true;
|
|
23487
22761
|
this.#inflate.removeAllListeners();
|
|
22762
|
+
this.#inflate.destroy();
|
|
23488
22763
|
this.#inflate = null;
|
|
22764
|
+
if (this.#currentCallback) {
|
|
22765
|
+
const cb = this.#currentCallback;
|
|
22766
|
+
this.#currentCallback = null;
|
|
22767
|
+
cb(new MessageSizeExceededError());
|
|
22768
|
+
}
|
|
23489
22769
|
return;
|
|
23490
22770
|
}
|
|
23491
22771
|
this.#inflate[kBuffer].push(data);
|
|
@@ -23495,17 +22775,19 @@ var require_permessage_deflate = __commonJS({
|
|
|
23495
22775
|
callback(err);
|
|
23496
22776
|
});
|
|
23497
22777
|
}
|
|
22778
|
+
this.#currentCallback = callback;
|
|
23498
22779
|
this.#inflate.write(chunk);
|
|
23499
22780
|
if (fin) {
|
|
23500
22781
|
this.#inflate.write(tail);
|
|
23501
22782
|
}
|
|
23502
22783
|
this.#inflate.flush(() => {
|
|
23503
|
-
if (!this.#inflate) {
|
|
22784
|
+
if (this.#aborted || !this.#inflate) {
|
|
23504
22785
|
return;
|
|
23505
22786
|
}
|
|
23506
22787
|
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
|
23507
22788
|
this.#inflate[kBuffer].length = 0;
|
|
23508
22789
|
this.#inflate[kLength] = 0;
|
|
22790
|
+
this.#currentCallback = null;
|
|
23509
22791
|
callback(null, full);
|
|
23510
22792
|
});
|
|
23511
22793
|
}
|
|
@@ -23514,9 +22796,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
23514
22796
|
}
|
|
23515
22797
|
});
|
|
23516
22798
|
|
|
23517
|
-
// node_modules/.pnpm/undici@7.
|
|
22799
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/receiver.js
|
|
23518
22800
|
var require_receiver = __commonJS({
|
|
23519
|
-
"node_modules/.pnpm/undici@7.
|
|
22801
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/receiver.js"(exports, module) {
|
|
23520
22802
|
"use strict";
|
|
23521
22803
|
var { Writable } = __require("node:stream");
|
|
23522
22804
|
var assert = __require("node:assert");
|
|
@@ -23546,23 +22828,16 @@ var require_receiver = __commonJS({
|
|
|
23546
22828
|
#extensions;
|
|
23547
22829
|
/** @type {import('./websocket').Handler} */
|
|
23548
22830
|
#handler;
|
|
23549
|
-
/** @type {number} */
|
|
23550
|
-
#maxFragments;
|
|
23551
|
-
/** @type {number} */
|
|
23552
|
-
#maxPayloadSize;
|
|
23553
22831
|
/**
|
|
23554
22832
|
* @param {import('./websocket').Handler} handler
|
|
23555
22833
|
* @param {Map<string, string>|null} extensions
|
|
23556
|
-
* @param {{ maxFragments?: number, maxPayloadSize?: number }} [options]
|
|
23557
22834
|
*/
|
|
23558
|
-
constructor(handler, extensions
|
|
22835
|
+
constructor(handler, extensions) {
|
|
23559
22836
|
super();
|
|
23560
22837
|
this.#handler = handler;
|
|
23561
22838
|
this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
|
|
23562
|
-
this.#maxFragments = options.maxFragments ?? 0;
|
|
23563
|
-
this.#maxPayloadSize = options.maxPayloadSize ?? 0;
|
|
23564
22839
|
if (this.#extensions.has("permessage-deflate")) {
|
|
23565
|
-
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions
|
|
22840
|
+
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
|
|
23566
22841
|
}
|
|
23567
22842
|
}
|
|
23568
22843
|
/**
|
|
@@ -23575,13 +22850,6 @@ var require_receiver = __commonJS({
|
|
|
23575
22850
|
this.#loop = true;
|
|
23576
22851
|
this.run(callback);
|
|
23577
22852
|
}
|
|
23578
|
-
#validatePayloadLength() {
|
|
23579
|
-
if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) {
|
|
23580
|
-
failWebsocketConnection(this.#handler, 1009, "Payload size exceeds maximum allowed size");
|
|
23581
|
-
return false;
|
|
23582
|
-
}
|
|
23583
|
-
return true;
|
|
23584
|
-
}
|
|
23585
22853
|
/**
|
|
23586
22854
|
* Runs whenever a new chunk is received.
|
|
23587
22855
|
* Callback is called whenever there are no more chunks buffering,
|
|
@@ -23641,9 +22909,6 @@ var require_receiver = __commonJS({
|
|
|
23641
22909
|
if (payloadLength <= 125) {
|
|
23642
22910
|
this.#info.payloadLength = payloadLength;
|
|
23643
22911
|
this.#state = parserStates.READ_DATA;
|
|
23644
|
-
if (!this.#validatePayloadLength()) {
|
|
23645
|
-
return;
|
|
23646
|
-
}
|
|
23647
22912
|
} else if (payloadLength === 126) {
|
|
23648
22913
|
this.#state = parserStates.PAYLOADLENGTH_16;
|
|
23649
22914
|
} else if (payloadLength === 127) {
|
|
@@ -23664,9 +22929,6 @@ var require_receiver = __commonJS({
|
|
|
23664
22929
|
const buffer = this.consume(2);
|
|
23665
22930
|
this.#info.payloadLength = buffer.readUInt16BE(0);
|
|
23666
22931
|
this.#state = parserStates.READ_DATA;
|
|
23667
|
-
if (!this.#validatePayloadLength()) {
|
|
23668
|
-
return;
|
|
23669
|
-
}
|
|
23670
22932
|
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
|
|
23671
22933
|
if (this.#byteOffset < 8) {
|
|
23672
22934
|
return callback();
|
|
@@ -23680,9 +22942,6 @@ var require_receiver = __commonJS({
|
|
|
23680
22942
|
}
|
|
23681
22943
|
this.#info.payloadLength = lower;
|
|
23682
22944
|
this.#state = parserStates.READ_DATA;
|
|
23683
|
-
if (!this.#validatePayloadLength()) {
|
|
23684
|
-
return;
|
|
23685
|
-
}
|
|
23686
22945
|
} else if (this.#state === parserStates.READ_DATA) {
|
|
23687
22946
|
if (this.#byteOffset < this.#info.payloadLength) {
|
|
23688
22947
|
return callback();
|
|
@@ -23693,43 +22952,30 @@ var require_receiver = __commonJS({
|
|
|
23693
22952
|
this.#state = parserStates.INFO;
|
|
23694
22953
|
} else {
|
|
23695
22954
|
if (!this.#info.compressed) {
|
|
23696
|
-
|
|
23697
|
-
return;
|
|
23698
|
-
}
|
|
22955
|
+
this.writeFragments(body);
|
|
23699
22956
|
if (!this.#info.fragmented && this.#info.fin) {
|
|
23700
22957
|
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
|
|
23701
22958
|
}
|
|
23702
22959
|
this.#state = parserStates.INFO;
|
|
23703
22960
|
} else {
|
|
23704
|
-
this.#extensions.get("permessage-deflate").decompress(
|
|
23705
|
-
|
|
23706
|
-
|
|
23707
|
-
|
|
23708
|
-
|
|
23709
|
-
|
|
23710
|
-
|
|
23711
|
-
|
|
23712
|
-
}
|
|
23713
|
-
if (!this.writeFragments(data)) {
|
|
23714
|
-
return;
|
|
23715
|
-
}
|
|
23716
|
-
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
|
|
23717
|
-
failWebsocketConnection(this.#handler, 1009, new MessageSizeExceededError().message);
|
|
23718
|
-
return;
|
|
23719
|
-
}
|
|
23720
|
-
if (!this.#info.fin) {
|
|
23721
|
-
this.#state = parserStates.INFO;
|
|
23722
|
-
this.#loop = true;
|
|
23723
|
-
this.run(callback);
|
|
23724
|
-
return;
|
|
23725
|
-
}
|
|
23726
|
-
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
|
|
23727
|
-
this.#loop = true;
|
|
22961
|
+
this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => {
|
|
22962
|
+
if (error) {
|
|
22963
|
+
const code = error instanceof MessageSizeExceededError ? 1009 : 1007;
|
|
22964
|
+
failWebsocketConnection(this.#handler, code, error.message);
|
|
22965
|
+
return;
|
|
22966
|
+
}
|
|
22967
|
+
this.writeFragments(data);
|
|
22968
|
+
if (!this.#info.fin) {
|
|
23728
22969
|
this.#state = parserStates.INFO;
|
|
22970
|
+
this.#loop = true;
|
|
23729
22971
|
this.run(callback);
|
|
23730
|
-
|
|
23731
|
-
|
|
23732
|
-
|
|
22972
|
+
return;
|
|
22973
|
+
}
|
|
22974
|
+
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
|
|
22975
|
+
this.#loop = true;
|
|
22976
|
+
this.#state = parserStates.INFO;
|
|
22977
|
+
this.run(callback);
|
|
22978
|
+
});
|
|
23733
22979
|
this.#loop = false;
|
|
23734
22980
|
break;
|
|
23735
22981
|
}
|
|
@@ -23777,13 +23023,8 @@ var require_receiver = __commonJS({
|
|
|
23777
23023
|
}
|
|
23778
23024
|
}
|
|
23779
23025
|
writeFragments(fragment) {
|
|
23780
|
-
if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) {
|
|
23781
|
-
failWebsocketConnection(this.#handler, 1008, "Too many message fragments");
|
|
23782
|
-
return false;
|
|
23783
|
-
}
|
|
23784
23026
|
this.#fragmentsBytes += fragment.length;
|
|
23785
23027
|
this.#fragments.push(fragment);
|
|
23786
|
-
return true;
|
|
23787
23028
|
}
|
|
23788
23029
|
consumeFragments() {
|
|
23789
23030
|
const fragments = this.#fragments;
|
|
@@ -23873,9 +23114,9 @@ var require_receiver = __commonJS({
|
|
|
23873
23114
|
}
|
|
23874
23115
|
});
|
|
23875
23116
|
|
|
23876
|
-
// node_modules/.pnpm/undici@7.
|
|
23117
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/sender.js
|
|
23877
23118
|
var require_sender = __commonJS({
|
|
23878
|
-
"node_modules/.pnpm/undici@7.
|
|
23119
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/sender.js"(exports, module) {
|
|
23879
23120
|
"use strict";
|
|
23880
23121
|
var { WebsocketFrameSend } = require_frame();
|
|
23881
23122
|
var { opcodes, sendHints } = require_constants5();
|
|
@@ -23960,9 +23201,9 @@ var require_sender = __commonJS({
|
|
|
23960
23201
|
}
|
|
23961
23202
|
});
|
|
23962
23203
|
|
|
23963
|
-
// node_modules/.pnpm/undici@7.
|
|
23204
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/websocket.js
|
|
23964
23205
|
var require_websocket = __commonJS({
|
|
23965
|
-
"node_modules/.pnpm/undici@7.
|
|
23206
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/websocket.js"(exports, module) {
|
|
23966
23207
|
"use strict";
|
|
23967
23208
|
var { isArrayBuffer } = __require("node:util/types");
|
|
23968
23209
|
var { webidl } = require_webidl();
|
|
@@ -24250,13 +23491,7 @@ var require_websocket = __commonJS({
|
|
|
24250
23491
|
*/
|
|
24251
23492
|
#onConnectionEstablished(response, parsedExtensions) {
|
|
24252
23493
|
this.#handler.socket = response.socket;
|
|
24253
|
-
const
|
|
24254
|
-
const maxFragments = webSocketOptions?.maxFragments;
|
|
24255
|
-
const maxPayloadSize = webSocketOptions?.maxPayloadSize;
|
|
24256
|
-
const parser = new ByteParser(this.#handler, parsedExtensions, {
|
|
24257
|
-
maxFragments,
|
|
24258
|
-
maxPayloadSize
|
|
24259
|
-
});
|
|
23494
|
+
const parser = new ByteParser(this.#handler, parsedExtensions);
|
|
24260
23495
|
parser.on("drain", () => this.#handler.onParserDrain());
|
|
24261
23496
|
parser.on("error", (err) => this.#handler.onParserError(err));
|
|
24262
23497
|
this.#parser = parser;
|
|
@@ -24450,9 +23685,9 @@ var require_websocket = __commonJS({
|
|
|
24450
23685
|
}
|
|
24451
23686
|
});
|
|
24452
23687
|
|
|
24453
|
-
// node_modules/.pnpm/undici@7.
|
|
23688
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
24454
23689
|
var require_websocketerror = __commonJS({
|
|
24455
|
-
"node_modules/.pnpm/undici@7.
|
|
23690
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports, module) {
|
|
24456
23691
|
"use strict";
|
|
24457
23692
|
var { webidl } = require_webidl();
|
|
24458
23693
|
var { validateCloseCodeAndReason } = require_util5();
|
|
@@ -24530,9 +23765,9 @@ var require_websocketerror = __commonJS({
|
|
|
24530
23765
|
}
|
|
24531
23766
|
});
|
|
24532
23767
|
|
|
24533
|
-
// node_modules/.pnpm/undici@7.
|
|
23768
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
24534
23769
|
var require_websocketstream = __commonJS({
|
|
24535
|
-
"node_modules/.pnpm/undici@7.
|
|
23770
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports, module) {
|
|
24536
23771
|
"use strict";
|
|
24537
23772
|
var { createDeferredPromise } = require_promise();
|
|
24538
23773
|
var { environmentSettingsObject } = require_util2();
|
|
@@ -24700,12 +23935,7 @@ var require_websocketstream = __commonJS({
|
|
|
24700
23935
|
/** @type {import('../websocket').Handler['onConnectionEstablished']} */
|
|
24701
23936
|
#onConnectionEstablished(response, parsedExtensions) {
|
|
24702
23937
|
this.#handler.socket = response.socket;
|
|
24703
|
-
const
|
|
24704
|
-
const maxPayloadSize = this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize;
|
|
24705
|
-
const parser = new ByteParser(this.#handler, parsedExtensions, {
|
|
24706
|
-
maxFragments,
|
|
24707
|
-
maxPayloadSize
|
|
24708
|
-
});
|
|
23938
|
+
const parser = new ByteParser(this.#handler, parsedExtensions);
|
|
24709
23939
|
parser.on("drain", () => this.#handler.onParserDrain());
|
|
24710
23940
|
parser.on("error", (err) => this.#handler.onParserError(err));
|
|
24711
23941
|
this.#parser = parser;
|
|
@@ -24716,6 +23946,12 @@ var require_websocketstream = __commonJS({
|
|
|
24716
23946
|
start: (controller) => {
|
|
24717
23947
|
this.#readableStreamController = controller;
|
|
24718
23948
|
},
|
|
23949
|
+
pull(controller) {
|
|
23950
|
+
let chunk;
|
|
23951
|
+
while (controller.desiredSize > 0 && (chunk = response.socket.read()) !== null) {
|
|
23952
|
+
controller.enqueue(chunk);
|
|
23953
|
+
}
|
|
23954
|
+
},
|
|
24719
23955
|
cancel: (reason) => this.#cancel(reason)
|
|
24720
23956
|
});
|
|
24721
23957
|
const writable = new WritableStream({
|
|
@@ -24742,7 +23978,7 @@ var require_websocketstream = __commonJS({
|
|
|
24742
23978
|
try {
|
|
24743
23979
|
chunk = utf8Decode(data);
|
|
24744
23980
|
} catch {
|
|
24745
|
-
failWebsocketConnection(this.#handler,
|
|
23981
|
+
failWebsocketConnection(this.#handler, "Received invalid UTF-8 in text frame.");
|
|
24746
23982
|
return;
|
|
24747
23983
|
}
|
|
24748
23984
|
} else if (type === opcodes.BINARY) {
|
|
@@ -24841,9 +24077,9 @@ var require_websocketstream = __commonJS({
|
|
|
24841
24077
|
}
|
|
24842
24078
|
});
|
|
24843
24079
|
|
|
24844
|
-
// node_modules/.pnpm/undici@7.
|
|
24080
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/util.js
|
|
24845
24081
|
var require_util6 = __commonJS({
|
|
24846
|
-
"node_modules/.pnpm/undici@7.
|
|
24082
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/util.js"(exports, module) {
|
|
24847
24083
|
"use strict";
|
|
24848
24084
|
function isValidLastEventId(value) {
|
|
24849
24085
|
return value.indexOf("\0") === -1;
|
|
@@ -24862,9 +24098,9 @@ var require_util6 = __commonJS({
|
|
|
24862
24098
|
}
|
|
24863
24099
|
});
|
|
24864
24100
|
|
|
24865
|
-
// node_modules/.pnpm/undici@7.
|
|
24101
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
24866
24102
|
var require_eventsource_stream = __commonJS({
|
|
24867
|
-
"node_modules/.pnpm/undici@7.
|
|
24103
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module) {
|
|
24868
24104
|
"use strict";
|
|
24869
24105
|
var { Transform } = __require("node:stream");
|
|
24870
24106
|
var { isASCIINumber, isValidLastEventId } = require_util6();
|
|
@@ -25093,9 +24329,9 @@ ${value}`;
|
|
|
25093
24329
|
}
|
|
25094
24330
|
});
|
|
25095
24331
|
|
|
25096
|
-
// node_modules/.pnpm/undici@7.
|
|
24332
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
25097
24333
|
var require_eventsource = __commonJS({
|
|
25098
|
-
"node_modules/.pnpm/undici@7.
|
|
24334
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/eventsource/eventsource.js"(exports, module) {
|
|
25099
24335
|
"use strict";
|
|
25100
24336
|
var { pipeline } = __require("node:stream");
|
|
25101
24337
|
var { fetching } = require_fetch();
|
|
@@ -25410,9 +24646,9 @@ var require_eventsource = __commonJS({
|
|
|
25410
24646
|
}
|
|
25411
24647
|
});
|
|
25412
24648
|
|
|
25413
|
-
// node_modules/.pnpm/undici@7.
|
|
24649
|
+
// node_modules/.pnpm/undici@7.24.8/node_modules/undici/index.js
|
|
25414
24650
|
var require_undici = __commonJS({
|
|
25415
|
-
"node_modules/.pnpm/undici@7.
|
|
24651
|
+
"node_modules/.pnpm/undici@7.24.8/node_modules/undici/index.js"(exports, module) {
|
|
25416
24652
|
"use strict";
|
|
25417
24653
|
var Client = require_client();
|
|
25418
24654
|
var Dispatcher2 = require_dispatcher();
|
|
@@ -25620,7 +24856,136 @@ import { readFile, stat } from "node:fs/promises";
|
|
|
25620
24856
|
import { homedir } from "node:os";
|
|
25621
24857
|
import { join, resolve } from "node:path";
|
|
25622
24858
|
|
|
25623
|
-
//
|
|
24859
|
+
// node_modules/.pnpm/dsh-coding-oauth-core@0.1.0/node_modules/dsh-coding-oauth-core/lib/proxy.js
|
|
24860
|
+
var import_undici = __toESM(require_undici(), 1);
|
|
24861
|
+
var DEFAULT_PROXIED_HOSTS = [
|
|
24862
|
+
"auth.x.ai",
|
|
24863
|
+
"cli-chat-proxy.grok.com",
|
|
24864
|
+
"auth.openai.com",
|
|
24865
|
+
"chatgpt.com",
|
|
24866
|
+
"claude.ai",
|
|
24867
|
+
"platform.claude.com",
|
|
24868
|
+
"api.anthropic.com",
|
|
24869
|
+
"accounts.google.com",
|
|
24870
|
+
"oauth2.googleapis.com",
|
|
24871
|
+
"cloudcode-pa.googleapis.com",
|
|
24872
|
+
"www.googleapis.com"
|
|
24873
|
+
];
|
|
24874
|
+
var KIMI_PROXIED_HOSTS = ["auth.kimi.com", "api.kimi.com"];
|
|
24875
|
+
var CodingOAuthDispatcher = class extends import_undici.Dispatcher {
|
|
24876
|
+
proxied;
|
|
24877
|
+
fallback;
|
|
24878
|
+
hosts;
|
|
24879
|
+
constructor(proxied, fallback, hosts) {
|
|
24880
|
+
super();
|
|
24881
|
+
this.proxied = proxied;
|
|
24882
|
+
this.fallback = fallback;
|
|
24883
|
+
this.hosts = hosts;
|
|
24884
|
+
}
|
|
24885
|
+
dispatch(options, handler) {
|
|
24886
|
+
const origin = options.origin;
|
|
24887
|
+
const host = origin instanceof URL ? origin.hostname : typeof origin === "string" ? new URL(origin).hostname : "";
|
|
24888
|
+
return this.hosts.has(host) ? this.proxied.dispatch(options, handler) : this.fallback.dispatch(options, handler);
|
|
24889
|
+
}
|
|
24890
|
+
async close() {
|
|
24891
|
+
await this.proxied.close();
|
|
24892
|
+
}
|
|
24893
|
+
async destroy() {
|
|
24894
|
+
await this.proxied.destroy();
|
|
24895
|
+
}
|
|
24896
|
+
};
|
|
24897
|
+
var PROXY_ABI = "dsh.coding-oauth-core.proxy/v1";
|
|
24898
|
+
var PROXY_STORE_SYMBOL = /* @__PURE__ */ Symbol.for(`${PROXY_ABI}/store`);
|
|
24899
|
+
var legacyLease;
|
|
24900
|
+
function firstEnvironmentValue(names) {
|
|
24901
|
+
for (const name of names) {
|
|
24902
|
+
const value = process.env[name];
|
|
24903
|
+
if (value !== void 0 && value.length > 0)
|
|
24904
|
+
return value;
|
|
24905
|
+
}
|
|
24906
|
+
return void 0;
|
|
24907
|
+
}
|
|
24908
|
+
function proxyStore() {
|
|
24909
|
+
const host = globalThis;
|
|
24910
|
+
const existing = host[PROXY_STORE_SYMBOL];
|
|
24911
|
+
if (existing !== void 0) {
|
|
24912
|
+
const store = existing;
|
|
24913
|
+
if (store.abi !== PROXY_ABI)
|
|
24914
|
+
throw new Error("coding OAuth proxy ABI is incompatible");
|
|
24915
|
+
return store;
|
|
24916
|
+
}
|
|
24917
|
+
const created = { abi: PROXY_ABI };
|
|
24918
|
+
Object.defineProperty(host, PROXY_STORE_SYMBOL, {
|
|
24919
|
+
value: created,
|
|
24920
|
+
configurable: false,
|
|
24921
|
+
enumerable: false,
|
|
24922
|
+
writable: false
|
|
24923
|
+
});
|
|
24924
|
+
return created;
|
|
24925
|
+
}
|
|
24926
|
+
function acquireCodingOAuthProxy(explicit, options = {}) {
|
|
24927
|
+
const url = explicit ?? firstEnvironmentValue([
|
|
24928
|
+
"CODING_OAUTH_PROXY",
|
|
24929
|
+
"GROK_BUILD_PROXY",
|
|
24930
|
+
"HTTPS_PROXY",
|
|
24931
|
+
"https_proxy",
|
|
24932
|
+
"HTTP_PROXY",
|
|
24933
|
+
"http_proxy"
|
|
24934
|
+
]);
|
|
24935
|
+
if (url === void 0)
|
|
24936
|
+
return { url: void 0, release: async () => void 0 };
|
|
24937
|
+
const hosts = new Set(DEFAULT_PROXIED_HOSTS);
|
|
24938
|
+
if (options.proxyKimi === true) {
|
|
24939
|
+
for (const host of KIMI_PROXIED_HOSTS)
|
|
24940
|
+
hosts.add(host);
|
|
24941
|
+
}
|
|
24942
|
+
const fingerprint = `${url}
|
|
24943
|
+
${[...hosts].sort().join("\n")}`;
|
|
24944
|
+
const store = proxyStore();
|
|
24945
|
+
if (store.active !== void 0) {
|
|
24946
|
+
if (store.active.fingerprint !== fingerprint) {
|
|
24947
|
+
throw new Error("another coding OAuth owner already installed a different proxy policy");
|
|
24948
|
+
}
|
|
24949
|
+
store.active.refs += 1;
|
|
24950
|
+
return proxyLease(store, store.active);
|
|
24951
|
+
}
|
|
24952
|
+
const fallback = (0, import_undici.getGlobalDispatcher)();
|
|
24953
|
+
const dispatcher = new CodingOAuthDispatcher(new import_undici.ProxyAgent(url), fallback, hosts);
|
|
24954
|
+
const active = { dispatcher, fallback, fingerprint, url, refs: 1 };
|
|
24955
|
+
store.active = active;
|
|
24956
|
+
(0, import_undici.setGlobalDispatcher)(dispatcher);
|
|
24957
|
+
return proxyLease(store, active);
|
|
24958
|
+
}
|
|
24959
|
+
function proxyLease(store, active) {
|
|
24960
|
+
let released = false;
|
|
24961
|
+
return {
|
|
24962
|
+
url: active.url,
|
|
24963
|
+
async release() {
|
|
24964
|
+
if (released)
|
|
24965
|
+
return;
|
|
24966
|
+
released = true;
|
|
24967
|
+
active.refs -= 1;
|
|
24968
|
+
if (active.refs > 0 || store.active !== active)
|
|
24969
|
+
return;
|
|
24970
|
+
if ((0, import_undici.getGlobalDispatcher)() === active.dispatcher)
|
|
24971
|
+
(0, import_undici.setGlobalDispatcher)(active.fallback);
|
|
24972
|
+
delete store.active;
|
|
24973
|
+
await active.dispatcher.close();
|
|
24974
|
+
}
|
|
24975
|
+
};
|
|
24976
|
+
}
|
|
24977
|
+
function ensureCodingOAuthProxy(explicit, options = {}) {
|
|
24978
|
+
legacyLease ??= acquireCodingOAuthProxy(explicit, options);
|
|
24979
|
+
return legacyLease.url;
|
|
24980
|
+
}
|
|
24981
|
+
function codingOAuthProxyInEffect() {
|
|
24982
|
+
return proxyStore().active?.url;
|
|
24983
|
+
}
|
|
24984
|
+
function codingOAuthProxyUnreachableHint() {
|
|
24985
|
+
return codingOAuthProxyInEffect() === void 0 ? "" : "; check that CODING_OAUTH_PROXY is reachable";
|
|
24986
|
+
}
|
|
24987
|
+
|
|
24988
|
+
// node_modules/.pnpm/dsh-coding-oauth-core@0.1.0/node_modules/dsh-coding-oauth-core/lib/ids.js
|
|
25624
24989
|
var XAI_PI_PROVIDER = "xai";
|
|
25625
24990
|
var CODEX_PI_PROVIDER = "openai-codex";
|
|
25626
24991
|
var KIMI_PI_PROVIDER = "kimi-coding";
|
|
@@ -25639,6 +25004,56 @@ var KIMI_CODE_OAUTH_MODELS_CACHE_FILENAME = ".kimi-code-oauth-models.json";
|
|
|
25639
25004
|
var CLAUDE_CODE_OAUTH_MODELS_CACHE_FILENAME = ".claude-code-oauth-models.json";
|
|
25640
25005
|
var DEFAULT_GROK_BUILD_MODEL = "grok-4.6";
|
|
25641
25006
|
|
|
25007
|
+
// node_modules/.pnpm/dsh-coding-oauth-core@0.1.0/node_modules/dsh-coding-oauth-core/lib/state-contract.js
|
|
25008
|
+
var GROK_BUILD_AUTH_STATUS_PATH = "/plugins/dsh-grok-build/auth/status";
|
|
25009
|
+
var GROK_BUILD_AUTH_LOGIN_PATH = "/plugins/dsh-grok-build/auth/login";
|
|
25010
|
+
var GROK_BUILD_AUTH_LOGIN_CODE_PATH = "/plugins/dsh-grok-build/auth/login/code";
|
|
25011
|
+
var GROK_BUILD_AUTH_LOGIN_CANCEL_PATH = "/plugins/dsh-grok-build/auth/login/cancel";
|
|
25012
|
+
var GROK_BUILD_AUTH_IMPORT_PATH = "/plugins/dsh-grok-build/auth/import";
|
|
25013
|
+
var GROK_BUILD_AUTH_LOGOUT_PATH = "/plugins/dsh-grok-build/auth/logout";
|
|
25014
|
+
var GROK_BUILD_AUTH_MODELS_PATH = "/plugins/dsh-grok-build/auth/models";
|
|
25015
|
+
var CODING_OAUTH_STATUS_PATH = "/plugins/dsh-grok-build/oauth/status";
|
|
25016
|
+
var CODING_OAUTH_LOGIN_PATH = "/plugins/dsh-grok-build/oauth/login";
|
|
25017
|
+
var CODING_OAUTH_LOGIN_CODE_PATH = "/plugins/dsh-grok-build/oauth/code";
|
|
25018
|
+
var CODING_OAUTH_LOGIN_CANCEL_PATH = "/plugins/dsh-grok-build/oauth/cancel";
|
|
25019
|
+
var CODING_OAUTH_LOGOUT_PATH = "/plugins/dsh-grok-build/oauth/logout";
|
|
25020
|
+
var CODING_OAUTH_MODELS_PATH = "/plugins/dsh-grok-build/oauth/models";
|
|
25021
|
+
var OAUTH_IMPORT_SOURCES_PATH = "/plugins/dsh-grok-build/oauth/sources";
|
|
25022
|
+
var OAUTH_IMPORT_PREVIEW_PATH = "/plugins/dsh-grok-build/oauth/sources/preview";
|
|
25023
|
+
var OAUTH_IMPORT_COMMIT_PATH = "/plugins/dsh-grok-build/oauth/sources/commit";
|
|
25024
|
+
var OAUTH_IMPORT_CANCEL_PATH = "/plugins/dsh-grok-build/oauth/sources/cancel";
|
|
25025
|
+
var CAPABILITY_SETTINGS_PATH = "/plugins/dsh-grok-build/capabilities";
|
|
25026
|
+
var CODEX_USAGE_PATH = "/plugins/dsh-grok-build/codex/usage";
|
|
25027
|
+
var IMAGINE_CREDENTIAL_STATUS_PATH = "/plugins/dsh-grok-build/imagine/credential-status";
|
|
25028
|
+
var GATEWAY_SETTINGS_PATH = "/plugins/dsh-grok-build/gateway";
|
|
25029
|
+
var GATEWAY_REVEAL_PATH = "/plugins/dsh-grok-build/gateway/reveal";
|
|
25030
|
+
var GATEWAY_ROTATE_PATH = "/plugins/dsh-grok-build/gateway/rotate";
|
|
25031
|
+
var CODING_OAUTH_MANAGEMENT_PATHS = Object.freeze([
|
|
25032
|
+
GROK_BUILD_AUTH_STATUS_PATH,
|
|
25033
|
+
GROK_BUILD_AUTH_LOGIN_PATH,
|
|
25034
|
+
GROK_BUILD_AUTH_LOGIN_CODE_PATH,
|
|
25035
|
+
GROK_BUILD_AUTH_LOGIN_CANCEL_PATH,
|
|
25036
|
+
GROK_BUILD_AUTH_IMPORT_PATH,
|
|
25037
|
+
GROK_BUILD_AUTH_LOGOUT_PATH,
|
|
25038
|
+
GROK_BUILD_AUTH_MODELS_PATH,
|
|
25039
|
+
CODING_OAUTH_STATUS_PATH,
|
|
25040
|
+
CODING_OAUTH_LOGIN_PATH,
|
|
25041
|
+
CODING_OAUTH_LOGIN_CODE_PATH,
|
|
25042
|
+
CODING_OAUTH_LOGIN_CANCEL_PATH,
|
|
25043
|
+
CODING_OAUTH_LOGOUT_PATH,
|
|
25044
|
+
CODING_OAUTH_MODELS_PATH,
|
|
25045
|
+
OAUTH_IMPORT_SOURCES_PATH,
|
|
25046
|
+
OAUTH_IMPORT_PREVIEW_PATH,
|
|
25047
|
+
OAUTH_IMPORT_COMMIT_PATH,
|
|
25048
|
+
OAUTH_IMPORT_CANCEL_PATH,
|
|
25049
|
+
CAPABILITY_SETTINGS_PATH,
|
|
25050
|
+
CODEX_USAGE_PATH,
|
|
25051
|
+
IMAGINE_CREDENTIAL_STATUS_PATH,
|
|
25052
|
+
GATEWAY_SETTINGS_PATH,
|
|
25053
|
+
GATEWAY_REVEAL_PATH,
|
|
25054
|
+
GATEWAY_ROTATE_PATH
|
|
25055
|
+
]);
|
|
25056
|
+
|
|
25642
25057
|
// src/grok-import.ts
|
|
25643
25058
|
var DEFAULT_TOKEN_LIFETIME_MS = 60 * 60 * 1e3;
|
|
25644
25059
|
function isENOENT(error) {
|
|
@@ -26148,77 +25563,6 @@ var GATEWAY_TOS_WARNING = "local API gateway is enabled; exposing a subscription
|
|
|
26148
25563
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
26149
25564
|
import { createHash, randomBytes } from "node:crypto";
|
|
26150
25565
|
import { createServer } from "node:http";
|
|
26151
|
-
|
|
26152
|
-
// src/proxy.ts
|
|
26153
|
-
var import_undici = __toESM(require_undici());
|
|
26154
|
-
var DEFAULT_PROXIED_HOSTS = [
|
|
26155
|
-
"auth.x.ai",
|
|
26156
|
-
"cli-chat-proxy.grok.com",
|
|
26157
|
-
"auth.openai.com",
|
|
26158
|
-
"chatgpt.com",
|
|
26159
|
-
"claude.ai",
|
|
26160
|
-
"platform.claude.com",
|
|
26161
|
-
"api.anthropic.com",
|
|
26162
|
-
"accounts.google.com",
|
|
26163
|
-
"oauth2.googleapis.com",
|
|
26164
|
-
"cloudcode-pa.googleapis.com",
|
|
26165
|
-
"www.googleapis.com"
|
|
26166
|
-
];
|
|
26167
|
-
var KIMI_PROXIED_HOSTS = ["auth.kimi.com", "api.kimi.com"];
|
|
26168
|
-
var CodingOAuthDispatcher = class extends import_undici.Dispatcher {
|
|
26169
|
-
constructor(proxied, fallback, hosts) {
|
|
26170
|
-
super();
|
|
26171
|
-
this.proxied = proxied;
|
|
26172
|
-
this.fallback = fallback;
|
|
26173
|
-
this.hosts = hosts;
|
|
26174
|
-
}
|
|
26175
|
-
proxied;
|
|
26176
|
-
fallback;
|
|
26177
|
-
hosts;
|
|
26178
|
-
dispatch(options, handler) {
|
|
26179
|
-
const origin = options.origin;
|
|
26180
|
-
const host = origin instanceof URL ? origin.hostname : typeof origin === "string" ? new URL(origin).hostname : "";
|
|
26181
|
-
if (this.hosts.has(host)) return this.proxied.dispatch(options, handler);
|
|
26182
|
-
return this.fallback.dispatch(options, handler);
|
|
26183
|
-
}
|
|
26184
|
-
async close() {
|
|
26185
|
-
await this.proxied.close();
|
|
26186
|
-
}
|
|
26187
|
-
async destroy() {
|
|
26188
|
-
await this.proxied.destroy();
|
|
26189
|
-
}
|
|
26190
|
-
};
|
|
26191
|
-
var installedProxy;
|
|
26192
|
-
var installed = false;
|
|
26193
|
-
function firstEnv(names) {
|
|
26194
|
-
for (const name of names) {
|
|
26195
|
-
const value = process.env[name];
|
|
26196
|
-
if (value !== void 0 && value.length > 0) return value;
|
|
26197
|
-
}
|
|
26198
|
-
return void 0;
|
|
26199
|
-
}
|
|
26200
|
-
function ensureCodingOAuthProxy(explicit, options = {}) {
|
|
26201
|
-
if (installed) return installedProxy;
|
|
26202
|
-
const url = explicit ?? firstEnv(["CODING_OAUTH_PROXY", "GROK_BUILD_PROXY", "HTTPS_PROXY", "https_proxy", "HTTP_PROXY", "http_proxy"]);
|
|
26203
|
-
if (url === void 0) return void 0;
|
|
26204
|
-
const hosts = new Set(DEFAULT_PROXIED_HOSTS);
|
|
26205
|
-
if (options.proxyKimi === true) {
|
|
26206
|
-
for (const host of KIMI_PROXIED_HOSTS) hosts.add(host);
|
|
26207
|
-
}
|
|
26208
|
-
const fallback = (0, import_undici.getGlobalDispatcher)();
|
|
26209
|
-
(0, import_undici.setGlobalDispatcher)(new CodingOAuthDispatcher(new import_undici.ProxyAgent(url), fallback, hosts));
|
|
26210
|
-
installed = true;
|
|
26211
|
-
installedProxy = url;
|
|
26212
|
-
return url;
|
|
26213
|
-
}
|
|
26214
|
-
function codingOAuthProxyInEffect() {
|
|
26215
|
-
return installedProxy;
|
|
26216
|
-
}
|
|
26217
|
-
function codingOAuthProxyUnreachableHint() {
|
|
26218
|
-
return installedProxy === void 0 ? "" : "; check that CODING_OAUTH_PROXY is reachable";
|
|
26219
|
-
}
|
|
26220
|
-
|
|
26221
|
-
// src/oauth.ts
|
|
26222
25566
|
var GROK_BUILD_OAUTH_ISSUER = "https://auth.x.ai";
|
|
26223
25567
|
var APPROVED_GROK_ISSUER_ORIGIN2 = "https://auth.x.ai";
|
|
26224
25568
|
var DISCOVERY_MAX_BYTES = 64 * 1024;
|