@ai-agent-forge/agent-forge 0.86.1 → 0.86.3

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 (146) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/bundle/.build-manifest.json +158 -152
  3. package/dist/bundle/chunks/{anthropic-messages-RJYU4TCY.js → anthropic-messages-EVFQ6MLR.js} +3 -3
  4. package/dist/bundle/chunks/{azure-openai-responses-LESTCUL7.js → azure-openai-responses-WQCZWFAH.js} +1 -1
  5. package/dist/bundle/chunks/bedrock-converse-stream.js +1 -1
  6. package/dist/bundle/chunks/{chunk-MDOTREMR.js → chunk-3WE3W52L.js} +2 -2
  7. package/dist/bundle/chunks/chunk-F6SBZUJG.js +141 -0
  8. package/dist/bundle/chunks/{chunk-SER2HCLE.js → chunk-N6BQJSGH.js} +1 -1
  9. package/dist/bundle/chunks/chunk-RK2X2KU2.js +1442 -0
  10. package/dist/bundle/chunks/chunk-TBPTHASB.js +2 -0
  11. package/dist/bundle/chunks/github-copilot.js +1 -1
  12. package/dist/bundle/chunks/{google-generative-ai-NZ66X6K7.js → google-generative-ai-ISTTUZMW.js} +1 -1
  13. package/dist/bundle/chunks/{google-vertex-2ZZOFBNQ.js → google-vertex-NS7ZF7DK.js} +1 -1
  14. package/dist/bundle/chunks/jiti-static-loader-CDSTNEDU.js +2 -0
  15. package/dist/bundle/chunks/{mistral-conversations-B6DZRMEK.js → mistral-conversations-GINO6Z4I.js} +1 -1
  16. package/dist/bundle/chunks/{openai-codex-responses-UFH6O5K6.js → openai-codex-responses-YDJSZOIH.js} +1 -1
  17. package/dist/bundle/chunks/{openai-completions-A55GHA4O.js → openai-completions-UPRWTQPT.js} +3 -3
  18. package/dist/bundle/chunks/openai-responses-O63W6HQ3.js +2 -0
  19. package/dist/bundle/chunks/virtual-modules-O72ICTMQ.js +2 -0
  20. package/dist/bundle/cli.js +1 -1
  21. package/dist/bundle/index.js +1 -1
  22. package/dist/bundle/rpc-entry.js +1 -1
  23. package/dist/cli/args.d.ts.map +1 -1
  24. package/dist/cli/args.js +14 -4
  25. package/dist/cli/args.js.map +1 -1
  26. package/dist/cli/session-picker.d.ts +1 -1
  27. package/dist/cli/session-picker.d.ts.map +1 -1
  28. package/dist/cli/session-picker.js +8 -2
  29. package/dist/cli/session-picker.js.map +1 -1
  30. package/dist/core/agent-session-compaction.d.ts +7 -2
  31. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  32. package/dist/core/agent-session-compaction.js +137 -43
  33. package/dist/core/agent-session-compaction.js.map +1 -1
  34. package/dist/core/agent-session-internal.d.ts +6 -0
  35. package/dist/core/agent-session-internal.d.ts.map +1 -1
  36. package/dist/core/agent-session-internal.js.map +1 -1
  37. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  38. package/dist/core/agent-session-runtime.js +1 -1
  39. package/dist/core/agent-session-runtime.js.map +1 -1
  40. package/dist/core/agent-session.d.ts +21 -4
  41. package/dist/core/agent-session.d.ts.map +1 -1
  42. package/dist/core/agent-session.js +104 -93
  43. package/dist/core/agent-session.js.map +1 -1
  44. package/dist/core/compaction/compaction.d.ts +15 -0
  45. package/dist/core/compaction/compaction.d.ts.map +1 -1
  46. package/dist/core/compaction/compaction.js +20 -1
  47. package/dist/core/compaction/compaction.js.map +1 -1
  48. package/dist/core/export-html/template.css +10 -0
  49. package/dist/core/export-html/template.js +50 -17
  50. package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -1
  51. package/dist/core/extensions/bootstrap-compaction-policy.js +3 -1
  52. package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -1
  53. package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
  54. package/dist/core/extensions/capability-plugin.js +25 -30
  55. package/dist/core/extensions/capability-plugin.js.map +1 -1
  56. package/dist/core/extensions/jiti-static-loader.d.ts +2 -0
  57. package/dist/core/extensions/jiti-static-loader.d.ts.map +1 -0
  58. package/dist/core/extensions/jiti-static-loader.js +5 -0
  59. package/dist/core/extensions/jiti-static-loader.js.map +1 -0
  60. package/dist/core/extensions/microcompact.d.ts +3 -2
  61. package/dist/core/extensions/microcompact.d.ts.map +1 -1
  62. package/dist/core/extensions/microcompact.js +14 -5
  63. package/dist/core/extensions/microcompact.js.map +1 -1
  64. package/dist/core/extensions/virtual-modules.d.ts +3 -0
  65. package/dist/core/extensions/virtual-modules.d.ts.map +1 -0
  66. package/dist/core/extensions/virtual-modules.js +32 -0
  67. package/dist/core/extensions/virtual-modules.js.map +1 -0
  68. package/dist/core/facade/coding-agent-facade.d.ts +3 -3
  69. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  70. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  71. package/dist/core/facade/coding-agent-runtime-facade.d.ts +2 -2
  72. package/dist/core/facade/coding-agent-runtime-facade.d.ts.map +1 -1
  73. package/dist/core/facade/coding-agent-runtime-facade.js +4 -4
  74. package/dist/core/facade/coding-agent-runtime-facade.js.map +1 -1
  75. package/dist/core/model-resolver.d.ts.map +1 -1
  76. package/dist/core/model-resolver.js +2 -2
  77. package/dist/core/model-resolver.js.map +1 -1
  78. package/dist/core/package-install-host.d.ts +1 -1
  79. package/dist/core/package-install-host.d.ts.map +1 -1
  80. package/dist/core/package-install-host.js +4 -3
  81. package/dist/core/package-install-host.js.map +1 -1
  82. package/dist/core/prompt-templates.d.ts +6 -1
  83. package/dist/core/prompt-templates.d.ts.map +1 -1
  84. package/dist/core/prompt-templates.js +61 -35
  85. package/dist/core/prompt-templates.js.map +1 -1
  86. package/dist/core/resource-loader.d.ts.map +1 -1
  87. package/dist/core/resource-loader.js +6 -2
  88. package/dist/core/resource-loader.js.map +1 -1
  89. package/dist/core/session-manager.d.ts +23 -4
  90. package/dist/core/session-manager.d.ts.map +1 -1
  91. package/dist/core/session-manager.js +146 -108
  92. package/dist/core/session-manager.js.map +1 -1
  93. package/dist/core/settings-manager.d.ts +3 -0
  94. package/dist/core/settings-manager.d.ts.map +1 -1
  95. package/dist/core/settings-manager.js +4 -0
  96. package/dist/core/settings-manager.js.map +1 -1
  97. package/dist/core/tools/bash.d.ts +2 -1
  98. package/dist/core/tools/bash.d.ts.map +1 -1
  99. package/dist/core/tools/bash.js +18 -3
  100. package/dist/core/tools/bash.js.map +1 -1
  101. package/dist/main.d.ts.map +1 -1
  102. package/dist/main.js +6 -7
  103. package/dist/main.js.map +1 -1
  104. package/dist/modes/interactive/components/session-selector.d.ts +5 -5
  105. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  106. package/dist/modes/interactive/components/session-selector.js +74 -50
  107. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  108. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  109. package/dist/modes/interactive/components/tool-execution.js +18 -9
  110. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  111. package/dist/modes/interactive/interactive-mode.d.ts +2 -2
  112. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  113. package/dist/modes/interactive/interactive-mode.js +35 -32
  114. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  115. package/dist/modes/rpc/rpc-client.d.ts +14 -6
  116. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  117. package/dist/modes/rpc/rpc-client.js +47 -10
  118. package/dist/modes/rpc/rpc-client.js.map +1 -1
  119. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  120. package/dist/modes/rpc/rpc-mode.js +9 -10
  121. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  122. package/dist/modes/rpc/rpc-types.d.ts +10 -1
  123. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  124. package/dist/modes/rpc/rpc-types.js.map +1 -1
  125. package/dist/remote/server-assembly.d.ts.map +1 -1
  126. package/dist/remote/server-assembly.js +1 -1
  127. package/dist/remote/server-assembly.js.map +1 -1
  128. package/dist/utils/clipboard-image.d.ts.map +1 -1
  129. package/dist/utils/clipboard-image.js +1 -12
  130. package/dist/utils/clipboard-image.js.map +1 -1
  131. package/dist/utils/clipboard.d.ts.map +1 -1
  132. package/dist/utils/clipboard.js +88 -13
  133. package/dist/utils/clipboard.js.map +1 -1
  134. package/dist/utils/mime.d.ts.map +1 -1
  135. package/dist/utils/mime.js +1 -1
  136. package/dist/utils/mime.js.map +1 -1
  137. package/dist/utils/wsl.d.ts +3 -0
  138. package/dist/utils/wsl.d.ts.map +1 -0
  139. package/dist/utils/wsl.js +15 -0
  140. package/dist/utils/wsl.js.map +1 -0
  141. package/docs/rpc.md +7 -5
  142. package/docs/sdk.md +9 -8
  143. package/package.json +1 -1
  144. package/dist/bundle/chunks/chunk-KQEGUM34.js +0 -2
  145. package/dist/bundle/chunks/chunk-S3YLY4MG.js +0 -1581
  146. package/dist/bundle/chunks/openai-responses-TJLXRAXR.js +0 -2
@@ -0,0 +1,141 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
+ import{__commonJS,__export,__require,__toESM}from"./chunk-4L3WN2XY.js";var require_symbols=__commonJS({"node_modules/undici/lib/core/symbols.js"(exports,module){"use strict";module.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}}});var require_timers=__commonJS({"node_modules/undici/lib/util/timers.js"(exports,module){"use strict";var fastNow=0,RESOLUTION_MS=1e3,TICK_MS=(RESOLUTION_MS>>1)-1,fastNowTimeout,kFastTimer=Symbol("kFastTimer"),fastTimers=[],NOT_IN_LIST=-2,TO_BE_CLEARED=-1,PENDING=0,ACTIVE=1;function onTick(){fastNow+=TICK_MS;let idx=0,len=fastTimers.length;for(;idx<len;){let timer=fastTimers[idx];timer._state===PENDING?(timer._idleStart=fastNow-TICK_MS,timer._state=ACTIVE):timer._state===ACTIVE&&fastNow>=timer._idleStart+timer._idleTimeout&&(timer._state=TO_BE_CLEARED,timer._idleStart=-1,timer._onTimeout(timer._timerArg)),timer._state===TO_BE_CLEARED?(timer._state=NOT_IN_LIST,--len!==0&&(fastTimers[idx]=fastTimers[len])):++idx}fastTimers.length=len,fastTimers.length!==0&&refreshTimeout()}function refreshTimeout(){fastNowTimeout?.refresh?fastNowTimeout.refresh():(clearTimeout(fastNowTimeout),fastNowTimeout=setTimeout(onTick,TICK_MS),fastNowTimeout?.unref())}var FastTimer=class{[kFastTimer]=!0;_state=NOT_IN_LIST;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(callback,delay,arg){this._onTimeout=callback,this._idleTimeout=delay,this._timerArg=arg,this.refresh()}refresh(){this._state===NOT_IN_LIST&&fastTimers.push(this),(!fastNowTimeout||fastTimers.length===1)&&refreshTimeout(),this._state=PENDING}clear(){this._state=TO_BE_CLEARED,this._idleStart=-1}};module.exports={setTimeout(callback,delay,arg){return delay<=RESOLUTION_MS?setTimeout(callback,delay,arg):new FastTimer(callback,delay,arg)},clearTimeout(timeout){timeout[kFastTimer]?timeout.clear():clearTimeout(timeout)},setFastTimeout(callback,delay,arg){return new FastTimer(callback,delay,arg)},clearFastTimeout(timeout){timeout.clear()},now(){return fastNow},tick(delay=0){fastNow+=delay-RESOLUTION_MS+1,onTick(),onTick()},reset(){fastNow=0,fastTimers.length=0,clearTimeout(fastNowTimeout),fastNowTimeout=null},kFastTimer}}});var require_errors=__commonJS({"node_modules/undici/lib/core/errors.js"(exports,module){"use strict";var kUndiciError=Symbol.for("undici.error.UND_ERR"),UndiciError=class extends Error{constructor(message,options){super(message,options),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](instance){return instance&&instance[kUndiciError]===!0}get[kUndiciError](){return!0}},kConnectTimeoutError=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),ConnectTimeoutError=class extends UndiciError{constructor(message){super(message),this.name="ConnectTimeoutError",this.message=message||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](instance){return instance&&instance[kConnectTimeoutError]===!0}get[kConnectTimeoutError](){return!0}},kHeadersTimeoutError=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),HeadersTimeoutError=class extends UndiciError{constructor(message){super(message),this.name="HeadersTimeoutError",this.message=message||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](instance){return instance&&instance[kHeadersTimeoutError]===!0}get[kHeadersTimeoutError](){return!0}},kHeadersOverflowError=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),HeadersOverflowError=class extends UndiciError{constructor(message){super(message),this.name="HeadersOverflowError",this.message=message||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](instance){return instance&&instance[kHeadersOverflowError]===!0}get[kHeadersOverflowError](){return!0}},kBodyTimeoutError=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),BodyTimeoutError=class extends UndiciError{constructor(message){super(message),this.name="BodyTimeoutError",this.message=message||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](instance){return instance&&instance[kBodyTimeoutError]===!0}get[kBodyTimeoutError](){return!0}},kInvalidArgumentError=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),InvalidArgumentError=class extends UndiciError{constructor(message){super(message),this.name="InvalidArgumentError",this.message=message||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](instance){return instance&&instance[kInvalidArgumentError]===!0}get[kInvalidArgumentError](){return!0}},kInvalidReturnValueError=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),InvalidReturnValueError=class extends UndiciError{constructor(message){super(message),this.name="InvalidReturnValueError",this.message=message||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](instance){return instance&&instance[kInvalidReturnValueError]===!0}get[kInvalidReturnValueError](){return!0}},kAbortError=Symbol.for("undici.error.UND_ERR_ABORT"),AbortError=class extends UndiciError{constructor(message){super(message),this.name="AbortError",this.message=message||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](instance){return instance&&instance[kAbortError]===!0}get[kAbortError](){return!0}},kRequestAbortedError=Symbol.for("undici.error.UND_ERR_ABORTED"),RequestAbortedError=class extends AbortError{constructor(message){super(message),this.name="AbortError",this.message=message||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](instance){return instance&&instance[kRequestAbortedError]===!0}get[kRequestAbortedError](){return!0}},kInformationalError=Symbol.for("undici.error.UND_ERR_INFO"),InformationalError=class extends UndiciError{constructor(message,options){super(message,options),this.name="InformationalError",this.message=message||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](instance){return instance&&instance[kInformationalError]===!0}get[kInformationalError](){return!0}},kRequestContentLengthMismatchError=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),RequestContentLengthMismatchError=class extends UndiciError{constructor(message){super(message),this.name="RequestContentLengthMismatchError",this.message=message||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](instance){return instance&&instance[kRequestContentLengthMismatchError]===!0}get[kRequestContentLengthMismatchError](){return!0}},kResponseContentLengthMismatchError=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),ResponseContentLengthMismatchError=class extends UndiciError{constructor(message){super(message),this.name="ResponseContentLengthMismatchError",this.message=message||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](instance){return instance&&instance[kResponseContentLengthMismatchError]===!0}get[kResponseContentLengthMismatchError](){return!0}},kClientDestroyedError=Symbol.for("undici.error.UND_ERR_DESTROYED"),ClientDestroyedError=class extends UndiciError{constructor(message){super(message),this.name="ClientDestroyedError",this.message=message||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](instance){return instance&&instance[kClientDestroyedError]===!0}get[kClientDestroyedError](){return!0}},kClientClosedError=Symbol.for("undici.error.UND_ERR_CLOSED"),ClientClosedError=class extends UndiciError{constructor(message){super(message),this.name="ClientClosedError",this.message=message||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](instance){return instance&&instance[kClientClosedError]===!0}get[kClientClosedError](){return!0}},kSocketError=Symbol.for("undici.error.UND_ERR_SOCKET"),SocketError=class extends UndiciError{constructor(message,socket){super(message),this.name="SocketError",this.message=message||"Socket error",this.code="UND_ERR_SOCKET",this.socket=socket}static[Symbol.hasInstance](instance){return instance&&instance[kSocketError]===!0}get[kSocketError](){return!0}},kNotSupportedError=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),NotSupportedError=class extends UndiciError{constructor(message){super(message),this.name="NotSupportedError",this.message=message||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](instance){return instance&&instance[kNotSupportedError]===!0}get[kNotSupportedError](){return!0}},kBalancedPoolMissingUpstreamError=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),BalancedPoolMissingUpstreamError=class extends UndiciError{constructor(message){super(message),this.name="MissingUpstreamError",this.message=message||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](instance){return instance&&instance[kBalancedPoolMissingUpstreamError]===!0}get[kBalancedPoolMissingUpstreamError](){return!0}},kHTTPParserError=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),HTTPParserError=class extends Error{constructor(message,code,data){super(message),this.name="HTTPParserError",this.code=code?`HPE_${code}`:void 0,this.data=data?data.toString():void 0}static[Symbol.hasInstance](instance){return instance&&instance[kHTTPParserError]===!0}get[kHTTPParserError](){return!0}},kResponseExceededMaxSizeError=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),ResponseExceededMaxSizeError=class extends UndiciError{constructor(message){super(message),this.name="ResponseExceededMaxSizeError",this.message=message||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](instance){return instance&&instance[kResponseExceededMaxSizeError]===!0}get[kResponseExceededMaxSizeError](){return!0}},kRequestRetryError=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),RequestRetryError=class extends UndiciError{constructor(message,code,{headers,data}){super(message),this.name="RequestRetryError",this.message=message||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=code,this.data=data,this.headers=headers}static[Symbol.hasInstance](instance){return instance&&instance[kRequestRetryError]===!0}get[kRequestRetryError](){return!0}},kResponseError=Symbol.for("undici.error.UND_ERR_RESPONSE"),ResponseError=class extends UndiciError{constructor(message,code,{headers,body}){super(message),this.name="ResponseError",this.message=message||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=code,this.body=body,this.headers=headers}static[Symbol.hasInstance](instance){return instance&&instance[kResponseError]===!0}get[kResponseError](){return!0}},kSecureProxyConnectionError=Symbol.for("undici.error.UND_ERR_PRX_TLS"),SecureProxyConnectionError=class extends UndiciError{constructor(cause,message,options={}){super(message,{cause,...options}),this.name="SecureProxyConnectionError",this.message=message||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=cause}static[Symbol.hasInstance](instance){return instance&&instance[kSecureProxyConnectionError]===!0}get[kSecureProxyConnectionError](){return!0}},kProxyConnectionError=Symbol.for("undici.error.UND_ERR_PRX_CONN"),ProxyConnectionError=class extends UndiciError{constructor(cause,message,options={}){super(message,{cause,...options}),this.name="ProxyConnectionError",this.message=message||"Proxy Connection failed",this.code="UND_ERR_PRX_CONN",this.cause=cause}static[Symbol.hasInstance](instance){return instance&&instance[kProxyConnectionError]===!0}get[kProxyConnectionError](){return!0}},kMaxOriginsReachedError=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),MaxOriginsReachedError=class extends UndiciError{constructor(message){super(message),this.name="MaxOriginsReachedError",this.message=message||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](instance){return instance&&instance[kMaxOriginsReachedError]===!0}get[kMaxOriginsReachedError](){return!0}},Socks5ProxyError=class extends UndiciError{constructor(message,code){super(message),this.name="Socks5ProxyError",this.message=message||"SOCKS5 proxy error",this.code=code||"UND_ERR_SOCKS5"}},kMessageSizeExceededError=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),MessageSizeExceededError=class extends UndiciError{constructor(message){super(message),this.name="MessageSizeExceededError",this.message=message||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](instance){return instance&&instance[kMessageSizeExceededError]===!0}get[kMessageSizeExceededError](){return!0}};module.exports={AbortError,HTTPParserError,UndiciError,HeadersTimeoutError,HeadersOverflowError,BodyTimeoutError,RequestContentLengthMismatchError,ConnectTimeoutError,InvalidArgumentError,InvalidReturnValueError,RequestAbortedError,ClientDestroyedError,ClientClosedError,InformationalError,SocketError,NotSupportedError,ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError,RequestRetryError,ResponseError,SecureProxyConnectionError,ProxyConnectionError,MaxOriginsReachedError,Socks5ProxyError,MessageSizeExceededError}}});var require_constants=__commonJS({"node_modules/undici/lib/core/constants.js"(exports,module){"use strict";var wellknownHeaderNames=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],headerNameLowerCasedRecord={};Object.setPrototypeOf(headerNameLowerCasedRecord,null);for(let i=0;i<wellknownHeaderNames.length;++i){let key=wellknownHeaderNames[i],lowerCasedKey=key.toLowerCase();headerNameLowerCasedRecord[key]=headerNameLowerCasedRecord[lowerCasedKey]=lowerCasedKey}module.exports={wellknownHeaderNames,headerNameLowerCasedRecord}}});var require_tree=__commonJS({"node_modules/undici/lib/core/tree.js"(exports,module){"use strict";var{wellknownHeaderNames,headerNameLowerCasedRecord}=require_constants(),TstNode=class _TstNode{value=null;left=null;middle=null;right=null;code;constructor(key,value,index3){if(index3===void 0||index3>=key.length)throw new TypeError("Unreachable");if((this.code=key.charCodeAt(index3))>127)throw new TypeError("key must be ascii string");key.length!==++index3?this.middle=new _TstNode(key,value,index3):this.value=value}add(key,value){let length=key.length;if(length===0)throw new TypeError("Unreachable");let index3=0,node=this;for(;;){let code=key.charCodeAt(index3);if(code>127)throw new TypeError("key must be ascii string");if(node.code===code)if(length===++index3){node.value=value;break}else if(node.middle!==null)node=node.middle;else{node.middle=new _TstNode(key,value,index3);break}else if(node.code<code)if(node.left!==null)node=node.left;else{node.left=new _TstNode(key,value,index3);break}else if(node.right!==null)node=node.right;else{node.right=new _TstNode(key,value,index3);break}}}search(key){let keylength=key.length,index3=0,node=this;for(;node!==null&&index3<keylength;){let code=key[index3];for(code<=90&&code>=65&&(code|=32);node!==null;){if(code===node.code){if(keylength===++index3)return node;node=node.middle;break}node=node.code<code?node.left:node.right}}return null}},TernarySearchTree=class{node=null;insert(key,value){this.node===null?this.node=new TstNode(key,value,0):this.node.add(key,value)}lookup(key){return this.node?.search(key)?.value??null}},tree=new TernarySearchTree;for(let i=0;i<wellknownHeaderNames.length;++i){let key=headerNameLowerCasedRecord[wellknownHeaderNames[i]];tree.insert(key,key)}module.exports={TernarySearchTree,tree}}});var require_util=__commonJS({"node_modules/undici/lib/core/util.js"(exports,module){"use strict";var assert=__require("node:assert"),{kDestroyed,kBodyUsed,kListeners,kBody}=require_symbols(),{IncomingMessage}=__require("node:http"),stream=__require("node:stream"),net=__require("node:net"),{stringify}=__require("node:querystring"),{EventEmitter:EE,addAbortListener:addAbortListenerNative}=__require("node:events"),timers=require_timers(),{InvalidArgumentError,ConnectTimeoutError}=require_errors(),{headerNameLowerCasedRecord}=require_constants(),{tree}=require_tree(),BodyAsyncIterable=class{constructor(body){this[kBody]=body,this[kBodyUsed]=!1}async*[Symbol.asyncIterator](){assert(!this[kBodyUsed],"disturbed"),this[kBodyUsed]=!0,yield*this[kBody]}};function noop(){}function wrapRequestBody(body){return isStream(body)?(bodyLength(body)===0&&body.on("data",function(){assert(!1)}),typeof body.readableDidRead!="boolean"&&(body[kBodyUsed]=!1,EE.prototype.on.call(body,"data",function(){this[kBodyUsed]=!0})),body):body&&typeof body.pipeTo=="function"?new BodyAsyncIterable(body):body&&isFormDataLike(body)?body:body&&typeof body!="string"&&!ArrayBuffer.isView(body)&&isIterable(body)?new BodyAsyncIterable(body):body}function isStream(obj){return obj&&typeof obj=="object"&&typeof obj.pipe=="function"&&typeof obj.on=="function"}function isBlobLike(object){return object instanceof Blob}function pathHasQueryOrFragment(url){return url.includes("?")||url.includes("#")}function serializePathWithQuery(url,queryParams){if(pathHasQueryOrFragment(url))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let stringified=stringify(queryParams);return stringified&&(url+="?"+stringified),url}function isValidPort(port){let value=parseInt(port,10);return value===Number(port)&&value>=0&&value<=65535}function isHttpOrHttpsPrefixed(value){return value!=null&&value[0]==="h"&&value[1]==="t"&&value[2]==="t"&&value[3]==="p"&&(value[4]===":"||value[4]==="s"&&value[5]===":")}function parseURL(url){if(typeof url=="string"){if(url=new URL(url),!isHttpOrHttpsPrefixed(url.origin||url.protocol))throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");return url}if(!url||typeof url!="object")throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");if(!(url instanceof URL)){if(url.port!=null&&url.port!==""&&isValidPort(url.port)===!1)throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");if(url.path!=null&&typeof url.path!="string")throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");if(url.pathname!=null&&typeof url.pathname!="string")throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");if(url.hostname!=null&&typeof url.hostname!="string")throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");if(url.origin!=null&&typeof url.origin!="string")throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");if(!isHttpOrHttpsPrefixed(url.origin||url.protocol))throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");let port=url.port!=null?url.port:url.protocol==="https:"?443:80,origin=url.origin!=null?url.origin:`${url.protocol||""}//${url.hostname||""}:${port}`,path=url.path!=null?url.path:`${url.pathname||""}${url.search||""}`;return origin[origin.length-1]==="/"&&(origin=origin.slice(0,origin.length-1)),path&&path[0]!=="/"&&(path=`/${path}`),new URL(`${origin}${path}`)}if(!isHttpOrHttpsPrefixed(url.origin||url.protocol))throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");return url}function parseOrigin(url){if(url=parseURL(url),url.pathname!=="/"||url.search||url.hash)throw new InvalidArgumentError("invalid url");return url}function getHostname(host){if(host[0]==="["){let idx2=host.indexOf("]");return assert(idx2!==-1),host.substring(1,idx2)}let idx=host.indexOf(":");return idx===-1?host:host.substring(0,idx)}function getServerName(host){if(!host)return null;assert(typeof host=="string");let servername=getHostname(host);return net.isIP(servername)?"":servername}function deepClone(obj){return JSON.parse(JSON.stringify(obj))}function isAsyncIterable(obj){return obj!=null&&typeof obj[Symbol.asyncIterator]=="function"}function isIterable(obj){return obj!=null&&(typeof obj[Symbol.iterator]=="function"||typeof obj[Symbol.asyncIterator]=="function")}function hasSafeIterator(obj){let prototype=Object.getPrototypeOf(obj);return Object.hasOwn(obj,Symbol.iterator)||prototype!=null&&prototype!==Object.prototype&&typeof obj[Symbol.iterator]=="function"}function bodyLength(body){if(body==null)return 0;if(isStream(body)){let state2=body._readableState;return state2&&state2.objectMode===!1&&state2.ended===!0&&Number.isFinite(state2.length)?state2.length:null}else{if(isBlobLike(body))return body.size!=null?body.size:null;if(isBuffer(body))return body.byteLength}return null}function isDestroyed(body){return body&&!!(body.destroyed||body[kDestroyed]||stream.isDestroyed?.(body))}function destroy(stream2,err){if(!(stream2==null||!isStream(stream2)||isDestroyed(stream2))){if(typeof stream2.destroy=="function"){Object.getPrototypeOf(stream2).constructor===IncomingMessage&&(stream2.socket=null);try{stream2.destroy(err)}catch{}}else err&&queueMicrotask(()=>{stream2.emit("error",err)});stream2.destroyed!==!0&&(stream2[kDestroyed]=!0)}}var KEEPALIVE_TIMEOUT_EXPR=/timeout=(\d+)/;function parseKeepAliveTimeout(val){let m=val.match(KEEPALIVE_TIMEOUT_EXPR);return m?parseInt(m[1],10)*1e3:null}function headerNameToString(value){return typeof value=="string"?headerNameLowerCasedRecord[value]??value.toLowerCase():tree.lookup(value)??value.toString("latin1").toLowerCase()}function bufferToLowerCasedHeaderName(value){return tree.lookup(value)??value.toString("latin1").toLowerCase()}function parseHeaders(headers,obj){obj===void 0&&(obj={});for(let i=0;i<headers.length;i+=2){let key=headerNameToString(headers[i]),val=obj[key];if(val!==void 0)if(Object.hasOwn(obj,key))typeof val=="string"&&(val=[val],obj[key]=val),val.push(headers[i+1].toString("latin1"));else{let headersValue=typeof headers[i+1]=="string"?headers[i+1]:Array.isArray(headers[i+1])?headers[i+1].map(x=>x.toString("latin1")):headers[i+1].toString("latin1");key==="__proto__"?Object.defineProperty(obj,key,{value:headersValue,enumerable:!0,configurable:!0,writable:!0}):obj[key]=headersValue}else{let headersValue=typeof headers[i+1]=="string"?headers[i+1]:Array.isArray(headers[i+1])?headers[i+1].map(x=>x.toString("latin1")):headers[i+1].toString("latin1");obj[key]=headersValue}}return obj}function parseRawHeaders(headers){if(headers==null)return[];if(!Array.isArray(headers)){let rawHeaders=[];for(let[name,value]of Object.entries(headers))if(Array.isArray(value))for(let entry of value)rawHeaders.push(name,`${entry}`);else rawHeaders.push(name,`${value}`);return rawHeaders}let headersLength=headers.length,ret=new Array(headersLength),key,val;for(let n=0;n<headersLength;n+=2)key=headers[n],val=headers[n+1],typeof key!="string"&&(key=key.toString()),typeof val!="string"&&(val=val.toString("latin1")),ret[n]=key,ret[n+1]=val;return ret}function toRawHeaders(headers){let rawHeaders=[];for(let[name,value]of Object.entries(headers))if(Array.isArray(value))for(let entry of value)rawHeaders.push(Buffer.from(name,"latin1"),Buffer.from(`${entry}`,"latin1"));else rawHeaders.push(Buffer.from(name,"latin1"),Buffer.from(`${value}`,"latin1"));return rawHeaders}function encodeRawHeaders(headers){if(!Array.isArray(headers))throw new TypeError("expected headers to be an array");return headers.map(x=>Buffer.from(x))}function isBuffer(buffer){return buffer instanceof Uint8Array||Buffer.isBuffer(buffer)}function assertRequestHandler(handler,method,upgrade){if(!handler||typeof handler!="object")throw new InvalidArgumentError("handler must be an object");if(typeof handler.onRequestStart!="function")throw new InvalidArgumentError("invalid onRequestStart method");if(typeof handler.onResponseError!="function")throw new InvalidArgumentError("invalid onResponseError method");if(typeof handler.onBodySent!="function"&&handler.onBodySent!==void 0)throw new InvalidArgumentError("invalid onBodySent method");if(typeof handler.onRequestSent!="function"&&handler.onRequestSent!==void 0)throw new InvalidArgumentError("invalid onRequestSent method");if(upgrade||method==="CONNECT"){if(typeof handler.onRequestUpgrade!="function")throw new InvalidArgumentError("invalid onRequestUpgrade method")}else{if(typeof handler.onResponseStart!="function")throw new InvalidArgumentError("invalid onResponseStart method");if(typeof handler.onResponseData!="function")throw new InvalidArgumentError("invalid onResponseData method");if(typeof handler.onResponseEnd!="function")throw new InvalidArgumentError("invalid onResponseEnd method")}}function isDisturbed(body){return!!(body&&(stream.isDisturbed(body)||body[kBodyUsed]))}function getSocketInfo(socket){return{localAddress:socket.localAddress,localPort:socket.localPort,remoteAddress:socket.remoteAddress,remotePort:socket.remotePort,remoteFamily:socket.remoteFamily,timeout:socket.timeout,bytesWritten:socket.bytesWritten,bytesRead:socket.bytesRead}}function ReadableStreamFrom(iterable){let iterator;return new ReadableStream({start(){iterator=iterable[Symbol.asyncIterator]()},pull(controller){return iterator.next().then(({done,value})=>{if(done)return queueMicrotask(()=>{controller.close(),controller.byobRequest?.respond(0)});{let buf=Buffer.isBuffer(value)?value:Buffer.from(value);return buf.byteLength?controller.enqueue(new Uint8Array(buf)):this.pull(controller)}})},cancel(){return iterator.return()},type:"bytes"})}function isFormDataLike(object){return object&&typeof object=="object"&&typeof object.append=="function"&&typeof object.delete=="function"&&typeof object.get=="function"&&typeof object.getAll=="function"&&typeof object.has=="function"&&typeof object.set=="function"&&object[Symbol.toStringTag]==="FormData"}function addAbortListener(signal,listener){return!signal||"aborted"in signal?addAbortListenerNative(signal,listener)[Symbol.dispose]:typeof signal.addEventListener=="function"?(signal.addEventListener("abort",listener,{once:!0}),()=>signal.removeEventListener("abort",listener)):(signal.once("abort",listener),()=>signal.removeListener("abort",listener))}var validTokenChars=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function isTokenCharCode(c){return validTokenChars[c]===1}var tokenRegExp=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function isValidHTTPToken(characters){if(characters.length>=12)return tokenRegExp.test(characters);if(characters.length===0)return!1;for(let i=0;i<characters.length;i++)if(validTokenChars[characters.charCodeAt(i)]!==1)return!1;return!0}var headerCharRegex=/[^\t\x20-\x7e\x80-\xff]/;function isValidHeaderValue(characters){return!headerCharRegex.test(characters)}var rangeHeaderRegex=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/;function parseRangeHeader(range){if(range==null||range==="")return{start:0,end:null,size:null};if(!range)return null;let m=rangeHeaderRegex.exec(range);return m?{start:parseInt(m[1]),end:m[2]?parseInt(m[2]):null,size:m[3]&&m[3]!=="*"?parseInt(m[3]):null}:null}function addListener(obj,name,listener){return(obj[kListeners]??=[]).push([name,listener]),obj.on(name,listener),obj}function removeAllListeners(obj){if(obj[kListeners]!=null){for(let[name,listener]of obj[kListeners])obj.removeListener(name,listener);obj[kListeners]=null}return obj}function errorRequest(client,request,err){try{request.onResponseError(err),assert(request.aborted)}catch(err2){client.emit("error",err2)}}var setupConnectTimeout=process.platform==="win32"?(socketWeakRef,opts)=>{if(!opts.timeout)return noop;let s1=null,s2=null,fastTimer=timers.setFastTimeout(()=>{s1=setImmediate(()=>{s2=setImmediate(()=>onConnectTimeout(socketWeakRef.deref(),opts))})},opts.timeout);return()=>{timers.clearFastTimeout(fastTimer),clearImmediate(s1),clearImmediate(s2)}}:(socketWeakRef,opts)=>{if(!opts.timeout)return noop;let s1=null,fastTimer=timers.setFastTimeout(()=>{s1=setImmediate(()=>{onConnectTimeout(socketWeakRef.deref(),opts)})},opts.timeout);return()=>{timers.clearFastTimeout(fastTimer),clearImmediate(s1)}};function onConnectTimeout(socket,opts){if(socket==null)return;let message="Connect Timeout Error";Array.isArray(socket.autoSelectFamilyAttemptedAddresses)?message+=` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`:message+=` (attempted address: ${opts.hostname}:${opts.port},`,message+=` timeout: ${opts.timeout}ms)`,destroy(socket,new ConnectTimeoutError(message))}var lastUrlString=null,lastProtocol=null;function getProtocolFromUrlString(urlString){if(urlString===lastUrlString)return lastProtocol;let protocol=getProtocolFromUrlStringSlow(urlString);return lastUrlString=urlString,lastProtocol=protocol,protocol}function getProtocolFromUrlStringSlow(urlString){if(urlString[0]==="h"&&urlString[1]==="t"&&urlString[2]==="t"&&urlString[3]==="p")switch(urlString[4]){case":":return"http:";case"s":if(urlString[5]===":")return"https:"}return urlString.slice(0,urlString.indexOf(":")+1)}var kEnumerableProperty={__proto__:null,enumerable:!0},normalizedMethodRecordsBase={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},normalizedMethodRecords={...normalizedMethodRecordsBase,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(normalizedMethodRecordsBase,null);Object.setPrototypeOf(normalizedMethodRecords,null);module.exports={kEnumerableProperty,isDisturbed,isBlobLike,parseOrigin,parseURL,getServerName,isStream,isIterable,hasSafeIterator,isAsyncIterable,isDestroyed,headerNameToString,bufferToLowerCasedHeaderName,addListener,removeAllListeners,errorRequest,parseRawHeaders,toRawHeaders,encodeRawHeaders,parseHeaders,parseKeepAliveTimeout,destroy,bodyLength,deepClone,ReadableStreamFrom,isBuffer,assertRequestHandler,getSocketInfo,isFormDataLike,pathHasQueryOrFragment,serializePathWithQuery,addAbortListener,isValidHTTPToken,isValidHeaderValue,isTokenCharCode,parseRangeHeader,normalizedMethodRecordsBase,normalizedMethodRecords,isValidPort,isHttpOrHttpsPrefixed,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody,setupConnectTimeout,getProtocolFromUrlString}}});var require_stats=__commonJS({"node_modules/undici/lib/util/stats.js"(exports,module){"use strict";var{kConnected,kPending,kRunning,kSize,kFree,kQueued}=require_symbols(),ClientStats=class{constructor(client){this.connected=client[kConnected],this.pending=client[kPending],this.running=client[kRunning],this.size=client[kSize]}},PoolStats=class{constructor(pool){this.connected=pool[kConnected],this.free=pool[kFree],this.pending=pool[kPending],this.queued=pool[kQueued],this.running=pool[kRunning],this.size=pool[kSize]}};module.exports={ClientStats,PoolStats}}});var require_diagnostics=__commonJS({"node_modules/undici/lib/core/diagnostics.js"(exports,module){"use strict";var diagnosticsChannel=__require("node:diagnostics_channel"),util=__require("node:util"),undiciDebugLog=util.debuglog("undici"),fetchDebuglog=util.debuglog("fetch"),websocketDebuglog=util.debuglog("websocket"),channels={beforeConnect:diagnosticsChannel.channel("undici:client:beforeConnect"),connected:diagnosticsChannel.channel("undici:client:connected"),connectError:diagnosticsChannel.channel("undici:client:connectError"),sendHeaders:diagnosticsChannel.channel("undici:client:sendHeaders"),create:diagnosticsChannel.channel("undici:request:create"),bodySent:diagnosticsChannel.channel("undici:request:bodySent"),bodyChunkSent:diagnosticsChannel.channel("undici:request:bodyChunkSent"),bodyChunkReceived:diagnosticsChannel.channel("undici:request:bodyChunkReceived"),headers:diagnosticsChannel.channel("undici:request:headers"),trailers:diagnosticsChannel.channel("undici:request:trailers"),error:diagnosticsChannel.channel("undici:request:error"),open:diagnosticsChannel.channel("undici:websocket:open"),close:diagnosticsChannel.channel("undici:websocket:close"),socketError:diagnosticsChannel.channel("undici:websocket:socket_error"),ping:diagnosticsChannel.channel("undici:websocket:ping"),pong:diagnosticsChannel.channel("undici:websocket:pong"),proxyConnected:diagnosticsChannel.channel("undici:proxy:connected")},isTrackingClientEvents=!1;function trackClientEvents(debugLog=undiciDebugLog){if(!isTrackingClientEvents){if(channels.beforeConnect.hasSubscribers||channels.connected.hasSubscribers||channels.connectError.hasSubscribers||channels.sendHeaders.hasSubscribers){isTrackingClientEvents=!0;return}isTrackingClientEvents=!0,diagnosticsChannel.subscribe("undici:client:beforeConnect",evt=>{let{connectParams:{version,protocol,port,host}}=evt;debugLog("connecting to %s%s using %s%s",host,port?`:${port}`:"",protocol,version)}),diagnosticsChannel.subscribe("undici:client:connected",evt=>{let{connectParams:{version,protocol,port,host}}=evt;debugLog("connected to %s%s using %s%s",host,port?`:${port}`:"",protocol,version)}),diagnosticsChannel.subscribe("undici:client:connectError",evt=>{let{connectParams:{version,protocol,port,host},error:error2}=evt;debugLog("connection to %s%s using %s%s errored - %s",host,port?`:${port}`:"",protocol,version,error2.message)}),diagnosticsChannel.subscribe("undici:client:sendHeaders",evt=>{let{request:{method,path,origin}}=evt;debugLog("sending request to %s %s%s",method,origin,path)})}}var isTrackingRequestEvents=!1;function trackRequestEvents(debugLog=undiciDebugLog){if(!isTrackingRequestEvents){if(channels.headers.hasSubscribers||channels.trailers.hasSubscribers||channels.error.hasSubscribers){isTrackingRequestEvents=!0;return}isTrackingRequestEvents=!0,diagnosticsChannel.subscribe("undici:request:headers",evt=>{let{request:{method,path,origin},response:{statusCode}}=evt;debugLog("received response to %s %s%s - HTTP %d",method,origin,path,statusCode)}),diagnosticsChannel.subscribe("undici:request:trailers",evt=>{let{request:{method,path,origin}}=evt;debugLog("trailers received from %s %s%s",method,origin,path)}),diagnosticsChannel.subscribe("undici:request:error",evt=>{let{request:{method,path,origin},error:error2}=evt;debugLog("request to %s %s%s errored - %s",method,origin,path,error2.message)})}}var isTrackingWebSocketEvents=!1;function trackWebSocketEvents(debugLog=websocketDebuglog){if(!isTrackingWebSocketEvents){if(channels.open.hasSubscribers||channels.close.hasSubscribers||channels.socketError.hasSubscribers||channels.ping.hasSubscribers||channels.pong.hasSubscribers){isTrackingWebSocketEvents=!0;return}isTrackingWebSocketEvents=!0,diagnosticsChannel.subscribe("undici:websocket:open",evt=>{if(evt.address!=null){let{address,port}=evt.address;debugLog("connection opened %s%s",address,port?`:${port}`:"")}else debugLog("connection opened")}),diagnosticsChannel.subscribe("undici:websocket:close",evt=>{let{websocket,code,reason}=evt;debugLog("closed connection to %s - %s %s",websocket.url,code,reason)}),diagnosticsChannel.subscribe("undici:websocket:socket_error",err=>{debugLog("connection errored - %s",err.message)}),diagnosticsChannel.subscribe("undici:websocket:ping",evt=>{debugLog("ping received")}),diagnosticsChannel.subscribe("undici:websocket:pong",evt=>{debugLog("pong received")})}}(undiciDebugLog.enabled||fetchDebuglog.enabled)&&(trackClientEvents(fetchDebuglog.enabled?fetchDebuglog:undiciDebugLog),trackRequestEvents(fetchDebuglog.enabled?fetchDebuglog:undiciDebugLog));websocketDebuglog.enabled&&(trackClientEvents(undiciDebugLog.enabled?undiciDebugLog:websocketDebuglog),trackWebSocketEvents(websocketDebuglog));module.exports={channels}}});var require_request=__commonJS({"node_modules/undici/lib/core/request.js"(exports,module){"use strict";var{InvalidArgumentError,NotSupportedError}=require_errors(),assert=__require("node:assert"),{isValidHTTPToken,isValidHeaderValue,isStream,destroy,isBuffer,isFormDataLike,isIterable,hasSafeIterator,isBlobLike,serializePathWithQuery,parseHeaders,assertRequestHandler,getServerName,normalizedMethodRecords,getProtocolFromUrlString}=require_util(),{channels}=require_diagnostics(),{headerNameLowerCasedRecord}=require_constants(),invalidPathRegex=/[^\u0021-\u00ff]/;function isValidContentLengthHeaderValue(val){if(typeof val!="string"||val.length===0)return!1;for(let i=0;i<val.length;i++){let charCode=val.charCodeAt(i);if(charCode<48||charCode>57)return!1}return!0}var kHandler=Symbol("handler"),kController=Symbol("controller"),kResume=Symbol("resume"),RequestController=class{#paused=!1;#reason=null;#aborted=!1;#abort;[kResume]=null;rawHeaders=null;rawTrailers=null;constructor(abort){this.#abort=abort}pause(){this.#paused=!0}resume(){this.#paused&&(this.#paused=!1,this[kResume]?.())}abort(reason){this.#aborted||(this.#aborted=!0,this.#reason=reason,this.#abort(reason))}get aborted(){return this.#aborted}get reason(){return this.#reason}get paused(){return this.#paused}},Request=class{constructor(origin,{path,method,body,headers,query,idempotent,blocking,upgrade,headersTimeout,bodyTimeout,reset,expectContinue,servername,throwOnError,maxRedirections,typeOfService},handler){if(typeof path!="string")throw new InvalidArgumentError("path must be a string");if(path[0]!=="/"&&!(path.startsWith("http://")||path.startsWith("https://"))&&method!=="CONNECT")throw new InvalidArgumentError("path must be an absolute URL or start with a slash");if(invalidPathRegex.test(path))throw new InvalidArgumentError("invalid request path");if(typeof method!="string")throw new InvalidArgumentError("method must be a string");if(normalizedMethodRecords[method]===void 0&&!isValidHTTPToken(method))throw new InvalidArgumentError("invalid request method");if(upgrade&&typeof upgrade!="string")throw new InvalidArgumentError("upgrade must be a string");if(upgrade&&!isValidHeaderValue(upgrade))throw new InvalidArgumentError("invalid upgrade header");if(headersTimeout!=null&&(!Number.isFinite(headersTimeout)||headersTimeout<0))throw new InvalidArgumentError("invalid headersTimeout");if(bodyTimeout!=null&&(!Number.isFinite(bodyTimeout)||bodyTimeout<0))throw new InvalidArgumentError("invalid bodyTimeout");if(reset!=null&&typeof reset!="boolean")throw new InvalidArgumentError("invalid reset");if(expectContinue!=null&&typeof expectContinue!="boolean")throw new InvalidArgumentError("invalid expectContinue");if(throwOnError!=null)throw new InvalidArgumentError("invalid throwOnError");if(maxRedirections!=null&&maxRedirections!==0)throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");if(typeOfService!=null&&(!Number.isInteger(typeOfService)||typeOfService<0||typeOfService>255))throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=headersTimeout,this.bodyTimeout=bodyTimeout,this.method=method,this.typeOfService=typeOfService,this.abort=null,body==null)this.body=null;else if(isStream(body)){this.body=body;let rState=this.body._readableState;(!rState||!rState.autoDestroy)&&(this.endHandler=function(){destroy(this)},this.body.on("end",this.endHandler)),this.errorHandler=err=>{this.abort?this.abort(err):this.error=err},this.body.on("error",this.errorHandler)}else if(isBuffer(body))this.body=body.byteLength?body:null;else if(ArrayBuffer.isView(body))this.body=body.buffer.byteLength?Buffer.from(body.buffer,body.byteOffset,body.byteLength):null;else if(body instanceof ArrayBuffer)this.body=body.byteLength?Buffer.from(body):null;else if(typeof body=="string")this.body=body.length?Buffer.from(body):null;else if(isFormDataLike(body)||isIterable(body)||isBlobLike(body))this.body=body;else throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=upgrade||null,this.path=query?serializePathWithQuery(path,query):path,this.origin=origin,this.protocol=getProtocolFromUrlString(origin),this.idempotent=idempotent??(method==="HEAD"||method==="GET"||method==="QUERY"),this.blocking=blocking??this.method!=="HEAD",this.reset=reset??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=expectContinue??!1,Array.isArray(headers)){if(headers.length%2!==0)throw new InvalidArgumentError("headers array must be even");for(let i=0;i<headers.length;i+=2)processHeader(this,headers[i],headers[i+1])}else if(headers&&typeof headers=="object")if(hasSafeIterator(headers))for(let header of headers){if(!Array.isArray(header)||header.length!==2)throw new InvalidArgumentError("headers must be in key-value pair format");processHeader(this,header[0],header[1])}else{let keys=Object.keys(headers);for(let i=0;i<keys.length;++i)processHeader(this,keys[i],headers[keys[i]])}else if(headers!=null)throw new InvalidArgumentError("headers must be an object or an array");assertRequestHandler(handler,method,upgrade),this.servername=servername||getServerName(this.host)||null,this[kHandler]=handler,channels.create.hasSubscribers&&channels.create.publish({request:this})}onBodySent(chunk){if(channels.bodyChunkSent.hasSubscribers&&channels.bodyChunkSent.publish({request:this,chunk}),this[kHandler].onBodySent)try{return this[kHandler].onBodySent(chunk)}catch(err){this.abort(err)}}onRequestSent(){if(channels.bodySent.hasSubscribers&&channels.bodySent.publish({request:this}),this[kHandler].onRequestSent)try{return this[kHandler].onRequestSent()}catch(err){this.abort(err)}}onRequestStart(abort,context){if(assert(!this.aborted),assert(!this.completed),this[kController]=new RequestController(abort),this.error){this[kController].abort(this.error);return}return this.abort=abort,this[kHandler].onRequestStart(this[kController],context)}onResponseStarted(){return this[kHandler].onResponseStarted?.()}onResponseStart(statusCode,headers,resume,statusText){assert(!this.aborted),assert(!this.completed),channels.headers.hasSubscribers&&channels.headers.publish({request:this,response:{statusCode,headers,statusText}});let controller=this[kController];controller&&(controller[kResume]=resume,controller.rawHeaders=headers);let parsedHeaders=Array.isArray(headers)?parseHeaders(headers):headers;try{return this[kHandler].onResponseStart?.(controller,statusCode,parsedHeaders,statusText),!controller?.paused}catch(err){return this.abort(err),!1}}onResponseData(chunk){assert(!this.aborted),assert(!this.completed),channels.bodyChunkReceived.hasSubscribers&&channels.bodyChunkReceived.publish({request:this,chunk});let controller=this[kController];try{return this[kHandler].onResponseData?.(controller,chunk),!controller?.paused}catch(err){return this.abort(err),!1}}onRequestUpgrade(statusCode,headers,socket){assert(!this.aborted),assert(!this.completed);let controller=this[kController];controller&&(controller.rawHeaders=headers);let parsedHeaders=Array.isArray(headers)?parseHeaders(headers):headers;return this[kHandler].onRequestUpgrade?.(controller,statusCode,parsedHeaders,socket)}onResponseEnd(trailers){this.onFinally(),assert(!this.aborted),assert(!this.completed),this.completed=!0,channels.trailers.hasSubscribers&&channels.trailers.publish({request:this,trailers});let controller=this[kController];controller&&(controller.rawTrailers=trailers);let parsedTrailers=Array.isArray(trailers)?parseHeaders(trailers):trailers;try{return this[kHandler].onResponseEnd?.(controller,parsedTrailers)}catch(err){this.onResponseError(err)}}onResponseError(error2){if(this.onFinally(),channels.error.hasSubscribers&&channels.error.publish({request:this,error:error2}),this.aborted)return;this.aborted=!0;let controller=this[kController];return this[kHandler].onResponseError?.(controller,error2)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(key,value){return processHeader(this,key,value),this}};function processHeader(request,key,val){if(val&&typeof val=="object"&&!Array.isArray(val))throw new InvalidArgumentError(`invalid ${key} header`);if(val===void 0)return;let headerName=headerNameLowerCasedRecord[key];if(headerName===void 0&&(headerName=key.toLowerCase(),headerNameLowerCasedRecord[headerName]===void 0&&!isValidHTTPToken(headerName)))throw new InvalidArgumentError("invalid header key");if(Array.isArray(val)){let arr=[];for(let i=0;i<val.length;i++)if(typeof val[i]=="string"){if(!isValidHeaderValue(val[i]))throw new InvalidArgumentError(`invalid ${key} header`);arr.push(val[i])}else if(val[i]===null)arr.push("");else{if(typeof val[i]=="object")throw new InvalidArgumentError(`invalid ${key} header`);{let str=`${val[i]}`;if(!isValidHeaderValue(str))throw new InvalidArgumentError(`invalid ${key} header`);arr.push(str)}}val=arr}else if(typeof val=="string"){if(!isValidHeaderValue(val))throw new InvalidArgumentError(`invalid ${key} header`)}else if(val===null)val="";else if(val=`${val}`,!isValidHeaderValue(val))throw new InvalidArgumentError(`invalid ${key} header`);if(headerName==="host"){if(request.host!==null)throw new InvalidArgumentError("duplicate host header");if(typeof val!="string")throw new InvalidArgumentError("invalid host header");request.host=val}else if(headerName==="content-length"){if(request.contentLength!==null)throw new InvalidArgumentError("duplicate content-length header");if(!isValidContentLengthHeaderValue(val))throw new InvalidArgumentError("invalid content-length header");request.contentLength=parseInt(val,10)}else if(request.contentType===null&&headerName==="content-type")request.contentType=val,request.headers.push(key,val);else{if(headerName==="transfer-encoding"||headerName==="keep-alive"||headerName==="upgrade")throw new InvalidArgumentError(`invalid ${headerName} header`);if(headerName==="connection"){let value=typeof val=="string"?val:null;if(value===null)throw new InvalidArgumentError("invalid connection header");for(let token of value.toLowerCase().split(",")){let trimmed=token.trim();if(!isValidHTTPToken(trimmed))throw new InvalidArgumentError("invalid connection header");trimmed==="close"&&(request.reset=!0)}}else{if(headerName==="expect")throw new NotSupportedError("expect header not supported");request.headers.push(key,val)}}}module.exports=Request}});var require_dispatcher=__commonJS({"node_modules/undici/lib/dispatcher/dispatcher.js"(exports,module){"use strict";var EventEmitter=__require("node:events"),Dispatcher=class extends EventEmitter{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...args){let interceptors=Array.isArray(args[0])?args[0]:args,dispatch=this.dispatch.bind(this);for(let interceptor of interceptors)if(interceptor!=null){if(typeof interceptor!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);if(dispatch=interceptor(dispatch),dispatch==null||typeof dispatch!="function"||dispatch.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(target,key)=>key==="dispatch"?dispatch:target[key]})}};module.exports=Dispatcher}});var require_dispatcher_base=__commonJS({"node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports,module){"use strict";var Dispatcher=require_dispatcher(),{ClientDestroyedError,ClientClosedError,InvalidArgumentError}=require_errors(),{kDestroy,kClose,kClosed,kDestroyed,kDispatch}=require_symbols(),kOnDestroyed=Symbol("onDestroyed"),kOnClosed=Symbol("onClosed"),kWebSocketOptions=Symbol("webSocketOptions"),DispatcherBase=class extends Dispatcher{[kDestroyed]=!1;[kOnDestroyed]=null;[kClosed]=!1;[kOnClosed]=null;constructor(opts){super(),this[kWebSocketOptions]=opts?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[kWebSocketOptions].maxFragments??131072,maxPayloadSize:this[kWebSocketOptions].maxPayloadSize??128*1024*1024}}get destroyed(){return this[kDestroyed]}get closed(){return this[kClosed]}close(callback){if(callback===void 0)return new Promise((resolve,reject)=>{this.close((err,data)=>err?reject(err):resolve(data))});if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");if(this[kDestroyed]){let err=new ClientDestroyedError;queueMicrotask(()=>callback(err,null));return}if(this[kClosed]){this[kOnClosed]?this[kOnClosed].push(callback):queueMicrotask(()=>callback(null,null));return}this[kClosed]=!0,this[kOnClosed]??=[],this[kOnClosed].push(callback);let onClosed=()=>{let callbacks=this[kOnClosed];this[kOnClosed]=null;for(let i=0;i<callbacks.length;i++)callbacks[i](null,null)};this[kClose]().then(()=>this.destroy()).then(()=>queueMicrotask(onClosed))}destroy(err,callback){if(typeof err=="function"&&(callback=err,err=null),callback===void 0)return new Promise((resolve,reject)=>{this.destroy(err,(err2,data)=>err2?reject(err2):resolve(data))});if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");if(this[kDestroyed]){this[kOnDestroyed]?this[kOnDestroyed].push(callback):queueMicrotask(()=>callback(null,null));return}err||(err=new ClientDestroyedError),this[kDestroyed]=!0,this[kOnDestroyed]??=[],this[kOnDestroyed].push(callback);let onDestroyed=()=>{let callbacks=this[kOnDestroyed];this[kOnDestroyed]=null;for(let i=0;i<callbacks.length;i++)callbacks[i](null,null)};this[kDestroy](err).then(()=>queueMicrotask(onDestroyed))}dispatch(opts,handler){if(!handler||typeof handler!="object")throw new InvalidArgumentError("handler must be an object");try{if(!opts||typeof opts!="object")throw new InvalidArgumentError("opts must be an object.");if(opts.dispatcher)throw new InvalidArgumentError("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[kDestroyed]||this[kOnDestroyed])throw new ClientDestroyedError;if(this[kClosed])throw new ClientClosedError;return this[kDispatch](opts,handler)}catch(err){if(typeof handler.onResponseError!="function")throw err;return handler.onResponseError(null,err),!1}}};module.exports=DispatcherBase}});var require_connect=__commonJS({"node_modules/undici/lib/core/connect.js"(exports,module){"use strict";var net=__require("node:net"),assert=__require("node:assert"),util=require_util(),{InvalidArgumentError,ConnectTimeoutError}=require_errors(),tls,SessionCache=class{constructor(maxCachedSessions){this._maxCachedSessions=maxCachedSessions,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(key=>{if(this._sessionCache.size<this._maxCachedSessions)return;let ref=this._sessionCache.get(key);ref!==void 0&&ref.deref()===void 0&&this._sessionCache.delete(key)})}get(sessionKey){let ref=this._sessionCache.get(sessionKey);return ref?ref.deref():null}set(sessionKey,session){if(this._maxCachedSessions!==0){if(this._sessionCache.has(sessionKey))this._sessionCache.delete(sessionKey);else if(this._sessionCache.size>=this._maxCachedSessions){for(let[key,ref]of this._sessionCache)if(ref.deref()===void 0){this._sessionCache.delete(key);return}let oldest=this._sessionCache.keys().next();oldest.done||this._sessionCache.delete(oldest.value)}this._sessionCache.set(sessionKey,new WeakRef(session)),this._sessionRegistry.register(session,sessionKey)}}};function buildConnector({allowH2,preferH2,useH2c,maxCachedSessions,socketPath,timeout,session:customSession,...opts}){if(maxCachedSessions!=null&&(!Number.isInteger(maxCachedSessions)||maxCachedSessions<0))throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");let options={path:socketPath,...opts},sessionCache=new SessionCache(maxCachedSessions??100);return timeout=timeout??1e4,allowH2=allowH2??!0,function({hostname,host,protocol,port,servername,localAddress,httpSocket},callback){let socket;if(protocol==="https:"){tls||(tls=__require("node:tls")),servername=servername||options.servername||util.getServerName(host)||null;let sessionKey=servername||hostname;assert(sessionKey);let session=customSession||sessionCache.get(sessionKey)||null;port=port||443,socket=tls.connect({highWaterMark:16384,...options,servername,session,localAddress,ALPNProtocols:allowH2?preferH2?["h2","http/1.1"]:["http/1.1","h2"]:["http/1.1"],socket:httpSocket,port,host:hostname}),socket.on("session",function(session2){sessionCache.set(sessionKey,session2)})}else assert(!httpSocket,"httpSocket can only be sent on TLS update"),port=port||80,socket=net.connect({highWaterMark:64*1024,...options,localAddress,port,host:hostname}),useH2c===!0&&(socket.alpnProtocol="h2");if(options.keepAlive==null||options.keepAlive){let keepAliveInitialDelay=options.keepAliveInitialDelay===void 0?6e4:options.keepAliveInitialDelay;socket.setKeepAlive(!0,keepAliveInitialDelay)}let clearConnectTimeout=util.setupConnectTimeout(new WeakRef(socket),{timeout,hostname,port});return socket.setNoDelay(!0).once(protocol==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(clearConnectTimeout),callback){let cb=callback;callback=null,cb(null,this)}}).on("error",function(err){if(queueMicrotask(clearConnectTimeout),callback){let cb=callback;callback=null,cb(maybeNormalizeConnectError(err,this,{timeout,hostname,port}))}}),socket}}function maybeNormalizeConnectError(err,socket,opts){if(err instanceof AggregateError&&(err.code==="ETIMEDOUT"||err.errors.some(e=>e!=null&&e.code==="ETIMEDOUT"))){let message="Connect Timeout Error";Array.isArray(socket.autoSelectFamilyAttemptedAddresses)?message+=` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`:message+=` (attempted address: ${opts.hostname}:${opts.port},`,message+=` timeout: ${opts.timeout}ms)`;let wrapped=new ConnectTimeoutError(message);return wrapped.cause=err,wrapped}return err}module.exports=buildConnector}});var require_utils=__commonJS({"node_modules/undici/lib/llhttp/utils.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.enumToMap=enumToMap;function enumToMap(obj,filter=[],exceptions=[]){let emptyFilter=(filter?.length??0)===0,emptyExceptions=(exceptions?.length??0)===0;return Object.fromEntries(Object.entries(obj).filter(([,value])=>typeof value=="number"&&(emptyFilter||filter.includes(value))&&(emptyExceptions||!exceptions.includes(value))))}}});var require_constants2=__commonJS({"node_modules/undici/lib/llhttp/constants.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SPECIAL_HEADERS=exports.MINOR=exports.MAJOR=exports.HTAB_SP_VCHAR_OBS_TEXT=exports.QUOTED_STRING=exports.CONNECTION_TOKEN_CHARS=exports.HEADER_CHARS=exports.TOKEN=exports.HEX=exports.URL_CHAR=exports.USERINFO_CHARS=exports.MARK=exports.ALPHANUM=exports.NUM=exports.HEX_MAP=exports.NUM_MAP=exports.ALPHA=exports.STATUSES_HTTP=exports.H_METHOD_MAP=exports.METHOD_MAP=exports.METHODS_RTSP=exports.METHODS_ICE=exports.METHODS_HTTP=exports.HEADER_STATE=exports.FINISH=exports.STATUSES=exports.METHODS=exports.LENIENT_FLAGS=exports.FLAGS=exports.TYPE=exports.ERROR=void 0;var utils_1=require_utils();exports.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};exports.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};exports.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};exports.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};exports.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};exports.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};exports.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};exports.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};exports.METHODS_HTTP=[exports.METHODS.DELETE,exports.METHODS.GET,exports.METHODS.HEAD,exports.METHODS.POST,exports.METHODS.PUT,exports.METHODS.CONNECT,exports.METHODS.OPTIONS,exports.METHODS.TRACE,exports.METHODS.COPY,exports.METHODS.LOCK,exports.METHODS.MKCOL,exports.METHODS.MOVE,exports.METHODS.PROPFIND,exports.METHODS.PROPPATCH,exports.METHODS.SEARCH,exports.METHODS.UNLOCK,exports.METHODS.BIND,exports.METHODS.REBIND,exports.METHODS.UNBIND,exports.METHODS.ACL,exports.METHODS.REPORT,exports.METHODS.MKACTIVITY,exports.METHODS.CHECKOUT,exports.METHODS.MERGE,exports.METHODS["M-SEARCH"],exports.METHODS.NOTIFY,exports.METHODS.SUBSCRIBE,exports.METHODS.UNSUBSCRIBE,exports.METHODS.PATCH,exports.METHODS.PURGE,exports.METHODS.MKCALENDAR,exports.METHODS.LINK,exports.METHODS.UNLINK,exports.METHODS.PRI,exports.METHODS.SOURCE,exports.METHODS.QUERY];exports.METHODS_ICE=[exports.METHODS.SOURCE];exports.METHODS_RTSP=[exports.METHODS.OPTIONS,exports.METHODS.DESCRIBE,exports.METHODS.ANNOUNCE,exports.METHODS.SETUP,exports.METHODS.PLAY,exports.METHODS.PAUSE,exports.METHODS.TEARDOWN,exports.METHODS.GET_PARAMETER,exports.METHODS.SET_PARAMETER,exports.METHODS.REDIRECT,exports.METHODS.RECORD,exports.METHODS.FLUSH,exports.METHODS.GET,exports.METHODS.POST];exports.METHOD_MAP=(0,utils_1.enumToMap)(exports.METHODS);exports.H_METHOD_MAP=Object.fromEntries(Object.entries(exports.METHODS).filter(([k])=>k.startsWith("H")));exports.STATUSES_HTTP=[exports.STATUSES.CONTINUE,exports.STATUSES.SWITCHING_PROTOCOLS,exports.STATUSES.PROCESSING,exports.STATUSES.EARLY_HINTS,exports.STATUSES.RESPONSE_IS_STALE,exports.STATUSES.REVALIDATION_FAILED,exports.STATUSES.DISCONNECTED_OPERATION,exports.STATUSES.HEURISTIC_EXPIRATION,exports.STATUSES.MISCELLANEOUS_WARNING,exports.STATUSES.OK,exports.STATUSES.CREATED,exports.STATUSES.ACCEPTED,exports.STATUSES.NON_AUTHORITATIVE_INFORMATION,exports.STATUSES.NO_CONTENT,exports.STATUSES.RESET_CONTENT,exports.STATUSES.PARTIAL_CONTENT,exports.STATUSES.MULTI_STATUS,exports.STATUSES.ALREADY_REPORTED,exports.STATUSES.TRANSFORMATION_APPLIED,exports.STATUSES.IM_USED,exports.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,exports.STATUSES.MULTIPLE_CHOICES,exports.STATUSES.MOVED_PERMANENTLY,exports.STATUSES.FOUND,exports.STATUSES.SEE_OTHER,exports.STATUSES.NOT_MODIFIED,exports.STATUSES.USE_PROXY,exports.STATUSES.SWITCH_PROXY,exports.STATUSES.TEMPORARY_REDIRECT,exports.STATUSES.PERMANENT_REDIRECT,exports.STATUSES.BAD_REQUEST,exports.STATUSES.UNAUTHORIZED,exports.STATUSES.PAYMENT_REQUIRED,exports.STATUSES.FORBIDDEN,exports.STATUSES.NOT_FOUND,exports.STATUSES.METHOD_NOT_ALLOWED,exports.STATUSES.NOT_ACCEPTABLE,exports.STATUSES.PROXY_AUTHENTICATION_REQUIRED,exports.STATUSES.REQUEST_TIMEOUT,exports.STATUSES.CONFLICT,exports.STATUSES.GONE,exports.STATUSES.LENGTH_REQUIRED,exports.STATUSES.PRECONDITION_FAILED,exports.STATUSES.PAYLOAD_TOO_LARGE,exports.STATUSES.URI_TOO_LONG,exports.STATUSES.UNSUPPORTED_MEDIA_TYPE,exports.STATUSES.RANGE_NOT_SATISFIABLE,exports.STATUSES.EXPECTATION_FAILED,exports.STATUSES.IM_A_TEAPOT,exports.STATUSES.PAGE_EXPIRED,exports.STATUSES.ENHANCE_YOUR_CALM,exports.STATUSES.MISDIRECTED_REQUEST,exports.STATUSES.UNPROCESSABLE_ENTITY,exports.STATUSES.LOCKED,exports.STATUSES.FAILED_DEPENDENCY,exports.STATUSES.TOO_EARLY,exports.STATUSES.UPGRADE_REQUIRED,exports.STATUSES.PRECONDITION_REQUIRED,exports.STATUSES.TOO_MANY_REQUESTS,exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,exports.STATUSES.LOGIN_TIMEOUT,exports.STATUSES.NO_RESPONSE,exports.STATUSES.RETRY_WITH,exports.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,exports.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,exports.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,exports.STATUSES.INVALID_X_FORWARDED_FOR,exports.STATUSES.REQUEST_HEADER_TOO_LARGE,exports.STATUSES.SSL_CERTIFICATE_ERROR,exports.STATUSES.SSL_CERTIFICATE_REQUIRED,exports.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,exports.STATUSES.INVALID_TOKEN,exports.STATUSES.CLIENT_CLOSED_REQUEST,exports.STATUSES.INTERNAL_SERVER_ERROR,exports.STATUSES.NOT_IMPLEMENTED,exports.STATUSES.BAD_GATEWAY,exports.STATUSES.SERVICE_UNAVAILABLE,exports.STATUSES.GATEWAY_TIMEOUT,exports.STATUSES.HTTP_VERSION_NOT_SUPPORTED,exports.STATUSES.VARIANT_ALSO_NEGOTIATES,exports.STATUSES.INSUFFICIENT_STORAGE,exports.STATUSES.LOOP_DETECTED,exports.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,exports.STATUSES.NOT_EXTENDED,exports.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,exports.STATUSES.WEB_SERVER_UNKNOWN_ERROR,exports.STATUSES.WEB_SERVER_IS_DOWN,exports.STATUSES.CONNECTION_TIMEOUT,exports.STATUSES.ORIGIN_IS_UNREACHABLE,exports.STATUSES.TIMEOUT_OCCURED,exports.STATUSES.SSL_HANDSHAKE_FAILED,exports.STATUSES.INVALID_SSL_CERTIFICATE,exports.STATUSES.RAILGUN_ERROR,exports.STATUSES.SITE_IS_OVERLOADED,exports.STATUSES.SITE_IS_FROZEN,exports.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,exports.STATUSES.NETWORK_READ_TIMEOUT,exports.STATUSES.NETWORK_CONNECT_TIMEOUT];exports.ALPHA=[];for(let i=65;i<=90;i++)exports.ALPHA.push(String.fromCharCode(i)),exports.ALPHA.push(String.fromCharCode(i+32));exports.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};exports.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};exports.NUM=["0","1","2","3","4","5","6","7","8","9"];exports.ALPHANUM=exports.ALPHA.concat(exports.NUM);exports.MARK=["-","_",".","!","~","*","'","(",")"];exports.USERINFO_CHARS=exports.ALPHANUM.concat(exports.MARK).concat(["%",";",":","&","=","+","$",","]);exports.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(exports.ALPHANUM);exports.HEX=exports.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);exports.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(exports.ALPHANUM);exports.HEADER_CHARS=[" "];for(let i=32;i<=255;i++)i!==127&&exports.HEADER_CHARS.push(i);exports.CONNECTION_TOKEN_CHARS=exports.HEADER_CHARS.filter(c=>c!==44);exports.QUOTED_STRING=[" "," "];for(let i=33;i<=255;i++)i!==34&&i!==92&&exports.QUOTED_STRING.push(i);exports.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let i=33;i<=126;i++)exports.HTAB_SP_VCHAR_OBS_TEXT.push(i);for(let i=128;i<=255;i++)exports.HTAB_SP_VCHAR_OBS_TEXT.push(i);exports.MAJOR=exports.NUM_MAP;exports.MINOR=exports.MAJOR;exports.SPECIAL_HEADERS={connection:exports.HEADER_STATE.CONNECTION,"content-length":exports.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":exports.HEADER_STATE.CONNECTION,"transfer-encoding":exports.HEADER_STATE.TRANSFER_ENCODING,upgrade:exports.HEADER_STATE.UPGRADE};exports.default={ERROR:exports.ERROR,TYPE:exports.TYPE,FLAGS:exports.FLAGS,LENIENT_FLAGS:exports.LENIENT_FLAGS,METHODS:exports.METHODS,STATUSES:exports.STATUSES,FINISH:exports.FINISH,HEADER_STATE:exports.HEADER_STATE,ALPHA:exports.ALPHA,NUM_MAP:exports.NUM_MAP,HEX_MAP:exports.HEX_MAP,NUM:exports.NUM,ALPHANUM:exports.ALPHANUM,MARK:exports.MARK,USERINFO_CHARS:exports.USERINFO_CHARS,URL_CHAR:exports.URL_CHAR,HEX:exports.HEX,TOKEN:exports.TOKEN,HEADER_CHARS:exports.HEADER_CHARS,CONNECTION_TOKEN_CHARS:exports.CONNECTION_TOKEN_CHARS,QUOTED_STRING:exports.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:exports.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:exports.MAJOR,MINOR:exports.MINOR,SPECIAL_HEADERS:exports.SPECIAL_HEADERS,METHODS_HTTP:exports.METHODS_HTTP,METHODS_ICE:exports.METHODS_ICE,METHODS_RTSP:exports.METHODS_RTSP,METHOD_MAP:exports.METHOD_MAP,H_METHOD_MAP:exports.H_METHOD_MAP,STATUSES_HTTP:exports.STATUSES_HTTP}}});var require_llhttp_wasm=__commonJS({"node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports,module){"use strict";var{Buffer:Buffer2}=__require("node:buffer"),wasmBase64="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",wasmBuffer;Object.defineProperty(module,"exports",{get:()=>wasmBuffer||(wasmBuffer=Buffer2.from(wasmBase64,"base64"))})}});var require_llhttp_simd_wasm=__commonJS({"node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports,module){"use strict";var{Buffer:Buffer2}=__require("node:buffer"),wasmBase64="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//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+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",wasmBuffer;Object.defineProperty(module,"exports",{get:()=>wasmBuffer||(wasmBuffer=Buffer2.from(wasmBase64,"base64"))})}});var require_constants3=__commonJS({"node_modules/undici/lib/web/fetch/constants.js"(exports,module){"use strict";var corsSafeListedMethods=["GET","HEAD","POST"],corsSafeListedMethodsSet=new Set(corsSafeListedMethods),nullBodyStatus=[101,204,205,304],redirectStatus=[301,302,303,307,308],redirectStatusSet=new Set(redirectStatus),badPorts=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],badPortsSet=new Set(badPorts),referrerPolicyTokens=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],referrerPolicy=["",...referrerPolicyTokens],referrerPolicyTokensSet=new Set(referrerPolicyTokens),requestRedirect=["follow","manual","error"],safeMethods=["GET","HEAD","OPTIONS","TRACE","QUERY"],safeMethodsSet=new Set(safeMethods),requestMode=["navigate","same-origin","no-cors","cors"],requestCredentials=["omit","same-origin","include"],requestCache=["default","no-store","reload","no-cache","force-cache","only-if-cached"],requestBodyHeader=["content-encoding","content-language","content-location","content-type","content-length"],requestDuplex=["half"],forbiddenMethods=["CONNECT","TRACE","TRACK"],forbiddenMethodsSet=new Set(forbiddenMethods),subresource=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],subresourceSet=new Set(subresource);module.exports={subresource,forbiddenMethods,requestBodyHeader,referrerPolicy,requestRedirect,requestMode,requestCredentials,requestCache,redirectStatus,corsSafeListedMethods,nullBodyStatus,safeMethods,badPorts,requestDuplex,subresourceSet,badPortsSet,redirectStatusSet,corsSafeListedMethodsSet,safeMethodsSet,forbiddenMethodsSet,referrerPolicyTokens:referrerPolicyTokensSet}}});var require_global=__commonJS({"node_modules/undici/lib/web/fetch/global.js"(exports,module){"use strict";var globalOrigin=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[globalOrigin]}function setGlobalOrigin(newOrigin){if(newOrigin===void 0){Object.defineProperty(globalThis,globalOrigin,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let parsedURL=new URL(newOrigin);if(parsedURL.protocol!=="http:"&&parsedURL.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);Object.defineProperty(globalThis,globalOrigin,{value:parsedURL,writable:!0,enumerable:!1,configurable:!1})}module.exports={getGlobalOrigin,setGlobalOrigin}}});var require_encoding=__commonJS({"node_modules/undici/lib/encoding/index.js"(exports,module){"use strict";var textDecoder2=new TextDecoder;function utf8DecodeBytes(buffer){return buffer.length===0?"":(buffer[0]===239&&buffer[1]===187&&buffer[2]===191&&(buffer=buffer.subarray(3)),textDecoder2.decode(buffer))}module.exports={utf8DecodeBytes}}});var require_infra=__commonJS({"node_modules/undici/lib/web/infra/index.js"(exports,module){"use strict";var assert=__require("node:assert"),{utf8DecodeBytes}=require_encoding();function collectASequenceOfCodePoints(condition,input,position){let result="";for(;position.position<input.length&&condition(input[position.position]);)result+=input[position.position],position.position++;return result}function collectASequenceOfCodePointsFast(char,input,position){let idx=input.indexOf(char,position.position),start=position.position;return idx===-1?(position.position=input.length,input.slice(start)):(position.position=idx,input.slice(start,position.position))}var ASCII_WHITESPACE_REPLACE_REGEX=/[\u0009\u000A\u000C\u000D\u0020]/g;function forgivingBase64(data){data=data.replace(ASCII_WHITESPACE_REPLACE_REGEX,"");let dataLength=data.length;if(dataLength%4===0&&data.charCodeAt(dataLength-1)===61&&(--dataLength,data.charCodeAt(dataLength-1)===61&&--dataLength),dataLength%4===1||/[^+/0-9A-Za-z]/.test(data.length===dataLength?data:data.substring(0,dataLength)))return"failure";let buffer=Buffer.from(data,"base64");return new Uint8Array(buffer.buffer,buffer.byteOffset,buffer.byteLength)}function isASCIIWhitespace(char){return char===9||char===10||char===12||char===13||char===32}function isomorphicDecode(input){let length=input.length;if(65535>length)return String.fromCharCode.apply(null,input);let result="",i=0,addition=65535;for(;i<length;)i+addition>length&&(addition=length-i),result+=String.fromCharCode.apply(null,input.subarray(i,i+=addition));return result}var invalidIsomorphicEncodeValueRegex=/[^\x00-\xFF]/;function isomorphicEncode(input){return assert(!invalidIsomorphicEncodeValueRegex.test(input)),input}function parseJSONFromBytes(bytes){return JSON.parse(utf8DecodeBytes(bytes))}function removeASCIIWhitespace(str,leading=!0,trailing=!0){return removeChars(str,leading,trailing,isASCIIWhitespace)}function removeChars(str,leading,trailing,predicate){let lead=0,trail=str.length-1;if(leading)for(;lead<str.length&&predicate(str.charCodeAt(lead));)lead++;if(trailing)for(;trail>0&&predicate(str.charCodeAt(trail));)trail--;return lead===0&&trail===str.length-1?str:str.slice(lead,trail+1)}function serializeJavascriptValueToJSONString(value){let result=JSON.stringify(value);if(result===void 0)throw new TypeError("Value is not JSON serializable");return assert(typeof result=="string"),result}module.exports={collectASequenceOfCodePoints,collectASequenceOfCodePointsFast,forgivingBase64,isASCIIWhitespace,isomorphicDecode,isomorphicEncode,parseJSONFromBytes,removeASCIIWhitespace,removeChars,serializeJavascriptValueToJSONString}}});var require_data_url=__commonJS({"node_modules/undici/lib/web/fetch/data-url.js"(exports,module){"use strict";var assert=__require("node:assert"),{forgivingBase64,collectASequenceOfCodePoints,collectASequenceOfCodePointsFast,isomorphicDecode,removeASCIIWhitespace,removeChars}=require_infra(),encoder2=new TextEncoder,HTTP_TOKEN_CODEPOINTS=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,HTTP_WHITESPACE_REGEX=/[\u000A\u000D\u0009\u0020]/u,HTTP_QUOTED_STRING_TOKENS=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function dataURLProcessor(dataURL){assert(dataURL.protocol==="data:");let input=URLSerializer(dataURL,!0);input=input.slice(5);let position={position:0},mimeType=collectASequenceOfCodePointsFast(",",input,position),mimeTypeLength=mimeType.length;if(mimeType=removeASCIIWhitespace(mimeType,!0,!0),position.position>=input.length)return"failure";position.position++;let encodedBody=input.slice(mimeTypeLength+1),body=stringPercentDecode(encodedBody);if(/;(?:\u0020*)base64$/ui.test(mimeType)){let stringBody=isomorphicDecode(body);if(body=forgivingBase64(stringBody),body==="failure")return"failure";mimeType=mimeType.slice(0,-6),mimeType=mimeType.replace(/(\u0020+)$/u,""),mimeType=mimeType.slice(0,-1)}mimeType.startsWith(";")&&(mimeType="text/plain"+mimeType);let mimeTypeRecord=parseMIMEType(mimeType);return mimeTypeRecord==="failure"&&(mimeTypeRecord=parseMIMEType("text/plain;charset=US-ASCII")),{mimeType:mimeTypeRecord,body}}function URLSerializer(url,excludeFragment=!1){if(!excludeFragment)return url.href;let href=url.href,hashLength=url.hash.length,serialized=hashLength===0?href:href.substring(0,href.length-hashLength);return!hashLength&&href.endsWith("#")?serialized.slice(0,-1):serialized}function stringPercentDecode(input){let bytes=encoder2.encode(input);return percentDecode(bytes)}function isHexCharByte(byte){return byte>=48&&byte<=57||byte>=65&&byte<=70||byte>=97&&byte<=102}function hexByteToNumber(byte){return byte>=48&&byte<=57?byte-48:(byte&223)-55}function percentDecode(input){let length=input.length,output=new Uint8Array(length),j=0,i=0;for(;i<length;){let byte=input[i];byte!==37?output[j++]=byte:byte===37&&!(isHexCharByte(input[i+1])&&isHexCharByte(input[i+2]))?output[j++]=37:(output[j++]=hexByteToNumber(input[i+1])<<4|hexByteToNumber(input[i+2]),i+=2),++i}return length===j?output:output.subarray(0,j)}function parseMIMEType(input){input=removeHTTPWhitespace(input,!0,!0);let position={position:0},type=collectASequenceOfCodePointsFast("/",input,position);if(type.length===0||!HTTP_TOKEN_CODEPOINTS.test(type)||position.position>=input.length)return"failure";position.position++;let subtype=collectASequenceOfCodePointsFast(";",input,position);if(subtype=removeHTTPWhitespace(subtype,!1,!0),subtype.length===0||!HTTP_TOKEN_CODEPOINTS.test(subtype))return"failure";let typeLowercase=type.toLowerCase(),subtypeLowercase=subtype.toLowerCase(),mimeType={type:typeLowercase,subtype:subtypeLowercase,parameters:new Map,essence:`${typeLowercase}/${subtypeLowercase}`};for(;position.position<input.length;){position.position++,collectASequenceOfCodePoints(char=>HTTP_WHITESPACE_REGEX.test(char),input,position);let parameterName=collectASequenceOfCodePoints(char=>char!==";"&&char!=="=",input,position);if(parameterName=parameterName.toLowerCase(),position.position<input.length){if(input[position.position]===";")continue;position.position++}if(position.position>=input.length)break;let parameterValue=null;if(input[position.position]==='"')parameterValue=collectAnHTTPQuotedString(input,position,!0),collectASequenceOfCodePointsFast(";",input,position);else if(parameterValue=collectASequenceOfCodePointsFast(";",input,position),parameterValue=removeHTTPWhitespace(parameterValue,!1,!0),parameterValue.length===0)continue;parameterName.length!==0&&HTTP_TOKEN_CODEPOINTS.test(parameterName)&&(parameterValue.length===0||HTTP_QUOTED_STRING_TOKENS.test(parameterValue))&&!mimeType.parameters.has(parameterName)&&mimeType.parameters.set(parameterName,parameterValue)}return mimeType}function collectAnHTTPQuotedString(input,position,extractValue=!1){let positionStart=position.position,value="";for(assert(input[position.position]==='"'),position.position++;value+=collectASequenceOfCodePoints(char=>char!=='"'&&char!=="\\",input,position),!(position.position>=input.length);){let quoteOrBackslash=input[position.position];if(position.position++,quoteOrBackslash==="\\"){if(position.position>=input.length){value+="\\";break}value+=input[position.position],position.position++}else{assert(quoteOrBackslash==='"');break}}return extractValue?value:input.slice(positionStart,position.position)}function serializeAMimeType(mimeType){assert(mimeType!=="failure");let{parameters,essence}=mimeType,serialization=essence;for(let[name,value]of parameters.entries())serialization+=";",serialization+=name,serialization+="=",HTTP_TOKEN_CODEPOINTS.test(value)||(value=value.replace(/[\\"]/ug,"\\$&"),value='"'+value,value+='"'),serialization+=value;return serialization}function isHTTPWhiteSpace(char){return char===13||char===10||char===9||char===32}function removeHTTPWhitespace(str,leading=!0,trailing=!0){return removeChars(str,leading,trailing,isHTTPWhiteSpace)}function minimizeSupportedMimeType(mimeType){switch(mimeType.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return mimeType.subtype.endsWith("+json")?"application/json":mimeType.subtype.endsWith("+xml")?"application/xml":""}module.exports={dataURLProcessor,URLSerializer,stringPercentDecode,parseMIMEType,collectAnHTTPQuotedString,serializeAMimeType,removeHTTPWhitespace,minimizeSupportedMimeType,HTTP_TOKEN_CODEPOINTS}}});var require_webidl=__commonJS({"node_modules/undici/lib/web/webidl/index.js"(exports,module){"use strict";var assert=__require("node:assert"),{types,inspect}=__require("node:util"),{markAsUncloneable}=__require("node:worker_threads"),UNDEFINED=1,BOOLEAN=2,STRING=3,SYMBOL=4,NUMBER=5,BIGINT=6,NULL=7,OBJECT=8,FunctionPrototypeSymbolHasInstance=Function.call.bind(Function.prototype[Symbol.hasInstance]),webidl={converters:{},util:{},errors:{},is:{}};webidl.errors.exception=function(message){return new TypeError(`${message.header}: ${message.message}`)};webidl.errors.conversionFailed=function(opts){let plural=opts.types.length===1?"":" one of",message=`${opts.argument} could not be converted to${plural}: ${opts.types.join(", ")}.`;return webidl.errors.exception({header:opts.prefix,message})};webidl.errors.invalidArgument=function(context){return webidl.errors.exception({header:context.prefix,message:`"${context.value}" is an invalid ${context.type}.`})};webidl.brandCheck=function(V,I){if(!FunctionPrototypeSymbolHasInstance(I,V)){let err=new TypeError("Illegal invocation");throw err.code="ERR_INVALID_THIS",err}};webidl.brandCheckMultiple=function(List){let prototypes=List.map(c=>webidl.util.MakeTypeAssertion(c));return V=>{if(prototypes.every(typeCheck=>!typeCheck(V))){let err=new TypeError("Illegal invocation");throw err.code="ERR_INVALID_THIS",err}}};webidl.argumentLengthCheck=function({length},min,ctx){if(length<min)throw webidl.errors.exception({message:`${min} argument${min!==1?"s":""} required, but${length?" only":""} ${length} found.`,header:ctx})};webidl.illegalConstructor=function(){throw webidl.errors.exception({header:"TypeError",message:"Illegal constructor"})};webidl.util.MakeTypeAssertion=function(I){return O=>FunctionPrototypeSymbolHasInstance(I,O)};webidl.util.Type=function(V){switch(typeof V){case"undefined":return UNDEFINED;case"boolean":return BOOLEAN;case"string":return STRING;case"symbol":return SYMBOL;case"number":return NUMBER;case"bigint":return BIGINT;case"function":case"object":return V===null?NULL:OBJECT}};webidl.util.Types={UNDEFINED,BOOLEAN,STRING,SYMBOL,NUMBER,BIGINT,NULL,OBJECT};webidl.util.TypeValueToString=function(o){switch(webidl.util.Type(o)){case UNDEFINED:return"Undefined";case BOOLEAN:return"Boolean";case STRING:return"String";case SYMBOL:return"Symbol";case NUMBER:return"Number";case BIGINT:return"BigInt";case NULL:return"Null";case OBJECT:return"Object"}};webidl.util.markAsUncloneable=markAsUncloneable;webidl.util.ConvertToInt=function(V,bitLength,signedness,flags){let upperBound,lowerBound;bitLength===64?(upperBound=Math.pow(2,53)-1,signedness==="unsigned"?lowerBound=0:lowerBound=Math.pow(-2,53)+1):signedness==="unsigned"?(lowerBound=0,upperBound=Math.pow(2,bitLength)-1):(lowerBound=-Math.pow(2,bitLength-1),upperBound=Math.pow(2,bitLength-1)-1);let x=Number(V);if(x===0&&(x=0),webidl.util.HasFlag(flags,webidl.attributes.EnforceRange)){if(Number.isNaN(x)||x===Number.POSITIVE_INFINITY||x===Number.NEGATIVE_INFINITY)throw webidl.errors.exception({header:"Integer conversion",message:`Could not convert ${webidl.util.Stringify(V)} to an integer.`});if(x=webidl.util.IntegerPart(x),x<lowerBound||x>upperBound)throw webidl.errors.exception({header:"Integer conversion",message:`Value must be between ${lowerBound}-${upperBound}, got ${x}.`});return x}return!Number.isNaN(x)&&webidl.util.HasFlag(flags,webidl.attributes.Clamp)?(x=Math.min(Math.max(x,lowerBound),upperBound),Math.floor(x)%2===0?x=Math.floor(x):x=Math.ceil(x),x):Number.isNaN(x)||x===0&&Object.is(0,x)||x===Number.POSITIVE_INFINITY||x===Number.NEGATIVE_INFINITY?0:(x=webidl.util.IntegerPart(x),x=x%Math.pow(2,bitLength),signedness==="signed"&&x>=Math.pow(2,bitLength-1)?x-Math.pow(2,bitLength):x)};webidl.util.IntegerPart=function(n){let r=Math.floor(Math.abs(n));return n<0?-1*r:r};webidl.util.Stringify=function(V){switch(webidl.util.Type(V)){case SYMBOL:return`Symbol(${V.description})`;case OBJECT:return inspect(V);case STRING:return`"${V}"`;case BIGINT:return`${V}n`;default:return`${V}`}};webidl.util.IsResizableArrayBuffer=function(V){if(types.isArrayBuffer(V))return V.resizable;if(types.isSharedArrayBuffer(V))return V.growable;throw webidl.errors.exception({header:"IsResizableArrayBuffer",message:`"${webidl.util.Stringify(V)}" is not an array buffer.`})};webidl.util.HasFlag=function(flags,attributes){return typeof flags=="number"&&(flags&attributes)===attributes};webidl.sequenceConverter=function(converter){return(V,prefix,argument,Iterable)=>{if(webidl.util.Type(V)!==OBJECT)throw webidl.errors.exception({header:prefix,message:`${argument} (${webidl.util.Stringify(V)}) is not iterable.`});let method=typeof Iterable=="function"?Iterable():V?.[Symbol.iterator]?.(),seq=[],index3=0;if(method===void 0||typeof method.next!="function")throw webidl.errors.exception({header:prefix,message:`${argument} is not iterable.`});for(;;){let{done,value}=method.next();if(done)break;seq.push(converter(value,prefix,`${argument}[${index3++}]`))}return seq}};webidl.recordConverter=function(keyConverter,valueConverter){return(O,prefix,argument)=>{if(webidl.util.Type(O)!==OBJECT)throw webidl.errors.exception({header:prefix,message:`${argument} ("${webidl.util.TypeValueToString(O)}") is not an Object.`});let result={};if(!types.isProxy(O)){let keys2=[...Object.getOwnPropertyNames(O),...Object.getOwnPropertySymbols(O)];for(let key of keys2){let keyName=webidl.util.Stringify(key),typedKey=keyConverter(key,prefix,`Key ${keyName} in ${argument}`),typedValue=valueConverter(O[key],prefix,`${argument}[${keyName}]`);result[typedKey]=typedValue}return result}let keys=Reflect.ownKeys(O);for(let key of keys)if(Reflect.getOwnPropertyDescriptor(O,key)?.enumerable){let typedKey=keyConverter(key,prefix,argument),typedValue=valueConverter(O[key],prefix,argument);result[typedKey]=typedValue}return result}};webidl.interfaceConverter=function(TypeCheck,name){return(V,prefix,argument)=>{if(!TypeCheck(V))throw webidl.errors.exception({header:prefix,message:`Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${name}.`});return V}};webidl.dictionaryConverter=function(converters){return converters.sort((a,b)=>(a.key>b.key)-(a.key<b.key)),(dictionary,prefix,argument)=>{let dict={};if(dictionary!=null&&webidl.util.Type(dictionary)!==OBJECT)throw webidl.errors.exception({header:prefix,message:`Expected ${dictionary} to be one of: Null, Undefined, Object.`});for(let options of converters){let{key,defaultValue,required,converter}=options;if(required===!0&&(dictionary==null||!Object.hasOwn(dictionary,key)))throw webidl.errors.exception({header:prefix,message:`Missing required key "${key}".`});let value=dictionary?.[key],hasDefault=defaultValue!==void 0;if(hasDefault&&value===void 0&&(value=defaultValue()),required||hasDefault||value!==void 0){if(value=converter(value,prefix,`${argument}.${key}`),options.allowedValues&&!options.allowedValues.includes(value))throw webidl.errors.exception({header:prefix,message:`${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`});dict[key]=value}}return dict}};webidl.nullableConverter=function(converter){return(V,prefix,argument)=>V===null?V:converter(V,prefix,argument)};webidl.is.USVString=function(value){return typeof value=="string"&&value.isWellFormed()};webidl.is.ReadableStream=webidl.util.MakeTypeAssertion(ReadableStream);webidl.is.Blob=webidl.util.MakeTypeAssertion(Blob);webidl.is.URLSearchParams=webidl.util.MakeTypeAssertion(URLSearchParams);webidl.is.File=webidl.util.MakeTypeAssertion(File);webidl.is.URL=webidl.util.MakeTypeAssertion(URL);webidl.is.AbortSignal=webidl.util.MakeTypeAssertion(AbortSignal);webidl.is.MessagePort=webidl.util.MakeTypeAssertion(MessagePort);webidl.is.BufferSource=function(V){return types.isArrayBuffer(V)||ArrayBuffer.isView(V)&&types.isArrayBuffer(V.buffer)};webidl.util.getCopyOfBytesHeldByBufferSource=function(bufferSource){let jsBufferSource=bufferSource,jsArrayBuffer=jsBufferSource,offset=0,length=0;if(types.isTypedArray(jsBufferSource)||types.isDataView(jsBufferSource)?(jsArrayBuffer=jsBufferSource.buffer,offset=jsBufferSource.byteOffset,length=jsBufferSource.byteLength):(assert(types.isAnyArrayBuffer(jsBufferSource)),length=jsBufferSource.byteLength),jsArrayBuffer.detached)return new Uint8Array(0);let bytes=new Uint8Array(length),view=new Uint8Array(jsArrayBuffer,offset,length);return bytes.set(view),bytes};webidl.converters.DOMString=function(V,prefix,argument,flags){if(V===null&&webidl.util.HasFlag(flags,webidl.attributes.LegacyNullToEmptyString))return"";if(typeof V=="symbol")throw webidl.errors.exception({header:prefix,message:`${argument} is a symbol, which cannot be converted to a DOMString.`});return String(V)};webidl.converters.ByteString=function(V,prefix,argument){if(typeof V=="symbol")throw webidl.errors.exception({header:prefix,message:`${argument} is a symbol, which cannot be converted to a ByteString.`});let x=String(V);for(let index3=0;index3<x.length;index3++)if(x.charCodeAt(index3)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${index3} has a value of ${x.charCodeAt(index3)} which is greater than 255.`);return x};webidl.converters.USVString=function(value){return typeof value=="string"?value.toWellFormed():`${value}`.toWellFormed()};webidl.converters.boolean=function(V){return!!V};webidl.converters.any=function(V){return V};webidl.converters["long long"]=function(V,prefix,argument){return webidl.util.ConvertToInt(V,64,"signed",0,prefix,argument)};webidl.converters["unsigned long long"]=function(V,prefix,argument){return webidl.util.ConvertToInt(V,64,"unsigned",0,prefix,argument)};webidl.converters["unsigned long"]=function(V,prefix,argument){return webidl.util.ConvertToInt(V,32,"unsigned",0,prefix,argument)};webidl.converters["unsigned short"]=function(V,prefix,argument,flags){return webidl.util.ConvertToInt(V,16,"unsigned",flags,prefix,argument)};webidl.converters.ArrayBuffer=function(V,prefix,argument,flags){if(webidl.util.Type(V)!==OBJECT||!types.isArrayBuffer(V))throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["ArrayBuffer"]});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowResizable)&&webidl.util.IsResizableArrayBuffer(V))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a resizable ArrayBuffer.`});return V};webidl.converters.SharedArrayBuffer=function(V,prefix,argument,flags){if(webidl.util.Type(V)!==OBJECT||!types.isSharedArrayBuffer(V))throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["SharedArrayBuffer"]});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowResizable)&&webidl.util.IsResizableArrayBuffer(V))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a resizable SharedArrayBuffer.`});return V};webidl.converters.TypedArray=function(V,T,prefix,argument,flags){if(webidl.util.Type(V)!==OBJECT||!types.isTypedArray(V)||V.constructor.name!==T.name)throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:[T.name]});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowShared)&&types.isSharedArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a shared array buffer.`});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowResizable)&&webidl.util.IsResizableArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a resizable array buffer.`});return V};webidl.converters.DataView=function(V,prefix,argument,flags){if(webidl.util.Type(V)!==OBJECT||!types.isDataView(V))throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["DataView"]});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowShared)&&types.isSharedArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a shared array buffer.`});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowResizable)&&webidl.util.IsResizableArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a resizable array buffer.`});return V};webidl.converters.ArrayBufferView=function(V,prefix,argument,flags){if(webidl.util.Type(V)!==OBJECT||!types.isArrayBufferView(V))throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["ArrayBufferView"]});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowShared)&&types.isSharedArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a shared array buffer.`});if(!webidl.util.HasFlag(flags,webidl.attributes.AllowResizable)&&webidl.util.IsResizableArrayBuffer(V.buffer))throw webidl.errors.exception({header:prefix,message:`${argument} cannot be a view on a resizable array buffer.`});return V};webidl.converters.BufferSource=function(V,prefix,argument,flags){if(types.isArrayBuffer(V))return webidl.converters.ArrayBuffer(V,prefix,argument,flags);if(types.isArrayBufferView(V))return flags&=~webidl.attributes.AllowShared,webidl.converters.ArrayBufferView(V,prefix,argument,flags);throw types.isSharedArrayBuffer(V)?webidl.errors.exception({header:prefix,message:`${argument} cannot be a SharedArrayBuffer.`}):webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["ArrayBuffer","ArrayBufferView"]})};webidl.converters.AllowSharedBufferSource=function(V,prefix,argument,flags){if(types.isArrayBuffer(V))return webidl.converters.ArrayBuffer(V,prefix,argument,flags);if(types.isSharedArrayBuffer(V))return webidl.converters.SharedArrayBuffer(V,prefix,argument,flags);if(types.isArrayBufferView(V))return flags|=webidl.attributes.AllowShared,webidl.converters.ArrayBufferView(V,prefix,argument,flags);throw webidl.errors.conversionFailed({prefix,argument:`${argument} ("${webidl.util.Stringify(V)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};webidl.converters["sequence<ByteString>"]=webidl.sequenceConverter(webidl.converters.ByteString);webidl.converters["sequence<sequence<ByteString>>"]=webidl.sequenceConverter(webidl.converters["sequence<ByteString>"]);webidl.converters["record<ByteString, ByteString>"]=webidl.recordConverter(webidl.converters.ByteString,webidl.converters.ByteString);webidl.converters.Blob=webidl.interfaceConverter(webidl.is.Blob,"Blob");webidl.converters.AbortSignal=webidl.interfaceConverter(webidl.is.AbortSignal,"AbortSignal");webidl.converters.EventHandlerNonNull=function(V){return webidl.util.Type(V)!==OBJECT?null:typeof V=="function"?V:()=>{}};webidl.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};module.exports={webidl}}});var require_util2=__commonJS({"node_modules/undici/lib/web/fetch/util.js"(exports,module){"use strict";var{Transform}=__require("node:stream"),zlib=__require("node:zlib"),{redirectStatusSet,referrerPolicyTokens,badPortsSet}=require_constants3(),{getGlobalOrigin}=require_global(),{collectAnHTTPQuotedString,parseMIMEType}=require_data_url(),{performance:performance2}=__require("node:perf_hooks"),{ReadableStreamFrom,isValidHTTPToken,normalizedMethodRecordsBase}=require_util(),assert=__require("node:assert"),{isUint8Array}=__require("node:util/types"),{webidl}=require_webidl(),{isomorphicEncode,collectASequenceOfCodePoints,removeChars}=require_infra();function responseURL(response){let urlList=response.urlList,length=urlList.length;return length===0?null:urlList[length-1].toString()}function responseLocationURL(response,requestFragment){if(!redirectStatusSet.has(response.status))return null;let location=response.headersList.get("location",!0);return location!==null&&isValidHeaderValue(location)&&(isValidEncodedURL(location)||(location=normalizeBinaryStringToUtf8(location)),location=new URL(location,responseURL(response))),location&&!location.hash&&(location.hash=requestFragment),location}function isValidEncodedURL(url){for(let i=0;i<url.length;++i){let code=url.charCodeAt(i);if(code>126||code<32)return!1}return!0}function normalizeBinaryStringToUtf8(value){return Buffer.from(value,"binary").toString("utf8")}function requestCurrentURL(request){return request.urlList[request.urlList.length-1]}function requestBadPort(request){let url=requestCurrentURL(request);return urlIsHttpHttpsScheme(url)&&badPortsSet.has(url.port)?"blocked":"allowed"}function isErrorLike(object){return object instanceof Error||object?.constructor?.name==="Error"||object?.constructor?.name==="DOMException"}function isValidReasonPhrase(statusText){for(let i=0;i<statusText.length;++i){let c=statusText.charCodeAt(i);if(!(c===9||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0}var isValidHeaderName=isValidHTTPToken;function isValidHeaderValue(potentialValue){return(potentialValue[0]===" "||potentialValue[0]===" "||potentialValue[potentialValue.length-1]===" "||potentialValue[potentialValue.length-1]===" "||potentialValue.includes(`
3
+ `)||potentialValue.includes("\r")||potentialValue.includes("\0"))===!1}function parseReferrerPolicy(actualResponse){let policyHeader=(actualResponse.headersList.get("referrer-policy",!0)??"").split(","),policy="";if(policyHeader.length)for(let i=policyHeader.length;i!==0;i--){let token=policyHeader[i-1].trim();if(referrerPolicyTokens.has(token)){policy=token;break}}return policy}function setRequestReferrerPolicyOnRedirect(request,actualResponse){let policy=parseReferrerPolicy(actualResponse);policy!==""&&(request.referrerPolicy=policy)}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(httpRequest){let header=null;header=httpRequest.mode,httpRequest.headersList.set("sec-fetch-mode",header,!0)}function appendRequestOriginHeader(request){let serializedOrigin=request.origin;if(!(serializedOrigin==="client"||serializedOrigin===void 0)){if(request.responseTainting==="cors"||request.mode==="websocket")request.headersList.append("origin",serializedOrigin,!0);else if(request.method!=="GET"&&request.method!=="HEAD"){switch(request.referrerPolicy){case"no-referrer":serializedOrigin=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":request.origin&&urlHasHttpsScheme(request.origin)&&!urlHasHttpsScheme(requestCurrentURL(request))&&(serializedOrigin=null);break;case"same-origin":sameOrigin(request,requestCurrentURL(request))||(serializedOrigin=null);break;default:}request.headersList.append("origin",serializedOrigin,!0)}}}function coarsenTime(timestamp,crossOriginIsolatedCapability){return timestamp}function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo,defaultStartTime,crossOriginIsolatedCapability){return!connectionTimingInfo?.startTime||connectionTimingInfo.startTime<defaultStartTime?{domainLookupStartTime:defaultStartTime,domainLookupEndTime:defaultStartTime,connectionStartTime:defaultStartTime,connectionEndTime:defaultStartTime,secureConnectionStartTime:defaultStartTime,ALPNNegotiatedProtocol:connectionTimingInfo?.ALPNNegotiatedProtocol}:{domainLookupStartTime:coarsenTime(connectionTimingInfo.domainLookupStartTime,crossOriginIsolatedCapability),domainLookupEndTime:coarsenTime(connectionTimingInfo.domainLookupEndTime,crossOriginIsolatedCapability),connectionStartTime:coarsenTime(connectionTimingInfo.connectionStartTime,crossOriginIsolatedCapability),connectionEndTime:coarsenTime(connectionTimingInfo.connectionEndTime,crossOriginIsolatedCapability),secureConnectionStartTime:coarsenTime(connectionTimingInfo.secureConnectionStartTime,crossOriginIsolatedCapability),ALPNNegotiatedProtocol:connectionTimingInfo.ALPNNegotiatedProtocol}}function coarsenedSharedCurrentTime(crossOriginIsolatedCapability){return coarsenTime(performance2.now(),crossOriginIsolatedCapability)}function createOpaqueTimingInfo(timingInfo){return{startTime:timingInfo.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:timingInfo.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(policyContainer){return{referrerPolicy:policyContainer.referrerPolicy}}function determineRequestsReferrer(request){let policy=request.referrerPolicy;assert(policy);let referrerSource=null;if(request.referrer==="client"){let globalOrigin=getGlobalOrigin();if(!globalOrigin||globalOrigin.origin==="null")return"no-referrer";referrerSource=new URL(globalOrigin)}else webidl.is.URL(request.referrer)&&(referrerSource=request.referrer);let referrerURL=stripURLForReferrer(referrerSource),referrerOrigin=stripURLForReferrer(referrerSource,!0);switch(referrerURL.toString().length>4096&&(referrerURL=referrerOrigin),policy){case"no-referrer":return"no-referrer";case"origin":return referrerOrigin??stripURLForReferrer(referrerSource,!0);case"unsafe-url":return referrerURL;case"strict-origin":{let currentURL=requestCurrentURL(request);return isURLPotentiallyTrustworthy(referrerURL)&&!isURLPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin}case"strict-origin-when-cross-origin":{let currentURL=requestCurrentURL(request);return sameOrigin(referrerURL,currentURL)?referrerURL:isURLPotentiallyTrustworthy(referrerURL)&&!isURLPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin}case"same-origin":return sameOrigin(request,referrerURL)?referrerURL:"no-referrer";case"origin-when-cross-origin":return sameOrigin(request,referrerURL)?referrerURL:referrerOrigin;case"no-referrer-when-downgrade":{let currentURL=requestCurrentURL(request);return isURLPotentiallyTrustworthy(referrerURL)&&!isURLPotentiallyTrustworthy(currentURL)?"no-referrer":referrerURL}}}function stripURLForReferrer(url,originOnly=!1){return assert(webidl.is.URL(url)),url=new URL(url),urlIsLocal(url)?"no-referrer":(url.username="",url.password="",url.hash="",originOnly===!0&&(url.pathname="",url.search=""),url)}var isPotentialleTrustworthyIPv4=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),isPotentiallyTrustworthyIPv6=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function isOriginIPPotentiallyTrustworthy(origin){return origin.includes(":")?(origin[0]==="["&&origin[origin.length-1]==="]"&&(origin=origin.slice(1,-1)),isPotentiallyTrustworthyIPv6(origin)):isPotentialleTrustworthyIPv4(origin)}function isOriginPotentiallyTrustworthy(origin){return origin==null||origin==="null"?!1:(origin=new URL(origin),!!(origin.protocol==="https:"||origin.protocol==="wss:"||isOriginIPPotentiallyTrustworthy(origin.hostname)||origin.hostname==="localhost"||origin.hostname==="localhost."||origin.hostname.endsWith(".localhost")||origin.hostname.endsWith(".localhost.")||origin.protocol==="file:"))}function isURLPotentiallyTrustworthy(url){return webidl.is.URL(url)?url.href==="about:blank"||url.href==="about:srcdoc"||url.protocol==="data:"||url.protocol==="blob:"?!0:isOriginPotentiallyTrustworthy(url.origin):!1}function tryUpgradeRequestToAPotentiallyTrustworthyURL(request){}function sameOrigin(A,B){return A.origin===B.origin&&A.origin==="null"||A.protocol===B.protocol&&A.hostname===B.hostname&&A.port===B.port}function isAborted(fetchParams){return fetchParams.controller.state==="aborted"}function isCancelled(fetchParams){return fetchParams.controller.state==="aborted"||fetchParams.controller.state==="terminated"}function normalizeMethod(method){return normalizedMethodRecordsBase[method.toLowerCase()]??method}var esIteratorPrototype=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function createIterator(name,kInternalIterator,keyIndex=0,valueIndex=1){class FastIterableIterator{#target;#kind;#index;constructor(target,kind){this.#target=target,this.#kind=kind,this.#index=0}next(){if(typeof this!="object"||this===null||!(#target in this))throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`);let index3=this.#index,values=kInternalIterator(this.#target),len=values.length;if(index3>=len)return{value:void 0,done:!0};let{[keyIndex]:key,[valueIndex]:value}=values[index3];this.#index=index3+1;let result;switch(this.#kind){case"key":result=key;break;case"value":result=value;break;case"key+value":result=[key,value];break}return{value:result,done:!1}}}return delete FastIterableIterator.prototype.constructor,Object.setPrototypeOf(FastIterableIterator.prototype,esIteratorPrototype),Object.defineProperties(FastIterableIterator.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${name} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(target,kind){return new FastIterableIterator(target,kind)}}function iteratorMixin(name,object,kInternalIterator,keyIndex=0,valueIndex=1){let makeIterator=createIterator(name,kInternalIterator,keyIndex,valueIndex),properties={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return webidl.brandCheck(this,object),makeIterator(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return webidl.brandCheck(this,object),makeIterator(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return webidl.brandCheck(this,object),makeIterator(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(callbackfn,thisArg=globalThis){if(webidl.brandCheck(this,object),webidl.argumentLengthCheck(arguments,1,`${name}.forEach`),typeof callbackfn!="function")throw new TypeError(`Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`);for(let{0:key,1:value}of makeIterator(this,"key+value"))callbackfn.call(thisArg,value,key,this)}}};return Object.defineProperties(object.prototype,{...properties,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:properties.entries.value}})}function fullyReadBody(body,processBody,processBodyError){let successSteps=processBody,errorSteps=processBodyError;try{let reader=body.stream.getReader();readAllBytes(reader,successSteps,errorSteps)}catch(e){errorSteps(e)}}function readableStreamClose(controller){try{controller.close(),controller.byobRequest?.respond(0)}catch(err){if(!err.message.includes("Controller is already closed")&&!err.message.includes("ReadableStream is already closed"))throw err}}async function readAllBytes(reader,successSteps,failureSteps){try{let bytes=[],byteLength=0;do{let{done,value:chunk}=await reader.read();if(done){successSteps(Buffer.concat(bytes,byteLength));return}if(!isUint8Array(chunk)){failureSteps(new TypeError("Received non-Uint8Array chunk"));return}bytes.push(chunk),byteLength+=chunk.length}while(!0)}catch(e){failureSteps(e)}}function urlIsLocal(url){assert("protocol"in url);let protocol=url.protocol;return protocol==="about:"||protocol==="blob:"||protocol==="data:"}function urlHasHttpsScheme(url){return typeof url=="string"&&url[5]===":"&&url[0]==="h"&&url[1]==="t"&&url[2]==="t"&&url[3]==="p"&&url[4]==="s"||url.protocol==="https:"}function urlIsHttpHttpsScheme(url){assert("protocol"in url);let protocol=url.protocol;return protocol==="http:"||protocol==="https:"}function simpleRangeHeaderValue(value,allowWhitespace){let data=value;if(!data.startsWith("bytes"))return"failure";let position={position:5};if(allowWhitespace&&collectASequenceOfCodePoints(char=>char===" "||char===" ",data,position),data.charCodeAt(position.position)!==61)return"failure";position.position++,allowWhitespace&&collectASequenceOfCodePoints(char=>char===" "||char===" ",data,position);let rangeStart=collectASequenceOfCodePoints(char=>{let code=char.charCodeAt(0);return code>=48&&code<=57},data,position),rangeStartValue=rangeStart.length?Number(rangeStart):null;if(allowWhitespace&&collectASequenceOfCodePoints(char=>char===" "||char===" ",data,position),data.charCodeAt(position.position)!==45)return"failure";position.position++,allowWhitespace&&collectASequenceOfCodePoints(char=>char===" "||char===" ",data,position);let rangeEnd=collectASequenceOfCodePoints(char=>{let code=char.charCodeAt(0);return code>=48&&code<=57},data,position),rangeEndValue=rangeEnd.length?Number(rangeEnd):null;return position.position<data.length||rangeEndValue===null&&rangeStartValue===null||rangeStartValue!==null&&rangeEndValue!==null&&rangeStartValue>rangeEndValue?"failure":{rangeStartValue,rangeEndValue}}function buildContentRange(rangeStart,rangeEnd,fullLength){let contentRange="bytes ";return contentRange+=isomorphicEncode(`${rangeStart}`),contentRange+="-",contentRange+=isomorphicEncode(`${rangeEnd}`),contentRange+="/",contentRange+=isomorphicEncode(`${fullLength}`),contentRange}var InflateStream=class extends Transform{#zlibOptions;constructor(zlibOptions){super(),this.#zlibOptions=zlibOptions}_transform(chunk,encoding,callback){if(!this._inflateStream){if(chunk.length===0){callback();return}this._inflateStream=(chunk[0]&15)===8?zlib.createInflate(this.#zlibOptions):zlib.createInflateRaw(this.#zlibOptions),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",err=>this.destroy(err))}this._inflateStream.write(chunk,encoding,callback)}_final(callback){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),callback()}};function createInflate(zlibOptions){return new InflateStream(zlibOptions)}function extractMimeType(headers){let charset=null,essence=null,mimeType=null,values=getDecodeSplit("content-type",headers);if(values===null)return"failure";for(let value of values){let temporaryMimeType=parseMIMEType(value);temporaryMimeType==="failure"||temporaryMimeType.essence==="*/*"||(mimeType=temporaryMimeType,mimeType.essence!==essence?(charset=null,mimeType.parameters.has("charset")&&(charset=mimeType.parameters.get("charset")),essence=mimeType.essence):!mimeType.parameters.has("charset")&&charset!==null&&mimeType.parameters.set("charset",charset))}return mimeType??"failure"}function gettingDecodingSplitting(value){let input=value,position={position:0},values=[],temporaryValue="";for(;position.position<input.length;){if(temporaryValue+=collectASequenceOfCodePoints(char=>char!=='"'&&char!==",",input,position),position.position<input.length)if(input.charCodeAt(position.position)===34){if(temporaryValue+=collectAnHTTPQuotedString(input,position),position.position<input.length)continue}else assert(input.charCodeAt(position.position)===44),position.position++;temporaryValue=removeChars(temporaryValue,!0,!0,char=>char===9||char===32),values.push(temporaryValue),temporaryValue=""}return values}function getDecodeSplit(name,list){let value=list.get(name,!0);return value===null?null:gettingDecodingSplitting(value)}function hasAuthenticationEntry(request){return!1}function includesCredentials(url){return!!(url.username||url.password)}function isTraversableNavigable(navigable){return navigable!=null&&navigable!=="client"&&navigable!=="no-traversable"}var EnvironmentSettingsObjectBase=class{get baseUrl(){return getGlobalOrigin()}get origin(){return this.baseUrl?.origin}policyContainer=makePolicyContainer()},EnvironmentSettingsObject=class{settingsObject=new EnvironmentSettingsObjectBase},environmentSettingsObject=new EnvironmentSettingsObject;module.exports={isAborted,isCancelled,isValidEncodedURL,ReadableStreamFrom,tryUpgradeRequestToAPotentiallyTrustworthyURL,clampAndCoarsenConnectionTimingInfo,coarsenedSharedCurrentTime,determineRequestsReferrer,makePolicyContainer,clonePolicyContainer,appendFetchMetadata,appendRequestOriginHeader,TAOCheck,corsCheck,crossOriginResourcePolicyCheck,createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect,isValidHTTPToken,requestBadPort,requestCurrentURL,responseURL,responseLocationURL,isURLPotentiallyTrustworthy,isValidReasonPhrase,sameOrigin,normalizeMethod,iteratorMixin,createIterator,isValidHeaderName,isValidHeaderValue,isErrorLike,fullyReadBody,readableStreamClose,urlIsLocal,urlHasHttpsScheme,urlIsHttpHttpsScheme,readAllBytes,simpleRangeHeaderValue,buildContentRange,createInflate,extractMimeType,getDecodeSplit,environmentSettingsObject,isOriginIPPotentiallyTrustworthy,hasAuthenticationEntry,includesCredentials,isTraversableNavigable}}});var require_runtime_features=__commonJS({"node_modules/undici/lib/util/runtime-features.js"(exports,module){"use strict";var lazyLoaders={__proto__:null,"node:crypto":()=>__require("node:crypto"),"node:sqlite":()=>__require("node:sqlite")};function detectRuntimeFeatureByNodeModule(moduleName){try{return lazyLoaders[moduleName](),!0}catch(err){if(err.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&err.code!=="ERR_NO_CRYPTO")throw err;return!1}}var runtimeFeaturesAsNodeModule=["crypto","sqlite"];function detectRuntimeFeature(feature){if(runtimeFeaturesAsNodeModule.includes(feature))return detectRuntimeFeatureByNodeModule(`node:${feature}`);throw new TypeError(`unknown feature: ${feature}`)}var RuntimeFeatures=class{#map=new Map;clear(){this.#map.clear()}has(feature){return this.#map.get(feature)??this.#detectRuntimeFeature(feature)}set(feature,value){if(runtimeFeaturesAsNodeModule.includes(feature)===!1)throw new TypeError(`unknown feature: ${feature}`);this.#map.set(feature,value)}#detectRuntimeFeature(feature){let result=detectRuntimeFeature(feature);return this.#map.set(feature,result),result}},instance=new RuntimeFeatures;module.exports.runtimeFeatures=instance;module.exports.default=instance}});var require_formdata=__commonJS({"node_modules/undici/lib/web/fetch/formdata.js"(exports,module){"use strict";var{iteratorMixin}=require_util2(),{kEnumerableProperty}=require_util(),{webidl}=require_webidl(),nodeUtil=__require("node:util"),{runtimeFeatures}=require_runtime_features(),random=runtimeFeatures.has("crypto")?__require("node:crypto").randomInt:max=>Math.floor(Math.random()*max),FormData=class _FormData{#state=[];#boundary=null;constructor(form=void 0){if(webidl.util.markAsUncloneable(this),form!==void 0)throw webidl.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(name,value,filename=void 0){webidl.brandCheck(this,_FormData);let prefix="FormData.append";webidl.argumentLengthCheck(arguments,2,prefix),name=webidl.converters.USVString(name),arguments.length===3||webidl.is.Blob(value)?(value=webidl.converters.Blob(value,prefix,"value"),filename!==void 0&&(filename=webidl.converters.USVString(filename))):value=webidl.converters.USVString(value);let entry=makeEntry(name,value,filename);this.#state.push(entry)}delete(name){webidl.brandCheck(this,_FormData),webidl.argumentLengthCheck(arguments,1,"FormData.delete"),name=webidl.converters.USVString(name),this.#state=this.#state.filter(entry=>entry.name!==name)}get(name){webidl.brandCheck(this,_FormData),webidl.argumentLengthCheck(arguments,1,"FormData.get"),name=webidl.converters.USVString(name);let idx=this.#state.findIndex(entry=>entry.name===name);return idx===-1?null:this.#state[idx].value}getAll(name){return webidl.brandCheck(this,_FormData),webidl.argumentLengthCheck(arguments,1,"FormData.getAll"),name=webidl.converters.USVString(name),this.#state.filter(entry=>entry.name===name).map(entry=>entry.value)}has(name){return webidl.brandCheck(this,_FormData),webidl.argumentLengthCheck(arguments,1,"FormData.has"),name=webidl.converters.USVString(name),this.#state.findIndex(entry=>entry.name===name)!==-1}set(name,value,filename=void 0){webidl.brandCheck(this,_FormData);let prefix="FormData.set";webidl.argumentLengthCheck(arguments,2,prefix),name=webidl.converters.USVString(name),arguments.length===3||webidl.is.Blob(value)?(value=webidl.converters.Blob(value,prefix,"value"),filename!==void 0&&(filename=webidl.converters.USVString(filename))):value=webidl.converters.USVString(value);let entry=makeEntry(name,value,filename),idx=this.#state.findIndex(entry2=>entry2.name===name);idx!==-1?this.#state=[...this.#state.slice(0,idx),entry,...this.#state.slice(idx+1).filter(entry2=>entry2.name!==name)]:this.#state.push(entry)}[nodeUtil.inspect.custom](depth,options){let state2=this.#state.reduce((a,b)=>(a[b.name]?Array.isArray(a[b.name])?a[b.name].push(b.value):a[b.name]=[a[b.name],b.value]:a[b.name]=b.value,a),{__proto__:null});options.depth??=depth,options.colors??=!0;let output=nodeUtil.formatWithOptions(options,state2);return`FormData ${output.slice(output.indexOf("]")+2)}`}static getFormDataState(formData){return formData.#state}static setFormDataState(formData,newState){formData.#state=newState}static getFormDataBoundary(formData){let boundary=formData.#boundary;return boundary??(formData.#boundary=`----formdata-undici-0${`${random(1e11)}`.padStart(11,"0")}`)}},{getFormDataState,setFormDataState,getFormDataBoundary}=FormData;Reflect.deleteProperty(FormData,"getFormDataState");Reflect.deleteProperty(FormData,"setFormDataState");Reflect.deleteProperty(FormData,"getFormDataBoundary");iteratorMixin("FormData",FormData,getFormDataState,"name","value");Object.defineProperties(FormData.prototype,{append:kEnumerableProperty,delete:kEnumerableProperty,get:kEnumerableProperty,getAll:kEnumerableProperty,has:kEnumerableProperty,set:kEnumerableProperty,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function makeEntry(name,value,filename){if(typeof value!="string"){if(webidl.is.File(value)||(value=new File([value],"blob",{type:value.type})),filename!==void 0){let options={type:value.type,lastModified:value.lastModified};value=new File([value],filename,options)}}return{name,value}}webidl.is.FormData=webidl.util.MakeTypeAssertion(FormData);module.exports={FormData,makeEntry,setFormDataState,getFormDataBoundary}}});var require_formdata_parser=__commonJS({"node_modules/undici/lib/web/fetch/formdata-parser.js"(exports,module){"use strict";var{bufferToLowerCasedHeaderName}=require_util(),{HTTP_TOKEN_CODEPOINTS}=require_data_url(),{makeEntry}=require_formdata(),{webidl}=require_webidl(),assert=__require("node:assert"),{isomorphicDecode}=require_infra(),dd=Buffer.from("--"),decoder=new TextDecoder,decoderIgnoreBOM=new TextDecoder("utf-8",{ignoreBOM:!0});function isAsciiString(chars){for(let i=0;i<chars.length;++i)if((chars.charCodeAt(i)&-128)!==0)return!1;return!0}function validateBoundary(boundary){let length=boundary.length;if(length<27||length>70)return!1;for(let i=0;i<length;++i){let cp=boundary.charCodeAt(i);if(!(cp>=48&&cp<=57||cp>=65&&cp<=90||cp>=97&&cp<=122||cp===39||cp===45||cp===95))return!1}return!0}function multipartFormDataParser(input,mimeType){assert(mimeType!=="failure"&&mimeType.essence==="multipart/form-data");let boundaryString=mimeType.parameters.get("boundary");if(boundaryString===void 0)throw parsingError("missing boundary in content-type header");let boundary=Buffer.from(`--${boundaryString}`,"utf8"),entryList=[],position={position:0},firstBoundaryIndex=input.indexOf(boundary);if(firstBoundaryIndex===-1)throw parsingError("no boundary found in multipart body");for(position.position=firstBoundaryIndex;;){if(input.subarray(position.position,position.position+boundary.length).equals(boundary))position.position+=boundary.length;else throw parsingError("expected a value starting with -- and the boundary");if(bufferStartsWith(input,dd,position))return entryList;if(input[position.position]!==13||input[position.position+1]!==10)throw parsingError("expected CRLF");position.position+=2;let result=parseMultipartFormDataHeaders(input,position),{name,filename,contentType,encoding}=result;position.position+=2;let body;{let boundaryIndex=input.indexOf(boundary.subarray(2),position.position);if(boundaryIndex===-1)throw parsingError("expected boundary after body");body=input.subarray(position.position,boundaryIndex-4),position.position+=body.length,encoding==="base64"&&(body=Buffer.from(body.toString(),"base64"))}if(input[position.position]!==13||input[position.position+1]!==10)throw parsingError("expected CRLF");position.position+=2;let value;filename!==null?(contentType??="text/plain",isAsciiString(contentType)||(contentType=""),value=new File([body],filename,{type:contentType})):value=decoderIgnoreBOM.decode(Buffer.from(body)),assert(webidl.is.USVString(name)),assert(typeof value=="string"&&webidl.is.USVString(value)||webidl.is.File(value)),entryList.push(makeEntry(name,value,filename))}}function parseContentDispositionAttribute(input,position){input[position.position]===59&&position.position++,collectASequenceOfBytes(char=>char===32||char===9,input,position);let attributeName=collectASequenceOfBytes(char=>isToken(char)&&char!==61&&char!==42,input,position);if(attributeName.length===0)return null;let attrNameStr=attributeName.toString("ascii").toLowerCase(),isExtended=input[position.position]===42;if(isExtended&&position.position++,input[position.position]!==61)return null;position.position++,collectASequenceOfBytes(char=>char===32||char===9,input,position);let value;if(isExtended){let headerValue=collectASequenceOfBytes(char=>char!==32&&char!==13&&char!==10&&char!==59,input,position);if(headerValue[0]!==117&&headerValue[0]!==85||headerValue[1]!==116&&headerValue[1]!==84||headerValue[2]!==102&&headerValue[2]!==70||headerValue[3]!==45||headerValue[4]!==56)throw parsingError("unknown encoding, expected utf-8''");value=decodeURIComponent(decoder.decode(headerValue.subarray(7)))}else if(input[position.position]===34){position.position++;let quotedValue=collectASequenceOfBytes(char=>char!==10&&char!==13&&char!==34,input,position);if(input[position.position]!==34)throw parsingError("Closing quote not found");position.position++,value=decoder.decode(quotedValue).replace(/%0A/ig,`
4
+ `).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let tokenValue=collectASequenceOfBytes(char=>isToken(char)&&char!==59,input,position);value=decoder.decode(tokenValue)}return{name:attrNameStr,value,extended:isExtended}}function parseMultipartFormDataHeaders(input,position){let name=null,filename=null,contentType=null,encoding=null;for(;;){if(input[position.position]===13&&input[position.position+1]===10){if(name===null)throw parsingError("header name is null");return{name,filename,contentType,encoding}}let headerName=collectASequenceOfBytes(char=>char!==10&&char!==13&&char!==58,input,position);if(headerName=removeChars(headerName,!0,!0,char=>char===9||char===32),!HTTP_TOKEN_CODEPOINTS.test(headerName.toString()))throw parsingError("header name does not match the field-name token production");if(input[position.position]!==58)throw parsingError("expected :");switch(position.position++,collectASequenceOfBytes(char=>char===32||char===9,input,position),bufferToLowerCasedHeaderName(headerName)){case"content-disposition":{name=filename=null;let filenameIsExtended=!1;if(collectASequenceOfBytes(char=>isToken(char),input,position).toString("ascii").toLowerCase()!=="form-data")throw parsingError("expected form-data for content-disposition header");for(;position.position<input.length&&(input[position.position]!==13||input[position.position+1]!==10);){let attribute=parseContentDispositionAttribute(input,position);if(!attribute)break;attribute.name==="name"?name=attribute.value:attribute.name==="filename"&&(attribute.extended?(filename=attribute.value,filenameIsExtended=!0):filenameIsExtended||(filename=attribute.value))}if(name===null)throw parsingError("name attribute is required in content-disposition header");break}case"content-type":{let headerValue=collectASequenceOfBytes(char=>char!==10&&char!==13,input,position);headerValue=removeChars(headerValue,!1,!0,char=>char===9||char===32),contentType=isomorphicDecode(headerValue);break}case"content-transfer-encoding":{let headerValue=collectASequenceOfBytes(char=>char!==10&&char!==13,input,position);headerValue=removeChars(headerValue,!1,!0,char=>char===9||char===32),encoding=isomorphicDecode(headerValue);break}default:collectASequenceOfBytes(char=>char!==10&&char!==13,input,position)}if(input[position.position]!==13||input[position.position+1]!==10)throw parsingError("expected CRLF");position.position+=2}}function collectASequenceOfBytes(condition,input,position){let start=position.position;for(;start<input.length&&condition(input[start]);)++start;return input.subarray(position.position,position.position=start)}function removeChars(buf,leading,trailing,predicate){let lead=0,trail=buf.length-1;if(leading)for(;lead<buf.length&&predicate(buf[lead]);)lead++;if(trailing)for(;trail>0&&predicate(buf[trail]);)trail--;return lead===0&&trail===buf.length-1?buf:buf.subarray(lead,trail+1)}function bufferStartsWith(buffer,start,position){if(buffer.length<start.length)return!1;for(let i=0;i<start.length;i++)if(start[i]!==buffer[position.position+i])return!1;return!0}function parsingError(cause){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(cause)})}function isCTL(char){return char<=31||char===127}function isTSpecial(char){return char===40||char===41||char===60||char===62||char===64||char===44||char===59||char===58||char===92||char===34||char===47||char===91||char===93||char===63||char===61}function isToken(char){return char<=127&&char!==32&&char!==9&&!isCTL(char)&&!isTSpecial(char)}module.exports={multipartFormDataParser,validateBoundary}}});var require_body=__commonJS({"node_modules/undici/lib/web/fetch/body.js"(exports,module){"use strict";var util=require_util(),{ReadableStreamFrom,readableStreamClose,fullyReadBody,extractMimeType}=require_util2(),{FormData,setFormDataState,getFormDataBoundary}=require_formdata(),{webidl}=require_webidl(),assert=__require("node:assert"),{isErrored,isDisturbed}=__require("node:stream"),{isUint8Array}=__require("node:util/types"),{serializeAMimeType}=require_data_url(),{multipartFormDataParser}=require_formdata_parser(),{parseJSONFromBytes}=require_infra(),{utf8DecodeBytes}=require_encoding(),{ReadableStreamTee}=__require("node:stream/web"),textEncoder2=new TextEncoder;function noop(){}var streamRegistry=new FinalizationRegistry(weakRef=>{let stream=weakRef.deref();stream&&!stream.locked&&!isDisturbed(stream)&&!isErrored(stream)&&stream.cancel("Response object has been garbage collected").catch(noop)});function extractBody(object,keepalive=!1){let stream=null,controller=null;webidl.is.ReadableStream(object)?stream=object:webidl.is.Blob(object)?stream=object.stream():stream=new ReadableStream({pull(){},start(c){controller=c},cancel(){},type:"bytes"}),assert(webidl.is.ReadableStream(stream));let action=null,source=null,length=null,type=null;if(typeof object=="string")source=object,type="text/plain;charset=UTF-8";else if(webidl.is.URLSearchParams(object))source=object.toString(),type="application/x-www-form-urlencoded;charset=UTF-8";else if(webidl.is.BufferSource(object))source=webidl.util.getCopyOfBytesHeldByBufferSource(object);else if(webidl.is.FormData(object)){let boundary=getFormDataBoundary(object),prefix=`--${boundary}\r
5
+ Content-Disposition: form-data`;let formdataEscape=str=>str.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),normalizeLinefeeds=value=>value.replace(/\r?\n|\r/g,`\r
6
+ `),blobParts=[],rn=new Uint8Array([13,10]);length=0;let hasUnknownSizeValue=!1;for(let[name,value]of object)if(typeof value=="string"){let chunk2=textEncoder2.encode(prefix+`; name="${formdataEscape(normalizeLinefeeds(name))}"\r
7
+ \r
8
+ ${normalizeLinefeeds(value)}\r
9
+ `);blobParts.push(chunk2),length+=chunk2.byteLength}else{let chunk2=textEncoder2.encode(`${prefix}; name="${formdataEscape(normalizeLinefeeds(name))}"`+(value.name?`; filename="${formdataEscape(value.name)}"`:"")+`\r
10
+ Content-Type: ${value.type||"application/octet-stream"}\r
11
+ \r
12
+ `);blobParts.push(chunk2,value,rn),typeof value.size=="number"?length+=chunk2.byteLength+value.size+rn.byteLength:hasUnknownSizeValue=!0}let chunk=textEncoder2.encode(`--${boundary}--\r
13
+ `);blobParts.push(chunk),length+=chunk.byteLength,hasUnknownSizeValue&&(length=null),source=object,action=async function*(){for(let part of blobParts)part.stream?yield*part.stream():yield part},type=`multipart/form-data; boundary=${boundary}`}else if(webidl.is.Blob(object))source=object,length=object.size,object.type&&(type=object.type);else if(typeof object[Symbol.asyncIterator]=="function"){if(keepalive)throw new TypeError("keepalive");if(util.isDisturbed(object)||object.locked)throw new TypeError("Response body object should not be disturbed or locked");stream=webidl.is.ReadableStream(object)?object:ReadableStreamFrom(object)}return(typeof source=="string"||isUint8Array(source))&&(action=()=>(length=typeof source=="string"?Buffer.byteLength(source):source.length,source)),action!=null&&(async()=>{let result=action(),iterator=result?.[Symbol.asyncIterator]?.();if(iterator)for await(let bytes of iterator){if(isErrored(stream))break;bytes.length&&controller.enqueue(new Uint8Array(bytes))}else result?.length&&!isErrored(stream)&&controller.enqueue(typeof result=="string"?textEncoder2.encode(result):new Uint8Array(result));queueMicrotask(()=>readableStreamClose(controller))})(),[{stream,source,length},type]}function safelyExtractBody(object,keepalive=!1){return webidl.is.ReadableStream(object)&&(assert(!util.isDisturbed(object),"The body has already been consumed."),assert(!object.locked,"The stream is locked.")),extractBody(object,keepalive)}function cloneBody(body){let{0:out1,1:out2}=ReadableStreamTee?.(body.stream,!0)??body.stream.tee();return body.stream=out1,{stream:out2,length:body.length,source:body.source}}function bodyMixinMethods(instance,getInternalState){return{blob(){return consumeBody(this,bytes=>{let mimeType=bodyMimeType(getInternalState(this));return mimeType===null?mimeType="":mimeType&&(mimeType=serializeAMimeType(mimeType)),new Blob([bytes],{type:mimeType})},instance,getInternalState)},arrayBuffer(){return consumeBody(this,bytes=>new Uint8Array(bytes).buffer,instance,getInternalState)},text(){return consumeBody(this,utf8DecodeBytes,instance,getInternalState)},json(){return consumeBody(this,parseJSONFromBytes,instance,getInternalState)},formData(){return consumeBody(this,value=>{let mimeType=bodyMimeType(getInternalState(this));if(mimeType!==null)switch(mimeType.essence){case"multipart/form-data":{let parsed=multipartFormDataParser(value,mimeType),fd=new FormData;return setFormDataState(fd,parsed),fd}case"application/x-www-form-urlencoded":{let entries=new URLSearchParams(value.toString()),fd=new FormData;for(let[name,value2]of entries)fd.append(name,value2);return fd}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},instance,getInternalState)},bytes(){return consumeBody(this,bytes=>new Uint8Array(bytes),instance,getInternalState)},textStream(){let this_=getInternalState(this);if(bodyUnusable(this_))throw new TypeError("Body is unusable: Body has already been read");if(this_.body==null){let controller,emptyStream=new ReadableStream({start:c=>{controller=c},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return controller.close(),emptyStream}let stream=this_.body.stream,decoder=new TextDecoderStream("UTF-8");return stream.pipeThrough(decoder)}}}function mixinBody(prototype,getInternalState){Object.assign(prototype.prototype,bodyMixinMethods(prototype,getInternalState))}function consumeBody(object,convertBytesToJSValue,instance,getInternalState){try{webidl.brandCheck(object,instance)}catch(e){return Promise.reject(e)}if(object=getInternalState(object),bodyUnusable(object))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let promise=Promise.withResolvers(),errorSteps=promise.reject,successSteps=data=>{try{promise.resolve(convertBytesToJSValue(data))}catch(e){errorSteps(e)}};return object.body==null?(successSteps(Buffer.allocUnsafe(0)),promise.promise):(fullyReadBody(object.body,successSteps,errorSteps),promise.promise)}function bodyUnusable(object){let body=object.body;return body!=null&&(body.stream.locked||util.isDisturbed(body.stream))}function bodyMimeType(requestOrResponse){let headers=requestOrResponse.headersList,mimeType=extractMimeType(headers);return mimeType==="failure"?null:mimeType}module.exports={extractBody,safelyExtractBody,cloneBody,mixinBody,streamRegistry,bodyUnusable}}});var require_client_h1=__commonJS({"node_modules/undici/lib/dispatcher/client-h1.js"(exports,module){"use strict";var assert=__require("node:assert"),util=require_util(),{channels}=require_diagnostics(),timers=require_timers(),{RequestContentLengthMismatchError,ResponseContentLengthMismatchError,RequestAbortedError,InvalidArgumentError,HeadersTimeoutError,HeadersOverflowError,SocketError,InformationalError,BodyTimeoutError,HTTPParserError,ResponseExceededMaxSizeError}=require_errors(),{kUrl,kReset,kClient,kParser,kBlocking,kRunning,kPending,kSize,kWriting,kQueue,kNoRef,kKeepAliveDefaultTimeout,kHostHeader,kPendingIdx,kRunningIdx,kError,kPipelining,kSocket,kKeepAliveTimeoutValue,kMaxHeadersSize,kKeepAliveMaxTimeout,kKeepAliveTimeoutThreshold,kHeadersTimeout,kBodyTimeout,kStrictContentLength,kMaxRequests,kCounter,kMaxResponseSize,kOnError,kResume,kHTTPContext,kClosed}=require_symbols(),constants=require_constants2(),EMPTY_BUF=Buffer.alloc(0),FastBuffer=Buffer[Symbol.species],removeAllListeners=util.removeAllListeners,kIdleSocketValidation=Symbol("kIdleSocketValidation"),kIdleSocketValidationTimeout=Symbol("kIdleSocketValidationTimeout"),kSocketUsed=Symbol("kSocketUsed"),kTypeOfService=Symbol("kTypeOfService"),extractBody;function lazyllhttp(){let llhttpWasmData=process.env.JEST_WORKER_ID?require_llhttp_wasm():void 0,mod,useWasmSIMD=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?useWasmSIMD=!1:process.env.UNDICI_NO_WASM_SIMD==="0"&&(useWasmSIMD=!0),useWasmSIMD)try{mod=new WebAssembly.Module(require_llhttp_simd_wasm())}catch{}return mod||(mod=new WebAssembly.Module(llhttpWasmData||require_llhttp_wasm())),new WebAssembly.Instance(mod,{env:{wasm_on_url:(p,at,len)=>0,wasm_on_status:(p,at,len)=>{assert(currentParser.ptr===p);let start=at-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer,start,len))},wasm_on_message_begin:p=>(assert(currentParser.ptr===p),currentParser.onMessageBegin()),wasm_on_header_field:(p,at,len)=>{assert(currentParser.ptr===p);let start=at-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer,start,len))},wasm_on_header_value:(p,at,len)=>{assert(currentParser.ptr===p);let start=at-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer,start,len))},wasm_on_headers_complete:(p,statusCode,upgrade,shouldKeepAlive)=>(assert(currentParser.ptr===p),currentParser.onHeadersComplete(statusCode,upgrade===1,shouldKeepAlive===1)),wasm_on_body:(p,at,len)=>{assert(currentParser.ptr===p);let start=at-currentBufferPtr+currentBufferRef.byteOffset;return currentParser.onBody(new FastBuffer(currentBufferRef.buffer,start,len))},wasm_on_message_complete:p=>(assert(currentParser.ptr===p),currentParser.onMessageComplete())}})}var llhttpInstance=null,currentParser=null,currentBufferRef=null,currentBufferSize=0,currentBufferPtr=null,currentBuffer=null,USE_NATIVE_TIMER=0,USE_FAST_TIMER=1,TIMEOUT_HEADERS=2|USE_FAST_TIMER,TIMEOUT_BODY=4|USE_FAST_TIMER,TIMEOUT_KEEP_ALIVE=8|USE_NATIVE_TIMER,Parser2=class{constructor(client,socket,{exports:exports2}){this.llhttp=exports2,this.ptr=this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE),this.client=client,this.socket=socket,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=client[kMaxHeadersSize],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=client[kMaxResponseSize]}setTimeout(delay,type){delay!==this.timeoutValue||type&USE_FAST_TIMER^this.timeoutType&USE_FAST_TIMER?(this.timeout&&(timers.clearTimeout(this.timeout),this.timeout=null),delay&&(type&USE_FAST_TIMER?this.timeout=timers.setFastTimeout(onParserTimeout,delay,this.timeoutWeakRef):(this.timeout=setTimeout(onParserTimeout,delay,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=delay):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=type}resume(){this.socket.destroyed||!this.paused||(assert(this.ptr!=null),assert(currentParser===null),this.llhttp.llhttp_resume(this.ptr),assert(this.timeoutType===TIMEOUT_BODY),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||EMPTY_BUF),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let chunk=this.socket.read();if(chunk===null)break;this.execute(chunk)}}execute(chunk){assert(currentParser===null),assert(this.ptr!=null),assert(!this.paused);let{socket,llhttp}=this;chunk.length>currentBufferSize&&(currentBufferPtr&&llhttp.free(currentBufferPtr),currentBufferSize=Math.ceil(chunk.length/4096)*4096,currentBufferPtr=llhttp.malloc(currentBufferSize)),(currentBuffer===null||currentBuffer.buffer!==llhttp.memory.buffer||currentBuffer.byteOffset!==currentBufferPtr||currentBuffer.byteLength!==currentBufferSize)&&(currentBuffer=new Uint8Array(llhttp.memory.buffer,currentBufferPtr,currentBufferSize)),currentBuffer.set(chunk);try{let ret;try{currentBufferRef=chunk,currentParser=this,ret=llhttp.llhttp_execute(this.ptr,currentBufferPtr,chunk.length)}finally{currentParser=null,currentBufferRef=null}if(ret!==constants.ERROR.OK){let data=chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr)-currentBufferPtr);if(ret===constants.ERROR.PAUSED_UPGRADE)this.onUpgrade(data);else if(ret===constants.ERROR.PAUSED)this.paused=!0,socket.unshift(data);else throw this.createError(ret,data)}}catch(err){util.destroy(socket,err)}}finish(){assert(currentParser===null),assert(this.ptr!=null);let{llhttp}=this;if(this.paused){let data;do llhttp.llhttp_resume(this.ptr),this.paused=!1,data=this.socket.read()||EMPTY_BUF,this.execute(data);while(this.paused&&data.length>0);this.paused&&(llhttp.llhttp_resume(this.ptr),this.paused=!1)}let ret;try{currentParser=this,ret=llhttp.llhttp_finish(this.ptr)}finally{currentParser=null}return ret===constants.ERROR.OK?null:ret===constants.ERROR.PAUSED||ret===constants.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(ret,EMPTY_BUF)}createError(ret,data){let{llhttp,contentLength,bytesRead}=this;if(contentLength!==-1&&bytesRead!==contentLength)return new ResponseContentLengthMismatchError;let ptr=llhttp.llhttp_get_error_reason(this.ptr),message="";if(ptr){let len=new Uint8Array(llhttp.memory.buffer,ptr).indexOf(0);message="Response does not match the HTTP/1.1 protocol ("+Buffer.from(llhttp.memory.buffer,ptr,len).toString()+")"}return new HTTPParserError(message,constants.ERROR[ret],data)}destroy(){assert(currentParser===null),assert(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&timers.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(buf){return this.statusText=buf.toString(),0}onMessageBegin(){let{socket,client}=this;if(socket.destroyed)return-1;if(client[kRunning]===0)return util.destroy(socket,new SocketError("bad response",util.getSocketInfo(socket))),-1;let request=client[kQueue][client[kRunningIdx]];return request?(request.onResponseStarted(),0):-1}onHeaderField(buf){let len=this.headers.length;return(len&1)===0?this.headers.push(buf):this.headers[len-1]=Buffer.concat([this.headers[len-1],buf]),this.trackHeader(buf.length),0}onHeaderValue(buf){let len=this.headers.length;(len&1)===1?(this.headers.push(buf),len+=1):this.headers[len-1]=Buffer.concat([this.headers[len-1],buf]);let key=this.headers[len-2];if(key.length===10){let headerName=util.bufferToLowerCasedHeaderName(key);headerName==="keep-alive"?this.keepAlive+=buf.toString():headerName==="connection"&&(this.connectionKeepAlive=this.headers[len-1].length===10&&util.bufferToLowerCasedHeaderName(this.headers[len-1])==="keep-alive")}else if(key.length===14&&util.bufferToLowerCasedHeaderName(key)==="content-length"){this.contentLength===-1&&(this.contentLength=0);for(let i=0;i<buf.length;i++)this.contentLength=this.contentLength*10+(buf[i]-48)}return this.trackHeader(buf.length),0}trackHeader(len){this.headersSize+=len,this.headersSize>=this.headersMaxSize&&util.destroy(this.socket,new HeadersOverflowError)}onUpgrade(head){let{upgrade,client,socket,headers,statusCode}=this;assert(upgrade),assert(client[kSocket]===socket),assert(!socket.destroyed),assert(!this.paused),assert((headers.length&1)===0);let request=client[kQueue][client[kRunningIdx]];assert(request),assert(request.upgrade||request.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,socket.unshift(head),socket[kParser].destroy(),socket[kParser]=null,socket[kClient]=null,socket[kError]=null,removeAllListeners(socket),client[kSocket]=null,client[kHTTPContext]=null,client[kQueue][client[kRunningIdx]++]=null,client.emit("disconnect",client[kUrl],[client],new InformationalError("upgrade"));try{request.onRequestUpgrade(statusCode,headers,socket)}catch(err){util.destroy(socket,err)}client[kResume]()}onHeadersComplete(statusCode,upgrade,shouldKeepAlive){let{client,socket,headers,statusText}=this;if(socket.destroyed)return-1;if(client[kRunning]===0)return util.destroy(socket,new SocketError("bad response",util.getSocketInfo(socket))),-1;let request=client[kQueue][client[kRunningIdx]];if(!request)return-1;if(assert(!this.upgrade),assert(this.statusCode<200),statusCode===100)return util.destroy(socket,new SocketError("bad response",util.getSocketInfo(socket))),-1;if(upgrade&&!request.upgrade)return util.destroy(socket,new SocketError("bad upgrade",util.getSocketInfo(socket))),-1;if(assert(this.timeoutType===TIMEOUT_HEADERS),this.statusCode=statusCode,this.shouldKeepAlive=shouldKeepAlive||request.method==="HEAD"&&!socket[kReset]&&this.connectionKeepAlive,this.statusCode>=200){let bodyTimeout=request.bodyTimeout!=null?request.bodyTimeout:client[kBodyTimeout];this.setTimeout(bodyTimeout,TIMEOUT_BODY)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(request.method==="CONNECT")return assert(client[kRunning]===1),this.upgrade=!0,2;if(upgrade)return assert(client[kRunning]===1),this.upgrade=!0,2;if(assert((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&client[kPipelining]){let keepAliveTimeout=this.keepAlive?util.parseKeepAliveTimeout(this.keepAlive):null;if(keepAliveTimeout!=null){let timeout=Math.min(keepAliveTimeout-client[kKeepAliveTimeoutThreshold],client[kKeepAliveMaxTimeout]);timeout<=0?socket[kReset]=!0:client[kKeepAliveTimeoutValue]=timeout}else client[kKeepAliveTimeoutValue]=client[kKeepAliveDefaultTimeout]}else socket[kReset]=!0;let pause=request.onResponseStart(statusCode,headers,this.resume,statusText)===!1;return request.aborted?-1:request.method==="HEAD"||statusCode<200?1:(socket[kBlocking]&&(socket[kBlocking]=!1,client[kResume]()),pause?constants.ERROR.PAUSED:0)}onBody(buf){let{client,socket,statusCode,maxResponseSize}=this;if(socket.destroyed)return-1;let request=client[kQueue][client[kRunningIdx]];return assert(request),assert(this.timeoutType===TIMEOUT_BODY),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),assert(statusCode>=200),maxResponseSize>-1&&this.bytesRead+buf.length>maxResponseSize?(util.destroy(socket,new ResponseExceededMaxSizeError),-1):(this.bytesRead+=buf.length,request.onResponseData(buf)===!1?constants.ERROR.PAUSED:0)}onMessageComplete(){let{client,socket,statusCode,upgrade,headers,contentLength,bytesRead,shouldKeepAlive}=this;if(socket.destroyed&&(!statusCode||shouldKeepAlive))return-1;if(upgrade)return 0;assert(statusCode>=100),assert((this.headers.length&1)===0);let request=client[kQueue][client[kRunningIdx]];if(assert(request),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength=-1,this.keepAlive="",this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,statusCode<200)return 0;if(request.method!=="HEAD"&&contentLength!==-1&&bytesRead!==contentLength)return util.destroy(socket,new ResponseContentLengthMismatchError),-1;if(request.onResponseEnd(headers),client[kQueue][client[kRunningIdx]++]=null,socket[kSocketUsed]=client[kPending]===0,socket[kWriting])return assert(client[kRunning]===0),util.destroy(socket,new InformationalError("reset")),constants.ERROR.PAUSED;if(shouldKeepAlive){if(socket[kReset]&&client[kRunning]===0)return util.destroy(socket,new InformationalError("reset")),constants.ERROR.PAUSED;client[kPipelining]==null||client[kPipelining]===1?setImmediate(client[kResume]):client[kResume]()}else return util.destroy(socket,new InformationalError("reset")),constants.ERROR.PAUSED;return 0}};function onParserTimeout(parserWeakRef){let parser=parserWeakRef.deref();if(!parser)return;let{socket,timeoutType,client,paused}=parser;timeoutType===TIMEOUT_HEADERS?(!socket[kWriting]||socket.writableNeedDrain||client[kRunning]>1)&&(assert(!paused,"cannot be paused while waiting for headers"),util.destroy(socket,new HeadersTimeoutError)):timeoutType===TIMEOUT_BODY?paused||util.destroy(socket,new BodyTimeoutError):timeoutType===TIMEOUT_KEEP_ALIVE&&(assert(client[kRunning]===0&&client[kKeepAliveTimeoutValue]),util.destroy(socket,new InformationalError("socket idle timeout")))}function connectH1(client,socket){if(client[kSocket]=socket,llhttpInstance||(llhttpInstance=lazyllhttp()),socket.errored)throw socket.errored;if(socket.destroyed)throw new SocketError("destroyed");return socket[kNoRef]=!1,socket[kWriting]=!1,socket[kReset]=!1,socket[kBlocking]=!1,socket[kIdleSocketValidation]=0,socket[kIdleSocketValidationTimeout]=null,socket[kSocketUsed]=!1,socket[kParser]=new Parser2(client,socket,llhttpInstance),util.addListener(socket,"error",onHttpSocketError),util.addListener(socket,"readable",onHttpSocketReadable),util.addListener(socket,"end",onHttpSocketEnd),util.addListener(socket,"close",onHttpSocketClose),socket[kClosed]=!1,socket.on("close",onSocketClose),{version:"h1",defaultPipelining:1,write(request){return writeH1(client,request)},resume(){resumeH1(client)},destroy(err,callback){socket[kClosed]?queueMicrotask(callback):(socket.on("close",callback),socket.destroy(err))},get destroyed(){return socket.destroyed},busy(request){return!!(socket[kWriting]||socket[kReset]||socket[kBlocking]||socket[kIdleSocketValidation]===1||request&&(client[kRunning]>0&&!request.idempotent||client[kRunning]>0&&(request.upgrade||request.method==="CONNECT")||client[kRunning]>0&&util.bodyLength(request.body)!==0&&(util.isStream(request.body)||util.isAsyncIterable(request.body)||util.isFormDataLike(request.body))))}}}function onHttpSocketError(err){assert(err.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let parser=this[kParser];if(err.code==="ECONNRESET"&&parser.statusCode&&!parser.shouldKeepAlive){let parserErr=parser.finish();parserErr&&(this[kError]=parserErr,this[kClient][kOnError](parserErr));return}this[kError]=err,this[kClient][kOnError](err)}function onHttpSocketReadable(){this[kParser]?.readMore()}function onHttpSocketEnd(){let parser=this[kParser];if(parser.statusCode&&!parser.shouldKeepAlive){let parserErr=parser.finish();parserErr&&util.destroy(this,parserErr);return}util.destroy(this,new SocketError("other side closed",util.getSocketInfo(this)))}function onHttpSocketClose(){let parser=this[kParser];clearIdleSocketValidation(this),parser&&(!this[kError]&&parser.statusCode&&!parser.shouldKeepAlive&&(this[kError]=parser.finish()||this[kError]),this[kParser].destroy(),this[kParser]=null);let err=this[kError]||new SocketError("closed",util.getSocketInfo(this)),client=this[kClient];if(client[kSocket]=null,client[kHTTPContext]=null,client.destroyed){assert(client[kPending]===0);let requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){let request=requests[i];util.errorRequest(client,request,err)}}else if(client[kRunning]>0&&err.code!=="UND_ERR_INFO"){let request=client[kQueue][client[kRunningIdx]];client[kQueue][client[kRunningIdx]++]=null,util.errorRequest(client,request,err)}client[kPendingIdx]=client[kRunningIdx],assert(client[kRunning]===0),client.emit("disconnect",client[kUrl],[client],err),client[kResume]()}function onSocketClose(){this[kClosed]=!0}function clearIdleSocketValidation(socket){socket[kIdleSocketValidationTimeout]&&(clearImmediate(socket[kIdleSocketValidationTimeout]),socket[kIdleSocketValidationTimeout]=null),socket[kIdleSocketValidation]=0}function scheduleIdleSocketValidation(client,socket){socket[kIdleSocketValidation]=1,socket[kIdleSocketValidationTimeout]=setImmediate(()=>{socket[kIdleSocketValidationTimeout]=null,socket[kIdleSocketValidation]=2,client[kSocket]===socket&&!socket.destroyed&&client[kResume]()}),socket[kIdleSocketValidationTimeout].unref?.()}function resumeH1(client){let socket=client[kSocket];if(socket&&!socket.destroyed){if(client[kSize]===0?!socket[kNoRef]&&socket.unref&&(socket.unref(),socket[kNoRef]=!0):socket[kNoRef]&&socket.ref&&(socket.ref(),socket[kNoRef]=!1),client[kRunning]===0&&client[kPending]>0&&socket[kSocketUsed]){if(socket[kIdleSocketValidation]===0)return scheduleIdleSocketValidation(client,socket),socket[kParser].readMore(),socket.destroyed,void 0;if(socket[kIdleSocketValidation]===1)return socket[kParser].readMore(),socket.destroyed,void 0}if(client[kRunning]===0&&(socket[kParser].readMore(),socket.destroyed))return;if(client[kSize]===0)socket[kParser].timeoutType!==TIMEOUT_KEEP_ALIVE&&socket[kParser].setTimeout(client[kKeepAliveTimeoutValue],TIMEOUT_KEEP_ALIVE);else if(client[kRunning]>0&&socket[kParser].statusCode<200&&socket[kParser].timeoutType!==TIMEOUT_HEADERS){let request=client[kQueue][client[kRunningIdx]],headersTimeout=request.headersTimeout!=null?request.headersTimeout:client[kHeadersTimeout];socket[kParser].setTimeout(headersTimeout,TIMEOUT_HEADERS)}}}function shouldSendContentLength(method){return method!=="GET"&&method!=="HEAD"&&method!=="OPTIONS"&&method!=="TRACE"&&method!=="CONNECT"}function setTypeOfService(socket,request){if(typeof socket.setTypeOfService!="function")return;let typeOfService=request.typeOfService;if(!(typeOfService===void 0||socket[kTypeOfService]===typeOfService))try{socket.setTypeOfService(typeOfService),socket[kTypeOfService]=typeOfService}catch{}}function writeH1(client,request){let{method,path,host,upgrade,blocking,reset}=request,{body,headers,contentLength}=request,expectsPayload=method==="PUT"||method==="POST"||method==="PATCH"||method==="QUERY"||method==="PROPFIND"||method==="PROPPATCH";if(util.isFormDataLike(body)){extractBody||(extractBody=require_body().extractBody);let[bodyStream,contentType]=extractBody(body);request.contentType==null&&headers.push("content-type",contentType),body=bodyStream.stream,contentLength=bodyStream.length}else if(util.isBlobLike(body)&&request.contentType==null){let contentType=body.type;if(contentType){let contentTypeValue=`${contentType}`;if(!util.isValidHeaderValue(contentTypeValue))return util.errorRequest(client,request,new InvalidArgumentError("invalid content-type header")),!1;headers.push("content-type",contentTypeValue)}}body&&typeof body.read=="function"&&body.read(0);let bodyLength=util.bodyLength(body);if(contentLength=bodyLength??contentLength,contentLength===null&&(contentLength=request.contentLength),contentLength===0&&!expectsPayload&&(contentLength=null),shouldSendContentLength(method)&&contentLength>0&&request.contentLength!==null&&request.contentLength!==contentLength){if(client[kStrictContentLength])return util.errorRequest(client,request,new RequestContentLengthMismatchError),!1;process.emitWarning(new RequestContentLengthMismatchError)}let socket=client[kSocket];clearIdleSocketValidation(socket);let abort=err=>{request.aborted||request.completed||(util.errorRequest(client,request,err||new RequestAbortedError),util.destroy(body),util.destroy(socket,new InformationalError("aborted")))};try{request.onRequestStart(abort,null)}catch(err){util.errorRequest(client,request,err)}if(request.aborted)return!1;method==="HEAD"&&(socket[kReset]=!0),(upgrade||method==="CONNECT")&&(socket[kReset]=!0),reset!=null&&(socket[kReset]=reset),client[kMaxRequests]&&++socket[kCounter]>=client[kMaxRequests]&&(socket[kReset]=!0),blocking&&(socket[kBlocking]=!0),setTypeOfService(socket,request);let header=`${method} ${path} HTTP/1.1\r
14
+ `;if(typeof host=="string"?header+=`host: ${host}\r
15
+ `:header+=client[kHostHeader],upgrade?header+=`connection: upgrade\r
16
+ upgrade: ${upgrade}\r
17
+ `:client[kPipelining]&&!socket[kReset]?header+=`connection: keep-alive\r
18
+ `:header+=`connection: close\r
19
+ `,Array.isArray(headers))for(let n=0;n<headers.length;n+=2){let key=headers[n+0],val=headers[n+1];if(Array.isArray(val))for(let i=0;i<val.length;i++)header+=`${key}: ${val[i]}\r
20
+ `;else header+=`${key}: ${val}\r
21
+ `}return channels.sendHeaders.hasSubscribers&&channels.sendHeaders.publish({request,headers:header,socket}),!body||bodyLength===0?writeBuffer(abort,null,client,request,socket,contentLength,header,expectsPayload):util.isBuffer(body)?writeBuffer(abort,body,client,request,socket,contentLength,header,expectsPayload):util.isBlobLike(body)?typeof body.stream=="function"?writeIterable(abort,body.stream(),client,request,socket,contentLength,header,expectsPayload):writeBlob(abort,body,client,request,socket,contentLength,header,expectsPayload):util.isStream(body)?writeStream(abort,body,client,request,socket,contentLength,header,expectsPayload):util.isIterable(body)?writeIterable(abort,body,client,request,socket,contentLength,header,expectsPayload):assert(!1),!0}function writeStream(abort,body,client,request,socket,contentLength,header,expectsPayload){assert(contentLength!==0||client[kRunning]===0,"stream body cannot be pipelined");let finished=!1,writer=new AsyncWriter({abort,socket,request,contentLength,client,expectsPayload,header}),onData=function(chunk){if(!finished)try{!writer.write(chunk)&&this.pause&&this.pause()}catch(err){util.destroy(this,err)}},onDrain=function(){finished||body.resume&&body.resume()},onClose=function(){if(queueMicrotask(()=>{body.removeListener("error",onFinished)}),!finished){let err=new RequestAbortedError;queueMicrotask(()=>onFinished(err))}},onFinished=function(err){if(!finished){if(finished=!0,assert(socket.destroyed||socket[kWriting]&&client[kRunning]<=1),socket.off("drain",onDrain).off("error",onFinished),body.removeListener("data",onData).removeListener("end",onFinished).removeListener("close",onClose),!err)try{writer.end()}catch(er){err=er}writer.destroy(err),err&&(err.code!=="UND_ERR_INFO"||err.message!=="reset")?util.destroy(body,err):util.destroy(body)}};body.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onClose),body.resume&&body.resume(),socket.on("drain",onDrain).on("error",onFinished),body.errorEmitted??body.errored?setImmediate(onFinished,body.errored):(body.endEmitted??body.readableEnded)&&setImmediate(onFinished,null),(body.closeEmitted??body.closed)&&setImmediate(onClose)}function writeBuffer(abort,body,client,request,socket,contentLength,header,expectsPayload){try{body?util.isBuffer(body)&&(assert(contentLength===body.byteLength,"buffer body must have content length"),socket.cork(),socket.write(`${header}content-length: ${contentLength}\r
22
+ \r
23
+ `,"latin1"),socket.write(body),socket.uncork(),request.onBodySent(body),!expectsPayload&&request.reset!==!1&&(socket[kReset]=!0)):contentLength===0?socket.write(`${header}content-length: 0\r
24
+ \r
25
+ `,"latin1"):(assert(contentLength===null,"no body must not have content length"),socket.write(`${header}\r
26
+ `,"latin1")),request.onRequestSent(),client[kResume]()}catch(err){abort(err)}}async function writeBlob(abort,body,client,request,socket,contentLength,header,expectsPayload){try{if(contentLength!=null&&contentLength!==body.size)throw new RequestContentLengthMismatchError;let buffer=Buffer.from(await body.arrayBuffer());socket.cork(),socket.write(`${header}content-length: ${contentLength}\r
27
+ \r
28
+ `,"latin1"),socket.write(buffer),socket.uncork(),request.onBodySent(buffer),request.onRequestSent(),!expectsPayload&&request.reset!==!1&&(socket[kReset]=!0),client[kResume]()}catch(err){abort(err)}}async function writeIterable(abort,body,client,request,socket,contentLength,header,expectsPayload){assert(contentLength!==0||client[kRunning]===0,"iterator body cannot be pipelined");let callback=null;function onDrain(){if(callback){let cb=callback;callback=null,cb()}}let waitForDrain=()=>new Promise((resolve,reject)=>{assert(callback===null),socket[kError]?reject(socket[kError]):callback=resolve});socket.on("close",onDrain).on("drain",onDrain);let writer=new AsyncWriter({abort,socket,request,contentLength,client,expectsPayload,header});try{for await(let chunk of body){if(socket[kError])throw socket[kError];writer.write(chunk)||await waitForDrain()}writer.end()}catch(err){writer.destroy(err)}finally{socket.off("close",onDrain).off("drain",onDrain)}}var AsyncWriter=class{constructor({abort,socket,request,contentLength,client,expectsPayload,header}){this.socket=socket,this.request=request,this.contentLength=contentLength,this.client=client,this.bytesWritten=0,this.expectsPayload=expectsPayload,this.header=header,this.abort=abort,socket[kWriting]=!0}write(chunk){let{socket,request,contentLength,client,bytesWritten,expectsPayload,header}=this;if(socket[kError])throw socket[kError];if(socket.destroyed)return!1;let len=chunk instanceof Uint8Array?chunk.byteLength:Buffer.byteLength(chunk);if(!len)return!0;if(contentLength!==null&&bytesWritten+len>contentLength){if(client[kStrictContentLength])throw new RequestContentLengthMismatchError;process.emitWarning(new RequestContentLengthMismatchError)}socket.cork(),bytesWritten===0&&(!expectsPayload&&request.reset!==!1&&(socket[kReset]=!0),contentLength===null?socket.write(`${header}transfer-encoding: chunked\r
29
+ `,"latin1"):socket.write(`${header}content-length: ${contentLength}\r
30
+ \r
31
+ `,"latin1")),contentLength===null&&socket.write(`\r
32
+ ${len.toString(16)}\r
33
+ `,"latin1"),this.bytesWritten+=len;let ret=socket.write(chunk);return socket.uncork(),request.onBodySent(chunk),ret||socket[kParser].timeout&&socket[kParser].timeoutType===TIMEOUT_HEADERS&&socket[kParser].timeout.refresh&&socket[kParser].timeout.refresh(),ret}end(){let{socket,contentLength,client,bytesWritten,expectsPayload,header,request}=this;if(request.onRequestSent(),socket[kWriting]=!1,socket[kError])throw socket[kError];if(!socket.destroyed){if(bytesWritten===0?expectsPayload?socket.write(`${header}content-length: 0\r
34
+ \r
35
+ `,"latin1"):socket.write(`${header}\r
36
+ `,"latin1"):contentLength===null&&socket.write(`\r
37
+ 0\r
38
+ \r
39
+ `,"latin1"),contentLength!==null&&bytesWritten!==contentLength){if(client[kStrictContentLength])throw new RequestContentLengthMismatchError;process.emitWarning(new RequestContentLengthMismatchError)}socket[kParser].timeout&&socket[kParser].timeoutType===TIMEOUT_HEADERS&&socket[kParser].timeout.refresh&&socket[kParser].timeout.refresh(),client[kResume]()}}destroy(err){let{socket,client,abort}=this;socket[kWriting]=!1,err&&(assert(client[kRunning]<=1,"pipeline should only contain this request"),abort(err))}};module.exports=connectH1}});var require_client_h2=__commonJS({"node_modules/undici/lib/dispatcher/client-h2.js"(exports,module){"use strict";var assert=__require("node:assert"),{pipeline}=__require("node:stream"),util=require_util(),{RequestContentLengthMismatchError,RequestAbortedError,SocketError,InformationalError,InvalidArgumentError,HeadersTimeoutError,BodyTimeoutError}=require_errors(),{kUrl,kReset,kClient,kRunning,kPending,kQueue,kPendingIdx,kRunningIdx,kError,kSocket,kStrictContentLength,kOnError,kMaxConcurrentStreams,kPingInterval,kHTTP2Session,kHTTP2InitialWindowSize,kHTTP2ConnectionWindowSize,kHostAuthority,kResume,kSize,kHTTPContext,kClosed,kKeepAliveDefaultTimeout,kHeadersTimeout,kBodyTimeout,kEnableConnectProtocol,kRemoteSettings,kHTTP2Stream,kHTTP2SessionState}=require_symbols(),{channels}=require_diagnostics(),kOpenStreams=Symbol("open streams"),kRequestStreamId=Symbol("request stream id"),kRequestStream=Symbol("request stream"),kRequestStreamCleanup=Symbol("request stream cleanup"),kRequestStreamState=Symbol("request stream state"),kReceivedGoAway=Symbol("received goaway"),extractBody,http2;try{http2=__require("node:http2")}catch{http2={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY,HTTP2_HEADER_METHOD,HTTP2_HEADER_PATH,HTTP2_HEADER_SCHEME,HTTP2_HEADER_CONTENT_LENGTH,HTTP2_HEADER_EXPECT,HTTP2_HEADER_STATUS,HTTP2_HEADER_PROTOCOL,NGHTTP2_NO_ERROR,NGHTTP2_REFUSED_STREAM}}=http2;function getGoAwayError(session,errorCode){return session[kError]||(errorCode===NGHTTP2_NO_ERROR?new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`):new SocketError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`,util.getSocketInfo(session[kSocket])))}function resetHttp2Session(session,err){let client=session[kClient],socket=session[kSocket];if(client[kHTTP2Session]===session&&(client[kSocket]=null,client[kHTTPContext]=null,client[kHTTP2Session]=null),socket!=null&&socket[kError]==null&&(socket[kError]=err),!session.closed&&!session.destroyed)try{session.destroy(err)}catch{}util.destroy(socket,err)}function getGoAwayPendingIdx(client,lastStreamID){let maxAcceptedStreamID=Number.isInteger(lastStreamID)?lastStreamID:Number.MAX_SAFE_INTEGER;for(let i=client[kRunningIdx];i<client[kPendingIdx];i++){let request=client[kQueue][i];if(request!=null&&(typeof request[kRequestStreamId]!="number"||request[kRequestStreamId]>maxAcceptedStreamID))return i}return client[kPendingIdx]}function detachRequestFromStream(request){request[kRequestStreamId]=null,request[kRequestStream]=null,request[kRequestStreamCleanup]=null}function bindRequestToStream(request,stream,cleanup){let previousCleanup=request[kRequestStreamCleanup],previousStream=request[kRequestStream];detachRequestFromStream(request),previousCleanup?.(previousStream),request[kRequestStreamId]=stream.id,request[kRequestStream]=stream,request[kRequestStreamCleanup]=cleanup}function clearRequestStream(request){let cleanup=request[kRequestStreamCleanup],stream=request[kRequestStream];detachRequestFromStream(request),cleanup?.(stream)}function requeueUnsentRequest(client,request){client[kQueue].splice(client[kPendingIdx]+1,0,request)}function completeRequest(client,request,resetPendingIdx=!1){let queue=client[kQueue],runningIdx=client[kRunningIdx];if(runningIdx<client[kPendingIdx]&&queue[runningIdx]===request){queue[runningIdx]=null,client[kRunningIdx]=runningIdx+1;return}let index3=queue.indexOf(request,runningIdx);index3===-1||index3>=client[kPendingIdx]||(queue.splice(index3,1),client[kPendingIdx]--,resetPendingIdx&&client[kPendingIdx]<client[kRunningIdx]&&(client[kPendingIdx]=client[kRunningIdx]))}function canRetryRequestAfterGoAway(request){let{body}=request;return body==null||util.isBuffer(body)||util.isBlobLike(body)}function closeStream(stream,code=NGHTTP2_REFUSED_STREAM){if(stream!=null&&!stream.destroyed&&!stream.closed)try{stream.close(code)}catch{}}function detachRequestStreamForClose(request){let stream=request[kRequestStream];return clearRequestStream(request),stream}function connectH2(client,socket){client[kSocket]=socket;let http2InitialWindowSize=client[kHTTP2InitialWindowSize],http2ConnectionWindowSize=client[kHTTP2ConnectionWindowSize],session=http2.connect(client[kUrl],{createConnection:()=>socket,peerMaxConcurrentStreams:client[kMaxConcurrentStreams],settings:{enablePush:!1,...http2InitialWindowSize!=null?{initialWindowSize:http2InitialWindowSize}:null}});return client[kSocket]=socket,session[kOpenStreams]=0,session[kClient]=client,session[kSocket]=socket,session[kHTTP2SessionState]={idleTimeout:null,refed:!0,ping:{interval:client[kPingInterval]===0?null:setInterval(onHttp2SendPing,client[kPingInterval],session).unref()}},session[kReceivedGoAway]=!1,session[kEnableConnectProtocol]=!1,session[kRemoteSettings]=!1,http2ConnectionWindowSize&&util.addListener(session,"connect",applyConnectionWindowSize.bind(session,http2ConnectionWindowSize)),util.addListener(session,"error",onHttp2SessionError),util.addListener(session,"frameError",onHttp2FrameError),util.addListener(session,"goaway",onHttp2SessionGoAway),util.addListener(session,"close",onHttp2SessionClose),util.addListener(session,"remoteSettings",onHttp2RemoteSettings),unrefH2Session(session),client[kHTTP2Session]=session,socket[kHTTP2Session]=session,util.addListener(socket,"error",onHttp2SocketError),util.addListener(socket,"end",onHttp2SocketEnd),util.addListener(socket,"close",onHttp2SocketClose),socket[kClosed]=!1,socket.on("close",onSocketClose),{version:"h2",defaultPipelining:1/0,write(request){return writeH2(client,request)},resume(){resumeH2(client)},destroy(err,callback){socket[kClosed]?queueMicrotask(callback):socket.destroy(err).on("close",callback)},get destroyed(){return socket.destroyed},busy(request){if(session[kRemoteSettings]===!1&&client[kRunning]>0||client[kRunning]>=client[kMaxConcurrentStreams])return!0;if(request!=null)if(client[kRunning]>0){if((request.upgrade==="websocket"||request.method==="CONNECT")&&session[kRemoteSettings]===!1)return!0}else return(request.upgrade==="websocket"||request.method==="CONNECT")&&session[kRemoteSettings]===!1;return!1}}}function refH2Session(session){let state2=session[kHTTP2SessionState];state2.refed===!1&&(state2.refed=!0,session.ref())}function unrefH2Session(session){let state2=session[kHTTP2SessionState];state2.refed===!0&&(state2.refed=!1,session.unref())}function resumeH2(client){let socket=client[kSocket],session=client[kHTTP2Session];socket?.destroyed===!1&&(client[kSize]===0||client[kMaxConcurrentStreams]===0?unrefH2Session(session):refH2Session(session),client[kSize]===0&&session[kOpenStreams]===0?setHttp2IdleTimeout(session):clearHttp2IdleTimeout(session))}function clearHttp2IdleTimeout(session){let state2=session[kHTTP2SessionState];state2?.idleTimeout!=null&&(clearTimeout(state2.idleTimeout),state2.idleTimeout=null)}function setHttp2IdleTimeout(session){let client=session[kClient];if(client[kHTTP2Session]!==session||session.closed||session.destroyed)return;if(session[kOpenStreams]!==0||client[kSize]!==0){clearHttp2IdleTimeout(session);return}let state2=session[kHTTP2SessionState];state2.idleTimeout==null&&(state2.idleTimeout=setTimeout(onHttp2SessionIdleTimeout,client[kKeepAliveDefaultTimeout],session).unref())}function onHttp2SessionIdleTimeout(session){let client=session[kClient],socket=session[kSocket],state2=session[kHTTP2SessionState];if(state2.idleTimeout=null,client[kHTTP2Session]!==session||session[kOpenStreams]!==0||client[kSize]!==0||session.closed||session.destroyed)return;let err=new InformationalError("socket idle timeout");socket[kError]=err,util.destroy(socket,err)}function applyConnectionWindowSize(connectionWindowSize){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(connectionWindowSize)}catch{}}function onHttp2RemoteSettings(settings2){if(this[kClient][kMaxConcurrentStreams]=settings2.maxConcurrentStreams??this[kClient][kMaxConcurrentStreams],this[kRemoteSettings]===!0&&this[kEnableConnectProtocol]===!0&&settings2.enableConnectProtocol===!1){let err=new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[kSocket][kError]=err,this[kClient][kOnError](err);return}this[kEnableConnectProtocol]=settings2.enableConnectProtocol??this[kEnableConnectProtocol],this[kRemoteSettings]=!0,this[kClient][kResume]()}function onHttp2SendPing(session){let state2=session[kHTTP2SessionState];if((session.closed||session.destroyed)&&state2.ping.interval!=null){clearInterval(state2.ping.interval),state2.ping.interval=null;return}session.ping(onPing.bind(session));function onPing(err,duration){let client=this[kClient],socket=this[kSocket];if(err!=null){let error2=new InformationalError(`HTTP/2: "PING" errored - type ${err.message}`);socket[kError]=error2,client[kOnError](error2)}else client.emit("ping",duration)}}function onHttp2SessionError(err){assert(err.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[kSocket][kError]=err,!this[kReceivedGoAway]&&this[kClient][kOnError](err)}function onHttp2FrameError(type,code,id){if(id===0){if(this[kReceivedGoAway])return;let err=new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`);this[kSocket][kError]=err,this[kClient][kOnError](err)}}function onHttp2SessionGoAway(errorCode,lastStreamID){if(this[kReceivedGoAway])return;this[kReceivedGoAway]=!0;let err=getGoAwayError(this,errorCode),client=this[kClient],previousPendingIdx=client[kPendingIdx],pendingIdx=getGoAwayPendingIdx(client,lastStreamID),retriableRequests=[],streamsToClose=[];for(let i=pendingIdx;i<previousPendingIdx;i++){let request=client[kQueue][i];request!=null&&(streamsToClose.push(detachRequestStreamForClose(request)),canRetryRequestAfterGoAway(request)?retriableRequests.push(request):util.errorRequest(client,request,err))}for(let i=0;i<streamsToClose.length;i++)closeStream(streamsToClose[i]);if(pendingIdx!==previousPendingIdx){let remainingPendingRequests=client[kQueue].slice(previousPendingIdx);client[kQueue].length=pendingIdx,client[kQueue].push(...retriableRequests,...remainingPendingRequests)}client[kHTTP2Session]===this&&(client[kSocket]=null,client[kHTTPContext]=null,client[kHTTP2Session]=null),clearHttp2IdleTimeout(this),!this.closed&&!this.destroyed&&this.close(),client[kPendingIdx]=pendingIdx,client.emit("disconnect",client[kUrl],[client],err),client[kResume]()}function onHttp2SessionClose(){let{[kClient]:client,[kHTTP2SessionState]:state2,[kSocket]:socket}=this,err=socket[kError]||this[kError]||new SocketError("closed",util.getSocketInfo(socket));if(client[kHTTP2Session]===this&&(client[kSocket]=null,client[kHTTPContext]=null,client[kHTTP2Session]=null),clearHttp2IdleTimeout(this),state2.ping.interval!=null&&(clearInterval(state2.ping.interval),state2.ping.interval=null),client.destroyed){assert(client[kPending]===0);let requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){let request=requests[i];request!=null&&util.errorRequest(client,request,err)}}}function onHttp2SocketClose(){let err=this[kError]||new SocketError("closed",util.getSocketInfo(this)),session=this[kHTTP2Session],client=session[kClient];client[kSocket]!==this&&(session[kReceivedGoAway]||client[kHTTP2Session]!=null&&client[kHTTP2Session]!==session)||(client[kSocket]=null,client[kHTTPContext]=null,client[kHTTP2Session]===session&&(client[kHTTP2Session]=null),session.destroy(err),client[kPendingIdx]=client[kRunningIdx],assert(client[kRunning]===0),client.emit("disconnect",client[kUrl],[client],err),client[kResume]())}function onHttp2SocketError(err){assert(err.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[kError]=err,!this[kHTTP2Session]?.[kReceivedGoAway]&&this[kHTTP2Session]?.[kClient]?.[kOnError](err)}function onHttp2SocketEnd(){util.destroy(this,new SocketError("other side closed",util.getSocketInfo(this)))}function onSocketClose(){this[kClosed]=!0}function noop(){}function closeStreamSession(stream){let session=stream[kHTTP2Session];stream[kHTTP2Session]=null,session[kOpenStreams]-=1,session[kOpenStreams]===0&&(unrefH2Session(session),setHttp2IdleTimeout(session))}function onUpgradeStreamClose(){this.off("error",noop);let state2=this[kRequestStreamState];this[kRequestStreamState]=null,failUpgradeStream(state2,new InformationalError("HTTP/2: stream closed before response headers")),closeStreamSession(this)}function completeRequestStream(){let state2=this[kRequestStreamState];state2!=null&&(releaseRequestStream(this),state2.pendingEnd&&!state2.request.aborted&&!state2.request.completed&&state2.request.onResponseEnd(state2.trailers||{}),finalizeRequest(state2),closeStreamSession(this),this[kRequestStreamState]=null)}function shouldSendContentLength(method){return method!=="GET"&&method!=="HEAD"&&method!=="OPTIONS"&&method!=="TRACE"&&method!=="CONNECT"}function buildRequestHeaders(reqHeaders){let headers={};for(let n=0;n<reqHeaders.length;n+=2){let key=reqHeaders[n+0],val=reqHeaders[n+1],current=headers[key];if(key==="cookie"){current!=null?headers[key]=Array.isArray(current)?(current.push(val),current):[current,val]:headers[key]=val;continue}if(typeof val=="string"){headers[key]=current?`${current}, ${val}`:val;continue}for(let i=0;i<val.length;i++)headers[key]=headers[key]?`${headers[key]}, ${val[i]}`:val[i]}return headers}function removeUpgradeStreamListeners(stream){stream.off("response",onUpgradeResponse),stream.off("error",onUpgradeStreamError),stream.off("end",onUpgradeStreamEnd),stream.off("timeout",onUpgradeStreamTimeout),stream.off("error",noop)}function releaseUpgradeStream(stream){if(stream==null)return;let state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;request[kRequestStream]===stream&&detachRequestFromStream(request),removeUpgradeStreamListeners(stream),!stream.destroyed&&!stream.closed&&stream.once("error",noop)}function failUpgradeStream(state2,err){if(state2==null)return;let{request}=state2;state2.responseReceived||request.aborted||request.completed||(releaseUpgradeStream(state2.stream),state2.abort(err,!0))}function onUpgradeStreamError(){let state2=this[kRequestStreamState];typeof this.rstCode=="number"&&this.rstCode!==0?failUpgradeStream(state2,new InformationalError(`HTTP/2: "stream error" received - code ${this.rstCode}`)):failUpgradeStream(state2,new InformationalError("HTTP/2: stream errored before response headers"))}function onUpgradeStreamEnd(){failUpgradeStream(this[kRequestStreamState],new InformationalError("HTTP/2: stream half-closed (remote)"))}function onUpgradeStreamTimeout(){let state2=this[kRequestStreamState];failUpgradeStream(state2,new InformationalError(`HTTP/2: "stream timeout after ${state2.headersTimeout}"`))}function onUpgradeResponse(headers,_flags){let stream=this,state2=stream[kRequestStreamState],{request}=state2;state2.responseReceived=!0;let statusCode=headers[HTTP2_HEADER_STATUS];delete headers[HTTP2_HEADER_STATUS],request.onRequestUpgrade(statusCode,headers,stream),!(request.aborted||request.completed)&&(removeUpgradeStreamListeners(stream),detachRequestFromStream(request),finalizeRequest(state2))}function setupUpgradeStream(stream,state2){let{request,headersTimeout,session}=state2;stream[kHTTP2Stream]=!0,stream[kHTTP2Session]=session,stream[kRequestStreamState]=state2,state2.stream=stream,bindRequestToStream(request,stream,releaseUpgradeStream),stream.once("response",onUpgradeResponse),stream.on("error",onUpgradeStreamError),stream.once("end",onUpgradeStreamEnd),stream.on("timeout",onUpgradeStreamTimeout),stream.once("close",onUpgradeStreamClose),clearHttp2IdleTimeout(session),++session[kOpenStreams],stream.setTimeout(headersTimeout)}function finalizeRequest(state2,resetPendingIdx=!1){state2.requestFinalized||(state2.requestFinalized=!0,completeRequest(state2.client,state2.request,resetPendingIdx),state2.client[kResume]())}function openStream(client,request,session,abort,headers,options){try{return session.request(headers,options)}catch(err){if(err?.code==="ERR_HTTP2_INVALID_SESSION"||err?.code==="ERR_HTTP2_GOAWAY_SESSION"){let wrappedErr2=new SocketError(err.message,util.getSocketInfo(session[kSocket]));return wrappedErr2.cause=err,session[kError]=wrappedErr2,resetHttp2Session(session,wrappedErr2),requeueUnsentRequest(client,request),null}let wrappedErr=new InformationalError(err.message,{cause:err});return session[kError]=wrappedErr,session[kSocket][kError]=wrappedErr,session.destroy(wrappedErr),util.destroy(session[kSocket],wrappedErr),abort(wrappedErr),null}}function writeH2(client,request){let headersTimeout=request.headersTimeout??client[kHeadersTimeout],bodyTimeout=request.bodyTimeout??client[kBodyTimeout],session=client[kHTTP2Session],{method,path,host,upgrade,expectContinue,signal,protocol,headers:reqHeaders}=request;if(upgrade!=null&&upgrade!=="websocket")return util.errorRequest(client,request,new InvalidArgumentError(`Custom upgrade "${upgrade}" not supported over HTTP/2`)),!1;let headers=buildRequestHeaders(reqHeaders);headers[HTTP2_HEADER_AUTHORITY]=host||client[kHostAuthority],headers[HTTP2_HEADER_METHOD]=method;let state2={abort:null,body:request.body,client,contentLength:null,expectsPayload:!1,request,headersTimeout,bodyTimeout,requestFinalized:!1,responseReceived:!1,bodySent:!1,pendingEnd:!1,trailers:null,session,stream:null},abort=(err,resetPendingIdx=!1)=>{if(!(request.aborted||request.completed)){if(err=err||new RequestAbortedError,util.errorRequest(client,request,err),state2.stream!=null){clearRequestStream(request);let stream2=state2.stream;stream2.close(),stream2.destroyed||util.destroy(stream2),client[kOnError](err),finalizeRequest(state2,resetPendingIdx)}util.destroy(state2.body,err)}};state2.abort=abort;let stream=null;try{request.onRequestStart(abort,null)}catch(err){util.errorRequest(client,request,err)}if(request.aborted)return!1;if(upgrade||method==="CONNECT")return refH2Session(session),upgrade==="websocket"?session[kEnableConnectProtocol]===!1?(util.errorRequest(client,request,new InformationalError("HTTP/2: Extended CONNECT protocol not supported by server")),unrefH2Session(session),!1):(headers[HTTP2_HEADER_METHOD]="CONNECT",headers[HTTP2_HEADER_PROTOCOL]="websocket",headers[HTTP2_HEADER_PATH]=path,protocol==="ws:"||protocol==="wss:"?headers[HTTP2_HEADER_SCHEME]=protocol==="ws:"?"http":"https":headers[HTTP2_HEADER_SCHEME]=protocol==="http:"?"http":"https",stream=openStream(client,request,session,abort,headers,{endStream:!1,signal}),stream==null?(unrefH2Session(session),!1):(setupUpgradeStream(stream,state2),!0)):(stream=openStream(client,request,session,abort,headers,{endStream:!1,signal}),stream==null?(unrefH2Session(session),!1):(setupUpgradeStream(stream,state2),!0));headers[HTTP2_HEADER_PATH]=path,headers[HTTP2_HEADER_SCHEME]=protocol==="http:"?"http":"https";let expectsPayload=method==="PUT"||method==="POST"||method==="PATCH"||method==="QUERY"||method==="PROPFIND"||method==="PROPPATCH",body=state2.body;body&&typeof body.read=="function"&&body.read(0);let contentLength=util.bodyLength(body);if(util.isFormDataLike(body)){extractBody??=require_body().extractBody;let[bodyStream,contentType]=extractBody(body);headers["content-type"]=contentType,body=bodyStream.stream,contentLength=bodyStream.length}if(contentLength==null&&(contentLength=request.contentLength),contentLength===0&&!expectsPayload&&(contentLength=null),shouldSendContentLength(method)&&contentLength>0&&request.contentLength!=null&&request.contentLength!==contentLength){if(client[kStrictContentLength])return util.errorRequest(client,request,new RequestContentLengthMismatchError),!1;process.emitWarning(new RequestContentLengthMismatchError)}if(contentLength!=null&&(assert(body||contentLength===0,"no body must not have content length"),headers[HTTP2_HEADER_CONTENT_LENGTH]=`${contentLength}`),refH2Session(session),channels.sendHeaders.hasSubscribers){let header="";for(let key in headers)header+=`${key}: ${headers[key]}\r
40
+ `;channels.sendHeaders.publish({request,headers:header,socket:session[kSocket]})}let shouldEndStream=body===null||contentLength===0;return state2.body=body,state2.contentLength=contentLength,state2.expectsPayload=expectsPayload,expectContinue&&(headers[HTTP2_HEADER_EXPECT]="100-continue"),stream=openStream(client,request,session,abort,headers,{endStream:shouldEndStream,signal}),stream==null?!1:(stream[kHTTP2Stream]=!0,stream[kRequestStreamState]=state2,state2.stream=stream,clearHttp2IdleTimeout(session),++session[kOpenStreams],headersTimeout&&stream.setTimeout(headersTimeout),stream[kHTTP2Session]=session,stream.on("close",completeRequestStream),bindRequestToStream(request,stream,releaseRequestStream),expectContinue&&stream.once("continue",writeBodyH2),stream.on("response",onResponse),stream.on("end",onEnd),stream.on("error",onError),stream.on("frameError",onFrameError),stream.on("aborted",onAborted),(headersTimeout||bodyTimeout)&&stream.on("timeout",onTimeout),stream.on("trailers",onTrailers),expectContinue||writeBodyH2.call(stream),!0)}function removeRequestStreamListeners(stream){stream.off("error",noop),stream.off("continue",writeBodyH2),stream.off("response",onResponse),stream.off("end",onEnd),stream.off("error",onError),stream.off("frameError",onFrameError),stream.off("aborted",onAborted),stream.off("timeout",onTimeout),stream.off("trailers",onTrailers),stream.off("data",onData)}function releaseRequestStream(stream){if(stream==null)return;let state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;request[kRequestStream]===stream&&detachRequestFromStream(request),!stream.destroyed&&!stream.closed&&(removeRequestStreamListeners(stream),stream.once("error",noop))}function onData(chunk){let stream=this,state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;request.aborted||request.completed||request.onResponseData(chunk)===!1&&stream.pause()}function onResponse(headers){let stream=this,state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;stream.off("response",onResponse),state2.body!=null&&!state2.bodySent&&!stream.writableEnded&&(stream.removeListener("continue",writeBodyH2),stream.end());let statusCode=headers[HTTP2_HEADER_STATUS];if(delete headers[HTTP2_HEADER_STATUS],request.onResponseStarted(),state2.responseReceived=!0,(state2.headersTimeout||state2.bodyTimeout)&&stream.setTimeout(state2.bodyTimeout),request.aborted||request.completed){releaseRequestStream(stream);return}request.onResponseStart(Number(statusCode),headers,stream.resume.bind(stream),"")===!1&&stream.pause(),stream.on("data",onData)}function onEnd(){let stream=this,state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;stream.off("end",onEnd),state2.responseReceived?!request.aborted&&!request.completed&&(state2.pendingEnd=!0,completeRequestStream.call(stream)):state2.abort(new InformationalError("HTTP/2: stream half-closed (remote)"),!0)}function onError(err){let stream=this,state2=stream[kRequestStreamState];state2!=null&&(stream.off("error",onError),state2.abort(err))}function onFrameError(type,code){let stream=this,state2=stream[kRequestStreamState];state2!=null&&(stream.off("frameError",onFrameError),state2.abort(new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`)))}function onAborted(){this.off("data",onData)}function onTimeout(){let stream=this,state2=stream[kRequestStreamState];if(state2==null)return;stream.off("timeout",onTimeout);let err=state2.responseReceived?new BodyTimeoutError(`HTTP/2: "stream timeout after ${state2.bodyTimeout}"`):new HeadersTimeoutError(`HTTP/2: "headers timeout after ${state2.headersTimeout}"`);state2.abort(err)}function onTrailers(trailers){let stream=this,state2=stream[kRequestStreamState];if(state2==null)return;let{request}=state2;stream.off("trailers",onTrailers),stream.off("data",onData),!(request.aborted||request.completed)&&(state2.trailers=trailers)}function writeBodyH2(){let stream=this,state2=stream[kRequestStreamState];state2.bodySent=!0;let{abort,body,client,contentLength,expectsPayload,request}=state2;!body||contentLength===0?writeBuffer(abort,stream,null,client,request,client[kSocket],contentLength,expectsPayload):util.isBuffer(body)?writeBuffer(abort,stream,body,client,request,client[kSocket],contentLength,expectsPayload):util.isBlobLike(body)?typeof body.stream=="function"?writeIterable(abort,stream,body.stream(),client,request,client[kSocket],contentLength,expectsPayload):writeBlob(abort,stream,body,client,request,client[kSocket],contentLength,expectsPayload):util.isStream(body)?writeStream(abort,client[kSocket],expectsPayload,stream,body,client,request,contentLength):util.isIterable(body)?writeIterable(abort,stream,body,client,request,client[kSocket],contentLength,expectsPayload):assert(!1)}function writeBuffer(abort,h2stream,body,client,request,socket,contentLength,expectsPayload){try{body!=null&&util.isBuffer(body)&&(assert(contentLength===body.byteLength,"buffer body must have content length"),h2stream.cork(),h2stream.write(body),h2stream.uncork(),h2stream.end(),request.onBodySent(body)),expectsPayload||(socket[kReset]=!0),request.onRequestSent(),client[kResume]()}catch(error2){abort(error2)}}function writeStream(abort,socket,expectsPayload,h2stream,body,client,request,contentLength){assert(contentLength!==0||client[kRunning]===0,"stream body cannot be pipelined");let pipe=pipeline(body,h2stream,err=>{err?(util.destroy(pipe,err),abort(err)):(util.removeAllListeners(pipe),request.onRequestSent(),expectsPayload||(socket[kReset]=!0),client[kResume]())});util.addListener(pipe,"data",onPipeData);function onPipeData(chunk){request.onBodySent(chunk)}}async function writeBlob(abort,h2stream,body,client,request,socket,contentLength,expectsPayload){try{if(contentLength!=null&&contentLength!==body.size)throw new RequestContentLengthMismatchError;let buffer=Buffer.from(await body.arrayBuffer());h2stream.cork(),h2stream.write(buffer),h2stream.uncork(),h2stream.end(),request.onBodySent(buffer),request.onRequestSent(),expectsPayload||(socket[kReset]=!0),client[kResume]()}catch(err){abort(err)}}async function writeIterable(abort,h2stream,body,client,request,socket,contentLength,expectsPayload){assert(contentLength!==0||client[kRunning]===0,"iterator body cannot be pipelined");let callback=null;function onDrain(){if(callback){let cb=callback;callback=null,cb()}}let waitForDrain=()=>new Promise((resolve,reject)=>{assert(callback===null),socket[kError]?reject(socket[kError]):callback=resolve});h2stream.on("close",onDrain).on("drain",onDrain);try{for await(let chunk of body){if(socket[kError])throw socket[kError];let res=h2stream.write(chunk);request.onBodySent(chunk),res||await waitForDrain()}h2stream.end(),request.onRequestSent(),expectsPayload||(socket[kReset]=!0),client[kResume]()}catch(err){abort(err)}finally{h2stream.off("close",onDrain).off("drain",onDrain)}}module.exports=connectH2}});var require_client=__commonJS({"node_modules/undici/lib/dispatcher/client.js"(exports,module){"use strict";var assert=__require("node:assert"),net=__require("node:net"),http=__require("node:http"),util=require_util(),{ClientStats}=require_stats(),{channels}=require_diagnostics(),Request=require_request(),DispatcherBase=require_dispatcher_base(),{InvalidArgumentError,InformationalError,ClientDestroyedError}=require_errors(),buildConnector=require_connect(),{kUrl,kServerName,kClient,kBusy,kConnect,kResuming,kRunning,kPending,kSize,kQueue,kConnected,kConnecting,kNeedDrain,kKeepAliveDefaultTimeout,kHostHeader,kPendingIdx,kRunningIdx,kError,kPipelining,kKeepAliveTimeoutValue,kMaxHeadersSize,kKeepAliveMaxTimeout,kKeepAliveTimeoutThreshold,kHeadersTimeout,kBodyTimeout,kStrictContentLength,kConnector,kMaxRequests,kCounter,kClose,kDestroy,kDispatch,kLocalAddress,kMaxResponseSize,kOnError,kHTTPContext,kMaxConcurrentStreams,kHostAuthority,kHTTP2InitialWindowSize,kHTTP2ConnectionWindowSize,kResume,kPingInterval}=require_symbols(),connectH1=require_client_h1(),connectH2=require_client_h2(),kClosedResolve=Symbol("kClosedResolve"),getDefaultNodeMaxHeaderSize=http&&http.maxHeaderSize&&Number.isInteger(http.maxHeaderSize)&&http.maxHeaderSize>0?()=>http.maxHeaderSize:()=>{throw new InvalidArgumentError("http module not available or http.maxHeaderSize invalid")},noop=()=>{};function getPipelining(client){return client[kPipelining]??client[kHTTPContext]?.defaultPipelining??1}function getMaxConcurrent(client){return client[kHTTPContext]?.version==="h2"?client[kMaxConcurrentStreams]:getPipelining(client)}var Client=class extends DispatcherBase{constructor(url,{maxHeaderSize,headersTimeout,socketTimeout,requestTimeout,connectTimeout,bodyTimeout,idleTimeout,keepAlive,keepAliveTimeout,maxKeepAliveTimeout,keepAliveMaxTimeout,keepAliveTimeoutThreshold,socketPath,pipelining,tls,strictContentLength,maxCachedSessions,connect:connect2,maxRequestsPerClient,localAddress,maxResponseSize,autoSelectFamily,autoSelectFamilyAttemptTimeout,maxConcurrentStreams,allowH2,useH2c,initialWindowSize,connectionWindowSize,pingInterval,webSocket}={}){if(keepAlive!==void 0)throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");if(socketTimeout!==void 0)throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(requestTimeout!==void 0)throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(idleTimeout!==void 0)throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");if(maxKeepAliveTimeout!==void 0)throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(maxHeaderSize!=null){if(!Number.isInteger(maxHeaderSize)||maxHeaderSize<1)throw new InvalidArgumentError("invalid maxHeaderSize")}else maxHeaderSize=getDefaultNodeMaxHeaderSize();if(socketPath!=null&&typeof socketPath!="string")throw new InvalidArgumentError("invalid socketPath");if(connectTimeout!=null&&(!Number.isFinite(connectTimeout)||connectTimeout<0))throw new InvalidArgumentError("invalid connectTimeout");if(keepAliveTimeout!=null&&(!Number.isFinite(keepAliveTimeout)||keepAliveTimeout<=0))throw new InvalidArgumentError("invalid keepAliveTimeout");if(keepAliveMaxTimeout!=null&&(!Number.isFinite(keepAliveMaxTimeout)||keepAliveMaxTimeout<=0))throw new InvalidArgumentError("invalid keepAliveMaxTimeout");if(keepAliveTimeoutThreshold!=null&&!Number.isFinite(keepAliveTimeoutThreshold))throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");if(headersTimeout!=null&&(!Number.isInteger(headersTimeout)||headersTimeout<0))throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");if(bodyTimeout!=null&&(!Number.isInteger(bodyTimeout)||bodyTimeout<0))throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");if(connect2!=null&&typeof connect2!="function"&&typeof connect2!="object")throw new InvalidArgumentError("connect must be a function or an object");if(maxRequestsPerClient!=null&&(!Number.isInteger(maxRequestsPerClient)||maxRequestsPerClient<0))throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");if(localAddress!=null&&(typeof localAddress!="string"||net.isIP(localAddress)===0))throw new InvalidArgumentError("localAddress must be valid string IP address");if(maxResponseSize!=null&&(!Number.isInteger(maxResponseSize)||maxResponseSize<-1))throw new InvalidArgumentError("maxResponseSize must be a positive number");if(autoSelectFamilyAttemptTimeout!=null&&(!Number.isInteger(autoSelectFamilyAttemptTimeout)||autoSelectFamilyAttemptTimeout<-1))throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");if(allowH2!=null&&typeof allowH2!="boolean")throw new InvalidArgumentError("allowH2 must be a valid boolean value");if(maxConcurrentStreams!=null&&(typeof maxConcurrentStreams!="number"||maxConcurrentStreams<1))throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");if(useH2c!=null&&typeof useH2c!="boolean")throw new InvalidArgumentError("useH2c must be a valid boolean value");if(initialWindowSize!=null&&(!Number.isInteger(initialWindowSize)||initialWindowSize<1))throw new InvalidArgumentError("initialWindowSize must be a positive integer, greater than 0");if(connectionWindowSize!=null&&(!Number.isInteger(connectionWindowSize)||connectionWindowSize<1))throw new InvalidArgumentError("connectionWindowSize must be a positive integer, greater than 0");if(pingInterval!=null&&(typeof pingInterval!="number"||!Number.isInteger(pingInterval)||pingInterval<0))throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");if(super({webSocket}),typeof connect2!="function")connect2=buildConnector({...tls,maxCachedSessions,allowH2,useH2c,socketPath,timeout:connectTimeout,...typeof autoSelectFamily=="boolean"?{autoSelectFamily,autoSelectFamilyAttemptTimeout}:void 0,...connect2});else{let customConnect=connect2;connect2=(opts,callback)=>customConnect({...opts,...socketPath!=null?{socketPath}:null,...allowH2!=null?{allowH2}:null},callback)}this[kUrl]=util.parseOrigin(url),this[kHostAuthority]=`${this[kUrl].hostname}${this[kUrl].port?`:${this[kUrl].port}`:""}`,this[kConnector]=connect2,this[kPipelining]=pipelining??1,this[kMaxHeadersSize]=maxHeaderSize,this[kKeepAliveDefaultTimeout]=keepAliveTimeout??4e3,this[kKeepAliveMaxTimeout]=keepAliveMaxTimeout??6e5,this[kKeepAliveTimeoutThreshold]=keepAliveTimeoutThreshold??2e3,this[kKeepAliveTimeoutValue]=this[kKeepAliveDefaultTimeout],this[kServerName]=null,this[kLocalAddress]=localAddress??null,this[kResuming]=0,this[kNeedDrain]=0,this[kHostHeader]=`host: ${this[kHostAuthority]}\r
41
+ `,this[kBodyTimeout]=bodyTimeout??3e5,this[kHeadersTimeout]=headersTimeout??3e5,this[kStrictContentLength]=strictContentLength??!0,this[kMaxRequests]=maxRequestsPerClient,this[kClosedResolve]=null,this[kMaxResponseSize]=maxResponseSize>-1?maxResponseSize:-1,this[kHTTPContext]=null,this[kMaxConcurrentStreams]=maxConcurrentStreams??100,this[kHTTP2InitialWindowSize]=initialWindowSize??262144,this[kHTTP2ConnectionWindowSize]=connectionWindowSize??524288,this[kPingInterval]=pingInterval??6e4,this[kQueue]=[],this[kRunningIdx]=0,this[kPendingIdx]=0,this[kResume]=sync=>resume(this,sync),this[kOnError]=err=>onError(this,err)}get pipelining(){return this[kPipelining]}set pipelining(value){this[kPipelining]=value,this[kResume](!0)}get stats(){return new ClientStats(this)}get[kPending](){return this[kQueue].length-this[kPendingIdx]}get[kRunning](){return this[kPendingIdx]-this[kRunningIdx]}get[kSize](){return this[kQueue].length-this[kRunningIdx]}get[kConnected](){return!!this[kHTTPContext]&&!this[kConnecting]&&!this[kHTTPContext].destroyed}get[kBusy](){let allowsMux=this[kHTTPContext]?.version==="h2";return!!(this[kHTTPContext]?.busy(null)||this[kSize]>=(getMaxConcurrent(this)||1)||this[kPending]>0&&!allowsMux)}[kConnect](cb){connect(this),this.once("connect",cb)}[kDispatch](opts,handler){let request=new Request(this[kUrl].origin,opts,handler);return this[kQueue].push(request),this[kResuming]||(util.bodyLength(request.body)==null&&util.isIterable(request.body)?(this[kResuming]=1,queueMicrotask(()=>resume(this))):this[kResume](!0)),this[kResuming]&&this[kNeedDrain]!==2&&this[kBusy]&&(this[kNeedDrain]=2),this[kNeedDrain]<2}[kClose](){return new Promise(resolve=>{this[kSize]?this[kClosedResolve]=resolve:resolve(null)})}[kDestroy](err){return new Promise(resolve=>{let requests=this[kQueue].splice(this[kPendingIdx]);for(let i=0;i<requests.length;i++){let request=requests[i];request!=null&&util.errorRequest(this,request,err)}let callback=()=>{this[kClosedResolve]&&(this[kClosedResolve](),this[kClosedResolve]=null),resolve(null)};this[kHTTPContext]?(this[kHTTPContext].destroy(err,callback),this[kHTTPContext]=null):queueMicrotask(callback),this[kResume]()})}};function onError(client,err){if(client[kRunning]===0&&err.code!=="UND_ERR_INFO"&&err.code!=="UND_ERR_SOCKET"){assert(client[kPendingIdx]===client[kRunningIdx]);let requests=client[kQueue].splice(client[kRunningIdx]);for(let i=0;i<requests.length;i++){let request=requests[i];request!=null&&util.errorRequest(client,request,err)}assert(client[kSize]===0)}}function connect(client){assert(!client[kConnecting]),assert(!client[kHTTPContext]);let{host,hostname,protocol,port}=client[kUrl];if(hostname[0]==="["){let idx=hostname.indexOf("]");assert(idx!==-1);let ip=hostname.substring(1,idx);assert(net.isIPv6(ip)),hostname=ip}client[kConnecting]=!0,channels.beforeConnect.hasSubscribers&&channels.beforeConnect.publish({connectParams:{host,hostname,protocol,port,version:client[kHTTPContext]?.version,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector]});try{client[kConnector]({host,hostname,protocol,port,servername:client[kServerName],localAddress:client[kLocalAddress]},(err,socket)=>{if(err){handleConnectError(client,err,{host,hostname,protocol,port}),client[kResume]();return}if(client.destroyed){util.destroy(socket.on("error",noop),new ClientDestroyedError),client[kResume]();return}assert(socket);try{client[kHTTPContext]=socket.alpnProtocol==="h2"?connectH2(client,socket):connectH1(client,socket)}catch(err2){socket.destroy().on("error",noop),handleConnectError(client,err2,{host,hostname,protocol,port}),client[kResume]();return}client[kConnecting]=!1,socket[kCounter]=0,socket[kMaxRequests]=client[kMaxRequests],socket[kClient]=client,socket[kError]=null,channels.connected.hasSubscribers&&channels.connected.publish({connectParams:{host,hostname,protocol,port,version:client[kHTTPContext]?.version,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector],socket}),client.emit("connect",client[kUrl],[client]),client[kResume]()})}catch(err){handleConnectError(client,err,{host,hostname,protocol,port}),client[kResume]()}}function handleConnectError(client,err,{host,hostname,protocol,port}){if(!client.destroyed){if(client[kConnecting]=!1,channels.connectError.hasSubscribers&&channels.connectError.publish({connectParams:{host,hostname,protocol,port,version:client[kHTTPContext]?.version,servername:client[kServerName],localAddress:client[kLocalAddress]},connector:client[kConnector],error:err}),err.code==="ERR_TLS_CERT_ALTNAME_INVALID"){let running=client[kQueue].splice(client[kRunningIdx],client[kRunning]);client[kPendingIdx]=client[kRunningIdx];for(let i=0;i<running.length;i++)util.errorRequest(client,running[i],err);for(;client[kPending]>0&&client[kQueue][client[kPendingIdx]].servername===client[kServerName];){let request=client[kQueue].splice(client[kPendingIdx],1)[0];util.errorRequest(client,request,err)}}else onError(client,err);client.emit("connectionError",client[kUrl],[client],err)}}function emitDrain(client){client[kNeedDrain]=0,client.emit("drain",client[kUrl],[client])}function resume(client,sync){client[kResuming]!==2&&(client[kResuming]=2,_resume(client,sync),client[kResuming]=0,client[kRunningIdx]>256&&(client[kQueue].splice(0,client[kRunningIdx]),client[kPendingIdx]-=client[kRunningIdx],client[kRunningIdx]=0))}function _resume(client,sync){for(;;){if(client.destroyed){assert(client[kPending]===0);return}if(client[kClosedResolve]&&!client[kSize]){client[kClosedResolve](),client[kClosedResolve]=null;return}if(client[kHTTPContext]&&client[kHTTPContext].resume(),client[kBusy])client[kNeedDrain]=2;else if(client[kNeedDrain]===2){sync?(client[kNeedDrain]=1,queueMicrotask(()=>emitDrain(client))):emitDrain(client);continue}if(client[kPending]===0||client[kRunning]>=(getMaxConcurrent(client)||1))return;let request=client[kQueue][client[kPendingIdx]];if(request===null)return;if(client[kUrl].protocol==="https:"&&client[kServerName]!==request.servername){if(client[kRunning]>0)return;client[kServerName]=request.servername,client[kHTTPContext]?.destroy(new InformationalError("servername changed"),()=>{client[kHTTPContext]=null,resume(client)})}if(client[kConnecting])return;if(!client[kHTTPContext]){connect(client);return}if(client[kHTTPContext].destroyed||client[kHTTPContext].busy(request))return;!request.aborted&&client[kHTTPContext].write(request)?client[kPendingIdx]++:client[kQueue].splice(client[kPendingIdx],1)}}module.exports=Client}});var require_fixed_queue=__commonJS({"node_modules/undici/lib/dispatcher/fixed-queue.js"(exports,module){"use strict";var FixedCircularBuffer=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(data){this.list[this.top]=data,this.top=this.top+1&2047}shift(){let nextItem=this.list[this.bottom];return nextItem===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,nextItem)}};module.exports=class{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(data){this.head.isFull()&&(this.head=this.head.next=new FixedCircularBuffer),this.head.push(data)}shift(){let tail=this.tail,next=tail.shift();return tail.isEmpty()&&tail.next!==null&&(this.tail=tail.next,tail.next=null),next}}}});var require_pool_base=__commonJS({"node_modules/undici/lib/dispatcher/pool-base.js"(exports,module){"use strict";var{PoolStats}=require_stats(),DispatcherBase=require_dispatcher_base(),FixedQueue=require_fixed_queue(),{kConnected,kSize,kRunning,kPending,kQueued,kBusy,kFree,kUrl,kClose,kDestroy,kDispatch}=require_symbols(),kClients=Symbol("clients"),kNeedDrain=Symbol("needDrain"),kQueue=Symbol("queue"),kClosedResolve=Symbol("closed resolve"),kOnDrain=Symbol("onDrain"),kOnConnect=Symbol("onConnect"),kOnDisconnect=Symbol("onDisconnect"),kOnConnectionError=Symbol("onConnectionError"),kGetDispatcher=Symbol("get dispatcher"),kHasDispatcher=Symbol("has dispatcher"),kAddClient=Symbol("add client"),kRemoveClient=Symbol("remove client"),PoolBase=class extends DispatcherBase{[kQueue]=new FixedQueue;[kQueued]=0;[kClients]=[];[kNeedDrain]=!1;[kOnDrain](client,origin,targets){let queue=this[kQueue],needDrain=!1;for(;!needDrain;){let item=queue.shift();if(!item)break;this[kQueued]--,needDrain=!client.dispatch(item.opts,item.handler)}if(client[kNeedDrain]=needDrain,!needDrain&&this[kNeedDrain]&&(this[kNeedDrain]=!1,this.emit("drain",origin,[this,...targets])),this[kClosedResolve]&&queue.isEmpty()){let closeAll=[];for(let i=0;i<this[kClients].length;i++){let client2=this[kClients][i];client2.destroyed||closeAll.push(client2.close())}return Promise.all(closeAll).then(this[kClosedResolve])}}[kOnConnect]=(origin,targets)=>{this.emit("connect",origin,[this,...targets])};[kOnDisconnect]=(origin,targets,err)=>{this.emit("disconnect",origin,[this,...targets],err)};[kOnConnectionError]=(origin,targets,err)=>{this.emit("connectionError",origin,[this,...targets],err)};get[kBusy](){return this[kNeedDrain]}get[kConnected](){let ret=0;for(let{[kConnected]:connected}of this[kClients])ret+=connected;return ret}get[kFree](){let ret=0;for(let{[kConnected]:connected,[kNeedDrain]:needDrain}of this[kClients])ret+=connected&&!needDrain;return ret}get[kPending](){let ret=this[kQueued];for(let{[kPending]:pending}of this[kClients])ret+=pending;return ret}get[kRunning](){let ret=0;for(let{[kRunning]:running}of this[kClients])ret+=running;return ret}get[kSize](){let ret=this[kQueued];for(let{[kSize]:size}of this[kClients])ret+=size;return ret}get stats(){return new PoolStats(this)}[kClose](){if(this[kQueue].isEmpty()){let closeAll=[];for(let i=0;i<this[kClients].length;i++){let client=this[kClients][i];client.destroyed||closeAll.push(client.close())}return Promise.all(closeAll)}else return new Promise(resolve=>{this[kClosedResolve]=resolve})}[kDestroy](err){for(;;){let item=this[kQueue].shift();if(!item)break;item.handler.onResponseError(null,err)}let destroyAll=new Array(this[kClients].length);for(let i=0;i<this[kClients].length;i++)destroyAll[i]=this[kClients][i].destroy(err);return Promise.all(destroyAll)}[kDispatch](opts,handler){let dispatcher=this[kGetDispatcher]();return dispatcher?dispatcher.dispatch(opts,handler)||(dispatcher[kNeedDrain]=!0,this[kNeedDrain]=!this[kHasDispatcher]()):(this[kNeedDrain]=!0,this[kQueue].push({opts,handler}),this[kQueued]++),!this[kNeedDrain]}[kHasDispatcher](){for(let i=0;i<this[kClients].length;i++){let dispatcher=this[kClients][i];if(!dispatcher[kNeedDrain]&&dispatcher.closed!==!0&&dispatcher.destroyed!==!0)return!0}return!1}[kAddClient](client){return client.on("drain",this[kOnDrain].bind(this,client)).on("connect",this[kOnConnect]).on("disconnect",this[kOnDisconnect]).on("connectionError",this[kOnConnectionError]),this[kClients].push(client),this[kNeedDrain]&&queueMicrotask(()=>{this[kNeedDrain]&&this[kOnDrain](client,client[kUrl],[client,this])}),this}[kRemoveClient](client){let idx=this[kClients].indexOf(client);idx!==-1&&this[kClients].splice(idx,1),client.close(()=>{}),this[kNeedDrain]=!this[kClients].some(dispatcher=>!dispatcher[kNeedDrain]&&dispatcher.closed!==!0&&dispatcher.destroyed!==!0)}};module.exports={PoolBase,kClients,kNeedDrain,kAddClient,kRemoveClient,kGetDispatcher,kHasDispatcher}}});var require_pool=__commonJS({"node_modules/undici/lib/dispatcher/pool.js"(exports,module){"use strict";var{PoolBase,kClients,kNeedDrain,kAddClient,kGetDispatcher,kHasDispatcher,kRemoveClient}=require_pool_base(),Client=require_client(),{InvalidArgumentError}=require_errors(),util=require_util(),{kUrl}=require_symbols(),buildConnector=require_connect(),kOptions=Symbol("options"),kConnections=Symbol("connections"),kFactory=Symbol("factory");function defaultFactory(origin,opts){return new Client(origin,opts)}var Pool=class extends PoolBase{constructor(origin,{connections,factory=defaultFactory,connect,connectTimeout,tls,maxCachedSessions,socketPath,autoSelectFamily,autoSelectFamilyAttemptTimeout,allowH2,useH2c,clientTtl,...options}={}){if(connections!=null&&(!Number.isFinite(connections)||connections<0))throw new InvalidArgumentError("invalid connections");if(typeof factory!="function")throw new InvalidArgumentError("factory must be a function.");if(connect!=null&&typeof connect!="function"&&typeof connect!="object")throw new InvalidArgumentError("connect must be a function or an object");typeof connect!="function"&&(connect=buildConnector({...tls,maxCachedSessions,allowH2,useH2c,socketPath,timeout:connectTimeout,...typeof autoSelectFamily=="boolean"?{autoSelectFamily,autoSelectFamilyAttemptTimeout}:void 0,...connect})),super(options),this[kConnections]=connections||null,this[kUrl]=util.parseOrigin(origin),this[kOptions]={...util.deepClone(options),connect,allowH2,useH2c,clientTtl,socketPath},this[kFactory]=factory,this.on("connect",(origin2,targets)=>{if(clientTtl!=null&&clientTtl>0)for(let target of targets)Object.assign(target,{ttl:Date.now()})}),this.on("connectionError",(origin2,targets,error2)=>{for(let target of targets){let idx=this[kClients].indexOf(target);idx!==-1&&this[kClients].splice(idx,1)}})}[kGetDispatcher](){let clientTtlOption=this[kOptions].clientTtl;for(let i=0;i<this[kClients].length;i++){let client=this[kClients][i];if(clientTtlOption!=null&&clientTtlOption>0&&client.ttl&&Date.now()-client.ttl>clientTtlOption)this[kRemoveClient](client),i--;else if(!client[kNeedDrain])return client}if(!this[kConnections]||this[kClients].length<this[kConnections]){let dispatcher=this[kFactory](this[kUrl],this[kOptions]);return this[kAddClient](dispatcher),dispatcher}}[kHasDispatcher](){let clientTtlOption=this[kOptions].clientTtl;for(let i=0;i<this[kClients].length;i++){let client=this[kClients][i];if(clientTtlOption!=null&&clientTtlOption>0&&client.ttl&&Date.now()-client.ttl>clientTtlOption)this[kRemoveClient](client),i--;else if(!client[kNeedDrain])return!0}if(!this[kConnections]||this[kClients].length<this[kConnections]){let dispatcher=this[kFactory](this[kUrl],this[kOptions]);return this[kAddClient](dispatcher),!0}return!1}};module.exports=Pool}});var require_balanced_pool=__commonJS({"node_modules/undici/lib/dispatcher/balanced-pool.js"(exports,module){"use strict";var{BalancedPoolMissingUpstreamError,InvalidArgumentError}=require_errors(),{PoolBase,kClients,kNeedDrain,kAddClient,kRemoveClient,kGetDispatcher}=require_pool_base(),Pool=require_pool(),{kUrl}=require_symbols(),util=require_util(),kFactory=Symbol("factory"),kOptions=Symbol("options"),kGreatestCommonDivisor=Symbol("kGreatestCommonDivisor"),kCurrentWeight=Symbol("kCurrentWeight"),kIndex=Symbol("kIndex"),kWeight=Symbol("kWeight"),kMaxWeightPerServer=Symbol("kMaxWeightPerServer"),kErrorPenalty=Symbol("kErrorPenalty");function getGreatestCommonDivisor(a,b){if(a===0)return b;for(;b!==0;){let t=b;b=a%b,a=t}return a}function defaultFactory(origin,opts){return new Pool(origin,opts)}var BalancedPool=class extends PoolBase{constructor(upstreams=[],{factory=defaultFactory,...opts}={}){if(typeof factory!="function")throw new InvalidArgumentError("factory must be a function.");super(),this[kOptions]={...util.deepClone(opts)},this[kIndex]=-1,this[kCurrentWeight]=0,this[kMaxWeightPerServer]=this[kOptions].maxWeightPerServer||100,this[kErrorPenalty]=this[kOptions].errorPenalty||15,Array.isArray(upstreams)||(upstreams=[upstreams]),this[kFactory]=factory;for(let upstream of upstreams)this.addUpstream(upstream);this._updateBalancedPoolStats()}addUpstream(upstream){let upstreamOrigin=util.parseOrigin(upstream).origin;if(this[kClients].find(pool2=>pool2[kUrl].origin===upstreamOrigin&&pool2.closed!==!0&&pool2.destroyed!==!0))return this;let pool=this[kFactory](upstreamOrigin,this[kOptions]);this[kAddClient](pool),pool.on("connect",()=>{pool[kWeight]=Math.min(this[kMaxWeightPerServer],pool[kWeight]+this[kErrorPenalty])}),pool.on("connectionError",()=>{pool[kWeight]=Math.max(1,pool[kWeight]-this[kErrorPenalty]),this._updateBalancedPoolStats()}),pool.on("disconnect",(...args)=>{let err=args[2];err&&err.code==="UND_ERR_SOCKET"&&(pool[kWeight]=Math.max(1,pool[kWeight]-this[kErrorPenalty]),this._updateBalancedPoolStats())});for(let client of this[kClients])client[kWeight]=this[kMaxWeightPerServer];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let result=0;for(let i=0;i<this[kClients].length;i++)result=getGreatestCommonDivisor(this[kClients][i][kWeight],result);this[kGreatestCommonDivisor]=result}removeUpstream(upstream){let upstreamOrigin=util.parseOrigin(upstream).origin,pool=this[kClients].find(pool2=>pool2[kUrl].origin===upstreamOrigin&&pool2.closed!==!0&&pool2.destroyed!==!0);return pool&&this[kRemoveClient](pool),this}getUpstream(upstream){let upstreamOrigin=util.parseOrigin(upstream).origin;return this[kClients].find(pool=>pool[kUrl].origin===upstreamOrigin&&pool.closed!==!0&&pool.destroyed!==!0)}get upstreams(){return this[kClients].filter(dispatcher=>dispatcher.closed!==!0&&dispatcher.destroyed!==!0).map(p=>p[kUrl].origin)}[kGetDispatcher](){if(this[kClients].length===0)throw new BalancedPoolMissingUpstreamError;let counter=0,maxWeightIndex=-1;for(;counter++<this[kClients].length;){this[kIndex]=(this[kIndex]+1)%this[kClients].length;let pool=this[kClients][this[kIndex]];if(this[kIndex]===0&&(this[kCurrentWeight]=this[kCurrentWeight]-this[kGreatestCommonDivisor],this[kCurrentWeight]<=0&&(this[kCurrentWeight]=this[kMaxWeightPerServer])),!(pool[kNeedDrain]||pool.closed===!0||pool.destroyed===!0)&&((maxWeightIndex===-1||pool[kWeight]>this[kClients][maxWeightIndex][kWeight])&&(maxWeightIndex=this[kIndex]),pool[kWeight]>=this[kCurrentWeight]))return pool}if(maxWeightIndex!==-1)return this[kCurrentWeight]=this[kClients][maxWeightIndex][kWeight],this[kIndex]=maxWeightIndex,this[kClients][maxWeightIndex]}};module.exports=BalancedPool}});var require_round_robin_pool=__commonJS({"node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports,module){"use strict";var{PoolBase,kClients,kNeedDrain,kAddClient,kGetDispatcher,kHasDispatcher,kRemoveClient}=require_pool_base(),Client=require_client(),{InvalidArgumentError}=require_errors(),util=require_util(),{kUrl}=require_symbols(),buildConnector=require_connect(),kOptions=Symbol("options"),kConnections=Symbol("connections"),kFactory=Symbol("factory"),kIndex=Symbol("index");function defaultFactory(origin,opts){return new Client(origin,opts)}var RoundRobinPool=class extends PoolBase{constructor(origin,{connections,factory=defaultFactory,connect,connectTimeout,tls,maxCachedSessions,socketPath,autoSelectFamily,autoSelectFamilyAttemptTimeout,allowH2,clientTtl,...options}={}){if(connections!=null&&(!Number.isFinite(connections)||connections<0))throw new InvalidArgumentError("invalid connections");if(typeof factory!="function")throw new InvalidArgumentError("factory must be a function.");if(connect!=null&&typeof connect!="function"&&typeof connect!="object")throw new InvalidArgumentError("connect must be a function or an object");typeof connect!="function"&&(connect=buildConnector({...tls,maxCachedSessions,allowH2,socketPath,timeout:connectTimeout,...typeof autoSelectFamily=="boolean"?{autoSelectFamily,autoSelectFamilyAttemptTimeout}:void 0,...connect})),super(),this[kConnections]=connections||null,this[kUrl]=util.parseOrigin(origin),this[kOptions]={...util.deepClone(options),connect,allowH2,clientTtl,socketPath},this[kFactory]=factory,this[kIndex]=-1,this.on("connect",(origin2,targets)=>{if(clientTtl!=null&&clientTtl>0)for(let target of targets)Object.assign(target,{ttl:Date.now()})}),this.on("connectionError",(origin2,targets,error2)=>{for(let target of targets){let idx=this[kClients].indexOf(target);idx!==-1&&this[kClients].splice(idx,1)}})}[kGetDispatcher](){let clientTtlOption=this[kOptions].clientTtl;if(this[kClients].length===0){let dispatcher=this[kFactory](this[kUrl],this[kOptions]);return this[kAddClient](dispatcher),dispatcher}let checked=0;for(;checked<this[kClients].length;){this[kIndex]=(this[kIndex]+1)%this[kClients].length;let client=this[kClients][this[kIndex]];if(clientTtlOption!=null&&clientTtlOption>0&&client.ttl&&Date.now()-client.ttl>clientTtlOption){this[kRemoveClient](client),this[kIndex]--;continue}if(!client[kNeedDrain])return client;checked++}if(!this[kConnections]||this[kClients].length<this[kConnections]){let dispatcher=this[kFactory](this[kUrl],this[kOptions]);return this[kAddClient](dispatcher),dispatcher}}[kHasDispatcher](){let clientTtlOption=this[kOptions].clientTtl;for(let i=0;i<this[kClients].length;i++){let client=this[kClients][i];if(clientTtlOption!=null&&clientTtlOption>0&&client.ttl&&Date.now()-client.ttl>clientTtlOption)this[kRemoveClient](client),i<=this[kIndex]&&this[kIndex]--,i--;else if(!client[kNeedDrain])return!0}if(!this[kConnections]||this[kClients].length<this[kConnections]){let dispatcher=this[kFactory](this[kUrl],this[kOptions]);return this[kAddClient](dispatcher),!0}return!1}};module.exports=RoundRobinPool}});var require_agent=__commonJS({"node_modules/undici/lib/dispatcher/agent.js"(exports,module){"use strict";var{InvalidArgumentError,MaxOriginsReachedError}=require_errors(),{kBusy,kClients,kConnected,kRunning,kClose,kDestroy,kDispatch,kUrl}=require_symbols(),DispatcherBase=require_dispatcher_base(),Pool=require_pool(),Client=require_client(),util=require_util(),kOnConnect=Symbol("onConnect"),kOnDisconnect=Symbol("onDisconnect"),kOnConnectionError=Symbol("onConnectionError"),kOnDrain=Symbol("onDrain"),kFactory=Symbol("factory"),kOptions=Symbol("options"),kOrigins=Symbol("origins");function defaultFactory(origin,opts){return opts&&opts.connections===1?new Client(origin,opts):new Pool(origin,opts)}var Agent=class extends DispatcherBase{constructor({factory=defaultFactory,maxOrigins=1/0,connect,...options}={}){if(typeof factory!="function")throw new InvalidArgumentError("factory must be a function.");if(connect!=null&&typeof connect!="function"&&typeof connect!="object")throw new InvalidArgumentError("connect must be a function or an object");if(typeof maxOrigins!="number"||Number.isNaN(maxOrigins)||maxOrigins<=0)throw new InvalidArgumentError("maxOrigins must be a number greater than 0");super(options),connect&&typeof connect!="function"&&(connect={...connect}),this[kOptions]={...util.deepClone(options),maxOrigins,connect},this[kFactory]=factory,this[kClients]=new Map,this[kOrigins]=new Set,this[kOnDrain]=(origin,targets)=>{this.emit("drain",origin,[this,...targets])},this[kOnConnect]=(origin,targets)=>{this.emit("connect",origin,[this,...targets])},this[kOnDisconnect]=(origin,targets,err)=>{this.emit("disconnect",origin,[this,...targets],err)},this[kOnConnectionError]=(origin,targets,err)=>{this.emit("connectionError",origin,[this,...targets],err)}}get[kRunning](){let ret=0;for(let dispatcher of this[kClients].values())ret+=dispatcher[kRunning];return ret}[kDispatch](opts,handler){let origin;if(opts.origin&&(typeof opts.origin=="string"||opts.origin instanceof URL))origin=String(opts.origin);else throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");let allowH2=opts.allowH2??this[kOptions].allowH2,key=allowH2===!1?`${origin}#http1-only`:origin;if(this[kOrigins].size>=this[kOptions].maxOrigins&&!this[kOrigins].has(origin))throw new MaxOriginsReachedError;let dispatcher=this[kClients].get(key);if(!dispatcher){dispatcher=this[kFactory](opts.origin,allowH2===!1?{...this[kOptions],allowH2:!1}:this[kOptions]);let closeClientIfUnused=()=>{if(this[kClients].get(key)!==dispatcher||dispatcher[kConnected]>0||dispatcher[kBusy])return;this[kClients].delete(key),dispatcher.destroyed||dispatcher.close();let hasOrigin=!1;for(let k of this[kClients].keys())if(k===origin||k===`${origin}#http1-only`){hasOrigin=!0;break}hasOrigin||this[kOrigins].delete(origin)};dispatcher.on("drain",this[kOnDrain]).on("connect",this[kOnConnect]).on("disconnect",(origin2,targets,err)=>{closeClientIfUnused(),this[kOnDisconnect](origin2,targets,err)}).on("connectionError",(origin2,targets,err)=>{closeClientIfUnused(),this[kOnConnectionError](origin2,targets,err)}),this[kClients].set(key,dispatcher),this[kOrigins].add(origin)}return dispatcher.dispatch(opts,handler)}[kClose](){let closePromises=[];for(let dispatcher of this[kClients].values())closePromises.push(dispatcher.close());return this[kClients].clear(),Promise.all(closePromises)}[kDestroy](err){let destroyPromises=[];for(let dispatcher of this[kClients].values())destroyPromises.push(dispatcher.destroy(err));return this[kClients].clear(),Promise.all(destroyPromises)}get stats(){let allClientStats={};for(let dispatcher of this[kClients].values())dispatcher.stats&&(allClientStats[dispatcher[kUrl].origin]=dispatcher.stats);return allClientStats}};module.exports=Agent}});var require_dispatcher1_wrapper=__commonJS({"node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js"(exports,module){"use strict";var Dispatcher=require_dispatcher(),{InvalidArgumentError}=require_errors(),{toRawHeaders}=require_util(),LegacyHandlerWrapper=class{#handler;constructor(handler){this.#handler=handler}onRequestStart(controller,context){this.#handler.onConnect?.(reason=>controller.abort(reason),context)}onRequestUpgrade(controller,statusCode,headers,socket){let rawHeaders=controller?.rawHeaders??toRawHeaders(headers??{});this.#handler.onUpgrade?.(statusCode,rawHeaders,socket)}onResponseStart(controller,statusCode,headers,statusMessage){let rawHeaders=controller?.rawHeaders??toRawHeaders(headers??{});this.#handler.onHeaders?.(statusCode,rawHeaders,()=>controller.resume(),statusMessage)===!1&&controller.pause()}onResponseData(controller,chunk){this.#handler.onData?.(chunk)===!1&&controller.pause()}onResponseEnd(controller,trailers){let rawTrailers=controller?.rawTrailers??toRawHeaders(trailers??{});this.#handler.onComplete?.(rawTrailers)}onResponseError(_controller,err){if(!this.#handler.onError)throw err;this.#handler.onError(err)}onBodySent(chunk){this.#handler.onBodySent?.(chunk)}onRequestSent(){this.#handler.onRequestSent?.()}onResponseStarted(){this.#handler.onResponseStarted?.()}},Dispatcher1Wrapper=class _Dispatcher1Wrapper extends Dispatcher{#dispatcher;constructor(dispatcher){if(super(),!dispatcher||typeof dispatcher.dispatch!="function")throw new InvalidArgumentError("Argument dispatcher must implement dispatch");this.#dispatcher=dispatcher}static wrapHandler(handler){if(!handler||typeof handler!="object")throw new InvalidArgumentError("handler must be an object");return typeof handler.onRequestStart=="function"?handler:new LegacyHandlerWrapper(handler)}dispatch(opts,handler){return opts.allowH2!==!1&&(opts={...opts,allowH2:!1}),this.#dispatcher.dispatch(opts,_Dispatcher1Wrapper.wrapHandler(handler))}close(...args){return this.#dispatcher.close(...args)}destroy(...args){return this.#dispatcher.destroy(...args)}};module.exports=Dispatcher1Wrapper}});var require_socks5_utils=__commonJS({"node_modules/undici/lib/core/socks5-utils.js"(exports,module){"use strict";var{Buffer:Buffer2}=__require("node:buffer"),net=__require("node:net"),{InvalidArgumentError}=require_errors();function parseAddress(address){if(net.isIPv4(address)){let parts=address.split(".").map(Number);return{type:1,buffer:Buffer2.from(parts)}}if(net.isIPv6(address))return{type:4,buffer:parseIPv6(address)};let domainBuffer=Buffer2.from(address,"utf8");if(domainBuffer.length>255)throw new InvalidArgumentError("Domain name too long (max 255 bytes)");return{type:3,buffer:Buffer2.concat([Buffer2.from([domainBuffer.length]),domainBuffer])}}function parseIPv6(address){let buffer=Buffer2.alloc(16),normalizedAddress=address;if(address.includes(".")){let lastColonIndex=address.lastIndexOf(":"),ipv4Part=address.slice(lastColonIndex+1);if(net.isIPv4(ipv4Part)){let octets=ipv4Part.split(".").map(Number),high=(octets[0]<<8|octets[1]).toString(16),low=(octets[2]<<8|octets[3]).toString(16);normalizedAddress=`${address.slice(0,lastColonIndex)}:${high}:${low}`}}let doubleColonIndex=normalizedAddress.indexOf("::");if(doubleColonIndex!==-1){let before=normalizedAddress.slice(0,doubleColonIndex),after=normalizedAddress.slice(doubleColonIndex+2),beforeParts=before===""?[]:before.split(":"),afterParts=after===""?[]:after.split(":"),bufferIndex=0;for(let part of beforeParts)buffer.writeUInt16BE(parseInt(part,16),bufferIndex),bufferIndex+=2;bufferIndex=16-afterParts.length*2;for(let part of afterParts)buffer.writeUInt16BE(parseInt(part,16),bufferIndex),bufferIndex+=2}else{let parts=normalizedAddress.split(":");for(let i=0;i<parts.length;i++)buffer.writeUInt16BE(parseInt(parts[i],16),i*2)}return buffer}function buildAddressBuffer(type,addressBuffer,port){let portBuffer=Buffer2.allocUnsafe(2);return portBuffer.writeUInt16BE(port,0),Buffer2.concat([Buffer2.from([type]),addressBuffer,portBuffer])}function parseResponseAddress(buffer,offset=0){if(buffer.length<offset+1)throw new InvalidArgumentError("Buffer too small to contain address type");let addressType=buffer[offset],address,currentOffset=offset+1;switch(addressType){case 1:{if(buffer.length<currentOffset+6)throw new InvalidArgumentError("Buffer too small for IPv4 address");address=Array.from(buffer.subarray(currentOffset,currentOffset+4)).join("."),currentOffset+=4;break}case 3:{if(buffer.length<currentOffset+1)throw new InvalidArgumentError("Buffer too small for domain length");let domainLength=buffer[currentOffset];if(currentOffset+=1,buffer.length<currentOffset+domainLength+2)throw new InvalidArgumentError("Buffer too small for domain address");address=buffer.subarray(currentOffset,currentOffset+domainLength).toString("utf8"),currentOffset+=domainLength;break}case 4:{if(buffer.length<currentOffset+18)throw new InvalidArgumentError("Buffer too small for IPv6 address");let parts=[];for(let i=0;i<8;i++){let value=buffer.readUInt16BE(currentOffset+i*2);parts.push(value.toString(16))}address=parts.join(":"),currentOffset+=16;break}default:throw new InvalidArgumentError(`Invalid address type: ${addressType}`)}if(buffer.length<currentOffset+2)throw new InvalidArgumentError("Buffer too small for port");let port=buffer.readUInt16BE(currentOffset);return currentOffset+=2,{address,port,bytesRead:currentOffset-offset}}function createReplyError(replyCode){let message={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[replyCode]||`Unknown SOCKS5 error code: ${replyCode}`,error2=new Error(message);return error2.code=`SOCKS5_${replyCode}`,error2}module.exports={parseAddress,parseIPv6,buildAddressBuffer,parseResponseAddress,createReplyError}}});var require_socks5_client=__commonJS({"node_modules/undici/lib/core/socks5-client.js"(exports,module){"use strict";var{EventEmitter}=__require("node:events"),{Buffer:Buffer2}=__require("node:buffer"),{InvalidArgumentError,Socks5ProxyError}=require_errors(),{debuglog}=__require("node:util"),{parseAddress}=require_socks5_utils(),debug=debuglog("undici:socks5"),EMPTY_BUFFER=Buffer2.alloc(0),SOCKS_VERSION=5,AUTH_METHODS={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},COMMANDS={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},ADDRESS_TYPES={IPV4:1,DOMAIN:3,IPV6:4},REPLY_CODES={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},STATES={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"},Socks5Client=class extends EventEmitter{constructor(socket,options={}){if(super(),!socket)throw new InvalidArgumentError("socket is required");this.socket=socket,this.options=options,this.state=STATES.INITIAL,this.buffer=EMPTY_BUFFER,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],options.username&&options.password&&this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD),this.authMethods.push(AUTH_METHODS.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(data){debug("received data",data.length,"bytes in state",this.state),this.buffer=Buffer2.concat([this.buffer,data]);try{switch(this.state){case STATES.HANDSHAKING:this.handleHandshakeResponse();break;case STATES.AUTHENTICATING:this.handleAuthResponse();break;case STATES.CONNECTING:this.handleConnectResponse();break}}catch(err){this.onError(err)}}onError(err){debug("socket error",err),this.state=STATES.ERROR,this.emit("error",err),this.destroy()}onClose(){debug("socket closed"),this.state=STATES.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=STATES.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==STATES.INITIAL)throw new InvalidArgumentError("Handshake already started");debug("starting handshake with",this.authMethods.length,"auth methods"),this.state=STATES.HANDSHAKING;let request=Buffer2.alloc(2+this.authMethods.length);request[0]=SOCKS_VERSION,request[1]=this.authMethods.length,this.authMethods.forEach((method,i)=>{request[2+i]=method}),this.socket.write(request)}handleHandshakeResponse(){if(this.buffer.length<2)return;let version=this.buffer[0],method=this.buffer[1];if(version!==SOCKS_VERSION)throw new Socks5ProxyError(`Invalid SOCKS version: ${version}`,"UND_ERR_SOCKS5_VERSION");if(method===AUTH_METHODS.NO_ACCEPTABLE)throw new Socks5ProxyError("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),debug("server selected auth method",method),method===AUTH_METHODS.NO_AUTH)this.markAuthenticated();else if(method===AUTH_METHODS.USERNAME_PASSWORD)this.state=STATES.AUTHENTICATING,this.sendAuthRequest();else throw new Socks5ProxyError(`Unsupported authentication method: ${method}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username,password}=this.options;if(!username||!password)throw new InvalidArgumentError("Username and password required for authentication");debug("sending username/password auth");let usernameBuffer=Buffer2.from(username),passwordBuffer=Buffer2.from(password);if(usernameBuffer.length>255||passwordBuffer.length>255)throw new InvalidArgumentError("Username or password too long");let request=Buffer2.alloc(3+usernameBuffer.length+passwordBuffer.length);request[0]=1,request[1]=usernameBuffer.length,usernameBuffer.copy(request,2),request[2+usernameBuffer.length]=passwordBuffer.length,passwordBuffer.copy(request,3+usernameBuffer.length),this.socket.write(request)}handleAuthResponse(){if(this.buffer.length<2)return;let version=this.buffer[0],status2=this.buffer[1];if(version!==1)throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(status2!==0)throw new Socks5ProxyError("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),debug("authentication successful"),this.markAuthenticated()}connect(address,port){if(this.state===STATES.CONNECTING||this.state===STATES.CONNECTED)throw new InvalidArgumentError("Connection already in progress");if(this.state!==STATES.AUTHENTICATED)throw new InvalidArgumentError("Client must be authenticated before CONNECT");debug("connecting to",address,port),this.state=STATES.CONNECTING;let request=this.buildConnectRequest(COMMANDS.CONNECT,address,port);this.socket.write(request)}buildConnectRequest(command,address,port){let{type:addressType,buffer:addressBuffer}=parseAddress(address),request=Buffer2.alloc(4+addressBuffer.length+2);return request[0]=SOCKS_VERSION,request[1]=command,request[2]=0,request[3]=addressType,addressBuffer.copy(request,4),request.writeUInt16BE(port,4+addressBuffer.length),request}handleConnectResponse(){if(this.buffer.length<4)return;let version=this.buffer[0],reply=this.buffer[1],addressType=this.buffer[3];if(version!==SOCKS_VERSION)throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version}`,"UND_ERR_SOCKS5_REPLY_VERSION");let responseLength=4;if(addressType===ADDRESS_TYPES.IPV4)responseLength+=6;else if(addressType===ADDRESS_TYPES.DOMAIN){if(this.buffer.length<5)return;responseLength+=1+this.buffer[4]+2}else if(addressType===ADDRESS_TYPES.IPV6)responseLength+=18;else throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<responseLength)return;if(reply!==REPLY_CODES.SUCCEEDED){let errorMessage=this.getReplyErrorMessage(reply);throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`,`UND_ERR_SOCKS5_REPLY_${reply}`)}let boundAddress,offset=4;if(addressType===ADDRESS_TYPES.IPV4)boundAddress=Array.from(this.buffer.subarray(offset,offset+4)).join("."),offset+=4;else if(addressType===ADDRESS_TYPES.DOMAIN){let domainLength=this.buffer[offset];offset+=1,boundAddress=this.buffer.subarray(offset,offset+domainLength).toString(),offset+=domainLength}else if(addressType===ADDRESS_TYPES.IPV6){let parts=[];for(let i=0;i<8;i++){let value=this.buffer.readUInt16BE(offset+i*2);parts.push(value.toString(16))}boundAddress=parts.join(":"),offset+=16}let boundPort=this.buffer.readUInt16BE(offset);this.buffer=EMPTY_BUFFER,this.state=STATES.CONNECTED,this.socket.removeListener("data",this.onSocketData),debug("connected, bound address:",boundAddress,"port:",boundPort),this.emit("connected",{address:boundAddress,port:boundPort})}getReplyErrorMessage(reply){switch(reply){case REPLY_CODES.GENERAL_FAILURE:return"General SOCKS server failure";case REPLY_CODES.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case REPLY_CODES.NETWORK_UNREACHABLE:return"Network unreachable";case REPLY_CODES.HOST_UNREACHABLE:return"Host unreachable";case REPLY_CODES.CONNECTION_REFUSED:return"Connection refused";case REPLY_CODES.TTL_EXPIRED:return"TTL expired";case REPLY_CODES.COMMAND_NOT_SUPPORTED:return"Command not supported";case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${reply}`}}};module.exports={Socks5Client,AUTH_METHODS,COMMANDS,ADDRESS_TYPES,REPLY_CODES,STATES}}});var require_socks5_proxy_agent=__commonJS({"node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports,module){"use strict";var{URL:URL2}=__require("node:url"),tls,DispatcherBase=require_dispatcher_base(),{InvalidArgumentError}=require_errors(),{Socks5Client,STATES}=require_socks5_client(),{kDispatch,kClose,kDestroy}=require_symbols(),Pool=require_pool(),buildConnector=require_connect(),{debuglog}=__require("node:util"),debug=debuglog("undici:socks5-proxy"),kProxyUrl=Symbol("proxy url"),kProxyHeaders=Symbol("proxy headers"),kProxyAuth=Symbol("proxy auth"),kProxyProtocol=Symbol("proxy protocol"),kPools=Symbol("pools"),kConnector=Symbol("connector"),kRequestTls=Symbol("request tls settings"),experimentalWarningEmitted=!1,Socks5ProxyAgent=class extends DispatcherBase{constructor(proxyUrl,options={}){if(super(),experimentalWarningEmitted||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),experimentalWarningEmitted=!0),!proxyUrl)throw new InvalidArgumentError("Proxy URL is mandatory");let url=typeof proxyUrl=="string"?new URL2(proxyUrl):proxyUrl;if(url.protocol!=="socks5:"&&url.protocol!=="socks:")throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");this[kProxyUrl]=url,this[kProxyHeaders]=options.headers||{},this[kProxyProtocol]=options.proxyTls?"https:":"http:",this[kRequestTls]=options.requestTls,this[kProxyAuth]={username:options.username||(url.username?decodeURIComponent(url.username):null),password:options.password||(url.password?decodeURIComponent(url.password):null)},this[kConnector]=options.connect||buildConnector({...options.proxyTls,servername:options.proxyTls?.servername||url.hostname}),this[kPools]=new Map}async createSocks5Connection(targetHost,targetPort){let proxyHost=this[kProxyUrl].hostname,proxyPort=parseInt(this[kProxyUrl].port)||1080;debug("creating SOCKS5 connection to",proxyHost,proxyPort);let socketReady=Promise.withResolvers();this[kConnector]({hostname:proxyHost,host:proxyHost,port:proxyPort,protocol:this[kProxyProtocol]},(err,socket2)=>{err?socketReady.reject(err):socketReady.resolve(socket2)});let socket=await socketReady.promise,socks5Client=new Socks5Client(socket,this[kProxyAuth]);socks5Client.on("error",err=>{debug("SOCKS5 error:",err),socket.destroy()}),await socks5Client.handshake();let authenticationReady=Promise.withResolvers(),authenticationTimeout=setTimeout(()=>{authenticationReady.reject(new Error("SOCKS5 authentication timeout"))},5e3),onAuthenticated=()=>{clearTimeout(authenticationTimeout),socks5Client.removeListener("error",onAuthenticationError),authenticationReady.resolve()},onAuthenticationError=err=>{clearTimeout(authenticationTimeout),socks5Client.removeListener("authenticated",onAuthenticated),authenticationReady.reject(err)};socks5Client.state===STATES.AUTHENTICATED?(clearTimeout(authenticationTimeout),authenticationReady.resolve()):(socks5Client.once("authenticated",onAuthenticated),socks5Client.once("error",onAuthenticationError)),await authenticationReady.promise,await socks5Client.connect(targetHost,targetPort);let connectionReady=Promise.withResolvers(),connectionTimeout=setTimeout(()=>{connectionReady.reject(new Error("SOCKS5 connection timeout"))},5e3),onConnected=info=>{debug("SOCKS5 tunnel established to",targetHost,targetPort,"via",info),clearTimeout(connectionTimeout),socks5Client.removeListener("error",onConnectionError),connectionReady.resolve()},onConnectionError=err=>{clearTimeout(connectionTimeout),socks5Client.removeListener("connected",onConnected),connectionReady.reject(err)};return socks5Client.once("connected",onConnected),socks5Client.once("error",onConnectionError),await connectionReady.promise,socket}[kDispatch](opts,handler){let{origin}=opts;debug("dispatching request to",origin,"via SOCKS5");try{let originKey=String(origin),pool=this[kPools].get(originKey);return(!pool||pool.destroyed||pool.closed)&&(pool=new Pool(origin,{pipelining:opts.pipelining,connections:opts.connections,connect:async(connectOpts,callback)=>{try{let url=new URL2(origin),targetHost=url.hostname,targetPort=parseInt(url.port)||(url.protocol==="https:"?443:80);debug("establishing SOCKS5 connection to",targetHost,targetPort);let socket=await this.createSocks5Connection(targetHost,targetPort),finalSocket=socket;if(url.protocol==="https:"){tls||(tls=__require("node:tls")),debug("upgrading to TLS"),finalSocket=tls.connect({...this[kRequestTls],socket,servername:this[kRequestTls]?.servername||targetHost});let tlsReady=Promise.withResolvers();finalSocket.once("secureConnect",tlsReady.resolve),finalSocket.once("error",tlsReady.reject),await tlsReady.promise}callback(null,finalSocket)}catch(err){debug("SOCKS5 connection error:",err),callback(err)}}}),this[kPools].set(originKey,pool)),pool[kDispatch](opts,handler)}catch(err){if(debug("dispatch error:",err),typeof handler.onResponseError=="function")return handler.onResponseError(null,err),!1;if(typeof handler.onError=="function")return handler.onError(err),!1;throw err}}async[kClose](){let closePromises=[];for(let pool of this[kPools].values())closePromises.push(pool.close());this[kPools].clear(),await Promise.all(closePromises)}async[kDestroy](err){let destroyPromises=[];for(let pool of this[kPools].values())destroyPromises.push(pool.destroy(err));this[kPools].clear(),await Promise.all(destroyPromises)}};module.exports=Socks5ProxyAgent}});var require_proxy_agent=__commonJS({"node_modules/undici/lib/dispatcher/proxy-agent.js"(exports,module){"use strict";var{kProxy,kClose,kDestroy,kDispatch}=require_symbols(),Agent=require_agent(),Pool=require_pool(),DispatcherBase=require_dispatcher_base(),{InvalidArgumentError,RequestAbortedError,SecureProxyConnectionError,ProxyConnectionError}=require_errors(),buildConnector=require_connect(),Client=require_client(),{channels}=require_diagnostics(),Socks5ProxyAgent=require_socks5_proxy_agent(),kAgent=Symbol("proxy agent"),kClient=Symbol("proxy client"),kProxyHeaders=Symbol("proxy headers"),kRequestTls=Symbol("request tls settings"),kProxyTls=Symbol("proxy tls settings"),kConnectEndpoint=Symbol("connect endpoint function"),kConnectEndpointHTTP1=Symbol("connect endpoint function (http/1.1 only)"),kTunnelProxy=Symbol("tunnel proxy"),proxyAuthorization="proxy-authorization";function defaultProtocolPort(protocol){return protocol==="https:"?443:80}function defaultFactory(origin,opts){return new Pool(origin,opts)}var noop=()=>{};function defaultAgentFactory(origin,opts){return opts.connections===1?new Client(origin,opts):new Pool(origin,opts)}function shouldProxyTunnel(requestProtocol,proxyTunnel){return proxyTunnel===!0||requestProtocol!=="http:"}var Http1ProxyWrapper=class extends DispatcherBase{#client;#proxyServername;constructor(proxyUrl,{headers={},connect,factory,proxyServername}){if(!proxyUrl)throw new InvalidArgumentError("Proxy URL is mandatory");super(),this[kProxyHeaders]=headers,this.#proxyServername=proxyServername,factory?this.#client=factory(proxyUrl,{connect}):this.#client=new Client(proxyUrl,{connect})}[kDispatch](opts,handler){let onResponseStart=handler.onResponseStart;handler.onResponseStart=function(controller,statusCode,data,statusMessage){if(statusCode===407){typeof handler.onResponseError=="function"&&handler.onResponseError(controller,new InvalidArgumentError("Proxy Authentication Required (407)"));return}onResponseStart&&onResponseStart.call(this,controller,statusCode,data,statusMessage)};let{origin,path="/",headers={}}=opts;if(opts.path=origin+path,!("host"in headers)&&!("Host"in headers)){let{host}=new URL(origin);headers.host=host}return opts.headers={...this[kProxyHeaders],...headers},this.#proxyServername!=null&&(opts.servername=this.#proxyServername),this.#client[kDispatch](opts,handler)}[kClose](){return this.#client.close()}[kDestroy](err){return this.#client.destroy(err)}},ProxyAgent=class extends DispatcherBase{constructor(opts){if(!opts||typeof opts=="object"&&!(opts instanceof URL)&&!opts.uri)throw new InvalidArgumentError("Proxy uri is mandatory");let{clientFactory=defaultFactory}=opts;if(typeof clientFactory!="function")throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");let{proxyTunnel,connectTimeout}=opts;super();let url=this.#getUrl(opts),{href,origin,port,protocol,username,password,hostname:proxyHostname}=url;if(this[kProxy]={uri:href,protocol},this[kRequestTls]=opts.requestTls,this[kProxyTls]=opts.proxyTls,this[kProxyHeaders]=opts.headers||{},this[kTunnelProxy]=proxyTunnel,opts.auth&&opts.token)throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");opts.auth?this[kProxyHeaders]["proxy-authorization"]=`Basic ${opts.auth}`:opts.token?this[kProxyHeaders]["proxy-authorization"]=opts.token:username&&password?this[kProxyHeaders]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`:username&&(this[kProxyHeaders]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(username)}:`).toString("base64")}`);let connect=buildConnector({timeout:connectTimeout,...opts.proxyTls}),connectHTTP1=buildConnector({timeout:connectTimeout,...opts.proxyTls,allowH2:!1});this[kConnectEndpoint]=buildConnector({timeout:connectTimeout,...opts.requestTls}),this[kConnectEndpointHTTP1]=buildConnector({timeout:connectTimeout,...opts.requestTls,allowH2:!1});let agentFactory=opts.factory||defaultAgentFactory,factory=(origin2,options)=>{let{protocol:protocol2}=new URL(origin2);if(this[kProxy].protocol==="socks5:"||this[kProxy].protocol==="socks:")return new Socks5ProxyAgent(this[kProxy].uri,{headers:this[kProxyHeaders],connect,factory:agentFactory,username:opts.username||username,password:opts.password||password,proxyTls:opts.proxyTls,requestTls:opts.requestTls});if(!shouldProxyTunnel(protocol2,this[kTunnelProxy])){let forwardConnect=this[kProxy].protocol==="https:"?(opts2,cb)=>connectHTTP1(opts2,(err,socket)=>{err&&err.code==="ERR_TLS_CERT_ALTNAME_INVALID"?cb(new SecureProxyConnectionError(err)):cb(err,socket)}):connectHTTP1;return new Http1ProxyWrapper(this[kProxy].uri,{headers:this[kProxyHeaders],connect:forwardConnect,factory:agentFactory,proxyServername:this[kProxy].protocol==="https:"?this[kProxyTls]?.servername||proxyHostname:void 0})}return agentFactory(origin2,options)};protocol==="socks5:"||protocol==="socks:"?this[kClient]=null:this[kClient]=clientFactory(url,{connect}),this[kAgent]=new Agent({...opts,factory,connect:async(opts2,callback)=>{if(!this[kClient]){callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));return}let requestedPath=opts2.host;opts2.port||(requestedPath+=`:${defaultProtocolPort(opts2.protocol)}`);try{let connectParams={origin,port,path:requestedPath,signal:opts2.signal,headers:{...this[kProxyHeaders],host:opts2.host,...opts2.connections==null||opts2.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[kProxyTls]?.servername||proxyHostname},{socket,statusCode}=await this[kClient].connect(connectParams);if(statusCode!==200){socket.on("error",noop).destroy(),callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));return}if(channels.proxyConnected.hasSubscribers&&channels.proxyConnected.publish({socket,connectParams}),opts2.protocol!=="https:"){callback(null,socket);return}let servername;this[kRequestTls]?servername=this[kRequestTls].servername:servername=opts2.servername,(opts2.allowH2===!1?this[kConnectEndpointHTTP1]:this[kConnectEndpoint])({...opts2,servername,httpSocket:socket},callback)}catch(err){err.code==="ERR_TLS_CERT_ALTNAME_INVALID"?callback(new SecureProxyConnectionError(err)):err.code==="UND_ERR_SOCKET"?callback(new ProxyConnectionError(err)):callback(err)}}})}dispatch(opts,handler){let headers=buildHeaders(opts.headers);if(throwIfProxyAuthIsSent(headers),headers&&!("host"in headers)&&!("Host"in headers)){let{host}=new URL(opts.origin);headers.host=host}return this[kAgent].dispatch({...opts,headers},handler)}#getUrl(opts){return typeof opts=="string"?new URL(opts):opts instanceof URL?opts:new URL(opts.uri)}[kClose](){let promises=[this[kAgent].close()];return this[kClient]&&promises.push(this[kClient].close()),Promise.all(promises)}[kDestroy](){let promises=[this[kAgent].destroy()];return this[kClient]&&promises.push(this[kClient].destroy()),Promise.all(promises)}};function buildHeaders(headers){if(Array.isArray(headers)){let headersPair={};for(let i=0;i<headers.length;i+=2)isProxyAuthorizationHeader(headers[i])&&throwProxyAuthError(),headersPair[headers[i]]=headers[i+1];return headersPair}return headers}function throwIfProxyAuthIsSent(headers){for(let key in headers)isProxyAuthorizationHeader(key)&&throwProxyAuthError()}function isProxyAuthorizationHeader(key){return key.length===proxyAuthorization.length&&key.toLowerCase()===proxyAuthorization}function throwProxyAuthError(){throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor")}module.exports=ProxyAgent}});var require_env_http_proxy_agent=__commonJS({"node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports,module){"use strict";var DispatcherBase=require_dispatcher_base(),{kClose,kDestroy,kClosed,kDestroyed,kDispatch,kNoProxyAgent,kHttpProxyAgent,kHttpsProxyAgent}=require_symbols(),ProxyAgent=require_proxy_agent(),Agent=require_agent(),DEFAULT_PORTS={"http:":80,"https:":443},EnvHttpProxyAgent=class extends DispatcherBase{#noProxyValue=null;#noProxyEntries=null;#opts=null;constructor(opts={}){super(),this.#opts=opts;let{httpProxy,httpsProxy,noProxy,...agentOpts}=opts;this[kNoProxyAgent]=new Agent(agentOpts);let HTTP_PROXY=httpProxy??process.env.http_proxy??process.env.HTTP_PROXY;HTTP_PROXY?this[kHttpProxyAgent]=new ProxyAgent({...agentOpts,uri:HTTP_PROXY}):this[kHttpProxyAgent]=this[kNoProxyAgent];let HTTPS_PROXY=httpsProxy??process.env.https_proxy??process.env.HTTPS_PROXY;HTTPS_PROXY?this[kHttpsProxyAgent]=new ProxyAgent({...agentOpts,uri:HTTPS_PROXY}):this[kHttpsProxyAgent]=this[kHttpProxyAgent],this.#parseNoProxy()}[kDispatch](opts,handler){let url=new URL(opts.origin);return this.#getProxyAgentForUrl(url).dispatch(opts,handler)}[kClose](){return Promise.all([this[kNoProxyAgent].close(),!this[kHttpProxyAgent][kClosed]&&this[kHttpProxyAgent].close(),!this[kHttpsProxyAgent][kClosed]&&this[kHttpsProxyAgent].close()])}[kDestroy](err){return Promise.all([this[kNoProxyAgent].destroy(err),!this[kHttpProxyAgent][kDestroyed]&&this[kHttpProxyAgent].destroy(err),!this[kHttpsProxyAgent][kDestroyed]&&this[kHttpsProxyAgent].destroy(err)])}#getProxyAgentForUrl(url){let{protocol,host:hostname,port}=url;return hostname=hostname.replace(/:\d*$/,"").toLowerCase(),port=Number.parseInt(port,10)||DEFAULT_PORTS[protocol]||0,this.#shouldProxy(hostname,port)?protocol==="https:"?this[kHttpsProxyAgent]:this[kHttpProxyAgent]:this[kNoProxyAgent]}#shouldProxy(hostname,port){if(this.#noProxyChanged&&this.#parseNoProxy(),this.#noProxyEntries.length===0)return!0;if(this.#noProxyValue==="*")return!1;for(let i=0;i<this.#noProxyEntries.length;i++){let entry=this.#noProxyEntries[i];if(!(entry.port&&entry.port!==port)&&(hostname===entry.hostname||hostname.slice(-(entry.hostname.length+1))===`.${entry.hostname}`))return!1}return!0}#parseNoProxy(){let noProxyValue=this.#opts.noProxy??this.#noProxyEnv,noProxySplit=noProxyValue.split(/[,\s]/),noProxyEntries=[];for(let i=0;i<noProxySplit.length;i++){let entry=noProxySplit[i];if(!entry)continue;let parsed=entry.match(/^(.+):(\d+)$/);noProxyEntries.push({hostname:(parsed?parsed[1]:entry).replace(/^\*?\./,"").toLowerCase(),port:parsed?Number.parseInt(parsed[2],10):0})}this.#noProxyValue=noProxyValue,this.#noProxyEntries=noProxyEntries}get#noProxyChanged(){return this.#opts.noProxy!==void 0?!1:this.#noProxyValue!==this.#noProxyEnv}get#noProxyEnv(){return process.env.no_proxy??process.env.NO_PROXY??""}};module.exports=EnvHttpProxyAgent}});var require_retry_handler=__commonJS({"node_modules/undici/lib/handler/retry-handler.js"(exports,module){"use strict";var assert=__require("node:assert"),{kRetryHandlerDefaultRetry}=require_symbols(),{RequestRetryError}=require_errors(),{isDisturbed,parseRangeHeader,wrapRequestBody}=require_util();function calculateRetryAfterHeader(retryAfter){let retryTime=new Date(retryAfter).getTime();return isNaN(retryTime)?null:retryTime-Date.now()}function validatePartialResponseContentLength(headers,range,statusCode,retryCount){let contentLength=headers["content-length"];if(contentLength==null||!Number.isFinite(range.start)||!Number.isFinite(range.end))return;let length=Number(contentLength),expectedLength=range.end-range.start+1;if(!Number.isFinite(length)||length!==expectedLength)throw new RequestRetryError("Content-Length mismatch",statusCode,{headers,data:{count:retryCount}})}var RetryController=class{constructor(){this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(reason){this.target?.abort(reason)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}get rawTrailers(){return this.target?.rawTrailers??null}},RetryHandler=class _RetryHandler{constructor(opts,{dispatch,handler}){let{retryOptions,...dispatchOpts}=opts,{retry:retryFn,maxRetries,maxTimeout,minTimeout,timeoutFactor,methods,errorCodes,retryAfter,statusCodes,throwOnError}=retryOptions??{};this.error=null,this.dispatch=dispatch,this.handler=handler,this.opts={...dispatchOpts,body:wrapRequestBody(opts.body)},this.retryOpts={throwOnError:throwOnError??!0,retry:retryFn??_RetryHandler[kRetryHandlerDefaultRetry],retryAfter:retryAfter??!0,maxTimeout:maxTimeout??30*1e3,minTimeout:minTimeout??500,timeoutFactor:timeoutFactor??2,maxRetries:maxRetries??5,methods:methods??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE","QUERY"],statusCodes:statusCodes??[500,502,503,504,429],errorCodes:errorCodes??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new RetryController}onResponseStartWithRetry(controller,statusCode,headers,statusMessage,err){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(statusCode)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,statusCode,headers,statusMessage)):this.error=err;return}if(isDisturbed(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,statusCode,headers,statusMessage);return}function shouldRetry(passedErr){if(passedErr){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,statusCode,headers,statusMessage),controller.resume();return}this.error=err,controller.resume()}controller.pause(),this.retryOpts.retry(err,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},shouldRetry.bind(this))}onRequestStart(controller,context){this.controllerProxy.target=controller,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,context)}onRequestUpgrade(_controller,statusCode,headers,socket){this.handler.onRequestUpgrade?.(this.controllerProxy,statusCode,headers,socket)}static[kRetryHandlerDefaultRetry](err,{state:state2,opts},cb){let{statusCode,code,headers}=err,{method,retryOptions}=opts,{maxRetries,minTimeout,maxTimeout,timeoutFactor,statusCodes,errorCodes,methods}=retryOptions,{counter}=state2;if(code&&code!=="UND_ERR_REQ_RETRY"&&!errorCodes.includes(code)){cb(err);return}if(Array.isArray(methods)&&!methods.includes(method)){cb(err);return}if(statusCode!=null&&Array.isArray(statusCodes)&&!statusCodes.includes(statusCode)){cb(err);return}if(counter>maxRetries){cb(err);return}let retryAfterHeader=headers?.["retry-after"];retryAfterHeader&&(retryAfterHeader=Number(retryAfterHeader),retryAfterHeader=Number.isNaN(retryAfterHeader)?calculateRetryAfterHeader(headers["retry-after"]):retryAfterHeader*1e3);let retryTimeout=retryAfterHeader===0?0:retryAfterHeader>0?Math.min(retryAfterHeader,maxTimeout):Math.min(minTimeout*timeoutFactor**(counter-1),maxTimeout);setTimeout(()=>cb(null),retryTimeout)}onResponseStart(controller,statusCode,headers,statusMessage){if(this.error=null,this.retryCount+=1,this.statusCode=statusCode,this.headers=headers,statusCode>=300){let err=new RequestRetryError("Request failed",statusCode,{headers,data:{count:this.retryCount}});this.onResponseStartWithRetry(controller,statusCode,headers,statusMessage,err);return}if(this.headersSent){if(statusCode!==206&&(this.start>0||statusCode!==200))throw new RequestRetryError("server does not support the range header and the payload was partially consumed",statusCode,{headers,data:{count:this.retryCount}});let contentRange=parseRangeHeader(headers["content-range"]);if(!contentRange)throw new RequestRetryError("Content-Range mismatch",statusCode,{headers,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==headers.etag)throw new RequestRetryError("ETag mismatch",statusCode,{headers,data:{count:this.retryCount}});validatePartialResponseContentLength(headers,contentRange,statusCode,this.retryCount);let{start,size,end=size?size-1:null}=contentRange;assert(this.start===start,"content-range mismatch"),assert(this.end==null||this.end===end,"content-range mismatch");return}if(this.end==null){if(statusCode===206){let range=parseRangeHeader(headers["content-range"]);if(range==null){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,statusCode,headers,statusMessage);return}validatePartialResponseContentLength(headers,range,statusCode,this.retryCount);let{start,size,end=size?size-1:null}=range;assert(start!=null&&Number.isFinite(start),"content-range mismatch"),assert(end!=null&&Number.isFinite(end),"invalid content-length"),this.start=start,this.end=end}if(this.end==null){let contentLength=headers["content-length"];this.end=contentLength!=null?Number(contentLength)-1:null}assert(Number.isFinite(this.start)),assert(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=headers.etag!=null?headers.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,statusCode,headers,statusMessage)}else throw new RequestRetryError("Request failed",statusCode,{headers,data:{count:this.retryCount}})}onResponseData(_controller,chunk){this.error||(this.start+=chunk.length,this.handler.onResponseData?.(this.controllerProxy,chunk))}onResponseEnd(_controller,trailers){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(this.end!=null&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new RequestRetryError("Content-Range mismatch",this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,trailers)}this.retry()}retry(){if(this.start!==0){let headers={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(headers["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...headers}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(err){this.handler.onResponseError?.(this.controllerProxy,err)}}onResponseError(controller,err){if(controller?.aborted||isDisturbed(this.opts.body)){this.handler.onResponseError?.(this.controllerProxy,err);return}function shouldRetry(returnedErr){if(!returnedErr){this.retry();return}this.handler?.onResponseError?.(this.controllerProxy,returnedErr)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(err,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},shouldRetry.bind(this))}};module.exports=RetryHandler}});var require_retry_agent=__commonJS({"node_modules/undici/lib/dispatcher/retry-agent.js"(exports,module){"use strict";var Dispatcher=require_dispatcher(),RetryHandler=require_retry_handler(),RetryAgent=class extends Dispatcher{#agent=null;#options=null;constructor(agent,options={}){super(options),this.#agent=agent,this.#options=options}dispatch(opts,handler){let retry=new RetryHandler({...opts,retryOptions:this.#options},{dispatch:this.#agent.dispatch.bind(this.#agent),handler});return this.#agent.dispatch(opts,retry)}close(){return this.#agent.close()}destroy(){return this.#agent.destroy()}};module.exports=RetryAgent}});var require_h2c_client=__commonJS({"node_modules/undici/lib/dispatcher/h2c-client.js"(exports,module){"use strict";var{InvalidArgumentError}=require_errors(),Client=require_client(),H2CClient=class extends Client{constructor(origin,clientOpts){if(typeof origin=="string"&&(origin=new URL(origin)),origin.protocol!=="http:")throw new InvalidArgumentError("h2c-client: Only h2c protocol is supported");let{maxConcurrentStreams,pipelining,...opts}=clientOpts??{},defaultMaxConcurrentStreams=maxConcurrentStreams??100,defaultPipelining=100;if(maxConcurrentStreams!=null&&(!Number.isInteger(maxConcurrentStreams)||maxConcurrentStreams<1))throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");if(pipelining!=null&&Number.isInteger(pipelining)&&pipelining>0&&(defaultPipelining=pipelining),defaultPipelining>defaultMaxConcurrentStreams)throw new InvalidArgumentError("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(origin,{...opts,maxConcurrentStreams:defaultMaxConcurrentStreams,pipelining:defaultPipelining,allowH2:!0,useH2c:!0})}};module.exports=H2CClient}});var require_readable=__commonJS({"node_modules/undici/lib/api/readable.js"(exports,module){"use strict";var assert=__require("node:assert"),{addAbortListener}=__require("node:events"),{Readable}=__require("node:stream"),{RequestAbortedError,NotSupportedError,InvalidArgumentError,AbortError}=require_errors(),util=require_util(),{ReadableStreamFrom}=require_util(),kConsume=Symbol("kConsume"),kReading=Symbol("kReading"),kBody=Symbol("kBody"),kAbort=Symbol("kAbort"),kContentType=Symbol("kContentType"),kContentLength=Symbol("kContentLength"),kUsed=Symbol("kUsed"),kBytesRead=Symbol("kBytesRead"),kPreservedBuffer=Symbol("kPreservedBuffer"),noop=()=>{},BodyReadable=class extends Readable{constructor({resume,abort,contentType="",contentLength,highWaterMark=64*1024}){super({autoDestroy:!0,read:resume,highWaterMark}),this._readableState.dataEmitted=!1,this[kAbort]=abort,this[kConsume]=null,this[kBytesRead]=0,this[kBody]=null,this[kUsed]=!1,this[kContentType]=contentType,this[kContentLength]=Number.isFinite(contentLength)?contentLength:null,this[kReading]=!1}_destroy(err,callback){!err&&!this._readableState.endEmitted&&(err=new RequestAbortedError),err&&this[kAbort](),this[kUsed]?callback(err):setImmediate(callback,err)}on(event,listener){return(event==="data"||event==="readable")&&(this[kReading]=!0,this[kUsed]=!0),super.on(event,listener)}addListener(event,listener){return this.on(event,listener)}off(event,listener){let ret=super.off(event,listener);return(event==="data"||event==="readable")&&(this[kReading]=this.listenerCount("data")>0||this.listenerCount("readable")>0),ret}removeListener(event,listener){return this.off(event,listener)}push(chunk){return chunk&&(this[kBytesRead]+=chunk.length,this[kConsume])?(consumePush(this[kConsume],chunk),this[kReading]?super.push(chunk):!0):super.push(chunk)}text(){return consume(this,"text")}json(){return consume(this,"json")}blob(){return consume(this,"blob")}bytes(){return consume(this,"bytes")}arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new NotSupportedError}get bodyUsed(){return util.isDisturbed(this)}get body(){return this[kBody]||(this[kBody]=ReadableStreamFrom(this),this[kConsume]&&(this[kBody].getReader(),assert(this[kBody].locked))),this[kBody]}dump(opts){let signal=opts?.signal;if(signal!=null&&(typeof signal!="object"||!("aborted"in signal)))return Promise.reject(new InvalidArgumentError("signal must be an AbortSignal"));let limit=opts?.limit&&Number.isFinite(opts.limit)?opts.limit:128*1024;return signal?.aborted?Promise.reject(signal.reason??new AbortError):this._readableState.closeEmitted?Promise.resolve(null):new Promise((resolve,reject)=>{if((this[kContentLength]&&this[kContentLength]>limit||this[kBytesRead]>limit)&&this.destroy(new AbortError),signal){let abortListener=addAbortListener(signal,()=>{this.destroy(signal.reason??new AbortError)});this.on("close",function(){abortListener[Symbol.dispose](),signal.aborted?reject(signal.reason??new AbortError):resolve(null)})}else this.on("close",resolve);this.on("error",noop).on("data",()=>{this[kBytesRead]>limit&&this.destroy()}).resume()})}setEncoding(encoding){if(Buffer.isEncoding(encoding)){let state2=this._readableState,buffer=state2.buffer;if(buffer&&state2.length>0){let bufferIndex=state2.bufferIndex??0,preserved=[],source=typeof buffer.slice=="function"?buffer.slice(bufferIndex):buffer;for(let data of source)Buffer.isBuffer(data)&&preserved.push(data);preserved.length>0&&(this[kPreservedBuffer]=(this[kPreservedBuffer]||[]).concat(preserved))}super.setEncoding(encoding)}return this}};function isLocked(bodyReadable){return bodyReadable[kBody]?.locked===!0||bodyReadable[kConsume]!==null}function isUnusable(bodyReadable){return util.isDisturbed(bodyReadable)||isLocked(bodyReadable)}function consume(stream,type){return assert(!stream[kConsume]),new Promise((resolve,reject)=>{if(isUnusable(stream)){let rState=stream._readableState;rState.destroyed&&rState.closeEmitted===!1?stream.on("error",reject).on("close",()=>{reject(new TypeError("unusable"))}):reject(rState.errored??new TypeError("unusable"))}else queueMicrotask(()=>{stream[kConsume]={type,stream,resolve,reject,length:0,body:[]},stream.on("error",function(err){consumeFinish(this[kConsume],err)}).on("close",function(){this[kConsume].body!==null&&consumeFinish(this[kConsume],new RequestAbortedError)}),consumeStart(stream[kConsume])})})}function consumeStart(consume2){if(consume2.body===null)return;let{_readableState:state2}=consume2.stream,preserved=consume2.stream[kPreservedBuffer];if(preserved&&preserved.length>0){for(let chunk of preserved)consumePush(consume2,chunk);consume2.stream[kPreservedBuffer]=null}else if(state2.bufferIndex){let start=state2.bufferIndex,end=state2.buffer.length;for(let n=start;n<end;n++)consumePush(consume2,state2.buffer[n])}else for(let chunk of state2.buffer)consumePush(consume2,chunk);for(state2.endEmitted?consumeEnd(this[kConsume],this._readableState.encoding):consume2.stream.on("end",function(){consumeEnd(this[kConsume],this._readableState.encoding)}),consume2.stream.resume();consume2.stream.read()!=null;);}function chunksDecode(chunks,length,encoding){if(chunks.length===0||length===0)return"";let buffer=chunks.length===1?chunks[0]:Buffer.concat(chunks,length),bufferLength=buffer.length,start=bufferLength>2&&buffer[0]===239&&buffer[1]===187&&buffer[2]===191?3:0;return!encoding||encoding==="utf8"||encoding==="utf-8"?buffer.utf8Slice(start,bufferLength):buffer.subarray(start,bufferLength).toString(encoding)}function chunksConcat(chunks,length){if(chunks.length===0||length===0)return new Uint8Array(0);if(chunks.length===1)return new Uint8Array(chunks[0]);let buffer=new Uint8Array(Buffer.allocUnsafeSlow(length).buffer),offset=0;for(let i=0;i<chunks.length;++i){let chunk=chunks[i];buffer.set(chunk,offset),offset+=chunk.length}return buffer}function consumeEnd(consume2,encoding){let{type,body,resolve,stream,length}=consume2;try{type==="text"?resolve(chunksDecode(body,length,encoding)):type==="json"?resolve(JSON.parse(chunksDecode(body,length,encoding))):type==="arrayBuffer"?resolve(chunksConcat(body,length).buffer):type==="blob"?resolve(new Blob(body,{type:stream[kContentType]})):type==="bytes"&&resolve(chunksConcat(body,length)),consumeFinish(consume2)}catch(err){stream.destroy(err)}}function consumePush(consume2,chunk){consume2.body!==null&&(consume2.length+=chunk.length,consume2.body.push(chunk))}function consumeFinish(consume2,err){consume2.body!==null&&(err?consume2.reject(err):consume2.resolve(),consume2.type=null,consume2.stream=null,consume2.resolve=null,consume2.reject=null,consume2.length=0,consume2.body=null)}module.exports={Readable:BodyReadable,chunksDecode}}});var require_api_request=__commonJS({"node_modules/undici/lib/api/api-request.js"(exports,module){"use strict";var assert=__require("node:assert"),{AsyncResource}=__require("node:async_hooks"),{Readable}=require_readable(),{InvalidArgumentError,RequestAbortedError}=require_errors(),util=require_util();function noop(){}var RequestHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!="object")throw new InvalidArgumentError("invalid opts");let{signal,method,opaque,body,onInfo,responseHeaders,highWaterMark}=opts;try{if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");if(highWaterMark!=null&&(!Number.isFinite(highWaterMark)||highWaterMark<0))throw new InvalidArgumentError("invalid highWaterMark");if(signal&&typeof signal.on!="function"&&typeof signal.addEventListener!="function")throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");if(method==="CONNECT")throw new InvalidArgumentError("invalid method");if(onInfo&&typeof onInfo!="function")throw new InvalidArgumentError("invalid onInfo callback");super("UNDICI_REQUEST")}catch(err){throw util.isStream(body)&&util.destroy(body.on("error",noop),err),err}this.method=method,this.responseHeaders=responseHeaders||null,this.opaque=opaque||null,this.callback=callback,this.res=null,this.abort=null,this.body=body,this.trailers={},this.context=null,this.controller=null,this.onInfo=onInfo||null,this.highWaterMark=highWaterMark,this.reason=null,this.removeAbortListener=null,signal?.aborted?this.reason=signal.reason??new RequestAbortedError:signal&&(this.removeAbortListener=util.addAbortListener(signal,()=>{if(this.reason=signal.reason??new RequestAbortedError,this.res){let res=this.res;this.res=null,util.destroy(res.on("error",noop),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(controller,context){if(this.reason){controller.abort(this.reason);return}assert(this.callback),this.controller=controller,this.abort=reason=>controller.abort(reason),this.context=context}onResponseStart(controller,statusCode,headers,statusText){let{callback,opaque,context,responseHeaders,highWaterMark}=this,rawHeaders=controller?.rawHeaders,responseHeaderData=responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers;if(statusCode<200){this.onInfo&&this.onInfo({statusCode,headers:responseHeaderData});return}let parsedHeaders=headers,contentType=parsedHeaders?.["content-type"],contentLength=parsedHeaders?.["content-length"],res=new Readable({resume:()=>controller.resume(),abort:reason=>controller.abort(reason),contentType,contentLength:this.method!=="HEAD"&&contentLength?Number(contentLength):null,highWaterMark});if(this.removeAbortListener&&(res.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=res,callback!==null)try{this.runInAsyncScope(callback,null,null,{statusCode,statusText,headers:responseHeaderData,trailers:this.trailers,opaque,body:res,context})}catch(err){this.res=null,util.destroy(res.on("error",noop),err),queueMicrotask(()=>{throw err})}}onResponseData(controller,chunk){this.res&&this.res.push(chunk)===!1&&controller.pause()}onResponseEnd(_controller,trailers){if(trailers&&typeof trailers=="object")for(let key of Object.keys(trailers))key==="__proto__"?Object.defineProperty(this.trailers,key,{value:trailers[key],enumerable:!0,configurable:!0,writable:!0}):this.trailers[key]=trailers[key];this.res?.push(null)}onResponseError(_controller,err){let{res,callback,body,opaque}=this;callback&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})),res&&(this.res=null,queueMicrotask(()=>{util.destroy(res.on("error",noop),err)})),body&&(this.body=null,util.isStream(body)&&(body.on("error",noop),util.destroy(body,err))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function request(opts,callback){if(callback===void 0)return new Promise((resolve,reject)=>{request.call(this,opts,(err,data)=>err?reject(err):resolve(data))});try{let handler=new RequestHandler(opts,callback);this.dispatch(opts,handler)}catch(err){if(typeof callback!="function")throw err;let opaque=opts?.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module.exports=request;module.exports.RequestHandler=RequestHandler}});var require_abort_signal=__commonJS({"node_modules/undici/lib/api/abort-signal.js"(exports,module){"use strict";var{addAbortListener}=require_util(),{RequestAbortedError}=require_errors(),kListener=Symbol("kListener"),kSignal=Symbol("kSignal");function abort(self){self.abort?self.abort(self[kSignal]?.reason):self.reason=self[kSignal]?.reason??new RequestAbortedError,removeSignal(self)}function addSignal(self,signal){if(self.reason=null,self[kSignal]=null,self[kListener]=null,!!signal){if(signal.aborted){abort(self);return}self[kSignal]=signal,self[kListener]=()=>{abort(self)},addAbortListener(self[kSignal],self[kListener])}}function removeSignal(self){self[kSignal]&&("removeEventListener"in self[kSignal]?self[kSignal].removeEventListener("abort",self[kListener]):self[kSignal].removeListener("abort",self[kListener]),self[kSignal]=null,self[kListener]=null)}module.exports={addSignal,removeSignal}}});var require_api_stream=__commonJS({"node_modules/undici/lib/api/api-stream.js"(exports,module){"use strict";var assert=__require("node:assert"),{AsyncResource}=__require("node:async_hooks"),{InvalidArgumentError,InvalidReturnValueError}=require_errors(),util=require_util(),{addSignal,removeSignal}=require_abort_signal();function noop(){}function getWritableError(stream2){return stream2.errored??stream2.writableErrored??stream2._writableState?.errored}function createPrematureCloseError(){let err=new Error("Premature close");return err.code="ERR_STREAM_PREMATURE_CLOSE",err}function trackWritableLifecycle(stream2,callback){let done=!1,cleanup=()=>{stream2.removeListener("close",onClose),stream2.removeListener("error",onError),stream2.removeListener("finish",onFinish)},finish=(err,fromErrorEvent=!1)=>{done||(done=!0,cleanup(),callback(err,fromErrorEvent))},onClose=()=>{let err=getWritableError(stream2);finish(err??(stream2.writableFinished?void 0:createPrematureCloseError()))},onError=err=>finish(err,!0),onFinish=()=>finish();stream2.on("close",onClose),stream2.on("error",onError),stream2.on("finish",onFinish),stream2.closed?process.nextTick(onClose):stream2.writableFinished&&process.nextTick(onFinish)}var StreamHandler=class extends AsyncResource{constructor(opts,factory,callback){if(!opts||typeof opts!="object")throw new InvalidArgumentError("invalid opts");let{signal,method,opaque,body,onInfo,responseHeaders}=opts;try{if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");if(typeof factory!="function")throw new InvalidArgumentError("invalid factory");if(signal&&typeof signal.on!="function"&&typeof signal.addEventListener!="function")throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");if(method==="CONNECT")throw new InvalidArgumentError("invalid method");if(onInfo&&typeof onInfo!="function")throw new InvalidArgumentError("invalid onInfo callback");super("UNDICI_STREAM")}catch(err){throw util.isStream(body)&&util.destroy(body.on("error",noop),err),err}this.responseHeaders=responseHeaders||null,this.opaque=opaque||null,this.factory=factory,this.callback=callback,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=body,this.onInfo=onInfo||null,util.isStream(body)&&body.on("error",err=>{this.onResponseError(this.controller,err)}),addSignal(this,signal)}onRequestStart(controller,context){if(this.reason){controller.abort(this.reason);return}assert(this.callback),this.controller=controller,this.abort=reason=>controller.abort(reason),this.context=context}onResponseStart(controller,statusCode,headers,_statusMessage){let{factory,opaque,context,responseHeaders}=this,rawHeaders=controller?.rawHeaders,responseHeaderData=responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers;if(statusCode<200){this.onInfo&&this.onInfo({statusCode,headers:responseHeaderData});return}if(this.factory=null,factory===null)return;let res=this.runInAsyncScope(factory,null,{statusCode,headers:responseHeaderData,opaque,context});if(!res||typeof res.write!="function"||typeof res.end!="function"||typeof res.on!="function")throw new InvalidReturnValueError("expected Writable");trackWritableLifecycle(res,(err,fromErrorEvent)=>{let{callback,res:res2,opaque:opaque2,trailers,abort}=this;this.res=null,(err||!res2?.readable)&&util.destroy(res2,fromErrorEvent?void 0:err),this.callback=null,this.runInAsyncScope(callback,null,err||null,{opaque:opaque2,trailers}),err&&abort(err)}),res.on("drain",()=>controller.resume()),this.res=res,(res.writableNeedDrain!==void 0?res.writableNeedDrain:res._writableState?.needDrain)===!0&&controller.pause()}onResponseData(controller,chunk){let{res}=this;res&&res.write(chunk)===!1&&controller.pause()}onResponseEnd(_controller,trailers){let{res}=this;removeSignal(this),res&&(trailers&&typeof trailers=="object"&&(this.trailers=trailers),res.end())}onResponseError(_controller,err){let{res,callback,opaque,body}=this;removeSignal(this),this.factory=null,res?(this.res=null,util.destroy(res,err)):callback&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})})),body&&(this.body=null,util.destroy(body,err))}};function stream(opts,factory,callback){if(callback===void 0)return new Promise((resolve,reject)=>{stream.call(this,opts,factory,(err,data)=>err?reject(err):resolve(data))});try{let handler=new StreamHandler(opts,factory,callback);this.dispatch(opts,handler)}catch(err){if(typeof callback!="function")throw err;let opaque=opts?.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module.exports=stream}});var require_api_pipeline=__commonJS({"node_modules/undici/lib/api/api-pipeline.js"(exports,module){"use strict";var{Readable,Duplex,PassThrough}=__require("node:stream"),assert=__require("node:assert"),{AsyncResource}=__require("node:async_hooks"),{InvalidArgumentError,InvalidReturnValueError,RequestAbortedError}=require_errors(),util=require_util(),{kBodyUsed}=require_symbols(),{addSignal,removeSignal}=require_abort_signal();function noop(){}var kResume=Symbol("resume"),PipelineRequest=class extends Readable{constructor(){super({autoDestroy:!0}),this[kResume]=null,this[kBodyUsed]=!0}_read(){let{[kResume]:resume}=this;resume&&(this[kResume]=null,resume())}_destroy(err,callback){this._read(),callback(err)}},PipelineResponse=class extends Readable{constructor(resume){super({autoDestroy:!0}),this[kResume]=resume}_read(){this[kResume]()}_destroy(err,callback){!err&&!this._readableState.endEmitted&&(err=new RequestAbortedError),callback(err)}},PipelineHandler=class extends AsyncResource{constructor(opts,handler){if(!opts||typeof opts!="object")throw new InvalidArgumentError("invalid opts");if(typeof handler!="function")throw new InvalidArgumentError("invalid handler");let{signal,method,opaque,onInfo,responseHeaders}=opts;if(signal&&typeof signal.on!="function"&&typeof signal.addEventListener!="function")throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");if(method==="CONNECT")throw new InvalidArgumentError("invalid method");if(onInfo&&typeof onInfo!="function")throw new InvalidArgumentError("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=opaque||null,this.responseHeaders=responseHeaders||null,this.handler=handler,this.abort=null,this.context=null,this.onInfo=onInfo||null,this.req=new PipelineRequest().on("error",noop),this.ret=new Duplex({readableObjectMode:opts.objectMode,autoDestroy:!0,read:()=>{let{body}=this;body?.resume&&body.resume()},write:(chunk,encoding,callback)=>{let{req}=this;req.push(chunk,encoding)||req._readableState.destroyed?callback():req[kResume]=callback},destroy:(err,callback)=>{let{body,req,res,ret,abort}=this;!err&&!ret._readableState.endEmitted&&(err=new RequestAbortedError),abort&&err&&abort(),util.destroy(body,err),util.destroy(req,err),util.destroy(res,err),removeSignal(this),callback(err)}}).on("prefinish",()=>{let{req}=this;req.push(null)}),this.res=null,addSignal(this,signal)}onRequestStart(controller,context){let{res}=this;if(this.reason){controller.abort(this.reason);return}assert(!res,"pipeline cannot be retried"),this.abort=reason=>controller.abort(reason),this.context=context}onResponseStart(controller,statusCode,headers,_statusMessage){let{opaque,handler,context}=this;if(statusCode<200){if(this.onInfo){let rawHeaders=controller?.rawHeaders,responseHeaders=this.responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers;this.onInfo({statusCode,headers:responseHeaders})}return}this.res=new PipelineResponse(()=>controller.resume());let body;try{this.handler=null;let rawHeaders=controller?.rawHeaders,responseHeaders=this.responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers;body=this.runInAsyncScope(handler,null,{statusCode,headers:responseHeaders,opaque,body:this.res,context})}catch(err){throw this.res.on("error",noop),err}if(!body||typeof body.on!="function")throw new InvalidReturnValueError("expected Readable");body.on("data",chunk=>{let{ret,body:body2}=this;!ret.push(chunk)&&body2.pause&&body2.pause()}).on("error",err=>{let{ret}=this;util.destroy(ret,err)}).on("end",()=>{let{ret}=this;ret.push(null)}).on("close",()=>{let{ret}=this;ret._readableState.ended||util.destroy(ret,new RequestAbortedError)}),this.body=body}onResponseData(controller,chunk){let{res}=this;res.push(chunk)===!1&&controller.pause()}onResponseEnd(_controller,_trailers){let{res}=this;res.push(null)}onResponseError(_controller,err){let{ret}=this;this.handler=null,util.destroy(ret,err)}};function pipeline(opts,handler){try{let pipelineHandler=new PipelineHandler(opts,handler);return this.dispatch({...opts,body:pipelineHandler.req},pipelineHandler),pipelineHandler.ret}catch(err){return new PassThrough().destroy(err)}}module.exports=pipeline}});var require_api_upgrade=__commonJS({"node_modules/undici/lib/api/api-upgrade.js"(exports,module){"use strict";var{InvalidArgumentError,SocketError}=require_errors(),{AsyncResource}=__require("node:async_hooks"),assert=__require("node:assert"),util=require_util(),{kHTTP2Stream}=require_symbols(),{addSignal,removeSignal}=require_abort_signal(),UpgradeHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!="object")throw new InvalidArgumentError("invalid opts");if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");let{signal,opaque,responseHeaders}=opts;if(signal&&typeof signal.on!="function"&&typeof signal.addEventListener!="function")throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=responseHeaders||null,this.opaque=opaque||null,this.callback=callback,this.abort=null,this.context=null,addSignal(this,signal)}onRequestStart(controller,context){if(this.reason){controller.abort(this.reason);return}assert(this.callback),this.abort=reason=>controller.abort(reason),this.context=context}onResponseStart(){throw new SocketError("bad upgrade",null)}onRequestUpgrade(controller,statusCode,headers,socket){let expectedStatusCode=socket[kHTTP2Stream]===!0?200:101;if(statusCode!==expectedStatusCode){let socketInfo=socket[kHTTP2Stream]===!0?null:util.getSocketInfo(socket);controller.abort(new SocketError("bad upgrade",socketInfo));return}let{callback,opaque,context}=this;removeSignal(this),this.callback=null;let rawHeaders=controller?.rawHeaders,responseHeaders=this.responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers;this.runInAsyncScope(callback,null,null,{headers:responseHeaders,socket,opaque,context})}onResponseError(_controller,err){let{callback,opaque}=this;removeSignal(this),callback&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})}))}};function upgrade(opts,callback){if(callback===void 0)return new Promise((resolve,reject)=>{upgrade.call(this,opts,(err,data)=>err?reject(err):resolve(data))});try{let upgradeHandler=new UpgradeHandler(opts,callback),upgradeOpts={...opts,method:opts.method||"GET",upgrade:opts.protocol||"Websocket"};this.dispatch(upgradeOpts,upgradeHandler)}catch(err){if(typeof callback!="function")throw err;let opaque=opts?.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module.exports=upgrade}});var require_api_connect=__commonJS({"node_modules/undici/lib/api/api-connect.js"(exports,module){"use strict";var assert=__require("node:assert"),{AsyncResource}=__require("node:async_hooks"),{InvalidArgumentError,SocketError}=require_errors(),util=require_util(),{addSignal,removeSignal}=require_abort_signal(),ConnectHandler=class extends AsyncResource{constructor(opts,callback){if(!opts||typeof opts!="object")throw new InvalidArgumentError("invalid opts");if(typeof callback!="function")throw new InvalidArgumentError("invalid callback");let{signal,opaque,responseHeaders}=opts;if(signal&&typeof signal.on!="function"&&typeof signal.addEventListener!="function")throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=opaque||null,this.responseHeaders=responseHeaders||null,this.callback=callback,this.abort=null,addSignal(this,signal)}onRequestStart(controller,context){if(this.reason){controller.abort(this.reason);return}assert(this.callback),this.abort=reason=>controller.abort(reason),this.context=context}onResponseStart(){throw new SocketError("bad connect",null)}onRequestUpgrade(controller,statusCode,headers,socket){let{callback,opaque,context}=this;removeSignal(this),this.callback=null;let responseHeaders=headers,rawHeaders=controller?.rawHeaders;responseHeaders!=null&&(responseHeaders=this.responseHeaders==="raw"?util.parseRawHeaders(rawHeaders):headers),this.runInAsyncScope(callback,null,null,{statusCode,headers:responseHeaders,socket,opaque,context})}onResponseError(_controller,err){let{callback,opaque}=this;removeSignal(this),callback&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(callback,null,err,{opaque})}))}};function connect(opts,callback){if(callback===void 0)return new Promise((resolve,reject)=>{connect.call(this,opts,(err,data)=>err?reject(err):resolve(data))});try{let connectHandler=new ConnectHandler(opts,callback),connectOptions={...opts,method:"CONNECT"};this.dispatch(connectOptions,connectHandler)}catch(err){if(typeof callback!="function")throw err;let opaque=opts?.opaque;queueMicrotask(()=>callback(err,{opaque}))}}module.exports=connect}});var require_api=__commonJS({"node_modules/undici/lib/api/index.js"(exports,module){"use strict";module.exports.request=require_api_request();module.exports.stream=require_api_stream();module.exports.pipeline=require_api_pipeline();module.exports.upgrade=require_api_upgrade();module.exports.connect=require_api_connect()}});var require_mock_errors=__commonJS({"node_modules/undici/lib/mock/mock-errors.js"(exports,module){"use strict";var{UndiciError}=require_errors(),kMockNotMatchedError=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),MockNotMatchedError=class extends UndiciError{constructor(message){super(message),this.name="MockNotMatchedError",this.message=message||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](instance){return instance&&instance[kMockNotMatchedError]===!0}get[kMockNotMatchedError](){return!0}};module.exports={MockNotMatchedError}}});var require_mock_symbols=__commonJS({"node_modules/undici/lib/mock/mock-symbols.js"(exports,module){"use strict";module.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}}});var require_mock_utils=__commonJS({"node_modules/undici/lib/mock/mock-utils.js"(exports,module){"use strict";var{MockNotMatchedError}=require_mock_errors(),{kDispatches,kMockAgent,kOriginalDispatch,kOrigin,kGetNetConnect,kTotalDispatchCount}=require_mock_symbols(),{serializePathWithQuery,parseHeaders}=require_util(),{STATUS_CODES}=__require("node:http"),{types:{isPromise}}=__require("node:util"),{InvalidArgumentError}=require_errors();function matchValue(match,value){return typeof match=="string"?match===value:match instanceof RegExp?match.test(value):typeof match=="function"?match(value)===!0:!1}function lowerCaseEntries(headers){return Object.fromEntries(Object.entries(headers).map(([headerName,headerValue])=>[headerName.toLocaleLowerCase(),headerValue]))}function getHeaderByName(headers,key){if(Array.isArray(headers)){for(let i=0;i<headers.length;i+=2)if(headers[i].toLocaleLowerCase()===key.toLocaleLowerCase())return headers[i+1];return}else return typeof headers.get=="function"?headers.get(key):lowerCaseEntries(headers)[key.toLocaleLowerCase()]}function buildHeadersFromArray(headers){let clone=headers.slice(),entries=[];for(let index3=0;index3<clone.length;index3+=2)entries.push([clone[index3],clone[index3+1]]);return Object.fromEntries(entries)}function matchHeaders(mockDispatch2,headers){if(typeof mockDispatch2.headers=="function")return Array.isArray(headers)&&(headers=buildHeadersFromArray(headers)),mockDispatch2.headers(headers?lowerCaseEntries(headers):{});if(typeof mockDispatch2.headers>"u")return!0;if(typeof headers!="object"||typeof mockDispatch2.headers!="object")return!1;for(let[matchHeaderName,matchHeaderValue]of Object.entries(mockDispatch2.headers)){let headerValue=getHeaderByName(headers,matchHeaderName);if(!matchValue(matchHeaderValue,headerValue))return!1}return!0}function normalizeSearchParams(query){if(typeof query!="string")return query;let originalQp=new URLSearchParams(query),normalizedQp=new URLSearchParams;for(let[key,value]of originalQp.entries()){if(key=key.replace("[]",""),/^(['"]).*\1$/.test(value)){normalizedQp.append(key,value);continue}if(value.includes(",")){let values=value.split(",");for(let v of values)normalizedQp.append(key,v);continue}normalizedQp.append(key,value)}return normalizedQp}function safeUrl(path){if(typeof path!="string")return path;let pathSegments=path.split("?",3);if(pathSegments.length!==2)return path;let qp=new URLSearchParams(pathSegments.pop());return qp.sort(),[...pathSegments,qp.toString()].join("?")}function matchKey(mockDispatch2,{path,method,body,headers}){let pathMatch=matchValue(mockDispatch2.path,path),methodMatch=matchValue(mockDispatch2.method,method),bodyMatch=typeof mockDispatch2.body<"u"?matchValue(mockDispatch2.body,body):!0,headersMatch=matchHeaders(mockDispatch2,headers);return pathMatch&&methodMatch&&bodyMatch&&headersMatch}function getResponseData(data){return Buffer.isBuffer(data)||data instanceof Uint8Array||data instanceof ArrayBuffer?data:typeof data=="object"?JSON.stringify(data):data?data.toString():""}function getMockDispatch(mockDispatches,key){let basePath=key.query?serializePathWithQuery(key.path,key.query):key.path,resolvedPath=typeof basePath=="string"?safeUrl(basePath):basePath,resolvedPathWithoutTrailingSlash=removeTrailingSlash(resolvedPath),matchedMockDispatches=mockDispatches.filter(({consumed})=>!consumed).filter(({path,ignoreTrailingSlash})=>ignoreTrailingSlash?matchValue(removeTrailingSlash(safeUrl(path)),resolvedPathWithoutTrailingSlash):matchValue(safeUrl(path),resolvedPath));if(matchedMockDispatches.length===0)throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);if(matchedMockDispatches=matchedMockDispatches.filter(({method})=>matchValue(method,key.method)),matchedMockDispatches.length===0)throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);if(matchedMockDispatches=matchedMockDispatches.filter(({body})=>typeof body<"u"?matchValue(body,key.body):!0),matchedMockDispatches.length===0)throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);if(matchedMockDispatches=matchedMockDispatches.filter(mockDispatch2=>matchHeaders(mockDispatch2,key.headers)),matchedMockDispatches.length===0){let headers=typeof key.headers=="object"?JSON.stringify(key.headers):key.headers;throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`)}return matchedMockDispatches[0]}function addMockDispatch(mockDispatches,key,data,opts){let baseData={timesInvoked:0,times:1,persist:!1,consumed:!1,...opts},replyData=typeof data=="function"?{callback:data}:{...data},newMockDispatch={...baseData,...key,pending:!0,data:{error:null,...replyData}};return mockDispatches.push(newMockDispatch),mockDispatches[kTotalDispatchCount]=(mockDispatches[kTotalDispatchCount]||0)+1,newMockDispatch}function deleteMockDispatch(mockDispatches,key){let index3=mockDispatches.findIndex(dispatch=>dispatch.consumed?matchKey(dispatch,key):!1);index3!==-1&&mockDispatches.splice(index3,1)}function removeTrailingSlash(path){for(;path.endsWith("/");)path=path.slice(0,-1);return path.length===0&&(path="/"),path}function buildKey(opts){let{path,method,body,headers,query}=opts;return{path,method,body,headers,query}}function generateKeyValues(data){let keys=Object.keys(data),result=[];for(let i=0;i<keys.length;++i){let key=keys[i],value=data[key],name=Buffer.from(`${key}`);if(Array.isArray(value))for(let j=0;j<value.length;++j)result.push(name,Buffer.from(`${value[j]}`));else result.push(name,Buffer.from(`${value}`))}return result}function getStatusText(statusCode){return STATUS_CODES[statusCode]||"unknown"}async function getResponse(body){let buffers=[];for await(let data of body)buffers.push(data);return Buffer.concat(buffers).toString("utf8")}function mockDispatch(opts,handler){let key=buildKey(opts),mockDispatch2=getMockDispatch(this[kDispatches],key),mockDispatches=this[kDispatches];mockDispatch2.timesInvoked++;let{timesInvoked,times}=mockDispatch2;if(mockDispatch2.consumed=!mockDispatch2.persist&&timesInvoked>=times,mockDispatch2.pending=timesInvoked<times,mockDispatch2.data.callback){let callbackResult=mockDispatch2.data.callback(opts);if(isPromise(callbackResult))return callbackResult.then(resolvedData=>{mockDispatch2.data={...mockDispatch2.data,...resolvedData},dispatchMockReply(mockDispatches,mockDispatch2,key,opts,handler)},error2=>{deleteMockDispatch(mockDispatches,key),handler.onResponseError(null,error2)}),!0;mockDispatch2.data={...mockDispatch2.data,...callbackResult}}return dispatchMockReply(mockDispatches,mockDispatch2,key,opts,handler)}function dispatchMockReply(mockDispatches,mockDispatch2,key,opts,handler){let{data:{statusCode,data,headers,trailers,error:error2},delay}=mockDispatch2;if(error2!==null)return deleteMockDispatch(mockDispatches,key),handler.onResponseError(null,error2),!0;let aborted=!1,timer=null,controller={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:reason=>{aborted||(aborted=!0,timer!==null&&(clearTimeout(timer),timer=null),handler.onResponseError?.(controller,reason))}};handler.onRequestStart?.(controller,null),typeof delay=="number"&&delay>0?timer=setTimeout(()=>{timer=null,handleReply(mockDispatches)},delay):handleReply(mockDispatches);function handleReply(mockDispatches2,_data=data){if(aborted)return;let optsHeaders=Array.isArray(opts.headers)?buildHeadersFromArray(opts.headers):opts.headers,body=typeof _data=="function"?_data({...opts,headers:optsHeaders}):_data;if(isPromise(body))return body.then(newData=>handleReply(mockDispatches2,newData));if(aborted)return;let responseData=getResponseData(body),responseHeaders=generateKeyValues(headers),responseTrailers=generateKeyValues(trailers);controller.rawHeaders=responseHeaders,controller.rawTrailers=responseTrailers,handler.onResponseStart?.(controller,statusCode,parseHeaders(responseHeaders),getStatusText(statusCode)),handler.onResponseData?.(controller,Buffer.from(responseData)),handler.onResponseEnd?.(controller,parseHeaders(responseTrailers)),deleteMockDispatch(mockDispatches2,key)}return!0}function buildMockDispatch(){let agent=this[kMockAgent],origin=this[kOrigin],originalDispatch=this[kOriginalDispatch];return function(opts,handler){if(agent.isMockActive)try{mockDispatch.call(this,opts,handler)}catch(error2){if(error2.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){let netConnect=agent[kGetNetConnect](),totalInterceptsCount=this[kDispatches][kTotalDispatchCount]||this[kDispatches].length,interceptsMessage=`, ${this[kDispatches].filter(({consumed})=>!consumed).length} interceptor(s) remaining out of ${totalInterceptsCount} defined`;if(netConnect===!1)throw new MockNotMatchedError(`${error2.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)${interceptsMessage}`);if(checkNetConnect(netConnect,origin))originalDispatch.call(this,"__mockAgentBodyForDispatch"in opts?{...opts,body:opts.__mockAgentBodyForDispatch}:opts,handler);else throw new MockNotMatchedError(`${error2.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)${interceptsMessage}`)}else throw error2}else originalDispatch.call(this,opts,handler)}}function checkNetConnect(netConnect,origin){let url=new URL(origin);return netConnect===!0?!0:!!(Array.isArray(netConnect)&&netConnect.some(matcher=>matchValue(matcher,url.host)))}function normalizeOrigin(origin){return typeof origin!="string"&&!(origin instanceof URL)?origin:origin instanceof URL?origin.origin:origin.toLowerCase()}function buildAndValidateMockOptions(opts){let{agent,...mockOptions}=opts;if("enableCallHistory"in mockOptions&&typeof mockOptions.enableCallHistory!="boolean")throw new InvalidArgumentError("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in mockOptions&&typeof mockOptions.acceptNonStandardSearchParameters!="boolean")throw new InvalidArgumentError("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in mockOptions&&typeof mockOptions.ignoreTrailingSlash!="boolean")throw new InvalidArgumentError("options.ignoreTrailingSlash must to be a boolean");return mockOptions}module.exports={getResponseData,getMockDispatch,addMockDispatch,deleteMockDispatch,buildKey,generateKeyValues,matchValue,getResponse,getStatusText,mockDispatch,buildMockDispatch,checkNetConnect,buildAndValidateMockOptions,getHeaderByName,buildHeadersFromArray,normalizeSearchParams,normalizeOrigin}}});var require_mock_interceptor=__commonJS({"node_modules/undici/lib/mock/mock-interceptor.js"(exports,module){"use strict";var{getResponseData,buildKey,addMockDispatch}=require_mock_utils(),{kDispatches,kDispatchKey,kDefaultHeaders,kDefaultTrailers,kContentLength,kMockDispatch,kIgnoreTrailingSlash}=require_mock_symbols(),{InvalidArgumentError}=require_errors(),{serializePathWithQuery}=require_util(),{types:{isPromise}}=__require("node:util"),MockScope=class{constructor(mockDispatch){this[kMockDispatch]=mockDispatch}delay(waitInMs){if(typeof waitInMs!="number"||!Number.isInteger(waitInMs)||waitInMs<=0)throw new InvalidArgumentError("waitInMs must be a valid integer > 0");return this[kMockDispatch].delay=waitInMs,this}persist(){return this[kMockDispatch].persist=!0,this}times(repeatTimes){if(typeof repeatTimes!="number"||!Number.isInteger(repeatTimes)||repeatTimes<=0)throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");return this[kMockDispatch].times=repeatTimes,this}},MockInterceptor=class{constructor(opts,mockDispatches){if(typeof opts!="object")throw new InvalidArgumentError("opts must be an object");if(typeof opts.path>"u")throw new InvalidArgumentError("opts.path must be defined");if(typeof opts.method>"u"&&(opts.method="GET"),typeof opts.path=="string")if(opts.query)opts.path=serializePathWithQuery(opts.path,opts.query);else{let parsedURL=new URL(opts.path,"data://");opts.path=parsedURL.pathname+parsedURL.search}typeof opts.method=="string"&&(opts.method=opts.method.toUpperCase()),this[kDispatchKey]=buildKey(opts),this[kDispatches]=mockDispatches,this[kIgnoreTrailingSlash]=opts.ignoreTrailingSlash??!1,this[kDefaultHeaders]={},this[kDefaultTrailers]={},this[kContentLength]=!1}createMockScopeDispatchData({statusCode,data,responseOptions}){let responseData=getResponseData(data),contentLength=this[kContentLength]?{"content-length":responseData.length}:{},headers={...this[kDefaultHeaders],...contentLength,...responseOptions.headers},trailers={...this[kDefaultTrailers],...responseOptions.trailers};return{statusCode,data,headers,trailers}}validateReplyParameters(replyParameters){if(typeof replyParameters.statusCode>"u")throw new InvalidArgumentError("statusCode must be defined");if(typeof replyParameters.responseOptions!="object"||replyParameters.responseOptions===null)throw new InvalidArgumentError("responseOptions must be an object")}reply(replyOptionsCallbackOrStatusCode){if(typeof replyOptionsCallbackOrStatusCode=="function"){let resolveReplyCallbackData=resolvedData=>{if(typeof resolvedData!="object"||resolvedData===null)throw new InvalidArgumentError("reply options callback must return an object");let replyParameters2={data:"",responseOptions:{},...resolvedData};return this.validateReplyParameters(replyParameters2),{...this.createMockScopeDispatchData(replyParameters2)}},wrappedDefaultsCallback=opts=>{let resolvedData=replyOptionsCallbackOrStatusCode(opts);return isPromise(resolvedData)?resolvedData.then(resolveReplyCallbackData):resolveReplyCallbackData(resolvedData)},newMockDispatch2=addMockDispatch(this[kDispatches],this[kDispatchKey],wrappedDefaultsCallback,{ignoreTrailingSlash:this[kIgnoreTrailingSlash]});return new MockScope(newMockDispatch2)}let replyParameters={statusCode:replyOptionsCallbackOrStatusCode,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(replyParameters);let dispatchData=this.createMockScopeDispatchData(replyParameters),newMockDispatch=addMockDispatch(this[kDispatches],this[kDispatchKey],dispatchData,{ignoreTrailingSlash:this[kIgnoreTrailingSlash]});return new MockScope(newMockDispatch)}replyWithError(error2){if(typeof error2>"u")throw new InvalidArgumentError("error must be defined");let newMockDispatch=addMockDispatch(this[kDispatches],this[kDispatchKey],{error:error2},{ignoreTrailingSlash:this[kIgnoreTrailingSlash]});return new MockScope(newMockDispatch)}defaultReplyHeaders(headers){if(typeof headers>"u")throw new InvalidArgumentError("headers must be defined");return this[kDefaultHeaders]=headers,this}defaultReplyTrailers(trailers){if(typeof trailers>"u")throw new InvalidArgumentError("trailers must be defined");return this[kDefaultTrailers]=trailers,this}replyContentLength(){return this[kContentLength]=!0,this}};module.exports.MockInterceptor=MockInterceptor;module.exports.MockScope=MockScope}});var require_mock_client=__commonJS({"node_modules/undici/lib/mock/mock-client.js"(exports,module){"use strict";var{promisify}=__require("node:util"),Client=require_client(),{buildMockDispatch}=require_mock_utils(),{kDispatches,kMockAgent,kClose,kOriginalClose,kOrigin,kOriginalDispatch,kConnected,kIgnoreTrailingSlash}=require_mock_symbols(),{MockInterceptor}=require_mock_interceptor(),Symbols2=require_symbols(),{InvalidArgumentError}=require_errors(),MockClient=class extends Client{constructor(origin,opts){if(!opts||!opts.agent||typeof opts.agent.dispatch!="function")throw new InvalidArgumentError("Argument opts.agent must implement Agent");super(origin,opts),this[kMockAgent]=opts.agent,this[kOrigin]=origin,this[kIgnoreTrailingSlash]=opts.ignoreTrailingSlash??!1,this[kDispatches]=[],this[kConnected]=1,this[kOriginalDispatch]=this.dispatch,this[kOriginalClose]=this.close.bind(this),this.dispatch=buildMockDispatch.call(this),this.close=this[kClose]}get[Symbols2.kConnected](){return this[kConnected]}intercept(opts){return new MockInterceptor(opts&&{ignoreTrailingSlash:this[kIgnoreTrailingSlash],...opts},this[kDispatches])}cleanMocks(){this[kDispatches]=[]}async[kClose](){await promisify(this[kOriginalClose])(),this[kConnected]=0,this[kMockAgent][Symbols2.kClients].delete(this[kOrigin])}};module.exports=MockClient}});var require_mock_call_history=__commonJS({"node_modules/undici/lib/mock/mock-call-history.js"(exports,module){"use strict";var{kMockCallHistoryAddLog}=require_mock_symbols(),{InvalidArgumentError}=require_errors();function handleFilterCallsWithOptions(criteria,options,handler,store,allLogs){switch(options.operator){case"OR":return store.push(...handler(criteria,allLogs)),store;case"AND":return handler(criteria,store);default:throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function buildAndValidateFilterCallsOptions(options={}){let finalOptions={};if("operator"in options){if(typeof options.operator!="string"||options.operator.toUpperCase()!=="OR"&&options.operator.toUpperCase()!=="AND")throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...finalOptions,operator:options.operator.toUpperCase()}}return finalOptions}function makeFilterCalls(parameterName){return(parameterValue,logs=this.logs)=>{if(typeof parameterValue=="string"||parameterValue==null)return logs.filter(log=>log[parameterName]===parameterValue);if(parameterValue instanceof RegExp)return logs.filter(log=>parameterValue.test(log[parameterName]));throw new InvalidArgumentError(`${parameterName} parameter should be one of string, regexp, undefined or null`)}}function computeUrlWithMaybeSearchParameters(requestInit){try{let url=new URL(requestInit.path,requestInit.origin);return url.search.length!==0||(url.search=new URLSearchParams(requestInit.query).toString()),url}catch(error2){throw new InvalidArgumentError("An error occurred when computing MockCallHistoryLog.url",{cause:error2})}}var MockCallHistoryLog=class{constructor(requestInit={}){this.body=requestInit.body,this.headers=requestInit.headers,this.method=requestInit.method;let url=computeUrlWithMaybeSearchParameters(requestInit);this.fullUrl=url.toString(),this.origin=url.origin,this.path=url.pathname,this.searchParams=Object.fromEntries(url.searchParams),this.protocol=url.protocol,this.host=url.host,this.port=url.port,this.hash=url.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let options={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"},result="";return this.toMap().forEach((value,key)=>{(typeof value=="string"||value===void 0||value===null)&&(result=`${result}${key}${options.betweenKeyValueSeparator}${value}${options.betweenPairSeparator}`),(typeof value=="object"&&value!==null||Array.isArray(value))&&(result=`${result}${key}${options.betweenKeyValueSeparator}${JSON.stringify(value)}${options.betweenPairSeparator}`)}),result.slice(0,-1)}},MockCallHistory=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(number){if(typeof number!="number")throw new InvalidArgumentError("nthCall must be called with a number");if(!Number.isInteger(number))throw new InvalidArgumentError("nthCall must be called with an integer");if(Math.sign(number)!==1)throw new InvalidArgumentError("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(number-1)}filterCalls(criteria,options){if(this.logs.length===0)return this.logs;if(typeof criteria=="function")return this.logs.filter(criteria);if(criteria instanceof RegExp)return this.logs.filter(log=>criteria.test(log.toString()));if(typeof criteria=="object"&&criteria!==null){if(Object.keys(criteria).length===0)return this.logs;let finalOptions={operator:"OR",...buildAndValidateFilterCallsOptions(options)},maybeDuplicatedLogsFiltered=finalOptions.operator==="AND"?this.logs:[];return"protocol"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.protocol,finalOptions,this.filterCallsByProtocol,maybeDuplicatedLogsFiltered,this.logs)),"host"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.host,finalOptions,this.filterCallsByHost,maybeDuplicatedLogsFiltered,this.logs)),"port"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.port,finalOptions,this.filterCallsByPort,maybeDuplicatedLogsFiltered,this.logs)),"origin"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.origin,finalOptions,this.filterCallsByOrigin,maybeDuplicatedLogsFiltered,this.logs)),"path"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.path,finalOptions,this.filterCallsByPath,maybeDuplicatedLogsFiltered,this.logs)),"hash"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.hash,finalOptions,this.filterCallsByHash,maybeDuplicatedLogsFiltered,this.logs)),"fullUrl"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.fullUrl,finalOptions,this.filterCallsByFullUrl,maybeDuplicatedLogsFiltered,this.logs)),"method"in criteria&&(maybeDuplicatedLogsFiltered=handleFilterCallsWithOptions(criteria.method,finalOptions,this.filterCallsByMethod,maybeDuplicatedLogsFiltered,this.logs)),[...new Set(maybeDuplicatedLogsFiltered)]}throw new InvalidArgumentError("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=makeFilterCalls.call(this,"protocol");filterCallsByHost=makeFilterCalls.call(this,"host");filterCallsByPort=makeFilterCalls.call(this,"port");filterCallsByOrigin=makeFilterCalls.call(this,"origin");filterCallsByPath=makeFilterCalls.call(this,"path");filterCallsByHash=makeFilterCalls.call(this,"hash");filterCallsByFullUrl=makeFilterCalls.call(this,"fullUrl");filterCallsByMethod=makeFilterCalls.call(this,"method");clear(){this.logs=[]}[kMockCallHistoryAddLog](requestInit){let log=new MockCallHistoryLog(requestInit);return this.logs.push(log),log}*[Symbol.iterator](){for(let log of this.calls())yield log}};module.exports.MockCallHistory=MockCallHistory;module.exports.MockCallHistoryLog=MockCallHistoryLog}});var require_mock_pool=__commonJS({"node_modules/undici/lib/mock/mock-pool.js"(exports,module){"use strict";var{promisify}=__require("node:util"),Pool=require_pool(),{buildMockDispatch}=require_mock_utils(),{kDispatches,kMockAgent,kClose,kOriginalClose,kOrigin,kOriginalDispatch,kConnected,kIgnoreTrailingSlash}=require_mock_symbols(),{MockInterceptor}=require_mock_interceptor(),Symbols2=require_symbols(),{InvalidArgumentError}=require_errors(),MockPool=class extends Pool{constructor(origin,opts){if(!opts||!opts.agent||typeof opts.agent.dispatch!="function")throw new InvalidArgumentError("Argument opts.agent must implement Agent");super(origin,opts),this[kMockAgent]=opts.agent,this[kOrigin]=origin,this[kIgnoreTrailingSlash]=opts.ignoreTrailingSlash??!1,this[kDispatches]=[],this[kConnected]=1,this[kOriginalDispatch]=this.dispatch,this[kOriginalClose]=this.close.bind(this),this.dispatch=buildMockDispatch.call(this),this.close=this[kClose]}get[Symbols2.kConnected](){return this[kConnected]}intercept(opts){return new MockInterceptor(opts&&{ignoreTrailingSlash:this[kIgnoreTrailingSlash],...opts},this[kDispatches])}cleanMocks(){this[kDispatches]=[]}async[kClose](){await promisify(this[kOriginalClose])(),this[kConnected]=0,this[kMockAgent][Symbols2.kClients].delete(this[kOrigin])}};module.exports=MockPool}});var require_pending_interceptors_formatter=__commonJS({"node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports,module){"use strict";var{Transform}=__require("node:stream"),{Console}=__require("node:console"),PERSISTENT=process.versions.icu?"\u2705":"Y ",NOT_PERSISTENT=process.versions.icu?"\u274C":"N ";module.exports=class{constructor({disableColors}={}){this.transform=new Transform({transform(chunk,_enc,cb){cb(null,chunk)}}),this.logger=new Console({stdout:this.transform,inspectOptions:{colors:!disableColors&&!process.env.CI}})}format(pendingInterceptors){let withPrettyHeaders=pendingInterceptors.map(({method,path,data:{statusCode},persist,times,timesInvoked,origin})=>({Method:method,Origin:origin,Path:path,"Status code":statusCode,Persistent:persist?PERSISTENT:NOT_PERSISTENT,Invocations:timesInvoked,Remaining:persist?1/0:times-timesInvoked}));return this.logger.table(withPrettyHeaders),this.transform.read().toString()}}}});var require_mock_agent=__commonJS({"node_modules/undici/lib/mock/mock-agent.js"(exports,module){"use strict";var{kClients}=require_symbols(),Agent=require_agent(),{kAgent,kMockAgentSet,kMockAgentGet,kDispatches,kIsMockActive,kNetConnect,kGetNetConnect,kOptions,kFactory,kMockAgentRegisterCallHistory,kMockAgentIsCallHistoryEnabled,kMockAgentAddCallHistoryLog,kMockAgentMockCallHistoryInstance,kMockAgentAcceptsNonStandardSearchParameters,kMockCallHistoryAddLog,kIgnoreTrailingSlash}=require_mock_symbols(),MockClient=require_mock_client(),MockPool=require_mock_pool(),{matchValue,normalizeSearchParams,buildAndValidateMockOptions,normalizeOrigin}=require_mock_utils(),{InvalidArgumentError,UndiciError}=require_errors(),Dispatcher=require_dispatcher(),PendingInterceptorsFormatter=require_pending_interceptors_formatter(),{MockCallHistory}=require_mock_call_history(),MockAgent=class extends Dispatcher{constructor(opts={}){super(opts);let mockOptions=buildAndValidateMockOptions(opts);if(this[kNetConnect]=!0,this[kIsMockActive]=!0,this[kMockAgentIsCallHistoryEnabled]=mockOptions.enableCallHistory??!1,this[kMockAgentAcceptsNonStandardSearchParameters]=mockOptions.acceptNonStandardSearchParameters??!1,this[kIgnoreTrailingSlash]=mockOptions.ignoreTrailingSlash??!1,opts?.agent&&typeof opts.agent.dispatch!="function")throw new InvalidArgumentError("Argument opts.agent must implement Agent");let agent=opts?.agent?opts.agent:new Agent(opts);this[kAgent]=agent,this[kClients]=agent[kClients],this[kOptions]=mockOptions,this[kMockAgentIsCallHistoryEnabled]&&this[kMockAgentRegisterCallHistory]()}get(origin){let normalizedOrigin=normalizeOrigin(origin),originKey=this[kIgnoreTrailingSlash]?normalizedOrigin.replace(/\/$/,""):normalizedOrigin,dispatcher=this[kMockAgentGet](originKey);return dispatcher||(dispatcher=this[kFactory](originKey),this[kMockAgentSet](originKey,dispatcher)),dispatcher}dispatch(opts,handler){opts.origin=normalizeOrigin(opts.origin),this.get(opts.origin),this[kMockAgentAddCallHistoryLog](opts);let acceptNonStandardSearchParameters=this[kMockAgentAcceptsNonStandardSearchParameters],dispatchOpts={...opts};if(acceptNonStandardSearchParameters&&dispatchOpts.path){let[path,searchParams]=dispatchOpts.path.split("?"),normalizedSearchParams=normalizeSearchParams(searchParams,acceptNonStandardSearchParameters);dispatchOpts.path=`${path}?${normalizedSearchParams}`}return this[kAgent].dispatch(dispatchOpts,handler)}async close(){this.clearCallHistory(),await this[kAgent].close(),this[kClients].clear()}deactivate(){this[kIsMockActive]=!1}activate(){this[kIsMockActive]=!0}enableNetConnect(matcher){if(typeof matcher=="string"||typeof matcher=="function"||matcher instanceof RegExp)Array.isArray(this[kNetConnect])?this[kNetConnect].push(matcher):this[kNetConnect]=[matcher];else if(typeof matcher>"u")this[kNetConnect]=!0;else throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[kNetConnect]=!1}enableCallHistory(){return this[kMockAgentIsCallHistoryEnabled]=!0,this}disableCallHistory(){return this[kMockAgentIsCallHistoryEnabled]=!1,this}getCallHistory(){return this[kMockAgentMockCallHistoryInstance]}clearCallHistory(){this[kMockAgentMockCallHistoryInstance]!==void 0&&this[kMockAgentMockCallHistoryInstance].clear()}get isMockActive(){return this[kIsMockActive]}[kMockAgentRegisterCallHistory](){this[kMockAgentMockCallHistoryInstance]===void 0&&(this[kMockAgentMockCallHistoryInstance]=new MockCallHistory)}[kMockAgentAddCallHistoryLog](opts){this[kMockAgentIsCallHistoryEnabled]&&(this[kMockAgentRegisterCallHistory](),this[kMockAgentMockCallHistoryInstance][kMockCallHistoryAddLog](opts))}[kMockAgentSet](origin,dispatcher){this[kClients].set(origin,dispatcher)}[kFactory](origin){let mockOptions=Object.assign({agent:this},this[kOptions]);return this[kOptions]&&this[kOptions].connections===1?new MockClient(origin,mockOptions):new MockPool(origin,mockOptions)}[kMockAgentGet](origin){let dispatcher=this[kClients].get(origin);if(dispatcher)return dispatcher;if(typeof origin!="string"){let dispatcher2=this[kFactory]("http://localhost:9999");return this[kMockAgentSet](origin,dispatcher2),dispatcher2}for(let[keyMatcher,nonExplicitDispatcher]of Array.from(this[kClients]))if(nonExplicitDispatcher&&typeof keyMatcher!="string"&&matchValue(keyMatcher,origin)){let dispatcher2=this[kFactory](origin);return this[kMockAgentSet](origin,dispatcher2),dispatcher2[kDispatches]=nonExplicitDispatcher[kDispatches],dispatcher2}}[kGetNetConnect](){return this[kNetConnect]}pendingInterceptors(){let mockAgentClients=this[kClients];return Array.from(mockAgentClients.entries()).flatMap(([origin,dispatcher])=>dispatcher[kDispatches].map(dispatch=>({...dispatch,origin}))).filter(({pending})=>pending)}assertNoPendingInterceptors({pendingInterceptorsFormatter=new PendingInterceptorsFormatter}={}){let pending=this.pendingInterceptors();if(pending.length!==0)throw new UndiciError(pending.length===1?`1 interceptor is pending:
42
+
43
+ ${pendingInterceptorsFormatter.format(pending)}`.trim():`${pending.length} interceptors are pending:
44
+
45
+ ${pendingInterceptorsFormatter.format(pending)}`.trim())}};module.exports=MockAgent}});var require_snapshot_utils=__commonJS({"node_modules/undici/lib/mock/snapshot-utils.js"(exports,module){"use strict";var{InvalidArgumentError}=require_errors(),{runtimeFeatures}=require_runtime_features();function createHeaderFilters(matchOptions={}){let{ignoreHeaders=[],excludeHeaders=[],matchHeaders=[],caseSensitive=!1}=matchOptions;return{ignore:new Set(ignoreHeaders.map(header=>caseSensitive?header:header.toLowerCase())),exclude:new Set(excludeHeaders.map(header=>caseSensitive?header:header.toLowerCase())),match:new Set(matchHeaders.map(header=>caseSensitive?header:header.toLowerCase()))}}var crypto=runtimeFeatures.has("crypto")?__require("node:crypto"):null,hashId=crypto?.hash?value=>crypto.hash("sha256",value,"base64url"):value=>Buffer.from(value).toString("base64url");function isUndiciHeaders(headers){return Array.isArray(headers)&&(headers.length&1)===0}function isUrlExcludedFactory(excludePatterns=[]){return excludePatterns.length===0?()=>!1:function(url){let urlLowerCased;for(let pattern of excludePatterns)if(typeof pattern=="string"){if(urlLowerCased||(urlLowerCased=url.toLowerCase()),urlLowerCased.includes(pattern.toLowerCase()))return!0}else if(pattern instanceof RegExp&&pattern.test(url))return!0;return!1}}function normalizeHeaders(headers){let normalizedHeaders={};if(!headers)return normalizedHeaders;if(isUndiciHeaders(headers)){for(let i=0;i<headers.length;i+=2){let key=headers[i],value=headers[i+1];if(key&&value!==void 0){let keyStr=Buffer.isBuffer(key)?key.toString():key,valueStr=Buffer.isBuffer(value)?value.toString():value;normalizedHeaders[keyStr.toLowerCase()]=valueStr}}return normalizedHeaders}if(headers&&typeof headers=="object")for(let[key,value]of Object.entries(headers))key&&typeof key=="string"&&(normalizedHeaders[key.toLowerCase()]=Array.isArray(value)?value.join(", "):String(value));return normalizedHeaders}var validSnapshotModes=["record","playback","update"];function validateSnapshotMode(mode){if(!validSnapshotModes.includes(mode))throw new InvalidArgumentError(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`)}module.exports={createHeaderFilters,hashId,isUndiciHeaders,normalizeHeaders,isUrlExcludedFactory,validateSnapshotMode}}});var require_snapshot_recorder=__commonJS({"node_modules/undici/lib/mock/snapshot-recorder.js"(exports,module){"use strict";var{writeFile,readFile,mkdir}=__require("node:fs/promises"),{dirname,resolve}=__require("node:path"),{setTimeout:setTimeout2,clearTimeout:clearTimeout2}=__require("node:timers"),{InvalidArgumentError,UndiciError}=require_errors(),{hashId,isUrlExcludedFactory,normalizeHeaders,createHeaderFilters}=require_snapshot_utils();function normalizeUrlForMatching(url,matchQuery,normalizeQuery){if(matchQuery===!1)return`${url.origin}${url.pathname}`;if(normalizeQuery){let normalized=String(normalizeQuery(url.searchParams)??"");return normalized?`${url.origin}${url.pathname}?${normalized}`:`${url.origin}${url.pathname}`}return url.toString()}function normalizeBodyForMatching(body,matchBody,normalizeBody){return matchBody===!1?"":normalizeBody?String(normalizeBody(body)??""):body?String(body):""}function formatRequestKey(opts,headerFilters,matchOptions={}){let url=new URL(opts.path,opts.origin),normalized=opts._normalizedHeaders||normalizeHeaders(opts.headers);return opts._normalizedHeaders||(opts._normalizedHeaders=normalized),{method:opts.method||"GET",url:normalizeUrlForMatching(url,matchOptions.matchQuery,matchOptions.normalizeQuery),headers:filterHeadersForMatching(normalized,headerFilters,matchOptions),body:normalizeBodyForMatching(opts.body,matchOptions.matchBody,matchOptions.normalizeBody)}}function filterHeadersForMatching(headers,headerFilters,matchOptions={}){if(!headers||typeof headers!="object")return{};let{caseSensitive=!1}=matchOptions,filtered={},{ignore,exclude,match}=headerFilters;for(let[key,value]of Object.entries(headers)){let headerKey=caseSensitive?key:key.toLowerCase();exclude.has(headerKey)||ignore.has(headerKey)||match.size!==0&&!match.has(headerKey)||(filtered[headerKey]=value)}return filtered}function filterHeadersForStorage(headers,headerFilters,matchOptions={}){if(!headers||typeof headers!="object")return{};let{caseSensitive=!1}=matchOptions,filtered={},{exclude:excludeSet}=headerFilters;for(let[key,value]of Object.entries(headers)){let headerKey=caseSensitive?key:key.toLowerCase();excludeSet.has(headerKey)||(filtered[headerKey]=value)}return filtered}function createRequestHash(formattedRequest){let parts=[formattedRequest.method,formattedRequest.url];if(formattedRequest.headers&&typeof formattedRequest.headers=="object"){let headerKeys=Object.keys(formattedRequest.headers).sort();for(let key of headerKeys){let values=Array.isArray(formattedRequest.headers[key])?formattedRequest.headers[key]:[formattedRequest.headers[key]];parts.push(key);for(let value of values.sort())parts.push(String(value))}}parts.push(formattedRequest.body);let content=parts.join("|");return hashId(content)}var SnapshotRecorder=class{#flushTimeout;#isUrlExcluded;#snapshots=new Map;#snapshotPath;#maxSnapshots=1/0;#autoFlush=!1;#headerFilters;constructor(options={}){this.#snapshotPath=options.snapshotPath,this.#maxSnapshots=options.maxSnapshots||1/0,this.#autoFlush=options.autoFlush||!1,this.flushInterval=options.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:options.matchHeaders||[],ignoreHeaders:options.ignoreHeaders||[],excludeHeaders:options.excludeHeaders||[],matchBody:options.matchBody!==!1,normalizeBody:options.normalizeBody||void 0,matchQuery:options.matchQuery!==!1,normalizeQuery:options.normalizeQuery||void 0,caseSensitive:options.caseSensitive||!1},this.#headerFilters=createHeaderFilters(this.matchOptions),this.shouldRecord=options.shouldRecord||(()=>!0),this.shouldPlayback=options.shouldPlayback||(()=>!0),this.#isUrlExcluded=isUrlExcludedFactory(options.excludeUrls),this.#autoFlush&&this.#snapshotPath&&this.#startAutoFlush()}async record(requestOpts,response){if(!this.shouldRecord(requestOpts)||this.isUrlExcluded(requestOpts))return;let request=formatRequestKey(requestOpts,this.#headerFilters,this.matchOptions),hash=createRequestHash(request),normalizedHeaders=normalizeHeaders(response.headers),responseData={statusCode:response.statusCode,headers:filterHeadersForStorage(normalizedHeaders,this.#headerFilters,this.matchOptions),body:Buffer.isBuffer(response.body)?response.body.toString("base64"):Buffer.from(String(response.body||"")).toString("base64"),trailers:response.trailers};if(this.#snapshots.size>=this.#maxSnapshots&&!this.#snapshots.has(hash)){let oldestKey=this.#snapshots.keys().next().value;this.#snapshots.delete(oldestKey)}let existingSnapshot=this.#snapshots.get(hash);existingSnapshot&&existingSnapshot.responses?(existingSnapshot.responses.push(responseData),existingSnapshot.timestamp=new Date().toISOString()):this.#snapshots.set(hash,{request,responses:[responseData],callCount:0,timestamp:new Date().toISOString()}),this.#autoFlush&&this.#snapshotPath&&this.#scheduleFlush()}isUrlExcluded(requestOpts){let url=new URL(requestOpts.path,requestOpts.origin).toString();return this.#isUrlExcluded(url)}findSnapshot(requestOpts){if(!this.shouldPlayback(requestOpts)||this.isUrlExcluded(requestOpts))return;let request=formatRequestKey(requestOpts,this.#headerFilters,this.matchOptions),hash=createRequestHash(request),snapshot=this.#snapshots.get(hash);if(!snapshot)return;let currentCallCount=snapshot.callCount||0,responseIndex=Math.min(currentCallCount,snapshot.responses.length-1);return snapshot.callCount=currentCallCount+1,{...snapshot,response:snapshot.responses[responseIndex]}}async loadSnapshots(filePath){let path=filePath||this.#snapshotPath;if(!path)throw new InvalidArgumentError("Snapshot path is required");try{let data=await readFile(resolve(path),"utf8"),parsed=JSON.parse(data);if(Array.isArray(parsed)){this.#snapshots.clear();for(let{hash,snapshot}of parsed)this.#snapshots.set(hash,snapshot)}else this.#snapshots=new Map(Object.entries(parsed))}catch(error2){if(error2.code==="ENOENT")this.#snapshots.clear();else throw new UndiciError(`Failed to load snapshots from ${path}`,{cause:error2})}}async saveSnapshots(filePath){let path=filePath||this.#snapshotPath;if(!path)throw new InvalidArgumentError("Snapshot path is required");let resolvedPath=resolve(path);await mkdir(dirname(resolvedPath),{recursive:!0});let data=Array.from(this.#snapshots.entries()).map(([hash,snapshot])=>({hash,snapshot}));await writeFile(resolvedPath,JSON.stringify(data,null,2),{flush:!0})}clear(){this.#snapshots.clear()}getSnapshots(){return Array.from(this.#snapshots.values())}size(){return this.#snapshots.size}resetCallCounts(){for(let snapshot of this.#snapshots.values())snapshot.callCount=0}deleteSnapshot(requestOpts){let request=formatRequestKey(requestOpts,this.#headerFilters,this.matchOptions),hash=createRequestHash(request);return this.#snapshots.delete(hash)}getSnapshotInfo(requestOpts){let request=formatRequestKey(requestOpts,this.#headerFilters,this.matchOptions),hash=createRequestHash(request),snapshot=this.#snapshots.get(hash);return snapshot?{hash,request:snapshot.request,responseCount:snapshot.responses?snapshot.responses.length:snapshot.response?1:0,callCount:snapshot.callCount||0,timestamp:snapshot.timestamp}:null}replaceSnapshots(snapshotData){if(this.#snapshots.clear(),Array.isArray(snapshotData))for(let{hash,snapshot}of snapshotData)this.#snapshots.set(hash,snapshot);else snapshotData&&typeof snapshotData=="object"&&(this.#snapshots=new Map(Object.entries(snapshotData)))}#startAutoFlush(){return this.#scheduleFlush()}#stopAutoFlush(){this.#flushTimeout&&(clearTimeout2(this.#flushTimeout),this.saveSnapshots().catch(()=>{}),this.#flushTimeout=null)}#scheduleFlush(){this.#flushTimeout=setTimeout2(()=>{this.saveSnapshots().catch(()=>{}),this.#autoFlush?this.#flushTimeout?.refresh():this.#flushTimeout=null},1e3)}destroy(){this.#stopAutoFlush(),this.#flushTimeout&&(clearTimeout2(this.#flushTimeout),this.#flushTimeout=null)}async close(){this.#snapshotPath&&this.#snapshots.size!==0&&await this.saveSnapshots(),this.destroy()}};module.exports={SnapshotRecorder,formatRequestKey,createRequestHash,filterHeadersForMatching,filterHeadersForStorage,createHeaderFilters}}});var require_snapshot_agent=__commonJS({"node_modules/undici/lib/mock/snapshot-agent.js"(exports,module){"use strict";var Agent=require_agent(),MockAgent=require_mock_agent(),{SnapshotRecorder}=require_snapshot_recorder(),{InvalidArgumentError,UndiciError}=require_errors(),util=require_util(),{validateSnapshotMode}=require_snapshot_utils(),kSnapshotRecorder=Symbol("kSnapshotRecorder"),kSnapshotMode=Symbol("kSnapshotMode"),kSnapshotPath=Symbol("kSnapshotPath"),kSnapshotLoaded=Symbol("kSnapshotLoaded"),kRealAgent=Symbol("kRealAgent"),warningEmitted=!1,SnapshotAgent=class extends MockAgent{constructor(opts={}){warningEmitted||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),warningEmitted=!0);let{mode="record",snapshotPath=null,...mockAgentOpts}=opts;if(super(mockAgentOpts),validateSnapshotMode(mode),(mode==="playback"||mode==="update")&&!snapshotPath)throw new InvalidArgumentError(`snapshotPath is required when mode is '${mode}'`);this[kSnapshotMode]=mode,this[kSnapshotPath]=snapshotPath,this[kSnapshotRecorder]=new SnapshotRecorder({snapshotPath:this[kSnapshotPath],mode:this[kSnapshotMode],maxSnapshots:opts.maxSnapshots,autoFlush:opts.autoFlush,flushInterval:opts.flushInterval,matchHeaders:opts.matchHeaders,ignoreHeaders:opts.ignoreHeaders,excludeHeaders:opts.excludeHeaders,matchBody:opts.matchBody,normalizeBody:opts.normalizeBody,matchQuery:opts.matchQuery,normalizeQuery:opts.normalizeQuery,caseSensitive:opts.caseSensitive,shouldRecord:opts.shouldRecord,shouldPlayback:opts.shouldPlayback,excludeUrls:opts.excludeUrls}),this[kSnapshotLoaded]=!1,(this[kSnapshotMode]==="record"||this[kSnapshotMode]==="update"||this[kSnapshotMode]==="playback"&&opts.excludeUrls&&opts.excludeUrls.length>0)&&(this[kRealAgent]=new Agent(opts)),(this[kSnapshotMode]==="playback"||this[kSnapshotMode]==="update")&&this[kSnapshotPath]&&this.loadSnapshots().catch(()=>{})}dispatch(opts,handler){let mode=this[kSnapshotMode];if(this[kSnapshotRecorder].isUrlExcluded(opts))return this[kRealAgent].dispatch(opts,handler);if(mode==="playback"||mode==="update"){if(!this[kSnapshotLoaded])return this.#asyncDispatch(opts,handler);let snapshot=this[kSnapshotRecorder].findSnapshot(opts);if(snapshot)return this.#replaySnapshot(snapshot,handler);if(mode==="update")return this.#recordAndReplay(opts,handler);{let error2=new UndiciError(`No snapshot found for ${opts.method||"GET"} ${opts.path}`);if(handler.onResponseError){handler.onResponseError(null,error2);return}throw error2}}else if(mode==="record")return this.#recordAndReplay(opts,handler)}async#asyncDispatch(opts,handler){return await this.loadSnapshots(),this.dispatch(opts,handler)}#recordAndReplay(opts,handler){let responseData={statusCode:null,headers:{},trailers:{},body:[]},self=this,recordingHandler={onRequestStart(controller,context){return handler.onRequestStart(controller,{...context,history:this.history})},onRequestUpgrade(controller,statusCode,headers,socket){return handler.onRequestUpgrade(controller,statusCode,headers,socket)},onResponseStart(controller,statusCode,headers,statusMessage){return responseData.statusCode=statusCode,responseData.headers=headers,handler.onResponseStart(controller,statusCode,headers,statusMessage)},onResponseData(controller,chunk){return responseData.body.push(chunk),handler.onResponseData(controller,chunk)},onResponseEnd(controller,trailers){responseData.trailers=trailers;let responseBody=Buffer.concat(responseData.body);self[kSnapshotRecorder].record(opts,{statusCode:responseData.statusCode,headers:responseData.headers,body:responseBody,trailers:responseData.trailers}).then(()=>handler.onResponseEnd(controller,trailers)).catch(error2=>handler.onResponseError(controller,error2))},onResponseError(controller,error2){return handler.onResponseError(controller,error2)}};return this[kRealAgent].dispatch(opts,recordingHandler)}#replaySnapshot(snapshot,handler){try{let{response}=snapshot,rawHeaders=response.headers?util.toRawHeaders(response.headers):[],rawTrailers=response.trailers?util.toRawHeaders(response.trailers):[],controller={rawHeaders,rawTrailers,pause(){},resume(){},abort(reason){this.aborted=!0,this.reason=reason},aborted:!1,paused:!1};handler.onRequestStart(controller),handler.onResponseStart(controller,response.statusCode,response.headers,response.statusMessage);let body=Buffer.from(response.body,"base64");handler.onResponseData(controller,body),handler.onResponseEnd(controller,response.trailers)}catch(error2){handler.onResponseError?.(null,error2)}}async loadSnapshots(filePath){await this[kSnapshotRecorder].loadSnapshots(filePath||this[kSnapshotPath]),this[kSnapshotLoaded]=!0,this[kSnapshotMode]==="playback"&&this.#setupMockInterceptors()}async saveSnapshots(filePath){return this[kSnapshotRecorder].saveSnapshots(filePath||this[kSnapshotPath])}#setupMockInterceptors(){for(let snapshot of this[kSnapshotRecorder].getSnapshots()){let{request,responses,response}=snapshot,url=new URL(request.url),mockPool=this.get(url.origin),responseData=responses?responses[0]:response;responseData&&mockPool.intercept({path:url.pathname+url.search,method:request.method,headers:request.headers,body:request.body}).reply(responseData.statusCode,responseData.body,{headers:responseData.headers,trailers:responseData.trailers}).persist()}}getRecorder(){return this[kSnapshotRecorder]}getMode(){return this[kSnapshotMode]}clearSnapshots(){this[kSnapshotRecorder].clear()}resetCallCounts(){this[kSnapshotRecorder].resetCallCounts()}deleteSnapshot(requestOpts){return this[kSnapshotRecorder].deleteSnapshot(requestOpts)}getSnapshotInfo(requestOpts){return this[kSnapshotRecorder].getSnapshotInfo(requestOpts)}replaceSnapshots(snapshotData){this[kSnapshotRecorder].replaceSnapshots(snapshotData)}async close(){this[kSnapshotMode]==="playback"?this[kSnapshotRecorder].destroy():await this[kSnapshotRecorder].close(),await this[kRealAgent]?.close(),await super.close()}};module.exports=SnapshotAgent}});var require_global2=__commonJS({"node_modules/undici/lib/global.js"(exports,module){"use strict";var globalDispatcher=Symbol.for("undici.globalDispatcher.2"),legacyGlobalDispatcher=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError}=require_errors(),Agent=require_agent(),Dispatcher1Wrapper=require_dispatcher1_wrapper(),fallbackDispatcher;getGlobalDispatcher()===void 0&&setGlobalDispatcher(new Agent);function setGlobalDispatcher(agent){if(!agent||typeof agent.dispatch!="function")throw new InvalidArgumentError("Argument agent must implement Agent");try{Object.defineProperty(globalThis,globalDispatcher,{value:agent,writable:!0,enumerable:!1,configurable:!1})}catch(err){if(err instanceof TypeError){fallbackDispatcher=agent;return}throw err}try{let legacyAgent=agent instanceof Dispatcher1Wrapper?agent:new Dispatcher1Wrapper(agent);Object.defineProperty(globalThis,legacyGlobalDispatcher,{value:legacyAgent,writable:!0,enumerable:!1,configurable:!1})}catch(err){if(!(err instanceof TypeError))throw err}}function getGlobalDispatcher(){return globalThis[globalDispatcher]??fallbackDispatcher}var installedExports=["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"];module.exports={setGlobalDispatcher,getGlobalDispatcher,installedExports}}});var require_decorator_handler=__commonJS({"node_modules/undici/lib/handler/decorator-handler.js"(exports,module){"use strict";var assert=__require("node:assert");module.exports=class{#handler;#onCompleteCalled=!1;#onErrorCalled=!1;#onResponseStartCalled=!1;constructor(handler){if(typeof handler!="object"||handler===null)throw new TypeError("handler must be an object");this.#handler=handler}onRequestStart(...args){this.#handler.onRequestStart?.(...args)}onRequestUpgrade(...args){return assert(!this.#onCompleteCalled),assert(!this.#onErrorCalled),this.#handler.onRequestUpgrade?.(...args)}onResponseStart(...args){return assert(!this.#onCompleteCalled),assert(!this.#onErrorCalled),assert(!this.#onResponseStartCalled),this.#onResponseStartCalled=!0,this.#handler.onResponseStart?.(...args)}onResponseData(...args){return assert(!this.#onCompleteCalled),assert(!this.#onErrorCalled),this.#handler.onResponseData?.(...args)}onResponseEnd(...args){return assert(!this.#onCompleteCalled),assert(!this.#onErrorCalled),this.#onCompleteCalled=!0,this.#handler.onResponseEnd?.(...args)}onResponseError(...args){return this.#onErrorCalled=!0,this.#handler.onResponseError?.(...args)}onBodySent(){}}}});var require_redirect_handler=__commonJS({"node_modules/undici/lib/handler/redirect-handler.js"(exports,module){"use strict";var util=require_util(),assert=__require("node:assert"),{InvalidArgumentError}=require_errors(),redirectableStatusCodes=[300,301,302,303,307,308],noop=()=>{},RedirectHandler=class _RedirectHandler{static buildDispatch(dispatcher,maxRedirections){if(maxRedirections!=null&&(!Number.isInteger(maxRedirections)||maxRedirections<0))throw new InvalidArgumentError("maxRedirections must be a positive number");let dispatch=dispatcher.dispatch.bind(dispatcher);return(opts,originalHandler)=>dispatch(opts,new _RedirectHandler(dispatch,maxRedirections,opts,originalHandler))}constructor(dispatch,maxRedirections,opts,handler){if(maxRedirections!=null&&(!Number.isInteger(maxRedirections)||maxRedirections<0))throw new InvalidArgumentError("maxRedirections must be a positive number");if(opts.throwOnMaxRedirect!=null&&typeof opts.throwOnMaxRedirect!="boolean")throw new InvalidArgumentError("throwOnMaxRedirect must be a boolean");this.dispatch=dispatch,this.location=null;let{maxRedirections:_,stripHeadersOnRedirect,stripHeadersOnCrossOriginRedirect,...cleanOpts}=opts;this.opts=cleanOpts,this.opts.body=util.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=normalizeStripHeaders(stripHeadersOnRedirect,"stripHeadersOnRedirect"),this.stripHeadersOnCrossOriginRedirect=normalizeStripHeaders(stripHeadersOnCrossOriginRedirect,"stripHeadersOnCrossOriginRedirect"),this.maxRedirections=maxRedirections,this.handler=handler,this.history=[]}onRequestStart(controller,context){this.handler.onRequestStart?.(controller,{...context,history:this.history})}onRequestUpgrade(controller,statusCode,headers,socket){this.handler.onRequestUpgrade?.(controller,statusCode,headers,socket)}onResponseStart(controller,statusCode,headers,statusMessage){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");let removeContentHeaders=statusCode===303;if((statusCode===301||statusCode===302)&&this.opts.method==="POST"&&(this.opts.method="GET",util.isStream(this.opts.body)&&util.destroy(this.opts.body.on("error",noop)),this.opts.body=null,removeContentHeaders=!0),statusCode===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",util.isStream(this.opts.body)&&util.destroy(this.opts.body.on("error",noop)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||util.isDisturbed(this.opts.body)||redirectableStatusCodes.indexOf(statusCode)===-1?null:headers.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(controller,statusCode,headers,statusMessage);return}let{origin,pathname,search}=util.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),path=search?`${pathname}${search}`:pathname,redirectUrlString=`${origin}${path}`;for(let historyUrl of this.history)if(historyUrl.toString()===redirectUrlString)throw new InvalidArgumentError(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=cleanRequestHeaders(this.opts.headers,removeContentHeaders,this.opts.origin!==origin,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=path,this.opts.origin=origin,this.opts.query=null}onResponseData(controller,chunk){this.location||this.handler.onResponseData?.(controller,chunk)}onResponseEnd(controller,trailers){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(controller,trailers)}onResponseError(controller,error2){this.handler.onResponseError?.(controller,error2)}};function shouldRemoveHeader(header,removeContent,unknownOrigin,stripHeaders,stripHeadersOnCrossOrigin){let name=util.headerNameToString(header);return name==="host"||stripHeaders?.has(name)||unknownOrigin&&stripHeadersOnCrossOrigin?.has(name)||removeContent&&name.startsWith("content-")?!0:unknownOrigin?name==="authorization"||name==="cookie"||name==="proxy-authorization":!1}function normalizeStripHeaders(headers,optionName){if(headers==null)return null;if(!Array.isArray(headers))throw new InvalidArgumentError(`${optionName} must be an array`);let normalized=new Set;for(let header of headers){if(typeof header!="string")throw new InvalidArgumentError(`${optionName} must contain header names`);normalized.add(util.headerNameToString(header))}return normalized}function cleanRequestHeaders(headers,removeContent,unknownOrigin,stripHeaders,stripHeadersOnCrossOrigin){let ret=[];if(Array.isArray(headers))for(let i=0;i<headers.length;i+=2)shouldRemoveHeader(headers[i],removeContent,unknownOrigin,stripHeaders,stripHeadersOnCrossOrigin)||ret.push(headers[i],headers[i+1]);else if(headers&&typeof headers=="object"){let entries=util.hasSafeIterator(headers)?headers:Object.entries(headers);for(let[key,value]of entries)shouldRemoveHeader(key,removeContent,unknownOrigin,stripHeaders,stripHeadersOnCrossOrigin)||ret.push(key,value)}else assert(headers==null,"headers must be an object or an array");return ret}module.exports=RedirectHandler}});var require_redirect=__commonJS({"node_modules/undici/lib/interceptor/redirect.js"(exports,module){"use strict";var RedirectHandler=require_redirect_handler();function createRedirectInterceptor({maxRedirections:defaultMaxRedirections,throwOnMaxRedirect:defaultThrowOnMaxRedirect,stripHeadersOnRedirect:defaultStripHeadersOnRedirect,stripHeadersOnCrossOriginRedirect:defaultStripHeadersOnCrossOriginRedirect}={}){return dispatch=>function(opts,handler){let{maxRedirections=defaultMaxRedirections,throwOnMaxRedirect=defaultThrowOnMaxRedirect,stripHeadersOnRedirect=defaultStripHeadersOnRedirect,stripHeadersOnCrossOriginRedirect=defaultStripHeadersOnCrossOriginRedirect,...rest}=opts;if(maxRedirections==null||maxRedirections===0)return dispatch(opts,handler);let dispatchOpts={...rest,throwOnMaxRedirect,stripHeadersOnRedirect,stripHeadersOnCrossOriginRedirect},redirectHandler=new RedirectHandler(dispatch,maxRedirections,dispatchOpts,handler);return dispatch(dispatchOpts,redirectHandler)}}module.exports=createRedirectInterceptor}});var require_response_error=__commonJS({"node_modules/undici/lib/interceptor/response-error.js"(exports,module){"use strict";var DecoratorHandler=require_decorator_handler(),{ResponseError}=require_errors(),ResponseErrorHandler=class extends DecoratorHandler{#statusCode;#contentType;#decoder;#headers;#body;constructor(_opts,{handler}){super(handler)}#checkContentType(contentType){return(this.#contentType??"").indexOf(contentType)===0}onRequestStart(controller,context){return this.#statusCode=0,this.#contentType=null,this.#decoder=null,this.#headers=null,this.#body="",super.onRequestStart(controller,context)}onResponseStart(controller,statusCode,headers,statusMessage){if(this.#statusCode=statusCode,this.#headers=headers,this.#contentType=headers["content-type"],this.#statusCode<400)return super.onResponseStart(controller,statusCode,headers,statusMessage);(this.#checkContentType("application/json")||this.#checkContentType("text/plain"))&&(this.#decoder=new TextDecoder("utf-8"))}onResponseData(controller,chunk){if(this.#statusCode<400)return super.onResponseData(controller,chunk);this.#body+=this.#decoder?.decode(chunk,{stream:!0})??""}onResponseEnd(controller,trailers){if(this.#statusCode>=400){if(this.#body+=this.#decoder?.decode(void 0,{stream:!1})??"",this.#checkContentType("application/json"))try{this.#body=JSON.parse(this.#body)}catch{}let err,stackTraceLimit=Error.stackTraceLimit;Error.stackTraceLimit=0;try{err=new ResponseError("Response Error",this.#statusCode,{body:this.#body,headers:this.#headers})}finally{Error.stackTraceLimit=stackTraceLimit}super.onResponseError(controller,err)}else super.onResponseEnd(controller,trailers)}onResponseError(controller,err){super.onResponseError(controller,err)}};module.exports=()=>dispatch=>function(opts,handler){return dispatch(opts,new ResponseErrorHandler(opts,{handler}))}}});var require_retry=__commonJS({"node_modules/undici/lib/interceptor/retry.js"(exports,module){"use strict";var RetryHandler=require_retry_handler();module.exports=globalOpts=>dispatch=>function(opts,handler){return dispatch(opts,new RetryHandler({...opts,retryOptions:{...globalOpts,...opts.retryOptions}},{handler,dispatch}))}}});var require_dump=__commonJS({"node_modules/undici/lib/interceptor/dump.js"(exports,module){"use strict";var{InvalidArgumentError,RequestAbortedError}=require_errors(),DecoratorHandler=require_decorator_handler(),DumpHandler=class extends DecoratorHandler{#maxSize=1024*1024;#dumped=!1;#size=0;#controller=null;aborted=!1;reason=!1;constructor({maxSize,signal},handler){if(maxSize!=null&&(!Number.isFinite(maxSize)||maxSize<1))throw new InvalidArgumentError("maxSize must be a number greater than 0");super(handler),this.#maxSize=maxSize??this.#maxSize}#abort(reason){this.aborted=!0,this.reason=reason}onRequestStart(controller,context){return controller.abort=this.#abort.bind(this),this.#controller=controller,super.onRequestStart(controller,context)}onResponseStart(controller,statusCode,headers,statusMessage){let contentLength=headers["content-length"];if(contentLength!=null&&contentLength>this.#maxSize)throw new RequestAbortedError(`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`);return this.aborted===!0?!0:super.onResponseStart(controller,statusCode,headers,statusMessage)}onResponseError(controller,err){this.#dumped||(err=this.#controller?.reason??err,super.onResponseError(controller,err))}onResponseData(controller,chunk){return this.#size=this.#size+chunk.length,this.#size>=this.#maxSize&&(this.#dumped=!0,this.aborted===!0?super.onResponseError(controller,this.reason):super.onResponseEnd(controller,{})),!0}onResponseEnd(controller,trailers){if(!this.#dumped){if(this.#controller.aborted===!0){super.onResponseError(controller,this.reason);return}super.onResponseEnd(controller,trailers)}}};function createDumpInterceptor({maxSize:defaultMaxSize}={maxSize:1024*1024}){return dispatch=>function(opts,handler){let{dumpMaxSize=defaultMaxSize}=opts,dumpHandler=new DumpHandler({maxSize:dumpMaxSize,signal:opts.signal},handler);return dispatch(opts,dumpHandler)}}module.exports=createDumpInterceptor}});var require_dns=__commonJS({"node_modules/undici/lib/interceptor/dns.js"(exports,module){"use strict";var{isIP}=__require("node:net"),{lookup}=__require("node:dns"),DecoratorHandler=require_decorator_handler(),{InvalidArgumentError,InformationalError}=require_errors(),maxInt=Math.pow(2,31)-1;function hasSafeIterator(headers){let prototype=Object.getPrototypeOf(headers);return Object.hasOwn(headers,Symbol.iterator)||prototype!=null&&prototype!==Object.prototype&&typeof headers[Symbol.iterator]=="function"}function isHostHeader(key){return typeof key=="string"&&key.toLowerCase()==="host"}function normalizeHeaders(headers){if(headers==null)return null;if(Array.isArray(headers)){if(headers.length===0||!Array.isArray(headers[0]))return headers;let normalized=[];for(let header of headers)Array.isArray(header)&&header.length===2?normalized.push(header[0],header[1]):normalized.push(header);return normalized}if(typeof headers=="object"&&hasSafeIterator(headers)){let normalized=[];for(let header of headers)Array.isArray(header)&&header.length===2?normalized.push(header[0],header[1]):normalized.push(header);return normalized}return headers}function hasHostHeader(headers){if(headers==null)return!1;if(Array.isArray(headers)){if(headers.length===0)return!1;for(let i=0;i<headers.length;i+=2)if(isHostHeader(headers[i]))return!0;return!1}if(typeof headers=="object"){for(let key in headers)if(isHostHeader(key))return!0}return!1}function withHostHeader(host,headers){let normalizedHeaders=normalizeHeaders(headers);return hasHostHeader(normalizedHeaders)?normalizedHeaders:Array.isArray(normalizedHeaders)?["host",host,...normalizedHeaders]:normalizedHeaders&&typeof normalizedHeaders=="object"?{host,...normalizedHeaders}:{host}}var DNSStorage=class{#maxItems=0;#records=new Map;constructor(opts){this.#maxItems=opts.maxItems}get size(){return this.#records.size}get(hostname){return this.#records.get(hostname)??null}set(hostname,records){this.#records.set(hostname,records)}delete(hostname){this.#records.delete(hostname)}full(){return this.size>=this.#maxItems}},DNSInstance=class{#maxTTL=0;#maxItems=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(opts){this.#maxTTL=opts.maxTTL,this.#maxItems=opts.maxItems,this.dualStack=opts.dualStack,this.affinity=opts.affinity,this.lookup=opts.lookup??this.#defaultLookup,this.pick=opts.pick??this.#defaultPick,this.storage=opts.storage??new DNSStorage(opts)}runLookup(origin,opts,cb){let ips=this.storage.get(origin.hostname);if(ips==null&&this.storage.full()){cb(null,origin);return}let newOpts={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...opts.dns,maxTTL:this.#maxTTL,maxItems:this.#maxItems};if(ips==null)this.lookup(origin,newOpts,(err,addresses)=>{if(err||addresses==null||addresses.length===0){cb(err??new InformationalError("No DNS entries found"));return}this.setRecords(origin,addresses);let records=this.storage.get(origin.hostname),ip=this.pick(origin,records,newOpts.affinity),port;typeof ip.port=="number"?port=`:${ip.port}`:origin.port!==""?port=`:${origin.port}`:port="",cb(null,new URL(`${origin.protocol}//${ip.family===6?`[${ip.address}]`:ip.address}${port}`))});else{let ip=this.pick(origin,ips,newOpts.affinity);if(ip==null){this.storage.delete(origin.hostname),this.runLookup(origin,opts,cb);return}let port;typeof ip.port=="number"?port=`:${ip.port}`:origin.port!==""?port=`:${origin.port}`:port="",cb(null,new URL(`${origin.protocol}//${ip.family===6?`[${ip.address}]`:ip.address}${port}`))}}#defaultLookup(origin,opts,cb){lookup(origin.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(err,addresses)=>{if(err)return cb(err);let results=new Map;for(let addr of addresses)results.set(`${addr.address}:${addr.family}`,addr);cb(null,results.values())})}#defaultPick(origin,hostnameRecords,affinity){let ip=null,{records,offset}=hostnameRecords,family;if(this.dualStack?(affinity==null&&(offset==null||offset===maxInt?(hostnameRecords.offset=0,affinity=4):(hostnameRecords.offset++,affinity=(hostnameRecords.offset&1)===1?6:4)),records[affinity]!=null&&records[affinity].ips.length>0?family=records[affinity]:family=records[affinity===4?6:4]):family=records[affinity],family==null||family.ips.length===0)return ip;family.offset==null||family.offset===maxInt?family.offset=0:family.offset++;let position=family.offset%family.ips.length;return ip=family.ips[position]??null,ip==null?ip:Date.now()-ip.timestamp>ip.ttl?(family.ips.splice(position,1),this.pick(origin,hostnameRecords,affinity)):ip}pickFamily(origin,ipFamily){let records=this.storage.get(origin.hostname)?.records;if(!records)return null;let family=records[ipFamily];if(!family)return null;family.offset==null||family.offset===maxInt?family.offset=0:family.offset++;let position=family.offset%family.ips.length,ip=family.ips[position]??null;return ip==null||Date.now()-ip.timestamp>ip.ttl&&family.ips.splice(position,1),ip}setRecords(origin,addresses){let timestamp=Date.now(),records={records:{4:null,6:null}},minTTL=this.#maxTTL;for(let record of addresses){record.timestamp=timestamp,typeof record.ttl=="number"?(record.ttl=Math.min(record.ttl,this.#maxTTL),minTTL=Math.min(minTTL,record.ttl)):record.ttl=this.#maxTTL;let familyRecords=records.records[record.family]??{ips:[]};familyRecords.ips.push(record),records.records[record.family]=familyRecords}this.storage.set(origin.hostname,records,{ttl:minTTL})}deleteRecords(origin){this.storage.delete(origin.hostname)}getHandler(meta,opts){return new DNSDispatchHandler(this,meta,opts)}},DNSDispatchHandler=class extends DecoratorHandler{#state=null;#opts=null;#dispatch=null;#origin=null;#controller=null;#newOrigin=null;#firstTry=!0;constructor(state2,{origin,handler,dispatch,newOrigin},opts){super(handler),this.#origin=origin,this.#newOrigin=newOrigin,this.#opts={...opts},this.#state=state2,this.#dispatch=dispatch}onResponseError(controller,err){switch(err.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#state.dualStack){if(!this.#firstTry){super.onResponseError(controller,err);return}this.#firstTry=!1;let otherFamily=this.#newOrigin.hostname[0]==="["?4:6,ip=this.#state.pickFamily(this.#origin,otherFamily);if(ip==null){super.onResponseError(controller,err);return}let port;typeof ip.port=="number"?port=`:${ip.port}`:this.#origin.port!==""?port=`:${this.#origin.port}`:port="";let dispatchOpts={...this.#opts,origin:`${this.#origin.protocol}//${ip.family===6?`[${ip.address}]`:ip.address}${port}`,headers:withHostHeader(this.#origin.host,this.#opts.headers)};this.#dispatch(dispatchOpts,this);return}super.onResponseError(controller,err);break}case"ENOTFOUND":this.#state.deleteRecords(this.#origin),super.onResponseError(controller,err);break;default:super.onResponseError(controller,err);break}}};module.exports=interceptorOpts=>{if(interceptorOpts?.maxTTL!=null&&(typeof interceptorOpts?.maxTTL!="number"||interceptorOpts?.maxTTL<0))throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");if(interceptorOpts?.maxItems!=null&&(typeof interceptorOpts?.maxItems!="number"||interceptorOpts?.maxItems<1))throw new InvalidArgumentError("Invalid maxItems. Must be a positive number and greater than zero");if(interceptorOpts?.affinity!=null&&interceptorOpts?.affinity!==4&&interceptorOpts?.affinity!==6)throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");if(interceptorOpts?.dualStack!=null&&typeof interceptorOpts?.dualStack!="boolean")throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");if(interceptorOpts?.lookup!=null&&typeof interceptorOpts?.lookup!="function")throw new InvalidArgumentError("Invalid lookup. Must be a function");if(interceptorOpts?.pick!=null&&typeof interceptorOpts?.pick!="function")throw new InvalidArgumentError("Invalid pick. Must be a function");if(interceptorOpts?.storage!=null&&(typeof interceptorOpts?.storage?.get!="function"||typeof interceptorOpts?.storage?.set!="function"||typeof interceptorOpts?.storage?.full!="function"||typeof interceptorOpts?.storage?.delete!="function"))throw new InvalidArgumentError("Invalid storage. Must be a object with methods: { get, set, full, delete }");let dualStack=interceptorOpts?.dualStack??!0,affinity;dualStack?affinity=interceptorOpts?.affinity??null:affinity=interceptorOpts?.affinity??4;let opts={maxTTL:interceptorOpts?.maxTTL??1e4,lookup:interceptorOpts?.lookup??null,pick:interceptorOpts?.pick??null,dualStack,affinity,maxItems:interceptorOpts?.maxItems??1/0,storage:interceptorOpts?.storage},instance=new DNSInstance(opts);return dispatch=>function(origDispatchOpts,handler){if(origDispatchOpts.origin==null)return dispatch(origDispatchOpts,handler);let origin=origDispatchOpts.origin.constructor===URL?origDispatchOpts.origin:new URL(origDispatchOpts.origin);return isIP(origin.hostname)!==0?dispatch(origDispatchOpts,handler):(instance.runLookup(origin,origDispatchOpts,(err,newOrigin)=>{if(err)return handler.onResponseError(null,err);let dispatchOpts={...origDispatchOpts,servername:origin.hostname,origin:newOrigin.origin,headers:withHostHeader(origin.host,origDispatchOpts.headers)};dispatch(dispatchOpts,instance.getHandler({origin,dispatch,handler,newOrigin},origDispatchOpts))}),!0)}}}});var require_cache=__commonJS({"node_modules/undici/lib/util/cache.js"(exports,module){"use strict";var{safeHTTPMethods,pathHasQueryOrFragment,hasSafeIterator,isValidHTTPToken}=require_util(),{serializePathWithQuery}=require_util(),MAX_DELTA_SECONDS=2147483647,RESTRICTIVE_DIRECTIVE_NAMES=["no-store","private","no-cache"],kInvalidCacheControlDirectives=Symbol("invalid cache-control directives");function trimOWS(value){return value.replace(/^[\t ]+|[\t ]+$/g,"")}function arrayIncludes(array,value){for(let i=0;i<array.length;i++)if(array[i]===value)return!0;return!1}function trimOWSStart(value){return value.replace(/^[\t ]+/,"")}function trimOWSEnd(value){return value.replace(/[\t ]+$/,"")}function findUnescapedQuote(value,start){let escaped=!1;for(let i=start;i<value.length;i++)if(escaped)escaped=!1;else if(value[i]==="\\")escaped=!0;else if(value[i]==='"')return i;return-1}function splitCacheControlHeaderValue(value){let directives=[],start=0,quoteStart=-1,inQuote=!1,escaped=!1;for(let i=0;i<value.length;i++)inQuote?escaped?escaped=!1:value[i]==="\\"?escaped=!0:value[i]==='"'&&(inQuote=!1,quoteStart=-1):value[i]==='"'?(inQuote=!0,quoteStart=i):value[i]===","&&(directives.push({value:value.substring(start,i),fromMalformedQuote:!1}),start=i+1);if(!inQuote)return directives.push({value:value.substring(start),fromMalformedQuote:!1}),directives;let tail=value.substring(start),quoteOffset=quoteStart-start,tailStart=0;for(let i=0;i<tail.length;i++)tail[i]===","&&(directives.push({value:tail.substring(tailStart,i),fromMalformedQuote:tailStart>quoteOffset}),tailStart=i+1);return directives.push({value:tail.substring(tailStart),fromMalformedQuote:tailStart>quoteOffset}),directives}function markInvalidCacheControlDirective(directives,key){let invalidDirectives=directives[kInvalidCacheControlDirectives];invalidDirectives===void 0&&(invalidDirectives=new Set,Object.defineProperty(directives,kInvalidCacheControlDirectives,{value:invalidDirectives})),invalidDirectives.add(key)}function hasInvalidCacheControlDirective(directives,key){return directives[kInvalidCacheControlDirectives]?.has(key)===!0}function getMalformedRestrictiveDirectiveName(key){for(let directiveName of RESTRICTIVE_DIRECTIVE_NAMES)if(key.startsWith(directiveName)&&key.length>directiveName.length&&!isValidHTTPToken(key[directiveName.length]))return directiveName;let tokenOnlyKey="",hasInvalidTokenChar=!1;for(let i=0;i<key.length;i++)isValidHTTPToken(key[i])?tokenOnlyKey+=key[i]:hasInvalidTokenChar=!0;if(hasInvalidTokenChar&&arrayIncludes(RESTRICTIVE_DIRECTIVE_NAMES,tokenOnlyKey))return tokenOnlyKey}function makeCacheKey(opts){if(!opts.origin)throw new Error("opts.origin is undefined");let fullPath=opts.path||"/";return opts.query&&!pathHasQueryOrFragment(fullPath)&&(fullPath=serializePathWithQuery(fullPath,opts.query)),{origin:opts.origin.toString(),method:opts.method,path:fullPath,headers:opts.headers}}function appendHeader(headers,key,val){let headerName=key.toLowerCase(),current=headers[headerName],values=Array.isArray(val)?val:[val];current===void 0?headers[headerName]=Array.isArray(val)?val.slice():val:Array.isArray(current)?current.push(...values):headers[headerName]=[current,...values]}function normalizeHeaders(opts){let headers;if(opts.headers==null)headers={};else if(typeof opts.headers=="object")if(headers={},hasSafeIterator(opts.headers))if(Array.isArray(opts.headers)){let first=opts.headers[0];if(Array.isArray(first))for(let x of opts.headers){if(!Array.isArray(x))throw new Error("opts.headers is not a valid header map");let[key,val]=x;if(typeof key!="string"||typeof val!="string")throw new Error("opts.headers is not a valid header map");appendHeader(headers,key,val)}else{let len=opts.headers.length;if(len%2!==0)throw new Error("opts.headers is not a valid header map");for(let i=0;i<len;i+=2){let key=opts.headers[i],val=opts.headers[i+1];if(typeof key!="string"||typeof val!="string"&&!Array.isArray(val))throw new Error("opts.headers is not a valid header map");if(typeof val=="string")appendHeader(headers,key,val);else{let mapped=[];for(let j=0;j<val.length;j++){let v=val[j];mapped.push(typeof v=="string"?v:v.toString("latin1"))}appendHeader(headers,key,mapped)}}}}else for(let x of opts.headers){if(!Array.isArray(x))throw new Error("opts.headers is not a valid header map");let[key,val]=x;if(typeof key!="string"||typeof val!="string")throw new Error("opts.headers is not a valid header map");appendHeader(headers,key,val)}else for(let key of Object.keys(opts.headers))appendHeader(headers,key,opts.headers[key]);else throw new Error("opts.headers is not an object");return headers}function assertCacheKey(key){if(typeof key!="object")throw new TypeError(`expected key to be object, got ${typeof key}`);for(let property of["origin","method","path"])if(typeof key[property]!="string")throw new TypeError(`expected key.${property} to be string, got ${typeof key[property]}`);if(key.headers!==void 0&&typeof key.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof key}`)}function assertCacheValue(value){if(typeof value!="object")throw new TypeError(`expected value to be object, got ${typeof value}`);for(let property of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof value[property]!="number")throw new TypeError(`expected value.${property} to be number, got ${typeof value[property]}`);if(typeof value.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof value.statusMessage}`);if(value.headers!=null&&typeof value.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof value.headers}`);if(value.vary!==void 0&&typeof value.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof value.vary}`);if(value.etag!==void 0&&typeof value.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof value.etag}`)}function parseCacheControlHeader(header){let output={},invalidNumericDirectives=new Set,invalidNoArgumentDirectives=new Set,directives=splitCacheControlHeaderValue(Array.isArray(header)?header.join(","):header);for(let i=0;i<directives.length;i++){let directiveRecord=directives[i],directive=directiveRecord.value.toLowerCase(),fromMalformedQuote=directiveRecord.fromMalformedQuote,keyValueDelimiter=directive.indexOf("="),key,value,keyHasTrailingWhitespace=!1,valueHasLeadingWhitespace=!1;if(keyValueDelimiter!==-1){let rawKey=directive.substring(0,keyValueDelimiter),rawValue=directive.substring(keyValueDelimiter+1);keyHasTrailingWhitespace=trimOWSEnd(rawKey)!==rawKey,valueHasLeadingWhitespace=trimOWSStart(rawValue)!==rawValue,key=trimOWS(rawKey),value=trimOWSStart(rawValue)}else key=trimOWS(directive);let malformedRestrictiveDirectiveName=getMalformedRestrictiveDirectiveName(key);if(malformedRestrictiveDirectiveName!==void 0){output[malformedRestrictiveDirectiveName]=!0;continue}switch(key){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(fromMalformedQuote||invalidNumericDirectives.has(key))continue;if(value===void 0||keyHasTrailingWhitespace||valueHasLeadingWhitespace){delete output[key],invalidNumericDirectives.add(key),markInvalidCacheControlDirective(output,key);continue}if(value.length>=2&&value[0]==='"'&&value[value.length-1]==='"'&&(value=value.substring(1,value.length-1)),!/^[0-9]+$/.test(value)){delete output[key],invalidNumericDirectives.add(key),markInvalidCacheControlDirective(output,key);continue}let parsedValue=Math.min(parseInt(value,10),MAX_DELTA_SECONDS);key==="min-fresh"?(!(key in output)||output[key]<parsedValue)&&(output[key]=parsedValue):(!(key in output)||output[key]>parsedValue)&&(output[key]=parsedValue);break}case"private":case"no-cache":{if(fromMalformedQuote){output[key]=!0;break}if(value!==void 0&&value.length===0){output[key]=!0;break}if(value){if(value[0]==='"'){value=trimOWSEnd(value);let fieldList="",lastQuotedPart=i,foundEndingQuote=!1,closingQuote=findUnescapedQuote(value,1);if(closingQuote!==-1)fieldList=value.substring(1,closingQuote),foundEndingQuote=!0;else{let fieldListParts=[value.substring(1)];for(let j=i+1;j<directives.length;j++){let nextPart=trimOWS(directives[j].value),closingQuote2=findUnescapedQuote(nextPart,0);if(lastQuotedPart=j,closingQuote2!==-1){fieldListParts.push(nextPart.substring(0,closingQuote2)),foundEndingQuote=!0;break}fieldListParts.push(nextPart)}fieldList=fieldListParts.join(",")}if(!foundEndingQuote){output[key]=!0;break}i=lastQuotedPart;let headers=fieldList.split(","),validFieldNames=!0;for(let j=0;j<headers.length;j++)headers[j]=trimOWS(headers[j]),isValidHTTPToken(headers[j])||(validFieldNames=!1);validFieldNames?output[key]!==!0&&(key in output?output[key]=output[key].concat(headers):output[key]=headers):output[key]=!0}else{let fieldName=trimOWS(value);isValidHTTPToken(fieldName)?output[key]!==!0&&(key in output?output[key]=output[key].concat(fieldName):output[key]=[fieldName]):output[key]=!0}break}}case"public":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(fromMalformedQuote||invalidNoArgumentDirectives.has(key))continue;if(value!==void 0){delete output[key],invalidNoArgumentDirectives.add(key);continue}output[key]=!0;break;case"no-store":output[key]=!0;break;default:continue}}return output}function splitVaryHeader(varyHeader){let values=Array.isArray(varyHeader)?varyHeader:[varyHeader],output=[];for(let i=0;i<values.length;i++){let parts=values[i].split(",");for(let j=0;j<parts.length;j++)output.push(parts[j])}return output}function hasVaryStar(varyHeader){let values=splitVaryHeader(varyHeader);for(let i=0;i<values.length;i++)if(trimOWS(values[i]).indexOf("*")!==-1)return!0;return!1}function parseVaryHeader(varyHeader,headers){if(hasVaryStar(varyHeader))return headers;let output={},varyingHeaders=splitVaryHeader(varyHeader);for(let header of varyingHeaders){let trimmedHeader=trimOWS(header).toLowerCase();if(trimmedHeader.length===0)continue;if(!isValidHTTPToken(trimmedHeader))return;let headerValue=headers[trimmedHeader];output[trimmedHeader]=Array.isArray(headerValue)?headerValue.slice():headerValue??null}return output}function isInvalidOrWildcardVaryHeader(varyHeader){return hasVaryStar(varyHeader)||parseVaryHeader(varyHeader,{})===void 0}function isEtagUsable(etag){return etag.length<=2?!1:etag[0]==='"'&&etag[etag.length-1]==='"'?!(etag[1]==='"'||etag.startsWith('"W/')):etag.startsWith('W/"')&&etag[etag.length-1]==='"'?etag.length!==4:!1}function assertCacheStore(store,name="CacheStore"){if(typeof store!="object"||store===null)throw new TypeError(`expected type of ${name} to be a CacheStore, got ${store===null?"null":typeof store}`);for(let fn of["get","createWriteStream","delete"])if(typeof store[fn]!="function")throw new TypeError(`${name} needs to have a \`${fn}()\` function`)}function assertCacheMethods(methods,name="CacheMethods"){if(!Array.isArray(methods))throw new TypeError(`expected type of ${name} needs to be an array, got ${methods===null?"null":typeof methods}`);if(methods.length===0)throw new TypeError(`${name} needs to have at least one method`);for(let method of methods)if(!arrayIncludes(safeHTTPMethods,method))throw new TypeError(`element of ${name}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method}`)}function makeDeduplicationKey(cacheKey,excludeHeaders){let headers={};if(cacheKey.headers){let sortedHeaders=Object.keys(cacheKey.headers).sort();for(let header of sortedHeaders)excludeHeaders?.has(header.toLowerCase())||(headers[header]=cacheKey.headers[header])}return JSON.stringify([cacheKey.origin,cacheKey.method,cacheKey.path,headers])}module.exports={makeCacheKey,normalizeHeaders,assertCacheKey,assertCacheValue,parseCacheControlHeader,hasInvalidCacheControlDirective,parseVaryHeader,hasVaryStar,isInvalidOrWildcardVaryHeader,isEtagUsable,assertCacheMethods,assertCacheStore,makeDeduplicationKey}}});var require_date=__commonJS({"node_modules/undici/lib/util/date.js"(exports,module){"use strict";function parseHttpDate(date){switch(date[3]){case",":return parseImfDate(date);case" ":return parseAscTimeDate(date);default:return parseRfc850Date(date)}}function makeDate(year,monthIdx,day,hour,minute,second,weekday){let result=new Date(Date.UTC(year,monthIdx,day,hour,minute,second));return year>=0&&year<=99&&result.setUTCFullYear(year),result.getUTCFullYear()===year&&result.getUTCMonth()===monthIdx&&result.getUTCDate()===day&&result.getUTCHours()===hour&&result.getUTCMinutes()===minute&&result.getUTCSeconds()===second&&result.getUTCDay()===weekday?result:void 0}function parseImfDate(date){if(date.length!==29||date[4]!==" "||date[7]!==" "||date[11]!==" "||date[16]!==" "||date[19]!==":"||date[22]!==":"||date[25]!==" "||date[26]!=="G"||date[27]!=="M"||date[28]!=="T")return;let weekday=-1;if(date[0]==="S"&&date[1]==="u"&&date[2]==="n")weekday=0;else if(date[0]==="M"&&date[1]==="o"&&date[2]==="n")weekday=1;else if(date[0]==="T"&&date[1]==="u"&&date[2]==="e")weekday=2;else if(date[0]==="W"&&date[1]==="e"&&date[2]==="d")weekday=3;else if(date[0]==="T"&&date[1]==="h"&&date[2]==="u")weekday=4;else if(date[0]==="F"&&date[1]==="r"&&date[2]==="i")weekday=5;else if(date[0]==="S"&&date[1]==="a"&&date[2]==="t")weekday=6;else return;let day=0;if(date[5]==="0"){let code=date.charCodeAt(6);if(code<49||code>57)return;day=code-48}else{let code1=date.charCodeAt(5);if(code1<49||code1>51)return;let code2=date.charCodeAt(6);if(code2<48||code2>57)return;day=(code1-48)*10+(code2-48)}let monthIdx=-1;if(date[8]==="J"&&date[9]==="a"&&date[10]==="n")monthIdx=0;else if(date[8]==="F"&&date[9]==="e"&&date[10]==="b")monthIdx=1;else if(date[8]==="M"&&date[9]==="a")if(date[10]==="r")monthIdx=2;else if(date[10]==="y")monthIdx=4;else return;else if(date[8]==="J")if(date[9]==="a"&&date[10]==="n")monthIdx=0;else if(date[9]==="u")if(date[10]==="n")monthIdx=5;else if(date[10]==="l")monthIdx=6;else return;else return;else if(date[8]==="A")if(date[9]==="p"&&date[10]==="r")monthIdx=3;else if(date[9]==="u"&&date[10]==="g")monthIdx=7;else return;else if(date[8]==="S"&&date[9]==="e"&&date[10]==="p")monthIdx=8;else if(date[8]==="O"&&date[9]==="c"&&date[10]==="t")monthIdx=9;else if(date[8]==="N"&&date[9]==="o"&&date[10]==="v")monthIdx=10;else if(date[8]==="D"&&date[9]==="e"&&date[10]==="c")monthIdx=11;else return;let yearDigit1=date.charCodeAt(12);if(yearDigit1<48||yearDigit1>57)return;let yearDigit2=date.charCodeAt(13);if(yearDigit2<48||yearDigit2>57)return;let yearDigit3=date.charCodeAt(14);if(yearDigit3<48||yearDigit3>57)return;let yearDigit4=date.charCodeAt(15);if(yearDigit4<48||yearDigit4>57)return;let year=(yearDigit1-48)*1e3+(yearDigit2-48)*100+(yearDigit3-48)*10+(yearDigit4-48),hour=0;if(date[17]==="0"){let code=date.charCodeAt(18);if(code<48||code>57)return;hour=code-48}else{let code1=date.charCodeAt(17);if(code1<48||code1>50)return;let code2=date.charCodeAt(18);if(code2<48||code2>57||code1===50&&code2>51)return;hour=(code1-48)*10+(code2-48)}let minute=0;if(date[20]==="0"){let code=date.charCodeAt(21);if(code<48||code>57)return;minute=code-48}else{let code1=date.charCodeAt(20);if(code1<48||code1>53)return;let code2=date.charCodeAt(21);if(code2<48||code2>57)return;minute=(code1-48)*10+(code2-48)}let second=0;if(date[23]==="0"){let code=date.charCodeAt(24);if(code<48||code>57)return;second=code-48}else{let code1=date.charCodeAt(23);if(code1<48||code1>53)return;let code2=date.charCodeAt(24);if(code2<48||code2>57)return;second=(code1-48)*10+(code2-48)}return makeDate(year,monthIdx,day,hour,minute,second,weekday)}function parseAscTimeDate(date){if(date.length!==24||date[7]!==" "||date[10]!==" "||date[19]!==" ")return;let weekday=-1;if(date[0]==="S"&&date[1]==="u"&&date[2]==="n")weekday=0;else if(date[0]==="M"&&date[1]==="o"&&date[2]==="n")weekday=1;else if(date[0]==="T"&&date[1]==="u"&&date[2]==="e")weekday=2;else if(date[0]==="W"&&date[1]==="e"&&date[2]==="d")weekday=3;else if(date[0]==="T"&&date[1]==="h"&&date[2]==="u")weekday=4;else if(date[0]==="F"&&date[1]==="r"&&date[2]==="i")weekday=5;else if(date[0]==="S"&&date[1]==="a"&&date[2]==="t")weekday=6;else return;let monthIdx=-1;if(date[4]==="J"&&date[5]==="a"&&date[6]==="n")monthIdx=0;else if(date[4]==="F"&&date[5]==="e"&&date[6]==="b")monthIdx=1;else if(date[4]==="M"&&date[5]==="a")if(date[6]==="r")monthIdx=2;else if(date[6]==="y")monthIdx=4;else return;else if(date[4]==="J")if(date[5]==="a"&&date[6]==="n")monthIdx=0;else if(date[5]==="u")if(date[6]==="n")monthIdx=5;else if(date[6]==="l")monthIdx=6;else return;else return;else if(date[4]==="A")if(date[5]==="p"&&date[6]==="r")monthIdx=3;else if(date[5]==="u"&&date[6]==="g")monthIdx=7;else return;else if(date[4]==="S"&&date[5]==="e"&&date[6]==="p")monthIdx=8;else if(date[4]==="O"&&date[5]==="c"&&date[6]==="t")monthIdx=9;else if(date[4]==="N"&&date[5]==="o"&&date[6]==="v")monthIdx=10;else if(date[4]==="D"&&date[5]==="e"&&date[6]==="c")monthIdx=11;else return;let day=0;if(date[8]===" "){let code=date.charCodeAt(9);if(code<49||code>57)return;day=code-48}else{let code1=date.charCodeAt(8);if(code1<49||code1>51)return;let code2=date.charCodeAt(9);if(code2<48||code2>57)return;day=(code1-48)*10+(code2-48)}let hour=0;if(date[11]==="0"){let code=date.charCodeAt(12);if(code<48||code>57)return;hour=code-48}else{let code1=date.charCodeAt(11);if(code1<48||code1>50)return;let code2=date.charCodeAt(12);if(code2<48||code2>57||code1===50&&code2>51)return;hour=(code1-48)*10+(code2-48)}let minute=0;if(date[14]==="0"){let code=date.charCodeAt(15);if(code<48||code>57)return;minute=code-48}else{let code1=date.charCodeAt(14);if(code1<48||code1>53)return;let code2=date.charCodeAt(15);if(code2<48||code2>57)return;minute=(code1-48)*10+(code2-48)}let second=0;if(date[17]==="0"){let code=date.charCodeAt(18);if(code<48||code>57)return;second=code-48}else{let code1=date.charCodeAt(17);if(code1<48||code1>53)return;let code2=date.charCodeAt(18);if(code2<48||code2>57)return;second=(code1-48)*10+(code2-48)}let yearDigit1=date.charCodeAt(20);if(yearDigit1<48||yearDigit1>57)return;let yearDigit2=date.charCodeAt(21);if(yearDigit2<48||yearDigit2>57)return;let yearDigit3=date.charCodeAt(22);if(yearDigit3<48||yearDigit3>57)return;let yearDigit4=date.charCodeAt(23);if(yearDigit4<48||yearDigit4>57)return;let year=(yearDigit1-48)*1e3+(yearDigit2-48)*100+(yearDigit3-48)*10+(yearDigit4-48);return makeDate(year,monthIdx,day,hour,minute,second,weekday)}function parseRfc850Date(date){let commaIndex=-1,weekday=-1;if(date[0]==="S")date[1]==="u"&&date[2]==="n"&&date[3]==="d"&&date[4]==="a"&&date[5]==="y"?(weekday=0,commaIndex=6):date[1]==="a"&&date[2]==="t"&&date[3]==="u"&&date[4]==="r"&&date[5]==="d"&&date[6]==="a"&&date[7]==="y"&&(weekday=6,commaIndex=8);else if(date[0]==="M"&&date[1]==="o"&&date[2]==="n"&&date[3]==="d"&&date[4]==="a"&&date[5]==="y")weekday=1,commaIndex=6;else if(date[0]==="T")date[1]==="u"&&date[2]==="e"&&date[3]==="s"&&date[4]==="d"&&date[5]==="a"&&date[6]==="y"?(weekday=2,commaIndex=7):date[1]==="h"&&date[2]==="u"&&date[3]==="r"&&date[4]==="s"&&date[5]==="d"&&date[6]==="a"&&date[7]==="y"&&(weekday=4,commaIndex=8);else if(date[0]==="W"&&date[1]==="e"&&date[2]==="d"&&date[3]==="n"&&date[4]==="e"&&date[5]==="s"&&date[6]==="d"&&date[7]==="a"&&date[8]==="y")weekday=3,commaIndex=9;else if(date[0]==="F"&&date[1]==="r"&&date[2]==="i"&&date[3]==="d"&&date[4]==="a"&&date[5]==="y")weekday=5,commaIndex=6;else return;if(date[commaIndex]!==","||date.length-commaIndex-1!==23||date[commaIndex+1]!==" "||date[commaIndex+4]!=="-"||date[commaIndex+8]!=="-"||date[commaIndex+11]!==" "||date[commaIndex+14]!==":"||date[commaIndex+17]!==":"||date[commaIndex+20]!==" "||date[commaIndex+21]!=="G"||date[commaIndex+22]!=="M"||date[commaIndex+23]!=="T")return;let day=0;if(date[commaIndex+2]==="0"){let code=date.charCodeAt(commaIndex+3);if(code<49||code>57)return;day=code-48}else{let code1=date.charCodeAt(commaIndex+2);if(code1<49||code1>51)return;let code2=date.charCodeAt(commaIndex+3);if(code2<48||code2>57)return;day=(code1-48)*10+(code2-48)}let monthIdx=-1;if(date[commaIndex+5]==="J"&&date[commaIndex+6]==="a"&&date[commaIndex+7]==="n")monthIdx=0;else if(date[commaIndex+5]==="F"&&date[commaIndex+6]==="e"&&date[commaIndex+7]==="b")monthIdx=1;else if(date[commaIndex+5]==="M"&&date[commaIndex+6]==="a"&&date[commaIndex+7]==="r")monthIdx=2;else if(date[commaIndex+5]==="A"&&date[commaIndex+6]==="p"&&date[commaIndex+7]==="r")monthIdx=3;else if(date[commaIndex+5]==="M"&&date[commaIndex+6]==="a"&&date[commaIndex+7]==="y")monthIdx=4;else if(date[commaIndex+5]==="J"&&date[commaIndex+6]==="u"&&date[commaIndex+7]==="n")monthIdx=5;else if(date[commaIndex+5]==="J"&&date[commaIndex+6]==="u"&&date[commaIndex+7]==="l")monthIdx=6;else if(date[commaIndex+5]==="A"&&date[commaIndex+6]==="u"&&date[commaIndex+7]==="g")monthIdx=7;else if(date[commaIndex+5]==="S"&&date[commaIndex+6]==="e"&&date[commaIndex+7]==="p")monthIdx=8;else if(date[commaIndex+5]==="O"&&date[commaIndex+6]==="c"&&date[commaIndex+7]==="t")monthIdx=9;else if(date[commaIndex+5]==="N"&&date[commaIndex+6]==="o"&&date[commaIndex+7]==="v")monthIdx=10;else if(date[commaIndex+5]==="D"&&date[commaIndex+6]==="e"&&date[commaIndex+7]==="c")monthIdx=11;else return;let yearDigit1=date.charCodeAt(commaIndex+9);if(yearDigit1<48||yearDigit1>57)return;let yearDigit2=date.charCodeAt(commaIndex+10);if(yearDigit2<48||yearDigit2>57)return;let year=(yearDigit1-48)*10+(yearDigit2-48);year+=year<70?2e3:1900;let hour=0;if(date[commaIndex+12]==="0"){let code=date.charCodeAt(commaIndex+13);if(code<48||code>57)return;hour=code-48}else{let code1=date.charCodeAt(commaIndex+12);if(code1<48||code1>50)return;let code2=date.charCodeAt(commaIndex+13);if(code2<48||code2>57||code1===50&&code2>51)return;hour=(code1-48)*10+(code2-48)}let minute=0;if(date[commaIndex+15]==="0"){let code=date.charCodeAt(commaIndex+16);if(code<48||code>57)return;minute=code-48}else{let code1=date.charCodeAt(commaIndex+15);if(code1<48||code1>53)return;let code2=date.charCodeAt(commaIndex+16);if(code2<48||code2>57)return;minute=(code1-48)*10+(code2-48)}let second=0;if(date[commaIndex+18]==="0"){let code=date.charCodeAt(commaIndex+19);if(code<48||code>57)return;second=code-48}else{let code1=date.charCodeAt(commaIndex+18);if(code1<48||code1>53)return;let code2=date.charCodeAt(commaIndex+19);if(code2<48||code2>57)return;second=(code1-48)*10+(code2-48)}return makeDate(year,monthIdx,day,hour,minute,second,weekday)}module.exports={parseHttpDate}}});var require_cache_handler=__commonJS({"node_modules/undici/lib/handler/cache-handler.js"(exports,module){"use strict";var util=require_util(),{parseCacheControlHeader,hasInvalidCacheControlDirective,parseVaryHeader,hasVaryStar,isInvalidOrWildcardVaryHeader,isEtagUsable}=require_cache(),{parseHttpDate}=require_date();function noop(){}var HEURISTICALLY_CACHEABLE_STATUS_CODES=[200,203,204,206,300,301,308,404,405,410,414,501],NOT_UNDERSTOOD_STATUS_CODES=[206],MAX_RESPONSE_AGE=2147483647e3,REVALIDATION_ONLY_RETENTION=864e5;function trimOWS(value){return value.replace(/^[\t ]+|[\t ]+$/g,"")}function arrayIncludes(array,value){for(let i=0;i<array.length;i++)if(array[i]===value)return!0;return!1}function appendConnectionHeaderTokens(headersToRemove,connectionHeader){let values=Array.isArray(connectionHeader)?connectionHeader:[connectionHeader];for(let i=0;i<values.length;i++){let tokens=values[i].split(",");for(let j=0;j<tokens.length;j++)headersToRemove.push(trimOWS(tokens[j]).toLowerCase())}}function getSameOriginPath(cacheKey,location){if(typeof location!="string")return;let originUrl,requestUrl,locationUrl;try{originUrl=new URL(cacheKey.origin),requestUrl=new URL(cacheKey.path,originUrl),locationUrl=new URL(location,requestUrl)}catch{return}if(locationUrl.origin===originUrl.origin)return locationUrl.pathname+locationUrl.search}function deleteCachedUri(store,cacheKey,path){deleteCachedValue(store,{...cacheKey,path});for(let i=0;i<util.safeHTTPMethods.length;i++){let method=util.safeHTTPMethods[i];method!==cacheKey.method&&deleteCachedValue(store,{...cacheKey,method,path})}}function deleteLocationTargets(store,cacheKey,headerValue){if(headerValue===void 0)return;let values=Array.isArray(headerValue)?headerValue:[headerValue];for(let i=0;i<values.length;i++){let path=getSameOriginPath(cacheKey,values[i]);path!==void 0&&deleteCachedUri(store,cacheKey,path)}}function invalidateUnsafeRequest(store,cacheKey,resHeaders){deleteCachedUri(store,cacheKey,cacheKey.path),deleteLocationTargets(store,cacheKey,resHeaders.location),deleteLocationTargets(store,cacheKey,resHeaders["content-location"])}var CacheHandler=class{#cacheKey;#cacheType;#cacheByDefault;#store;#handler;#writeStream;constructor({store,type,cacheByDefault},cacheKey,handler){this.#store=store,this.#cacheType=type,this.#cacheByDefault=cacheByDefault,this.#cacheKey=cacheKey,this.#handler=handler}onRequestStart(controller,context){this.#writeStream?.destroy(),this.#writeStream=void 0,this.#handler.onRequestStart?.(controller,context)}onRequestUpgrade(controller,statusCode,headers,socket){this.#handler.onRequestUpgrade?.(controller,statusCode,headers,socket)}onResponseStart(controller,statusCode,resHeaders,statusMessage){let downstreamOnHeaders=()=>this.#handler.onResponseStart?.(controller,statusCode,resHeaders,statusMessage),handler=this;if(!arrayIncludes(util.safeHTTPMethods,this.#cacheKey.method)&&statusCode>=200&&statusCode<=399)return invalidateUnsafeRequest(this.#store,this.#cacheKey,resHeaders),downstreamOnHeaders();let cacheControlHeader=resHeaders["cache-control"],heuristicallyCacheable=resHeaders["last-modified"]&&arrayIncludes(HEURISTICALLY_CACHEABLE_STATUS_CODES,statusCode);if(!cacheControlHeader&&!resHeaders.expires&&!heuristicallyCacheable&&!this.#cacheByDefault)return statusCode===304&&resHeaders.vary&&isInvalidOrWildcardVaryHeader(resHeaders.vary)&&deleteCachedValue(this.#store,this.#cacheKey),downstreamOnHeaders();let cacheControlDirectives=cacheControlHeader?parseCacheControlHeader(cacheControlHeader):{};if(!canCacheResponse(this.#cacheType,statusCode,resHeaders,cacheControlDirectives,this.#cacheKey.headers))return statusCode===304&&(cacheControlHeader||revalidationResponseDisallowsCachedReuse(this.#cacheType,resHeaders,cacheControlDirectives))&&deleteCachedValue(this.#store,this.#cacheKey),downstreamOnHeaders();let now=Date.now(),resAge=Object.hasOwn(resHeaders,"age")?getAge(resHeaders.age):void 0;if(resAge!==void 0&&resAge>=MAX_RESPONSE_AGE)return deleteCachedValueIfNotModified(statusCode,this.#store,this.#cacheKey),downstreamOnHeaders();let resDate=Object.hasOwn(resHeaders,"date")?getDate(resHeaders.date):void 0;if(resDate===null)return deleteCachedValueIfNotModified(statusCode,this.#store,this.#cacheKey),downstreamOnHeaders();let apparentAge=resDate?Math.max(0,now-resDate.getTime()):0,currentAge=Math.max(apparentAge,resAge??0),hasValidator=typeof resHeaders.etag=="string"&&isEtagUsable(resHeaders.etag)||typeof resHeaders["last-modified"]=="string",staleAt=determineStaleAt(this.#cacheType,now,resAge,resHeaders,resDate,cacheControlDirectives,hasValidator)??this.#cacheByDefault,revalidationOnly=staleAt===0&&hasValidator;if(staleAt===void 0||currentAge>=staleAt&&!revalidationOnly)return(cacheControlHeader||staleAt!==void 0)&&deleteCachedValueIfNotModified(statusCode,this.#store,this.#cacheKey),downstreamOnHeaders();let baseTime=now-currentAge,absoluteStaleAt=staleAt+baseTime;if(now>=absoluteStaleAt&&!revalidationOnly)return deleteCachedValueIfNotModified(statusCode,this.#store,this.#cacheKey),downstreamOnHeaders();let varyDirectives;if(this.#cacheKey.headers&&resHeaders.vary&&(varyDirectives=parseVaryHeader(resHeaders.vary,this.#cacheKey.headers),!varyDirectives))return downstreamOnHeaders();let cachedAt=baseTime,deleteAt=determineDeleteAt(baseTime,now,cacheControlDirectives,absoluteStaleAt),strippedHeaders=stripNecessaryHeaders(resHeaders,cacheControlDirectives),value={statusCode,statusMessage,headers:strippedHeaders,vary:varyDirectives,cacheControlDirectives,cachedAt,staleAt:absoluteStaleAt,deleteAt};if(statusCode===304){let handle304=cachedValue=>{if(!cachedValue)return downstreamOnHeaders();if(value.statusCode=cachedValue.statusCode,value.statusMessage=cachedValue.statusMessage,value.etag=cachedValue.etag,value.vary=varyDirectives??cachedValue.vary,value.headers={...cachedValue.headers,...strippedHeaders},downstreamOnHeaders(),this.#writeStream=this.#store.createWriteStream(this.#cacheKey,value),!(!this.#writeStream||!cachedValue?.body))if(typeof cachedValue.body.values=="function"){let bodyIterator=cachedValue.body.values(),streamCachedBody=()=>{for(let chunk of bodyIterator){let full=this.#writeStream.write(chunk)===!1;if(this.#handler.onResponseData?.(controller,chunk),full)break}};this.#writeStream.on("error",function(){handler.#writeStream=void 0,handler.#store.delete(handler.#cacheKey)}).on("drain",()=>{streamCachedBody()}).on("close",function(){handler.#writeStream===this&&(handler.#writeStream=void 0)}),streamCachedBody()}else typeof cachedValue.body.on=="function"&&(cachedValue.body.on("data",chunk=>{this.#writeStream.write(chunk),this.#handler.onResponseData?.(controller,chunk)}).on("end",()=>{this.#writeStream.end()}).on("error",()=>{this.#writeStream=void 0,this.#store.delete(this.#cacheKey)}),this.#writeStream.on("error",function(){handler.#writeStream=void 0,handler.#store.delete(handler.#cacheKey)}).on("close",function(){handler.#writeStream===this&&(handler.#writeStream=void 0)}))},result=this.#store.get(this.#cacheKey);result&&typeof result.then=="function"?result.then(handle304):handle304(result)}else{if(typeof resHeaders.etag=="string"&&isEtagUsable(resHeaders.etag)&&(value.etag=resHeaders.etag),this.#writeStream=this.#store.createWriteStream(this.#cacheKey,value),!this.#writeStream)return downstreamOnHeaders();this.#writeStream.on("drain",()=>controller.resume()).on("error",function(){handler.#writeStream=void 0,handler.#store.delete(handler.#cacheKey)}).on("close",function(){handler.#writeStream===this&&(handler.#writeStream=void 0),controller.resume()}),downstreamOnHeaders()}}onResponseData(controller,chunk){this.#writeStream?.write(chunk)===!1&&controller.pause(),this.#handler.onResponseData?.(controller,chunk)}onResponseEnd(controller,trailers){this.#writeStream?.end(),this.#handler.onResponseEnd?.(controller,trailers)}onResponseError(controller,err){this.#writeStream?.destroy(err),this.#writeStream=void 0,this.#handler.onResponseError?.(controller,err)}};function deleteCachedValue(store,cacheKey){try{store.delete(cacheKey)?.catch?.(noop)}catch{}}function deleteCachedValueIfNotModified(statusCode,store,cacheKey){statusCode===304&&deleteCachedValue(store,cacheKey)}function revalidationResponseDisallowsCachedReuse(cacheType,resHeaders,cacheControlDirectives){return cacheControlDirectives["no-store"]===!0||cacheType==="shared"&&cacheControlDirectives.private===!0||(resHeaders.vary?isInvalidOrWildcardVaryHeader(resHeaders.vary):!1)}function canCacheResponse(cacheType,statusCode,resHeaders,cacheControlDirectives,reqHeaders){return!(statusCode<200||arrayIncludes(NOT_UNDERSTOOD_STATUS_CODES,statusCode)||!arrayIncludes(HEURISTICALLY_CACHEABLE_STATUS_CODES,statusCode)&&!resHeaders.expires&&!cacheControlDirectives.public&&cacheControlDirectives["max-age"]===void 0&&!(cacheControlDirectives.private&&cacheType==="private")&&!(cacheControlDirectives["s-maxage"]!==void 0&&cacheType==="shared")||cacheControlDirectives["no-store"]||cacheType==="shared"&&cacheControlDirectives.private===!0||resHeaders.vary&&hasVaryStar(resHeaders.vary)||reqHeaders!=null&&Object.hasOwn(reqHeaders,"authorization")&&(!cacheControlDirectives.public&&!cacheControlDirectives["s-maxage"]&&!cacheControlDirectives["must-revalidate"]||typeof reqHeaders.authorization!="string"||Array.isArray(cacheControlDirectives["no-cache"])&&arrayIncludes(cacheControlDirectives["no-cache"],"authorization")||Array.isArray(cacheControlDirectives.private)&&arrayIncludes(cacheControlDirectives.private,"authorization")))}function getDate(dateHeader){let dateValue=dateHeader;if(Array.isArray(dateValue)){if(dateValue.length!==1)return null;dateValue=dateValue[0]}return typeof dateValue!="string"?null:parseHttpDate(dateValue)}function getAge(ageHeader){let ageValue=ageHeader;if(Array.isArray(ageValue)){if(ageValue.length!==1)return MAX_RESPONSE_AGE;ageValue=ageValue[0]}if(typeof ageValue!="string"||!/^[\t ]*[0-9]+[\t ]*$/.test(ageValue))return MAX_RESPONSE_AGE;let age=BigInt(ageValue.replace(/^[\t ]+|[\t ]+$/g,""));return age>=BigInt(MAX_RESPONSE_AGE/1e3)?MAX_RESPONSE_AGE:Number(age)*1e3}function determineStaleAt(cacheType,now,age,resHeaders,responseDate,cacheControlDirectives,hasValidator){if(cacheType==="shared"){if(hasInvalidCacheControlDirective(cacheControlDirectives,"s-maxage"))return 0;let sMaxAge=cacheControlDirectives["s-maxage"];if(sMaxAge!==void 0)return sMaxAge>0?sMaxAge*1e3:0}if(hasInvalidCacheControlDirective(cacheControlDirectives,"max-age"))return 0;let maxAge=cacheControlDirectives["max-age"];if(maxAge!==void 0)return maxAge>0?maxAge*1e3:0;if(Object.hasOwn(resHeaders,"expires")){if(typeof resHeaders.expires!="string")return 0;let expiresDate=parseHttpDate(resHeaders.expires);if(!expiresDate||now>=expiresDate.getTime())return 0;if(responseDate){if(responseDate>=expiresDate)return 0;let freshnessLifetime=expiresDate.getTime()-responseDate.getTime();return age!==void 0&&age>=freshnessLifetime?0:freshnessLifetime}return expiresDate.getTime()-now}if(typeof resHeaders["last-modified"]=="string"){let lastModified=parseHttpDate(resHeaders["last-modified"]);if(lastModified)return lastModified.getTime()>=now?void 0:(now-lastModified.getTime())*.1}if(cacheControlDirectives.immutable)return 31536e6;if(cacheControlDirectives["no-cache"]===!0&&hasValidator)return 0}function determineDeleteAt(baseTime,cachedAt,cacheControlDirectives,staleAt){let staleWhileRevalidate=-1/0,staleIfError=-1/0,immutable=-1/0;if(cacheControlDirectives["stale-while-revalidate"]&&(staleWhileRevalidate=staleAt+cacheControlDirectives["stale-while-revalidate"]*1e3),cacheControlDirectives["stale-if-error"]&&(staleIfError=staleAt+cacheControlDirectives["stale-if-error"]*1e3),cacheControlDirectives.immutable&&staleWhileRevalidate===-1/0&&staleIfError===-1/0&&(immutable=cachedAt+31536e6),staleWhileRevalidate===-1/0&&staleIfError===-1/0&&immutable===-1/0){let freshnessLifetime=staleAt-baseTime;if(freshnessLifetime<=0)return cachedAt+REVALIDATION_ONLY_RETENTION;let datePrecisionPadding=Math.min(Math.max(cachedAt-baseTime,0),1e3);return staleAt+freshnessLifetime+datePrecisionPadding}return Math.max(staleAt,staleWhileRevalidate,staleIfError,immutable)}function stripNecessaryHeaders(resHeaders,cacheControlDirectives){let headersToRemove=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];resHeaders.connection&&appendConnectionHeaderTokens(headersToRemove,resHeaders.connection),Array.isArray(cacheControlDirectives["no-cache"])&&headersToRemove.push(...cacheControlDirectives["no-cache"]),Array.isArray(cacheControlDirectives.private)&&headersToRemove.push(...cacheControlDirectives.private);let strippedHeaders;for(let headerName of headersToRemove)Object.hasOwn(resHeaders,headerName)&&(strippedHeaders??={...resHeaders},delete strippedHeaders[headerName]);return strippedHeaders??resHeaders}module.exports=CacheHandler}});var require_memory_cache_store=__commonJS({"node_modules/undici/lib/cache/memory-cache-store.js"(exports,module){"use strict";var{Writable}=__require("node:stream"),{EventEmitter}=__require("node:events"),{assertCacheKey,assertCacheValue}=require_cache(),MemoryCacheStore=class extends EventEmitter{#maxCount=1024;#maxSize=104857600;#maxEntrySize=5242880;#size=0;#count=0;#entries=new Map;#hasEmittedMaxSizeEvent=!1;constructor(opts){if(super(),opts){if(typeof opts!="object")throw new TypeError("MemoryCacheStore options must be an object");if(opts.maxCount!==void 0){if(typeof opts.maxCount!="number"||!Number.isInteger(opts.maxCount)||opts.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#maxCount=opts.maxCount}if(opts.maxSize!==void 0){if(typeof opts.maxSize!="number"||!Number.isInteger(opts.maxSize)||opts.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#maxSize=opts.maxSize}if(opts.maxEntrySize!==void 0){if(typeof opts.maxEntrySize!="number"||!Number.isInteger(opts.maxEntrySize)||opts.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#maxEntrySize=opts.maxEntrySize}}}get size(){return this.#size}isFull(){return this.#size>=this.#maxSize||this.#count>=this.#maxCount}get(key){assertCacheKey(key);let topLevelKey=`${key.origin}:${key.path}`,now=Date.now(),entries=this.#entries.get(topLevelKey),entry=entries?findEntry(key,entries,now):null;return entry==null?void 0:{statusMessage:entry.statusMessage,statusCode:entry.statusCode,headers:entry.headers,body:entry.body,vary:entry.vary?entry.vary:void 0,etag:entry.etag,cacheControlDirectives:entry.cacheControlDirectives,cachedAt:entry.cachedAt,staleAt:entry.staleAt,deleteAt:entry.deleteAt}}createWriteStream(key,val){assertCacheKey(key),assertCacheValue(val);let topLevelKey=`${key.origin}:${key.path}`,store=this,entry={...key,...val,body:[],size:0};return new Writable({write(chunk,encoding,callback){typeof chunk=="string"&&(chunk=Buffer.from(chunk,encoding)),entry.size+=chunk.byteLength,entry.size>store.#maxEntrySize?this.destroy():entry.body.push(chunk),callback(null)},final(callback){let entries=store.#entries.get(topLevelKey);entries||(entries=[],store.#entries.set(topLevelKey,entries));let previousEntry=findEntry(key,entries,Date.now());if(previousEntry){let index3=entries.indexOf(previousEntry);entries.splice(index3,1,entry),store.#size-=previousEntry.size}else entries.push(entry),store.#count+=1;if(store.#size+=entry.size,store.#size>store.#maxSize||store.#count>store.#maxCount){store.#hasEmittedMaxSizeEvent||(store.emit("maxSizeExceeded",{size:store.#size,maxSize:store.#maxSize,count:store.#count,maxCount:store.#maxCount}),store.#hasEmittedMaxSizeEvent=!0);for(let[key2,entries2]of store.#entries){for(let entry2 of entries2.splice(0,entries2.length/2))store.#size-=entry2.size,store.#count-=1;entries2.length===0&&store.#entries.delete(key2)}store.#size<store.#maxSize&&store.#count<store.#maxCount&&(store.#hasEmittedMaxSizeEvent=!1)}callback(null)}})}delete(key){if(typeof key!="object")throw new TypeError(`expected key to be object, got ${typeof key}`);let topLevelKey=`${key.origin}:${key.path}`;for(let entry of this.#entries.get(topLevelKey)??[])this.#size-=entry.size,this.#count-=1;this.#entries.delete(topLevelKey)}};function findEntry(key,entries,now){for(let i=0;i<entries.length;i++){let entry=entries[i];if(entry.deleteAt>now&&entry.method===key.method&&varyMatches(key,entry))return entry}}function varyMatches(key,entry){if(entry.vary==null)return!0;for(let headerName in entry.vary)if(Object.hasOwn(entry.vary,headerName)&&!headerValueEquals(key.headers?.[headerName],entry.vary[headerName]))return!1;return!0}function headerValueEquals(lhs,rhs){if(lhs==null&&rhs==null)return!0;if(lhs==null&&rhs!=null||lhs!=null&&rhs==null)return!1;if(Array.isArray(lhs)&&Array.isArray(rhs)){if(lhs.length!==rhs.length)return!1;for(let i=0;i<lhs.length;i++)if(lhs[i]!==rhs[i])return!1;return!0}return lhs===rhs}module.exports=MemoryCacheStore}});var require_cache_revalidation_handler=__commonJS({"node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports,module){"use strict";var assert=__require("node:assert"),CacheRevalidationHandler=class{#successful=!1;#callback;#handler;#context;#allowErrorStatusCodes;constructor(callback,handler,allowErrorStatusCodes){if(typeof callback!="function")throw new TypeError("callback must be a function");this.#callback=callback,this.#handler=handler,this.#allowErrorStatusCodes=allowErrorStatusCodes}onRequestStart(_,context){this.#successful=!1,this.#context=context}onRequestUpgrade(controller,statusCode,headers,socket){this.#handler.onRequestUpgrade?.(controller,statusCode,headers,socket)}onResponseStart(controller,statusCode,headers,statusMessage){if(assert(this.#callback!=null),this.#successful=statusCode===304||this.#allowErrorStatusCodes&&statusCode>=500&&statusCode<=504,this.#callback(this.#successful,this.#context,statusCode,headers),this.#callback=null,this.#successful)return!0;this.#handler.onRequestStart?.(controller,this.#context),this.#handler.onResponseStart?.(controller,statusCode,headers,statusMessage)}onResponseData(controller,chunk){if(!this.#successful)return this.#handler.onResponseData?.(controller,chunk)}onResponseEnd(controller,trailers){this.#successful||this.#handler.onResponseEnd?.(controller,trailers)}onResponseError(controller,err){if(!this.#successful){if(this.#callback){if(this.#allowErrorStatusCodes){this.#successful=!0,this.#callback(!0,this.#context),this.#callback=null;return}this.#callback(!1),this.#callback=null}if(typeof this.#handler.onResponseError=="function")this.#handler.onResponseError(controller,err);else throw err}}};module.exports=CacheRevalidationHandler}});var require_cache2=__commonJS({"node_modules/undici/lib/interceptor/cache.js"(exports,module){"use strict";var assert=__require("node:assert"),{Readable}=__require("node:stream"),util=require_util(),CacheHandler=require_cache_handler(),MemoryCacheStore=require_memory_cache_store(),CacheRevalidationHandler=require_cache_revalidation_handler(),{assertCacheStore,assertCacheMethods,makeCacheKey,normalizeHeaders,parseCacheControlHeader,isInvalidOrWildcardVaryHeader}=require_cache(),{AbortError}=require_errors(),{parseHttpDate}=require_date();function assertCacheOrigins(origins,name){if(origins!==void 0){if(!Array.isArray(origins))throw new TypeError(`expected ${name} to be an array or undefined, got ${typeof origins}`);for(let i=0;i<origins.length;i++){let origin=origins[i];if(typeof origin!="string"&&!(origin instanceof RegExp))throw new TypeError(`expected ${name}[${i}] to be a string or RegExp, got ${typeof origin}`)}}}var nop=()=>{};function trimOWS(value){return value.replace(/^[\t ]+|[\t ]+$/g,"")}function arrayIncludes(array,value){for(let i=0;i<array.length;i++)if(array[i]===value)return!0;return!1}function hasPragmaNoCache(headers){let pragma=headers?.pragma;if(!pragma)return!1;let values=Array.isArray(pragma)?pragma:[pragma];for(let i=0;i<values.length;i++){let value=values[i];if(typeof value!="string")continue;let directives=value.split(",");for(let j=0;j<directives.length;j++)if(trimOWS(directives[j]).toLowerCase()==="no-cache")return!0}return!1}function needsRevalidation(result,cacheControlDirectives,{headers={}}){return!!(cacheControlDirectives?.["no-cache"]||result.cacheControlDirectives?.["no-cache"]&&!Array.isArray(result.cacheControlDirectives["no-cache"])||headers["if-modified-since"]||headers["if-none-match"])}function staleResponseRequiresRevalidation(result,cacheType){return result.cacheControlDirectives?.["must-revalidate"]===!0||cacheType==="shared"&&(result.cacheControlDirectives?.["proxy-revalidate"]===!0||result.cacheControlDirectives?.["s-maxage"]!==void 0)}function revalidationResponseDisallowsCachedReuse(cacheType,headers){if(headers.vary&&isInvalidOrWildcardVaryHeader(headers.vary))return!0;let cacheControl=headers["cache-control"];if(!cacheControl)return!1;let cacheControlDirectives=parseCacheControlHeader(cacheControl);return cacheControlDirectives["no-store"]===!0||cacheType==="shared"&&cacheControlDirectives.private===!0}function revalidationResponseUpdatesCacheControl(headers){return headers["cache-control"]!==void 0}function deleteCachedValue(store,cacheKey){try{store.delete(cacheKey)?.catch?.(nop)}catch{}}function getUsableLastModified(headers){let lastModified=headers?.["last-modified"];if(typeof lastModified=="string"&&parseHttpDate(lastModified))return lastModified}function makeRevalidationHeaders(opts,result){let headers={...opts.headers,"if-modified-since":getUsableLastModified(result.headers)??new Date(result.cachedAt).toUTCString()};if(result.etag&&(headers["if-none-match"]=result.etag),result.vary)for(let key in result.vary)result.vary[key]!=null&&(headers[key]=result.vary[key]);return headers}function isStale(result,cacheControlDirectives,cacheType){let now=Date.now();if(now>result.staleAt){if(!staleResponseRequiresRevalidation(result,cacheType)&&cacheControlDirectives?.["max-stale"]){let gracePeriod=result.staleAt+cacheControlDirectives["max-stale"]*1e3;return now>gracePeriod}return!0}if(cacheControlDirectives?.["min-fresh"]){let timeLeftTillStale=result.staleAt-now,threshold=cacheControlDirectives["min-fresh"]*1e3;return timeLeftTillStale<=threshold}return!1}function withinStaleWhileRevalidateWindow(result,cacheType){let staleWhileRevalidate=result.cacheControlDirectives?.["stale-while-revalidate"];if(!staleWhileRevalidate||staleResponseRequiresRevalidation(result,cacheType))return!1;let now=Date.now(),staleWhileRevalidateExpiry=result.staleAt+staleWhileRevalidate*1e3;return now<=staleWhileRevalidateExpiry}function handleUncachedResponse(dispatch,globalOpts,cacheKey,handler,opts,reqCacheControl){if(reqCacheControl?.["only-if-cached"]){let aborted=!1,controller={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:reason=>{aborted=!0,handler.onResponseError?.(controller,reason??new AbortError)}};try{if(handler.onRequestStart?.(controller,null),aborted||(handler.onResponseStart?.(controller,504,{},"Gateway Timeout"),aborted))return;handler.onResponseEnd?.(controller,{})}catch(err){typeof handler.onResponseError=="function"&&handler.onResponseError(controller,err)}return!0}return dispatch(opts,new CacheHandler(globalOpts,cacheKey,handler))}function sendCachedValue(handler,opts,result,age,context,isStale2){let stream=util.isStream(result.body)?result.body:Readable.from(result.body??[]);assert(!stream.destroyed,"stream should not be destroyed"),assert(!stream.readableDidRead,"stream should not be readableDidRead");let controller={rawHeaders:[],rawTrailers:[],resume(){stream.resume()},pause(){stream.pause()},get paused(){return stream.isPaused()},get aborted(){return stream.destroyed},get reason(){return stream.errored},abort(reason){stream.destroy(reason??new AbortError)}};if(stream.on("error",function(err){if(!this.readableEnded)if(typeof handler.onResponseError=="function")handler.onResponseError(controller,err);else throw err}).on("close",function(){this.errored||handler.onResponseEnd?.(controller,{})}),handler.onRequestStart?.(controller,context),stream.destroyed)return;let headers={...result.headers,age:String(age)};isStale2&&(headers.warning='110 - "response is stale"'),controller.rawHeaders=util.toRawHeaders(headers),handler.onResponseStart?.(controller,result.statusCode,headers,result.statusMessage),opts.method==="HEAD"?stream.destroy():stream.on("data",function(chunk){handler.onResponseData?.(controller,chunk)})}function handleResult(dispatch,globalOpts,cacheKey,handler,opts,reqCacheControl,result){if(!result)return handleUncachedResponse(dispatch,globalOpts,cacheKey,handler,opts,reqCacheControl);let now=Date.now();if(now>result.deleteAt)return dispatch(opts,new CacheHandler(globalOpts,cacheKey,handler));let age=Math.round((now-result.cachedAt)/1e3),requestMaxAgeExpired=reqCacheControl?.["max-age"]!==void 0&&age>=reqCacheControl["max-age"],stale=requestMaxAgeExpired||isStale(result,reqCacheControl,globalOpts.type),revalidate=requestMaxAgeExpired||needsRevalidation(result,reqCacheControl,opts);if(stale||revalidate){if(util.isStream(opts.body)&&util.bodyLength(opts.body)!==0)return dispatch(opts,new CacheHandler(globalOpts,cacheKey,handler));if(!revalidate&&withinStaleWhileRevalidateWindow(result,globalOpts.type))return sendCachedValue(handler,opts,result,age,null,!0),queueMicrotask(()=>{let headers2=makeRevalidationHeaders(opts,result);dispatch({...opts,headers:headers2},new CacheHandler(globalOpts,cacheKey,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let withinStaleIfErrorThreshold=!1;if(!staleResponseRequiresRevalidation(result,globalOpts.type)){let staleIfErrorExpiry=result.cacheControlDirectives["stale-if-error"]??reqCacheControl?.["stale-if-error"];staleIfErrorExpiry&&(withinStaleIfErrorThreshold=now<result.staleAt+staleIfErrorExpiry*1e3)}let headers=makeRevalidationHeaders(opts,result);return dispatch({...opts,headers},new CacheRevalidationHandler((success,context,statusCode,headers2)=>{if(success){if(statusCode===304){if(revalidationResponseDisallowsCachedReuse(globalOpts.type,headers2))return util.isStream(result.body)&&result.body.on("error",nop).destroy(),deleteCachedValue(globalOpts.store,cacheKey),dispatch(opts,new CacheHandler(globalOpts,cacheKey,handler));revalidationResponseUpdatesCacheControl(headers2)&&deleteCachedValue(globalOpts.store,cacheKey)}sendCachedValue(handler,opts,result,age,context,stale)}else util.isStream(result.body)&&result.body.on("error",nop).destroy()},new CacheHandler(globalOpts,cacheKey,handler),withinStaleIfErrorThreshold))}util.isStream(opts.body)&&opts.body.on("error",nop).destroy(),sendCachedValue(handler,opts,result,age,null,!1)}module.exports=(opts={})=>{let{store=new MemoryCacheStore,methods=["GET"],cacheByDefault=void 0,type="shared",origins=void 0}=opts;if(typeof opts!="object"||opts===null)throw new TypeError(`expected type of opts to be an Object, got ${opts===null?"null":typeof opts}`);if(assertCacheStore(store,"opts.store"),assertCacheMethods(methods,"opts.methods"),assertCacheOrigins(origins,"opts.origins"),typeof cacheByDefault<"u"&&typeof cacheByDefault!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);if(typeof type<"u"&&type!=="shared"&&type!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof type}`);let globalOpts={store,methods,cacheByDefault,type},safeMethodsToNotCache=[];for(let i=0;i<util.safeHTTPMethods.length;i++){let method=util.safeHTTPMethods[i];arrayIncludes(methods,method)||safeMethodsToNotCache.push(method)}return dispatch=>(opts2,handler)=>{if(!opts2.origin||arrayIncludes(safeMethodsToNotCache,opts2.method))return dispatch(opts2,handler);if(origins!==void 0){let requestOrigin=opts2.origin.toString().toLowerCase(),isAllowed=!1;for(let i=0;i<origins.length;i++){let allowed=origins[i];if(typeof allowed=="string"){if(allowed.toLowerCase()===requestOrigin){isAllowed=!0;break}}else if(allowed.test(requestOrigin)){isAllowed=!0;break}}if(!isAllowed)return dispatch(opts2,handler)}opts2={...opts2,headers:normalizeHeaders(opts2)};let reqCacheControl=opts2.headers?.["cache-control"]?parseCacheControlHeader(opts2.headers["cache-control"]):hasPragmaNoCache(opts2.headers)?{"no-cache":!0}:void 0;if(reqCacheControl?.["no-store"])return dispatch(opts2,handler);let cacheKey=makeCacheKey(opts2),result=store.get(cacheKey);return result&&typeof result.then=="function"?result.then(result2=>handleResult(dispatch,globalOpts,cacheKey,handler,opts2,reqCacheControl,result2)):handleResult(dispatch,globalOpts,cacheKey,handler,opts2,reqCacheControl,result)}}}});var require_decompress=__commonJS({"node_modules/undici/lib/interceptor/decompress.js"(exports,module){"use strict";var{createInflate,createGunzip,createBrotliDecompress,createZstdDecompress}=__require("node:zlib"),{pipeline}=__require("node:stream"),DecoratorHandler=require_decorator_handler(),supportedEncodings={gzip:createGunzip,"x-gzip":createGunzip,br:createBrotliDecompress,deflate:createInflate,compress:createInflate,"x-compress":createInflate,zstd:createZstdDecompress},defaultSkipStatusCodes=[204,304],warningEmitted=!1,DecompressHandler=class extends DecoratorHandler{#decompressors=[];#trailers;#skipStatusCodes;#skipErrorResponses;constructor(handler,{skipStatusCodes=defaultSkipStatusCodes,skipErrorResponses=!0}={}){super(handler),this.#skipStatusCodes=skipStatusCodes,this.#skipErrorResponses=skipErrorResponses}#shouldSkipDecompression(contentEncoding,statusCode){return!!(!contentEncoding||statusCode<200||this.#skipStatusCodes.includes(statusCode)||this.#skipErrorResponses&&statusCode>=400)}#createDecompressionChain(encodings){let parts=encodings.split(","),maxContentEncodings=5;if(parts.length>maxContentEncodings)throw new Error(`too many content-encodings in response: ${parts.length}, maximum allowed is ${maxContentEncodings}`);let decompressors=[];for(let i=parts.length-1;i>=0;i--){let encoding=parts[i].trim();if(encoding){if(!supportedEncodings[encoding])return decompressors.length=0,decompressors;decompressors.push(supportedEncodings[encoding]())}}return decompressors}#setupDecompressorEvents(decompressor,controller){decompressor.on("readable",()=>{let chunk;for(;(chunk=decompressor.read())!==null&&super.onResponseData(controller,chunk)!==!1;);}),decompressor.on("error",error2=>{super.onResponseError(controller,error2)})}#setupSingleDecompressor(controller){let decompressor=this.#decompressors[0];this.#setupDecompressorEvents(decompressor,controller),decompressor.on("end",()=>{super.onResponseEnd(controller,this.#trailers)})}#setupMultipleDecompressors(controller){let lastDecompressor=this.#decompressors[this.#decompressors.length-1];this.#setupDecompressorEvents(lastDecompressor,controller),pipeline(this.#decompressors,err=>{if(err){super.onResponseError(controller,err);return}super.onResponseEnd(controller,this.#trailers)})}#cleanupDecompressors(){this.#decompressors.length=0}onResponseStart(controller,statusCode,headers,statusMessage){let contentEncoding=headers["content-encoding"];if(this.#shouldSkipDecompression(contentEncoding,statusCode))return super.onResponseStart(controller,statusCode,headers,statusMessage);let decompressors=this.#createDecompressionChain(contentEncoding.toLowerCase());if(decompressors.length===0)return this.#cleanupDecompressors(),super.onResponseStart(controller,statusCode,headers,statusMessage);this.#decompressors=decompressors;let{"content-encoding":_,"content-length":__,...newHeaders}=headers;if(controller?.rawHeaders){let rawHeaders=controller.rawHeaders;if(Array.isArray(rawHeaders)){let filteredHeaders=[];for(let i=0;i<rawHeaders.length;i+=2){let headerName=rawHeaders[i],lowerName=(Buffer.isBuffer(headerName)?headerName.toString("latin1"):`${headerName}`).toLowerCase();lowerName==="content-encoding"||lowerName==="content-length"||filteredHeaders.push(rawHeaders[i],rawHeaders[i+1])}controller.rawHeaders=filteredHeaders}else if(typeof rawHeaders=="object")for(let name of Object.keys(rawHeaders)){let lowerName=name.toLowerCase();(lowerName==="content-encoding"||lowerName==="content-length")&&delete rawHeaders[name]}}return this.#decompressors.length===1?this.#setupSingleDecompressor(controller):this.#setupMultipleDecompressors(controller),super.onResponseStart(controller,statusCode,newHeaders,statusMessage)}onResponseData(controller,chunk){if(this.#decompressors.length>0){this.#decompressors[0].write(chunk);return}super.onResponseData(controller,chunk)}onResponseEnd(controller,trailers){if(this.#decompressors.length>0){this.#trailers=trailers,this.#decompressors[0].end(),this.#cleanupDecompressors();return}super.onResponseEnd(controller,trailers)}onResponseError(controller,err){if(this.#decompressors.length>0){for(let decompressor of this.#decompressors)decompressor.destroy(err);this.#cleanupDecompressors()}super.onResponseError(controller,err)}};function createDecompressInterceptor(options={}){return warningEmitted||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),warningEmitted=!0),dispatch=>(opts,handler)=>{if(opts.method==="HEAD")return dispatch(opts,handler);let decompressHandler=new DecompressHandler(handler,options);return dispatch(opts,decompressHandler)}}module.exports=createDecompressInterceptor}});var require_deduplication_handler=__commonJS({"node_modules/undici/lib/handler/deduplication-handler.js"(exports,module){"use strict";var{RequestAbortedError}=require_errors(),DEFAULT_MAX_BUFFER_SIZE=5*1024*1024,DeduplicationHandler=class{#primaryHandler;#waitingHandlers=[];#maxBufferSize=DEFAULT_MAX_BUFFER_SIZE;#statusCode=0;#headers={};#statusMessage="";#aborted=!1;#responseStarted=!1;#responseDataStarted=!1;#completed=!1;#controller=null;#onComplete=null;constructor(primaryHandler,onComplete,maxBufferSize=DEFAULT_MAX_BUFFER_SIZE){this.#primaryHandler=primaryHandler,this.#onComplete=onComplete,this.#maxBufferSize=maxBufferSize}addWaitingHandler(handler){if(this.#completed||this.#responseDataStarted)return!1;let waitingHandler=this.#createWaitingHandler(handler),waitingController=waitingHandler.controller;try{if(handler.onRequestStart?.(waitingController,null),waitingController.aborted)return waitingHandler.done=!0,!0;this.#responseStarted&&handler.onResponseStart?.(waitingController,this.#statusCode,this.#headers,this.#statusMessage)}catch{return waitingHandler.done=!0,!0}return waitingController.aborted||this.#waitingHandlers.push(waitingHandler),!0}onRequestStart(controller,context){this.#controller=controller,this.#primaryHandler.onRequestStart?.(controller,context)}onRequestUpgrade(controller,statusCode,headers,socket){this.#primaryHandler.onRequestUpgrade?.(controller,statusCode,headers,socket)}onResponseStart(controller,statusCode,headers,statusMessage){this.#responseStarted=!0,this.#statusCode=statusCode,this.#headers=headers,this.#statusMessage=statusMessage,this.#primaryHandler.onResponseStart?.(controller,statusCode,headers,statusMessage);for(let waitingHandler of this.#waitingHandlers){let{handler,controller:waitingController}=waitingHandler;if(waitingHandler.done||waitingController.aborted){waitingHandler.done=!0;continue}try{handler.onResponseStart?.(waitingController,statusCode,headers,statusMessage)}catch{}waitingController.aborted&&(waitingHandler.done=!0)}this.#pruneDoneWaitingHandlers()}onResponseData(controller,chunk){if(!(this.#aborted||this.#completed)){this.#responseDataStarted=!0,this.#primaryHandler.onResponseData?.(controller,chunk);for(let waitingHandler of this.#waitingHandlers){let{handler,controller:waitingController}=waitingHandler;if(waitingHandler.done||waitingController.aborted){waitingHandler.done=!0;continue}if(waitingController.paused){this.#bufferWaitingChunk(waitingHandler,chunk);continue}try{handler.onResponseData?.(waitingController,chunk)}catch{}waitingController.aborted&&(waitingHandler.done=!0,waitingHandler.bufferedChunks=[],waitingHandler.bufferedBytes=0)}this.#pruneDoneWaitingHandlers()}}onResponseEnd(controller,trailers){if(!(this.#aborted||this.#completed)){this.#completed=!0,this.#primaryHandler.onResponseEnd?.(controller,trailers);for(let waitingHandler of this.#waitingHandlers){if(waitingHandler.done||waitingHandler.controller.aborted){waitingHandler.done=!0;continue}if(this.#flushWaitingHandler(waitingHandler),waitingHandler.done||waitingHandler.controller.aborted){waitingHandler.done=!0;continue}if(waitingHandler.controller.paused&&waitingHandler.bufferedChunks.length>0){waitingHandler.pendingTrailers=trailers;continue}try{waitingHandler.handler.onResponseEnd?.(waitingHandler.controller,trailers)}catch{}waitingHandler.done=!0}this.#pruneDoneWaitingHandlers(),this.#onComplete?.()}}onResponseError(controller,err){if(!this.#completed){this.#aborted=!0,this.#completed=!0,this.#primaryHandler.onResponseError?.(controller,err);for(let waitingHandler of this.#waitingHandlers)this.#errorWaitingHandler(waitingHandler,err);this.#waitingHandlers=[],this.#onComplete?.()}}#createWaitingHandler(handler){let waitingHandler={handler,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},state2={aborted:!1,paused:!1,reason:null};return waitingHandler.controller={resume:()=>{if(!state2.aborted){if(state2.paused=!1,this.#flushWaitingHandler(waitingHandler),this.#completed&&waitingHandler.pendingTrailers&&waitingHandler.bufferedChunks.length===0&&!state2.paused&&!state2.aborted){try{waitingHandler.handler.onResponseEnd?.(waitingHandler.controller,waitingHandler.pendingTrailers)}catch{}waitingHandler.pendingTrailers=null,waitingHandler.done=!0}this.#pruneDoneWaitingHandlers()}},pause:()=>{state2.aborted||(state2.paused=!0)},get paused(){return state2.paused},get aborted(){return state2.aborted},get reason(){return state2.reason},abort:reason=>{state2.aborted=!0,state2.reason=reason??null,waitingHandler.done=!0,waitingHandler.pendingTrailers=null,waitingHandler.bufferedChunks=[],waitingHandler.bufferedBytes=0}},waitingHandler}#bufferWaitingChunk(waitingHandler,chunk){if(waitingHandler.done||waitingHandler.controller.aborted){waitingHandler.done=!0,waitingHandler.bufferedChunks=[],waitingHandler.bufferedBytes=0;return}let bufferedChunk=Buffer.from(chunk);if(waitingHandler.bufferedChunks.push(bufferedChunk),waitingHandler.bufferedBytes+=bufferedChunk.length,waitingHandler.bufferedBytes>this.#maxBufferSize){let err=new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);this.#errorWaitingHandler(waitingHandler,err)}}#flushWaitingHandler(waitingHandler){let{handler,controller}=waitingHandler;for(;!waitingHandler.done&&!controller.aborted&&!controller.paused&&waitingHandler.bufferedChunks.length>0;){let bufferedChunk=waitingHandler.bufferedChunks.shift();waitingHandler.bufferedBytes-=bufferedChunk.length;try{handler.onResponseData?.(controller,bufferedChunk)}catch{}if(controller.aborted){waitingHandler.done=!0,waitingHandler.pendingTrailers=null,waitingHandler.bufferedChunks=[],waitingHandler.bufferedBytes=0;break}}}#errorWaitingHandler(waitingHandler,err){if(!waitingHandler.done){waitingHandler.done=!0,waitingHandler.pendingTrailers=null,waitingHandler.bufferedChunks=[],waitingHandler.bufferedBytes=0;try{waitingHandler.controller.abort(err),waitingHandler.handler.onResponseError?.(waitingHandler.controller,err)}catch{}}}#pruneDoneWaitingHandlers(){this.#waitingHandlers=this.#waitingHandlers.filter(waitingHandler=>waitingHandler.done===!1)}};module.exports=DeduplicationHandler}});var require_deduplicate=__commonJS({"node_modules/undici/lib/interceptor/deduplicate.js"(exports,module){"use strict";var diagnosticsChannel=__require("node:diagnostics_channel"),util=require_util(),DeduplicationHandler=require_deduplication_handler(),{normalizeHeaders,makeCacheKey,makeDeduplicationKey}=require_cache(),pendingRequestsChannel=diagnosticsChannel.channel("undici:request:pending-requests");module.exports=(opts={})=>{let{methods=["GET"],skipHeaderNames=[],excludeHeaderNames=[],maxBufferSize=5*1024*1024}=opts;if(typeof opts!="object"||opts===null)throw new TypeError(`expected type of opts to be an Object, got ${opts===null?"null":typeof opts}`);if(!Array.isArray(methods))throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);for(let method of methods)if(!util.safeHTTPMethods.includes(method))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);if(!Array.isArray(skipHeaderNames))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);if(!Array.isArray(excludeHeaderNames))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);if(!Number.isFinite(maxBufferSize)||maxBufferSize<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);let skipHeaderNamesSet=new Set(skipHeaderNames.map(name=>name.toLowerCase())),excludeHeaderNamesSet=new Set(excludeHeaderNames.map(name=>name.toLowerCase())),pendingRequests=new Map;return dispatch=>(opts2,handler)=>{if(!opts2.origin||methods.includes(opts2.method)===!1)return dispatch(opts2,handler);if(opts2={...opts2,headers:normalizeHeaders(opts2)},skipHeaderNamesSet.size>0){for(let headerName of Object.keys(opts2.headers))if(skipHeaderNamesSet.has(headerName.toLowerCase()))return dispatch(opts2,handler)}let cacheKey=makeCacheKey(opts2),dedupeKey=makeDeduplicationKey(cacheKey,excludeHeaderNamesSet),pendingHandler=pendingRequests.get(dedupeKey);if(pendingHandler)return pendingHandler.addWaitingHandler(handler)?!0:dispatch(opts2,handler);let deduplicationHandler=new DeduplicationHandler(handler,()=>{pendingRequests.delete(dedupeKey),pendingRequestsChannel.hasSubscribers&&pendingRequestsChannel.publish({size:pendingRequests.size,key:dedupeKey,type:"removed"})},maxBufferSize);return pendingRequests.set(dedupeKey,deduplicationHandler),pendingRequestsChannel.hasSubscribers&&pendingRequestsChannel.publish({size:pendingRequests.size,key:dedupeKey,type:"added"}),dispatch(opts2,deduplicationHandler)}}}});var require_sqlite_cache_store=__commonJS({"node_modules/undici/lib/cache/sqlite-cache-store.js"(exports,module){"use strict";var{Writable}=__require("node:stream"),{assertCacheKey,assertCacheValue}=require_cache(),DatabaseSync,VERSION=3,MAX_ENTRY_SIZE=2*1e3*1e3*1e3;module.exports=class{#maxEntrySize=MAX_ENTRY_SIZE;#maxCount=1/0;#db;#getValuesQuery;#updateValueQuery;#insertValueQuery;#deleteExpiredValuesQuery;#deleteByUrlQuery;#countEntriesQuery;#deleteOldValuesQuery;constructor(opts){if(opts){if(typeof opts!="object")throw new TypeError("SqliteCacheStore options must be an object");if(opts.maxEntrySize!==void 0){if(typeof opts.maxEntrySize!="number"||!Number.isInteger(opts.maxEntrySize)||opts.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(opts.maxEntrySize>MAX_ENTRY_SIZE)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#maxEntrySize=opts.maxEntrySize}if(opts.maxCount!==void 0){if(typeof opts.maxCount!="number"||!Number.isInteger(opts.maxCount)||opts.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#maxCount=opts.maxCount}}DatabaseSync||(DatabaseSync=__require("node:sqlite").DatabaseSync),this.#db=new DatabaseSync(opts?.location??":memory:"),this.#db.exec(`
46
+ PRAGMA journal_mode = WAL;
47
+ PRAGMA synchronous = NORMAL;
48
+ PRAGMA temp_store = memory;
49
+ PRAGMA optimize;
50
+
51
+ CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION} (
52
+ -- Data specific to us
53
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
54
+ url TEXT NOT NULL,
55
+ method TEXT NOT NULL,
56
+
57
+ -- Data returned to the interceptor
58
+ body BUF NULL,
59
+ deleteAt INTEGER NOT NULL,
60
+ statusCode INTEGER NOT NULL,
61
+ statusMessage TEXT NOT NULL,
62
+ headers TEXT NULL,
63
+ cacheControlDirectives TEXT NULL,
64
+ etag TEXT NULL,
65
+ vary TEXT NULL,
66
+ cachedAt INTEGER NOT NULL,
67
+ staleAt INTEGER NOT NULL
68
+ );
69
+
70
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_getValuesQuery ON cacheInterceptorV${VERSION}(url, method, deleteAt);
71
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteByUrlQuery ON cacheInterceptorV${VERSION}(deleteAt);
72
+ `),this.#getValuesQuery=this.#db.prepare(`
73
+ SELECT
74
+ id,
75
+ body,
76
+ deleteAt,
77
+ statusCode,
78
+ statusMessage,
79
+ headers,
80
+ etag,
81
+ cacheControlDirectives,
82
+ vary,
83
+ cachedAt,
84
+ staleAt
85
+ FROM cacheInterceptorV${VERSION}
86
+ WHERE
87
+ url = ?
88
+ AND method = ?
89
+ ORDER BY
90
+ deleteAt ASC
91
+ `),this.#updateValueQuery=this.#db.prepare(`
92
+ UPDATE cacheInterceptorV${VERSION} SET
93
+ body = ?,
94
+ deleteAt = ?,
95
+ statusCode = ?,
96
+ statusMessage = ?,
97
+ headers = ?,
98
+ etag = ?,
99
+ cacheControlDirectives = ?,
100
+ vary = ?,
101
+ cachedAt = ?,
102
+ staleAt = ?
103
+ WHERE
104
+ id = ?
105
+ `),this.#insertValueQuery=this.#db.prepare(`
106
+ INSERT INTO cacheInterceptorV${VERSION} (
107
+ url,
108
+ method,
109
+ body,
110
+ deleteAt,
111
+ statusCode,
112
+ statusMessage,
113
+ headers,
114
+ etag,
115
+ cacheControlDirectives,
116
+ vary,
117
+ cachedAt,
118
+ staleAt
119
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
120
+ `),this.#deleteByUrlQuery=this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION} WHERE url = ?`),this.#countEntriesQuery=this.#db.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${VERSION}`),this.#deleteExpiredValuesQuery=this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION} WHERE deleteAt <= ?`),this.#deleteOldValuesQuery=this.#maxCount===1/0?null:this.#db.prepare(`
121
+ DELETE FROM cacheInterceptorV${VERSION}
122
+ WHERE id IN (
123
+ SELECT
124
+ id
125
+ FROM cacheInterceptorV${VERSION}
126
+ ORDER BY cachedAt ASC
127
+ LIMIT ?
128
+ )
129
+ `)}close(){this.#db.close()}get(key){assertCacheKey(key);let value=this.#findValue(key);return value?{body:value.body?Buffer.from(value.body.buffer,value.body.byteOffset,value.body.byteLength):void 0,statusCode:value.statusCode,statusMessage:value.statusMessage,headers:value.headers?JSON.parse(value.headers):void 0,etag:value.etag?value.etag:void 0,vary:value.vary?JSON.parse(value.vary):void 0,cacheControlDirectives:value.cacheControlDirectives?JSON.parse(value.cacheControlDirectives):void 0,cachedAt:value.cachedAt,staleAt:value.staleAt,deleteAt:value.deleteAt}:void 0}set(key,value){assertCacheKey(key);let url=this.#makeValueUrl(key),body=Array.isArray(value.body)?Buffer.concat(value.body):value.body,size=body?.byteLength;if(size&&size>this.#maxEntrySize)return;let existingValue=this.#findValue(key,!0);existingValue?this.#updateValueQuery.run(body,value.deleteAt,value.statusCode,value.statusMessage,value.headers?JSON.stringify(value.headers):null,value.etag?value.etag:null,value.cacheControlDirectives?JSON.stringify(value.cacheControlDirectives):null,value.vary?JSON.stringify(value.vary):null,value.cachedAt,value.staleAt,existingValue.id):(this.#insertValueQuery.run(url,key.method,body,value.deleteAt,value.statusCode,value.statusMessage,value.headers?JSON.stringify(value.headers):null,value.etag?value.etag:null,value.cacheControlDirectives?JSON.stringify(value.cacheControlDirectives):null,value.vary?JSON.stringify(value.vary):null,value.cachedAt,value.staleAt),this.#prune())}createWriteStream(key,value){assertCacheKey(key),assertCacheValue(value);let size=0,body=[],store=this;return new Writable({decodeStrings:!0,write(chunk,encoding,callback){size+=chunk.byteLength,size<=store.#maxEntrySize?body.push(chunk):this.destroy(),callback()},final(callback){store.set(key,{...value,body}),callback()}})}delete(key){if(typeof key!="object")throw new TypeError(`expected key to be object, got ${typeof key}`);this.#deleteByUrlQuery.run(this.#makeValueUrl(key))}#prune(){if(Number.isFinite(this.#maxCount)&&this.size<=this.#maxCount)return 0;{let removed=this.#deleteExpiredValuesQuery.run(Date.now()).changes;if(removed)return removed}{let removed=this.#deleteOldValuesQuery?.run(Math.max(Math.floor(this.#maxCount*.1),1)).changes;if(removed)return removed}return 0}get size(){let{total}=this.#countEntriesQuery.get();return total}#makeValueUrl(key){return`${key.origin}/${key.path}`}#findValue(key,canBeExpired=!1){let url=this.#makeValueUrl(key),{headers,method}=key,values=this.#getValuesQuery.all(url,method);if(values.length===0)return;let now=Date.now();for(let value of values){if(now>=value.deleteAt&&!canBeExpired)continue;let matches=!0;if(value.vary){let vary=JSON.parse(value.vary);for(let header in vary)if(!headerValueEquals(headers[header],vary[header])){matches=!1;break}}if(matches)return value}}};function headerValueEquals(lhs,rhs){if(lhs==null&&rhs==null)return!0;if(lhs==null&&rhs!=null||lhs!=null&&rhs==null)return!1;if(Array.isArray(lhs)&&Array.isArray(rhs)){if(lhs.length!==rhs.length)return!1;for(let i=0;i<lhs.length;i++)if(lhs[i]!==rhs[i])return!1;return!0}return lhs===rhs}}});var require_headers=__commonJS({"node_modules/undici/lib/web/fetch/headers.js"(exports,module){"use strict";var{kConstruct}=require_symbols(),{kEnumerableProperty}=require_util(),{iteratorMixin,isValidHeaderName,isValidHeaderValue}=require_util2(),{webidl}=require_webidl(),assert=__require("node:assert"),util=__require("node:util");function isHTTPWhiteSpaceCharCode(code){return code===10||code===13||code===9||code===32}function headerValueNormalize(potentialValue){let i=0,j=potentialValue.length;for(;j>i&&isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j-1));)--j;for(;j>i&&isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i));)++i;return i===0&&j===potentialValue.length?potentialValue:potentialValue.substring(i,j)}function fill(headers,object){if(Array.isArray(object))for(let i=0;i<object.length;++i){let header=object[i];if(header.length!==2)throw webidl.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${header.length}.`});appendHeader(headers,header[0],header[1])}else if(typeof object=="object"&&object!==null){let keys=Object.keys(object);for(let i=0;i<keys.length;++i)appendHeader(headers,keys[i],object[keys[i]])}else throw webidl.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function appendHeader(headers,name,value){if(value=headerValueNormalize(value),isValidHeaderName(name)){if(!isValidHeaderValue(value))throw webidl.errors.invalidArgument({prefix:"Headers.append",value,type:"header value"})}else throw webidl.errors.invalidArgument({prefix:"Headers.append",value:name,type:"header name"});if(getHeadersGuard(headers)==="immutable")throw new TypeError("immutable");return getHeadersList(headers).append(name,value,!1)}function headersListSortAndCombine(target){let headersList=getHeadersList(target);if(!headersList)return[];if(headersList.sortedMap)return headersList.sortedMap;let headers=[],names2=headersList.toSortedArray(),cookies=headersList.cookies;if(cookies===null||cookies.length===1)return headersList.sortedMap=names2;for(let i=0;i<names2.length;++i){let{0:name,1:value}=names2[i];if(name==="set-cookie")for(let j=0;j<cookies.length;++j)headers.push([name,cookies[j]]);else headers.push([name,value])}return headersList.sortedMap=headers}function compareHeaderName(a,b){return a[0]<b[0]?-1:1}var HeadersList=class _HeadersList{cookies=null;sortedMap;headersMap;constructor(init){init instanceof _HeadersList?(this.headersMap=new Map(init.headersMap),this.sortedMap=init.sortedMap,this.cookies=init.cookies===null?null:[...init.cookies]):(this.headersMap=new Map(init),this.sortedMap=null)}contains(name,isLowerCase){return this.headersMap.has(isLowerCase?name:name.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(name,value,isLowerCase){this.sortedMap=null;let lowercaseName=isLowerCase?name:name.toLowerCase(),exists=this.headersMap.get(lowercaseName);if(exists){let delimiter=lowercaseName==="cookie"?"; ":", ";this.headersMap.set(lowercaseName,{name:exists.name,value:`${exists.value}${delimiter}${value}`})}else this.headersMap.set(lowercaseName,{name,value});lowercaseName==="set-cookie"&&(this.cookies??=[]).push(value)}set(name,value,isLowerCase){this.sortedMap=null;let lowercaseName=isLowerCase?name:name.toLowerCase();lowercaseName==="set-cookie"&&(this.cookies=[value]),this.headersMap.set(lowercaseName,{name,value})}delete(name,isLowerCase){this.sortedMap=null,isLowerCase||(name=name.toLowerCase()),name==="set-cookie"&&(this.cookies=null),this.headersMap.delete(name)}get(name,isLowerCase){return this.headersMap.get(isLowerCase?name:name.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:name,1:{value}}of this.headersMap)yield[name,value]}get entries(){let headers={};if(this.headersMap.size!==0)for(let{name,value}of this.headersMap.values())headers[name]=value;return headers}rawValues(){return this.headersMap.values()}get entriesList(){let headers=[];if(this.headersMap.size!==0)for(let{0:lowerName,1:{name,value}}of this.headersMap)if(lowerName==="set-cookie")for(let cookie of this.cookies)headers.push([name,cookie]);else headers.push([name,value]);return headers}toSortedArray(){let size=this.headersMap.size,array=new Array(size);if(size<=32){if(size===0)return array;let iterator=this.headersMap[Symbol.iterator](),firstValue=iterator.next().value;array[0]=[firstValue[0],firstValue[1].value],assert(firstValue[1].value!==null);for(let i=1,j=0,right=0,left=0,pivot=0,x,value;i<size;++i){for(value=iterator.next().value,x=array[i]=[value[0],value[1].value],assert(x[1]!==null),left=0,right=i;left<right;)pivot=left+(right-left>>1),array[pivot][0]<=x[0]?left=pivot+1:right=pivot;if(i!==pivot){for(j=i;j>left;)array[j]=array[--j];array[left]=x}}if(!iterator.next().done)throw new TypeError("Unreachable");return array}else{let i=0;for(let{0:name,1:{value}}of this.headersMap)array[i++]=[name,value],assert(value!==null);return array.sort(compareHeaderName)}}},Headers=class _Headers{#guard;#headersList;constructor(init=void 0){webidl.util.markAsUncloneable(this),init!==kConstruct&&(this.#headersList=new HeadersList,this.#guard="none",init!==void 0&&(init=webidl.converters.HeadersInit(init,"Headers constructor","init"),fill(this,init)))}append(name,value){webidl.brandCheck(this,_Headers),webidl.argumentLengthCheck(arguments,2,"Headers.append");let prefix="Headers.append";return name=webidl.converters.ByteString(name,prefix,"name"),value=webidl.converters.ByteString(value,prefix,"value"),appendHeader(this,name,value)}delete(name){if(webidl.brandCheck(this,_Headers),webidl.argumentLengthCheck(arguments,1,"Headers.delete"),name=webidl.converters.ByteString(name,"Headers.delete","name"),!isValidHeaderName(name))throw webidl.errors.invalidArgument({prefix:"Headers.delete",value:name,type:"header name"});if(this.#guard==="immutable")throw new TypeError("immutable");this.#headersList.contains(name,!1)&&this.#headersList.delete(name,!1)}get(name){webidl.brandCheck(this,_Headers),webidl.argumentLengthCheck(arguments,1,"Headers.get");let prefix="Headers.get";if(name=webidl.converters.ByteString(name,prefix,"name"),!isValidHeaderName(name))throw webidl.errors.invalidArgument({prefix,value:name,type:"header name"});return this.#headersList.get(name,!1)}has(name){webidl.brandCheck(this,_Headers),webidl.argumentLengthCheck(arguments,1,"Headers.has");let prefix="Headers.has";if(name=webidl.converters.ByteString(name,prefix,"name"),!isValidHeaderName(name))throw webidl.errors.invalidArgument({prefix,value:name,type:"header name"});return this.#headersList.contains(name,!1)}set(name,value){webidl.brandCheck(this,_Headers),webidl.argumentLengthCheck(arguments,2,"Headers.set");let prefix="Headers.set";if(name=webidl.converters.ByteString(name,prefix,"name"),value=webidl.converters.ByteString(value,prefix,"value"),value=headerValueNormalize(value),isValidHeaderName(name)){if(!isValidHeaderValue(value))throw webidl.errors.invalidArgument({prefix,value,type:"header value"})}else throw webidl.errors.invalidArgument({prefix,value:name,type:"header name"});if(this.#guard==="immutable")throw new TypeError("immutable");this.#headersList.set(name,value,!1)}getSetCookie(){webidl.brandCheck(this,_Headers);let list=this.#headersList.cookies;return list?[...list]:[]}[util.inspect.custom](depth,options){return options.depth??=depth,`Headers ${util.formatWithOptions(options,this.#headersList.entries)}`}static getHeadersGuard(o){return o.#guard}static setHeadersGuard(o,guard){o.#guard=guard}static getHeadersList(o){return o.#headersList}static setHeadersList(target,list){target.#headersList=list}},{getHeadersGuard,setHeadersGuard,getHeadersList,setHeadersList}=Headers;Reflect.deleteProperty(Headers,"getHeadersGuard");Reflect.deleteProperty(Headers,"setHeadersGuard");Reflect.deleteProperty(Headers,"getHeadersList");Reflect.deleteProperty(Headers,"setHeadersList");iteratorMixin("Headers",Headers,headersListSortAndCombine,0,1);Object.defineProperties(Headers.prototype,{append:kEnumerableProperty,delete:kEnumerableProperty,get:kEnumerableProperty,has:kEnumerableProperty,set:kEnumerableProperty,getSetCookie:kEnumerableProperty,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[util.inspect.custom]:{enumerable:!1}});webidl.converters.HeadersInit=function(V,prefix,argument){if(webidl.util.Type(V)===webidl.util.Types.OBJECT){let iterator=Reflect.get(V,Symbol.iterator);if(!util.types.isProxy(V)&&iterator===Headers.prototype.entries)try{return getHeadersList(V).entriesList}catch{}return typeof iterator=="function"?webidl.converters["sequence<sequence<ByteString>>"](V,prefix,argument,iterator.bind(V)):webidl.converters["record<ByteString, ByteString>"](V,prefix,argument)}throw webidl.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};module.exports={fill,compareHeaderName,Headers,HeadersList,getHeadersGuard,setHeadersGuard,setHeadersList,getHeadersList}}});var require_response=__commonJS({"node_modules/undici/lib/web/fetch/response.js"(exports,module){"use strict";var{Headers,HeadersList,fill,getHeadersGuard,setHeadersGuard,setHeadersList}=require_headers(),{extractBody,cloneBody,mixinBody,streamRegistry,bodyUnusable}=require_body(),util=require_util(),nodeUtil=__require("node:util"),{kEnumerableProperty}=util,{isValidReasonPhrase,isCancelled,isAborted,isErrorLike,environmentSettingsObject:relevantRealm}=require_util2(),{redirectStatusSet,nullBodyStatus}=require_constants3(),{webidl}=require_webidl(),{URLSerializer}=require_data_url(),{kConstruct}=require_symbols(),assert=__require("node:assert"),{isomorphicEncode,serializeJavascriptValueToJSONString}=require_infra(),textEncoder2=new TextEncoder("utf-8"),Response=class _Response{#headers;#state;static error(){return fromInnerResponse(makeNetworkError(),"immutable")}static json(data,init=void 0){webidl.argumentLengthCheck(arguments,1,"Response.json"),init=webidl.converters.ResponseInit(init);let bytes=textEncoder2.encode(serializeJavascriptValueToJSONString(data)),body=extractBody(bytes),responseObject=fromInnerResponse(makeResponse({}),"response");return initializeResponse(responseObject,init,{body:body[0],type:"application/json"}),responseObject}static redirect(url,status2=302){webidl.argumentLengthCheck(arguments,1,"Response.redirect"),url=webidl.converters.USVString(url),status2=webidl.converters["unsigned short"](status2);let parsedURL;try{parsedURL=new URL(url,relevantRealm.settingsObject.baseUrl)}catch(err){throw new TypeError(`Failed to parse URL from ${url}`,{cause:err})}if(!redirectStatusSet.has(status2))throw new RangeError(`Invalid status code ${status2}`);let responseObject=fromInnerResponse(makeResponse({}),"immutable");responseObject.#state.status=status2;let value=isomorphicEncode(URLSerializer(parsedURL));return responseObject.#state.headersList.append("location",value,!0),responseObject}constructor(body=null,init=void 0){if(webidl.util.markAsUncloneable(this),body===kConstruct)return;body!==null&&(body=webidl.converters.BodyInit(body,"Response","body")),init=webidl.converters.ResponseInit(init),this.#state=makeResponse({}),this.#headers=new Headers(kConstruct),setHeadersGuard(this.#headers,"response"),setHeadersList(this.#headers,this.#state.headersList);let bodyWithType=null;if(body!=null){let[extractedBody,type]=extractBody(body);bodyWithType={body:extractedBody,type}}initializeResponse(this,init,bodyWithType)}get type(){return webidl.brandCheck(this,_Response),this.#state.type}get url(){webidl.brandCheck(this,_Response);let urlList=this.#state.urlList,url=urlList[urlList.length-1]??null;return url===null?"":URLSerializer(url,!0)}get redirected(){return webidl.brandCheck(this,_Response),this.#state.urlList.length>1}get status(){return webidl.brandCheck(this,_Response),this.#state.status}get ok(){return webidl.brandCheck(this,_Response),this.#state.status>=200&&this.#state.status<=299}get statusText(){return webidl.brandCheck(this,_Response),this.#state.statusText}get headers(){return webidl.brandCheck(this,_Response),this.#headers}get body(){return webidl.brandCheck(this,_Response),this.#state.body?this.#state.body.stream:null}get bodyUsed(){return webidl.brandCheck(this,_Response),!!this.#state.body&&util.isDisturbed(this.#state.body.stream)}clone(){if(webidl.brandCheck(this,_Response),bodyUnusable(this.#state))throw webidl.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let clonedResponse=cloneResponse(this.#state);return this.#state.urlList.length!==0&&this.#state.body?.stream&&streamRegistry.register(this,new WeakRef(this.#state.body.stream)),fromInnerResponse(clonedResponse,getHeadersGuard(this.#headers))}[nodeUtil.inspect.custom](depth,options){options.depth===null&&(options.depth=2),options.colors??=!0;let properties={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${nodeUtil.formatWithOptions(options,properties)}`}static getResponseHeaders(response){return response.#headers}static setResponseHeaders(response,newHeaders){response.#headers=newHeaders}static getResponseState(response){return response.#state}static setResponseState(response,newState){response.#state=newState}},{getResponseHeaders,setResponseHeaders,getResponseState,setResponseState}=Response;Reflect.deleteProperty(Response,"getResponseHeaders");Reflect.deleteProperty(Response,"setResponseHeaders");Reflect.deleteProperty(Response,"getResponseState");Reflect.deleteProperty(Response,"setResponseState");mixinBody(Response,getResponseState);Object.defineProperties(Response.prototype,{type:kEnumerableProperty,url:kEnumerableProperty,status:kEnumerableProperty,ok:kEnumerableProperty,redirected:kEnumerableProperty,statusText:kEnumerableProperty,headers:kEnumerableProperty,clone:kEnumerableProperty,body:kEnumerableProperty,bodyUsed:kEnumerableProperty,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(Response,{json:kEnumerableProperty,redirect:kEnumerableProperty,error:kEnumerableProperty});function cloneResponse(response){if(response.internalResponse)return filterResponse(cloneResponse(response.internalResponse),response.type);let newResponse=makeResponse({...response,body:null});return response.body!=null&&(newResponse.body=cloneBody(response.body)),newResponse}function makeResponse(init){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...init,headersList:init?.headersList?new HeadersList(init?.headersList):new HeadersList,urlList:init?.urlList?[...init.urlList]:[]}}function makeNetworkError(reason){let isError=isErrorLike(reason);return makeResponse({type:"error",status:0,error:isError?reason:new Error(reason&&String(reason)),aborted:reason&&reason.name==="AbortError"})}function isNetworkError(response){return response.type==="error"&&response.status===0}function makeFilteredResponse(response,state2){return state2={internalResponse:response,...state2},new Proxy(response,{get(target,p){return p in state2?state2[p]:target[p]},set(target,p,value){return assert(!(p in state2)),target[p]=value,!0}})}function filterResponse(response,type){if(type==="basic")return makeFilteredResponse(response,{type:"basic",headersList:response.headersList});if(type==="cors")return makeFilteredResponse(response,{type:"cors",headersList:response.headersList});if(type==="opaque")return makeFilteredResponse(response,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(type==="opaqueredirect")return makeFilteredResponse(response,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});assert(!1)}function makeAppropriateNetworkError(fetchParams,err=null){return assert(isCancelled(fetchParams)),isAborted(fetchParams)?makeNetworkError(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:err})):makeNetworkError(Object.assign(new DOMException("Request was cancelled."),{cause:err}))}function initializeResponse(response,init,body){if(init.status!==null&&(init.status<200||init.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in init&&init.statusText!=null&&!isValidReasonPhrase(String(init.statusText)))throw new TypeError("Invalid statusText");if("status"in init&&init.status!=null&&(getResponseState(response).status=init.status),"statusText"in init&&init.statusText!=null&&(getResponseState(response).statusText=init.statusText),"headers"in init&&init.headers!=null&&fill(getResponseHeaders(response),init.headers),body){if(nullBodyStatus.includes(response.status))throw webidl.errors.exception({header:"Response constructor",message:`Invalid response status code ${response.status}`});getResponseState(response).body=body.body,body.type!=null&&!getResponseState(response).headersList.contains("content-type",!0)&&getResponseState(response).headersList.append("content-type",body.type,!0)}}function fromInnerResponse(innerResponse,guard){let response=new Response(kConstruct);setResponseState(response,innerResponse);let headers=new Headers(kConstruct);return setResponseHeaders(response,headers),setHeadersList(headers,innerResponse.headersList),setHeadersGuard(headers,guard),innerResponse.urlList.length!==0&&innerResponse.body?.stream&&streamRegistry.register(response,new WeakRef(innerResponse.body.stream)),response}webidl.converters.XMLHttpRequestBodyInit=function(V,prefix,name){return typeof V=="string"?webidl.converters.USVString(V,prefix,name):webidl.is.Blob(V)||webidl.is.BufferSource(V)||webidl.is.FormData(V)||webidl.is.URLSearchParams(V)?V:webidl.converters.DOMString(V,prefix,name)};webidl.converters.BodyInit=function(V,prefix,argument){return webidl.is.ReadableStream(V)||V?.[Symbol.asyncIterator]?V:webidl.converters.XMLHttpRequestBodyInit(V,prefix,argument)};webidl.converters.ResponseInit=webidl.dictionaryConverter([{key:"status",converter:webidl.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:webidl.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:webidl.converters.HeadersInit}]);webidl.is.Response=webidl.util.MakeTypeAssertion(Response);module.exports={isNetworkError,makeNetworkError,makeResponse,makeAppropriateNetworkError,filterResponse,Response,cloneResponse,fromInnerResponse,getResponseState}}});var require_request2=__commonJS({"node_modules/undici/lib/web/fetch/request.js"(exports,module){"use strict";var{extractBody,mixinBody,cloneBody,bodyUnusable}=require_body(),{Headers,fill:fillHeaders,HeadersList,setHeadersGuard,getHeadersGuard,setHeadersList,getHeadersList}=require_headers(),util=require_util(),nodeUtil=__require("node:util"),{isValidHTTPToken,sameOrigin,environmentSettingsObject}=require_util2(),{forbiddenMethodsSet,corsSafeListedMethodsSet,referrerPolicy,requestRedirect,requestMode,requestCredentials,requestCache,requestDuplex}=require_constants3(),{kEnumerableProperty,normalizedMethodRecordsBase,normalizedMethodRecords}=util,{webidl}=require_webidl(),{URLSerializer}=require_data_url(),{kConstruct}=require_symbols(),assert=__require("node:assert"),{getMaxListeners,setMaxListeners,defaultMaxListeners}=__require("node:events"),kAbortController=Symbol("abortController"),requestFinalizer=new FinalizationRegistry(({signal,abort})=>{signal.removeEventListener("abort",abort)}),dependentControllerMap=new WeakMap,abortSignalHasEventHandlerLeakWarning;try{abortSignalHasEventHandlerLeakWarning=getMaxListeners(new AbortController().signal)>0}catch{abortSignalHasEventHandlerLeakWarning=!1}function buildAbort(acRef){return abort;function abort(){let ac=acRef.deref();if(ac!==void 0){requestFinalizer.unregister(abort),this.removeEventListener("abort",abort),ac.abort(this.reason);let controllerList=dependentControllerMap.get(ac.signal);if(controllerList!==void 0){if(controllerList.size!==0){for(let ref of controllerList){let ctrl=ref.deref();ctrl!==void 0&&ctrl.abort(this.reason)}controllerList.clear()}dependentControllerMap.delete(ac.signal)}}}}var patchMethodWarning=!1,Request=class _Request{#signal;#dispatcher;#headers;#state;#abortCleanup=null;constructor(input,init=void 0){if(webidl.util.markAsUncloneable(this),input===kConstruct)return;webidl.argumentLengthCheck(arguments,1,"Request constructor"),input=webidl.converters.RequestInfo(input),init=webidl.converters.RequestInit(init);let request=null,fallbackMode=null,baseUrl=environmentSettingsObject.settingsObject.baseUrl,signal=null;if(typeof input=="string"){this.#dispatcher=init.dispatcher;let parsedURL;try{parsedURL=new URL(input,baseUrl)}catch(err){throw new TypeError("Failed to parse URL from "+input,{cause:err})}if(parsedURL.username||parsedURL.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+input);request=makeRequest({urlList:[parsedURL]}),fallbackMode="cors"}else assert(webidl.is.Request(input)),request=input.#state,signal=input.#signal,this.#dispatcher=init.dispatcher||input.#dispatcher;let origin=environmentSettingsObject.settingsObject.origin,window="client";if(request.window?.constructor?.name==="EnvironmentSettingsObject"&&sameOrigin(request.window,origin)&&(window=request.window),init.window!=null)throw new TypeError(`'window' option '${window}' must be null`);"window"in init&&(window="no-window"),request=makeRequest({method:request.method,headersList:request.headersList,unsafeRequest:request.unsafeRequest,client:environmentSettingsObject.settingsObject,window,priority:request.priority,origin:request.origin,referrer:request.referrer,referrerPolicy:request.referrerPolicy,mode:request.mode,credentials:request.credentials,cache:request.cache,redirect:request.redirect,integrity:request.integrity,keepalive:request.keepalive,reloadNavigation:request.reloadNavigation,historyNavigation:request.historyNavigation,urlList:[...request.urlList]});let initHasKey=Object.keys(init).length!==0;if(initHasKey&&(request.mode==="navigate"&&(request.mode="same-origin"),request.reloadNavigation=!1,request.historyNavigation=!1,request.origin="client",request.referrer="client",request.referrerPolicy="",request.url=request.urlList[request.urlList.length-1],request.urlList=[request.url]),init.referrer!==void 0){let referrer=init.referrer;if(referrer==="")request.referrer="no-referrer";else{let parsedReferrer;try{parsedReferrer=new URL(referrer,baseUrl)}catch(err){throw new TypeError(`Referrer "${referrer}" is not a valid URL.`,{cause:err})}parsedReferrer.protocol==="about:"&&parsedReferrer.hostname==="client"||origin&&!sameOrigin(parsedReferrer,environmentSettingsObject.settingsObject.baseUrl)?request.referrer="client":request.referrer=parsedReferrer}}init.referrerPolicy!==void 0&&(request.referrerPolicy=init.referrerPolicy);let mode;if(init.mode!==void 0?mode=init.mode:mode=fallbackMode,mode==="navigate")throw webidl.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(mode!=null&&(request.mode=mode),init.credentials!==void 0&&(request.credentials=init.credentials),init.cache!==void 0&&(request.cache=init.cache),request.cache==="only-if-cached"&&request.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(init.redirect!==void 0&&(request.redirect=init.redirect),init.integrity!=null&&(request.integrity=String(init.integrity)),init.keepalive!==void 0&&(request.keepalive=!!init.keepalive),init.method!==void 0){let method=init.method,mayBeNormalized=normalizedMethodRecords[method];if(mayBeNormalized!==void 0)request.method=mayBeNormalized;else{if(!isValidHTTPToken(method))throw new TypeError(`'${method}' is not a valid HTTP method.`);let upperCase=method.toUpperCase();if(forbiddenMethodsSet.has(upperCase))throw new TypeError(`'${method}' HTTP method is unsupported.`);method=normalizedMethodRecordsBase[upperCase]??method,request.method=method}!patchMethodWarning&&request.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),patchMethodWarning=!0)}init.signal!==void 0&&(signal=init.signal),this.#state=request;let ac=new AbortController;if(this.#signal=ac.signal,signal!=null)if(signal.aborted)ac.abort(signal.reason);else{this[kAbortController]=ac;let acRef=new WeakRef(ac),abort=buildAbort(acRef);abortSignalHasEventHandlerLeakWarning&&getMaxListeners(signal)===defaultMaxListeners&&setMaxListeners(1500,signal);let removeAbortListener=util.addAbortListener(signal,abort);requestFinalizer.register(ac,{signal,abort},abort),this.#abortCleanup=()=>{requestFinalizer.unregister(abort),removeAbortListener(),this.#abortCleanup=null}}if(this.#headers=new Headers(kConstruct),setHeadersList(this.#headers,request.headersList),setHeadersGuard(this.#headers,"request"),mode==="no-cors"){if(!corsSafeListedMethodsSet.has(request.method))throw new TypeError(`'${request.method} is unsupported in no-cors mode.`);setHeadersGuard(this.#headers,"request-no-cors")}if(initHasKey){let headersList=getHeadersList(this.#headers),headers=init.headers!==void 0?init.headers:new HeadersList(headersList);if(headersList.clear(),headers instanceof HeadersList){for(let{name,value}of headers.rawValues())headersList.append(name,value,!1);headersList.cookies=headers.cookies}else fillHeaders(this.#headers,headers)}let inputBody=webidl.is.Request(input)?input.#state.body:null;if((init.body!=null||inputBody!=null)&&(request.method==="GET"||request.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let initBody=null;if(init.body!=null){let[extractedBody,contentType]=extractBody(init.body,request.keepalive);initBody=extractedBody,contentType&&!getHeadersList(this.#headers).contains("content-type",!0)&&this.#headers.append("content-type",contentType,!0)}let inputOrInitBody=initBody??inputBody;if(inputOrInitBody!=null&&inputOrInitBody.source==null){if(initBody!=null&&init.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(request.mode!=="same-origin"&&request.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');request.useCORSPreflightFlag=!0}let finalBody=inputOrInitBody;if(initBody==null&&inputBody!=null){if(bodyUnusable(input.#state))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let identityTransform=new TransformStream;inputBody.stream.pipeThrough(identityTransform),finalBody={source:inputBody.source,length:inputBody.length,stream:identityTransform.readable}}this.#state.body=finalBody}get method(){return webidl.brandCheck(this,_Request),this.#state.method}get url(){return webidl.brandCheck(this,_Request),URLSerializer(this.#state.url)}get headers(){return webidl.brandCheck(this,_Request),this.#headers}get destination(){return webidl.brandCheck(this,_Request),this.#state.destination}get referrer(){return webidl.brandCheck(this,_Request),this.#state.referrer==="no-referrer"?"":this.#state.referrer==="client"?"about:client":this.#state.referrer.toString()}get referrerPolicy(){return webidl.brandCheck(this,_Request),this.#state.referrerPolicy}get mode(){return webidl.brandCheck(this,_Request),this.#state.mode}get credentials(){return webidl.brandCheck(this,_Request),this.#state.credentials}get cache(){return webidl.brandCheck(this,_Request),this.#state.cache}get redirect(){return webidl.brandCheck(this,_Request),this.#state.redirect}get integrity(){return webidl.brandCheck(this,_Request),this.#state.integrity}get keepalive(){return webidl.brandCheck(this,_Request),this.#state.keepalive}get isReloadNavigation(){return webidl.brandCheck(this,_Request),this.#state.reloadNavigation}get isHistoryNavigation(){return webidl.brandCheck(this,_Request),this.#state.historyNavigation}get signal(){return webidl.brandCheck(this,_Request),this.#signal}get body(){return webidl.brandCheck(this,_Request),this.#state.body?this.#state.body.stream:null}get bodyUsed(){return webidl.brandCheck(this,_Request),!!this.#state.body&&util.isDisturbed(this.#state.body.stream)}get duplex(){return webidl.brandCheck(this,_Request),"half"}clone(){if(webidl.brandCheck(this,_Request),bodyUnusable(this.#state))throw new TypeError("unusable");let clonedRequest=cloneRequest(this.#state),ac=new AbortController;if(this.signal.aborted)ac.abort(this.signal.reason);else{let list=dependentControllerMap.get(this.signal);list===void 0&&(list=new Set,dependentControllerMap.set(this.signal,list));let acRef=new WeakRef(ac);list.add(acRef),util.addAbortListener(ac.signal,buildAbort(acRef))}return fromInnerRequest(clonedRequest,this.#dispatcher,ac.signal,getHeadersGuard(this.#headers))}[nodeUtil.inspect.custom](depth,options){options.depth===null&&(options.depth=2),options.colors??=!0;let properties={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${nodeUtil.formatWithOptions(options,properties)}`}static setRequestSignal(request,newSignal){return request.#signal=newSignal,request}static getRequestDispatcher(request){return request.#dispatcher}static setRequestDispatcher(request,newDispatcher){request.#dispatcher=newDispatcher}static setRequestHeaders(request,newHeaders){request.#headers=newHeaders}static getRequestState(request){return request.#state}static setRequestState(request,newState){request.#state=newState}static removeRequestAbortListener(request){request.#abortCleanup?.()}},{setRequestSignal,getRequestDispatcher,setRequestDispatcher,setRequestHeaders,getRequestState,setRequestState,removeRequestAbortListener}=Request;Reflect.deleteProperty(Request,"setRequestSignal");Reflect.deleteProperty(Request,"getRequestDispatcher");Reflect.deleteProperty(Request,"setRequestDispatcher");Reflect.deleteProperty(Request,"setRequestHeaders");Reflect.deleteProperty(Request,"getRequestState");Reflect.deleteProperty(Request,"setRequestState");Reflect.deleteProperty(Request,"removeRequestAbortListener");mixinBody(Request,getRequestState);function makeRequest(init){return{method:init.method??"GET",localURLsOnly:init.localURLsOnly??!1,unsafeRequest:init.unsafeRequest??!1,body:init.body??null,client:init.client??null,reservedClient:init.reservedClient??null,replacesClientId:init.replacesClientId??"",window:init.window??"client",keepalive:init.keepalive??!1,serviceWorkers:init.serviceWorkers??"all",initiator:init.initiator??"",destination:init.destination??"",priority:init.priority??null,origin:init.origin??"client",policyContainer:init.policyContainer??"client",referrer:init.referrer??"client",referrerPolicy:init.referrerPolicy??"",mode:init.mode??"no-cors",useCORSPreflightFlag:init.useCORSPreflightFlag??!1,credentials:init.credentials??"same-origin",useCredentials:init.useCredentials??!1,cache:init.cache??"default",redirect:init.redirect??"follow",integrity:init.integrity??"",cryptoGraphicsNonceMetadata:init.cryptoGraphicsNonceMetadata??"",parserMetadata:init.parserMetadata??"",reloadNavigation:init.reloadNavigation??!1,historyNavigation:init.historyNavigation??!1,userActivation:init.userActivation??!1,taintedOrigin:init.taintedOrigin??!1,redirectCount:init.redirectCount??0,responseTainting:init.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:init.preventNoCacheCacheControlHeaderModification??!1,done:init.done??!1,timingAllowFailed:init.timingAllowFailed??!1,useURLCredentials:init.useURLCredentials??void 0,traversableForUserPrompts:init.traversableForUserPrompts??"client",urlList:init.urlList,url:init.urlList[0],headersList:init.headersList?new HeadersList(init.headersList):new HeadersList}}function cloneRequest(request){let newRequest=makeRequest({...request,body:null});return request.body!=null&&(newRequest.body=cloneBody(request.body)),newRequest}function fromInnerRequest(innerRequest,dispatcher,signal,guard){let request=new Request(kConstruct);setRequestState(request,innerRequest),setRequestDispatcher(request,dispatcher),setRequestSignal(request,signal);let headers=new Headers(kConstruct);return setRequestHeaders(request,headers),setHeadersList(headers,innerRequest.headersList),setHeadersGuard(headers,guard),request}Object.defineProperties(Request.prototype,{method:kEnumerableProperty,url:kEnumerableProperty,headers:kEnumerableProperty,redirect:kEnumerableProperty,clone:kEnumerableProperty,signal:kEnumerableProperty,duplex:kEnumerableProperty,destination:kEnumerableProperty,body:kEnumerableProperty,bodyUsed:kEnumerableProperty,isHistoryNavigation:kEnumerableProperty,isReloadNavigation:kEnumerableProperty,keepalive:kEnumerableProperty,integrity:kEnumerableProperty,cache:kEnumerableProperty,credentials:kEnumerableProperty,attribute:kEnumerableProperty,referrerPolicy:kEnumerableProperty,referrer:kEnumerableProperty,mode:kEnumerableProperty,[Symbol.toStringTag]:{value:"Request",configurable:!0}});webidl.is.Request=webidl.util.MakeTypeAssertion(Request);webidl.converters.RequestInfo=function(V){return typeof V=="string"?webidl.converters.USVString(V):webidl.is.Request(V)?V:webidl.converters.USVString(V)};webidl.converters.RequestInit=webidl.dictionaryConverter([{key:"method",converter:webidl.converters.ByteString},{key:"headers",converter:webidl.converters.HeadersInit},{key:"body",converter:webidl.nullableConverter(webidl.converters.BodyInit)},{key:"referrer",converter:webidl.converters.USVString},{key:"referrerPolicy",converter:webidl.converters.DOMString,allowedValues:referrerPolicy},{key:"mode",converter:webidl.converters.DOMString,allowedValues:requestMode},{key:"credentials",converter:webidl.converters.DOMString,allowedValues:requestCredentials},{key:"cache",converter:webidl.converters.DOMString,allowedValues:requestCache},{key:"redirect",converter:webidl.converters.DOMString,allowedValues:requestRedirect},{key:"integrity",converter:webidl.converters.DOMString},{key:"keepalive",converter:webidl.converters.boolean},{key:"signal",converter:webidl.nullableConverter(signal=>webidl.converters.AbortSignal(signal,"RequestInit","signal"))},{key:"window",converter:webidl.converters.any},{key:"duplex",converter:webidl.converters.DOMString,allowedValues:requestDuplex},{key:"dispatcher",converter:webidl.converters.any},{key:"priority",converter:webidl.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]);module.exports={Request,makeRequest,fromInnerRequest,cloneRequest,getRequestDispatcher,getRequestState,removeRequestAbortListener}}});var require_subresource_integrity=__commonJS({"node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports,module){"use strict";var assert=__require("node:assert"),{runtimeFeatures}=require_runtime_features(),validSRIHashAlgorithmTokenSet=new Map([["sha256",0],["sha384",1],["sha512",2]]),crypto;if(runtimeFeatures.has("crypto")){crypto=__require("node:crypto");let cryptoHashes=crypto.getHashes();cryptoHashes.length===0&&validSRIHashAlgorithmTokenSet.clear();for(let algorithm of validSRIHashAlgorithmTokenSet.keys())cryptoHashes.includes(algorithm)===!1&&validSRIHashAlgorithmTokenSet.delete(algorithm)}else validSRIHashAlgorithmTokenSet.clear();var getSRIHashAlgorithmIndex=Map.prototype.get.bind(validSRIHashAlgorithmTokenSet),isValidSRIHashAlgorithm=Map.prototype.has.bind(validSRIHashAlgorithmTokenSet),bytesMatch=runtimeFeatures.has("crypto")===!1||validSRIHashAlgorithmTokenSet.size===0?()=>!0:(bytes,metadataList)=>{let parsedMetadata=parseMetadata(metadataList);if(parsedMetadata.length===0)return!0;let metadata=getStrongestMetadata(parsedMetadata);for(let item of metadata){let algorithm=item.alg,expectedValue=item.val,actualValue=applyAlgorithmToBytes(algorithm,bytes);if(caseSensitiveMatch(actualValue,expectedValue))return!0}return!1};function getStrongestMetadata(metadataList){let result=[],strongest=null;for(let item of metadataList){if(assert(isValidSRIHashAlgorithm(item.alg),"Invalid SRI hash algorithm token"),result.length===0){result.push(item),strongest=item;continue}let currentAlgorithm=strongest.alg,currentAlgorithmIndex=getSRIHashAlgorithmIndex(currentAlgorithm),newAlgorithm=item.alg,newAlgorithmIndex=getSRIHashAlgorithmIndex(newAlgorithm);newAlgorithmIndex<currentAlgorithmIndex||(newAlgorithmIndex>currentAlgorithmIndex?(strongest=item,result[0]=item,result.length=1):result.push(item))}return result}function parseMetadata(metadata){let result=[];for(let item of metadata.split(" ")){let algorithmExpression=item.split("?",1)[0],base64Value="",algorithmAndValue=[algorithmExpression.slice(0,6),algorithmExpression.slice(7)],algorithm=algorithmAndValue[0];if(!isValidSRIHashAlgorithm(algorithm))continue;algorithmAndValue[1]&&(base64Value=algorithmAndValue[1]);let metadata2={alg:algorithm,val:base64Value};result.push(metadata2)}return result}var applyAlgorithmToBytes=(algorithm,bytes)=>crypto.hash(algorithm,bytes,"base64");function caseSensitiveMatch(actualValue,expectedValue){let actualValueLength=actualValue.length;actualValueLength!==0&&actualValue[actualValueLength-1]==="="&&(actualValueLength-=1),actualValueLength!==0&&actualValue[actualValueLength-1]==="="&&(actualValueLength-=1);let expectedValueLength=expectedValue.length;if(expectedValueLength!==0&&expectedValue[expectedValueLength-1]==="="&&(expectedValueLength-=1),expectedValueLength!==0&&expectedValue[expectedValueLength-1]==="="&&(expectedValueLength-=1),actualValueLength!==expectedValueLength)return!1;for(let i=0;i<actualValueLength;++i)if(!(actualValue[i]===expectedValue[i]||actualValue[i]==="+"&&expectedValue[i]==="-"||actualValue[i]==="/"&&expectedValue[i]==="_"))return!1;return!0}module.exports={applyAlgorithmToBytes,bytesMatch,caseSensitiveMatch,isValidSRIHashAlgorithm,getStrongestMetadata,parseMetadata}}});var require_fetch=__commonJS({"node_modules/undici/lib/web/fetch/index.js"(exports,module){"use strict";var{makeNetworkError,makeAppropriateNetworkError,filterResponse,makeResponse,fromInnerResponse,getResponseState}=require_response(),{HeadersList}=require_headers(),{Request,cloneRequest,getRequestDispatcher,getRequestState,removeRequestAbortListener}=require_request2(),zlib=__require("node:zlib"),{makePolicyContainer,clonePolicyContainer,requestBadPort,TAOCheck,appendRequestOriginHeader,responseLocationURL,requestCurrentURL,setRequestReferrerPolicyOnRedirect,tryUpgradeRequestToAPotentiallyTrustworthyURL,createOpaqueTimingInfo,appendFetchMetadata,corsCheck,crossOriginResourcePolicyCheck,determineRequestsReferrer,coarsenedSharedCurrentTime,sameOrigin,isCancelled,isAborted,isErrorLike,fullyReadBody,readableStreamClose,urlIsLocal,urlIsHttpHttpsScheme,urlHasHttpsScheme,clampAndCoarsenConnectionTimingInfo,simpleRangeHeaderValue,buildContentRange,createInflate,extractMimeType,hasAuthenticationEntry,includesCredentials,isTraversableNavigable}=require_util2(),assert=__require("node:assert"),{safelyExtractBody,extractBody}=require_body(),{redirectStatusSet,nullBodyStatus,safeMethodsSet,requestBodyHeader,subresourceSet}=require_constants3(),EE=__require("node:events"),{Readable,pipeline,finished,isErrored,isReadable}=__require("node:stream"),{addAbortListener,bufferToLowerCasedHeaderName}=require_util(),{dataURLProcessor,serializeAMimeType,minimizeSupportedMimeType}=require_data_url(),{getGlobalDispatcher}=require_global2(),{webidl}=require_webidl(),{STATUS_CODES}=__require("node:http"),{bytesMatch}=require_subresource_integrity(),{isomorphicEncode}=require_infra(),GET_OR_HEAD=["GET","HEAD"],defaultUserAgent=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",resolveObjectURL;function appendHeadersListFromResponseHeaders(headersList,headers,rawHeaders){if(Array.isArray(rawHeaders)){for(let i=0;i<rawHeaders.length;i+=2){let nameStr=bufferToLowerCasedHeaderName(rawHeaders[i]),value=rawHeaders[i+1];if(Array.isArray(value)&&!Buffer.isBuffer(value))for(let val of value)headersList.append(nameStr,val.toString("latin1"),!0);else headersList.append(nameStr,value.toString("latin1"),!0)}return}for(let[name,value]of Object.entries(headers??{}))if(Array.isArray(value))for(let entry of value)headersList.append(name,`${entry}`,!0);else headersList.append(name,`${value}`,!0)}var Fetch=class extends EE{constructor(dispatcher){super(),this.dispatcher=dispatcher,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(reason){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(reason),this.emit("terminated",reason))}abort(error2){this.state==="ongoing"&&(this.state="aborted",error2||(error2=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=error2,this.connection?.destroy(error2),this.emit("terminated",error2))}};function handleFetchDone(response){finalizeAndReportTiming(response,"fetch")}function fetch(input,init=void 0){webidl.argumentLengthCheck(arguments,1,"globalThis.fetch");let p=Promise.withResolvers(),requestObject;try{requestObject=new Request(input,init)}catch(e){return p.reject(e),p.promise}let request=getRequestState(requestObject);if(requestObject.signal.aborted)return abortFetch(p,request,null,requestObject.signal.reason,null),p.promise;request.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(request.serviceWorkers="none");let responseObject=null,locallyAborted=!1,controller=null,removeAbortListener=addAbortListener(requestObject.signal,()=>{locallyAborted=!0,assert(controller!=null),controller.abort(requestObject.signal.reason);let realResponse=responseObject?.deref();abortFetch(p,request,realResponse,requestObject.signal.reason,controller.controller)}),cleanupAbortListeners=()=>{removeAbortListener(),removeRequestAbortListener(requestObject)};return controller=fetching({request,processResponseEndOfBody:response=>{handleFetchDone(response),cleanupAbortListeners()},processResponse:response=>{if(!locallyAborted){if(response.aborted){abortFetch(p,request,responseObject,controller.serializedAbortReason,controller.controller),cleanupAbortListeners();return}if(response.type==="error"){p.reject(new TypeError("fetch failed",{cause:response.error})),cleanupAbortListeners();return}responseObject=new WeakRef(fromInnerResponse(response,"immutable")),p.resolve(responseObject.deref()),p=null}},dispatcher:getRequestDispatcher(requestObject),requestObject}),p.promise}function finalizeAndReportTiming(response,initiatorType="other"){if(response.type==="error"&&response.aborted||!response.urlList?.length)return;let originalURL=response.urlList[0],timingInfo=response.timingInfo,cacheState=response.cacheState;urlIsHttpHttpsScheme(originalURL)&&timingInfo!==null&&(response.timingAllowPassed||(timingInfo=createOpaqueTimingInfo({startTime:timingInfo.startTime}),cacheState=""),timingInfo.endTime=coarsenedSharedCurrentTime(),response.timingInfo=timingInfo,markResourceTiming(timingInfo,originalURL.href,initiatorType,globalThis,cacheState,"",response.status))}var markResourceTiming=performance.markResourceTiming;function abortFetch(p,request,responseObject,error2,controller){if(p&&p.reject(error2),request.body?.stream!=null&&isReadable(request.body.stream)&&request.body.stream.cancel(error2).catch(err=>{if(err.code!=="ERR_INVALID_STATE")throw err}),responseObject==null)return;let response=getResponseState(responseObject);response.body?.stream!=null&&isReadable(response.body.stream)&&controller.error(error2)}function fetching({request,processRequestBodyChunkLength,processRequestEndOfBody,processResponse,processResponseEndOfBody,processResponseConsumeBody,useParallelQueue=!1,dispatcher=getGlobalDispatcher(),requestObject=null}){assert(dispatcher);let taskDestination=null,crossOriginIsolatedCapability=!1;request.client!=null&&(taskDestination=request.client.globalObject,crossOriginIsolatedCapability=request.client.crossOriginIsolatedCapability);let currentTime=coarsenedSharedCurrentTime(crossOriginIsolatedCapability),timingInfo=createOpaqueTimingInfo({startTime:currentTime}),fetchParams={controller:new Fetch(dispatcher),request,timingInfo,processRequestBodyChunkLength,processRequestEndOfBody,processResponse,processResponseConsumeBody,processResponseEndOfBody,taskDestination,crossOriginIsolatedCapability,requestObject};return assert(!request.body||request.body.stream),request.window==="client"&&(request.window=request.client?.globalObject?.constructor?.name==="Window"?request.client:"no-window"),request.origin==="client"&&(request.origin=request.client.origin),request.policyContainer==="client"&&(request.client!=null?request.policyContainer=clonePolicyContainer(request.client.policyContainer):request.policyContainer=makePolicyContainer()),request.headersList.contains("accept",!0)||request.headersList.append("accept","*/*",!0),request.headersList.contains("accept-language",!0)||request.headersList.append("accept-language","*",!0),request.priority,subresourceSet.has(request.destination),mainFetch(fetchParams,!1),fetchParams.controller}async function mainFetch(fetchParams,recursive){try{let request=fetchParams.request,response=null;if(request.localURLsOnly&&!urlIsLocal(requestCurrentURL(request))&&(response=makeNetworkError("local URLs only")),tryUpgradeRequestToAPotentiallyTrustworthyURL(request),requestBadPort(request)==="blocked"&&(response=makeNetworkError("bad port")),request.referrerPolicy===""&&(request.referrerPolicy=request.policyContainer.referrerPolicy),request.referrer!=="no-referrer"&&(request.referrer=determineRequestsReferrer(request)),response===null){let currentURL=requestCurrentURL(request);sameOrigin(currentURL,request.url)&&request.responseTainting==="basic"||currentURL.protocol==="data:"||request.mode==="navigate"||request.mode==="websocket"?(request.responseTainting="basic",response=await schemeFetch(fetchParams)):request.mode==="same-origin"?response=makeNetworkError('request mode cannot be "same-origin"'):request.mode==="no-cors"?request.redirect!=="follow"?response=makeNetworkError('redirect mode cannot be "follow" for "no-cors" request'):(request.responseTainting="opaque",response=await schemeFetch(fetchParams)):urlIsHttpHttpsScheme(requestCurrentURL(request))?(request.responseTainting="cors",response=await httpFetch(fetchParams)):response=makeNetworkError("URL scheme must be a HTTP(S) scheme")}if(recursive)return response;response.status!==0&&!response.internalResponse&&(request.responseTainting,request.responseTainting==="basic"?response=filterResponse(response,"basic"):request.responseTainting==="cors"?response=filterResponse(response,"cors"):request.responseTainting==="opaque"?response=filterResponse(response,"opaque"):assert(!1));let internalResponse=response.status===0?response:response.internalResponse;if(internalResponse.urlList.length===0&&internalResponse.urlList.push(...request.urlList),request.timingAllowFailed||(response.timingAllowPassed=!0),response.type==="opaque"&&internalResponse.status===206&&internalResponse.rangeRequested&&!request.headers.contains("range",!0)&&(response=internalResponse=makeNetworkError()),response.status!==0&&(request.method==="HEAD"||request.method==="CONNECT"||nullBodyStatus.includes(internalResponse.status))&&(internalResponse.body=null,fetchParams.controller.dump=!0),request.integrity){let processBodyError=reason=>fetchFinale(fetchParams,makeNetworkError(reason));if(request.responseTainting==="opaque"||response.body==null){processBodyError(response.error);return}let processBody=bytes=>{if(!bytesMatch(bytes,request.integrity)){processBodyError("integrity mismatch");return}response.body=safelyExtractBody(bytes)[0],fetchFinale(fetchParams,response)};fullyReadBody(response.body,processBody,processBodyError)}else fetchFinale(fetchParams,response)}catch(err){fetchParams.controller.terminate(err)}}function schemeFetch(fetchParams){if(isCancelled(fetchParams)&&fetchParams.request.redirectCount===0)return Promise.resolve(makeAppropriateNetworkError(fetchParams));let{request}=fetchParams,{protocol:scheme}=requestCurrentURL(request);switch(scheme){case"about:":return Promise.resolve(makeNetworkError("about scheme is not supported"));case"blob:":{resolveObjectURL||(resolveObjectURL=__require("node:buffer").resolveObjectURL);let blobURLEntry=requestCurrentURL(request);if(blobURLEntry.search.length!==0)return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));let blob=resolveObjectURL(blobURLEntry.toString());if(request.method!=="GET"||!webidl.is.Blob(blob))return Promise.resolve(makeNetworkError("invalid method"));let response=makeResponse(),fullLength=blob.size,serializedFullLength=isomorphicEncode(`${fullLength}`),type=blob.type;if(request.headersList.contains("range",!0)){response.rangeRequested=!0;let rangeHeader=request.headersList.get("range",!0),rangeValue=simpleRangeHeaderValue(rangeHeader,!0);if(rangeValue==="failure")return Promise.resolve(makeNetworkError("failed to fetch the data URL"));let{rangeStartValue:rangeStart,rangeEndValue:rangeEnd}=rangeValue;if(rangeStart===null)rangeStart=fullLength-rangeEnd,rangeEnd=rangeStart+rangeEnd-1;else{if(rangeStart>=fullLength)return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));(rangeEnd===null||rangeEnd>=fullLength)&&(rangeEnd=fullLength-1)}let slicedBlob=blob.slice(rangeStart,rangeEnd+1,type),slicedBodyWithType=extractBody(slicedBlob);response.body=slicedBodyWithType[0];let serializedSlicedLength=isomorphicEncode(`${slicedBlob.size}`),contentRange=buildContentRange(rangeStart,rangeEnd,fullLength);response.status=206,response.statusText="Partial Content",response.headersList.set("content-length",serializedSlicedLength,!0),response.headersList.set("content-type",type,!0),response.headersList.set("content-range",contentRange,!0)}else{let bodyWithType=extractBody(blob);response.statusText="OK",response.body=bodyWithType[0],response.headersList.set("content-length",serializedFullLength,!0),response.headersList.set("content-type",type,!0)}return Promise.resolve(response)}case"data:":{let currentURL=requestCurrentURL(request),dataURLStruct=dataURLProcessor(currentURL);if(dataURLStruct==="failure")return Promise.resolve(makeNetworkError("failed to fetch the data URL"));let mimeType=serializeAMimeType(dataURLStruct.mimeType);return Promise.resolve(makeResponse({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:mimeType}]],body:safelyExtractBody(dataURLStruct.body)[0]}))}case"file:":return Promise.resolve(makeNetworkError("not implemented... yet..."));case"http:":case"https:":return httpFetch(fetchParams).catch(err=>makeNetworkError(err));default:return Promise.resolve(makeNetworkError("unknown scheme"))}}function finalizeResponse(fetchParams,response){fetchParams.request.done=!0,fetchParams.processResponseDone!=null&&queueMicrotask(()=>fetchParams.processResponseDone(response))}function fetchFinale(fetchParams,response){let timingInfo=fetchParams.timingInfo,processResponseEndOfBody=()=>{let unsafeEndTime=Date.now();fetchParams.request.destination==="document"&&(fetchParams.controller.fullTimingInfo=timingInfo),fetchParams.controller.reportTimingSteps=()=>{if(!urlIsHttpHttpsScheme(fetchParams.request.url))return;timingInfo.endTime=unsafeEndTime;let cacheState=response.cacheState,bodyInfo=response.bodyInfo;response.timingAllowPassed||(timingInfo=createOpaqueTimingInfo(timingInfo),cacheState="");let responseStatus=0;if(fetchParams.request.mode!=="navigate"||!response.hasCrossOriginRedirects){responseStatus=response.status;let mimeType=extractMimeType(response.headersList);mimeType!=="failure"&&(bodyInfo.contentType=minimizeSupportedMimeType(mimeType))}fetchParams.request.initiatorType!=null&&markResourceTiming(timingInfo,fetchParams.request.url.href,fetchParams.request.initiatorType,globalThis,cacheState,bodyInfo,responseStatus)};let processResponseEndOfBodyTask=()=>{fetchParams.request.done=!0,fetchParams.processResponseEndOfBody!=null&&queueMicrotask(()=>fetchParams.processResponseEndOfBody(response)),fetchParams.request.initiatorType!=null&&fetchParams.controller.reportTimingSteps()};queueMicrotask(()=>processResponseEndOfBodyTask())};fetchParams.processResponse!=null&&queueMicrotask(()=>{fetchParams.processResponse(response),fetchParams.processResponse=null});let internalResponse=response.type==="error"?response:response.internalResponse??response;internalResponse.body==null?processResponseEndOfBody():finished(internalResponse.body.stream,()=>{processResponseEndOfBody()})}async function httpFetch(fetchParams){let request=fetchParams.request,response=null,actualResponse=null,timingInfo=fetchParams.timingInfo;if(request.serviceWorkers,response===null){if(request.redirect==="follow"&&(request.serviceWorkers="none"),actualResponse=response=await httpNetworkOrCacheFetch(fetchParams),request.responseTainting==="cors"&&corsCheck(request,response)==="failure")return makeNetworkError("cors failure");TAOCheck(request,response)==="failure"&&(request.timingAllowFailed=!0)}return(request.responseTainting==="opaque"||response.type==="opaque")&&crossOriginResourcePolicyCheck(request.origin,request.client,request.destination,actualResponse)==="blocked"?makeNetworkError("blocked"):(redirectStatusSet.has(actualResponse.status)&&(request.redirect!=="manual"&&fetchParams.controller.connection.destroy(void 0,!1),request.redirect==="error"?response=makeNetworkError("unexpected redirect"):request.redirect==="manual"?response=actualResponse:request.redirect==="follow"?response=await httpRedirectFetch(fetchParams,response):assert(!1)),response.timingInfo=timingInfo,response)}function httpRedirectFetch(fetchParams,response){let request=fetchParams.request,actualResponse=response.internalResponse?response.internalResponse:response,locationURL;try{if(locationURL=responseLocationURL(actualResponse,requestCurrentURL(request).hash),locationURL==null)return response}catch(err){return Promise.resolve(makeNetworkError(err))}if(!urlIsHttpHttpsScheme(locationURL))return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));if(request.redirectCount===20)return Promise.resolve(makeNetworkError("redirect count exceeded"));if(request.redirectCount+=1,request.mode==="cors"&&(locationURL.username||locationURL.password)&&!sameOrigin(request,locationURL))return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));if(request.responseTainting==="cors"&&(locationURL.username||locationURL.password))return Promise.resolve(makeNetworkError('URL cannot contain credentials for request mode "cors"'));if(actualResponse.status!==303&&request.body!=null&&request.body.source==null)return Promise.resolve(makeNetworkError());if([301,302].includes(actualResponse.status)&&request.method==="POST"||actualResponse.status===303&&!GET_OR_HEAD.includes(request.method)){request.method="GET",request.body=null;for(let headerName of requestBodyHeader)request.headersList.delete(headerName)}sameOrigin(requestCurrentURL(request),locationURL)||(request.headersList.delete("authorization",!0),request.headersList.delete("proxy-authorization",!0),request.headersList.delete("cookie",!0),request.headersList.delete("host",!0)),request.body!=null&&(assert(request.body.source!=null),request.body=safelyExtractBody(request.body.source)[0]);let timingInfo=fetchParams.timingInfo;return timingInfo.redirectEndTime=timingInfo.postRedirectStartTime=coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability),timingInfo.redirectStartTime===0&&(timingInfo.redirectStartTime=timingInfo.startTime),request.urlList.push(locationURL),setRequestReferrerPolicyOnRedirect(request,actualResponse),mainFetch(fetchParams,!0)}async function httpNetworkOrCacheFetch(fetchParams,isAuthenticationFetch=!1,isNewConnectionFetch=!1){let request=fetchParams.request,httpFetchParams=null,httpRequest=null,response=null,httpCache=null,revalidatingFlag=!1;request.window==="no-window"&&request.redirect==="error"?(httpFetchParams=fetchParams,httpRequest=request):(request.body?.source!=null?httpRequest=cloneRequest(request):(httpRequest=cloneRequest({...request,body:null}),httpRequest.body=request.body),httpFetchParams={...fetchParams},httpFetchParams.request=httpRequest);let includeCredentials=request.credentials==="include"||request.credentials==="same-origin"&&request.responseTainting==="basic",contentLength=httpRequest.body?httpRequest.body.length:null,contentLengthHeaderValue=null;if(httpRequest.body==null&&["POST","PUT"].includes(httpRequest.method)&&(contentLengthHeaderValue="0"),contentLength!=null&&(contentLengthHeaderValue=isomorphicEncode(`${contentLength}`)),contentLengthHeaderValue!=null&&!httpRequest.headersList.contains("content-length",!0)&&httpRequest.headersList.append("content-length",contentLengthHeaderValue,!0),contentLength!=null&&httpRequest.keepalive,webidl.is.URL(httpRequest.referrer)&&httpRequest.headersList.append("referer",isomorphicEncode(httpRequest.referrer.href),!0),appendRequestOriginHeader(httpRequest),appendFetchMetadata(httpRequest),httpRequest.headersList.contains("user-agent",!0)||httpRequest.headersList.append("user-agent",defaultUserAgent,!0),httpRequest.cache==="default"&&(httpRequest.headersList.contains("if-modified-since",!0)||httpRequest.headersList.contains("if-none-match",!0)||httpRequest.headersList.contains("if-unmodified-since",!0)||httpRequest.headersList.contains("if-match",!0)||httpRequest.headersList.contains("if-range",!0))&&(httpRequest.cache="no-store"),httpRequest.cache==="no-cache"&&!httpRequest.preventNoCacheCacheControlHeaderModification&&!httpRequest.headersList.contains("cache-control",!0)&&httpRequest.headersList.append("cache-control","max-age=0",!0),(httpRequest.cache==="no-store"||httpRequest.cache==="reload")&&(httpRequest.headersList.contains("pragma",!0)||httpRequest.headersList.append("pragma","no-cache",!0),httpRequest.headersList.contains("cache-control",!0)||httpRequest.headersList.append("cache-control","no-cache",!0)),httpRequest.headersList.contains("range",!0)&&httpRequest.headersList.append("accept-encoding","identity",!0),httpRequest.headersList.contains("accept-encoding",!0)||(urlHasHttpsScheme(requestCurrentURL(httpRequest))?httpRequest.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):httpRequest.headersList.append("accept-encoding","gzip, deflate",!0)),httpRequest.headersList.delete("host",!0),includeCredentials&&!httpRequest.headersList.contains("authorization",!0)){let authorizationValue=null;if(!(hasAuthenticationEntry(httpRequest)&&(httpRequest.useURLCredentials===void 0||!includesCredentials(requestCurrentURL(httpRequest))))){if(includesCredentials(requestCurrentURL(httpRequest))&&isAuthenticationFetch){let{username,password}=requestCurrentURL(httpRequest);authorizationValue=`Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`}}authorizationValue!==null&&httpRequest.headersList.append("Authorization",authorizationValue,!1)}if(httpCache==null&&(httpRequest.cache="no-store"),httpRequest.cache!=="no-store"&&httpRequest.cache,response==null){if(httpRequest.cache==="only-if-cached")return makeNetworkError("only if cached");let forwardResponse=await httpNetworkFetch(httpFetchParams,includeCredentials,isNewConnectionFetch);!safeMethodsSet.has(httpRequest.method)&&forwardResponse.status>=200&&forwardResponse.status<=399,revalidatingFlag&&forwardResponse.status,response==null&&(response=forwardResponse)}if(response.urlList=[...httpRequest.urlList],httpRequest.headersList.contains("range",!0)&&(response.rangeRequested=!0),response.requestIncludesCredentials=includeCredentials,response.status===401&&httpRequest.responseTainting!=="cors"&&includeCredentials&&(request.useURLCredentials!==void 0||isTraversableNavigable(request.traversableForUserPrompts))){if(request.body!=null){if(request.body.source==null)return response;request.body=safelyExtractBody(request.body.source)[0]}if(request.useURLCredentials===void 0||isAuthenticationFetch)return isCancelled(fetchParams)?makeAppropriateNetworkError(fetchParams):response;fetchParams.controller.connection.destroy(),response=await httpNetworkOrCacheFetch(fetchParams,!0)}if(response.status===407)return request.window==="no-window"?makeNetworkError():isCancelled(fetchParams)?makeAppropriateNetworkError(fetchParams):makeNetworkError("proxy authentication required");if(response.status===421&&!isNewConnectionFetch&&(request.body==null||request.body.source!=null)){if(isCancelled(fetchParams))return makeAppropriateNetworkError(fetchParams);fetchParams.controller.connection.destroy(),response=await httpNetworkOrCacheFetch(fetchParams,isAuthenticationFetch,!0)}return response}async function httpNetworkFetch(fetchParams,includeCredentials=!1,forceNewConnection=!1){assert(!fetchParams.controller.connection||fetchParams.controller.connection.destroyed),fetchParams.controller.connection={abort:null,destroyed:!1,destroy(err,abort=!0){this.destroyed||(this.destroyed=!0,abort&&this.abort?.(err??new DOMException("The operation was aborted.","AbortError")))}};let request=fetchParams.request,response=null,timingInfo=fetchParams.timingInfo;null==null&&(request.cache="no-store");let newConnection=forceNewConnection?"yes":"no";request.mode;let requestBody=null;if(request.body==null&&fetchParams.processRequestEndOfBody)queueMicrotask(()=>fetchParams.processRequestEndOfBody());else if(request.body!=null){let processBodyChunk=async function*(bytes){isCancelled(fetchParams)||(yield bytes,fetchParams.processRequestBodyChunkLength?.(bytes.byteLength))},processEndOfBody=()=>{isCancelled(fetchParams)||fetchParams.processRequestEndOfBody&&fetchParams.processRequestEndOfBody()},processBodyError=e=>{isCancelled(fetchParams)||(e.name==="AbortError"?fetchParams.controller.abort():fetchParams.controller.terminate(e))};requestBody=(async function*(){try{for await(let bytes of request.body.stream)yield*processBodyChunk(bytes);processEndOfBody()}catch(err){processBodyError(err)}})()}try{let{body,status:status2,statusText,headersList,socket}=await dispatch({body:requestBody});if(socket)response=makeResponse({status:status2,statusText,headersList,socket});else{let iterator=body[Symbol.asyncIterator]();fetchParams.controller.next=()=>iterator.next(),response=makeResponse({status:status2,statusText,headersList})}}catch(err){return err.name==="AbortError"?(fetchParams.controller.connection.destroy(),makeAppropriateNetworkError(fetchParams,err)):makeNetworkError(err)}let pullAlgorithm=()=>fetchParams.controller.resume(),cancelAlgorithm=reason=>{isCancelled(fetchParams)||fetchParams.controller.abort(reason)},stream=new ReadableStream({start(controller){fetchParams.controller.controller=controller},pull:pullAlgorithm,cancel:cancelAlgorithm,type:"bytes"});response.body={stream,source:null,length:null},fetchParams.controller.resume||fetchParams.controller.on("terminated",onAborted),fetchParams.controller.resume=async()=>{for(;;){let bytes,isFailure;try{let{done,value}=await fetchParams.controller.next();if(isAborted(fetchParams))break;bytes=done?void 0:value}catch(err){fetchParams.controller.ended&&!timingInfo.encodedBodySize?bytes=void 0:(bytes=err,isFailure=!0)}if(bytes===void 0){readableStreamClose(fetchParams.controller.controller),finalizeResponse(fetchParams,response);return}if(timingInfo.decodedBodySize+=bytes?.byteLength??0,isFailure){fetchParams.controller.terminate(bytes);return}let buffer=new Uint8Array(bytes);if(buffer.byteLength&&fetchParams.controller.controller.enqueue(buffer),isErrored(stream)){fetchParams.controller.terminate();return}if(fetchParams.controller.controller.desiredSize<=0)return}};function onAborted(reason){isAborted(fetchParams)?(response.aborted=!0,isReadable(stream)&&fetchParams.controller.controller.error(fetchParams.controller.serializedAbortReason)):isReadable(stream)&&fetchParams.controller.controller.error(new TypeError("terminated",{cause:isErrorLike(reason)?reason:void 0})),fetchParams.controller.connection.destroy()}return response;function dispatch({body}){let url=requestCurrentURL(request),agent=fetchParams.controller.dispatcher,path=url.pathname+url.search,hasTrailingQuestionMark=url.search.length===0&&url.href[url.href.length-url.hash.length-1]==="?";return dispatchWithProtocolPreference(body);function dispatchWithProtocolPreference(body2,allowH2){return new Promise((resolve,reject)=>agent.dispatch({path:hasTrailingQuestionMark?`${path}?`:path,origin:url.origin,method:request.method,body:agent.isMockActive?request.body&&(request.body.source||request.body.stream):body2,__mockAgentBodyForDispatch:body2,headers:request.headersList.entries,maxRedirections:0,upgrade:request.mode==="websocket"?"websocket":void 0,...allowH2===!1?{allowH2}:null},{body:null,abort:null,onRequestStart(controller){let{connection}=fetchParams.controller;timingInfo.finalConnectionTimingInfo=clampAndCoarsenConnectionTimingInfo(void 0,timingInfo.postRedirectStartTime,fetchParams.crossOriginIsolatedCapability);let abort=reason=>controller.abort(reason);connection.destroyed?abort(new DOMException("The operation was aborted.","AbortError")):(fetchParams.controller.on("terminated",abort),this.abort=connection.abort=abort),timingInfo.finalNetworkRequestStartTime=coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)},onResponseStarted(){timingInfo.finalNetworkResponseStartTime=coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)},onResponseStart(controller,status2,headers,statusText){if(status2<200)return;let rawHeaders=controller?.rawHeaders??[],headersList=new HeadersList;appendHeadersListFromResponseHeaders(headersList,headers,rawHeaders);let location=headersList.get("location",!0);this.body=new Readable({read:()=>controller.resume()});let willFollow=location&&request.redirect==="follow"&&redirectStatusSet.has(status2),decoders=[];if(request.method!=="HEAD"&&request.method!=="CONNECT"&&!nullBodyStatus.includes(status2)&&!willFollow){let contentEncoding=headersList.get("content-encoding",!0),codings=contentEncoding?contentEncoding.toLowerCase().split(","):[],maxContentEncodings=5;if(codings.length>maxContentEncodings){reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));return}for(let i=codings.length-1;i>=0;--i){let coding=codings[i].trim();if(coding==="x-gzip"||coding==="gzip")decoders.push(zlib.createGunzip({flush:zlib.constants.Z_SYNC_FLUSH,finishFlush:zlib.constants.Z_SYNC_FLUSH}));else if(coding==="deflate")decoders.push(createInflate({flush:zlib.constants.Z_SYNC_FLUSH,finishFlush:zlib.constants.Z_SYNC_FLUSH}));else if(coding==="br")decoders.push(zlib.createBrotliDecompress({flush:zlib.constants.BROTLI_OPERATION_FLUSH,finishFlush:zlib.constants.BROTLI_OPERATION_FLUSH}));else if(coding==="zstd")decoders.push(zlib.createZstdDecompress({flush:zlib.constants.ZSTD_e_continue,finishFlush:zlib.constants.ZSTD_e_end}));else{decoders.length=0;break}}}let onError=err=>this.onResponseError(controller,err);resolve({status:status2,statusText,headersList,body:decoders.length?pipeline(this.body,...decoders,err=>{err&&this.onResponseError(controller,err)}).on("error",onError):this.body.on("error",onError)})},onResponseData(controller,chunk){if(fetchParams.controller.dump)return;let bytes=chunk;timingInfo.encodedBodySize+=bytes.byteLength,this.body.push(bytes)===!1&&controller.pause()},onResponseEnd(){this.abort&&fetchParams.controller.off("terminated",this.abort),fetchParams.controller.ended=!0,this.body?.push(null)},onResponseError(_controller,error2){if(this.abort&&fetchParams.controller.off("terminated",this.abort),request.mode==="websocket"&&allowH2!==!1&&error2?.code==="UND_ERR_INFO"&&error2?.message==="HTTP/2: Extended CONNECT protocol not supported by server"){resolve(dispatchWithProtocolPreference(body2,!1));return}this.body?.destroy(error2),fetchParams.controller.terminate(error2),reject(error2)},onRequestUpgrade(controller,status2,headers,socket){if(socket.session!=null&&status2!==200||socket.session==null&&status2!==101)return!1;let rawHeaders=controller?.rawHeaders??[],headersList=new HeadersList;return appendHeadersListFromResponseHeaders(headersList,headers,rawHeaders),resolve({status:status2,statusText:STATUS_CODES[status2],headersList,socket}),!0}}))}}}module.exports={fetch,Fetch,fetching,finalizeAndReportTiming}}});var require_util3=__commonJS({"node_modules/undici/lib/web/cache/util.js"(exports,module){"use strict";var assert=__require("node:assert"),{URLSerializer}=require_data_url(),{isValidHeaderName}=require_util2();function urlEquals(A,B,excludeFragment=!1){let serializedA=URLSerializer(A,excludeFragment),serializedB=URLSerializer(B,excludeFragment);return serializedA===serializedB}function getFieldValues(header){assert(header!==null);let values=[];for(let value of header.split(","))value=value.trim(),isValidHeaderName(value)&&values.push(value);return values}module.exports={urlEquals,getFieldValues}}});var require_cache3=__commonJS({"node_modules/undici/lib/web/cache/cache.js"(exports,module){"use strict";var assert=__require("node:assert"),{kConstruct}=require_symbols(),{urlEquals,getFieldValues}=require_util3(),{kEnumerableProperty,isDisturbed}=require_util(),{webidl}=require_webidl(),{cloneResponse,fromInnerResponse,getResponseState}=require_response(),{Request,fromInnerRequest,getRequestState}=require_request2(),{fetching}=require_fetch(),{urlIsHttpHttpsScheme,readAllBytes}=require_util2(),Cache=class _Cache{#relevantRequestResponseList;constructor(){arguments[0]!==kConstruct&&webidl.illegalConstructor(),webidl.util.markAsUncloneable(this),this.#relevantRequestResponseList=arguments[1]}async match(request,options={}){webidl.brandCheck(this,_Cache);let prefix="Cache.match";webidl.argumentLengthCheck(arguments,1,prefix),request=webidl.converters.RequestInfo(request),options=webidl.converters.CacheQueryOptions(options,prefix,"options");let p=this.#internalMatchAll(request,options,1);if(p.length!==0)return p[0]}async matchAll(request=void 0,options={}){webidl.brandCheck(this,_Cache);let prefix="Cache.matchAll";return request!==void 0&&(request=webidl.converters.RequestInfo(request)),options=webidl.converters.CacheQueryOptions(options,prefix,"options"),this.#internalMatchAll(request,options)}async add(request){webidl.brandCheck(this,_Cache),webidl.argumentLengthCheck(arguments,1,"Cache.add"),request=webidl.converters.RequestInfo(request);let requests=[request];return await this.addAll(requests)}async addAll(requests){webidl.brandCheck(this,_Cache);let prefix="Cache.addAll";webidl.argumentLengthCheck(arguments,1,prefix);let responsePromises=[],requestList=[];for(let request of requests){if(request===void 0)throw webidl.errors.conversionFailed({prefix,argument:"Argument 1",types:["undefined is not allowed"]});if(request=webidl.converters.RequestInfo(request),typeof request=="string")continue;let r=getRequestState(request);if(!urlIsHttpHttpsScheme(r.url)||r.method!=="GET")throw webidl.errors.exception({header:prefix,message:"Expected http/s scheme when method is not GET."})}let fetchControllers=[];for(let request of requests){let r=getRequestState(new Request(request));if(!urlIsHttpHttpsScheme(r.url))throw webidl.errors.exception({header:prefix,message:"Expected http/s scheme."});r.initiator="fetch",r.destination="subresource",requestList.push(r);let responsePromise=Promise.withResolvers();fetchControllers.push(fetching({request:r,processResponse(response){if(response.type==="error"||response.status===206||response.status<200||response.status>299)responsePromise.reject(webidl.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(response.headersList.contains("vary")){let fieldValues=getFieldValues(response.headersList.get("vary"));for(let fieldValue of fieldValues)if(fieldValue==="*"){responsePromise.reject(webidl.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let controller of fetchControllers)controller.abort();return}}},processResponseEndOfBody(response){if(response.aborted){responsePromise.reject(new DOMException("aborted","AbortError"));return}responsePromise.resolve(response)}})),responsePromises.push(responsePromise.promise)}let responses=await Promise.all(responsePromises),operations=[],index3=0;for(let response of responses){let operation={type:"put",request:requestList[index3],response};operations.push(operation),index3++}let cacheJobPromise=Promise.withResolvers(),errorData=null;try{this.#batchCacheOperations(operations)}catch(e){errorData=e}return queueMicrotask(()=>{errorData===null?cacheJobPromise.resolve(void 0):cacheJobPromise.reject(errorData)}),cacheJobPromise.promise}async put(request,response){webidl.brandCheck(this,_Cache);let prefix="Cache.put";webidl.argumentLengthCheck(arguments,2,prefix),request=webidl.converters.RequestInfo(request),response=webidl.converters.Response(response,prefix,"response");let innerRequest=null;if(webidl.is.Request(request)?innerRequest=getRequestState(request):innerRequest=getRequestState(new Request(request)),!urlIsHttpHttpsScheme(innerRequest.url)||innerRequest.method!=="GET")throw webidl.errors.exception({header:prefix,message:"Expected an http/s scheme when method is not GET"});let innerResponse=getResponseState(response);if(innerResponse.status===206)throw webidl.errors.exception({header:prefix,message:"Got 206 status"});if(innerResponse.headersList.contains("vary")){let fieldValues=getFieldValues(innerResponse.headersList.get("vary"));for(let fieldValue of fieldValues)if(fieldValue==="*")throw webidl.errors.exception({header:prefix,message:"Got * vary field value"})}if(innerResponse.body&&(isDisturbed(innerResponse.body.stream)||innerResponse.body.stream.locked))throw webidl.errors.exception({header:prefix,message:"Response body is locked or disturbed"});let clonedResponse=cloneResponse(innerResponse),bodyReadPromise=Promise.withResolvers();if(innerResponse.body!=null){let reader=innerResponse.body.stream.getReader();readAllBytes(reader,bodyReadPromise.resolve,bodyReadPromise.reject)}else bodyReadPromise.resolve(void 0);let operations=[],operation={type:"put",request:innerRequest,response:clonedResponse};operations.push(operation);let bytes=await bodyReadPromise.promise;clonedResponse.body!=null&&(clonedResponse.body.source=bytes);let cacheJobPromise=Promise.withResolvers(),errorData=null;try{this.#batchCacheOperations(operations)}catch(e){errorData=e}return queueMicrotask(()=>{errorData===null?cacheJobPromise.resolve():cacheJobPromise.reject(errorData)}),cacheJobPromise.promise}async delete(request,options={}){webidl.brandCheck(this,_Cache);let prefix="Cache.delete";webidl.argumentLengthCheck(arguments,1,prefix),request=webidl.converters.RequestInfo(request),options=webidl.converters.CacheQueryOptions(options,prefix,"options");let r=null;if(webidl.is.Request(request)){if(r=getRequestState(request),r.method!=="GET"&&!options.ignoreMethod)return!1}else assert(typeof request=="string"),r=getRequestState(new Request(request));let operations=[],operation={type:"delete",request:r,options};operations.push(operation);let cacheJobPromise=Promise.withResolvers(),errorData=null,requestResponses;try{requestResponses=this.#batchCacheOperations(operations)}catch(e){errorData=e}return queueMicrotask(()=>{errorData===null?cacheJobPromise.resolve(!!requestResponses?.length):cacheJobPromise.reject(errorData)}),cacheJobPromise.promise}async keys(request=void 0,options={}){webidl.brandCheck(this,_Cache);let prefix="Cache.keys";request!==void 0&&(request=webidl.converters.RequestInfo(request)),options=webidl.converters.CacheQueryOptions(options,prefix,"options");let r=null;if(request!==void 0)if(webidl.is.Request(request)){if(r=getRequestState(request),r.method!=="GET"&&!options.ignoreMethod)return[]}else typeof request=="string"&&(r=getRequestState(new Request(request)));let promise=Promise.withResolvers(),requests=[];if(request===void 0)for(let requestResponse of this.#relevantRequestResponseList)requests.push(requestResponse[0]);else{let requestResponses=this.#queryCache(r,options);for(let requestResponse of requestResponses)requests.push(requestResponse[0])}return queueMicrotask(()=>{let requestList=[];for(let request2 of requests){let requestObject=fromInnerRequest(request2,void 0,new AbortController().signal,"immutable");requestList.push(requestObject)}promise.resolve(Object.freeze(requestList))}),promise.promise}#batchCacheOperations(operations){let cache=this.#relevantRequestResponseList,backupCache=[...cache],addedItems=[],resultList=[];try{for(let operation of operations){if(operation.type!=="delete"&&operation.type!=="put")throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(operation.type==="delete"&&operation.response!=null)throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#queryCache(operation.request,operation.options,addedItems).length)throw new DOMException("???","InvalidStateError");let requestResponses;if(operation.type==="delete"){if(requestResponses=this.#queryCache(operation.request,operation.options),requestResponses.length===0)return[];for(let requestResponse of requestResponses){let idx=cache.indexOf(requestResponse);assert(idx!==-1),cache.splice(idx,1)}}else if(operation.type==="put"){if(operation.response==null)throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let r=operation.request;if(!urlIsHttpHttpsScheme(r.url))throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(r.method!=="GET")throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(operation.options!=null)throw webidl.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});requestResponses=this.#queryCache(operation.request);for(let requestResponse of requestResponses){let idx=cache.indexOf(requestResponse);assert(idx!==-1),cache.splice(idx,1)}cache.push([operation.request,operation.response]),addedItems.push([operation.request,operation.response])}resultList.push([operation.request,operation.response])}return resultList}catch(e){throw this.#relevantRequestResponseList.length=0,this.#relevantRequestResponseList=backupCache,e}}#queryCache(requestQuery,options,targetStorage){let resultList=[],storage=targetStorage??this.#relevantRequestResponseList;for(let requestResponse of storage){let[cachedRequest,cachedResponse]=requestResponse;this.#requestMatchesCachedItem(requestQuery,cachedRequest,cachedResponse,options)&&resultList.push(requestResponse)}return resultList}#requestMatchesCachedItem(requestQuery,request,response=null,options){let queryURL=new URL(requestQuery.url),cachedURL=new URL(request.url);if(options?.ignoreSearch&&(cachedURL.search="",queryURL.search=""),!urlEquals(queryURL,cachedURL,!0))return!1;if(response==null||options?.ignoreVary||!response.headersList.contains("vary"))return!0;let fieldValues=getFieldValues(response.headersList.get("vary"));for(let fieldValue of fieldValues){if(fieldValue==="*")return!1;let requestValue=request.headersList.get(fieldValue),queryValue=requestQuery.headersList.get(fieldValue);if(requestValue!==queryValue)return!1}return!0}#internalMatchAll(request,options,maxResponses=1/0){let r=null;if(request!==void 0)if(webidl.is.Request(request)){if(r=getRequestState(request),r.method!=="GET"&&!options.ignoreMethod)return[]}else typeof request=="string"&&(r=getRequestState(new Request(request)));let responses=[];if(request===void 0)for(let requestResponse of this.#relevantRequestResponseList)responses.push(requestResponse[1]);else{let requestResponses=this.#queryCache(r,options);for(let requestResponse of requestResponses)responses.push(requestResponse[1])}let responseList=[];for(let response of responses){let responseObject=fromInnerResponse(cloneResponse(response),"immutable");if(responseList.push(responseObject),responseList.length>=maxResponses)break}return Object.freeze(responseList)}};Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:kEnumerableProperty,matchAll:kEnumerableProperty,add:kEnumerableProperty,addAll:kEnumerableProperty,put:kEnumerableProperty,delete:kEnumerableProperty,keys:kEnumerableProperty});var cacheQueryOptionConverters=[{key:"ignoreSearch",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:webidl.converters.boolean,defaultValue:()=>!1}];webidl.converters.CacheQueryOptions=webidl.dictionaryConverter(cacheQueryOptionConverters);webidl.converters.MultiCacheQueryOptions=webidl.dictionaryConverter([...cacheQueryOptionConverters,{key:"cacheName",converter:webidl.converters.DOMString}]);webidl.converters.Response=webidl.interfaceConverter(webidl.is.Response,"Response");webidl.converters["sequence<RequestInfo>"]=webidl.sequenceConverter(webidl.converters.RequestInfo);module.exports={Cache}}});var require_cachestorage=__commonJS({"node_modules/undici/lib/web/cache/cachestorage.js"(exports,module){"use strict";var{Cache}=require_cache3(),{webidl}=require_webidl(),{kEnumerableProperty}=require_util(),{kConstruct}=require_symbols(),CacheStorage=class _CacheStorage{#caches=new Map;constructor(){arguments[0]!==kConstruct&&webidl.illegalConstructor(),webidl.util.markAsUncloneable(this)}async match(request,options={}){if(webidl.brandCheck(this,_CacheStorage),webidl.argumentLengthCheck(arguments,1,"CacheStorage.match"),request=webidl.converters.RequestInfo(request),options=webidl.converters.MultiCacheQueryOptions(options),options.cacheName!=null){if(this.#caches.has(options.cacheName)){let cacheList=this.#caches.get(options.cacheName);return await new Cache(kConstruct,cacheList).match(request,options)}}else for(let cacheList of this.#caches.values()){let response=await new Cache(kConstruct,cacheList).match(request,options);if(response!==void 0)return response}}async has(cacheName){webidl.brandCheck(this,_CacheStorage);let prefix="CacheStorage.has";return webidl.argumentLengthCheck(arguments,1,prefix),cacheName=webidl.converters.DOMString(cacheName,prefix,"cacheName"),this.#caches.has(cacheName)}async open(cacheName){webidl.brandCheck(this,_CacheStorage);let prefix="CacheStorage.open";if(webidl.argumentLengthCheck(arguments,1,prefix),cacheName=webidl.converters.DOMString(cacheName,prefix,"cacheName"),this.#caches.has(cacheName)){let cache2=this.#caches.get(cacheName);return new Cache(kConstruct,cache2)}let cache=[];return this.#caches.set(cacheName,cache),new Cache(kConstruct,cache)}async delete(cacheName){webidl.brandCheck(this,_CacheStorage);let prefix="CacheStorage.delete";return webidl.argumentLengthCheck(arguments,1,prefix),cacheName=webidl.converters.DOMString(cacheName,prefix,"cacheName"),this.#caches.delete(cacheName)}async keys(){return webidl.brandCheck(this,_CacheStorage),[...this.#caches.keys()]}};Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:kEnumerableProperty,has:kEnumerableProperty,open:kEnumerableProperty,delete:kEnumerableProperty,keys:kEnumerableProperty});module.exports={CacheStorage}}});var require_constants4=__commonJS({"node_modules/undici/lib/web/cookies/constants.js"(exports,module){"use strict";module.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}}});var require_util4=__commonJS({"node_modules/undici/lib/web/cookies/util.js"(exports,module){"use strict";function isCTLExcludingHtab(value){for(let i=0;i<value.length;++i){let code=value.charCodeAt(i);if(code>=0&&code<=8||code>=10&&code<=31||code===127)return!0}return!1}function validateCookieName(name){for(let i=0;i<name.length;++i){let code=name.charCodeAt(i);if(code<33||code>126||code===34||code===40||code===41||code===60||code===62||code===64||code===44||code===59||code===58||code===92||code===47||code===91||code===93||code===63||code===61||code===123||code===125)throw new Error("Invalid cookie name")}}function validateCookieValue(value){let len=value.length,i=0;if(value[0]==='"'){if(len===1||value[len-1]!=='"')throw new Error("Invalid cookie value");--len,++i}for(;i<len;){let code=value.charCodeAt(i++);if(code<33||code>126||code===34||code===44||code===59||code===92)throw new Error("Invalid cookie value")}}function validateCookiePath(path){for(let i=0;i<path.length;++i){let code=path.charCodeAt(i);if(code<32||code>126||code===59)throw new Error("Invalid cookie path")}}function isLetterOrDigit(code){return code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122}function validateCookieDomain(domain){if(domain===" ")return;if(domain.length>255)throw new Error("Invalid cookie domain");let labelLength=0;for(let i=0;i<domain.length;++i){let code=domain.charCodeAt(i);if(code===46){if(labelLength===0)throw new Error("Invalid cookie domain");if(domain.charCodeAt(i-1)===45)throw new Error("Invalid cookie domain");labelLength=0;continue}if(labelLength===0&&!isLetterOrDigit(code))throw new Error("Invalid cookie domain");if(!isLetterOrDigit(code)&&code!==45)throw new Error("Invalid cookie domain");if(++labelLength>63)throw new Error("Invalid cookie domain")}if(labelLength===0||domain.charCodeAt(domain.length-1)===45)throw new Error("Invalid cookie domain")}var IMFDays=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],IMFMonths=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],IMFPaddedNumbers=Array(61).fill(0).map((_,i)=>i.toString().padStart(2,"0"));function toIMFDate(date){return typeof date=="number"&&(date=new Date(date)),`${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`}function validateCookieMaxAge(maxAge){if(maxAge<0)throw new Error("Invalid cookie max-age")}function stringify(cookie){if(cookie.name.length===0)return null;validateCookieName(cookie.name),validateCookieValue(cookie.value);let out=[`${cookie.name}=${cookie.value}`];cookie.name.startsWith("__Secure-")&&(cookie.secure=!0),cookie.name.startsWith("__Host-")&&(cookie.secure=!0,cookie.domain=null,cookie.path="/"),cookie.secure&&out.push("Secure"),cookie.httpOnly&&out.push("HttpOnly"),typeof cookie.maxAge=="number"&&(validateCookieMaxAge(cookie.maxAge),out.push(`Max-Age=${cookie.maxAge}`)),cookie.domain&&(validateCookieDomain(cookie.domain),out.push(`Domain=${cookie.domain}`)),cookie.path&&(validateCookiePath(cookie.path),out.push(`Path=${cookie.path}`)),cookie.expires&&cookie.expires.toString()!=="Invalid Date"&&out.push(`Expires=${toIMFDate(cookie.expires)}`),cookie.sameSite&&out.push(`SameSite=${cookie.sameSite}`);for(let part of cookie.unparsed){if(!part.includes("="))throw new Error("Invalid unparsed");let[key,...value]=part.split("="),trimmedKey=key.trim(),joinedValue=value.join("=");validateCookieName(trimmedKey),validateCookieValue(joinedValue),out.push(`${trimmedKey}=${joinedValue}`)}return out.join("; ")}module.exports={isCTLExcludingHtab,validateCookieName,validateCookiePath,validateCookieValue,toIMFDate,stringify}}});var require_parse=__commonJS({"node_modules/undici/lib/web/cookies/parse.js"(exports,module){"use strict";var{collectASequenceOfCodePointsFast}=require_infra(),{maxNameValuePairSize,maxAttributeValueSize}=require_constants4(),{isCTLExcludingHtab}=require_util4(),assert=__require("node:assert");function parseSetCookie(header){if(isCTLExcludingHtab(header))return null;let nameValuePair="",unparsedAttributes="",name="",value="";if(header.includes(";")){let position={position:0};nameValuePair=collectASequenceOfCodePointsFast(";",header,position),unparsedAttributes=header.slice(position.position)}else nameValuePair=header;if(!nameValuePair.includes("="))value=nameValuePair;else{let position={position:0};name=collectASequenceOfCodePointsFast("=",nameValuePair,position),value=nameValuePair.slice(position.position+1)}return name=name.trim(),value=value.trim(),name.length+value.length>maxNameValuePairSize?null:{name,value,...parseUnparsedAttributes(unparsedAttributes)}}function parseUnparsedAttributes(unparsedAttributes,cookieAttributeList={}){if(unparsedAttributes.length===0)return cookieAttributeList;assert(unparsedAttributes[0]===";"),unparsedAttributes=unparsedAttributes.slice(1);let cookieAv="";unparsedAttributes.includes(";")?(cookieAv=collectASequenceOfCodePointsFast(";",unparsedAttributes,{position:0}),unparsedAttributes=unparsedAttributes.slice(cookieAv.length)):(cookieAv=unparsedAttributes,unparsedAttributes="");let attributeName="",attributeValue="";if(cookieAv.includes("=")){let position={position:0};attributeName=collectASequenceOfCodePointsFast("=",cookieAv,position),attributeValue=cookieAv.slice(position.position+1)}else attributeName=cookieAv;if(attributeName=attributeName.trim(),attributeValue=attributeValue.trim(),attributeValue.length>maxAttributeValueSize)return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList);let attributeNameLowercase=attributeName.toLowerCase();if(attributeNameLowercase==="expires"){let expiryTime=new Date(attributeValue);Number.isNaN(expiryTime.getTime())||(cookieAttributeList.expires=expiryTime)}else if(attributeNameLowercase==="max-age"){let charCode=attributeValue.charCodeAt(0);if((charCode<48||charCode>57)&&attributeValue[0]!=="-"||!/^\d+$/.test(attributeValue))return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList);let deltaSeconds=Number(attributeValue);cookieAttributeList.maxAge=deltaSeconds}else if(attributeNameLowercase==="domain"){let cookieDomain=attributeValue;cookieDomain[0]==="."&&(cookieDomain=cookieDomain.slice(1)),cookieDomain=cookieDomain.toLowerCase(),cookieAttributeList.domain=cookieDomain}else if(attributeNameLowercase==="path"){let cookiePath="";attributeValue.length===0||attributeValue[0]!=="/"?cookiePath="/":cookiePath=attributeValue,cookieAttributeList.path=cookiePath}else if(attributeNameLowercase==="secure")cookieAttributeList.secure=!0;else if(attributeNameLowercase==="httponly")cookieAttributeList.httpOnly=!0;else if(attributeNameLowercase==="samesite"){let attributeValueLowercase=attributeValue.toLowerCase();attributeValueLowercase==="none"?cookieAttributeList.sameSite="None":attributeValueLowercase==="strict"?cookieAttributeList.sameSite="Strict":attributeValueLowercase==="lax"&&(cookieAttributeList.sameSite="Lax")}else cookieAttributeList.unparsed??=[],cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);return parseUnparsedAttributes(unparsedAttributes,cookieAttributeList)}module.exports={parseSetCookie,parseUnparsedAttributes}}});var require_cookies=__commonJS({"node_modules/undici/lib/web/cookies/index.js"(exports,module){"use strict";var{parseSetCookie}=require_parse(),{stringify}=require_util4(),{webidl}=require_webidl(),{Headers}=require_headers(),brandChecks=webidl.brandCheckMultiple([Headers,globalThis.Headers].filter(Boolean));function getCookies(headers){webidl.argumentLengthCheck(arguments,1,"getCookies"),brandChecks(headers);let cookie=headers.get("cookie"),out={};if(!cookie)return out;for(let piece of cookie.split(";")){let[name,...value]=piece.split("=");out[name.trim()]=value.join("=")}return out}function deleteCookie(headers,name,attributes){brandChecks(headers);let prefix="deleteCookie";webidl.argumentLengthCheck(arguments,2,prefix),name=webidl.converters.DOMString(name,prefix,"name"),attributes=webidl.converters.DeleteCookieAttributes(attributes),setCookie(headers,{name,value:"",expires:new Date(0),...attributes})}function getSetCookies(headers){webidl.argumentLengthCheck(arguments,1,"getSetCookies"),brandChecks(headers);let cookies=headers.getSetCookie();return cookies?cookies.map(pair=>parseSetCookie(pair)):[]}function parseCookie(cookie){return cookie=webidl.converters.DOMString(cookie),parseSetCookie(cookie)}function setCookie(headers,cookie){webidl.argumentLengthCheck(arguments,2,"setCookie"),brandChecks(headers),cookie=webidl.converters.Cookie(cookie);let str=stringify(cookie);str&&headers.append("set-cookie",str,!0)}webidl.converters.DeleteCookieAttributes=webidl.dictionaryConverter([{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"path",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"domain",defaultValue:()=>null}]);webidl.converters.Cookie=webidl.dictionaryConverter([{converter:webidl.converters.DOMString,key:"name"},{converter:webidl.converters.DOMString,key:"value"},{converter:webidl.nullableConverter(value=>typeof value=="number"?webidl.converters["unsigned long long"](value):new Date(value)),key:"expires",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters.DOMString),key:"path",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters.boolean),key:"secure",defaultValue:()=>null},{converter:webidl.nullableConverter(webidl.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:webidl.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:webidl.sequenceConverter(webidl.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]);module.exports={getCookies,deleteCookie,getSetCookies,setCookie,parseCookie}}});var require_events=__commonJS({"node_modules/undici/lib/web/websocket/events.js"(exports,module){"use strict";var{webidl}=require_webidl(),{kEnumerableProperty}=require_util(),{kConstruct}=require_symbols(),MessageEvent=class _MessageEvent extends Event{#eventInit;constructor(type,eventInitDict={}){if(type===kConstruct){super(arguments[1],arguments[2]),webidl.util.markAsUncloneable(this);return}let prefix="MessageEvent constructor";webidl.argumentLengthCheck(arguments,1,prefix),type=webidl.converters.DOMString(type,prefix,"type"),eventInitDict=webidl.converters.MessageEventInit(eventInitDict,prefix,"eventInitDict"),super(type,eventInitDict),this.#eventInit=eventInitDict,webidl.util.markAsUncloneable(this)}get data(){return webidl.brandCheck(this,_MessageEvent),this.#eventInit.data}get origin(){return webidl.brandCheck(this,_MessageEvent),this.#eventInit.origin}get lastEventId(){return webidl.brandCheck(this,_MessageEvent),this.#eventInit.lastEventId}get source(){return webidl.brandCheck(this,_MessageEvent),this.#eventInit.source}get ports(){return webidl.brandCheck(this,_MessageEvent),Object.isFrozen(this.#eventInit.ports)||Object.freeze(this.#eventInit.ports),this.#eventInit.ports}initMessageEvent(type,bubbles=!1,cancelable=!1,data=null,origin="",lastEventId="",source=null,ports=[]){return webidl.brandCheck(this,_MessageEvent),webidl.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new _MessageEvent(type,{bubbles,cancelable,data,origin,lastEventId,source,ports})}static createFastMessageEvent(type,init){let messageEvent=new _MessageEvent(kConstruct,type,init);return messageEvent.#eventInit=init,messageEvent.#eventInit.data??=null,messageEvent.#eventInit.origin??="",messageEvent.#eventInit.lastEventId??="",messageEvent.#eventInit.source??=null,messageEvent.#eventInit.ports??=[],messageEvent}},{createFastMessageEvent}=MessageEvent;delete MessageEvent.createFastMessageEvent;var CloseEvent=class _CloseEvent extends Event{#eventInit;constructor(type,eventInitDict={}){let prefix="CloseEvent constructor";webidl.argumentLengthCheck(arguments,1,prefix),type=webidl.converters.DOMString(type,prefix,"type"),eventInitDict=webidl.converters.CloseEventInit(eventInitDict),super(type,eventInitDict),this.#eventInit=eventInitDict,webidl.util.markAsUncloneable(this)}get wasClean(){return webidl.brandCheck(this,_CloseEvent),this.#eventInit.wasClean}get code(){return webidl.brandCheck(this,_CloseEvent),this.#eventInit.code}get reason(){return webidl.brandCheck(this,_CloseEvent),this.#eventInit.reason}},ErrorEvent=class _ErrorEvent extends Event{#eventInit;constructor(type,eventInitDict){let prefix="ErrorEvent constructor";webidl.argumentLengthCheck(arguments,1,prefix),super(type,eventInitDict),webidl.util.markAsUncloneable(this),type=webidl.converters.DOMString(type,prefix,"type"),eventInitDict=webidl.converters.ErrorEventInit(eventInitDict??{}),this.#eventInit=eventInitDict}get message(){return webidl.brandCheck(this,_ErrorEvent),this.#eventInit.message}get filename(){return webidl.brandCheck(this,_ErrorEvent),this.#eventInit.filename}get lineno(){return webidl.brandCheck(this,_ErrorEvent),this.#eventInit.lineno}get colno(){return webidl.brandCheck(this,_ErrorEvent),this.#eventInit.colno}get error(){return webidl.brandCheck(this,_ErrorEvent),this.#eventInit.error}};Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:kEnumerableProperty,origin:kEnumerableProperty,lastEventId:kEnumerableProperty,source:kEnumerableProperty,ports:kEnumerableProperty,initMessageEvent:kEnumerableProperty});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:kEnumerableProperty,code:kEnumerableProperty,wasClean:kEnumerableProperty});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:kEnumerableProperty,filename:kEnumerableProperty,lineno:kEnumerableProperty,colno:kEnumerableProperty,error:kEnumerableProperty});webidl.converters.MessagePort=webidl.interfaceConverter(webidl.is.MessagePort,"MessagePort");webidl.converters["sequence<MessagePort>"]=webidl.sequenceConverter(webidl.converters.MessagePort);var eventInit=[{key:"bubbles",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:webidl.converters.boolean,defaultValue:()=>!1}];webidl.converters.MessageEventInit=webidl.dictionaryConverter([...eventInit,{key:"data",converter:webidl.converters.any,defaultValue:()=>null},{key:"origin",converter:webidl.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:webidl.converters.DOMString,defaultValue:()=>""},{key:"source",converter:webidl.nullableConverter(webidl.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:webidl.converters["sequence<MessagePort>"],defaultValue:()=>[]}]);webidl.converters.CloseEventInit=webidl.dictionaryConverter([...eventInit,{key:"wasClean",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"code",converter:webidl.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:webidl.converters.USVString,defaultValue:()=>""}]);webidl.converters.ErrorEventInit=webidl.dictionaryConverter([...eventInit,{key:"message",converter:webidl.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:webidl.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:webidl.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:webidl.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:webidl.converters.any}]);module.exports={MessageEvent,CloseEvent,ErrorEvent,createFastMessageEvent}}});var require_constants5=__commonJS({"node_modules/undici/lib/web/websocket/constants.js"(exports,module){"use strict";var uid="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",staticPropertyDescriptors={enumerable:!0,writable:!1,configurable:!1},states={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},sentCloseFrameState={SENT:1,RECEIVED:2},opcodes={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},maxUnsigned16Bit=65535,parserStates={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},emptyBuffer=Buffer.allocUnsafe(0),sendHints={text:1,typedArray:2,arrayBuffer:3,blob:4};module.exports={uid,sentCloseFrameState,staticPropertyDescriptors,states,opcodes,maxUnsigned16Bit,parserStates,emptyBuffer,sendHints}}});var require_util5=__commonJS({"node_modules/undici/lib/web/websocket/util.js"(exports,module){"use strict";var{states,opcodes}=require_constants5(),{isUtf8}=__require("node:buffer"),{removeHTTPWhitespace}=require_data_url(),{collectASequenceOfCodePointsFast}=require_infra();function isConnecting(readyState){return readyState===states.CONNECTING}function isEstablished(readyState){return readyState===states.OPEN}function isClosing(readyState){return readyState===states.CLOSING}function isClosed(readyState){return readyState===states.CLOSED}function fireEvent(e,target,eventFactory=(type,init)=>new Event(type,init),eventInitDict={}){let event=eventFactory(e,eventInitDict);target.dispatchEvent(event)}function websocketMessageReceived(handler,type,data){handler.onMessage(type,data)}function toArrayBuffer(buffer){return buffer.byteLength===buffer.buffer.byteLength?buffer.buffer:new Uint8Array(buffer).buffer}function isValidSubprotocol(protocol){if(protocol.length===0)return!1;for(let i=0;i<protocol.length;++i){let code=protocol.charCodeAt(i);if(code<33||code>126||code===34||code===40||code===41||code===44||code===47||code===58||code===59||code===60||code===61||code===62||code===63||code===64||code===91||code===92||code===93||code===123||code===125)return!1}return!0}function isValidStatusCode(code){return code>=1e3&&code<1015?code!==1004&&code!==1005&&code!==1006:code>=3e3&&code<=4999}function isControlFrame(opcode){return opcode===opcodes.CLOSE||opcode===opcodes.PING||opcode===opcodes.PONG}function isContinuationFrame(opcode){return opcode===opcodes.CONTINUATION}function isTextBinaryFrame(opcode){return opcode===opcodes.TEXT||opcode===opcodes.BINARY}function isValidOpcode(opcode){return isTextBinaryFrame(opcode)||isContinuationFrame(opcode)||isControlFrame(opcode)}function parseExtensions(extensions){let position={position:0},extensionList=new Map;for(;position.position<extensions.length;){let pair=collectASequenceOfCodePointsFast(";",extensions,position),[name,value=""]=pair.split("=",2);extensionList.set(removeHTTPWhitespace(name,!0,!1),removeHTTPWhitespace(value,!1,!0)),position.position++}return extensionList}function isValidClientWindowBits(value){if(value.length===0)return!1;for(let i=0;i<value.length;i++){let byte=value.charCodeAt(i);if(byte<48||byte>57)return!1}let num=Number.parseInt(value,10);return num>=8&&num<=15}function getURLRecord(url,baseURL){let urlRecord;try{urlRecord=new URL(url,baseURL)}catch(e){throw new DOMException(e,"SyntaxError")}if(urlRecord.protocol==="http:"?urlRecord.protocol="ws:":urlRecord.protocol==="https:"&&(urlRecord.protocol="wss:"),urlRecord.protocol!=="ws:"&&urlRecord.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(urlRecord.hash.length||urlRecord.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return urlRecord}function validateCloseCodeAndReason(code,reason){if(code!==null&&code!==1e3&&(code<3e3||code>4999))throw new DOMException("invalid code","InvalidAccessError");if(reason!==null){let reasonBytesLength=Buffer.byteLength(reason);if(reasonBytesLength>123)throw new DOMException(`Reason must be less than 123 bytes; received ${reasonBytesLength}`,"SyntaxError")}}var utf8Decode=(()=>{if(typeof process.versions.icu=="string"){let fatalDecoder=new TextDecoder("utf-8",{fatal:!0});return fatalDecoder.decode.bind(fatalDecoder)}return function(buffer){if(isUtf8(buffer))return buffer.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();module.exports={isConnecting,isEstablished,isClosing,isClosed,fireEvent,isValidSubprotocol,isValidStatusCode,websocketMessageReceived,utf8Decode,isControlFrame,isContinuationFrame,isTextBinaryFrame,isValidOpcode,parseExtensions,isValidClientWindowBits,toArrayBuffer,getURLRecord,validateCloseCodeAndReason}}});var require_frame=__commonJS({"node_modules/undici/lib/web/websocket/frame.js"(exports,module){"use strict";var{runtimeFeatures}=require_runtime_features(),{maxUnsigned16Bit,opcodes}=require_constants5(),BUFFER_SIZE=8*1024,buffer=null,bufIdx=BUFFER_SIZE,randomFillSync=runtimeFeatures.has("crypto")?__require("node:crypto").randomFillSync:null;function generateMask(){return bufIdx===BUFFER_SIZE&&(bufIdx=0,randomFillSync(buffer??=Buffer.allocUnsafeSlow(BUFFER_SIZE),0,BUFFER_SIZE)),[buffer[bufIdx++],buffer[bufIdx++],buffer[bufIdx++],buffer[bufIdx++]]}var WebsocketFrameSend=class{constructor(data){this.frameData=data}createFrame(opcode){let frameData=this.frameData,maskKey=generateMask(),bodyLength=frameData?.byteLength??0,payloadLength=bodyLength,offset=6;bodyLength>maxUnsigned16Bit?(offset+=8,payloadLength=127):bodyLength>125&&(offset+=2,payloadLength=126);let buffer2=Buffer.allocUnsafe(bodyLength+offset);buffer2[0]=buffer2[1]=0,buffer2[0]|=128,buffer2[0]=(buffer2[0]&240)+opcode;buffer2[offset-4]=maskKey[0],buffer2[offset-3]=maskKey[1],buffer2[offset-2]=maskKey[2],buffer2[offset-1]=maskKey[3],buffer2[1]=payloadLength,payloadLength===126?buffer2.writeUInt16BE(bodyLength,2):payloadLength===127&&(buffer2[2]=buffer2[3]=0,buffer2.writeUIntBE(bodyLength,4,6)),buffer2[1]|=128;for(let i=0;i<bodyLength;++i)buffer2[offset+i]=frameData[i]^maskKey[i&3];return buffer2}static createFastTextFrame(buffer2){let maskKey=generateMask(),bodyLength=buffer2.length;for(let i=0;i<bodyLength;++i)buffer2[i]^=maskKey[i&3];let payloadLength=bodyLength,offset=6;bodyLength>maxUnsigned16Bit?(offset+=8,payloadLength=127):bodyLength>125&&(offset+=2,payloadLength=126);let head=Buffer.allocUnsafeSlow(offset);return head[0]=128|opcodes.TEXT,head[1]=payloadLength|128,head[offset-4]=maskKey[0],head[offset-3]=maskKey[1],head[offset-2]=maskKey[2],head[offset-1]=maskKey[3],payloadLength===126?head.writeUInt16BE(bodyLength,2):payloadLength===127&&(head[2]=head[3]=0,head.writeUIntBE(bodyLength,4,6)),[head,buffer2]}};module.exports={WebsocketFrameSend,generateMask}}});var require_connection=__commonJS({"node_modules/undici/lib/web/websocket/connection.js"(exports,module){"use strict";var{uid,states,sentCloseFrameState,emptyBuffer,opcodes}=require_constants5(),{parseExtensions,isClosed,isClosing,isEstablished,isConnecting,validateCloseCodeAndReason}=require_util5(),{makeRequest}=require_request2(),{fetching}=require_fetch(),{Headers,getHeadersList}=require_headers(),{getDecodeSplit}=require_util2(),{WebsocketFrameSend}=require_frame(),assert=__require("node:assert"),{runtimeFeatures}=require_runtime_features(),crypto=runtimeFeatures.has("crypto")?__require("node:crypto"):null,warningEmitted=!1;function establishWebSocketConnection(url,protocols,client,handler,options){let requestURL=url;requestURL.protocol=url.protocol==="ws:"?"http:":"https:";let request=makeRequest({urlList:[requestURL],client,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(options.headers){let headersList=getHeadersList(new Headers(options.headers));request.headersList=headersList}let keyValue=crypto.randomBytes(16).toString("base64");request.headersList.append("sec-websocket-key",keyValue,!0),request.headersList.append("sec-websocket-version","13",!0);for(let protocol of protocols)request.headersList.append("sec-websocket-protocol",protocol,!0);return request.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),fetching({request,useParallelQueue:!0,dispatcher:options.dispatcher,processResponse(response){if(response.type==="error"||response.status!==101){if(response.socket?.session==null){failWebsocketConnection(handler,1002,"Received network error or non-101 status code.",response.error);return}if(response.status!==200){failWebsocketConnection(handler,1002,"Received network error or non-200 status code.",response.error);return}}if(warningEmitted===!1&&response.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),warningEmitted=!0),protocols.length!==0&&!response.headersList.get("Sec-WebSocket-Protocol")){failWebsocketConnection(handler,1002,"Server did not respond with sent protocols.");return}if(response.socket.session==null&&response.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){failWebsocketConnection(handler,1002,'Server did not set Upgrade header to "websocket".');return}if(response.socket.session==null&&response.headersList.get("Connection")?.toLowerCase()!=="upgrade"){failWebsocketConnection(handler,1002,'Server did not set Connection header to "upgrade".');return}let secWSAccept=response.headersList.get("Sec-WebSocket-Accept"),digest=crypto.hash("sha1",keyValue+uid,"base64");if(secWSAccept!==digest){failWebsocketConnection(handler,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let secExtension=response.headersList.get("Sec-WebSocket-Extensions"),extensions;if(secExtension!==null&&(extensions=parseExtensions(secExtension),!extensions.has("permessage-deflate"))){failWebsocketConnection(handler,1002,"Sec-WebSocket-Extensions header does not match.");return}let secProtocol=response.headersList.get("Sec-WebSocket-Protocol");if(secProtocol!==null&&!getDecodeSplit("sec-websocket-protocol",request.headersList).includes(secProtocol)){failWebsocketConnection(handler,1002,"Protocol was not set in the opening handshake.");return}response.socket.on("data",handler.onSocketData),response.socket.on("close",handler.onSocketClose),response.socket.on("error",handler.onSocketError),handler.wasEverConnected=!0,handler.onConnectionEstablished(response,extensions)}})}function closeWebSocketConnection(object,code,reason,validate=!1){if(code??=null,reason??="",validate&&validateCloseCodeAndReason(code,reason),!(isClosed(object.readyState)||isClosing(object.readyState)))if(!isEstablished(object.readyState))failWebsocketConnection(object),object.readyState=states.CLOSING;else if(!object.closeState.has(sentCloseFrameState.SENT)&&!object.closeState.has(sentCloseFrameState.RECEIVED)){let frame=new WebsocketFrameSend;reason.length!==0&&code===null&&(code=1e3),assert(code===null||Number.isInteger(code)),code===null&&reason.length===0?frame.frameData=emptyBuffer:code!==null&&reason===null?(frame.frameData=Buffer.allocUnsafe(2),frame.frameData.writeUInt16BE(code,0)):code!==null&&reason!==null?(frame.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(reason)),frame.frameData.writeUInt16BE(code,0),frame.frameData.write(reason,2,"utf-8")):frame.frameData=emptyBuffer,object.socket.write(frame.createFrame(opcodes.CLOSE)),object.closeState.add(sentCloseFrameState.SENT),object.readyState=states.CLOSING}else object.readyState=states.CLOSING}function failWebsocketConnection(handler,code,reason,cause){isEstablished(handler.readyState)&&closeWebSocketConnection(handler,code,reason,!1),handler.controller.abort(),isConnecting(handler.readyState)?handler.onSocketClose():handler.socket?.destroyed===!1&&handler.socket.destroy()}module.exports={establishWebSocketConnection,failWebsocketConnection,closeWebSocketConnection}}});var require_permessage_deflate=__commonJS({"node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports,module){"use strict";var{createInflateRaw,Z_DEFAULT_WINDOWBITS}=__require("node:zlib"),{isValidClientWindowBits}=require_util5(),{MessageSizeExceededError}=require_errors(),tail=Buffer.from([0,0,255,255]),kBuffer=Symbol("kBuffer"),kLength=Symbol("kLength"),PerMessageDeflate=class{#inflate;#options={};#maxPayloadSize=0;constructor(extensions,options){this.#options.serverNoContextTakeover=extensions.has("server_no_context_takeover"),this.#options.serverMaxWindowBits=extensions.get("server_max_window_bits"),this.#maxPayloadSize=options.maxPayloadSize}decompress(chunk,fin,callback){if(!this.#inflate){let windowBits=Z_DEFAULT_WINDOWBITS;if(this.#options.serverMaxWindowBits){if(!isValidClientWindowBits(this.#options.serverMaxWindowBits)){callback(new Error("Invalid server_max_window_bits"));return}windowBits=Number.parseInt(this.#options.serverMaxWindowBits)}try{this.#inflate=createInflateRaw({windowBits})}catch(err){callback(err);return}this.#inflate[kBuffer]=[],this.#inflate[kLength]=0,this.#inflate.on("data",data=>{if(this.#inflate[kLength]+=data.length,this.#maxPayloadSize>0&&this.#inflate[kLength]>this.#maxPayloadSize){callback(new MessageSizeExceededError),this.#inflate.removeAllListeners(),this.#inflate=null;return}this.#inflate[kBuffer].push(data)}),this.#inflate.on("error",err=>{this.#inflate=null,callback(err)})}this.#inflate.write(chunk),fin&&this.#inflate.write(tail),this.#inflate.flush(()=>{if(!this.#inflate)return;let full=Buffer.concat(this.#inflate[kBuffer],this.#inflate[kLength]);this.#inflate[kBuffer].length=0,this.#inflate[kLength]=0,callback(null,full)})}};module.exports={PerMessageDeflate}}});var require_receiver=__commonJS({"node_modules/undici/lib/web/websocket/receiver.js"(exports,module){"use strict";var{Writable}=__require("node:stream"),assert=__require("node:assert"),{parserStates,opcodes,states,emptyBuffer,sentCloseFrameState}=require_constants5(),{isValidStatusCode,isValidOpcode,websocketMessageReceived,utf8Decode,isControlFrame,isTextBinaryFrame,isContinuationFrame}=require_util5(),{failWebsocketConnection}=require_connection(),{WebsocketFrameSend}=require_frame(),{PerMessageDeflate}=require_permessage_deflate(),{MessageSizeExceededError}=require_errors(),ByteParser=class extends Writable{#buffers=[];#fragmentsBytes=0;#byteOffset=0;#loop=!1;#state=parserStates.INFO;#info={};#fragments=[];#extensions;#handler;#maxFragments;#maxPayloadSize;constructor(handler,extensions,options={}){super(),this.#handler=handler,this.#extensions=extensions??new Map,this.#maxFragments=options.maxFragments??0,this.#maxPayloadSize=options.maxPayloadSize??0,this.#extensions.has("permessage-deflate")&&this.#extensions.set("permessage-deflate",new PerMessageDeflate(extensions,options))}_write(chunk,_,callback){this.#buffers.push(chunk),this.#byteOffset+=chunk.length,this.#loop=!0,this.run(callback)}#validatePayloadLength(){return this.#maxPayloadSize>0&&!isControlFrame(this.#info.opcode)&&this.#info.payloadLength+this.#fragmentsBytes>this.#maxPayloadSize?(failWebsocketConnection(this.#handler,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(callback){for(;this.#loop;)if(this.#state===parserStates.INFO){if(this.#byteOffset<2)return callback();let buffer=this.consume(2),fin=(buffer[0]&128)!==0,opcode=buffer[0]&15,masked=(buffer[1]&128)===128,fragmented=!fin&&opcode!==opcodes.CONTINUATION,payloadLength=buffer[1]&127,rsv1=buffer[0]&64,rsv2=buffer[0]&32,rsv3=buffer[0]&16;if(!isValidOpcode(opcode))return failWebsocketConnection(this.#handler,1002,"Invalid opcode received"),callback();if(masked)return failWebsocketConnection(this.#handler,1002,"Frame cannot be masked"),callback();if(rsv1!==0&&!this.#extensions.has("permessage-deflate")){failWebsocketConnection(this.#handler,1002,"Expected RSV1 to be clear.");return}if(rsv2!==0||rsv3!==0){failWebsocketConnection(this.#handler,1002,"RSV1, RSV2, RSV3 must be clear");return}if(fragmented&&!isTextBinaryFrame(opcode)){failWebsocketConnection(this.#handler,1002,"Invalid frame type was fragmented.");return}if(isTextBinaryFrame(opcode)&&this.#fragments.length>0){failWebsocketConnection(this.#handler,1002,"Expected continuation frame");return}if(this.#info.fragmented&&fragmented){failWebsocketConnection(this.#handler,1002,"Fragmented frame exceeded 125 bytes.");return}if((payloadLength>125||fragmented)&&isControlFrame(opcode)){failWebsocketConnection(this.#handler,1002,"Control frame either too large or fragmented");return}if(isContinuationFrame(opcode)&&this.#fragments.length===0&&!this.#info.compressed){failWebsocketConnection(this.#handler,1002,"Unexpected continuation frame");return}if(payloadLength<=125){if(this.#info.payloadLength=payloadLength,this.#state=parserStates.READ_DATA,!this.#validatePayloadLength())return}else payloadLength===126?this.#state=parserStates.PAYLOADLENGTH_16:payloadLength===127&&(this.#state=parserStates.PAYLOADLENGTH_64);isTextBinaryFrame(opcode)&&(this.#info.binaryType=opcode,this.#info.compressed=rsv1!==0),this.#info.opcode=opcode,this.#info.masked=masked,this.#info.fin=fin,this.#info.fragmented=fragmented}else if(this.#state===parserStates.PAYLOADLENGTH_16){if(this.#byteOffset<2)return callback();let buffer=this.consume(2);if(this.#info.payloadLength=buffer.readUInt16BE(0),this.#state=parserStates.READ_DATA,!this.#validatePayloadLength())return}else if(this.#state===parserStates.PAYLOADLENGTH_64){if(this.#byteOffset<8)return callback();let buffer=this.consume(8),upper=buffer.readUInt32BE(0),lower=buffer.readUInt32BE(4);if(upper!==0||lower>2**31-1){failWebsocketConnection(this.#handler,1009,"Received payload length > 2^31 bytes.");return}if(this.#info.payloadLength=lower,this.#state=parserStates.READ_DATA,!this.#validatePayloadLength())return}else if(this.#state===parserStates.READ_DATA){if(this.#byteOffset<this.#info.payloadLength)return callback();let body=this.consume(this.#info.payloadLength);if(isControlFrame(this.#info.opcode))this.#loop=this.parseControlFrame(body),this.#state=parserStates.INFO;else if(this.#info.compressed){this.#extensions.get("permessage-deflate").decompress(body,this.#info.fin,(error2,data)=>{if(error2){let code=error2 instanceof MessageSizeExceededError?1009:1007;failWebsocketConnection(this.#handler,code,error2.message);return}if(this.writeFragments(data)){if(this.#maxPayloadSize>0&&this.#fragmentsBytes>this.#maxPayloadSize){failWebsocketConnection(this.#handler,1009,new MessageSizeExceededError().message);return}if(!this.#info.fin){this.#state=parserStates.INFO,this.#loop=!0,this.run(callback);return}websocketMessageReceived(this.#handler,this.#info.binaryType,this.consumeFragments()),this.#loop=!0,this.#state=parserStates.INFO,this.run(callback)}},this.#fragmentsBytes),this.#loop=!1;break}else{if(!this.writeFragments(body))return;!this.#info.fragmented&&this.#info.fin&&websocketMessageReceived(this.#handler,this.#info.binaryType,this.consumeFragments()),this.#state=parserStates.INFO}}}consume(n){if(n>this.#byteOffset)throw new Error("Called consume() before buffers satiated.");if(n===0)return emptyBuffer;this.#byteOffset-=n;let first=this.#buffers[0];if(first.length>n)return this.#buffers[0]=first.subarray(n,first.length),first.subarray(0,n);if(first.length===n)return this.#buffers.shift();{let offset=0,buffer=Buffer.allocUnsafeSlow(n);for(;offset!==n;){let next=this.#buffers[0],length=next.length;if(length+offset===n){buffer.set(this.#buffers.shift(),offset);break}else if(length+offset>n){buffer.set(next.subarray(0,n-offset),offset),this.#buffers[0]=next.subarray(n-offset);break}else buffer.set(this.#buffers.shift(),offset),offset+=length}return buffer}}writeFragments(fragment){return this.#maxFragments>0&&this.#fragments.length===this.#maxFragments?(failWebsocketConnection(this.#handler,1008,"Too many message fragments"),!1):(this.#fragmentsBytes+=fragment.length,this.#fragments.push(fragment),!0)}consumeFragments(){let fragments=this.#fragments;if(fragments.length===1)return this.#fragmentsBytes=0,fragments.shift();let offset=0,output=Buffer.allocUnsafeSlow(this.#fragmentsBytes);for(let i=0;i<fragments.length;++i){let buffer=fragments[i];output.set(buffer,offset),offset+=buffer.length}return this.#fragments=[],this.#fragmentsBytes=0,output}parseCloseBody(data){assert(data.length!==1);let code;if(data.length>=2&&(code=data.readUInt16BE(0)),code!==void 0&&!isValidStatusCode(code))return{code:1002,reason:"Invalid status code",error:!0};let reason=data.subarray(2);reason[0]===239&&reason[1]===187&&reason[2]===191&&(reason=reason.subarray(3));try{reason=utf8Decode(reason)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code,reason,error:!1}}parseControlFrame(body){let{opcode,payloadLength}=this.#info;if(opcode===opcodes.CLOSE){if(payloadLength===1)return failWebsocketConnection(this.#handler,1002,"Received close frame with a 1-byte body."),!1;if(this.#info.closeInfo=this.parseCloseBody(body),this.#info.closeInfo.error){let{code,reason}=this.#info.closeInfo;return failWebsocketConnection(this.#handler,code,reason),!1}if(!this.#handler.closeState.has(sentCloseFrameState.SENT)&&!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)){let body2=emptyBuffer;this.#info.closeInfo.code&&(body2=Buffer.allocUnsafe(2),body2.writeUInt16BE(this.#info.closeInfo.code,0));let closeFrame=new WebsocketFrameSend(body2);this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE)),this.#handler.closeState.add(sentCloseFrameState.SENT)}return this.#handler.readyState=states.CLOSING,this.#handler.closeState.add(sentCloseFrameState.RECEIVED),!1}else if(opcode===opcodes.PING){if(!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)){let frame=new WebsocketFrameSend(body);this.#handler.socket.write(frame.createFrame(opcodes.PONG)),this.#handler.onPing(body)}}else opcode===opcodes.PONG&&this.#handler.onPong(body);return!0}get closingInfo(){return this.#info.closeInfo}};module.exports={ByteParser}}});var require_sender=__commonJS({"node_modules/undici/lib/web/websocket/sender.js"(exports,module){"use strict";var{WebsocketFrameSend}=require_frame(),{opcodes,sendHints}=require_constants5(),FixedQueue=require_fixed_queue(),SendQueue=class{#queue=new FixedQueue;#running=!1;#socket;constructor(socket){this.#socket=socket}add(item,cb,hint){if(hint!==sendHints.blob){if(this.#running){let node2={promise:null,callback:cb,frame:createFrame(item,hint)};this.#queue.push(node2)}else if(hint===sendHints.text){let{0:head,1:body}=WebsocketFrameSend.createFastTextFrame(item);this.#socket.cork(),this.#socket.write(head),this.#socket.write(body,cb),this.#socket.uncork()}else this.#socket.write(createFrame(item,hint),cb);return}let node={promise:item.arrayBuffer().then(ab=>{node.promise=null,node.frame=createFrame(ab,hint)}),callback:cb,frame:null};this.#queue.push(node),this.#running||this.#run()}async#run(){this.#running=!0;let queue=this.#queue;for(;!queue.isEmpty();){let node=queue.shift();node.promise!==null&&await node.promise,this.#socket.write(node.frame,node.callback),node.callback=node.frame=null}this.#running=!1}};function createFrame(data,hint){return new WebsocketFrameSend(toBuffer(data,hint)).createFrame(hint===sendHints.text?opcodes.TEXT:opcodes.BINARY)}function toBuffer(data,hint){switch(hint){case sendHints.text:case sendHints.typedArray:return new Uint8Array(data.buffer,data.byteOffset,data.byteLength);case sendHints.arrayBuffer:case sendHints.blob:return new Uint8Array(data)}}module.exports={SendQueue}}});var require_websocket=__commonJS({"node_modules/undici/lib/web/websocket/websocket.js"(exports,module){"use strict";var{isArrayBuffer}=__require("node:util/types"),{webidl}=require_webidl(),{URLSerializer}=require_data_url(),{environmentSettingsObject}=require_util2(),{staticPropertyDescriptors,states,sentCloseFrameState,sendHints,opcodes}=require_constants5(),{isConnecting,isEstablished,isClosing,isClosed,isValidSubprotocol,fireEvent,utf8Decode,toArrayBuffer,getURLRecord}=require_util5(),{establishWebSocketConnection,closeWebSocketConnection,failWebsocketConnection}=require_connection(),{ByteParser}=require_receiver(),{kEnumerableProperty}=require_util(),{getGlobalDispatcher}=require_global2(),{ErrorEvent,CloseEvent,createFastMessageEvent}=require_events(),{SendQueue}=require_sender(),{WebsocketFrameSend}=require_frame(),{channels}=require_diagnostics();function getSocketAddress(socket){return typeof socket?.address=="function"?socket.address():typeof socket?.session?.socket?.address=="function"?socket.session.socket.address():null}var WebSocket=class _WebSocket extends EventTarget{#events={open:null,error:null,close:null,message:null};#bufferedAmount=0;#protocol="";#extensions="";#sendQueue;#handler={onConnectionEstablished:(response,extensions)=>this.#onConnectionEstablished(response,extensions),onMessage:(opcode,data)=>this.#onMessage(opcode,data),onParserError:err=>failWebsocketConnection(this.#handler,null,err.message),onParserDrain:()=>this.#onParserDrain(),onSocketData:chunk=>{this.#parser.write(chunk)||this.#handler.socket.pause()},onSocketError:err=>{this.#handler.readyState=states.CLOSING,channels.socketError.hasSubscribers&&channels.socketError.publish(err),this.#handler.socket.destroy()},onSocketClose:()=>this.#onSocketClose(),onPing:body=>{channels.ping.hasSubscribers&&channels.ping.publish({payload:body,websocket:this})},onPong:body=>{channels.pong.hasSubscribers&&channels.pong.publish({payload:body,websocket:this})},readyState:states.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#url;#binaryType;#parser;constructor(url,protocols=[]){super(),webidl.util.markAsUncloneable(this);let prefix="WebSocket constructor";webidl.argumentLengthCheck(arguments,1,prefix);let options=webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols,prefix,"options");url=webidl.converters.USVString(url),protocols=options.protocols;let baseURL=environmentSettingsObject.settingsObject.baseUrl,urlRecord=getURLRecord(url,baseURL);if(typeof protocols=="string"&&(protocols=[protocols]),protocols.length!==new Set(protocols.map(p=>p.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(protocols.length>0&&!protocols.every(p=>isValidSubprotocol(p)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#url=new URL(urlRecord.href);let client=environmentSettingsObject.settingsObject;this.#handler.controller=establishWebSocketConnection(urlRecord,protocols,client,this.#handler,options),this.#handler.readyState=_WebSocket.CONNECTING,this.#binaryType="blob"}close(code=void 0,reason=void 0){webidl.brandCheck(this,_WebSocket),code!==void 0&&(code=webidl.converters["unsigned short"](code,"WebSocket.close","code",webidl.attributes.Clamp)),reason!==void 0&&(reason=webidl.converters.USVString(reason)),code??=null,reason??="",closeWebSocketConnection(this.#handler,code,reason,!0)}send(data){webidl.brandCheck(this,_WebSocket);let prefix="WebSocket.send";if(webidl.argumentLengthCheck(arguments,1,prefix),data=webidl.converters.WebSocketSendData(data,prefix,"data"),isConnecting(this.#handler.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!isEstablished(this.#handler.readyState)||isClosing(this.#handler.readyState)))if(typeof data=="string"){let buffer=Buffer.from(data);this.#bufferedAmount+=buffer.byteLength,this.#sendQueue.add(buffer,()=>{this.#bufferedAmount-=buffer.byteLength},sendHints.text)}else isArrayBuffer(data)?(this.#bufferedAmount+=data.byteLength,this.#sendQueue.add(data,()=>{this.#bufferedAmount-=data.byteLength},sendHints.arrayBuffer)):ArrayBuffer.isView(data)?(this.#bufferedAmount+=data.byteLength,this.#sendQueue.add(data,()=>{this.#bufferedAmount-=data.byteLength},sendHints.typedArray)):webidl.is.Blob(data)&&(this.#bufferedAmount+=data.size,this.#sendQueue.add(data,()=>{this.#bufferedAmount-=data.size},sendHints.blob))}get readyState(){return webidl.brandCheck(this,_WebSocket),this.#handler.readyState}get bufferedAmount(){return webidl.brandCheck(this,_WebSocket),this.#bufferedAmount}get url(){return webidl.brandCheck(this,_WebSocket),URLSerializer(this.#url)}get extensions(){return webidl.brandCheck(this,_WebSocket),this.#extensions}get protocol(){return webidl.brandCheck(this,_WebSocket),this.#protocol}get onopen(){return webidl.brandCheck(this,_WebSocket),this.#events.open}set onopen(fn){webidl.brandCheck(this,_WebSocket),this.#events.open&&this.removeEventListener("open",this.#events.open);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("open",listener),this.#events.open=fn):this.#events.open=null}get onerror(){return webidl.brandCheck(this,_WebSocket),this.#events.error}set onerror(fn){webidl.brandCheck(this,_WebSocket),this.#events.error&&this.removeEventListener("error",this.#events.error);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("error",listener),this.#events.error=fn):this.#events.error=null}get onclose(){return webidl.brandCheck(this,_WebSocket),this.#events.close}set onclose(fn){webidl.brandCheck(this,_WebSocket),this.#events.close&&this.removeEventListener("close",this.#events.close);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("close",listener),this.#events.close=fn):this.#events.close=null}get onmessage(){return webidl.brandCheck(this,_WebSocket),this.#events.message}set onmessage(fn){webidl.brandCheck(this,_WebSocket),this.#events.message&&this.removeEventListener("message",this.#events.message);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("message",listener),this.#events.message=fn):this.#events.message=null}get binaryType(){return webidl.brandCheck(this,_WebSocket),this.#binaryType}set binaryType(type){webidl.brandCheck(this,_WebSocket),type!=="blob"&&type!=="arraybuffer"?this.#binaryType="blob":this.#binaryType=type}#onConnectionEstablished(response,parsedExtensions){this.#handler.socket=response.socket;let maxFragments=this.#handler.controller.dispatcher?.webSocketOptions?.maxFragments,maxPayloadSize=this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize,parser=new ByteParser(this.#handler,parsedExtensions,{maxFragments,maxPayloadSize});parser.on("drain",()=>this.#handler.onParserDrain()),parser.on("error",err=>this.#handler.onParserError(err)),this.#parser=parser,this.#sendQueue=new SendQueue(response.socket),this.#handler.readyState=states.OPEN;let extensions=response.headersList.get("sec-websocket-extensions");extensions!==null&&(this.#extensions=extensions);let protocol=response.headersList.get("sec-websocket-protocol");if(protocol!==null&&(this.#protocol=protocol),fireEvent("open",this),channels.open.hasSubscribers){let headers=response.headersList.entries;channels.open.publish({address:getSocketAddress(response.socket),protocol:this.#protocol,extensions:this.#extensions,websocket:this,handshakeResponse:{status:response.status,statusText:response.statusText,headers}})}}#onMessage(type,data){if(this.#handler.readyState!==states.OPEN)return;let dataForEvent;if(type===opcodes.TEXT)try{dataForEvent=utf8Decode(data)}catch{failWebsocketConnection(this.#handler,1007,"Received invalid UTF-8 in text frame.");return}else type===opcodes.BINARY&&(this.#binaryType==="blob"?dataForEvent=new Blob([data]):dataForEvent=toArrayBuffer(data));fireEvent("message",this,createFastMessageEvent,{origin:this.#url.origin,data:dataForEvent})}#onParserDrain(){this.#handler.socket.resume()}#onSocketClose(){let wasClean=this.#handler.closeState.has(sentCloseFrameState.SENT)&&this.#handler.closeState.has(sentCloseFrameState.RECEIVED),code=1005,reason="",result=this.#parser?.closingInfo;result&&!result.error&&(code=result.code??1005,reason=result.reason),this.#handler.readyState=states.CLOSED,this.#handler.closeState.has(sentCloseFrameState.RECEIVED)||(code=1006,fireEvent("error",this,(type,init)=>new ErrorEvent(type,init),{error:new TypeError(reason)})),fireEvent("close",this,(type,init)=>new CloseEvent(type,init),{wasClean,code,reason}),channels.close.hasSubscribers&&channels.close.publish({websocket:this,code,reason})}static ping(ws,buffer){if(Buffer.isBuffer(buffer)){if(buffer.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(buffer!==void 0)throw new TypeError("Expected buffer payload");let readyState=ws.#handler.readyState;if(isEstablished(readyState)&&!isClosing(readyState)&&!isClosed(readyState)){let frame=new WebsocketFrameSend(buffer);ws.#handler.socket.write(frame.createFrame(opcodes.PING))}}},{ping}=WebSocket;Reflect.deleteProperty(WebSocket,"ping");WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=states.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=states.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=states.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=states.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:staticPropertyDescriptors,OPEN:staticPropertyDescriptors,CLOSING:staticPropertyDescriptors,CLOSED:staticPropertyDescriptors,url:kEnumerableProperty,readyState:kEnumerableProperty,bufferedAmount:kEnumerableProperty,onopen:kEnumerableProperty,onerror:kEnumerableProperty,onclose:kEnumerableProperty,close:kEnumerableProperty,onmessage:kEnumerableProperty,binaryType:kEnumerableProperty,send:kEnumerableProperty,extensions:kEnumerableProperty,protocol:kEnumerableProperty,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(WebSocket,{CONNECTING:staticPropertyDescriptors,OPEN:staticPropertyDescriptors,CLOSING:staticPropertyDescriptors,CLOSED:staticPropertyDescriptors});webidl.converters["sequence<DOMString>"]=webidl.sequenceConverter(webidl.converters.DOMString);webidl.converters["DOMString or sequence<DOMString>"]=function(V,prefix,argument){return webidl.util.Type(V)===webidl.util.Types.OBJECT&&Symbol.iterator in V?webidl.converters["sequence<DOMString>"](V):webidl.converters.DOMString(V,prefix,argument)};webidl.converters.WebSocketInit=webidl.dictionaryConverter([{key:"protocols",converter:webidl.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:webidl.converters.any,defaultValue:()=>getGlobalDispatcher()},{key:"headers",converter:webidl.nullableConverter(webidl.converters.HeadersInit)}]);webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(V){return webidl.util.Type(V)===webidl.util.Types.OBJECT&&!(Symbol.iterator in V)?webidl.converters.WebSocketInit(V):{protocols:webidl.converters["DOMString or sequence<DOMString>"](V)}};webidl.converters.WebSocketSendData=function(V){return webidl.util.Type(V)===webidl.util.Types.OBJECT&&(webidl.is.Blob(V)||webidl.is.BufferSource(V))?V:webidl.converters.USVString(V)};module.exports={WebSocket,ping}}});var require_websocketerror=__commonJS({"node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports,module){"use strict";var{webidl}=require_webidl(),{validateCloseCodeAndReason}=require_util5(),{kConstruct}=require_symbols(),{kEnumerableProperty}=require_util();function createInheritableDOMException(){class Test2 extends DOMException{get reason(){return""}}return new Test2().reason!==void 0?DOMException:new Proxy(DOMException,{construct(target,args,newTarget){let instance=Reflect.construct(target,args,target);return Object.setPrototypeOf(instance,newTarget.prototype),instance}})}var WebSocketError=class _WebSocketError extends createInheritableDOMException(){#closeCode;#reason;constructor(message="",init=void 0){if(message=webidl.converters.DOMString(message,"WebSocketError","message"),super(message,"WebSocketError"),init===kConstruct)return;init!==null&&(init=webidl.converters.WebSocketCloseInfo(init));let code=init.closeCode??null,reason=init.reason??"";validateCloseCodeAndReason(code,reason),reason.length!==0&&code===null&&(code=1e3),this.#closeCode=code,this.#reason=reason}get closeCode(){return this.#closeCode}get reason(){return this.#reason}static createUnvalidatedWebSocketError(message,code,reason){let error2=new _WebSocketError(message,kConstruct);return error2.#closeCode=code,error2.#reason=reason,error2}},{createUnvalidatedWebSocketError}=WebSocketError;delete WebSocketError.createUnvalidatedWebSocketError;Object.defineProperties(WebSocketError.prototype,{closeCode:kEnumerableProperty,reason:kEnumerableProperty,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});webidl.is.WebSocketError=webidl.util.MakeTypeAssertion(WebSocketError);module.exports={WebSocketError,createUnvalidatedWebSocketError}}});var require_websocketstream=__commonJS({"node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports,module){"use strict";var{addAbortListener}=__require("node:events"),{environmentSettingsObject,readableStreamClose}=require_util2(),{states,opcodes,sentCloseFrameState}=require_constants5(),{webidl}=require_webidl(),{getURLRecord,isValidSubprotocol,isEstablished,utf8Decode}=require_util5(),{establishWebSocketConnection,failWebsocketConnection,closeWebSocketConnection}=require_connection(),{channels}=require_diagnostics(),{WebsocketFrameSend}=require_frame(),{ByteParser}=require_receiver(),{WebSocketError,createUnvalidatedWebSocketError}=require_websocketerror(),{kEnumerableProperty}=require_util(),{utf8DecodeBytes}=require_encoding(),emittedExperimentalWarning=!1,WebSocketStream=class{#url;#openedPromise;#closedPromise;#readableStream;#readableStreamController;#writableStream;#handshakeAborted=!1;#handler={onConnectionEstablished:(response,extensions)=>this.#onConnectionEstablished(response,extensions),onMessage:(opcode,data)=>this.#onMessage(opcode,data),onParserError:err=>failWebsocketConnection(this.#handler,null,err.message),onParserDrain:()=>this.#handler.socket.resume(),onSocketData:chunk=>{this.#parser.write(chunk)||this.#handler.socket.pause()},onSocketError:err=>{this.#handler.readyState=states.CLOSING,channels.socketError.hasSubscribers&&channels.socketError.publish(err),this.#handler.socket.destroy()},onSocketClose:()=>this.#onSocketClose(),onPing:()=>{},onPong:()=>{},readyState:states.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#parser;constructor(url,options=void 0){emittedExperimentalWarning||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),emittedExperimentalWarning=!0),webidl.argumentLengthCheck(arguments,1,"WebSocket"),url=webidl.converters.USVString(url),options!==null&&(options=webidl.converters.WebSocketStreamOptions(options));let baseURL=environmentSettingsObject.settingsObject.baseUrl,urlRecord=getURLRecord(url,baseURL),protocols=options.protocols;if(protocols.length!==new Set(protocols.map(p=>p.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(protocols.length>0&&!protocols.every(p=>isValidSubprotocol(p)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#url=urlRecord.toString(),this.#openedPromise=Promise.withResolvers(),this.#closedPromise=Promise.withResolvers(),options.signal!=null){let signal=options.signal;if(signal.aborted){this.#openedPromise.reject(signal.reason),this.#closedPromise.reject(signal.reason);return}addAbortListener(signal,()=>{isEstablished(this.#handler.readyState)||(failWebsocketConnection(this.#handler),this.#handler.readyState=states.CLOSING,this.#openedPromise.reject(signal.reason),this.#closedPromise.reject(signal.reason),this.#handshakeAborted=!0)})}let client=environmentSettingsObject.settingsObject;this.#handler.controller=establishWebSocketConnection(urlRecord,protocols,client,this.#handler,options)}get url(){return this.#url.toString()}get opened(){return this.#openedPromise.promise}get closed(){return this.#closedPromise.promise}close(closeInfo=void 0){closeInfo!==null&&(closeInfo=webidl.converters.WebSocketCloseInfo(closeInfo));let code=closeInfo.closeCode??null,reason=closeInfo.reason;closeWebSocketConnection(this.#handler,code,reason,!0)}#write(chunk){chunk=webidl.converters.WebSocketStreamWrite(chunk);let promise=Promise.withResolvers(),data=null,opcode=null;if(webidl.is.BufferSource(chunk))data=new Uint8Array(ArrayBuffer.isView(chunk)?new Uint8Array(chunk.buffer,chunk.byteOffset,chunk.byteLength):chunk.slice()),opcode=opcodes.BINARY;else{let string;try{string=webidl.converters.DOMString(chunk)}catch(e){return promise.reject(e),promise.promise}data=new TextEncoder().encode(string),opcode=opcodes.TEXT}if(!this.#handler.closeState.has(sentCloseFrameState.SENT)&&!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)){let frame=new WebsocketFrameSend(data);this.#handler.socket.write(frame.createFrame(opcode),()=>{promise.resolve(void 0)})}return promise.promise}#onConnectionEstablished(response,parsedExtensions){this.#handler.socket=response.socket;let maxFragments=this.#handler.controller.dispatcher?.webSocketOptions?.maxFragments,maxPayloadSize=this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize,parser=new ByteParser(this.#handler,parsedExtensions,{maxFragments,maxPayloadSize});parser.on("drain",()=>this.#handler.onParserDrain()),parser.on("error",err=>this.#handler.onParserError(err)),this.#parser=parser,this.#handler.readyState=states.OPEN;let extensions=parsedExtensions??"",protocol=response.headersList.get("sec-websocket-protocol")??"",readable=new ReadableStream({start:controller=>{this.#readableStreamController=controller},cancel:reason=>this.#cancel(reason)}),writable=new WritableStream({write:chunk=>this.#write(chunk),close:()=>closeWebSocketConnection(this.#handler,null,null),abort:reason=>this.#closeUsingReason(reason)});this.#readableStream=readable,this.#writableStream=writable,this.#openedPromise.resolve({extensions,protocol,readable,writable})}#onMessage(type,data){if(this.#handler.readyState!==states.OPEN)return;let chunk;if(type===opcodes.TEXT)try{chunk=utf8Decode(data)}catch{failWebsocketConnection(this.#handler,1007,"Received invalid UTF-8 in text frame.");return}else type===opcodes.BINARY&&(chunk=new Uint8Array(data.buffer,data.byteOffset,data.byteLength));this.#readableStreamController.enqueue(chunk)}#onSocketClose(){let wasClean=this.#handler.closeState.has(sentCloseFrameState.SENT)&&this.#handler.closeState.has(sentCloseFrameState.RECEIVED);if(this.#handler.readyState=states.CLOSED,this.#handshakeAborted)return;this.#handler.wasEverConnected||this.#openedPromise.reject(new WebSocketError("Socket never opened"));let result=this.#parser?.closingInfo,code=result?.code??1005;!this.#handler.closeState.has(sentCloseFrameState.SENT)&&!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)&&(code=1006);let reason=result?.reason==null?"":utf8DecodeBytes(Buffer.from(result.reason));if(wasClean)readableStreamClose(this.#readableStreamController),this.#writableStream.locked||this.#writableStream.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#closedPromise.resolve({closeCode:code,reason});else{let error2=createUnvalidatedWebSocketError("unclean close",code,reason);this.#readableStreamController?.error(error2),this.#writableStream?.abort(error2),this.#closedPromise.reject(error2)}}#closeUsingReason(reason){let code=null,reasonString="";webidl.is.WebSocketError(reason)&&(code=reason.closeCode,reasonString=reason.reason),closeWebSocketConnection(this.#handler,code,reasonString)}#cancel(reason){this.#closeUsingReason(reason)}};Object.defineProperties(WebSocketStream.prototype,{url:kEnumerableProperty,opened:kEnumerableProperty,closed:kEnumerableProperty,close:kEnumerableProperty,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});webidl.converters.WebSocketStreamOptions=webidl.dictionaryConverter([{key:"protocols",converter:webidl.sequenceConverter(webidl.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:webidl.nullableConverter(webidl.converters.AbortSignal),defaultValue:()=>null}]);webidl.converters.WebSocketCloseInfo=webidl.dictionaryConverter([{key:"closeCode",converter:V=>webidl.converters["unsigned short"](V,webidl.attributes.EnforceRange)},{key:"reason",converter:webidl.converters.USVString,defaultValue:()=>""}]);webidl.converters.WebSocketStreamWrite=function(V){return typeof V=="string"?webidl.converters.USVString(V):webidl.converters.BufferSource(V)};module.exports={WebSocketStream}}});var require_util6=__commonJS({"node_modules/undici/lib/web/eventsource/util.js"(exports,module){"use strict";var{makeRequest}=require_request2();function isValidLastEventId(value){return value.indexOf("\0")===-1}function isASCIINumber(value){if(value.length===0)return!1;for(let i=0;i<value.length;i++)if(value.charCodeAt(i)<48||value.charCodeAt(i)>57)return!1;return!0}function createPotentialCORSRequest(url,destination,corsAttributeState,sameOriginFallback){let mode=corsAttributeState==="no cors"?"no-cors":"cors";sameOriginFallback&&mode==="no-cors"&&(mode="same-origin");let credentialsMode="include";return corsAttributeState==="anonymous"&&(credentialsMode="same-origin"),makeRequest({urlList:[url],destination,mode,credentials:credentialsMode,useURLCredentials:!0})}module.exports={isValidLastEventId,isASCIINumber,createPotentialCORSRequest}}});var require_eventsource_stream=__commonJS({"node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports,module){"use strict";var{Transform}=__require("node:stream"),{isASCIINumber,isValidLastEventId}=require_util6(),BOM=[239,187,191],LF=10,CR=13,COLON=58,SPACE=32,DATA=Buffer.from("data"),EVENT=Buffer.from("event"),ID=Buffer.from("id"),RETRY=Buffer.from("retry");function isASCIINumberBytes(buffer,start){if(start>=buffer.length)return!1;for(let i=start;i<buffer.length;i++)if(buffer[i]<48||buffer[i]>57)return!1;return!0}function isValidLastEventIdBytes(buffer,start){for(let i=start;i<buffer.length;i++)if(buffer[i]===0)return!1;return!0}function isFieldName(line,length,field){if(length!==field.length)return!1;for(let i=0;i<length;i++)if(line[i]!==field[i])return!1;return!0}var EventSourceStream=class extends Transform{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(options={}){options.readableObjectMode=!0,super(options),this.state=options.eventSourceSettings||{},options.push&&(this.push=options.push)}_transform(chunk,_encoding,callback){if(chunk.length===0){callback();return}if(this.chunks.push(chunk),this.checkBOM&&this.handleBOM()){callback();return}for(;this.hasCurrentByte();){let byte=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(byte===LF){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(byte===LF||byte===CR){byte===CR&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(byte===LF||byte===CR){byte===CR&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}callback()}parseLine(line,event){if(line.length===0)return;let colonPosition=line.indexOf(COLON);if(colonPosition===0)return;let fieldLength=line.length,valueStart=line.length;if(colonPosition!==-1&&(fieldLength=colonPosition,valueStart=colonPosition+1,line[valueStart]===SPACE&&++valueStart),isFieldName(line,fieldLength,DATA)){let value=line.toString("utf8",valueStart);event.data===void 0?event.data=value:event.data+=`
130
+ ${value}`;return}if(isFieldName(line,fieldLength,RETRY)){isASCIINumberBytes(line,valueStart)&&(event.retry=line.toString("utf8",valueStart));return}if(isFieldName(line,fieldLength,ID)){isValidLastEventIdBytes(line,valueStart)&&(event.id=line.toString("utf8",valueStart));return}if(isFieldName(line,fieldLength,EVENT)){let value=line.toString("utf8",valueStart);value.length>0&&(event.event=value)}}processEvent(event){event.retry&&isASCIINumber(event.retry)&&(this.state.reconnectionTime=parseInt(event.retry,10)),event.id!==void 0&&isValidLastEventId(event.id)&&(this.state.lastEventId=event.id),event.data!==void 0&&this.push({type:event.event||"message",options:{data:event.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let chunks=[],length=0;for(let i=this.lineChunkIndex;i<=this.chunkIndex;i++){let chunk=this.chunks[i],start=i===this.lineChunkIndex?this.linePos:0,end=i===this.chunkIndex?this.pos:chunk.length,slice=chunk.subarray(start,end);length+=slice.length,chunks.push(slice)}return Buffer.concat(chunks,length)}peekBufferedByte(offset){let chunkIndex=this.lineChunkIndex,pos=this.linePos;for(;chunkIndex<this.chunks.length;){let chunk=this.chunks[chunkIndex],remaining=chunk.length-pos;if(offset<remaining)return chunk[pos+offset];offset-=remaining,chunkIndex++,pos=0}}discardLeadingBytes(count){for(;count>0&&this.lineChunkIndex<this.chunks.length;){let remaining=this.chunks[this.lineChunkIndex].length-this.linePos;count<remaining?(this.linePos+=count,count=0):(count-=remaining,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let first=this.peekBufferedByte(0),second=this.peekBufferedByte(1),third=this.peekBufferedByte(2);return second===void 0?(first===BOM[0]||(this.checkBOM=!1),!0):third===void 0?first===BOM[0]&&second===BOM[1]?!0:(this.checkBOM=!1,!1):(first===BOM[0]&&second===BOM[1]&&third===BOM[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};module.exports={EventSourceStream}}});var require_eventsource=__commonJS({"node_modules/undici/lib/web/eventsource/eventsource.js"(exports,module){"use strict";var{pipeline}=__require("node:stream"),{fetching}=require_fetch(),{webidl}=require_webidl(),{EventSourceStream}=require_eventsource_stream(),{parseMIMEType}=require_data_url(),{createFastMessageEvent}=require_events(),{isNetworkError}=require_response(),{kEnumerableProperty}=require_util(),{environmentSettingsObject}=require_util2(),{createPotentialCORSRequest}=require_util6(),experimentalWarned=!1,defaultReconnectionTime=3e3,CONNECTING=0,OPEN=1,CLOSED=2,ANONYMOUS="anonymous",USE_CREDENTIALS="use-credentials",EventSource=class _EventSource extends EventTarget{#events={open:null,error:null,message:null};#url;#withCredentials=!1;#readyState=CONNECTING;#request=null;#controller=null;#dispatcher;#state;constructor(url,eventSourceInitDict={}){super(),webidl.util.markAsUncloneable(this);let prefix="EventSource constructor";webidl.argumentLengthCheck(arguments,1,prefix),experimentalWarned||(experimentalWarned=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),url=webidl.converters.USVString(url),eventSourceInitDict=webidl.converters.EventSourceInitDict(eventSourceInitDict,prefix,"eventSourceInitDict"),this.#dispatcher=eventSourceInitDict.node.dispatcher||eventSourceInitDict.dispatcher,this.#state={lastEventId:"",reconnectionTime:eventSourceInitDict.node.reconnectionTime};let settings2=environmentSettingsObject,urlRecord;try{urlRecord=new URL(url,settings2.settingsObject.baseUrl),this.#state.origin=urlRecord.origin}catch(e){throw new DOMException(e,"SyntaxError")}this.#url=urlRecord.href;let corsAttributeState=ANONYMOUS;eventSourceInitDict.withCredentials===!0&&(corsAttributeState=USE_CREDENTIALS,this.#withCredentials=!0);let request=createPotentialCORSRequest(urlRecord,"",corsAttributeState);request.client=environmentSettingsObject.settingsObject,request.headersList.set("Accept","text/event-stream"),request.cache="no-store",request.initiator="other",this.#request=request,this.#connect()}get readyState(){return this.#readyState}get url(){return this.#url}get withCredentials(){return this.#withCredentials}#connect(){if(this.#readyState===CLOSED)return;this.#readyState=CONNECTING;let fetchParams={request:this.#request,dispatcher:this.#dispatcher},processEventSourceEndOfBody=response=>{if(!isNetworkError(response))return this.#reconnect()};fetchParams.processResponseEndOfBody=processEventSourceEndOfBody,fetchParams.processResponse=response=>{if(isNetworkError(response))if(response.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#reconnect();return}let contentType=response.headersList.get("content-type",!0),mimeType=contentType!==null?parseMIMEType(contentType):"failure",contentTypeValid=mimeType!=="failure"&&mimeType.essence==="text/event-stream";if(response.status!==200||contentTypeValid===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#readyState=OPEN,this.dispatchEvent(new Event("open")),this.#state.origin=response.urlList[response.urlList.length-1].origin;let eventSourceStream=new EventSourceStream({eventSourceSettings:this.#state,push:event=>{this.dispatchEvent(createFastMessageEvent(event.type,event.options))}});pipeline(response.body.stream,eventSourceStream,error2=>{error2?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#controller=fetching(fetchParams)}#reconnect(){this.#readyState!==CLOSED&&(this.#readyState=CONNECTING,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#readyState===CONNECTING&&(this.#state.lastEventId.length&&this.#request.headersList.set("last-event-id",this.#state.lastEventId,!0),this.#connect())},this.#state.reconnectionTime)?.unref())}close(){webidl.brandCheck(this,_EventSource),this.#readyState!==CLOSED&&(this.#readyState=CLOSED,this.#controller.abort(),this.#request=null)}get onopen(){return this.#events.open}set onopen(fn){this.#events.open&&this.removeEventListener("open",this.#events.open);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("open",listener),this.#events.open=fn):this.#events.open=null}get onmessage(){return this.#events.message}set onmessage(fn){this.#events.message&&this.removeEventListener("message",this.#events.message);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("message",listener),this.#events.message=fn):this.#events.message=null}get onerror(){return this.#events.error}set onerror(fn){this.#events.error&&this.removeEventListener("error",this.#events.error);let listener=webidl.converters.EventHandlerNonNull(fn);listener!==null?(this.addEventListener("error",listener),this.#events.error=fn):this.#events.error=null}},constantsPropertyDescriptors={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:CONNECTING,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:OPEN,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:CLOSED,writable:!1}};Object.defineProperties(EventSource,constantsPropertyDescriptors);Object.defineProperties(EventSource.prototype,constantsPropertyDescriptors);Object.defineProperties(EventSource.prototype,{close:kEnumerableProperty,onerror:kEnumerableProperty,onmessage:kEnumerableProperty,onopen:kEnumerableProperty,readyState:kEnumerableProperty,url:kEnumerableProperty,withCredentials:kEnumerableProperty});webidl.converters.EventSourceInitDict=webidl.dictionaryConverter([{key:"withCredentials",converter:webidl.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:webidl.converters.any},{key:"node",converter:webidl.dictionaryConverter([{key:"reconnectionTime",converter:webidl.converters["unsigned long"],defaultValue:()=>defaultReconnectionTime},{key:"dispatcher",converter:webidl.converters.any}]),defaultValue:()=>({})}]);module.exports={EventSource,defaultReconnectionTime}}});var require_undici=__commonJS({"node_modules/undici/index.js"(exports,module){"use strict";var Client=require_client(),Dispatcher=require_dispatcher(),Pool=require_pool(),BalancedPool=require_balanced_pool(),RoundRobinPool=require_round_robin_pool(),Agent=require_agent(),Dispatcher1Wrapper=require_dispatcher1_wrapper(),ProxyAgent=require_proxy_agent(),Socks5ProxyAgent=require_socks5_proxy_agent(),EnvHttpProxyAgent=require_env_http_proxy_agent(),RetryAgent=require_retry_agent(),H2CClient=require_h2c_client(),errors=require_errors(),util=require_util(),{InvalidArgumentError}=errors,api=require_api(),buildConnector=require_connect(),MockClient=require_mock_client(),{MockCallHistory,MockCallHistoryLog}=require_mock_call_history(),MockAgent=require_mock_agent(),MockPool=require_mock_pool(),SnapshotAgent=require_snapshot_agent(),mockErrors=require_mock_errors(),RetryHandler=require_retry_handler(),{getGlobalDispatcher,setGlobalDispatcher}=require_global2(),DecoratorHandler=require_decorator_handler(),RedirectHandler=require_redirect_handler();Object.assign(Dispatcher.prototype,api);module.exports.Dispatcher=Dispatcher;module.exports.Client=Client;module.exports.Pool=Pool;module.exports.BalancedPool=BalancedPool;module.exports.RoundRobinPool=RoundRobinPool;module.exports.Agent=Agent;module.exports.Dispatcher1Wrapper=Dispatcher1Wrapper;module.exports.ProxyAgent=ProxyAgent;module.exports.Socks5ProxyAgent=Socks5ProxyAgent;module.exports.EnvHttpProxyAgent=EnvHttpProxyAgent;module.exports.RetryAgent=RetryAgent;module.exports.H2CClient=H2CClient;module.exports.RetryHandler=RetryHandler;module.exports.DecoratorHandler=DecoratorHandler;module.exports.RedirectHandler=RedirectHandler;module.exports.interceptors={redirect:require_redirect(),responseError:require_response_error(),retry:require_retry(),dump:require_dump(),dns:require_dns(),cache:require_cache2(),decompress:require_decompress(),deduplicate:require_deduplicate()};module.exports.cacheStores={MemoryCacheStore:require_memory_cache_store()};var SqliteCacheStore=require_sqlite_cache_store();module.exports.cacheStores.SqliteCacheStore=SqliteCacheStore;module.exports.buildConnector=buildConnector;module.exports.errors=errors;module.exports.util={parseHeaders:util.parseHeaders,headerNameToString:util.headerNameToString};function makeDispatcher(fn){return(url,opts,handler)=>{if(typeof opts=="function"&&(handler=opts,opts=null),!url||typeof url!="string"&&typeof url!="object"&&!(url instanceof URL))throw new InvalidArgumentError("invalid url");if(opts!=null&&typeof opts!="object")throw new InvalidArgumentError("invalid opts");if(opts&&opts.path!=null){if(typeof opts.path!="string")throw new InvalidArgumentError("invalid opts.path");let path=opts.path;opts.path.startsWith("/")||(path=`/${path}`),url=new URL(util.parseOrigin(url).origin+path)}else opts||(opts=typeof url=="object"?url:{}),url=util.parseURL(url);let{agent,dispatcher=getGlobalDispatcher(),...restOpts}=opts;if(agent)throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");return fn.call(dispatcher,{...restOpts,origin:url.origin,path:url.search?`${url.pathname}${url.search}`:url.pathname,method:opts.method||(opts.body?"PUT":"GET")},handler)}}module.exports.setGlobalDispatcher=setGlobalDispatcher;module.exports.getGlobalDispatcher=getGlobalDispatcher;var fetchImpl=require_fetch().fetch,currentFilename=typeof __filename<"u"?__filename:void 0;function appendFetchStackTrace(err,filename){if(!err||typeof err!="object")return;let stack=typeof err.stack=="string"?err.stack:"",normalizedFilename=filename.replace(/\\/g,"/");if(stack&&(stack.includes(filename)||stack.includes(normalizedFilename)))return;let capture={};if(Error.captureStackTrace(capture,appendFetchStackTrace),!capture.stack)return;let captureLines=capture.stack.split(`
131
+ `).slice(1).join(`
132
+ `);err.stack=stack?`${stack}
133
+ ${captureLines}`:capture.stack}module.exports.fetch=function(init,options=void 0){return fetchImpl(init,options).catch(err=>{throw currentFilename?appendFetchStackTrace(err,currentFilename):err&&typeof err=="object"&&Error.captureStackTrace(err,module.exports.fetch),err})};module.exports.Headers=require_headers().Headers;module.exports.Response=require_response().Response;module.exports.Request=require_request2().Request;module.exports.FormData=require_formdata().FormData;var{setGlobalOrigin,getGlobalOrigin}=require_global();module.exports.setGlobalOrigin=setGlobalOrigin;module.exports.getGlobalOrigin=getGlobalOrigin;var{CacheStorage}=require_cachestorage(),{kConstruct}=require_symbols();module.exports.caches=new CacheStorage(kConstruct);var{deleteCookie,getCookies,getSetCookies,setCookie,parseCookie}=require_cookies();module.exports.deleteCookie=deleteCookie;module.exports.getCookies=getCookies;module.exports.getSetCookies=getSetCookies;module.exports.setCookie=setCookie;module.exports.parseCookie=parseCookie;var{parseMIMEType,serializeAMimeType}=require_data_url();module.exports.parseMIMEType=parseMIMEType;module.exports.serializeAMimeType=serializeAMimeType;var{CloseEvent,ErrorEvent,MessageEvent}=require_events(),{WebSocket,ping}=require_websocket();module.exports.WebSocket=WebSocket;module.exports.CloseEvent=CloseEvent;module.exports.ErrorEvent=ErrorEvent;module.exports.MessageEvent=MessageEvent;module.exports.ping=ping;module.exports.WebSocketStream=require_websocketstream().WebSocketStream;module.exports.WebSocketError=require_websocketerror().WebSocketError;module.exports.request=makeDispatcher(api.request);module.exports.stream=makeDispatcher(api.stream);module.exports.pipeline=makeDispatcher(api.pipeline);module.exports.connect=makeDispatcher(api.connect);module.exports.upgrade=makeDispatcher(api.upgrade);module.exports.MockClient=MockClient;module.exports.MockCallHistory=MockCallHistory;module.exports.MockCallHistoryLog=MockCallHistoryLog;module.exports.MockPool=MockPool;module.exports.MockAgent=MockAgent;module.exports.SnapshotAgent=SnapshotAgent;module.exports.mockErrors=mockErrors;var{EventSource}=require_eventsource();module.exports.EventSource=EventSource;function install(){globalThis.fetch=module.exports.fetch,globalThis.Headers=module.exports.Headers,globalThis.Response=module.exports.Response,globalThis.Request=module.exports.Request,globalThis.FormData=module.exports.FormData,globalThis.WebSocket=module.exports.WebSocket,globalThis.CloseEvent=module.exports.CloseEvent,globalThis.ErrorEvent=module.exports.ErrorEvent,globalThis.MessageEvent=module.exports.MessageEvent,globalThis.EventSource=module.exports.EventSource}module.exports.install=install}});var require_constants6=__commonJS({"node_modules/semver/internal/constants.js"(exports,module){"use strict";var SEMVER_SPEC_VERSION="2.0.0",MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH=16,MAX_SAFE_BUILD_LENGTH=250,RELEASE_TYPES=["major","premajor","minor","preminor","patch","prepatch","prerelease"];module.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_SAFE_INTEGER,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}});var require_debug=__commonJS({"node_modules/semver/internal/debug.js"(exports,module){"use strict";var debug=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...args)=>console.error("SEMVER",...args):()=>{};module.exports=debug}});var require_re=__commonJS({"node_modules/semver/internal/re.js"(exports,module){"use strict";var{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH}=require_constants6(),debug=require_debug();exports=module.exports={};var re=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t=exports.t={},R=0,LETTERDASHNUMBER="[a-zA-Z0-9-]",safeRegexReplacements=[["\\s",1],["\\d",MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);return value},createToken=(name,value,isGlobal)=>{let safe=makeSafeRegex(value),index3=R++;debug(name,index3,value),t[name]=index3,src[index3]=value,safeSrc[index3]=safe,re[index3]=new RegExp(value,isGlobal?"g":void 0),safeRe[index3]=new RegExp(safe,isGlobal?"g":void 0)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);createToken("MAINVERSION",`(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${LETTERDASHNUMBER}+`);createToken("BUILD",`(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);createToken("FULL",`^${src[t.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);createToken("LOOSE",`^${src[t.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);createToken("COERCE",`${src[t.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",src[t.COERCEPLAIN]+`(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);createToken("COERCERTL",src[t.COERCE],!0);createToken("COERCERTLFULL",src[t.COERCEFULL],!0);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${src[t.LONETILDE]}\\s+`,!0);exports.tildeTrimReplace="$1~";createToken("TILDE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${src[t.LONECARET]}\\s+`,!0);exports.caretTrimReplace="$1^";createToken("CARET",`^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`,!0);exports.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}});var require_parse_options=__commonJS({"node_modules/semver/internal/parse-options.js"(exports,module){"use strict";var looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions=options=>options?typeof options!="object"?looseOption:options:emptyOpts;module.exports=parseOptions}});var require_identifiers=__commonJS({"node_modules/semver/internal/identifiers.js"(exports,module){"use strict";var numeric=/^[0-9]+$/,compareIdentifiers=(a,b)=>{if(typeof a=="number"&&typeof b=="number")return a===b?0:a<b?-1:1;let anum=numeric.test(a),bnum=numeric.test(b);return anum&&bnum&&(a=+a,b=+b),a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1},rcompareIdentifiers=(a,b)=>compareIdentifiers(b,a);module.exports={compareIdentifiers,rcompareIdentifiers}}});var require_semver=__commonJS({"node_modules/semver/classes/semver.js"(exports,module){"use strict";var debug=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants6(),{safeRe:re,t}=require_re(),parseOptions=require_parse_options(),{compareIdentifiers}=require_identifiers(),SemVer=class _SemVer{constructor(version,options){if(options=parseOptions(options),version instanceof _SemVer){if(version.loose===!!options.loose&&version.includePrerelease===!!options.includePrerelease)return version;version=version.version}else if(typeof version!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);if(version.length>MAX_LENGTH)throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);debug("SemVer",version,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m=version.trim().match(options.loose?re[t.LOOSE]:re[t.FULL]);if(!m)throw new TypeError(`Invalid Version: ${version}`);if(this.raw=version,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw new TypeError("Invalid major version");if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m[5]?m[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(other){if(debug("SemVer.compare",this.version,this.options,other),!(other instanceof _SemVer)){if(typeof other=="string"&&other===this.version)return 0;other=new _SemVer(other,this.options)}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.major<other.major?-1:this.major>other.major?1:this.minor<other.minor?-1:this.minor>other.minor?1:this.patch<other.patch?-1:this.patch>other.patch?1:0}comparePre(other){if(other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i=0;do{let a=this.prerelease[i],b=other.prerelease[i];if(debug("prerelease compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}compareBuild(other){other instanceof _SemVer||(other=new _SemVer(other,this.options));let i=0;do{let a=this.build[i],b=other.build[i];if(debug("build compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}inc(release,identifier,identifierBase){if(release.startsWith("pre")){if(!identifier&&identifierBase===!1)throw new Error("invalid increment argument: identifier is empty");if(identifier){let match=`-${identifier}`.match(this.options.loose?re[t.PRERELEASELOOSE]:re[t.PRERELEASE]);if(!match||match[1]!==identifier)throw new Error(`invalid identifier: ${identifier}`)}}switch(release){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",identifier,identifierBase);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",identifier,identifierBase);break;case"prepatch":this.prerelease.length=0,this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let base=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(identifier===this.prerelease.join(".")&&identifierBase===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(base)}}if(identifier){let prerelease=[identifier,base];identifierBase===!1&&(prerelease=[identifier]),compareIdentifiers(this.prerelease[0],identifier)===0?isNaN(this.prerelease[1])&&(this.prerelease=prerelease):this.prerelease=prerelease}break}default:throw new Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};module.exports=SemVer}});var require_parse2=__commonJS({"node_modules/semver/functions/parse.js"(exports,module){"use strict";var SemVer=require_semver(),parse=(version,options,throwErrors=!1)=>{if(version instanceof SemVer)return version;try{return new SemVer(version,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse}});var require_valid=__commonJS({"node_modules/semver/functions/valid.js"(exports,module){"use strict";var parse=require_parse2(),valid=(version,options)=>{let v=parse(version,options);return v?v.version:null};module.exports=valid}});var require_clean=__commonJS({"node_modules/semver/functions/clean.js"(exports,module){"use strict";var parse=require_parse2(),clean=(version,options)=>{let s=parse(version.trim().replace(/^[=v]+/,""),options);return s?s.version:null};module.exports=clean}});var require_inc=__commonJS({"node_modules/semver/functions/inc.js"(exports,module){"use strict";var SemVer=require_semver(),inc=(version,release,options,identifier,identifierBase)=>{typeof options=="string"&&(identifierBase=identifier,identifier=options,options=void 0);try{return new SemVer(version instanceof SemVer?version.version:version,options).inc(release,identifier,identifierBase).version}catch{return null}};module.exports=inc}});var require_diff=__commonJS({"node_modules/semver/functions/diff.js"(exports,module){"use strict";var parse=require_parse2(),diff=(version1,version2)=>{let v1=parse(version1,null,!0),v2=parse(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length;if(!!lowVersion.prerelease.length&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return"major";if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?"minor":"patch"}let prefix=highHasPre?"pre":"";return v1.major!==v2.major?prefix+"major":v1.minor!==v2.minor?prefix+"minor":v1.patch!==v2.patch?prefix+"patch":"prerelease"};module.exports=diff}});var require_major=__commonJS({"node_modules/semver/functions/major.js"(exports,module){"use strict";var SemVer=require_semver(),major=(a,loose)=>new SemVer(a,loose).major;module.exports=major}});var require_minor=__commonJS({"node_modules/semver/functions/minor.js"(exports,module){"use strict";var SemVer=require_semver(),minor=(a,loose)=>new SemVer(a,loose).minor;module.exports=minor}});var require_patch=__commonJS({"node_modules/semver/functions/patch.js"(exports,module){"use strict";var SemVer=require_semver(),patch=(a,loose)=>new SemVer(a,loose).patch;module.exports=patch}});var require_prerelease=__commonJS({"node_modules/semver/functions/prerelease.js"(exports,module){"use strict";var parse=require_parse2(),prerelease=(version,options)=>{let parsed=parse(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null};module.exports=prerelease}});var require_compare=__commonJS({"node_modules/semver/functions/compare.js"(exports,module){"use strict";var SemVer=require_semver(),compare=(a,b,loose)=>new SemVer(a,loose).compare(new SemVer(b,loose));module.exports=compare}});var require_rcompare=__commonJS({"node_modules/semver/functions/rcompare.js"(exports,module){"use strict";var compare=require_compare(),rcompare=(a,b,loose)=>compare(b,a,loose);module.exports=rcompare}});var require_compare_loose=__commonJS({"node_modules/semver/functions/compare-loose.js"(exports,module){"use strict";var compare=require_compare(),compareLoose=(a,b)=>compare(a,b,!0);module.exports=compareLoose}});var require_compare_build=__commonJS({"node_modules/semver/functions/compare-build.js"(exports,module){"use strict";var SemVer=require_semver(),compareBuild=(a,b,loose)=>{let versionA=new SemVer(a,loose),versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild}});var require_sort=__commonJS({"node_modules/semver/functions/sort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),sort=(list,loose)=>list.sort((a,b)=>compareBuild(a,b,loose));module.exports=sort}});var require_rsort=__commonJS({"node_modules/semver/functions/rsort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),rsort=(list,loose)=>list.sort((a,b)=>compareBuild(b,a,loose));module.exports=rsort}});var require_gt=__commonJS({"node_modules/semver/functions/gt.js"(exports,module){"use strict";var compare=require_compare(),gt=(a,b,loose)=>compare(a,b,loose)>0;module.exports=gt}});var require_lt=__commonJS({"node_modules/semver/functions/lt.js"(exports,module){"use strict";var compare=require_compare(),lt=(a,b,loose)=>compare(a,b,loose)<0;module.exports=lt}});var require_eq=__commonJS({"node_modules/semver/functions/eq.js"(exports,module){"use strict";var compare=require_compare(),eq=(a,b,loose)=>compare(a,b,loose)===0;module.exports=eq}});var require_neq=__commonJS({"node_modules/semver/functions/neq.js"(exports,module){"use strict";var compare=require_compare(),neq=(a,b,loose)=>compare(a,b,loose)!==0;module.exports=neq}});var require_gte=__commonJS({"node_modules/semver/functions/gte.js"(exports,module){"use strict";var compare=require_compare(),gte=(a,b,loose)=>compare(a,b,loose)>=0;module.exports=gte}});var require_lte=__commonJS({"node_modules/semver/functions/lte.js"(exports,module){"use strict";var compare=require_compare(),lte=(a,b,loose)=>compare(a,b,loose)<=0;module.exports=lte}});var require_cmp=__commonJS({"node_modules/semver/functions/cmp.js"(exports,module){"use strict";var eq=require_eq(),neq=require_neq(),gt=require_gt(),gte=require_gte(),lt=require_lt(),lte=require_lte(),cmp=(a,op,b,loose)=>{switch(op){case"===":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a===b;case"!==":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a!==b;case"":case"=":case"==":return eq(a,b,loose);case"!=":return neq(a,b,loose);case">":return gt(a,b,loose);case">=":return gte(a,b,loose);case"<":return lt(a,b,loose);case"<=":return lte(a,b,loose);default:throw new TypeError(`Invalid operator: ${op}`)}};module.exports=cmp}});var require_coerce=__commonJS({"node_modules/semver/functions/coerce.js"(exports,module){"use strict";var SemVer=require_semver(),parse=require_parse2(),{safeRe:re,t}=require_re(),coerce=(version,options)=>{if(version instanceof SemVer)return version;if(typeof version=="number"&&(version=String(version)),typeof version!="string")return null;options=options||{};let match=null;if(!options.rtl)match=version.match(options.includePrerelease?re[t.COERCEFULL]:re[t.COERCE]);else{let coerceRtlRegex=options.includePrerelease?re[t.COERCERTLFULL]:re[t.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version))&&(!match||match.index+match[0].length!==version.length);)(!match||next.index+next[0].length!==match.index+match[0].length)&&(match=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1}if(match===null)return null;let major=match[2],minor=match[3]||"0",patch=match[4]||"0",prerelease=options.includePrerelease&&match[5]?`-${match[5]}`:"",build=options.includePrerelease&&match[6]?`+${match[6]}`:"";return parse(`${major}.${minor}.${patch}${prerelease}${build}`,options)};module.exports=coerce}});var require_truncate=__commonJS({"node_modules/semver/functions/truncate.js"(exports,module){"use strict";var parse=require_parse2(),constants=require_constants6(),SemVer=require_semver(),truncate=(version,truncation,options)=>{if(!constants.RELEASE_TYPES.includes(truncation))return null;let clonedVersion=cloneInputVersion(version,options);return clonedVersion&&doTruncation(clonedVersion,truncation)},cloneInputVersion=(version,options)=>{let versionStringToParse=version instanceof SemVer?version.version:version;return parse(versionStringToParse,options)},doTruncation=(version,truncation)=>{if(isPrerelease(truncation))return version.version;switch(version.prerelease=[],truncation){case"major":version.minor=0,version.patch=0;break;case"minor":version.patch=0;break}return version.format()},isPrerelease=type=>type.startsWith("pre");module.exports=truncate}});var require_lrucache=__commonJS({"node_modules/semver/internal/lrucache.js"(exports,module){"use strict";var LRUCache=class{constructor(){this.max=1e3,this.map=new Map}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){if(!this.delete(key)&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module.exports=LRUCache}});var require_range=__commonJS({"node_modules/semver/classes/range.js"(exports,module){"use strict";var SPACE_CHARACTERS=/\s+/g,Range2=class _Range{constructor(range,options){if(options=parseOptions(options),range instanceof _Range)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new _Range(range.raw,options);if(range instanceof Comparator)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(c=>c.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first=this.set[0];if(this.set=this.set.filter(c=>!isNullSet(c[0])),this.set.length===0)this.set=[first];else if(this.set.length>1){for(let c of this.set)if(c.length===1&&isAny(c[0])){this.set=[c];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let i=0;i<this.set.length;i++){i>0&&(this.formatted+="||");let comps=this.set[i];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=" "),this.formatted+=comps[k].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){let memoKey=((this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE))+":"+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re[t.HYPHENRANGELOOSE]:re[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug("hyphen replace",range),range=range.replace(re[t.COMPARATORTRIM],comparatorTrimReplace),debug("comparator trim",range),range=range.replace(re[t.TILDETRIM],tildeTrimReplace),debug("tilde trim",range),range=range.replace(re[t.CARETTRIM],caretTrimReplace),debug("caret trim",range);let rangeList=range.split(" ").map(comp=>parseComparator(comp,this.options)).join(" ").split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug("loose invalid filter",comp,this.options),!!comp.match(re[t.COMPARATORLOOSE])))),debug("range list",rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return[comp];rangeMap.set(comp.value,comp)}rangeMap.size>1&&rangeMap.has("")&&rangeMap.delete("");let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof _Range))throw new TypeError("a Range is required");return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version){if(!version)return!1;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}for(let i=0;i<this.set.length;i++)if(testSet(this.set[i],version,this.options))return!0;return!1}};module.exports=Range2;var LRU=require_lrucache(),cache=new LRU,parseOptions=require_parse_options(),Comparator=require_comparator(),debug=require_debug(),SemVer=require_semver(),{safeRe:re,t,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants6(),isNullSet=c=>c.value==="<0.0.0-0",isAny=c=>c.value==="",isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(comp=comp.replace(re[t.BUILD],""),debug("comp",comp,options),comp=replaceCarets(comp,options),debug("caret",comp),comp=replaceTildes(comp,options),debug("tildes",comp),comp=replaceXRanges(comp,options),debug("xrange",comp),comp=replaceStars(comp,options),debug("stars",comp),comp),isX=id=>!id||id.toLowerCase()==="x"||id==="*",replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceTilde(c,options)).join(" "),replaceTilde=(comp,options)=>{let r=options.loose?re[t.TILDELOOSE]:re[t.TILDE];return comp.replace(r,(_,M,m,p,pr)=>{debug("tilde",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0 <${+M+1}.0.0-0`:isX(p)?ret=`>=${M}.${m}.0 <${M}.${+m+1}.0-0`:pr?(debug("replaceTilde pr",pr),ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`):ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`,debug("tilde return",ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceCaret(c,options)).join(" "),replaceCaret=(comp,options)=>{debug("caret",comp,options);let r=options.loose?re[t.CARETLOOSE]:re[t.CARET],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("caret",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?M==="0"?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.0${z} <${+M+1}.0.0-0`:pr?(debug("replaceCaret pr",pr),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p}-${pr} <${+M+1}.0.0-0`):(debug("no pr"),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}${z} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p} <${+M+1}.0.0-0`),debug("caret return",ret),ret})},replaceXRanges=(comp,options)=>(debug("replaceXRanges",comp,options),comp.split(/\s+/).map(c=>replaceXRange(c,options)).join(" ")),replaceXRange=(comp,options)=>{comp=comp.trim();let r=options.loose?re[t.XRANGELOOSE]:re[t.XRANGE];return comp.replace(r,(ret,gtlt,M,m,p,pr)=>{debug("xRange",comp,ret,gtlt,M,m,p,pr);let xM=isX(M),xm=xM||isX(m),xp=xm||isX(p),anyX=xp;return gtlt==="="&&anyX&&(gtlt=""),pr=options.includePrerelease?"-0":"",xM?gtlt===">"||gtlt==="<"?ret="<0.0.0-0":ret="*":gtlt&&anyX?(xm&&(m=0),p=0,gtlt===">"?(gtlt=">=",xm?(M=+M+1,m=0,p=0):(m=+m+1,p=0)):gtlt==="<="&&(gtlt="<",xm?M=+M+1:m=+m+1),gtlt==="<"&&(pr="-0"),ret=`${gtlt+M}.${m}.${p}${pr}`):xm?ret=`>=${M}.0.0${pr} <${+M+1}.0.0-0`:xp&&(ret=`>=${M}.${m}.0${pr} <${M}.${+m+1}.0-0`),debug("xRange return",ret),ret})},replaceStars=(comp,options)=>(debug("replaceStars",comp,options),comp.trim().replace(re[t.STAR],"")),replaceGTE0=(comp,options)=>(debug("replaceGTE0",comp,options),comp.trim().replace(re[options.includePrerelease?t.GTE0PRE:t.GTE0],"")),hyphenReplace=incPr=>($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(isX(fM)?from="":isX(fm)?from=`>=${fM}.0.0${incPr?"-0":""}`:isX(fp)?from=`>=${fM}.${fm}.0${incPr?"-0":""}`:fpr?from=`>=${from}`:from=`>=${from}${incPr?"-0":""}`,isX(tM)?to="":isX(tm)?to=`<${+tM+1}.0.0-0`:isX(tp)?to=`<${tM}.${+tm+1}.0-0`:tpr?to=`<=${tM}.${tm}.${tp}-${tpr}`:incPr?to=`<${tM}.${tm}.${+tp+1}-0`:to=`<=${to}`,`${from} ${to}`.trim()),testSet=(set,version,options)=>{for(let i=0;i<set.length;i++)if(!set[i].test(version))return!1;if(version.prerelease.length&&!options.includePrerelease){for(let i=0;i<set.length;i++)if(debug(set[i].semver),set[i].semver!==Comparator.ANY&&set[i].semver.prerelease.length>0){let allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch)return!0}return!1}return!0}}});var require_comparator=__commonJS({"node_modules/semver/classes/comparator.js"(exports,module){"use strict";var ANY=Symbol("SemVer ANY"),Comparator=class _Comparator{static get ANY(){return ANY}constructor(comp,options){if(options=parseOptions(options),comp instanceof _Comparator){if(comp.loose===!!options.loose)return comp;comp=comp.value}comp=comp.trim().split(/\s+/).join(" "),debug("comparator",comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY?this.value="":this.value=this.operator+this.semver.version,debug("comp",this)}parse(comp){let r=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m=comp.match(r);if(!m)throw new TypeError(`Invalid comparator: ${comp}`);this.operator=m[1]!==void 0?m[1]:"",this.operator==="="&&(this.operator=""),m[2]?this.semver=new SemVer(m[2],this.options.loose):this.semver=ANY}toString(){return this.value}test(version){if(debug("Comparator.test",version,this.options.loose),this.semver===ANY||version===ANY)return!0;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}return cmp(version,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof _Comparator))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Range2(comp.value,options).test(this.value):comp.operator===""?comp.value===""?!0:new Range2(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value==="<0.0.0-0"||comp.value==="<0.0.0-0")||!options.includePrerelease&&(this.value.startsWith("<0.0.0")||comp.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&comp.operator.startsWith(">")||this.operator.startsWith("<")&&comp.operator.startsWith("<")||this.semver.version===comp.semver.version&&this.operator.includes("=")&&comp.operator.includes("=")||cmp(this.semver,"<",comp.semver,options)&&this.operator.startsWith(">")&&comp.operator.startsWith("<")||cmp(this.semver,">",comp.semver,options)&&this.operator.startsWith("<")&&comp.operator.startsWith(">")))}};module.exports=Comparator;var parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp=require_cmp(),debug=require_debug(),SemVer=require_semver(),Range2=require_range()}});var require_satisfies=__commonJS({"node_modules/semver/functions/satisfies.js"(exports,module){"use strict";var Range2=require_range(),satisfies=(version,range,options)=>{try{range=new Range2(range,options)}catch{return!1}return range.test(version)};module.exports=satisfies}});var require_to_comparators=__commonJS({"node_modules/semver/ranges/to-comparators.js"(exports,module){"use strict";var Range2=require_range(),toComparators=(range,options)=>new Range2(range,options).set.map(comp=>comp.map(c=>c.value).join(" ").trim().split(" "));module.exports=toComparators}});var require_max_satisfying=__commonJS({"node_modules/semver/ranges/max-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range2=require_range(),maxSatisfying=(versions,range,options)=>{let max=null,maxSV=null,rangeObj=null;try{rangeObj=new Range2(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!max||maxSV.compare(v)===-1)&&(max=v,maxSV=new SemVer(max,options))}),max};module.exports=maxSatisfying}});var require_min_satisfying=__commonJS({"node_modules/semver/ranges/min-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range2=require_range(),minSatisfying=(versions,range,options)=>{let min=null,minSV=null,rangeObj=null;try{rangeObj=new Range2(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!min||minSV.compare(v)===1)&&(min=v,minSV=new SemVer(min,options))}),min};module.exports=minSatisfying}});var require_min_version=__commonJS({"node_modules/semver/ranges/min-version.js"(exports,module){"use strict";var SemVer=require_semver(),Range2=require_range(),gt=require_gt(),minVersion=(range,loose)=>{range=new Range2(range,loose);let minver=new SemVer("0.0.0");if(range.test(minver)||(minver=new SemVer("0.0.0-0"),range.test(minver)))return minver;minver=null;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer(comparator.semver.version);switch(comparator.operator){case">":compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case"":case">=":(!setMin||gt(compver,setMin))&&(setMin=compver);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt(minver,setMin))&&(minver=setMin)}return minver&&range.test(minver)?minver:null};module.exports=minVersion}});var require_valid2=__commonJS({"node_modules/semver/ranges/valid.js"(exports,module){"use strict";var Range2=require_range(),validRange2=(range,options)=>{try{return new Range2(range,options).range||"*"}catch{return null}};module.exports=validRange2}});var require_outside=__commonJS({"node_modules/semver/ranges/outside.js"(exports,module){"use strict";var SemVer=require_semver(),Comparator=require_comparator(),{ANY}=Comparator,Range2=require_range(),satisfies=require_satisfies(),gt=require_gt(),lt=require_lt(),lte=require_lte(),gte=require_gte(),outside=(version,range,hilo,options)=>{version=new SemVer(version,options),range=new Range2(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt,ltefn=lte,ltfn=lt,comp=">",ecomp=">=";break;case"<":gtfn=lt,ltefn=gte,ltfn=gt,comp="<",ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(version,range,options))return!1;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY&&(comparator=new Comparator(">=0.0.0")),high=high||comparator,low=low||comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator)}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version,low.semver))return!1;if(low.operator===ecomp&&ltfn(version,low.semver))return!1}return!0};module.exports=outside}});var require_gtr=__commonJS({"node_modules/semver/ranges/gtr.js"(exports,module){"use strict";var outside=require_outside(),gtr=(version,range,options)=>outside(version,range,">",options);module.exports=gtr}});var require_ltr=__commonJS({"node_modules/semver/ranges/ltr.js"(exports,module){"use strict";var outside=require_outside(),ltr=(version,range,options)=>outside(version,range,"<",options);module.exports=ltr}});var require_intersects=__commonJS({"node_modules/semver/ranges/intersects.js"(exports,module){"use strict";var Range2=require_range(),intersects=(r1,r2,options)=>(r1=new Range2(r1,options),r2=new Range2(r2,options),r1.intersects(r2,options));module.exports=intersects}});var require_simplify=__commonJS({"node_modules/semver/ranges/simplify.js"(exports,module){"use strict";var satisfies=require_satisfies(),compare=require_compare();module.exports=(versions,range,options)=>{let set=[],first=null,prev=null,v=versions.sort((a,b)=>compare(a,b,options));for(let version of v)satisfies(version,range,options)?(prev=version,first||(first=version)):(prev&&set.push([first,prev]),prev=null,first=null);first&&set.push([first,null]);let ranges=[];for(let[min,max]of set)min===max?ranges.push(min):!max&&min===v[0]?ranges.push("*"):max?min===v[0]?ranges.push(`<=${max}`):ranges.push(`${min} - ${max}`):ranges.push(`>=${min}`);let simplified=ranges.join(" || "),original=typeof range.raw=="string"?range.raw:String(range);return simplified.length<original.length?simplified:range}}});var require_subset=__commonJS({"node_modules/semver/ranges/subset.js"(exports,module){"use strict";var Range2=require_range(),Comparator=require_comparator(),{ANY}=Comparator,satisfies=require_satisfies(),compare=require_compare(),subset=(sub,dom,options={})=>{if(sub===dom)return!0;sub=new Range2(sub,options),dom=new Range2(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull=sawNonNull||isSub!==null,isSub)continue OUTER}if(sawNonNull)return!1}return!0},minimumVersionWithPreRelease=[new Comparator(">=0.0.0-0")],minimumVersion=[new Comparator(">=0.0.0")],simpleSubset=(sub,dom,options)=>{if(sub===dom)return!0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return!0;options.includePrerelease?sub=minimumVersionWithPreRelease:sub=minimumVersion}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return!0;dom=minimumVersion}let eqSet=new Set,gt,lt;for(let c of sub)c.operator===">"||c.operator===">="?gt=higherGT(gt,c,options):c.operator==="<"||c.operator==="<="?lt=lowerLT(lt,c,options):eqSet.add(c.semver);if(eqSet.size>1)return null;let gtltComp;if(gt&&lt){if(gtltComp=compare(gt.semver,lt.semver,options),gtltComp>0)return null;if(gtltComp===0&&(gt.operator!==">="||lt.operator!=="<="))return null}for(let eq of eqSet){if(gt&&!satisfies(eq,String(gt),options)||lt&&!satisfies(eq,String(lt),options))return null;for(let c of dom)if(!satisfies(eq,String(c),options))return!1;return!0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt&&!options.includePrerelease&&lt.semver.prerelease.length?lt.semver:!1,needDomGTPre=gt&&!options.includePrerelease&&gt.semver.prerelease.length?gt.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt.operator==="<"&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c of dom){if(hasDomGT=hasDomGT||c.operator===">"||c.operator===">=",hasDomLT=hasDomLT||c.operator==="<"||c.operator==="<=",gt){if(needDomGTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomGTPre.major&&c.semver.minor===needDomGTPre.minor&&c.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c.operator===">"||c.operator===">="){if(higher=higherGT(gt,c,options),higher===c&&higher!==gt)return!1}else if(gt.operator===">="&&!satisfies(gt.semver,String(c),options))return!1}if(lt){if(needDomLTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomLTPre.major&&c.semver.minor===needDomLTPre.minor&&c.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c.operator==="<"||c.operator==="<="){if(lower=lowerLT(lt,c,options),lower===c&&lower!==lt)return!1}else if(lt.operator==="<="&&!satisfies(lt.semver,String(c),options))return!1}if(!c.operator&&(lt||gt)&&gtltComp!==0)return!1}return!(gt&&hasDomLT&&!lt&&gtltComp!==0||lt&&hasDomGT&&!gt&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a,b,options)=>{if(!a)return b;let comp=compare(a.semver,b.semver,options);return comp>0?a:comp<0||b.operator===">"&&a.operator===">="?b:a},lowerLT=(a,b,options)=>{if(!a)return b;let comp=compare(a.semver,b.semver,options);return comp<0?a:comp>0||b.operator==="<"&&a.operator==="<="?b:a};module.exports=subset}});var require_semver2=__commonJS({"node_modules/semver/index.js"(exports,module){"use strict";var internalRe=require_re(),constants=require_constants6(),SemVer=require_semver(),identifiers=require_identifiers(),parse=require_parse2(),valid=require_valid(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch=require_patch(),prerelease=require_prerelease(),compare=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce=require_coerce(),truncate=require_truncate(),Comparator=require_comparator(),Range2=require_range(),satisfies=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion=require_min_version(),validRange2=require_valid2(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse,valid,clean,inc,diff,major,minor,patch,prerelease,compare,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce,truncate,Comparator,Range:Range2,satisfies,toComparators,maxSatisfying,minSatisfying,minVersion,validRange:validRange2,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}});var build_exports={};__export(build_exports,{AddImmutable:()=>AddImmutable,AddImmutableDeferred:()=>AddImmutableDeferred,AddOptional:()=>AddOptional,AddOptionalDeferred:()=>AddOptionalDeferred,AddReadonly:()=>AddReadonly,AddReadonlyDeferred:()=>AddReadonlyDeferred,Any:()=>Any,Array:()=>_Array_,ArrayOptions:()=>ArrayOptions,BigInt:()=>BigInt2,BigIntPattern:()=>BigIntPattern,Boolean:()=>Boolean2,Broaden:()=>Broaden,Call:()=>Call2,CallConstruct:()=>CallConstruct,CanComposite:()=>CanComposite,Capitalize:()=>Capitalize,CapitalizeAction:()=>CapitalizeAction,CapitalizeDeferred:()=>CapitalizeDeferred,CapitalizeInstantiate:()=>CapitalizeInstantiate,Codec:()=>Codec,CollapseToObject:()=>CollapseToObject,Compare:()=>Compare,CompareResultDisjoint:()=>CompareResultDisjoint,CompareResultEqual:()=>CompareResultEqual,CompareResultLeftInside:()=>CompareResultLeftInside,CompareResultRightInside:()=>CompareResultRightInside,Composite:()=>Composite,Conditional:()=>Conditional,ConditionalAction:()=>ConditionalAction,ConditionalDeferred:()=>ConditionalDeferred,ConditionalInstantiate:()=>ConditionalInstantiate,Constructor:()=>Constructor,ConstructorOptions:()=>ConstructorOptions,ConstructorParameters:()=>ConstructorParameters,ConstructorParametersAction:()=>ConstructorParametersAction,ConstructorParametersDeferred:()=>ConstructorParametersDeferred,ConstructorParametersInstantiate:()=>ConstructorParametersInstantiate,ConvertToIntegerKey:()=>ConvertToIntegerKey,Cyclic:()=>Cyclic,CyclicCandidates:()=>CyclicCandidates,CyclicCheck:()=>CyclicCheck,CyclicDependencies:()=>CyclicDependencies,CyclicExtends:()=>CyclicExtends,CyclicOptions:()=>CyclicOptions,CyclicTarget:()=>CyclicTarget,Decode:()=>Decode,DecodeBuilder:()=>DecodeBuilder,Deferred:()=>Deferred,Dependent:()=>Dependent,DependentOptions:()=>DependentOptions,Distribute:()=>Distribute,Encode:()=>Encode,EncodeBuilder:()=>EncodeBuilder,Enum:()=>Enum,Evaluate:()=>Evaluate2,EvaluateAction:()=>EvaluateAction,EvaluateDeferred:()=>EvaluateDeferred,EvaluateDependent:()=>EvaluateDependent,EvaluateEnum:()=>EvaluateEnum,EvaluateInstantiate:()=>EvaluateInstantiate,EvaluateIntersect:()=>EvaluateIntersect,EvaluateTemplateLiteral:()=>EvaluateTemplateLiteral,EvaluateType:()=>EvaluateType,EvaluateUnion:()=>EvaluateUnion,EvaluateUnionFast:()=>EvaluateUnionFast,Exclude:()=>Exclude,ExcludeAction:()=>ExcludeAction,ExcludeDeferred:()=>ExcludeDeferred,ExcludeInstantiate:()=>ExcludeInstantiate,Extends:()=>Extends,ExtendsResult:()=>result_exports,Extract:()=>Extract,ExtractAction:()=>ExtractAction,ExtractDeferred:()=>ExtractDeferred,ExtractInstantiate:()=>ExtractInstantiate,Flatten:()=>Flatten,Function:()=>_Function_,FunctionOptions:()=>FunctionOptions,Generic:()=>Generic,Identifier:()=>Identifier,Immutable:()=>Immutable,Index:()=>Index,IndexAction:()=>IndexAction,IndexDeferred:()=>IndexDeferred,IndexInstantiate:()=>IndexInstantiate,Infer:()=>Infer,InstanceType:()=>InstanceType,InstanceTypeAction:()=>InstanceTypeAction,InstanceTypeDeferred:()=>InstanceTypeDeferred,InstanceTypeInstantiate:()=>InstanceTypeInstantiate,Instantiate:()=>Instantiate,InstantiateCyclic:()=>InstantiateCyclic,Integer:()=>Integer,IntegerKey:()=>IntegerKey,IntegerPattern:()=>IntegerPattern,Interface:()=>Interface,InterfaceAction:()=>InterfaceAction,InterfaceDeferred:()=>InterfaceDeferred,InterfaceInstantiate:()=>InterfaceInstantiate,Intersect:()=>Intersect,IntersectOptions:()=>IntersectOptions,InvalidLiteralValue:()=>InvalidLiteralValue,IsAny:()=>IsAny,IsArray:()=>IsArray3,IsBigInt:()=>IsBigInt3,IsBoolean:()=>IsBoolean4,IsCall:()=>IsCall,IsCodec:()=>IsCodec,IsConstructor:()=>IsConstructor3,IsCyclic:()=>IsCyclic,IsDeferred:()=>IsDeferred,IsDependent:()=>IsDependent,IsEnum:()=>IsEnum,IsEnumValue:()=>IsEnumValue,IsFunction:()=>IsFunction3,IsGeneric:()=>IsGeneric,IsIdentifier:()=>IsIdentifier2,IsImmutable:()=>IsImmutable,IsInfer:()=>IsInfer,IsInteger:()=>IsInteger3,IsInterfaceDeferred:()=>IsInterfaceDeferred,IsIntersect:()=>IsIntersect,IsKind:()=>IsKind,IsLiteral:()=>IsLiteral,IsLiteralBigInt:()=>IsLiteralBigInt,IsLiteralBoolean:()=>IsLiteralBoolean,IsLiteralNumber:()=>IsLiteralNumber,IsLiteralString:()=>IsLiteralString,IsLiteralValue:()=>IsLiteralValue,IsNever:()=>IsNever,IsNull:()=>IsNull3,IsNumber:()=>IsNumber4,IsObject:()=>IsObject3,IsOptional:()=>IsOptional,IsParameter:()=>IsParameter,IsReadonly:()=>IsReadonly,IsRecord:()=>IsRecord,IsRef:()=>IsRef,IsRefine:()=>IsRefine,IsRefinement:()=>IsRefinement,IsRest:()=>IsRest,IsSchema:()=>IsSchema,IsString:()=>IsString4,IsSymbol:()=>IsSymbol3,IsTemplateLiteral:()=>IsTemplateLiteral,IsTemplateLiteralDeferred:()=>IsTemplateLiteralDeferred,IsTemplateLiteralFinite:()=>IsTemplateLiteralFinite,IsTemplateLiteralPattern:()=>IsTemplateLiteralPattern,IsThis:()=>IsThis,IsTuple:()=>IsTuple,IsTypeScriptEnumLike:()=>IsTypeScriptEnumLike,IsUndefined:()=>IsUndefined3,IsUnion:()=>IsUnion,IsUnknown:()=>IsUnknown,IsUnsafe:()=>IsUnsafe,IsVoid:()=>IsVoid,KeyOf:()=>KeyOf2,KeyOfAction:()=>KeyOfAction,KeyOfDeferred:()=>KeyOfDeferred,KeyOfInstantiate:()=>KeyOfInstantiate,KeysToIndexer:()=>KeysToIndexer,Literal:()=>Literal,LiteralTypeName:()=>LiteralTypeName,Lowercase:()=>Lowercase,LowercaseAction:()=>LowercaseAction,LowercaseDeferred:()=>LowercaseDeferred,LowercaseInstantiate:()=>LowercaseInstantiate,Mapped:()=>Mapped,MappedAction:()=>MappedAction,MappedDeferred:()=>MappedDeferred,MappedInstantiate:()=>MappedInstantiate,Module:()=>Module2,ModuleDeferred:()=>ModuleDeferred,ModuleInstantiate:()=>ModuleInstantiate,Narrow:()=>Narrow,Never:()=>Never,NeverPattern:()=>NeverPattern,NonNullable:()=>NonNullable,NonNullableAction:()=>NonNullableAction,NonNullableDeferred:()=>NonNullableDeferred,NonNullableInstantiate:()=>NonNullableInstantiate,Null:()=>Null,Number:()=>Number2,NumberKey:()=>NumberKey,NumberPattern:()=>NumberPattern,Object:()=>_Object_,ObjectOptions:()=>ObjectOptions,Omit:()=>Omit,OmitAction:()=>OmitAction,OmitDeferred:()=>OmitDeferred,OmitInstantiate:()=>OmitInstantiate,Optional:()=>Optional,Parameter:()=>Parameter,Parameters:()=>Parameters,ParametersAction:()=>ParametersAction,ParametersDeferred:()=>ParametersDeferred,ParametersInstantiate:()=>ParametersInstantiate,ParsePatternIntoTypes:()=>ParsePatternIntoTypes,ParseTemplateIntoTypes:()=>ParseTemplateIntoTypes,Partial:()=>Partial,PartialAction:()=>PartialAction,PartialDeferred:()=>PartialDeferred,PartialInstantiate:()=>PartialInstantiate,Pick:()=>Pick,PickAction:()=>PickAction,PickDeferred:()=>PickDeferred,PickInstantiate:()=>PickInstantiate,Priority:()=>Priority,PropertyKeys:()=>PropertyKeys,PropertyValues:()=>PropertyValues,Readonly:()=>Readonly,ReadonlyObject:()=>ReadonlyObject,ReadonlyObjectAction:()=>ReadonlyObjectAction,ReadonlyObjectDeferred:()=>ReadonlyObjectDeferred,ReadonlyObjectInstantiate:()=>ReadonlyObjectInstantiate,ReadonlyType:()=>ReadonlyType,Record:()=>Record,RecordAction:()=>RecordAction,RecordDeferred:()=>RecordDeferred,RecordFromPattern:()=>RecordFromPattern,RecordInstantiate:()=>RecordInstantiate,RecordKey:()=>RecordKey,RecordOptions:()=>RecordOptions,RecordPattern:()=>RecordPattern,RecordPatternToType:()=>RecordPatternToType,RecordValue:()=>RecordValue,Ref:()=>Ref,RefInstantiate:()=>RefInstantiate,Refine:()=>Refine,RefineAdd:()=>RefineAdd,RemoveImmutable:()=>RemoveImmutable,RemoveImmutableDeferred:()=>RemoveImmutableDeferred,RemoveOptional:()=>RemoveOptional,RemoveOptionalDeferred:()=>RemoveOptionalDeferred,RemoveReadonly:()=>RemoveReadonly,RemoveReadonlyDeferred:()=>RemoveReadonlyDeferred,Required:()=>Required,RequiredAction:()=>RequiredAction,RequiredArray:()=>RequiredArray,RequiredDeferred:()=>RequiredDeferred,RequiredInstantiate:()=>RequiredInstantiate,Rest:()=>Rest,ReturnType:()=>ReturnType,ReturnTypeAction:()=>ReturnTypeAction,ReturnTypeDeferred:()=>ReturnTypeDeferred,ReturnTypeInstantiate:()=>ReturnTypeInstantiate,Script:()=>Script2,String:()=>String2,StringKey:()=>StringKey,StringPattern:()=>StringPattern,Symbol:()=>Symbol2,TemplateLiteral:()=>TemplateLiteral2,TemplateLiteralCreate:()=>TemplateLiteralCreate,TemplateLiteralDecode:()=>TemplateLiteralDecode,TemplateLiteralDecodeUnsafe:()=>TemplateLiteralDecodeUnsafe,TemplateLiteralDeferred:()=>TemplateLiteralDeferred,TemplateLiteralEncode:()=>TemplateLiteralEncode,TemplateLiteralFromString:()=>TemplateLiteralFromString,TemplateLiteralFromTypes:()=>TemplateLiteralFromTypes,This:()=>This,Tuple:()=>Tuple,TupleOptions:()=>TupleOptions,Type:()=>typebox_exports,TypeScriptEnumToEnumValues:()=>TypeScriptEnumToEnumValues,Uncapitalize:()=>Uncapitalize,UncapitalizeAction:()=>UncapitalizeAction,UncapitalizeDeferred:()=>UncapitalizeDeferred,UncapitalizeInstantiate:()=>UncapitalizeInstantiate,Undefined:()=>Undefined,Union:()=>Union,UnionOptions:()=>UnionOptions,Unknown:()=>Unknown,Unsafe:()=>Unsafe,Uppercase:()=>Uppercase,UppercaseAction:()=>UppercaseAction,UppercaseDeferred:()=>UppercaseDeferred,UppercaseInstantiate:()=>UppercaseInstantiate,Void:()=>Void,With:()=>With2,WithAction:()=>WithAction,WithDeferred:()=>WithDeferred,WithInstantiate:()=>WithInstantiate,_Array_:()=>_Array_,_Function_:()=>_Function_,_Object_:()=>_Object_,default:()=>build_default});var memory_exports={};__export(memory_exports,{Assign:()=>Assign,Clone:()=>Clone,Create:()=>Create,Discard:()=>Discard,Metrics:()=>Metrics,Update:()=>Update});var Metrics={assign:0,create:0,clone:0,discard:0,update:0};var settings_exports={};__export(settings_exports,{Get:()=>Get,Reset:()=>Reset,Set:()=>Set2});var emit_exports={};__export(emit_exports,{And:()=>And,ArrayLiteral:()=>ArrayLiteral,ArrowFunction:()=>ArrowFunction,Call:()=>Call,ConstDeclaration:()=>ConstDeclaration,Constant:()=>Constant,Counted:()=>Counted2,Entries:()=>Entries2,Every:()=>Every2,HasPropertyKey:()=>HasPropertyKey2,If:()=>If,IsArray:()=>IsArray2,IsBigInt:()=>IsBigInt2,IsBoolean:()=>IsBoolean2,IsConstructor:()=>IsConstructor2,IsDeepEqual:()=>IsDeepEqual2,IsEqual:()=>IsEqual2,IsFunction:()=>IsFunction2,IsGreaterEqualThan:()=>IsGreaterEqualThan2,IsGreaterThan:()=>IsGreaterThan2,IsInteger:()=>IsInteger2,IsLessEqualThan:()=>IsLessEqualThan2,IsLessThan:()=>IsLessThan2,IsMaxLength:()=>IsMaxLength3,IsMinLength:()=>IsMinLength3,IsNull:()=>IsNull2,IsNumber:()=>IsNumber2,IsObject:()=>IsObject2,IsObjectNotArray:()=>IsObjectNotArray2,IsString:()=>IsString2,IsSymbol:()=>IsSymbol2,IsUndefined:()=>IsUndefined2,Keys:()=>Keys2,Member:()=>Member,MultipleOf:()=>MultipleOf,New:()=>New,Not:()=>Not,Or:()=>Or,ReduceAnd:()=>ReduceAnd,ReduceOr:()=>ReduceOr,Return:()=>Return,Some:()=>Some2,SomeAll:()=>SomeAll2,Statements:()=>Statements,Ternary:()=>Ternary});var guard_exports={};__export(guard_exports,{Counted:()=>Counted,Entries:()=>Entries,EntriesRegExp:()=>EntriesRegExp,Every:()=>Every,EveryAll:()=>EveryAll,GraphemeCount:()=>GraphemeCount2,HasPropertyKey:()=>HasPropertyKey,IsArray:()=>IsArray,IsBigInt:()=>IsBigInt,IsBoolean:()=>IsBoolean,IsClassInstance:()=>IsClassInstance,IsConstructor:()=>IsConstructor,IsDeepEqual:()=>IsDeepEqual,IsEqual:()=>IsEqual,IsFunction:()=>IsFunction,IsGreaterEqualThan:()=>IsGreaterEqualThan,IsGreaterThan:()=>IsGreaterThan,IsInteger:()=>IsInteger,IsLessEqualThan:()=>IsLessEqualThan,IsLessThan:()=>IsLessThan,IsMaxLength:()=>IsMaxLength2,IsMinLength:()=>IsMinLength2,IsMultipleOf:()=>IsMultipleOf,IsNull:()=>IsNull,IsNumber:()=>IsNumber,IsObject:()=>IsObject,IsObjectNotArray:()=>IsObjectNotArray,IsString:()=>IsString,IsSymbol:()=>IsSymbol,IsUndefined:()=>IsUndefined,IsUnsafePropertyKey:()=>IsUnsafePropertyKey,IsValueLike:()=>IsValueLike,Keys:()=>Keys,ShiftLeft:()=>ShiftLeft,Some:()=>Some,SomeAll:()=>SomeAll,Symbols:()=>Symbols,Values:()=>Values});function IsBetween(value,min,max){return value>=min&&value<=max}function IsZeroWidthJoiner(value){return value===8205}function IsHighSurrogate(value){return IsBetween(value,55296,56319)}function IsRegionalIndicator(value){return IsBetween(value,127462,127487)}function IsVariationSelector(value){return IsBetween(value,65024,65039)}function IsCombiningMark(value){return IsBetween(value,768,879)||IsBetween(value,6832,6911)||IsBetween(value,7616,7679)||IsBetween(value,65056,65071)}function CodePointLength(value){return value>65535?2:1}function ConsumeModifiers(value,index3){for(;index3<value.length;){let point=value.codePointAt(index3);if(IsCombiningMark(point)||IsVariationSelector(point))index3+=CodePointLength(point);else break}return index3}function NextGraphemeClusterIndex(value,clusterStart){let startCP=value.codePointAt(clusterStart),clusterEnd=clusterStart+CodePointLength(startCP);for(clusterEnd=ConsumeModifiers(value,clusterEnd);clusterEnd<value.length-1&&IsZeroWidthJoiner(value.codePointAt(clusterEnd));){let nextCP=value.codePointAt(clusterEnd+1);clusterEnd+=1+CodePointLength(nextCP),clusterEnd=ConsumeModifiers(value,clusterEnd)}return IsRegionalIndicator(startCP)&&clusterEnd<value.length&&IsRegionalIndicator(value.codePointAt(clusterEnd))&&(clusterEnd+=CodePointLength(value.codePointAt(clusterEnd))),clusterEnd}function IsGraphemeCodePoint(value){return value>=768&&(IsHighSurrogate(value)||IsCombiningMark(value)||IsVariationSelector(value)||IsZeroWidthJoiner(value))}function GraphemeCount(value){let count=0,index3=0;for(;index3<value.length;)index3=NextGraphemeClusterIndex(value,index3),count++;return count}function IsMinLengthSegmented(value,minLength){let count=0,index3=0;for(;index3<value.length;)if(index3=NextGraphemeClusterIndex(value,index3),++count>=minLength)return!0;return!1}function IsMaxLengthSegmented(value,maxLength){let count=0,index3=0;for(;index3<value.length;)if(index3=NextGraphemeClusterIndex(value,index3),++count>maxLength)return!1;return!0}function IsMinLength(value,minLength){if(minLength===0)return!0;if(value.length<minLength)return!1;let index3=0;for(;;){if(IsGraphemeCodePoint(value.charCodeAt(index3)))return IsMinLengthSegmented(value,minLength);if(++index3>=minLength)return!0}}function IsMaxLength(value,maxLength){if(value.length<=maxLength)return!0;let index3=0;for(;;){if(IsGraphemeCodePoint(value.charCodeAt(index3)))return IsMaxLengthSegmented(value,maxLength);if(++index3>maxLength)return!1}}function IsArray(value){return Array.isArray(value)}function IsBigInt(value){return IsEqual(typeof value,"bigint")}function IsBoolean(value){return IsEqual(typeof value,"boolean")}function IsConstructor(value){if(IsUndefined(value)||!IsFunction(value))return!1;let result=Function.prototype.toString.call(value);return!!(/^class\s/.test(result)||/\[native code\]/.test(result))}function IsFunction(value){return IsEqual(typeof value,"function")}function IsInteger(value){return Number.isInteger(value)}function IsNull(value){return IsEqual(value,null)}function IsNumber(value){return Number.isFinite(value)}function IsObjectNotArray(value){return IsObject(value)&&!IsArray(value)}function IsObject(value){return IsEqual(typeof value,"object")&&!IsNull(value)}function IsString(value){return IsEqual(typeof value,"string")}function IsSymbol(value){return IsEqual(typeof value,"symbol")}function IsUndefined(value){return IsEqual(value,void 0)}function IsEqual(left,right){return left===right}function IsGreaterThan(left,right){return left>right}function IsLessThan(left,right){return left<right}function IsLessEqualThan(left,right){return left<=right}function IsGreaterEqualThan(left,right){return left>=right}function IsMultipleOf(dividend,divisor){if(IsBigInt(dividend)||IsBigInt(divisor))return BigInt(dividend)%BigInt(divisor)===0n;let tolerance=1e-10;if(!IsNumber(dividend)||IsInteger(dividend)&&1/divisor%1===0)return!0;let mod=dividend%divisor;return Math.min(Math.abs(mod),Math.abs(mod-divisor),Math.abs(mod+divisor))<tolerance}function IsClassInstance(value){if(!IsObject(value))return!1;let proto=globalThis.Object.getPrototypeOf(value);return IsNull(proto)?!1:IsEqual(typeof proto.constructor,"function")&&!(IsEqual(proto.constructor,globalThis.Object)||IsEqual(proto.constructor.name,"Object"))}function IsValueLike(value){return IsBigInt(value)||IsBoolean(value)||IsNull(value)||IsNumber(value)||IsString(value)||IsUndefined(value)}function GraphemeCount2(value){return GraphemeCount(value)}function IsMaxLength2(value,length){return IsMaxLength(value,length)}function IsMinLength2(value,length){return IsMinLength(value,length)}function Every(value,offset,callback){return value.every((item,index3)=>index3<offset||callback(item,index3))}function EveryAll(value,offset,callback){let result=!0;return value.forEach((item,index3)=>{index3>=offset&&!callback(item,index3)&&(result=!1)}),result}function Some(value,callback){return value.some((value2,index3)=>callback(value2,index3))}function SomeAll(value,callback){let result=!1;return value.forEach((item,index3)=>{callback(item,index3)&&(result=!0)}),result}function Counted(value,callback){return value.reduce((result,value2,index3)=>callback(value2,index3)?++result:result,0)}function ShiftLeft(array,true_,false_){return IsEqual(array.length,0)?false_():true_(array[0],array.slice(1))}function IsUnsafePropertyKey(key){return IsEqual(key,"__proto__")||IsEqual(key,"constructor")||IsEqual(key,"prototype")}function HasPropertyKey(value,key){return IsUnsafePropertyKey(key)?Object.prototype.hasOwnProperty.call(value,key):key in value}function EntriesRegExp(value){return Keys(value).map(key=>[new RegExp(`^${key}$`),value[key]])}function Entries(value){return Object.entries(value)}function Keys(value){return Object.getOwnPropertyNames(value)}function Symbols(value){return Object.getOwnPropertySymbols(value)}function Values(value){return Object.values(value)}function DeepEqualObject(left,right){if(!IsObject(right))return!1;let keys=Keys(left);return IsEqual(keys.length,Keys(right).length)&&keys.every(key=>IsDeepEqual(left[key],right[key]))}function DeepEqualArray(left,right){return IsArray(right)&&IsEqual(left.length,right.length)&&left.every((_,index3)=>IsDeepEqual(left[index3],right[index3]))}function IsDeepEqual(left,right){return IsArray(left)?DeepEqualArray(left,right):IsObject(left)?DeepEqualObject(left,right):IsEqual(left,right)}var identifierRegExp=/^[\p{ID_Start}_$][\p{ID_Continue}_$\u200C\u200D]*$/u;function IsIdentifier(value){return identifierRegExp.test(value)}function And(left,right){return`(${left} && ${right})`}function Or(left,right){return`(${left} || ${right})`}function Not(expr){return`!(${expr})`}function IsArray2(value){return`Array.isArray(${value})`}function IsBigInt2(value){return`typeof ${value} === "bigint"`}function IsBoolean2(value){return`typeof ${value} === "boolean"`}function IsInteger2(value){return`Number.isInteger(${value})`}function IsNull2(value){return`${value} === null`}function IsNumber2(value){return`Number.isFinite(${value})`}function IsObjectNotArray2(value){return And(IsObject2(value),Not(IsArray2(value)))}function IsObject2(value){return`typeof ${value} === "object" && ${value} !== null`}function IsString2(value){return`typeof ${value} === "string"`}function IsSymbol2(value){return`typeof ${value} === "symbol"`}function IsUndefined2(value){return`${value} === undefined`}function IsFunction2(value){return`typeof ${value} === "function"`}function IsConstructor2(value){return`Guard.IsConstructor(${value})`}function IsEqual2(left,right){return`${left} === ${right}`}function IsGreaterThan2(left,right){return`${left} > ${right}`}function IsLessThan2(left,right){return`${left} < ${right}`}function IsLessEqualThan2(left,right){return`${left} <= ${right}`}function IsGreaterEqualThan2(left,right){return`${left} >= ${right}`}function IsMinLength3(value,length){return`Guard.IsMinLength(${value}, ${length})`}function IsMaxLength3(value,length){return`Guard.IsMaxLength(${value}, ${length})`}function Every2(value,offset,params,expression){return IsEqual(offset,"0")?`${value}.every((${params[0]}, ${params[1]}) => (${expression}))`:`${value}.every((${params[0]}, ${params[1]}) => (${params[1]} < ${offset}) || (${expression}))`}function Some2(value,params,expression){return`${value}.some((${params[0]}, ${params[1]}) => ${expression})`}function SomeAll2(value,params,expression){return`((value) => { let result = false; value.forEach((${params[0]}, ${params[1]}) => { if (${expression}) result = true }); return result })(${value})`}function Counted2(value,params,expression){return`${value}.reduce((result, ${params[0]}, ${params[1]}) => (${expression}) ? ++result : result, 0)`}function Entries2(value){return`Object.entries(${value})`}function Keys2(value){return`Object.getOwnPropertyNames(${value})`}function HasPropertyKey2(value,key){return IsEqual(key,'"__proto__"')||IsEqual(key,'"constructor"')?`Object.prototype.hasOwnProperty.call(${value}, ${key})`:`${key} in ${value}`}function IsDeepEqual2(left,right){return`Guard.IsDeepEqual(${left}, ${right})`}function ArrayLiteral(elements){return`[${elements.join(", ")}]`}function ArrowFunction(parameters,body){return`((${parameters.join(", ")}) => ${body})`}function Call(value,arguments_){return`${value}(${arguments_.join(", ")})`}function New(value,arguments_){return`new ${value}(${arguments_.join(", ")})`}function Member(left,right){return`${left}${IsIdentifier(right)?`.${right}`:`[${Constant(right)}]`}`}function Constant(value){if(!IsValueLike(value))throw Error("Unsupported Constant");return IsString(value)?JSON.stringify(value):`${value}`}function Ternary(condition,true_,false_){return`(${condition} ? ${true_} : ${false_})`}function Statements(statements){return`{ ${statements.join("; ")}; }`}function ConstDeclaration(identifier,expression){return`const ${identifier} = ${expression}`}function If(condition,then){return`if(${condition}) { ${then} }`}function Return(expression){return`return ${expression}`}function ReduceAnd(operands){return IsEqual(operands.length,0)?"true":operands.reduce((left,right)=>And(left,right))}function ReduceOr(operands){return IsEqual(operands.length,0)?"false":operands.reduce((left,right)=>Or(left,right))}function MultipleOf(dividend,divisor){return`Guard.IsMultipleOf(${dividend}, ${divisor})`}var globals_exports={};__export(globals_exports,{IsBigInt64Array:()=>IsBigInt64Array,IsBigUint64Array:()=>IsBigUint64Array,IsBoolean:()=>IsBoolean3,IsDate:()=>IsDate,IsFloat32Array:()=>IsFloat32Array,IsFloat64Array:()=>IsFloat64Array,IsInt16Array:()=>IsInt16Array,IsInt32Array:()=>IsInt32Array,IsInt8Array:()=>IsInt8Array,IsMap:()=>IsMap,IsNumber:()=>IsNumber3,IsRegExp:()=>IsRegExp,IsSet:()=>IsSet,IsString:()=>IsString3,IsTypeArray:()=>IsTypeArray,IsUint16Array:()=>IsUint16Array,IsUint32Array:()=>IsUint32Array,IsUint8Array:()=>IsUint8Array,IsUint8ClampedArray:()=>IsUint8ClampedArray});function IsBoolean3(value){return value instanceof Boolean}function IsNumber3(value){return value instanceof Number}function IsString3(value){return value instanceof String}function IsTypeArray(value){return globalThis.ArrayBuffer.isView(value)}function IsInt8Array(value){return value instanceof globalThis.Int8Array}function IsUint8Array(value){return value instanceof globalThis.Uint8Array}function IsUint8ClampedArray(value){return value instanceof globalThis.Uint8ClampedArray}function IsInt16Array(value){return value instanceof globalThis.Int16Array}function IsUint16Array(value){return value instanceof globalThis.Uint16Array}function IsInt32Array(value){return value instanceof globalThis.Int32Array}function IsUint32Array(value){return value instanceof globalThis.Uint32Array}function IsFloat32Array(value){return value instanceof globalThis.Float32Array}function IsFloat64Array(value){return value instanceof globalThis.Float64Array}function IsBigInt64Array(value){return value instanceof globalThis.BigInt64Array}function IsBigUint64Array(value){return value instanceof globalThis.BigUint64Array}function IsRegExp(value){return value instanceof globalThis.RegExp}function IsDate(value){return value instanceof globalThis.Date}function IsSet(value){return value instanceof globalThis.Set}function IsMap(value){return value instanceof globalThis.Map}var guard_default=guard_exports;var settings={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function Reset(){settings.immutableTypes=!1,settings.maxErrors=8,settings.maxInstantiationCount=128,settings.useAcceleration=!0,settings.exactOptionalPropertyTypes=!1,settings.enumerableKind=!1,settings.correctiveParse=!1,settings.unionPrioritySort=!0}function Set2(options){for(let key of guard_exports.Keys(options)){let value=options[key];value!==void 0&&Object.defineProperty(settings,key,{value})}}function Get(){return settings}function Freeze(value){return settings_exports.Get().immutableTypes?Object.freeze(value):value}function Assign(left,right){return Metrics.assign+=1,Freeze({...left,...right})}function IsSchemaObject(value){return guard_exports.HasPropertyKey(value,"~kind")||guard_exports.HasPropertyKey(value,"~unsafe")}function FromSchemaObject(value){let result={};for(let key of guard_exports.Keys(value)){if(guard_exports.IsUnsafePropertyKey(key))continue;let descriptor=Object.getOwnPropertyDescriptor(value,key);descriptor.value=FromValue(descriptor.value),guard_exports.IsEqual(descriptor.enumerable,!0)?result[key]=descriptor.value:Object.defineProperty(result,key,descriptor)}return result}function FromPlainObject(value){let result={};for(let key of guard_exports.Keys(value))guard_exports.IsUnsafePropertyKey(key)||(result[key]=FromValue(value[key]));for(let key of guard_exports.Symbols(value))result[key]=FromValue(value[key]);return result}function FromObject(value){return guard_exports.IsClassInstance(value)?value:IsSchemaObject(value)?FromSchemaObject(value):FromPlainObject(value)}function FromArray(value){return value.map(element=>FromValue(element))}function FromTypedArray(value){return value.slice()}function FromRegExp(value){return new RegExp(value.source,value.flags)}function FromMap(value){return new Map(FromValue([...value.entries()]))}function FromSet(value){return new Set(FromValue([...value.values()]))}function FromValue(value){return globals_exports.IsTypeArray(value)?FromTypedArray(value):globals_exports.IsRegExp(value)?FromRegExp(value):globals_exports.IsMap(value)?FromMap(value):globals_exports.IsSet(value)?FromSet(value):guard_exports.IsArray(value)?FromArray(value):guard_exports.IsObject(value)?FromObject(value):value}function Clone(value){return Metrics.clone+=1,FromValue(value)}function MergeHidden(left,right){for(let key of Object.keys(right))Object.defineProperty(left,key,{configurable:!0,writable:!0,enumerable:!1,value:right[key]});return left}function Merge(left,right){return{...left,...right}}function Create(hidden,enumerable,options={}){Metrics.create+=1;let withOptions=Merge(enumerable,options),withHidden=settings_exports.Get().enumerableKind?Merge(withOptions,hidden):MergeHidden(withOptions,hidden);return Freeze(withHidden)}function Discard(value,propertyKeys){Metrics.discard+=1;let result={};for(let key of guard_exports.Keys(value)){if(propertyKeys.includes(key))continue;let descriptor=Object.getOwnPropertyDescriptor(value,key);descriptor.value=Clone(descriptor.value),Object.defineProperty(result,key,descriptor)}return Freeze(result)}function Update(current,hidden,enumerable){Metrics.update+=1;let settings2=settings_exports.Get(),result=Clone(current);for(let key of Object.keys(hidden))Object.defineProperty(result,key,{configurable:!0,writable:!0,enumerable:settings2.enumerableKind,value:hidden[key]});for(let key of Object.keys(enumerable))Object.defineProperty(result,key,{configurable:!0,enumerable:!0,writable:!0,value:enumerable[key]});return Freeze(result)}function IsKind(value,kind){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.IsEqual(value["~kind"],kind)}function IsSchema(value){return guard_exports.IsObject(value)}function Deferred(action,parameters,options){return memory_exports.Create({"~kind":"Deferred"},{type:"deferred",action,parameters,options},{})}function IsDeferred(value){return IsKind(value,"Deferred")}function AddReadonlyOperation(type){return memory_exports.Update(type,{"~readonly":!0},{})}function AddReadonlyAction(type,options){return memory_exports.Update(AddReadonlyOperation(type),{},options)}function AddReadonlyInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return AddReadonlyAction(instantiatedType,options)}function AddOptionalOperation(type){return memory_exports.Update(type,{"~optional":!0},{})}function AddOptionalAction(type,options){return memory_exports.Update(AddOptionalOperation(type),{},options)}function AddOptionalInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return AddOptionalAction(instantiatedType,options)}function _Array_(items,options){return memory_exports.Create({"~kind":"Array"},{type:"array",items},options)}function IsArray3(value){return IsKind(value,"Array")}function ArrayOptions(type){return memory_exports.Discard(type,["~kind","type","items"])}function Constructor(parameters,instanceType,options={}){return memory_exports.Create({"~kind":"Constructor"},{type:"constructor",parameters,instanceType},options)}function IsConstructor3(value){return IsKind(value,"Constructor")}function ConstructorOptions(type){return memory_exports.Discard(type,["~kind","type","parameters","instanceType"])}function _Function_(parameters,returnType,options={}){return memory_exports.Create({"~kind":"Function"},{type:"function",parameters,returnType},options)}function IsFunction3(value){return IsKind(value,"Function")}function FunctionOptions(type){return memory_exports.Discard(type,["~kind","type","parameters","returnType"])}function Ref(ref,options){return memory_exports.Create({"~kind":"Ref"},{$ref:ref},options)}function IsRef(value){return IsKind(value,"Ref")}function Generic(parameters,expression){return memory_exports.Create({"~kind":"Generic"},{type:"generic",parameters,expression})}function IsGeneric(value){return IsKind(value,"Generic")}function Any(options){return memory_exports.Create({"~kind":"Any"},{},options)}function IsAny(value){return IsKind(value,"Any")}var NeverPattern="(?!)";function Never(options){return memory_exports.Create({"~kind":"Never"},{not:{}},options)}function IsNever(value){return IsKind(value,"Never")}function AddOptionalDeferred(type,options={}){return Deferred("AddOptional",[type],options)}function AddOptional(type,options={}){return AddOptionalAction(type,options)}function Optional(type){return AddOptional(type)}function IsOptional(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"~optional")}function RequiredArray(properties){return guard_exports.Keys(properties).filter(key=>!IsOptional(properties[key]))}function PropertyKeys(properties){return guard_exports.Keys(properties)}function PropertyValues(properties){return guard_exports.Values(properties)}function _Object_(properties,options={}){let requiredKeys=RequiredArray(properties),required=requiredKeys.length>0?{required:requiredKeys}:{};return memory_exports.Create({"~kind":"Object"},{type:"object",...required,properties},options)}function IsObject3(value){return IsKind(value,"Object")}function ObjectOptions(type){return memory_exports.Discard(type,["~kind","type","properties","required"])}function Unknown(options){return memory_exports.Create({"~kind":"Unknown"},{},options)}function IsUnknown(value){return IsKind(value,"Unknown")}function Cyclic($defs,$ref,options){let defs=guard_exports.Keys($defs).reduce((result,key)=>({...result,[key]:memory_exports.Update($defs[key],{},{$id:key})}),{});return memory_exports.Create({"~kind":"Cyclic"},{$defs:defs,$ref},options)}function IsCyclic(value){return IsKind(value,"Cyclic")}function CyclicOptions(type){return memory_exports.Discard(type,["~kind","$defs","$ref"])}function Unsafe(schema){return memory_exports.Update(schema,{"~unsafe":null},{})}function IsUnsafe(value){return guard_exports.IsObjectNotArray(value)&&guard_exports.HasPropertyKey(value,"~unsafe")&&guard_exports.IsNull(value["~unsafe"])}var arguments_exports={};__export(arguments_exports,{Match:()=>Match});function Match(args,match){return match[args.length]?.(...args)??(()=>{throw Error("Invalid Arguments")})()}function Infer(...args){let[name,extends_]=arguments_exports.Match(args,{2:(name2,extends_2)=>[name2,extends_2,extends_2],1:name2=>[name2,Unknown(),Unknown()]});return memory_exports.Create({"~kind":"Infer"},{type:"infer",name,extends:extends_},{})}function IsInfer(value){return IsKind(value,"Infer")}function Dependent(if_,then_,else_,options={}){return memory_exports.Create({"~kind":"Dependent"},{if:if_,then:then_,else:else_},options)}function IsDependent(value){return IsKind(value,"Dependent")}function DependentOptions(type){return memory_exports.Discard(type,["~kind","if","then","else"])}function IsTypeScriptEnumLike(value){return guard_exports.IsObjectNotArray(value)}function TypeScriptEnumToEnumValues(type){return guard_exports.Keys(type).filter(key=>isNaN(key)).reduce((result,key)=>[...result,type[key]],[])}function IsEnumValue(value){return guard_exports.IsString(value)||guard_exports.IsNumber(value)}function Enum(value,options){let values=IsTypeScriptEnumLike(value)?TypeScriptEnumToEnumValues(value):value;return memory_exports.Create({"~kind":"Enum"},{enum:values},options)}function IsEnum(value){return IsKind(value,"Enum")}function Intersect(types,options={}){return memory_exports.Create({"~kind":"Intersect"},{allOf:types},options)}function IsIntersect(value){return IsKind(value,"Intersect")}function IntersectOptions(type){return memory_exports.Discard(type,["~kind","allOf"])}var environment_exports={};__export(environment_exports,{CanEvaluate:()=>CanEvaluate,Evaluate:()=>Evaluate});var supported;function TryEvaluate(){try{return Evaluate("null")(),!0}catch{return!1}}function CanEvaluate(){return guard_exports.IsUndefined(supported)&&(supported=TryEvaluate()),supported&&settings_exports.Get().useAcceleration}function Evaluate(...args){return new globalThis.Function(...args)}var hash_exports={};__export(hash_exports,{Hash:()=>Hash,HashCode:()=>HashCode});function Unreachable(){throw new Error("Unreachable")}function InstanceKeys(value){let propertyKeys=new Set,current=value;for(;current&&current!==Object.prototype;){for(let key of Reflect.ownKeys(current))key!=="constructor"&&typeof key!="symbol"&&propertyKeys.add(key);current=Object.getPrototypeOf(current)}return[...propertyKeys]}function IsIEEE754(value){return typeof value=="number"}var ByteMarker;(function(ByteMarker2){ByteMarker2[ByteMarker2.Array=0]="Array",ByteMarker2[ByteMarker2.BigInt=1]="BigInt",ByteMarker2[ByteMarker2.Boolean=2]="Boolean",ByteMarker2[ByteMarker2.Date=3]="Date",ByteMarker2[ByteMarker2.Constructor=4]="Constructor",ByteMarker2[ByteMarker2.Function=5]="Function",ByteMarker2[ByteMarker2.Null=6]="Null",ByteMarker2[ByteMarker2.Number=7]="Number",ByteMarker2[ByteMarker2.Object=8]="Object",ByteMarker2[ByteMarker2.RegExp=9]="RegExp",ByteMarker2[ByteMarker2.String=10]="String",ByteMarker2[ByteMarker2.Symbol=11]="Symbol",ByteMarker2[ByteMarker2.TypeArray=12]="TypeArray",ByteMarker2[ByteMarker2.Undefined=13]="Undefined"})(ByteMarker||(ByteMarker={}));var Accumulator=BigInt("14695981039346656037"),[Prime,Size]=[BigInt("1099511628211"),BigInt("18446744073709551616")],Bytes=Array.from({length:256}).map((_,i)=>BigInt(i)),F64=new Float64Array(1),F64In=new DataView(F64.buffer),F64Out=new Uint8Array(F64.buffer);function FNV1A64_OP(byte){Accumulator=Accumulator^Bytes[byte],Accumulator=Accumulator*Prime%Size}function FromArray2(value){FNV1A64_OP(ByteMarker.Array);for(let item of value)FromValue2(item)}function FromBigInt(value){FNV1A64_OP(ByteMarker.BigInt),F64In.setBigInt64(0,value);for(let byte of F64Out)FNV1A64_OP(byte)}function FromBoolean(value){FNV1A64_OP(ByteMarker.Boolean),FNV1A64_OP(value?1:0)}function FromConstructor(value){FNV1A64_OP(ByteMarker.Constructor),FromValue2(value.toString())}function FromDate(value){FNV1A64_OP(ByteMarker.Date),FromValue2(value.getTime())}function FromFunction(value){FNV1A64_OP(ByteMarker.Function),FromValue2(value.toString())}function FromNull(_value){FNV1A64_OP(ByteMarker.Null)}function FromNumber(value){FNV1A64_OP(ByteMarker.Number),F64In.setFloat64(0,value,!0);for(let byte of F64Out)FNV1A64_OP(byte)}function FromObject2(value){FNV1A64_OP(ByteMarker.Object);for(let key of InstanceKeys(value).sort())FromValue2(key),FromValue2(value[key])}function FromRegExp2(value){FNV1A64_OP(ByteMarker.RegExp),FromString(value.toString())}var encoder=new TextEncoder;function FromString(value){FNV1A64_OP(ByteMarker.String);for(let byte of encoder.encode(value))FNV1A64_OP(byte)}function FromSymbol(value){FNV1A64_OP(ByteMarker.Symbol),FromValue2(value.toString())}function FromTypeArray(value){FNV1A64_OP(ByteMarker.TypeArray);let buffer=new Uint8Array(value.buffer);for(let i=0;i<buffer.length;i++)FNV1A64_OP(buffer[i])}function FromUndefined(_value){return FNV1A64_OP(ByteMarker.Undefined)}function FromValue2(value){return globals_exports.IsTypeArray(value)?FromTypeArray(value):globals_exports.IsDate(value)?FromDate(value):globals_exports.IsRegExp(value)?FromRegExp2(value):globals_exports.IsBoolean(value)?FromBoolean(value.valueOf()):globals_exports.IsString(value)?FromString(value.valueOf()):globals_exports.IsNumber(value)?FromNumber(value.valueOf()):IsIEEE754(value)?FromNumber(value):guard_exports.IsArray(value)?FromArray2(value):guard_exports.IsBoolean(value)?FromBoolean(value):guard_exports.IsBigInt(value)?FromBigInt(value):guard_exports.IsConstructor(value)?FromConstructor(value):guard_exports.IsNull(value)?FromNull(value):guard_exports.IsObject(value)?FromObject2(value):guard_exports.IsString(value)?FromString(value):guard_exports.IsSymbol(value)?FromSymbol(value):guard_exports.IsUndefined(value)?FromUndefined(value):guard_exports.IsFunction(value)?FromFunction(value):Unreachable()}function HashCode(value){return Accumulator=BigInt("14695981039346656037"),FromValue2(value),Accumulator}function Hash(value){return HashCode(value).toString(16).padStart(16,"0")}function en_US(error2){switch(error2.keyword){case"additionalProperties":return"must not have additional properties";case"anyOf":return"must match a schema in anyOf";case"boolean":return"schema is false";case"const":return"must be equal to constant";case"contains":return"must contain at least 1 valid item";case"dependencies":return`must have properties ${error2.params.dependencies.join(", ")} when property ${error2.params.property} is present`;case"dependentRequired":return`must have properties ${error2.params.dependencies.join(", ")} when property ${error2.params.property} is present`;case"enum":return"must be equal to one of the allowed values";case"exclusiveMaximum":return`must be ${error2.params.comparison} ${error2.params.limit}`;case"exclusiveMinimum":return`must be ${error2.params.comparison} ${error2.params.limit}`;case"format":return`must match format "${error2.params.format}"`;case"if":return`must match "${error2.params.failingKeyword}" schema`;case"maxItems":return`must not have more than ${error2.params.limit} items`;case"maxLength":return`must not have more than ${error2.params.limit} characters`;case"maxProperties":return`must not have more than ${error2.params.limit} properties`;case"maximum":return`must be ${error2.params.comparison} ${error2.params.limit}`;case"minItems":return`must not have fewer than ${error2.params.limit} items`;case"minLength":return`must not have fewer than ${error2.params.limit} characters`;case"minProperties":return`must not have fewer than ${error2.params.limit} properties`;case"minimum":return`must be ${error2.params.comparison} ${error2.params.limit}`;case"multipleOf":return`must be multiple of ${error2.params.multipleOf}`;case"not":return"must not be valid";case"oneOf":return"must match exactly one schema in oneOf";case"pattern":return`must match pattern "${error2.params.pattern}"`;case"propertyNames":return`property names ${error2.params.propertyNames.join(", ")} are invalid`;case"required":return`must have required properties ${error2.params.requiredProperties.join(", ")}`;case"type":return typeof error2.params.type=="string"?`must be ${error2.params.type}`:`must be either ${error2.params.type.join(" or ")}`;case"unevaluatedItems":return"must not have unevaluated items";case"unevaluatedProperties":return"must not have unevaluated properties";case"uniqueItems":return"must not have duplicate items";case"~refine":return error2.params.message;default:return"an unknown validation error occurred"}}var locale=en_US;function Get2(){return locale}var EncodeBuilder=class{constructor(type,decode){this.type=type,this.decode=decode}Encode(callback){let type=this.type,decode=IsCodec(type)?value=>this.decode(type["~codec"].decode(value)):this.decode,encode=IsCodec(type)?value=>type["~codec"].encode(callback(value)):callback,codec={decode,encode};return memory_exports.Update(this.type,{"~codec":codec},{})}},DecodeBuilder=class{constructor(type){this.type=type}Decode(callback){return new EncodeBuilder(this.type,callback)}};function Codec(type){return new DecodeBuilder(type)}function Decode(type,callback){return Codec(type).Decode(callback).Encode(()=>{throw Error("Encode not implemented")})}function Encode(type,callback){return Codec(type).Decode(()=>{throw Error("Decode not implemented")}).Encode(callback)}function IsCodec(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"~codec")&&guard_exports.IsObject(value["~codec"])&&guard_exports.HasPropertyKey(value["~codec"],"encode")&&guard_exports.HasPropertyKey(value["~codec"],"decode")}function Immutable(type){return AddImmutable(type)}function IsImmutable(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"~immutable")}function AddReadonlyDeferred(type,options={}){return Deferred("AddReadonly",[type],options)}function AddReadonly(type,options={}){return AddReadonlyAction(type,options)}function Readonly(type){return AddReadonly(type)}function IsReadonly(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"~readonly")}function RefineAdd(type,refinement){let refinements=IsRefine(type)?[...type["~refine"],refinement]:[refinement];return memory_exports.Update(type,{"~refine":refinements},{})}function Refine(...args){let[type,check,error2]=arguments_exports.Match(args,{3:(type2,check2,error3)=>[type2,check2,error3],2:(type2,check2)=>[type2,check2,()=>"Refine Error"]});return RefineAdd(type,{check,error:error2})}function IsRefinement(value){return guard_exports.IsObjectNotArray(value)&&guard_exports.HasPropertyKey(value,"check")&&guard_exports.HasPropertyKey(value,"error")&&guard_exports.IsFunction(value.check)&&guard_exports.IsFunction(value.error)}function IsRefine(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"~refine")&&guard_exports.IsArray(value["~refine"])&&guard_exports.Every(value["~refine"],0,value2=>IsRefinement(value2))}var BigIntPattern="-?(?:0|[1-9][0-9]*)n";function BigInt2(options){return memory_exports.Create({"~kind":"BigInt"},{type:"bigint"},options)}function IsBigInt3(value){return IsKind(value,"BigInt")}function Boolean2(options){return memory_exports.Create({"~kind":"Boolean"},{type:"boolean"},options)}function IsBoolean4(value){return IsKind(value,"Boolean")}function Identifier(name){return memory_exports.Create({"~kind":"Identifier"},{name})}function IsIdentifier2(value){return IsKind(value,"Identifier")}var IntegerPattern="-?(?:0|[1-9][0-9]*)";function Integer(options){return memory_exports.Create({"~kind":"Integer"},{type:"integer"},options)}function IsInteger3(value){return IsKind(value,"Integer")}var InvalidLiteralValue=class extends Error{constructor(value){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value},writable:!1,configurable:!1,enumerable:!1})}};function LiteralTypeName(value){return guard_exports.IsBigInt(value)?"bigint":guard_exports.IsBoolean(value)?"boolean":guard_exports.IsNumber(value)?"number":guard_exports.IsString(value)?"string":(()=>{throw new InvalidLiteralValue(value)})()}function Literal(value,options){return memory_exports.Create({"~kind":"Literal"},{type:LiteralTypeName(value),const:value},options)}function IsLiteralValue(value){return guard_exports.IsBigInt(value)||guard_exports.IsBoolean(value)||guard_exports.IsNumber(value)||guard_exports.IsString(value)}function IsLiteralBigInt(value){return IsLiteral(value)&&guard_exports.IsBigInt(value.const)}function IsLiteralBoolean(value){return IsLiteral(value)&&guard_exports.IsBoolean(value.const)}function IsLiteralNumber(value){return IsLiteral(value)&&guard_exports.IsNumber(value.const)}function IsLiteralString(value){return IsLiteral(value)&&guard_exports.IsString(value.const)}function IsLiteral(value){return IsKind(value,"Literal")}function Null(options){return memory_exports.Create({"~kind":"Null"},{type:"null"},options)}function IsNull3(value){return IsKind(value,"Null")}var NumberPattern="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function Number2(options){return memory_exports.Create({"~kind":"Number"},{type:"number"},options)}function IsNumber4(value){return IsKind(value,"Number")}function Symbol2(options){return memory_exports.Create({"~kind":"Symbol"},{type:"symbol"},options)}function IsSymbol3(value){return IsKind(value,"Symbol")}function Parameter(...args){let[name,extends_,equals]=arguments_exports.Match(args,{3:(name2,extends_2,equals2)=>[name2,extends_2,equals2],2:(name2,extends_2)=>[name2,extends_2,extends_2],1:name2=>[name2,Unknown(),Unknown()]});return memory_exports.Create({"~kind":"Parameter"},{name,extends:extends_,equals},{})}function IsParameter(value){return IsKind(value,"Parameter")}var StringPattern=".*";function String2(options){return memory_exports.Create({"~kind":"String"},{type:"string"},options)}function IsString4(value){return IsKind(value,"String")}function Union(anyOf,options={}){return memory_exports.Create({"~kind":"Union"},{anyOf},options)}function IsUnion(value){return IsKind(value,"Union")}function UnionOptions(type){return memory_exports.Discard(type,["~kind","anyOf"])}function ParsePatternIntoTypes(pattern){let parsed=Pattern(pattern);return guard_exports.IsEqual(parsed.length,2)?parsed[0]:[]}function FromLiteral(_value){return!0}function FromTypesReduce(types){return guard_exports.ShiftLeft(types,(left,right)=>FromType(left)?FromTypesReduce(right):!1,()=>!0)}function FromTypes(types){return guard_exports.IsEqual(types.length,0)?!1:FromTypesReduce(types)}function FromType(type){return IsUnion(type)?FromTypes(type.anyOf):IsLiteral(type)?FromLiteral(type.const):!1}function IsTemplateLiteralFinite(types){return FromTypes(types)}function TemplateLiteralCreate(pattern){return memory_exports.Create({"~kind":"TemplateLiteral"},{type:"string",pattern},{})}function FromLiteralPush(variants,value,result=[]){return guard_exports.ShiftLeft(variants,(left,right)=>FromLiteralPush(right,value,[...result,`${left}${value}`]),()=>result)}function FromLiteral2(variants,value){return guard_exports.IsEqual(variants.length,0)?[`${value}`]:FromLiteralPush(variants,value)}function FromUnion(variants,types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>FromUnion(variants,right,[...result,...FromType2(variants,left)]),()=>result)}function FromType2(variants,type){return IsUnion(type)?FromUnion(variants,type.anyOf):IsLiteral(type)?FromLiteral2(variants,type.const):Unreachable()}function DecodeFromSpan(variants,types){return guard_exports.ShiftLeft(types,(left,right)=>DecodeFromSpan(FromType2(variants,left),right),()=>variants)}function VariantsToLiterals(variants){return variants.map(variant=>Literal(variant))}function DecodeTypesAsUnion(types){let variants=DecodeFromSpan([],types),literals=VariantsToLiterals(variants);return Union(literals)}function DecodeTypes(types){return guard_exports.IsEqual(types.length,0)?Unreachable():guard_exports.IsEqual(types.length,1)&&IsLiteral(types[0])?types[0]:DecodeTypesAsUnion(types)}function TemplateLiteralDecodeUnsafe(pattern){let types=ParsePatternIntoTypes(pattern);return guard_exports.IsEqual(types.length,0)?String2():IsTemplateLiteralFinite(types)?DecodeTypes(types):TemplateLiteralCreate(pattern)}function TemplateLiteralDecode(pattern){let decoded=TemplateLiteralDecodeUnsafe(pattern);return IsTemplateLiteral(decoded)?String2():decoded}function CreateRecord(key,value){let type="object",patternProperties={[key]:value};return memory_exports.Create({"~kind":"Record"},{type,patternProperties})}function FromAnyKey(value){return CreateRecord(StringKey,value)}function FromBooleanKey(value){return _Object_({true:value,false:value})}function Tuple(types,options={}){let[items,minItems,additionalItems]=[types,types.length,!1];return memory_exports.Create({"~kind":"Tuple"},{type:"array",additionalItems,items,minItems},options)}function IsTuple(value){return IsKind(value,"Tuple")}function TupleOptions(type){return memory_exports.Discard(type,["~kind","type","items","minItems","additionalItems"])}function RemoveReadonlyOperation(type){return memory_exports.Discard(type,["~readonly"])}function RemoveReadonlyAction(type,options){return memory_exports.Update(RemoveReadonlyOperation(type),{},options)}function RemoveReadonlyInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return RemoveReadonlyAction(instantiatedType,options)}function RemoveReadonlyDeferred(type,options={}){return Deferred("RemoveReadonly",[type],options)}function RemoveReadonly(type,options={}){return RemoveReadonlyAction(type,options)}function RemoveOptionalOperation(type){return memory_exports.Discard(type,["~optional"])}function RemoveOptionalAction(type,options){return memory_exports.Update(RemoveOptionalOperation(type),{},options)}function RemoveOptionalInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return RemoveOptionalAction(instantiatedType,options)}function RemoveOptionalDeferred(type,options={}){return Deferred("RemoveOptional",[type],options)}function RemoveOptional(type,options={}){return RemoveOptionalAction(type,options)}function TupleElementsToProperties(types){return types.reduceRight((result2,right,index3)=>({[index3]:right,...result2}),{})}function TupleToObject(type){let properties=TupleElementsToProperties(type.items);return _Object_(properties)}function CanComposite(type){return IsObject3(type)||IsTuple(type)}function IsReadonlyProperty(left,right){return IsReadonly(left)?!!IsReadonly(right):!1}function IsOptionalProperty(left,right){return IsOptional(left)?!!IsOptional(right):!1}function CompositeProperty(left,right){let isReadonly=IsReadonlyProperty(left,right),isOptional=IsOptionalProperty(left,right),evaluated=EvaluateIntersect([left,right]),property=RemoveReadonly(RemoveOptional(evaluated));return isReadonly&&isOptional?AddReadonly(AddOptional(property)):isReadonly&&!isOptional?AddReadonly(property):!isReadonly&&isOptional?AddOptional(property):property}function CompositePropertyKey(left,right,key){return key in left?key in right?CompositeProperty(left[key],right[key]):left[key]:key in right?right[key]:Never()}function CompositeProperties(left,right){return[...new Set([...guard_exports.Keys(left),...guard_exports.Keys(right)])].reduce((result2,key)=>({...result2,[key]:CompositePropertyKey(left,right,key)}),{})}function GetProperties(type){return IsObject3(type)?type.properties:IsTuple(type)?TupleElementsToProperties(type.items):{}}function Composite(left,right){let leftProperties=GetProperties(left),rightProperties=GetProperties(right),properties=CompositeProperties(leftProperties,rightProperties);return _Object_(properties)}function NarrowCompareRule(left,right){let result=Compare(left,right);return guard_exports.IsEqual(result,CompareResultLeftInside)?left:guard_exports.IsEqual(result,CompareResultRightInside)||guard_exports.IsEqual(result,CompareResultEqual)?right:Never()}function NarrowCompositeRule(left,right){let canCompositeLeft=CanComposite(left),canCompositeRight=CanComposite(right);return canCompositeLeft&&canCompositeRight?Composite(left,right):canCompositeLeft&&!canCompositeRight?left:!canCompositeLeft&&canCompositeRight?right:NarrowCompareRule(left,right)}function Narrow(left,right){return IsNever(left)||IsAny(left)?left:IsUnknown(left)||IsNever(right)||IsAny(right)?right:IsUnknown(right)?left:NarrowCompositeRule(left,right)}function ShouldEvaluate(left,right){return IsUnion(left)||IsUnion(right)}function DistributeOperation(left,right){let evaluatedLeft=EvaluateType(left),evaluatedRight=EvaluateType(right);return ShouldEvaluate(evaluatedLeft,evaluatedRight)?EvaluateIntersect([evaluatedLeft,evaluatedRight]):Narrow(evaluatedLeft,evaluatedRight)}function DistributeType(type,types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>DistributeType(type,right,[...result,DistributeOperation(left,type)]),()=>guard_exports.IsEqual(result.length,0)?[type]:result)}function DistributeUnion(types,distribution,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>DistributeUnion(right,distribution,[...result,...Distribute([left],distribution)]),()=>result)}function Distribute(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>IsUnion(left)?Distribute(right,DistributeUnion(left.anyOf,result)):Distribute(right,DistributeType(left,result)),()=>result)}function ExcludeType(left,right){let check=Extends({},left,right);return result_exports.IsExtendsTrueLike(check)?[]:[left]}function ExcludeUnion(left,right,result=[]){return guard_exports.ShiftLeft(left,(head,tail)=>ExcludeUnion(tail,right,[...result,...ExcludeType(head,right)]),()=>result)}function ExcludeOperation(left,right){let evaluated=EvaluateType(left),canonical=IsUnion(evaluated)?evaluated.anyOf:[evaluated],remaining=ExcludeUnion(canonical,right);return EvaluateUnion(remaining)}function EvaluateDependent(if_,then_,else_){let intersected=EvaluateIntersect([if_,then_]),excluded=ExcludeOperation(else_,if_);return EvaluateUnion([intersected,excluded])}function EvaluateEnum(values,result=[]){return guard_exports.ShiftLeft(values,(left,right)=>EvaluateEnum(right,[...result,Literal(left)]),()=>EvaluateUnion(result))}function EvaluateIntersect(types){let distribution=Distribute(types),broadend=Broaden(distribution);return EvaluateUnion(broadend)}function EvaluateTemplateLiteral(pattern){let evaluated=TemplateLiteralDecode(pattern);return EvaluateType(evaluated)}function EvaluateUnion(types){let broadend=Broaden(types);return EvaluateUnionFast(broadend)}function EvaluateType(type){return IsDependent(type)?EvaluateDependent(type.if,type.then,type.else):IsEnum(type)?EvaluateEnum(type.enum):IsIntersect(type)?EvaluateIntersect(type.allOf):IsTemplateLiteral(type)?EvaluateTemplateLiteral(type.pattern):IsUnion(type)?EvaluateUnion(type.anyOf):type}function EvaluateUnionFast(types){return guard_exports.IsEqual(types.length,1)?types[0]:guard_exports.IsEqual(types.length,0)?Never():Union(types)}function FromEnumKey(values,value){let unionKey=EvaluateEnum(values);return FromKey(unionKey,value)}function FromIntegerKey(_key,value){return CreateRecord(IntegerKey,value)}function FromIntersectKey(types,value){let evaluatedKey=EvaluateIntersect(types);return FromKey(evaluatedKey,value)}function FromLiteralKey(key,value){return guard_exports.IsString(key)||guard_exports.IsNumber(key)?_Object_({[key]:value}):guard_exports.IsEqual(key,!1)?_Object_({false:value}):guard_exports.IsEqual(key,!0)?_Object_({true:value}):_Object_({})}function FromNumberKey(_key,value){return CreateRecord(NumberKey,value)}function FromStringKey(key,value){return guard_exports.HasPropertyKey(key,"pattern")&&(guard_exports.IsString(key.pattern)||key.pattern instanceof RegExp)?CreateRecord(key.pattern.toString(),value):CreateRecord(StringKey,value)}function FromTemplateKey(pattern,value){let types=ParsePatternIntoTypes(pattern);return IsTemplateLiteralFinite(types)?FromKey(EvaluateTemplateLiteral(pattern),value):CreateRecord(pattern,value)}function FlattenType(type){return IsUnion(type)?Flatten(type.anyOf):[type]}function Flatten(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>Flatten(right,[...result,...FlattenType(left)]),()=>result)}function StringOrNumberCheck(types){return types.some(type=>IsString4(type)||IsNumber4(type)||IsInteger3(type))}function TryBuildRecord(types,value){return guard_exports.IsEqual(StringOrNumberCheck(types),!0)?CreateRecord(StringKey,value):void 0}function CreateProperties(types,value){return types.reduce((result,left)=>IsLiteral(left)&&(guard_exports.IsString(left.const)||guard_exports.IsNumber(left.const))?{...result,[left.const]:value}:result,{})}function CreateObject(types,value){let properties=CreateProperties(types,value);return _Object_(properties)}function FromUnionKey(types,value){let flattened=Flatten(types),record=TryBuildRecord(flattened,value);return IsSchema(record)?record:CreateObject(flattened,value)}function FromKey(key,value){return IsAny(key)?FromAnyKey(value):IsBoolean4(key)?FromBooleanKey(value):IsEnum(key)?FromEnumKey(key.enum,value):IsInteger3(key)?FromIntegerKey(key,value):IsIntersect(key)?FromIntersectKey(key.allOf,value):IsLiteral(key)?FromLiteralKey(key.const,value):IsNumber4(key)?FromNumberKey(key,value):IsUnion(key)?FromUnionKey(key.anyOf,value):IsString4(key)?FromStringKey(key,value):IsTemplateLiteral(key)?FromTemplateKey(key.pattern,value):_Object_({})}function RecordAction(key,value,options){return CanInstantiate([key])?memory_exports.Update(FromKey(key,value),{},options):RecordDeferred(key,value,options)}function RecordInstantiate(context,state2,key,value,options){let instantiatedKey=InstantiateType(context,state2,key),instantiatedValue=InstantiateType(context,state2,value);return RecordAction(instantiatedKey,instantiatedValue,options)}var IntegerKey=`^${IntegerPattern}$`,NumberKey=`^${NumberPattern}$`,StringKey=`^${StringPattern}$`;function RecordDeferred(key,value,options={}){return Deferred("Record",[key,value],options)}function Record(key,value,options={}){return RecordAction(key,value,options)}function RecordFromPattern(pattern,value){return CreateRecord(pattern,value)}function RecordPatternToType(pattern){return guard_exports.IsEqual(pattern,StringKey)?String2():guard_exports.IsEqual(pattern,IntegerKey)?Integer():guard_exports.IsEqual(pattern,NumberKey)?Number2():TemplateLiteralDecodeUnsafe(pattern)}function RecordPattern(type){return guard_exports.Keys(type.patternProperties)[0]}function RecordKey(type){let pattern=RecordPattern(type);return RecordPatternToType(pattern)}function RecordValue(type){return type.patternProperties[RecordPattern(type)]}function IsRecord(value){return IsKind(value,"Record")}function RecordOptions(type){return memory_exports.Discard(type,["~kind","type","patternProperties"])}function Rest(type){return memory_exports.Create({"~kind":"Rest"},{type:"rest",items:type},{})}function IsRest(value){return IsKind(value,"Rest")}function This(options){return memory_exports.Create({"~kind":"This"},{$ref:"#"},options)}function IsThis(value){return IsKind(value,"This")}function Undefined(options){return memory_exports.Create({"~kind":"Undefined"},{type:"undefined"},options)}function IsUndefined3(value){return IsKind(value,"Undefined")}function Void(options){return memory_exports.Create({"~kind":"Void"},{type:"void"},options)}function IsVoid(value){return IsKind(value,"Void")}function IntrinsicOrCall(ref,parameters){return guard_exports.IsEqual(ref,"Array")?_Array_(parameters[0]):guard_exports.IsEqual(ref,"Capitalize")?CapitalizeDeferred(parameters[0]):guard_exports.IsEqual(ref,"ConstructorParameters")?ConstructorParametersDeferred(parameters[0]):guard_exports.IsEqual(ref,"Evaluate")?EvaluateDeferred(parameters[0]):guard_exports.IsEqual(ref,"Exclude")?ExcludeDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"Extract")?ExtractDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"Index")?IndexDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"InstanceType")?InstanceTypeDeferred(parameters[0]):guard_exports.IsEqual(ref,"Lowercase")?LowercaseDeferred(parameters[0]):guard_exports.IsEqual(ref,"NonNullable")?NonNullableDeferred(parameters[0]):guard_exports.IsEqual(ref,"Omit")?OmitDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"Parameters")?ParametersDeferred(parameters[0]):guard_exports.IsEqual(ref,"Partial")?PartialDeferred(parameters[0]):guard_exports.IsEqual(ref,"Pick")?PickDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"Readonly")?ReadonlyObjectDeferred(parameters[0]):guard_exports.IsEqual(ref,"KeyOf")?KeyOfDeferred(parameters[0]):guard_exports.IsEqual(ref,"Record")?RecordDeferred(parameters[0],parameters[1]):guard_exports.IsEqual(ref,"Required")?RequiredDeferred(parameters[0]):guard_exports.IsEqual(ref,"ReturnType")?ReturnTypeDeferred(parameters[0]):guard_exports.IsEqual(ref,"Uncapitalize")?UncapitalizeDeferred(parameters[0]):guard_exports.IsEqual(ref,"Uppercase")?UppercaseDeferred(parameters[0]):CallConstruct(Ref(ref),parameters)}function Unreachable2(){throw Error("Unreachable")}function DelimitedDecode(input,result=[]){return guard_exports.ShiftLeft(input,(left,right)=>DelimitedDecode(right,[...result,left[1]]),()=>result)}function Delimited(input){return guard_exports.IsEqual(input.length,3)?[input[0],...DelimitedDecode(input[1])]:[]}function GenericParameterExtendsEqualsMapping(input){return Parameter(input[0],input[2],input[4])}function GenericParameterExtendsMapping(input){return Parameter(input[0],input[2],input[2])}function GenericParameterEqualsMapping(input){return Parameter(input[0],Unknown(),input[2])}function GenericParameterIdentifierMapping(input){return Parameter(input,Unknown(),Unknown())}function GenericParameterListMapping(input){return Delimited(input)}function GenericParametersMapping(input){return input[1]}function GenericCallArgumentListMapping(input){return Delimited(input)}function GenericCallArgumentsMapping(input){return input[1]}function GenericCallMapping(input){return IntrinsicOrCall(input[0],input[1])}function OptionalSemiColonMapping(input){return null}function KeywordStringMapping(input){return String2()}function KeywordNumberMapping(input){return Number2()}function KeywordBooleanMapping(input){return Boolean2()}function KeywordUndefinedMapping(input){return Undefined()}function KeywordNullMapping(input){return Null()}function KeywordIntegerMapping(input){return Integer()}function KeywordBigIntMapping(input){return BigInt2()}function KeywordUnknownMapping(input){return Unknown()}function KeywordAnyMapping(input){return Any()}function KeywordObjectMapping(input){return _Object_({})}function KeywordNeverMapping(input){return Never()}function KeywordSymbolMapping(input){return Symbol2()}function KeywordVoidMapping(input){return Void()}function KeywordThisMapping(input){return This()}function LiteralBigIntMapping(input){return Literal(BigInt(input))}function LiteralBooleanMapping(input){return Literal(guard_exports.IsEqual(input,"true"))}function LiteralNumberMapping(input){return Literal(parseFloat(input))}function LiteralStringMapping(input){return Literal(input)}function TemplateInterpolateMapping(input){return input[1]}function TemplateSpanMapping(input){return Literal(input)}function TemplateBodyMapping(input){return guard_exports.IsEqual(input.length,3)?[input[0],input[1],...input[2]]:[input[0]]}function TemplateLiteralTypesMapping(input){return input[1]}function TemplateLiteralMapping(input){return TemplateLiteralDeferred(input)}function DependentMapping(input){return guard_exports.IsEqual(input.length,6)?Dependent(input[1],input[3],input[5]):Dependent(input[1],input[3],Unknown())}function KeyOfMapping(input){return input.length>0}function IndexArrayMapping(input){return input.reduce((result,current)=>guard_exports.IsEqual(current.length,3)?[...result,[current[1]]]:[...result,[]],[])}function ExtendsMapping(input){return guard_exports.IsEqual(input.length,6)?[input[1],input[3],input[5]]:[]}function BaseMapping(input){return guard_exports.IsArray(input)&&guard_exports.IsEqual(input.length,3)?input[1]:input}function WithMapping(input){return guard_exports.IsEqual(input.length,2)?input[1]:[]}function FactorIndexArray(Type2,indexArray){return indexArray.reduce((result,left)=>{let _left=left;return guard_exports.IsEqual(_left.length,1)?IndexDeferred(result,_left[0]):guard_exports.IsEqual(_left.length,0)?_Array_(result):Unreachable2()},Type2)}function FactorExtends(type,extend){return guard_exports.IsEqual(extend.length,3)?ConditionalDeferred(type,extend[0],extend[1],extend[2]):type}function FactorWith(type,withClause){return guard_exports.IsArray(withClause)&&guard_exports.IsEqual(withClause.length,0)?type:WithDeferred(type,withClause)}function FactorMapping(input){let[keyOf,type,indexArray,extend,withClause]=input;return FactorWith(FactorExtends(keyOf?KeyOfDeferred(FactorIndexArray(type,indexArray)):FactorIndexArray(type,indexArray),extend),withClause)}function ExprBinaryMapping(left,rest){return guard_exports.IsEqual(rest.length,3)?(()=>{let[operator,right,next]=rest,Schema=ExprBinaryMapping(right,next);if(guard_exports.IsEqual(operator,"&"))return IsIntersect(Schema)?Intersect([left,...Schema.allOf]):Intersect([left,Schema]);if(guard_exports.IsEqual(operator,"|"))return IsUnion(Schema)?Union([left,...Schema.anyOf]):Union([left,Schema]);Unreachable2()})():left}function ExprTermMapping(input){let[left,rest]=input;return ExprBinaryMapping(left,rest)}function ExprMapping(input){let[left,rest]=input;return ExprBinaryMapping(left,rest)}function ExprReadonlyMapping(input){return AddImmutableDeferred(input[1])}function ExprPipeMapping(input){return input[1]}function GenericTypeMapping(input){return Generic(input[0],input[2])}function InferTypeMapping(input){return guard_exports.IsEqual(input.length,4)?Infer(input[1],input[3]):guard_exports.IsEqual(input.length,2)?Infer(input[1],Unknown()):Unreachable2()}function PropertyKeyNumberMapping(input){return`${input}`}function PropertyKeyIndexMapping(input){return IsInteger3(input[3])?IntegerKey:IsNumber4(input[3])?NumberKey:IsSymbol3(input[3])?StringKey:IsString4(input[3])?StringKey:Unreachable2()}function ReadonlyMapping(input){return input.length>0}function OptionalMapping(input){return input.length>0}function PropertyMapping(input){let[isReadonly,key,isOptional,_colon,type]=input;return{[key]:isReadonly&&isOptional?AddReadonlyDeferred(AddOptionalDeferred(type)):isReadonly&&!isOptional?AddReadonlyDeferred(type):!isReadonly&&isOptional?AddOptionalDeferred(type):type}}function PropertyListMapping(input){return Delimited(input)}function PropertiesReduce(propertyList){return propertyList.reduce((result,left)=>guard_exports.HasPropertyKey(left,IntegerKey)||guard_exports.HasPropertyKey(left,NumberKey)||guard_exports.HasPropertyKey(left,StringKey)?[result[0],memory_exports.Assign(result[1],left)]:[memory_exports.Assign(result[0],left),result[1]],[{},{}])}function PropertiesMapping(input){return PropertiesReduce(input[1])}function _Object_Mapping(input){let[properties,patternProperties]=input,options=guard_exports.IsEqual(guard_exports.Keys(patternProperties).length,0)?{}:{patternProperties};return _Object_(properties,options)}function ElementNamedMapping(input){return guard_exports.IsEqual(input.length,5)?AddReadonlyDeferred(AddOptionalDeferred(input[4])):guard_exports.IsEqual(input.length,3)?input[2]:guard_exports.IsEqual(input.length,4)?guard_exports.IsEqual(input[2],"readonly")?AddReadonlyDeferred(input[3]):AddOptionalDeferred(input[3]):Unreachable2()}function ElementBaseMapping(input){if(!guard_exports.IsArray(input)||!guard_exports.IsEqual(input.length,3))return input;let[isReadonly,type,isOptional]=input;return isReadonly&&isOptional?AddReadonlyDeferred(AddOptionalDeferred(type)):isReadonly&&!isOptional?AddReadonlyDeferred(type):!isReadonly&&isOptional?AddOptionalDeferred(type):type}function ElementMapping(input){return guard_exports.IsEqual(input.length,2)?Rest(input[1]):guard_exports.IsEqual(input.length,1)?input[0]:Unreachable2()}function ElementListMapping(input){return Delimited(input)}function _Tuple_Mapping(input){return Tuple(input[1])}function ParameterReadonlyOptionalMapping(input){return AddReadonlyDeferred(AddOptionalDeferred(input[4]))}function ParameterReadonlyMapping(input){return AddReadonlyDeferred(input[3])}function ParameterOptionalMapping(input){return AddOptionalDeferred(input[3])}function ParameterTypeMapping(input){return input[2]}function ParameterMapping(input){return guard_exports.IsEqual(input.length,2)?Rest(input[1]):guard_exports.IsEqual(input.length,1)?input[0]:Unreachable2()}function ParameterListMapping(input){return Delimited(input)}function _Function_Mapping(input){return _Function_(input[1],input[4])}function _Constructor_Mapping(input){return Constructor(input[2],input[5])}function ApplyReadonly(state2,type){return guard_exports.IsEqual(state2,"remove")?RemoveReadonlyDeferred(type):guard_exports.IsEqual(state2,"add")?AddReadonlyDeferred(type):type}function MappedReadonlyMapping(input){return guard_exports.IsEqual(input.length,2)&&guard_exports.IsEqual(input[0],"-")?"remove":guard_exports.IsEqual(input.length,2)&&guard_exports.IsEqual(input[0],"+")||guard_exports.IsEqual(input.length,1)?"add":"none"}function ApplyOptional(state2,type){return guard_exports.IsEqual(state2,"remove")?RemoveOptionalDeferred(type):guard_exports.IsEqual(state2,"add")?AddOptionalDeferred(type):type}function MappedOptionalMapping(input){return guard_exports.IsEqual(input.length,2)&&guard_exports.IsEqual(input[0],"-")?"remove":guard_exports.IsEqual(input.length,2)&&guard_exports.IsEqual(input[0],"+")||guard_exports.IsEqual(input.length,1)?"add":"none"}function MappedAsMapping(input){return guard_exports.IsEqual(input.length,2)?[input[1]]:[]}function _Mapped_Mapping(input){return guard_exports.IsArray(input[6])&&guard_exports.IsEqual(input[6].length,1)?MappedDeferred(Identifier(input[3]),input[5],input[6][0],ApplyReadonly(input[1],ApplyOptional(input[8],input[10]))):MappedDeferred(Identifier(input[3]),input[5],Ref(input[3]),ApplyReadonly(input[1],ApplyOptional(input[8],input[10])))}function ReferenceMapping(input){return Ref(input)}function WithBigIntMapping(input){return BigInt(input)}function WithNumberMapping(input){return parseFloat(input)}function WithBooleanMapping(input){return guard_exports.IsEqual(input,"true")}function WithNullMapping(input){return null}function WithPropertyMapping(input){return{[input[0]]:input[2]}}function WithPropertyListMapping(input){return Delimited(input)}function WithObjectMappingReduce(propertyList){return propertyList.reduce((result,left)=>memory_exports.Assign(result,left),{})}function WithObjectMapping(input){return WithObjectMappingReduce(input[1])}function WithElementListMapping(input){return Delimited(input)}function WithArrayMapping(input){return input[1]}function PatternBigIntMapping(input){return BigInt2()}function PatternStringMapping(input){return String2()}function PatternNumberMapping(input){return Number2()}function PatternIntegerMapping(input){return Integer()}function PatternNeverMapping(input){return Never()}function PatternTextMapping(input){return Literal(input)}function PatternGroupMapping(input){return Union(input[1])}function PatternUnionMapping(input){return input.length===3?[...input[0],...input[2]]:input.length===1?[...input[0]]:[]}function PatternTermMapping(input){return[input[0],...input[1]]}function PatternMapping(input){return input[1]}function InterfaceDeclarationHeritageListMapping(input){return Delimited(input)}function InterfaceDeclarationHeritageMapping(input){return guard_exports.IsEqual(input.length,2)?input[1]:[]}function InterfaceDeclarationGenericMapping(input){let parameters=input[2],heritage=input[3],[properties,patternProperties]=input[4],options=guard_exports.IsEqual(guard_exports.Keys(patternProperties).length,0)?{}:{patternProperties};return{[input[1]]:Generic(parameters,InterfaceDeferred(heritage,properties,options))}}function InterfaceDeclarationMapping(input){let heritage=input[2],[properties,patternProperties]=input[3],options=guard_exports.IsEqual(guard_exports.Keys(patternProperties).length,0)?{}:{patternProperties};return{[input[1]]:InterfaceDeferred(heritage,properties,options)}}function TypeAliasDeclarationGenericMapping(input){return{[input[1]]:Generic(input[2],input[4])}}function TypeAliasDeclarationMapping(input){return{[input[1]]:input[3]}}function ExportKeywordMapping(input){return null}function ModuleDeclarationListMapping(input){return Delimited(input)}function ModuleDeclarationMapping(input){return input[1]}function ModuleMapping(input){let[moduleDeclaration,moduleDeclarationList]=[input[0],input[1]];return ModuleDeferred(memory_exports.Assign(moduleDeclaration,PropertiesReduce(moduleDeclarationList)[0]))}function IsMatch(value){return IsEqual(value.length,2)}function Match2(input,ok,fail){return IsMatch(input)?ok(input[0],input[1]):fail()}function TakeVariant(variant,input){return IsEqual(input.indexOf(variant),0)?[variant,input.slice(variant.length)]:[]}function Take(variants,input){for(let i=0;i<variants.length;i++){let result=TakeVariant(variants[i],input);if(IsMatch(result))return result}return[]}function Range(start,end){return Array.from({length:end-start+1},(_,i)=>String.fromCharCode(start+i))}var Alpha=[...Range(97,122),...Range(65,90)],Zero="0",NonZero=Range(49,57),Digit=[Zero,...NonZero],WhiteSpace=" ",NewLine=`
134
+ `;var UnderScore="_",Dot=".",DollarSign="$",Hyphen="-";var LineComment="//",OpenComment="/*",CloseComment="*/";function DiscardMultilineComment(input){let index3=input.indexOf(CloseComment);return IsEqual(index3,-1)?"":input.slice(index3+2)}function DiscardLineComment(input){let index3=input.indexOf(NewLine);return IsEqual(index3,-1)?"":input.slice(index3)}function TrimStartUntilNewline(input){return input.replace(/^[ \t\r\f\v]+/,"")}function TrimWhitespace(input){let trimmed=TrimStartUntilNewline(input);return trimmed.startsWith(OpenComment)?TrimWhitespace(DiscardMultilineComment(trimmed.slice(2))):trimmed.startsWith(LineComment)?TrimWhitespace(DiscardLineComment(trimmed.slice(2))):trimmed}function Trim(input){let trimmed=input.trimStart();return trimmed.startsWith(OpenComment)?Trim(DiscardMultilineComment(trimmed.slice(2))):trimmed.startsWith(LineComment)?Trim(DiscardLineComment(trimmed.slice(2))):trimmed}function Optional2(value,input){return Match2(Take([value],input),(Optional4,Rest2)=>[Optional4,Rest2],()=>["",input])}function IsDiscard(discard,input){return discard.includes(input)}function Many(allowed,discard,input,result=""){return Match2(Take(allowed,input),(Char,Rest2)=>IsDiscard(discard,Char)?Many(allowed,discard,Rest2,result):Many(allowed,discard,Rest2,`${result}${Char}`),()=>[result,input])}function TakeNonZero(input){return Take(NonZero,input)}var AllowedDigits=[...Digit,UnderScore];function TakeDigits(input){return Many(AllowedDigits,[UnderScore],input)}function TakeUnsignedInteger(input){return Match2(Take([Zero],input),(Zero2,ZeroRest)=>[Zero2,ZeroRest],()=>Match2(TakeNonZero(input),(NonZero2,NonZeroRest)=>Match2(TakeDigits(NonZeroRest),(Digits,DigitsRest)=>[`${NonZero2}${Digits}`,DigitsRest],()=>[]),()=>[]))}function UnsignedInteger(input){return TakeUnsignedInteger(Trim(input))}function TakeSign(input){return Optional2(Hyphen,input)}function TakeSignedInteger(input){return Match2(TakeSign(input),(Sign,SignRest)=>Match2(UnsignedInteger(SignRest),(UnsignedInteger2,UnsignedIntegerRest)=>[`${Sign}${UnsignedInteger2}`,UnsignedIntegerRest],()=>[]),()=>[])}function Integer2(input){return TakeSignedInteger(Trim(input))}function TakeBigInt(input){return Match2(Integer2(input),(Integer3,IntegerRest)=>Match2(Take(["n"],IntegerRest),(_N,NRest)=>[`${Integer3}`,NRest],()=>[]),()=>[])}function BigInt3(input){return TakeBigInt(input)}function TakeConst(const_,input){return Take([const_],input)}function Const(const_,input){return IsEqual(const_,"")?["",input]:const_.startsWith(NewLine)?TakeConst(const_,TrimWhitespace(input)):const_.startsWith(WhiteSpace)?TakeConst(const_,input):TakeConst(const_,Trim(input))}var Initial=[...Alpha,UnderScore,DollarSign];function TakeInitial(input){return Take(Initial,input)}var Remaining=[...Initial,...Digit];function TakeRemaining(input,result=""){return Match2(Take(Remaining,input),(Remaining2,RemainingRest)=>TakeRemaining(RemainingRest,`${result}${Remaining2}`),()=>[result,input])}function TakeIdent(input){return Match2(TakeInitial(input),(Initial2,InitialRest)=>Match2(TakeRemaining(InitialRest),(Remaining2,RemainingRest)=>[`${Initial2}${Remaining2}`,RemainingRest],()=>[]),()=>[])}function Ident(input){return TakeIdent(Trim(input))}var AllowedDigits2=[...Digit,UnderScore];function IsLeadingDot(input){return IsMatch(Take([Dot],input))}function TakeFractional(input){return Match2(Many(AllowedDigits2,[UnderScore],input),(Digits,DigitsRest)=>IsEqual(Digits,"")?[]:[Digits,DigitsRest],()=>[])}function LeadingDot(input){return Match2(Take([Dot],input),(Dot2,DotRest)=>Match2(TakeFractional(DotRest),(Fractional,FractionalRest)=>[`0${Dot2}${Fractional}`,FractionalRest],()=>[]),()=>[])}function LeadingInteger(input){return Match2(UnsignedInteger(input),(Integer3,IntegerRest)=>Match2(Take([Dot],IntegerRest),(Dot2,DotRest)=>Match2(TakeFractional(DotRest),(Fractional,FractionalRest)=>[`${Integer3}${Dot2}${Fractional}`,FractionalRest],()=>[`${Integer3}`,DotRest]),()=>[`${Integer3}`,IntegerRest]),()=>[])}function TakeUnsignedNumber(input){return IsLeadingDot(input)?LeadingDot(input):LeadingInteger(input)}function UnsignedNumber(input){return TakeUnsignedNumber(Trim(input))}function TakeSign2(input){return Optional2(Hyphen,input)}function TakeSignedNumber(input){return Match2(TakeSign2(input),(Sign,SignRest)=>Match2(UnsignedNumber(SignRest),(UnsignedInteger2,UnsignedIntegerRest)=>[`${Sign}${UnsignedInteger2}`,UnsignedIntegerRest],()=>[]),()=>[])}function Number3(input){return TakeSignedNumber(Trim(input))}function TakeOne(input){return IsEqual(input,"")?[]:[input.slice(0,1),input.slice(1)]}function IsInputMatchSentinal(end,input){return ShiftLeft(end,(left,right)=>input.startsWith(left)?!0:IsInputMatchSentinal(right,input),()=>!1)}function Until(end,input,result=""){return Match2(TakeOne(input),(One,Rest2)=>IsInputMatchSentinal(end,input)?[result,input]:Until(end,Rest2,`${result}${One}`),()=>[])}function MultiLine(start,end,input){return Match2(Take([start],input),(_,Rest2)=>Match2(Until([end],Rest2),(Until2,UntilRest)=>Match2(Take([end],UntilRest),(_2,Rest3)=>[`${Until2}`,Rest3],()=>[]),()=>[]),()=>[])}function SingleLine(start,end,input){return Match2(Take([start],input),(_,Rest2)=>Match2(Until([NewLine,end],Rest2),(Until2,UntilRest)=>Match2(Take([end],UntilRest),(_2,EndRest)=>[`${Until2}`,EndRest],()=>[]),()=>[]),()=>[])}function Span(start,end,multiLine,input){return multiLine?MultiLine(start,end,Trim(input)):SingleLine(start,end,Trim(input))}function TakeInitial2(quotes,input){return Take(quotes,input)}function TakeSpan(quote,input){return Span(quote,quote,!1,input)}function TakeString(quotes,input){return Match2(TakeInitial2(quotes,input),(Initial2,InitialRest)=>TakeSpan(Initial2,`${Initial2}${InitialRest}`),()=>[])}function String3(quotes,input){return TakeString(quotes,Trim(input))}function Until_1(end,input){return Match2(Until(end,input),(Until2,UntilRest)=>IsEqual(Until2,"")?[]:[Until2,UntilRest],()=>[])}var If2=(result,left,right=()=>[])=>result.length===2?left(result):right(),GenericParameterExtendsEquals=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const("extends",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>If2(Const("=",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[GenericParameterExtendsEqualsMapping(_0),input2]),GenericParameterExtends=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const("extends",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[GenericParameterExtendsMapping(_0),input2]),GenericParameterEquals=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const("=",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[GenericParameterEqualsMapping(_0),input2]),GenericParameterIdentifier=input=>If2(Ident(input),([_0,input2])=>[GenericParameterIdentifierMapping(_0),input2]),GenericParameter=input=>If2(If2(GenericParameterExtendsEquals(input),([_0,input2])=>[_0,input2],()=>If2(GenericParameterExtends(input),([_0,input2])=>[_0,input2],()=>If2(GenericParameterEquals(input),([_0,input2])=>[_0,input2],()=>If2(GenericParameterIdentifier(input),([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[_0,input2]),GenericParameterList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(GenericParameter(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>GenericParameterList_0(input2,[...result,_0]),()=>[result,input]),GenericParameterList=input=>If2(If2(If2(GenericParameter(input),([_0,input2])=>If2(GenericParameterList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[GenericParameterListMapping(_0),input2]),GenericParameters=input=>If2(If2(Const("<",input),([_0,input2])=>If2(GenericParameterList(input2),([_1,input3])=>If2(Const(">",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[GenericParametersMapping(_0),input2]),GenericCallArgumentList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>GenericCallArgumentList_0(input2,[...result,_0]),()=>[result,input]),GenericCallArgumentList=input=>If2(If2(If2(Type(input),([_0,input2])=>If2(GenericCallArgumentList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[GenericCallArgumentListMapping(_0),input2]),GenericCallArguments=input=>If2(If2(Const("<",input),([_0,input2])=>If2(GenericCallArgumentList(input2),([_1,input3])=>If2(Const(">",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[GenericCallArgumentsMapping(_0),input2]),GenericCall=input=>If2(If2(Ident(input),([_0,input2])=>If2(GenericCallArguments(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[GenericCallMapping(_0),input2]),OptionalSemiColon=input=>If2(If2(If2(Const(";",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[OptionalSemiColonMapping(_0),input2]),KeywordString=input=>If2(Const("string",input),([_0,input2])=>[KeywordStringMapping(_0),input2]),KeywordNumber=input=>If2(Const("number",input),([_0,input2])=>[KeywordNumberMapping(_0),input2]),KeywordBoolean=input=>If2(Const("boolean",input),([_0,input2])=>[KeywordBooleanMapping(_0),input2]),KeywordUndefined=input=>If2(Const("undefined",input),([_0,input2])=>[KeywordUndefinedMapping(_0),input2]),KeywordNull=input=>If2(Const("null",input),([_0,input2])=>[KeywordNullMapping(_0),input2]),KeywordInteger=input=>If2(Const("integer",input),([_0,input2])=>[KeywordIntegerMapping(_0),input2]),KeywordBigInt=input=>If2(Const("bigint",input),([_0,input2])=>[KeywordBigIntMapping(_0),input2]),KeywordUnknown=input=>If2(Const("unknown",input),([_0,input2])=>[KeywordUnknownMapping(_0),input2]),KeywordAny=input=>If2(Const("any",input),([_0,input2])=>[KeywordAnyMapping(_0),input2]),KeywordObject=input=>If2(Const("object",input),([_0,input2])=>[KeywordObjectMapping(_0),input2]),KeywordNever=input=>If2(Const("never",input),([_0,input2])=>[KeywordNeverMapping(_0),input2]),KeywordSymbol=input=>If2(Const("symbol",input),([_0,input2])=>[KeywordSymbolMapping(_0),input2]),KeywordVoid=input=>If2(Const("void",input),([_0,input2])=>[KeywordVoidMapping(_0),input2]),KeywordThis=input=>If2(Const("this",input),([_0,input2])=>[KeywordThisMapping(_0),input2]),TemplateInterpolate=input=>If2(If2(Const("${",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const("}",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[TemplateInterpolateMapping(_0),input2]),TemplateSpan=input=>If2(Until(["${","`"],input),([_0,input2])=>[TemplateSpanMapping(_0),input2]),TemplateBody=input=>If2(If2(If2(TemplateSpan(input),([_0,input2])=>If2(TemplateInterpolate(input2),([_1,input3])=>If2(TemplateBody(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2(If2(TemplateSpan(input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2(If2(TemplateSpan(input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[TemplateBodyMapping(_0),input2]),TemplateLiteralTypes=input=>If2(If2(Const("`",input),([_0,input2])=>If2(TemplateBody(input2),([_1,input3])=>If2(Const("`",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[TemplateLiteralTypesMapping(_0),input2]),TemplateLiteral=input=>If2(TemplateLiteralTypes(input),([_0,input2])=>[TemplateLiteralMapping(_0),input2]),Dependent2=input=>If2(If2(If2(Const("if",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const("then",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>If2(Const("else",input5),([_4,input6])=>If2(Type(input6),([_5,input7])=>[[_0,_1,_2,_3,_4,_5],input7])))))),([_0,input2])=>[_0,input2],()=>If2(If2(Const("if",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const("then",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[DependentMapping(_0),input2]),LiteralBigInt=input=>If2(BigInt3(input),([_0,input2])=>[LiteralBigIntMapping(_0),input2]),LiteralBoolean=input=>If2(If2(Const("true",input),([_0,input2])=>[_0,input2],()=>If2(Const("false",input),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[LiteralBooleanMapping(_0),input2]),LiteralNumber=input=>If2(Number3(input),([_0,input2])=>[LiteralNumberMapping(_0),input2]),LiteralString=input=>If2(String3(["'",'"'],input),([_0,input2])=>[LiteralStringMapping(_0),input2]),KeyOf=input=>If2(If2(If2(Const("keyof",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[KeyOfMapping(_0),input2]),IndexArray_0=(input,result=[])=>If2(If2(If2(Const("[",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const("]",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2(If2(Const("[",input),([_0,input2])=>If2(Const("]",input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>IndexArray_0(input2,[...result,_0]),()=>[result,input]),IndexArray=input=>If2(IndexArray_0(input),([_0,input2])=>[IndexArrayMapping(_0),input2]),Extends2=input=>If2(If2(If2(Const("extends",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const("?",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>If2(Const(":",input5),([_4,input6])=>If2(Type(input6),([_5,input7])=>[[_0,_1,_2,_3,_4,_5],input7])))))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ExtendsMapping(_0),input2]),Base=input=>If2(If2(If2(Const("(",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Const(")",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2(KeywordString(input),([_0,input2])=>[_0,input2],()=>If2(KeywordNumber(input),([_0,input2])=>[_0,input2],()=>If2(KeywordBoolean(input),([_0,input2])=>[_0,input2],()=>If2(KeywordUndefined(input),([_0,input2])=>[_0,input2],()=>If2(KeywordNull(input),([_0,input2])=>[_0,input2],()=>If2(KeywordInteger(input),([_0,input2])=>[_0,input2],()=>If2(KeywordBigInt(input),([_0,input2])=>[_0,input2],()=>If2(KeywordUnknown(input),([_0,input2])=>[_0,input2],()=>If2(KeywordAny(input),([_0,input2])=>[_0,input2],()=>If2(KeywordObject(input),([_0,input2])=>[_0,input2],()=>If2(KeywordNever(input),([_0,input2])=>[_0,input2],()=>If2(KeywordSymbol(input),([_0,input2])=>[_0,input2],()=>If2(KeywordVoid(input),([_0,input2])=>[_0,input2],()=>If2(KeywordThis(input),([_0,input2])=>[_0,input2],()=>If2(LiteralBigInt(input),([_0,input2])=>[_0,input2],()=>If2(LiteralBoolean(input),([_0,input2])=>[_0,input2],()=>If2(LiteralNumber(input),([_0,input2])=>[_0,input2],()=>If2(LiteralString(input),([_0,input2])=>[_0,input2],()=>If2(TemplateLiteral(input),([_0,input2])=>[_0,input2],()=>If2(Dependent2(input),([_0,input2])=>[_0,input2],()=>If2(_Object_2(input),([_0,input2])=>[_0,input2],()=>If2(_Tuple_(input),([_0,input2])=>[_0,input2],()=>If2(_Constructor_(input),([_0,input2])=>[_0,input2],()=>If2(_Function_2(input),([_0,input2])=>[_0,input2],()=>If2(_Mapped_(input),([_0,input2])=>[_0,input2],()=>If2(GenericCall(input),([_0,input2])=>[_0,input2],()=>If2(Reference(input),([_0,input2])=>[_0,input2],()=>[])))))))))))))))))))))))))))),([_0,input2])=>[BaseMapping(_0),input2]),With=input=>If2(If2(If2(Const("with",input),([_0,input2])=>If2(WithObject(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[WithMapping(_0),input2]),Factor=input=>If2(If2(KeyOf(input),([_0,input2])=>If2(Base(input2),([_1,input3])=>If2(IndexArray(input3),([_2,input4])=>If2(Extends2(input4),([_3,input5])=>If2(With(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[FactorMapping(_0),input2]),ExprTermTail=input=>If2(If2(If2(Const("&",input),([_0,input2])=>If2(Factor(input2),([_1,input3])=>If2(ExprTermTail(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[_0,input2]),ExprTerm=input=>If2(If2(Factor(input),([_0,input2])=>If2(ExprTermTail(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ExprTermMapping(_0),input2]),ExprTail=input=>If2(If2(If2(Const("|",input),([_0,input2])=>If2(ExprTerm(input2),([_1,input3])=>If2(ExprTail(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[_0,input2]),Expr=input=>If2(If2(ExprTerm(input),([_0,input2])=>If2(ExprTail(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ExprMapping(_0),input2]),ExprReadonly=input=>If2(If2(Const("readonly",input),([_0,input2])=>If2(Expr(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ExprReadonlyMapping(_0),input2]),ExprPipe=input=>If2(If2(Const("|",input),([_0,input2])=>If2(Expr(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ExprPipeMapping(_0),input2]),GenericType=input=>If2(If2(GenericParameters(input),([_0,input2])=>If2(Const("=",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[GenericTypeMapping(_0),input2]),InferType=input=>If2(If2(If2(Const("infer",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(Const("extends",input3),([_2,input4])=>If2(Expr(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[_0,input2],()=>If2(If2(Const("infer",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[InferTypeMapping(_0),input2]),Type=input=>If2(If2(InferType(input),([_0,input2])=>[_0,input2],()=>If2(ExprPipe(input),([_0,input2])=>[_0,input2],()=>If2(ExprReadonly(input),([_0,input2])=>[_0,input2],()=>If2(Expr(input),([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[_0,input2]),PropertyKeyNumber=input=>If2(Number3(input),([_0,input2])=>[PropertyKeyNumberMapping(_0),input2]),PropertyKeyIdent=input=>If2(Ident(input),([_0,input2])=>[_0,input2]),PropertyKeyQuoted=input=>If2(String3(["'",'"'],input),([_0,input2])=>[_0,input2]),PropertyKeyIndex=input=>If2(If2(Const("[",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(Const(":",input3),([_2,input4])=>If2(If2(KeywordInteger(input4),([_02,input5])=>[_02,input5],()=>If2(KeywordNumber(input4),([_02,input5])=>[_02,input5],()=>If2(KeywordString(input4),([_02,input5])=>[_02,input5],()=>If2(KeywordSymbol(input4),([_02,input5])=>[_02,input5],()=>[])))),([_3,input5])=>If2(Const("]",input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[PropertyKeyIndexMapping(_0),input2]),PropertyKey=input=>If2(If2(PropertyKeyNumber(input),([_0,input2])=>[_0,input2],()=>If2(PropertyKeyIdent(input),([_0,input2])=>[_0,input2],()=>If2(PropertyKeyQuoted(input),([_0,input2])=>[_0,input2],()=>If2(PropertyKeyIndex(input),([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[_0,input2]),Readonly2=input=>If2(If2(If2(Const("readonly",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ReadonlyMapping(_0),input2]),Optional3=input=>If2(If2(If2(Const("?",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[OptionalMapping(_0),input2]),Property=input=>If2(If2(Readonly2(input),([_0,input2])=>If2(PropertyKey(input2),([_1,input3])=>If2(Optional3(input3),([_2,input4])=>If2(Const(":",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[PropertyMapping(_0),input2]),PropertyDelimiter=input=>If2(If2(If2(Const(",",input),([_0,input2])=>If2(Const(`
135
+ `,input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const(";",input),([_0,input2])=>If2(Const(`
136
+ `,input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const(",",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2(If2(Const(";",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2(If2(Const(`
137
+ `,input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[]))))),([_0,input2])=>[_0,input2]),PropertyList_0=(input,result=[])=>If2(If2(PropertyDelimiter(input),([_0,input2])=>If2(Property(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>PropertyList_0(input2,[...result,_0]),()=>[result,input]),PropertyList=input=>If2(If2(If2(Property(input),([_0,input2])=>If2(PropertyList_0(input2),([_1,input3])=>If2(If2(PropertyDelimiter(input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[PropertyListMapping(_0),input2]),Properties=input=>If2(If2(Const("{",input),([_0,input2])=>If2(PropertyList(input2),([_1,input3])=>If2(Const("}",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[PropertiesMapping(_0),input2]),_Object_2=input=>If2(Properties(input),([_0,input2])=>[_Object_Mapping(_0),input2]),ElementNamed=input=>If2(If2(If2(Ident(input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>If2(Const(":",input3),([_2,input4])=>If2(Const("readonly",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[_0,input2],()=>If2(If2(Ident(input),([_0,input2])=>If2(Const(":",input2),([_1,input3])=>If2(Const("readonly",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[_0,input2],()=>If2(If2(Ident(input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>If2(Const(":",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[_0,input2],()=>If2(If2(Ident(input),([_0,input2])=>If2(Const(":",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[ElementNamedMapping(_0),input2]),ElementBase=input=>If2(If2(ElementNamed(input),([_0,input2])=>[_0,input2],()=>If2(If2(Readonly2(input),([_0,input2])=>If2(Type(input2),([_1,input3])=>If2(Optional3(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ElementBaseMapping(_0),input2]),Element=input=>If2(If2(If2(Const("...",input),([_0,input2])=>If2(ElementBase(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(ElementBase(input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ElementMapping(_0),input2]),ElementList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(Element(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>ElementList_0(input2,[...result,_0]),()=>[result,input]),ElementList=input=>If2(If2(If2(Element(input),([_0,input2])=>If2(ElementList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ElementListMapping(_0),input2]),_Tuple_=input=>If2(If2(Const("[",input),([_0,input2])=>If2(ElementList(input2),([_1,input3])=>If2(Const("]",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_Tuple_Mapping(_0),input2]),ParameterReadonlyOptional=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>If2(Const(":",input3),([_2,input4])=>If2(Const("readonly",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[ParameterReadonlyOptionalMapping(_0),input2]),ParameterReadonly=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const(":",input2),([_1,input3])=>If2(Const("readonly",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[ParameterReadonlyMapping(_0),input2]),ParameterOptional=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>If2(Const(":",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[ParameterOptionalMapping(_0),input2]),ParameterType=input=>If2(If2(Ident(input),([_0,input2])=>If2(Const(":",input2),([_1,input3])=>If2(Type(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[ParameterTypeMapping(_0),input2]),ParameterBase=input=>If2(If2(ParameterReadonlyOptional(input),([_0,input2])=>[_0,input2],()=>If2(ParameterReadonly(input),([_0,input2])=>[_0,input2],()=>If2(ParameterOptional(input),([_0,input2])=>[_0,input2],()=>If2(ParameterType(input),([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[_0,input2]),Parameter2=input=>If2(If2(If2(Const("...",input),([_0,input2])=>If2(ParameterBase(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(ParameterBase(input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ParameterMapping(_0),input2]),ParameterList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(Parameter2(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>ParameterList_0(input2,[...result,_0]),()=>[result,input]),ParameterList=input=>If2(If2(If2(Parameter2(input),([_0,input2])=>If2(ParameterList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ParameterListMapping(_0),input2]),_Function_2=input=>If2(If2(Const("(",input),([_0,input2])=>If2(ParameterList(input2),([_1,input3])=>If2(Const(")",input3),([_2,input4])=>If2(Const("=>",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[_Function_Mapping(_0),input2]),_Constructor_=input=>If2(If2(Const("new",input),([_0,input2])=>If2(Const("(",input2),([_1,input3])=>If2(ParameterList(input3),([_2,input4])=>If2(Const(")",input4),([_3,input5])=>If2(Const("=>",input5),([_4,input6])=>If2(Type(input6),([_5,input7])=>[[_0,_1,_2,_3,_4,_5],input7])))))),([_0,input2])=>[_Constructor_Mapping(_0),input2]),MappedReadonly=input=>If2(If2(If2(Const("+",input),([_0,input2])=>If2(Const("readonly",input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const("-",input),([_0,input2])=>If2(Const("readonly",input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const("readonly",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[MappedReadonlyMapping(_0),input2]),MappedOptional=input=>If2(If2(If2(Const("+",input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const("-",input),([_0,input2])=>If2(Const("?",input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const("?",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])))),([_0,input2])=>[MappedOptionalMapping(_0),input2]),MappedAs=input=>If2(If2(If2(Const("as",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[MappedAsMapping(_0),input2]),_Mapped_=input=>If2(If2(Const("{",input),([_0,input2])=>If2(MappedReadonly(input2),([_1,input3])=>If2(Const("[",input3),([_2,input4])=>If2(Ident(input4),([_3,input5])=>If2(Const("in",input5),([_4,input6])=>If2(Type(input6),([_5,input7])=>If2(MappedAs(input7),([_6,input8])=>If2(Const("]",input8),([_7,input9])=>If2(MappedOptional(input9),([_8,input10])=>If2(Const(":",input10),([_9,input11])=>If2(Type(input11),([_10,input12])=>If2(OptionalSemiColon(input12),([_11,input13])=>If2(Const("}",input13),([_12,input14])=>[[_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12],input14]))))))))))))),([_0,input2])=>[_Mapped_Mapping(_0),input2]),Reference=input=>If2(Ident(input),([_0,input2])=>[ReferenceMapping(_0),input2]),WithBigInt=input=>If2(BigInt3(input),([_0,input2])=>[WithBigIntMapping(_0),input2]),WithNumber=input=>If2(Number3(input),([_0,input2])=>[WithNumberMapping(_0),input2]),WithBoolean=input=>If2(If2(Const("true",input),([_0,input2])=>[_0,input2],()=>If2(Const("false",input),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[WithBooleanMapping(_0),input2]),WithString=input=>If2(String3(['"',"'"],input),([_0,input2])=>[_0,input2]),WithNull=input=>If2(Const("null",input),([_0,input2])=>[WithNullMapping(_0),input2]),WithUndefined=input=>If2(Const("undefined",input),([_0,input2])=>[void 0,input2]),WithProperty=input=>If2(If2(PropertyKey(input),([_0,input2])=>If2(Const(":",input2),([_1,input3])=>If2(WithValue(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[WithPropertyMapping(_0),input2]),WithPropertyList_0=(input,result=[])=>If2(If2(PropertyDelimiter(input),([_0,input2])=>If2(WithProperty(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>WithPropertyList_0(input2,[...result,_0]),()=>[result,input]),WithPropertyList=input=>If2(If2(If2(WithProperty(input),([_0,input2])=>If2(WithPropertyList_0(input2),([_1,input3])=>If2(If2(PropertyDelimiter(input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[WithPropertyListMapping(_0),input2]),WithObject=input=>If2(If2(Const("{",input),([_0,input2])=>If2(WithPropertyList(input2),([_1,input3])=>If2(Const("}",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[WithObjectMapping(_0),input2]),WithElementList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(WithValue(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>WithElementList_0(input2,[...result,_0]),()=>[result,input]),WithElementList=input=>If2(If2(If2(WithValue(input),([_0,input2])=>If2(WithElementList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[WithElementListMapping(_0),input2]),WithArray=input=>If2(If2(Const("[",input),([_0,input2])=>If2(WithElementList(input2),([_1,input3])=>If2(Const("]",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[WithArrayMapping(_0),input2]),WithValue=input=>If2(If2(WithBigInt(input),([_0,input2])=>[_0,input2],()=>If2(WithNumber(input),([_0,input2])=>[_0,input2],()=>If2(WithBoolean(input),([_0,input2])=>[_0,input2],()=>If2(WithString(input),([_0,input2])=>[_0,input2],()=>If2(WithNull(input),([_0,input2])=>[_0,input2],()=>If2(WithUndefined(input),([_0,input2])=>[_0,input2],()=>If2(WithObject(input),([_0,input2])=>[_0,input2],()=>If2(WithArray(input),([_0,input2])=>[_0,input2],()=>[])))))))),([_0,input2])=>[_0,input2]),PatternBigInt=input=>If2(Const("-?(?:0|[1-9][0-9]*)n",input),([_0,input2])=>[PatternBigIntMapping(_0),input2]),PatternString=input=>If2(Const(".*",input),([_0,input2])=>[PatternStringMapping(_0),input2]),PatternNumber=input=>If2(Const("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",input),([_0,input2])=>[PatternNumberMapping(_0),input2]),PatternInteger=input=>If2(Const("-?(?:0|[1-9][0-9]*)",input),([_0,input2])=>[PatternIntegerMapping(_0),input2]),PatternNever=input=>If2(Const("(?!)",input),([_0,input2])=>[PatternNeverMapping(_0),input2]),PatternText=input=>If2(Until_1(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],input),([_0,input2])=>[PatternTextMapping(_0),input2]),PatternBase=input=>If2(If2(PatternBigInt(input),([_0,input2])=>[_0,input2],()=>If2(PatternString(input),([_0,input2])=>[_0,input2],()=>If2(PatternNumber(input),([_0,input2])=>[_0,input2],()=>If2(PatternInteger(input),([_0,input2])=>[_0,input2],()=>If2(PatternNever(input),([_0,input2])=>[_0,input2],()=>If2(PatternGroup(input),([_0,input2])=>[_0,input2],()=>If2(PatternText(input),([_0,input2])=>[_0,input2],()=>[]))))))),([_0,input2])=>[_0,input2]),PatternGroup=input=>If2(If2(Const("(",input),([_0,input2])=>If2(PatternBody(input2),([_1,input3])=>If2(Const(")",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[PatternGroupMapping(_0),input2]),PatternUnion=input=>If2(If2(If2(PatternTerm(input),([_0,input2])=>If2(Const("|",input2),([_1,input3])=>If2(PatternUnion(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2(If2(PatternTerm(input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[PatternUnionMapping(_0),input2]),PatternTerm=input=>If2(If2(PatternBase(input),([_0,input2])=>If2(PatternBody(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[PatternTermMapping(_0),input2]),PatternBody=input=>If2(If2(PatternUnion(input),([_0,input2])=>[_0,input2],()=>If2(PatternTerm(input),([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[_0,input2]),Pattern=input=>If2(If2(Const("^",input),([_0,input2])=>If2(PatternBody(input2),([_1,input3])=>If2(Const("$",input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[PatternMapping(_0),input2]),InterfaceDeclarationHeritageList_0=(input,result=[])=>If2(If2(Const(",",input),([_0,input2])=>If2(Type(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>InterfaceDeclarationHeritageList_0(input2,[...result,_0]),()=>[result,input]),InterfaceDeclarationHeritageList=input=>If2(If2(If2(Type(input),([_0,input2])=>If2(InterfaceDeclarationHeritageList_0(input2),([_1,input3])=>If2(If2(Const(",",input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[InterfaceDeclarationHeritageListMapping(_0),input2]),InterfaceDeclarationHeritage=input=>If2(If2(If2(Const("extends",input),([_0,input2])=>If2(InterfaceDeclarationHeritageList(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[InterfaceDeclarationHeritageMapping(_0),input2]),InterfaceDeclarationGeneric=input=>If2(If2(Const("interface",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(GenericParameters(input3),([_2,input4])=>If2(InterfaceDeclarationHeritage(input4),([_3,input5])=>If2(Properties(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[InterfaceDeclarationGenericMapping(_0),input2]),InterfaceDeclaration=input=>If2(If2(Const("interface",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(InterfaceDeclarationHeritage(input3),([_2,input4])=>If2(Properties(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[InterfaceDeclarationMapping(_0),input2]),TypeAliasDeclarationGeneric=input=>If2(If2(Const("type",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(GenericParameters(input3),([_2,input4])=>If2(Const("=",input4),([_3,input5])=>If2(Type(input5),([_4,input6])=>[[_0,_1,_2,_3,_4],input6]))))),([_0,input2])=>[TypeAliasDeclarationGenericMapping(_0),input2]),TypeAliasDeclaration=input=>If2(If2(Const("type",input),([_0,input2])=>If2(Ident(input2),([_1,input3])=>If2(Const("=",input3),([_2,input4])=>If2(Type(input4),([_3,input5])=>[[_0,_1,_2,_3],input5])))),([_0,input2])=>[TypeAliasDeclarationMapping(_0),input2]),ExportKeyword=input=>If2(If2(If2(Const("export",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ExportKeywordMapping(_0),input2]),ModuleDeclarationDelimiter=input=>If2(If2(If2(Const(";",input),([_0,input2])=>If2(Const(`
138
+ `,input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[_0,input2],()=>If2(If2(Const(";",input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>If2(If2(Const(`
139
+ `,input),([_0,input2])=>[[_0],input2]),([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[_0,input2]),ModuleDeclarationList_0=(input,result=[])=>If2(If2(ModuleDeclarationDelimiter(input),([_0,input2])=>If2(ModuleDeclaration(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>ModuleDeclarationList_0(input2,[...result,_0]),()=>[result,input]),ModuleDeclarationList=input=>If2(If2(If2(ModuleDeclaration(input),([_0,input2])=>If2(ModuleDeclarationList_0(input2),([_1,input3])=>If2(If2(ModuleDeclarationDelimiter(input3),([_02,input4])=>[[_02],input4],()=>[[],input3]),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[_0,input2],()=>If2([[],input],([_0,input2])=>[_0,input2],()=>[])),([_0,input2])=>[ModuleDeclarationListMapping(_0),input2]),ModuleDeclaration=input=>If2(If2(ExportKeyword(input),([_0,input2])=>If2(If2(InterfaceDeclarationGeneric(input2),([_02,input3])=>[_02,input3],()=>If2(InterfaceDeclaration(input2),([_02,input3])=>[_02,input3],()=>If2(TypeAliasDeclarationGeneric(input2),([_02,input3])=>[_02,input3],()=>If2(TypeAliasDeclaration(input2),([_02,input3])=>[_02,input3],()=>[])))),([_1,input3])=>If2(OptionalSemiColon(input3),([_2,input4])=>[[_0,_1,_2],input4]))),([_0,input2])=>[ModuleDeclarationMapping(_0),input2]),Module=input=>If2(If2(ModuleDeclaration(input),([_0,input2])=>If2(ModuleDeclarationList(input2),([_1,input3])=>[[_0,_1],input3])),([_0,input2])=>[ModuleMapping(_0),input2]),Script=input=>If2(If2(Module(input),([_0,input2])=>[_0,input2],()=>If2(GenericType(input),([_0,input2])=>[_0,input2],()=>If2(Type(input),([_0,input2])=>[_0,input2],()=>[]))),([_0,input2])=>[_0,input2]);function ParseTemplateIntoTypes(template){let parsed=TemplateLiteralTypes(`\`${template}\``);return guard_exports.IsEqual(parsed.length,2)?parsed[0]:Unreachable()}function JoinString(input){return input.join("|")}function UnwrapTemplateLiteralPattern(pattern){return pattern.slice(1,pattern.length-1)}function EncodeLiteral(value,right,pattern){return EncodeTypes(right,`${pattern}${value}`)}function EncodeBigInt(right,pattern){return EncodeTypes(right,`${pattern}${BigIntPattern}`)}function EncodeInteger(right,pattern){return EncodeTypes(right,`${pattern}${IntegerPattern}`)}function EncodeNumber(right,pattern){return EncodeTypes(right,`${pattern}${NumberPattern}`)}function EncodeBoolean(right,pattern){return EncodeType(Union([Literal("false"),Literal("true")]),right,pattern)}function EncodeString(right,pattern){return EncodeTypes(right,`${pattern}${StringPattern}`)}function EncodeTemplateLiteral(templatePattern,right,pattern){return EncodeTypes(right,`${pattern}${UnwrapTemplateLiteralPattern(templatePattern)}`)}function EncodeTemplateLiteralDeferred(types,right,pattern){let templateLiteral=TemplateLiteralAction(types,{});return EncodeType(templateLiteral,right,pattern)}function EncodeEnum(values,right,pattern){let evaluated=EvaluateEnum(values);return EncodeType(evaluated,right,pattern)}function EncodeUnion(types,right,pattern,result=[]){return guard_exports.ShiftLeft(types,(head,tail)=>EncodeUnion(tail,right,pattern,[...result,EncodeType(head,[],"")]),()=>EncodeTypes(right,`${pattern}(${JoinString(result)})`))}function EncodeType(type,right,pattern){return IsEnum(type)?EncodeEnum(type.enum,right,pattern):IsInteger3(type)?EncodeInteger(right,pattern):IsLiteral(type)?EncodeLiteral(type.const,right,pattern):IsBigInt3(type)?EncodeBigInt(right,pattern):IsBoolean4(type)?EncodeBoolean(right,pattern):IsNumber4(type)?EncodeNumber(right,pattern):IsString4(type)?EncodeString(right,pattern):IsTemplateLiteral(type)?EncodeTemplateLiteral(type.pattern,right,pattern):IsTemplateLiteralDeferred(type)?EncodeTemplateLiteralDeferred(type.parameters[0],right,pattern):IsUnion(type)?EncodeUnion(type.anyOf,right,pattern):NeverPattern}function EncodeTypes(types,pattern){return guard_exports.ShiftLeft(types,(left,right)=>EncodeType(left,right,pattern),()=>pattern)}function EncodePattern(types){return`^${EncodeTypes(types,"")}$`}function TemplateLiteralEncode(types){let pattern=EncodePattern(types);return TemplateLiteralCreate(pattern)}function TemplateLiteralAction(types,options){return CanInstantiate(types)?memory_exports.Update(TemplateLiteralEncode(types),{},options):TemplateLiteralDeferred(types,options)}function TemplateLiteralInstantiate(context,state2,types,options){let instantiatedTypes=InstantiateTypes(context,state2,types);return TemplateLiteralAction(instantiatedTypes,options)}function TemplateLiteralDeferred(types,options={}){return Deferred("TemplateLiteral",[types],options)}function IsTemplateLiteralDeferred(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"action")&&guard_exports.IsEqual(value.action,"TemplateLiteral")}function TemplateLiteralFromTypes(types){return TemplateLiteralAction(types,{})}function TemplateLiteralFromString(template){let types=ParseTemplateIntoTypes(template);return TemplateLiteralFromTypes(types)}function TemplateLiteral2(input,options={}){let type=guard_exports.IsString(input)?TemplateLiteralFromString(input):TemplateLiteralFromTypes(input);return memory_exports.Update(type,{},options)}function IsTemplateLiteral(value){return IsKind(value,"TemplateLiteral")}var result_exports={};__export(result_exports,{ExtendsFalse:()=>ExtendsFalse,ExtendsTrue:()=>ExtendsTrue,ExtendsUnion:()=>ExtendsUnion,IsExtendsFalse:()=>IsExtendsFalse,IsExtendsTrue:()=>IsExtendsTrue,IsExtendsTrueLike:()=>IsExtendsTrueLike,IsExtendsUnion:()=>IsExtendsUnion,Match:()=>Match3});function ExtendsUnion(inferred){return memory_exports.Create({"~kind":"ExtendsUnion"},{inferred})}function IsExtendsUnion(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"inferred")&&guard_exports.IsEqual(value["~kind"],"ExtendsUnion")&&guard_exports.IsObject(value.inferred)}function ExtendsTrue(inferred){return memory_exports.Create({"~kind":"ExtendsTrue"},{inferred})}function IsExtendsTrue(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"inferred")&&guard_exports.IsEqual(value["~kind"],"ExtendsTrue")&&guard_exports.IsObject(value.inferred)}function ExtendsFalse(){return memory_exports.Create({"~kind":"ExtendsFalse"},{})}function IsExtendsFalse(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.IsEqual(value["~kind"],"ExtendsFalse")}function IsExtendsTrueLike(value){return IsExtendsUnion(value)||IsExtendsTrue(value)}function Match3(result,true_,false_){return IsExtendsTrueLike(result)?true_(result.inferred):false_()}function ExtendsRightInfer(inferred,name,left,right){return Match3(ExtendsLeft(inferred,left,right),checkInferred=>ExtendsTrue(memory_exports.Assign(memory_exports.Assign(inferred,checkInferred),{[name]:left})),()=>ExtendsFalse())}function ExtendsRightAny(inferred,_left){return ExtendsTrue(inferred)}function ExtendsRightDependent(inferred,left,if_,then_,else_){return Match3(ExtendsLeft(inferred,left,if_),inferred2=>Match3(ExtendsLeft(inferred2,left,then_),inferred3=>ExtendsTrue(inferred3),()=>ExtendsFalse()),()=>Match3(ExtendsLeft(inferred,left,else_),inferred2=>ExtendsTrue(inferred2),()=>ExtendsFalse()))}function ExtendsRightEnum(inferred,left,right){let evaluated=EvaluateEnum(right);return ExtendsLeft(inferred,left,evaluated)}function ExtendsRightIntersect(inferred,left,right){return guard_exports.ShiftLeft(right,(head,tail)=>Match3(ExtendsLeft(inferred,left,head),inferred2=>ExtendsRightIntersect(inferred2,left,tail),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsRightTemplateLiteral(inferred,left,right){let evaluated=EvaluateTemplateLiteral(right);return ExtendsLeft(inferred,left,evaluated)}function ExtendsRightUnion(inferred,left,right){return guard_exports.ShiftLeft(right,(head,tail)=>Match3(ExtendsLeft(inferred,left,head),inferred2=>ExtendsTrue(inferred2),()=>ExtendsRightUnion(inferred,left,tail)),()=>ExtendsFalse())}function ExtendsRight(inferred,left,right){return IsAny(right)?ExtendsRightAny(inferred,left):IsDependent(right)?ExtendsRightDependent(inferred,left,right.if,right.then,right.else):IsEnum(right)?ExtendsRightEnum(inferred,left,right.enum):IsInfer(right)?ExtendsRightInfer(inferred,right.name,left,right.extends):IsIntersect(right)?ExtendsRightIntersect(inferred,left,right.allOf):IsTemplateLiteral(right)?ExtendsRightTemplateLiteral(inferred,left,right.pattern):IsUnion(right)?ExtendsRightUnion(inferred,left,right.anyOf):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsAny(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsUnion(inferred)}function ExtendsImmutable(left,right){let isImmutableLeft=IsImmutable(left),isImmutableRight=IsImmutable(right);return isImmutableLeft&&isImmutableRight||!isImmutableLeft&&isImmutableRight?!0:!(isImmutableLeft&&!isImmutableRight)}function ExtendsArray(inferred,arrayLeft,left,right){return IsArray3(right)?ExtendsImmutable(arrayLeft,right)?ExtendsLeft(inferred,left,right.items):ExtendsFalse():ExtendsRight(inferred,arrayLeft,right)}function ExtendsBigInt(inferred,left,right){return IsBigInt3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsBoolean(inferred,left,right){return IsBoolean4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ParameterCompare(inferred,left,leftRest,right,rightRest){let checkLeft=IsInfer(right)?left:right,checkRight=IsInfer(right)?right:left,isLeftOptional=IsOptional(left),isRightOptional=IsOptional(right);return!isLeftOptional&&isRightOptional?ExtendsFalse():Match3(ExtendsLeft(inferred,checkLeft,checkRight),inferred2=>ExtendsParameters(inferred2,leftRest,rightRest),()=>ExtendsFalse())}function ParameterRight(inferred,left,leftRest,rightRest){return guard_exports.ShiftLeft(rightRest,(head,tail)=>ParameterCompare(inferred,left,leftRest,head,tail),()=>IsOptional(left)?ExtendsTrue(inferred):ExtendsFalse())}function ParametersLeft(inferred,left,rightRest){return guard_exports.ShiftLeft(left,(head,tail)=>ParameterRight(inferred,head,tail,rightRest),()=>ExtendsTrue(inferred))}function ExtendsParameters(inferred,left,right){return ParametersLeft(inferred,left,right)}function ExtendsReturnType(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):ExtendsLeft(inferred,left,right)}function ExtendsConstructor(inferred,parameters,returnType,right){return IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):IsConstructor3(right)?Match3(ExtendsParameters(inferred,parameters,right.parameters),inferred2=>ExtendsReturnType(inferred2,returnType,right.instanceType),()=>ExtendsFalse()):ExtendsFalse()}function ExtendsDependent(inferred,if_,then_,else_,right){return Match3(ExtendsLeft(inferred,if_,right),()=>ExtendsLeft(inferred,then_,right),()=>ExtendsLeft(inferred,else_,right))}function ExtendsEnum(inferred,left,right){let evaluated=EvaluateEnum(left);return ExtendsLeft(inferred,evaluated,right)}function ExtendsFunction(inferred,parameters,returnType,right){return IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):IsFunction3(right)?Match3(ExtendsParameters(inferred,parameters,right.parameters),inferred2=>ExtendsReturnType(inferred2,returnType,right.returnType),()=>ExtendsFalse()):ExtendsFalse()}function ExtendsInteger(inferred,left,right){return IsInteger3(right)?ExtendsTrue(inferred):IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsIntersect(inferred,left,right){let evaluated=EvaluateIntersect(left);return ExtendsLeft(inferred,evaluated,right)}function ExtendsLiteralValue(inferred,left,right){return left===right?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsLiteralBigInt(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsBigInt3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralBoolean(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsBoolean4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralNumber(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteralString(inferred,left,right){return IsLiteral(right)?ExtendsLiteralValue(inferred,left,right.const):IsString4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,Literal(left),right)}function ExtendsLiteral(inferred,left,right){return guard_exports.IsBigInt(left.const)?ExtendsLiteralBigInt(inferred,left.const,right):guard_exports.IsBoolean(left.const)?ExtendsLiteralBoolean(inferred,left.const,right):guard_exports.IsNumber(left.const)?ExtendsLiteralNumber(inferred,left.const,right):guard_exports.IsString(left.const)?ExtendsLiteralString(inferred,left.const,right):Unreachable()}function ExtendsNever(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):ExtendsTrue(inferred)}function ExtendsNull(inferred,left,right){return IsNull3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsNumber(inferred,left,right){return IsNumber4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsPropertyOptional(inferred,left,right){return IsOptional(left)?IsOptional(right)?ExtendsTrue(inferred):ExtendsFalse():ExtendsTrue(inferred)}function ExtendsProperty(inferred,left,right){return IsInfer(right)&&IsNever(right.extends)?ExtendsFalse():Match3(ExtendsLeft(inferred,left,right),inferred2=>ExtendsPropertyOptional(inferred2,left,right),()=>ExtendsFalse())}function ExtractInferredProperties(keys,properties){return keys.reduce((result,key)=>key in properties?IsExtendsTrueLike(properties[key])?{...result,...properties[key].inferred}:Unreachable():Unreachable(),{})}function ExtendsPropertiesComparer(inferred,left,right){let properties={};for(let rightKey of guard_exports.Keys(right))properties[rightKey]=rightKey in left?ExtendsProperty({},left[rightKey],right[rightKey]):IsOptional(right[rightKey])?IsInfer(right[rightKey])?ExtendsTrue(memory_exports.Assign(inferred,{[right[rightKey].name]:right[rightKey].extends})):ExtendsTrue(inferred):ExtendsFalse();let checked=guard_exports.Values(properties).every(result=>IsExtendsTrueLike(result)),extracted=checked?ExtractInferredProperties(guard_exports.Keys(properties),properties):{};return checked?ExtendsTrue(extracted):ExtendsFalse()}function ExtendsProperties(inferred,left,right){let compared=ExtendsPropertiesComparer(inferred,left,right);return IsExtendsTrueLike(compared)?ExtendsTrue(memory_exports.Assign(inferred,compared.inferred)):ExtendsFalse()}function ExtendsObjectToObject(inferred,left,right){return ExtendsProperties(inferred,left,right)}function RecordMergeInferred(left,right){return guard_exports.Keys(right).reduce((result,key)=>({...result,[key]:guard_exports.HasPropertyKey(left,key)?IsUnion(result[key])?Union([...result[key].anyOf,right[key]]):Union([left[key],right[key]]):right[key]}),left)}function ExtendsRecordComparer(properties,keys,type,result){return guard_exports.ShiftLeft(keys,(left,right)=>Match3(ExtendsLeft({},properties[left],type),inferred=>ExtendsRecordComparer(properties,right,type,RecordMergeInferred(result,inferred)),()=>ExtendsFalse()),()=>ExtendsTrue(result))}function ExtendsObjectToRecord(inferred,properties,_pattern,value){let keys=guard_exports.Keys(properties);return ExtendsRecordComparer(properties,keys,value,inferred)}function ExtendsObject(inferred,left,right){return IsRecord(right)?ExtendsObjectToRecord(inferred,left,RecordPattern(right),RecordValue(right)):IsObject3(right)?ExtendsObjectToObject(inferred,left,right.properties):ExtendsRight(inferred,_Object_(left),right)}function FromObject3(inferred,properties){return guard_exports.IsEqual(guard_exports.Keys(properties).length,0)?ExtendsTrue(inferred):ExtendsFalse()}function FromRecord(inferred,_leftKey,leftValue,_rightKey,rightValue){return ExtendsLeft(inferred,leftValue,rightValue)}function ExtendsRecord(inferred,leftPattern,leftValue,right){return IsRecord(right)?FromRecord(inferred,RecordPatternToType(leftPattern),leftValue,RecordPatternToType(RecordPattern(right)),RecordValue(right)):IsObject3(right)?FromObject3(inferred,right.properties):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsString(inferred,left,right){return IsString4(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsSymbol(inferred,left,right){return IsSymbol3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsTemplateLiteral(inferred,left,right){let evaluated=EvaluateTemplateLiteral(left);return ExtendsLeft(inferred,evaluated,right)}function Inferrable(name,type){return memory_exports.Create({"~kind":"Inferrable"},{name,type},{})}function IsInferable(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"~kind")&&guard_exports.HasPropertyKey(value,"name")&&guard_exports.HasPropertyKey(value,"type")&&guard_exports.IsEqual(value["~kind"],"Inferrable")&&guard_exports.IsString(value.name)&&guard_exports.IsObject(value.type)}function TryRestInferable(type){return IsRest(type)?IsInfer(type.items)?IsArray3(type.items.extends)?Inferrable(type.items.name,type.items.extends.items):IsUnknown(type.items.extends)?Inferrable(type.items.name,type.items.extends):void 0:Unreachable():void 0}function TryInferable(type){return IsInfer(type)?Inferrable(type.name,type.extends):void 0}function TryInferResults(rest,right,result=[]){return guard_exports.ShiftLeft(rest,(head,tail)=>Match3(ExtendsLeft({},head,right),()=>TryInferResults(tail,right,[...result,head]),()=>{}),()=>result)}function InferTupleResult(inferred,name,left,right){let results=TryInferResults(left,right);return guard_exports.IsArray(results)?ExtendsTrue(memory_exports.Assign(inferred,{[name]:Tuple(results)})):ExtendsFalse()}function InferUnionResult(inferred,name,left,right){let results=TryInferResults(left,right);return guard_exports.IsArray(results)?ExtendsTrue(memory_exports.Assign(inferred,{[name]:Union(results)})):ExtendsFalse()}function Reverse(types){return[...types].reverse()}function ApplyReverse(types,reversed){return reversed?Reverse(types):types}function Reversed(types){let first=types.length>0?types[0]:void 0,inferrable=IsSchema(first)?TryRestInferable(first):void 0;return IsSchema(inferrable)}function ElementsCompare(inferred,reversed,left,leftRest,right,rightRest){return Match3(ExtendsLeft(inferred,left,right),checkInferred=>Elements(checkInferred,reversed,leftRest,rightRest),()=>ExtendsFalse())}function ElementsLeft(inferred,reversed,leftRest,right,rightRest){let inferable=TryRestInferable(right);return IsInferable(inferable)?InferTupleResult(inferred,inferable.name,ApplyReverse(leftRest,reversed),inferable.type):guard_exports.ShiftLeft(leftRest,(head,tail)=>ElementsCompare(inferred,reversed,head,tail,right,rightRest),()=>ExtendsFalse())}function ElementsRight(inferred,reversed,leftRest,rightRest){return guard_exports.ShiftLeft(rightRest,(head,tail)=>ElementsLeft(inferred,reversed,leftRest,head,tail),()=>guard_exports.IsEqual(leftRest.length,0)?ExtendsTrue(inferred):ExtendsFalse())}function Elements(inferred,reversed,leftRest,rightRest){return ElementsRight(inferred,reversed,leftRest,rightRest)}function ExtendsTupleToTuple(inferred,left,right){let instantiatedRight=InstantiateElements(inferred,State([],[]),right),reversed=Reversed(instantiatedRight);return Elements(inferred,reversed,ApplyReverse(left,reversed),ApplyReverse(instantiatedRight,reversed))}function ExtendsTupleToArray(inferred,left,right){let inferrable=TryInferable(right);return IsInferable(inferrable)?InferUnionResult(inferred,inferrable.name,left,inferrable.type):guard_exports.ShiftLeft(left,(head,tail)=>Match3(ExtendsLeft(inferred,head,right),inferred2=>ExtendsTupleToArray(inferred2,tail,right),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsTuple(inferred,left,right){let instantiatedLeft=InstantiateElements(inferred,State([],[]),left);return IsTuple(right)?ExtendsTupleToTuple(inferred,instantiatedLeft,right.items):IsArray3(right)?ExtendsTupleToArray(inferred,instantiatedLeft,right.items):ExtendsRight(inferred,Tuple(instantiatedLeft),right)}function ExtendsUndefined(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):IsUndefined3(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsUnionSome(inferred,type,unionTypes){return guard_exports.ShiftLeft(unionTypes,(head,tail)=>Match3(ExtendsLeft(inferred,type,head),inferred2=>ExtendsTrue(inferred2),()=>ExtendsUnionSome(inferred,type,tail)),()=>ExtendsFalse())}function ExtendsUnionLeft(inferred,left,right){return guard_exports.ShiftLeft(left,(head,tail)=>Match3(ExtendsUnionSome(inferred,head,right),inferred2=>ExtendsUnionLeft(inferred2,tail,right),()=>ExtendsFalse()),()=>ExtendsTrue(inferred))}function ExtendsUnion2(inferred,left,right){let inferrable=TryInferable(right);return IsInferable(inferrable)?InferUnionResult(inferred,inferrable.name,left,inferrable.type):IsUnion(right)?ExtendsUnionLeft(inferred,left,right.anyOf):ExtendsUnionLeft(inferred,left,[right])}function ExtendsUnknown(inferred,left,right){return IsInfer(right)?ExtendsRight(inferred,left,right):IsAny(right)?ExtendsTrue(inferred):IsUnknown(right)?ExtendsTrue(inferred):ExtendsFalse()}function ExtendsVoid(inferred,left,right){return IsVoid(right)?ExtendsTrue(inferred):ExtendsRight(inferred,left,right)}function ExtendsLeft(inferred,left,right){return IsAny(left)?ExtendsAny(inferred,left,right):IsArray3(left)?ExtendsArray(inferred,left,left.items,right):IsBigInt3(left)?ExtendsBigInt(inferred,left,right):IsBoolean4(left)?ExtendsBoolean(inferred,left,right):IsConstructor3(left)?ExtendsConstructor(inferred,left.parameters,left.instanceType,right):IsDependent(left)?ExtendsDependent(inferred,left.if,left.then,left.else,right):IsEnum(left)?ExtendsEnum(inferred,left.enum,right):IsFunction3(left)?ExtendsFunction(inferred,left.parameters,left.returnType,right):IsInteger3(left)?ExtendsInteger(inferred,left,right):IsIntersect(left)?ExtendsIntersect(inferred,left.allOf,right):IsLiteral(left)?ExtendsLiteral(inferred,left,right):IsNever(left)?ExtendsNever(inferred,left,right):IsNull3(left)?ExtendsNull(inferred,left,right):IsNumber4(left)?ExtendsNumber(inferred,left,right):IsObject3(left)?ExtendsObject(inferred,left.properties,right):IsRecord(left)?ExtendsRecord(inferred,RecordPattern(left),RecordValue(left),right):IsString4(left)?ExtendsString(inferred,left,right):IsSymbol3(left)?ExtendsSymbol(inferred,left,right):IsTemplateLiteral(left)?ExtendsTemplateLiteral(inferred,left.pattern,right):IsTuple(left)?ExtendsTuple(inferred,left.items,right):IsUndefined3(left)?ExtendsUndefined(inferred,left,right):IsUnion(left)?ExtendsUnion2(inferred,left.anyOf,right):IsUnknown(left)?ExtendsUnknown(inferred,left,right):IsVoid(left)?ExtendsVoid(inferred,left,right):ExtendsFalse()}function InterfaceOperation(heritage,properties){return EvaluateIntersect([...heritage,_Object_(properties)])}function InterfaceAction(heritage,properties,options){return CanInstantiate(heritage)?memory_exports.Update(InterfaceOperation(heritage,properties),{},options):InterfaceDeferred(heritage,properties,options)}function InterfaceInstantiate(context,state2,heritage,properties,options){let instantiatedHeritage=InstantiateTypes(context,state2,heritage),instantiatedProperties=InstantiateProperties(context,state2,properties);return InterfaceAction(instantiatedHeritage,instantiatedProperties,options)}function InterfaceDeferred(heritage,properties,options={}){return Deferred("Interface",[heritage,properties],options)}function IsInterfaceDeferred(value){return IsSchema(value)&&guard_exports.HasPropertyKey(value,"action")&&guard_exports.IsEqual(value.action,"Interface")}function Interface(heritage,properties,options={}){return InterfaceAction(heritage,properties,options)}function FromRef(stack,context,ref){return stack.includes(ref)?!0:FromType3([...stack,ref],context,context[ref])}function FromProperties(stack,context,properties){let types=PropertyValues(properties);return FromTypes2(stack,context,types)}function FromTypes2(stack,context,types){return guard_exports.ShiftLeft(types,(left,right)=>FromType3(stack,context,left)?!0:FromTypes2(stack,context,right),()=>!1)}function FromType3(stack,context,type){return IsRef(type)?FromRef(stack,context,type.$ref):IsArray3(type)?FromType3(stack,context,type.items):IsConstructor3(type)?FromTypes2(stack,context,[...type.parameters,type.instanceType]):IsFunction3(type)?FromTypes2(stack,context,[...type.parameters,type.returnType]):IsInterfaceDeferred(type)?FromProperties(stack,context,type.parameters[1]):IsIntersect(type)?FromTypes2(stack,context,type.allOf):IsObject3(type)?FromProperties(stack,context,type.properties):IsUnion(type)?FromTypes2(stack,context,type.anyOf):IsTuple(type)?FromTypes2(stack,context,type.items):IsRecord(type)?FromType3(stack,context,RecordValue(type)):!1}function CyclicCheck(stack,context,type){return FromType3(stack,context,type)}function ResolveCandidateKeys(context,keys){return keys.reduce((result,left)=>CyclicCheck([left],context,context[left])?[...result,left]:result,[])}function CyclicCandidates(context){let keys=PropertyKeys(context);return ResolveCandidateKeys(context,keys)}function FromRef2(context,ref,result){return result.includes(ref)?result:ref in context?FromType4(context,context[ref],[...result,ref]):Unreachable()}function FromProperties2(context,properties,result){let types=PropertyValues(properties);return FromTypes3(context,types,result)}function FromTypes3(context,types,result){return types.reduce((result2,left)=>FromType4(context,left,result2),result)}function FromType4(context,type,result){return IsRef(type)?FromRef2(context,type.$ref,result):IsArray3(type)?FromType4(context,type.items,result):IsConstructor3(type)?FromTypes3(context,[...type.parameters,type.instanceType],result):IsFunction3(type)?FromTypes3(context,[...type.parameters,type.returnType],result):IsInterfaceDeferred(type)?FromProperties2(context,type.parameters[1],result):IsIntersect(type)?FromTypes3(context,type.allOf,result):IsObject3(type)?FromProperties2(context,type.properties,result):IsUnion(type)?FromTypes3(context,type.anyOf,result):IsTuple(type)?FromTypes3(context,type.items,result):IsRecord(type)?FromType4(context,RecordValue(type),result):result}function CyclicDependencies(context,key,type){return FromType4(context,type,[key])}function FromRef3(_ref){return Any()}function FromProperties3(properties){return guard_exports.Keys(properties).reduce((result,key)=>({...result,[key]:FromType5(properties[key])}),{})}function FromTypes4(types){return types.reduce((result,left)=>[...result,FromType5(left)],[])}function FromType5(type){return IsRef(type)?FromRef3(type.$ref):IsArray3(type)?_Array_(FromType5(type.items),ArrayOptions(type)):IsConstructor3(type)?Constructor(FromTypes4(type.parameters),FromType5(type.instanceType)):IsFunction3(type)?_Function_(FromTypes4(type.parameters),FromType5(type.returnType)):IsIntersect(type)?Intersect(FromTypes4(type.allOf)):IsObject3(type)?_Object_(FromProperties3(type.properties)):IsRecord(type)?Record(RecordKey(type),FromType5(RecordValue(type))):IsUnion(type)?Union(FromTypes4(type.anyOf)):IsTuple(type)?Tuple(FromTypes4(type.items)):type}function CyclicAnyFromParameters(defs,ref){return ref in defs?FromType5(defs[ref]):Unknown()}function CyclicExtends(type){return CyclicAnyFromParameters(type.$defs,type.$ref)}function CyclicInterface(context,heritage,properties){let instantiatedHeritage=InstantiateTypes(context,State([],[]),heritage),instantiatedProperties=InstantiateProperties({},State([],[]),properties);return EvaluateIntersect([...instantiatedHeritage,_Object_(instantiatedProperties)])}function CyclicDefinitions(context,dependencies){return guard_exports.Keys(context).filter(key=>dependencies.includes(key)).reduce((result,key)=>{let type=context[key],instantiatedType=IsInterfaceDeferred(type)?CyclicInterface(context,type.parameters[0],type.parameters[1]):type;return{...result,[key]:instantiatedType}},{})}function InstantiateCyclic(context,ref,type){let dependencies=CyclicDependencies(context,ref,type),definitions=CyclicDefinitions(context,dependencies);return Cyclic(definitions,ref)}function Resolve(defs,ref){return ref in defs?IsRef(defs[ref])?Resolve(defs,defs[ref].$ref):defs[ref]:Never()}function CyclicTarget(defs,ref){return Resolve(defs,ref)}function Canonical(type){return IsCyclic(type)?CyclicExtends(type):IsUnsafe(type)?Unknown():type}function Extends(inferred,left,right){let canonicalLeft=Canonical(left),canonicalRight=Canonical(right);return ExtendsLeft(inferred,canonicalLeft,canonicalRight)}var CompareResultEqual=0,CompareResultDisjoint=1,CompareResultLeftInside=2,CompareResultRightInside=3;function Compare(left,right){let extendsCheck=[Extends({},left,right),Extends({},right,left)];return result_exports.IsExtendsTrueLike(extendsCheck[0])&&result_exports.IsExtendsTrueLike(extendsCheck[1])?CompareResultEqual:result_exports.IsExtendsTrueLike(extendsCheck[0])&&result_exports.IsExtendsFalse(extendsCheck[1])?CompareResultLeftInside:result_exports.IsExtendsFalse(extendsCheck[0])&&result_exports.IsExtendsTrueLike(extendsCheck[1])?CompareResultRightInside:CompareResultDisjoint}function BroadenFilter(type,types,result=[],all=types){return guard_exports.ShiftLeft(types,(left,right)=>{let compare=Compare(type,left);return guard_exports.IsEqual(compare,CompareResultLeftInside)||guard_exports.IsEqual(compare,CompareResultEqual)?all:guard_exports.IsEqual(compare,CompareResultDisjoint)?BroadenFilter(type,right,[...result,left],all):BroadenFilter(type,right,result,all)},()=>[...result,type])}function BroadenType(type,types,result){let evaluated=EvaluateType(type);return IsAny(evaluated)?[evaluated]:IsUnknown(evaluated)?[evaluated]:IsNever(evaluated)?BroadenTypes(types,result):IsObject3(evaluated)?BroadenTypes(types,[...result,evaluated]):BroadenTypes(types,BroadenFilter(evaluated,result))}function BroadenTypes(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>BroadenType(left,right,result),()=>result)}function Broaden(types){let broadened=BroadenTypes(types);return Flatten(broadened)}function EvaluateAction(type,options){return memory_exports.Update(EvaluateType(type),{},options)}function EvaluateInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return EvaluateAction(instantiatedType,options)}function CollectDistributionNames(expression,result=[]){return IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Conditional")?IsRef(expression.parameters[0])?CollectDistributionNames(expression.parameters[2],CollectDistributionNames(expression.parameters[3],[...result,expression.parameters[0].$ref])):CollectDistributionNames(expression.parameters[2],CollectDistributionNames(expression.parameters[3],result)):IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Mapped")&&IsDeferred(expression.parameters[1])&&guard_exports.IsEqual(expression.parameters[1].action,"KeyOf")&&IsRef(expression.parameters[1].parameters[0])?[...result,expression.parameters[1].parameters[0].$ref]:result}function BuildDistributionArray(parameters,names2){return parameters.reduce((result,left)=>[...result,names2.includes(left.name)],[])}function ZipDistributionArray(arguments_,distributionArray,result=[]){return guard_exports.ShiftLeft(arguments_,(argumentLeft,argumentRight)=>guard_exports.ShiftLeft(distributionArray,(booleanLeft,booleanRight)=>ZipDistributionArray(argumentRight,booleanRight,[...result,[booleanLeft,argumentLeft]]),()=>result),()=>result)}function CanonicalArgument(type){return IsTemplateLiteral(type)?EvaluateTemplateLiteral(type.pattern):IsEnum(type)?EvaluateEnum(type.enum):type}function Expand(type){let canonicalArgument=CanonicalArgument(type);return IsUnion(canonicalArgument)?[...canonicalArgument.anyOf]:[canonicalArgument]}function Append(current,type){return current.reduce((result,left)=>[...result,[...left,type]],[])}function Cross(current,variants){return variants.reduce((result,left)=>[...result,...Append(current,left)],[])}function Distribute2(zipped){return zipped.reduce((result,left)=>guard_exports.IsEqual(left[0],!0)?Cross(result,Expand(left[1])):Cross(result,[left[1]]),[[]])}function DistributeArguments(parameters,arguments_,expression){let distributionNames=CollectDistributionNames(expression),distributionArray=BuildDistributionArray(parameters,distributionNames),zippedArguments=ZipDistributionArray(arguments_,distributionArray);return IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Conditional")||IsDeferred(expression)&&guard_exports.IsEqual(expression.action,"Mapped")?Distribute2(zippedArguments):[arguments_]}function FromNotResolvable(){return["(not-resolvable)",Never()]}function FromNotGeneric(){return["(not-generic)",Never()]}function FromGeneric(name,parameters,expression){return[name,Generic(parameters,expression)]}function FromRef4(context,ref,arguments_){return ref in context?FromType6(context,ref,context[ref],arguments_):FromNotResolvable()}function FromType6(context,name,target,arguments_){return IsGeneric(target)?FromGeneric(name,target.parameters,target.expression):IsRef(target)?FromRef4(context,target.$ref,arguments_):FromNotGeneric()}function ResolveTarget(context,target,arguments_){return FromType6(context,"(anonymous)",target,arguments_)}function AssertArgumentExtends(name,type,extends_){if(IsInfer(type)||IsCall(type)||result_exports.IsExtendsTrueLike(Extends({},type,extends_)))return;let cause={parameter:name,expect:extends_,actual:type};throw new Error(`Argument for parameter ${name} does not satisfy constraint`,{cause})}function BindArgument(context,state2,name,extends_,type){let instantiatedArgument=InstantiateType(context,state2,type);return AssertArgumentExtends(name,instantiatedArgument,extends_),memory_exports.Assign(context,{[name]:instantiatedArgument})}function BindArguments(context,state2,parameterLeft,parameterRight,arguments_){let instantiatedExtends=InstantiateType(context,state2,parameterLeft.extends),instantiatedEquals=InstantiateType(context,state2,parameterLeft.equals);return guard_exports.ShiftLeft(arguments_,(left,right)=>BindParameters(BindArgument(context,state2,parameterLeft.name,instantiatedExtends,left),state2,parameterRight,right),()=>BindParameters(BindArgument(context,state2,parameterLeft.name,instantiatedExtends,instantiatedEquals),state2,parameterRight,[]))}function BindParameters(context,state2,parameters,arguments_){return guard_exports.ShiftLeft(parameters,(left,right)=>BindArguments(context,state2,left,right,arguments_),()=>context)}function ResolveArgumentsContext(context,state2,parameters,arguments_){return BindParameters(context,state2,parameters,arguments_)}var instantiationDepth=0,instantiationCount=0;function InstantiationAssert(){if(!guard_exports.IsLessThan(instantiationCount,settings_exports.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function InstantiationIncrement(){InstantiationAssert(),instantiationCount++,instantiationDepth++}function InstantiationDecrement(){instantiationDepth--,guard_exports.IsEqual(instantiationDepth,0)&&(instantiationCount=0)}function Peek(state2){return guard_exports.IsGreaterThan(state2.callstack.length,0)?state2.callstack[state2.callstack.length-1]:""}function IsTailCall(state2,name){return guard_exports.IsEqual(Peek(state2),name)}function CallDispatch(context,state2,target,parameters,expression,arguments_){InstantiationIncrement();try{let argumentsContext=ResolveArgumentsContext(context,state2,parameters,arguments_),returnType=InstantiateType(argumentsContext,State([...state2.callstack,target.$ref],state2.visited),expression);return InstantiateType(argumentsContext,State([],[]),returnType)}finally{InstantiationDecrement()}}function CallDistributed(context,state2,target,parameters,expression,distributedArguments){return distributedArguments.reduce((result,arguments_)=>{let returnType=CallDispatch(context,state2,target,parameters,expression,arguments_);return[...result,returnType]},[])}function CallImmediate(context,state2,target,parameters,expression,arguments_){let distributedArguments=DistributeArguments(parameters,arguments_,expression),returnTypes=CallDistributed(context,state2,target,parameters,expression,distributedArguments);return guard_exports.IsEqual(returnTypes.length,1)?returnTypes[0]:EvaluateUnion(returnTypes)}function CallInstantiate(context,state2,target,arguments_){let instantiatedArguments=InstantiateTypes(context,state2,arguments_),resolved=ResolveTarget(context,target,arguments_),name=resolved[0],type=resolved[1];return IsGeneric(type)?IsTailCall(state2,name)?CallConstruct(Ref(name),instantiatedArguments):CallImmediate(context,state2,Ref(name),type.parameters,type.expression,instantiatedArguments):CallConstruct(target,instantiatedArguments)}function CallConstruct(target,arguments_){return memory_exports.Create({"~kind":"Call"},{type:"call",target,arguments:arguments_},{})}function Call2(target,arguments_){return CallInstantiate({},State([],[]),target,arguments_)}function IsCall(value){return IsKind(value,"Call")}function RemoveImmutableOperation(type){return memory_exports.Discard(type,["~immutable"])}function RemoveImmutableAction(type,options){return memory_exports.Update(RemoveImmutableOperation(type),{},options)}function RemoveImmutableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return RemoveImmutableAction(instantiatedType,options)}function ApplyMapping(mapping,value){return mapping(value)}function FromLiteral3(mapping,value){return guard_exports.IsString(value)?Literal(ApplyMapping(mapping,value)):Literal(value)}function FromTemplateLiteral(mapping,pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType7(mapping,evaluated)}function FromUnion2(mapping,types){let result=types.map(type=>FromType7(mapping,type));return Union(result)}function FromType7(mapping,type){return IsLiteral(type)?FromLiteral3(mapping,type.const):IsTemplateLiteral(type)?FromTemplateLiteral(mapping,type.pattern):IsUnion(type)?FromUnion2(mapping,type.anyOf):type}function CapitalizeDeferred(type,options={}){return Deferred("Capitalize",[type],options)}function Capitalize(type,options={}){return CapitalizeAction(type,options)}function LowercaseDeferred(type,options={}){return Deferred("Lowercase",[type],options)}function Lowercase(type,options={}){return LowercaseAction(type,options)}function UncapitalizeDeferred(type,options={}){return Deferred("Uncapitalize",[type],options)}function Uncapitalize(type,options={}){return UncapitalizeAction(type,options)}function UppercaseDeferred(type,options={}){return Deferred("Uppercase",[type],options)}function Uppercase(type,options={}){return UppercaseAction(type,options)}var CapitalizeMapping=input=>input[0].toUpperCase()+input.slice(1),LowercaseMapping=input=>input.toLowerCase(),UncapitalizeMapping=input=>input[0].toLowerCase()+input.slice(1),UppercaseMapping=input=>input.toUpperCase();function CapitalizeAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(CapitalizeMapping,type),{},options):CapitalizeDeferred(type,options)}function LowercaseAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(LowercaseMapping,type),{},options):LowercaseDeferred(type,options)}function UncapitalizeAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(UncapitalizeMapping,type),{},options):UncapitalizeDeferred(type,options)}function UppercaseAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType7(UppercaseMapping,type),{},options):UppercaseDeferred(type,options)}function CapitalizeInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return CapitalizeAction(instantiatedType,options)}function LowercaseInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return LowercaseAction(instantiatedType,options)}function UncapitalizeInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return UncapitalizeAction(instantiatedType,options)}function UppercaseInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return UppercaseAction(instantiatedType,options)}function ConditionalDeferred(left,right,true_,false_,options={}){return Deferred("Conditional",[left,right,true_,false_],options)}function Conditional(left,right,true_,false_,options={}){return ConditionalAction({},State([],[]),left,right,true_,false_,options)}function ConditionalOperation(context,state2,left,right,true_,false_){let extendsResult=Extends(context,left,right);return result_exports.IsExtendsUnion(extendsResult)?Union([InstantiateType(extendsResult.inferred,state2,true_),InstantiateType(context,state2,false_)]):result_exports.IsExtendsTrue(extendsResult)?InstantiateType(extendsResult.inferred,state2,true_):InstantiateType(context,state2,false_)}function ConditionalAction(context,state2,left,right,true_,false_,options){return CanInstantiate([left,right])?memory_exports.Update(ConditionalOperation(context,state2,left,right,true_,false_),{},options):ConditionalDeferred(left,right,true_,false_,options)}function ConditionalInstantiate(context,state2,left,right,true_,false_,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ConditionalAction(context,state2,instantiatedLeft,instantiatedRight,true_,false_,options)}function ConstructorParametersDeferred(type,options={}){return Deferred("ConstructorParameters",[type],options)}function ConstructorParameters(type,options={}){return ConstructorParametersAction(type,options)}function ConstructorParametersOperation(type){let parameters=IsConstructor3(type)?type.parameters:[],instantiatedParameters=InstantiateElements({},State([],[]),parameters);return Tuple(instantiatedParameters)}function ConstructorParametersAction(type,options){return CanInstantiate([type])?memory_exports.Update(ConstructorParametersOperation(type),{},options):ConstructorParametersDeferred(type,options)}function ConstructorParametersInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ConstructorParametersAction(instantiatedType,options)}function ExcludeDeferred(left,right,options={}){return Deferred("Exclude",[left,right],options)}function Exclude(left,right,options={}){return ExcludeAction(left,right,options)}function ExcludeAction(left,right,options){return CanInstantiate([left,right])?memory_exports.Update(ExcludeOperation(left,right),{},options):ExcludeDeferred(left,right,options)}function ExcludeInstantiate(context,state2,left,right,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ExcludeAction(instantiatedLeft,instantiatedRight,options)}function ExtractDeferred(left,right,options={}){return Deferred("Extract",[left,right],options)}function Extract(left,right,options={}){return ExtractAction(left,right,options)}function ExtractType(left,right){let check=Extends({},left,right);return result_exports.IsExtendsTrueLike(check)?[left]:[]}function ExtractUnion(left,right,result=[]){return guard_exports.ShiftLeft(left,(head,tail)=>ExtractUnion(tail,right,[...result,...ExtractType(head,right)]),()=>result)}function ExtractOperation(left,right){let evaluated=EvaluateType(left),canonical=IsUnion(evaluated)?evaluated.anyOf:[evaluated],remaining=ExtractUnion(canonical,right);return EvaluateUnion(remaining)}function ExtractAction(left,right,options){return CanInstantiate([left,right])?memory_exports.Update(ExtractOperation(left,right),{},options):ExtractDeferred(left,right,options)}function ExtractInstantiate(context,state2,left,right,options){let instantiatedLeft=InstantiateType(context,state2,left),instantiatedRight=InstantiateType(context,state2,right);return ExtractAction(instantiatedLeft,instantiatedRight,options)}function KeysToLiterals(keys){return keys.reduce((result,left)=>IsLiteralValue(left)?[...result,Literal(left)]:result,[])}function KeysToIndexer(keys){let literals=KeysToLiterals(keys);return Union(literals)}function IndexDeferred(type,indexer,options={}){return Deferred("Index",[type,indexer],options)}function Index(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return IndexAction(type,indexer,options)}function FromCyclic(defs,ref){let target=CyclicTarget(defs,ref);return FromType8(target)}function FromDependent(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType8(evaluated)}function CollapseIntersectProperties(left,right){let leftKeys=guard_exports.Keys(left).filter(key=>!guard_exports.HasPropertyKey(right,key)),rightKeys=guard_exports.Keys(right).filter(key=>!guard_exports.HasPropertyKey(left,key)),sharedKeys=guard_exports.Keys(left).filter(key=>guard_exports.HasPropertyKey(right,key)),leftProperties=leftKeys.reduce((result,key)=>({...result,[key]:left[key]}),{}),rightProperties=rightKeys.reduce((result,key)=>({...result,[key]:right[key]}),{}),sharedProperties=sharedKeys.reduce((result,key)=>({...result,[key]:EvaluateIntersect([left[key],right[key]])}),{}),unique=memory_exports.Assign(leftProperties,rightProperties);return memory_exports.Assign(unique,sharedProperties)}function FromIntersect(types){return types.reduce((result,left)=>CollapseIntersectProperties(result,FromType8(left)),{})}function FromTuple(types){let object=TupleToObject(Tuple(types));return FromType8(object)}function CollapseUnionProperties(left,right){return guard_exports.Keys(left).filter(key=>key in right).reduce((result2,key)=>({...result2,[key]:EvaluateUnion([left[key],right[key]])}),{})}function ReduceVariants(types,result){return guard_exports.ShiftLeft(types,(left,right)=>ReduceVariants(right,CollapseUnionProperties(result,FromType8(left))),()=>result)}function FromUnion3(types){return guard_exports.ShiftLeft(types,(left,right)=>ReduceVariants(right,FromType8(left)),()=>Unreachable())}function FromType8(type){return IsCyclic(type)?FromCyclic(type.$defs,type.$ref):IsDependent(type)?FromDependent(type.if,type.then,type.else):IsIntersect(type)?FromIntersect(type.allOf):IsUnion(type)?FromUnion3(type.anyOf):IsTuple(type)?FromTuple(type.items):IsObject3(type)?type.properties:{}}function CollapseToObject(type){let properties=FromType8(type);return _Object_(properties)}var integerKeyPattern=new RegExp("^(?:0|[1-9][0-9]*)$");function ConvertToIntegerKey(value){let normal=`${value}`;return integerKeyPattern.test(normal)?parseInt(normal):value}function NormalizeLiteral(value){return Literal(ConvertToIntegerKey(value))}function NormalizeIndexerTypes(types){return types.map(type=>NormalizeIndexer(type))}function NormalizeIndexer(type){return IsIntersect(type)?Intersect(NormalizeIndexerTypes(type.allOf)):IsUnion(type)?Union(NormalizeIndexerTypes(type.anyOf)):IsLiteral(type)?NormalizeLiteral(type.const):type}function FromArray3(type,indexer){let normalizedIndexer=NormalizeIndexer(indexer),check=Extends({},normalizedIndexer,Number2());return result_exports.IsExtendsTrueLike(check)?type:IsLiteral(indexer)&&guard_exports.IsEqual(indexer.const,"length")?Number2():Never()}function FromCyclic2(defs,ref){let target=CyclicTarget(defs,ref);return FromType9(target)}function FromDependent2(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType9(evaluated)}function FromEnum(values){let evaluated=EvaluateEnum(values);return FromType9(evaluated)}function FromIntersect2(types){let evaluated=EvaluateIntersect(types);return FromType9(evaluated)}function FromLiteral4(value){return[`${value}`]}function FromTemplateLiteral2(pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType9(evaluated)}function FromUnion4(types){return types.reduce((result,left)=>[...result,...FromType9(left)],[])}function FromType9(type){return IsCyclic(type)?FromCyclic2(type.$defs,type.$ref):IsDependent(type)?FromDependent2(type.if,type.then,type.else):IsEnum(type)?FromEnum(type.enum):IsIntersect(type)?FromIntersect2(type.allOf):IsLiteral(type)?FromLiteral4(type.const):IsTemplateLiteral(type)?FromTemplateLiteral2(type.pattern):IsUnion(type)?FromUnion4(type.anyOf):[]}function ToIndexableKeys(type){return FromType9(type)}function FromTypes5(properties,types){return types.map(type=>FromType10(properties,type))}function FromType10(properties,type){return IsArray3(type)?_Array_(FromType10(properties,type.items)):IsConstructor3(type)?Constructor(FromTypes5(properties,type.parameters),FromType10(properties,type.instanceType)):IsFunction3(type)?_Function_(FromTypes5(properties,type.parameters),FromType10(properties,type.returnType)):IsTuple(type)?Tuple(FromTypes5(properties,type.items)):IsUnion(type)?Union(FromTypes5(properties,type.anyOf)):IsIntersect(type)?Intersect(FromTypes5(properties,type.allOf)):IsThis(type)?_Object_(properties):type}function ExpandThis(properties,type){return FromType10(properties,type)}function IndexProperty(properties,key){let selectedType=key in properties?properties[key]:Never();return ExpandThis(properties,selectedType)}function IndexProperties(properties,keys){return keys.reduce((result,left)=>[...result,IndexProperty(properties,left)],[])}function FromIndexer(properties,indexer){let keys=ToIndexableKeys(indexer),variants=IndexProperties(properties,keys);return EvaluateUnion(variants)}var NumericKeyPattern=new RegExp(IntegerKey);function NumericKeys(keys){return keys.filter(key=>NumericKeyPattern.test(key))}function FromIndexerNumber(properties){let keys=PropertyKeys(properties),numericKeys=NumericKeys(keys),variants=IndexProperties(properties,numericKeys);return EvaluateUnion(variants)}function FromObject5(properties,indexer){return IsNumber4(indexer)?FromIndexerNumber(properties):FromIndexer(properties,indexer)}function ConvertLiteral(value){return Literal(ConvertToIntegerKey(value))}function ArrayIndexerTypes(types){return types.map(type=>FormatArrayIndexer(type))}function FormatArrayIndexer(type){return IsIntersect(type)?Intersect(ArrayIndexerTypes(type.allOf)):IsUnion(type)?Union(ArrayIndexerTypes(type.anyOf)):IsLiteral(type)?ConvertLiteral(type.const):type}function IndexElementsWithIndexer(types,indexer){return types.reduceRight((result,right,index3)=>{let check=Extends({},Literal(index3),indexer);return result_exports.IsExtendsTrueLike(check)?[right,...result]:result},[])}function FromTupleWithIndexer(types,indexer){let formattedArrayIndexer=FormatArrayIndexer(indexer),elements=IndexElementsWithIndexer(types,formattedArrayIndexer);return EvaluateUnionFast(elements)}function FromTupleWithoutIndexer(types){return EvaluateUnionFast(types)}function FromTuple2(types,indexer){return IsLiteral(indexer)&&guard_exports.IsEqual(indexer.const,"length")?Literal(types.length):IsNumber4(indexer)||IsInteger3(indexer)?FromTupleWithoutIndexer(types):FromTupleWithIndexer(types,indexer)}function FromType11(type,indexer){return IsArray3(type)?FromArray3(type.items,indexer):IsObject3(type)?FromObject5(type.properties,indexer):IsTuple(type)?FromTuple2(type.items,indexer):Never()}function NormalizeType(type){return IsCyclic(type)||IsDependent(type)||IsIntersect(type)||IsUnion(type)?CollapseToObject(type):type}function IndexAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType11(NormalizeType(type),indexer),{},options):IndexDeferred(type,indexer,options)}function IndexInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return IndexAction(instantiatedType,instantiatedIndexer,options)}function InstanceTypeDeferred(type,options={}){return Deferred("InstanceType",[type],options)}function InstanceType(type,options={}){return InstanceTypeAction(type,options)}function InstanceTypeOperation(type){return IsConstructor3(type)?type.instanceType:Never()}function InstanceTypeAction(type,options){return CanInstantiate([type])?memory_exports.Update(InstanceTypeOperation(type),{},options):InstanceTypeDeferred(type,options)}function InstanceTypeInstantiate(context,state2,type,options={}){let instantiatedType=InstantiateType(context,state2,type);return InstanceTypeAction(instantiatedType,options)}function KeyOfDeferred(type,options={}){return Deferred("KeyOf",[type],options)}function KeyOf2(type,options={}){return KeyOfAction(type,options)}function FromAny(){return Union([Number2(),String2(),Symbol2()])}function FromArray4(_type){return Number2()}function FromPropertyKeys(keys){return keys.reduce((result2,left)=>IsLiteralValue(left)?[...result2,Literal(ConvertToIntegerKey(left))]:Unreachable(),[])}function FromObject6(properties){let propertyKeys=guard_exports.Keys(properties),variants=FromPropertyKeys(propertyKeys);return EvaluateUnionFast(variants)}function FromRecord2(type){return RecordKey(type)}function FromTuple3(types){let result=types.map((_,index3)=>Literal(index3));return EvaluateUnionFast(result)}function FromType12(type){return IsAny(type)?FromAny():IsArray3(type)?FromArray4(type.items):IsObject3(type)?FromObject6(type.properties):IsRecord(type)?FromRecord2(type):IsTuple(type)?FromTuple3(type.items):Never()}function NormalizeType2(type){return IsCyclic(type)||IsDependent(type)||IsIntersect(type)||IsUnion(type)?CollapseToObject(type):type}function KeyOfAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType12(NormalizeType2(type)),{},options):KeyOfDeferred(type,options)}function KeyOfInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return KeyOfAction(instantiatedType,options)}function MappedDeferred(identifier,type,as,property,options={}){return Deferred("Mapped",[identifier,type,as,property],options)}function Mapped(identifier,type,as,property,options={}){return MappedAction({},State([],[]),identifier,type,as,property,options)}function FromTemplateLiteral3(pattern){let evaluated=EvaluateTemplateLiteral(pattern);return FromType13(evaluated)}function FromUnion5(types){return types.reduce((result,left)=>[...result,...FromType13(left)],[])}function FromEnum2(values){let evaluated=EvaluateEnum(values);return FromType13(evaluated)}function FromLiteral5(value){return guard_exports.IsNumber(value)?[Literal(`${value}`)]:[Literal(value)]}function FromType13(type){return IsEnum(type)?FromEnum2(type.enum):IsLiteral(type)?FromLiteral5(type.const):IsTemplateLiteral(type)?FromTemplateLiteral3(type.pattern):IsUnion(type)?FromUnion5(type.anyOf):[type]}function MappedVariants(type){return FromType13(type)}function CanonicalAs(instantiatedAs){return IsTemplateLiteral(instantiatedAs)?EvaluateTemplateLiteral(instantiatedAs.pattern):instantiatedAs}function MappedVariant(context,state2,identifier,variant,as,property){let variantContext=memory_exports.Assign(context,{[identifier.name]:variant}),instantiatedAs=InstantiateType(variantContext,state2,as),canonicalAs=CanonicalAs(instantiatedAs),instantiatedProperty=InstantiateType(variantContext,state2,property);return IsLiteralNumber(canonicalAs)||IsLiteralString(canonicalAs)?{[canonicalAs.const]:instantiatedProperty}:{}}function MappedProperties(context,state2,identifier,variants,as,property){return variants.reduce((result,left)=>[...result,MappedVariant(context,state2,identifier,left,as,property)],[])}function MappedObjects(properties){return properties.reduce((result,left)=>[...result,_Object_(left)],[])}function MappedOperation(context,state2,identifier,type,as,property){let variants=MappedVariants(type),mappedProperties=MappedProperties(context,state2,identifier,variants,as,property),mappedObjects=MappedObjects(mappedProperties);return EvaluateIntersect(mappedObjects)}function MappedAction(context,state2,identifier,type,as,property,options){return CanInstantiate([type])?memory_exports.Update(MappedOperation(context,state2,identifier,type,as,property),{},options):MappedDeferred(identifier,type,as,property,options)}function MappedInstantiate(context,state2,identifier,type,as,property,options){let instantiatedType=InstantiateType(context,state2,type);return MappedAction(context,state2,identifier,instantiatedType,as,property,options)}function InstantiateCyclics(context,declarations,cyclicKeys){let declarationContext=memory_exports.Assign(context,declarations);return guard_exports.Keys(declarations).filter(key=>cyclicKeys.includes(key)).reduce((result,key)=>({...result,[key]:InstantiateCyclic(declarationContext,key,declarations[key])}),{})}function InstantiateNonCyclics(context,declarations,cyclicKeys){let declarationContext=memory_exports.Assign(context,declarations);return guard_exports.Keys(declarations).filter(key=>!cyclicKeys.includes(key)).reduce((result,key)=>({...result,[key]:InstantiateType(declarationContext,State([],[]),declarations[key])}),{})}function InstantiateModule(context,declarations,options){let cyclicCandidates=CyclicCandidates(declarations),instantiatedCyclics=InstantiateCyclics(context,declarations,cyclicCandidates),instantiatedNonCyclics=InstantiateNonCyclics(context,declarations,cyclicCandidates),instantiatedModule={...instantiatedCyclics,...instantiatedNonCyclics};return memory_exports.Update(instantiatedModule,{},options)}function ModuleInstantiate(context,_state,declarations,options){return InstantiateModule(context,declarations,options)}function NonNullableDeferred(type,options={}){return Deferred("NonNullable",[type],options)}function NonNullable(type,options={}){return NonNullableAction(type,options)}function NonNullableOperation(type){let excluded=Union([Null(),Undefined()]);return ExcludeAction(type,excluded,{})}function NonNullableAction(type,options){return CanInstantiate([type])?memory_exports.Update(NonNullableOperation(type),{},options):NonNullableDeferred(type,options)}function NonNullableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return NonNullableAction(instantiatedType,options)}function OmitDeferred(type,indexer,options={}){return Deferred("Omit",[type,indexer],options)}function Omit(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return OmitAction(type,indexer,options)}function ToIndexable(type){let collapsed=CollapseToObject(type);return IsObject3(collapsed)?collapsed.properties:Unreachable()}function FromKeys(properties,keys){return guard_exports.Keys(properties).reduce((result2,key)=>keys.includes(key)?result2:{...result2,[key]:properties[key]},{})}function FromType14(type,indexer){let indexable=ToIndexable(type),indexableKeys=ToIndexableKeys(indexer),omitted=FromKeys(indexable,indexableKeys);return _Object_(omitted)}function OmitAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType14(type,indexer),{},options):OmitDeferred(type,indexer,options)}function OmitInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return OmitAction(instantiatedType,instantiatedIndexer,options)}function ParametersDeferred(type,options={}){return Deferred("Parameters",[type],options)}function Parameters(type,options={}){return ParametersAction(type,options)}function ParametersOperation(type){let parameters=IsFunction3(type)?type.parameters:[],instantiatedParameters=InstantiateElements({},State([],[]),parameters);return Tuple(instantiatedParameters)}function ParametersAction(type,options){return CanInstantiate([type])?memory_exports.Update(ParametersOperation(type),{},options):ParametersDeferred(type,options)}function ParametersInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ParametersAction(instantiatedType,options)}function PartialDeferred(type,options={}){return Deferred("Partial",[type],options)}function Partial(type,options={}){return PartialAction(type,options)}function FromCyclic3(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType15(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent3(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType15(evaluated)}function FromIntersect3(types){let evaluated=EvaluateIntersect(types);return FromType15(evaluated)}function FromUnion6(types){let result=types.map(type=>FromType15(type));return Union(result)}function FromObject7(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:AddOptional(properties[left])}),{});return _Object_(mapped)}function FromType15(type){return IsCyclic(type)?FromCyclic3(type.$defs,type.$ref):IsDependent(type)?FromDependent3(type.if,type.then,type.else):IsIntersect(type)?FromIntersect3(type.allOf):IsUnion(type)?FromUnion6(type.anyOf):IsObject3(type)?FromObject7(type.properties):_Object_({})}function PartialAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType15(type),{},options):PartialDeferred(type,options)}function PartialInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return PartialAction(instantiatedType,options)}function PickDeferred(type,indexer,options={}){return Deferred("Pick",[type,indexer],options)}function Pick(type,indexer_or_keys,options={}){let indexer=guard_exports.IsArray(indexer_or_keys)?KeysToIndexer(indexer_or_keys):indexer_or_keys;return PickAction(type,indexer,options)}function FromKeys2(properties,keys){return guard_exports.Keys(properties).reduce((result2,key)=>keys.includes(key)?memory_exports.Assign(result2,{[key]:properties[key]}):result2,{})}function FromType16(type,indexer){let indexable=ToIndexable(type),keys=ToIndexableKeys(indexer),applied=FromKeys2(indexable,keys);return _Object_(applied)}function PickAction(type,indexer,options){return CanInstantiate([type,indexer])?memory_exports.Update(FromType16(type,indexer),{},options):PickDeferred(type,indexer,options)}function PickInstantiate(context,state2,type,indexer,options){let instantiatedType=InstantiateType(context,state2,type),instantiatedIndexer=InstantiateType(context,state2,indexer);return PickAction(instantiatedType,instantiatedIndexer,options)}function ReadonlyObjectDeferred(type,options={}){return Deferred("ReadonlyObject",[type],options)}function ReadonlyObject(type,options={}){return ReadonlyObjectAction(type,options)}var ReadonlyType=ReadonlyObject;function FromArray5(type){return AddImmutable(_Array_(type))}function FromCyclic4(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType17(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent4(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType17(evaluated)}function FromIntersect4(types){let evaluated=EvaluateIntersect(types);return FromType17(evaluated)}function FromObject8(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:AddReadonly(properties[left])}),{});return _Object_(mapped)}function FromTuple4(types){return AddImmutable(Tuple(types))}function FromUnion7(types){let result=types.map(type=>FromType17(type));return Union(result)}function FromType17(type){return IsArray3(type)?FromArray5(type.items):IsCyclic(type)?FromCyclic4(type.$defs,type.$ref):IsDependent(type)?FromDependent4(type.if,type.then,type.else):IsIntersect(type)?FromIntersect4(type.allOf):IsObject3(type)?FromObject8(type.properties):IsTuple(type)?FromTuple4(type.items):IsUnion(type)?FromUnion7(type.anyOf):type}function ReadonlyObjectAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType17(type),{},options):ReadonlyObjectDeferred(type)}function ReadonlyObjectInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return ReadonlyObjectAction(instantiatedType,options)}function RefInstantiate(context,state2,type,ref){return state2.visited.includes(ref)?type:ref in context?InstantiateType(context,State(state2.callstack,[...state2.visited,ref]),context[ref]):type}function FromCyclic5(defs,ref){let target=CyclicTarget(defs,ref),partial=FromType18(target);return Cyclic(memory_exports.Assign(defs,{[ref]:partial}),ref)}function FromDependent5(if_,then_,else_){let evaluated=EvaluateDependent(if_,then_,else_);return FromType18(evaluated)}function FromIntersect5(types){let evaluated=EvaluateIntersect(types);return FromType18(evaluated)}function FromUnion8(types){let result=types.map(type=>FromType18(type));return Union(result)}function FromObject9(properties){let mapped=guard_exports.Keys(properties).reduce((result2,left)=>({...result2,[left]:RemoveOptional(properties[left])}),{});return _Object_(mapped)}function FromType18(type){return IsCyclic(type)?FromCyclic5(type.$defs,type.$ref):IsDependent(type)?FromDependent5(type.if,type.then,type.else):IsIntersect(type)?FromIntersect5(type.allOf):IsUnion(type)?FromUnion8(type.anyOf):IsObject3(type)?FromObject9(type.properties):_Object_({})}function RequiredDeferred(type,options={}){return Deferred("Required",[type],options)}function Required(type,options={}){return RequiredAction(type,options)}function RequiredAction(type,options){return CanInstantiate([type])?memory_exports.Update(FromType18(type),{},options):RequiredDeferred(type,options)}function RequiredInstantiate(context,state2,type,options){let instaniatedType=InstantiateType(context,state2,type);return RequiredAction(instaniatedType,options)}function ReturnTypeDeferred(type,options={}){return Deferred("ReturnType",[type],options)}function ReturnType(type,options={}){return ReturnTypeAction(type,options)}function ReturnTypeOperation(type){return IsFunction3(type)?type.returnType:Never()}function ReturnTypeAction(type,options){return CanInstantiate([type])?memory_exports.Update(ReturnTypeOperation(type),{},options):ReturnTypeDeferred(type,options)}function ReturnTypeInstantiate(context,state2,type,options={}){let instantiatedType=InstantiateType(context,state2,type);return ReturnTypeAction(instantiatedType,options)}function WithDeferred(type,options){return Deferred("With",[type,options],{})}function With2(type,options){return WithAction(type,options)}function WithAction(type,options){return CanInstantiate([type])?memory_exports.Update(type,{},options):WithDeferred(type,options)}function WithInstantiate(context,state2,type,options){let instaniatedType=InstantiateType(context,state2,type);return WithAction(instaniatedType,options)}function SpreadElement(type){return IsRest(type)?IsTuple(type.items)?RestSpread(type.items.items):IsInfer(type.items)?[type]:IsRef(type.items)?[type]:[Never()]:[type]}function RestSpread(types){return types.reduce((result2,left)=>[...result2,...SpreadElement(left)],[])}function State(callstack,visited2){return{callstack,visited:visited2}}function CanInstantiate(types){return guard_exports.ShiftLeft(types,(left,right)=>IsRef(left)?!1:CanInstantiate(right),()=>!0)}function InstantiateProperties(context,state2,properties){return guard_exports.Keys(properties).reduce((result,key)=>({...result,[key]:InstantiateType(context,state2,properties[key])}),{})}function InstantiateElements(context,state2,types){let elements=InstantiateTypes(context,state2,types);return RestSpread(elements)}function InstantiateTypes(context,state2,types){return types.map(type=>InstantiateType(context,state2,type))}function WithModifiers(type,instantiatedType){let withOptional=IsOptional(type)?AddOptionalAction(instantiatedType,{}):instantiatedType,withReadonly=IsReadonly(type)?AddReadonlyAction(withOptional,{}):withOptional;return IsImmutable(type)?AddImmutableAction(withReadonly,{}):withReadonly}function InstantiateDeferred(context,state2,action,parameters,options){return guard_exports.IsEqual(action,"AddImmutable")?AddImmutableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveImmutable")?RemoveImmutableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"AddReadonly")?AddReadonlyInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveReadonly")?RemoveReadonlyInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"AddOptional")?AddOptionalInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"RemoveOptional")?RemoveOptionalInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Capitalize")?CapitalizeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Conditional")?ConditionalInstantiate(context,state2,parameters[0],parameters[1],parameters[2],parameters[3],options):guard_exports.IsEqual(action,"ConstructorParameters")?ConstructorParametersInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Evaluate")?EvaluateInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Exclude")?ExcludeInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Extract")?ExtractInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Index")?IndexInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"InstanceType")?InstanceTypeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Interface")?InterfaceInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"KeyOf")?KeyOfInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Lowercase")?LowercaseInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Mapped")?MappedInstantiate(context,state2,parameters[0],parameters[1],parameters[2],parameters[3],options):guard_exports.IsEqual(action,"Module")?ModuleInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"NonNullable")?NonNullableInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Pick")?PickInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Parameters")?ParametersInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Partial")?PartialInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Omit")?OmitInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"ReadonlyObject")?ReadonlyObjectInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Record")?RecordInstantiate(context,state2,parameters[0],parameters[1],options):guard_exports.IsEqual(action,"Required")?RequiredInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"ReturnType")?ReturnTypeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"TemplateLiteral")?TemplateLiteralInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Uncapitalize")?UncapitalizeInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"Uppercase")?UppercaseInstantiate(context,state2,parameters[0],options):guard_exports.IsEqual(action,"With")?WithInstantiate(context,state2,parameters[0],parameters[1]):Deferred(action,parameters,options)}function InstantiateImmediate(context,state2,type){let instantiatedType=IsRef(type)?RefInstantiate(context,state2,type,type.$ref):IsArray3(type)?_Array_(InstantiateType(context,state2,type.items),ArrayOptions(type)):IsCall(type)?CallInstantiate(context,state2,type.target,type.arguments):IsConstructor3(type)?Constructor(InstantiateTypes(context,state2,type.parameters),InstantiateType(context,state2,type.instanceType),ConstructorOptions(type)):IsFunction3(type)?_Function_(InstantiateTypes(context,state2,type.parameters),InstantiateType(context,state2,type.returnType),FunctionOptions(type)):IsDependent(type)?Dependent(InstantiateType(context,state2,type.if),InstantiateType(context,state2,type.then),InstantiateType(context,state2,type.else),DependentOptions(type)):IsIntersect(type)?Intersect(InstantiateTypes(context,state2,type.allOf),IntersectOptions(type)):IsObject3(type)?_Object_(InstantiateProperties(context,state2,type.properties),ObjectOptions(type)):IsRecord(type)?RecordFromPattern(RecordPattern(type),InstantiateType(context,state2,RecordValue(type))):IsRest(type)?Rest(InstantiateType(context,state2,type.items)):IsTuple(type)?Tuple(InstantiateElements(context,state2,type.items),TupleOptions(type)):IsUnion(type)?Union(InstantiateTypes(context,state2,type.anyOf),UnionOptions(type)):type;return WithModifiers(type,instantiatedType)}function InstantiateType(context,state2,type){return IsDeferred(type)?InstantiateDeferred(context,state2,type.action,type.parameters,type.options):InstantiateImmediate(context,state2,type)}function Instantiate(context,type){return InstantiateType(context,State([],[]),type)}function AddImmutableOperation(type){return memory_exports.Update(type,{"~immutable":!0},{})}function AddImmutableAction(type,options){return memory_exports.Update(AddImmutableOperation(type),{},options)}function AddImmutableInstantiate(context,state2,type,options){let instantiatedType=InstantiateType(context,state2,type);return AddImmutableAction(instantiatedType,options)}function AddImmutableDeferred(type,options={}){return Deferred("AddImmutable",[type],options)}function AddImmutable(type,options={}){return AddImmutableAction(type,options)}function RemoveImmutableDeferred(type,options={}){return Deferred("RemoveImmutable",[type],options)}function RemoveImmutable(type,options={}){return RemoveImmutableAction(type,options)}function EvaluateDeferred(type,options={}){return Deferred("Evaluate",[type],options)}function Evaluate2(type,options={}){return EvaluateAction(type,options)}function ModuleDeferred(declarations,options={}){return Deferred("Module",[declarations],options)}function Module2(declarations,options={}){return ModuleInstantiate({},State([],[]),declarations,options)}function Comparer(left,right){let compareResult=Compare(left,right);return guard_exports.IsEqual(compareResult,CompareResultRightInside)||guard_exports.IsEqual(compareResult,CompareResultDisjoint)?1:0}function Insert(type,types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>guard_exports.IsEqual(Comparer(type,left),1)?Insert(type,right,[...result,left]):[...result,type,...types],()=>[...result,type])}function Sort(types,result=[]){return guard_exports.ShiftLeft(types,(left,right)=>Sort(right,Insert(left,result)),()=>result)}function Priority(types){return Sort(types)}function IsTemplateLiteralPattern(pattern){let types=ParsePatternIntoTypes(pattern);return!guard_exports.IsEqual(types.length,0)}function Script2(...args){let[context,input,options]=arguments_exports.Match(args,{2:(script,options2)=>guard_exports.IsString(script)?[{},script,options2]:[script,options2,{}],3:(context2,script,options2)=>[context2,script,options2],1:script=>[{},script,{}]}),result=Script(input),parsed=guard_exports.IsArray(result)&&guard_exports.IsEqual(result.length,2)?InstantiateType(context,State([],[]),result[0]):Never();return memory_exports.Update(parsed,{},options)}var typebox_exports={};__export(typebox_exports,{Any:()=>Any,Array:()=>_Array_,BigInt:()=>BigInt2,Boolean:()=>Boolean2,Call:()=>Call2,Capitalize:()=>Capitalize,Codec:()=>Codec,Conditional:()=>Conditional,Constructor:()=>Constructor,ConstructorParameters:()=>ConstructorParameters,Cyclic:()=>Cyclic,Decode:()=>Decode,DecodeBuilder:()=>DecodeBuilder,Dependent:()=>Dependent,Encode:()=>Encode,EncodeBuilder:()=>EncodeBuilder,Enum:()=>Enum,Evaluate:()=>Evaluate2,Exclude:()=>Exclude,Extends:()=>Extends,ExtendsResult:()=>result_exports,Extract:()=>Extract,Function:()=>_Function_,Generic:()=>Generic,Identifier:()=>Identifier,Immutable:()=>Immutable,Index:()=>Index,Infer:()=>Infer,InstanceType:()=>InstanceType,Instantiate:()=>Instantiate,Integer:()=>Integer,Interface:()=>Interface,Intersect:()=>Intersect,IsAny:()=>IsAny,IsArray:()=>IsArray3,IsBigInt:()=>IsBigInt3,IsBoolean:()=>IsBoolean4,IsCall:()=>IsCall,IsCodec:()=>IsCodec,IsConstructor:()=>IsConstructor3,IsCyclic:()=>IsCyclic,IsDependent:()=>IsDependent,IsEnum:()=>IsEnum,IsEnumValue:()=>IsEnumValue,IsFunction:()=>IsFunction3,IsGeneric:()=>IsGeneric,IsIdentifier:()=>IsIdentifier2,IsImmutable:()=>IsImmutable,IsInfer:()=>IsInfer,IsInteger:()=>IsInteger3,IsIntersect:()=>IsIntersect,IsKind:()=>IsKind,IsLiteral:()=>IsLiteral,IsNever:()=>IsNever,IsNull:()=>IsNull3,IsNumber:()=>IsNumber4,IsObject:()=>IsObject3,IsOptional:()=>IsOptional,IsParameter:()=>IsParameter,IsReadonly:()=>IsReadonly,IsRecord:()=>IsRecord,IsRef:()=>IsRef,IsRefine:()=>IsRefine,IsRest:()=>IsRest,IsSchema:()=>IsSchema,IsString:()=>IsString4,IsSymbol:()=>IsSymbol3,IsTemplateLiteral:()=>IsTemplateLiteral,IsThis:()=>IsThis,IsTuple:()=>IsTuple,IsUndefined:()=>IsUndefined3,IsUnion:()=>IsUnion,IsUnknown:()=>IsUnknown,IsUnsafe:()=>IsUnsafe,IsVoid:()=>IsVoid,KeyOf:()=>KeyOf2,Literal:()=>Literal,Lowercase:()=>Lowercase,Mapped:()=>Mapped,Module:()=>Module2,Never:()=>Never,NonNullable:()=>NonNullable,Null:()=>Null,Number:()=>Number2,Object:()=>_Object_,Omit:()=>Omit,Optional:()=>Optional,Parameter:()=>Parameter,Parameters:()=>Parameters,Partial:()=>Partial,Pick:()=>Pick,Readonly:()=>Readonly,ReadonlyObject:()=>ReadonlyObject,ReadonlyType:()=>ReadonlyType,Record:()=>Record,RecordKey:()=>RecordKey,RecordPattern:()=>RecordPattern,RecordValue:()=>RecordValue,Ref:()=>Ref,Refine:()=>Refine,Required:()=>Required,Rest:()=>Rest,ReturnType:()=>ReturnType,Script:()=>Script2,String:()=>String2,Symbol:()=>Symbol2,TemplateLiteral:()=>TemplateLiteral2,This:()=>This,Tuple:()=>Tuple,Uncapitalize:()=>Uncapitalize,Undefined:()=>Undefined,Union:()=>Union,Unknown:()=>Unknown,Unsafe:()=>Unsafe,Uppercase:()=>Uppercase,Void:()=>Void,With:()=>With2});var build_default=typebox_exports;var value_exports2={};__export(value_exports2,{Assert:()=>Assert,AssertError:()=>AssertError,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create2,CreateError:()=>CreateError,Decode:()=>Decode10,DecodeError:()=>DecodeError,DecodeUnsafe:()=>DecodeUnsafe,Default:()=>Default,Delete:()=>Delete2,Diff:()=>Diff,Edit:()=>Edit,Encode:()=>Encode10,EncodeError:()=>EncodeError,EncodeUnsafe:()=>EncodeUnsafe,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash2,Insert:()=>Insert2,IsOptionalUndefined:()=>IsOptionalUndefined,Parse:()=>Parse,ParseError:()=>ParseError,Parser:()=>Parser,Patch:()=>Patch,Pipeline:()=>Pipeline,Pointer:()=>pointer_exports,Repair:()=>Repair,UnionPrioritySort:()=>UnionPrioritySort,UnionScoreSelect:()=>UnionScoreSelect,Update:()=>Update2,Value:()=>value_exports,default:()=>value_default});function IsRefine2(value){return guard_exports.HasPropertyKey(value,"~refine")&&guard_exports.IsArray(value["~refine"])&&guard_exports.Every(value["~refine"],0,value2=>guard_exports.IsObject(value2)&&guard_exports.HasPropertyKey(value2,"check")&&guard_exports.HasPropertyKey(value2,"error")&&guard_exports.IsFunction(value2.check)&&guard_exports.IsFunction(value2.error))}function IsSchemaObject2(value){return guard_exports.IsObject(value)&&!guard_exports.IsArray(value)}function IsSchemaBoolean(value){return guard_exports.IsBoolean(value)}function IsSchema2(value){return IsSchemaObject2(value)||IsSchemaBoolean(value)}function IsAdditionalItems(schema){return guard_exports.HasPropertyKey(schema,"additionalItems")&&IsSchema2(schema.additionalItems)}function IsAdditionalProperties(schema){return guard_exports.HasPropertyKey(schema,"additionalProperties")&&IsSchema2(schema.additionalProperties)}function IsAllOf(schema){return guard_exports.HasPropertyKey(schema,"allOf")&&guard_exports.IsArray(schema.allOf)&&schema.allOf.every(value=>IsSchema2(value))}function IsAnchor(schema){return guard_exports.HasPropertyKey(schema,"$anchor")&&guard_exports.IsString(schema.$anchor)}function IsAnyOf(schema){return guard_exports.HasPropertyKey(schema,"anyOf")&&guard_exports.IsArray(schema.anyOf)&&schema.anyOf.every(value=>IsSchema2(value))}function IsConst(value){return guard_exports.HasPropertyKey(value,"const")}function IsContains(schema){return guard_exports.HasPropertyKey(schema,"contains")&&IsSchema2(schema.contains)}function IsDefault(schema){return guard_exports.HasPropertyKey(schema,"default")}function IsDependencies(schema){return guard_exports.HasPropertyKey(schema,"dependencies")&&guard_exports.IsObject(schema.dependencies)&&Object.values(schema.dependencies).every(value=>IsSchema2(value)||guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentRequired(schema){return guard_exports.HasPropertyKey(schema,"dependentRequired")&&guard_exports.IsObject(schema.dependentRequired)&&Object.values(schema.dependentRequired).every(value=>guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentSchemas(schema){return guard_exports.HasPropertyKey(schema,"dependentSchemas")&&guard_exports.IsObject(schema.dependentSchemas)&&Object.values(schema.dependentSchemas).every(value=>IsSchema2(value))}function IsDynamicAnchor(schema){return guard_exports.HasPropertyKey(schema,"$dynamicAnchor")&&guard_exports.IsString(schema.$dynamicAnchor)}function IsDynamicRef(schema){return guard_exports.HasPropertyKey(schema,"$dynamicRef")&&guard_exports.IsString(schema.$dynamicRef)}function IsElse(schema){return guard_exports.HasPropertyKey(schema,"else")&&IsSchema2(schema.else)}function IsEnum2(schema){return guard_exports.HasPropertyKey(schema,"enum")&&guard_exports.IsArray(schema.enum)}function IsExclusiveMaximum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMaximum")&&(guard_exports.IsNumber(schema.exclusiveMaximum)||guard_exports.IsBigInt(schema.exclusiveMaximum))}function IsExclusiveMinimum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMinimum")&&(guard_exports.IsNumber(schema.exclusiveMinimum)||guard_exports.IsBigInt(schema.exclusiveMinimum))}function IsFormat(schema){return guard_exports.HasPropertyKey(schema,"format")&&guard_exports.IsString(schema.format)}function IsId(schema){return guard_exports.HasPropertyKey(schema,"$id")&&guard_exports.IsString(schema.$id)}function IsIf(schema){return guard_exports.HasPropertyKey(schema,"if")&&IsSchema2(schema.if)}function IsItems(schema){return guard_exports.HasPropertyKey(schema,"items")&&(IsSchema2(schema.items)||guard_exports.IsArray(schema.items)&&schema.items.every(value=>IsSchema2(value)))}function IsItemsSized(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function IsMaximum(schema){return guard_exports.HasPropertyKey(schema,"maximum")&&(guard_exports.IsNumber(schema.maximum)||guard_exports.IsBigInt(schema.maximum))}function IsMaxContains(schema){return guard_exports.HasPropertyKey(schema,"maxContains")&&guard_exports.IsNumber(schema.maxContains)}function IsMaxItems(schema){return guard_exports.HasPropertyKey(schema,"maxItems")&&guard_exports.IsNumber(schema.maxItems)}function IsMaxLength4(schema){return guard_exports.HasPropertyKey(schema,"maxLength")&&guard_exports.IsNumber(schema.maxLength)}function IsMaxProperties(schema){return guard_exports.HasPropertyKey(schema,"maxProperties")&&guard_exports.IsNumber(schema.maxProperties)}function IsMinimum(schema){return guard_exports.HasPropertyKey(schema,"minimum")&&(guard_exports.IsNumber(schema.minimum)||guard_exports.IsBigInt(schema.minimum))}function IsMinContains(schema){return guard_exports.HasPropertyKey(schema,"minContains")&&guard_exports.IsNumber(schema.minContains)}function IsMinItems(schema){return guard_exports.HasPropertyKey(schema,"minItems")&&guard_exports.IsNumber(schema.minItems)}function IsMinLength4(schema){return guard_exports.HasPropertyKey(schema,"minLength")&&guard_exports.IsNumber(schema.minLength)}function IsMinProperties(schema){return guard_exports.HasPropertyKey(schema,"minProperties")&&guard_exports.IsNumber(schema.minProperties)}function IsMultipleOf2(schema){return guard_exports.HasPropertyKey(schema,"multipleOf")&&(guard_exports.IsNumber(schema.multipleOf)||guard_exports.IsBigInt(schema.multipleOf))}function IsNot(schema){return guard_exports.HasPropertyKey(schema,"not")&&IsSchema2(schema.not)}function IsOneOf(schema){return guard_exports.HasPropertyKey(schema,"oneOf")&&guard_exports.IsArray(schema.oneOf)&&schema.oneOf.every(value=>IsSchema2(value))}function IsPattern(schema){return guard_exports.HasPropertyKey(schema,"pattern")&&(guard_exports.IsString(schema.pattern)||schema.pattern instanceof RegExp)}function IsPatternProperties(schema){return guard_exports.HasPropertyKey(schema,"patternProperties")&&guard_exports.IsObject(schema.patternProperties)&&Object.values(schema.patternProperties).every(value=>IsSchema2(value))}function IsPrefixItems(schema){return guard_exports.HasPropertyKey(schema,"prefixItems")&&guard_exports.IsArray(schema.prefixItems)&&schema.prefixItems.every(schema2=>IsSchema2(schema2))}function IsProperties(schema){return guard_exports.HasPropertyKey(schema,"properties")&&guard_exports.IsObject(schema.properties)&&Object.values(schema.properties).every(value=>IsSchema2(value))}function IsPropertyNames(schema){return guard_exports.HasPropertyKey(schema,"propertyNames")&&(guard_exports.IsObject(schema.propertyNames)||IsSchema2(schema.propertyNames))}function IsRecursiveAnchor(schema){return guard_exports.HasPropertyKey(schema,"$recursiveAnchor")&&guard_exports.IsBoolean(schema.$recursiveAnchor)}function IsRecursiveAnchorTrue(schema){return IsRecursiveAnchor(schema)&&guard_exports.IsEqual(schema.$recursiveAnchor,!0)}function IsRecursiveRef(schema){return guard_exports.HasPropertyKey(schema,"$recursiveRef")&&guard_exports.IsString(schema.$recursiveRef)}function IsRef2(schema){return guard_exports.HasPropertyKey(schema,"$ref")&&guard_exports.IsString(schema.$ref)}function IsRequired(schema){return guard_exports.HasPropertyKey(schema,"required")&&guard_exports.IsArray(schema.required)&&schema.required.every(value=>guard_exports.IsString(value))}function IsThen(schema){return guard_exports.HasPropertyKey(schema,"then")&&IsSchema2(schema.then)}function IsType(schema){return guard_exports.HasPropertyKey(schema,"type")&&(guard_exports.IsString(schema.type)||guard_exports.IsArray(schema.type)&&schema.type.every(value=>guard_exports.IsString(value)))}function IsUniqueItems(schema){return guard_exports.HasPropertyKey(schema,"uniqueItems")&&guard_exports.IsBoolean(schema.uniqueItems)}function IsUnevaluatedItems(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedItems")&&IsSchema2(schema.unevaluatedItems)}function IsUnevaluatedProperties(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedProperties")&&IsSchema2(schema.unevaluatedProperties)}function HasUnevaluatedFromObject(value){return IsUnevaluatedItems(value)||IsUnevaluatedProperties(value)||guard_exports.Some(guard_exports.Keys(value),key=>HasUnevaluatedFromUnknown(value[key]))}function HasUnevaluatedFromArray(value){return guard_exports.Some(value,value2=>HasUnevaluatedFromUnknown(value2))}function HasUnevaluatedFromUnknown(value){return guard_exports.IsArray(value)?HasUnevaluatedFromArray(value):guard_exports.IsObject(value)?HasUnevaluatedFromObject(value):!1}function HasUnevaluated(context,schema){return HasUnevaluatedFromUnknown(schema)||guard_exports.Some(guard_exports.Keys(context),key=>HasUnevaluatedFromUnknown(context[key]))}var BuildContext=class{constructor(hasUnevaluated){this.hasUnevaluated=hasUnevaluated}UseUnevaluated(){return this.hasUnevaluated}Push(){return emit_exports.Call(emit_exports.Member("context","Push"),[])}Pop(){return emit_exports.Call(emit_exports.Member("context","Pop"),[])}AddIndex(index3){return emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3])}AddKey(key){return emit_exports.Call(emit_exports.Member("context","AddKey"),[key])}Merge(results){return emit_exports.Call(emit_exports.Member("context","Merge"),[results])}},CheckContext=class{constructor(){let indices=new Set,keys=new Set;this.stack=[{indices,keys}]}Push(){let indices=new Set,keys=new Set;return this.stack.push({indices,keys}),!0}Pop(){return this.stack.pop(),!0}AddIndex(index3){return this.GetIndices().add(index3),!0}AddKey(key){return this.GetKeys().add(key),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(results){for(let context of results)context.GetIndices().forEach(value=>this.GetIndices().add(value)),context.GetKeys().forEach(value=>this.GetKeys().add(value));return!0}},ErrorContext=class extends CheckContext{constructor(){super(),this.errors=[]}AtCapacity(){return this.errors.length>=settings_exports.Get().maxErrors}AddError(error2){return this.AtCapacity()||this.errors.push(error2),!1}GetErrors(){return this.errors}};var state={identifier:"External",variables:[]};function CreateVariable(value){let call=`External[${state.variables.length}]`;return state.variables.push(value),call}function ResetExternal(){state.variables=[]}function GetExternal(){return{...state}}function BuildRefine(_stack,_context,schema,value){let refinements=CreateVariable(schema["~refine"].map(refinement=>refinement));return emit_exports.Every(refinements,emit_exports.Constant(0),["refinement","_"],emit_exports.Call(emit_exports.Member("refinement","check"),[value]))}function CheckRefine(_stack,_context,schema,value){return guard_exports.Every(schema["~refine"],0,(refinement,_)=>refinement.check(value))}function ErrorRefine(_stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema["~refine"],0,(refinement,index3)=>refinement.check(value)||context.AddError({keyword:"~refine",schemaPath,instancePath,params:{index:index3,message:refinement.error(value)}}))}var index=0;function Unique(){return`var_${index++}`}function IsValid(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function BuildAdditionalItemsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length)),addIndex=context.AddIndex(index3);return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex)))}function BuildAdditionalItemsFast(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length));return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,isSchema))}function BuildAdditionalItems(stack,context,schema,value){return IsValid(schema)?context.UseUnevaluated()?BuildAdditionalItemsStandard(stack,context,schema,value):BuildAdditionalItemsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckAdditionalItems(stack,context,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>guard_exports.IsLessThan(index3,schema.items.length)||CheckSchemaPushStack(stack,context,schema.additionalItems,item)&&context.AddIndex(index3)):!0}function ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>{let nextSchemaPath=`${schemaPath}/additionalItems`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessThan(index3,schema.items.length)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalItems,item)&&context.AddIndex(index3)}):!0}function UnicodeRegExp(pattern){return new RegExp(pattern,"u")}function IsAdditionalPropertiesIgnored(context,additionalProperties){return!context.UseUnevaluated()&&(guard_exports.IsEqual(additionalProperties,!0)||guard_exports.IsObject(additionalProperties)&&guard_exports.IsEqual(guard_exports.Keys(additionalProperties).length,0))}function GetPropertyKeyAsPattern(key){return`^${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`}function GetPropertiesPattern(schema){let patterns=[];return IsPatternProperties(schema)&&patterns.push(...guard_exports.Keys(schema.patternProperties)),IsProperties(schema)&&patterns.push(...guard_exports.Keys(schema.properties).map(GetPropertyKeyAsPattern)),guard_exports.IsEqual(patterns.length,0)?"(?!)":`(${patterns.join("|")})`}function CanAdditionalPropertiesFast(_context,schema,_value){return IsRequired(schema)&&IsProperties(schema)&&!IsPatternProperties(schema)&&guard_exports.IsEqual(schema.additionalProperties,!1)&&guard_exports.IsEqual(guard_exports.Keys(schema.properties).length,schema.required.length)}function BuildAdditionalPropertiesFast(_context,schema,value){return emit_exports.IsEqual(emit_exports.Member(emit_exports.Call(emit_exports.Member("Object","getOwnPropertyNames"),[value]),"length"),emit_exports.Constant(schema.required.length))}function BuildAdditionalPropertiesStandard(stack,context,schema,value){let[key,_index]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(GetPropertiesPattern(schema))),isSchema=BuildSchemaPushStack(stack,context,schema.additionalProperties,`${value}[${key}]`),isKey=emit_exports.Call(emit_exports.Member(regexp,"test"),[key]),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(isKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(isKey,isSchema);return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],guarded)}function BuildAdditionalProperties(stack,context,schema,value){return IsAdditionalPropertiesIgnored(context,schema.additionalProperties)?emit_exports.Constant(!0):CanAdditionalPropertiesFast(context,schema,value)?BuildAdditionalPropertiesFast(context,schema,value):BuildAdditionalPropertiesStandard(stack,context,schema,value)}function CheckAdditionalProperties(stack,context,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema));return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>regexp.test(key)||CheckSchemaPushStack(stack,context,schema.additionalProperties,value[key])&&context.AddKey(key))}function ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema)),additionalProperties=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextSchemaPath=`${schemaPath}/additionalProperties`,nextInstancePath=`${instancePath}/${key}`,isAdditionalProperty=regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalProperties,value[key])&&context.AddKey(key);return isAdditionalProperty||additionalProperties.push(key),isAdditionalProperty})||context.AddError({keyword:"additionalProperties",schemaPath,instancePath,params:{additionalProperties}})}function Reducer(stack,context,schemas,value,check){let results=emit_exports.ConstDeclaration("results","[]"),context_n=schemas.map((_schema,index3)=>emit_exports.ConstDeclaration(`context_${index3}`,emit_exports.New("CheckContext",[]))),condition_n=schemas.map((schema,index3)=>emit_exports.ConstDeclaration(`condition_${index3}`,emit_exports.Call(emit_exports.ArrowFunction(["context"],BuildSchema(stack,context,schema,value)),[`context_${index3}`]))),checks=schemas.map((_schema,index3)=>emit_exports.If(`condition_${index3}`,emit_exports.Call(emit_exports.Member("results","push"),[`context_${index3}`]))),returns=emit_exports.Return(emit_exports.And(check,context.Merge("results")));return emit_exports.Call(emit_exports.ArrowFunction([],emit_exports.Statements([results,...context_n,...condition_n,...checks,returns])),[])}function BuildAllOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.allOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(schema.allOf.length)))}function BuildAllOfFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.allOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAllOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAllOfStandard(stack,context,schema,value):BuildAllOfFast(stack,context,schema,value)}function CheckAllOf(stack,context,schema,value){let results=schema.allOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results)}function ErrorAllOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.allOf.reduce((result,schema2,index3)=>{let nextSchemaPath=`${schemaPath}/allOf/${index3}`,nextContext=new ErrorContext,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAllOf=guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results);return isAllOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isAllOf}function BuildAnyOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.anyOf,value,emit_exports.IsGreaterThan(emit_exports.Member("results","length"),emit_exports.Constant(0)))}function BuildAnyOfFast(stack,context,schema,value){return emit_exports.ReduceOr(schema.anyOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAnyOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAnyOfStandard(stack,context,schema,value):BuildAnyOfFast(stack,context,schema,value)}function CheckAnyOf(stack,context,schema,value){let results=schema.anyOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results)}function ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.anyOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/anyOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAnyOf=guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results);return isAnyOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isAnyOf||context.AddError({keyword:"anyOf",schemaPath,instancePath,params:{}})}function BuildSchemaBoolean(_stack,_context,schema,_value){return schema?emit_exports.Constant(!0):emit_exports.Constant(!1)}function CheckSchemaBoolean(_stack,_context,schema,_value){return schema}function ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value){return CheckSchemaBoolean(stack,context,schema,value)||context.AddError({keyword:"boolean",schemaPath,instancePath,params:{}})}function BuildConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?emit_exports.IsEqual(value,emit_exports.Constant(schema.const)):emit_exports.IsDeepEqual(value,CreateVariable(schema.const))}function CheckConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?guard_exports.IsEqual(value,schema.const):guard_exports.IsDeepEqual(value,schema.const)}function ErrorConst(stack,context,schemaPath,instancePath,schema,value){return CheckConst(stack,context,schema,value)||context.AddError({keyword:"const",schemaPath,instancePath,params:{allowedValue:schema.const}})}function IsValid2(schema){return!(IsMinContains(schema)&&guard_exports.IsEqual(schema.minContains,0))}function BuildContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.SomeAll(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.And(isLength,isSome)}function BuildContainsFast(stack,context,schema,value){let[item]=[Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.Some(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.And(isLength,isSome)}function BuildContains(stack,context,schema,value){return IsValid2(schema)?context.UseUnevaluated()?BuildContainsStandard(stack,context,schema,value):BuildContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckContains(stack,context,schema,value){return IsValid2(schema)?!guard_exports.IsEqual(value.length,0)&&guard_exports.SomeAll(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3)):!0}function ErrorContains(stack,context,schemaPath,instancePath,schema,value){return CheckContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:1}})}function BuildDependencies(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEveryDependency=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependencies).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value),isEveryKey=schema3=>emit_exports.ReduceAnd(schema3.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,guard_exports.IsArray(schema2)?isEveryKey(schema2):isSchema)}));return emit_exports.Or(isLength,isEveryDependency)}function CheckDependencies(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(key2=>guard_exports.HasPropertyKey(value,key2)):CheckSchema(stack,context,schema2,value)));return isLength||isEvery}function ErrorDependencies(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependencies/${key}`;return!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependencies",schemaPath,instancePath,params:{property:key,dependencies:schema2}})):ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value))});return isLength||isEvery}function BuildDependentRequired(_stack,_context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentRequired).map(([key,keys])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),everyKey=emit_exports.ReduceAnd(keys.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,everyKey)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentRequired(_stack,_context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||keys.every(key2=>guard_exports.HasPropertyKey(value,key2)));return isLength||isEvery}function ErrorDependentRequired(_stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEveryEntry=guard_exports.EveryAll(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||guard_exports.EveryAll(keys,0,dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependentRequired",schemaPath,instancePath,params:{property:key,dependencies:keys}})));return isLength||isEveryEntry}function BuildDependentSchemas(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentSchemas).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value);return emit_exports.Or(notKey,isSchema)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentSchemas(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||CheckSchema(stack,context,schema2,value));return isLength||isEvery}function ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependentSchemas/${key}`;return!guard_exports.HasPropertyKey(value,key)||ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value)});return isLength||isEvery}function BuildDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorDynamicRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildEnum(_stack,_context,schema,value){return emit_exports.ReduceOr(schema.enum.map(option=>{if(guard_exports.IsValueLike(option))return emit_exports.IsEqual(value,emit_exports.Constant(option));let variable=CreateVariable(option);return emit_exports.IsDeepEqual(value,variable)}))}function CheckEnum(_stack,_context,schema,value){return guard_exports.Some(schema.enum,option=>guard_exports.IsValueLike(option)?guard_exports.IsEqual(value,option):guard_exports.IsDeepEqual(value,option))}function ErrorEnum(stack,context,schemaPath,instancePath,schema,value){return CheckEnum(stack,context,schema,value)||context.AddError({keyword:"enum",schemaPath,instancePath,params:{allowedValues:schema.enum}})}function BuildExclusiveMaximum(_stack,_context,schema,value){return emit_exports.IsLessThan(value,emit_exports.Constant(schema.exclusiveMaximum))}function CheckExclusiveMaximum(_stack,_context,schema,value){return guard_exports.IsLessThan(value,schema.exclusiveMaximum)}function ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMaximum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMaximum",schemaPath,instancePath,params:{comparison:"<",limit:schema.exclusiveMaximum}})}function BuildExclusiveMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterThan(value,emit_exports.Constant(schema.exclusiveMinimum))}function CheckExclusiveMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterThan(value,schema.exclusiveMinimum)}function ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMinimum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMinimum",schemaPath,instancePath,params:{comparison:">",limit:schema.exclusiveMinimum}})}var format_exports={};__export(format_exports,{Clear:()=>Clear,Entries:()=>Entries3,Get:()=>Get3,Has:()=>Has,IsDate:()=>IsDate2,IsDateTime:()=>IsDateTime,IsDuration:()=>IsDuration,IsEmail:()=>IsEmail,IsHostname:()=>IsHostname2,IsIPv4:()=>IsIPv4,IsIPv6:()=>IsIPv6,IsIdnEmail:()=>IsIdnEmail,IsIdnHostname:()=>IsIdnHostname2,IsIri:()=>IsIri,IsIriReference:()=>IsIriReference,IsJsonPointer:()=>IsJsonPointer,IsJsonPointerUriFragment:()=>IsJsonPointerUriFragment,IsRegex:()=>IsRegex,IsRelativeJsonPointer:()=>IsRelativeJsonPointer,IsTime:()=>IsTime,IsUri:()=>IsUri,IsUriReference:()=>IsUriReference,IsUriTemplate:()=>IsUriTemplate,IsUrl:()=>IsUrl,IsUuid:()=>IsUuid,Reset:()=>Reset2,Set:()=>Set3,Test:()=>Test});var DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31],DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;function IsLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function IsDate2(value){let matches=DATE.exec(value);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&IsLeapYear(year)?29:DAYS[month])}var TIME=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:([Zz])|([+-])(\d\d):(\d\d))?$/;function IsTime(value,strictTimeZone=!0){let matches=TIME.exec(value);if(!matches||strictTimeZone&&!matches[4]&&!matches[5])return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3];if(hr>23||min>59||sec>60)return!1;if(matches[5]){let tzH2=+matches[6],tzM2=+matches[7];if(tzH2>23||tzM2>59)return!1}if(sec<60)return!0;let tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);return((hr*60+min-tzSign*(tzH*60+tzM))%1440+1440)%1440===1439}function IsDateTime(value){let dateTime=value.split(/T/i);return dateTime.length===2&&IsDate2(dateTime[0])&&IsTime(dateTime[1])}var Duration=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;function IsDuration(value){return Duration.test(value)}var Email=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\x20-\x7e])*")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[(?:IPv6:[a-f0-9:]+|(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})\])$/i;function IsEmail(value){return Email.test(value)}var RE_RULE_HYPHEN_PLACEMENT=/^(?!-).*(?<!-)$/,RE_RULE_NOT_RESERVED_ACE=/^(?!..--)/,RE_ASCII_LDH=/^[a-zA-Z0-9-]*$/,RE_ASCII=new RegExp("^\\p{ASCII}*$","u"),RE_NON_ASCII=/[^\p{ASCII}]/u;var RE_ASCII_DIGIT=/[0-9]/,RE_ARABIC_INDIC_DIGIT=/[\u{0660}-\u{0669}]/u,RE_EXT_ARABIC_INDIC_DIGIT=/[\u{06f0}-\u{06f9}]/u,RE_COMMON_SEPARATOR=/[\u{002e}\u{002c}\u{003a}\u{002f}]/u,RE_EUROPEAN_SEPARATOR=/[\u{002d}\u{002b}]/u,RE_MARK_NONSPACING=new RegExp("\\p{Mn}","u"),RE_MARK_SPACING_COMBINING=new RegExp("\\p{Mc}","u"),RE_MARK_ENCLOSING=new RegExp("\\p{Me}","u"),RE_COMBINING_MARK=/[\p{Mn}\p{Mc}\p{Me}]/u,RE_LETTER=new RegExp("\\p{L}","u"),RE_NUMBER_DECIMAL=new RegExp("\\p{Nd}","u"),RE_SCRIPT_GREEK=new RegExp("\\p{Script=Greek}","u"),RE_SCRIPT_HEBREW=new RegExp("\\p{Script=Hebrew}","u"),RE_SCRIPT_JAPANESE=/[\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Han}]/u,RE_SCRIPT_ARABIC_LETTER=/[\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Mandaic}]/u,RE_VIRAMA=/[\u{094d}\u{09cd}\u{0a4d}\u{0acd}\u{0b4d}\u{0bcd}\u{0c4d}\u{0ccd}\u{0d3b}\u{0d3c}\u{0d4d}\u{0dca}\u{1b44}\u{1baa}\u{1bab}\u{a9c0}\u{11046}\u{1107f}\u{110b9}\u{11133}\u{11134}\u{111c0}\u{11235}\u{1134d}\u{11442}\u{114c2}\u{115bf}\u{1163f}\u{116b6}\u{11c3f}\u{11d44}\u{11d45}]/u,RE_RFC5892_DISALLOWED=/[\u{0640}\u{07fa}\u{302e}\u{302f}\u{3031}\u{3032}\u{3033}\u{3034}\u{3035}\u{303b}]/u,RE_CONTEXTO_EXCEPTIONS=/[\u{00b7}\u{0375}\u{05f3}\u{05f4}\u{200c}\u{200d}\u{30fb}]/u,RE_PVALID_EXCEPTIONS=/[\u{00df}\u{03c2}\u{06fd}\u{06fe}\u{0f0b}\u{3007}]/u,RE_EUROPEAN_NUMBER=new RegExp([RE_ASCII_DIGIT,RE_EXT_ARABIC_INDIC_DIGIT].map(regexp=>regexp.source).join("|"),"u"),RE_PERMITTED_CATEGORY=new RegExp([RE_LETTER,RE_EUROPEAN_SEPARATOR,RE_COMMON_SEPARATOR,RE_NUMBER_DECIMAL,RE_MARK_NONSPACING,RE_MARK_SPACING_COMBINING,RE_CONTEXTO_EXCEPTIONS,RE_PVALID_EXCEPTIONS].map(regexp=>regexp.source).join("|"),"u");function IsAsciiLabel(value){return RE_RULE_HYPHEN_PLACEMENT.test(value)&&RE_RULE_NOT_RESERVED_ACE.test(value)&&RE_ASCII_LDH.test(value)}var PUNYCODE_BASE=36,PUNYCODE_TMIN=1,PUNYCODE_TMAX=26,PUNYCODE_SKEW=38,PUNYCODE_DAMP=700,PUNYCODE_INITIAL_BIAS=72,PUNYCODE_INITIAL_N=128;function ThrowDontCare(){throw null}function IsAcePrefixed(value){return value.toLowerCase().startsWith("xn--")}function Adapt(delta,numPoints,firstTime){delta=firstTime?Math.floor(delta/PUNYCODE_DAMP):delta>>1,delta+=Math.floor(delta/numPoints);let k=0;for(;delta>(PUNYCODE_BASE-PUNYCODE_TMIN)*PUNYCODE_TMAX>>1;)delta=Math.floor(delta/(PUNYCODE_BASE-PUNYCODE_TMIN)),k+=PUNYCODE_BASE;return k+Math.floor((PUNYCODE_BASE-PUNYCODE_TMIN+1)*delta/(delta+PUNYCODE_SKEW))}function Decode2(value){let output=[],n=PUNYCODE_INITIAL_N,i=0,bias=PUNYCODE_INITIAL_BIAS,delimIdx=value.lastIndexOf("-");if(delimIdx>0)for(let j=0;j<delimIdx;j++){let cp=value.charCodeAt(j);cp>=128&&ThrowDontCare(),output.push(cp)}let inIdx=delimIdx<0?0:delimIdx+1;for(;inIdx<value.length;){let oldi=i,w=1,k=PUNYCODE_BASE;for(;;){inIdx>=value.length&&ThrowDontCare();let ch=value.charCodeAt(inIdx++),digit;ch>=97&&ch<=122?digit=ch-97:ch>=48&&ch<=57?digit=ch-48+26:ThrowDontCare(),i+=digit*w;let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(digit<t)break;w*=PUNYCODE_BASE-t,k+=PUNYCODE_BASE}let outLen=output.length+1;bias=Adapt(i-oldi,outLen,oldi===0),n+=Math.floor(i/outLen),i%=outLen,output.splice(i,0,n),i++}return String.fromCodePoint(...output)}function DigitToChar(digit){return digit<26?String.fromCharCode(digit+97):String.fromCharCode(digit-26+48)}var RE_REPLACE_NON_ASCII=new RegExp(RE_NON_ASCII.source,"gu");function Encode2(input){let basic=input.replace(RE_REPLACE_NON_ASCII,""),basicLength=basic.length,result=basicLength>0?[basic,"-"]:[],codePoints=Array.from(input,char=>char.codePointAt(0)),n=PUNYCODE_INITIAL_N,delta=0,bias=PUNYCODE_INITIAL_BIAS,handledCPCount=basicLength;for(;handledCPCount<codePoints.length;){let m=1/0;for(let cp of codePoints)cp>=n&&cp<m&&(m=cp);delta+=(m-n)*(handledCPCount+1),n=m;for(let cp of codePoints)if(cp<n&&delta++,cp===n){let q=delta;for(let k=PUNYCODE_BASE;;k+=PUNYCODE_BASE){let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(q<t)break;let digit=t+(q-t)%(PUNYCODE_BASE-t);result.push(DigitToChar(digit)),q=Math.floor((q-t)/(PUNYCODE_BASE-t))}result.push(DigitToChar(q)),bias=Adapt(delta,handledCPCount+1,handledCPCount===basicLength),delta=0,handledCPCount++}delta++,n++}return result.join("")}var RE_RTL_ALLOWED=/^(?:R|AL|AN|EN|ES|CS|ET|ON|BN|NSM)$/,RE_LTR_ALLOWED=/^(?:L|EN|ES|CS|ET|ON|BN|NSM)$/,RE_RTL_CLASSES=/^(?:R|AL|AN)$/;function HasBidiChars(value){if(IsAcePrefixed(value))try{return HasRightToLeftCharacters(Decode2(value.slice(4).toLowerCase()))}catch{return!1}return HasRightToLeftCharacters(value)}function GetBidiClass(codePoint){let char=String.fromCodePoint(codePoint);return RE_EUROPEAN_NUMBER.test(char)?"EN":RE_ARABIC_INDIC_DIGIT.test(char)?"AN":RE_MARK_NONSPACING.test(char)?"NSM":RE_SCRIPT_HEBREW.test(char)?"R":RE_SCRIPT_ARABIC_LETTER.test(char)?"AL":RE_LETTER.test(char)?"L":"ON"}function HasRightToLeftCharacters(value){for(let ch of value)if(RE_RTL_CLASSES.test(GetBidiClass(ch.codePointAt(0))))return!0;return!1}function SatisfiesBidiRule(value){let isRtl=!1,allowed=RE_LTR_ALLOWED,sawEN=!1,sawAN=!1,isFirst=!0;for(let ch of value){let bidiClass=GetBidiClass(ch.codePointAt(0));if(isFirst){if(bidiClass!=="L"&&bidiClass!=="R"&&bidiClass!=="AL")return!1;isRtl=bidiClass==="R"||bidiClass==="AL",allowed=isRtl?RE_RTL_ALLOWED:RE_LTR_ALLOWED,isFirst=!1}if(!allowed.test(bidiClass))return!1;bidiClass==="EN"?sawEN=!0:bidiClass==="AN"&&(sawAN=!0)}return!(isRtl&&sawEN&&sawAN)}function ExceedsMaxALabelLength(value){return RE_NON_ASCII.test(value)&&Encode2(value).length+4>63}function HasInvalidHyphens(chars){return chars[0]==="-"||chars[chars.length-1]==="-"?!0:chars.slice(2).join("").startsWith("--")}function IsUnicodeLabel(value){if(ExceedsMaxALabelLength(value)||HasRightToLeftCharacters(value)&&!SatisfiesBidiRule(value))return!1;let chars=[...value],codePoints=chars.map(c=>c.codePointAt(0)),length=codePoints.length;if(HasInvalidHyphens(chars)||RE_COMBINING_MARK.test(chars[0]))return!1;let hasJapanese=!1;for(let i=0;i<length;i++){let codePoint=codePoints[i],char=chars[i];if(RE_RFC5892_DISALLOWED.test(char)||!RE_PERMITTED_CATEGORY.test(char))return!1;RE_SCRIPT_JAPANESE.test(char)&&(hasJapanese=!0);let prev=codePoints[i-1],next=codePoints[i+1];switch(codePoint){case 183:if(prev!==108||next!==108)return!1;break;case 885:if(!next||!RE_SCRIPT_GREEK.test(chars[i+1]))return!1;break;case 1523:case 1524:if(!prev||!RE_SCRIPT_HEBREW.test(chars[i-1]))return!1;break;case 8204:if(!prev||prev<128&&!RE_VIRAMA.test(chars[i-1]))return!1;break;case 8205:if(!prev||!RE_VIRAMA.test(chars[i-1]))return!1;break;case 12539:break}}return!(value.includes("\u30FB")&&!hasJapanese)}function IsPunyLabel(value){if(!IsAcePrefixed(value))return!1;try{let body=value.slice(4).toLowerCase();if(body.lastIndexOf("-")===0)return!1;let decoded=Decode2(body);return RE_NON_ASCII.test(decoded)?IsUnicodeLabel(decoded):!1}catch{return!1}}function IsValidLabelLength(value){return value.length>0&&value.length<=63}function IsLabel(value){return IsValidLabelLength(value)&&(IsPunyLabel(value)||IsAsciiLabel(value))}function IsHostname(value){return value.length===0||value.length>253||value.charCodeAt(value.length-1)===46?!1:value.split(".").every(label=>IsLabel(label))}function IsValidLabelLength2(value){return value.length>0&&value.length<=63}function IsLabel2(value){return IsValidLabelLength2(value)&&(IsPunyLabel(value)||IsUnicodeLabel(value))}function NormalizeHostname(value){return value.replace(/[\uff01-\uff5e]/g,char=>String.fromCharCode(char.charCodeAt(0)-65248)).normalize("NFC").replace(/[\u00ad\u034f\u180b-\u180d\u200b\ufe00-\ufe0f\u{e0100}-\u{e01ef}]/gu,"").replace(/[\u002E\u3002\uFF0E\uFF61]/g,".")}function IsIdnHostname(value){if(value.length===0||value.includes(" "))return!1;let normalized=NormalizeHostname(value);if(normalized.length>253)return!1;let labels=normalized.split("."),hasBidiChars=labels.some(label=>HasBidiChars(label));return labels.every(label=>IsLabel2(label)&&(!hasBidiChars||SatisfiesBidiRule(label)))}function IsHostname2(value){return IsHostname(value)}var IdnEmail=/^(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+(?:\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+)*|"(?:[^"\\]|\\.)*")@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-)(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-))*$/iu;function IsIdnEmail(value){return IdnEmail.test(value.normalize("NFC"))}function IsIdnHostname2(value){return IsIdnHostname(value)}var IPv4=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function IsIPv4(value){return IPv4.test(value)}var IPv6=/^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i;function IsIPv6(value){return IPv6.test(value)}var InvalidIriChars=/[\x00-\x20\x7F\\]|%(?![0-9a-fA-F]{2})/,MalformedScheme=/^[a-zA-Z][a-zA-Z0-9+\-.]*\/\//;function IsIriReference(value){return!InvalidIriChars.test(value)&&!MalformedScheme.test(value)&&URL.canParse(value,"http://example.com")}var IpvFutureMatch=/\[[vV][0-9a-fA-F]+\.[^\]]+\]/,InvalidIriChars2=/[\x00-\x20<>\^`{|}\\]/,InvalidPercentEncoding=/%(?![0-9a-fA-F]{2})/;function NarrowIpvFuture(value){return value.length<2048?value.replace(IpvFutureMatch,"[::1]"):value}function IsIri(value){return InvalidIriChars2.test(value)||InvalidPercentEncoding.test(value)?!1:URL.canParse(NarrowIpvFuture(value))}var JsonPointerUriFragment=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function IsJsonPointerUriFragment(value){return JsonPointerUriFragment.test(value)}var JsonPointer=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function IsJsonPointer(value){return JsonPointer.test(value)}function IsRegex(value){try{return new RegExp(value,"u"),!0}catch{return!1}}var RelativeJsonPointer=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function IsRelativeJsonPointer(value){return RelativeJsonPointer.test(value)}var UriReference=/^(?:[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUriReference(value){return UriReference.test(value)}var UriTemplate=/^(?:(?:[^\x00-\x20"<>%\\^`{|}\x7f]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?)*\})*$/i;function IsUriTemplate(value){return UriTemplate.test(value)}var Uri=/^[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUri(value){return Uri.test(value)}function IsUrl(value){return URL.canParse(value)}var Uuid=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function IsUuid(value){return Uuid.test(value)}var formats=new Map;function Clear(){formats.clear()}function Entries3(){return[...formats.entries()]}function Set3(format,check){formats.set(format,check)}function Has(format){return formats.has(format)}function Get3(format){return formats.get(format)}function Test(format,value){return formats.get(format)?.(value)??!0}function Reset2(){Clear(),formats.set("date-time",IsDateTime),formats.set("date",IsDate2),formats.set("duration",IsDuration),formats.set("email",IsEmail),formats.set("hostname",IsHostname2),formats.set("idn-email",IsIdnEmail),formats.set("idn-hostname",IsIdnHostname2),formats.set("ipv4",IsIPv4),formats.set("ipv6",IsIPv6),formats.set("iri-reference",IsIriReference),formats.set("iri",IsIri),formats.set("json-pointer-uri-fragment",IsJsonPointerUriFragment),formats.set("json-pointer",IsJsonPointer),formats.set("regex",IsRegex),formats.set("relative-json-pointer",IsRelativeJsonPointer),formats.set("time",IsTime),formats.set("uri-reference",IsUriReference),formats.set("uri-template",IsUriTemplate),formats.set("uri",IsUri),formats.set("url",IsUrl),formats.set("uuid",IsUuid)}Reset2();function BuildFormat(_stack,_context,schema,value){return emit_exports.Call(emit_exports.Member("Format","Test"),[emit_exports.Constant(schema.format),value])}function CheckFormat(_stack,_context,schema,value){return format_exports.Test(schema.format,value)}function ErrorFormat(stack,context,schemaPath,instancePath,schema,value){return CheckFormat(stack,context,schema,value)||context.AddError({keyword:"format",schemaPath,instancePath,params:{format:schema.format}})}function BuildIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return emit_exports.Ternary(BuildSchema(stack,context,schema.if,value),BuildSchema(stack,context,thenSchema,value),BuildSchema(stack,context,elseSchema,value))}function CheckIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return CheckSchema(stack,context,schema.if,value)?CheckSchema(stack,context,thenSchema,value):CheckSchema(stack,context,elseSchema,value)}function ErrorIf(stack,context,schemaPath,instancePath,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0,trueContext=new ErrorContext,isIf=ErrorSchema(stack,trueContext,`${schemaPath}/if`,instancePath,schema.if,value)?ErrorSchema(stack,trueContext,`${schemaPath}/then`,instancePath,thenSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"then"}}):ErrorSchema(stack,context,`${schemaPath}/else`,instancePath,elseSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"else"}});return isIf&&context.Merge([trueContext]),isIf}function BuildItemsSizedStandard(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3));return emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex))}))}function BuildItemsSizedFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`);return emit_exports.Or(isLength,isSchema)}))}function BuildItemsSized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsSizedStandard(stack,context,schema,value):BuildItemsSizedFast(stack,context,schema,value)}function CheckItemsSized(stack,context,schema,value){return guard_exports.Every(schema.items,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema.items,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/items/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function BuildItemsUnsizedStandard(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element"),addIndex=context.AddIndex("index");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],emit_exports.And(isSchema,addIndex))}function BuildItemsUnsizedFast(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],isSchema)}function BuildItemsUnsized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsUnsizedStandard(stack,context,schema,value):BuildItemsUnsizedFast(stack,context,schema,value)}function CheckItemsUnsized(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.Every(value,offset,(element,index3)=>CheckSchemaPushStack(stack,context,schema.items,element)&&context.AddIndex(index3))}function ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.EveryAll(value,offset,(element,index3)=>{let nextSchemaPath=`${schemaPath}/items`,nextInstancePath=`${instancePath}/${index3}`;return ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.items,element)&&context.AddIndex(index3)})}function BuildItems(stack,context,schema,value){return IsItemsSized(schema)?BuildItemsSized(stack,context,schema,value):BuildItemsUnsized(stack,context,schema,value)}function CheckItems(stack,context,schema,value){return IsItemsSized(schema)?CheckItemsSized(stack,context,schema,value):CheckItemsUnsized(stack,context,schema,value)}function ErrorItems(stack,context,schemaPath,instancePath,schema,value){return IsItemsSized(schema)?ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value):ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value)}function IsValid3(schema){return IsContains(schema)}function BuildMaxContains(stack,context,schema,value){if(!IsValid3(schema))return emit_exports.Constant(!0);let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsLessEqualThan(count,emit_exports.Constant(schema.maxContains))}function CheckMaxContains(stack,context,schema,value){if(!IsValid3(schema))return!0;let count=guard_exports.Counted(value,item=>CheckSchema(stack,context,schema.contains,item));return guard_exports.IsLessEqualThan(count,schema.maxContains)}function ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value){let minContains=IsMinContains(schema)?schema.minContains:1;return CheckMaxContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains,maxContains:schema.maxContains}})}function BuildMaximum(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(value,emit_exports.Constant(schema.maximum))}function CheckMaximum(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value,schema.maximum)}function ErrorMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckMaximum(stack,context,schema,value)||context.AddError({keyword:"maximum",schemaPath,instancePath,params:{comparison:"<=",limit:schema.maximum}})}function BuildMaxItems(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.maxItems))}function CheckMaxItems(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value.length,schema.maxItems)}function ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value){return CheckMaxItems(stack,context,schema,value)||context.AddError({keyword:"maxItems",schemaPath,instancePath,params:{limit:schema.maxItems}})}function BuildMaxLength(_stack,_context,schema,value){return emit_exports.IsMaxLength(value,emit_exports.Constant(schema.maxLength))}function CheckMaxLength(_stack,_context,schema,value){return guard_exports.IsMaxLength(value,schema.maxLength)}function ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value){return CheckMaxLength(stack,context,schema,value)||context.AddError({keyword:"maxLength",schemaPath,instancePath,params:{limit:schema.maxLength}})}function BuildMaxProperties(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.maxProperties))}function CheckMaxProperties(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(guard_exports.Keys(value).length,schema.maxProperties)}function ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMaxProperties(stack,context,schema,value)||context.AddError({keyword:"maxProperties",schemaPath,instancePath,params:{limit:schema.maxProperties}})}function IsValid4(schema){return IsContains(schema)}function BuildMinContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],count=emit_exports.Counted(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContainsFast(stack,context,schema,value){let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContains(stack,context,schema,value){return IsValid4(schema)?context.UseUnevaluated()?BuildMinContainsStandard(stack,context,schema,value):BuildMinContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckMinContains(stack,context,schema,value){if(!IsValid4(schema))return!0;let count=guard_exports.Counted(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3));return guard_exports.IsGreaterEqualThan(count,schema.minContains)}function ErrorMinContains(stack,context,schemaPath,instancePath,schema,value){return CheckMinContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:schema.minContains}})}function BuildMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(value,emit_exports.Constant(schema.minimum))}function CheckMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value,schema.minimum)}function ErrorMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckMinimum(stack,context,schema,value)||context.AddError({keyword:"minimum",schemaPath,instancePath,params:{comparison:">=",limit:schema.minimum}})}function BuildMinItems(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.minItems))}function CheckMinItems(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value.length,schema.minItems)}function ErrorMinItems(stack,context,schemaPath,instancePath,schema,value){return CheckMinItems(stack,context,schema,value)||context.AddError({keyword:"minItems",schemaPath,instancePath,params:{limit:schema.minItems}})}function BuildMinLength(_stack,_context,schema,value){return emit_exports.IsMinLength(value,emit_exports.Constant(schema.minLength))}function CheckMinLength(_stack,_context,schema,value){return guard_exports.IsMinLength(value,schema.minLength)}function ErrorMinLength(stack,context,schemaPath,instancePath,schema,value){return CheckMinLength(stack,context,schema,value)||context.AddError({keyword:"minLength",schemaPath,instancePath,params:{limit:schema.minLength}})}function BuildMinProperties(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.minProperties))}function CheckMinProperties(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(guard_exports.Keys(value).length,schema.minProperties)}function ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMinProperties(stack,context,schema,value)||context.AddError({keyword:"minProperties",schemaPath,instancePath,params:{limit:schema.minProperties}})}function BuildMultipleOf(_stack,_context,schema,value){return emit_exports.MultipleOf(value,emit_exports.Constant(schema.multipleOf))}function CheckMultipleOf(_stack,_context,schema,value){return guard_exports.IsMultipleOf(value,schema.multipleOf)}function ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value){return CheckMultipleOf(stack,context,schema,value)||context.AddError({keyword:"multipleOf",schemaPath,instancePath,params:{multipleOf:schema.multipleOf}})}function BuildNotStandard(stack,context,schema,value){return Reducer(stack,context,[schema.not],value,emit_exports.Not(emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1))))}function BuildNotFast(stack,context,schema,value){return emit_exports.Not(BuildSchema(stack,context,schema.not,value))}function BuildNot(stack,context,schema,value){return context.UseUnevaluated()?BuildNotStandard(stack,context,schema,value):BuildNotFast(stack,context,schema,value)}function CheckNot(stack,context,schema,value){let nextContext=new CheckContext;return!CheckSchema(stack,nextContext,schema.not,value)&&context.Merge([nextContext])}function ErrorNot(stack,context,schemaPath,instancePath,schema,value){return CheckNot(stack,context,schema,value)||context.AddError({keyword:"not",schemaPath,instancePath,params:{}})}function BuildOneOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.oneOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1)))}function BuildOneOfFast(stack,context,schema,value){let[result]=[Unique()],results=emit_exports.ArrayLiteral(schema.oneOf.map(schema2=>BuildSchema(stack,context,schema2,value))),count=emit_exports.Counted(results,[result,"_"],emit_exports.IsEqual(result,emit_exports.Constant(!0)));return emit_exports.IsEqual(count,emit_exports.Constant(1))}function BuildOneOf(stack,context,schema,value){return context.UseUnevaluated()?BuildOneOfStandard(stack,context,schema,value):BuildOneOfFast(stack,context,schema,value)}function CheckOneOf(stack,context,schema,value){let passedContexts=schema.oneOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts)}function ErrorOneOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],passingSchemas=[],passedContexts=schema.oneOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/oneOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema&&passingSchemas.push(index3),isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isOneOf=guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts);return!isOneOf&&guard_exports.IsEqual(passingSchemas.length,0)&&failedContexts.forEach(failed=>failed.GetErrors().forEach(error2=>context.AddError(error2))),isOneOf||context.AddError({keyword:"oneOf",schemaPath,instancePath,params:{passingSchemas}})}function BuildPattern(_stack,_context,schema,value){let regexp=CreateVariable(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern);return emit_exports.Call(emit_exports.Member(regexp,"test"),[value])}function CheckPattern(_stack,_context,schema,value){return(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern).test(value)}function ErrorPattern(stack,context,schemaPath,instancePath,schema,value){return CheckPattern(stack,context,schema,value)||context.AddError({keyword:"pattern",schemaPath,instancePath,params:{pattern:schema.pattern}})}function BuildPatternProperties(stack,context,schema,value){return emit_exports.ReduceAnd(guard_exports.Entries(schema.patternProperties).map(([pattern,schema2])=>{let[key,prop]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(pattern)),notKey=emit_exports.Not(emit_exports.Call(emit_exports.Member(regexp,"test"),[key])),isSchema=BuildSchemaPushStack(stack,context,schema2,prop),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(notKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(notKey,isSchema);return emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],guarded)}))}function CheckPatternProperties(stack,context,schema,value){return guard_exports.Every(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let regexp=UnicodeRegExp(pattern);return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>!regexp.test(key)||CheckSchemaPushStack(stack,context,schema2,prop)&&context.AddKey(key))})}function ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let nextSchemaPath=`${schemaPath}/patternProperties/${pattern}`,regexp=UnicodeRegExp(pattern);return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,value2])=>{let nextInstancePath=`${instancePath}/${key}`;return!regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value2)&&context.AddKey(key)})})}function BuildPrefixItems(stack,context,schema,value){return emit_exports.ReduceAnd(schema.prefixItems.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addIndex):isSchema;return emit_exports.Or(isLength,guarded)}))}function CheckPrefixItems(stack,context,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.Every(schema.prefixItems,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.EveryAll(schema.prefixItems,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/prefixItems/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function IsExactOptional(required,key){return required.includes(key)||settings_exports.Get().exactOptionalPropertyTypes}function InexactOptionalBuild(value,key){return emit_exports.IsUndefined(emit_exports.Member(value,key))}function InexactOptionalCheck(value,key){return guard_exports.IsUndefined(value[key])}function BuildProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[],everyKey=guard_exports.Entries(schema.properties).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchemaPushStack(stack,context,schema2,emit_exports.Member(value,key)),addKey=context.AddKey(emit_exports.Constant(key)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addKey):isSchema,isProperty=required.includes(key)?guarded:emit_exports.Or(notKey,guarded);return IsExactOptional(required,key)?isProperty:emit_exports.Or(InexactOptionalBuild(value,key),isProperty)});return emit_exports.ReduceAnd(everyKey)}function CheckProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.Every(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let isProperty=!guard_exports.HasPropertyKey(value,key)||CheckSchemaPushStack(stack,context,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty:InexactOptionalCheck(value,key)||isProperty})}function ErrorProperties(stack,context,schemaPath,instancePath,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.EveryAll(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/properties/${key}`,nextInstancePath=`${instancePath}/${key}`,isProperty=()=>!guard_exports.HasPropertyKey(value,key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty():InexactOptionalCheck(value,key)||isProperty()})}function BuildPropertyNames(stack,context,schema,value){let[key,_index]=[Unique(),Unique()];return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],BuildSchema(stack,context,schema.propertyNames,key))}function CheckPropertyNames(stack,context,schema,value){return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>CheckSchema(stack,context,schema.propertyNames,key))}function ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value){let propertyNames=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextInstancePath=`${instancePath}/${key}`,nextSchemaPath=`${schemaPath}/propertyNames`,isPropertyName=ErrorSchema(stack,context,nextSchemaPath,nextInstancePath,schema.propertyNames,key);return isPropertyName||propertyNames.push(key),isPropertyName})||context.AddError({keyword:"propertyNames",schemaPath,instancePath,params:{propertyNames}})}function BuildRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorRecursiveRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildRefStandard(stack,context,target,value){let interior=emit_exports.ArrowFunction(["context","value"],CreateFunction(stack,context,target,"value")),exterior=emit_exports.ArrowFunction(["context","value"],emit_exports.Statements([emit_exports.ConstDeclaration("nextContext",emit_exports.New("CheckContext",[])),emit_exports.ConstDeclaration("result",emit_exports.Call(interior,["nextContext","value"])),emit_exports.If("result",context.Merge("[nextContext]")),emit_exports.Return("result")]));return emit_exports.Call(exterior,["context",value])}function BuildRefFast(stack,context,target,value){return CreateFunction(stack,context,target,value)}function BuildRef(stack,context,schema,value){let target=stack.Ref(schema)??!1;return context.UseUnevaluated()?BuildRefStandard(stack,context,target,value):BuildRefFast(stack,context,target,value)}function CheckRef(stack,context,schema,value){let target=stack.Ref(schema)??!1,nextContext=new CheckContext,result=IsSchema2(target)&&CheckSchema(stack,nextContext,target,value);return result&&context.Merge([nextContext]),result}function ErrorRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.Ref(schema)??!1,nextContext=new ErrorContext,result=IsSchema2(target)&&ErrorSchema(stack,nextContext,"#",instancePath,target,value);return result&&context.Merge([nextContext]),result||nextContext.GetErrors().forEach(error2=>context.AddError(error2)),result}function BuildRequired(_stack,_context,schema,value){return emit_exports.ReduceAnd(schema.required.map(key=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key))))}function CheckRequired(_stack,_context,schema,value){return guard_exports.Every(schema.required,0,key=>guard_exports.HasPropertyKey(value,key))}function ErrorRequired(_stack,context,schemaPath,instancePath,schema,value){let requiredProperties=[];return guard_exports.EveryAll(schema.required,0,key=>{let hasKey=guard_exports.HasPropertyKey(value,key);return hasKey||requiredProperties.push(key),hasKey})||context.AddError({keyword:"required",schemaPath,instancePath,params:{requiredProperties}})}function BuildTypeName(_stack,_context,type,value){return guard_exports.IsEqual(type,"object")?emit_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?emit_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?emit_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?emit_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?emit_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?emit_exports.IsNull(value):guard_exports.IsEqual(type,"string")?emit_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?emit_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?emit_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?emit_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?emit_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?emit_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?emit_exports.IsUndefined(value):emit_exports.Constant(!0)}function CheckTypeName(_stack,_context,type,_schema,value){return guard_exports.IsEqual(type,"object")?guard_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?guard_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?guard_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?guard_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?guard_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?guard_exports.IsNull(value):guard_exports.IsEqual(type,"string")?guard_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?guard_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?guard_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?guard_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?guard_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?guard_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?guard_exports.IsUndefined(value):!0}function BuildTypeNames(stack,context,typenames,value){return emit_exports.ReduceOr(typenames.map(type=>BuildTypeName(stack,context,type,value)))}function CheckTypeNames(stack,context,types,schema,value){return guard_exports.Some(types,type=>CheckTypeName(stack,context,type,schema,value))}function BuildType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?BuildTypeNames(stack,context,schema.type,value):BuildTypeName(stack,context,schema.type,value)}function CheckType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value)}function ErrorType(stack,context,schemaPath,instancePath,schema,value){return(guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value))||context.AddError({keyword:"type",schemaPath,instancePath,params:{type:schema.type}})}function BuildUnevaluatedItems(stack,context,schema,value){let[index3,item]=[Unique(),Unique()],indices=emit_exports.Call(emit_exports.Member("context","GetIndices"),[]),hasIndex=emit_exports.Call(emit_exports.Member("indices","has"),[index3]),isSchema=BuildSchema(stack,context,schema.unevaluatedItems,item),addIndex=emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3]),isEvery=emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.And(emit_exports.Or(hasIndex,isSchema),addIndex));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("indices",indices),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedItems(stack,context,schema,value){let indices=context.GetIndices();return guard_exports.Every(value,0,(item,index3)=>(indices.has(index3)||CheckSchema(stack,context,schema.unevaluatedItems,item))&&context.AddIndex(index3))}function ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value){let indices=context.GetIndices(),unevaluatedItems=[];return guard_exports.EveryAll(value,0,(item,index3)=>{let nextContext=new ErrorContext,isEvaluatedItem=(indices.has(index3)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedItems,item))&&context.AddIndex(index3);return isEvaluatedItem||unevaluatedItems.push(index3),isEvaluatedItem})||context.AddError({keyword:"unevaluatedItems",schemaPath,instancePath,params:{unevaluatedItems}})}function BuildUnevaluatedProperties(stack,context,schema,value){let[key,prop]=[Unique(),Unique()],keys=emit_exports.Call(emit_exports.Member("context","GetKeys"),[]),hasKey=emit_exports.Call(emit_exports.Member("keys","has"),[key]),addKey=emit_exports.Call(emit_exports.Member("context","AddKey"),[key]),isSchema=BuildSchema(stack,context,schema.unevaluatedProperties,prop),isEvery=emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],emit_exports.Or(hasKey,emit_exports.And(isSchema,addKey)));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("keys",keys),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedProperties(stack,context,schema,value){let keys=context.GetKeys();return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>keys.has(key)||CheckSchema(stack,context,schema.unevaluatedProperties,prop)&&context.AddKey(key))}function ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value){let keys=context.GetKeys(),unevaluatedProperties=[];return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,prop])=>{let nextContext=new ErrorContext,isEvaluatedProperty=keys.has(key)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedProperties,prop)&&context.AddKey(key);return isEvaluatedProperty||unevaluatedProperties.push(key),isEvaluatedProperty})||context.AddError({keyword:"unevaluatedProperties",schemaPath,instancePath,params:{unevaluatedProperties}})}function IsValid5(schema){return!guard_exports.IsEqual(schema.uniqueItems,!1)}function BuildUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return emit_exports.Constant(!0);let set=emit_exports.Member(emit_exports.New("Set",[emit_exports.Call(emit_exports.Member(value,"map"),[emit_exports.Member("Hashing","Hash")])]),"size"),isLength=emit_exports.Member(value,"length");return emit_exports.IsEqual(set,isLength)}function CheckUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return!0;let set=new Set(value.map(hash_exports.Hash)).size,isLength=value.length;return guard_exports.IsEqual(set,isLength)}function ErrorUniqueItems(_stack,context,schemaPath,instancePath,schema,value){if(!IsValid5(schema))return!0;let set=new Set,duplicateItems=value.reduce((result,value2,index3)=>{let hash=hash_exports.Hash(value2);return set.has(hash)?[...result,index3]:(set.add(hash),result)},[]);return guard_exports.IsEqual(duplicateItems.length,0)||context.AddError({keyword:"uniqueItems",schemaPath,instancePath,params:{duplicateItems}})}function HasTypeName(schema,typename){return IsType(schema)&&(guard_exports.IsArray(schema.type)&&guard_exports.IsGreaterThan(schema.type.length,0)&&guard_exports.Every(schema.type,0,type=>guard_exports.IsEqual(type,typename))||guard_exports.IsEqual(schema.type,typename))}function HasObjectType(schema){return HasTypeName(schema,"object")}function HasObjectKeywords(schema){return IsSchemaObject2(schema)&&(IsAdditionalProperties(schema)||IsDependencies(schema)||IsDependentRequired(schema)||IsDependentSchemas(schema)||IsProperties(schema)||IsPatternProperties(schema)||IsPropertyNames(schema)||IsMinProperties(schema)||IsMaxProperties(schema)||IsRequired(schema)||IsUnevaluatedProperties(schema))}function HasArrayType(schema){return HasTypeName(schema,"array")}function HasArrayKeywords(schema){return IsSchemaObject2(schema)&&(IsAdditionalItems(schema)||IsItems(schema)||IsContains(schema)||IsMaxContains(schema)||IsMaxItems(schema)||IsMinContains(schema)||IsMinItems(schema)||IsPrefixItems(schema)||IsUnevaluatedItems(schema)||IsUniqueItems(schema))}function HasStringType(schema){return HasTypeName(schema,"string")}function HasStringKeywords(schema){return IsSchemaObject2(schema)&&(IsMinLength4(schema)||IsMaxLength4(schema)||IsFormat(schema)||IsPattern(schema))}function HasNumberType(schema){return HasTypeName(schema,"number")||HasTypeName(schema,"bigint")}function HasNumberKeywords(schema){return IsSchemaObject2(schema)&&(IsMinimum(schema)||IsMaximum(schema)||IsExclusiveMaximum(schema)||IsExclusiveMinimum(schema)||IsMultipleOf2(schema))}function BuildSchemaPushStack(stack,context,schema,value){return context.UseUnevaluated()?emit_exports.And(emit_exports.And(context.Push(),BuildSchema(stack,context,schema,value)),context.Pop()):BuildSchema(stack,context,schema,value)}function BuildSchema(stack,context,schema,value){stack.Push(schema);let conditions=[];if(IsSchemaBoolean(schema))return BuildSchemaBoolean(stack,context,schema,value);if(IsType(schema)&&conditions.push(BuildType(stack,context,schema,value)),HasObjectKeywords(schema)){let constraints=[];IsRequired(schema)&&constraints.push(BuildRequired(stack,context,schema,value)),IsAdditionalProperties(schema)&&constraints.push(BuildAdditionalProperties(stack,context,schema,value)),IsDependencies(schema)&&constraints.push(BuildDependencies(stack,context,schema,value)),IsDependentRequired(schema)&&constraints.push(BuildDependentRequired(stack,context,schema,value)),IsDependentSchemas(schema)&&constraints.push(BuildDependentSchemas(stack,context,schema,value)),IsPatternProperties(schema)&&constraints.push(BuildPatternProperties(stack,context,schema,value)),IsProperties(schema)&&constraints.push(BuildProperties(stack,context,schema,value)),IsPropertyNames(schema)&&constraints.push(BuildPropertyNames(stack,context,schema,value)),IsMinProperties(schema)&&constraints.push(BuildMinProperties(stack,context,schema,value)),IsMaxProperties(schema)&&constraints.push(BuildMaxProperties(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsObjectNotArray(value)),reduced);conditions.push(HasObjectType(schema)?reduced:guarded)}if(HasArrayKeywords(schema)){let constraints=[];IsAdditionalItems(schema)&&constraints.push(BuildAdditionalItems(stack,context,schema,value)),IsContains(schema)&&constraints.push(BuildContains(stack,context,schema,value)),IsItems(schema)&&constraints.push(BuildItems(stack,context,schema,value)),IsMaxContains(schema)&&constraints.push(BuildMaxContains(stack,context,schema,value)),IsMaxItems(schema)&&constraints.push(BuildMaxItems(stack,context,schema,value)),IsMinContains(schema)&&constraints.push(BuildMinContains(stack,context,schema,value)),IsMinItems(schema)&&constraints.push(BuildMinItems(stack,context,schema,value)),IsPrefixItems(schema)&&constraints.push(BuildPrefixItems(stack,context,schema,value)),IsUniqueItems(schema)&&constraints.push(BuildUniqueItems(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),reduced);conditions.push(HasArrayType(schema)?reduced:guarded)}if(HasStringKeywords(schema)){let constraints=[];IsMaxLength4(schema)&&constraints.push(BuildMaxLength(stack,context,schema,value)),IsMinLength4(schema)&&constraints.push(BuildMinLength(stack,context,schema,value)),IsFormat(schema)&&constraints.push(BuildFormat(stack,context,schema,value)),IsPattern(schema)&&constraints.push(BuildPattern(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsString(value)),reduced);conditions.push(HasStringType(schema)?reduced:guarded)}if(HasNumberKeywords(schema)){let constraints=[];IsExclusiveMaximum(schema)&&constraints.push(BuildExclusiveMaximum(stack,context,schema,value)),IsExclusiveMinimum(schema)&&constraints.push(BuildExclusiveMinimum(stack,context,schema,value)),IsMaximum(schema)&&constraints.push(BuildMaximum(stack,context,schema,value)),IsMinimum(schema)&&constraints.push(BuildMinimum(stack,context,schema,value)),IsMultipleOf2(schema)&&constraints.push(BuildMultipleOf(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.Or(emit_exports.IsNumber(value),emit_exports.IsBigInt(value))),reduced);conditions.push(HasNumberType(schema)?reduced:guarded)}IsRef2(schema)&&conditions.push(BuildRef(stack,context,schema,value)),IsRecursiveRef(schema)&&conditions.push(BuildRecursiveRef(stack,context,schema,value)),IsDynamicRef(schema)&&conditions.push(BuildDynamicRef(stack,context,schema,value)),IsConst(schema)&&conditions.push(BuildConst(stack,context,schema,value)),IsEnum2(schema)&&conditions.push(BuildEnum(stack,context,schema,value)),IsIf(schema)&&conditions.push(BuildIf(stack,context,schema,value)),IsNot(schema)&&conditions.push(BuildNot(stack,context,schema,value)),IsAllOf(schema)&&conditions.push(BuildAllOf(stack,context,schema,value)),IsAnyOf(schema)&&conditions.push(BuildAnyOf(stack,context,schema,value)),IsOneOf(schema)&&conditions.push(BuildOneOf(stack,context,schema,value)),IsUnevaluatedItems(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),BuildUnevaluatedItems(stack,context,schema,value))),IsUnevaluatedProperties(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsObject(value)),BuildUnevaluatedProperties(stack,context,schema,value))),IsRefine2(schema)&&conditions.push(BuildRefine(stack,context,schema,value));let result=emit_exports.ReduceAnd(conditions);return stack.Pop(schema),result}function CheckSchemaPushStack(stack,context,schema,value){return context.Push()&&CheckSchema(stack,context,schema,value)&&context.Pop()}function CheckSchema(stack,context,schema,value){stack.Push(schema);let result=IsSchemaBoolean(schema)?CheckSchemaBoolean(stack,context,schema,value):(!IsType(schema)||CheckType(stack,context,schema,value))&&(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||(!IsRequired(schema)||CheckRequired(stack,context,schema,value))&&(!IsAdditionalProperties(schema)||CheckAdditionalProperties(stack,context,schema,value))&&(!IsDependencies(schema)||CheckDependencies(stack,context,schema,value))&&(!IsDependentRequired(schema)||CheckDependentRequired(stack,context,schema,value))&&(!IsDependentSchemas(schema)||CheckDependentSchemas(stack,context,schema,value))&&(!IsPatternProperties(schema)||CheckPatternProperties(stack,context,schema,value))&&(!IsProperties(schema)||CheckProperties(stack,context,schema,value))&&(!IsPropertyNames(schema)||CheckPropertyNames(stack,context,schema,value))&&(!IsMinProperties(schema)||CheckMinProperties(stack,context,schema,value))&&(!IsMaxProperties(schema)||CheckMaxProperties(stack,context,schema,value)))&&(!guard_exports.IsArray(value)||(!IsAdditionalItems(schema)||CheckAdditionalItems(stack,context,schema,value))&&(!IsContains(schema)||CheckContains(stack,context,schema,value))&&(!IsItems(schema)||CheckItems(stack,context,schema,value))&&(!IsMaxContains(schema)||CheckMaxContains(stack,context,schema,value))&&(!IsMaxItems(schema)||CheckMaxItems(stack,context,schema,value))&&(!IsMinContains(schema)||CheckMinContains(stack,context,schema,value))&&(!IsMinItems(schema)||CheckMinItems(stack,context,schema,value))&&(!IsPrefixItems(schema)||CheckPrefixItems(stack,context,schema,value))&&(!IsUniqueItems(schema)||CheckUniqueItems(stack,context,schema,value)))&&(!guard_exports.IsString(value)||(!IsMaxLength4(schema)||CheckMaxLength(stack,context,schema,value))&&(!IsMinLength4(schema)||CheckMinLength(stack,context,schema,value))&&(!IsFormat(schema)||CheckFormat(stack,context,schema,value))&&(!IsPattern(schema)||CheckPattern(stack,context,schema,value)))&&(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||(!IsExclusiveMaximum(schema)||CheckExclusiveMaximum(stack,context,schema,value))&&(!IsExclusiveMinimum(schema)||CheckExclusiveMinimum(stack,context,schema,value))&&(!IsMaximum(schema)||CheckMaximum(stack,context,schema,value))&&(!IsMinimum(schema)||CheckMinimum(stack,context,schema,value))&&(!IsMultipleOf2(schema)||CheckMultipleOf(stack,context,schema,value)))&&(!IsRef2(schema)||CheckRef(stack,context,schema,value))&&(!IsRecursiveRef(schema)||CheckRecursiveRef(stack,context,schema,value))&&(!IsDynamicRef(schema)||CheckDynamicRef(stack,context,schema,value))&&(!IsConst(schema)||CheckConst(stack,context,schema,value))&&(!IsEnum2(schema)||CheckEnum(stack,context,schema,value))&&(!IsIf(schema)||CheckIf(stack,context,schema,value))&&(!IsNot(schema)||CheckNot(stack,context,schema,value))&&(!IsAllOf(schema)||CheckAllOf(stack,context,schema,value))&&(!IsAnyOf(schema)||CheckAnyOf(stack,context,schema,value))&&(!IsOneOf(schema)||CheckOneOf(stack,context,schema,value))&&(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||CheckUnevaluatedItems(stack,context,schema,value))&&(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||CheckUnevaluatedProperties(stack,context,schema,value))&&(!IsRefine2(schema)||CheckRefine(stack,context,schema,value));return stack.Pop(schema),result}function ErrorSchemaPushStack(stack,context,schemaPath,instancePath,schema,value){return context.Push()&&ErrorSchema(stack,context,schemaPath,instancePath,schema,value)&&context.Pop()}function ErrorSchema(stack,context,schemaPath,instancePath,schema,value){if(context.AtCapacity())return!1;stack.Push(schema);let result=IsSchemaBoolean(schema)?ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value):!!(+(!IsType(schema)||ErrorType(stack,context,schemaPath,instancePath,schema,value))&+(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||!!(+(!IsRequired(schema)||ErrorRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsAdditionalProperties(schema)||ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependencies(schema)||ErrorDependencies(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentRequired(schema)||ErrorDependentRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentSchemas(schema)||ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value))&+(!IsPatternProperties(schema)||ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsProperties(schema)||ErrorProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsPropertyNames(schema)||ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinProperties(schema)||ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxProperties(schema)||ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsArray(value)||!!(+(!IsAdditionalItems(schema)||ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsContains(schema)||ErrorContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsItems(schema)||ErrorItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxContains(schema)||ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxItems(schema)||ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinContains(schema)||ErrorMinContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinItems(schema)||ErrorMinItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsPrefixItems(schema)||ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUniqueItems(schema)||ErrorUniqueItems(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsString(value)||!!(+(!IsMaxLength4(schema)||ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinLength4(schema)||ErrorMinLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsFormat(schema)||ErrorFormat(stack,context,schemaPath,instancePath,schema,value))&+(!IsPattern(schema)||ErrorPattern(stack,context,schemaPath,instancePath,schema,value))))&+(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||!!(+(!IsExclusiveMaximum(schema)||ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsExclusiveMinimum(schema)||ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaximum(schema)||ErrorMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinimum(schema)||ErrorMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMultipleOf2(schema)||ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value))))&+(!IsRef2(schema)||ErrorRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsRecursiveRef(schema)||ErrorRecursiveRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsDynamicRef(schema)||ErrorDynamicRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsConst(schema)||ErrorConst(stack,context,schemaPath,instancePath,schema,value))&+(!IsEnum2(schema)||ErrorEnum(stack,context,schemaPath,instancePath,schema,value))&+(!IsIf(schema)||ErrorIf(stack,context,schemaPath,instancePath,schema,value))&+(!IsNot(schema)||ErrorNot(stack,context,schemaPath,instancePath,schema,value))&+(!IsAllOf(schema)||ErrorAllOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsAnyOf(schema)||ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsOneOf(schema)||ErrorOneOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value)))&&(!IsRefine2(schema)||ErrorRefine(stack,context,schemaPath,instancePath,schema,value));return stack.Pop(schema),result}var index2=[0],names=new Map,funcs=new Map;function NextName(){return`${index2[0]++}`}function CreateName(schema,href){names.has(schema)||names.set(schema,new Map);let hrefs=names.get(schema);if(hrefs.has(href))return hrefs.get(href);let name=NextName();return hrefs.set(href,name),name}function CreateCallExpression(context,_schema,name,value){return context.UseUnevaluated()?emit_exports.Call(`check_${name}`,["context",value]):emit_exports.Call(`check_${name}`,[value])}function CreateFunctionExpression(stack,context,schema,name){let expression=BuildSchema(stack,context,schema,"value");return context.UseUnevaluated()?emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["context","value"],expression)):emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["value"],expression))}function ResetFunctions(){index2[0]=0,names.clear(),funcs.clear()}function GetFunctions(){return[...funcs.values()]}function CreateFunction(stack,context,schema,value){let name=CreateName(schema,stack.LexicalBaseURL()),call=CreateCallExpression(context,schema,name,value);return funcs.has(name)||(funcs.set(name,""),funcs.set(name,CreateFunctionExpression(stack,context,schema,name))),call}var resolve_exports={};__export(resolve_exports,{Base:()=>Base2,DefaultBase:()=>DefaultBase,DynamicRef:()=>DynamicRef,Ref:()=>Ref2,ResolveDynamicRef:()=>ResolveDynamicRef,ResolveRecursiveRef:()=>ResolveRecursiveRef,ResolveRef:()=>ResolveRef,Resource:()=>Resource});var pointer_exports={};__export(pointer_exports,{Delete:()=>Delete,Get:()=>Get4,Has:()=>Has2,Indices:()=>Indices,Set:()=>Set4});function AssertNotRoot(indices){if(indices.length===0)throw Error("Cannot set root")}function AssertCanSet(value){if(!guard_exports.IsObject(value))throw Error("Cannot set value")}function AssertIndex(index3){if(guard_exports.IsUnsafePropertyKey(index3))throw Error("Pointer contains unsafe property key")}function AssertIndices(indices){for(let index3 of indices)AssertIndex(index3)}function IsNumericIndex(index3){return/^(0|[1-9]\d*)$/.test(index3)}function TakeIndexRight(indices){return[indices.slice(0,indices.length-1),indices.slice(indices.length-1)[0]]}function HasIndex(index3,value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,index3)}function GetIndex(index3,value){return guard_exports.IsObject(value)&&!guard_exports.IsUnsafePropertyKey(index3)?value[index3]:void 0}function GetIndices(indices,value){return indices.reduce((value2,index3)=>GetIndex(index3,value2),value)}function Indices(pointer){if(guard_exports.IsEqual(pointer.length,0))return[];let indices=pointer.split("/").map(index3=>index3.replace(/~1/g,"/").replace(/~0/g,"~"));return indices.length>0&&indices[0]===""?indices.slice(1):indices}function Has2(value,pointer){let current=value;return Indices(pointer).every(index3=>HasIndex(index3,current)?(current=current[index3],!0):!1)}function Get4(value,pointer){let indices=Indices(pointer);return GetIndices(indices,value)}function Set4(value,pointer,next){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),parent[index3]=next,value}function Delete(value,pointer){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),guard_exports.IsArray(parent)&&IsNumericIndex(index3)?parent.splice(+index3,1):delete parent[index3],value}var DefaultBase="https://json-schema.org";function FindDynamicAnchor(schema,name){if(guard_exports.IsObject(schema)&&IsDynamicAnchor(schema)&&guard_exports.IsEqual(schema.$dynamicAnchor,name))return schema;if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindDynamicAnchor(schema[key],name);if(result)return result}}function FindBase(schema,base,target){if(guard_exports.IsEqual(schema,target))return base.href;let nextBase=IsSchemaObject2(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(guard_exports.IsArray(schema))for(let item of schema){let result=FindBase(item,nextBase,target);if(!guard_exports.IsUndefined(result))return result}else if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindBase(schema[key],nextBase,target);if(!guard_exports.IsUndefined(result))return result}}function MatchId(schema,base,ref){if(guard_exports.IsEqual(schema.$id,ref.hash))return schema;let absoluteRef=new URL(ref.href,base.href);if(guard_exports.IsEqual(base.pathname,absoluteRef.pathname))return ref.hash.startsWith("#")?MatchHash(schema,ref):schema}function MatchAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$anchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchDynamicAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$dynamicAnchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchHash(schema,ref){if(ref.href.endsWith("#"))return schema;if(!ref.hash.startsWith("#"))return;let fragment=decodeURIComponent(ref.hash.slice(1));return fragment.startsWith("/")?pointer_exports.Get(schema,fragment):void 0}function Match4(schema,base,ref){if(IsId(schema)){let result=MatchId(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsAnchor(schema)){let result=MatchAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsDynamicAnchor(schema)){let result=MatchDynamicAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}return MatchHash(schema,ref)}function FromArray6(schema,base,ref){return schema.reduce((result,item)=>{let match=FromValue3(item,base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function SkipProperty(key){return guard_exports.IsEqual(key,"const")||guard_exports.IsEqual(key,"enum")}function FromObject10(schema,base,ref){return guard_exports.Keys(schema).reduce((result,key)=>{if(SkipProperty(key))return result;let match=FromValue3(schema[key],base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function FromValue3(schema,base,ref){let nextBase=IsSchemaObject2(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(IsSchemaObject2(schema)){let result=Match4(schema,nextBase,ref);if(!guard_exports.IsUndefined(result))return result}if(guard_exports.IsArray(schema))return FromArray6(schema,nextBase,ref);if(guard_exports.IsObject(schema))return FromObject10(schema,nextBase,ref)}function Base2(schema,base,target){return FindBase(schema,new URL(base||".",DefaultBase),target)}function Resource(context,schema,base,ref){let result=Ref2(context,schema,base,ref,!1);return IsSchemaObject2(result)&&IsId(result)?result:void 0}function CanonicalHref(url){return url.href.split("#")[0]}function RefContext(context,ref){return guard_exports.HasPropertyKey(context,ref)?context[ref]:void 0}function RefLocal(schema,base,ref){return FromValue3(schema,base,ref)}function RefRemote(context,base,ref){let canonicalHref=CanonicalHref(ref);if(guard_exports.IsEqual(canonicalHref,CanonicalHref(base))||!guard_exports.HasPropertyKey(context,canonicalHref))return;let remoteSchema=context[canonicalHref],remoteBase=IsSchemaObject2(remoteSchema)&&IsId(remoteSchema)?new URL(remoteSchema.$id,canonicalHref):new URL(canonicalHref);return guard_exports.IsEqual(ref.hash,"")?remoteSchema:FromValue3(remoteSchema,remoteBase,ref)}function LegacyRetrievedResource(root,lexicalSchema,referenceBase,ref,schema){if(!ref.$ref.startsWith("#")||guard_exports.HasPropertyKey(root,"$schema"))return;let targetBase=Base2(lexicalSchema,referenceBase,schema);if(!(guard_exports.IsUndefined(targetBase)||guard_exports.IsEqual(targetBase,referenceBase)))return{target:schema,base:targetBase,root:lexicalSchema}}function RemoteRetrievedResource(context,canonical,schema){let remoteRoot=context[canonical];if(IsSchemaObject2(remoteRoot))return{target:schema,base:canonical,root:remoteRoot}}function FindRetrievedResource(stackframe,ref,schema,canonical,isRemote){let remote=isRemote?RemoteRetrievedResource(stackframe.context,canonical,schema):void 0;return guard_exports.IsUndefined(remote)?LegacyRetrievedResource(stackframe.root,stackframe.lexicalSchema,stackframe.referenceBase,ref,schema):remote}function FindResolvedResource(context,root,referenceBase,canonical,schema,ids){if(IsId(schema))return;let resource=Resource(context,root,referenceBase,canonical);if(!(!resource||ids.includes(resource)))return{target:schema,resource}}function Ref2(remotes,schema,base,ref,applySchemaId=!0){let initialBase=new URL(base||".",DefaultBase),resolvedBase=applySchemaId&&IsId(schema)?new URL(schema.$id,initialBase):initialBase,initialRef=new URL(ref,resolvedBase.href);return RefContext(remotes,ref)??RefLocal(schema,resolvedBase,initialRef)??RefRemote(remotes,resolvedBase,initialRef)}function DynamicRef(context,root,base,schema,dynamicRef,dynamicAnchors){let initialBase=new URL(base||".",DefaultBase),fragmentRoot=dynamicRef.$dynamicRef.startsWith("#")?schema:root,fragmentTarget=Ref2(context,fragmentRoot,base,dynamicRef.$dynamicRef,!1);if(guard_exports.IsUndefined(fragmentTarget)){let fragment2=new URL(dynamicRef.$dynamicRef,initialBase).hash;if(!fragment2.startsWith("#/")&&fragment2.startsWith("#")){let name=decodeURIComponent(fragment2.slice(1));return dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,name))??FindDynamicAnchor(root,name)}return}return!IsSchemaObject2(fragmentTarget)||!IsDynamicAnchor(fragmentTarget)||new URL(dynamicRef.$dynamicRef,initialBase).hash.startsWith("#/")?fragmentTarget:dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,fragmentTarget.$dynamicAnchor))??fragmentTarget}function ResolveRef(stackframe,ref){let source=stackframe.inRetrievedFrame?stackframe.lexicalSchema:stackframe.root,refRoot=ref.$ref.startsWith("#")?stackframe.lexicalSchema:source,schema=Ref2(stackframe.context,refRoot,stackframe.referenceBase,ref.$ref,!1);if(!schema||!IsSchemaObject2(schema))return{schema};let canonical=new URL(ref.$ref,stackframe.referenceBase).href.split("#")[0],isRemote=!guard_exports.IsEqual(canonical,stackframe.resourceBase),retrievedResource=FindRetrievedResource(stackframe,ref,schema,canonical,isRemote),resolvedResource=isRemote?FindResolvedResource(stackframe.context,stackframe.root,stackframe.referenceBase,canonical,schema,stackframe.ids):void 0;return{schema,retrievedResource,resolvedResource}}function ResolveRecursiveRef(stackframe,recursiveRef){let refRoot=IsRecursiveAnchorTrue(stackframe.lexicalSchema)?stackframe.recursiveAnchors[0]:stackframe.lexicalSchema;return Ref2(stackframe.context,refRoot,stackframe.lexicalBase,recursiveRef.$recursiveRef,!1)}function ResolveDynamicRef(stackframe,dynamicRef){return DynamicRef(stackframe.context,stackframe.root,stackframe.lexicalBase,stackframe.lexicalSchema,dynamicRef,stackframe.dynamicAnchors)}var __classPrivateFieldGet=function(receiver,state2,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state2.get(receiver)},_Stack_instances,_Stack_StackFrame,_Stack_ApplyRefResult,_Stack_BuildBase,_Stack_ResourceBaseURL,_Stack_ReferenceBaseURL,_Stack_LexicalSchema,_Stack_RegisterResourceAnchorArray,_Stack_UnregisterResourceAnchorArray,_Stack_RegisterResourceAnchors,_Stack_UnregisterResourceAnchors,_Stack_RegisterResource,_Stack_UnregisterResource,_Stack_EnterResolvedResource,_Stack_ExitResolvedResource,Stack=class{constructor(context,schema){_Stack_instances.add(this),this.context=context,this.schema=schema,this.ids=[],this.resourceIds=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[],this.retrievedResources=new Map,this.retrievedFrames=[],this.resolvedResources=new Map,this.pendingResource=!0}LexicalBaseURL(){return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.ids)}Push(schema){if(!IsSchemaObject2(schema))return;IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.push(schema),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.push(schema),IsDynamicAnchor(schema)&&this.dynamicAnchors.push(schema);let retrievedResource=this.retrievedResources.get(schema);retrievedResource&&this.retrievedFrames.push({schema:retrievedResource.root,base:retrievedResource.base,idDepth:this.ids.length,resourceDepth:this.resourceIds.length})}Pop(schema){IsSchemaObject2(schema)&&(IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.pop(),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.pop(),IsDynamicAnchor(schema)&&this.dynamicAnchors.pop(),this.retrievedResources.has(schema)&&this.retrievedFrames.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ExitResolvedResource).call(this,schema))}Ref(ref){let result=resolve_exports.ResolveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),ref);return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ApplyRefResult).call(this,result),result.schema}RecursiveRef(recursiveRef){let result=resolve_exports.ResolveRecursiveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),recursiveRef);return result&&(this.pendingResource=!0),result}DynamicRef(dynamicRef){let result=resolve_exports.ResolveDynamicRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),dynamicRef);return result&&(this.pendingResource=!0),result}};_Stack_instances=new WeakSet,_Stack_StackFrame=function(){return{context:this.context,root:this.schema,ids:this.ids,lexicalSchema:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_LexicalSchema).call(this),lexicalBase:this.LexicalBaseURL(),referenceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ReferenceBaseURL).call(this),resourceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this),recursiveAnchors:this.recursiveAnchors,dynamicAnchors:this.dynamicAnchors,inRetrievedFrame:this.retrievedFrames.length>0}},_Stack_ApplyRefResult=function(result){guard_exports.IsUndefined(result.schema)||(this.pendingResource=!0),guard_exports.IsUndefined(result.resolvedResource)||__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_EnterResolvedResource).call(this,result.resolvedResource.target,result.resolvedResource.resource),guard_exports.IsUndefined(result.retrievedResource)||this.retrievedResources.set(result.retrievedResource.target,{base:result.retrievedResource.base,root:result.retrievedResource.root})},_Stack_BuildBase=function(stack){let frame=this.retrievedFrames[this.retrievedFrames.length-1],base=frame?new URL(frame.base):new URL(resolve_exports.DefaultBase);return(frame?stack.slice(frame.idDepth):stack).reduce((result,schema)=>new URL(schema.$id,result),base).href},_Stack_ResourceBaseURL=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.resourceIds.slice(frame.resourceDepth).reduce((result,schema)=>new URL(schema.$id,result),new URL(frame.base)).href:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.resourceIds)},_Stack_ReferenceBaseURL=function(){if(this.retrievedFrames.length>0)return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this);let lexical=this.ids[this.ids.length-1];return lexical&&!/^[A-Za-z][A-Za-z0-9+.-]*:/.test(lexical.$id)?this.LexicalBaseURL():__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this)},_Stack_LexicalSchema=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.ids.length>frame.idDepth?this.ids[this.ids.length-1]:frame.schema:this.ids.length>0?this.ids[this.ids.length-1]:this.schema},_Stack_RegisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema2,!1))},_Stack_UnregisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema2,!1))},_Stack_RegisterResourceAnchors=function _Stack_RegisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject2(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.push(current);for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors2).call(this,current[key],!1)}},_Stack_UnregisterResourceAnchors=function _Stack_UnregisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject2(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.pop();for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors2).call(this,current[key],!1)}},_Stack_RegisterResource=function(schema){this.ids.push(schema);let isResource=this.pendingResource;this.pendingResource=!1,isResource&&this.resourceIds.push(schema),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema,!0)},_Stack_UnregisterResource=function(schema){this.ids.pop(),this.resourceIds.length>0&&guard_exports.IsEqual(this.resourceIds[this.resourceIds.length-1],schema)&&this.resourceIds.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema,!0)},_Stack_EnterResolvedResource=function(target,resource){__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,resource),this.resolvedResources.set(target,resource)},_Stack_ExitResolvedResource=function(target){if(!this.resolvedResources.has(target))return;let resource=this.resolvedResources.get(target);__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,resource),this.resolvedResources.delete(target)};function CreateCode(build){let functions=build.Functions().join(`;
140
+ `),statements=build.UseUnevaluated()?["const context = new CheckContext({}, {})",`return ${build.Entry()}`]:[`return ${build.Entry()}`];return`${functions}; return (value) => { ${statements.join("; ")} }`}function CreateEvaluatedCheck(build,code){return environment_exports.Evaluate("CheckContext","Guard","Format","Hashing",build.External().identifier,code)(CheckContext,guard_exports,format_exports,hash_exports,build.External().variables)}function CreateDynamicCheck(build){let stack=new Stack(build.Context(),build.Schema()),context=new CheckContext;return value=>CheckSchema(stack,context,build.Schema(),value)}function CreateCheck(build,code){return environment_exports.CanEvaluate()?CreateEvaluatedCheck(build,code):CreateDynamicCheck(build)}var EvaluateResult=class{constructor(isAccelerated,code,check){this.isAccelerated=isAccelerated,this.code=code,this.check=check}IsAccelerated(){return this.isAccelerated}Code(){return this.code}Check(value){return this.check(value)}},BuildResult=class{constructor(context,schema,external,functions,entry,useUnevaluated){this.context=context,this.schema=schema,this.external=external,this.functions=functions,this.entry=entry,this.useUnevaluated=useUnevaluated}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Entry(){return this.entry}Evaluate(){let code=CreateCode(this),check=CreateCheck(this,code);return new EvaluateResult(environment_exports.CanEvaluate(),code,check)}};function Build(...args){let[context,schema]=arguments_exports.Match(args,{2:(context2,schema2)=>[context2,schema2],1:schema2=>[{},schema2]});ResetExternal(),ResetFunctions();let stack=new Stack(context,schema),build=new BuildContext(HasUnevaluated(context,schema)),call=CreateFunction(stack,build,schema,"value"),functions=GetFunctions(),externals=GetExternal();return new BuildResult(context,schema,externals,functions,call,build.UseUnevaluated())}function Errors(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),errorContext=new ErrorContext,result=ErrorSchema(stack,errorContext,"#","",schema,value),errors=errorContext.GetErrors(),locale2=Get2(),localized=errors.map(error2=>({...error2,message:locale2(error2)}));return[result,localized]}function Check(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),checkContext=new CheckContext;return CheckSchema(stack,checkContext,schema,value)}function Check2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Check(context,type,value)}function Errors2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),[_,errors]=Errors(context,type,value);return errors}var AssertError=class extends Error{constructor(source,value,errors){super(source),Object.defineProperty(this,"cause",{value:{source,errors,value},writable:!1,configurable:!1,enumerable:!1})}};function Assert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(!Check2(context,type,value))throw new AssertError("Assert",value,Errors2(context,type,value))}function FromArray7(context,type,value){return guard_exports.IsArray(value)?value.map(value2=>FromType19(context,type.items,value2)):value}function FromCyclic6(context,type,value){return FromType19({...context,...type.$defs},Ref(type.$ref),value)}function EvaluateIntersection(context,type){let additionalProperties=guard_exports.HasPropertyKey(type,"unevaluatedProperties")?{additionalProperties:type.unevaluatedProperties}:{},instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return IsObject3(evaluated)?With2(evaluated,additionalProperties):evaluated}function FromIntersect6(context,type,value){let evaluated=EvaluateIntersection(context,type);return FromType19(context,evaluated,value)}function GetAdditionalProperties(type){return guard_exports.HasPropertyKey(type,"additionalProperties")?type.additionalProperties:void 0}function FromObject11(context,type,value){if(!guard_exports.IsObject(value)||guard_exports.IsArray(value))return value;let additionalProperties=GetAdditionalProperties(type);for(let key of guard_exports.Keys(value)){if(guard_exports.HasPropertyKey(type.properties,key)){value[key]=FromType19(context,type.properties[key],value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType19(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRecord3(context,type,value){if(!guard_exports.IsObject(value))return value;let additionalProperties=GetAdditionalProperties(type),[recordPattern,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value)){if(recordPattern.test(key)){value[key]=FromType19(context,recordValue,value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType19(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRef5(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType19(context,context[type.$ref],value):value}function FromTuple5(context,schema,value){if(!guard_exports.IsArray(value))return value;let length=Math.min(value.length,schema.items.length);for(let index3=0;index3<length;index3++)value[index3]=FromType19(context,schema.items[index3],value[index3]);return guard_exports.IsGreaterThan(value.length,length)?value.slice(0,length):value}function Clone2(value){return Clone(value)}function FromUnion9(context,type,value){for(let schema of type.anyOf){let clean=FromType19(context,schema,Clone2(value));if(Check2(context,schema,clean))return clean}return value}function FromType19(context,type,value){return IsArray3(type)?FromArray7(context,type,value):IsCyclic(type)?FromCyclic6(context,type,value):IsIntersect(type)?FromIntersect6(context,type,value):IsObject3(type)?FromObject11(context,type,value):IsRecord(type)?FromRecord3(context,type,value):IsRef(type)?FromRef5(context,type,value):IsTuple(type)?FromTuple5(context,type,value):IsUnion(type)?FromUnion9(context,type,value):value}function Modifiers(type,next){for(let key of guard_default.Keys(type))guard_default.HasPropertyKey(next,key)||(next[key]=type[key]);return next}function FromProperties4(properties){let result={};for(let key of guard_default.Keys(properties))result[key]=FromType20(properties[key]);return result}function FromPriorityTypes(types){return FromTypes6(Priority(types))}function FromTypes6(types){return types.map(type=>FromType20(type))}function FromType20(type){let next=IsArray3(type)?_Array_(FromType20(type.items),ArrayOptions(type)):IsIntersect(type)?Intersect(FromTypes6(type.allOf)):IsUnion(type)?Union(FromPriorityTypes(type.anyOf)):IsObject3(type)?_Object_(FromProperties4(type.properties)):IsRecord(type)?Record(RecordKey(type),FromType20(RecordValue(type))):IsTuple(type)?Tuple(FromTypes6(type.items)):type;return Modifiers(type,next)}function UnionPrioritySort(type){return FromType20(type)}function Clean(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType19(context,sorted,value)}var try_exports={};__export(try_exports,{Fail:()=>Fail,IsOk:()=>IsOk,Ok:()=>Ok,TryArray:()=>TryArray,TryBigInt:()=>TryBigInt,TryBoolean:()=>TryBoolean,TryNull:()=>TryNull,TryNumber:()=>TryNumber,TryString:()=>TryString,TryUndefined:()=>TryUndefined});function IsOk(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"value")}function Ok(value){return{value}}function Fail(){}function TryArray(value){return guard_exports.IsArray(value)?Ok(value):Ok([value])}function FromBoolean2(value){return guard_exports.IsEqual(value,!0)?Ok(BigInt(1)):Ok(BigInt(0))}var bigintPattern=/^-?(0|[1-9]\d*)n$/,decimalPattern=/^-?(0|[1-9]\d*)\.\d+$/,integerPattern=/^-?(0|[1-9]\d*)$/;function IsStringBigIntLike(value){return bigintPattern.test(value)}function IsStringDecimalLike(value){return decimalPattern.test(value)}function IsStringIntegerLike(value){return integerPattern.test(value)}function FromString2(value){let lowercase=value.toLowerCase();return IsStringBigIntLike(value)?Ok(BigInt(value.slice(0,value.length-1))):IsStringDecimalLike(value)?Ok(BigInt(value.split(".")[0])):IsStringIntegerLike(value)?Ok(BigInt(value)):guard_exports.IsEqual(lowercase,"false")?Ok(BigInt(0)):guard_exports.IsEqual(lowercase,"true")?Ok(BigInt(1)):void 0}function TryBigInt(value){return guard_exports.IsBigInt(value)?Ok(value):guard_exports.IsBoolean(value)?FromBoolean2(value):guard_exports.IsNumber(value)?Ok(BigInt(Math.trunc(value))):guard_exports.IsNull(value)?Ok(BigInt(0)):guard_exports.IsString(value)?FromString2(value):guard_exports.IsUndefined(value)?Ok(BigInt(0)):void 0}function FromBigInt2(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(!1):guard_exports.IsEqual(value,BigInt(1))?Ok(!0):void 0}function FromNumber2(value){return guard_exports.IsEqual(value,0)?Ok(!1):guard_exports.IsEqual(value,1)?Ok(!0):void 0}function FromString3(value){return guard_exports.IsEqual(value.toLowerCase(),"false")?Ok(!1):guard_exports.IsEqual(value.toLowerCase(),"true")?Ok(!0):guard_exports.IsEqual(value,"0")?Ok(!1):guard_exports.IsEqual(value,"1")?Ok(!0):void 0}function TryBoolean(value){return guard_exports.IsBigInt(value)?FromBigInt2(value):guard_exports.IsBoolean(value)?Ok(value):guard_exports.IsNumber(value)?FromNumber2(value):guard_exports.IsNull(value)?Ok(!1):guard_exports.IsString(value)?FromString3(value):guard_exports.IsUndefined(value)?Ok(!1):void 0}function FromBigInt3(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(null):void 0}function FromBoolean3(value){return guard_exports.IsEqual(value,!1)?Ok(null):void 0}function FromNumber3(value){return guard_exports.IsEqual(value,0)?Ok(null):void 0}function FromString4(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(null):void 0}function TryNull(value){return guard_exports.IsBigInt(value)?FromBigInt3(value):guard_exports.IsBoolean(value)?FromBoolean3(value):guard_exports.IsNumber(value)?FromNumber3(value):guard_exports.IsNull(value)?Ok(null):guard_exports.IsString(value)?FromString4(value):guard_exports.IsUndefined(value)?Ok(null):void 0}var maxBigInt=BigInt(Number.MAX_SAFE_INTEGER),minBigInt=BigInt(Number.MIN_SAFE_INTEGER);function FromBigInt4(value){return value<=maxBigInt&&value>=minBigInt?Ok(Number(value)):void 0}function FromBoolean4(value){return Ok(value?1:0)}function FromString5(value){let coerced=+value;if(guard_exports.IsNumber(coerced))return Ok(coerced);let lowercase=value.toLowerCase();if(guard_exports.IsEqual(lowercase,"false"))return Ok(0);if(guard_exports.IsEqual(lowercase,"true"))return Ok(1);let result=TryBigInt(value);return IsOk(result)?result.value<=maxBigInt&&result.value>=minBigInt?Ok(Number(result.value)):void 0:void 0}function TryNumber(value){return guard_exports.IsBigInt(value)?FromBigInt4(value):guard_exports.IsBoolean(value)?FromBoolean4(value):guard_exports.IsNumber(value)?Ok(value):guard_exports.IsNull(value)?Ok(0):guard_exports.IsString(value)?FromString5(value):guard_exports.IsUndefined(value)?Ok(0):void 0}function TryString(value){return guard_exports.IsBigInt(value)?Ok(value.toString()):guard_exports.IsBoolean(value)?Ok(value.toString()):guard_exports.IsNumber(value)?Ok(value.toString()):guard_exports.IsNull(value)?Ok("null"):guard_exports.IsString(value)?Ok(value):guard_exports.IsUndefined(value)?Ok(""):void 0}function FromBigInt5(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(void 0):void 0}function FromBoolean5(value){return guard_exports.IsEqual(value,!1)?Ok(void 0):void 0}function FromNumber4(value){return guard_exports.IsEqual(value,0)?Ok(void 0):void 0}function FromString6(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(void 0):void 0}function TryUndefined(value){return guard_exports.IsBigInt(value)?FromBigInt5(value):guard_exports.IsBoolean(value)?FromBoolean5(value):guard_exports.IsNumber(value)?FromNumber4(value):guard_exports.IsNull(value)?Ok(void 0):guard_exports.IsString(value)?FromString6(value):guard_exports.IsUndefined(value)?Ok(value):void 0}function FromArray8(context,type,value){return try_exports.TryArray(value).value.map(value2=>FromType21(context,type.items,value2))}function FromBigInt6(_context,_type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)?result.value:value}function FromBoolean6(_context,_type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)?result.value:value}function FromCyclic7(context,type,value){return FromType21({...context,...type.$defs},Ref(type.$ref),value)}function FromEnum3(context,type,value){return FromType21(context,Evaluate2(type),value)}function FromInteger(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?Math.trunc(result.value):value}function FromIntersect7(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType21(context,evaluated,value)}function FromLiteralBigInt(_context,type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralBoolean(_context,type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralNumber(_context,type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralString(_context,type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteral6(context,type,value){return guard_exports.IsEqual(type.const,value)?value:IsLiteralBigInt(type)?FromLiteralBigInt(context,type,value):IsLiteralBoolean(type)?FromLiteralBoolean(context,type,value):IsLiteralNumber(type)?FromLiteralNumber(context,type,value):IsLiteralString(type)?FromLiteralString(context,type,value):Unreachable()}function FromNull2(_context,_type,value){let result=try_exports.TryNull(value);return try_exports.IsOk(result)?result.value:value}function FromNumber5(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?result.value:value}function FromAdditionalProperties(context,entries,additionalProperties,value){let keys=guard_exports.Keys(value);for(let[regexp,_]of entries)for(let key of keys)regexp.test(key)||(value[key]=FromType21(context,additionalProperties,value[key]));return value}function IsOptionalUndefined(property,key,value){return IsOptional(property)&&guard_exports.IsUndefined(value[key])}function FromProperties5(context,type,value){let entries=guard_exports.EntriesRegExp(type.properties),keys=guard_exports.Keys(value);for(let[regexp,property]of entries)for(let key of keys)!regexp.test(key)||IsOptionalUndefined(property,key,value)||(value[key]=FromType21(context,property,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromObject12(context,type,value){return guard_exports.IsObjectNotArray(value)?FromProperties5(context,type,value):value}function FromPatternProperties(context,type,value){let entries=guard_exports.EntriesRegExp(type.patternProperties),keys=guard_exports.Keys(value);for(let[regexp,schema]of entries)for(let key of keys)regexp.test(key)&&(value[key]=FromType21(context,schema,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromRecord4(context,type,value){return guard_exports.IsObjectNotArray(value)?FromPatternProperties(context,type,value):value}function FromRef6(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType21(context,context[type.$ref],value):value}function FromString7(_context,_type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)?result.value:value}function FromTemplateLiteral4(context,type,value){return FromType21(context,Evaluate2(type),value)}function FromTuple6(context,type,value){if(!guard_exports.IsArray(value))return value;for(let index3=0;index3<Math.min(type.items.length,value.length);index3++)value[index3]=FromType21(context,type.items[index3],value[index3]);return value}function FromUndefined2(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?result.value:value}function FromUnion10(context,type,value){if(type.anyOf.some(type2=>Check2(context,type2,value)))return value;let selected=type.anyOf.map(type2=>FromType21(context,type2,Clone2(value))).find(value2=>Check2(context,type,value2));return guard_exports.IsUndefined(selected)?value:selected}function FromVoid(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?void 0:value}function FromType21(context,type,value){return IsArray3(type)?FromArray8(context,type,value):IsBigInt3(type)?FromBigInt6(context,type,value):IsBoolean4(type)?FromBoolean6(context,type,value):IsCyclic(type)?FromCyclic7(context,type,value):IsEnum(type)?FromEnum3(context,type,value):IsInteger3(type)?FromInteger(context,type,value):IsIntersect(type)?FromIntersect7(context,type,value):IsLiteral(type)?FromLiteral6(context,type,value):IsNull3(type)?FromNull2(context,type,value):IsNumber4(type)?FromNumber5(context,type,value):IsObject3(type)?FromObject12(context,type,value):IsRecord(type)?FromRecord4(context,type,value):IsRef(type)?FromRef6(context,type,value):IsString4(type)?FromString7(context,type,value):IsTemplateLiteral(type)?FromTemplateLiteral4(context,type,value):IsTuple(type)?FromTuple6(context,type,value):IsUndefined3(type)?FromUndefined2(context,type,value):IsUnion(type)?FromUnion10(context,type,value):IsVoid(type)?FromVoid(context,type,value):value}function Convert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType21(context,type,value)}function FromArray9(context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType22(context,type.items,value[i]);return value}function FromCyclic8(context,type,value){return FromType22({...context,...type.$defs},Ref(type.$ref),value)}function FromDefault(type,value){return guard_exports.IsUndefined(value)?guard_exports.IsFunction(type.default)?type.default():Clone2(type.default):value}function FromIntersect8(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType22(context,evaluated,value)}function FromObject13(context,type,value){if(!guard_exports.IsObject(value))return value;let knownPropertyKeys=guard_exports.Keys(type.properties);for(let key of knownPropertyKeys){let propertyValue=FromType22(context,type.properties[key],value[key]);guard_exports.IsUndefined(propertyValue)&&(IsOptional(type.properties[key])||!guard_exports.HasPropertyKey(type.properties[key],"default"))||(value[key]=propertyValue)}if(!IsAdditionalProperties(type)||guard_exports.IsBoolean(type.additionalProperties))return value;for(let key of guard_exports.Keys(value))knownPropertyKeys.includes(key)||(value[key]=FromType22(context,type.additionalProperties,value[key]));return value}function FromRecord5(context,type,value){if(!guard_exports.IsObject(value))return value;let[recordKey,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value))recordKey.test(key)&&IsDefault(recordValue)&&(value[key]=FromType22(context,recordValue,value[key]));if(!IsAdditionalProperties(type))return value;for(let key of guard_exports.Keys(value))recordKey.test(key)||(value[key]=FromType22(context,type.additionalProperties,value[key]));return value}function FromRef7(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType22(context,context[type.$ref],value):value}function FromTuple7(context,schema,value){if(!guard_exports.IsArray(value))return value;let[items,max]=[schema.items,Math.max(schema.items.length,value.length)];for(let i=0;i<max;i++)i<items.length&&(value[i]=FromType22(context,items[i],value[i]));return value}function FromUnion11(context,schema,value){for(let inner of schema.anyOf){let result=FromType22(context,inner,Clone2(value));if(Check2(context,inner,result))return result}return value}function FromType22(context,type,value){let defaulted=IsDefault(type)?FromDefault(type,value):value;return IsArray3(type)?FromArray9(context,type,defaulted):IsCyclic(type)?FromCyclic8(context,type,defaulted):IsIntersect(type)?FromIntersect8(context,type,defaulted):IsObject3(type)?FromObject13(context,type,defaulted):IsRecord(type)?FromRecord5(context,type,defaulted):IsRef(type)?FromRef7(context,type,defaulted):IsTuple(type)?FromTuple7(context,type,defaulted):IsUnion(type)?FromUnion11(context,type,defaulted):defaulted}function Default(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType22(context,type,value)}function Pipeline(pipeline){return(...args)=>{let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return pipeline.reduce((result,func)=>func(context,type,result),value)}}function Decode3(_context,type,value){return type["~codec"].decode(value)}function Encode3(_context,type,value){return type["~codec"].encode(value)}function Callback(direction,context,type,value){return IsCodec(type)?guard_exports.IsEqual(direction,"Decode")?Decode3(context,type,value):Encode3(context,type,value):value}function Decode4(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType23(direction,context,type.items,value[i]);return Callback(direction,context,type,value)}function Encode4(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return exterior;for(let i=0;i<exterior.length;i++)exterior[i]=FromType23(direction,context,type.items,exterior[i]);return exterior}function FromArray10(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode4(direction,context,type,value):Encode4(direction,context,type,value)}function FromCyclic9(direction,context,type,value){return value=FromType23(direction,{...context,...type.$defs},Ref(type.$ref),value),Callback(direction,context,type,value)}function MergeInteriors(interiors){return interiors.reduce((results,interior)=>({...results,...interior}),{})}function NonMatchingInterior(value,interiors){for(let interior of interiors)if(!guard_exports.IsDeepEqual(value,interior))return interior;return value}function Decode5(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let interiors=type.allOf.map(schema=>FromType23(direction,context,schema,Clean(schema,Clone2(value)))),exterior=interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(value,interiors);return Callback(direction,context,type,exterior)}function Encode5(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let exterior=Callback(direction,context,type,value),interiors=type.allOf.map(schema=>FromType23(direction,context,schema,Clean(schema,Clone2(exterior))));return interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(exterior,interiors)}function FromIntersect9(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode5(direction,context,type,value):Encode5(direction,context,type,value)}function Decode6(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(value,key)||IsOptionalUndefined(type.properties[key],key,value)||(value[key]=FromType23(direction,context,type.properties[key],value[key]));return Callback(direction,context,type,value)}function Encode6(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(exterior,key)||IsOptionalUndefined(type.properties[key],key,exterior)||(exterior[key]=FromType23(direction,context,type.properties[key],exterior[key]));return exterior}function FromObject14(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode6(direction,context,type,value):Encode6(direction,context,type,value)}function Decode7(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(value))regexp.test(key)&&(value[key]=FromType23(direction,context,RecordValue(type),value[key]));return Callback(direction,context,type,value)}function Encode7(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(exterior))regexp.test(key)&&(exterior[key]=FromType23(direction,context,RecordValue(type),exterior[key]));return exterior}function FromRecord6(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode7(direction,context,type,value):Encode7(direction,context,type,value)}function ResolveRef2(direction,context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType23(direction,context,context[type.$ref],value):value}function FromRef8(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Callback(direction,context,type,ResolveRef2(direction,context,type,value)):ResolveRef2(direction,context,type,Callback(direction,context,type,value))}function Decode8(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<Math.min(type.items.length,value.length);i++)value[i]=FromType23(direction,context,type.items[i],value[i]);return Callback(direction,context,type,value)}function Encode8(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return value;for(let i=0;i<Math.min(type.items.length,exterior.length);i++)exterior[i]=FromType23(direction,context,type.items[i],exterior[i]);return exterior}function FromTuple8(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode8(direction,context,type,value):Encode8(direction,context,type,value)}function Decode9(direction,context,type,value){for(let schema of type.anyOf){if(!Check2(context,schema,value))continue;let variant=FromType23(direction,context,schema,value);return Callback(direction,context,type,variant)}return value}function Encode9(direction,context,type,value){let exterior=Callback(direction,context,type,value);for(let schema of type.anyOf){let variant=FromType23(direction,context,schema,Clone2(exterior));if(Check2(context,schema,variant))return variant}return exterior}function FromUnion12(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode9(direction,context,type,value):Encode9(direction,context,type,value)}function FromType23(direction,context,type,value){return IsArray3(type)?FromArray10(direction,context,type,value):IsCyclic(type)?FromCyclic9(direction,context,type,value):IsIntersect(type)?FromIntersect9(direction,context,type,value):IsObject3(type)?FromObject14(direction,context,type,value):IsRecord(type)?FromRecord6(direction,context,type,value):IsRef(type)?FromRef8(direction,context,type,value):IsTuple(type)?FromTuple8(direction,context,type,value):IsUnion(type)?FromUnion12(direction,context,type,value):Callback(direction,context,type,value)}var DecodeError=class extends AssertError{constructor(value,errors){super("Decode",value,errors)}};function Assert2(context,type,value){if(!Check2(context,type,value))throw new DecodeError(value,Errors2(context,type,value));return value}function DecodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType23("Decode",context,sorted,value)}var Decoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert2(context,type,value),(context,type,value)=>DecodeUnsafe(context,type,value)]);function Decode10(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Decoder(context,type,value)}var EncodeError=class extends AssertError{constructor(value,errors){super("Encode",value,errors)}};function Assert3(context,type,value){if(!Check2(context,type,value))throw new EncodeError(value,Errors2(context,type,value));return value}function EncodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType23("Encode",context,sorted,value)}var Encoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>EncodeUnsafe(context,type,value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert3(context,type,value)]);function Encode10(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Encoder(context,type,value)}function FromArray11(context,type){return IsCodec(type)||FromType24(context,type.items)}function FromCyclic10(context,type){return IsCodec(type)||FromRef9({...context,...type.$defs},Ref(type.$ref))}function FromIntersect10(context,type){return IsCodec(type)||type.allOf.some(type2=>FromType24(context,type2))}function FromObject15(context,type){return IsCodec(type)||guard_exports.Keys(type.properties).some(key=>FromType24(context,type.properties[key]))}function FromRecord7(context,type){return IsCodec(type)||FromType24(context,RecordValue(type))}function FromRef9(context,type){return visited.has(type.$ref)?!1:(visited.add(type.$ref),IsCodec(type)||guard_exports.HasPropertyKey(context,type.$ref)&&FromType24(context,context[type.$ref]))}function FromTuple9(context,type){return IsCodec(type)||type.items.some(type2=>FromType24(context,type2))}function FromUnion13(context,type){return IsCodec(type)||type.anyOf.some(type2=>FromType24(context,type2))}function FromType24(context,type){return IsArray3(type)?FromArray11(context,type):IsCyclic(type)?FromCyclic10(context,type):IsIntersect(type)?FromIntersect10(context,type):IsObject3(type)?FromObject15(context,type):IsRecord(type)?FromRecord7(context,type):IsRef(type)?FromRef9(context,type):IsTuple(type)?FromTuple9(context,type):IsUnion(type)?FromUnion13(context,type):IsCodec(type)}var visited=new Set;function HasCodec(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return visited.clear(),FromType24(context,type)}var CreateError=class extends Error{constructor(type,message){super(message),this.type=type}};function FromDefault2(_context,schema){return guard_exports.IsFunction(schema.default)?schema.default(schema):guard_exports.IsObject(schema.default)?Clone2(schema.default):schema.default}function FromArray12(context,type){if(IsUniqueItems(type)&&!IsDefault(type))throw new CreateError(type,"Arrays with uniqueItems constraints must specify a default annotation");let length=IsMinItems(type)?type.minItems:0;return Array.from({length},()=>FromType25(context,type.items))}function FromBigInt7(_context,type){return IsExclusiveMinimum(type)?BigInt(type.exclusiveMinimum)+BigInt(1):IsMinimum(type)?BigInt(type.minimum):BigInt(0)}function FromBoolean7(_context,_type){return!1}function FromConstructor2(context,type){let instanceType=FromType25(context,type.instanceType);return class{constructor(){Object.assign(this,instanceType)}}}function FromCyclic11(context,type){return FromType25({...context,...type.$defs},Ref(type.$ref))}function FromEnum4(context,type){return FromType25(context,Evaluate2(type))}function FromFunction2(context,type){let returnType=FromType25(context,type.returnType);return()=>returnType}function FromInteger2(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromIntersect11(context,type){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType25(context,evaluated)}function FromLiteral7(_context,type){return type.const}function FromNever(_context,type){throw new CreateError(type,"Cannot create TNever types")}function FromNull3(_context,_type){return null}function FromNumber6(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromObject16(context,type){return(guard_exports.IsUndefined(type.required)?[]:type.required).reduce((result,key)=>({...result,[key]:FromType25(context,type.properties[key])}),{})}function FromRecord8(_context,type){if(IsMinProperties(type)&&!IsDefault(type))throw new CreateError(type,"Record with the minProperties constraint must have a default annotation");return{}}function FromRef10(context,type){return guard_exports.HasPropertyKey(context,type.$ref)?FromType25(context,context[type.$ref]):(()=>{throw new CreateError(type,"Unable to deref Ref")})()}function FromString8(_context,type){if((IsPattern(type)||IsFormat(type))&&!IsDefault(type))throw Error("Strings with format or pattern constraints must specify default");let minLength=IsMinLength4(type)?type.minLength:0;return"".padEnd(minLength)}function FromSymbol2(_context,_type){return Symbol()}function FromTemplateLiteral5(context,type){let decoded=TemplateLiteralDecode(type.pattern);if(IsString4(decoded))throw new CreateError(type,"Unable to create TemplateLiteral due to infinite type expansion");return FromType25(context,decoded)}function FromTuple10(context,type){return Array.from({length:type.minItems},(_,i)=>FromType25(context,type.items[i]))}function FromUnion14(context,type){if(guard_exports.IsEqual(type.anyOf.length,0))throw Error("Unable to create Union with no variants");return FromType25(context,type.anyOf[0])}function FromType25(context,type){return IsDefault(type)?FromDefault2(context,type):IsArray3(type)?FromArray12(context,type):IsBigInt3(type)?FromBigInt7(context,type):IsBoolean4(type)?FromBoolean7(context,type):IsConstructor3(type)?FromConstructor2(context,type):IsCyclic(type)?FromCyclic11(context,type):IsEnum(type)?FromEnum4(context,type):IsFunction3(type)?FromFunction2(context,type):IsInteger3(type)?FromInteger2(context,type):IsIntersect(type)?FromIntersect11(context,type):IsLiteral(type)?FromLiteral7(context,type):IsNever(type)?FromNever(context,type):IsNull3(type)?FromNull3(context,type):IsNumber4(type)?FromNumber6(context,type):IsObject3(type)?FromObject16(context,type):IsRecord(type)?FromRecord8(context,type):IsRef(type)?FromRef10(context,type):IsString4(type)?FromString8(context,type):IsSymbol3(type)?FromSymbol2(context,type):IsTemplateLiteral(type)?FromTemplateLiteral5(context,type):IsTuple(type)?FromTuple10(context,type):IsUndefined3(type)?void 0:IsUnion(type)?FromUnion14(context,type):IsVoid(type)?void 0:void 0}function Create2(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return FromType25(context,type)}function Equal(left,right){return guard_exports.IsDeepEqual(left,right)}function Hash2(value){return hash_exports.Hash(value)}var ParseError=class extends AssertError{constructor(value,errors){super("Parse",value,errors)}};function Assert4(context,type,value){if(!Check2(context,type,value))throw new ParseError(value,Errors2(context,type,value));return value}var Parser=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert4(context,type,value)]);function Parse(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(Check2(context,type,value))return value;if(settings_exports.Get().correctiveParse)return Parser(context,type,value);throw new ParseError(value,Errors2(context,type,value))}function CreateUpdate(path,value){return{type:"update",path,value}}function CreateInsert(path,value){return{type:"insert",path,value}}function CreateDelete(path){return{type:"delete",path}}function AssertCanDiffObject(value){if(!(guard_exports.IsObject(value)&&guard_exports.IsEqual(guard_exports.Symbols(value).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*FromObject17(path,left,right){if(!guard_exports.IsObject(right)||guard_exports.IsArray(right))return yield CreateUpdate(path,right);AssertCanDiffObject(left),AssertCanDiffObject(right);let leftKeys=guard_exports.Keys(left),rightKeys=guard_exports.Keys(right);for(let key of rightKeys)guard_exports.HasPropertyKey(left,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateInsert(`${path}/${key}`,right[key]));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)&&(guard_exports.IsUnsafePropertyKey(key)||Equal(left,right)||(yield*FromValue4(`${path}/${key}`,left[key],right[key])));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateDelete(`${path}/${key}`))}function*FromArray13(path,left,right){if(!guard_exports.IsArray(right))return yield CreateUpdate(path,right);for(let i=0;i<Math.min(left.length,right.length);i++)yield*FromValue4(`${path}/${i}`,left[i],right[i]);for(let i=0;i<right.length;i++)i<left.length||(yield CreateInsert(`${path}/${i}`,right[i]));for(let i=left.length-1;i>=0;i--)i<right.length||(yield CreateDelete(`${path}/${i}`))}function*FromTypedArray2(path,left,right){let typeLeft=globalThis.Object.getPrototypeOf(left).constructor.name,typeRight=globalThis.Object.getPrototypeOf(right).constructor.name;if(globals_exports.IsTypeArray(right)&&guard_exports.IsEqual(left.length,right.length)&&guard_exports.IsEqual(typeLeft,typeRight))for(let index3=0;index3<Math.min(left.length,right.length);index3++)yield*FromValue4(`${path}/${index3}`,left[index3],right[index3]);else return yield CreateUpdate(path,right)}function*FromUnknown(path,left,right){left!==right&&(yield CreateUpdate(path,right))}function*FromValue4(path,left,right){return globals_exports.IsTypeArray(left)?yield*FromTypedArray2(path,left,right):guard_exports.IsArray(left)?yield*FromArray13(path,left,right):guard_exports.IsObject(left)?yield*FromObject17(path,left,right):yield*FromUnknown(path,left,right)}function Diff(current,next){return[...FromValue4("",current,next)]}var Insert2=_Object_({type:Literal("insert"),path:String2(),value:Unknown()}),Update2=Object({type:Literal("update"),path:String2(),value:Unknown()}),Delete2=_Object_({type:Literal("delete"),path:String2()}),Edit=Union([Insert2,Update2,Delete2]);function IsRoot(edits){return edits.length>0&&edits[0].path===""&&edits[0].type==="update"}function IsEmpty(edits){return edits.length===0}function Patch(current,edits){if(IsRoot(edits))return Clone2(edits[0].value);if(IsEmpty(edits))return Clone2(current);let clone=Clone2(current);for(let edit of edits)switch(edit.type){case"insert":{pointer_exports.Set(clone,edit.path,edit.value);break}case"update":{pointer_exports.Set(clone,edit.path,edit.value);break}case"delete":{pointer_exports.Delete(clone,edit.path);break}}return clone}var RepairError=class extends Error{constructor(context,type,value,message){super(message),this.context=context,this.type=type,this.value=value}};function MakeUnique(values){let[hashes,result]=[new Set,[]];for(let value of values){let hash=Hash2(value);hashes.has(hash)||(hashes.add(hash),result.push(value))}return result}function FromArray14(context,type,value){if(Check2(context,type,value))return value;let created=guard_exports.IsArray(value)?value:Create2(context,type),minimum=IsMinItems(type)&&created.length<type.minItems?[...created,...Array.from({length:type.minItems-created.length},()=>Create2(context,type))]:created,repaired=(IsMaxItems(type)&&minimum.length>type.maxItems?minimum.slice(0,type.maxItems):minimum).map(value2=>FromType26(context,type.items,value2));if(!IsUniqueItems(type)||IsUniqueItems(type)&&!guard_exports.IsEqual(type.uniqueItems,!0))return repaired;let unique=MakeUnique(repaired);if(!Check2(context,type,unique))throw new RepairError(context,type,value,"Failed to repair Array due to uniqueItems constraint");return unique}function FromEnum5(context,type,value){return FromType26(context,Evaluate2(type),value)}function FromIntersect12(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate2(instantiated);return FromType26(context,evaluated,value)}function FromObject18(context,type,value){if(Check2(context,type,value))return value;if(!guard_exports.IsObjectNotArray(value))return Create2(context,type);let required=new Set(guard_exports.IsUndefined(type.required)?[]:type.required),result={};for(let[key,schema]of guard_exports.Entries(type.properties))!required.has(key)&&guard_exports.IsUndefined(value[key])||(result[key]=key in value?FromType26(context,schema,value[key]):Create2(context,schema));let evaluatedKeys=guard_exports.Keys(type.properties);if(IsAdditionalProperties(type)&&guard_exports.IsObject(type.additionalProperties))for(let key of guard_exports.Keys(value))evaluatedKeys.includes(key)||(result[key]=FromType26(context,type.additionalProperties,value[key]));return result}function FromRecord9(context,type,value){if(Check2(context,type,value))return value;if(guard_exports.IsNull(value)||!guard_exports.IsObject(value)||guard_exports.IsArray(value))return Create2(context,type);let recordKey=new RegExp(RecordPattern(type)),recordValue=RecordValue(type),evaluatedKeys=new Set,result={};for(let[key,value_]of guard_exports.Entries(value))recordKey.test(key)&&(result[key]=FromType26(context,recordValue,value_),evaluatedKeys.add(key));if(IsAdditionalProperties(type))for(let key of guard_exports.Keys(value))evaluatedKeys.has(key)||(result[key]=FromType26(context,type.additionalProperties,value[key]));return result}function FromRef11(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType26(context,context[type.$ref],value):(()=>{throw new RepairError(context,type,value,"Unable to de-reference target type")})()}function FromTemplateLiteral6(context,type,value){let decoded=TemplateLiteralDecode(type.pattern);return FromType26(context,decoded,value)}function FromTuple11(context,schema,value){return Check2(context,schema,value)?value:guard_exports.IsArray(value)?schema.items.map((schema2,index3)=>FromType26(context,schema2,value[index3])):Create2(context,schema)}function Deref(context,type,value){return IsRef(type)?guard_exports.HasPropertyKey(context,type.$ref)?Deref(context,context[type.$ref],value):(()=>{throw new Error("Unable to Deref target")})():type}function ScoreVariant(context,type,value){if(!(IsObject3(type)&&guard_exports.IsObject(value)))return 0;let keys=guard_exports.Keys(value);return guard_exports.Entries(type.properties).reduce((result,[key,schema])=>{let literal=IsLiteral(schema)&&guard_exports.IsEqual(schema.const,value[key])?100:0,checks=Check2(context,schema,value[key])?10:0,exists=keys.includes(key)?1:0;return result+(literal+checks+exists)},0)}function UnionScoreSelect(context,type,value){let schemas=type.anyOf.map(schema=>Deref(context,schema,value)),[select,best]=[schemas[0],0];for(let schema of schemas){let score=ScoreVariant(context,schema,value);score>best&&(select=schema,best=score)}return select}function RepairUnion(context,type,value){let union=Union(Flatten(type.anyOf)),schema=UnionScoreSelect(context,union,value);return FromType26(context,schema,value)}function FromUnion15(context,type,value){return Check2(context,type,value)?Clone2(value):IsDefault(type)?Create2(context,type):RepairUnion(context,type,value)}function FromUnknown2(context,type,value){if(Check2(context,type,value))return value;let converted=Convert(context,type,value);return Check2(context,type,converted)?converted:Create2(context,type)}function AssertRepairableValue(context,type,value){if(globals_exports.IsDate(value)||globals_exports.IsMap(value)||globals_exports.IsSet(value)||globals_exports.IsTypeArray(value)||guard_exports.IsConstructor(value)||guard_exports.IsFunction(value))throw new RepairError(context,type,value,"Value is not repairable")}function AssertRepairableType(context,type,value){if(IsConstructor3(type)||IsFunction3(type)||IsNever(type))throw new RepairError(context,type,value,"Type is not repairable")}function CreateWhenUndefined(context,type,value){return guard_exports.IsUndefined(value)&&!IsUndefined3(type)?Create2(context,type):value}function FinalizeRepair(context,type,repaired){return IsRefine(type)?Check2(context,type,repaired)?repaired:Create2(context,type):repaired}function FromType26(context,type,value){AssertRepairableValue(context,type,value),AssertRepairableType(context,type,value);let candidate=CreateWhenUndefined(context,type,value),repaired=IsArray3(type)?FromArray14(context,type,candidate):IsEnum(type)?FromEnum5(context,type,candidate):IsIntersect(type)?FromIntersect12(context,type,candidate):IsObject3(type)?FromObject18(context,type,candidate):IsRecord(type)?FromRecord9(context,type,candidate):IsRef(type)?FromRef11(context,type,candidate):IsTemplateLiteral(type)?FromTemplateLiteral6(context,type,candidate):IsTuple(type)?FromTuple11(context,type,candidate):IsUnion(type)?FromUnion15(context,type,candidate):FromUnknown2(context,type,candidate);return FinalizeRepair(context,type,repaired)}function Repair(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),repaired=FromType26(context,type,value);return Assert(context,type,repaired),repaired}var value_exports={};__export(value_exports,{Assert:()=>Assert,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create2,Decode:()=>Decode10,Default:()=>Default,Diff:()=>Diff,Encode:()=>Encode10,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash2,Parse:()=>Parse,Patch:()=>Patch,Pointer:()=>pointer_exports,Repair:()=>Repair});var value_default=value_exports;var EXPERIMENTAL_PUBLIC_API_VERSION="1-draft",LifecycleTransformError=class extends Error{report;cause;constructor(cause,report){super("Lifecycle transform failed"),this.name="LifecycleTransformError",this.cause=cause,this.report=report}},LifecycleExecuteError=class extends Error{report;cause;constructor(cause,report){super("Lifecycle execute failed"),this.name="LifecycleExecuteError",this.cause=cause,this.report=report}},AGENT_TASK_CHILD_PROFILE_KEY="agent-forge.agentTaskChildProfile",AGENT_TASK_PARENT_SESSION_KEY="agent-forge.agentTaskParentSession",AGENT_TASK_PARENT_TRACE_KEY="agent-forge.agentTaskParentTrace",AGENT_TASK_RESUME_SESSION_KEY="agent-forge.agentTaskResumeSession",CHILD_PROFILE_KEYS=["version","model","thinkingLevel","tools","mode","systemPromptAppend","roleId"],CHILD_PROFILE_TOOL_LIMIT=64,CHILD_PROFILE_APPEND_CHARS=8e3,CHILD_PROFILE_THINKING_LEVELS=["minimal","low","medium","high","xhigh","max"];function parseAgentTaskChildProfileV1(value){if(value===null||typeof value!="object"||Array.isArray(value))return{ok:!1,message:"child task profile must be an object"};let record=value;for(let key of Object.keys(record))if(!CHILD_PROFILE_KEYS.includes(key))return{ok:!1,message:`child task profile has unknown key ${JSON.stringify(key)} (known: ${CHILD_PROFILE_KEYS.join(", ")})`};if(record.version!==1)return{ok:!1,message:`child task profile version must be 1, found ${JSON.stringify(record.version)}`};let model;if(record.model!==void 0){if(typeof record.model!="string"||record.model.trim()==="")return{ok:!1,message:"child task profile model must be a non-empty string"};model=record.model}let thinkingLevel;if(record.thinkingLevel!==void 0){if(typeof record.thinkingLevel!="string"||!CHILD_PROFILE_THINKING_LEVELS.includes(record.thinkingLevel))return{ok:!1,message:`child task profile thinkingLevel must be one of ${CHILD_PROFILE_THINKING_LEVELS.join(", ")}, found `+JSON.stringify(record.thinkingLevel)};thinkingLevel=record.thinkingLevel}let tools;if(record.tools!==void 0){if(!Array.isArray(record.tools)||record.tools.length>CHILD_PROFILE_TOOL_LIMIT)return{ok:!1,message:`child task profile tools must be an array of at most ${CHILD_PROFILE_TOOL_LIMIT} names`};let names2=new Set;for(let entry of record.tools){if(typeof entry!="string"||entry.trim()==="")return{ok:!1,message:"child task profile tools entries must be non-empty strings"};names2.add(entry)}tools=Object.freeze([...names2])}let mode;if(record.mode!==void 0){if(record.mode!=="readonly"&&record.mode!=="full-control")return{ok:!1,message:'child task profile mode must be "readonly" or "full-control"'};mode=record.mode}let roleId;if(record.roleId!==void 0){if(typeof record.roleId!="string"||record.roleId.trim()==="")return{ok:!1,message:"child task profile roleId must be a non-empty string"};roleId=record.roleId}let systemPromptAppend;if(record.systemPromptAppend!==void 0){if(typeof record.systemPromptAppend!="string"||record.systemPromptAppend.trim()===""||record.systemPromptAppend.length>CHILD_PROFILE_APPEND_CHARS)return{ok:!1,message:`child task profile systemPromptAppend must be a non-empty string of at most ${CHILD_PROFILE_APPEND_CHARS} chars`};systemPromptAppend=record.systemPromptAppend}return{ok:!0,profile:Object.freeze({version:1,...model===void 0?{}:{model},...thinkingLevel===void 0?{}:{thinkingLevel},...tools===void 0?{}:{tools},...mode===void 0?{}:{mode},...systemPromptAppend===void 0?{}:{systemPromptAppend},...roleId===void 0?{}:{roleId}})}}function readAgentTaskChildProfileV1(metadata){let raw=metadata?.[AGENT_TASK_CHILD_PROFILE_KEY];if(raw!==void 0)return parseAgentTaskChildProfileV1(raw)}var SUMMARY_MODEL_INVOCATION_ERROR_CODES={providerError:"summary_provider_error",lengthCap:"summary_length_cap",toolCall:"summary_tool_call",transportError:"summary_transport_error"};function createDisposableRegistration(kind,dispose,id){let disposed=!1;return{id,kind,dispose:()=>{if(!disposed)return disposed=!0,dispose()}}}function createEventEnvelope(event,options){return{...event,id:options.id,timestamp:options.timestamp??0}}function detachedSessionSnapshot(value){let clone=structuredClone(value),freeze=candidate=>{if(!(!candidate||typeof candidate!="object")&&!ArrayBuffer.isView(candidate)){for(let child of Object.values(candidate))freeze(child);Object.freeze(candidate)}};return freeze(clone),clone}var import_semver=__toESM(require_semver2(),1);function isStringArray(value){return Array.isArray(value)&&value.every(entry=>typeof entry=="string")}function isObject(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function isJsonConfigValue(value){return value===null||typeof value=="boolean"||typeof value=="string"?!0:typeof value=="number"?Number.isFinite(value):Array.isArray(value)?value.every(isJsonConfigValue):isObject(value)?Object.values(value).every(isJsonConfigValue):!1}function assertPluginCapabilityId(value,field,manifestPath){if(typeof value!="string"||!value.trim())throw new Error(`Capability plugin ${field} must be a non-empty string: ${manifestPath}`)}function assertPluginCapabilityVersion(value,field,manifestPath){if(typeof value!="number"||!Number.isSafeInteger(value)||value<1)throw new Error(`Capability plugin ${field} must be a positive safe integer: ${manifestPath}`)}function capabilityKey(id,version){return`${id}\0${version}`}function parsePluginAgentRoles(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin roles must be an array: ${manifestPath}`);let roles=[],seen=new Set;for(let[index3,role]of value.entries()){if(role!=="root-agent-controller"&&role!=="child-agent-controller")throw new Error(`Capability plugin roles[${index3}] is invalid: ${manifestPath}`);if(seen.has(role))throw new Error(`Capability plugin roles duplicates ${role}: ${manifestPath}`);seen.add(role),roles.push(role)}return roles}function parsePluginAgentDeclarations(value,roles,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin agents must be an array: ${manifestPath}`);let declarations=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin agents[${index3}] must be an object: ${manifestPath}`);let{id,version,role,entry}=candidate;if(assertPluginCapabilityId(id,`agents[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`agents[${index3}].version`,manifestPath),role!=="root-agent-controller"&&role!=="child-agent-controller")throw new Error(`Capability plugin agents[${index3}].role is invalid: ${manifestPath}`);if(typeof entry!="string"||!entry.trim())throw new Error(`Capability plugin agents[${index3}].entry must be a non-empty string: ${manifestPath}`);if(roles!==void 0&&!roles.includes(role))throw new Error(`Capability plugin agents[${index3}].role is not declared in roles: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin agents duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),declarations.push({id,version,role,entry})}return declarations}function parsePluginCapabilityDeclarations(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin provides must be an array: ${manifestPath}`);let declarations=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin provides[${index3}] must be an object: ${manifestPath}`);let{id,version,kind}=candidate;if(assertPluginCapabilityId(id,`provides[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`provides[${index3}].version`,manifestPath),kind!=="service"&&kind!=="contribution"&&kind!=="transform")throw new Error(`Capability plugin provides[${index3}].kind is invalid: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin provides duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),declarations.push({id,version,kind})}return declarations}function parsePluginCapabilityRequirements(value,manifestPath){if(value===void 0)return;if(!Array.isArray(value))throw new Error(`Capability plugin requires must be an array: ${manifestPath}`);let requirements=[],seen=new Set;for(let[index3,candidate]of value.entries()){if(!isObject(candidate))throw new Error(`Capability plugin requires[${index3}] must be an object: ${manifestPath}`);let{id,version,optional}=candidate;if(assertPluginCapabilityId(id,`requires[${index3}].id`,manifestPath),assertPluginCapabilityVersion(version,`requires[${index3}].version`,manifestPath),optional!==void 0&&typeof optional!="boolean")throw new Error(`Capability plugin requires[${index3}].optional must be a boolean: ${manifestPath}`);let key=capabilityKey(id,version);if(seen.has(key))throw new Error(`Capability plugin requires duplicates ${id}@${version}: ${manifestPath}`);seen.add(key),requirements.push(optional===void 0?{id,version}:{id,version,optional})}return requirements}function parseCapabilityPluginManifest(value,manifestPath="<manifest>"){if(!isObject(value))throw new Error(`Capability plugin manifest must be an object: ${manifestPath}`);let{id,version,hostVersion,apiVersion,entry,requiredCapabilities,optionalCapabilities,provides,requires,roles,agents,config}=value;if(typeof id!="string"||typeof version!="string"||typeof apiVersion!="string"||typeof entry!="string")throw new Error(`Capability plugin manifest requires string id, version, apiVersion, and entry: ${manifestPath}`);if(apiVersion!==EXPERIMENTAL_PUBLIC_API_VERSION)throw new Error(`Unsupported plugin API version: ${apiVersion}: ${manifestPath}`);if(hostVersion!==void 0&&(typeof hostVersion!="string"||hostVersion.trim()===""||(0,import_semver.validRange)(hostVersion)===null))throw new Error(`Capability plugin hostVersion must be a non-empty string containing a valid semver range (e.g. ">=0.84.0"): ${manifestPath}`);if(requiredCapabilities!==void 0&&!isStringArray(requiredCapabilities))throw new Error(`Capability plugin requiredCapabilities must be a string array: ${manifestPath}`);if(optionalCapabilities!==void 0&&!isStringArray(optionalCapabilities))throw new Error(`Capability plugin optionalCapabilities must be a string array: ${manifestPath}`);if(config!==void 0&&(!isObject(config)||!isJsonConfigValue(config)))throw new Error(`Capability plugin config must be a JSON object: ${manifestPath}`);let parsedProvides=parsePluginCapabilityDeclarations(provides,manifestPath),parsedRequires=parsePluginCapabilityRequirements(requires,manifestPath),parsedRoles=parsePluginAgentRoles(roles,manifestPath),parsedAgents=parsePluginAgentDeclarations(agents,parsedRoles,manifestPath);return{id,version,apiVersion,entry,requiredCapabilities,optionalCapabilities,...hostVersion===void 0?{}:{hostVersion},...parsedProvides===void 0?{}:{provides:parsedProvides},...parsedRequires===void 0?{}:{requires:parsedRequires},...parsedRoles===void 0?{}:{roles:parsedRoles},...parsedAgents===void 0?{}:{agents:parsedAgents},...config===void 0?{}:{config}}}var MEMORY_RECALL_TOOL_NAME="memory_recall";var dist_exports={};__export(dist_exports,{AGENT_TASK_CHILD_PROFILE_KEY:()=>AGENT_TASK_CHILD_PROFILE_KEY,AGENT_TASK_PARENT_SESSION_KEY:()=>AGENT_TASK_PARENT_SESSION_KEY,AGENT_TASK_PARENT_TRACE_KEY:()=>AGENT_TASK_PARENT_TRACE_KEY,AGENT_TASK_RESUME_SESSION_KEY:()=>AGENT_TASK_RESUME_SESSION_KEY,DEFAULT_PLUGIN_CONTEXT_BUDGET_V1:()=>DEFAULT_PLUGIN_CONTEXT_BUDGET_V1,EXPERIMENTAL_PUBLIC_API_VERSION:()=>EXPERIMENTAL_PUBLIC_API_VERSION,LifecycleExecuteError:()=>LifecycleExecuteError,LifecycleTransformError:()=>LifecycleTransformError,MAX_ARTIFACT_METADATA_CHARS_V1:()=>MAX_ARTIFACT_METADATA_CHARS_V1,MAX_ARTIFACT_REF_CHARS_V1:()=>MAX_ARTIFACT_REF_CHARS_V1,MEMORY_RECALL_TOOL_NAME:()=>MEMORY_RECALL_TOOL_NAME,PLUGIN_OPERATION_TERMINAL_STATUSES_V1:()=>PLUGIN_OPERATION_TERMINAL_STATUSES_V1,PLUGIN_SHARED_CONTRACT_VERSION_V1:()=>PLUGIN_SHARED_CONTRACT_VERSION_V1,SUMMARY_MODEL_INVOCATION_ERROR_CODES:()=>SUMMARY_MODEL_INVOCATION_ERROR_CODES,TRACE_KINDS_V1:()=>TRACE_KINDS_V1,artifactRefKeyV1:()=>artifactRefKeyV1,assertExactKeys:()=>assertExactKeys,assertFiniteNumber:()=>assertFiniteNumber,assertJsonResultInputV1:()=>assertJsonResultInputV1,assertJsonValue:()=>assertJsonValue,assertNonEmptyString:()=>assertNonEmptyString,assertNonNegativeNumber:()=>assertNonNegativeNumber,assertNonNegativeSafeInteger:()=>assertNonNegativeSafeInteger,assertOptionalString:()=>assertOptionalString,assertPlainRecord:()=>assertPlainRecord,assertPositiveSafeInteger:()=>assertPositiveSafeInteger,buildArtifactRefV1:()=>buildArtifactRefV1,buildDiffRequestV1:()=>buildDiffRequestV1,buildDiffResultV1:()=>buildDiffResultV1,buildEvidenceRefV1:()=>buildEvidenceRefV1,buildPluginErrorV1:()=>buildPluginErrorV1,buildPluginOperationV1:()=>buildPluginOperationV1,buildPluginResultV1:()=>buildPluginResultV1,buildRenderRequestV1:()=>buildRenderRequestV1,buildRenderResultV1:()=>buildRenderResultV1,buildVerificationV1:()=>buildVerificationV1,createDisposableRegistration:()=>createDisposableRegistration,createEventEnvelope:()=>createEventEnvelope,detachedFreeze:()=>detachedFreeze,detachedSessionSnapshot:()=>detachedSessionSnapshot,isArtifactRefV1:()=>isArtifactRefV1,isPlainRecord:()=>isPlainRecord,parseAgentTaskChildProfileV1:()=>parseAgentTaskChildProfileV1,parseCapabilityPluginManifest:()=>parseCapabilityPluginManifest,projectPluginContextV1:()=>projectPluginContextV1,readAgentTaskChildProfileV1:()=>readAgentTaskChildProfileV1,sortByKey:()=>sortByKey,stableStringifyV1:()=>stableStringifyV1,validateArtifactRefV1:()=>validateArtifactRefV1,validateDiffRequestV1:()=>validateDiffRequestV1,validateDiffResultV1:()=>validateDiffResultV1,validateEvidenceRefV1:()=>validateEvidenceRefV1,validatePluginErrorV1:()=>validatePluginErrorV1,validatePluginOperationV1:()=>validatePluginOperationV1,validatePluginResultV1:()=>validatePluginResultV1,validateRenderRequestV1:()=>validateRenderRequestV1,validateRenderResultV1:()=>validateRenderResultV1,validateVerificationV1:()=>validateVerificationV1});var PLUGIN_SHARED_CONTRACT_VERSION_V1=1;function isPlainRecord(value){if(value===null||typeof value!="object"||Array.isArray(value))return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function assertPlainRecord(value,label){if(!isPlainRecord(value))throw new Error(`${label} must be a plain object`)}function assertExactKeys(value,required,optional,label){let allowed=new Set([...required,...optional]),unsupported=Object.keys(value).filter(key=>!allowed.has(key)).sort();if(unsupported.length>0)throw new Error(`${label} has unsupported fields: ${unsupported.join(", ")}`);for(let key of required)if(!(key in value))throw new Error(`${label} is missing required field: ${key}`)}function assertNonEmptyString(value,label){if(typeof value!="string"||value.trim().length===0)throw new Error(`${label} must be a non-empty string`)}function assertOptionalString(value,label){value!==void 0&&assertNonEmptyString(value,label)}function assertFiniteNumber(value,label){if(typeof value!="number"||!Number.isFinite(value))throw new Error(`${label} must be a finite number`)}function assertNonNegativeNumber(value,label){if(assertFiniteNumber(value,label),value<0)throw new Error(`${label} must be non-negative`)}function assertPositiveSafeInteger(value,label){if(typeof value!="number"||!Number.isSafeInteger(value)||value<1)throw new Error(`${label} must be a positive safe integer`)}function assertNonNegativeSafeInteger(value,label){if(typeof value!="number"||!Number.isSafeInteger(value)||value<0)throw new Error(`${label} must be a non-negative safe integer`)}function assertJsonValue(value,label,seen=new WeakSet){if(!(value===null||typeof value=="boolean"||typeof value=="string")){if(typeof value=="number"){if(Number.isFinite(value))return;throw new Error(`${label} must contain finite JSON numbers`)}if(typeof value!="object")throw new Error(`${label} must be JSON-compatible`);if(seen.has(value))throw new Error(`${label} must not contain cycles`);if(seen.add(value),Array.isArray(value))for(let[index3,child]of value.entries())assertJsonValue(child,`${label}[${index3}]`,seen);else{if(!isPlainRecord(value))throw new Error(`${label} must contain only plain JSON objects`);for(let[key,child]of Object.entries(value))assertJsonValue(child,`${label}.${key}`,seen)}seen.delete(value)}}function detachedFreeze(value,seen=new WeakMap){if(value===null||typeof value!="object")return value;let existing=seen.get(value);if(existing!==void 0)return existing;if(Array.isArray(value)){let result2=[];seen.set(value,result2);for(let child of value)result2.push(detachedFreeze(child,seen));return Object.freeze(result2)}let result={};seen.set(value,result);for(let key of Object.keys(value).sort())result[key]=detachedFreeze(value[key],seen);return Object.freeze(result)}function sortByKey(values,key){return[...values].sort((left,right)=>{let a=key(left),b=key(right);return a<b?-1:a>b?1:0})}function stableStringifyV1(value){return value===null||typeof value=="boolean"||typeof value=="number"||typeof value=="string"?JSON.stringify(value):Array.isArray(value)?`[${value.map(item=>stableStringifyV1(item)).join(",")}]`:`{${Object.entries(value).sort(([a],[b])=>a<b?-1:a>b?1:0).map(([key,item])=>`${JSON.stringify(key)}:${stableStringifyV1(item)}`).join(",")}}`}var MAX_ARTIFACT_REF_CHARS_V1=2048,MAX_ARTIFACT_METADATA_CHARS_V1=256;function validateBoundedString(value,label,maximum){if(assertNonEmptyString(value,label),value.length>maximum)throw new Error(`${label} exceeds the context budget (${maximum} characters)`);return value}function validateDigest(value,label){if(value!==void 0)return validateBoundedString(value,label,MAX_ARTIFACT_METADATA_CHARS_V1)}function validateArtifactRefV1(value,label="Artifact reference"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","artifactRef","kind","mimeType"],["digest","sizeBytes","operationId","pluginId"],label),value.version!==1)throw new Error(`${label}.version must be 1`);let artifactRef=validateBoundedString(value.artifactRef,`${label}.artifactRef`,MAX_ARTIFACT_REF_CHARS_V1);if(/^(?:file:|[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/iu.test(artifactRef))throw new Error(`${label}.artifactRef must be an opaque reference, not a local path`);let kind=validateBoundedString(value.kind,`${label}.kind`,MAX_ARTIFACT_METADATA_CHARS_V1),mimeType=validateBoundedString(value.mimeType,`${label}.mimeType`,MAX_ARTIFACT_METADATA_CHARS_V1),digest=validateDigest(value.digest,`${label}.digest`);value.sizeBytes!==void 0&&assertNonNegativeSafeInteger(value.sizeBytes,`${label}.sizeBytes`);let operationId=value.operationId===void 0?void 0:validateBoundedString(value.operationId,`${label}.operationId`,MAX_ARTIFACT_METADATA_CHARS_V1),pluginId=value.pluginId===void 0?void 0:validateBoundedString(value.pluginId,`${label}.pluginId`,MAX_ARTIFACT_METADATA_CHARS_V1);return detachedFreeze({version:1,artifactRef,kind,mimeType,...digest===void 0?{}:{digest},...value.sizeBytes===void 0?{}:{sizeBytes:value.sizeBytes},...operationId===void 0?{}:{operationId},...pluginId===void 0?{}:{pluginId}})}function buildArtifactRefV1(input){return validateArtifactRefV1(input)}function isArtifactRefV1(value){try{return validateArtifactRefV1(value),!0}catch{return!1}}function artifactRefKeyV1(ref){return ref.artifactRef}var DEFAULT_PLUGIN_CONTEXT_BUDGET_V1=Object.freeze({maxOutputBytes:65536,maxInlineItems:20,maxCellChars:256});function error(code,message){return{version:1,code,message}}function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function assertPositiveInteger(value,label){if(!Number.isSafeInteger(value)||value<=0)throw new Error(`${label} must be a positive safe integer`)}function assertNonNegativeInteger(value,label){if(!Number.isSafeInteger(value)||value<0)throw new Error(`${label} must be a non-negative safe integer`)}function isJsonValue(value){return value===null||typeof value=="string"||typeof value=="boolean"?!0:typeof value=="number"?Number.isFinite(value):Array.isArray(value)?value.every(isJsonValue):isRecord(value)?Object.values(value).every(isJsonValue):!1}function containsRawPayload(value,seen=new Set){if(!isRecord(value)&&!Array.isArray(value)||seen.has(value))return!1;if(seen.add(value),isRecord(value)){for(let[key,child]of Object.entries(value))if((key==="rows"||key==="rawRows"||key==="rawPayload"||key==="payload")&&child!==void 0||containsRawPayload(child,seen))return!0;return!1}return value.some(child=>containsRawPayload(child,seen))}function validateBudget(input){let budget={...DEFAULT_PLUGIN_CONTEXT_BUDGET_V1,...input??{}};return assertPositiveInteger(budget.maxOutputBytes,"maxOutputBytes"),assertNonNegativeInteger(budget.maxInlineItems,"maxInlineItems"),assertPositiveInteger(budget.maxCellChars,"maxCellChars"),Object.freeze(budget)}function boundStrings(value,maxCellChars){if(typeof value=="string"){if([...value].length>maxCellChars)throw new Error("context string exceeds maxCellChars");return value}return Array.isArray(value)?Object.freeze(value.map(child=>boundStrings(child,maxCellChars))):isRecord(value)?Object.freeze(Object.fromEntries(Object.entries(value).map(([key,child])=>[key,boundStrings(child,maxCellChars)]))):value}function invalid(operationId,code,message){return Object.freeze({version:1,operationId,status:"failed",inlineItems:Object.freeze([]),truncated:!1,error:error(code,message)})}function projectPluginContextV1(input,limits){let operationId=isRecord(input)&&typeof input.operationId=="string"?input.operationId:"invalid";try{if(!isRecord(input)||input.version!==1)throw new Error("input must have version 1");if(typeof input.operationId!="string"||input.operationId.trim()==="")throw new Error("operationId must be a non-empty string");if(!Array.isArray(input.items))throw new Error("items must be an array");let budget=validateBudget(limits);if(containsRawPayload(input.items))throw new Error("raw payloads are not allowed in plugin context");if(input.outputArtifactRef!==void 0){if(typeof input.outputArtifactRef!="string"||input.outputArtifactRef.trim()==="")throw new Error("outputArtifactRef must be a non-empty string");if(/^(?:[a-zA-Z]:[\\/]|[\\/]{1,2}|\\\\)/.test(input.outputArtifactRef))throw new Error("outputArtifactRef must be opaque")}let items=input.items.map((item,index3)=>{if(!isJsonValue(item))throw new Error(`items[${index3}] must be JSON-safe`);return boundStrings(item,budget.maxCellChars)}),truncated=input.truncated===!0||items.length>budget.maxInlineItems,inlineItems=Object.freeze(items.slice(0,budget.maxInlineItems)),result=Object.freeze({version:1,operationId:input.operationId,status:"succeeded",inlineItems,truncated,...input.outputArtifactRef===void 0?{}:{outputArtifactRef:input.outputArtifactRef}});if(new TextEncoder().encode(JSON.stringify(result)).byteLength>budget.maxOutputBytes)throw new Error("projected context exceeds maxOutputBytes");return result}catch(cause){return invalid(operationId,"context_projection_rejected",cause instanceof Error?cause.message:"Context projection rejected")}}var PLUGIN_OPERATION_TERMINAL_STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"],EVIDENCE_KINDS_V1=["screenshot","dom","render","diff","log","assertion","trace","network","structure"],OPERATION_STATUSES_V1=["queued","running","succeeded","failed","cancelled","needs_user","unsupported"],RESULT_STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"];function validateStatus(value,label,values){if(typeof value!="string"||!values.includes(value))throw new Error(`${label} is invalid`);return value}function validateIsoLike(value,label){if(value!==void 0)return assertNonEmptyString(value,label),value}function validateArtifactArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let result=value.map((item,index3)=>validateArtifactRefV1(item,`${label}[${index3}]`));if(new Set(result.map(item=>item.artifactRef)).size!==result.length)throw new Error(`${label} must not contain duplicate artifactRef values`);return Object.freeze(sortByKey(result,item=>item.artifactRef))}function validatePluginOperationV1(value,label="Plugin operation"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","pluginId","kind","status"],["inputArtifacts","outputArtifacts","startedAt","endedAt"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`),assertNonEmptyString(value.pluginId,`${label}.pluginId`),assertNonEmptyString(value.kind,`${label}.kind`);let status2=validateStatus(value.status,`${label}.status`,OPERATION_STATUSES_V1),inputArtifacts=value.inputArtifacts===void 0?void 0:validateArtifactArray(value.inputArtifacts,`${label}.inputArtifacts`),outputArtifacts=value.outputArtifacts===void 0?void 0:validateArtifactArray(value.outputArtifacts,`${label}.outputArtifacts`),startedAt=validateIsoLike(value.startedAt,`${label}.startedAt`),endedAt=validateIsoLike(value.endedAt,`${label}.endedAt`);if(endedAt!==void 0&&startedAt===void 0)throw new Error(`${label}.endedAt requires startedAt`);if(status2==="running"&&endedAt!==void 0)throw new Error(`${label}.running must not have endedAt`);return detachedFreeze({version:1,operationId:value.operationId,pluginId:value.pluginId,kind:value.kind,status:status2,...inputArtifacts===void 0?{}:{inputArtifacts},...outputArtifacts===void 0?{}:{outputArtifacts},...startedAt===void 0?{}:{startedAt},...endedAt===void 0?{}:{endedAt}})}function buildPluginOperationV1(input){return validatePluginOperationV1(input)}function validateEvidenceRefV1(value,label="Evidence reference"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","evidenceId","kind","operationId"],["artifactRef","summary","observedAt"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.evidenceId,`${label}.evidenceId`);let kind=validateStatus(value.kind,`${label}.kind`,EVIDENCE_KINDS_V1);assertNonEmptyString(value.operationId,`${label}.operationId`);let artifactRef=value.artifactRef===void 0?void 0:validateArtifactRefV1(value.artifactRef,`${label}.artifactRef`);assertOptionalString(value.summary,`${label}.summary`);let observedAt=validateIsoLike(value.observedAt,`${label}.observedAt`);return detachedFreeze({version:1,evidenceId:value.evidenceId,kind,operationId:value.operationId,...artifactRef===void 0?{}:{artifactRef},...value.summary===void 0?{}:{summary:value.summary},...observedAt===void 0?{}:{observedAt}})}function buildEvidenceRefV1(input){return validateEvidenceRefV1(input)}function validateVerificationV1(value,label="Verification"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","status","checks"],[],label),value.version!==1)throw new Error(`${label}.version must be 1`);let status2=validateStatus(value.status,`${label}.status`,["passed","failed","unknown"]);if(!Array.isArray(value.checks)||value.checks.some(item=>typeof item!="string"||item.trim()===""))throw new Error(`${label}.checks must contain non-empty strings`);if(new Set(value.checks).size!==value.checks.length)throw new Error(`${label}.checks must not contain duplicates`);return detachedFreeze({version:1,status:status2,checks:[...value.checks].sort()})}function buildVerificationV1(input){return validateVerificationV1(input)}function validatePluginErrorV1(value,label="Plugin error"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","code","message"],["causeCode","diagnosticRef"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.code,`${label}.code`),assertNonEmptyString(value.message,`${label}.message`),assertOptionalString(value.causeCode,`${label}.causeCode`);let diagnosticRef=value.diagnosticRef===void 0?void 0:validateArtifactRefV1(value.diagnosticRef,`${label}.diagnosticRef`);return detachedFreeze({version:1,code:value.code,message:value.message,...value.causeCode===void 0?{}:{causeCode:value.causeCode},...diagnosticRef===void 0?{}:{diagnosticRef}})}function buildPluginErrorV1(input){return validatePluginErrorV1(input)}function validatePluginResultV1(value,label="Plugin result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","summary","artifacts","evidence"],["verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let status2=validateStatus(value.status,`${label}.status`,RESULT_STATUSES_V1);assertNonEmptyString(value.summary,`${label}.summary`);let artifacts=validateArtifactArray(value.artifacts,`${label}.artifacts`);if(!Array.isArray(value.evidence))throw new Error(`${label}.evidence must be an array`);let evidence=value.evidence.map((item,index3)=>validateEvidenceRefV1(item,`${label}.evidence[${index3}]`));if(new Set(evidence.map(item=>item.evidenceId)).size!==evidence.length)throw new Error(`${label}.evidence must not contain duplicate evidenceId values`);let orderedEvidence=Object.freeze(sortByKey(evidence,item=>item.evidenceId)),verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(status2!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${status2}`);if(status2==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(status2==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);return detachedFreeze({version:1,operationId:value.operationId,status:status2,summary:value.summary,artifacts,evidence:orderedEvidence,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}})}function buildPluginResultV1(input){return validatePluginResultV1(input)}function assertJsonResultInputV1(value,label="Result input"){return assertJsonValue(value,label),detachedFreeze(value)}var DIFF_MAX_ITEMS_V1=64,DIFF_MAX_STRING_CHARS_V1=2048,DIFF_MAX_RESULT_BYTES_V1=64*1024;function validateBoundedString2(value,label){if(assertNonEmptyString(value,label),value.length>DIFF_MAX_STRING_CHARS_V1)throw new Error(`${label} exceeds the context budget`)}var DIFF_KINDS_V1=["text","dom","structure","pixel","style"],RESULT_STATUSES_V12=["succeeded","failed","cancelled","needs_user","unsupported"];function validateKind(value,label){if(typeof value!="string"||!DIFF_KINDS_V1.includes(value))throw new Error(`${label} is invalid`);return value}function validateStatus2(value,label){if(typeof value!="string"||!RESULT_STATUSES_V12.includes(value))throw new Error(`${label} is invalid`);return value}function validateMetrics(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,[],["changedPixels","changedRatio","selector"],label),value.changedPixels!==void 0&&(typeof value.changedPixels!="number"||!Number.isSafeInteger(value.changedPixels)||value.changedPixels<0))throw new Error(`${label}.changedPixels must be a non-negative safe integer`);if(value.changedRatio!==void 0&&(assertNonNegativeNumber(value.changedRatio,`${label}.changedRatio`),value.changedRatio>1))throw new Error(`${label}.changedRatio must be at most 1`);return value.selector!==void 0&&validateBoundedString2(value.selector,`${label}.selector`),detachedFreeze({...value.changedPixels===void 0?{}:{changedPixels:value.changedPixels},...value.changedRatio===void 0?{}:{changedRatio:value.changedRatio},...value.selector===void 0?{}:{selector:value.selector}})}function validateThreshold(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,[],["maxChangedPixels","maxChangedRatio","allowedSelectors"],label),value.maxChangedPixels!==void 0&&(typeof value.maxChangedPixels!="number"||!Number.isSafeInteger(value.maxChangedPixels)||value.maxChangedPixels<0))throw new Error(`${label}.maxChangedPixels must be a non-negative safe integer`);if(value.maxChangedRatio!==void 0&&(assertNonNegativeNumber(value.maxChangedRatio,`${label}.maxChangedRatio`),value.maxChangedRatio>1))throw new Error(`${label}.maxChangedRatio must be at most 1`);if(value.allowedSelectors!==void 0){if(!Array.isArray(value.allowedSelectors)||value.allowedSelectors.some(item=>typeof item!="string"||item.trim()===""))throw new Error(`${label}.allowedSelectors must contain non-empty strings`);if(new Set(value.allowedSelectors).size!==value.allowedSelectors.length)throw new Error(`${label}.allowedSelectors must not contain duplicates`);if(value.allowedSelectors.length>DIFF_MAX_ITEMS_V1)throw new Error(`${label}.allowedSelectors must contain at most ${DIFF_MAX_ITEMS_V1} items`);for(let[index3,selector]of value.allowedSelectors.entries())validateBoundedString2(selector,`${label}.allowedSelectors[${index3}]`)}return detachedFreeze({...value.maxChangedPixels===void 0?{}:{maxChangedPixels:value.maxChangedPixels},...value.maxChangedRatio===void 0?{}:{maxChangedRatio:value.maxChangedRatio},...value.allowedSelectors===void 0?{}:{allowedSelectors:[...value.allowedSelectors].sort()}})}function validateDiffRequestV1(value,label="Diff request"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","kind","before","after"],["threshold"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let kind=validateKind(value.kind,`${label}.kind`),before=validateArtifactRefV1(value.before,`${label}.before`),after=validateArtifactRefV1(value.after,`${label}.after`);if(before.artifactRef===after.artifactRef)throw new Error(`${label}.before and after must differ`);let threshold=value.threshold===void 0?void 0:validateThreshold(value.threshold,`${label}.threshold`);return detachedFreeze({version:1,operationId:value.operationId,kind,before,after,...threshold===void 0?{}:{threshold}})}function buildDiffRequestV1(input){return validateDiffRequestV1(input)}function validateDiffResultV1(value,label="Diff result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","kind","summary","evidence"],["diffArtifact","metrics","verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let resultStatus=validateStatus2(value.status,`${label}.status`),kind=validateKind(value.kind,`${label}.kind`);validateBoundedString2(value.summary,`${label}.summary`);let metrics=value.metrics===void 0?void 0:validateMetrics(value.metrics,`${label}.metrics`),diffArtifact=value.diffArtifact===void 0?void 0:validateArtifactRefV1(value.diffArtifact,`${label}.diffArtifact`);if(!Array.isArray(value.evidence))throw new Error(`${label}.evidence must be an array`);if(value.evidence.length>DIFF_MAX_ITEMS_V1)throw new Error(`${label}.evidence must contain at most ${DIFF_MAX_ITEMS_V1} items`);let evidence=value.evidence.map((item,index3)=>validateEvidenceRefV1(item,`${label}.evidence[${index3}]`));if(new Set(evidence.map(item=>item.evidenceId)).size!==evidence.length)throw new Error(`${label}.evidence must not contain duplicate evidenceId values`);for(let[index3,item]of evidence.entries())validateBoundedString2(item.evidenceId,`${label}.evidence[${index3}].evidenceId`),item.summary!==void 0&&validateBoundedString2(item.summary,`${label}.evidence[${index3}].summary`),item.observedAt!==void 0&&validateBoundedString2(item.observedAt,`${label}.evidence[${index3}].observedAt`);let orderedEvidence=Object.freeze([...evidence].sort((a,b)=>a.evidenceId.localeCompare(b.evidenceId))),verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(resultStatus!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${resultStatus}`);if(resultStatus==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(resultStatus==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);let result={version:1,operationId:value.operationId,status:resultStatus,kind,summary:value.summary,...metrics===void 0?{}:{metrics},...diffArtifact===void 0?{}:{diffArtifact},evidence:orderedEvidence,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}};if(new TextEncoder().encode(JSON.stringify(result)).byteLength>DIFF_MAX_RESULT_BYTES_V1)throw new Error(`${label} exceeds the context budget`);return detachedFreeze(result)}function buildDiffResultV1(input){return validateDiffResultV1(input)}var TRACE_KINDS_V1=["session.start","turn.span","llm.request","llm.response","tool.span","lifecycle","error","decision","plugin.log"];var SURFACES_V1=["html","browser","docx","xlsx","pdf","pptx","image"],STATUSES_V1=["succeeded","failed","cancelled","needs_user","unsupported"];function status(value,label){if(typeof value!="string"||!STATUSES_V1.includes(value))throw new Error(`${label} is invalid`);return value}function artifactArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let items=value.map((item,index3)=>validateArtifactRefV1(item,`${label}[${index3}]`));if(new Set(items.map(item=>item.artifactRef)).size!==items.length)throw new Error(`${label} must not contain duplicate artifactRef values`);return Object.freeze([...items].sort((a,b)=>a.artifactRef.localeCompare(b.artifactRef)))}function evidenceArray(value,label){if(!Array.isArray(value))throw new Error(`${label} must be an array`);let items=value.map((item,index3)=>validateEvidenceRefV1(item,`${label}[${index3}]`));if(new Set(items.map(item=>item.evidenceId)).size!==items.length)throw new Error(`${label} must not contain duplicate evidenceId values`);return Object.freeze([...items].sort((a,b)=>a.evidenceId.localeCompare(b.evidenceId)))}function validateViewport(value,label){if(assertPlainRecord(value,label),assertExactKeys(value,["width","height"],["deviceScaleFactor"],label),assertNonNegativeNumber(value.width,`${label}.width`),assertNonNegativeNumber(value.height,`${label}.height`),value.width===0||value.height===0)throw new Error(`${label} dimensions must be greater than zero`);if(value.deviceScaleFactor!==void 0&&(assertFiniteNumber(value.deviceScaleFactor,`${label}.deviceScaleFactor`),value.deviceScaleFactor<=0))throw new Error(`${label}.deviceScaleFactor must be greater than zero`);return detachedFreeze({width:value.width,height:value.height,...value.deviceScaleFactor===void 0?{}:{deviceScaleFactor:value.deviceScaleFactor}})}function validateRenderRequestV1(value,label="Render request"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","source","surface"],["page","viewport","options"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let source=validateArtifactRefV1(value.source,`${label}.source`);if(typeof value.surface!="string"||!SURFACES_V1.includes(value.surface))throw new Error(`${label}.surface is invalid`);let surface=value.surface;value.page!==void 0&&assertNonNegativeSafeInteger(value.page,`${label}.page`);let viewport=value.viewport===void 0?void 0:validateViewport(value.viewport,`${label}.viewport`);return value.options!==void 0&&assertJsonValue(value.options,`${label}.options`),detachedFreeze({version:1,operationId:value.operationId,source,surface,...value.page===void 0?{}:{page:value.page},...viewport===void 0?{}:{viewport},...value.options===void 0?{}:{options:value.options}})}function buildRenderRequestV1(input){return validateRenderRequestV1(input)}function validateRenderResultV1(value,label="Render result"){if(assertPlainRecord(value,label),assertExactKeys(value,["version","operationId","status","renderer","artifacts","evidence","summary"],["verification","error"],label),value.version!==1)throw new Error(`${label}.version must be 1`);assertNonEmptyString(value.operationId,`${label}.operationId`);let resultStatus=status(value.status,`${label}.status`);assertPlainRecord(value.renderer,`${label}.renderer`),assertExactKeys(value.renderer,["id","version"],[],`${label}.renderer`),assertNonEmptyString(value.renderer.id,`${label}.renderer.id`),assertNonEmptyString(value.renderer.version,`${label}.renderer.version`);let artifacts=artifactArray(value.artifacts,`${label}.artifacts`),evidence=evidenceArray(value.evidence,`${label}.evidence`);assertNonEmptyString(value.summary,`${label}.summary`);let verification=value.verification===void 0?void 0:validateVerificationV1(value.verification,`${label}.verification`),error2=value.error===void 0?void 0:validatePluginErrorV1(value.error,`${label}.error`);if(resultStatus!=="succeeded"&&error2===void 0)throw new Error(`${label}.error is required for status ${resultStatus}`);if(resultStatus==="succeeded"&&error2!==void 0)throw new Error(`${label}.succeeded must not include error`);if(resultStatus==="succeeded"&&verification?.status==="failed")throw new Error(`${label}.succeeded cannot have failed verification`);return detachedFreeze({version:1,operationId:value.operationId,status:resultStatus,renderer:{id:value.renderer.id,version:value.renderer.version},artifacts,evidence,summary:value.summary,...verification===void 0?{}:{verification},...error2===void 0?{}:{error:error2}})}function buildRenderResultV1(input){return validateRenderResultV1(input)}var session_lineage_exports={};__export(session_lineage_exports,{findSessionFile:()=>findSessionFile,isAgentSessionId:()=>isAgentSessionId,readAgentSessionHead:()=>readAgentSessionHead,readAgentSessionLineage:()=>readAgentSessionLineage});import{closeSync,openSync,readdirSync,readSync,statSync}from"node:fs";import{join}from"node:path";var HEADER_SCAN_BYTES=8192;function isAgentSessionId(value){return value.length===0||value.length>128?!1:value.startsWith("st:")?/^st:[0-9]+:[a-z0-9-]+$/i.test(value):/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)}function agentSessionsDir(agentDir){return join(agentDir,"sessions","_agents")}function findSessionFile(dir,sessionId){let names2;try{names2=readdirSync(dir)}catch{return}let suffix=`_${sessionId}.jsonl`,match=names2.find(name=>name===`${sessionId}.jsonl`||name.endsWith(suffix));return match===void 0?void 0:join(dir,match)}function parseHeader(line){try{let parsed=JSON.parse(line);if(parsed===null||typeof parsed!="object"||Array.isArray(parsed))return;let record=parsed;return record.type==="session"?record:void 0}catch{return}}function readFirstLine(filePath){let handle;try{handle=openSync(filePath,"r");let buffer=Buffer.alloc(HEADER_SCAN_BYTES),read=readSync(handle,buffer,0,HEADER_SCAN_BYTES,0);return read<=0?void 0:buffer.toString("utf8",0,read).split(`
141
+ `,1)[0]??""}catch{return}finally{handle!==void 0&&closeSync(handle)}}function readAgentSessionHead(agentDir,sessionId){if(!isAgentSessionId(sessionId))return;let filePath=findSessionFile(agentSessionsDir(agentDir),sessionId);if(filePath===void 0)return;let bytes,firstLine;try{bytes=statSync(filePath).size,firstLine=readFirstLine(filePath)}catch{return}if(firstLine===void 0)return;let header=parseHeader(firstLine);if(header===void 0)return;let parentAgentSession=typeof header.parentAgentSession=="string"?header.parentAgentSession:void 0,agentRole=typeof header.agentRole=="string"?header.agentRole:void 0,createdAt=typeof header.timestamp=="string"?header.timestamp:void 0;return{sessionId,...parentAgentSession===void 0?{}:{parentAgentSession},...agentRole===void 0?{}:{agentRole},...createdAt===void 0?{}:{createdAt},bytes}}function readAgentSessionLineage(agentDir,sessionId,maxDepth){let self=readAgentSessionHead(agentDir,sessionId);if(self===void 0)return{self:void 0,ancestors:[],truncated:!1};let ancestors=[],current=self;for(let step=0;step<maxDepth;step+=1){let parent=current.parentAgentSession;if(parent===void 0||parent===current.sessionId)return{self,ancestors,truncated:!1};let head=readAgentSessionHead(agentDir,parent);if(head===void 0)return{self,ancestors,truncated:!1};ancestors.push(head),current=head}return{self,ancestors,truncated:!0}}var subagent_exports={};__export(subagent_exports,{SUBAGENT_MAILBOX_MAX_ESCALATIONS:()=>SUBAGENT_MAILBOX_MAX_ESCALATIONS,SUBAGENT_MAILBOX_MAX_INBOX:()=>SUBAGENT_MAILBOX_MAX_INBOX,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES:()=>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,SUBAGENT_TASK_PROTOCOL_VERSION:()=>SUBAGENT_TASK_PROTOCOL_VERSION,SubagentMailboxErrorV1:()=>SubagentMailboxErrorV1,SubagentTaskProtocolError:()=>SubagentTaskProtocolError,boundServerMessagesV1:()=>boundServerMessagesV1,createSubagentMailbox:()=>createSubagentMailbox,createSubagentTaskChannelPairV1:()=>createSubagentTaskChannelPairV1,createSubagentTaskEnvelopeDecoderV1:()=>createSubagentTaskEnvelopeDecoderV1,createSubagentTaskServer:()=>createSubagentTaskServer,createSubagentTaskStdioChannelV1:()=>createSubagentTaskStdioChannelV1,createTurnProgressSourceV1:()=>createTurnProgressSourceV1,decodeEnvelopeV1:()=>decodeEnvelopeV1,encodeEnvelopeV1:()=>encodeEnvelopeV1,subagentMailboxExists:()=>subagentMailboxExists,subscribeTaskProgressV1:()=>subscribeTaskProgressV1});import{randomUUID}from"node:crypto";import{mkdirSync,readdirSync as readdirSync2,readFileSync,renameSync,rmSync,statSync as statSync2,writeFileSync}from"node:fs";import{join as join2}from"node:path";var SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES=2048,SUBAGENT_MAILBOX_MAX_ESCALATIONS=8,SUBAGENT_MAILBOX_MAX_INBOX=32,SubagentMailboxErrorV1=class extends Error{code;constructor(code,message){super(message),this.name="SubagentMailboxErrorV1",this.code=code}};function utf8ByteLength(text){return new TextEncoder().encode(text).length}function mailboxRoot(agentDir,ownerParentSessionId){if(!isAgentSessionId(ownerParentSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner id is not a session id");return join2(agentDir,"mailboxes",ownerParentSessionId)}function escalationsDir(root){return join2(root,"escalations")}function inboxDir(root,sessionId){if(!isAgentSessionId(sessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox target id is not a session id");return join2(root,"inboxes",sessionId)}function postMessage(dir,namePrefix,payload){mkdirSync(dir,{recursive:!0});let name=`${namePrefix}${Date.now().toString(36)}-${randomUUID().slice(0,8)}.json`;writeFileSync(join2(dir,`.${name}.tmp`),JSON.stringify(payload),"utf8"),renameSync(join2(dir,`.${name}.tmp`),join2(dir,name))}function listMessageFiles(dir){let names2;try{names2=readdirSync2(dir)}catch{return[]}let messages=[];for(let name of names2.sort()){if(name.endsWith(".tmp")){try{rmSync(join2(dir,name))}catch{}continue}name.endsWith(".json")&&messages.push(name)}return messages}function takeMessage(dir,name){let text;try{text=readFileSync(join2(dir,name),"utf8")}catch{return}try{rmSync(join2(dir,name))}catch{}try{return JSON.parse(text)}catch{return}}function createSubagentMailbox(options){let rootFor=()=>{let owner=options.ownerParentSessionId();if(owner===void 0)throw new SubagentMailboxErrorV1("subagent_unknown_session","mailbox owner session is not bound yet");return mailboxRoot(options.agentDir,owner)},assertBounded=(text,pendingCount,maxCount,quotaCode)=>{if(utf8ByteLength(text)>SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES)throw new SubagentMailboxErrorV1("subagent_message_too_large",`message exceeds ${SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES} utf-8 bytes`);if(pendingCount>=maxCount)throw new SubagentMailboxErrorV1(quotaCode,`mailbox has ${maxCount} pending messages already`)};return{postEscalate(fromSessionId,text){if(!isAgentSessionId(fromSessionId))throw new SubagentMailboxErrorV1("subagent_unknown_session","sender id is not a session id");let dir=escalationsDir(rootFor()),prefix=`${fromSessionId}__`,pending=listMessageFiles(dir).filter(name=>name.startsWith(prefix)).length;assertBounded(text,pending,SUBAGENT_MAILBOX_MAX_ESCALATIONS,"subagent_escalate_quota"),postMessage(dir,prefix,{from:fromSessionId,text})},drainEscalations(sessionId){let dir=escalationsDir(rootFor()),prefix=`${sessionId}__`,drained=[];for(let name of listMessageFiles(dir)){if(!name.startsWith(prefix))continue;let message=takeMessage(dir,name);message!==void 0&&typeof message.text=="string"&&drained.push(message.text)}return drained},postSibling(fromSessionId,toSessionId,text){let root=rootFor(),owner=options.ownerParentSessionId(),fromHead=readAgentSessionHead(options.agentDir,fromSessionId);if(owner===void 0||fromHead===void 0||fromHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","sender is not a known child of this session");let toHead=readAgentSessionHead(options.agentDir,toSessionId);if(toHead===void 0||toHead.parentAgentSession!==owner)throw new SubagentMailboxErrorV1("subagent_unknown_session","recipient is not a known sibling under this session");let dir=inboxDir(root,toSessionId);assertBounded(text,listMessageFiles(dir).length,SUBAGENT_MAILBOX_MAX_INBOX,"subagent_inbox_quota"),postMessage(dir,`${fromSessionId}__`,{from:fromSessionId,text})},drainInbox(sessionId,limit){let dir=inboxDir(rootFor(),sessionId),drained=[];for(let name of listMessageFiles(dir)){if(drained.length>=Math.max(0,limit))break;let message=takeMessage(dir,name);message!==void 0&&(typeof message.from!="string"||typeof message.text!="string"||drained.push({from:message.from,text:message.text}))}return drained}}}function subagentMailboxExists(agentDir,ownerParentSessionId){try{return statSync2(mailboxRoot(agentDir,ownerParentSessionId)),!0}catch{return!1}}function subscribeTaskProgressV1(adapter,taskId,listener){return adapter.onTaskProgress?.(taskId,listener)??(()=>{})}var MAX_TOOL_NAMES=3;function createTurnProgressSourceV1(session){return handler=>{let turn=0,tools=new Set;return session.subscribe(event=>{if(typeof event!="object"||event===null)return;let typed=event;if(typed.type==="turn_start"){turn+=1,tools.clear();return}if(typed.type==="tool_execution_start"&&typeof typed.toolName=="string"){tools.size<MAX_TOOL_NAMES&&tools.add(typed.toolName);return}if(typed.type!=="turn_end")return;let names2=[...tools];handler(`turn ${Math.max(turn,1)} done${names2.length===0?"":` (${names2.join(", ")})`}`)})}}var CborError=class extends Error{constructor(message){super(message),this.name="CborError"}},textEncoder=new TextEncoder,textDecoder=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});function resolveLimit(name,value,maximum){if(!Number.isSafeInteger(value)||value<0||value>maximum)throw new RangeError(`${name} must be an integer between 0 and ${maximum}`);return value}function resolveOptions(options){return{maxByteLength:resolveLimit("maxByteLength",options?.maxByteLength??16777216,4294967295),maxContainerLength:resolveLimit("maxContainerLength",options?.maxContainerLength??1e6,4294967295),maxDepth:resolveLimit("maxDepth",options?.maxDepth??64,512)}}var CborReader=class{bytes;offset=0;options;constructor(bytes,options){this.bytes=bytes,this.options=options}decode(){let value=this.readItem(0);if(this.offset!==this.bytes.byteLength)throw new CborError("CBOR payload contains trailing data");return value}readItem(depth){if(depth>this.options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${this.options.maxDepth}`);let initial=this.readByte(),majorType=initial>>>5,additionalInformation=initial&31;switch(majorType){case 0:return this.readArgument(additionalInformation);case 1:{let value=-1-this.readArgument(additionalInformation);if(!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 2:{let length=this.readLength(additionalInformation,"byte string",this.options.maxByteLength);return new Uint8Array(this.readBytes(length))}case 3:{let length=this.readLength(additionalInformation,"text string",this.options.maxByteLength),bytes=this.readBytes(length);try{return textDecoder.decode(bytes)}catch{throw new CborError("CBOR text string contains invalid UTF-8")}}case 4:{let length=this.readLength(additionalInformation,"array",this.options.maxContainerLength),result=[];for(let index3=0;index3<length;index3++)result.push(this.readItem(depth+1));return result}case 5:{let length=this.readLength(additionalInformation,"map",this.options.maxContainerLength),result={},keys=new Set;for(let index3=0;index3<length;index3++){let key=this.readItem(depth+1);if(typeof key!="string")throw new CborError("CBOR map keys must be strings");if(keys.has(key))throw new CborError("CBOR map contains a duplicate key");keys.add(key),Object.defineProperty(result,key,{configurable:!0,enumerable:!0,value:this.readItem(depth+1),writable:!0})}return result}case 6:throw new CborError("CBOR tags are not supported");case 7:return this.readSimple(additionalInformation);default:throw new CborError("Malformed CBOR major type")}}readSimple(additionalInformation){switch(additionalInformation){case 20:return!1;case 21:return!0;case 22:return null;case 27:{let bytes=this.readBytes(8),value=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength).getFloat64(0,!1);if(!Number.isFinite(value))throw new CborError("Decoded CBOR number must be finite");if(Number.isInteger(value)&&!Number.isSafeInteger(value))throw new CborError("Decoded CBOR integer is outside the safe range");return value}case 31:throw new CborError("CBOR break marker is not supported");default:throw new CborError("Unsupported CBOR simple value or floating-point width")}}readLength(additionalInformation,kind,limit){if(additionalInformation===31)throw new CborError(`Indefinite-length CBOR ${kind}s are not supported`);let length=this.readArgument(additionalInformation);if(length>limit)throw new CborError(`CBOR ${kind} length exceeds configured limit of ${limit}`);return length}readArgument(additionalInformation){if(additionalInformation<24)return additionalInformation;switch(additionalInformation){case 24:return this.readByte();case 25:{let bytes=this.readBytes(2);return bytes[0]*256+bytes[1]}case 26:{let bytes=this.readBytes(4);return bytes[0]*16777216+bytes[1]*65536+bytes[2]*256+bytes[3]}case 27:{let high=this.readArgument(26),low=this.readArgument(26);if(high>2097151)throw new CborError("Decoded CBOR integer or length is outside the safe range");return high*4294967296+low}case 31:throw new CborError("Indefinite-length CBOR items are not supported");default:throw new CborError("Malformed CBOR additional information")}}readByte(){if(this.offset>=this.bytes.byteLength)throw new CborError("Truncated CBOR payload");let value=this.bytes[this.offset];return this.offset++,value}readBytes(length){if(length>this.bytes.byteLength-this.offset)throw new CborError("Truncated CBOR payload");let value=this.bytes.subarray(this.offset,this.offset+length);return this.offset+=length,value}};function decodeCbor(bytes,options){if(!(bytes instanceof Uint8Array))throw new TypeError("CBOR input must be a Uint8Array");let resolved=resolveOptions(options);if(bytes.byteLength>resolved.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${resolved.maxByteLength}`);return new CborReader(bytes,resolved).decode()}var CborWriter=class{buffer;offset=0;maxByteLength;constructor(maxByteLength){this.maxByteLength=maxByteLength,this.buffer=new Uint8Array(Math.min(256,maxByteLength))}writeByte(value){this.ensureCapacity(1),this.buffer[this.offset]=value,this.offset++}writeBytes(bytes){this.ensureCapacity(bytes.byteLength),this.buffer.set(bytes,this.offset),this.offset+=bytes.byteLength}writeUint16(value){this.ensureCapacity(2),this.buffer[this.offset]=value>>>8,this.buffer[this.offset+1]=value,this.offset+=2}writeUint32(value){this.ensureCapacity(4),this.buffer[this.offset]=value>>>24,this.buffer[this.offset+1]=value>>>16,this.buffer[this.offset+2]=value>>>8,this.buffer[this.offset+3]=value,this.offset+=4}writeUint64(value){let high=Math.floor(value/4294967296),low=value-high*4294967296;this.writeUint32(high),this.writeUint32(low)}writeFloat64(value){this.ensureCapacity(9),this.buffer[this.offset]=251,new DataView(this.buffer.buffer).setFloat64(this.offset+1,value,!1),this.offset+=9}finish(){return this.buffer.slice(0,this.offset)}ensureCapacity(additionalBytes){let required=this.offset+additionalBytes;if(required>this.maxByteLength)throw new CborError(`CBOR byte length exceeds configured limit of ${this.maxByteLength}`);if(required<=this.buffer.byteLength)return;let capacity=Math.max(1,this.buffer.byteLength);for(;capacity<required;)capacity=Math.min(this.maxByteLength,Math.max(required,capacity*2));let expanded=new Uint8Array(capacity);expanded.set(this.buffer),this.buffer=expanded}};function writeArgument(writer,majorType,value){let prefix=majorType<<5;value<24?writer.writeByte(prefix|value):value<=255?(writer.writeByte(prefix|24),writer.writeByte(value)):value<=65535?(writer.writeByte(prefix|25),writer.writeUint16(value)):value<=4294967295?(writer.writeByte(prefix|26),writer.writeUint32(value)):(writer.writeByte(prefix|27),writer.writeUint64(value))}function isPlainObject(value){if(typeof value!="object"||value===null)return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function encodeText(writer,value,options){let bytes=textEncoder.encode(value);if(bytes.byteLength>options.maxByteLength)throw new CborError(`CBOR text string length exceeds configured limit of ${options.maxByteLength}`);if(textDecoder.decode(bytes)!==value)throw new CborError("CBOR text strings must contain valid Unicode scalar values");writeArgument(writer,3,bytes.byteLength),writer.writeBytes(bytes)}function encodeValue(writer,value,options,depth,ancestors){if(depth>options.maxDepth)throw new CborError(`CBOR nesting depth exceeds configured limit of ${options.maxDepth}`);if(value===null){writer.writeByte(246);return}if(typeof value=="boolean"){writer.writeByte(value?245:244);return}if(typeof value=="number"){if(!Number.isFinite(value))throw new CborError("CBOR numbers must be finite");if(Number.isInteger(value)&&!Object.is(value,-0)){if(!Number.isSafeInteger(value))throw new CborError("CBOR integers must be safe JavaScript integers");value>=0?writeArgument(writer,0,value):writeArgument(writer,1,-1-value)}else writer.writeFloat64(value);return}if(typeof value=="string"){encodeText(writer,value,options);return}if(value instanceof Uint8Array){if(value.byteLength>options.maxByteLength)throw new CborError(`CBOR byte string length exceeds configured limit of ${options.maxByteLength}`);writeArgument(writer,2,value.byteLength),writer.writeBytes(value);return}if(Array.isArray(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");if(value.length>options.maxContainerLength)throw new CborError(`CBOR array length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,4,value.length);for(let index3=0;index3<value.length;index3++){if(!Object.hasOwn(value,index3)||value[index3]===void 0)throw new CborError("CBOR arrays must not contain holes or undefined values");encodeValue(writer,value[index3],options,depth+1,ancestors)}}finally{ancestors.delete(value)}return}if(isPlainObject(value)){if(ancestors.has(value))throw new CborError("CBOR values must not contain cycles");for(let symbol of Object.getOwnPropertySymbols(value))if(Object.prototype.propertyIsEnumerable.call(value,symbol))throw new CborError("CBOR map keys must be strings");let entries=[];for(let key of Object.keys(value)){let entryValue=value[key];entryValue!==void 0&&entries.push([key,entryValue])}if(entries.length>options.maxContainerLength)throw new CborError(`CBOR map length exceeds configured limit of ${options.maxContainerLength}`);ancestors.add(value);try{writeArgument(writer,5,entries.length);for(let[key,entryValue]of entries)encodeText(writer,key,options),encodeValue(writer,entryValue,options,depth+1,ancestors)}finally{ancestors.delete(value)}return}throw new CborError(`Unsupported CBOR value type: ${typeof value}`)}function encodeCbor(value,options){let resolved=resolveOptions(options),writer=new CborWriter(resolved.maxByteLength);return encodeValue(writer,value,resolved,0,new Set),writer.finish()}var FrameError=class extends Error{constructor(message){super(message),this.name="FrameError"}};function resolveMaxFrameLength(options){let value=options?.maxFrameLength??16777216;if(!Number.isSafeInteger(value)||value<0||value>4294967295)throw new RangeError(`maxFrameLength must be an integer between 0 and ${4294967295}`);return value}function encodeFrame(payload){if(!(payload instanceof Uint8Array))throw new TypeError("Frame payload must be a Uint8Array");if(payload.byteLength>4294967295)throw new RangeError("Frame payload exceeds the unsigned 32-bit length limit");let frame=new Uint8Array(4+payload.byteLength),length=payload.byteLength;return frame[0]=length>>>24,frame[1]=length>>>16,frame[2]=length>>>8,frame[3]=length,frame.set(payload,4),frame}var FrameDecoder=class{header=new Uint8Array(4);headerLength=0;maxFrameLength;payloadBlocks=[];currentPayloadBlock;currentPayloadBlockLength=0;expectedPayloadLength;payloadLength=0;state="open";constructor(options){this.maxFrameLength=resolveMaxFrameLength(options)}push(chunk){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");if(!(chunk instanceof Uint8Array))throw new TypeError("Frame chunk must be a Uint8Array");let frames=[],chunkOffset=0;for(;chunkOffset<chunk.byteLength;){if(this.expectedPayloadLength===void 0){let headerBytes=Math.min(4-this.headerLength,chunk.byteLength-chunkOffset);if(this.header.set(chunk.subarray(chunkOffset,chunkOffset+headerBytes),this.headerLength),this.headerLength+=headerBytes,chunkOffset+=headerBytes,this.headerLength<4)continue;let frameLength=this.header[0]*16777216+this.header[1]*65536+this.header[2]*256+this.header[3];if(this.headerLength=0,frameLength>this.maxFrameLength&&this.fail(`Frame length ${frameLength} exceeds configured limit of ${this.maxFrameLength}`),frameLength===0){frames.push(new Uint8Array);continue}this.expectedPayloadLength=frameLength,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.payloadLength=0}let expectedPayloadLength=this.expectedPayloadLength;if(expectedPayloadLength!==void 0){for(;chunkOffset<chunk.byteLength&&this.payloadLength<expectedPayloadLength;){let block=this.currentPayloadBlock;(!block||this.currentPayloadBlockLength===block.byteLength)&&(block=new Uint8Array(Math.min(65536,expectedPayloadLength-this.payloadLength)),this.payloadBlocks.push(block),this.currentPayloadBlock=block,this.currentPayloadBlockLength=0);let payloadBytes=Math.min(block.byteLength-this.currentPayloadBlockLength,chunk.byteLength-chunkOffset);block.set(chunk.subarray(chunkOffset,chunkOffset+payloadBytes),this.currentPayloadBlockLength),this.currentPayloadBlockLength+=payloadBytes,this.payloadLength+=payloadBytes,chunkOffset+=payloadBytes}if(this.payloadLength===expectedPayloadLength){if(this.payloadBlocks.length===1)frames.push(this.payloadBlocks[0]);else{let payload=new Uint8Array(expectedPayloadLength),offset=0;for(let payloadBlock of this.payloadBlocks)payload.set(payloadBlock,offset),offset+=payloadBlock.byteLength;frames.push(payload)}this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0}}}return frames}end(){if(this.state==="ended")throw new FrameError("Frame decoder has ended");if(this.state==="failed")throw new FrameError("Frame decoder has failed");(this.headerLength!==0||this.expectedPayloadLength!==void 0)&&this.fail("Truncated frame at end of stream"),this.state="ended"}fail(message){throw this.state="failed",this.headerLength=0,this.payloadBlocks=[],this.currentPayloadBlock=void 0,this.currentPayloadBlockLength=0,this.expectedPayloadLength=void 0,this.payloadLength=0,new FrameError(message)}};var SUBAGENT_TASK_PROTOCOL_VERSION=1,SubagentTaskProtocolError=class extends Error{code;constructor(message,code){super(message),this.name="SubagentTaskProtocolError",this.code=code}},OPS=["hello","create","run","cancel","dispose","result","steer"],ERROR_CODES=["invalid_request","unknown_task","task_terminal","session_error","runner_lost","cross_task_response"];function isString(value){return typeof value=="string"}function isNonEmptyString(value){return typeof value=="string"&&value.length>0}var REQUEST_KEYS=["v","kind","id","op","taskId","prompt","runId","reason","profile","parentSessionId","resumeSessionId","parentTraceId","text"],EVENT_KEYS=["v","kind","taskId","runId","type","message","seq"],OK_RESPONSE_KEYS=["appliedProfile","sessionId","v","kind","id","ok","taskId","runId","messages","truncated","protocolVersion","status"],ERROR_RESPONSE_KEYS=["v","kind","id","ok","code","message"];function assertAllowedKeys(env,allowed,label){for(let key of Object.keys(env))if(!allowed.includes(key))throw new SubagentTaskProtocolError(`${label} envelope has an unknown field: ${key}`,"invalid_request")}function assertOptionalString2(env,key,label){let value=env[key];if(value!==void 0&&!isString(value))throw new SubagentTaskProtocolError(`${label} envelope field ${key} must be a string`,"invalid_request")}function validateEnvelope(value){if(typeof value!="object"||value===null)throw new SubagentTaskProtocolError("envelope must be an object","invalid_request");let env=value;if(env.v!==SUBAGENT_TASK_PROTOCOL_VERSION)throw new SubagentTaskProtocolError(`unsupported envelope version: ${String(env.v)}`,"invalid_request");if(env.kind==="request"){if(assertAllowedKeys(env,REQUEST_KEYS,"request"),!isNonEmptyString(env.id)||!isString(env.op)||!OPS.includes(env.op))throw new SubagentTaskProtocolError("request envelope requires id and a known op","invalid_request");if(assertOptionalString2(env,"taskId","request"),assertOptionalString2(env,"prompt","request"),assertOptionalString2(env,"runId","request"),assertOptionalString2(env,"reason","request"),assertOptionalString2(env,"parentSessionId","request"),assertOptionalString2(env,"resumeSessionId","request"),assertOptionalString2(env,"parentTraceId","request"),assertOptionalString2(env,"text","request"),env.profile!==void 0&&(env.profile===null||typeof env.profile!="object"||Array.isArray(env.profile)))throw new SubagentTaskProtocolError("request profile must be an object","invalid_request");return env}if(env.kind==="event"){if(assertAllowedKeys(env,EVENT_KEYS,"event"),!isNonEmptyString(env.taskId)||env.type!=="progress"||typeof env.seq!="number"||!Number.isInteger(env.seq)||env.seq<0)throw new SubagentTaskProtocolError("event envelope requires taskId, type=progress and a non-negative integer seq","invalid_request");return assertOptionalString2(env,"runId","event"),assertOptionalString2(env,"message","event"),env}if(env.kind==="response"){if(!isNonEmptyString(env.id)||typeof env.ok!="boolean")throw new SubagentTaskProtocolError("response envelope requires id and boolean ok","invalid_request");if(env.ok===!1){if(assertAllowedKeys(env,ERROR_RESPONSE_KEYS,"error response"),!isString(env.code)||!ERROR_CODES.includes(env.code)||!isString(env.message))throw new SubagentTaskProtocolError("error response requires a known code and a message","invalid_request");return env}if(assertAllowedKeys(env,OK_RESPONSE_KEYS,"ok response"),assertOptionalString2(env,"taskId","ok response"),assertOptionalString2(env,"runId","ok response"),assertOptionalString2(env,"status","ok response"),assertOptionalString2(env,"sessionId","ok response"),env.appliedProfile!==void 0){let applied=env.appliedProfile;if(applied===null||typeof applied!="object"||Array.isArray(applied))throw new SubagentTaskProtocolError("ok response appliedProfile must be an object","invalid_request");let record=applied,modelFacts=record.model;if(record.activeTools!==void 0&&(!Array.isArray(record.activeTools)||record.activeTools.some(name=>!isString(name)))||record.thinkingLevel!==void 0&&!isString(record.thinkingLevel)||record.systemPromptAppend!==void 0&&!isString(record.systemPromptAppend)||record.capabilityMode!==void 0&&!isString(record.capabilityMode)||modelFacts!==void 0&&(!isString(modelFacts.provider)||!isString(modelFacts.id)||typeof modelFacts.contextWindow!="number"||typeof modelFacts.maxTokens!="number"||typeof modelFacts.reasoning!="boolean"))throw new SubagentTaskProtocolError("ok response appliedProfile must carry activeTools/capabilityMode and complete model facts","invalid_request")}if(env.messages!==void 0&&!Array.isArray(env.messages))throw new SubagentTaskProtocolError("ok response field messages must be an array","invalid_request");if(env.truncated!==void 0&&typeof env.truncated!="boolean")throw new SubagentTaskProtocolError("ok response field truncated must be a boolean","invalid_request");if(env.protocolVersion!==void 0&&(typeof env.protocolVersion!="number"||!Number.isInteger(env.protocolVersion)))throw new SubagentTaskProtocolError("ok response field protocolVersion must be an integer","invalid_request");return env}throw new SubagentTaskProtocolError(`unknown envelope kind: ${String(env.kind)}`,"invalid_request")}function encodeEnvelopeV1(env){return encodeFrame(encodeCbor(env))}function decodeEnvelopeV1(framePayload){let decoded;try{decoded=decodeCbor(framePayload)}catch(error2){throw new SubagentTaskProtocolError(`envelope payload is not valid CBOR: ${error2 instanceof Error?error2.message:String(error2)}`,"invalid_request")}return validateEnvelope(decoded)}function createSubagentTaskEnvelopeDecoderV1(){let decoder=new FrameDecoder;return{push(chunk){return decoder.push(chunk).map(payload=>decodeEnvelopeV1(payload))},end(){decoder.end()}}}var CHANNEL_CAPACITY=256,EnvelopeQueue=class{items=[];spaceWaiters=[];dataWaiters=[];closed=!1;push(env){return this.closed?Promise.resolve():this.items.length>=CHANNEL_CAPACITY?new Promise(resolve=>{this.spaceWaiters.push(()=>{this.deliver(env),resolve()})}):(this.deliver(env),Promise.resolve())}close(){this.closed=!0;for(let wake of this.spaceWaiters.splice(0))wake();for(let resolve of this.dataWaiters.splice(0))resolve({value:void 0,done:!0})}take(){let item=this.items.shift();return item!==void 0?(this.wakeSpace(),Promise.resolve({value:item,done:!1})):this.closed?Promise.resolve({value:void 0,done:!0}):new Promise(resolve=>this.dataWaiters.push(resolve))}deliver(env){let resolve=this.dataWaiters.shift();resolve!==void 0?resolve({value:env,done:!1}):this.items.push(env)}wakeSpace(){let wake=this.spaceWaiters.shift();wake!==void 0&&wake()}},QueueChannel=class{out;inQueue;constructor(out,inQueue){this.out=out,this.inQueue=inQueue}write(env){return this.out.push(env)}[Symbol.asyncIterator](){return{next:()=>this.inQueue.take()}}};function createSubagentTaskChannelPairV1(){let clientToServer=new EnvelopeQueue,serverToClient=new EnvelopeQueue;return{client:new QueueChannel(clientToServer,serverToClient),server:new QueueChannel(serverToClient,clientToServer),close(){clientToServer.close(),serverToClient.close()}}}import{randomUUID as randomUUID2}from"node:crypto";var DEFAULT_MAX_MESSAGES=2e3,DEFAULT_MAX_RESULT_BYTES=524288;function utf8ByteLength2(value){return new TextEncoder().encode(value).length}function safeStringify(value){try{let serialized=JSON.stringify(value);return serialized===void 0?"":serialized}catch{return""}}function boundServerMessagesV1(messages,maxMessages,maxResultBytes){let truncated=!1,selected=messages;selected.length>maxMessages&&(selected=selected.slice(0,maxMessages),truncated=!0);let bounded=[],used=0;for(let message of selected){let size=utf8ByteLength2(safeStringify(message));if(used+size>maxResultBytes){truncated=!0;break}used+=size,bounded.push(message)}return{messages:bounded,truncated}}function verifyAppliedProfile(session,requested){let requestedRecord=requested,facts=session.facts?.();if(facts===void 0||requestedRecord.tools!==void 0&&(facts.activeTools===void 0||facts.activeTools.some(name=>!requestedRecord.tools?.includes(name)))||requestedRecord.mode==="readonly"&&facts.capabilityMode!=="readonly")return"unverified";if(requestedRecord.model!==void 0&&facts.model?.id!==requestedRecord.model)return`model: requested ${requestedRecord.model}, got ${facts.model?.id??"none"}`;if(requestedRecord.thinkingLevel!==void 0&&facts.thinkingLevel!==requestedRecord.thinkingLevel)return`thinkingLevel: requested ${requestedRecord.thinkingLevel}, got ${facts.thinkingLevel??"none"}`;if(requestedRecord.systemPromptAppend!==void 0){if(facts.systemPromptAppend===void 0)return"systemPromptAppend: not verifiable (facts missing)";if(!facts.systemPromptAppend.includes(requestedRecord.systemPromptAppend))return"systemPromptAppend: requested append is not in effect (suite APPEND_SYSTEM.md gating may have dropped it)"}return{...facts.activeTools===void 0?{}:{activeTools:facts.activeTools},...facts.model===void 0?{}:{model:facts.model},...facts.capabilityMode===void 0?{}:{capabilityMode:facts.capabilityMode},...facts.thinkingLevel===void 0?{}:{thinkingLevel:facts.thinkingLevel},...facts.systemPromptAppend===void 0?{}:{systemPromptAppend:facts.systemPromptAppend}}}function createSubagentTaskServer(options,out){let maxMessages=options.maxMessages??DEFAULT_MAX_MESSAGES,maxResultBytes=options.maxResultBytes??DEFAULT_MAX_RESULT_BYTES,tasks=new Map,taskSequence=0,serverDisposed=!1,writeState={pending:0,coalesced:0},settleWrite=result=>result!==void 0&&typeof result.then=="function"?result:Promise.resolve(),send=env=>{writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1})},sendProgress=(entry,env)=>{if(entry.progressInFlight){entry.pendingProgress=env,writeState.coalesced+=1;return}entry.progressInFlight=!0,writeState.pending+=1,settleWrite(out.write(env)).finally(()=>{writeState.pending-=1,entry.progressInFlight=!1;let next=entry.pendingProgress;entry.pendingProgress=void 0,next!==void 0&&!entry.disposed&&sendProgress(entry,next)})},okResponse=(id,fields)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!0,...fields})},errorResponse=(id,code,message)=>{send({v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"response",id,ok:!1,code,message})},lookup=id=>{if(id===void 0)return;let entry=tasks.get(id);return entry!==void 0&&!entry.disposed?entry:void 0},handleHello=env=>{okResponse(env.id,{protocolVersion:SUBAGENT_TASK_PROTOCOL_VERSION})},handleCreate=async env=>{if(typeof env.prompt!="string"){errorResponse(env.id,"invalid_request","create requires a string prompt");return}try{let session=await options.createSession({prompt:env.prompt,...env.profile===void 0?{}:{profile:env.profile},...env.parentSessionId===void 0?{}:{parentSessionId:env.parentSessionId},...env.resumeSessionId===void 0?{}:{resumeSessionId:env.resumeSessionId},...env.parentTraceId===void 0?{}:{parentTraceId:env.parentTraceId}}),appliedProfile=env.profile===void 0?void 0:verifyAppliedProfile(session,env.profile);if(typeof appliedProfile=="string"){await session.dispose().catch(()=>{}),errorResponse(env.id,"session_error",`runner session could not prove the requested child task profile was applied: ${appliedProfile}`);return}let taskId=`st:${++taskSequence}:${randomUUID2().slice(0,8)}`;tasks.set(taskId,{taskId,session,disposed:!1,cancelledBeforeRun:!1,runActive:!1,progressSeq:0,progressInFlight:!1}),okResponse(env.id,{taskId,sessionId:session.getSessionId(),...appliedProfile===void 0?{}:{appliedProfile}})}catch(error2){errorResponse(env.id,"session_error",`session creation failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleRun=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","run requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","run requires a live task");return}if(typeof env.prompt!="string"||typeof env.runId!="string"){errorResponse(env.id,"invalid_request","run requires prompt and runId");return}if(entry.cancelledBeforeRun){errorResponse(env.id,"task_terminal","task was cancelled before the run started");return}if(entry.runActive){errorResponse(env.id,"task_terminal","a run is already active for this task");return}let controller=new AbortController;if(entry.controller=controller,entry.runActive=!0,entry.unsubscribeProgress=void 0,entry.session.onProgress!==void 0){let unsubscribe=entry.session.onProgress(message=>{entry.disposed||sendProgress(entry,{v:SUBAGENT_TASK_PROTOCOL_VERSION,kind:"event",taskId:entry.taskId,runId:env.runId,type:"progress",message,seq:++entry.progressSeq})});entry.unsubscribeProgress=typeof unsubscribe=="function"?unsubscribe:void 0}let settleRun=()=>{entry.runActive=!1,entry.controller=void 0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0};entry.session.run(env.prompt,controller.signal).then(outcome=>{entry.disposed||(settleRun(),entry.lastRunStatus=outcome.status==="done"?"succeeded":"cancelled",okResponse(env.id,{taskId:entry.taskId,runId:env.runId,status:entry.lastRunStatus}))}).catch(error2=>{entry.disposed||(settleRun(),errorResponse(env.id,"session_error",`run failed: ${error2 instanceof Error?error2.message:String(error2)}`))})},handleCancel=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","cancel requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","cancel requires a live task");return}try{entry.runActive||(entry.cancelledBeforeRun=!0),entry.controller?.abort(env.reason??"cancelled"),await entry.session.cancel(env.reason),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`cancel failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleSteer=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","steer requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","steer requires a live task");return}if(typeof env.text!="string"||env.text.trim()===""){errorResponse(env.id,"invalid_request","steer requires non-empty text");return}if(entry.session.steer===void 0){errorResponse(env.id,"session_error","runner session does not support steer");return}try{await entry.session.steer(env.text),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`steer failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleDispose=async env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","dispose requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","dispose requires a live task");return}entry.disposed=!0,entry.runActive=!1,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task disposed"),entry.controller=void 0,tasks.delete(entry.taskId);try{await entry.session.dispose(),okResponse(env.id,{taskId:entry.taskId})}catch(error2){errorResponse(env.id,"session_error",`dispose failed: ${error2 instanceof Error?error2.message:String(error2)}`)}},handleResult=env=>{if(env.taskId===void 0){errorResponse(env.id,"invalid_request","result requires taskId");return}let entry=lookup(env.taskId);if(entry===void 0){errorResponse(env.id,"unknown_task","result requires a live task");return}let bounded=boundServerMessagesV1(entry.session.getMessages(),maxMessages,maxResultBytes);okResponse(env.id,{taskId:entry.taskId,messages:bounded.messages,truncated:bounded.truncated,...entry.lastRunStatus===void 0?{}:{status:entry.lastRunStatus}})};return{inspect(){return{pendingWrites:writeState.pending,coalescedProgress:writeState.coalesced}},handle(env){if(serverDisposed)return env.kind==="request"&&errorResponse(env.id,"task_terminal","subagent task server is disposed"),Promise.resolve();if(env.kind!=="request")return Promise.resolve();try{switch(env.op){case"hello":return handleHello(env),Promise.resolve();case"create":return handleCreate(env);case"run":return handleRun(env),Promise.resolve();case"cancel":return handleCancel(env);case"dispose":return handleDispose(env);case"result":return handleResult(env),Promise.resolve();case"steer":return handleSteer(env)}}catch(error2){return errorResponse(env.id,"session_error",`request failed: ${error2 instanceof Error?error2.message:String(error2)}`),Promise.resolve()}return Promise.resolve()},async dispose(){serverDisposed=!0;let entries=[...tasks.values()];tasks.clear();for(let entry of entries){entry.disposed=!0,entry.unsubscribeProgress?.(),entry.unsubscribeProgress=void 0,entry.controller?.abort("subagent task server disposed"),entry.controller=void 0;try{await entry.session.dispose()}catch{}}}}}function createSubagentTaskStdioChannelV1(streams){let decoder=createSubagentTaskEnvelopeDecoderV1(),pending=[],waiters=[],closed=!1,failure,close=error2=>{if(!closed){closed=!0,failure=error2;for(let waiter of waiters.splice(0))error2!==void 0?waiter.reject(error2):waiter.resolve({value:void 0,done:!0});streams.onClosed?.(error2)}};return streams.input.on("data",chunk=>{if(closed)return;let bytes=typeof chunk=="string"?new TextEncoder().encode(chunk):new Uint8Array(chunk);try{for(let env of decoder.push(bytes)){let waiter=waiters.shift();waiter!==void 0?waiter.resolve({value:env,done:!1}):pending.push(env)}}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)))}}),streams.input.on("end",()=>{try{decoder.end()}catch(error2){close(error2 instanceof Error?error2:new Error(String(error2)));return}close()}),streams.input.on("error",error2=>close(error2)),streams.output.on("error",error2=>close(error2)),{async write(env){if(closed)return;let frame=encodeEnvelopeV1(env);streams.output.write(frame)||await new Promise((resolve,reject)=>{let onDrain=()=>{streams.output.off("error",onError),resolve()},onError=error2=>{streams.output.off("drain",onDrain),reject(error2)};streams.output.once("drain",onDrain),streams.output.once("error",onError)})},[Symbol.asyncIterator](){return{next:()=>{let item=pending.shift();return item!==void 0?Promise.resolve({value:item,done:!1}):failure!==void 0?Promise.reject(failure):closed?Promise.resolve({value:void 0,done:!0}):new Promise((resolve,reject)=>waiters.push({resolve,reject}))}}}}}export{require_undici,settings_exports,arguments_exports,typebox_exports,build_default,build_exports,Build,Check2 as Check,Errors2 as Errors,Clean,Convert,Default,Decode10 as Decode,Encode10 as Encode,HasCodec,Create2 as Create,ParseError,Parser,value_exports,value_exports2,isPlainRecord,detachedFreeze,require_semver2 as require_semver,EXPERIMENTAL_PUBLIC_API_VERSION,LifecycleTransformError,LifecycleExecuteError,parseAgentTaskChildProfileV1,SUMMARY_MODEL_INVOCATION_ERROR_CODES,createDisposableRegistration,createEventEnvelope,detachedSessionSnapshot,parseCapabilityPluginManifest,MEMORY_RECALL_TOOL_NAME,TRACE_KINDS_V1,dist_exports,session_lineage_exports,SUBAGENT_MAILBOX_MAX_MESSAGE_BYTES,createSubagentMailbox,createTurnProgressSourceV1,decodeCbor,encodeCbor,encodeFrame,FrameDecoder,createSubagentTaskServer,createSubagentTaskStdioChannelV1,subagent_exports};