@docyrus/docyrus 0.0.41 → 0.0.43

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.
Files changed (36) hide show
  1. package/README.md +2 -0
  2. package/agent-loader.js +11 -2
  3. package/agent-loader.js.map +2 -2
  4. package/main.js +1823 -697
  5. package/main.js.map +4 -4
  6. package/package.json +8 -7
  7. package/resources/pi-agent/extensions/architect.ts +2 -2
  8. package/resources/pi-agent/extensions/control.ts +0 -8
  9. package/resources/pi-agent/extensions/knowledge.ts +0 -7
  10. package/resources/pi-agent/extensions/loop.ts +1 -5
  11. package/resources/pi-agent/extensions/pi-bash-live-view/package.json +1 -1
  12. package/resources/pi-agent/extensions/pi-custom-compaction/events/register-events.ts +0 -10
  13. package/resources/pi-agent/extensions/pi-custom-compaction/package.json +4 -4
  14. package/resources/pi-agent/extensions/pi-mcp-adapter/package.json +22 -22
  15. package/resources/pi-agent/extensions/plan.ts +183 -45
  16. package/resources/pi-agent/extensions/prompt-editor.ts +0 -18
  17. package/resources/pi-agent/extensions/prompt-url-widget.ts +0 -4
  18. package/resources/pi-agent/extensions/review.ts +0 -4
  19. package/resources/pi-agent/prompts/agent-system.md +12 -0
  20. package/resources/pi-agent/prompts/coder-system.md +18 -0
  21. package/resources/pi-agent/skills/agent-browser/SKILL.md +779 -0
  22. package/resources/pi-agent/skills/agent-browser/references/authentication.md +303 -0
  23. package/resources/pi-agent/skills/agent-browser/references/commands.md +295 -0
  24. package/resources/pi-agent/skills/agent-browser/references/profiling.md +120 -0
  25. package/resources/pi-agent/skills/agent-browser/references/proxy-support.md +194 -0
  26. package/resources/pi-agent/skills/agent-browser/references/session-management.md +193 -0
  27. package/resources/pi-agent/skills/agent-browser/references/snapshot-refs.md +219 -0
  28. package/resources/pi-agent/skills/agent-browser/references/video-recording.md +173 -0
  29. package/resources/pi-agent/skills/agent-browser/templates/authenticated-session.sh +105 -0
  30. package/resources/pi-agent/skills/agent-browser/templates/capture-workflow.sh +69 -0
  31. package/resources/pi-agent/skills/agent-browser/templates/form-automation.sh +62 -0
  32. package/resources/pi-agent/skills/docyrus-app-dev-react/SKILL.md +17 -13
  33. package/resources/pi-agent/skills/docyrus-platform/references/docyrus-cli-usage.md +73 -0
  34. package/resources/pi-agent/skills/grill-me/SKILL.md +109 -0
  35. package/server-loader.js +124 -33
  36. 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.22.0/node_modules/undici/lib/core/symbols.js
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.22.0/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/util/timers.js
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.22.0/node_modules/undici/lib/util/timers.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/errors.js
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.22.0/node_modules/undici/lib/core/errors.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/constants.js
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.22.0/node_modules/undici/lib/core/constants.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/tree.js
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.22.0/node_modules/undici/lib/core/tree.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/util.js
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.22.0/node_modules/undici/lib/core/util.js"(exports2, module2) {
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 (typeof val === "string") {
88797
- val = [val];
88798
- obj[key] = val;
88799
- }
88800
- val.push(headers[i2 + 1].toString("latin1"));
88801
- } else {
88802
- const headersValue = headers[i2 + 1];
88803
- if (typeof headersValue === "string") {
88804
- obj[key] = headersValue;
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
- obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("latin1")) : headersValue.toString("latin1");
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.22.0/node_modules/undici/lib/util/stats.js
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.22.0/node_modules/undici/lib/util/stats.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/diagnostics.js
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.22.0/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
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
- const {
89578
- address: { address, port }
89579
- } = evt;
89580
- debugLog("connection opened %s%s", address, port ? `:${port}` : "");
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.22.0/node_modules/undici/lib/core/request.js
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.22.0/node_modules/undici/lib/core/request.js"(exports2, module2) {
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[Symbol.iterator]) {
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 (request.host === null && headerName === "host") {
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 (request.contentLength === null && headerName === "content-length") {
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.toLowerCase() : null;
89951
- if (value2 !== "close" && value2 !== "keep-alive") {
90009
+ const value2 = typeof val === "string" ? val : null;
90010
+ if (value2 === null) {
89952
90011
  throw new InvalidArgumentError("invalid connection header");
89953
90012
  }
89954
- if (value2 === "close") {
89955
- request.reset = true;
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.22.0/node_modules/undici/lib/handler/wrap-handler.js
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.22.0/node_modules/undici/lib/handler/wrap-handler.js"(exports2, module2) {
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), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
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), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
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), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
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.22.0/node_modules/undici/lib/dispatcher/dispatcher.js
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.22.0/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/unwrap-handler.js
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.22.0/node_modules/undici/lib/handler/unwrap-handler.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/dispatcher-base.js
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.22.0/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/core/connect.js
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.22.0/node_modules/undici/lib/core/connect.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/llhttp/utils.js
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.22.0/node_modules/undici/lib/llhttp/utils.js"(exports2) {
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.22.0/node_modules/undici/lib/llhttp/constants.js
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.22.0/node_modules/undici/lib/llhttp/constants.js"(exports2) {
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.22.0/node_modules/undici/lib/llhttp/llhttp-wasm.js
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.22.0/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
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/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASECDMYBC0GIASECDMUBCyADQQA2AhwgAyABNgIUIANB2yA2AhAgA0EHNgIMQQAhAgzEAQsgASAERgRAQYkBIQIMxAELAkACQAJAIAEtAABBoNIAai0AAEEBaw4DRgIAAQtB8gAhAgysAQsgA0EANgIcIAMgATYCFCADQbQSNgIQIANBBzYCDEEAIQIMxAELQeoAIQIMqgELIAEgBEcEQCABQQFqIQFB7wAhAgyqAQtBhwEhAgzCAQsgBCABIgBGBEBBhgEhAgzCAQsgAC0AACIBQS9GBEAgAEEBaiEBQe4AIQIMqQELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDUEMAQsgBCABIgBGBEBBhQEhAgzBAQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQdsgNgIQIANBBzYCDAy/AQsCQAJAAkACQAJAA0AgAS0AAEGgzgBqLQAAIgBBBUcEQAJAAkAgAEEBaw4IRwUGBwgABAEIC0HrACECDK0BCyABQQFqIQFB7QAhAgysAQsgBCABQQFqIgFHDQALQYQBIQIMwwELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgzBAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgzAAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy/AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMvgELIAEgBEYEQEGDASECDL4BCwJAIAEtAABBoM4Aai0AAEEBaw4IPgQFBgAIAgMHCyABQQFqIQELQQMhAgyjAQsgAUEBagwNC0EAIQIgA0EANgIcIANB0RI2AhAgA0EHNgIMIAMgAUEBajYCFAy6AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy5AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgy4AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy3AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMtgELQewAIQIMnAELIAEgBEYEQEGCASECDLUBCyABQQFqDAILIAEgBEYEQEGBASECDLQBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyYAQtBgAEhAgywAQsDQCABLQAAQaDMAGotAAAiAEECRwRAIABBAUcEQEHpACECDJkBCwwxCyAEIAFBAWoiAUcNAAtB/wAhAgyvAQsgASAERgRAQf4AIQIMrwELAkAgAS0AAEEJaw43LwMGLwQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDJQBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIANBADYCHCADIAE2AhQgA0GNFDYCECADQQc2AgxBACECDKgBCwJAAkACQAJAA0AgAS0AAEGgygBqLQAAIgBBBUcEQAJAIABBAWsOBi4DBAUGAAYLQegAIQIMlAELIAQgAUEBaiIBRw0AC0H9ACECDKsBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDKoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDKkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQfoANgIcIAMgATYCFCADIAA2AgxBACECDKgBCyADQQA2AhwgAyABNgIUIANB5Ag2AhAgA0EHNgIMQQAhAgynAQsgASAERg0BIAFBAWoLIQFBBiECDIwBC0H8ACECDKQBCwJAAkACQAJAA0AgAS0AAEGgyABqLQAAIgBBBUcEQCAAQQFrDgQpAgMEBQsgBCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+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.22.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
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.22.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
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/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkBIQIMoAILAkACQAJAIAEtAABBCmsOBAECAgACCyABQQFqIQEMAgsgAUEBaiEBDAELIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCPCICRQ0AIAMgAhEAACEACyAARQ2gASAAQRVGBEAgA0HZADYCHCADIAE2AhQgA0G3GjYCECADQRU2AgxBACECDJ8CCyADQQA2AhwgAyABNgIUIANBgA02AhAgA0EbNgIMQQAhAgyeAgsgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMnQILIAEgBEcEQCADQQw2AgggAyABNgIEQb8BIQIMhAILQdgBIQIMnAILIAEgBEYEQEHXASECDJwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEHBAGsOFQABAgNaBAUGWlpaBwgJCgsMDQ4PEFoLIAFBAWohAUH7ACECDJICCyABQQFqIQFB/AAhAgyRAgsgAUEBaiEBQYEBIQIMkAILIAFBAWohAUGFASECDI8CCyABQQFqIQFBhgEhAgyOAgsgAUEBaiEBQYkBIQIMjQILIAFBAWohAUGKASECDIwCCyABQQFqIQFBjQEhAgyLAgsgAUEBaiEBQZYBIQIMigILIAFBAWohAUGXASECDIkCCyABQQFqIQFBmAEhAgyIAgsgAUEBaiEBQaUBIQIMhwILIAFBAWohAUGmASECDIYCCyABQQFqIQFBrAEhAgyFAgsgAUEBaiEBQbQBIQIMhAILIAFBAWohAUG3ASECDIMCCyABQQFqIQFBvgEhAgyCAgsgASAERgRAQdYBIQIMmwILIAEtAABBzgBHDUggAUEBaiEBQb0BIQIMgQILIAEgBEYEQEHVASECDJoCCwJAAkACQCABLQAAQcIAaw4SAEpKSkpKSkpKSgFKSkpKSkoCSgsgAUEBaiEBQbgBIQIMggILIAFBAWohAUG7ASECDIECCyABQQFqIQFBvAEhAgyAAgtB1AEhAiABIARGDZgCIAMoAgAiACAEIAFraiEFIAEgAGtBB2ohBgJAA0AgAS0AACAAQajVAGotAABHDUUgAEEHRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJkCCyADQQA2AgAgBkEBaiEBQRsMRQsgASAERgRAQdMBIQIMmAILAkACQCABLQAAQckAaw4HAEdHR0dHAUcLIAFBAWohAUG5ASECDP8BCyABQQFqIQFBugEhAgz+AQtB0gEhAiABIARGDZYCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQabVAGotAABHDUMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJcCCyADQQA2AgAgBkEBaiEBQQ8MQwtB0QEhAiABIARGDZUCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQaTVAGotAABHDUIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYCCyADQQA2AgAgBkEBaiEBQSAMQgtB0AEhAiABIARGDZQCIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDUEgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJUCCyADQQA2AgAgBkEBaiEBQRIMQQsgASAERgRAQc8BIQIMlAILAkACQCABLQAAQcUAaw4OAENDQ0NDQ0NDQ0NDQwFDCyABQQFqIQFBtQEhAgz7AQsgAUEBaiEBQbYBIQIM+gELQc4BIQIgASAERg2SAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGe1QBqLQAARw0/IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyTAgsgA0EANgIAIAZBAWohAUEHDD8LQc0BIQIgASAERg2RAiADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGY1QBqLQAARw0+IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAySAgsgA0EANgIAIAZBAWohAUEoDD4LIAEgBEYEQEHMASECDJECCwJAAkACQCABLQAAQcUAaw4RAEFBQUFBQUFBQQFBQUFBQQJBCyABQQFqIQFBsQEhAgz5AQsgAUEBaiEBQbIBIQIM+AELIAFBAWohAUGzASECDPcBC0HLASECIAEgBEYNjwIgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBkdUAai0AAEcNPCAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+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.22.0/node_modules/undici/lib/web/fetch/constants.js
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.22.0/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/global.js
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.22.0/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/encoding/index.js
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.22.0/node_modules/undici/lib/encoding/index.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/infra/index.js
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.22.0/node_modules/undici/lib/web/infra/index.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/data-url.js
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.22.0/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/util/runtime-features.js
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.22.0/node_modules/undici/lib/util/runtime-features.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/webidl/index.js
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.22.0/node_modules/undici/lib/web/webidl/index.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/util.js
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.22.0/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/formdata.js
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.22.0/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/formdata-parser.js
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.22.0/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
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 = utf8DecodeBytes(Buffer.from(body2));
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.22.0/node_modules/undici/lib/util/promise.js
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.22.0/node_modules/undici/lib/util/promise.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/body.js
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.22.0/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/client-h1.js
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.22.0/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/client-h2.js
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.22.0/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
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
- stream.on("data", (chunk) => {
95661
- if (request.onData(chunk) === false) {
95662
- stream.pause();
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.22.0/node_modules/undici/lib/dispatcher/client.js
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.22.0/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
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
- client[kConnector]({
96245
- host,
96246
- hostname: hostname3,
96247
- protocol,
96248
- port,
96249
- servername: client[kServerName],
96250
- localAddress: client[kLocalAddress]
96251
- }, (err2, socket) => {
96252
- if (err2) {
96253
- handleConnectError(client, err2, { host, hostname: hostname3, protocol, port });
96254
- client[kResume]();
96255
- return;
96256
- }
96257
- if (client.destroyed) {
96258
- util2.destroy(socket.on("error", noop), new ClientDestroyedError());
96259
- client[kResume]();
96260
- return;
96261
- }
96262
- assert4(socket);
96263
- try {
96264
- client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
96265
- } catch (err3) {
96266
- socket.destroy().on("error", noop);
96267
- handleConnectError(client, err3, { host, hostname: hostname3, protocol, port });
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
- return;
96270
- }
96271
- client[kConnecting] = false;
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.22.0/node_modules/undici/lib/dispatcher/fixed-queue.js
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.22.0/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/pool-base.js
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.22.0/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/pool.js
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.22.0/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/balanced-pool.js
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.22.0/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
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 { parseOrigin } = require_util3();
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, Object.assign({}, this[kOptions]));
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.22.0/node_modules/undici/lib/dispatcher/round-robin-pool.js
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.22.0/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/agent.js
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.22.0/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/proxy-agent.js
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.22.0/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
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
- this[kClient] = clientFactory(url2, { connect });
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
- return Promise.all([
97359
- this[kAgent].close(),
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
- return Promise.all([
97365
- this[kAgent].destroy(),
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.22.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
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.22.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/retry-handler.js
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.22.0/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/retry-agent.js
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.22.0/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/dispatcher/h2c-client.js
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.22.0/node_modules/undici/lib/dispatcher/h2c-client.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/readable.js
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.22.0/node_modules/undici/lib/api/readable.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/api-request.js
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.22.0/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/abort-signal.js
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.22.0/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/api-stream.js
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.22.0/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/api-pipeline.js
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.22.0/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/api-upgrade.js
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.22.0/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/api-connect.js
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.22.0/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/api/index.js
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.22.0/node_modules/undici/lib/api/index.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-errors.js
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.22.0/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-symbols.js
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.22.0/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-utils.js
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.22.0/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-interceptor.js
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.22.0/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-client.js
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.22.0/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-call-history.js
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.22.0/node_modules/undici/lib/mock/mock-call-history.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-pool.js
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.22.0/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js
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.22.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/mock-agent.js
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.22.0/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/snapshot-utils.js
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.22.0/node_modules/undici/lib/mock/snapshot-utils.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/snapshot-recorder.js
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.22.0/node_modules/undici/lib/mock/snapshot-recorder.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/mock/snapshot-agent.js
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.22.0/node_modules/undici/lib/mock/snapshot-agent.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/global.js
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.22.0/node_modules/undici/lib/global.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/decorator-handler.js
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.22.0/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/redirect-handler.js
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.22.0/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
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 = typeof headers[Symbol.iterator] === "function" ? headers : Object.entries(headers);
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.22.0/node_modules/undici/lib/interceptor/redirect.js
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.22.0/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/response-error.js
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.22.0/node_modules/undici/lib/interceptor/response-error.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/retry.js
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.22.0/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/dump.js
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.22.0/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/dns.js
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.22.0/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/util/cache.js
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.22.0/node_modules/undici/lib/util/cache.js"(exports2, module2) {
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[Symbol.iterator] === "function") {
102712
+ } else if (typeof opts.headers === "object") {
101853
102713
  headers = {};
101854
- for (const x of opts.headers) {
101855
- if (!Array.isArray(x)) {
101856
- throw new Error("opts.headers is not a valid header map");
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
- const [key, val] = x;
101859
- if (typeof key !== "string" || typeof val !== "string") {
101860
- throw new Error("opts.headers is not a valid header map");
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.22.0/node_modules/undici/lib/util/date.js
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.22.0/node_modules/undici/lib/util/date.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/cache-handler.js
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.22.0/node_modules/undici/lib/handler/cache-handler.js"(exports2, module2) {
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 (resHeaders.authorization) {
102844
- if (!cacheControlDirectives.public || typeof resHeaders.authorization !== "string") {
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.22.0/node_modules/undici/lib/cache/memory-cache-store.js
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.22.0/node_modules/undici/lib/cache/memory-cache-store.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/cache-revalidation-handler.js
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.22.0/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/cache.js
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.22.0/node_modules/undici/lib/interceptor/cache.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/interceptor/decompress.js
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.22.0/node_modules/undici/lib/interceptor/decompress.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/handler/deduplication-handler.js
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.22.0/node_modules/undici/lib/handler/deduplication-handler.js"(exports2, module2) {
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 {DispatchHandler[]}
104654
+ * @type {WaitingHandler[]}
103785
104655
  */
103786
104656
  #waitingHandlers = [];
103787
104657
  /**
103788
- * @type {Buffer[]}
104658
+ * @type {number}
103789
104659
  */
103790
- #chunks = [];
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 the buffered response
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.#waitingHandlers.push(handler2);
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 {() => void} abort
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.#chunks.push(Buffer.from(chunk));
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.#notifyWaitingHandlers();
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.#notifyWaitingHandlersError(err2);
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
- * Notify all waiting handlers with the buffered response
104876
+ * @param {DispatchHandler} handler
104877
+ * @returns {WaitingHandler}
103888
104878
  */
103889
- #notifyWaitingHandlers() {
103890
- const body2 = Buffer.concat(this.#chunks);
103891
- for (const handler2 of this.#waitingHandlers) {
103892
- const waitingController = {
103893
- resume() {
103894
- },
103895
- pause() {
103896
- },
103897
- get paused() {
103898
- return false;
103899
- },
103900
- get aborted() {
103901
- return false;
103902
- },
103903
- get reason() {
103904
- return null;
103905
- },
103906
- abort() {
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
- handler2.onResponseStart?.(
103915
- waitingController,
103916
- this.#statusCode,
103917
- this.#headers,
103918
- this.#statusMessage
103919
- );
103920
- if (waitingController.aborted) {
103921
- continue;
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
- if (body2.length > 0) {
103924
- handler2.onResponseData?.(waitingController, body2);
104908
+ this.#pruneDoneWaitingHandlers();
104909
+ },
104910
+ pause: () => {
104911
+ if (!state.aborted) {
104912
+ state.paused = true;
103925
104913
  }
103926
- handler2.onResponseEnd?.(waitingController, {});
103927
- } catch {
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
- * Notify all waiting handlers of an error
103935
- * @param {Error} err
104955
+ * @param {WaitingHandler} waitingHandler
103936
104956
  */
103937
- #notifyWaitingHandlersError(err2) {
103938
- for (const handler2 of this.#waitingHandlers) {
103939
- const waitingController = {
103940
- resume() {
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.onRequestStart?.(waitingController, null);
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
- this.#waitingHandlers = [];
103963
- this.#chunks = [];
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.22.0/node_modules/undici/lib/interceptor/deduplicate.js
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.22.0/node_modules/undici/lib/interceptor/deduplicate.js"(exports2, module2) {
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
- return true;
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.22.0/node_modules/undici/lib/cache/sqlite-cache-store.js
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.22.0/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/headers.js
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.22.0/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/response.js
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.22.0/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/request.js
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.22.0/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
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.22.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/fetch/index.js
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.22.0/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
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: url2.pathname + url2.search,
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
- headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
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
- headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
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.22.0/node_modules/undici/lib/web/cache/util.js
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.22.0/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cache/cache.js
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.22.0/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cache/cachestorage.js
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.22.0/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cookies/constants.js
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.22.0/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cookies/util.js
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.22.0/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cookies/parse.js
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.22.0/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/cookies/index.js
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.22.0/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/events.js
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.22.0/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/constants.js
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.22.0/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/util.js
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.22.0/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
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
- return true;
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.22.0/node_modules/undici/lib/web/websocket/frame.js
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.22.0/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/connection.js
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.22.0/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/permessage-deflate.js
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.22.0/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
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
- this.#inflate = createInflateRaw({ windowBits });
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.#inflate[kBuffer].push(data);
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.22.0/node_modules/undici/lib/web/websocket/receiver.js
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.22.0/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
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
- if (upper > 2 ** 31 - 1) {
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
- const lower = buffer.readUInt32BE(4);
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
- failWebsocketConnection(this.#handler, 1007, error48.message);
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.22.0/node_modules/undici/lib/web/websocket/sender.js
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.22.0/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/websocket.js
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.22.0/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
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.address(),
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.22.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js
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.22.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js
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.22.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/eventsource/util.js
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.22.0/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js
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.22.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
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.22.0/node_modules/undici/lib/web/eventsource/eventsource.js
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.22.0/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
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.22.0/node_modules/undici/index.js
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.22.0/node_modules/undici/index.js"(exports2, module2) {
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.41",
138276
+ version: "0.0.43",
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.14.1",
137167
- "@mariozechner/pi-ai": "0.64.0",
137168
- "@mariozechner/pi-coding-agent": "0.64.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.2",
137178
- hono: "^4.7.10",
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.16.0",
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/actionCommand.ts
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 createActionCli(dependencies) {
137376
- return Cli_exports.create("action", {
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 scoped Docyrus pi assistant" },
152431
- { command: "coder [prompt]", description: "Launch the scoped Docyrus pi coding agent" },
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: "discover connectors", description: "List integration connectors" },
152443
- { command: "discover connector <slug>", description: "Get connector details with data sources and actions" },
152444
- { command: "discover connector-action <slug> <key>", description: "Get connector action details" },
152445
- { command: "discover connector-connections <slug>", description: "Get connector connections" },
152446
- { command: "discover connector-curl <slug> <endpoint>", description: "Send request through connector" },
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(createActionCli({
153713
+ cli2.command(createConnectCli({
152588
153714
  createApiClient,
152589
153715
  environmentConfigService,
152590
153716
  authStore