@docyrus/docyrus 0.0.41 → 0.0.42
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/README.md +2 -0
- package/main.js +1823 -697
- package/main.js.map +4 -4
- package/package.json +8 -7
- package/resources/pi-agent/extensions/control.ts +0 -8
- package/resources/pi-agent/extensions/knowledge.ts +0 -7
- package/resources/pi-agent/extensions/loop.ts +1 -5
- package/resources/pi-agent/extensions/pi-bash-live-view/package.json +1 -1
- package/resources/pi-agent/extensions/pi-custom-compaction/events/register-events.ts +0 -10
- package/resources/pi-agent/extensions/pi-custom-compaction/package.json +4 -4
- package/resources/pi-agent/extensions/plan.ts +0 -4
- package/resources/pi-agent/extensions/prompt-editor.ts +0 -18
- package/resources/pi-agent/extensions/prompt-url-widget.ts +0 -4
- package/resources/pi-agent/extensions/review.ts +0 -4
- package/resources/pi-agent/skills/agent-browser/SKILL.md +779 -0
- package/resources/pi-agent/skills/agent-browser/references/authentication.md +303 -0
- package/resources/pi-agent/skills/agent-browser/references/commands.md +295 -0
- package/resources/pi-agent/skills/agent-browser/references/profiling.md +120 -0
- package/resources/pi-agent/skills/agent-browser/references/proxy-support.md +194 -0
- package/resources/pi-agent/skills/agent-browser/references/session-management.md +193 -0
- package/resources/pi-agent/skills/agent-browser/references/snapshot-refs.md +219 -0
- package/resources/pi-agent/skills/agent-browser/references/video-recording.md +173 -0
- package/resources/pi-agent/skills/agent-browser/templates/authenticated-session.sh +105 -0
- package/resources/pi-agent/skills/agent-browser/templates/capture-workflow.sh +69 -0
- package/resources/pi-agent/skills/agent-browser/templates/form-automation.sh +62 -0
- package/resources/pi-agent/skills/docyrus-platform/references/docyrus-cli-usage.md +73 -0
- package/resources/pi-agent/skills/grill-me/SKILL.md +109 -0
- package/server-loader.js +79 -28
- package/server-loader.js.map +4 -4
package/main.js
CHANGED
|
@@ -87609,9 +87609,9 @@ var require_picocolors = __commonJS({
|
|
|
87609
87609
|
}
|
|
87610
87610
|
});
|
|
87611
87611
|
|
|
87612
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
87612
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/symbols.js
|
|
87613
87613
|
var require_symbols = __commonJS({
|
|
87614
|
-
"../../node_modules/.pnpm/undici@7.
|
|
87614
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
|
|
87615
87615
|
"use strict";
|
|
87616
87616
|
module2.exports = {
|
|
87617
87617
|
kClose: /* @__PURE__ */ Symbol("close"),
|
|
@@ -87683,14 +87683,15 @@ var require_symbols = __commonJS({
|
|
|
87683
87683
|
kPingInterval: /* @__PURE__ */ Symbol("ping interval"),
|
|
87684
87684
|
kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
|
|
87685
87685
|
kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
|
|
87686
|
-
kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
|
|
87686
|
+
kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent"),
|
|
87687
|
+
kSocks5ProxyAgent: /* @__PURE__ */ Symbol("socks5 proxy agent")
|
|
87687
87688
|
};
|
|
87688
87689
|
}
|
|
87689
87690
|
});
|
|
87690
87691
|
|
|
87691
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
87692
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/timers.js
|
|
87692
87693
|
var require_timers = __commonJS({
|
|
87693
|
-
"../../node_modules/.pnpm/undici@7.
|
|
87694
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/timers.js"(exports2, module2) {
|
|
87694
87695
|
"use strict";
|
|
87695
87696
|
var fastNow = 0;
|
|
87696
87697
|
var RESOLUTION_MS = 1e3;
|
|
@@ -87917,9 +87918,9 @@ var require_timers = __commonJS({
|
|
|
87917
87918
|
}
|
|
87918
87919
|
});
|
|
87919
87920
|
|
|
87920
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
87921
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/errors.js
|
|
87921
87922
|
var require_errors3 = __commonJS({
|
|
87922
|
-
"../../node_modules/.pnpm/undici@7.
|
|
87923
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/errors.js"(exports2, module2) {
|
|
87923
87924
|
"use strict";
|
|
87924
87925
|
var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
|
|
87925
87926
|
var UndiciError = class extends Error {
|
|
@@ -88273,6 +88274,29 @@ var require_errors3 = __commonJS({
|
|
|
88273
88274
|
return true;
|
|
88274
88275
|
}
|
|
88275
88276
|
};
|
|
88277
|
+
var Socks5ProxyError = class extends UndiciError {
|
|
88278
|
+
constructor(message, code) {
|
|
88279
|
+
super(message);
|
|
88280
|
+
this.name = "Socks5ProxyError";
|
|
88281
|
+
this.message = message || "SOCKS5 proxy error";
|
|
88282
|
+
this.code = code || "UND_ERR_SOCKS5";
|
|
88283
|
+
}
|
|
88284
|
+
};
|
|
88285
|
+
var kMessageSizeExceededError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
|
|
88286
|
+
var MessageSizeExceededError = class extends UndiciError {
|
|
88287
|
+
constructor(message) {
|
|
88288
|
+
super(message);
|
|
88289
|
+
this.name = "MessageSizeExceededError";
|
|
88290
|
+
this.message = message || "Max decompressed message size exceeded";
|
|
88291
|
+
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
|
|
88292
|
+
}
|
|
88293
|
+
static [Symbol.hasInstance](instance2) {
|
|
88294
|
+
return instance2 && instance2[kMessageSizeExceededError] === true;
|
|
88295
|
+
}
|
|
88296
|
+
get [kMessageSizeExceededError]() {
|
|
88297
|
+
return true;
|
|
88298
|
+
}
|
|
88299
|
+
};
|
|
88276
88300
|
module2.exports = {
|
|
88277
88301
|
AbortError,
|
|
88278
88302
|
HTTPParserError,
|
|
@@ -88296,14 +88320,16 @@ var require_errors3 = __commonJS({
|
|
|
88296
88320
|
RequestRetryError,
|
|
88297
88321
|
ResponseError,
|
|
88298
88322
|
SecureProxyConnectionError,
|
|
88299
|
-
MaxOriginsReachedError
|
|
88323
|
+
MaxOriginsReachedError,
|
|
88324
|
+
Socks5ProxyError,
|
|
88325
|
+
MessageSizeExceededError
|
|
88300
88326
|
};
|
|
88301
88327
|
}
|
|
88302
88328
|
});
|
|
88303
88329
|
|
|
88304
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
88330
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/constants.js
|
|
88305
88331
|
var require_constants = __commonJS({
|
|
88306
|
-
"../../node_modules/.pnpm/undici@7.
|
|
88332
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/constants.js"(exports2, module2) {
|
|
88307
88333
|
"use strict";
|
|
88308
88334
|
var wellknownHeaderNames = (
|
|
88309
88335
|
/** @type {const} */
|
|
@@ -88429,9 +88455,9 @@ var require_constants = __commonJS({
|
|
|
88429
88455
|
}
|
|
88430
88456
|
});
|
|
88431
88457
|
|
|
88432
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
88458
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/tree.js
|
|
88433
88459
|
var require_tree = __commonJS({
|
|
88434
|
-
"../../node_modules/.pnpm/undici@7.
|
|
88460
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/tree.js"(exports2, module2) {
|
|
88435
88461
|
"use strict";
|
|
88436
88462
|
var {
|
|
88437
88463
|
wellknownHeaderNames,
|
|
@@ -88571,9 +88597,9 @@ var require_tree = __commonJS({
|
|
|
88571
88597
|
}
|
|
88572
88598
|
});
|
|
88573
88599
|
|
|
88574
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
88600
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/util.js
|
|
88575
88601
|
var require_util3 = __commonJS({
|
|
88576
|
-
"../../node_modules/.pnpm/undici@7.
|
|
88602
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/util.js"(exports2, module2) {
|
|
88577
88603
|
"use strict";
|
|
88578
88604
|
var assert4 = require("node:assert");
|
|
88579
88605
|
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
|
|
@@ -88742,6 +88768,11 @@ var require_util3 = __commonJS({
|
|
|
88742
88768
|
function isIterable(obj) {
|
|
88743
88769
|
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
|
|
88744
88770
|
}
|
|
88771
|
+
function hasSafeIterator(obj) {
|
|
88772
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
88773
|
+
const ownIterator = Object.prototype.hasOwnProperty.call(obj, Symbol.iterator);
|
|
88774
|
+
return ownIterator || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
|
|
88775
|
+
}
|
|
88745
88776
|
function bodyLength(body2) {
|
|
88746
88777
|
if (body2 == null) {
|
|
88747
88778
|
return 0;
|
|
@@ -88792,19 +88823,29 @@ var require_util3 = __commonJS({
|
|
|
88792
88823
|
for (let i2 = 0; i2 < headers.length; i2 += 2) {
|
|
88793
88824
|
const key = headerNameToString(headers[i2]);
|
|
88794
88825
|
let val = obj[key];
|
|
88795
|
-
if (val) {
|
|
88796
|
-
if (
|
|
88797
|
-
|
|
88798
|
-
|
|
88799
|
-
|
|
88800
|
-
|
|
88801
|
-
|
|
88802
|
-
|
|
88803
|
-
|
|
88804
|
-
|
|
88826
|
+
if (val !== void 0) {
|
|
88827
|
+
if (!Object.hasOwn(obj, key)) {
|
|
88828
|
+
const headersValue = typeof headers[i2 + 1] === "string" ? headers[i2 + 1] : Array.isArray(headers[i2 + 1]) ? headers[i2 + 1].map((x) => x.toString("latin1")) : headers[i2 + 1].toString("latin1");
|
|
88829
|
+
if (key === "__proto__") {
|
|
88830
|
+
Object.defineProperty(obj, key, {
|
|
88831
|
+
value: headersValue,
|
|
88832
|
+
enumerable: true,
|
|
88833
|
+
configurable: true,
|
|
88834
|
+
writable: true
|
|
88835
|
+
});
|
|
88836
|
+
} else {
|
|
88837
|
+
obj[key] = headersValue;
|
|
88838
|
+
}
|
|
88805
88839
|
} else {
|
|
88806
|
-
|
|
88840
|
+
if (typeof val === "string") {
|
|
88841
|
+
val = [val];
|
|
88842
|
+
obj[key] = val;
|
|
88843
|
+
}
|
|
88844
|
+
val.push(headers[i2 + 1].toString("latin1"));
|
|
88807
88845
|
}
|
|
88846
|
+
} else {
|
|
88847
|
+
const headersValue = typeof headers[i2 + 1] === "string" ? headers[i2 + 1] : Array.isArray(headers[i2 + 1]) ? headers[i2 + 1].map((x) => x.toString("latin1")) : headers[i2 + 1].toString("latin1");
|
|
88848
|
+
obj[key] = headersValue;
|
|
88808
88849
|
}
|
|
88809
88850
|
}
|
|
88810
88851
|
return obj;
|
|
@@ -89336,6 +89377,7 @@ var require_util3 = __commonJS({
|
|
|
89336
89377
|
getServerName,
|
|
89337
89378
|
isStream,
|
|
89338
89379
|
isIterable,
|
|
89380
|
+
hasSafeIterator,
|
|
89339
89381
|
isAsyncIterable,
|
|
89340
89382
|
isDestroyed,
|
|
89341
89383
|
headerNameToString,
|
|
@@ -89376,9 +89418,9 @@ var require_util3 = __commonJS({
|
|
|
89376
89418
|
}
|
|
89377
89419
|
});
|
|
89378
89420
|
|
|
89379
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
89421
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/stats.js
|
|
89380
89422
|
var require_stats = __commonJS({
|
|
89381
|
-
"../../node_modules/.pnpm/undici@7.
|
|
89423
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/stats.js"(exports2, module2) {
|
|
89382
89424
|
"use strict";
|
|
89383
89425
|
var {
|
|
89384
89426
|
kConnected,
|
|
@@ -89410,9 +89452,9 @@ var require_stats = __commonJS({
|
|
|
89410
89452
|
}
|
|
89411
89453
|
});
|
|
89412
89454
|
|
|
89413
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
89455
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/diagnostics.js
|
|
89414
89456
|
var require_diagnostics = __commonJS({
|
|
89415
|
-
"../../node_modules/.pnpm/undici@7.
|
|
89457
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
|
|
89416
89458
|
"use strict";
|
|
89417
89459
|
var diagnosticsChannel = require("node:diagnostics_channel");
|
|
89418
89460
|
var util2 = require("node:util");
|
|
@@ -89574,10 +89616,12 @@ var require_diagnostics = __commonJS({
|
|
|
89574
89616
|
diagnosticsChannel.subscribe(
|
|
89575
89617
|
"undici:websocket:open",
|
|
89576
89618
|
(evt) => {
|
|
89577
|
-
|
|
89578
|
-
|
|
89579
|
-
|
|
89580
|
-
|
|
89619
|
+
if (evt.address != null) {
|
|
89620
|
+
const { address, port } = evt.address;
|
|
89621
|
+
debugLog("connection opened %s%s", address, port ? `:${port}` : "");
|
|
89622
|
+
} else {
|
|
89623
|
+
debugLog("connection opened");
|
|
89624
|
+
}
|
|
89581
89625
|
}
|
|
89582
89626
|
);
|
|
89583
89627
|
diagnosticsChannel.subscribe(
|
|
@@ -89625,9 +89669,9 @@ var require_diagnostics = __commonJS({
|
|
|
89625
89669
|
}
|
|
89626
89670
|
});
|
|
89627
89671
|
|
|
89628
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
89672
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/request.js
|
|
89629
89673
|
var require_request = __commonJS({
|
|
89630
|
-
"../../node_modules/.pnpm/undici@7.
|
|
89674
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/request.js"(exports2, module2) {
|
|
89631
89675
|
"use strict";
|
|
89632
89676
|
var {
|
|
89633
89677
|
InvalidArgumentError,
|
|
@@ -89642,6 +89686,7 @@ var require_request = __commonJS({
|
|
|
89642
89686
|
isBuffer,
|
|
89643
89687
|
isFormDataLike,
|
|
89644
89688
|
isIterable,
|
|
89689
|
+
hasSafeIterator,
|
|
89645
89690
|
isBlobLike,
|
|
89646
89691
|
serializePathWithQuery,
|
|
89647
89692
|
assertRequestHandler,
|
|
@@ -89669,7 +89714,8 @@ var require_request = __commonJS({
|
|
|
89669
89714
|
expectContinue,
|
|
89670
89715
|
servername,
|
|
89671
89716
|
throwOnError,
|
|
89672
|
-
maxRedirections
|
|
89717
|
+
maxRedirections,
|
|
89718
|
+
typeOfService
|
|
89673
89719
|
}, handler2) {
|
|
89674
89720
|
if (typeof path7 !== "string") {
|
|
89675
89721
|
throw new InvalidArgumentError("path must be a string");
|
|
@@ -89686,6 +89732,9 @@ var require_request = __commonJS({
|
|
|
89686
89732
|
if (upgrade && typeof upgrade !== "string") {
|
|
89687
89733
|
throw new InvalidArgumentError("upgrade must be a string");
|
|
89688
89734
|
}
|
|
89735
|
+
if (upgrade && !isValidHeaderValue(upgrade)) {
|
|
89736
|
+
throw new InvalidArgumentError("invalid upgrade header");
|
|
89737
|
+
}
|
|
89689
89738
|
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
|
|
89690
89739
|
throw new InvalidArgumentError("invalid headersTimeout");
|
|
89691
89740
|
}
|
|
@@ -89704,9 +89753,13 @@ var require_request = __commonJS({
|
|
|
89704
89753
|
if (maxRedirections != null && maxRedirections !== 0) {
|
|
89705
89754
|
throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
|
|
89706
89755
|
}
|
|
89756
|
+
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) {
|
|
89757
|
+
throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
|
|
89758
|
+
}
|
|
89707
89759
|
this.headersTimeout = headersTimeout;
|
|
89708
89760
|
this.bodyTimeout = bodyTimeout;
|
|
89709
89761
|
this.method = method;
|
|
89762
|
+
this.typeOfService = typeOfService ?? 0;
|
|
89710
89763
|
this.abort = null;
|
|
89711
89764
|
if (body2 == null) {
|
|
89712
89765
|
this.body = null;
|
|
@@ -89762,7 +89815,7 @@ var require_request = __commonJS({
|
|
|
89762
89815
|
processHeader(this, headers[i2], headers[i2 + 1]);
|
|
89763
89816
|
}
|
|
89764
89817
|
} else if (headers && typeof headers === "object") {
|
|
89765
|
-
if (headers
|
|
89818
|
+
if (hasSafeIterator(headers)) {
|
|
89766
89819
|
for (const header of headers) {
|
|
89767
89820
|
if (!Array.isArray(header) || header.length !== 2) {
|
|
89768
89821
|
throw new InvalidArgumentError("headers must be in key-value pair format");
|
|
@@ -89931,12 +89984,18 @@ var require_request = __commonJS({
|
|
|
89931
89984
|
} else {
|
|
89932
89985
|
val = `${val}`;
|
|
89933
89986
|
}
|
|
89934
|
-
if (
|
|
89987
|
+
if (headerName === "host") {
|
|
89988
|
+
if (request.host !== null) {
|
|
89989
|
+
throw new InvalidArgumentError("duplicate host header");
|
|
89990
|
+
}
|
|
89935
89991
|
if (typeof val !== "string") {
|
|
89936
89992
|
throw new InvalidArgumentError("invalid host header");
|
|
89937
89993
|
}
|
|
89938
89994
|
request.host = val;
|
|
89939
|
-
} else if (
|
|
89995
|
+
} else if (headerName === "content-length") {
|
|
89996
|
+
if (request.contentLength !== null) {
|
|
89997
|
+
throw new InvalidArgumentError("duplicate content-length header");
|
|
89998
|
+
}
|
|
89940
89999
|
request.contentLength = parseInt(val, 10);
|
|
89941
90000
|
if (!Number.isFinite(request.contentLength)) {
|
|
89942
90001
|
throw new InvalidArgumentError("invalid content-length header");
|
|
@@ -89947,12 +90006,18 @@ var require_request = __commonJS({
|
|
|
89947
90006
|
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
|
|
89948
90007
|
throw new InvalidArgumentError(`invalid ${headerName} header`);
|
|
89949
90008
|
} else if (headerName === "connection") {
|
|
89950
|
-
const value2 = typeof val === "string" ? val
|
|
89951
|
-
if (value2
|
|
90009
|
+
const value2 = typeof val === "string" ? val : null;
|
|
90010
|
+
if (value2 === null) {
|
|
89952
90011
|
throw new InvalidArgumentError("invalid connection header");
|
|
89953
90012
|
}
|
|
89954
|
-
|
|
89955
|
-
|
|
90013
|
+
for (const token of value2.toLowerCase().split(",")) {
|
|
90014
|
+
const trimmed = token.trim();
|
|
90015
|
+
if (!isValidHTTPToken(trimmed)) {
|
|
90016
|
+
throw new InvalidArgumentError("invalid connection header");
|
|
90017
|
+
}
|
|
90018
|
+
if (trimmed === "close") {
|
|
90019
|
+
request.reset = true;
|
|
90020
|
+
}
|
|
89956
90021
|
}
|
|
89957
90022
|
} else if (headerName === "expect") {
|
|
89958
90023
|
throw new NotSupportedError("expect header not supported");
|
|
@@ -89964,9 +90029,9 @@ var require_request = __commonJS({
|
|
|
89964
90029
|
}
|
|
89965
90030
|
});
|
|
89966
90031
|
|
|
89967
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90032
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/wrap-handler.js
|
|
89968
90033
|
var require_wrap_handler = __commonJS({
|
|
89969
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90034
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/wrap-handler.js"(exports2, module2) {
|
|
89970
90035
|
"use strict";
|
|
89971
90036
|
var { InvalidArgumentError } = require_errors3();
|
|
89972
90037
|
module2.exports = class WrapHandler {
|
|
@@ -89981,6 +90046,9 @@ var require_wrap_handler = __commonJS({
|
|
|
89981
90046
|
onConnect(abort2, context) {
|
|
89982
90047
|
return this.#handler.onConnect?.(abort2, context);
|
|
89983
90048
|
}
|
|
90049
|
+
onResponseStarted() {
|
|
90050
|
+
return this.#handler.onResponseStarted?.();
|
|
90051
|
+
}
|
|
89984
90052
|
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
|
|
89985
90053
|
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
|
|
89986
90054
|
}
|
|
@@ -90006,14 +90074,14 @@ var require_wrap_handler = __commonJS({
|
|
|
90006
90074
|
onRequestUpgrade(controller, statusCode, headers, socket) {
|
|
90007
90075
|
const rawHeaders = [];
|
|
90008
90076
|
for (const [key, val] of Object.entries(headers)) {
|
|
90009
|
-
rawHeaders.push(Buffer.from(key
|
|
90077
|
+
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
90010
90078
|
}
|
|
90011
90079
|
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
|
|
90012
90080
|
}
|
|
90013
90081
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
90014
90082
|
const rawHeaders = [];
|
|
90015
90083
|
for (const [key, val] of Object.entries(headers)) {
|
|
90016
|
-
rawHeaders.push(Buffer.from(key
|
|
90084
|
+
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
90017
90085
|
}
|
|
90018
90086
|
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
|
|
90019
90087
|
controller.pause();
|
|
@@ -90027,7 +90095,7 @@ var require_wrap_handler = __commonJS({
|
|
|
90027
90095
|
onResponseEnd(controller, trailers) {
|
|
90028
90096
|
const rawTrailers = [];
|
|
90029
90097
|
for (const [key, val] of Object.entries(trailers)) {
|
|
90030
|
-
rawTrailers.push(Buffer.from(key
|
|
90098
|
+
rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
90031
90099
|
}
|
|
90032
90100
|
this.#handler.onComplete?.(rawTrailers);
|
|
90033
90101
|
}
|
|
@@ -90038,12 +90106,15 @@ var require_wrap_handler = __commonJS({
|
|
|
90038
90106
|
this.#handler.onError?.(err2);
|
|
90039
90107
|
}
|
|
90040
90108
|
};
|
|
90109
|
+
function toRawHeaderValue(value2) {
|
|
90110
|
+
return Array.isArray(value2) ? value2.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value2, "latin1");
|
|
90111
|
+
}
|
|
90041
90112
|
}
|
|
90042
90113
|
});
|
|
90043
90114
|
|
|
90044
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90115
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
90045
90116
|
var require_dispatcher = __commonJS({
|
|
90046
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90117
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
|
|
90047
90118
|
"use strict";
|
|
90048
90119
|
var EventEmitter = require("node:events");
|
|
90049
90120
|
var WrapHandler = require_wrap_handler();
|
|
@@ -90083,9 +90154,9 @@ var require_dispatcher = __commonJS({
|
|
|
90083
90154
|
}
|
|
90084
90155
|
});
|
|
90085
90156
|
|
|
90086
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90157
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/unwrap-handler.js
|
|
90087
90158
|
var require_unwrap_handler = __commonJS({
|
|
90088
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90159
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/unwrap-handler.js"(exports2, module2) {
|
|
90089
90160
|
"use strict";
|
|
90090
90161
|
var { parseHeaders: parseHeaders2 } = require_util3();
|
|
90091
90162
|
var { InvalidArgumentError } = require_errors3();
|
|
@@ -90138,6 +90209,9 @@ var require_unwrap_handler = __commonJS({
|
|
|
90138
90209
|
this.#controller = new UnwrapController(abort2);
|
|
90139
90210
|
this.#handler.onRequestStart?.(this.#controller, context);
|
|
90140
90211
|
}
|
|
90212
|
+
onResponseStarted() {
|
|
90213
|
+
return this.#handler.onResponseStarted?.();
|
|
90214
|
+
}
|
|
90141
90215
|
onUpgrade(statusCode, rawHeaders, socket) {
|
|
90142
90216
|
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders2(rawHeaders), socket);
|
|
90143
90217
|
}
|
|
@@ -90163,9 +90237,9 @@ var require_unwrap_handler = __commonJS({
|
|
|
90163
90237
|
}
|
|
90164
90238
|
});
|
|
90165
90239
|
|
|
90166
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90240
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
90167
90241
|
var require_dispatcher_base = __commonJS({
|
|
90168
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90242
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
|
|
90169
90243
|
"use strict";
|
|
90170
90244
|
var Dispatcher = require_dispatcher();
|
|
90171
90245
|
var UnwrapHandler = require_unwrap_handler();
|
|
@@ -90297,9 +90371,9 @@ var require_dispatcher_base = __commonJS({
|
|
|
90297
90371
|
}
|
|
90298
90372
|
});
|
|
90299
90373
|
|
|
90300
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90374
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/connect.js
|
|
90301
90375
|
var require_connect = __commonJS({
|
|
90302
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90376
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/connect.js"(exports2, module2) {
|
|
90303
90377
|
"use strict";
|
|
90304
90378
|
var net = require("node:net");
|
|
90305
90379
|
var assert4 = require("node:assert");
|
|
@@ -90409,9 +90483,9 @@ var require_connect = __commonJS({
|
|
|
90409
90483
|
}
|
|
90410
90484
|
});
|
|
90411
90485
|
|
|
90412
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90486
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/utils.js
|
|
90413
90487
|
var require_utils3 = __commonJS({
|
|
90414
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90488
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/utils.js"(exports2) {
|
|
90415
90489
|
"use strict";
|
|
90416
90490
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
90417
90491
|
exports2.enumToMap = enumToMap;
|
|
@@ -90425,9 +90499,9 @@ var require_utils3 = __commonJS({
|
|
|
90425
90499
|
}
|
|
90426
90500
|
});
|
|
90427
90501
|
|
|
90428
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
90502
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/constants.js
|
|
90429
90503
|
var require_constants2 = __commonJS({
|
|
90430
|
-
"../../node_modules/.pnpm/undici@7.
|
|
90504
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/constants.js"(exports2) {
|
|
90431
90505
|
"use strict";
|
|
90432
90506
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
90433
90507
|
exports2.SPECIAL_HEADERS = exports2.MINOR = exports2.MAJOR = exports2.HTAB_SP_VCHAR_OBS_TEXT = exports2.QUOTED_STRING = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.STATUSES_HTTP = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.HEADER_STATE = exports2.FINISH = exports2.STATUSES = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
|
|
@@ -91048,9 +91122,9 @@ var require_constants2 = __commonJS({
|
|
|
91048
91122
|
}
|
|
91049
91123
|
});
|
|
91050
91124
|
|
|
91051
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91125
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
91052
91126
|
var require_llhttp_wasm = __commonJS({
|
|
91053
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91127
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
|
|
91054
91128
|
"use strict";
|
|
91055
91129
|
var { Buffer: Buffer2 } = require("node:buffer");
|
|
91056
91130
|
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==";
|
|
@@ -91063,9 +91137,9 @@ var require_llhttp_wasm = __commonJS({
|
|
|
91063
91137
|
}
|
|
91064
91138
|
});
|
|
91065
91139
|
|
|
91066
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91140
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
91067
91141
|
var require_llhttp_simd_wasm = __commonJS({
|
|
91068
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91142
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
|
|
91069
91143
|
"use strict";
|
|
91070
91144
|
var { Buffer: Buffer2 } = require("node:buffer");
|
|
91071
91145
|
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==";
|
|
@@ -91078,9 +91152,9 @@ var require_llhttp_simd_wasm = __commonJS({
|
|
|
91078
91152
|
}
|
|
91079
91153
|
});
|
|
91080
91154
|
|
|
91081
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91155
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/constants.js
|
|
91082
91156
|
var require_constants3 = __commonJS({
|
|
91083
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91157
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
|
|
91084
91158
|
"use strict";
|
|
91085
91159
|
var corsSafeListedMethods = (
|
|
91086
91160
|
/** @type {const} */
|
|
@@ -91302,9 +91376,9 @@ var require_constants3 = __commonJS({
|
|
|
91302
91376
|
}
|
|
91303
91377
|
});
|
|
91304
91378
|
|
|
91305
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91379
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/global.js
|
|
91306
91380
|
var require_global = __commonJS({
|
|
91307
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91381
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
|
|
91308
91382
|
"use strict";
|
|
91309
91383
|
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
|
|
91310
91384
|
function getGlobalOrigin() {
|
|
@@ -91338,9 +91412,9 @@ var require_global = __commonJS({
|
|
|
91338
91412
|
}
|
|
91339
91413
|
});
|
|
91340
91414
|
|
|
91341
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91415
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/encoding/index.js
|
|
91342
91416
|
var require_encoding = __commonJS({
|
|
91343
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91417
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/encoding/index.js"(exports2, module2) {
|
|
91344
91418
|
"use strict";
|
|
91345
91419
|
var textDecoder = new TextDecoder();
|
|
91346
91420
|
function utf8DecodeBytes(buffer) {
|
|
@@ -91359,9 +91433,9 @@ var require_encoding = __commonJS({
|
|
|
91359
91433
|
}
|
|
91360
91434
|
});
|
|
91361
91435
|
|
|
91362
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91436
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/infra/index.js
|
|
91363
91437
|
var require_infra = __commonJS({
|
|
91364
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91438
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/infra/index.js"(exports2, module2) {
|
|
91365
91439
|
"use strict";
|
|
91366
91440
|
var assert4 = require("node:assert");
|
|
91367
91441
|
var { utf8DecodeBytes } = require_encoding();
|
|
@@ -91472,9 +91546,9 @@ var require_infra = __commonJS({
|
|
|
91472
91546
|
}
|
|
91473
91547
|
});
|
|
91474
91548
|
|
|
91475
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91549
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/data-url.js
|
|
91476
91550
|
var require_data_url = __commonJS({
|
|
91477
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91551
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
|
|
91478
91552
|
"use strict";
|
|
91479
91553
|
var assert4 = require("node:assert");
|
|
91480
91554
|
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
|
|
@@ -91751,9 +91825,9 @@ var require_data_url = __commonJS({
|
|
|
91751
91825
|
}
|
|
91752
91826
|
});
|
|
91753
91827
|
|
|
91754
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91828
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/runtime-features.js
|
|
91755
91829
|
var require_runtime_features = __commonJS({
|
|
91756
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91830
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/runtime-features.js"(exports2, module2) {
|
|
91757
91831
|
"use strict";
|
|
91758
91832
|
var lazyLoaders = {
|
|
91759
91833
|
__proto__: null,
|
|
@@ -91853,9 +91927,9 @@ var require_runtime_features = __commonJS({
|
|
|
91853
91927
|
}
|
|
91854
91928
|
});
|
|
91855
91929
|
|
|
91856
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
91930
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/webidl/index.js
|
|
91857
91931
|
var require_webidl = __commonJS({
|
|
91858
|
-
"../../node_modules/.pnpm/undici@7.
|
|
91932
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/webidl/index.js"(exports2, module2) {
|
|
91859
91933
|
"use strict";
|
|
91860
91934
|
var assert4 = require("node:assert");
|
|
91861
91935
|
var { types, inspect } = require("node:util");
|
|
@@ -92144,6 +92218,7 @@ var require_webidl = __commonJS({
|
|
|
92144
92218
|
};
|
|
92145
92219
|
};
|
|
92146
92220
|
webidl.dictionaryConverter = function(converters) {
|
|
92221
|
+
converters.sort((a, b) => (a.key > b.key) - (a.key < b.key));
|
|
92147
92222
|
return (dictionary, prefix, argument) => {
|
|
92148
92223
|
const dict = {};
|
|
92149
92224
|
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
|
|
@@ -92454,9 +92529,9 @@ var require_webidl = __commonJS({
|
|
|
92454
92529
|
}
|
|
92455
92530
|
});
|
|
92456
92531
|
|
|
92457
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
92532
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/util.js
|
|
92458
92533
|
var require_util4 = __commonJS({
|
|
92459
|
-
"../../node_modules/.pnpm/undici@7.
|
|
92534
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
|
|
92460
92535
|
"use strict";
|
|
92461
92536
|
var { Transform } = require("node:stream");
|
|
92462
92537
|
var zlib = require("node:zlib");
|
|
@@ -93221,9 +93296,9 @@ var require_util4 = __commonJS({
|
|
|
93221
93296
|
}
|
|
93222
93297
|
});
|
|
93223
93298
|
|
|
93224
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
93299
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/formdata.js
|
|
93225
93300
|
var require_formdata = __commonJS({
|
|
93226
|
-
"../../node_modules/.pnpm/undici@7.
|
|
93301
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
|
|
93227
93302
|
"use strict";
|
|
93228
93303
|
var { iteratorMixin } = require_util4();
|
|
93229
93304
|
var { kEnumerableProperty } = require_util3();
|
|
@@ -93383,9 +93458,9 @@ var require_formdata = __commonJS({
|
|
|
93383
93458
|
}
|
|
93384
93459
|
});
|
|
93385
93460
|
|
|
93386
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
93461
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
93387
93462
|
var require_formdata_parser = __commonJS({
|
|
93388
|
-
"../../node_modules/.pnpm/undici@7.
|
|
93463
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
|
|
93389
93464
|
"use strict";
|
|
93390
93465
|
var { bufferToLowerCasedHeaderName } = require_util3();
|
|
93391
93466
|
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
@@ -93393,9 +93468,9 @@ var require_formdata_parser = __commonJS({
|
|
|
93393
93468
|
var { webidl } = require_webidl();
|
|
93394
93469
|
var assert4 = require("node:assert");
|
|
93395
93470
|
var { isomorphicDecode } = require_infra();
|
|
93396
|
-
var { utf8DecodeBytes } = require_encoding();
|
|
93397
93471
|
var dd = Buffer.from("--");
|
|
93398
93472
|
var decoder = new TextDecoder();
|
|
93473
|
+
var decoderIgnoreBOM = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
93399
93474
|
function isAsciiString(chars) {
|
|
93400
93475
|
for (let i2 = 0; i2 < chars.length; ++i2) {
|
|
93401
93476
|
if ((chars.charCodeAt(i2) & ~127) !== 0) {
|
|
@@ -93472,7 +93547,7 @@ var require_formdata_parser = __commonJS({
|
|
|
93472
93547
|
}
|
|
93473
93548
|
value2 = new File([body2], filename, { type: contentType });
|
|
93474
93549
|
} else {
|
|
93475
|
-
value2 =
|
|
93550
|
+
value2 = decoderIgnoreBOM.decode(Buffer.from(body2));
|
|
93476
93551
|
}
|
|
93477
93552
|
assert4(webidl.is.USVString(name2));
|
|
93478
93553
|
assert4(typeof value2 === "string" && webidl.is.USVString(value2) || webidl.is.File(value2));
|
|
@@ -93707,9 +93782,9 @@ var require_formdata_parser = __commonJS({
|
|
|
93707
93782
|
}
|
|
93708
93783
|
});
|
|
93709
93784
|
|
|
93710
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
93785
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/promise.js
|
|
93711
93786
|
var require_promise = __commonJS({
|
|
93712
|
-
"../../node_modules/.pnpm/undici@7.
|
|
93787
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/promise.js"(exports2, module2) {
|
|
93713
93788
|
"use strict";
|
|
93714
93789
|
function createDeferredPromise() {
|
|
93715
93790
|
let res;
|
|
@@ -93726,9 +93801,9 @@ var require_promise = __commonJS({
|
|
|
93726
93801
|
}
|
|
93727
93802
|
});
|
|
93728
93803
|
|
|
93729
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
93804
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/body.js
|
|
93730
93805
|
var require_body = __commonJS({
|
|
93731
|
-
"../../node_modules/.pnpm/undici@7.
|
|
93806
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
|
|
93732
93807
|
"use strict";
|
|
93733
93808
|
var util2 = require_util3();
|
|
93734
93809
|
var {
|
|
@@ -94009,9 +94084,9 @@ Content-Type: ${value2.type || "application/octet-stream"}\r
|
|
|
94009
94084
|
}
|
|
94010
94085
|
});
|
|
94011
94086
|
|
|
94012
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
94087
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client-h1.js
|
|
94013
94088
|
var require_client_h1 = __commonJS({
|
|
94014
|
-
"../../node_modules/.pnpm/undici@7.
|
|
94089
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
|
|
94015
94090
|
"use strict";
|
|
94016
94091
|
var assert4 = require("node:assert");
|
|
94017
94092
|
var util2 = require_util3();
|
|
@@ -94826,6 +94901,9 @@ var require_client_h1 = __commonJS({
|
|
|
94826
94901
|
if (blocking) {
|
|
94827
94902
|
socket[kBlocking] = true;
|
|
94828
94903
|
}
|
|
94904
|
+
if (socket.setTypeOfService) {
|
|
94905
|
+
socket.setTypeOfService(request.typeOfService);
|
|
94906
|
+
}
|
|
94829
94907
|
let header = `${method} ${path7} HTTP/1.1\r
|
|
94830
94908
|
`;
|
|
94831
94909
|
if (typeof host === "string") {
|
|
@@ -95172,9 +95250,9 @@ ${len.toString(16)}\r
|
|
|
95172
95250
|
}
|
|
95173
95251
|
});
|
|
95174
95252
|
|
|
95175
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
95253
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client-h2.js
|
|
95176
95254
|
var require_client_h2 = __commonJS({
|
|
95177
|
-
"../../node_modules/.pnpm/undici@7.
|
|
95255
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
|
|
95178
95256
|
"use strict";
|
|
95179
95257
|
var assert4 = require("node:assert");
|
|
95180
95258
|
var { pipeline } = require("node:stream");
|
|
@@ -95656,11 +95734,14 @@ var require_client_h2 = __commonJS({
|
|
|
95656
95734
|
if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
|
|
95657
95735
|
stream.pause();
|
|
95658
95736
|
}
|
|
95659
|
-
|
|
95660
|
-
|
|
95661
|
-
|
|
95662
|
-
|
|
95663
|
-
|
|
95737
|
+
stream.on("data", (chunk) => {
|
|
95738
|
+
if (request.aborted || request.completed) {
|
|
95739
|
+
return;
|
|
95740
|
+
}
|
|
95741
|
+
if (request.onData(chunk) === false) {
|
|
95742
|
+
stream.pause();
|
|
95743
|
+
}
|
|
95744
|
+
});
|
|
95664
95745
|
});
|
|
95665
95746
|
stream.once("end", () => {
|
|
95666
95747
|
stream.removeAllListeners("data");
|
|
@@ -95708,6 +95789,7 @@ var require_client_h2 = __commonJS({
|
|
|
95708
95789
|
if (request.aborted || request.completed) {
|
|
95709
95790
|
return;
|
|
95710
95791
|
}
|
|
95792
|
+
stream.removeAllListeners("data");
|
|
95711
95793
|
request.onComplete(trailers);
|
|
95712
95794
|
});
|
|
95713
95795
|
return true;
|
|
@@ -95895,9 +95977,9 @@ var require_client_h2 = __commonJS({
|
|
|
95895
95977
|
}
|
|
95896
95978
|
});
|
|
95897
95979
|
|
|
95898
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
95980
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client.js
|
|
95899
95981
|
var require_client = __commonJS({
|
|
95900
|
-
"../../node_modules/.pnpm/undici@7.
|
|
95982
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
|
|
95901
95983
|
"use strict";
|
|
95902
95984
|
var assert4 = require("node:assert");
|
|
95903
95985
|
var net = require("node:net");
|
|
@@ -96093,6 +96175,9 @@ var require_client = __commonJS({
|
|
|
96093
96175
|
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
|
|
96094
96176
|
...connect2
|
|
96095
96177
|
});
|
|
96178
|
+
} else if (socketPath != null) {
|
|
96179
|
+
const customConnect = connect2;
|
|
96180
|
+
connect2 = (opts, callback) => customConnect({ ...opts, socketPath }, callback);
|
|
96096
96181
|
}
|
|
96097
96182
|
this[kUrl] = util2.parseOrigin(url2);
|
|
96098
96183
|
this[kConnector] = connect2;
|
|
@@ -96241,56 +96326,61 @@ var require_client = __commonJS({
|
|
|
96241
96326
|
connector: client[kConnector]
|
|
96242
96327
|
});
|
|
96243
96328
|
}
|
|
96244
|
-
|
|
96245
|
-
|
|
96246
|
-
|
|
96247
|
-
|
|
96248
|
-
|
|
96249
|
-
|
|
96250
|
-
|
|
96251
|
-
|
|
96252
|
-
|
|
96253
|
-
|
|
96254
|
-
|
|
96255
|
-
|
|
96256
|
-
|
|
96257
|
-
|
|
96258
|
-
|
|
96259
|
-
|
|
96260
|
-
|
|
96261
|
-
|
|
96262
|
-
|
|
96263
|
-
|
|
96264
|
-
|
|
96265
|
-
|
|
96266
|
-
|
|
96267
|
-
|
|
96329
|
+
try {
|
|
96330
|
+
client[kConnector]({
|
|
96331
|
+
host,
|
|
96332
|
+
hostname: hostname3,
|
|
96333
|
+
protocol,
|
|
96334
|
+
port,
|
|
96335
|
+
servername: client[kServerName],
|
|
96336
|
+
localAddress: client[kLocalAddress]
|
|
96337
|
+
}, (err2, socket) => {
|
|
96338
|
+
if (err2) {
|
|
96339
|
+
handleConnectError(client, err2, { host, hostname: hostname3, protocol, port });
|
|
96340
|
+
client[kResume]();
|
|
96341
|
+
return;
|
|
96342
|
+
}
|
|
96343
|
+
if (client.destroyed) {
|
|
96344
|
+
util2.destroy(socket.on("error", noop), new ClientDestroyedError());
|
|
96345
|
+
client[kResume]();
|
|
96346
|
+
return;
|
|
96347
|
+
}
|
|
96348
|
+
assert4(socket);
|
|
96349
|
+
try {
|
|
96350
|
+
client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
|
|
96351
|
+
} catch (err3) {
|
|
96352
|
+
socket.destroy().on("error", noop);
|
|
96353
|
+
handleConnectError(client, err3, { host, hostname: hostname3, protocol, port });
|
|
96354
|
+
client[kResume]();
|
|
96355
|
+
return;
|
|
96356
|
+
}
|
|
96357
|
+
client[kConnecting] = false;
|
|
96358
|
+
socket[kCounter] = 0;
|
|
96359
|
+
socket[kMaxRequests] = client[kMaxRequests];
|
|
96360
|
+
socket[kClient] = client;
|
|
96361
|
+
socket[kError] = null;
|
|
96362
|
+
if (channels.connected.hasSubscribers) {
|
|
96363
|
+
channels.connected.publish({
|
|
96364
|
+
connectParams: {
|
|
96365
|
+
host,
|
|
96366
|
+
hostname: hostname3,
|
|
96367
|
+
protocol,
|
|
96368
|
+
port,
|
|
96369
|
+
version: client[kHTTPContext]?.version,
|
|
96370
|
+
servername: client[kServerName],
|
|
96371
|
+
localAddress: client[kLocalAddress]
|
|
96372
|
+
},
|
|
96373
|
+
connector: client[kConnector],
|
|
96374
|
+
socket
|
|
96375
|
+
});
|
|
96376
|
+
}
|
|
96377
|
+
client.emit("connect", client[kUrl], [client]);
|
|
96268
96378
|
client[kResume]();
|
|
96269
|
-
|
|
96270
|
-
|
|
96271
|
-
client
|
|
96272
|
-
socket[kCounter] = 0;
|
|
96273
|
-
socket[kMaxRequests] = client[kMaxRequests];
|
|
96274
|
-
socket[kClient] = client;
|
|
96275
|
-
socket[kError] = null;
|
|
96276
|
-
if (channels.connected.hasSubscribers) {
|
|
96277
|
-
channels.connected.publish({
|
|
96278
|
-
connectParams: {
|
|
96279
|
-
host,
|
|
96280
|
-
hostname: hostname3,
|
|
96281
|
-
protocol,
|
|
96282
|
-
port,
|
|
96283
|
-
version: client[kHTTPContext]?.version,
|
|
96284
|
-
servername: client[kServerName],
|
|
96285
|
-
localAddress: client[kLocalAddress]
|
|
96286
|
-
},
|
|
96287
|
-
connector: client[kConnector],
|
|
96288
|
-
socket
|
|
96289
|
-
});
|
|
96290
|
-
}
|
|
96291
|
-
client.emit("connect", client[kUrl], [client]);
|
|
96379
|
+
});
|
|
96380
|
+
} catch (err2) {
|
|
96381
|
+
handleConnectError(client, err2, { host, hostname: hostname3, protocol, port });
|
|
96292
96382
|
client[kResume]();
|
|
96293
|
-
}
|
|
96383
|
+
}
|
|
96294
96384
|
}
|
|
96295
96385
|
function handleConnectError(client, err2, { host, hostname: hostname3, protocol, port }) {
|
|
96296
96386
|
if (client.destroyed) {
|
|
@@ -96372,6 +96462,9 @@ var require_client = __commonJS({
|
|
|
96372
96462
|
return;
|
|
96373
96463
|
}
|
|
96374
96464
|
const request = client[kQueue][client[kPendingIdx]];
|
|
96465
|
+
if (request === null) {
|
|
96466
|
+
return;
|
|
96467
|
+
}
|
|
96375
96468
|
if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
|
|
96376
96469
|
if (client[kRunning] > 0) {
|
|
96377
96470
|
return;
|
|
@@ -96406,9 +96499,9 @@ var require_client = __commonJS({
|
|
|
96406
96499
|
}
|
|
96407
96500
|
});
|
|
96408
96501
|
|
|
96409
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
96502
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
96410
96503
|
var require_fixed_queue = __commonJS({
|
|
96411
|
-
"../../node_modules/.pnpm/undici@7.
|
|
96504
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
|
|
96412
96505
|
"use strict";
|
|
96413
96506
|
var kSize = 2048;
|
|
96414
96507
|
var kMask = kSize - 1;
|
|
@@ -96477,9 +96570,9 @@ var require_fixed_queue = __commonJS({
|
|
|
96477
96570
|
}
|
|
96478
96571
|
});
|
|
96479
96572
|
|
|
96480
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
96573
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/pool-base.js
|
|
96481
96574
|
var require_pool_base = __commonJS({
|
|
96482
|
-
"../../node_modules/.pnpm/undici@7.
|
|
96575
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
|
|
96483
96576
|
"use strict";
|
|
96484
96577
|
var { PoolStats } = require_stats();
|
|
96485
96578
|
var DispatcherBase = require_dispatcher_base();
|
|
@@ -96653,9 +96746,9 @@ var require_pool_base = __commonJS({
|
|
|
96653
96746
|
}
|
|
96654
96747
|
});
|
|
96655
96748
|
|
|
96656
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
96749
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/pool.js
|
|
96657
96750
|
var require_pool = __commonJS({
|
|
96658
|
-
"../../node_modules/.pnpm/undici@7.
|
|
96751
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
|
|
96659
96752
|
"use strict";
|
|
96660
96753
|
var {
|
|
96661
96754
|
PoolBase,
|
|
@@ -96716,7 +96809,7 @@ var require_pool = __commonJS({
|
|
|
96716
96809
|
super();
|
|
96717
96810
|
this[kConnections] = connections || null;
|
|
96718
96811
|
this[kUrl] = util2.parseOrigin(origin);
|
|
96719
|
-
this[kOptions] = { ...util2.deepClone(options2), connect, allowH2, clientTtl };
|
|
96812
|
+
this[kOptions] = { ...util2.deepClone(options2), connect, allowH2, clientTtl, socketPath };
|
|
96720
96813
|
this[kOptions].interceptors = options2.interceptors ? { ...options2.interceptors } : void 0;
|
|
96721
96814
|
this[kFactory] = factory;
|
|
96722
96815
|
this.on("connect", (origin2, targets) => {
|
|
@@ -96755,9 +96848,9 @@ var require_pool = __commonJS({
|
|
|
96755
96848
|
}
|
|
96756
96849
|
});
|
|
96757
96850
|
|
|
96758
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
96851
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
96759
96852
|
var require_balanced_pool = __commonJS({
|
|
96760
|
-
"../../node_modules/.pnpm/undici@7.
|
|
96853
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
|
|
96761
96854
|
"use strict";
|
|
96762
96855
|
var {
|
|
96763
96856
|
BalancedPoolMissingUpstreamError,
|
|
@@ -96773,7 +96866,7 @@ var require_balanced_pool = __commonJS({
|
|
|
96773
96866
|
} = require_pool_base();
|
|
96774
96867
|
var Pool = require_pool();
|
|
96775
96868
|
var { kUrl } = require_symbols();
|
|
96776
|
-
var
|
|
96869
|
+
var util2 = require_util3();
|
|
96777
96870
|
var kFactory = /* @__PURE__ */ Symbol("factory");
|
|
96778
96871
|
var kOptions = /* @__PURE__ */ Symbol("options");
|
|
96779
96872
|
var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
|
|
@@ -96800,7 +96893,8 @@ var require_balanced_pool = __commonJS({
|
|
|
96800
96893
|
throw new InvalidArgumentError("factory must be a function.");
|
|
96801
96894
|
}
|
|
96802
96895
|
super();
|
|
96803
|
-
this[kOptions] = opts;
|
|
96896
|
+
this[kOptions] = { ...util2.deepClone(opts) };
|
|
96897
|
+
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
96804
96898
|
this[kIndex] = -1;
|
|
96805
96899
|
this[kCurrentWeight] = 0;
|
|
96806
96900
|
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
|
|
@@ -96815,11 +96909,11 @@ var require_balanced_pool = __commonJS({
|
|
|
96815
96909
|
this._updateBalancedPoolStats();
|
|
96816
96910
|
}
|
|
96817
96911
|
addUpstream(upstream) {
|
|
96818
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
96912
|
+
const upstreamOrigin = util2.parseOrigin(upstream).origin;
|
|
96819
96913
|
if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
|
|
96820
96914
|
return this;
|
|
96821
96915
|
}
|
|
96822
|
-
const pool = this[kFactory](upstreamOrigin,
|
|
96916
|
+
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
|
|
96823
96917
|
this[kAddClient](pool);
|
|
96824
96918
|
pool.on("connect", () => {
|
|
96825
96919
|
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
|
|
@@ -96849,7 +96943,7 @@ var require_balanced_pool = __commonJS({
|
|
|
96849
96943
|
this[kGreatestCommonDivisor] = result;
|
|
96850
96944
|
}
|
|
96851
96945
|
removeUpstream(upstream) {
|
|
96852
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
96946
|
+
const upstreamOrigin = util2.parseOrigin(upstream).origin;
|
|
96853
96947
|
const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
|
|
96854
96948
|
if (pool) {
|
|
96855
96949
|
this[kRemoveClient](pool);
|
|
@@ -96857,7 +96951,7 @@ var require_balanced_pool = __commonJS({
|
|
|
96857
96951
|
return this;
|
|
96858
96952
|
}
|
|
96859
96953
|
getUpstream(upstream) {
|
|
96860
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
96954
|
+
const upstreamOrigin = util2.parseOrigin(upstream).origin;
|
|
96861
96955
|
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
|
|
96862
96956
|
}
|
|
96863
96957
|
get upstreams() {
|
|
@@ -96902,9 +96996,9 @@ var require_balanced_pool = __commonJS({
|
|
|
96902
96996
|
}
|
|
96903
96997
|
});
|
|
96904
96998
|
|
|
96905
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
96999
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
96906
97000
|
var require_round_robin_pool = __commonJS({
|
|
96907
|
-
"../../node_modules/.pnpm/undici@7.
|
|
97001
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports2, module2) {
|
|
96908
97002
|
"use strict";
|
|
96909
97003
|
var {
|
|
96910
97004
|
PoolBase,
|
|
@@ -96966,7 +97060,7 @@ var require_round_robin_pool = __commonJS({
|
|
|
96966
97060
|
super();
|
|
96967
97061
|
this[kConnections] = connections || null;
|
|
96968
97062
|
this[kUrl] = util2.parseOrigin(origin);
|
|
96969
|
-
this[kOptions] = { ...util2.deepClone(options2), connect, allowH2, clientTtl };
|
|
97063
|
+
this[kOptions] = { ...util2.deepClone(options2), connect, allowH2, clientTtl, socketPath };
|
|
96970
97064
|
this[kOptions].interceptors = options2.interceptors ? { ...options2.interceptors } : void 0;
|
|
96971
97065
|
this[kFactory] = factory;
|
|
96972
97066
|
this[kIndex] = -1;
|
|
@@ -97019,9 +97113,9 @@ var require_round_robin_pool = __commonJS({
|
|
|
97019
97113
|
}
|
|
97020
97114
|
});
|
|
97021
97115
|
|
|
97022
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
97116
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/agent.js
|
|
97023
97117
|
var require_agent = __commonJS({
|
|
97024
|
-
"../../node_modules/.pnpm/undici@7.
|
|
97118
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
|
|
97025
97119
|
"use strict";
|
|
97026
97120
|
var { InvalidArgumentError, MaxOriginsReachedError } = require_errors3();
|
|
97027
97121
|
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
|
|
@@ -97152,9 +97246,670 @@ var require_agent = __commonJS({
|
|
|
97152
97246
|
}
|
|
97153
97247
|
});
|
|
97154
97248
|
|
|
97155
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
97249
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/socks5-utils.js
|
|
97250
|
+
var require_socks5_utils = __commonJS({
|
|
97251
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/socks5-utils.js"(exports2, module2) {
|
|
97252
|
+
"use strict";
|
|
97253
|
+
var { Buffer: Buffer2 } = require("node:buffer");
|
|
97254
|
+
var net = require("node:net");
|
|
97255
|
+
var { InvalidArgumentError } = require_errors3();
|
|
97256
|
+
function parseAddress(address) {
|
|
97257
|
+
if (net.isIPv4(address)) {
|
|
97258
|
+
const parts2 = address.split(".").map(Number);
|
|
97259
|
+
return {
|
|
97260
|
+
type: 1,
|
|
97261
|
+
// IPv4
|
|
97262
|
+
buffer: Buffer2.from(parts2)
|
|
97263
|
+
};
|
|
97264
|
+
}
|
|
97265
|
+
if (net.isIPv6(address)) {
|
|
97266
|
+
return {
|
|
97267
|
+
type: 4,
|
|
97268
|
+
// IPv6
|
|
97269
|
+
buffer: parseIPv6(address)
|
|
97270
|
+
};
|
|
97271
|
+
}
|
|
97272
|
+
const domainBuffer = Buffer2.from(address, "utf8");
|
|
97273
|
+
if (domainBuffer.length > 255) {
|
|
97274
|
+
throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
|
|
97275
|
+
}
|
|
97276
|
+
return {
|
|
97277
|
+
type: 3,
|
|
97278
|
+
// Domain
|
|
97279
|
+
buffer: Buffer2.concat([Buffer2.from([domainBuffer.length]), domainBuffer])
|
|
97280
|
+
};
|
|
97281
|
+
}
|
|
97282
|
+
function parseIPv6(address) {
|
|
97283
|
+
const buffer = Buffer2.alloc(16);
|
|
97284
|
+
const parts2 = address.split(":");
|
|
97285
|
+
let partIndex = 0;
|
|
97286
|
+
let bufferIndex = 0;
|
|
97287
|
+
const doubleColonIndex = address.indexOf("::");
|
|
97288
|
+
if (doubleColonIndex !== -1) {
|
|
97289
|
+
const nonEmptyParts = parts2.filter((p) => p.length > 0).length;
|
|
97290
|
+
const skipParts = 8 - nonEmptyParts;
|
|
97291
|
+
for (let i2 = 0; i2 < parts2.length; i2++) {
|
|
97292
|
+
if (parts2[i2] === "" && i2 === doubleColonIndex / 3) {
|
|
97293
|
+
bufferIndex += skipParts * 2;
|
|
97294
|
+
} else if (parts2[i2] !== "") {
|
|
97295
|
+
const value2 = parseInt(parts2[i2], 16);
|
|
97296
|
+
buffer.writeUInt16BE(value2, bufferIndex);
|
|
97297
|
+
bufferIndex += 2;
|
|
97298
|
+
}
|
|
97299
|
+
}
|
|
97300
|
+
} else {
|
|
97301
|
+
for (const part of parts2) {
|
|
97302
|
+
if (part === "") continue;
|
|
97303
|
+
const value2 = parseInt(part, 16);
|
|
97304
|
+
buffer.writeUInt16BE(value2, partIndex * 2);
|
|
97305
|
+
partIndex++;
|
|
97306
|
+
}
|
|
97307
|
+
}
|
|
97308
|
+
return buffer;
|
|
97309
|
+
}
|
|
97310
|
+
function buildAddressBuffer(type, addressBuffer, port) {
|
|
97311
|
+
const portBuffer = Buffer2.allocUnsafe(2);
|
|
97312
|
+
portBuffer.writeUInt16BE(port, 0);
|
|
97313
|
+
return Buffer2.concat([
|
|
97314
|
+
Buffer2.from([type]),
|
|
97315
|
+
addressBuffer,
|
|
97316
|
+
portBuffer
|
|
97317
|
+
]);
|
|
97318
|
+
}
|
|
97319
|
+
function parseResponseAddress(buffer, offset = 0) {
|
|
97320
|
+
if (buffer.length < offset + 1) {
|
|
97321
|
+
throw new InvalidArgumentError("Buffer too small to contain address type");
|
|
97322
|
+
}
|
|
97323
|
+
const addressType = buffer[offset];
|
|
97324
|
+
let address;
|
|
97325
|
+
let currentOffset = offset + 1;
|
|
97326
|
+
switch (addressType) {
|
|
97327
|
+
case 1: {
|
|
97328
|
+
if (buffer.length < currentOffset + 6) {
|
|
97329
|
+
throw new InvalidArgumentError("Buffer too small for IPv4 address");
|
|
97330
|
+
}
|
|
97331
|
+
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
|
|
97332
|
+
currentOffset += 4;
|
|
97333
|
+
break;
|
|
97334
|
+
}
|
|
97335
|
+
case 3: {
|
|
97336
|
+
if (buffer.length < currentOffset + 1) {
|
|
97337
|
+
throw new InvalidArgumentError("Buffer too small for domain length");
|
|
97338
|
+
}
|
|
97339
|
+
const domainLength = buffer[currentOffset];
|
|
97340
|
+
currentOffset += 1;
|
|
97341
|
+
if (buffer.length < currentOffset + domainLength + 2) {
|
|
97342
|
+
throw new InvalidArgumentError("Buffer too small for domain address");
|
|
97343
|
+
}
|
|
97344
|
+
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
|
|
97345
|
+
currentOffset += domainLength;
|
|
97346
|
+
break;
|
|
97347
|
+
}
|
|
97348
|
+
case 4: {
|
|
97349
|
+
if (buffer.length < currentOffset + 18) {
|
|
97350
|
+
throw new InvalidArgumentError("Buffer too small for IPv6 address");
|
|
97351
|
+
}
|
|
97352
|
+
const parts2 = [];
|
|
97353
|
+
for (let i2 = 0; i2 < 8; i2++) {
|
|
97354
|
+
const value2 = buffer.readUInt16BE(currentOffset + i2 * 2);
|
|
97355
|
+
parts2.push(value2.toString(16));
|
|
97356
|
+
}
|
|
97357
|
+
address = parts2.join(":");
|
|
97358
|
+
currentOffset += 16;
|
|
97359
|
+
break;
|
|
97360
|
+
}
|
|
97361
|
+
default:
|
|
97362
|
+
throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
|
|
97363
|
+
}
|
|
97364
|
+
if (buffer.length < currentOffset + 2) {
|
|
97365
|
+
throw new InvalidArgumentError("Buffer too small for port");
|
|
97366
|
+
}
|
|
97367
|
+
const port = buffer.readUInt16BE(currentOffset);
|
|
97368
|
+
currentOffset += 2;
|
|
97369
|
+
return {
|
|
97370
|
+
address,
|
|
97371
|
+
port,
|
|
97372
|
+
bytesRead: currentOffset - offset
|
|
97373
|
+
};
|
|
97374
|
+
}
|
|
97375
|
+
function createReplyError(replyCode) {
|
|
97376
|
+
const messages = {
|
|
97377
|
+
1: "General SOCKS server failure",
|
|
97378
|
+
2: "Connection not allowed by ruleset",
|
|
97379
|
+
3: "Network unreachable",
|
|
97380
|
+
4: "Host unreachable",
|
|
97381
|
+
5: "Connection refused",
|
|
97382
|
+
6: "TTL expired",
|
|
97383
|
+
7: "Command not supported",
|
|
97384
|
+
8: "Address type not supported"
|
|
97385
|
+
};
|
|
97386
|
+
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
|
|
97387
|
+
const error48 = new Error(message);
|
|
97388
|
+
error48.code = `SOCKS5_${replyCode}`;
|
|
97389
|
+
return error48;
|
|
97390
|
+
}
|
|
97391
|
+
module2.exports = {
|
|
97392
|
+
parseAddress,
|
|
97393
|
+
parseIPv6,
|
|
97394
|
+
buildAddressBuffer,
|
|
97395
|
+
parseResponseAddress,
|
|
97396
|
+
createReplyError
|
|
97397
|
+
};
|
|
97398
|
+
}
|
|
97399
|
+
});
|
|
97400
|
+
|
|
97401
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/socks5-client.js
|
|
97402
|
+
var require_socks5_client = __commonJS({
|
|
97403
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/core/socks5-client.js"(exports2, module2) {
|
|
97404
|
+
"use strict";
|
|
97405
|
+
var { EventEmitter } = require("node:events");
|
|
97406
|
+
var { Buffer: Buffer2 } = require("node:buffer");
|
|
97407
|
+
var { InvalidArgumentError, Socks5ProxyError } = require_errors3();
|
|
97408
|
+
var { debuglog } = require("node:util");
|
|
97409
|
+
var { parseAddress } = require_socks5_utils();
|
|
97410
|
+
var debug = debuglog("undici:socks5");
|
|
97411
|
+
var SOCKS_VERSION = 5;
|
|
97412
|
+
var AUTH_METHODS = {
|
|
97413
|
+
NO_AUTH: 0,
|
|
97414
|
+
GSSAPI: 1,
|
|
97415
|
+
USERNAME_PASSWORD: 2,
|
|
97416
|
+
NO_ACCEPTABLE: 255
|
|
97417
|
+
};
|
|
97418
|
+
var COMMANDS = {
|
|
97419
|
+
CONNECT: 1,
|
|
97420
|
+
BIND: 2,
|
|
97421
|
+
UDP_ASSOCIATE: 3
|
|
97422
|
+
};
|
|
97423
|
+
var ADDRESS_TYPES = {
|
|
97424
|
+
IPV4: 1,
|
|
97425
|
+
DOMAIN: 3,
|
|
97426
|
+
IPV6: 4
|
|
97427
|
+
};
|
|
97428
|
+
var REPLY_CODES = {
|
|
97429
|
+
SUCCEEDED: 0,
|
|
97430
|
+
GENERAL_FAILURE: 1,
|
|
97431
|
+
CONNECTION_NOT_ALLOWED: 2,
|
|
97432
|
+
NETWORK_UNREACHABLE: 3,
|
|
97433
|
+
HOST_UNREACHABLE: 4,
|
|
97434
|
+
CONNECTION_REFUSED: 5,
|
|
97435
|
+
TTL_EXPIRED: 6,
|
|
97436
|
+
COMMAND_NOT_SUPPORTED: 7,
|
|
97437
|
+
ADDRESS_TYPE_NOT_SUPPORTED: 8
|
|
97438
|
+
};
|
|
97439
|
+
var STATES = {
|
|
97440
|
+
INITIAL: "initial",
|
|
97441
|
+
HANDSHAKING: "handshaking",
|
|
97442
|
+
AUTHENTICATING: "authenticating",
|
|
97443
|
+
CONNECTING: "connecting",
|
|
97444
|
+
CONNECTED: "connected",
|
|
97445
|
+
ERROR: "error",
|
|
97446
|
+
CLOSED: "closed"
|
|
97447
|
+
};
|
|
97448
|
+
var Socks5Client = class extends EventEmitter {
|
|
97449
|
+
constructor(socket, options2 = {}) {
|
|
97450
|
+
super();
|
|
97451
|
+
if (!socket) {
|
|
97452
|
+
throw new InvalidArgumentError("socket is required");
|
|
97453
|
+
}
|
|
97454
|
+
this.socket = socket;
|
|
97455
|
+
this.options = options2;
|
|
97456
|
+
this.state = STATES.INITIAL;
|
|
97457
|
+
this.buffer = Buffer2.alloc(0);
|
|
97458
|
+
this.authMethods = [];
|
|
97459
|
+
if (options2.username && options2.password) {
|
|
97460
|
+
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
|
|
97461
|
+
}
|
|
97462
|
+
this.authMethods.push(AUTH_METHODS.NO_AUTH);
|
|
97463
|
+
this.socket.on("data", this.onData.bind(this));
|
|
97464
|
+
this.socket.on("error", this.onError.bind(this));
|
|
97465
|
+
this.socket.on("close", this.onClose.bind(this));
|
|
97466
|
+
}
|
|
97467
|
+
/**
|
|
97468
|
+
* Handle incoming data from the socket
|
|
97469
|
+
*/
|
|
97470
|
+
onData(data) {
|
|
97471
|
+
debug("received data", data.length, "bytes in state", this.state);
|
|
97472
|
+
this.buffer = Buffer2.concat([this.buffer, data]);
|
|
97473
|
+
try {
|
|
97474
|
+
switch (this.state) {
|
|
97475
|
+
case STATES.HANDSHAKING:
|
|
97476
|
+
this.handleHandshakeResponse();
|
|
97477
|
+
break;
|
|
97478
|
+
case STATES.AUTHENTICATING:
|
|
97479
|
+
this.handleAuthResponse();
|
|
97480
|
+
break;
|
|
97481
|
+
case STATES.CONNECTING:
|
|
97482
|
+
this.handleConnectResponse();
|
|
97483
|
+
break;
|
|
97484
|
+
}
|
|
97485
|
+
} catch (err2) {
|
|
97486
|
+
this.onError(err2);
|
|
97487
|
+
}
|
|
97488
|
+
}
|
|
97489
|
+
/**
|
|
97490
|
+
* Handle socket errors
|
|
97491
|
+
*/
|
|
97492
|
+
onError(err2) {
|
|
97493
|
+
debug("socket error", err2);
|
|
97494
|
+
this.state = STATES.ERROR;
|
|
97495
|
+
this.emit("error", err2);
|
|
97496
|
+
this.destroy();
|
|
97497
|
+
}
|
|
97498
|
+
/**
|
|
97499
|
+
* Handle socket close
|
|
97500
|
+
*/
|
|
97501
|
+
onClose() {
|
|
97502
|
+
debug("socket closed");
|
|
97503
|
+
this.state = STATES.CLOSED;
|
|
97504
|
+
this.emit("close");
|
|
97505
|
+
}
|
|
97506
|
+
/**
|
|
97507
|
+
* Destroy the client and underlying socket
|
|
97508
|
+
*/
|
|
97509
|
+
destroy() {
|
|
97510
|
+
if (this.socket && !this.socket.destroyed) {
|
|
97511
|
+
this.socket.destroy();
|
|
97512
|
+
}
|
|
97513
|
+
}
|
|
97514
|
+
/**
|
|
97515
|
+
* Start the SOCKS5 handshake
|
|
97516
|
+
*/
|
|
97517
|
+
handshake() {
|
|
97518
|
+
if (this.state !== STATES.INITIAL) {
|
|
97519
|
+
throw new InvalidArgumentError("Handshake already started");
|
|
97520
|
+
}
|
|
97521
|
+
debug("starting handshake with", this.authMethods.length, "auth methods");
|
|
97522
|
+
this.state = STATES.HANDSHAKING;
|
|
97523
|
+
const request = Buffer2.alloc(2 + this.authMethods.length);
|
|
97524
|
+
request[0] = SOCKS_VERSION;
|
|
97525
|
+
request[1] = this.authMethods.length;
|
|
97526
|
+
this.authMethods.forEach((method, i2) => {
|
|
97527
|
+
request[2 + i2] = method;
|
|
97528
|
+
});
|
|
97529
|
+
this.socket.write(request);
|
|
97530
|
+
}
|
|
97531
|
+
/**
|
|
97532
|
+
* Handle handshake response from server
|
|
97533
|
+
*/
|
|
97534
|
+
handleHandshakeResponse() {
|
|
97535
|
+
if (this.buffer.length < 2) {
|
|
97536
|
+
return;
|
|
97537
|
+
}
|
|
97538
|
+
const version2 = this.buffer[0];
|
|
97539
|
+
const method = this.buffer[1];
|
|
97540
|
+
if (version2 !== SOCKS_VERSION) {
|
|
97541
|
+
throw new Socks5ProxyError(`Invalid SOCKS version: ${version2}`, "UND_ERR_SOCKS5_VERSION");
|
|
97542
|
+
}
|
|
97543
|
+
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
|
|
97544
|
+
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
|
|
97545
|
+
}
|
|
97546
|
+
this.buffer = this.buffer.subarray(2);
|
|
97547
|
+
debug("server selected auth method", method);
|
|
97548
|
+
if (method === AUTH_METHODS.NO_AUTH) {
|
|
97549
|
+
this.emit("authenticated");
|
|
97550
|
+
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
|
|
97551
|
+
this.state = STATES.AUTHENTICATING;
|
|
97552
|
+
this.sendAuthRequest();
|
|
97553
|
+
} else {
|
|
97554
|
+
throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
|
|
97555
|
+
}
|
|
97556
|
+
}
|
|
97557
|
+
/**
|
|
97558
|
+
* Send username/password authentication request
|
|
97559
|
+
*/
|
|
97560
|
+
sendAuthRequest() {
|
|
97561
|
+
const { username, password } = this.options;
|
|
97562
|
+
if (!username || !password) {
|
|
97563
|
+
throw new InvalidArgumentError("Username and password required for authentication");
|
|
97564
|
+
}
|
|
97565
|
+
debug("sending username/password auth");
|
|
97566
|
+
const usernameBuffer = Buffer2.from(username);
|
|
97567
|
+
const passwordBuffer = Buffer2.from(password);
|
|
97568
|
+
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
|
|
97569
|
+
throw new InvalidArgumentError("Username or password too long");
|
|
97570
|
+
}
|
|
97571
|
+
const request = Buffer2.alloc(3 + usernameBuffer.length + passwordBuffer.length);
|
|
97572
|
+
request[0] = 1;
|
|
97573
|
+
request[1] = usernameBuffer.length;
|
|
97574
|
+
usernameBuffer.copy(request, 2);
|
|
97575
|
+
request[2 + usernameBuffer.length] = passwordBuffer.length;
|
|
97576
|
+
passwordBuffer.copy(request, 3 + usernameBuffer.length);
|
|
97577
|
+
this.socket.write(request);
|
|
97578
|
+
}
|
|
97579
|
+
/**
|
|
97580
|
+
* Handle authentication response
|
|
97581
|
+
*/
|
|
97582
|
+
handleAuthResponse() {
|
|
97583
|
+
if (this.buffer.length < 2) {
|
|
97584
|
+
return;
|
|
97585
|
+
}
|
|
97586
|
+
const version2 = this.buffer[0];
|
|
97587
|
+
const status = this.buffer[1];
|
|
97588
|
+
if (version2 !== 1) {
|
|
97589
|
+
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version2}`, "UND_ERR_SOCKS5_AUTH_VERSION");
|
|
97590
|
+
}
|
|
97591
|
+
if (status !== 0) {
|
|
97592
|
+
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
|
|
97593
|
+
}
|
|
97594
|
+
this.buffer = this.buffer.subarray(2);
|
|
97595
|
+
debug("authentication successful");
|
|
97596
|
+
this.emit("authenticated");
|
|
97597
|
+
}
|
|
97598
|
+
/**
|
|
97599
|
+
* Send CONNECT command
|
|
97600
|
+
* @param {string} address - Target address (IP or domain)
|
|
97601
|
+
* @param {number} port - Target port
|
|
97602
|
+
*/
|
|
97603
|
+
connect(address, port) {
|
|
97604
|
+
if (this.state === STATES.CONNECTED) {
|
|
97605
|
+
throw new InvalidArgumentError("Already connected");
|
|
97606
|
+
}
|
|
97607
|
+
debug("connecting to", address, port);
|
|
97608
|
+
this.state = STATES.CONNECTING;
|
|
97609
|
+
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
|
|
97610
|
+
this.socket.write(request);
|
|
97611
|
+
}
|
|
97612
|
+
/**
|
|
97613
|
+
* Build a SOCKS5 request
|
|
97614
|
+
*/
|
|
97615
|
+
buildConnectRequest(command, address, port) {
|
|
97616
|
+
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
|
|
97617
|
+
const request = Buffer2.alloc(4 + addressBuffer.length + 2);
|
|
97618
|
+
request[0] = SOCKS_VERSION;
|
|
97619
|
+
request[1] = command;
|
|
97620
|
+
request[2] = 0;
|
|
97621
|
+
request[3] = addressType;
|
|
97622
|
+
addressBuffer.copy(request, 4);
|
|
97623
|
+
request.writeUInt16BE(port, 4 + addressBuffer.length);
|
|
97624
|
+
return request;
|
|
97625
|
+
}
|
|
97626
|
+
/**
|
|
97627
|
+
* Handle CONNECT response
|
|
97628
|
+
*/
|
|
97629
|
+
handleConnectResponse() {
|
|
97630
|
+
if (this.buffer.length < 4) {
|
|
97631
|
+
return;
|
|
97632
|
+
}
|
|
97633
|
+
const version2 = this.buffer[0];
|
|
97634
|
+
const reply = this.buffer[1];
|
|
97635
|
+
const addressType = this.buffer[3];
|
|
97636
|
+
if (version2 !== SOCKS_VERSION) {
|
|
97637
|
+
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version2}`, "UND_ERR_SOCKS5_REPLY_VERSION");
|
|
97638
|
+
}
|
|
97639
|
+
let responseLength = 4;
|
|
97640
|
+
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
97641
|
+
responseLength += 4 + 2;
|
|
97642
|
+
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
97643
|
+
if (this.buffer.length < 5) {
|
|
97644
|
+
return;
|
|
97645
|
+
}
|
|
97646
|
+
responseLength += 1 + this.buffer[4] + 2;
|
|
97647
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
97648
|
+
responseLength += 16 + 2;
|
|
97649
|
+
} else {
|
|
97650
|
+
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
|
|
97651
|
+
}
|
|
97652
|
+
if (this.buffer.length < responseLength) {
|
|
97653
|
+
return;
|
|
97654
|
+
}
|
|
97655
|
+
if (reply !== REPLY_CODES.SUCCEEDED) {
|
|
97656
|
+
const errorMessage = this.getReplyErrorMessage(reply);
|
|
97657
|
+
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
|
|
97658
|
+
}
|
|
97659
|
+
let boundAddress;
|
|
97660
|
+
let offset = 4;
|
|
97661
|
+
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
97662
|
+
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
|
|
97663
|
+
offset += 4;
|
|
97664
|
+
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
97665
|
+
const domainLength = this.buffer[offset];
|
|
97666
|
+
offset += 1;
|
|
97667
|
+
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
|
|
97668
|
+
offset += domainLength;
|
|
97669
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
97670
|
+
const parts2 = [];
|
|
97671
|
+
for (let i2 = 0; i2 < 8; i2++) {
|
|
97672
|
+
const value2 = this.buffer.readUInt16BE(offset + i2 * 2);
|
|
97673
|
+
parts2.push(value2.toString(16));
|
|
97674
|
+
}
|
|
97675
|
+
boundAddress = parts2.join(":");
|
|
97676
|
+
offset += 16;
|
|
97677
|
+
}
|
|
97678
|
+
const boundPort = this.buffer.readUInt16BE(offset);
|
|
97679
|
+
this.buffer = this.buffer.subarray(responseLength);
|
|
97680
|
+
this.state = STATES.CONNECTED;
|
|
97681
|
+
debug("connected, bound address:", boundAddress, "port:", boundPort);
|
|
97682
|
+
this.emit("connected", { address: boundAddress, port: boundPort });
|
|
97683
|
+
}
|
|
97684
|
+
/**
|
|
97685
|
+
* Get human-readable error message for reply code
|
|
97686
|
+
*/
|
|
97687
|
+
getReplyErrorMessage(reply) {
|
|
97688
|
+
switch (reply) {
|
|
97689
|
+
case REPLY_CODES.GENERAL_FAILURE:
|
|
97690
|
+
return "General SOCKS server failure";
|
|
97691
|
+
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
|
|
97692
|
+
return "Connection not allowed by ruleset";
|
|
97693
|
+
case REPLY_CODES.NETWORK_UNREACHABLE:
|
|
97694
|
+
return "Network unreachable";
|
|
97695
|
+
case REPLY_CODES.HOST_UNREACHABLE:
|
|
97696
|
+
return "Host unreachable";
|
|
97697
|
+
case REPLY_CODES.CONNECTION_REFUSED:
|
|
97698
|
+
return "Connection refused";
|
|
97699
|
+
case REPLY_CODES.TTL_EXPIRED:
|
|
97700
|
+
return "TTL expired";
|
|
97701
|
+
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
|
|
97702
|
+
return "Command not supported";
|
|
97703
|
+
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
|
|
97704
|
+
return "Address type not supported";
|
|
97705
|
+
default:
|
|
97706
|
+
return `Unknown error code: ${reply}`;
|
|
97707
|
+
}
|
|
97708
|
+
}
|
|
97709
|
+
};
|
|
97710
|
+
module2.exports = {
|
|
97711
|
+
Socks5Client,
|
|
97712
|
+
AUTH_METHODS,
|
|
97713
|
+
COMMANDS,
|
|
97714
|
+
ADDRESS_TYPES,
|
|
97715
|
+
REPLY_CODES,
|
|
97716
|
+
STATES
|
|
97717
|
+
};
|
|
97718
|
+
}
|
|
97719
|
+
});
|
|
97720
|
+
|
|
97721
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
97722
|
+
var require_socks5_proxy_agent = __commonJS({
|
|
97723
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports2, module2) {
|
|
97724
|
+
"use strict";
|
|
97725
|
+
var net = require("node:net");
|
|
97726
|
+
var { URL: URL2 } = require("node:url");
|
|
97727
|
+
var tls;
|
|
97728
|
+
var DispatcherBase = require_dispatcher_base();
|
|
97729
|
+
var { InvalidArgumentError } = require_errors3();
|
|
97730
|
+
var { Socks5Client } = require_socks5_client();
|
|
97731
|
+
var { kDispatch, kClose, kDestroy } = require_symbols();
|
|
97732
|
+
var Pool = require_pool();
|
|
97733
|
+
var buildConnector = require_connect();
|
|
97734
|
+
var { debuglog } = require("node:util");
|
|
97735
|
+
var debug = debuglog("undici:socks5-proxy");
|
|
97736
|
+
var kProxyUrl = /* @__PURE__ */ Symbol("proxy url");
|
|
97737
|
+
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
|
|
97738
|
+
var kProxyAuth = /* @__PURE__ */ Symbol("proxy auth");
|
|
97739
|
+
var kPool = /* @__PURE__ */ Symbol("pool");
|
|
97740
|
+
var kConnector = /* @__PURE__ */ Symbol("connector");
|
|
97741
|
+
var experimentalWarningEmitted = false;
|
|
97742
|
+
var Socks5ProxyAgent = class extends DispatcherBase {
|
|
97743
|
+
constructor(proxyUrl, options2 = {}) {
|
|
97744
|
+
super();
|
|
97745
|
+
if (!experimentalWarningEmitted) {
|
|
97746
|
+
process.emitWarning(
|
|
97747
|
+
"SOCKS5 proxy support is experimental and subject to change",
|
|
97748
|
+
"ExperimentalWarning"
|
|
97749
|
+
);
|
|
97750
|
+
experimentalWarningEmitted = true;
|
|
97751
|
+
}
|
|
97752
|
+
if (!proxyUrl) {
|
|
97753
|
+
throw new InvalidArgumentError("Proxy URL is mandatory");
|
|
97754
|
+
}
|
|
97755
|
+
const url2 = typeof proxyUrl === "string" ? new URL2(proxyUrl) : proxyUrl;
|
|
97756
|
+
if (url2.protocol !== "socks5:" && url2.protocol !== "socks:") {
|
|
97757
|
+
throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
|
|
97758
|
+
}
|
|
97759
|
+
this[kProxyUrl] = url2;
|
|
97760
|
+
this[kProxyHeaders] = options2.headers || {};
|
|
97761
|
+
this[kProxyAuth] = {
|
|
97762
|
+
username: options2.username || (url2.username ? decodeURIComponent(url2.username) : null),
|
|
97763
|
+
password: options2.password || (url2.password ? decodeURIComponent(url2.password) : null)
|
|
97764
|
+
};
|
|
97765
|
+
this[kConnector] = options2.connect || buildConnector({
|
|
97766
|
+
...options2.proxyTls,
|
|
97767
|
+
servername: options2.proxyTls?.servername || url2.hostname
|
|
97768
|
+
});
|
|
97769
|
+
this[kPool] = null;
|
|
97770
|
+
}
|
|
97771
|
+
/**
|
|
97772
|
+
* Create a SOCKS5 connection to the proxy
|
|
97773
|
+
*/
|
|
97774
|
+
async createSocks5Connection(targetHost, targetPort) {
|
|
97775
|
+
const proxyHost = this[kProxyUrl].hostname;
|
|
97776
|
+
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
|
|
97777
|
+
debug("creating SOCKS5 connection to", proxyHost, proxyPort);
|
|
97778
|
+
const socket = await new Promise((resolve2, reject) => {
|
|
97779
|
+
const onConnect = () => {
|
|
97780
|
+
socket2.removeListener("error", onError);
|
|
97781
|
+
resolve2(socket2);
|
|
97782
|
+
};
|
|
97783
|
+
const onError = (err2) => {
|
|
97784
|
+
socket2.removeListener("connect", onConnect);
|
|
97785
|
+
reject(err2);
|
|
97786
|
+
};
|
|
97787
|
+
const socket2 = net.connect({
|
|
97788
|
+
host: proxyHost,
|
|
97789
|
+
port: proxyPort
|
|
97790
|
+
});
|
|
97791
|
+
socket2.once("connect", onConnect);
|
|
97792
|
+
socket2.once("error", onError);
|
|
97793
|
+
});
|
|
97794
|
+
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
|
|
97795
|
+
socks5Client.on("error", (err2) => {
|
|
97796
|
+
debug("SOCKS5 error:", err2);
|
|
97797
|
+
socket.destroy();
|
|
97798
|
+
});
|
|
97799
|
+
await socks5Client.handshake();
|
|
97800
|
+
await new Promise((resolve2, reject) => {
|
|
97801
|
+
const timeout = setTimeout(() => {
|
|
97802
|
+
reject(new Error("SOCKS5 authentication timeout"));
|
|
97803
|
+
}, 5e3);
|
|
97804
|
+
const onAuthenticated = () => {
|
|
97805
|
+
clearTimeout(timeout);
|
|
97806
|
+
socks5Client.removeListener("error", onError);
|
|
97807
|
+
resolve2();
|
|
97808
|
+
};
|
|
97809
|
+
const onError = (err2) => {
|
|
97810
|
+
clearTimeout(timeout);
|
|
97811
|
+
socks5Client.removeListener("authenticated", onAuthenticated);
|
|
97812
|
+
reject(err2);
|
|
97813
|
+
};
|
|
97814
|
+
if (socks5Client.state === "authenticated") {
|
|
97815
|
+
clearTimeout(timeout);
|
|
97816
|
+
resolve2();
|
|
97817
|
+
} else {
|
|
97818
|
+
socks5Client.once("authenticated", onAuthenticated);
|
|
97819
|
+
socks5Client.once("error", onError);
|
|
97820
|
+
}
|
|
97821
|
+
});
|
|
97822
|
+
await socks5Client.connect(targetHost, targetPort);
|
|
97823
|
+
await new Promise((resolve2, reject) => {
|
|
97824
|
+
const timeout = setTimeout(() => {
|
|
97825
|
+
reject(new Error("SOCKS5 connection timeout"));
|
|
97826
|
+
}, 5e3);
|
|
97827
|
+
const onConnected = (info2) => {
|
|
97828
|
+
debug("SOCKS5 tunnel established to", targetHost, targetPort, "via", info2);
|
|
97829
|
+
clearTimeout(timeout);
|
|
97830
|
+
socks5Client.removeListener("error", onError);
|
|
97831
|
+
resolve2();
|
|
97832
|
+
};
|
|
97833
|
+
const onError = (err2) => {
|
|
97834
|
+
clearTimeout(timeout);
|
|
97835
|
+
socks5Client.removeListener("connected", onConnected);
|
|
97836
|
+
reject(err2);
|
|
97837
|
+
};
|
|
97838
|
+
socks5Client.once("connected", onConnected);
|
|
97839
|
+
socks5Client.once("error", onError);
|
|
97840
|
+
});
|
|
97841
|
+
return socket;
|
|
97842
|
+
}
|
|
97843
|
+
/**
|
|
97844
|
+
* Dispatch a request through the SOCKS5 proxy
|
|
97845
|
+
*/
|
|
97846
|
+
async [kDispatch](opts, handler2) {
|
|
97847
|
+
const { origin } = opts;
|
|
97848
|
+
debug("dispatching request to", origin, "via SOCKS5");
|
|
97849
|
+
try {
|
|
97850
|
+
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) {
|
|
97851
|
+
this[kPool] = new Pool(origin, {
|
|
97852
|
+
pipelining: opts.pipelining,
|
|
97853
|
+
connections: opts.connections,
|
|
97854
|
+
connect: async (connectOpts, callback) => {
|
|
97855
|
+
try {
|
|
97856
|
+
const url2 = new URL2(origin);
|
|
97857
|
+
const targetHost = url2.hostname;
|
|
97858
|
+
const targetPort = parseInt(url2.port) || (url2.protocol === "https:" ? 443 : 80);
|
|
97859
|
+
debug("establishing SOCKS5 connection to", targetHost, targetPort);
|
|
97860
|
+
const socket = await this.createSocks5Connection(targetHost, targetPort);
|
|
97861
|
+
let finalSocket = socket;
|
|
97862
|
+
if (url2.protocol === "https:") {
|
|
97863
|
+
if (!tls) {
|
|
97864
|
+
tls = require("node:tls");
|
|
97865
|
+
}
|
|
97866
|
+
debug("upgrading to TLS");
|
|
97867
|
+
finalSocket = tls.connect({
|
|
97868
|
+
socket,
|
|
97869
|
+
servername: targetHost,
|
|
97870
|
+
...connectOpts.tls || {}
|
|
97871
|
+
});
|
|
97872
|
+
await new Promise((resolve2, reject) => {
|
|
97873
|
+
finalSocket.once("secureConnect", resolve2);
|
|
97874
|
+
finalSocket.once("error", reject);
|
|
97875
|
+
});
|
|
97876
|
+
}
|
|
97877
|
+
callback(null, finalSocket);
|
|
97878
|
+
} catch (err2) {
|
|
97879
|
+
debug("SOCKS5 connection error:", err2);
|
|
97880
|
+
callback(err2);
|
|
97881
|
+
}
|
|
97882
|
+
}
|
|
97883
|
+
});
|
|
97884
|
+
}
|
|
97885
|
+
return this[kPool][kDispatch](opts, handler2);
|
|
97886
|
+
} catch (err2) {
|
|
97887
|
+
debug("dispatch error:", err2);
|
|
97888
|
+
if (typeof handler2.onError === "function") {
|
|
97889
|
+
handler2.onError(err2);
|
|
97890
|
+
} else {
|
|
97891
|
+
throw err2;
|
|
97892
|
+
}
|
|
97893
|
+
}
|
|
97894
|
+
}
|
|
97895
|
+
async [kClose]() {
|
|
97896
|
+
if (this[kPool]) {
|
|
97897
|
+
await this[kPool].close();
|
|
97898
|
+
}
|
|
97899
|
+
}
|
|
97900
|
+
async [kDestroy](err2) {
|
|
97901
|
+
if (this[kPool]) {
|
|
97902
|
+
await this[kPool].destroy(err2);
|
|
97903
|
+
}
|
|
97904
|
+
}
|
|
97905
|
+
};
|
|
97906
|
+
module2.exports = Socks5ProxyAgent;
|
|
97907
|
+
}
|
|
97908
|
+
});
|
|
97909
|
+
|
|
97910
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
97156
97911
|
var require_proxy_agent = __commonJS({
|
|
97157
|
-
"../../node_modules/.pnpm/undici@7.
|
|
97912
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
|
|
97158
97913
|
"use strict";
|
|
97159
97914
|
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
|
|
97160
97915
|
var Agent = require_agent();
|
|
@@ -97164,6 +97919,7 @@ var require_proxy_agent = __commonJS({
|
|
|
97164
97919
|
var buildConnector = require_connect();
|
|
97165
97920
|
var Client = require_client();
|
|
97166
97921
|
var { channels } = require_diagnostics();
|
|
97922
|
+
var Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
97167
97923
|
var kAgent = /* @__PURE__ */ Symbol("proxy agent");
|
|
97168
97924
|
var kClient = /* @__PURE__ */ Symbol("proxy client");
|
|
97169
97925
|
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
|
|
@@ -97262,6 +98018,16 @@ var require_proxy_agent = __commonJS({
|
|
|
97262
98018
|
const agentFactory = opts.factory || defaultAgentFactory;
|
|
97263
98019
|
const factory = (origin2, options2) => {
|
|
97264
98020
|
const { protocol: protocol2 } = new URL(origin2);
|
|
98021
|
+
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") {
|
|
98022
|
+
return new Socks5ProxyAgent(this[kProxy].uri, {
|
|
98023
|
+
headers: this[kProxyHeaders],
|
|
98024
|
+
connect,
|
|
98025
|
+
factory: agentFactory,
|
|
98026
|
+
username: opts.username || username,
|
|
98027
|
+
password: opts.password || password,
|
|
98028
|
+
proxyTls: opts.proxyTls
|
|
98029
|
+
});
|
|
98030
|
+
}
|
|
97265
98031
|
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
|
|
97266
98032
|
return new Http1ProxyWrapper(this[kProxy].uri, {
|
|
97267
98033
|
headers: this[kProxyHeaders],
|
|
@@ -97271,11 +98037,19 @@ var require_proxy_agent = __commonJS({
|
|
|
97271
98037
|
}
|
|
97272
98038
|
return agentFactory(origin2, options2);
|
|
97273
98039
|
};
|
|
97274
|
-
|
|
98040
|
+
if (protocol === "socks5:" || protocol === "socks:") {
|
|
98041
|
+
this[kClient] = null;
|
|
98042
|
+
} else {
|
|
98043
|
+
this[kClient] = clientFactory(url2, { connect });
|
|
98044
|
+
}
|
|
97275
98045
|
this[kAgent] = new Agent({
|
|
97276
98046
|
...opts,
|
|
97277
98047
|
factory,
|
|
97278
98048
|
connect: async (opts2, callback) => {
|
|
98049
|
+
if (!this[kClient]) {
|
|
98050
|
+
callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
|
|
98051
|
+
return;
|
|
98052
|
+
}
|
|
97279
98053
|
let requestedPath = opts2.host;
|
|
97280
98054
|
if (!opts2.port) {
|
|
97281
98055
|
requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
|
|
@@ -97355,16 +98129,18 @@ var require_proxy_agent = __commonJS({
|
|
|
97355
98129
|
}
|
|
97356
98130
|
}
|
|
97357
98131
|
[kClose]() {
|
|
97358
|
-
|
|
97359
|
-
|
|
97360
|
-
this[kClient].close()
|
|
97361
|
-
|
|
98132
|
+
const promises = [this[kAgent].close()];
|
|
98133
|
+
if (this[kClient]) {
|
|
98134
|
+
promises.push(this[kClient].close());
|
|
98135
|
+
}
|
|
98136
|
+
return Promise.all(promises);
|
|
97362
98137
|
}
|
|
97363
98138
|
[kDestroy]() {
|
|
97364
|
-
|
|
97365
|
-
|
|
97366
|
-
this[kClient].destroy()
|
|
97367
|
-
|
|
98139
|
+
const promises = [this[kAgent].destroy()];
|
|
98140
|
+
if (this[kClient]) {
|
|
98141
|
+
promises.push(this[kClient].destroy());
|
|
98142
|
+
}
|
|
98143
|
+
return Promise.all(promises);
|
|
97368
98144
|
}
|
|
97369
98145
|
};
|
|
97370
98146
|
function buildHeaders(headers) {
|
|
@@ -97387,9 +98163,9 @@ var require_proxy_agent = __commonJS({
|
|
|
97387
98163
|
}
|
|
97388
98164
|
});
|
|
97389
98165
|
|
|
97390
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
98166
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
97391
98167
|
var require_env_http_proxy_agent = __commonJS({
|
|
97392
|
-
"../../node_modules/.pnpm/undici@7.
|
|
98168
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
|
|
97393
98169
|
"use strict";
|
|
97394
98170
|
var DispatcherBase = require_dispatcher_base();
|
|
97395
98171
|
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
@@ -97510,9 +98286,9 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
97510
98286
|
}
|
|
97511
98287
|
});
|
|
97512
98288
|
|
|
97513
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
98289
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/retry-handler.js
|
|
97514
98290
|
var require_retry_handler = __commonJS({
|
|
97515
|
-
"../../node_modules/.pnpm/undici@7.
|
|
98291
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
|
|
97516
98292
|
"use strict";
|
|
97517
98293
|
var assert4 = require("node:assert");
|
|
97518
98294
|
var { kRetryHandlerDefaultRetry } = require_symbols();
|
|
@@ -97819,9 +98595,9 @@ var require_retry_handler = __commonJS({
|
|
|
97819
98595
|
}
|
|
97820
98596
|
});
|
|
97821
98597
|
|
|
97822
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
98598
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
97823
98599
|
var require_retry_agent = __commonJS({
|
|
97824
|
-
"../../node_modules/.pnpm/undici@7.
|
|
98600
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
|
|
97825
98601
|
"use strict";
|
|
97826
98602
|
var Dispatcher = require_dispatcher();
|
|
97827
98603
|
var RetryHandler = require_retry_handler();
|
|
@@ -97854,9 +98630,9 @@ var require_retry_agent = __commonJS({
|
|
|
97854
98630
|
}
|
|
97855
98631
|
});
|
|
97856
98632
|
|
|
97857
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
98633
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
97858
98634
|
var require_h2c_client = __commonJS({
|
|
97859
|
-
"../../node_modules/.pnpm/undici@7.
|
|
98635
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/dispatcher/h2c-client.js"(exports2, module2) {
|
|
97860
98636
|
"use strict";
|
|
97861
98637
|
var { InvalidArgumentError } = require_errors3();
|
|
97862
98638
|
var Client = require_client();
|
|
@@ -97897,9 +98673,9 @@ var require_h2c_client = __commonJS({
|
|
|
97897
98673
|
}
|
|
97898
98674
|
});
|
|
97899
98675
|
|
|
97900
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
98676
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/readable.js
|
|
97901
98677
|
var require_readable = __commonJS({
|
|
97902
|
-
"../../node_modules/.pnpm/undici@7.
|
|
98678
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/readable.js"(exports2, module2) {
|
|
97903
98679
|
"use strict";
|
|
97904
98680
|
var assert4 = require("node:assert");
|
|
97905
98681
|
var { Readable } = require("node:stream");
|
|
@@ -98299,9 +99075,9 @@ var require_readable = __commonJS({
|
|
|
98299
99075
|
}
|
|
98300
99076
|
});
|
|
98301
99077
|
|
|
98302
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99078
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-request.js
|
|
98303
99079
|
var require_api_request = __commonJS({
|
|
98304
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99080
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
|
|
98305
99081
|
"use strict";
|
|
98306
99082
|
var assert4 = require("node:assert");
|
|
98307
99083
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -98477,9 +99253,9 @@ var require_api_request = __commonJS({
|
|
|
98477
99253
|
}
|
|
98478
99254
|
});
|
|
98479
99255
|
|
|
98480
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99256
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/abort-signal.js
|
|
98481
99257
|
var require_abort_signal = __commonJS({
|
|
98482
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99258
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
|
|
98483
99259
|
"use strict";
|
|
98484
99260
|
var { addAbortListener } = require_util3();
|
|
98485
99261
|
var { RequestAbortedError } = require_errors3();
|
|
@@ -98529,9 +99305,9 @@ var require_abort_signal = __commonJS({
|
|
|
98529
99305
|
}
|
|
98530
99306
|
});
|
|
98531
99307
|
|
|
98532
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99308
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-stream.js
|
|
98533
99309
|
var require_api_stream = __commonJS({
|
|
98534
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99310
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
|
|
98535
99311
|
"use strict";
|
|
98536
99312
|
var assert4 = require("node:assert");
|
|
98537
99313
|
var { finished } = require("node:stream");
|
|
@@ -98690,9 +99466,9 @@ var require_api_stream = __commonJS({
|
|
|
98690
99466
|
}
|
|
98691
99467
|
});
|
|
98692
99468
|
|
|
98693
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99469
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-pipeline.js
|
|
98694
99470
|
var require_api_pipeline = __commonJS({
|
|
98695
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99471
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
|
|
98696
99472
|
"use strict";
|
|
98697
99473
|
var {
|
|
98698
99474
|
Readable,
|
|
@@ -98891,9 +99667,9 @@ var require_api_pipeline = __commonJS({
|
|
|
98891
99667
|
}
|
|
98892
99668
|
});
|
|
98893
99669
|
|
|
98894
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99670
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-upgrade.js
|
|
98895
99671
|
var require_api_upgrade = __commonJS({
|
|
98896
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99672
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
|
|
98897
99673
|
"use strict";
|
|
98898
99674
|
var { InvalidArgumentError, SocketError } = require_errors3();
|
|
98899
99675
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -98985,9 +99761,9 @@ var require_api_upgrade = __commonJS({
|
|
|
98985
99761
|
}
|
|
98986
99762
|
});
|
|
98987
99763
|
|
|
98988
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99764
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-connect.js
|
|
98989
99765
|
var require_api_connect = __commonJS({
|
|
98990
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99766
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
|
|
98991
99767
|
"use strict";
|
|
98992
99768
|
var assert4 = require("node:assert");
|
|
98993
99769
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -99076,9 +99852,9 @@ var require_api_connect = __commonJS({
|
|
|
99076
99852
|
}
|
|
99077
99853
|
});
|
|
99078
99854
|
|
|
99079
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99855
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/index.js
|
|
99080
99856
|
var require_api = __commonJS({
|
|
99081
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99857
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/api/index.js"(exports2, module2) {
|
|
99082
99858
|
"use strict";
|
|
99083
99859
|
module2.exports.request = require_api_request();
|
|
99084
99860
|
module2.exports.stream = require_api_stream();
|
|
@@ -99088,9 +99864,9 @@ var require_api = __commonJS({
|
|
|
99088
99864
|
}
|
|
99089
99865
|
});
|
|
99090
99866
|
|
|
99091
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99867
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-errors.js
|
|
99092
99868
|
var require_mock_errors = __commonJS({
|
|
99093
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99869
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
|
|
99094
99870
|
"use strict";
|
|
99095
99871
|
var { UndiciError } = require_errors3();
|
|
99096
99872
|
var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
@@ -99114,9 +99890,9 @@ var require_mock_errors = __commonJS({
|
|
|
99114
99890
|
}
|
|
99115
99891
|
});
|
|
99116
99892
|
|
|
99117
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99893
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-symbols.js
|
|
99118
99894
|
var require_mock_symbols = __commonJS({
|
|
99119
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99895
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
|
|
99120
99896
|
"use strict";
|
|
99121
99897
|
module2.exports = {
|
|
99122
99898
|
kAgent: /* @__PURE__ */ Symbol("agent"),
|
|
@@ -99145,14 +99921,15 @@ var require_mock_symbols = __commonJS({
|
|
|
99145
99921
|
kMockAgentAddCallHistoryLog: /* @__PURE__ */ Symbol("mock agent add call history log"),
|
|
99146
99922
|
kMockAgentIsCallHistoryEnabled: /* @__PURE__ */ Symbol("mock agent is call history enabled"),
|
|
99147
99923
|
kMockAgentAcceptsNonStandardSearchParameters: /* @__PURE__ */ Symbol("mock agent accepts non standard search parameters"),
|
|
99148
|
-
kMockCallHistoryAddLog: /* @__PURE__ */ Symbol("mock call history add log")
|
|
99924
|
+
kMockCallHistoryAddLog: /* @__PURE__ */ Symbol("mock call history add log"),
|
|
99925
|
+
kTotalDispatchCount: /* @__PURE__ */ Symbol("total dispatch count")
|
|
99149
99926
|
};
|
|
99150
99927
|
}
|
|
99151
99928
|
});
|
|
99152
99929
|
|
|
99153
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
99930
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-utils.js
|
|
99154
99931
|
var require_mock_utils = __commonJS({
|
|
99155
|
-
"../../node_modules/.pnpm/undici@7.
|
|
99932
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
|
|
99156
99933
|
"use strict";
|
|
99157
99934
|
var { MockNotMatchedError } = require_mock_errors();
|
|
99158
99935
|
var {
|
|
@@ -99160,7 +99937,8 @@ var require_mock_utils = __commonJS({
|
|
|
99160
99937
|
kMockAgent,
|
|
99161
99938
|
kOriginalDispatch,
|
|
99162
99939
|
kOrigin,
|
|
99163
|
-
kGetNetConnect
|
|
99940
|
+
kGetNetConnect,
|
|
99941
|
+
kTotalDispatchCount
|
|
99164
99942
|
} = require_mock_symbols();
|
|
99165
99943
|
var { serializePathWithQuery } = require_util3();
|
|
99166
99944
|
var { STATUS_CODES } = require("node:http");
|
|
@@ -99320,6 +100098,7 @@ var require_mock_utils = __commonJS({
|
|
|
99320
100098
|
const replyData = typeof data === "function" ? { callback: data } : { ...data };
|
|
99321
100099
|
const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
|
|
99322
100100
|
mockDispatches.push(newMockDispatch);
|
|
100101
|
+
mockDispatches[kTotalDispatchCount] = (mockDispatches[kTotalDispatchCount] || 0) + 1;
|
|
99323
100102
|
return newMockDispatch;
|
|
99324
100103
|
}
|
|
99325
100104
|
function deleteMockDispatch(mockDispatches, key) {
|
|
@@ -99452,13 +100231,16 @@ var require_mock_utils = __commonJS({
|
|
|
99452
100231
|
} catch (error48) {
|
|
99453
100232
|
if (error48.code === "UND_MOCK_ERR_MOCK_NOT_MATCHED") {
|
|
99454
100233
|
const netConnect = agent[kGetNetConnect]();
|
|
100234
|
+
const totalInterceptsCount = this[kDispatches][kTotalDispatchCount] || this[kDispatches].length;
|
|
100235
|
+
const pendingInterceptsCount = this[kDispatches].filter(({ consumed }) => !consumed).length;
|
|
100236
|
+
const interceptsMessage = `, ${pendingInterceptsCount} interceptor(s) remaining out of ${totalInterceptsCount} defined`;
|
|
99455
100237
|
if (netConnect === false) {
|
|
99456
|
-
throw new MockNotMatchedError(`${error48.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
|
|
100238
|
+
throw new MockNotMatchedError(`${error48.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)${interceptsMessage}`);
|
|
99457
100239
|
}
|
|
99458
100240
|
if (checkNetConnect(netConnect, origin)) {
|
|
99459
100241
|
originalDispatch.call(this, opts, handler2);
|
|
99460
100242
|
} else {
|
|
99461
|
-
throw new MockNotMatchedError(`${error48.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
|
|
100243
|
+
throw new MockNotMatchedError(`${error48.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)${interceptsMessage}`);
|
|
99462
100244
|
}
|
|
99463
100245
|
} else {
|
|
99464
100246
|
throw error48;
|
|
@@ -99522,9 +100304,9 @@ var require_mock_utils = __commonJS({
|
|
|
99522
100304
|
}
|
|
99523
100305
|
});
|
|
99524
100306
|
|
|
99525
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100307
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-interceptor.js
|
|
99526
100308
|
var require_mock_interceptor = __commonJS({
|
|
99527
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100309
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
|
|
99528
100310
|
"use strict";
|
|
99529
100311
|
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
99530
100312
|
var {
|
|
@@ -99686,9 +100468,9 @@ var require_mock_interceptor = __commonJS({
|
|
|
99686
100468
|
}
|
|
99687
100469
|
});
|
|
99688
100470
|
|
|
99689
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100471
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-client.js
|
|
99690
100472
|
var require_mock_client = __commonJS({
|
|
99691
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100473
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
|
|
99692
100474
|
"use strict";
|
|
99693
100475
|
var { promisify } = require("node:util");
|
|
99694
100476
|
var Client = require_client();
|
|
@@ -99747,9 +100529,9 @@ var require_mock_client = __commonJS({
|
|
|
99747
100529
|
}
|
|
99748
100530
|
});
|
|
99749
100531
|
|
|
99750
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100532
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-call-history.js
|
|
99751
100533
|
var require_mock_call_history = __commonJS({
|
|
99752
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100534
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-call-history.js"(exports2, module2) {
|
|
99753
100535
|
"use strict";
|
|
99754
100536
|
var { kMockCallHistoryAddLog } = require_mock_symbols();
|
|
99755
100537
|
var { InvalidArgumentError } = require_errors3();
|
|
@@ -99947,9 +100729,9 @@ var require_mock_call_history = __commonJS({
|
|
|
99947
100729
|
}
|
|
99948
100730
|
});
|
|
99949
100731
|
|
|
99950
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100732
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-pool.js
|
|
99951
100733
|
var require_mock_pool = __commonJS({
|
|
99952
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100734
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
|
|
99953
100735
|
"use strict";
|
|
99954
100736
|
var { promisify } = require("node:util");
|
|
99955
100737
|
var Pool = require_pool();
|
|
@@ -100008,9 +100790,9 @@ var require_mock_pool = __commonJS({
|
|
|
100008
100790
|
}
|
|
100009
100791
|
});
|
|
100010
100792
|
|
|
100011
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100793
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
100012
100794
|
var require_pending_interceptors_formatter = __commonJS({
|
|
100013
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100795
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
|
|
100014
100796
|
"use strict";
|
|
100015
100797
|
var { Transform } = require("node:stream");
|
|
100016
100798
|
var { Console } = require("node:console");
|
|
@@ -100049,9 +100831,9 @@ var require_pending_interceptors_formatter = __commonJS({
|
|
|
100049
100831
|
}
|
|
100050
100832
|
});
|
|
100051
100833
|
|
|
100052
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
100834
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-agent.js
|
|
100053
100835
|
var require_mock_agent = __commonJS({
|
|
100054
|
-
"../../node_modules/.pnpm/undici@7.
|
|
100836
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
|
|
100055
100837
|
"use strict";
|
|
100056
100838
|
var { kClients } = require_symbols();
|
|
100057
100839
|
var Agent = require_agent();
|
|
@@ -100233,9 +101015,9 @@ ${pendingInterceptorsFormatter.format(pending)}`.trim()
|
|
|
100233
101015
|
}
|
|
100234
101016
|
});
|
|
100235
101017
|
|
|
100236
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101018
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-utils.js
|
|
100237
101019
|
var require_snapshot_utils = __commonJS({
|
|
100238
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101020
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-utils.js"(exports2, module2) {
|
|
100239
101021
|
"use strict";
|
|
100240
101022
|
var { InvalidArgumentError } = require_errors3();
|
|
100241
101023
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -100319,9 +101101,9 @@ var require_snapshot_utils = __commonJS({
|
|
|
100319
101101
|
}
|
|
100320
101102
|
});
|
|
100321
101103
|
|
|
100322
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101104
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
100323
101105
|
var require_snapshot_recorder = __commonJS({
|
|
100324
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101106
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-recorder.js"(exports2, module2) {
|
|
100325
101107
|
"use strict";
|
|
100326
101108
|
var { writeFile: writeFile9, readFile: readFile17, mkdir: mkdir10 } = require("node:fs/promises");
|
|
100327
101109
|
var { dirname: dirname13, resolve: resolve2 } = require("node:path");
|
|
@@ -100695,9 +101477,9 @@ var require_snapshot_recorder = __commonJS({
|
|
|
100695
101477
|
}
|
|
100696
101478
|
});
|
|
100697
101479
|
|
|
100698
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101480
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-agent.js
|
|
100699
101481
|
var require_snapshot_agent = __commonJS({
|
|
100700
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101482
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/mock/snapshot-agent.js"(exports2, module2) {
|
|
100701
101483
|
"use strict";
|
|
100702
101484
|
var Agent = require_agent();
|
|
100703
101485
|
var MockAgent = require_mock_agent();
|
|
@@ -100982,9 +101764,9 @@ var require_snapshot_agent = __commonJS({
|
|
|
100982
101764
|
}
|
|
100983
101765
|
});
|
|
100984
101766
|
|
|
100985
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101767
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/global.js
|
|
100986
101768
|
var require_global2 = __commonJS({
|
|
100987
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101769
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/global.js"(exports2, module2) {
|
|
100988
101770
|
"use strict";
|
|
100989
101771
|
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
|
|
100990
101772
|
var { InvalidArgumentError } = require_errors3();
|
|
@@ -101029,9 +101811,9 @@ var require_global2 = __commonJS({
|
|
|
101029
101811
|
}
|
|
101030
101812
|
});
|
|
101031
101813
|
|
|
101032
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101814
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/decorator-handler.js
|
|
101033
101815
|
var require_decorator_handler = __commonJS({
|
|
101034
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101816
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
|
|
101035
101817
|
"use strict";
|
|
101036
101818
|
var assert4 = require("node:assert");
|
|
101037
101819
|
var WrapHandler = require_wrap_handler();
|
|
@@ -101085,9 +101867,9 @@ var require_decorator_handler = __commonJS({
|
|
|
101085
101867
|
}
|
|
101086
101868
|
});
|
|
101087
101869
|
|
|
101088
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
101870
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/redirect-handler.js
|
|
101089
101871
|
var require_redirect_handler = __commonJS({
|
|
101090
|
-
"../../node_modules/.pnpm/undici@7.
|
|
101872
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
|
|
101091
101873
|
"use strict";
|
|
101092
101874
|
var util2 = require_util3();
|
|
101093
101875
|
var { kBodyUsed } = require_symbols();
|
|
@@ -101230,7 +102012,7 @@ var require_redirect_handler = __commonJS({
|
|
|
101230
102012
|
}
|
|
101231
102013
|
}
|
|
101232
102014
|
} else if (headers && typeof headers === "object") {
|
|
101233
|
-
const entries =
|
|
102015
|
+
const entries = util2.hasSafeIterator(headers) ? headers : Object.entries(headers);
|
|
101234
102016
|
for (const [key, value2] of entries) {
|
|
101235
102017
|
if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
|
|
101236
102018
|
ret.push(key, value2);
|
|
@@ -101245,9 +102027,9 @@ var require_redirect_handler = __commonJS({
|
|
|
101245
102027
|
}
|
|
101246
102028
|
});
|
|
101247
102029
|
|
|
101248
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102030
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/redirect.js
|
|
101249
102031
|
var require_redirect = __commonJS({
|
|
101250
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102032
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
|
|
101251
102033
|
"use strict";
|
|
101252
102034
|
var RedirectHandler = require_redirect_handler();
|
|
101253
102035
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
@@ -101267,9 +102049,9 @@ var require_redirect = __commonJS({
|
|
|
101267
102049
|
}
|
|
101268
102050
|
});
|
|
101269
102051
|
|
|
101270
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102052
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/response-error.js
|
|
101271
102053
|
var require_response_error = __commonJS({
|
|
101272
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102054
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/response-error.js"(exports2, module2) {
|
|
101273
102055
|
"use strict";
|
|
101274
102056
|
var DecoratorHandler = require_decorator_handler();
|
|
101275
102057
|
var { ResponseError } = require_errors3();
|
|
@@ -101349,9 +102131,9 @@ var require_response_error = __commonJS({
|
|
|
101349
102131
|
}
|
|
101350
102132
|
});
|
|
101351
102133
|
|
|
101352
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102134
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/retry.js
|
|
101353
102135
|
var require_retry = __commonJS({
|
|
101354
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102136
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
|
|
101355
102137
|
"use strict";
|
|
101356
102138
|
var RetryHandler = require_retry_handler();
|
|
101357
102139
|
module2.exports = (globalOpts) => {
|
|
@@ -101373,9 +102155,9 @@ var require_retry = __commonJS({
|
|
|
101373
102155
|
}
|
|
101374
102156
|
});
|
|
101375
102157
|
|
|
101376
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102158
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/dump.js
|
|
101377
102159
|
var require_dump = __commonJS({
|
|
101378
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102160
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
|
|
101379
102161
|
"use strict";
|
|
101380
102162
|
var { InvalidArgumentError, RequestAbortedError } = require_errors3();
|
|
101381
102163
|
var DecoratorHandler = require_decorator_handler();
|
|
@@ -101459,15 +102241,94 @@ var require_dump = __commonJS({
|
|
|
101459
102241
|
}
|
|
101460
102242
|
});
|
|
101461
102243
|
|
|
101462
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102244
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/dns.js
|
|
101463
102245
|
var require_dns2 = __commonJS({
|
|
101464
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102246
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
|
|
101465
102247
|
"use strict";
|
|
101466
102248
|
var { isIP } = require("node:net");
|
|
101467
102249
|
var { lookup } = require("node:dns");
|
|
101468
102250
|
var DecoratorHandler = require_decorator_handler();
|
|
101469
102251
|
var { InvalidArgumentError, InformationalError } = require_errors3();
|
|
101470
102252
|
var maxInt = Math.pow(2, 31) - 1;
|
|
102253
|
+
function hasSafeIterator(headers) {
|
|
102254
|
+
const prototype = Object.getPrototypeOf(headers);
|
|
102255
|
+
const ownIterator = Object.prototype.hasOwnProperty.call(headers, Symbol.iterator);
|
|
102256
|
+
return ownIterator || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
|
|
102257
|
+
}
|
|
102258
|
+
function isHostHeader(key) {
|
|
102259
|
+
return typeof key === "string" && key.toLowerCase() === "host";
|
|
102260
|
+
}
|
|
102261
|
+
function normalizeHeaders(headers) {
|
|
102262
|
+
if (headers == null) {
|
|
102263
|
+
return null;
|
|
102264
|
+
}
|
|
102265
|
+
if (Array.isArray(headers)) {
|
|
102266
|
+
if (headers.length === 0 || !Array.isArray(headers[0])) {
|
|
102267
|
+
return headers;
|
|
102268
|
+
}
|
|
102269
|
+
const normalized = [];
|
|
102270
|
+
for (const header of headers) {
|
|
102271
|
+
if (Array.isArray(header) && header.length === 2) {
|
|
102272
|
+
normalized.push(header[0], header[1]);
|
|
102273
|
+
} else {
|
|
102274
|
+
normalized.push(header);
|
|
102275
|
+
}
|
|
102276
|
+
}
|
|
102277
|
+
return normalized;
|
|
102278
|
+
}
|
|
102279
|
+
if (typeof headers === "object" && hasSafeIterator(headers)) {
|
|
102280
|
+
const normalized = [];
|
|
102281
|
+
for (const header of headers) {
|
|
102282
|
+
if (Array.isArray(header) && header.length === 2) {
|
|
102283
|
+
normalized.push(header[0], header[1]);
|
|
102284
|
+
} else {
|
|
102285
|
+
normalized.push(header);
|
|
102286
|
+
}
|
|
102287
|
+
}
|
|
102288
|
+
return normalized;
|
|
102289
|
+
}
|
|
102290
|
+
return headers;
|
|
102291
|
+
}
|
|
102292
|
+
function hasHostHeader(headers) {
|
|
102293
|
+
if (headers == null) {
|
|
102294
|
+
return false;
|
|
102295
|
+
}
|
|
102296
|
+
if (Array.isArray(headers)) {
|
|
102297
|
+
if (headers.length === 0) {
|
|
102298
|
+
return false;
|
|
102299
|
+
}
|
|
102300
|
+
for (let i2 = 0; i2 < headers.length; i2 += 2) {
|
|
102301
|
+
if (isHostHeader(headers[i2])) {
|
|
102302
|
+
return true;
|
|
102303
|
+
}
|
|
102304
|
+
}
|
|
102305
|
+
return false;
|
|
102306
|
+
}
|
|
102307
|
+
if (typeof headers === "object") {
|
|
102308
|
+
for (const key in headers) {
|
|
102309
|
+
if (isHostHeader(key)) {
|
|
102310
|
+
return true;
|
|
102311
|
+
}
|
|
102312
|
+
}
|
|
102313
|
+
}
|
|
102314
|
+
return false;
|
|
102315
|
+
}
|
|
102316
|
+
function withHostHeader(host, headers) {
|
|
102317
|
+
const normalizedHeaders = normalizeHeaders(headers);
|
|
102318
|
+
if (hasHostHeader(normalizedHeaders)) {
|
|
102319
|
+
return normalizedHeaders;
|
|
102320
|
+
}
|
|
102321
|
+
if (Array.isArray(normalizedHeaders)) {
|
|
102322
|
+
return ["host", host, ...normalizedHeaders];
|
|
102323
|
+
}
|
|
102324
|
+
if (normalizedHeaders && typeof normalizedHeaders === "object") {
|
|
102325
|
+
return {
|
|
102326
|
+
host,
|
|
102327
|
+
...normalizedHeaders
|
|
102328
|
+
};
|
|
102329
|
+
}
|
|
102330
|
+
return { host };
|
|
102331
|
+
}
|
|
101471
102332
|
var DNSStorage = class {
|
|
101472
102333
|
#maxItems = 0;
|
|
101473
102334
|
#records = /* @__PURE__ */ new Map();
|
|
@@ -101726,7 +102587,8 @@ var require_dns2 = __commonJS({
|
|
|
101726
102587
|
}
|
|
101727
102588
|
const dispatchOpts = {
|
|
101728
102589
|
...this.#opts,
|
|
101729
|
-
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}
|
|
102590
|
+
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
|
|
102591
|
+
headers: withHostHeader(this.#origin.host, this.#opts.headers)
|
|
101730
102592
|
};
|
|
101731
102593
|
this.#dispatch(dispatchOpts, this);
|
|
101732
102594
|
return;
|
|
@@ -101801,10 +102663,7 @@ var require_dns2 = __commonJS({
|
|
|
101801
102663
|
servername: origin.hostname,
|
|
101802
102664
|
// For SNI on TLS
|
|
101803
102665
|
origin: newOrigin.origin,
|
|
101804
|
-
headers:
|
|
101805
|
-
host: origin.host,
|
|
101806
|
-
...origDispatchOpts.headers
|
|
101807
|
-
}
|
|
102666
|
+
headers: withHostHeader(origin.host, origDispatchOpts.headers)
|
|
101808
102667
|
};
|
|
101809
102668
|
dispatch(
|
|
101810
102669
|
dispatchOpts,
|
|
@@ -101821,13 +102680,14 @@ var require_dns2 = __commonJS({
|
|
|
101821
102680
|
}
|
|
101822
102681
|
});
|
|
101823
102682
|
|
|
101824
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102683
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/cache.js
|
|
101825
102684
|
var require_cache = __commonJS({
|
|
101826
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102685
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/cache.js"(exports2, module2) {
|
|
101827
102686
|
"use strict";
|
|
101828
102687
|
var {
|
|
101829
102688
|
safeHTTPMethods,
|
|
101830
|
-
pathHasQueryOrFragment
|
|
102689
|
+
pathHasQueryOrFragment,
|
|
102690
|
+
hasSafeIterator
|
|
101831
102691
|
} = require_util3();
|
|
101832
102692
|
var { serializePathWithQuery } = require_util3();
|
|
101833
102693
|
function makeCacheKey(opts) {
|
|
@@ -101849,22 +102709,23 @@ var require_cache = __commonJS({
|
|
|
101849
102709
|
let headers;
|
|
101850
102710
|
if (opts.headers == null) {
|
|
101851
102711
|
headers = {};
|
|
101852
|
-
} else if (typeof opts.headers
|
|
102712
|
+
} else if (typeof opts.headers === "object") {
|
|
101853
102713
|
headers = {};
|
|
101854
|
-
|
|
101855
|
-
|
|
101856
|
-
|
|
102714
|
+
if (hasSafeIterator(opts.headers)) {
|
|
102715
|
+
for (const x of opts.headers) {
|
|
102716
|
+
if (!Array.isArray(x)) {
|
|
102717
|
+
throw new Error("opts.headers is not a valid header map");
|
|
102718
|
+
}
|
|
102719
|
+
const [key, val] = x;
|
|
102720
|
+
if (typeof key !== "string" || typeof val !== "string") {
|
|
102721
|
+
throw new Error("opts.headers is not a valid header map");
|
|
102722
|
+
}
|
|
102723
|
+
headers[key.toLowerCase()] = val;
|
|
101857
102724
|
}
|
|
101858
|
-
|
|
101859
|
-
|
|
101860
|
-
|
|
102725
|
+
} else {
|
|
102726
|
+
for (const key of Object.keys(opts.headers)) {
|
|
102727
|
+
headers[key.toLowerCase()] = opts.headers[key];
|
|
101861
102728
|
}
|
|
101862
|
-
headers[key.toLowerCase()] = val;
|
|
101863
|
-
}
|
|
101864
|
-
} else if (typeof opts.headers === "object") {
|
|
101865
|
-
headers = {};
|
|
101866
|
-
for (const key of Object.keys(opts.headers)) {
|
|
101867
|
-
headers[key.toLowerCase()] = opts.headers[key];
|
|
101868
102729
|
}
|
|
101869
102730
|
} else {
|
|
101870
102731
|
throw new Error("opts.headers is not an object");
|
|
@@ -102089,9 +102950,9 @@ var require_cache = __commonJS({
|
|
|
102089
102950
|
}
|
|
102090
102951
|
});
|
|
102091
102952
|
|
|
102092
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
102953
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/date.js
|
|
102093
102954
|
var require_date = __commonJS({
|
|
102094
|
-
"../../node_modules/.pnpm/undici@7.
|
|
102955
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/util/date.js"(exports2, module2) {
|
|
102095
102956
|
"use strict";
|
|
102096
102957
|
function parseHttpDate(date5) {
|
|
102097
102958
|
switch (date5[3]) {
|
|
@@ -102585,9 +103446,9 @@ var require_date = __commonJS({
|
|
|
102585
103446
|
}
|
|
102586
103447
|
});
|
|
102587
103448
|
|
|
102588
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
103449
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/cache-handler.js
|
|
102589
103450
|
var require_cache_handler = __commonJS({
|
|
102590
|
-
"../../node_modules/.pnpm/undici@7.
|
|
103451
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/cache-handler.js"(exports2, module2) {
|
|
102591
103452
|
"use strict";
|
|
102592
103453
|
var util2 = require_util3();
|
|
102593
103454
|
var {
|
|
@@ -102688,7 +103549,7 @@ var require_cache_handler = __commonJS({
|
|
|
102688
103549
|
return downstreamOnHeaders();
|
|
102689
103550
|
}
|
|
102690
103551
|
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
|
|
102691
|
-
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives)) {
|
|
103552
|
+
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
102692
103553
|
return downstreamOnHeaders();
|
|
102693
103554
|
}
|
|
102694
103555
|
const now = Date.now();
|
|
@@ -102823,7 +103684,7 @@ var require_cache_handler = __commonJS({
|
|
|
102823
103684
|
this.#handler.onResponseError?.(controller, err2);
|
|
102824
103685
|
}
|
|
102825
103686
|
};
|
|
102826
|
-
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives) {
|
|
103687
|
+
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
102827
103688
|
if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
|
|
102828
103689
|
return false;
|
|
102829
103690
|
}
|
|
@@ -102840,8 +103701,11 @@ var require_cache_handler = __commonJS({
|
|
|
102840
103701
|
if (resHeaders.vary?.includes("*")) {
|
|
102841
103702
|
return false;
|
|
102842
103703
|
}
|
|
102843
|
-
if (
|
|
102844
|
-
if (!cacheControlDirectives.public
|
|
103704
|
+
if (reqHeaders?.authorization) {
|
|
103705
|
+
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) {
|
|
103706
|
+
return false;
|
|
103707
|
+
}
|
|
103708
|
+
if (typeof reqHeaders.authorization !== "string") {
|
|
102845
103709
|
return false;
|
|
102846
103710
|
}
|
|
102847
103711
|
if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
|
|
@@ -102910,9 +103774,13 @@ var require_cache_handler = __commonJS({
|
|
|
102910
103774
|
if (cacheControlDirectives["stale-if-error"]) {
|
|
102911
103775
|
staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1e3;
|
|
102912
103776
|
}
|
|
102913
|
-
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
|
|
103777
|
+
if (cacheControlDirectives.immutable && staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
|
|
102914
103778
|
immutable = now + 31536e6;
|
|
102915
103779
|
}
|
|
103780
|
+
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity && immutable === -Infinity) {
|
|
103781
|
+
const freshnessLifetime = staleAt - now;
|
|
103782
|
+
return staleAt + freshnessLifetime;
|
|
103783
|
+
}
|
|
102916
103784
|
return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
|
|
102917
103785
|
}
|
|
102918
103786
|
function stripNecessaryHeaders(resHeaders, cacheControlDirectives) {
|
|
@@ -102957,9 +103825,9 @@ var require_cache_handler = __commonJS({
|
|
|
102957
103825
|
}
|
|
102958
103826
|
});
|
|
102959
103827
|
|
|
102960
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
103828
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/cache/memory-cache-store.js
|
|
102961
103829
|
var require_memory_cache_store = __commonJS({
|
|
102962
|
-
"../../node_modules/.pnpm/undici@7.
|
|
103830
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/cache/memory-cache-store.js"(exports2, module2) {
|
|
102963
103831
|
"use strict";
|
|
102964
103832
|
var { Writable } = require("node:stream");
|
|
102965
103833
|
var { EventEmitter } = require("node:events");
|
|
@@ -103134,9 +104002,9 @@ var require_memory_cache_store = __commonJS({
|
|
|
103134
104002
|
}
|
|
103135
104003
|
});
|
|
103136
104004
|
|
|
103137
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
104005
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
103138
104006
|
var require_cache_revalidation_handler = __commonJS({
|
|
103139
|
-
"../../node_modules/.pnpm/undici@7.
|
|
104007
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports2, module2) {
|
|
103140
104008
|
"use strict";
|
|
103141
104009
|
var assert4 = require("node:assert");
|
|
103142
104010
|
var CacheRevalidationHandler = class {
|
|
@@ -103221,9 +104089,9 @@ var require_cache_revalidation_handler = __commonJS({
|
|
|
103221
104089
|
}
|
|
103222
104090
|
});
|
|
103223
104091
|
|
|
103224
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
104092
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/cache.js
|
|
103225
104093
|
var require_cache2 = __commonJS({
|
|
103226
|
-
"../../node_modules/.pnpm/undici@7.
|
|
104094
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/cache.js"(exports2, module2) {
|
|
103227
104095
|
"use strict";
|
|
103228
104096
|
var assert4 = require("node:assert");
|
|
103229
104097
|
var { Readable } = require("node:stream");
|
|
@@ -103557,9 +104425,9 @@ var require_cache2 = __commonJS({
|
|
|
103557
104425
|
}
|
|
103558
104426
|
});
|
|
103559
104427
|
|
|
103560
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
104428
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/decompress.js
|
|
103561
104429
|
var require_decompress = __commonJS({
|
|
103562
|
-
"../../node_modules/.pnpm/undici@7.
|
|
104430
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/decompress.js"(exports2, module2) {
|
|
103563
104431
|
"use strict";
|
|
103564
104432
|
var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = require("node:zlib");
|
|
103565
104433
|
var { pipeline } = require("node:stream");
|
|
@@ -103771,23 +104639,25 @@ var require_decompress = __commonJS({
|
|
|
103771
104639
|
}
|
|
103772
104640
|
});
|
|
103773
104641
|
|
|
103774
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
104642
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/deduplication-handler.js
|
|
103775
104643
|
var require_deduplication_handler = __commonJS({
|
|
103776
|
-
"../../node_modules/.pnpm/undici@7.
|
|
104644
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/handler/deduplication-handler.js"(exports2, module2) {
|
|
103777
104645
|
"use strict";
|
|
104646
|
+
var { RequestAbortedError } = require_errors3();
|
|
104647
|
+
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
|
|
103778
104648
|
var DeduplicationHandler = class {
|
|
103779
104649
|
/**
|
|
103780
104650
|
* @type {DispatchHandler}
|
|
103781
104651
|
*/
|
|
103782
104652
|
#primaryHandler;
|
|
103783
104653
|
/**
|
|
103784
|
-
* @type {
|
|
104654
|
+
* @type {WaitingHandler[]}
|
|
103785
104655
|
*/
|
|
103786
104656
|
#waitingHandlers = [];
|
|
103787
104657
|
/**
|
|
103788
|
-
* @type {
|
|
104658
|
+
* @type {number}
|
|
103789
104659
|
*/
|
|
103790
|
-
#
|
|
104660
|
+
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
|
|
103791
104661
|
/**
|
|
103792
104662
|
* @type {number}
|
|
103793
104663
|
*/
|
|
@@ -103804,6 +104674,18 @@ var require_deduplication_handler = __commonJS({
|
|
|
103804
104674
|
* @type {boolean}
|
|
103805
104675
|
*/
|
|
103806
104676
|
#aborted = false;
|
|
104677
|
+
/**
|
|
104678
|
+
* @type {boolean}
|
|
104679
|
+
*/
|
|
104680
|
+
#responseStarted = false;
|
|
104681
|
+
/**
|
|
104682
|
+
* @type {boolean}
|
|
104683
|
+
*/
|
|
104684
|
+
#responseDataStarted = false;
|
|
104685
|
+
/**
|
|
104686
|
+
* @type {boolean}
|
|
104687
|
+
*/
|
|
104688
|
+
#completed = false;
|
|
103807
104689
|
/**
|
|
103808
104690
|
* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
|
|
103809
104691
|
*/
|
|
@@ -103815,20 +104697,51 @@ var require_deduplication_handler = __commonJS({
|
|
|
103815
104697
|
/**
|
|
103816
104698
|
* @param {DispatchHandler} primaryHandler The primary handler
|
|
103817
104699
|
* @param {() => void} onComplete Callback when request completes
|
|
104700
|
+
* @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
|
|
103818
104701
|
*/
|
|
103819
|
-
constructor(primaryHandler, onComplete) {
|
|
104702
|
+
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
|
|
103820
104703
|
this.#primaryHandler = primaryHandler;
|
|
103821
104704
|
this.#onComplete = onComplete;
|
|
104705
|
+
this.#maxBufferSize = maxBufferSize;
|
|
103822
104706
|
}
|
|
103823
104707
|
/**
|
|
103824
|
-
* Add a waiting handler that will receive
|
|
104708
|
+
* Add a waiting handler that will receive response events.
|
|
104709
|
+
* Returns false if deduplication can no longer safely attach this handler.
|
|
104710
|
+
*
|
|
103825
104711
|
* @param {DispatchHandler} handler
|
|
104712
|
+
* @returns {boolean}
|
|
103826
104713
|
*/
|
|
103827
104714
|
addWaitingHandler(handler2) {
|
|
103828
|
-
this.#
|
|
104715
|
+
if (this.#completed || this.#responseDataStarted) {
|
|
104716
|
+
return false;
|
|
104717
|
+
}
|
|
104718
|
+
const waitingHandler = this.#createWaitingHandler(handler2);
|
|
104719
|
+
const waitingController = waitingHandler.controller;
|
|
104720
|
+
try {
|
|
104721
|
+
handler2.onRequestStart?.(waitingController, null);
|
|
104722
|
+
if (waitingController.aborted) {
|
|
104723
|
+
waitingHandler.done = true;
|
|
104724
|
+
return true;
|
|
104725
|
+
}
|
|
104726
|
+
if (this.#responseStarted) {
|
|
104727
|
+
handler2.onResponseStart?.(
|
|
104728
|
+
waitingController,
|
|
104729
|
+
this.#statusCode,
|
|
104730
|
+
this.#headers,
|
|
104731
|
+
this.#statusMessage
|
|
104732
|
+
);
|
|
104733
|
+
}
|
|
104734
|
+
} catch {
|
|
104735
|
+
waitingHandler.done = true;
|
|
104736
|
+
return true;
|
|
104737
|
+
}
|
|
104738
|
+
if (!waitingController.aborted) {
|
|
104739
|
+
this.#waitingHandlers.push(waitingHandler);
|
|
104740
|
+
}
|
|
104741
|
+
return true;
|
|
103829
104742
|
}
|
|
103830
104743
|
/**
|
|
103831
|
-
* @param {()
|
|
104744
|
+
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
103832
104745
|
* @param {any} context
|
|
103833
104746
|
*/
|
|
103834
104747
|
onRequestStart(controller, context) {
|
|
@@ -103851,26 +104764,95 @@ var require_deduplication_handler = __commonJS({
|
|
|
103851
104764
|
* @param {string} statusMessage
|
|
103852
104765
|
*/
|
|
103853
104766
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
104767
|
+
this.#responseStarted = true;
|
|
103854
104768
|
this.#statusCode = statusCode;
|
|
103855
104769
|
this.#headers = headers;
|
|
103856
104770
|
this.#statusMessage = statusMessage;
|
|
103857
104771
|
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
104772
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
104773
|
+
const { handler: handler2, controller: waitingController } = waitingHandler;
|
|
104774
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
104775
|
+
waitingHandler.done = true;
|
|
104776
|
+
continue;
|
|
104777
|
+
}
|
|
104778
|
+
try {
|
|
104779
|
+
handler2.onResponseStart?.(
|
|
104780
|
+
waitingController,
|
|
104781
|
+
statusCode,
|
|
104782
|
+
headers,
|
|
104783
|
+
statusMessage
|
|
104784
|
+
);
|
|
104785
|
+
} catch {
|
|
104786
|
+
}
|
|
104787
|
+
if (waitingController.aborted) {
|
|
104788
|
+
waitingHandler.done = true;
|
|
104789
|
+
}
|
|
104790
|
+
}
|
|
104791
|
+
this.#pruneDoneWaitingHandlers();
|
|
103858
104792
|
}
|
|
103859
104793
|
/**
|
|
103860
104794
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
103861
104795
|
* @param {Buffer} chunk
|
|
103862
104796
|
*/
|
|
103863
104797
|
onResponseData(controller, chunk) {
|
|
103864
|
-
this.#
|
|
104798
|
+
if (this.#aborted || this.#completed) {
|
|
104799
|
+
return;
|
|
104800
|
+
}
|
|
104801
|
+
this.#responseDataStarted = true;
|
|
103865
104802
|
this.#primaryHandler.onResponseData?.(controller, chunk);
|
|
104803
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
104804
|
+
const { handler: handler2, controller: waitingController } = waitingHandler;
|
|
104805
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
104806
|
+
waitingHandler.done = true;
|
|
104807
|
+
continue;
|
|
104808
|
+
}
|
|
104809
|
+
if (waitingController.paused) {
|
|
104810
|
+
this.#bufferWaitingChunk(waitingHandler, chunk);
|
|
104811
|
+
continue;
|
|
104812
|
+
}
|
|
104813
|
+
try {
|
|
104814
|
+
handler2.onResponseData?.(waitingController, chunk);
|
|
104815
|
+
} catch {
|
|
104816
|
+
}
|
|
104817
|
+
if (waitingController.aborted) {
|
|
104818
|
+
waitingHandler.done = true;
|
|
104819
|
+
waitingHandler.bufferedChunks = [];
|
|
104820
|
+
waitingHandler.bufferedBytes = 0;
|
|
104821
|
+
}
|
|
104822
|
+
}
|
|
104823
|
+
this.#pruneDoneWaitingHandlers();
|
|
103866
104824
|
}
|
|
103867
104825
|
/**
|
|
103868
104826
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
103869
104827
|
* @param {object} trailers
|
|
103870
104828
|
*/
|
|
103871
104829
|
onResponseEnd(controller, trailers) {
|
|
104830
|
+
if (this.#aborted || this.#completed) {
|
|
104831
|
+
return;
|
|
104832
|
+
}
|
|
104833
|
+
this.#completed = true;
|
|
103872
104834
|
this.#primaryHandler.onResponseEnd?.(controller, trailers);
|
|
103873
|
-
this.#
|
|
104835
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
104836
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
104837
|
+
waitingHandler.done = true;
|
|
104838
|
+
continue;
|
|
104839
|
+
}
|
|
104840
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
104841
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
104842
|
+
waitingHandler.done = true;
|
|
104843
|
+
continue;
|
|
104844
|
+
}
|
|
104845
|
+
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
104846
|
+
waitingHandler.pendingTrailers = trailers;
|
|
104847
|
+
continue;
|
|
104848
|
+
}
|
|
104849
|
+
try {
|
|
104850
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
|
|
104851
|
+
} catch {
|
|
104852
|
+
}
|
|
104853
|
+
waitingHandler.done = true;
|
|
104854
|
+
}
|
|
104855
|
+
this.#pruneDoneWaitingHandlers();
|
|
103874
104856
|
this.#onComplete?.();
|
|
103875
104857
|
}
|
|
103876
104858
|
/**
|
|
@@ -103878,98 +104860,147 @@ var require_deduplication_handler = __commonJS({
|
|
|
103878
104860
|
* @param {Error} err
|
|
103879
104861
|
*/
|
|
103880
104862
|
onResponseError(controller, err2) {
|
|
104863
|
+
if (this.#completed) {
|
|
104864
|
+
return;
|
|
104865
|
+
}
|
|
103881
104866
|
this.#aborted = true;
|
|
104867
|
+
this.#completed = true;
|
|
103882
104868
|
this.#primaryHandler.onResponseError?.(controller, err2);
|
|
103883
|
-
this.#
|
|
104869
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
104870
|
+
this.#errorWaitingHandler(waitingHandler, err2);
|
|
104871
|
+
}
|
|
104872
|
+
this.#waitingHandlers = [];
|
|
103884
104873
|
this.#onComplete?.();
|
|
103885
104874
|
}
|
|
103886
104875
|
/**
|
|
103887
|
-
*
|
|
104876
|
+
* @param {DispatchHandler} handler
|
|
104877
|
+
* @returns {WaitingHandler}
|
|
103888
104878
|
*/
|
|
103889
|
-
#
|
|
103890
|
-
const
|
|
103891
|
-
|
|
103892
|
-
|
|
103893
|
-
|
|
103894
|
-
|
|
103895
|
-
|
|
103896
|
-
|
|
103897
|
-
|
|
103898
|
-
|
|
103899
|
-
|
|
103900
|
-
|
|
103901
|
-
|
|
103902
|
-
|
|
103903
|
-
|
|
103904
|
-
|
|
103905
|
-
|
|
103906
|
-
|
|
103907
|
-
}
|
|
103908
|
-
};
|
|
103909
|
-
try {
|
|
103910
|
-
handler2.onRequestStart?.(waitingController, null);
|
|
103911
|
-
if (waitingController.aborted) {
|
|
103912
|
-
continue;
|
|
104879
|
+
#createWaitingHandler(handler2) {
|
|
104880
|
+
const waitingHandler = {
|
|
104881
|
+
handler: handler2,
|
|
104882
|
+
controller: null,
|
|
104883
|
+
bufferedChunks: [],
|
|
104884
|
+
bufferedBytes: 0,
|
|
104885
|
+
pendingTrailers: null,
|
|
104886
|
+
done: false
|
|
104887
|
+
};
|
|
104888
|
+
const state = {
|
|
104889
|
+
aborted: false,
|
|
104890
|
+
paused: false,
|
|
104891
|
+
reason: null
|
|
104892
|
+
};
|
|
104893
|
+
waitingHandler.controller = {
|
|
104894
|
+
resume: () => {
|
|
104895
|
+
if (state.aborted) {
|
|
104896
|
+
return;
|
|
103913
104897
|
}
|
|
103914
|
-
|
|
103915
|
-
|
|
103916
|
-
|
|
103917
|
-
|
|
103918
|
-
|
|
103919
|
-
|
|
103920
|
-
|
|
103921
|
-
|
|
104898
|
+
state.paused = false;
|
|
104899
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
104900
|
+
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
|
|
104901
|
+
try {
|
|
104902
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
|
|
104903
|
+
} catch {
|
|
104904
|
+
}
|
|
104905
|
+
waitingHandler.pendingTrailers = null;
|
|
104906
|
+
waitingHandler.done = true;
|
|
103922
104907
|
}
|
|
103923
|
-
|
|
103924
|
-
|
|
104908
|
+
this.#pruneDoneWaitingHandlers();
|
|
104909
|
+
},
|
|
104910
|
+
pause: () => {
|
|
104911
|
+
if (!state.aborted) {
|
|
104912
|
+
state.paused = true;
|
|
103925
104913
|
}
|
|
103926
|
-
|
|
103927
|
-
|
|
104914
|
+
},
|
|
104915
|
+
get paused() {
|
|
104916
|
+
return state.paused;
|
|
104917
|
+
},
|
|
104918
|
+
get aborted() {
|
|
104919
|
+
return state.aborted;
|
|
104920
|
+
},
|
|
104921
|
+
get reason() {
|
|
104922
|
+
return state.reason;
|
|
104923
|
+
},
|
|
104924
|
+
abort: (reason) => {
|
|
104925
|
+
state.aborted = true;
|
|
104926
|
+
state.reason = reason ?? null;
|
|
104927
|
+
waitingHandler.done = true;
|
|
104928
|
+
waitingHandler.pendingTrailers = null;
|
|
104929
|
+
waitingHandler.bufferedChunks = [];
|
|
104930
|
+
waitingHandler.bufferedBytes = 0;
|
|
103928
104931
|
}
|
|
104932
|
+
};
|
|
104933
|
+
return waitingHandler;
|
|
104934
|
+
}
|
|
104935
|
+
/**
|
|
104936
|
+
* @param {WaitingHandler} waitingHandler
|
|
104937
|
+
* @param {Buffer} chunk
|
|
104938
|
+
*/
|
|
104939
|
+
#bufferWaitingChunk(waitingHandler, chunk) {
|
|
104940
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
104941
|
+
waitingHandler.done = true;
|
|
104942
|
+
waitingHandler.bufferedChunks = [];
|
|
104943
|
+
waitingHandler.bufferedBytes = 0;
|
|
104944
|
+
return;
|
|
104945
|
+
}
|
|
104946
|
+
const bufferedChunk = Buffer.from(chunk);
|
|
104947
|
+
waitingHandler.bufferedChunks.push(bufferedChunk);
|
|
104948
|
+
waitingHandler.bufferedBytes += bufferedChunk.length;
|
|
104949
|
+
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
|
|
104950
|
+
const err2 = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
|
|
104951
|
+
this.#errorWaitingHandler(waitingHandler, err2);
|
|
103929
104952
|
}
|
|
103930
|
-
this.#waitingHandlers = [];
|
|
103931
|
-
this.#chunks = [];
|
|
103932
104953
|
}
|
|
103933
104954
|
/**
|
|
103934
|
-
*
|
|
103935
|
-
* @param {Error} err
|
|
104955
|
+
* @param {WaitingHandler} waitingHandler
|
|
103936
104956
|
*/
|
|
103937
|
-
#
|
|
103938
|
-
|
|
103939
|
-
|
|
103940
|
-
|
|
103941
|
-
|
|
103942
|
-
pause() {
|
|
103943
|
-
},
|
|
103944
|
-
get paused() {
|
|
103945
|
-
return false;
|
|
103946
|
-
},
|
|
103947
|
-
get aborted() {
|
|
103948
|
-
return true;
|
|
103949
|
-
},
|
|
103950
|
-
get reason() {
|
|
103951
|
-
return err2;
|
|
103952
|
-
},
|
|
103953
|
-
abort() {
|
|
103954
|
-
}
|
|
103955
|
-
};
|
|
104957
|
+
#flushWaitingHandler(waitingHandler) {
|
|
104958
|
+
const { handler: handler2, controller } = waitingHandler;
|
|
104959
|
+
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
104960
|
+
const bufferedChunk = waitingHandler.bufferedChunks.shift();
|
|
104961
|
+
waitingHandler.bufferedBytes -= bufferedChunk.length;
|
|
103956
104962
|
try {
|
|
103957
|
-
handler2.
|
|
103958
|
-
handler2.onResponseError?.(waitingController, err2);
|
|
104963
|
+
handler2.onResponseData?.(controller, bufferedChunk);
|
|
103959
104964
|
} catch {
|
|
103960
104965
|
}
|
|
104966
|
+
if (controller.aborted) {
|
|
104967
|
+
waitingHandler.done = true;
|
|
104968
|
+
waitingHandler.pendingTrailers = null;
|
|
104969
|
+
waitingHandler.bufferedChunks = [];
|
|
104970
|
+
waitingHandler.bufferedBytes = 0;
|
|
104971
|
+
break;
|
|
104972
|
+
}
|
|
103961
104973
|
}
|
|
103962
|
-
|
|
103963
|
-
|
|
104974
|
+
}
|
|
104975
|
+
/**
|
|
104976
|
+
* @param {WaitingHandler} waitingHandler
|
|
104977
|
+
* @param {Error} err
|
|
104978
|
+
*/
|
|
104979
|
+
#errorWaitingHandler(waitingHandler, err2) {
|
|
104980
|
+
if (waitingHandler.done) {
|
|
104981
|
+
return;
|
|
104982
|
+
}
|
|
104983
|
+
waitingHandler.done = true;
|
|
104984
|
+
waitingHandler.pendingTrailers = null;
|
|
104985
|
+
waitingHandler.bufferedChunks = [];
|
|
104986
|
+
waitingHandler.bufferedBytes = 0;
|
|
104987
|
+
try {
|
|
104988
|
+
waitingHandler.controller.abort(err2);
|
|
104989
|
+
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err2);
|
|
104990
|
+
} catch {
|
|
104991
|
+
}
|
|
104992
|
+
}
|
|
104993
|
+
#pruneDoneWaitingHandlers() {
|
|
104994
|
+
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
|
|
103964
104995
|
}
|
|
103965
104996
|
};
|
|
103966
104997
|
module2.exports = DeduplicationHandler;
|
|
103967
104998
|
}
|
|
103968
104999
|
});
|
|
103969
105000
|
|
|
103970
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
105001
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/deduplicate.js
|
|
103971
105002
|
var require_deduplicate = __commonJS({
|
|
103972
|
-
"../../node_modules/.pnpm/undici@7.
|
|
105003
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/interceptor/deduplicate.js"(exports2, module2) {
|
|
103973
105004
|
"use strict";
|
|
103974
105005
|
var diagnosticsChannel = require("node:diagnostics_channel");
|
|
103975
105006
|
var util2 = require_util3();
|
|
@@ -103980,7 +105011,8 @@ var require_deduplicate = __commonJS({
|
|
|
103980
105011
|
const {
|
|
103981
105012
|
methods = ["GET"],
|
|
103982
105013
|
skipHeaderNames = [],
|
|
103983
|
-
excludeHeaderNames = []
|
|
105014
|
+
excludeHeaderNames = [],
|
|
105015
|
+
maxBufferSize = 5 * 1024 * 1024
|
|
103984
105016
|
} = opts;
|
|
103985
105017
|
if (typeof opts !== "object" || opts === null) {
|
|
103986
105018
|
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
|
|
@@ -103999,6 +105031,9 @@ var require_deduplicate = __commonJS({
|
|
|
103999
105031
|
if (!Array.isArray(excludeHeaderNames)) {
|
|
104000
105032
|
throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
|
|
104001
105033
|
}
|
|
105034
|
+
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) {
|
|
105035
|
+
throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
|
|
105036
|
+
}
|
|
104002
105037
|
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name2) => name2.toLowerCase()));
|
|
104003
105038
|
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name2) => name2.toLowerCase()));
|
|
104004
105039
|
const pendingRequests = /* @__PURE__ */ new Map();
|
|
@@ -104022,8 +105057,10 @@ var require_deduplicate = __commonJS({
|
|
|
104022
105057
|
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
|
|
104023
105058
|
const pendingHandler = pendingRequests.get(dedupeKey);
|
|
104024
105059
|
if (pendingHandler) {
|
|
104025
|
-
pendingHandler.addWaitingHandler(handler2)
|
|
104026
|
-
|
|
105060
|
+
if (pendingHandler.addWaitingHandler(handler2)) {
|
|
105061
|
+
return true;
|
|
105062
|
+
}
|
|
105063
|
+
return dispatch(opts2, handler2);
|
|
104027
105064
|
}
|
|
104028
105065
|
const deduplicationHandler = new DeduplicationHandler(
|
|
104029
105066
|
handler2,
|
|
@@ -104032,7 +105069,8 @@ var require_deduplicate = __commonJS({
|
|
|
104032
105069
|
if (pendingRequestsChannel.hasSubscribers) {
|
|
104033
105070
|
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" });
|
|
104034
105071
|
}
|
|
104035
|
-
}
|
|
105072
|
+
},
|
|
105073
|
+
maxBufferSize
|
|
104036
105074
|
);
|
|
104037
105075
|
pendingRequests.set(dedupeKey, deduplicationHandler);
|
|
104038
105076
|
if (pendingRequestsChannel.hasSubscribers) {
|
|
@@ -104045,9 +105083,9 @@ var require_deduplicate = __commonJS({
|
|
|
104045
105083
|
}
|
|
104046
105084
|
});
|
|
104047
105085
|
|
|
104048
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
105086
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
104049
105087
|
var require_sqlite_cache_store = __commonJS({
|
|
104050
|
-
"../../node_modules/.pnpm/undici@7.
|
|
105088
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports2, module2) {
|
|
104051
105089
|
"use strict";
|
|
104052
105090
|
var { Writable } = require("node:stream");
|
|
104053
105091
|
var { assertCacheKey, assertCacheValue } = require_cache();
|
|
@@ -104404,9 +105442,9 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
104404
105442
|
}
|
|
104405
105443
|
});
|
|
104406
105444
|
|
|
104407
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
105445
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/headers.js
|
|
104408
105446
|
var require_headers = __commonJS({
|
|
104409
|
-
"../../node_modules/.pnpm/undici@7.
|
|
105447
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
|
|
104410
105448
|
"use strict";
|
|
104411
105449
|
var { kConstruct } = require_symbols();
|
|
104412
105450
|
var { kEnumerableProperty } = require_util3();
|
|
@@ -104865,9 +105903,9 @@ var require_headers = __commonJS({
|
|
|
104865
105903
|
}
|
|
104866
105904
|
});
|
|
104867
105905
|
|
|
104868
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
105906
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/response.js
|
|
104869
105907
|
var require_response = __commonJS({
|
|
104870
|
-
"../../node_modules/.pnpm/undici@7.
|
|
105908
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
|
|
104871
105909
|
"use strict";
|
|
104872
105910
|
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
104873
105911
|
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
|
|
@@ -105287,9 +106325,9 @@ var require_response = __commonJS({
|
|
|
105287
106325
|
}
|
|
105288
106326
|
});
|
|
105289
106327
|
|
|
105290
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
106328
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/request.js
|
|
105291
106329
|
var require_request2 = __commonJS({
|
|
105292
|
-
"../../node_modules/.pnpm/undici@7.
|
|
106330
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
|
|
105293
106331
|
"use strict";
|
|
105294
106332
|
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
105295
106333
|
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
@@ -106043,9 +107081,9 @@ var require_request2 = __commonJS({
|
|
|
106043
107081
|
}
|
|
106044
107082
|
});
|
|
106045
107083
|
|
|
106046
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
107084
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
106047
107085
|
var require_subresource_integrity = __commonJS({
|
|
106048
|
-
"../../node_modules/.pnpm/undici@7.
|
|
107086
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports2, module2) {
|
|
106049
107087
|
"use strict";
|
|
106050
107088
|
var assert4 = require("node:assert");
|
|
106051
107089
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -106182,9 +107220,9 @@ var require_subresource_integrity = __commonJS({
|
|
|
106182
107220
|
}
|
|
106183
107221
|
});
|
|
106184
107222
|
|
|
106185
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
107223
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/index.js
|
|
106186
107224
|
var require_fetch = __commonJS({
|
|
106187
|
-
"../../node_modules/.pnpm/undici@7.
|
|
107225
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
|
|
106188
107226
|
"use strict";
|
|
106189
107227
|
var {
|
|
106190
107228
|
makeNetworkError,
|
|
@@ -106340,8 +107378,11 @@ var require_fetch = __commonJS({
|
|
|
106340
107378
|
request,
|
|
106341
107379
|
processResponseEndOfBody: handleFetchDone,
|
|
106342
107380
|
processResponse,
|
|
106343
|
-
dispatcher: getRequestDispatcher(requestObject)
|
|
107381
|
+
dispatcher: getRequestDispatcher(requestObject),
|
|
106344
107382
|
// undici
|
|
107383
|
+
// Keep requestObject alive to prevent its AbortController from being GC'd
|
|
107384
|
+
// See https://github.com/nodejs/undici/issues/4627
|
|
107385
|
+
requestObject
|
|
106345
107386
|
});
|
|
106346
107387
|
return p.promise;
|
|
106347
107388
|
}
|
|
@@ -106409,8 +107450,10 @@ var require_fetch = __commonJS({
|
|
|
106409
107450
|
processResponseEndOfBody,
|
|
106410
107451
|
processResponseConsumeBody,
|
|
106411
107452
|
useParallelQueue = false,
|
|
106412
|
-
dispatcher = getGlobalDispatcher()
|
|
107453
|
+
dispatcher = getGlobalDispatcher(),
|
|
106413
107454
|
// undici
|
|
107455
|
+
requestObject = null
|
|
107456
|
+
// Keep alive to prevent AbortController GC, see #4627
|
|
106414
107457
|
}) {
|
|
106415
107458
|
assert4(dispatcher);
|
|
106416
107459
|
let taskDestination = null;
|
|
@@ -106433,7 +107476,9 @@ var require_fetch = __commonJS({
|
|
|
106433
107476
|
processResponseConsumeBody,
|
|
106434
107477
|
processResponseEndOfBody,
|
|
106435
107478
|
taskDestination,
|
|
106436
|
-
crossOriginIsolatedCapability
|
|
107479
|
+
crossOriginIsolatedCapability,
|
|
107480
|
+
// Keep requestObject alive to prevent its AbortController from being GC'd
|
|
107481
|
+
requestObject
|
|
106437
107482
|
};
|
|
106438
107483
|
assert4(!request.body || request.body.stream);
|
|
106439
107484
|
if (request.window === "client") {
|
|
@@ -107131,9 +108176,11 @@ var require_fetch = __commonJS({
|
|
|
107131
108176
|
function dispatch({ body: body2 }) {
|
|
107132
108177
|
const url2 = requestCurrentURL(request);
|
|
107133
108178
|
const agent = fetchParams.controller.dispatcher;
|
|
108179
|
+
const path7 = url2.pathname + url2.search;
|
|
108180
|
+
const hasTrailingQuestionMark = url2.search.length === 0 && url2.href[url2.href.length - url2.hash.length - 1] === "?";
|
|
107134
108181
|
return new Promise((resolve2, reject) => agent.dispatch(
|
|
107135
108182
|
{
|
|
107136
|
-
path:
|
|
108183
|
+
path: hasTrailingQuestionMark ? `${path7}?` : path7,
|
|
107137
108184
|
origin: url2.origin,
|
|
107138
108185
|
method: request.method,
|
|
107139
108186
|
body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body2,
|
|
@@ -107164,7 +108211,15 @@ var require_fetch = __commonJS({
|
|
|
107164
108211
|
}
|
|
107165
108212
|
const headersList = new HeadersList();
|
|
107166
108213
|
for (let i2 = 0; i2 < rawHeaders.length; i2 += 2) {
|
|
107167
|
-
|
|
108214
|
+
const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i2]);
|
|
108215
|
+
const value2 = rawHeaders[i2 + 1];
|
|
108216
|
+
if (Array.isArray(value2) && !Buffer.isBuffer(rawHeaders[i2 + 1])) {
|
|
108217
|
+
for (const val of value2) {
|
|
108218
|
+
headersList.append(nameStr, val.toString("latin1"), true);
|
|
108219
|
+
}
|
|
108220
|
+
} else {
|
|
108221
|
+
headersList.append(nameStr, value2.toString("latin1"), true);
|
|
108222
|
+
}
|
|
107168
108223
|
}
|
|
107169
108224
|
const location = headersList.get("location", true);
|
|
107170
108225
|
this.body = new Readable({ read: resume });
|
|
@@ -107278,7 +108333,15 @@ var require_fetch = __commonJS({
|
|
|
107278
108333
|
}
|
|
107279
108334
|
const headersList = new HeadersList();
|
|
107280
108335
|
for (let i2 = 0; i2 < rawHeaders.length; i2 += 2) {
|
|
107281
|
-
|
|
108336
|
+
const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i2]);
|
|
108337
|
+
const value2 = rawHeaders[i2 + 1];
|
|
108338
|
+
if (Array.isArray(value2) && !Buffer.isBuffer(rawHeaders[i2 + 1])) {
|
|
108339
|
+
for (const val of value2) {
|
|
108340
|
+
headersList.append(nameStr, val.toString("latin1"), true);
|
|
108341
|
+
}
|
|
108342
|
+
} else {
|
|
108343
|
+
headersList.append(nameStr, value2.toString("latin1"), true);
|
|
108344
|
+
}
|
|
107282
108345
|
}
|
|
107283
108346
|
resolve2({
|
|
107284
108347
|
status,
|
|
@@ -107301,9 +108364,9 @@ var require_fetch = __commonJS({
|
|
|
107301
108364
|
}
|
|
107302
108365
|
});
|
|
107303
108366
|
|
|
107304
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
108367
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/util.js
|
|
107305
108368
|
var require_util5 = __commonJS({
|
|
107306
|
-
"../../node_modules/.pnpm/undici@7.
|
|
108369
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
|
|
107307
108370
|
"use strict";
|
|
107308
108371
|
var assert4 = require("node:assert");
|
|
107309
108372
|
var { URLSerializer } = require_data_url();
|
|
@@ -107331,9 +108394,9 @@ var require_util5 = __commonJS({
|
|
|
107331
108394
|
}
|
|
107332
108395
|
});
|
|
107333
108396
|
|
|
107334
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
108397
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/cache.js
|
|
107335
108398
|
var require_cache3 = __commonJS({
|
|
107336
|
-
"../../node_modules/.pnpm/undici@7.
|
|
108399
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
|
|
107337
108400
|
"use strict";
|
|
107338
108401
|
var assert4 = require("node:assert");
|
|
107339
108402
|
var { kConstruct } = require_symbols();
|
|
@@ -107880,9 +108943,9 @@ var require_cache3 = __commonJS({
|
|
|
107880
108943
|
}
|
|
107881
108944
|
});
|
|
107882
108945
|
|
|
107883
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
108946
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/cachestorage.js
|
|
107884
108947
|
var require_cachestorage = __commonJS({
|
|
107885
|
-
"../../node_modules/.pnpm/undici@7.
|
|
108948
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
|
|
107886
108949
|
"use strict";
|
|
107887
108950
|
var { Cache } = require_cache3();
|
|
107888
108951
|
var { webidl } = require_webidl();
|
|
@@ -107990,9 +109053,9 @@ var require_cachestorage = __commonJS({
|
|
|
107990
109053
|
}
|
|
107991
109054
|
});
|
|
107992
109055
|
|
|
107993
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109056
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/constants.js
|
|
107994
109057
|
var require_constants4 = __commonJS({
|
|
107995
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109058
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
|
|
107996
109059
|
"use strict";
|
|
107997
109060
|
var maxAttributeValueSize = 1024;
|
|
107998
109061
|
var maxNameValuePairSize = 4096;
|
|
@@ -108003,9 +109066,9 @@ var require_constants4 = __commonJS({
|
|
|
108003
109066
|
}
|
|
108004
109067
|
});
|
|
108005
109068
|
|
|
108006
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109069
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/util.js
|
|
108007
109070
|
var require_util6 = __commonJS({
|
|
108008
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109071
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
|
|
108009
109072
|
"use strict";
|
|
108010
109073
|
function isCTLExcludingHtab(value2) {
|
|
108011
109074
|
for (let i2 = 0; i2 < value2.length; ++i2) {
|
|
@@ -108173,9 +109236,9 @@ var require_util6 = __commonJS({
|
|
|
108173
109236
|
}
|
|
108174
109237
|
});
|
|
108175
109238
|
|
|
108176
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109239
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/parse.js
|
|
108177
109240
|
var require_parse = __commonJS({
|
|
108178
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109241
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
|
|
108179
109242
|
"use strict";
|
|
108180
109243
|
var { collectASequenceOfCodePointsFast } = require_infra();
|
|
108181
109244
|
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4();
|
|
@@ -108314,9 +109377,9 @@ var require_parse = __commonJS({
|
|
|
108314
109377
|
}
|
|
108315
109378
|
});
|
|
108316
109379
|
|
|
108317
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109380
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/index.js
|
|
108318
109381
|
var require_cookies = __commonJS({
|
|
108319
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109382
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
|
|
108320
109383
|
"use strict";
|
|
108321
109384
|
var { parseSetCookie } = require_parse();
|
|
108322
109385
|
var { stringify } = require_util6();
|
|
@@ -108449,9 +109512,9 @@ var require_cookies = __commonJS({
|
|
|
108449
109512
|
}
|
|
108450
109513
|
});
|
|
108451
109514
|
|
|
108452
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109515
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/events.js
|
|
108453
109516
|
var require_events = __commonJS({
|
|
108454
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109517
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
|
|
108455
109518
|
"use strict";
|
|
108456
109519
|
var { webidl } = require_webidl();
|
|
108457
109520
|
var { kEnumerableProperty } = require_util3();
|
|
@@ -108717,9 +109780,9 @@ var require_events = __commonJS({
|
|
|
108717
109780
|
}
|
|
108718
109781
|
});
|
|
108719
109782
|
|
|
108720
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109783
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/constants.js
|
|
108721
109784
|
var require_constants5 = __commonJS({
|
|
108722
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109785
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
|
|
108723
109786
|
"use strict";
|
|
108724
109787
|
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
108725
109788
|
var staticPropertyDescriptors = {
|
|
@@ -108773,9 +109836,9 @@ var require_constants5 = __commonJS({
|
|
|
108773
109836
|
}
|
|
108774
109837
|
});
|
|
108775
109838
|
|
|
108776
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
109839
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/util.js
|
|
108777
109840
|
var require_util7 = __commonJS({
|
|
108778
|
-
"../../node_modules/.pnpm/undici@7.
|
|
109841
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
|
|
108779
109842
|
"use strict";
|
|
108780
109843
|
var { states, opcodes } = require_constants5();
|
|
108781
109844
|
var { isUtf8 } = require("node:buffer");
|
|
@@ -108870,13 +109933,17 @@ var require_util7 = __commonJS({
|
|
|
108870
109933
|
return extensionList;
|
|
108871
109934
|
}
|
|
108872
109935
|
function isValidClientWindowBits(value2) {
|
|
109936
|
+
if (value2.length === 0) {
|
|
109937
|
+
return false;
|
|
109938
|
+
}
|
|
108873
109939
|
for (let i2 = 0; i2 < value2.length; i2++) {
|
|
108874
109940
|
const byte = value2.charCodeAt(i2);
|
|
108875
109941
|
if (byte < 48 || byte > 57) {
|
|
108876
109942
|
return false;
|
|
108877
109943
|
}
|
|
108878
109944
|
}
|
|
108879
|
-
|
|
109945
|
+
const num = Number.parseInt(value2, 10);
|
|
109946
|
+
return num >= 8 && num <= 15;
|
|
108880
109947
|
}
|
|
108881
109948
|
function getURLRecord(url2, baseURL) {
|
|
108882
109949
|
let urlRecord;
|
|
@@ -108946,9 +110013,9 @@ var require_util7 = __commonJS({
|
|
|
108946
110013
|
}
|
|
108947
110014
|
});
|
|
108948
110015
|
|
|
108949
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110016
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/frame.js
|
|
108950
110017
|
var require_frame = __commonJS({
|
|
108951
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110018
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
|
|
108952
110019
|
"use strict";
|
|
108953
110020
|
var { runtimeFeatures } = require_runtime_features();
|
|
108954
110021
|
var { maxUnsigned16Bit, opcodes } = require_constants5();
|
|
@@ -109051,9 +110118,9 @@ var require_frame = __commonJS({
|
|
|
109051
110118
|
}
|
|
109052
110119
|
});
|
|
109053
110120
|
|
|
109054
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110121
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/connection.js
|
|
109055
110122
|
var require_connection = __commonJS({
|
|
109056
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110123
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
|
|
109057
110124
|
"use strict";
|
|
109058
110125
|
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5();
|
|
109059
110126
|
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util7();
|
|
@@ -109207,24 +110274,37 @@ var require_connection = __commonJS({
|
|
|
109207
110274
|
}
|
|
109208
110275
|
});
|
|
109209
110276
|
|
|
109210
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110277
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
109211
110278
|
var require_permessage_deflate = __commonJS({
|
|
109212
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110279
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
|
|
109213
110280
|
"use strict";
|
|
109214
110281
|
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
|
|
109215
110282
|
var { isValidClientWindowBits } = require_util7();
|
|
110283
|
+
var { MessageSizeExceededError } = require_errors3();
|
|
109216
110284
|
var tail = Buffer.from([0, 0, 255, 255]);
|
|
109217
110285
|
var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
|
|
109218
110286
|
var kLength = /* @__PURE__ */ Symbol("kLength");
|
|
110287
|
+
var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
|
|
109219
110288
|
var PerMessageDeflate = class {
|
|
109220
110289
|
/** @type {import('node:zlib').InflateRaw} */
|
|
109221
110290
|
#inflate;
|
|
109222
110291
|
#options = {};
|
|
110292
|
+
/** @type {boolean} */
|
|
110293
|
+
#aborted = false;
|
|
110294
|
+
/** @type {Function|null} */
|
|
110295
|
+
#currentCallback = null;
|
|
110296
|
+
/**
|
|
110297
|
+
* @param {Map<string, string>} extensions
|
|
110298
|
+
*/
|
|
109223
110299
|
constructor(extensions) {
|
|
109224
110300
|
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
|
109225
110301
|
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
|
109226
110302
|
}
|
|
109227
110303
|
decompress(chunk, fin, callback) {
|
|
110304
|
+
if (this.#aborted) {
|
|
110305
|
+
callback(new MessageSizeExceededError());
|
|
110306
|
+
return;
|
|
110307
|
+
}
|
|
109228
110308
|
if (!this.#inflate) {
|
|
109229
110309
|
let windowBits = Z_DEFAULT_WINDOWBITS;
|
|
109230
110310
|
if (this.#options.serverMaxWindowBits) {
|
|
@@ -109234,26 +110314,51 @@ var require_permessage_deflate = __commonJS({
|
|
|
109234
110314
|
}
|
|
109235
110315
|
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
|
|
109236
110316
|
}
|
|
109237
|
-
|
|
110317
|
+
try {
|
|
110318
|
+
this.#inflate = createInflateRaw({ windowBits });
|
|
110319
|
+
} catch (err2) {
|
|
110320
|
+
callback(err2);
|
|
110321
|
+
return;
|
|
110322
|
+
}
|
|
109238
110323
|
this.#inflate[kBuffer] = [];
|
|
109239
110324
|
this.#inflate[kLength] = 0;
|
|
109240
110325
|
this.#inflate.on("data", (data) => {
|
|
109241
|
-
this.#
|
|
110326
|
+
if (this.#aborted) {
|
|
110327
|
+
return;
|
|
110328
|
+
}
|
|
109242
110329
|
this.#inflate[kLength] += data.length;
|
|
110330
|
+
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
|
|
110331
|
+
this.#aborted = true;
|
|
110332
|
+
this.#inflate.removeAllListeners();
|
|
110333
|
+
this.#inflate.destroy();
|
|
110334
|
+
this.#inflate = null;
|
|
110335
|
+
if (this.#currentCallback) {
|
|
110336
|
+
const cb = this.#currentCallback;
|
|
110337
|
+
this.#currentCallback = null;
|
|
110338
|
+
cb(new MessageSizeExceededError());
|
|
110339
|
+
}
|
|
110340
|
+
return;
|
|
110341
|
+
}
|
|
110342
|
+
this.#inflate[kBuffer].push(data);
|
|
109243
110343
|
});
|
|
109244
110344
|
this.#inflate.on("error", (err2) => {
|
|
109245
110345
|
this.#inflate = null;
|
|
109246
110346
|
callback(err2);
|
|
109247
110347
|
});
|
|
109248
110348
|
}
|
|
110349
|
+
this.#currentCallback = callback;
|
|
109249
110350
|
this.#inflate.write(chunk);
|
|
109250
110351
|
if (fin) {
|
|
109251
110352
|
this.#inflate.write(tail);
|
|
109252
110353
|
}
|
|
109253
110354
|
this.#inflate.flush(() => {
|
|
110355
|
+
if (this.#aborted || !this.#inflate) {
|
|
110356
|
+
return;
|
|
110357
|
+
}
|
|
109254
110358
|
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
|
109255
110359
|
this.#inflate[kBuffer].length = 0;
|
|
109256
110360
|
this.#inflate[kLength] = 0;
|
|
110361
|
+
this.#currentCallback = null;
|
|
109257
110362
|
callback(null, full);
|
|
109258
110363
|
});
|
|
109259
110364
|
}
|
|
@@ -109262,9 +110367,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
109262
110367
|
}
|
|
109263
110368
|
});
|
|
109264
110369
|
|
|
109265
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110370
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/receiver.js
|
|
109266
110371
|
var require_receiver = __commonJS({
|
|
109267
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110372
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
|
|
109268
110373
|
"use strict";
|
|
109269
110374
|
var { Writable } = require("node:stream");
|
|
109270
110375
|
var assert4 = require("node:assert");
|
|
@@ -109281,6 +110386,7 @@ var require_receiver = __commonJS({
|
|
|
109281
110386
|
var { failWebsocketConnection } = require_connection();
|
|
109282
110387
|
var { WebsocketFrameSend } = require_frame();
|
|
109283
110388
|
var { PerMessageDeflate } = require_permessage_deflate();
|
|
110389
|
+
var { MessageSizeExceededError } = require_errors3();
|
|
109284
110390
|
var ByteParser = class extends Writable {
|
|
109285
110391
|
#buffers = [];
|
|
109286
110392
|
#fragmentsBytes = 0;
|
|
@@ -109293,6 +110399,10 @@ var require_receiver = __commonJS({
|
|
|
109293
110399
|
#extensions;
|
|
109294
110400
|
/** @type {import('./websocket').Handler} */
|
|
109295
110401
|
#handler;
|
|
110402
|
+
/**
|
|
110403
|
+
* @param {import('./websocket').Handler} handler
|
|
110404
|
+
* @param {Map<string, string>|null} extensions
|
|
110405
|
+
*/
|
|
109296
110406
|
constructor(handler2, extensions) {
|
|
109297
110407
|
super();
|
|
109298
110408
|
this.#handler = handler2;
|
|
@@ -109396,12 +110506,12 @@ var require_receiver = __commonJS({
|
|
|
109396
110506
|
}
|
|
109397
110507
|
const buffer = this.consume(8);
|
|
109398
110508
|
const upper = buffer.readUInt32BE(0);
|
|
109399
|
-
|
|
110509
|
+
const lower = buffer.readUInt32BE(4);
|
|
110510
|
+
if (upper !== 0 || lower > 2 ** 31 - 1) {
|
|
109400
110511
|
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
|
|
109401
110512
|
return;
|
|
109402
110513
|
}
|
|
109403
|
-
|
|
109404
|
-
this.#info.payloadLength = (upper << 8) + lower;
|
|
110514
|
+
this.#info.payloadLength = lower;
|
|
109405
110515
|
this.#state = parserStates.READ_DATA;
|
|
109406
110516
|
} else if (this.#state === parserStates.READ_DATA) {
|
|
109407
110517
|
if (this.#byteOffset < this.#info.payloadLength) {
|
|
@@ -109421,7 +110531,8 @@ var require_receiver = __commonJS({
|
|
|
109421
110531
|
} else {
|
|
109422
110532
|
this.#extensions.get("permessage-deflate").decompress(body2, this.#info.fin, (error48, data) => {
|
|
109423
110533
|
if (error48) {
|
|
109424
|
-
|
|
110534
|
+
const code = error48 instanceof MessageSizeExceededError ? 1009 : 1007;
|
|
110535
|
+
failWebsocketConnection(this.#handler, code, error48.message);
|
|
109425
110536
|
return;
|
|
109426
110537
|
}
|
|
109427
110538
|
this.writeFragments(data);
|
|
@@ -109574,9 +110685,9 @@ var require_receiver = __commonJS({
|
|
|
109574
110685
|
}
|
|
109575
110686
|
});
|
|
109576
110687
|
|
|
109577
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110688
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/sender.js
|
|
109578
110689
|
var require_sender = __commonJS({
|
|
109579
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110690
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
|
|
109580
110691
|
"use strict";
|
|
109581
110692
|
var { WebsocketFrameSend } = require_frame();
|
|
109582
110693
|
var { opcodes, sendHints } = require_constants5();
|
|
@@ -109661,9 +110772,9 @@ var require_sender = __commonJS({
|
|
|
109661
110772
|
}
|
|
109662
110773
|
});
|
|
109663
110774
|
|
|
109664
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
110775
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/websocket.js
|
|
109665
110776
|
var require_websocket = __commonJS({
|
|
109666
|
-
"../../node_modules/.pnpm/undici@7.
|
|
110777
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
|
|
109667
110778
|
"use strict";
|
|
109668
110779
|
var { isArrayBuffer } = require("node:util/types");
|
|
109669
110780
|
var { webidl } = require_webidl();
|
|
@@ -109689,6 +110800,15 @@ var require_websocket = __commonJS({
|
|
|
109689
110800
|
var { SendQueue } = require_sender();
|
|
109690
110801
|
var { WebsocketFrameSend } = require_frame();
|
|
109691
110802
|
var { channels } = require_diagnostics();
|
|
110803
|
+
function getSocketAddress(socket) {
|
|
110804
|
+
if (typeof socket?.address === "function") {
|
|
110805
|
+
return socket.address();
|
|
110806
|
+
}
|
|
110807
|
+
if (typeof socket?.session?.socket?.address === "function") {
|
|
110808
|
+
return socket.session.socket.address();
|
|
110809
|
+
}
|
|
110810
|
+
return null;
|
|
110811
|
+
}
|
|
109692
110812
|
var WebSocket = class _WebSocket extends EventTarget {
|
|
109693
110813
|
#events = {
|
|
109694
110814
|
open: null,
|
|
@@ -109960,7 +111080,7 @@ var require_websocket = __commonJS({
|
|
|
109960
111080
|
if (channels.open.hasSubscribers) {
|
|
109961
111081
|
const headers = response.headersList.entries;
|
|
109962
111082
|
channels.open.publish({
|
|
109963
|
-
address: response.socket
|
|
111083
|
+
address: getSocketAddress(response.socket),
|
|
109964
111084
|
protocol: this.#protocol,
|
|
109965
111085
|
extensions: this.#extensions,
|
|
109966
111086
|
websocket: this,
|
|
@@ -110136,9 +111256,9 @@ var require_websocket = __commonJS({
|
|
|
110136
111256
|
}
|
|
110137
111257
|
});
|
|
110138
111258
|
|
|
110139
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
111259
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
110140
111260
|
var require_websocketerror = __commonJS({
|
|
110141
|
-
"../../node_modules/.pnpm/undici@7.
|
|
111261
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports2, module2) {
|
|
110142
111262
|
"use strict";
|
|
110143
111263
|
var { webidl } = require_webidl();
|
|
110144
111264
|
var { validateCloseCodeAndReason } = require_util7();
|
|
@@ -110216,9 +111336,9 @@ var require_websocketerror = __commonJS({
|
|
|
110216
111336
|
}
|
|
110217
111337
|
});
|
|
110218
111338
|
|
|
110219
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
111339
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
110220
111340
|
var require_websocketstream = __commonJS({
|
|
110221
|
-
"../../node_modules/.pnpm/undici@7.
|
|
111341
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports2, module2) {
|
|
110222
111342
|
"use strict";
|
|
110223
111343
|
var { createDeferredPromise } = require_promise();
|
|
110224
111344
|
var { environmentSettingsObject } = require_util4();
|
|
@@ -110528,9 +111648,9 @@ var require_websocketstream = __commonJS({
|
|
|
110528
111648
|
}
|
|
110529
111649
|
});
|
|
110530
111650
|
|
|
110531
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
111651
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/util.js
|
|
110532
111652
|
var require_util8 = __commonJS({
|
|
110533
|
-
"../../node_modules/.pnpm/undici@7.
|
|
111653
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
|
|
110534
111654
|
"use strict";
|
|
110535
111655
|
function isValidLastEventId(value2) {
|
|
110536
111656
|
return value2.indexOf("\0") === -1;
|
|
@@ -110549,9 +111669,9 @@ var require_util8 = __commonJS({
|
|
|
110549
111669
|
}
|
|
110550
111670
|
});
|
|
110551
111671
|
|
|
110552
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
111672
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
110553
111673
|
var require_eventsource_stream = __commonJS({
|
|
110554
|
-
"../../node_modules/.pnpm/undici@7.
|
|
111674
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
|
|
110555
111675
|
"use strict";
|
|
110556
111676
|
var { Transform } = require("node:stream");
|
|
110557
111677
|
var { isASCIINumber, isValidLastEventId } = require_util8();
|
|
@@ -110780,9 +111900,9 @@ ${value2}`;
|
|
|
110780
111900
|
}
|
|
110781
111901
|
});
|
|
110782
111902
|
|
|
110783
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
111903
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
110784
111904
|
var require_eventsource = __commonJS({
|
|
110785
|
-
"../../node_modules/.pnpm/undici@7.
|
|
111905
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
|
|
110786
111906
|
"use strict";
|
|
110787
111907
|
var { pipeline } = require("node:stream");
|
|
110788
111908
|
var { fetching } = require_fetch();
|
|
@@ -111097,9 +112217,9 @@ var require_eventsource = __commonJS({
|
|
|
111097
112217
|
}
|
|
111098
112218
|
});
|
|
111099
112219
|
|
|
111100
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
112220
|
+
// ../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/index.js
|
|
111101
112221
|
var require_undici = __commonJS({
|
|
111102
|
-
"../../node_modules/.pnpm/undici@7.
|
|
112222
|
+
"../../node_modules/.pnpm/undici@7.24.7/node_modules/undici/index.js"(exports2, module2) {
|
|
111103
112223
|
"use strict";
|
|
111104
112224
|
var Client = require_client();
|
|
111105
112225
|
var Dispatcher = require_dispatcher();
|
|
@@ -111108,6 +112228,7 @@ var require_undici = __commonJS({
|
|
|
111108
112228
|
var RoundRobinPool = require_round_robin_pool();
|
|
111109
112229
|
var Agent = require_agent();
|
|
111110
112230
|
var ProxyAgent = require_proxy_agent();
|
|
112231
|
+
var Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
111111
112232
|
var EnvHttpProxyAgent = require_env_http_proxy_agent();
|
|
111112
112233
|
var RetryAgent = require_retry_agent();
|
|
111113
112234
|
var H2CClient = require_h2c_client();
|
|
@@ -111134,6 +112255,7 @@ var require_undici = __commonJS({
|
|
|
111134
112255
|
module2.exports.RoundRobinPool = RoundRobinPool;
|
|
111135
112256
|
module2.exports.Agent = Agent;
|
|
111136
112257
|
module2.exports.ProxyAgent = ProxyAgent;
|
|
112258
|
+
module2.exports.Socks5ProxyAgent = Socks5ProxyAgent;
|
|
111137
112259
|
module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
|
|
111138
112260
|
module2.exports.RetryAgent = RetryAgent;
|
|
111139
112261
|
module2.exports.H2CClient = H2CClient;
|
|
@@ -137151,7 +138273,7 @@ function buildInputSchema(args2, env2, options2) {
|
|
|
137151
138273
|
// package.json
|
|
137152
138274
|
var package_default = {
|
|
137153
138275
|
name: "@docyrus/docyrus",
|
|
137154
|
-
version: "0.0.
|
|
138276
|
+
version: "0.0.42",
|
|
137155
138277
|
private: false,
|
|
137156
138278
|
description: "Docyrus API CLI",
|
|
137157
138279
|
main: "./main.js",
|
|
@@ -137163,9 +138285,9 @@ var package_default = {
|
|
|
137163
138285
|
},
|
|
137164
138286
|
dependencies: {
|
|
137165
138287
|
"@clack/prompts": "^0.11.0",
|
|
137166
|
-
"@hono/node-server": "^1.
|
|
137167
|
-
"@mariozechner/pi-ai": "0.
|
|
137168
|
-
"@mariozechner/pi-coding-agent": "0.
|
|
138288
|
+
"@hono/node-server": "^1.19.13",
|
|
138289
|
+
"@mariozechner/pi-ai": "0.65.0",
|
|
138290
|
+
"@mariozechner/pi-coding-agent": "0.65.0",
|
|
137169
138291
|
"@modelcontextprotocol/ext-apps": "^1.2.2",
|
|
137170
138292
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
137171
138293
|
"@mozilla/readability": "^0.6.0",
|
|
@@ -137174,8 +138296,8 @@ var package_default = {
|
|
|
137174
138296
|
"@repomix/tree-sitter-wasms": "^0.1.16",
|
|
137175
138297
|
"@sinclair/typebox": "^0.34.48",
|
|
137176
138298
|
"@xterm/headless": "^5.5.0",
|
|
137177
|
-
diff: "^8.0.
|
|
137178
|
-
hono: "^4.
|
|
138299
|
+
diff: "^8.0.4",
|
|
138300
|
+
hono: "^4.12.12",
|
|
137179
138301
|
"ignore-walk": "^8.0.0",
|
|
137180
138302
|
incur: "^0.1.6",
|
|
137181
138303
|
jsdom: "^29.0.1",
|
|
@@ -137191,13 +138313,14 @@ var package_default = {
|
|
|
137191
138313
|
"strip-ansi": "^7.1.0",
|
|
137192
138314
|
turndown: "^7.2.2",
|
|
137193
138315
|
"turndown-plugin-gfm": "^1.0.2",
|
|
137194
|
-
undici: "^7.
|
|
138316
|
+
undici: "^7.24.0",
|
|
137195
138317
|
unified: "^11.0.5",
|
|
137196
138318
|
"unist-util-visit": "^5.1.0",
|
|
137197
138319
|
"web-tree-sitter": "0.25.10",
|
|
137198
138320
|
zod: "^4.3.6"
|
|
137199
138321
|
},
|
|
137200
138322
|
devDependencies: {
|
|
138323
|
+
"@types/node": "^24.12.2",
|
|
137201
138324
|
"@types/react": "^19.1.13"
|
|
137202
138325
|
},
|
|
137203
138326
|
engines: {
|
|
@@ -137208,34 +138331,6 @@ var package_default = {
|
|
|
137208
138331
|
}
|
|
137209
138332
|
};
|
|
137210
138333
|
|
|
137211
|
-
// src/errors.ts
|
|
137212
|
-
var ApplicationError = class extends Error {
|
|
137213
|
-
constructor(message, data = {}, httpStatusCode = 500) {
|
|
137214
|
-
super(message);
|
|
137215
|
-
this.data = data;
|
|
137216
|
-
this.httpStatusCode = httpStatusCode;
|
|
137217
|
-
}
|
|
137218
|
-
data;
|
|
137219
|
-
httpStatusCode;
|
|
137220
|
-
};
|
|
137221
|
-
var UserInputError = class extends ApplicationError {
|
|
137222
|
-
constructor(message, data = {}) {
|
|
137223
|
-
super(message, data, 400);
|
|
137224
|
-
}
|
|
137225
|
-
};
|
|
137226
|
-
var AuthSessionError = class extends ApplicationError {
|
|
137227
|
-
constructor(message, data = {}) {
|
|
137228
|
-
super(message, data, 401);
|
|
137229
|
-
}
|
|
137230
|
-
};
|
|
137231
|
-
var ApiResponseError = class extends ApplicationError {
|
|
137232
|
-
constructor(details) {
|
|
137233
|
-
super(details.error_description || details.error || "Docyrus API request failed", details, details.status || 500);
|
|
137234
|
-
this.details = details;
|
|
137235
|
-
}
|
|
137236
|
-
details;
|
|
137237
|
-
};
|
|
137238
|
-
|
|
137239
138334
|
// src/schemas.ts
|
|
137240
138335
|
var EnvSchema = external_exports.object({
|
|
137241
138336
|
DOCYRUS_API_CLIENT_ID: external_exports.string().optional().describe("Default Docyrus OAuth2 client id")
|
|
@@ -137327,6 +138422,93 @@ var OAuth2DeviceAuthorizationSchema = external_exports.object({
|
|
|
137327
138422
|
interval: external_exports.number().int().nonnegative().default(5)
|
|
137328
138423
|
});
|
|
137329
138424
|
|
|
138425
|
+
// src/commands/agentCommand.ts
|
|
138426
|
+
var PI_AGENT_MODES = ["text", "json"];
|
|
138427
|
+
var PI_AGENT_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
138428
|
+
function hasRawVerboseFlag() {
|
|
138429
|
+
return process.argv.includes("--verbose");
|
|
138430
|
+
}
|
|
138431
|
+
function createPiAgentCommand(params) {
|
|
138432
|
+
return Cli_exports.create(params.profile, {
|
|
138433
|
+
description: params.description,
|
|
138434
|
+
env: EnvSchema,
|
|
138435
|
+
outputPolicy: "agent-only",
|
|
138436
|
+
args: external_exports.object({
|
|
138437
|
+
prompt: external_exports.string().optional().describe("Optional initial prompt; omit to open the interactive TUI")
|
|
138438
|
+
}),
|
|
138439
|
+
options: external_exports.object({
|
|
138440
|
+
print: external_exports.boolean().optional().describe("Run one-shot print mode instead of the interactive TUI"),
|
|
138441
|
+
mode: external_exports.enum(PI_AGENT_MODES).optional().describe("Print mode output: text or json"),
|
|
138442
|
+
continue: external_exports.boolean().optional().describe("Continue the previous pi session"),
|
|
138443
|
+
resume: external_exports.boolean().optional().describe("Open the pi session picker"),
|
|
138444
|
+
provider: external_exports.string().optional().describe("Model provider"),
|
|
138445
|
+
model: external_exports.string().optional().describe("Model pattern or full provider/model id"),
|
|
138446
|
+
thinking: external_exports.enum(PI_AGENT_THINKING_LEVELS).optional().describe("Thinking level"),
|
|
138447
|
+
session: external_exports.string().optional().describe("Specific session file to use"),
|
|
138448
|
+
sessionDir: external_exports.string().optional().describe("Override session storage directory"),
|
|
138449
|
+
apiKey: external_exports.string().optional().describe("Temporary provider API key override for this run"),
|
|
138450
|
+
verbose: external_exports.boolean().optional().describe("Enable verbose pi startup output")
|
|
138451
|
+
}),
|
|
138452
|
+
alias: {
|
|
138453
|
+
print: "p",
|
|
138454
|
+
continue: "c",
|
|
138455
|
+
resume: "r"
|
|
138456
|
+
},
|
|
138457
|
+
run: async (context) => {
|
|
138458
|
+
const prompt = context.args.prompt?.trim();
|
|
138459
|
+
const request = {
|
|
138460
|
+
profile: params.profile,
|
|
138461
|
+
prompt: prompt && prompt.length > 0 ? prompt : void 0,
|
|
138462
|
+
...context.options,
|
|
138463
|
+
verbose: context.options.verbose || hasRawVerboseFlag() ? true : void 0
|
|
138464
|
+
};
|
|
138465
|
+
await params.dependencies.launchPiAgent(request);
|
|
138466
|
+
}
|
|
138467
|
+
});
|
|
138468
|
+
}
|
|
138469
|
+
function createAgentCli(dependencies) {
|
|
138470
|
+
return createPiAgentCommand({
|
|
138471
|
+
profile: "agent",
|
|
138472
|
+
description: "Launch the Docyrus Cowork Agent",
|
|
138473
|
+
dependencies
|
|
138474
|
+
});
|
|
138475
|
+
}
|
|
138476
|
+
function createCoderCli(dependencies) {
|
|
138477
|
+
return createPiAgentCommand({
|
|
138478
|
+
profile: "coder",
|
|
138479
|
+
description: "Launch the Docyrus Coding Agent",
|
|
138480
|
+
dependencies
|
|
138481
|
+
});
|
|
138482
|
+
}
|
|
138483
|
+
|
|
138484
|
+
// src/errors.ts
|
|
138485
|
+
var ApplicationError = class extends Error {
|
|
138486
|
+
constructor(message, data = {}, httpStatusCode = 500) {
|
|
138487
|
+
super(message);
|
|
138488
|
+
this.data = data;
|
|
138489
|
+
this.httpStatusCode = httpStatusCode;
|
|
138490
|
+
}
|
|
138491
|
+
data;
|
|
138492
|
+
httpStatusCode;
|
|
138493
|
+
};
|
|
138494
|
+
var UserInputError = class extends ApplicationError {
|
|
138495
|
+
constructor(message, data = {}) {
|
|
138496
|
+
super(message, data, 400);
|
|
138497
|
+
}
|
|
138498
|
+
};
|
|
138499
|
+
var AuthSessionError = class extends ApplicationError {
|
|
138500
|
+
constructor(message, data = {}) {
|
|
138501
|
+
super(message, data, 401);
|
|
138502
|
+
}
|
|
138503
|
+
};
|
|
138504
|
+
var ApiResponseError = class extends ApplicationError {
|
|
138505
|
+
constructor(details) {
|
|
138506
|
+
super(details.error_description || details.error || "Docyrus API request failed", details, details.status || 500);
|
|
138507
|
+
this.details = details;
|
|
138508
|
+
}
|
|
138509
|
+
details;
|
|
138510
|
+
};
|
|
138511
|
+
|
|
137330
138512
|
// src/services/resultContext.ts
|
|
137331
138513
|
function isObject2(value2) {
|
|
137332
138514
|
return typeof value2 === "object" && value2 !== null && !Array.isArray(value2);
|
|
@@ -137357,7 +138539,14 @@ async function injectContext(params) {
|
|
|
137357
138539
|
};
|
|
137358
138540
|
}
|
|
137359
138541
|
|
|
137360
|
-
// src/commands/
|
|
138542
|
+
// src/commands/connectCommands.ts
|
|
138543
|
+
function parseJsonOption(raw, optionName) {
|
|
138544
|
+
try {
|
|
138545
|
+
return JSON.parse(raw);
|
|
138546
|
+
} catch {
|
|
138547
|
+
throw new UserInputError(`${optionName} value is not valid JSON.`);
|
|
138548
|
+
}
|
|
138549
|
+
}
|
|
137361
138550
|
function parseJsonParams(raw) {
|
|
137362
138551
|
try {
|
|
137363
138552
|
const parsed = JSON.parse(raw);
|
|
@@ -137372,10 +138561,156 @@ function parseJsonParams(raw) {
|
|
|
137372
138561
|
throw new UserInputError("--params value is not valid JSON.", { cause: error48 });
|
|
137373
138562
|
}
|
|
137374
138563
|
}
|
|
137375
|
-
function
|
|
137376
|
-
|
|
138564
|
+
async function withApiClient(dependencies) {
|
|
138565
|
+
const apiBaseUrl = await dependencies.environmentConfigService.getActiveApiBaseUrl();
|
|
138566
|
+
const activeProfile = await dependencies.authStore.getActiveProfile(apiBaseUrl);
|
|
138567
|
+
if (!activeProfile) {
|
|
138568
|
+
throw new AuthSessionError("No active session found. Run 'docyrus auth login'.");
|
|
138569
|
+
}
|
|
138570
|
+
return {
|
|
138571
|
+
apiBaseUrl,
|
|
138572
|
+
apiClient: dependencies.createApiClient(apiBaseUrl)
|
|
138573
|
+
};
|
|
138574
|
+
}
|
|
138575
|
+
function createConnectCli(dependencies) {
|
|
138576
|
+
const connectCli = Cli_exports.create("connect", {
|
|
138577
|
+
description: "Connector and action commands",
|
|
138578
|
+
env: EnvSchema
|
|
138579
|
+
});
|
|
138580
|
+
connectCli.command("list-connectors", {
|
|
138581
|
+
description: "List available integration connectors",
|
|
138582
|
+
options: external_exports.object({
|
|
138583
|
+
q: external_exports.string().optional().describe("Keyword search on name, slug, or description"),
|
|
138584
|
+
limit: external_exports.coerce.number().optional().default(100).describe("Max results"),
|
|
138585
|
+
offset: external_exports.coerce.number().optional().default(0).describe("Result offset")
|
|
138586
|
+
}),
|
|
138587
|
+
run: async (context) => {
|
|
138588
|
+
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
138589
|
+
const response = await apiClient.request({
|
|
138590
|
+
method: "GET",
|
|
138591
|
+
path: "/v1/connectors",
|
|
138592
|
+
query: {
|
|
138593
|
+
q: context.options.q,
|
|
138594
|
+
limit: context.options.limit,
|
|
138595
|
+
offset: context.options.offset
|
|
138596
|
+
}
|
|
138597
|
+
});
|
|
138598
|
+
return await injectContext({
|
|
138599
|
+
apiBaseUrl,
|
|
138600
|
+
authStore: dependencies.authStore,
|
|
138601
|
+
payload: response.data
|
|
138602
|
+
});
|
|
138603
|
+
}
|
|
138604
|
+
});
|
|
138605
|
+
connectCli.command("get-connector", {
|
|
138606
|
+
description: "Get connector details with data sources and actions",
|
|
138607
|
+
args: external_exports.object({
|
|
138608
|
+
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)")
|
|
138609
|
+
}),
|
|
138610
|
+
run: async (context) => {
|
|
138611
|
+
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
138612
|
+
const response = await apiClient.request({
|
|
138613
|
+
method: "GET",
|
|
138614
|
+
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}`
|
|
138615
|
+
});
|
|
138616
|
+
return await injectContext({
|
|
138617
|
+
apiBaseUrl,
|
|
138618
|
+
authStore: dependencies.authStore,
|
|
138619
|
+
payload: response.data
|
|
138620
|
+
});
|
|
138621
|
+
}
|
|
138622
|
+
});
|
|
138623
|
+
connectCli.command("get-action", {
|
|
138624
|
+
description: "Get connector action details including input/output schemas",
|
|
138625
|
+
args: external_exports.object({
|
|
138626
|
+
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)"),
|
|
138627
|
+
actionKey: external_exports.string().min(1).describe("Action key (e.g. sendEmailWithOutlook)")
|
|
138628
|
+
}),
|
|
138629
|
+
run: async (context) => {
|
|
138630
|
+
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
138631
|
+
const response = await apiClient.request({
|
|
138632
|
+
method: "GET",
|
|
138633
|
+
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}/actions/${encodeURIComponent(context.args.actionKey)}`
|
|
138634
|
+
});
|
|
138635
|
+
return await injectContext({
|
|
138636
|
+
apiBaseUrl,
|
|
138637
|
+
authStore: dependencies.authStore,
|
|
138638
|
+
payload: response.data
|
|
138639
|
+
});
|
|
138640
|
+
}
|
|
138641
|
+
});
|
|
138642
|
+
connectCli.command("list-connections", {
|
|
138643
|
+
description: "Get tenant and user connections for a connector",
|
|
138644
|
+
args: external_exports.object({
|
|
138645
|
+
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)")
|
|
138646
|
+
}),
|
|
138647
|
+
run: async (context) => {
|
|
138648
|
+
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
138649
|
+
const response = await apiClient.request({
|
|
138650
|
+
method: "GET",
|
|
138651
|
+
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}/connections`
|
|
138652
|
+
});
|
|
138653
|
+
return await injectContext({
|
|
138654
|
+
apiBaseUrl,
|
|
138655
|
+
authStore: dependencies.authStore,
|
|
138656
|
+
payload: response.data
|
|
138657
|
+
});
|
|
138658
|
+
}
|
|
138659
|
+
});
|
|
138660
|
+
connectCli.command("curl", {
|
|
138661
|
+
description: "Send an HTTP request through a connector's provider auth",
|
|
138662
|
+
args: external_exports.object({
|
|
138663
|
+
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph, meta)"),
|
|
138664
|
+
endpoint: external_exports.string().min(1).describe("Relative endpoint path or absolute URL")
|
|
138665
|
+
}),
|
|
138666
|
+
options: external_exports.object({
|
|
138667
|
+
method: external_exports.string().optional().default("GET").describe("HTTP method (GET, POST, PUT, PATCH, DELETE)"),
|
|
138668
|
+
data: external_exports.string().optional().describe("JSON request payload"),
|
|
138669
|
+
contentType: external_exports.string().optional().describe("Content-Type header (defaults to application/json)"),
|
|
138670
|
+
headers: external_exports.string().optional().describe("JSON object of additional headers"),
|
|
138671
|
+
connectionId: external_exports.string().optional().describe("Tenant connection ID override"),
|
|
138672
|
+
connectionAccountId: external_exports.string().optional().describe("Connection account ID")
|
|
138673
|
+
}),
|
|
138674
|
+
alias: {
|
|
138675
|
+
method: "X",
|
|
138676
|
+
data: "d",
|
|
138677
|
+
connectionId: "c"
|
|
138678
|
+
},
|
|
138679
|
+
run: async (context) => {
|
|
138680
|
+
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
138681
|
+
const body2 = {
|
|
138682
|
+
endpoint: context.args.endpoint,
|
|
138683
|
+
requestMethod: context.options.method.toUpperCase()
|
|
138684
|
+
};
|
|
138685
|
+
if (context.options.data) {
|
|
138686
|
+
body2.data = parseJsonOption(context.options.data, "--data");
|
|
138687
|
+
}
|
|
138688
|
+
if (context.options.contentType) {
|
|
138689
|
+
body2.contentType = context.options.contentType;
|
|
138690
|
+
}
|
|
138691
|
+
if (context.options.headers) {
|
|
138692
|
+
body2.headers = parseJsonOption(context.options.headers, "--headers");
|
|
138693
|
+
}
|
|
138694
|
+
if (context.options.connectionId) {
|
|
138695
|
+
body2.connectionId = context.options.connectionId;
|
|
138696
|
+
}
|
|
138697
|
+
if (context.options.connectionAccountId) {
|
|
138698
|
+
body2.connectionAccountId = context.options.connectionAccountId;
|
|
138699
|
+
}
|
|
138700
|
+
const response = await apiClient.request({
|
|
138701
|
+
method: "PUT",
|
|
138702
|
+
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}`,
|
|
138703
|
+
body: body2
|
|
138704
|
+
});
|
|
138705
|
+
return await injectContext({
|
|
138706
|
+
apiBaseUrl,
|
|
138707
|
+
authStore: dependencies.authStore,
|
|
138708
|
+
payload: response.data
|
|
138709
|
+
});
|
|
138710
|
+
}
|
|
138711
|
+
});
|
|
138712
|
+
connectCli.command("run-action", {
|
|
137377
138713
|
description: "Run a connector or app action",
|
|
137378
|
-
env: EnvSchema,
|
|
137379
138714
|
args: external_exports.object({
|
|
137380
138715
|
appSlug: external_exports.string().min(1).describe("App slug (e.g. base, or a custom app slug)"),
|
|
137381
138716
|
actionKey: external_exports.string().min(1).describe("Action key (e.g. sendEmailWithOutlook)")
|
|
@@ -137430,65 +138765,7 @@ function createActionCli(dependencies) {
|
|
|
137430
138765
|
});
|
|
137431
138766
|
}
|
|
137432
138767
|
});
|
|
137433
|
-
|
|
137434
|
-
|
|
137435
|
-
// src/commands/agentCommand.ts
|
|
137436
|
-
var PI_AGENT_MODES = ["text", "json"];
|
|
137437
|
-
var PI_AGENT_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
|
|
137438
|
-
function hasRawVerboseFlag() {
|
|
137439
|
-
return process.argv.includes("--verbose");
|
|
137440
|
-
}
|
|
137441
|
-
function createPiAgentCommand(params) {
|
|
137442
|
-
return Cli_exports.create(params.profile, {
|
|
137443
|
-
description: params.description,
|
|
137444
|
-
env: EnvSchema,
|
|
137445
|
-
outputPolicy: "agent-only",
|
|
137446
|
-
args: external_exports.object({
|
|
137447
|
-
prompt: external_exports.string().optional().describe("Optional initial prompt; omit to open the interactive TUI")
|
|
137448
|
-
}),
|
|
137449
|
-
options: external_exports.object({
|
|
137450
|
-
print: external_exports.boolean().optional().describe("Run one-shot print mode instead of the interactive TUI"),
|
|
137451
|
-
mode: external_exports.enum(PI_AGENT_MODES).optional().describe("Print mode output: text or json"),
|
|
137452
|
-
continue: external_exports.boolean().optional().describe("Continue the previous pi session"),
|
|
137453
|
-
resume: external_exports.boolean().optional().describe("Open the pi session picker"),
|
|
137454
|
-
provider: external_exports.string().optional().describe("Model provider"),
|
|
137455
|
-
model: external_exports.string().optional().describe("Model pattern or full provider/model id"),
|
|
137456
|
-
thinking: external_exports.enum(PI_AGENT_THINKING_LEVELS).optional().describe("Thinking level"),
|
|
137457
|
-
session: external_exports.string().optional().describe("Specific session file to use"),
|
|
137458
|
-
sessionDir: external_exports.string().optional().describe("Override session storage directory"),
|
|
137459
|
-
apiKey: external_exports.string().optional().describe("Temporary provider API key override for this run"),
|
|
137460
|
-
verbose: external_exports.boolean().optional().describe("Enable verbose pi startup output")
|
|
137461
|
-
}),
|
|
137462
|
-
alias: {
|
|
137463
|
-
print: "p",
|
|
137464
|
-
continue: "c",
|
|
137465
|
-
resume: "r"
|
|
137466
|
-
},
|
|
137467
|
-
run: async (context) => {
|
|
137468
|
-
const prompt = context.args.prompt?.trim();
|
|
137469
|
-
const request = {
|
|
137470
|
-
profile: params.profile,
|
|
137471
|
-
prompt: prompt && prompt.length > 0 ? prompt : void 0,
|
|
137472
|
-
...context.options,
|
|
137473
|
-
verbose: context.options.verbose || hasRawVerboseFlag() ? true : void 0
|
|
137474
|
-
};
|
|
137475
|
-
await params.dependencies.launchPiAgent(request);
|
|
137476
|
-
}
|
|
137477
|
-
});
|
|
137478
|
-
}
|
|
137479
|
-
function createAgentCli(dependencies) {
|
|
137480
|
-
return createPiAgentCommand({
|
|
137481
|
-
profile: "agent",
|
|
137482
|
-
description: "Launch the Docyrus pi assistant",
|
|
137483
|
-
dependencies
|
|
137484
|
-
});
|
|
137485
|
-
}
|
|
137486
|
-
function createCoderCli(dependencies) {
|
|
137487
|
-
return createPiAgentCommand({
|
|
137488
|
-
profile: "coder",
|
|
137489
|
-
description: "Launch the Docyrus pi coding agent",
|
|
137490
|
-
dependencies
|
|
137491
|
-
});
|
|
138768
|
+
return connectCli;
|
|
137492
138769
|
}
|
|
137493
138770
|
|
|
137494
138771
|
// src/commands/serverCommand.ts
|
|
@@ -139603,158 +140880,8 @@ function createDiscoverCli(dependencies) {
|
|
|
139603
140880
|
});
|
|
139604
140881
|
}
|
|
139605
140882
|
});
|
|
139606
|
-
async function withApiClient(deps) {
|
|
139607
|
-
const apiBaseUrl = await deps.environmentConfigService.getActiveApiBaseUrl();
|
|
139608
|
-
const activeProfile = await deps.authStore.getActiveProfile(apiBaseUrl);
|
|
139609
|
-
if (!activeProfile) {
|
|
139610
|
-
throw new AuthSessionError("No active session found. Run 'docyrus auth login'.");
|
|
139611
|
-
}
|
|
139612
|
-
return {
|
|
139613
|
-
apiBaseUrl,
|
|
139614
|
-
apiClient: deps.createApiClient(apiBaseUrl)
|
|
139615
|
-
};
|
|
139616
|
-
}
|
|
139617
|
-
discoverCli.command("connectors", {
|
|
139618
|
-
description: "List available integration connectors",
|
|
139619
|
-
options: external_exports.object({
|
|
139620
|
-
q: external_exports.string().optional().describe("Keyword search on name, slug, or description"),
|
|
139621
|
-
limit: external_exports.coerce.number().optional().default(100).describe("Max results"),
|
|
139622
|
-
offset: external_exports.coerce.number().optional().default(0).describe("Result offset")
|
|
139623
|
-
}),
|
|
139624
|
-
run: async (context) => {
|
|
139625
|
-
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
139626
|
-
const response = await apiClient.request({
|
|
139627
|
-
method: "GET",
|
|
139628
|
-
path: "/v1/connectors",
|
|
139629
|
-
query: {
|
|
139630
|
-
q: context.options.q,
|
|
139631
|
-
limit: context.options.limit,
|
|
139632
|
-
offset: context.options.offset
|
|
139633
|
-
}
|
|
139634
|
-
});
|
|
139635
|
-
return await injectContext({
|
|
139636
|
-
apiBaseUrl,
|
|
139637
|
-
authStore: dependencies.authStore,
|
|
139638
|
-
payload: response.data
|
|
139639
|
-
});
|
|
139640
|
-
}
|
|
139641
|
-
});
|
|
139642
|
-
discoverCli.command("connector", {
|
|
139643
|
-
description: "Get connector details with data sources and actions",
|
|
139644
|
-
args: external_exports.object({
|
|
139645
|
-
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)")
|
|
139646
|
-
}),
|
|
139647
|
-
run: async (context) => {
|
|
139648
|
-
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
139649
|
-
const response = await apiClient.request({
|
|
139650
|
-
method: "GET",
|
|
139651
|
-
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}`
|
|
139652
|
-
});
|
|
139653
|
-
return await injectContext({
|
|
139654
|
-
apiBaseUrl,
|
|
139655
|
-
authStore: dependencies.authStore,
|
|
139656
|
-
payload: response.data
|
|
139657
|
-
});
|
|
139658
|
-
}
|
|
139659
|
-
});
|
|
139660
|
-
discoverCli.command("connector-action", {
|
|
139661
|
-
description: "Get connector action details including input/output schemas",
|
|
139662
|
-
args: external_exports.object({
|
|
139663
|
-
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)"),
|
|
139664
|
-
actionKey: external_exports.string().min(1).describe("Action key (e.g. sendEmailWithOutlook)")
|
|
139665
|
-
}),
|
|
139666
|
-
run: async (context) => {
|
|
139667
|
-
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
139668
|
-
const response = await apiClient.request({
|
|
139669
|
-
method: "GET",
|
|
139670
|
-
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}/actions/${encodeURIComponent(context.args.actionKey)}`
|
|
139671
|
-
});
|
|
139672
|
-
return await injectContext({
|
|
139673
|
-
apiBaseUrl,
|
|
139674
|
-
authStore: dependencies.authStore,
|
|
139675
|
-
payload: response.data
|
|
139676
|
-
});
|
|
139677
|
-
}
|
|
139678
|
-
});
|
|
139679
|
-
discoverCli.command("connector-connections", {
|
|
139680
|
-
description: "Get tenant and user connections for a connector",
|
|
139681
|
-
args: external_exports.object({
|
|
139682
|
-
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph)")
|
|
139683
|
-
}),
|
|
139684
|
-
run: async (context) => {
|
|
139685
|
-
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
139686
|
-
const response = await apiClient.request({
|
|
139687
|
-
method: "GET",
|
|
139688
|
-
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}/connections`
|
|
139689
|
-
});
|
|
139690
|
-
return await injectContext({
|
|
139691
|
-
apiBaseUrl,
|
|
139692
|
-
authStore: dependencies.authStore,
|
|
139693
|
-
payload: response.data
|
|
139694
|
-
});
|
|
139695
|
-
}
|
|
139696
|
-
});
|
|
139697
|
-
discoverCli.command("connector-curl", {
|
|
139698
|
-
description: "Send an HTTP request through a connector's provider auth",
|
|
139699
|
-
args: external_exports.object({
|
|
139700
|
-
slug: external_exports.string().min(1).describe("Data provider slug (e.g. msgraph, meta)"),
|
|
139701
|
-
endpoint: external_exports.string().min(1).describe("Relative endpoint path or absolute URL")
|
|
139702
|
-
}),
|
|
139703
|
-
options: external_exports.object({
|
|
139704
|
-
method: external_exports.string().optional().default("GET").describe("HTTP method (GET, POST, PUT, PATCH, DELETE)"),
|
|
139705
|
-
data: external_exports.string().optional().describe("JSON request payload"),
|
|
139706
|
-
contentType: external_exports.string().optional().describe("Content-Type header (defaults to application/json)"),
|
|
139707
|
-
headers: external_exports.string().optional().describe("JSON object of additional headers"),
|
|
139708
|
-
connectionId: external_exports.string().optional().describe("Tenant connection ID override"),
|
|
139709
|
-
connectionAccountId: external_exports.string().optional().describe("Connection account ID")
|
|
139710
|
-
}),
|
|
139711
|
-
alias: {
|
|
139712
|
-
method: "X",
|
|
139713
|
-
data: "d",
|
|
139714
|
-
connectionId: "c"
|
|
139715
|
-
},
|
|
139716
|
-
run: async (context) => {
|
|
139717
|
-
const { apiBaseUrl, apiClient } = await withApiClient(dependencies);
|
|
139718
|
-
const body2 = {
|
|
139719
|
-
endpoint: context.args.endpoint,
|
|
139720
|
-
requestMethod: context.options.method.toUpperCase()
|
|
139721
|
-
};
|
|
139722
|
-
if (context.options.data) {
|
|
139723
|
-
body2.data = parseJsonOption(context.options.data, "--data");
|
|
139724
|
-
}
|
|
139725
|
-
if (context.options.contentType) {
|
|
139726
|
-
body2.contentType = context.options.contentType;
|
|
139727
|
-
}
|
|
139728
|
-
if (context.options.headers) {
|
|
139729
|
-
body2.headers = parseJsonOption(context.options.headers, "--headers");
|
|
139730
|
-
}
|
|
139731
|
-
if (context.options.connectionId) {
|
|
139732
|
-
body2.connectionId = context.options.connectionId;
|
|
139733
|
-
}
|
|
139734
|
-
if (context.options.connectionAccountId) {
|
|
139735
|
-
body2.connectionAccountId = context.options.connectionAccountId;
|
|
139736
|
-
}
|
|
139737
|
-
const response = await apiClient.request({
|
|
139738
|
-
method: "PUT",
|
|
139739
|
-
path: `/v1/connectors/${encodeURIComponent(context.args.slug)}`,
|
|
139740
|
-
body: body2
|
|
139741
|
-
});
|
|
139742
|
-
return await injectContext({
|
|
139743
|
-
apiBaseUrl,
|
|
139744
|
-
authStore: dependencies.authStore,
|
|
139745
|
-
payload: response.data
|
|
139746
|
-
});
|
|
139747
|
-
}
|
|
139748
|
-
});
|
|
139749
140883
|
return discoverCli;
|
|
139750
140884
|
}
|
|
139751
|
-
function parseJsonOption(raw, optionName) {
|
|
139752
|
-
try {
|
|
139753
|
-
return JSON.parse(raw);
|
|
139754
|
-
} catch {
|
|
139755
|
-
throw new UserInputError(`${optionName} value is not valid JSON.`);
|
|
139756
|
-
}
|
|
139757
|
-
}
|
|
139758
140885
|
|
|
139759
140886
|
// src/commands/envCommands.ts
|
|
139760
140887
|
function createEnvCli(dependencies) {
|
|
@@ -152427,8 +153554,8 @@ var ROOT_HELP_COMMANDS = [
|
|
|
152427
153554
|
{ command: "auth accounts list", description: "List saved user accounts" },
|
|
152428
153555
|
{ command: "auth tenants use <uuid|tenantNo>", description: "Switch active tenant for selected user" },
|
|
152429
153556
|
{ command: 'ai "<prompt>"', description: "Send a prompt to the default Docyrus CLI agent" },
|
|
152430
|
-
{ command: "agent [prompt]", description: "Launch the
|
|
152431
|
-
{ command: "coder [prompt]", description: "Launch the
|
|
153557
|
+
{ command: "agent [prompt]", description: "Launch the Docyrus Cowork Agent" },
|
|
153558
|
+
{ command: "coder [prompt]", description: "Launch the Docyrus Coding Agent" },
|
|
152432
153559
|
{ command: "server", description: "Start HTTP server bridging pi agent to AI SDK useChat" },
|
|
152433
153560
|
{ command: "chrome start", description: "Launch Chrome with remote debugging on :9222" },
|
|
152434
153561
|
{ command: "chrome nav <url>", description: "Navigate the active Chrome tab" },
|
|
@@ -152439,17 +153566,17 @@ var ROOT_HELP_COMMANDS = [
|
|
|
152439
153566
|
{ command: "discover endpoint <path>", description: "Show endpoint object by exact path" },
|
|
152440
153567
|
{ command: "discover entity <name>", description: "Show entity object by name" },
|
|
152441
153568
|
{ command: "discover search <terms>", description: "Search in endpoint paths and entity names" },
|
|
152442
|
-
{ command: "
|
|
152443
|
-
{ command: "
|
|
152444
|
-
{ command: "
|
|
152445
|
-
{ command: "
|
|
152446
|
-
{ command: "
|
|
153569
|
+
{ command: "connect list-connectors", description: "List integration connectors" },
|
|
153570
|
+
{ command: "connect get-connector <slug>", description: "Get connector details with data sources and actions" },
|
|
153571
|
+
{ command: "connect get-action <slug> <key>", description: "Get connector action details" },
|
|
153572
|
+
{ command: "connect list-connections <slug>", description: "Get connector connections" },
|
|
153573
|
+
{ command: "connect curl <slug> <endpoint>", description: "Send request through connector" },
|
|
153574
|
+
{ command: "connect run-action <appSlug> <actionKey>", description: "Run a connector or app action" },
|
|
152447
153575
|
{ command: "knowledge search <query>", description: "Semantic search across docyrus/knowledge" },
|
|
152448
153576
|
{ command: "knowledge section <query>", description: "Show a knowledge section with refs and backlinks" },
|
|
152449
153577
|
{ command: "knowledge check", description: "Validate docyrus/knowledge links and backlinks" },
|
|
152450
153578
|
{ command: "project-plan show", description: "Show the canonical project plan graph and hierarchy" },
|
|
152451
153579
|
{ command: "project-plan check", description: "Validate the canonical project plan graph" },
|
|
152452
|
-
{ command: "action <appSlug> <actionKey> --params '{...}'", description: "Run a connector or app action" },
|
|
152453
153580
|
{ command: "ds list <appSlug> <dataSourceSlug>", description: "List data source items" },
|
|
152454
153581
|
{ command: "apps list", description: "List apps" },
|
|
152455
153582
|
{ command: "apps delete --appId <id>", description: "Archive an app" },
|
|
@@ -152555,7 +153682,6 @@ function createDocyrusCli(params) {
|
|
|
152555
153682
|
cli2.command(createDiscoverCli({
|
|
152556
153683
|
environmentConfigService,
|
|
152557
153684
|
createAuthSessionService,
|
|
152558
|
-
createApiClient,
|
|
152559
153685
|
authStore,
|
|
152560
153686
|
tenantOpenApiService
|
|
152561
153687
|
}));
|
|
@@ -152584,7 +153710,7 @@ function createDocyrusCli(params) {
|
|
|
152584
153710
|
version: package_default.version
|
|
152585
153711
|
}));
|
|
152586
153712
|
}
|
|
152587
|
-
cli2.command(
|
|
153713
|
+
cli2.command(createConnectCli({
|
|
152588
153714
|
createApiClient,
|
|
152589
153715
|
environmentConfigService,
|
|
152590
153716
|
authStore
|