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