@onyxsecurity/mcp-gateway 2.1.50 → 2.1.52

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 (27) hide show
  1. package/dist/bin/mcp-gateway.js +2 -2
  2. package/dist/{cli-VcB76auS.js → cli-2yG7JL7D.js} +2 -2
  3. package/dist/{cli-VcB76auS.js.map → cli-2yG7JL7D.js.map} +1 -1
  4. package/dist/{env-DIqljXq0.js → env-DBIZLfiR.js} +1 -1
  5. package/dist/{env-CNI_nL0k.js → env-DSQrUyjO.js} +2 -2
  6. package/dist/{env-CNI_nL0k.js.map → env-DSQrUyjO.js.map} +1 -1
  7. package/dist/{helpers-Z1svlFeU.js → helpers-BdvJQlgs.js} +2 -2
  8. package/dist/{helpers-Z1svlFeU.js.map → helpers-BdvJQlgs.js.map} +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/{logger-TSr9byg-.js → logger-BKNVhmlA.js} +1 -1
  11. package/dist/{logger-uo92mU2K.js → logger-BVNMI3HH.js} +2 -2
  12. package/dist/{logger-uo92mU2K.js.map → logger-BVNMI3HH.js.map} +1 -1
  13. package/dist/{main-jBLvIZ3x.js → main-CMjtPmFu.js} +2 -2
  14. package/dist/{main-jBLvIZ3x.js.map → main-CMjtPmFu.js.map} +1 -1
  15. package/dist/oauthProvidersClient-Cb6hw3OE.js +1 -0
  16. package/dist/{oauthProvidersClient-CVxQtKxR.js → oauthProvidersClient-Dc_h8wCe.js} +2 -2
  17. package/dist/{oauthProvidersClient-CVxQtKxR.js.map → oauthProvidersClient-Dc_h8wCe.js.map} +1 -1
  18. package/dist/{providers-CsWaciBz.js → providers-CbSNUG7p.js} +2 -2
  19. package/dist/{providers-CsWaciBz.js.map → providers-CbSNUG7p.js.map} +1 -1
  20. package/dist/{proxyFetch-COzxtq61.js → proxyFetch-CVnQr9QN.js} +2 -2
  21. package/dist/{proxyFetch-COzxtq61.js.map → proxyFetch-CVnQr9QN.js.map} +1 -1
  22. package/dist/{transportDetection-IivLXRvk.js → transportDetection-Bv9i3W0J.js} +2 -2
  23. package/dist/{transportDetection-IivLXRvk.js.map → transportDetection-Bv9i3W0J.js.map} +1 -1
  24. package/dist/{upstreamNegotiation-CjDYfZM6.js → upstreamNegotiation-DbSqCaM4.js} +2 -2
  25. package/dist/{upstreamNegotiation-CjDYfZM6.js.map → upstreamNegotiation-DbSqCaM4.js.map} +1 -1
  26. package/package.json +3 -2
  27. package/dist/oauthProvidersClient-CE3GlEHg.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-Z1svlFeU.js","names":["lastResult: KeychainOutcomeResult | null","lastResult","HTTPS_PROXY_ENV_VARS: readonly ProxyEnvVar[]","HTTP_PROXY_ENV_VARS: readonly ProxyEnvVar[]","NO_PROXY_ENV_VARS: readonly string[]","PUBLIC_STRIP_ENV_VARS: readonly string[]","SCOPED_STRIP_ENV_VARS: readonly string[]","STRIP_ENV_VARS: readonly string[]","PRIVATE_ENV_VARS: readonly string[]","lastResult: ProxySetupResult","env","child: ReexecChild","forwarded: NodeJS.Signals[]","childEnv: NodeJS.ProcessEnv","defaultSpawn: ReexecSpawn","command","stripped: Record<string, string>","parsed: unknown","fallback: [string, string][]","_a","mixin","code","ansiStyles","readdirSync","key","args","value","val","argv","env","defaults","aliases","guessType","require","readFileSync","shim","y18n","y18n","_y18n","shim","getCallerFile","stack","escalade","y18n","cmd","result","shim","usage","validation","module","command","c","shim","fail","command","ui","usage","maxWidth","_a","_b","_c","usage","command","shim","desc","argv","templates.completionZshTemplate","templates.completionShTemplate","shim","_a","usage","key","distance","shim","_a","type","key","value","_b","_c","k","Usage","Validation","Command","Completion","completion","validation","esmPlatformShim"],"sources":["../src/lib/keychainOutcome.ts","../src/lib/proxySetup.ts","../node_modules/cliui/build/lib/index.js","../node_modules/ansi-regex/index.js","../node_modules/strip-ansi/index.js","../node_modules/get-east-asian-width/lookup.js","../node_modules/get-east-asian-width/index.js","../node_modules/emoji-regex/index.js","../node_modules/string-width/index.js","../node_modules/wrap-ansi/node_modules/ansi-styles/index.js","../node_modules/wrap-ansi/index.js","../node_modules/cliui/index.mjs","../node_modules/escalade/sync/index.mjs","../node_modules/yargs-parser/build/lib/string-utils.js","../node_modules/yargs-parser/build/lib/tokenize-arg-string.js","../node_modules/yargs-parser/build/lib/yargs-parser-types.js","../node_modules/yargs-parser/build/lib/yargs-parser.js","../node_modules/yargs-parser/build/lib/index.js","../node_modules/yargs/build/lib/utils/process-argv.js","../node_modules/y18n/build/lib/platform-shims/node.js","../node_modules/y18n/build/lib/index.js","../node_modules/y18n/index.mjs","../node_modules/get-caller-file/index.js","../node_modules/yargs/lib/platform-shims/esm.mjs","../node_modules/yargs/build/lib/typings/common-types.js","../node_modules/yargs/build/lib/utils/is-promise.js","../node_modules/yargs/build/lib/yerror.js","../node_modules/yargs/build/lib/parse-command.js","../node_modules/yargs/build/lib/argsert.js","../node_modules/yargs/build/lib/middleware.js","../node_modules/yargs/build/lib/utils/maybe-async-result.js","../node_modules/yargs/build/lib/command.js","../node_modules/yargs/build/lib/utils/obj-filter.js","../node_modules/yargs/build/lib/utils/set-blocking.js","../node_modules/yargs/build/lib/usage.js","../node_modules/yargs/build/lib/completion-templates.js","../node_modules/yargs/build/lib/completion.js","../node_modules/yargs/build/lib/utils/levenshtein.js","../node_modules/yargs/build/lib/validation.js","../node_modules/yargs/build/lib/utils/apply-extends.js","../node_modules/yargs/build/lib/yargs-factory.js","../node_modules/yargs/index.mjs"],"sourcesContent":["/**\n * The gateway resolves the scanner API key at startup (see bin/mcp-gateway.ts\n * PHASE 2b): from process.env (the legacy plaintext-in-config path, or the\n * MCP_GATEWAY_DISABLE_KEYCHAIN=1 opt-out), otherwise from the OS secret store\n * the scanner wrote at install time (macOS System keychain / Windows DPAPI\n * LocalMachine blob / Linux libsecret). That resolution happens BEFORE the\n * structured logger is initialized, so at that point the outcome can only go to\n * stderr — a dead end on customer endpoints, where the gateway is a subprocess\n * of the coding agent and its stderr is never forwarded to the log-ingest\n * pipeline. That is why reader-side `keychain_outcome` events never reached\n * groundcover even though the gateway was emitting them.\n *\n * This module mirrors lib/proxySetup.ts: PHASE 2b calls recordKeychainOutcome()\n * to stash the result, and main() calls emitKeychainOutcomeLog(logger) once the\n * logger (file + ingest) is online, so the event reaches groundcover via the\n * same path as every other gateway log.\n *\n * Ingest caveat: the log-ingest transport is gated on a non-empty scanner API\n * key (see config/env.ts logIngest.enabled). The \"env\" / \"keychain\" outcomes\n * resolve a key into process.env BEFORE main() loads config, so their events\n * ship normally. The \"missing\" / \"error\" / \"timeout\" outcomes — where no key\n * was resolved — cannot ship (there is no key to authenticate the ingest call);\n * they land in the local file log only. Observing keyless gateways is\n * intentionally left to the scanner write-side telemetry rather than a keyless\n * beacon.\n */\n\n/**\n * Subset of the gateway's structured logger we use here. Matches the shape of\n * winston.Logger so the real logger can be passed in directly. Mirrors\n * proxySetup.ts's ProxyLogger.\n */\nexport interface KeychainOutcomeLogger {\n info: (message: string, meta?: Record<string, unknown>) => void;\n warn: (message: string, meta?: Record<string, unknown>) => void;\n}\n\nexport interface KeychainOutcomeResult {\n keychainDisabledEnvSet: boolean;\n platform: string;\n source: KeychainOutcomeSource;\n}\n\nexport type KeychainOutcomeSource = \"env\" | \"error\" | \"keychain\" | \"missing\" | \"timeout\";\n\nlet lastResult: KeychainOutcomeResult | null = null;\n\n/**\n * Emit the recorded keychain outcome through the gateway's structured logger\n * (file + ingest), so it reaches groundcover the same way every other gateway\n * log does. Called from main() after the logger is initialized.\n *\n * The field schema matches the scanner-side `event: \"keychain_outcome\"` lines\n * and the early stderr line in bin/mcp-gateway.ts, so a single monitor query\n * aggregates writer (scanner) and reader (gateway) paths. `reason` mirrors\n * `outcome`: the reader-side outcomes are themselves the canonical reasons.\n *\n * - keychain / env → INFO (the gateway resolved a usable key)\n * - missing / error / timeout → WARN (degraded: no key resolved). \"timeout\" is\n * the credential probe blocking past its hard deadline (e.g. a macOS\n * `security` read stuck on a Keychain Services unlock/ACL dialog the gateway\n * subprocess can't dismiss) — the gateway kills the read and continues the\n * MCP handshake rather than hanging. See lib/secretstore.ts resolveApiKeyFromStore.\n *\n * No-op when nothing was recorded (a subcommand that never reached PHASE 2b).\n */\nexport function emitKeychainOutcomeLog(\n logger: KeychainOutcomeLogger,\n result: KeychainOutcomeResult | null = lastResult,\n): void {\n if (result === null) {\n return;\n }\n const meta = {\n caller: \"gateway_startup\",\n event: \"keychain_outcome\",\n keychain_disabled_env_set: result.keychainDisabledEnvSet,\n op: \"get\",\n outcome: result.source,\n platform: result.platform,\n reason: result.source,\n };\n if (result.source === \"error\" || result.source === \"missing\" || result.source === \"timeout\") {\n logger.warn(\"keychain_outcome\", meta);\n return;\n }\n logger.info(\"keychain_outcome\", meta);\n}\n\n/**\n * Read-only accessor for the most recent recorded outcome. Returns null if\n * recordKeychainOutcome hasn't been called yet (e.g. a subcommand such as\n * `probe` short-circuits before PHASE 2b).\n */\nexport function getKeychainOutcome(): KeychainOutcomeResult | null {\n return lastResult;\n}\n\n/**\n * Record the startup api-key resolution outcome. Called from\n * bin/mcp-gateway.ts PHASE 2b, before the logger exists. Stores the result so\n * emitKeychainOutcomeLog can flush it once the logger is online. `opts`\n * overrides are for tests; in production both default off process state so the\n * recorded event matches the early stderr line byte-for-byte.\n */\nexport function recordKeychainOutcome(\n source: KeychainOutcomeSource,\n opts: { keychainDisabledEnvSet?: boolean; platform?: string } = {},\n): KeychainOutcomeResult {\n lastResult = {\n keychainDisabledEnvSet:\n opts.keychainDisabledEnvSet ?? process.env.MCP_GATEWAY_DISABLE_KEYCHAIN === \"1\",\n platform: opts.platform ?? process.platform,\n source,\n };\n return lastResult;\n}\n","/**\n * Startup proxy setup, for BOTH shapes the gateway ships in: the\n * `bun build --compile` binary and the npx/Node package.\n *\n * WHY A RE-EXEC (and not undici's `setGlobalDispatcher`):\n * Under Bun, `globalThis.fetch` is Bun-native and ignores undici's GLOBAL\n * dispatcher, so the `EnvHttpProxyAgent` install this replaced was a silent\n * no-op in the compiled binary — no egress was ever proxied there. Bun instead\n * honors a per-request `proxy` option (see ./proxyFetch.ts) and snapshots\n * HTTP(S)_PROXY / NO_PROXY from the OS environment at process start.\n * Crucially, once a proxy is snapshotted there is NO per-request value that\n * forces a DIRECT connection — which the gateway must be able to do for\n * NO_PROXY bypass and the NXDOMAIN fallback.\n *\n * The only way to get a clean, override-only routing model is to run the real\n * gateway with the standard proxy env vars STRIPPED, so Bun's snapshot is\n * empty and every connection is direct-by-default, then opt each request into\n * the proxy explicitly. This module does exactly that: when a standard proxy\n * env var is present, it re-execs the SAME entrypoint as a child whose\n * environment has the standard proxy vars removed and the values stashed into\n * private guard vars, then applies them to `proxiedFetch` in the child. The\n * re-exec runs once (a marker env var prevents a loop) and the parent\n * transparently forwards signals and the child's exit status.\n *\n * That reasoning is about the GLOBAL dispatcher only, and it does NOT mean the\n * Node path needs nothing — Node's `fetch` ignores Bun's `proxy` option just\n * as completely. `proxiedFetch` therefore attaches an explicit per-request\n * undici `dispatcher` when running under Node; see ./proxyFetch.ts for the\n * runtime split. The stripping this module performs is not Bun-specific\n * either: it is what makes \"no dispatcher\" mean a genuinely DIRECT connection\n * on the Node path too, leaving nothing for Node's opt-in env-proxy support to\n * pick up. So it is applied unconditionally, on both runtimes, by design.\n *\n * WHY IT NEVER FALLS BACK TO UNPROXIED:\n * If the re-exec spawn fails, the gateway hard-exits (structured stderr line +\n * exit(1)) rather than continuing with a snapshot that would leak direct\n * connections in an egress-locked network. The only deliberate direct fallback\n * is the DNS-resolvability one in proxyFetch.ts (NXDOMAIN proxy host → direct).\n *\n * Two-phase logging is preserved: `setupProxyDispatcher()` runs at the top of\n * the entrypoint (before the structured logger exists) and records a\n * `ProxySetupResult`; `emitProxySetupLog(logger)` re-emits it from `main()` once\n * the logger is online. In the proxied case that log is emitted by the CHILD,\n * where routing is actually active.\n */\n\nimport { spawn } from \"node:child_process\";\n\nimport {\n configureProxy,\n parseNoProxy,\n probeProxyReachable,\n type ProxyReachability,\n type ProxyRuntimeConfig,\n} from \"./proxyFetch.js\";\n\nexport type ProxyEnvVar =\n | \"HTTP_PROXY\"\n | \"http_proxy\"\n | \"HTTPS_PROXY\"\n | \"https_proxy\"\n // Onyx-namespaced spellings. The scanner's wrap PERSISTS these onto a gateway\n // entry INSTEAD of the public names (config.GatewayScopedProxyEnvVars), so that\n // the proxy reaches the gateway — which has a direct fallback for an unreachable\n // proxy — without also reaching the third-party MCP server the gateway spawns,\n // which inherits the gateway's environment and has no fallback of its own.\n | \"MCP_GATEWAY_HTTP_PROXY\"\n | \"MCP_GATEWAY_HTTPS_PROXY\";\n\n/**\n * Subset of the gateway's structured logger we use here. Matches the shape of\n * `winston.Logger` so the real logger can be passed in directly.\n */\nexport interface ProxyLogger {\n info: (message: string, meta?: Record<string, unknown>) => void;\n warn: (message: string, meta?: Record<string, unknown>) => void;\n}\n\n/** The plan `computeProxyPlan` produces; `setupProxyDispatcher` then enacts it. */\nexport type ProxyPlan =\n | {\n args: string[];\n childEnv: NodeJS.ProcessEnv;\n command: string;\n mode: \"reexec\";\n result: ProxySetupResult;\n }\n | { config: ProxyRuntimeConfig; mode: \"child\"; result: ProxySetupResult }\n | { mode: \"direct\"; result: ProxySetupResult };\n\nexport type ProxySetupResult =\n | { error: string; source: ProxyEnvVar; status: \"failed\"; target: string }\n | { source: ProxyEnvVar; status: \"installed\"; target: string }\n | { status: \"not-needed\" };\n\n/** Minimal child-process surface we depend on, so tests can inject a fake. */\nexport interface ReexecChild {\n kill: (signal?: NodeJS.Signals | number) => void;\n on: {\n (event: \"error\", listener: (err: Error) => void): void;\n (event: \"exit\", listener: (code: null | number, signal: NodeJS.Signals | null) => void): void;\n };\n}\n\n/** Injectable spawn used for the startup re-exec. */\nexport type ReexecSpawn = (\n command: string,\n args: string[],\n options: { env: NodeJS.ProcessEnv; stdio: \"inherit\" },\n) => ReexecChild;\n\nexport interface SetupOptions {\n /** Override argv (default `process.argv`). */\n argv?: string[];\n /** Override the runtime environment (default `process.env`). */\n env?: NodeJS.ProcessEnv;\n /** Override the re-exec target executable (default `process.execPath`). */\n execPath?: string;\n /** Override process exit (default `process.exit`). */\n exit?: (code: number) => void;\n /** Override the child spawner (default `node:child_process` spawn). */\n spawn?: ReexecSpawn;\n}\n\n// Per-scheme precedence, one list per logical setting. Within a list the order is\n// Onyx-scoped first, then upper-case, then lower-case; across lists HTTPS wins\n// over HTTP — together mirroring golang.org/x/net/http/httpproxy's getEnvAny,\n// extended with the scoped namespace.\n//\n// WHY THE SCOPED NAME LEADS ITS OWN LIST RATHER THAN THE WHOLE ORDERING: the\n// scoped name is Onyx's explicit namespace and must outrank an ambient public var\n// for THE SAME logical setting, which is exactly what leading its own list does.\n// Hoisting MCP_GATEWAY_HTTP_PROXY above the public HTTPS_PROXY instead would make\n// `source` name a variable whose value was NOT the one selected — scheme\n// precedence still picks the https tier first — and the two must never disagree,\n// because `source` is what the `proxy_selected` line uses to tell an operator\n// which spelling their traffic is actually following.\nconst HTTPS_PROXY_ENV_VARS: readonly ProxyEnvVar[] = [\n \"MCP_GATEWAY_HTTPS_PROXY\",\n \"HTTPS_PROXY\",\n \"https_proxy\",\n];\nconst HTTP_PROXY_ENV_VARS: readonly ProxyEnvVar[] = [\n \"MCP_GATEWAY_HTTP_PROXY\",\n \"HTTP_PROXY\",\n \"http_proxy\",\n];\n// NO_PROXY has no scheme tier and never names a proxy on its own; it only refines\n// one. Scoped first, for the same reason.\nconst NO_PROXY_ENV_VARS: readonly string[] = [\"MCP_GATEWAY_NO_PROXY\", \"NO_PROXY\", \"no_proxy\"];\n\n// Every standard proxy var is stripped from the child, on BOTH runtimes, so\n// routing is decided per-request: under Bun this empties the startup snapshot,\n// and under Node it leaves nothing for the opt-in env-proxy support to read, so\n// an absent dispatcher is a genuinely direct connection. ALL_PROXY is stripped\n// too (Bun may consult it) even though the gateway does not implement its\n// semantics — it was never honored by the prior undici path either, so this is\n// not a regression.\n//\n// Split into two lists because the two namespaces differ in ONE respect that no\n// single list can express: both are stripped from the gateway, but only the\n// public ones are handed BACK to a program the gateway spawns\n// (restoreOperatorProxyEnv). See SCOPED_STRIP_ENV_VARS.\nconst PUBLIC_STRIP_ENV_VARS: readonly string[] = [\n \"HTTP_PROXY\",\n \"http_proxy\",\n \"HTTPS_PROXY\",\n \"https_proxy\",\n \"NO_PROXY\",\n \"no_proxy\",\n \"ALL_PROXY\",\n \"all_proxy\",\n];\n\n// The Onyx-namespaced spellings. Stripped from the gateway for the same reason as\n// the public ones — routing must be decided per request, so nothing may sit in the\n// child's startup snapshot — but NEVER restored to a program the gateway spawns.\n//\n// That asymmetry is the entire point of the namespace. A public proxy var on the\n// gateway entry reaches the wrapped third-party server too (a child inherits its\n// parent's environment), and that server has no direct fallback: against a dead\n// proxy it hangs rather than failing. Restoring a scoped name would reintroduce\n// exactly that leak in a different spelling — silently, because a scoped name is\n// not what an audit for \"did a public proxy var leak?\" looks for. Kept OUT of the\n// GUARD_ORIGINAL_ENV recording and filtered again on the way back out, so both the\n// producer and the consumer of that handoff have to agree before one could escape.\nconst SCOPED_STRIP_ENV_VARS: readonly string[] = [\n \"MCP_GATEWAY_HTTP_PROXY\",\n \"MCP_GATEWAY_HTTPS_PROXY\",\n \"MCP_GATEWAY_NO_PROXY\",\n];\n\nconst STRIP_ENV_VARS: readonly string[] = [...PUBLIC_STRIP_ENV_VARS, ...SCOPED_STRIP_ENV_VARS];\n\n// Private handoff vars: the marker prevents an infinite re-exec loop, and the\n// guards carry the captured proxy config across the exec boundary out of band,\n// so Bun never sees a standard proxy var in the child.\nconst MARKER_ENV_VAR = \"ONYX_MCP_GATEWAY_PROXY_ACTIVE\";\nconst GUARD_HTTP = \"ONYX_MCP_GATEWAY_PROXY_HTTP\";\nconst GUARD_HTTPS = \"ONYX_MCP_GATEWAY_PROXY_HTTPS\";\nconst GUARD_NO_PROXY = \"ONYX_MCP_GATEWAY_PROXY_NO_PROXY\";\nconst GUARD_SOURCE = \"ONYX_MCP_GATEWAY_PROXY_SOURCE\";\n// Carries the exact name→value pairs that were stripped, so a program the\n// gateway SPAWNS can be handed the operator's configuration back under the very\n// spelling they used (Go, curl and most SDKs read only one case, and which one\n// differs between them, so re-spelling it would change behavior).\nconst GUARD_ORIGINAL_ENV = \"ONYX_MCP_GATEWAY_PROXY_ORIGINAL_ENV\";\n\n// The whole private handoff. None of it may reach a program the gateway spawns.\nconst PRIVATE_ENV_VARS: readonly string[] = [\n MARKER_ENV_VAR,\n GUARD_HTTP,\n GUARD_HTTPS,\n GUARD_NO_PROXY,\n GUARD_SOURCE,\n GUARD_ORIGINAL_ENV,\n];\n\nlet lastResult: ProxySetupResult = { status: \"not-needed\" };\n\n/**\n * Pure planning half of startup proxy setup: decides, from the environment and\n * argv, whether this process is the direct case (no proxy), the re-exec'd child\n * (marker present — apply captured config), or the parent that must re-exec.\n * Exported for tests so the decision can be asserted without forking.\n */\nexport function computeProxyPlan(ctx: {\n argv: string[];\n env: NodeJS.ProcessEnv;\n execPath: string;\n}): ProxyPlan {\n const { argv, env, execPath } = ctx;\n\n // Re-exec'd child: standard proxy vars are already stripped; rehydrate the\n // captured config from the guard vars and route through proxiedFetch.\n if (env[MARKER_ENV_VAR] === \"1\") {\n const httpProxy = nonEmpty(env[GUARD_HTTP]);\n const httpsProxy = nonEmpty(env[GUARD_HTTPS]);\n const config: ProxyRuntimeConfig = {\n enabled: true,\n httpProxy,\n httpsProxy,\n noProxy: parseNoProxy(nonEmpty(env[GUARD_NO_PROXY])),\n // Carried across the re-exec for logging only, so proxyFetch's\n // `proxy_selected` line can name the spelling the operator actually used.\n // Routing never reads it.\n source: nonEmpty(env[GUARD_SOURCE]),\n };\n return {\n config,\n mode: \"child\",\n result: installedResult(env[GUARD_SOURCE], httpsProxy ?? httpProxy),\n };\n }\n\n const captured = captureProxyConfig(env);\n if (!captured) {\n return { mode: \"direct\", result: { status: \"not-needed\" } };\n }\n\n return {\n args: reexecArgs(argv),\n childEnv: buildChildEnv(env, captured),\n command: execPath,\n mode: \"reexec\",\n result: installedResult(captured.source, captured.httpsProxy ?? captured.httpProxy),\n };\n}\n\n/**\n * Emit the proxy-setup outcome through the gateway's structured logger.\n * Called from `main()` after the logger is initialized. In the proxied case\n * this runs in the re-exec'd child, where routing is actually active.\n *\n * - `installed` → INFO with source + redacted target\n * - `failed` → WARN with source, target, and the underlying error\n * - `not-needed` → silent (no log)\n */\nexport function emitProxySetupLog(logger: ProxyLogger, result: ProxySetupResult = lastResult): void {\n switch (result.status) {\n case \"failed\":\n logger.warn(\"Proxy routing setup failed; egress may be blocked\", {\n error: result.error,\n eventType: \"proxy_routing_failed\",\n source: result.source,\n target: result.target,\n });\n return;\n case \"installed\":\n logger.info(\"Proxy routing enabled for fetch()\", {\n eventType: \"proxy_routing_enabled\",\n source: result.source,\n target: result.target,\n });\n return;\n case \"not-needed\":\n // No proxy env set — nothing to log.\n return;\n }\n}\n\n/**\n * Read-only accessor for the most recent `setupProxyDispatcher()` result.\n * Returns the no-op default if setup hasn't been called yet.\n */\nexport function getProxySetupResult(): ProxySetupResult {\n return lastResult;\n}\n\n/**\n * The proxy URL a spawned server would actually be handed, or undefined when the\n * restore would hand it none. Derived from the restore's own entries rather than\n * re-read from the environment, so the value PROBED is by construction the value\n * that would be USED — the two cannot drift apart.\n *\n * HTTPS is preferred over HTTP, matching every other selection here. NO_PROXY and\n * ALL_PROXY name no proxy to dial and are skipped.\n */\nexport function operatorProxyForChild(env: NodeJS.ProcessEnv): string | undefined {\n const entries = originalProxyEntries(env);\n const find = (names: readonly string[]): string | undefined =>\n entries.find(([name]) => names.includes(name))?.[1];\n return find([\"HTTPS_PROXY\", \"https_proxy\"]) ?? find([\"HTTP_PROXY\", \"http_proxy\"]);\n}\n\n/**\n * Spawn the stripped-env child and mirror its lifecycle: forward the common\n * termination signals, re-raise a signal death, and propagate the exit code.\n * Exported for tests.\n */\nexport function performReexec(\n plan: Extract<ProxyPlan, { mode: \"reexec\" }>,\n spawnFn: ReexecSpawn,\n exitFn: (code: number) => void,\n): void {\n let child: ReexecChild;\n try {\n child = spawnFn(plan.command, plan.args, { env: plan.childEnv, stdio: \"inherit\" });\n } catch (error) {\n emitReexecFailure(error);\n exitFn(1);\n return;\n }\n\n const forwarded: NodeJS.Signals[] = [\"SIGINT\", \"SIGTERM\", \"SIGHUP\"];\n const handlers = new Map<NodeJS.Signals, () => void>();\n for (const sig of forwarded) {\n const handler = () => {\n try {\n child.kill(sig);\n } catch {\n // Child already gone; nothing to forward to.\n }\n };\n handlers.set(sig, handler);\n process.on(sig, handler);\n }\n\n child.on(\"error\", (error) => {\n emitReexecFailure(error);\n exitFn(1);\n });\n\n child.on(\"exit\", (code, signal) => {\n for (const [sig, handler] of handlers) process.removeListener(sig, handler);\n if (signal) {\n // Re-raise so our exit status reflects the child's terminating signal\n // (our handler for it was just removed, so this now terminates us).\n process.kill(process.pid, signal);\n return;\n }\n exitFn(code ?? 0);\n });\n}\n\n/**\n * The reachability verdict for the proxy the spawned server would inherit: ONE\n * bounded attempt through it, or \"indeterminate\" when there is nothing to probe.\n *\n * Called once per spawn, immediately before `restoreOperatorProxyEnv`, rather\n * than unconditionally at startup — with no proxy to hand over there is nothing\n * to decide, and the lanes that spawn no child pay nothing.\n */\nexport async function probeOperatorProxyForChild(\n env: NodeJS.ProcessEnv,\n opts: { fetchImpl?: typeof fetch; timeoutMs?: number } = {},\n): Promise<{ proxyHost: string | undefined; reachability: ProxyReachability }> {\n const proxyUrl = operatorProxyForChild(env);\n if (proxyUrl === undefined) return { proxyHost: undefined, reachability: \"indeterminate\" };\n // Only the credential-stripped HOST leaves this function, so no caller can log\n // a proxy URL's userinfo by accident. Shape matches the `proxy_host` field on\n // the proxy_selected / proxy_fallback lines, so one query joins all of them.\n return { proxyHost: safeProxyHost(proxyUrl), reachability: await probeProxyReachable(proxyUrl, opts) };\n}\n\n/**\n * Environment for a program the gateway SPAWNS (a wrapped stdio MCP server),\n * derived from the gateway's own — necessarily stripped — environment.\n *\n * The gateway strips the standard proxy vars from ITSELF so its own routing is\n * direct-by-default and can be opted into the proxy per request (see the module\n * header). That stripping is an implementation detail of the gateway's fetch\n * path and must NOT propagate: a spawned MCP server is a third-party program\n * with its own egress, and on a proxied network it needs exactly what the\n * operator configured. Inheriting the stripped environment would make it\n * connect direct (or fail) where it used to be proxied.\n *\n * The two are kept apart by direction: the parent's originals are carried across\n * the re-exec out of band in private guard vars, which this function converts\n * BACK into standard vars for the child only — nothing here mutates the\n * gateway's own `process.env`, so Bun's empty proxy snapshot and the\n * force-direct capability that depends on it are untouched. The private vars are\n * removed on the way out; they are an internal handoff, not part of any\n * server's contract.\n *\n * With no proxy configured there is no re-exec and no guard var, so the returned\n * environment is a plain copy.\n */\nexport function restoreOperatorProxyEnv(\n env: NodeJS.ProcessEnv,\n reachability: ProxyReachability = \"indeterminate\",\n): NodeJS.ProcessEnv {\n const childEnv: NodeJS.ProcessEnv = { ...env };\n for (const name of PRIVATE_ENV_VARS) delete childEnv[name];\n // Unconditionally, not only on the re-exec path. With no proxy URL configured\n // there is no re-exec and nothing was stripped, so a lone MCP_GATEWAY_NO_PROXY\n // (or a scoped var an operator set by hand) would otherwise ride straight\n // through into the spawned server's environment. Onyx's namespace is for the\n // gateway; it does not leave it.\n for (const name of SCOPED_STRIP_ENV_VARS) delete childEnv[name];\n\n // Only a POSITIVE unreachable verdict withholds the restore. Handing the child a\n // proxy that is not there makes it HANG — it has no fallback of its own — so\n // when the proxy is known dead the child is better off going direct\n // immediately. But \"reachable\" and \"indeterminate\" both restore, and that\n // asymmetry is deliberate in both directions: on a corporate network the proxy\n // is frequently the child's ONLY egress, so stripping it on a probe that merely\n // failed to conclude would BREAK the child rather than merely slow it, and a\n // timeout is \"could not observe\", never \"observed absent\".\n if (reachability !== \"unreachable\") {\n for (const [name, value] of originalProxyEntries(env)) childEnv[name] = value;\n }\n return childEnv;\n}\n\n/**\n * Establishes proxy routing for the whole process. Depending on the environment\n * it either applies the captured config to `proxiedFetch` (direct or child\n * cases and then RESOLVES), or re-execs the entrypoint with a stripped\n * environment (parent case) — in which case the returned promise never resolves\n * because control has transferred to the child and this process only forwards\n * the child's signals and exit status.\n *\n * Never throws. A spawn failure is a HARD failure (structured stderr + exit 1),\n * never a silent unproxied fallback.\n */\nexport async function setupProxyDispatcher(opts: SetupOptions = {}): Promise<ProxySetupResult> {\n const plan = computeProxyPlan({\n argv: opts.argv ?? process.argv,\n env: opts.env ?? process.env,\n execPath: opts.execPath ?? process.execPath,\n });\n\n if (plan.mode === \"direct\") {\n configureProxy({ enabled: false, noProxy: [] });\n lastResult = plan.result;\n return lastResult;\n }\n\n if (plan.mode === \"child\") {\n configureProxy(plan.config);\n lastResult = plan.result;\n return lastResult;\n }\n\n // Parent: re-exec with the proxy env stripped. This process becomes a thin\n // supervisor; the child runs the real gateway.\n lastResult = plan.result;\n performReexec(\n plan,\n opts.spawn ?? defaultSpawn,\n opts.exit ?? ((code) => process.exit(code)),\n );\n // Control has passed to the child. Block the parent's startup forever; it will\n // exit from within performReexec when the child does.\n return new Promise<ProxySetupResult>(() => {});\n}\n\nconst defaultSpawn: ReexecSpawn = (command, args, options) =>\n spawn(command, args, { env: options.env, stdio: options.stdio });\n\ninterface CapturedProxy {\n httpProxy?: string;\n httpsProxy?: string;\n noProxy?: string;\n source: ProxyEnvVar;\n}\n\nfunction buildChildEnv(env: NodeJS.ProcessEnv, captured: CapturedProxy): NodeJS.ProcessEnv {\n const childEnv: NodeJS.ProcessEnv = { ...env };\n const stripped: Record<string, string> = {};\n for (const name of STRIP_ENV_VARS) {\n const value = nonEmpty(env[name]);\n // Only the PUBLIC spellings are recorded for the restore. A scoped name is\n // stripped and then deliberately forgotten: it exists so the gateway alone can\n // be proxied, and handing it to a spawned server would undo that.\n if (value !== undefined && PUBLIC_STRIP_ENV_VARS.includes(name)) stripped[name] = value;\n delete childEnv[name];\n }\n childEnv[GUARD_ORIGINAL_ENV] = JSON.stringify(stripped);\n childEnv[MARKER_ENV_VAR] = \"1\";\n childEnv[GUARD_SOURCE] = captured.source;\n if (captured.httpProxy) childEnv[GUARD_HTTP] = captured.httpProxy;\n if (captured.httpsProxy) childEnv[GUARD_HTTPS] = captured.httpsProxy;\n if (captured.noProxy) childEnv[GUARD_NO_PROXY] = captured.noProxy;\n return childEnv;\n}\n\n/**\n * Capture the standard proxy configuration from an environment, mirroring Go's\n * upper-then-lower / HTTPS-then-HTTP precedence. Returns undefined when no proxy\n * URL is present (a lone NO_PROXY is meaningless and does not count).\n */\nfunction captureProxyConfig(env: NodeJS.ProcessEnv): CapturedProxy | undefined {\n const https = pickProxyVar(env, HTTPS_PROXY_ENV_VARS);\n const http = pickProxyVar(env, HTTP_PROXY_ENV_VARS);\n if (!https && !http) return undefined;\n // `source` is read off the SELECTED entry rather than searched for\n // independently, so it can never name a variable whose value was not the one\n // routing uses. The https tier is preferred here exactly as `httpsProxy ??\n // httpProxy` prefers it everywhere else.\n const selected = https ?? http;\n return {\n httpProxy: http?.value,\n httpsProxy: https?.value,\n noProxy: firstNonEmpty(...NO_PROXY_ENV_VARS.map((name) => env[name])),\n source: selected?.name ?? \"HTTPS_PROXY\",\n };\n}\n\nfunction emitReexecFailure(error: unknown): void {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(\n JSON.stringify({\n caller: \"gateway_startup\",\n error: message,\n event: \"proxy_reexec_failed\",\n }) + \"\\n\",\n );\n}\n\nfunction firstNonEmpty(...values: (string | undefined)[]): string | undefined {\n for (const value of values) {\n const v = nonEmpty(value);\n if (v !== undefined) return v;\n }\n return undefined;\n}\n\nfunction installedResult(source: string | undefined, rawTarget: string | undefined): ProxySetupResult {\n return {\n source: (source as ProxyEnvVar) ?? \"HTTPS_PROXY\",\n status: \"installed\",\n target: safeProxyTarget(rawTarget ?? \"\"),\n };\n}\n\nfunction isCompiledEntry(scriptArg: string): boolean {\n return (\n scriptArg.startsWith(\"/$bunfs/\") ||\n /[/\\\\]\\$bunfs[/\\\\]/.test(scriptArg) ||\n /~BUN/.test(scriptArg)\n );\n}\n\n/**\n * First name in `names` that carries a non-empty value, with that value. The list\n * order IS the precedence, so callers never re-derive it.\n */\n/** Whether `name` is one of Onyx's namespaced proxy vars. */\nfunction isScopedProxyVarName(name: string | undefined): boolean {\n return name !== undefined && SCOPED_STRIP_ENV_VARS.includes(name);\n}\n\nfunction nonEmpty(value: string | undefined): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/**\n * The operator's original proxy vars, exactly as they were spelled, recovered\n * from the private handoff. Falls back to the routing guards under canonical\n * upper-case names when the recorded originals are absent or unparseable, so a\n * spawned server is still proxied rather than silently going direct.\n */\nfunction originalProxyEntries(env: NodeJS.ProcessEnv): [string, string][] {\n const recorded = nonEmpty(env[GUARD_ORIGINAL_ENV]);\n if (recorded !== undefined) {\n try {\n const parsed: unknown = JSON.parse(recorded);\n if (parsed !== null && typeof parsed === \"object\" && !Array.isArray(parsed)) {\n const entries = Object.entries(parsed as Record<string, unknown>).filter(\n (entry): entry is [string, string] =>\n // PUBLIC names only. The recording side already omits the scoped\n // ones; filtering again here means a scoped name could only be\n // restored if BOTH halves of the handoff were changed to allow it —\n // and the leak this prevents is invisible to a test that only looks\n // for public spellings.\n PUBLIC_STRIP_ENV_VARS.includes(entry[0]) && typeof entry[1] === \"string\",\n );\n // A PARSEABLE recording is authoritative, INCLUDING when it is empty.\n // Empty means the capture found no public proxy var at all — the whole\n // configuration was Onyx-scoped — and the correct restore for that is\n // nothing. Treating empty as \"unusable\" and falling through would hand the\n // scoped value to the spawned server under a PUBLIC name, which is the\n // exact leak the namespace exists to prevent, on the feature's main path\n // rather than some edge of it.\n return entries;\n }\n } catch {\n // Unparseable handoff: fall through to the routing guards below.\n }\n }\n\n // Last resort, for an ABSENT or CORRUPT handoff only: re-spell the routing\n // guards under canonical public names so a spawned server is still proxied\n // rather than silently direct.\n //\n // Except when the proxy came from Onyx's namespace. GUARD_SOURCE names the\n // variable the value was actually read from, so a scoped source means the\n // operator never put a public proxy var on this entry — synthesizing one here\n // would invent a configuration they did not make, and hand the wrapped server a\n // proxy it has no fallback for.\n if (isScopedProxyVarName(nonEmpty(env[GUARD_SOURCE]))) return [];\n\n const fallback: [string, string][] = [];\n const http = nonEmpty(env[GUARD_HTTP]);\n const https = nonEmpty(env[GUARD_HTTPS]);\n const noProxy = nonEmpty(env[GUARD_NO_PROXY]);\n if (http !== undefined) fallback.push([\"HTTP_PROXY\", http]);\n if (https !== undefined) fallback.push([\"HTTPS_PROXY\", https]);\n if (noProxy !== undefined) fallback.push([\"NO_PROXY\", noProxy]);\n return fallback;\n}\n\nfunction pickProxyVar(\n env: NodeJS.ProcessEnv,\n names: readonly ProxyEnvVar[],\n): { name: ProxyEnvVar; value: string } | undefined {\n for (const name of names) {\n const value = nonEmpty(env[name]);\n if (value !== undefined) return { name, value };\n }\n return undefined;\n}\n\n/**\n * Build the argv for re-executing the SAME entrypoint. In a `bun build\n * --compile` binary the embedded script path appears as argv[1] under the\n * `$bunfs` root and re-running `execPath` alone re-enters it, so only the user\n * args (argv[2:]) are passed through; in dev, argv[1] is the real script path\n * and must be forwarded (argv[1:]).\n */\nfunction reexecArgs(argv: string[]): string[] {\n const scriptArg = argv[1] ?? \"\";\n return isCompiledEntry(scriptArg) ? argv.slice(2) : argv.slice(1);\n}\n\n/**\n * Parses a proxy URL and returns a credential-stripped representation safe to\n * log (`scheme://host:port`). Falls back to a literal placeholder when the URL\n * cannot be parsed; never returns the original string (which may include\n * `user:password@`).\n */\nfunction safeProxyHost(rawUrl: string): string {\n try {\n const u = new URL(rawUrl);\n // Same IPv6 bracketing rule as safeProxyTarget; see the note there.\n return u.hostname.includes(\":\") && !u.hostname.startsWith(\"[\")\n ? `[${u.hostname}]`\n : u.hostname;\n } catch {\n // Never the original string, which may carry `user:password@`.\n return \"(unparseable proxy URL)\";\n }\n}\n\nfunction safeProxyTarget(rawUrl: string): string {\n try {\n const u = new URL(rawUrl);\n const port = u.port || (u.protocol === \"https:\" ? \"443\" : \"80\");\n // For IPv6 literals: Node's WHATWG URL keeps the brackets in `hostname`\n // (e.g. \"[::1]\") while the spec strips them (e.g. \"::1\"). Add brackets only\n // when the hostname looks IPv6 and isn't already bracketed — covers both\n // runtimes and avoids producing the ambiguous `http://::1:8080`.\n const host =\n u.hostname.includes(\":\") && !u.hostname.startsWith(\"[\")\n ? `[${u.hostname}]`\n : u.hostname;\n return `${u.protocol}//${host}:${port}`;\n } catch {\n return \"(unparseable proxy URL)\";\n }\n}\n","'use strict';\nconst align = {\n right: alignRight,\n center: alignCenter\n};\nconst top = 0;\nconst right = 1;\nconst bottom = 2;\nconst left = 3;\nexport class UI {\n constructor(opts) {\n var _a;\n this.width = opts.width;\n this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;\n this.rows = [];\n }\n span(...args) {\n const cols = this.div(...args);\n cols.span = true;\n }\n resetOutput() {\n this.rows = [];\n }\n div(...args) {\n if (args.length === 0) {\n this.div('');\n }\n if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {\n return this.applyLayoutDSL(args[0]);\n }\n const cols = args.map(arg => {\n if (typeof arg === 'string') {\n return this.colFromString(arg);\n }\n return arg;\n });\n this.rows.push(cols);\n return cols;\n }\n shouldApplyLayoutDSL(...args) {\n return args.length === 1 && typeof args[0] === 'string' &&\n /[\\t\\n]/.test(args[0]);\n }\n applyLayoutDSL(str) {\n const rows = str.split('\\n').map(row => row.split('\\t'));\n let leftColumnWidth = 0;\n // simple heuristic for layout, make sure the\n // second column lines up along the left-hand.\n // don't allow the first column to take up more\n // than 50% of the screen.\n rows.forEach(columns => {\n if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {\n leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));\n }\n });\n // generate a table:\n // replacing ' ' with padding calculations.\n // using the algorithmically generated width.\n rows.forEach(columns => {\n this.div(...columns.map((r, i) => {\n return {\n text: r.trim(),\n padding: this.measurePadding(r),\n width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined\n };\n }));\n });\n return this.rows[this.rows.length - 1];\n }\n colFromString(text) {\n return {\n text,\n padding: this.measurePadding(text)\n };\n }\n measurePadding(str) {\n // measure padding without ansi escape codes\n const noAnsi = mixin.stripAnsi(str);\n return [0, noAnsi.match(/\\s*$/)[0].length, 0, noAnsi.match(/^\\s*/)[0].length];\n }\n toString() {\n const lines = [];\n this.rows.forEach(row => {\n this.rowToString(row, lines);\n });\n // don't display any lines with the\n // hidden flag set.\n return lines\n .filter(line => !line.hidden)\n .map(line => line.text)\n .join('\\n');\n }\n rowToString(row, lines) {\n this.rasterize(row).forEach((rrow, r) => {\n let str = '';\n rrow.forEach((col, c) => {\n const { width } = row[c]; // the width with padding.\n const wrapWidth = this.negatePadding(row[c]); // the width without padding.\n let ts = col; // temporary string used during alignment/padding.\n if (wrapWidth > mixin.stringWidth(col)) {\n ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));\n }\n // align the string within its column.\n if (row[c].align && row[c].align !== 'left' && this.wrap) {\n const fn = align[row[c].align];\n ts = fn(ts, wrapWidth);\n if (mixin.stringWidth(ts) < wrapWidth) {\n ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);\n }\n }\n // apply border and padding to string.\n const padding = row[c].padding || [0, 0, 0, 0];\n if (padding[left]) {\n str += ' '.repeat(padding[left]);\n }\n str += addBorder(row[c], ts, '| ');\n str += ts;\n str += addBorder(row[c], ts, ' |');\n if (padding[right]) {\n str += ' '.repeat(padding[right]);\n }\n // if prior row is span, try to render the\n // current row on the prior line.\n if (r === 0 && lines.length > 0) {\n str = this.renderInline(str, lines[lines.length - 1]);\n }\n });\n // remove trailing whitespace.\n lines.push({\n text: str.replace(/ +$/, ''),\n span: row.span\n });\n });\n return lines;\n }\n // if the full 'source' can render in\n // the target line, do so.\n renderInline(source, previousLine) {\n const match = source.match(/^ */);\n const leadingWhitespace = match ? match[0].length : 0;\n const target = previousLine.text;\n const targetTextWidth = mixin.stringWidth(target.trimRight());\n if (!previousLine.span) {\n return source;\n }\n // if we're not applying wrapping logic,\n // just always append to the span.\n if (!this.wrap) {\n previousLine.hidden = true;\n return target + source;\n }\n if (leadingWhitespace < targetTextWidth) {\n return source;\n }\n previousLine.hidden = true;\n return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();\n }\n rasterize(row) {\n const rrows = [];\n const widths = this.columnWidths(row);\n let wrapped;\n // word wrap all columns, and create\n // a data-structure that is easy to rasterize.\n row.forEach((col, c) => {\n // leave room for left and right padding.\n col.width = widths[c];\n if (this.wrap) {\n wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\\n');\n }\n else {\n wrapped = col.text.split('\\n');\n }\n if (col.border) {\n wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');\n wrapped.push(\"'\" + '-'.repeat(this.negatePadding(col) + 2) + \"'\");\n }\n // add top and bottom padding.\n if (col.padding) {\n wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));\n wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));\n }\n wrapped.forEach((str, r) => {\n if (!rrows[r]) {\n rrows.push([]);\n }\n const rrow = rrows[r];\n for (let i = 0; i < c; i++) {\n if (rrow[i] === undefined) {\n rrow.push('');\n }\n }\n rrow.push(str);\n });\n });\n return rrows;\n }\n negatePadding(col) {\n let wrapWidth = col.width || 0;\n if (col.padding) {\n wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);\n }\n if (col.border) {\n wrapWidth -= 4;\n }\n return wrapWidth;\n }\n columnWidths(row) {\n if (!this.wrap) {\n return row.map(col => {\n return col.width || mixin.stringWidth(col.text);\n });\n }\n let unset = row.length;\n let remainingWidth = this.width;\n // column widths can be set in config.\n const widths = row.map(col => {\n if (col.width) {\n unset--;\n remainingWidth -= col.width;\n return col.width;\n }\n return undefined;\n });\n // any unset widths should be calculated.\n const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;\n return widths.map((w, i) => {\n if (w === undefined) {\n return Math.max(unsetWidth, _minWidth(row[i]));\n }\n return w;\n });\n }\n}\nfunction addBorder(col, ts, style) {\n if (col.border) {\n if (/[.']-+[.']/.test(ts)) {\n return '';\n }\n if (ts.trim().length !== 0) {\n return style;\n }\n return ' ';\n }\n return '';\n}\n// calculates the minimum width of\n// a column, based on padding preferences.\nfunction _minWidth(col) {\n const padding = col.padding || [];\n const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);\n if (col.border) {\n return minWidth + 4;\n }\n return minWidth;\n}\nfunction getWindowWidth() {\n /* c8 ignore next 5: depends on terminal */\n if (typeof process === 'object' && process.stdout && process.stdout.columns) {\n return process.stdout.columns;\n }\n return 80;\n}\nfunction alignRight(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n if (strWidth < width) {\n return ' '.repeat(width - strWidth) + str;\n }\n return str;\n}\nfunction alignCenter(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n /* c8 ignore next 3 */\n if (strWidth >= width) {\n return str;\n }\n return ' '.repeat((width - strWidth) >> 1) + str;\n}\nlet mixin;\nexport function cliui(opts, _mixin) {\n mixin = _mixin;\n return new UI({\n width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),\n wrap: opts === null || opts === void 0 ? void 0 : opts.wrap\n });\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n","// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x >= 0x16FF0 && x <= 0x16FF6\n\t\t|| x >= 0x17000 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D1E\n\t\t|| x >= 0x18D80 && x <= 0x18DF2\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D8\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA8A\n\t\t|| x >= 0x1FA8E && x <= 0x1FAC6\n\t\t|| x === 0x1FAC8\n\t\t|| x >= 0x1FACD && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAEA\n\t\t|| x >= 0x1FAEF && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction getCategory(x) {\n\tif (isAmbiguous(x)) return 'ambiguous';\n\n\tif (isFullWidth(x)) return 'fullwidth';\n\n\tif (\n\t\tx === 0x20A9\n\t\t|| x >= 0xFF61 && x <= 0xFFBE\n\t\t|| x >= 0xFFC2 && x <= 0xFFC7\n\t\t|| x >= 0xFFCA && x <= 0xFFCF\n\t\t|| x >= 0xFFD2 && x <= 0xFFD7\n\t\t|| x >= 0xFFDA && x <= 0xFFDC\n\t\t|| x >= 0xFFE8 && x <= 0xFFEE\n\t) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (\n\t\tx >= 0x20 && x <= 0x7E\n\t\t|| x === 0xA2\n\t\t|| x === 0xA3\n\t\t|| x === 0xA5\n\t\t|| x === 0xA6\n\t\t|| x === 0xAC\n\t\t|| x === 0xAF\n\t\t|| x >= 0x27E6 && x <= 0x27ED\n\t\t|| x === 0x2985\n\t\t|| x === 0x2986\n\t) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(x)) return 'wide';\n\n\treturn 'neutral';\n}\n\nexport {isAmbiguous, isFullWidth, isWide, getCategory};\n","import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point\nexport {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';\n","module.exports = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E-\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED8\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE8A\\uDE8E-\\uDEC2\\uDEC6\\uDEC8\\uDECD-\\uDEDC\\uDEDF-\\uDEEA\\uDEEF]|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\nimport emojiRegex from 'emoji-regex';\n\nconst segmenter = new Intl.Segmenter();\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nexport default function stringWidth(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n","// Bootstrap cliui with CommonJS dependencies:\nimport { cliui } from './build/lib/index.js'\nimport stringWidth from 'string-width'\nimport stripAnsi from 'strip-ansi'\nimport wrapAnsi from 'wrap-ansi'\n\nexport default function ui (opts) {\n return cliui(opts, {\n stringWidth,\n stripAnsi,\n wrap: wrapAnsi\n })\n}\n\nexport {ui as 'module.exports'};\n","import { dirname, resolve } from 'path';\nimport { readdirSync, statSync } from 'fs';\n\nexport default function (start, callback) {\n\tlet dir = resolve('.', start);\n\tlet tmp, stats = statSync(dir);\n\n\tif (!stats.isDirectory()) {\n\t\tdir = dirname(dir);\n\t}\n\n\twhile (true) {\n\t\ttmp = callback(dir, readdirSync(dir));\n\t\tif (tmp) return resolve(dir, tmp);\n\t\tdir = dirname(tmp = dir);\n\t\tif (tmp === dir) break;\n\t}\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport function camelCase(str) {\n // Handle the case where an argument is provided as camel case, e.g., fooBar.\n // by ensuring that the string isn't already mixed case:\n const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();\n if (!isCamelCase) {\n str = str.toLowerCase();\n }\n if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {\n return str;\n }\n else {\n let camelcase = '';\n let nextChrUpper = false;\n const leadingHyphens = str.match(/^-+/);\n for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {\n let chr = str.charAt(i);\n if (nextChrUpper) {\n nextChrUpper = false;\n chr = chr.toUpperCase();\n }\n if (i !== 0 && (chr === '-' || chr === '_')) {\n nextChrUpper = true;\n }\n else if (chr !== '-' && chr !== '_') {\n camelcase += chr;\n }\n }\n return camelcase;\n }\n}\nexport function decamelize(str, joinString) {\n const lowercase = str.toLowerCase();\n joinString = joinString || '-';\n let notCamelcase = '';\n for (let i = 0; i < str.length; i++) {\n const chrLower = lowercase.charAt(i);\n const chrString = str.charAt(i);\n if (chrLower !== chrString && i > 0) {\n notCamelcase += `${joinString}${lowercase.charAt(i)}`;\n }\n else {\n notCamelcase += chrString;\n }\n }\n return notCamelcase;\n}\nexport function looksLikeNumber(x) {\n if (x === null || x === undefined)\n return false;\n // if loaded from config, may already be a number.\n if (typeof x === 'number')\n return true;\n // hexadecimal.\n if (/^0x[0-9a-f]+$/i.test(x))\n return true;\n // don't treat 0123 as a number; as it drops the leading '0'.\n if (/^0[^.]/.test(x))\n return false;\n return /^[-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/.test(x);\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n// take an un-split argv string and tokenize it.\nexport function tokenizeArgString(argString) {\n if (Array.isArray(argString)) {\n return argString.map(e => typeof e !== 'string' ? e + '' : e);\n }\n argString = argString.trim();\n let i = 0;\n let prevC = null;\n let c = null;\n let opening = null;\n const args = [];\n for (let ii = 0; ii < argString.length; ii++) {\n prevC = c;\n c = argString.charAt(ii);\n // split on spaces unless we're in quotes.\n if (c === ' ' && !opening) {\n if (!(prevC === ' ')) {\n i++;\n }\n continue;\n }\n // don't split the string if we're in matching\n // opening or closing single and double quotes.\n if (c === opening) {\n opening = null;\n }\n else if ((c === \"'\" || c === '\"') && !opening) {\n opening = c;\n }\n if (!args[i])\n args[i] = '';\n args[i] += c;\n }\n return args;\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport var DefaultValuesForTypeKey;\n(function (DefaultValuesForTypeKey) {\n DefaultValuesForTypeKey[\"BOOLEAN\"] = \"boolean\";\n DefaultValuesForTypeKey[\"STRING\"] = \"string\";\n DefaultValuesForTypeKey[\"NUMBER\"] = \"number\";\n DefaultValuesForTypeKey[\"ARRAY\"] = \"array\";\n})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n/* eslint-disable prefer-arrow-callback */\nimport { tokenizeArgString } from './tokenize-arg-string.js';\nimport { DefaultValuesForTypeKey } from './yargs-parser-types.js';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nlet mixin;\nexport class YargsParser {\n constructor(_mixin) {\n mixin = _mixin;\n }\n parse(argsInput, options) {\n const opts = Object.assign({\n alias: undefined,\n array: undefined,\n boolean: undefined,\n config: undefined,\n configObjects: undefined,\n configuration: undefined,\n coerce: undefined,\n count: undefined,\n default: undefined,\n envPrefix: undefined,\n narg: undefined,\n normalize: undefined,\n string: undefined,\n number: undefined,\n __: undefined,\n key: undefined\n }, options);\n // allow a string argument to be passed in rather\n // than an argv array.\n const args = tokenizeArgString(argsInput);\n // tokenizeArgString adds extra quotes to args if argsInput is a string\n // only strip those extra quotes in processValue if argsInput is a string\n const inputIsString = typeof argsInput === 'string';\n // aliases might have transitive relationships, normalize this.\n const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));\n const configuration = Object.assign({\n 'boolean-negation': true,\n 'camel-case-expansion': true,\n 'combine-arrays': false,\n 'dot-notation': true,\n 'duplicate-arguments-array': true,\n 'flatten-duplicate-arrays': true,\n 'greedy-arrays': true,\n 'halt-at-non-option': false,\n 'nargs-eats-options': false,\n 'negation-prefix': 'no-',\n 'parse-numbers': true,\n 'parse-positional-numbers': true,\n 'populate--': false,\n 'set-placeholder-key': false,\n 'short-option-groups': true,\n 'strip-aliased': false,\n 'strip-dashed': false,\n 'unknown-options-as-args': false\n }, opts.configuration);\n const defaults = Object.assign(Object.create(null), opts.default);\n const configObjects = opts.configObjects || [];\n const envPrefix = opts.envPrefix;\n const notFlagsOption = configuration['populate--'];\n const notFlagsArgv = notFlagsOption ? '--' : '_';\n const newAliases = Object.create(null);\n const defaulted = Object.create(null);\n // allow a i18n handler to be passed in, default to a fake one (util.format).\n const __ = opts.__ || mixin.format;\n const flags = {\n aliases: Object.create(null),\n arrays: Object.create(null),\n bools: Object.create(null),\n strings: Object.create(null),\n numbers: Object.create(null),\n counts: Object.create(null),\n normalize: Object.create(null),\n configs: Object.create(null),\n nargs: Object.create(null),\n coercions: Object.create(null),\n keys: []\n };\n const negative = /^-([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/;\n const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');\n [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {\n const key = typeof opt === 'object' ? opt.key : opt;\n // assign to flags[bools|strings|numbers]\n const assignment = Object.keys(opt).map(function (key) {\n const arrayFlagKeys = {\n boolean: 'bools',\n string: 'strings',\n number: 'numbers'\n };\n return arrayFlagKeys[key];\n }).filter(Boolean).pop();\n // assign key to be coerced\n if (assignment) {\n flags[assignment][key] = true;\n }\n flags.arrays[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {\n flags.bools[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.string || []).filter(Boolean).forEach(function (key) {\n flags.strings[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.number || []).filter(Boolean).forEach(function (key) {\n flags.numbers[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.count || []).filter(Boolean).forEach(function (key) {\n flags.counts[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {\n flags.normalize[key] = true;\n flags.keys.push(key);\n });\n if (typeof opts.narg === 'object') {\n Object.entries(opts.narg).forEach(([key, value]) => {\n if (typeof value === 'number') {\n flags.nargs[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.coerce === 'object') {\n Object.entries(opts.coerce).forEach(([key, value]) => {\n if (typeof value === 'function') {\n flags.coercions[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.config !== 'undefined') {\n if (Array.isArray(opts.config) || typeof opts.config === 'string') {\n ;\n [].concat(opts.config).filter(Boolean).forEach(function (key) {\n flags.configs[key] = true;\n });\n }\n else if (typeof opts.config === 'object') {\n Object.entries(opts.config).forEach(([key, value]) => {\n if (typeof value === 'boolean' || typeof value === 'function') {\n flags.configs[key] = value;\n }\n });\n }\n }\n // create a lookup table that takes into account all\n // combinations of aliases: {f: ['foo'], foo: ['f']}\n extendAliases(opts.key, aliases, opts.default, flags.arrays);\n // apply default values to all aliases.\n Object.keys(defaults).forEach(function (key) {\n (flags.aliases[key] || []).forEach(function (alias) {\n defaults[alias] = defaults[key];\n });\n });\n let error = null;\n checkConfiguration();\n let notFlags = [];\n const argv = Object.assign(Object.create(null), { _: [] });\n // TODO(bcoe): for the first pass at removing object prototype we didn't\n // remove all prototypes from objects returned by this API, we might want\n // to gradually move towards doing so.\n const argvReturn = {};\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n const truncatedArg = arg.replace(/^-{3,}/, '---');\n let broken;\n let key;\n let letters;\n let m;\n let next;\n let value;\n // any unknown option (except for end-of-options, \"--\")\n if (arg !== '--' && /^-/.test(arg) && isUnknownOptionAsArg(arg)) {\n pushPositional(arg);\n // ---, ---=, ----, etc,\n }\n else if (truncatedArg.match(/^---+(=|$)/)) {\n // options without key name are invalid.\n pushPositional(arg);\n continue;\n // -- separated by =\n }\n else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {\n // Using [\\s\\S] instead of . because js doesn't support the\n // 'dotall' regex modifier. See:\n // http://stackoverflow.com/a/1068308/13216\n m = arg.match(/^--?([^=]+)=([\\s\\S]*)$/);\n // arrays format = '--f=a b c'\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n if (checkAllAliases(m[1], flags.arrays)) {\n i = eatArray(i, m[1], args, m[2]);\n }\n else if (checkAllAliases(m[1], flags.nargs) !== false) {\n // nargs format = '--f=monkey washing cat'\n i = eatNargs(i, m[1], args, m[2]);\n }\n else {\n setArg(m[1], m[2], true);\n }\n }\n }\n else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {\n m = arg.match(negatedBoolean);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);\n }\n // -- separated by space.\n }\n else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {\n m = arg.match(/^--?(.+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '--foo a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '--foo a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!next.match(/^-/) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n // dot-notation flag separated by '='.\n }\n else if (arg.match(/^-.\\..+=/)) {\n m = arg.match(/^-([^=]+)=([\\s\\S]*)$/);\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n setArg(m[1], m[2]);\n }\n // dot-notation flag separated by space.\n }\n else if (arg.match(/^-.\\..+/) && !arg.match(negative)) {\n next = args[i + 1];\n m = arg.match(/^-(.\\..+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (next !== undefined && !next.match(/^-/) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {\n letters = arg.slice(1, -1).split('');\n broken = false;\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (letters[j + 1] && letters[j + 1] === '=') {\n value = arg.slice(j + 3);\n key = letters[j];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f=a b c'\n i = eatArray(i, key, args, value);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f=monkey washing cat'\n i = eatNargs(i, key, args, value);\n }\n else {\n setArg(key, value);\n }\n broken = true;\n break;\n }\n if (next === '-') {\n setArg(letters[j], next);\n continue;\n }\n // current letter is an alphabetic character and next value is a number\n if (/[A-Za-z]/.test(letters[j]) &&\n /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next) &&\n checkAllAliases(next, flags.bools) === false) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n if (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n else {\n setArg(letters[j], defaultValue(letters[j]));\n }\n }\n key = arg.slice(-1)[0];\n if (!broken && key !== '-') {\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n }\n else if (arg.match(/^-[0-9]$/) &&\n arg.match(negative) &&\n checkAllAliases(arg.slice(1), flags.bools)) {\n // single-digit boolean alias, e.g: xargs -0\n key = arg.slice(1);\n setArg(key, defaultValue(key));\n }\n else if (arg === '--') {\n notFlags = args.slice(i + 1);\n break;\n }\n else if (configuration['halt-at-non-option']) {\n notFlags = args.slice(i);\n break;\n }\n else {\n pushPositional(arg);\n }\n }\n // order of precedence:\n // 1. command line arg\n // 2. value from env var\n // 3. value from config file\n // 4. value from config objects\n // 5. configured default value\n applyEnvVars(argv, true); // special case: check env vars that point to config file\n applyEnvVars(argv, false);\n setConfig(argv);\n setConfigObjects();\n applyDefaultsAndAliases(argv, flags.aliases, defaults, true);\n applyCoercions(argv);\n if (configuration['set-placeholder-key'])\n setPlaceholderKeys(argv);\n // for any counts either not in args or without an explicit default, set to 0\n Object.keys(flags.counts).forEach(function (key) {\n if (!hasKey(argv, key.split('.')))\n setArg(key, 0);\n });\n // '--' defaults to undefined.\n if (notFlagsOption && notFlags.length)\n argv[notFlagsArgv] = [];\n notFlags.forEach(function (key) {\n argv[notFlagsArgv].push(key);\n });\n if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {\n Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {\n delete argv[key];\n });\n }\n if (configuration['strip-aliased']) {\n ;\n [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {\n if (configuration['camel-case-expansion'] && alias.includes('-')) {\n delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];\n }\n delete argv[alias];\n });\n }\n // Push argument into positional array, applying numeric coercion:\n function pushPositional(arg) {\n const maybeCoercedNumber = maybeCoerceNumber('_', arg);\n if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {\n argv._.push(maybeCoercedNumber);\n }\n }\n // how many arguments should we consume, based\n // on the nargs option?\n function eatNargs(i, key, args, argAfterEqualSign) {\n let ii;\n let toEat = checkAllAliases(key, flags.nargs);\n // NaN has a special meaning for the array type, indicating that one or\n // more values are expected.\n toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;\n if (toEat === 0) {\n if (!isUndefined(argAfterEqualSign)) {\n error = Error(__('Argument unexpected for: %s', key));\n }\n setArg(key, defaultValue(key));\n return i;\n }\n let available = isUndefined(argAfterEqualSign) ? 0 : 1;\n if (configuration['nargs-eats-options']) {\n // classic behavior, yargs eats positional and dash arguments.\n if (args.length - (i + 1) + available < toEat) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n available = toEat;\n }\n else {\n // nargs will not consume flag arguments, e.g., -abc, --foo,\n // and terminates when one is observed.\n for (ii = i + 1; ii < args.length; ii++) {\n if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))\n available++;\n else\n break;\n }\n if (available < toEat)\n error = Error(__('Not enough arguments following: %s', key));\n }\n let consumed = Math.min(available, toEat);\n if (!isUndefined(argAfterEqualSign) && consumed > 0) {\n setArg(key, argAfterEqualSign);\n consumed--;\n }\n for (ii = i + 1; ii < (consumed + i + 1); ii++) {\n setArg(key, args[ii]);\n }\n return (i + consumed);\n }\n // if an option is an array, eat all non-hyphenated arguments\n // following it... YUM!\n // e.g., --foo apple banana cat becomes [\"apple\", \"banana\", \"cat\"]\n function eatArray(i, key, args, argAfterEqualSign) {\n let argsToSet = [];\n let next = argAfterEqualSign || args[i + 1];\n // If both array and nargs are configured, enforce the nargs count:\n const nargsCount = checkAllAliases(key, flags.nargs);\n if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {\n argsToSet.push(true);\n }\n else if (isUndefined(next) ||\n (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {\n // for keys without value ==> argsToSet remains an empty []\n // set user default value, if available\n if (defaults[key] !== undefined) {\n const defVal = defaults[key];\n argsToSet = Array.isArray(defVal) ? defVal : [defVal];\n }\n }\n else {\n // value in --option=value is eaten as is\n if (!isUndefined(argAfterEqualSign)) {\n argsToSet.push(processValue(key, argAfterEqualSign, true));\n }\n for (let ii = i + 1; ii < args.length; ii++) {\n if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||\n (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))\n break;\n next = args[ii];\n if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))\n break;\n i = ii;\n argsToSet.push(processValue(key, next, inputIsString));\n }\n }\n // If both array and nargs are configured, create an error if less than\n // nargs positionals were found. NaN has special meaning, indicating\n // that at least one value is required (more are okay).\n if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||\n (isNaN(nargsCount) && argsToSet.length === 0))) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n setArg(key, argsToSet);\n return i;\n }\n function setArg(key, val, shouldStripQuotes = inputIsString) {\n if (/-/.test(key) && configuration['camel-case-expansion']) {\n const alias = key.split('.').map(function (prop) {\n return camelCase(prop);\n }).join('.');\n addNewAlias(key, alias);\n }\n const value = processValue(key, val, shouldStripQuotes);\n const splitKey = key.split('.');\n setKey(argv, splitKey, value);\n // handle populating aliases of the full key\n if (flags.aliases[key]) {\n flags.aliases[key].forEach(function (x) {\n const keyProperties = x.split('.');\n setKey(argv, keyProperties, value);\n });\n }\n // handle populating aliases of the first element of the dot-notation key\n if (splitKey.length > 1 && configuration['dot-notation']) {\n ;\n (flags.aliases[splitKey[0]] || []).forEach(function (x) {\n let keyProperties = x.split('.');\n // expand alias with nested objects in key\n const a = [].concat(splitKey);\n a.shift(); // nuke the old key.\n keyProperties = keyProperties.concat(a);\n // populate alias only if is not already an alias of the full key\n // (already populated above)\n if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {\n setKey(argv, keyProperties, value);\n }\n });\n }\n // Set normalize getter and setter when key is in 'normalize' but isn't an array\n if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {\n const keys = [key].concat(flags.aliases[key] || []);\n keys.forEach(function (key) {\n Object.defineProperty(argvReturn, key, {\n enumerable: true,\n get() {\n return val;\n },\n set(value) {\n val = typeof value === 'string' ? mixin.normalize(value) : value;\n }\n });\n });\n }\n }\n function addNewAlias(key, alias) {\n if (!(flags.aliases[key] && flags.aliases[key].length)) {\n flags.aliases[key] = [alias];\n newAliases[alias] = true;\n }\n if (!(flags.aliases[alias] && flags.aliases[alias].length)) {\n addNewAlias(alias, key);\n }\n }\n function processValue(key, val, shouldStripQuotes) {\n // strings may be quoted, clean this up as we assign values.\n if (shouldStripQuotes) {\n val = stripQuotes(val);\n }\n // handle parsing boolean arguments --foo=true --bar false.\n if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {\n if (typeof val === 'string')\n val = val === 'true';\n }\n let value = Array.isArray(val)\n ? val.map(function (v) { return maybeCoerceNumber(key, v); })\n : maybeCoerceNumber(key, val);\n // increment a count given as arg (either no value or value parsed as boolean)\n if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {\n value = increment();\n }\n // Set normalized value when key is in 'normalize' and in 'arrays'\n if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {\n if (Array.isArray(val))\n value = val.map((val) => { return mixin.normalize(val); });\n else\n value = mixin.normalize(val);\n }\n return value;\n }\n function maybeCoerceNumber(key, value) {\n if (!configuration['parse-positional-numbers'] && key === '_')\n return value;\n if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {\n const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));\n if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {\n value = Number(value);\n }\n }\n return value;\n }\n // set args from config.json file, this should be\n // applied last so that defaults can be applied.\n function setConfig(argv) {\n const configLookup = Object.create(null);\n // expand defaults/aliases, in-case any happen to reference\n // the config.json file.\n applyDefaultsAndAliases(configLookup, flags.aliases, defaults);\n Object.keys(flags.configs).forEach(function (configKey) {\n const configPath = argv[configKey] || configLookup[configKey];\n if (configPath) {\n try {\n let config = null;\n const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);\n const resolveConfig = flags.configs[configKey];\n if (typeof resolveConfig === 'function') {\n try {\n config = resolveConfig(resolvedConfigPath);\n }\n catch (e) {\n config = e;\n }\n if (config instanceof Error) {\n error = config;\n return;\n }\n }\n else {\n config = mixin.require(resolvedConfigPath);\n }\n setConfigObject(config);\n }\n catch (ex) {\n // Deno will receive a PermissionDenied error if an attempt is\n // made to load config without the --allow-read flag:\n if (ex.name === 'PermissionDenied')\n error = ex;\n else if (argv[configKey])\n error = Error(__('Invalid JSON config file: %s', configPath));\n }\n }\n });\n }\n // set args from config object.\n // it recursively checks nested objects.\n function setConfigObject(config, prev) {\n Object.keys(config).forEach(function (key) {\n const value = config[key];\n const fullKey = prev ? prev + '.' + key : key;\n // if the value is an inner object and we have dot-notation\n // enabled, treat inner objects in config the same as\n // heavily nested dot notations (foo.bar.apple).\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {\n // if the value is an object but not an array, check nested object\n setConfigObject(value, fullKey);\n }\n else {\n // setting arguments via CLI takes precedence over\n // values within the config file.\n if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {\n setArg(fullKey, value);\n }\n }\n });\n }\n // set all config objects passed in opts\n function setConfigObjects() {\n if (typeof configObjects !== 'undefined') {\n configObjects.forEach(function (configObject) {\n setConfigObject(configObject);\n });\n }\n }\n function applyEnvVars(argv, configOnly) {\n if (typeof envPrefix === 'undefined')\n return;\n const prefix = typeof envPrefix === 'string' ? envPrefix : '';\n const env = mixin.env();\n Object.keys(env).forEach(function (envVar) {\n if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {\n // get array of nested keys and convert them to camel case\n const keys = envVar.split('__').map(function (key, i) {\n if (i === 0) {\n key = key.substring(prefix.length);\n }\n return camelCase(key);\n });\n if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {\n setArg(keys.join('.'), env[envVar]);\n }\n }\n });\n }\n function applyCoercions(argv) {\n let coerce;\n const applied = new Set();\n Object.keys(argv).forEach(function (key) {\n if (!applied.has(key)) { // If we haven't already coerced this option via one of its aliases\n coerce = checkAllAliases(key, flags.coercions);\n if (typeof coerce === 'function') {\n try {\n const value = maybeCoerceNumber(key, coerce(argv[key]));\n ([].concat(flags.aliases[key] || [], key)).forEach(ali => {\n applied.add(ali);\n argv[ali] = value;\n });\n }\n catch (err) {\n error = err;\n }\n }\n }\n });\n }\n function setPlaceholderKeys(argv) {\n flags.keys.forEach((key) => {\n // don't set placeholder keys for dot notation options 'foo.bar'.\n if (~key.indexOf('.'))\n return;\n if (typeof argv[key] === 'undefined')\n argv[key] = undefined;\n });\n return argv;\n }\n function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {\n Object.keys(defaults).forEach(function (key) {\n if (!hasKey(obj, key.split('.'))) {\n setKey(obj, key.split('.'), defaults[key]);\n if (canLog)\n defaulted[key] = true;\n (aliases[key] || []).forEach(function (x) {\n if (hasKey(obj, x.split('.')))\n return;\n setKey(obj, x.split('.'), defaults[key]);\n });\n }\n });\n }\n function hasKey(obj, keys) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n o = (o[key] || {});\n });\n const key = keys[keys.length - 1];\n if (typeof o !== 'object')\n return false;\n else\n return key in o;\n }\n function setKey(obj, keys, value) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n key = sanitizeKey(key);\n if (typeof o === 'object' && o[key] === undefined) {\n o[key] = {};\n }\n if (typeof o[key] !== 'object' || Array.isArray(o[key])) {\n // ensure that o[key] is an array, and that the last item is an empty object.\n if (Array.isArray(o[key])) {\n o[key].push({});\n }\n else {\n o[key] = [o[key], {}];\n }\n // we want to update the empty object at the end of the o[key] array, so set o to that object\n o = o[key][o[key].length - 1];\n }\n else {\n o = o[key];\n }\n });\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n const key = sanitizeKey(keys[keys.length - 1]);\n const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);\n const isValueArray = Array.isArray(value);\n let duplicate = configuration['duplicate-arguments-array'];\n // nargs has higher priority than duplicate\n if (!duplicate && checkAllAliases(key, flags.nargs)) {\n duplicate = true;\n if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {\n o[key] = undefined;\n }\n }\n if (value === increment()) {\n o[key] = increment(o[key]);\n }\n else if (Array.isArray(o[key])) {\n if (duplicate && isTypeArray && isValueArray) {\n o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);\n }\n else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {\n o[key] = value;\n }\n else {\n o[key] = o[key].concat([value]);\n }\n }\n else if (o[key] === undefined && isTypeArray) {\n o[key] = isValueArray ? value : [value];\n }\n else if (duplicate && !(o[key] === undefined ||\n checkAllAliases(key, flags.counts) ||\n checkAllAliases(key, flags.bools))) {\n o[key] = [o[key], value];\n }\n else {\n o[key] = value;\n }\n }\n // extend the aliases list with inferred aliases.\n function extendAliases(...args) {\n args.forEach(function (obj) {\n Object.keys(obj || {}).forEach(function (key) {\n // short-circuit if we've already added a key\n // to the aliases array, for example it might\n // exist in both 'opts.default' and 'opts.key'.\n if (flags.aliases[key])\n return;\n flags.aliases[key] = [].concat(aliases[key] || []);\n // For \"--option-name\", also set argv.optionName\n flags.aliases[key].concat(key).forEach(function (x) {\n if (/-/.test(x) && configuration['camel-case-expansion']) {\n const c = camelCase(x);\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n // For \"--optionName\", also set argv['option-name']\n flags.aliases[key].concat(key).forEach(function (x) {\n if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {\n const c = decamelize(x, '-');\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n flags.aliases[key].forEach(function (x) {\n flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {\n return x !== y;\n }));\n });\n });\n });\n }\n function checkAllAliases(key, flag) {\n const toCheck = [].concat(flags.aliases[key] || [], key);\n const keys = Object.keys(flag);\n const setAlias = toCheck.find(key => keys.includes(key));\n return setAlias ? flag[setAlias] : false;\n }\n function hasAnyFlag(key) {\n const flagsKeys = Object.keys(flags);\n const toCheck = [].concat(flagsKeys.map(k => flags[k]));\n return toCheck.some(function (flag) {\n return Array.isArray(flag) ? flag.includes(key) : flag[key];\n });\n }\n function hasFlagsMatching(arg, ...patterns) {\n const toCheck = [].concat(...patterns);\n return toCheck.some(function (pattern) {\n const match = arg.match(pattern);\n return match && hasAnyFlag(match[1]);\n });\n }\n // based on a simplified version of the short flag group parsing logic\n function hasAllShortFlags(arg) {\n // if this is a negative number, or doesn't start with a single hyphen, it's not a short flag group\n if (arg.match(negative) || !arg.match(/^-[^-]+/)) {\n return false;\n }\n let hasAllFlags = true;\n let next;\n const letters = arg.slice(1).split('');\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (!hasAnyFlag(letters[j])) {\n hasAllFlags = false;\n break;\n }\n if ((letters[j + 1] && letters[j + 1] === '=') ||\n next === '-' ||\n (/[A-Za-z]/.test(letters[j]) && /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next)) ||\n (letters[j + 1] && letters[j + 1].match(/\\W/))) {\n break;\n }\n }\n return hasAllFlags;\n }\n function isUnknownOptionAsArg(arg) {\n return configuration['unknown-options-as-args'] && isUnknownOption(arg);\n }\n function isUnknownOption(arg) {\n arg = arg.replace(/^-{3,}/, '--');\n // ignore negative numbers\n if (arg.match(negative)) {\n return false;\n }\n // if this is a short option group and all of them are configured, it isn't unknown\n if (hasAllShortFlags(arg)) {\n return false;\n }\n // e.g. '--count=2'\n const flagWithEquals = /^-+([^=]+?)=[\\s\\S]*$/;\n // e.g. '-a' or '--arg'\n const normalFlag = /^-+([^=]+?)$/;\n // e.g. '-a-'\n const flagEndingInHyphen = /^-+([^=]+?)-$/;\n // e.g. '-abc123'\n const flagEndingInDigits = /^-+([^=]+?\\d+)$/;\n // e.g. '-a/usr/local'\n const flagEndingInNonWordCharacters = /^-+([^=]+?)\\W+.*$/;\n // check the different types of flag styles, including negatedBoolean, a pattern defined near the start of the parse method\n return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);\n }\n // make a best effort to pick a default value\n // for an option based on name and type.\n function defaultValue(key) {\n if (!checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts) &&\n `${key}` in defaults) {\n return defaults[key];\n }\n else {\n return defaultForType(guessType(key));\n }\n }\n // return a default value, given the type of a flag.,\n function defaultForType(type) {\n const def = {\n [DefaultValuesForTypeKey.BOOLEAN]: true,\n [DefaultValuesForTypeKey.STRING]: '',\n [DefaultValuesForTypeKey.NUMBER]: undefined,\n [DefaultValuesForTypeKey.ARRAY]: []\n };\n return def[type];\n }\n // given a flag, enforce a default type.\n function guessType(key) {\n let type = DefaultValuesForTypeKey.BOOLEAN;\n if (checkAllAliases(key, flags.strings))\n type = DefaultValuesForTypeKey.STRING;\n else if (checkAllAliases(key, flags.numbers))\n type = DefaultValuesForTypeKey.NUMBER;\n else if (checkAllAliases(key, flags.bools))\n type = DefaultValuesForTypeKey.BOOLEAN;\n else if (checkAllAliases(key, flags.arrays))\n type = DefaultValuesForTypeKey.ARRAY;\n return type;\n }\n function isUndefined(num) {\n return num === undefined;\n }\n // check user configuration settings for inconsistencies\n function checkConfiguration() {\n // count keys should not be set as array/narg\n Object.keys(flags.counts).find(key => {\n if (checkAllAliases(key, flags.arrays)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));\n return true;\n }\n else if (checkAllAliases(key, flags.nargs)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));\n return true;\n }\n return false;\n });\n }\n return {\n aliases: Object.assign({}, flags.aliases),\n argv: Object.assign(argvReturn, argv),\n configuration: configuration,\n defaulted: Object.assign({}, defaulted),\n error: error,\n newAliases: Object.assign({}, newAliases)\n };\n }\n}\n// if any aliases reference each other, we should\n// merge them together.\nfunction combineAliases(aliases) {\n const aliasArrays = [];\n const combined = Object.create(null);\n let change = true;\n // turn alias lookup hash {key: ['alias1', 'alias2']} into\n // a simple array ['key', 'alias1', 'alias2']\n Object.keys(aliases).forEach(function (key) {\n aliasArrays.push([].concat(aliases[key], key));\n });\n // combine arrays until zero changes are\n // made in an iteration.\n while (change) {\n change = false;\n for (let i = 0; i < aliasArrays.length; i++) {\n for (let ii = i + 1; ii < aliasArrays.length; ii++) {\n const intersect = aliasArrays[i].filter(function (v) {\n return aliasArrays[ii].indexOf(v) !== -1;\n });\n if (intersect.length) {\n aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);\n aliasArrays.splice(ii, 1);\n change = true;\n break;\n }\n }\n }\n }\n // map arrays back to the hash-lookup (de-dupe while\n // we're at it).\n aliasArrays.forEach(function (aliasArray) {\n aliasArray = aliasArray.filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n const lastAlias = aliasArray.pop();\n if (lastAlias !== undefined && typeof lastAlias === 'string') {\n combined[lastAlias] = aliasArray;\n }\n });\n return combined;\n}\n// this function should only be called when a count is given as an arg\n// it is NOT called to set a default value\n// thus we can start the count at 1 instead of 0\nfunction increment(orig) {\n return orig !== undefined ? orig + 1 : 1;\n}\n// TODO(bcoe): in the next major version of yargs, switch to\n// Object.create(null) for dot notation:\nfunction sanitizeKey(key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n}\nfunction stripQuotes(val) {\n return (typeof val === 'string' &&\n (val[0] === \"'\" || val[0] === '\"') &&\n val[val.length - 1] === val[0])\n ? val.substring(1, val.length - 1)\n : val;\n}\n","/**\n * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js\n *\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nvar _a, _b, _c;\n/* eslint-disable n/no-unpublished-import */\nimport { format } from 'util';\nimport { normalize, resolve } from 'path';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nimport { YargsParser } from './yargs-parser.js';\nimport { readFileSync } from 'fs';\nimport { createRequire } from 'node:module';\n// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our\n// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.\nconst minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)\n ? Number(process.env.YARGS_MIN_NODE_VERSION)\n : 20;\nconst nodeVersion = (_b = (_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : (_c = process === null || process === void 0 ? void 0 : process.version) === null || _c === void 0 ? void 0 : _c.slice(1);\nif (nodeVersion) {\n const major = Number(nodeVersion.match(/^([^.]+)/)[1]);\n if (major < minNodeVersion) {\n throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);\n }\n}\n// Creates a yargs-parser instance using Node.js standard libraries:\nconst env = process ? process.env : {};\nconst require = createRequire ? createRequire(import.meta.url) : undefined;\nconst parser = new YargsParser({\n cwd: process.cwd,\n env: () => {\n return env;\n },\n format,\n normalize,\n resolve,\n require: (path) => {\n if (typeof require !== 'undefined') {\n return require(path);\n }\n else if (path.match(/\\.json$/)) {\n // Addresses: https://github.com/yargs/yargs/issues/2040\n return JSON.parse(readFileSync(path, 'utf8'));\n }\n else {\n throw Error('only .json config files are supported in ESM');\n }\n }\n});\nconst yargsParser = function Parser(args, opts) {\n const result = parser.parse(args.slice(), opts);\n return result.argv;\n};\nyargsParser.detailed = function (args, opts) {\n return parser.parse(args.slice(), opts);\n};\nyargsParser.camelCase = camelCase;\nyargsParser.decamelize = decamelize;\nyargsParser.looksLikeNumber = looksLikeNumber;\nexport default yargsParser;\n// special syntax to allow unqualified default export from CommonJS\nexport { yargsParser as 'module.exports' };\n","function getProcessArgvBinIndex() {\n if (isBundledElectronApp())\n return 0;\n return 1;\n}\nfunction isBundledElectronApp() {\n return isElectronApp() && !process.defaultApp;\n}\nfunction isElectronApp() {\n return !!process.versions.electron;\n}\nexport function hideBin(argv) {\n return argv.slice(getProcessArgvBinIndex() + 1);\n}\nexport function getProcessArgvBin() {\n return process.argv[getProcessArgvBinIndex()];\n}\n","import { readFileSync, statSync, writeFile } from 'fs';\nimport { format } from 'util';\nimport { resolve } from 'path';\nexport default {\n fs: {\n readFileSync,\n writeFile\n },\n format,\n resolve,\n exists: (file) => {\n try {\n return statSync(file).isFile();\n }\n catch (err) {\n return false;\n }\n }\n};\n","let shim;\nclass Y18N {\n constructor(opts) {\n // configurable options.\n opts = opts || {};\n this.directory = opts.directory || './locales';\n this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;\n this.locale = opts.locale || 'en';\n this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;\n // internal stuff.\n this.cache = Object.create(null);\n this.writeQueue = [];\n }\n __(...args) {\n if (typeof arguments[0] !== 'string') {\n return this._taggedLiteral(arguments[0], ...arguments);\n }\n const str = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n cb = cb || function () { }; // noop.\n if (!this.cache[this.locale])\n this._readLocaleFile();\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][str] && this.updateFiles) {\n this.cache[this.locale][str] = str;\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));\n }\n __n() {\n const args = Array.prototype.slice.call(arguments);\n const singular = args.shift();\n const plural = args.shift();\n const quantity = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n if (!this.cache[this.locale])\n this._readLocaleFile();\n let str = quantity === 1 ? singular : plural;\n if (this.cache[this.locale][singular]) {\n const entry = this.cache[this.locale][singular];\n str = entry[quantity === 1 ? 'one' : 'other'];\n }\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][singular] && this.updateFiles) {\n this.cache[this.locale][singular] = {\n one: singular,\n other: plural\n };\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n // if a %d placeholder is provided, add quantity\n // to the arguments expanded by util.format.\n const values = [str];\n if (~str.indexOf('%d'))\n values.push(quantity);\n return shim.format.apply(shim.format, values.concat(args));\n }\n setLocale(locale) {\n this.locale = locale;\n }\n getLocale() {\n return this.locale;\n }\n updateLocale(obj) {\n if (!this.cache[this.locale])\n this._readLocaleFile();\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n this.cache[this.locale][key] = obj[key];\n }\n }\n }\n _taggedLiteral(parts, ...args) {\n let str = '';\n parts.forEach(function (part, i) {\n const arg = args[i + 1];\n str += part;\n if (typeof arg !== 'undefined') {\n str += '%s';\n }\n });\n return this.__.apply(this, [str].concat([].slice.call(args, 1)));\n }\n _enqueueWrite(work) {\n this.writeQueue.push(work);\n if (this.writeQueue.length === 1)\n this._processWriteQueue();\n }\n _processWriteQueue() {\n const _this = this;\n const work = this.writeQueue[0];\n // destructure the enqueued work.\n const directory = work.directory;\n const locale = work.locale;\n const cb = work.cb;\n const languageFile = this._resolveLocaleFile(directory, locale);\n const serializedLocale = JSON.stringify(this.cache[locale], null, 2);\n shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {\n _this.writeQueue.shift();\n if (_this.writeQueue.length > 0)\n _this._processWriteQueue();\n cb(err);\n });\n }\n _readLocaleFile() {\n let localeLookup = {};\n const languageFile = this._resolveLocaleFile(this.directory, this.locale);\n try {\n // When using a bundler such as webpack, readFileSync may not be defined:\n if (shim.fs.readFileSync) {\n localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));\n }\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n err.message = 'syntax error in ' + languageFile;\n }\n if (err.code === 'ENOENT')\n localeLookup = {};\n else\n throw err;\n }\n this.cache[this.locale] = localeLookup;\n }\n _resolveLocaleFile(directory, locale) {\n let file = shim.resolve(directory, './', locale + '.json');\n if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {\n // attempt fallback to language only\n const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');\n if (this._fileExistsSync(languageFile))\n file = languageFile;\n }\n return file;\n }\n _fileExistsSync(file) {\n return shim.exists(file);\n }\n}\nexport function y18n(opts, _shim) {\n shim = _shim;\n const y18n = new Y18N(opts);\n return {\n __: y18n.__.bind(y18n),\n __n: y18n.__n.bind(y18n),\n setLocale: y18n.setLocale.bind(y18n),\n getLocale: y18n.getLocale.bind(y18n),\n updateLocale: y18n.updateLocale.bind(y18n),\n locale: y18n.locale\n };\n}\n","import shim from './build/lib/platform-shims/node.js'\nimport { y18n as _y18n } from './build/lib/index.js'\n\nconst y18n = (opts) => {\n return _y18n(opts, shim)\n}\n\nexport default y18n\n","\"use strict\";\n// Call this function in a another function to find out the file from\n// which that function was called from. (Inspects the v8 stack trace)\n//\n// Inspired by http://stackoverflow.com/questions/13227489\nmodule.exports = function getCallerFile(position) {\n if (position === void 0) { position = 2; }\n if (position >= Error.stackTraceLimit) {\n throw new TypeError('getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `' + position + '` and Error.stackTraceLimit was: `' + Error.stackTraceLimit + '`');\n }\n var oldPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = function (_, stack) { return stack; };\n var stack = new Error().stack;\n Error.prepareStackTrace = oldPrepareStackTrace;\n if (stack !== null && typeof stack === 'object') {\n // stack[0] holds this file\n // stack[1] holds where this function was called\n // stack[2] holds the file we're interested in\n return stack[position] ? stack[position].getFileName() : undefined;\n }\n};\n//# sourceMappingURL=index.js.map","'use strict'\n\nimport { notStrictEqual, strictEqual } from 'assert'\nimport cliui from 'cliui'\nimport escalade from 'escalade/sync'\nimport { inspect } from 'util'\nimport { fileURLToPath } from 'url';\nimport Parser from 'yargs-parser'\nimport { basename, dirname, extname, relative, resolve, join } from 'path'\nimport { getProcessArgvBin } from '../../build/lib/utils/process-argv.js'\nimport stringWidth from 'string-width';\nimport y18n from 'y18n'\nimport { createRequire } from 'node:module';\nimport getCallerFile from 'get-caller-file';\nimport { readFileSync, readdirSync } from 'node:fs'\n\nconst __dirname = fileURLToPath(import.meta.url);\nconst mainFilename = __dirname.substring(0, __dirname.lastIndexOf('node_modules'));\nconst require = createRequire(import.meta.url);\n\nexport default {\n assert: {\n notStrictEqual,\n strictEqual\n },\n cliui,\n findUp: escalade,\n getEnv: (key) => {\n return process.env[key]\n },\n inspect,\n getProcessArgvBin,\n mainFilename: mainFilename || process.cwd(),\n Parser,\n path: {\n basename,\n dirname,\n extname,\n relative,\n resolve,\n join\n },\n process: {\n argv: () => process.argv,\n cwd: process.cwd,\n emitWarning: (warning, type) => process.emitWarning(warning, type),\n execPath: () => process.execPath,\n exit: (code) => {\n // eslint-disable-next-line n/no-process-exit\n process.exit(code);\n },\n nextTick: process.nextTick,\n stdColumns: typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null\n },\n readFileSync,\n readdirSync,\n require,\n getCallerFile: () => {\n const callerFile = getCallerFile(3);\n return callerFile.match(/^file:\\/\\//) ? fileURLToPath(callerFile) : callerFile;\n },\n stringWidth,\n y18n: y18n({\n directory: resolve(__dirname, '../../../locales'),\n updateFiles: false\n })\n}\n","export function assertNotStrictEqual(actual, expected, shim, message) {\n shim.assert.notStrictEqual(actual, expected, message);\n}\nexport function assertSingleKey(actual, shim) {\n shim.assert.strictEqual(typeof actual, 'string');\n}\nexport function objectKeys(object) {\n return Object.keys(object);\n}\n","export function isPromise(maybePromise) {\n return (!!maybePromise &&\n !!maybePromise.then &&\n typeof maybePromise.then === 'function');\n}\n","export class YError extends Error {\n constructor(msg) {\n super(msg || 'yargs error');\n this.name = 'YError';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, YError);\n }\n }\n}\n","export function parseCommand(cmd) {\n const extraSpacesStrippedCommand = cmd.replace(/\\s{2,}/g, ' ');\n const splitCommand = extraSpacesStrippedCommand.split(/\\s+(?![^[]*]|[^<]*>)/);\n const bregex = /\\.*[\\][<>]/g;\n const firstCommand = splitCommand.shift();\n if (!firstCommand)\n throw new Error(`No command found in: ${cmd}`);\n const parsedCommand = {\n cmd: firstCommand.replace(bregex, ''),\n demanded: [],\n optional: [],\n };\n splitCommand.forEach((cmd, i) => {\n let variadic = false;\n cmd = cmd.replace(/\\s/g, '');\n if (/\\.+[\\]>]/.test(cmd) && i === splitCommand.length - 1)\n variadic = true;\n if (/^\\[/.test(cmd)) {\n parsedCommand.optional.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n else {\n parsedCommand.demanded.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n });\n return parsedCommand;\n}\n","import { YError } from './yerror.js';\nimport { parseCommand } from './parse-command.js';\nconst positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'];\nexport function argsert(arg1, arg2, arg3) {\n function parseArgs() {\n return typeof arg1 === 'object'\n ? [{ demanded: [], optional: [] }, arg1, arg2]\n : [\n parseCommand(`cmd ${arg1}`),\n arg2,\n arg3,\n ];\n }\n try {\n let position = 0;\n const [parsed, callerArguments, _length] = parseArgs();\n const args = [].slice.call(callerArguments);\n while (args.length && args[args.length - 1] === undefined)\n args.pop();\n const length = _length || args.length;\n if (length < parsed.demanded.length) {\n throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`);\n }\n const totalCommands = parsed.demanded.length + parsed.optional.length;\n if (length > totalCommands) {\n throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);\n }\n parsed.demanded.forEach(demanded => {\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, demanded.cmd, position);\n position += 1;\n });\n parsed.optional.forEach(optional => {\n if (args.length === 0)\n return;\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, optional.cmd, position);\n position += 1;\n });\n }\n catch (err) {\n console.warn(err.stack);\n }\n}\nfunction guessType(arg) {\n if (Array.isArray(arg)) {\n return 'array';\n }\n else if (arg === null) {\n return 'null';\n }\n return typeof arg;\n}\nfunction argumentTypeError(observedType, allowedTypes, position) {\n throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`);\n}\n","import { argsert } from './argsert.js';\nimport { isPromise } from './utils/is-promise.js';\nexport class GlobalMiddleware {\n constructor(yargs) {\n this.globalMiddleware = [];\n this.frozens = [];\n this.yargs = yargs;\n }\n addMiddleware(callback, applyBeforeValidation, global = true, mutates = false) {\n argsert('<array|function> [boolean] [boolean] [boolean]', [callback, applyBeforeValidation, global], arguments.length);\n if (Array.isArray(callback)) {\n for (let i = 0; i < callback.length; i++) {\n if (typeof callback[i] !== 'function') {\n throw Error('middleware must be a function');\n }\n const m = callback[i];\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n }\n Array.prototype.push.apply(this.globalMiddleware, callback);\n }\n else if (typeof callback === 'function') {\n const m = callback;\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n m.mutates = mutates;\n this.globalMiddleware.push(callback);\n }\n return this.yargs;\n }\n addCoerceMiddleware(callback, option) {\n const aliases = this.yargs.getAliases();\n this.globalMiddleware = this.globalMiddleware.filter(m => {\n const toCheck = [...(aliases[option] || []), option];\n if (!m.option)\n return true;\n else\n return !toCheck.includes(m.option);\n });\n callback.option = option;\n return this.addMiddleware(callback, true, true, true);\n }\n getMiddleware() {\n return this.globalMiddleware;\n }\n freeze() {\n this.frozens.push([...this.globalMiddleware]);\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n if (frozen !== undefined)\n this.globalMiddleware = frozen;\n }\n reset() {\n this.globalMiddleware = this.globalMiddleware.filter(m => m.global);\n }\n}\nexport function commandMiddlewareFactory(commandMiddleware) {\n if (!commandMiddleware)\n return [];\n return commandMiddleware.map(middleware => {\n middleware.applyBeforeValidation = false;\n return middleware;\n });\n}\nexport function applyMiddleware(argv, yargs, middlewares, beforeValidation) {\n return middlewares.reduce((acc, middleware) => {\n if (middleware.applyBeforeValidation !== beforeValidation) {\n return acc;\n }\n if (middleware.mutates) {\n if (middleware.applied)\n return acc;\n middleware.applied = true;\n }\n if (isPromise(acc)) {\n return acc\n .then(initialObj => Promise.all([initialObj, middleware(initialObj, yargs)]))\n .then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));\n }\n else {\n const result = middleware(acc, yargs);\n return isPromise(result)\n ? result.then(middlewareObj => Object.assign(acc, middlewareObj))\n : Object.assign(acc, result);\n }\n }, argv);\n}\n","import { isPromise } from './is-promise.js';\nexport function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => {\n throw err;\n}) {\n try {\n const result = isFunction(getResult) ? getResult() : getResult;\n return isPromise(result)\n ? result.then((result) => resultHandler(result))\n : resultHandler(result);\n }\n catch (err) {\n return errorHandler(err);\n }\n}\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n","import { assertNotStrictEqual, } from './typings/common-types.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { applyMiddleware, commandMiddlewareFactory, } from './middleware.js';\nimport { parseCommand } from './parse-command.js';\nimport { isYargsInstance, } from './yargs-factory.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nconst DEFAULT_MARKER = /(^\\*)|(^\\$0)/;\nexport class CommandInstance {\n constructor(usage, validation, globalMiddleware, shim) {\n this.requireCache = new Set();\n this.handlers = {};\n this.aliasMap = {};\n this.frozens = [];\n this.shim = shim;\n this.usage = usage;\n this.globalMiddleware = globalMiddleware;\n this.validation = validation;\n }\n addDirectory(dir, req, callerFile, opts) {\n opts = opts || {};\n this.requireCache.add(callerFile);\n const fullDirPath = this.shim.path.resolve(this.shim.path.dirname(callerFile), dir);\n const files = this.shim.readdirSync(fullDirPath, {\n recursive: opts.recurse ? true : false,\n });\n if (!Array.isArray(opts.extensions))\n opts.extensions = ['js'];\n const visit = typeof opts.visit === 'function' ? opts.visit : (o) => o;\n for (const fileb of files) {\n const file = fileb.toString();\n if (opts.exclude) {\n let exclude = false;\n if (typeof opts.exclude === 'function') {\n exclude = opts.exclude(file);\n }\n else {\n exclude = opts.exclude.test(file);\n }\n if (exclude)\n continue;\n }\n if (opts.include) {\n let include = false;\n if (typeof opts.include === 'function') {\n include = opts.include(file);\n }\n else {\n include = opts.include.test(file);\n }\n if (!include)\n continue;\n }\n let supportedExtension = false;\n for (const ext of opts.extensions) {\n if (file.endsWith(ext))\n supportedExtension = true;\n }\n if (supportedExtension) {\n const joined = this.shim.path.join(fullDirPath, file);\n const module = req(joined);\n const extendableModule = Object.create(null, Object.getOwnPropertyDescriptors({ ...module }));\n const visited = visit(extendableModule, joined, file);\n if (visited) {\n if (this.requireCache.has(joined))\n continue;\n else\n this.requireCache.add(joined);\n if (!extendableModule.command) {\n extendableModule.command = this.shim.path.basename(joined, this.shim.path.extname(joined));\n }\n this.addHandler(extendableModule);\n }\n }\n }\n }\n addHandler(cmd, description, builder, handler, commandMiddleware, deprecated) {\n let aliases = [];\n const middlewares = commandMiddlewareFactory(commandMiddleware);\n handler = handler || (() => { });\n if (Array.isArray(cmd)) {\n if (isCommandAndAliases(cmd)) {\n [cmd, ...aliases] = cmd;\n }\n else {\n for (const command of cmd) {\n this.addHandler(command);\n }\n }\n }\n else if (isCommandHandlerDefinition(cmd)) {\n let command = Array.isArray(cmd.command) || typeof cmd.command === 'string'\n ? cmd.command\n : null;\n if (command === null) {\n throw new Error(`No command name given for module: ${this.shim.inspect(cmd)}`);\n }\n if (cmd.aliases)\n command = [].concat(command).concat(cmd.aliases);\n this.addHandler(command, this.extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares, cmd.deprecated);\n return;\n }\n else if (isCommandBuilderDefinition(builder)) {\n this.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares, builder.deprecated);\n return;\n }\n if (typeof cmd === 'string') {\n const parsedCommand = parseCommand(cmd);\n aliases = aliases.map(alias => parseCommand(alias).cmd);\n let isDefault = false;\n const parsedAliases = [parsedCommand.cmd].concat(aliases).filter(c => {\n if (DEFAULT_MARKER.test(c)) {\n isDefault = true;\n return false;\n }\n return true;\n });\n if (parsedAliases.length === 0 && isDefault)\n parsedAliases.push('$0');\n if (isDefault) {\n parsedCommand.cmd = parsedAliases[0];\n aliases = parsedAliases.slice(1);\n cmd = cmd.replace(DEFAULT_MARKER, parsedCommand.cmd);\n }\n aliases.forEach(alias => {\n this.aliasMap[alias] = parsedCommand.cmd;\n });\n if (description !== false) {\n this.usage.command(cmd, description, isDefault, aliases, deprecated);\n }\n this.handlers[parsedCommand.cmd] = {\n original: cmd,\n description,\n handler,\n builder: builder || {},\n middlewares,\n deprecated,\n demanded: parsedCommand.demanded,\n optional: parsedCommand.optional,\n };\n if (isDefault)\n this.defaultCommand = this.handlers[parsedCommand.cmd];\n }\n }\n getCommandHandlers() {\n return this.handlers;\n }\n getCommands() {\n return Object.keys(this.handlers).concat(Object.keys(this.aliasMap));\n }\n hasDefaultCommand() {\n return !!this.defaultCommand;\n }\n runCommand(command, yargs, parsed, commandIndex, helpOnly, helpOrVersionSet) {\n const commandHandler = this.handlers[command] ||\n this.handlers[this.aliasMap[command]] ||\n this.defaultCommand;\n const currentContext = yargs.getInternalMethods().getContext();\n const parentCommands = currentContext.commands.slice();\n const isDefaultCommand = !command;\n if (command) {\n currentContext.commands.push(command);\n currentContext.fullCommands.push(commandHandler.original);\n }\n const builderResult = this.applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, parsed.aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet);\n return isPromise(builderResult)\n ? builderResult.then(result => this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, result.innerArgv, currentContext, helpOnly, result.aliases, yargs))\n : this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, builderResult.innerArgv, currentContext, helpOnly, builderResult.aliases, yargs);\n }\n applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet) {\n const builder = commandHandler.builder;\n let innerYargs = yargs;\n if (isCommandBuilderCallback(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n const builderOutput = builder(yargs.getInternalMethods().reset(aliases), helpOrVersionSet);\n if (isPromise(builderOutput)) {\n return builderOutput.then(output => {\n innerYargs = isYargsInstance(output) ? output : yargs;\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n });\n }\n }\n else if (isCommandBuilderOptionDefinitions(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n innerYargs = yargs.getInternalMethods().reset(aliases);\n Object.keys(commandHandler.builder).forEach(key => {\n innerYargs.option(key, builder[key]);\n });\n }\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n }\n parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly) {\n if (isDefaultCommand)\n innerYargs.getInternalMethods().getUsageInstance().unfreeze(true);\n if (this.shouldUpdateUsage(innerYargs)) {\n innerYargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(this.usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);\n }\n const innerArgv = innerYargs\n .getInternalMethods()\n .runYargsParserAndExecuteCommands(null, undefined, true, commandIndex, helpOnly);\n return isPromise(innerArgv)\n ? innerArgv.then(argv => ({\n aliases: innerYargs.parsed.aliases,\n innerArgv: argv,\n }))\n : {\n aliases: innerYargs.parsed.aliases,\n innerArgv: innerArgv,\n };\n }\n shouldUpdateUsage(yargs) {\n return (!yargs.getInternalMethods().getUsageInstance().getUsageDisabled() &&\n yargs.getInternalMethods().getUsageInstance().getUsage().length === 0);\n }\n usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {\n const c = DEFAULT_MARKER.test(commandHandler.original)\n ? commandHandler.original.replace(DEFAULT_MARKER, '').trim()\n : commandHandler.original;\n const pc = parentCommands.filter(c => {\n return !DEFAULT_MARKER.test(c);\n });\n pc.push(c);\n return `$0 ${pc.join(' ')}`;\n }\n handleValidationAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, aliases, yargs, middlewares, positionalMap) {\n if (!yargs.getInternalMethods().getHasOutput()) {\n const validation = yargs\n .getInternalMethods()\n .runValidation(aliases, positionalMap, yargs.parsed.error, isDefaultCommand);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n validation(result);\n return result;\n });\n }\n if (commandHandler.handler && !yargs.getInternalMethods().getHasOutput()) {\n yargs.getInternalMethods().setHasOutput();\n const populateDoubleDash = !!yargs.getOptions().configuration['populate--'];\n yargs\n .getInternalMethods()\n .postProcess(innerArgv, populateDoubleDash, false, false);\n innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n const handlerResult = commandHandler.handler(result);\n return isPromise(handlerResult)\n ? handlerResult.then(() => result)\n : result;\n });\n if (!isDefaultCommand) {\n yargs.getInternalMethods().getUsageInstance().cacheHelpMessage();\n }\n if (isPromise(innerArgv) &&\n !yargs.getInternalMethods().hasParseCallback()) {\n innerArgv.catch(error => {\n try {\n yargs.getInternalMethods().getUsageInstance().fail(null, error);\n }\n catch (_err) {\n }\n });\n }\n }\n if (!isDefaultCommand) {\n currentContext.commands.pop();\n currentContext.fullCommands.pop();\n }\n return innerArgv;\n }\n applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, helpOnly, aliases, yargs) {\n let positionalMap = {};\n if (helpOnly)\n return innerArgv;\n if (!yargs.getInternalMethods().getHasOutput()) {\n positionalMap = this.populatePositionals(commandHandler, innerArgv, currentContext, yargs);\n }\n const middlewares = this.globalMiddleware\n .getMiddleware()\n .slice(0)\n .concat(commandHandler.middlewares);\n const maybePromiseArgv = applyMiddleware(innerArgv, yargs, middlewares, true);\n return isPromise(maybePromiseArgv)\n ? maybePromiseArgv.then(resolvedInnerArgv => this.handleValidationAndGetResult(isDefaultCommand, commandHandler, resolvedInnerArgv, currentContext, aliases, yargs, middlewares, positionalMap))\n : this.handleValidationAndGetResult(isDefaultCommand, commandHandler, maybePromiseArgv, currentContext, aliases, yargs, middlewares, positionalMap);\n }\n populatePositionals(commandHandler, argv, context, yargs) {\n argv._ = argv._.slice(context.commands.length);\n const demanded = commandHandler.demanded.slice(0);\n const optional = commandHandler.optional.slice(0);\n const positionalMap = {};\n this.validation.positionalCount(demanded.length, argv._.length);\n while (demanded.length) {\n const demand = demanded.shift();\n this.populatePositional(demand, argv, positionalMap);\n }\n while (optional.length) {\n const maybe = optional.shift();\n this.populatePositional(maybe, argv, positionalMap);\n }\n argv._ = context.commands.concat(argv._.map(a => '' + a));\n this.postProcessPositionals(argv, positionalMap, this.cmdToParseOptions(commandHandler.original), yargs);\n return positionalMap;\n }\n populatePositional(positional, argv, positionalMap) {\n const cmd = positional.cmd[0];\n if (positional.variadic) {\n positionalMap[cmd] = argv._.splice(0).map(String);\n }\n else {\n if (argv._.length)\n positionalMap[cmd] = [String(argv._.shift())];\n }\n }\n cmdToParseOptions(cmdString) {\n const parseOptions = {\n array: [],\n default: {},\n alias: {},\n demand: {},\n };\n const parsed = parseCommand(cmdString);\n parsed.demanded.forEach(d => {\n const [cmd, ...aliases] = d.cmd;\n if (d.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n parseOptions.demand[cmd] = true;\n });\n parsed.optional.forEach(o => {\n const [cmd, ...aliases] = o.cmd;\n if (o.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n });\n return parseOptions;\n }\n postProcessPositionals(argv, positionalMap, parseOptions, yargs) {\n const options = Object.assign({}, yargs.getOptions());\n options.default = Object.assign(parseOptions.default, options.default);\n for (const key of Object.keys(parseOptions.alias)) {\n options.alias[key] = (options.alias[key] || []).concat(parseOptions.alias[key]);\n }\n options.array = options.array.concat(parseOptions.array);\n options.config = {};\n const unparsed = [];\n Object.keys(positionalMap).forEach(key => {\n positionalMap[key].map(value => {\n if (options.configuration['unknown-options-as-args'])\n options.key[key] = true;\n unparsed.push(`--${key}`);\n unparsed.push(value);\n });\n });\n if (!unparsed.length)\n return;\n const config = Object.assign({}, options.configuration, {\n 'populate--': false,\n });\n const parsed = this.shim.Parser.detailed(unparsed, Object.assign({}, options, {\n configuration: config,\n }));\n if (parsed.error) {\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .fail(parsed.error.message, parsed.error);\n }\n else {\n const positionalKeys = Object.keys(positionalMap);\n Object.keys(positionalMap).forEach(key => {\n positionalKeys.push(...parsed.aliases[key]);\n });\n Object.keys(parsed.argv).forEach(key => {\n if (positionalKeys.includes(key)) {\n if (!positionalMap[key])\n positionalMap[key] = parsed.argv[key];\n if (!this.isInConfigs(yargs, key) &&\n !this.isDefaulted(yargs, key) &&\n Object.prototype.hasOwnProperty.call(argv, key) &&\n Object.prototype.hasOwnProperty.call(parsed.argv, key) &&\n (Array.isArray(argv[key]) || Array.isArray(parsed.argv[key]))) {\n argv[key] = [].concat(argv[key], parsed.argv[key]);\n }\n else {\n argv[key] = parsed.argv[key];\n }\n }\n });\n }\n }\n isDefaulted(yargs, key) {\n const { default: defaults } = yargs.getOptions();\n return (Object.prototype.hasOwnProperty.call(defaults, key) ||\n Object.prototype.hasOwnProperty.call(defaults, this.shim.Parser.camelCase(key)));\n }\n isInConfigs(yargs, key) {\n const { configObjects } = yargs.getOptions();\n return (configObjects.some(c => Object.prototype.hasOwnProperty.call(c, key)) ||\n configObjects.some(c => Object.prototype.hasOwnProperty.call(c, this.shim.Parser.camelCase(key))));\n }\n runDefaultBuilderOn(yargs) {\n if (!this.defaultCommand)\n return;\n if (this.shouldUpdateUsage(yargs)) {\n const commandString = DEFAULT_MARKER.test(this.defaultCommand.original)\n ? this.defaultCommand.original\n : this.defaultCommand.original.replace(/^[^[\\]<>]*/, '$0 ');\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(commandString, this.defaultCommand.description);\n }\n const builder = this.defaultCommand.builder;\n if (isCommandBuilderCallback(builder)) {\n return builder(yargs, true);\n }\n else if (!isCommandBuilderDefinition(builder)) {\n Object.keys(builder).forEach(key => {\n yargs.option(key, builder[key]);\n });\n }\n return undefined;\n }\n extractDesc({ describe, description, desc }) {\n for (const test of [describe, description, desc]) {\n if (typeof test === 'string' || test === false)\n return test;\n assertNotStrictEqual(test, true, this.shim);\n }\n return false;\n }\n freeze() {\n this.frozens.push({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n });\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n assertNotStrictEqual(frozen, undefined, this.shim);\n ({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n } = frozen);\n }\n reset() {\n this.handlers = {};\n this.aliasMap = {};\n this.defaultCommand = undefined;\n this.requireCache = new Set();\n return this;\n }\n}\nexport function command(usage, validation, globalMiddleware, shim) {\n return new CommandInstance(usage, validation, globalMiddleware, shim);\n}\nexport function isCommandBuilderDefinition(builder) {\n return (typeof builder === 'object' &&\n !!builder.builder &&\n typeof builder.handler === 'function');\n}\nfunction isCommandAndAliases(cmd) {\n return cmd.every(c => typeof c === 'string');\n}\nexport function isCommandBuilderCallback(builder) {\n return typeof builder === 'function';\n}\nfunction isCommandBuilderOptionDefinitions(builder) {\n return typeof builder === 'object';\n}\nexport function isCommandHandlerDefinition(cmd) {\n return typeof cmd === 'object' && !Array.isArray(cmd);\n}\n","import { objectKeys } from '../typings/common-types.js';\nexport function objFilter(original = {}, filter = () => true) {\n const obj = {};\n objectKeys(original).forEach(key => {\n if (filter(key, original[key])) {\n obj[key] = original[key];\n }\n });\n return obj;\n}\n","export default function setBlocking(blocking) {\n if (typeof process === 'undefined')\n return;\n [process.stdout, process.stderr].forEach(_stream => {\n const stream = _stream;\n if (stream._handle &&\n stream.isTTY &&\n typeof stream._handle.setBlocking === 'function') {\n stream._handle.setBlocking(blocking);\n }\n });\n}\n","import { objFilter } from './utils/obj-filter.js';\nimport { YError } from './yerror.js';\nimport setBlocking from './utils/set-blocking.js';\nfunction isBoolean(fail) {\n return typeof fail === 'boolean';\n}\nexport function usage(yargs, shim) {\n const __ = shim.y18n.__;\n const self = {};\n const fails = [];\n self.failFn = function failFn(f) {\n fails.push(f);\n };\n let failMessage = null;\n let globalFailMessage = null;\n let showHelpOnFail = true;\n self.showHelpOnFail = function showHelpOnFailFn(arg1 = true, arg2) {\n const [enabled, message] = typeof arg1 === 'string' ? [true, arg1] : [arg1, arg2];\n if (yargs.getInternalMethods().isGlobalContext()) {\n globalFailMessage = message;\n }\n failMessage = message;\n showHelpOnFail = enabled;\n return self;\n };\n let failureOutput = false;\n self.fail = function fail(msg, err) {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (fails.length) {\n for (let i = fails.length - 1; i >= 0; --i) {\n const fail = fails[i];\n if (isBoolean(fail)) {\n if (err)\n throw err;\n else if (msg)\n throw Error(msg);\n }\n else {\n fail(msg, err, self);\n }\n }\n }\n else {\n if (yargs.getExitProcess())\n setBlocking(true);\n if (!failureOutput) {\n failureOutput = true;\n if (showHelpOnFail) {\n yargs.showHelp('error');\n logger.error();\n }\n if (msg || err)\n logger.error(msg || err);\n const globalOrCommandFailMessage = failMessage || globalFailMessage;\n if (globalOrCommandFailMessage) {\n if (msg || err)\n logger.error('');\n logger.error(globalOrCommandFailMessage);\n }\n }\n err = err || new YError(msg);\n if (yargs.getExitProcess()) {\n return yargs.exit(1);\n }\n else if (yargs.getInternalMethods().hasParseCallback()) {\n return yargs.exit(1, err);\n }\n else {\n throw err;\n }\n }\n };\n let usages = [];\n let usageDisabled = false;\n self.usage = (msg, description) => {\n if (msg === null) {\n usageDisabled = true;\n usages = [];\n return self;\n }\n usageDisabled = false;\n usages.push([msg, description || '']);\n return self;\n };\n self.getUsage = () => {\n return usages;\n };\n self.getUsageDisabled = () => {\n return usageDisabled;\n };\n self.getPositionalGroupName = () => {\n return __('Positionals:');\n };\n let examples = [];\n self.example = (cmd, description) => {\n examples.push([cmd, description || '']);\n };\n let commands = [];\n self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {\n if (isDefault) {\n commands = commands.map(cmdArray => {\n cmdArray[2] = false;\n return cmdArray;\n });\n }\n commands.push([cmd, description || '', isDefault, aliases, deprecated]);\n };\n self.getCommands = () => commands;\n let descriptions = {};\n self.describe = function describe(keyOrKeys, desc) {\n if (Array.isArray(keyOrKeys)) {\n keyOrKeys.forEach(k => {\n self.describe(k, desc);\n });\n }\n else if (typeof keyOrKeys === 'object') {\n Object.keys(keyOrKeys).forEach(k => {\n self.describe(k, keyOrKeys[k]);\n });\n }\n else {\n descriptions[keyOrKeys] = desc;\n }\n };\n self.getDescriptions = () => descriptions;\n let epilogs = [];\n self.epilog = msg => {\n epilogs.push(msg);\n };\n let wrapSet = false;\n let wrap;\n self.wrap = cols => {\n wrapSet = true;\n wrap = cols;\n };\n self.getWrap = () => {\n if (shim.getEnv('YARGS_DISABLE_WRAP')) {\n return null;\n }\n if (!wrapSet) {\n wrap = windowWidth();\n wrapSet = true;\n }\n return wrap;\n };\n const deferY18nLookupPrefix = '__yargsString__:';\n self.deferY18nLookup = str => deferY18nLookupPrefix + str;\n self.help = function help() {\n if (cachedHelpMessage)\n return cachedHelpMessage;\n normalizeAliases();\n const base$0 = yargs.customScriptName\n ? yargs.$0\n : shim.path.basename(yargs.$0);\n const demandedOptions = yargs.getDemandedOptions();\n const demandedCommands = yargs.getDemandedCommands();\n const deprecatedOptions = yargs.getDeprecatedOptions();\n const groups = yargs.getGroups();\n const options = yargs.getOptions();\n let keys = [];\n keys = keys.concat(Object.keys(descriptions));\n keys = keys.concat(Object.keys(demandedOptions));\n keys = keys.concat(Object.keys(demandedCommands));\n keys = keys.concat(Object.keys(options.default));\n keys = keys.filter(filterHiddenOptions);\n keys = Object.keys(keys.reduce((acc, key) => {\n if (key !== '_')\n acc[key] = true;\n return acc;\n }, {}));\n const theWrap = self.getWrap();\n const ui = shim.cliui({\n width: theWrap,\n wrap: !!theWrap,\n });\n if (!usageDisabled) {\n if (usages.length) {\n usages.forEach(usage => {\n ui.div({ text: `${usage[0].replace(/\\$0/g, base$0)}` });\n if (usage[1]) {\n ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });\n }\n });\n ui.div();\n }\n else if (commands.length) {\n let u = null;\n if (demandedCommands._) {\n u = `${base$0} <${__('command')}>\\n`;\n }\n else {\n u = `${base$0} [${__('command')}]\\n`;\n }\n ui.div(`${u}`);\n }\n }\n if (commands.length > 1 || (commands.length === 1 && !commands[0][2])) {\n ui.div(__('Commands:'));\n const context = yargs.getInternalMethods().getContext();\n const parentCommands = context.commands.length\n ? `${context.commands.join(' ')} `\n : '';\n if (yargs.getInternalMethods().getParserConfiguration()['sort-commands'] ===\n true) {\n commands = commands.sort((a, b) => a[0].localeCompare(b[0]));\n }\n const prefix = base$0 ? `${base$0} ` : '';\n commands.forEach(command => {\n const commandString = `${prefix}${parentCommands}${command[0].replace(/^\\$0 ?/, '')}`;\n ui.span({\n text: commandString,\n padding: [0, 2, 0, 2],\n width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4,\n }, { text: command[1] });\n const hints = [];\n if (command[2])\n hints.push(`[${__('default')}]`);\n if (command[3] && command[3].length) {\n hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`);\n }\n if (command[4]) {\n if (typeof command[4] === 'string') {\n hints.push(`[${__('deprecated: %s', command[4])}]`);\n }\n else {\n hints.push(`[${__('deprecated')}]`);\n }\n }\n if (hints.length) {\n ui.div({\n text: hints.join(' '),\n padding: [0, 0, 0, 2],\n align: 'right',\n });\n }\n else {\n ui.div();\n }\n });\n ui.div();\n }\n const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);\n keys = keys.filter(key => !yargs.parsed.newAliases[key] &&\n aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1));\n const defaultGroup = __('Options:');\n if (!groups[defaultGroup])\n groups[defaultGroup] = [];\n addUngroupedKeys(keys, options.alias, groups, defaultGroup);\n const isLongSwitch = (sw) => /^--/.test(getText(sw));\n const displayedGroups = Object.keys(groups)\n .filter(groupName => groups[groupName].length > 0)\n .map(groupName => {\n const normalizedKeys = groups[groupName]\n .filter(filterHiddenOptions)\n .map(key => {\n if (aliasKeys.includes(key))\n return key;\n for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {\n if ((options.alias[aliasKey] || []).includes(key))\n return aliasKey;\n }\n return key;\n });\n return { groupName, normalizedKeys };\n })\n .filter(({ normalizedKeys }) => normalizedKeys.length > 0)\n .map(({ groupName, normalizedKeys }) => {\n const switches = normalizedKeys.reduce((acc, key) => {\n acc[key] = [key]\n .concat(options.alias[key] || [])\n .map(sw => {\n if (groupName === self.getPositionalGroupName())\n return sw;\n else {\n return ((/^[0-9]$/.test(sw)\n ? options.boolean.includes(key)\n ? '-'\n : '--'\n : sw.length > 1\n ? '--'\n : '-') + sw);\n }\n })\n .sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2)\n ? 0\n : isLongSwitch(sw1)\n ? 1\n : -1)\n .join(', ');\n return acc;\n }, {});\n return { groupName, normalizedKeys, switches };\n });\n const shortSwitchesUsed = displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .some(({ normalizedKeys, switches }) => !normalizedKeys.every(key => isLongSwitch(switches[key])));\n if (shortSwitchesUsed) {\n displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .forEach(({ normalizedKeys, switches }) => {\n normalizedKeys.forEach(key => {\n if (isLongSwitch(switches[key])) {\n switches[key] = addIndentation(switches[key], '-x, '.length);\n }\n });\n });\n }\n displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {\n ui.div(groupName);\n normalizedKeys.forEach(key => {\n const kswitch = switches[key];\n let desc = descriptions[key] || '';\n let type = null;\n if (desc.includes(deferY18nLookupPrefix))\n desc = __(desc.substring(deferY18nLookupPrefix.length));\n if (options.boolean.includes(key))\n type = `[${__('boolean')}]`;\n if (options.count.includes(key))\n type = `[${__('count')}]`;\n if (options.string.includes(key))\n type = `[${__('string')}]`;\n if (options.normalize.includes(key))\n type = `[${__('string')}]`;\n if (options.array.includes(key))\n type = `[${__('array')}]`;\n if (options.number.includes(key))\n type = `[${__('number')}]`;\n const deprecatedExtra = (deprecated) => typeof deprecated === 'string'\n ? `[${__('deprecated: %s', deprecated)}]`\n : `[${__('deprecated')}]`;\n const extra = [\n key in deprecatedOptions\n ? deprecatedExtra(deprecatedOptions[key])\n : null,\n type,\n key in demandedOptions ? `[${__('required')}]` : null,\n options.choices && options.choices[key]\n ? `[${__('choices:')} ${self.stringifiedValues(options.choices[key])}]`\n : null,\n defaultString(options.default[key], options.defaultDescription[key]),\n ]\n .filter(Boolean)\n .join(' ');\n ui.span({\n text: getText(kswitch),\n padding: [0, 2, 0, 2 + getIndentation(kswitch)],\n width: maxWidth(switches, theWrap) + 4,\n }, desc);\n const shouldHideOptionExtras = yargs.getInternalMethods().getUsageConfiguration()['hide-types'] ===\n true;\n if (extra && !shouldHideOptionExtras)\n ui.div({ text: extra, padding: [0, 0, 0, 2], align: 'right' });\n else\n ui.div();\n });\n ui.div();\n });\n if (examples.length) {\n ui.div(__('Examples:'));\n examples.forEach(example => {\n example[0] = example[0].replace(/\\$0/g, base$0);\n });\n examples.forEach(example => {\n if (example[1] === '') {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n });\n }\n else {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n width: maxWidth(examples, theWrap) + 4,\n }, {\n text: example[1],\n });\n }\n });\n ui.div();\n }\n if (epilogs.length > 0) {\n const e = epilogs\n .map(epilog => epilog.replace(/\\$0/g, base$0))\n .join('\\n');\n ui.div(`${e}\\n`);\n }\n return ui.toString().replace(/\\s*$/, '');\n };\n function maxWidth(table, theWrap, modifier) {\n let width = 0;\n if (!Array.isArray(table)) {\n table = Object.values(table).map(v => [v]);\n }\n table.forEach(v => {\n width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);\n });\n if (theWrap)\n width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));\n return width;\n }\n function normalizeAliases() {\n const demandedOptions = yargs.getDemandedOptions();\n const options = yargs.getOptions();\n (Object.keys(options.alias) || []).forEach(key => {\n options.alias[key].forEach(alias => {\n if (descriptions[alias])\n self.describe(key, descriptions[alias]);\n if (alias in demandedOptions)\n yargs.demandOption(key, demandedOptions[alias]);\n if (options.boolean.includes(alias))\n yargs.boolean(key);\n if (options.count.includes(alias))\n yargs.count(key);\n if (options.string.includes(alias))\n yargs.string(key);\n if (options.normalize.includes(alias))\n yargs.normalize(key);\n if (options.array.includes(alias))\n yargs.array(key);\n if (options.number.includes(alias))\n yargs.number(key);\n });\n });\n }\n let cachedHelpMessage;\n self.cacheHelpMessage = function () {\n cachedHelpMessage = this.help();\n };\n self.clearCachedHelpMessage = function () {\n cachedHelpMessage = undefined;\n };\n self.hasCachedHelpMessage = function () {\n return !!cachedHelpMessage;\n };\n function addUngroupedKeys(keys, aliases, groups, defaultGroup) {\n let groupedKeys = [];\n let toCheck = null;\n Object.keys(groups).forEach(group => {\n groupedKeys = groupedKeys.concat(groups[group]);\n });\n keys.forEach(key => {\n toCheck = [key].concat(aliases[key]);\n if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {\n groups[defaultGroup].push(key);\n }\n });\n return groupedKeys;\n }\n function filterHiddenOptions(key) {\n return (yargs.getOptions().hiddenOptions.indexOf(key) < 0 ||\n yargs.parsed.argv[yargs.getOptions().showHiddenOpt]);\n }\n self.showHelp = (level) => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(self.help());\n };\n self.functionDescription = fn => {\n const description = fn.name\n ? shim.Parser.decamelize(fn.name, '-')\n : __('generated-value');\n return ['(', description, ')'].join('');\n };\n self.stringifiedValues = function stringifiedValues(values, separator) {\n let string = '';\n const sep = separator || ', ';\n const array = [].concat(values);\n if (!values || !array.length)\n return string;\n array.forEach(value => {\n if (string.length)\n string += sep;\n string += JSON.stringify(value);\n });\n return string;\n };\n function defaultString(value, defaultDescription) {\n let string = `[${__('default:')} `;\n if (value === undefined && !defaultDescription)\n return null;\n if (defaultDescription) {\n string += defaultDescription;\n }\n else {\n switch (typeof value) {\n case 'string':\n string += `\"${value}\"`;\n break;\n case 'object':\n string += JSON.stringify(value);\n break;\n default:\n string += value;\n }\n }\n return `${string}]`;\n }\n function windowWidth() {\n const maxWidth = 80;\n if (shim.process.stdColumns) {\n return Math.min(maxWidth, shim.process.stdColumns);\n }\n else {\n return maxWidth;\n }\n }\n let version = null;\n self.version = ver => {\n version = ver;\n };\n self.showVersion = level => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(version);\n };\n self.reset = function reset(localLookup) {\n failMessage = null;\n failureOutput = false;\n usages = [];\n usageDisabled = false;\n epilogs = [];\n examples = [];\n commands = [];\n descriptions = objFilter(descriptions, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n });\n };\n self.unfreeze = function unfreeze(defaultCommand = false) {\n const frozen = frozens.pop();\n if (!frozen)\n return;\n if (defaultCommand) {\n descriptions = { ...frozen.descriptions, ...descriptions };\n commands = [...frozen.commands, ...commands];\n usages = [...frozen.usages, ...usages];\n examples = [...frozen.examples, ...examples];\n epilogs = [...frozen.epilogs, ...epilogs];\n }\n else {\n ({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n } = frozen);\n }\n };\n return self;\n}\nfunction isIndentedText(text) {\n return typeof text === 'object';\n}\nfunction addIndentation(text, indent) {\n return isIndentedText(text)\n ? { text: text.text, indentation: text.indentation + indent }\n : { text, indentation: indent };\n}\nfunction getIndentation(text) {\n return isIndentedText(text) ? text.indentation : 0;\n}\nfunction getText(text) {\n return isIndentedText(text) ? text.text : text;\n}\n","export const completionShTemplate = `###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc\n# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local cur_word args type_list\n\n cur_word=\"\\${COMP_WORDS[COMP_CWORD]}\"\n args=(\"\\${COMP_WORDS[@]}\")\n\n # ask yargs to generate completions.\n # see https://stackoverflow.com/a/40944195/7080036 for the spaces-handling awk\n mapfile -t type_list < <({{app_path}} --get-yargs-completions \"\\${args[@]}\")\n mapfile -t COMPREPLY < <(compgen -W \"$( printf '%q ' \"\\${type_list[@]}\" )\" -- \"\\${cur_word}\" |\n awk '/ / { print \"\\\\\"\"$0\"\\\\\"\" } /^[^ ]+$/ { print $0 }')\n\n # if no match was found, fall back to filename completion\n if [ \\${#COMPREPLY[@]} -eq 0 ]; then\n COMPREPLY=()\n fi\n\n return 0\n}\ncomplete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}\n###-end-{{app_name}}-completions-###\n`;\nexport const completionZshTemplate = `#compdef {{app_name}}\n###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc\n# or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local reply\n local si=$IFS\n IFS=$'\\n' reply=($(COMP_CWORD=\"$((CURRENT-1))\" COMP_LINE=\"$BUFFER\" COMP_POINT=\"$CURSOR\" {{app_path}} --get-yargs-completions \"\\${words[@]}\"))\n IFS=$si\n if [[ \\${#reply} -gt 0 ]]; then\n _describe 'values' reply\n else\n _default\n fi\n}\nif [[ \"'\\${zsh_eval_context[-1]}\" == \"loadautofunc\" ]]; then\n _{{app_name}}_yargs_completions \"$@\"\nelse\n compdef _{{app_name}}_yargs_completions {{app_name}}\nfi\n###-end-{{app_name}}-completions-###\n`;\n","import { isCommandBuilderCallback } from './command.js';\nimport { assertNotStrictEqual } from './typings/common-types.js';\nimport * as templates from './completion-templates.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { parseCommand } from './parse-command.js';\nexport class Completion {\n constructor(yargs, usage, command, shim) {\n var _a, _b, _c;\n this.yargs = yargs;\n this.usage = usage;\n this.command = command;\n this.shim = shim;\n this.completionKey = 'get-yargs-completions';\n this.aliases = null;\n this.customCompletionFunction = null;\n this.indexAfterLastReset = 0;\n this.zshShell =\n (_c = (((_a = this.shim.getEnv('SHELL')) === null || _a === void 0 ? void 0 : _a.includes('zsh')) ||\n ((_b = this.shim.getEnv('ZSH_NAME')) === null || _b === void 0 ? void 0 : _b.includes('zsh')))) !== null && _c !== void 0 ? _c : false;\n }\n defaultCompletion(args, argv, current, done) {\n const handlers = this.command.getCommandHandlers();\n for (let i = 0, ii = args.length; i < ii; ++i) {\n if (handlers[args[i]] && handlers[args[i]].builder) {\n const builder = handlers[args[i]].builder;\n if (isCommandBuilderCallback(builder)) {\n this.indexAfterLastReset = i + 1;\n const y = this.yargs.getInternalMethods().reset();\n builder(y, true);\n return y.argv;\n }\n }\n }\n const completions = [];\n this.commandCompletions(completions, args, current);\n this.optionCompletions(completions, args, argv, current);\n this.choicesFromOptionsCompletions(completions, args, argv, current);\n this.choicesFromPositionalsCompletions(completions, args, argv, current);\n done(null, completions);\n }\n commandCompletions(completions, args, current) {\n const parentCommands = this.yargs\n .getInternalMethods()\n .getContext().commands;\n if (!current.match(/^-/) &&\n parentCommands[parentCommands.length - 1] !== current &&\n !this.previousArgHasChoices(args)) {\n this.usage.getCommands().forEach(usageCommand => {\n const commandName = parseCommand(usageCommand[0]).cmd;\n if (args.indexOf(commandName) === -1) {\n if (!this.zshShell) {\n completions.push(commandName);\n }\n else {\n const desc = usageCommand[1] || '';\n completions.push(commandName.replace(/:/g, '\\\\:') + ':' + desc);\n }\n }\n });\n }\n }\n optionCompletions(completions, args, argv, current) {\n if ((current.match(/^-/) || (current === '' && completions.length === 0)) &&\n !this.previousArgHasChoices(args)) {\n const options = this.yargs.getOptions();\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n Object.keys(options.key).forEach(key => {\n const negable = !!options.configuration['boolean-negation'] &&\n options.boolean.includes(key);\n const isPositionalKey = positionalKeys.includes(key);\n if (!isPositionalKey &&\n !options.hiddenOptions.includes(key) &&\n !this.argsContainKey(args, key, negable)) {\n this.completeOptionKey(key, completions, current, negable && !!options.default[key]);\n }\n });\n }\n }\n choicesFromOptionsCompletions(completions, args, argv, current) {\n if (this.previousArgHasChoices(args)) {\n const choices = this.getPreviousArgChoices(args);\n if (choices && choices.length > 0) {\n completions.push(...choices.map(c => c.replace(/:/g, '\\\\:')));\n }\n }\n }\n choicesFromPositionalsCompletions(completions, args, argv, current) {\n if (current === '' &&\n completions.length > 0 &&\n this.previousArgHasChoices(args)) {\n return;\n }\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n const offset = Math.max(this.indexAfterLastReset, this.yargs.getInternalMethods().getContext().commands.length +\n 1);\n const positionalKey = positionalKeys[argv._.length - offset - 1];\n if (!positionalKey) {\n return;\n }\n const choices = this.yargs.getOptions().choices[positionalKey] || [];\n for (const choice of choices) {\n if (choice.startsWith(current)) {\n completions.push(choice.replace(/:/g, '\\\\:'));\n }\n }\n }\n getPreviousArgChoices(args) {\n if (args.length < 1)\n return;\n let previousArg = args[args.length - 1];\n let filter = '';\n if (!previousArg.startsWith('-') && args.length > 1) {\n filter = previousArg;\n previousArg = args[args.length - 2];\n }\n if (!previousArg.startsWith('-'))\n return;\n const previousArgKey = previousArg.replace(/^-+/, '');\n const options = this.yargs.getOptions();\n const possibleAliases = [\n previousArgKey,\n ...(this.yargs.getAliases()[previousArgKey] || []),\n ];\n let choices;\n for (const possibleAlias of possibleAliases) {\n if (Object.prototype.hasOwnProperty.call(options.key, possibleAlias) &&\n Array.isArray(options.choices[possibleAlias])) {\n choices = options.choices[possibleAlias];\n break;\n }\n }\n if (choices) {\n return choices.filter(choice => !filter || choice.startsWith(filter));\n }\n }\n previousArgHasChoices(args) {\n const choices = this.getPreviousArgChoices(args);\n return choices !== undefined && choices.length > 0;\n }\n argsContainKey(args, key, negable) {\n const argsContains = (s) => args.indexOf((/^[^0-9]$/.test(s) ? '-' : '--') + s) !== -1;\n if (argsContains(key))\n return true;\n if (negable && argsContains(`no-${key}`))\n return true;\n if (this.aliases) {\n for (const alias of this.aliases[key]) {\n if (argsContains(alias))\n return true;\n }\n }\n return false;\n }\n completeOptionKey(key, completions, current, negable) {\n var _a, _b, _c, _d;\n let keyWithDesc = key;\n if (this.zshShell) {\n const descs = this.usage.getDescriptions();\n const aliasKey = (_b = (_a = this === null || this === void 0 ? void 0 : this.aliases) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.find(alias => {\n const desc = descs[alias];\n return typeof desc === 'string' && desc.length > 0;\n });\n const descFromAlias = aliasKey ? descs[aliasKey] : undefined;\n const desc = (_d = (_c = descs[key]) !== null && _c !== void 0 ? _c : descFromAlias) !== null && _d !== void 0 ? _d : '';\n keyWithDesc = `${key.replace(/:/g, '\\\\:')}:${desc\n .replace('__yargsString__:', '')\n .replace(/(\\r\\n|\\n|\\r)/gm, ' ')}`;\n }\n const startsByTwoDashes = (s) => /^--/.test(s);\n const isShortOption = (s) => /^[^0-9]$/.test(s);\n const dashes = !startsByTwoDashes(current) && isShortOption(key) ? '-' : '--';\n completions.push(dashes + keyWithDesc);\n if (negable) {\n completions.push(dashes + 'no-' + keyWithDesc);\n }\n }\n customCompletion(args, argv, current, done) {\n assertNotStrictEqual(this.customCompletionFunction, null, this.shim);\n if (isSyncCompletionFunction(this.customCompletionFunction)) {\n const result = this.customCompletionFunction(current, argv);\n if (isPromise(result)) {\n return result\n .then(list => {\n this.shim.process.nextTick(() => {\n done(null, list);\n });\n })\n .catch(err => {\n this.shim.process.nextTick(() => {\n done(err, undefined);\n });\n });\n }\n return done(null, result);\n }\n else if (isFallbackCompletionFunction(this.customCompletionFunction)) {\n return this.customCompletionFunction(current, argv, (onCompleted = done) => this.defaultCompletion(args, argv, current, onCompleted), completions => {\n done(null, completions);\n });\n }\n else {\n return this.customCompletionFunction(current, argv, completions => {\n done(null, completions);\n });\n }\n }\n getCompletion(args, done) {\n const current = args.length ? args[args.length - 1] : '';\n const argv = this.yargs.parse(args, true);\n const completionFunction = this.customCompletionFunction\n ? (argv) => this.customCompletion(args, argv, current, done)\n : (argv) => this.defaultCompletion(args, argv, current, done);\n return isPromise(argv)\n ? argv.then(completionFunction)\n : completionFunction(argv);\n }\n generateCompletionScript($0, cmd) {\n let script = this.zshShell\n ? templates.completionZshTemplate\n : templates.completionShTemplate;\n const name = this.shim.path.basename($0);\n if ($0.match(/\\.js$/))\n $0 = `./${$0}`;\n script = script.replace(/{{app_name}}/g, name);\n script = script.replace(/{{completion_command}}/g, cmd);\n return script.replace(/{{app_path}}/g, $0);\n }\n registerFunction(fn) {\n this.customCompletionFunction = fn;\n }\n setParsed(parsed) {\n this.aliases = parsed.aliases;\n }\n}\nexport function completion(yargs, usage, command, shim) {\n return new Completion(yargs, usage, command, shim);\n}\nfunction isSyncCompletionFunction(completionFunction) {\n return completionFunction.length < 3;\n}\nfunction isFallbackCompletionFunction(completionFunction) {\n return completionFunction.length > 3;\n}\n","export function levenshtein(a, b) {\n if (a.length === 0)\n return b.length;\n if (b.length === 0)\n return a.length;\n const matrix = [];\n let i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n let j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n }\n else {\n if (i > 1 &&\n j > 1 &&\n b.charAt(i - 2) === a.charAt(j - 1) &&\n b.charAt(i - 1) === a.charAt(j - 2)) {\n matrix[i][j] = matrix[i - 2][j - 2] + 1;\n }\n else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));\n }\n }\n }\n }\n return matrix[b.length][a.length];\n}\n","import { argsert } from './argsert.js';\nimport { assertNotStrictEqual, } from './typings/common-types.js';\nimport { levenshtein as distance } from './utils/levenshtein.js';\nimport { objFilter } from './utils/obj-filter.js';\nconst specialKeys = ['$0', '--', '_'];\nexport function validation(yargs, usage, shim) {\n const __ = shim.y18n.__;\n const __n = shim.y18n.__n;\n const self = {};\n self.nonOptionCount = function nonOptionCount(argv) {\n const demandedCommands = yargs.getDemandedCommands();\n const positionalCount = argv._.length + (argv['--'] ? argv['--'].length : 0);\n const _s = positionalCount - yargs.getInternalMethods().getContext().commands.length;\n if (demandedCommands._ &&\n (_s < demandedCommands._.min || _s > demandedCommands._.max)) {\n if (_s < demandedCommands._.min) {\n if (demandedCommands._.minMsg !== undefined) {\n usage.fail(demandedCommands._.minMsg\n ? demandedCommands._.minMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.min.toString())\n : null);\n }\n else {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', _s, _s.toString(), demandedCommands._.min.toString()));\n }\n }\n else if (_s > demandedCommands._.max) {\n if (demandedCommands._.maxMsg !== undefined) {\n usage.fail(demandedCommands._.maxMsg\n ? demandedCommands._.maxMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.max.toString())\n : null);\n }\n else {\n usage.fail(__n('Too many non-option arguments: got %s, maximum of %s', 'Too many non-option arguments: got %s, maximum of %s', _s, _s.toString(), demandedCommands._.max.toString()));\n }\n }\n }\n };\n self.positionalCount = function positionalCount(required, observed) {\n if (observed < required) {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', observed, observed + '', required + ''));\n }\n };\n self.requiredArguments = function requiredArguments(argv, demandedOptions) {\n let missing = null;\n for (const key of Object.keys(demandedOptions)) {\n if (!Object.prototype.hasOwnProperty.call(argv, key) ||\n typeof argv[key] === 'undefined') {\n missing = missing || {};\n missing[key] = demandedOptions[key];\n }\n }\n if (missing) {\n const customMsgs = [];\n for (const key of Object.keys(missing)) {\n const msg = missing[key];\n if (msg && customMsgs.indexOf(msg) < 0) {\n customMsgs.push(msg);\n }\n }\n const customMsg = customMsgs.length ? `\\n${customMsgs.join('\\n')}` : '';\n usage.fail(__n('Missing required argument: %s', 'Missing required arguments: %s', Object.keys(missing).length, Object.keys(missing).join(', ') + customMsg));\n }\n };\n self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {\n var _a;\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n Object.keys(argv).forEach(key => {\n if (!specialKeys.includes(key) &&\n !Object.prototype.hasOwnProperty.call(positionalMap, key) &&\n !Object.prototype.hasOwnProperty.call(yargs.getInternalMethods().getParseContext(), key) &&\n !self.isValidAndSomeAliasIsNotNew(key, aliases)) {\n unknown.push(key);\n }\n });\n if (checkPositionals &&\n (currentContext.commands.length > 0 ||\n commandKeys.length > 0 ||\n isDefaultCommand)) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (checkPositionals) {\n const demandedCommands = yargs.getDemandedCommands();\n const maxNonOptDemanded = ((_a = demandedCommands._) === null || _a === void 0 ? void 0 : _a.max) || 0;\n const expected = currentContext.commands.length + maxNonOptDemanded;\n if (expected < argv._.length) {\n argv._.slice(expected).forEach(key => {\n key = String(key);\n if (!currentContext.commands.includes(key) &&\n !unknown.includes(key)) {\n unknown.push(key);\n }\n });\n }\n }\n if (unknown.length) {\n usage.fail(__n('Unknown argument: %s', 'Unknown arguments: %s', unknown.length, unknown.map(s => (s.trim() ? s : `\"${s}\"`)).join(', ')));\n }\n };\n self.unknownCommands = function unknownCommands(argv) {\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n if (currentContext.commands.length > 0 || commandKeys.length > 0) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (unknown.length > 0) {\n usage.fail(__n('Unknown command: %s', 'Unknown commands: %s', unknown.length, unknown.join(', ')));\n return true;\n }\n else {\n return false;\n }\n };\n self.isValidAndSomeAliasIsNotNew = function isValidAndSomeAliasIsNotNew(key, aliases) {\n if (!Object.prototype.hasOwnProperty.call(aliases, key)) {\n return false;\n }\n const newAliases = yargs.parsed.newAliases;\n return [key, ...aliases[key]].some(a => !Object.prototype.hasOwnProperty.call(newAliases, a) || !newAliases[key]);\n };\n self.limitedChoices = function limitedChoices(argv) {\n const options = yargs.getOptions();\n const invalid = {};\n if (!Object.keys(options.choices).length)\n return;\n Object.keys(argv).forEach(key => {\n if (specialKeys.indexOf(key) === -1 &&\n Object.prototype.hasOwnProperty.call(options.choices, key)) {\n [].concat(argv[key]).forEach(value => {\n if (options.choices[key].indexOf(value) === -1 &&\n value !== undefined) {\n invalid[key] = (invalid[key] || []).concat(value);\n }\n });\n }\n });\n const invalidKeys = Object.keys(invalid);\n if (!invalidKeys.length)\n return;\n let msg = __('Invalid values:');\n invalidKeys.forEach(key => {\n msg += `\\n ${__('Argument: %s, Given: %s, Choices: %s', key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;\n });\n usage.fail(msg);\n };\n let implied = {};\n self.implies = function implies(key, value) {\n argsert('<string|object> [array|number|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.implies(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!implied[key]) {\n implied[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.implies(key, i));\n }\n else {\n assertNotStrictEqual(value, undefined, shim);\n implied[key].push(value);\n }\n }\n };\n self.getImplied = function getImplied() {\n return implied;\n };\n function keyExists(argv, val) {\n const num = Number(val);\n val = isNaN(num) ? val : num;\n if (typeof val === 'number') {\n val = argv._.length >= val;\n }\n else if (val.match(/^--no-.+/)) {\n val = val.match(/^--no-(.+)/)[1];\n val = !Object.prototype.hasOwnProperty.call(argv, val);\n }\n else {\n val = Object.prototype.hasOwnProperty.call(argv, val);\n }\n return val;\n }\n self.implications = function implications(argv) {\n const implyFail = [];\n Object.keys(implied).forEach(key => {\n const origKey = key;\n (implied[key] || []).forEach(value => {\n let key = origKey;\n const origValue = value;\n key = keyExists(argv, key);\n value = keyExists(argv, value);\n if (key && !value) {\n implyFail.push(` ${origKey} -> ${origValue}`);\n }\n });\n });\n if (implyFail.length) {\n let msg = `${__('Implications failed:')}\\n`;\n implyFail.forEach(value => {\n msg += value;\n });\n usage.fail(msg);\n }\n };\n let conflicting = {};\n self.conflicts = function conflicts(key, value) {\n argsert('<string|object> [array|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.conflicts(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!conflicting[key]) {\n conflicting[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.conflicts(key, i));\n }\n else {\n conflicting[key].push(value);\n }\n }\n };\n self.getConflicting = () => conflicting;\n self.conflicting = function conflictingFn(argv) {\n Object.keys(argv).forEach(key => {\n if (conflicting[key]) {\n conflicting[key].forEach(value => {\n if (value && argv[key] !== undefined && argv[value] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n }\n });\n if (yargs.getInternalMethods().getParserConfiguration()['strip-dashed']) {\n Object.keys(conflicting).forEach(key => {\n conflicting[key].forEach(value => {\n if (value &&\n argv[shim.Parser.camelCase(key)] !== undefined &&\n argv[shim.Parser.camelCase(value)] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n });\n }\n };\n self.recommendCommands = function recommendCommands(cmd, potentialCommands) {\n const threshold = 3;\n potentialCommands = potentialCommands.sort((a, b) => b.length - a.length);\n let recommended = null;\n let bestDistance = Infinity;\n for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {\n const d = distance(cmd, candidate);\n if (d <= threshold && d < bestDistance) {\n bestDistance = d;\n recommended = candidate;\n }\n }\n if (recommended)\n usage.fail(__('Did you mean %s?', recommended));\n };\n self.reset = function reset(localLookup) {\n implied = objFilter(implied, k => !localLookup[k]);\n conflicting = objFilter(conflicting, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n implied,\n conflicting,\n });\n };\n self.unfreeze = function unfreeze() {\n const frozen = frozens.pop();\n assertNotStrictEqual(frozen, undefined, shim);\n ({ implied, conflicting } = frozen);\n };\n return self;\n}\n","import { YError } from '../yerror.js';\nlet previouslyVisitedConfigs = [];\nlet shim;\nexport function applyExtends(config, cwd, mergeExtends, _shim) {\n shim = _shim;\n let defaultConfig = {};\n if (Object.prototype.hasOwnProperty.call(config, 'extends')) {\n if (typeof config.extends !== 'string')\n return defaultConfig;\n const isPath = /\\.json|\\..*rc$/.test(config.extends);\n let pathToDefault = null;\n if (!isPath) {\n try {\n pathToDefault = import.meta.resolve(config.extends);\n }\n catch (_err) {\n return config;\n }\n }\n else {\n pathToDefault = getPathToDefaultConfig(cwd, config.extends);\n }\n checkForCircularExtends(pathToDefault);\n previouslyVisitedConfigs.push(pathToDefault);\n defaultConfig = isPath\n ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))\n : _shim.require(config.extends);\n delete config.extends;\n defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);\n }\n previouslyVisitedConfigs = [];\n return mergeExtends\n ? mergeDeep(defaultConfig, config)\n : Object.assign({}, defaultConfig, config);\n}\nfunction checkForCircularExtends(cfgPath) {\n if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {\n throw new YError(`Circular extended configurations: '${cfgPath}'.`);\n }\n}\nfunction getPathToDefaultConfig(cwd, pathToExtend) {\n return shim.path.resolve(cwd, pathToExtend);\n}\nfunction mergeDeep(config1, config2) {\n const target = {};\n function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n }\n Object.assign(target, config1);\n for (const key of Object.keys(config2)) {\n if (isObject(config2[key]) && isObject(target[key])) {\n target[key] = mergeDeep(config1[key], config2[key]);\n }\n else {\n target[key] = config2[key];\n }\n }\n return target;\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _YargsInstance_command, _YargsInstance_cwd, _YargsInstance_context, _YargsInstance_completion, _YargsInstance_completionCommand, _YargsInstance_defaultShowHiddenOpt, _YargsInstance_exitError, _YargsInstance_detectLocale, _YargsInstance_emittedWarnings, _YargsInstance_exitProcess, _YargsInstance_frozens, _YargsInstance_globalMiddleware, _YargsInstance_groups, _YargsInstance_hasOutput, _YargsInstance_helpOpt, _YargsInstance_isGlobalContext, _YargsInstance_logger, _YargsInstance_output, _YargsInstance_options, _YargsInstance_parentRequire, _YargsInstance_parserConfig, _YargsInstance_parseFn, _YargsInstance_parseContext, _YargsInstance_pkgs, _YargsInstance_preservedGroups, _YargsInstance_processArgs, _YargsInstance_recommendCommands, _YargsInstance_shim, _YargsInstance_strict, _YargsInstance_strictCommands, _YargsInstance_strictOptions, _YargsInstance_usage, _YargsInstance_usageConfig, _YargsInstance_versionOpt, _YargsInstance_validation;\nimport { command as Command, } from './command.js';\nimport { assertNotStrictEqual, assertSingleKey, objectKeys, } from './typings/common-types.js';\nimport { YError } from './yerror.js';\nimport { usage as Usage } from './usage.js';\nimport { argsert } from './argsert.js';\nimport { completion as Completion, } from './completion.js';\nimport { validation as Validation, } from './validation.js';\nimport { objFilter } from './utils/obj-filter.js';\nimport { applyExtends } from './utils/apply-extends.js';\nimport { applyMiddleware, GlobalMiddleware, } from './middleware.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nimport setBlocking from './utils/set-blocking.js';\nexport function YargsFactory(_shim) {\n return (processArgs = [], cwd = _shim.process.cwd(), parentRequire) => {\n const yargs = new YargsInstance(processArgs, cwd, parentRequire, _shim);\n Object.defineProperty(yargs, 'argv', {\n get: () => {\n return yargs.parse();\n },\n enumerable: true,\n });\n yargs.help();\n yargs.version();\n return yargs;\n };\n}\nconst kCopyDoubleDash = Symbol('copyDoubleDash');\nconst kCreateLogger = Symbol('copyDoubleDash');\nconst kDeleteFromParserHintObject = Symbol('deleteFromParserHintObject');\nconst kEmitWarning = Symbol('emitWarning');\nconst kFreeze = Symbol('freeze');\nconst kGetDollarZero = Symbol('getDollarZero');\nconst kGetParserConfiguration = Symbol('getParserConfiguration');\nconst kGetUsageConfiguration = Symbol('getUsageConfiguration');\nconst kGuessLocale = Symbol('guessLocale');\nconst kGuessVersion = Symbol('guessVersion');\nconst kParsePositionalNumbers = Symbol('parsePositionalNumbers');\nconst kPkgUp = Symbol('pkgUp');\nconst kPopulateParserHintArray = Symbol('populateParserHintArray');\nconst kPopulateParserHintSingleValueDictionary = Symbol('populateParserHintSingleValueDictionary');\nconst kPopulateParserHintArrayDictionary = Symbol('populateParserHintArrayDictionary');\nconst kPopulateParserHintDictionary = Symbol('populateParserHintDictionary');\nconst kSanitizeKey = Symbol('sanitizeKey');\nconst kSetKey = Symbol('setKey');\nconst kUnfreeze = Symbol('unfreeze');\nconst kValidateAsync = Symbol('validateAsync');\nconst kGetCommandInstance = Symbol('getCommandInstance');\nconst kGetContext = Symbol('getContext');\nconst kGetHasOutput = Symbol('getHasOutput');\nconst kGetLoggerInstance = Symbol('getLoggerInstance');\nconst kGetParseContext = Symbol('getParseContext');\nconst kGetUsageInstance = Symbol('getUsageInstance');\nconst kGetValidationInstance = Symbol('getValidationInstance');\nconst kHasParseCallback = Symbol('hasParseCallback');\nconst kIsGlobalContext = Symbol('isGlobalContext');\nconst kPostProcess = Symbol('postProcess');\nconst kRebase = Symbol('rebase');\nconst kReset = Symbol('reset');\nconst kRunYargsParserAndExecuteCommands = Symbol('runYargsParserAndExecuteCommands');\nconst kRunValidation = Symbol('runValidation');\nconst kSetHasOutput = Symbol('setHasOutput');\nconst kTrackManuallySetKeys = Symbol('kTrackManuallySetKeys');\nconst DEFAULT_LOCALE = 'en_US';\nexport class YargsInstance {\n constructor(processArgs = [], cwd, parentRequire, shim) {\n this.customScriptName = false;\n this.parsed = false;\n _YargsInstance_command.set(this, void 0);\n _YargsInstance_cwd.set(this, void 0);\n _YargsInstance_context.set(this, { commands: [], fullCommands: [] });\n _YargsInstance_completion.set(this, null);\n _YargsInstance_completionCommand.set(this, null);\n _YargsInstance_defaultShowHiddenOpt.set(this, 'show-hidden');\n _YargsInstance_exitError.set(this, null);\n _YargsInstance_detectLocale.set(this, true);\n _YargsInstance_emittedWarnings.set(this, {});\n _YargsInstance_exitProcess.set(this, true);\n _YargsInstance_frozens.set(this, []);\n _YargsInstance_globalMiddleware.set(this, void 0);\n _YargsInstance_groups.set(this, {});\n _YargsInstance_hasOutput.set(this, false);\n _YargsInstance_helpOpt.set(this, null);\n _YargsInstance_isGlobalContext.set(this, true);\n _YargsInstance_logger.set(this, void 0);\n _YargsInstance_output.set(this, '');\n _YargsInstance_options.set(this, void 0);\n _YargsInstance_parentRequire.set(this, void 0);\n _YargsInstance_parserConfig.set(this, {});\n _YargsInstance_parseFn.set(this, null);\n _YargsInstance_parseContext.set(this, null);\n _YargsInstance_pkgs.set(this, {});\n _YargsInstance_preservedGroups.set(this, {});\n _YargsInstance_processArgs.set(this, void 0);\n _YargsInstance_recommendCommands.set(this, false);\n _YargsInstance_shim.set(this, void 0);\n _YargsInstance_strict.set(this, false);\n _YargsInstance_strictCommands.set(this, false);\n _YargsInstance_strictOptions.set(this, false);\n _YargsInstance_usage.set(this, void 0);\n _YargsInstance_usageConfig.set(this, {});\n _YargsInstance_versionOpt.set(this, null);\n _YargsInstance_validation.set(this, void 0);\n __classPrivateFieldSet(this, _YargsInstance_shim, shim, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_globalMiddleware, new GlobalMiddleware(this), \"f\");\n this.$0 = this[kGetDollarZero]();\n this[kReset]();\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_logger, this[kCreateLogger](), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(DEFAULT_LOCALE);\n }\n addHelpOpt(opt, msg) {\n const defaultHelpOpt = 'help';\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, null, \"f\");\n }\n if (opt === false && msg === undefined)\n return this;\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, typeof opt === 'string' ? opt : defaultHelpOpt, \"f\");\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"), msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show help'));\n return this;\n }\n help(opt, msg) {\n return this.addHelpOpt(opt, msg);\n }\n addShowHiddenOpt(opt, msg) {\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (opt === false && msg === undefined)\n return this;\n const showHiddenOpt = typeof opt === 'string' ? opt : __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n this.boolean(showHiddenOpt);\n this.describe(showHiddenOpt, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show hidden options'));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = showHiddenOpt;\n return this;\n }\n showHidden(opt, msg) {\n return this.addShowHiddenOpt(opt, msg);\n }\n alias(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.alias.bind(this), 'alias', key, value);\n return this;\n }\n array(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('array', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n boolean(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('boolean', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n check(f, global) {\n argsert('<function> [boolean]', [f, global], arguments.length);\n this.middleware((argv, _yargs) => {\n return maybeAsyncResult(() => {\n return f(argv, _yargs.getOptions());\n }, (result) => {\n if (!result) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__('Argument check failed: %s', f.toString()));\n }\n else if (typeof result === 'string' || result instanceof Error) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(result.toString(), result);\n }\n return argv;\n }, (err) => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message ? err.message : err.toString(), err);\n return argv;\n });\n }, false, global);\n return this;\n }\n choices(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.choices.bind(this), 'choices', key, value);\n return this;\n }\n coerce(keys, value) {\n argsert('<object|string|array> [function]', [keys, value], arguments.length);\n if (Array.isArray(keys)) {\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n for (const key of keys) {\n this.coerce(key, value);\n }\n return this;\n }\n else if (typeof keys === 'object') {\n for (const key of Object.keys(keys)) {\n this.coerce(key, keys[key]);\n }\n return this;\n }\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n const coerceKey = keys;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[coerceKey] = true;\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addCoerceMiddleware((argv, yargs) => {\n var _a;\n const coerceKeyAliases = (_a = yargs.getAliases()[coerceKey]) !== null && _a !== void 0 ? _a : [];\n const argvKeys = [coerceKey, ...coerceKeyAliases].filter(key => Object.prototype.hasOwnProperty.call(argv, key));\n if (argvKeys.length === 0) {\n return argv;\n }\n return maybeAsyncResult(() => {\n return value(argv[argvKeys[0]]);\n }, (result) => {\n argvKeys.forEach(key => {\n argv[key] = result;\n });\n return argv;\n }, (err) => {\n throw new YError(err.message);\n });\n }, coerceKey);\n return this;\n }\n conflicts(key1, key2) {\n argsert('<string|object> [string|array]', [key1, key2], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicts(key1, key2);\n return this;\n }\n config(key = 'config', msg, parseFn) {\n argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);\n if (typeof key === 'object' && !Array.isArray(key)) {\n key = applyExtends(key, __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(key);\n return this;\n }\n if (typeof msg === 'function') {\n parseFn = msg;\n msg = undefined;\n }\n this.describe(key, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Path to JSON config file'));\n (Array.isArray(key) ? key : [key]).forEach(k => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").config[k] = parseFn || true;\n });\n return this;\n }\n completion(cmd, desc, fn) {\n argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);\n if (typeof desc === 'function') {\n fn = desc;\n desc = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion', \"f\");\n if (!desc && desc !== false) {\n desc = 'generate completion script';\n }\n this.command(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"), desc);\n if (fn)\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").registerFunction(fn);\n return this;\n }\n command(cmd, description, builder, handler, middlewares, deprecated) {\n argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addHandler(cmd, description, builder, handler, middlewares, deprecated);\n return this;\n }\n commands(cmd, description, builder, handler, middlewares, deprecated) {\n return this.command(cmd, description, builder, handler, middlewares, deprecated);\n }\n commandDir(dir, opts) {\n argsert('<string> [object]', [dir, opts], arguments.length);\n const req = __classPrivateFieldGet(this, _YargsInstance_parentRequire, \"f\") || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").require;\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addDirectory(dir, req, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getCallerFile(), opts);\n return this;\n }\n count(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('count', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n default(key, value, defaultDescription) {\n argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);\n if (defaultDescription) {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = defaultDescription;\n }\n if (typeof value === 'function') {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key])\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] =\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").functionDescription(value);\n value = value.call();\n }\n this[kPopulateParserHintSingleValueDictionary](this.default.bind(this), 'default', key, value);\n return this;\n }\n defaults(key, value, defaultDescription) {\n return this.default(key, value, defaultDescription);\n }\n demandCommand(min = 1, max, minMsg, maxMsg) {\n argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);\n if (typeof max !== 'number') {\n minMsg = max;\n max = Infinity;\n }\n this.global('_', false);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands._ = {\n min,\n max,\n minMsg,\n maxMsg,\n };\n return this;\n }\n demand(keys, max, msg) {\n if (Array.isArray(max)) {\n max.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n max = Infinity;\n }\n else if (typeof max !== 'number') {\n msg = max;\n max = Infinity;\n }\n if (typeof keys === 'number') {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandCommand(keys, max, msg, msg);\n }\n else if (Array.isArray(keys)) {\n keys.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n }\n else {\n if (typeof msg === 'string') {\n this.demandOption(keys, msg);\n }\n else if (msg === true || typeof msg === 'undefined') {\n this.demandOption(keys);\n }\n }\n return this;\n }\n demandOption(keys, msg) {\n argsert('<object|string|array> [string]', [keys, msg], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.demandOption.bind(this), 'demandedOptions', keys, msg);\n return this;\n }\n deprecateOption(option, message) {\n argsert('<string> [string|boolean]', [option, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions[option] = message;\n return this;\n }\n describe(keys, description) {\n argsert('<object|string|array> [string]', [keys, description], arguments.length);\n this[kSetKey](keys, true);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").describe(keys, description);\n return this;\n }\n detectLocale(detect) {\n argsert('<boolean>', [detect], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, detect, \"f\");\n return this;\n }\n env(prefix) {\n argsert('[string|boolean]', [prefix], arguments.length);\n if (prefix === false)\n delete __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n else\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix = prefix || '';\n return this;\n }\n epilogue(msg) {\n argsert('<string>', [msg], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").epilog(msg);\n return this;\n }\n epilog(msg) {\n return this.epilogue(msg);\n }\n example(cmd, description) {\n argsert('<string|array> [string]', [cmd, description], arguments.length);\n if (Array.isArray(cmd)) {\n cmd.forEach(exampleParams => this.example(...exampleParams));\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").example(cmd, description);\n }\n return this;\n }\n exit(code, err) {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, err, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.exit(code);\n }\n exitProcess(enabled = true) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, enabled, \"f\");\n return this;\n }\n fail(f) {\n argsert('<function|boolean>', [f], arguments.length);\n if (typeof f === 'boolean' && f !== false) {\n throw new YError(\"Invalid first argument. Expected function or boolean 'false'\");\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").failFn(f);\n return this;\n }\n getAliases() {\n return this.parsed ? this.parsed.aliases : {};\n }\n async getCompletion(args, done) {\n argsert('<array> [function]', [args, done], arguments.length);\n if (!done) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, (err, completions) => {\n if (err)\n reject(err);\n else\n resolve(completions);\n });\n });\n }\n else {\n return __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, done);\n }\n }\n getDemandedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedOptions;\n }\n getDemandedCommands() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands;\n }\n getDeprecatedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions;\n }\n getDetectLocale() {\n return __classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\");\n }\n getExitProcess() {\n return __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\");\n }\n getGroups() {\n return Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"), __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"));\n }\n getHelp() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n return parse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n return builderResponse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n return Promise.resolve(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help());\n }\n getOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\");\n }\n getStrict() {\n return __classPrivateFieldGet(this, _YargsInstance_strict, \"f\");\n }\n getStrictCommands() {\n return __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\");\n }\n getStrictOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\");\n }\n global(globals, global) {\n argsert('<string|array> [boolean]', [globals, global], arguments.length);\n globals = [].concat(globals);\n if (global !== false) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.filter(l => globals.indexOf(l) === -1);\n }\n else {\n globals.forEach(g => {\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.includes(g))\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.push(g);\n });\n }\n return this;\n }\n group(opts, groupName) {\n argsert('<string|array> <string>', [opts, groupName], arguments.length);\n const existing = __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName] || __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName];\n if (__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName]) {\n delete __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName];\n }\n const seen = {};\n __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName] = (existing || []).concat(opts).filter(key => {\n if (seen[key])\n return false;\n return (seen[key] = true);\n });\n return this;\n }\n hide(key) {\n argsert('<string>', [key], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").hiddenOptions.push(key);\n return this;\n }\n implies(key, value) {\n argsert('<string|object> [number|string|array]', [key, value], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implies(key, value);\n return this;\n }\n locale(locale) {\n argsert('[string]', [locale], arguments.length);\n if (locale === undefined) {\n this[kGuessLocale]();\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.getLocale();\n }\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(locale);\n return this;\n }\n middleware(callback, applyBeforeValidation, global) {\n return __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addMiddleware(callback, !!applyBeforeValidation, global);\n }\n nargs(key, value) {\n argsert('<string|object|array> [number]', [key, value], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.nargs.bind(this), 'narg', key, value);\n return this;\n }\n normalize(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('normalize', keys);\n return this;\n }\n number(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('number', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n option(key, opt) {\n argsert('<string|object> [object]', [key, opt], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n this.options(k, key[k]);\n });\n }\n else {\n if (typeof opt !== 'object') {\n opt = {};\n }\n this[kTrackManuallySetKeys](key);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && (key === 'version' || (opt === null || opt === void 0 ? void 0 : opt.alias) === 'version')) {\n this[kEmitWarning]([\n '\"version\" is a reserved word.',\n 'Please do one of the following:',\n '- Disable version with `yargs.version(false)` if using \"version\" as an option',\n '- Use the built-in `yargs.version` method instead (if applicable)',\n '- Use a different option key',\n 'https://yargs.js.org/docs/#api-reference-version',\n ].join('\\n'), undefined, 'versionWarning');\n }\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[key] = true;\n if (opt.alias)\n this.alias(key, opt.alias);\n const deprecate = opt.deprecate || opt.deprecated;\n if (deprecate) {\n this.deprecateOption(key, deprecate);\n }\n const demand = opt.demand || opt.required || opt.require;\n if (demand) {\n this.demand(key, demand);\n }\n if (opt.demandOption) {\n this.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);\n }\n if (opt.conflicts) {\n this.conflicts(key, opt.conflicts);\n }\n if ('default' in opt) {\n this.default(key, opt.default);\n }\n if (opt.implies !== undefined) {\n this.implies(key, opt.implies);\n }\n if (opt.nargs !== undefined) {\n this.nargs(key, opt.nargs);\n }\n if (opt.config) {\n this.config(key, opt.configParser);\n }\n if (opt.normalize) {\n this.normalize(key);\n }\n if (opt.choices) {\n this.choices(key, opt.choices);\n }\n if (opt.coerce) {\n this.coerce(key, opt.coerce);\n }\n if (opt.group) {\n this.group(key, opt.group);\n }\n if (opt.boolean || opt.type === 'boolean') {\n this.boolean(key);\n if (opt.alias)\n this.boolean(opt.alias);\n }\n if (opt.array || opt.type === 'array') {\n this.array(key);\n if (opt.alias)\n this.array(opt.alias);\n }\n if (opt.number || opt.type === 'number') {\n this.number(key);\n if (opt.alias)\n this.number(opt.alias);\n }\n if (opt.string || opt.type === 'string') {\n this.string(key);\n if (opt.alias)\n this.string(opt.alias);\n }\n if (opt.count || opt.type === 'count') {\n this.count(key);\n }\n if (typeof opt.global === 'boolean') {\n this.global(key, opt.global);\n }\n if (opt.defaultDescription) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = opt.defaultDescription;\n }\n if (opt.skipValidation) {\n this.skipValidation(key);\n }\n const desc = opt.describe || opt.description || opt.desc;\n const descriptions = __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions();\n if (!Object.prototype.hasOwnProperty.call(descriptions, key) ||\n typeof desc === 'string') {\n this.describe(key, desc);\n }\n if (opt.hidden) {\n this.hide(key);\n }\n if (opt.requiresArg) {\n this.requiresArg(key);\n }\n }\n return this;\n }\n options(key, opt) {\n return this.option(key, opt);\n }\n parse(args, shortCircuit, _parseFn) {\n argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);\n this[kFreeze]();\n if (typeof args === 'undefined') {\n args = __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n }\n if (typeof shortCircuit === 'object') {\n __classPrivateFieldSet(this, _YargsInstance_parseContext, shortCircuit, \"f\");\n shortCircuit = _parseFn;\n }\n if (typeof shortCircuit === 'function') {\n __classPrivateFieldSet(this, _YargsInstance_parseFn, shortCircuit, \"f\");\n shortCircuit = false;\n }\n if (!shortCircuit)\n __classPrivateFieldSet(this, _YargsInstance_processArgs, args, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, false, \"f\");\n const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);\n const tmpParsed = this.parsed;\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").setParsed(this.parsed);\n if (isPromise(parsed)) {\n return parsed\n .then(argv => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n return argv;\n })\n .catch(err => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")(err, this.parsed.argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n }\n throw err;\n })\n .finally(() => {\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n });\n }\n else {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), parsed, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n }\n return parsed;\n }\n parseAsync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n return !isPromise(maybePromise)\n ? Promise.resolve(maybePromise)\n : maybePromise;\n }\n parseSync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n if (isPromise(maybePromise)) {\n throw new YError('.parseSync() must not be used with asynchronous builders, handlers, or middleware');\n }\n return maybePromise;\n }\n parserConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_parserConfig, config, \"f\");\n return this;\n }\n pkgConf(key, rootPath) {\n argsert('<string> [string]', [key, rootPath], arguments.length);\n let conf = null;\n const obj = this[kPkgUp](rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"));\n if (obj[key] && typeof obj[key] === 'object') {\n conf = applyExtends(obj[key], rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(conf);\n }\n return this;\n }\n positional(key, opts) {\n argsert('<string> <object>', [key, opts], arguments.length);\n const supportedOpts = [\n 'default',\n 'defaultDescription',\n 'implies',\n 'normalize',\n 'choices',\n 'conflicts',\n 'coerce',\n 'type',\n 'describe',\n 'desc',\n 'description',\n 'alias',\n ];\n opts = objFilter(opts, (k, v) => {\n if (k === 'type' && !['string', 'number', 'boolean'].includes(v))\n return false;\n return supportedOpts.includes(k);\n });\n const fullCommand = __classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands[__classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands.length - 1];\n const parseOptions = fullCommand\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").cmdToParseOptions(fullCommand)\n : {\n array: [],\n alias: {},\n default: {},\n demand: {},\n };\n objectKeys(parseOptions).forEach(pk => {\n const parseOption = parseOptions[pk];\n if (Array.isArray(parseOption)) {\n if (parseOption.indexOf(key) !== -1)\n opts[pk] = true;\n }\n else {\n if (parseOption[key] && !(pk in opts))\n opts[pk] = parseOption[key];\n }\n });\n this.group(key, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getPositionalGroupName());\n return this.option(key, opts);\n }\n recommendCommands(recommend = true) {\n argsert('[boolean]', [recommend], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_recommendCommands, recommend, \"f\");\n return this;\n }\n required(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n require(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n requiresArg(keys) {\n argsert('<array|string|object> [number]', [keys], arguments.length);\n if (typeof keys === 'string' && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").narg[keys]) {\n return this;\n }\n else {\n this[kPopulateParserHintSingleValueDictionary](this.requiresArg.bind(this), 'narg', keys, NaN);\n }\n return this;\n }\n showCompletionScript($0, cmd) {\n argsert('[string] [string]', [$0, cmd], arguments.length);\n $0 = $0 || this.$0;\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").generateCompletionScript($0, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion'));\n return this;\n }\n showHelp(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n parse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n builderResponse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n return this;\n }\n scriptName(scriptName) {\n this.customScriptName = true;\n this.$0 = scriptName;\n return this;\n }\n showHelpOnFail(enabled, message) {\n argsert('[boolean|string] [string]', [enabled, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelpOnFail(enabled, message);\n return this;\n }\n showVersion(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion(level);\n return this;\n }\n skipValidation(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('skipValidation', keys);\n return this;\n }\n strict(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strict, enabled !== false, \"f\");\n return this;\n }\n strictCommands(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictCommands, enabled !== false, \"f\");\n return this;\n }\n strictOptions(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictOptions, enabled !== false, \"f\");\n return this;\n }\n string(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('string', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n terminalWidth() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.stdColumns;\n }\n updateLocale(obj) {\n return this.updateStrings(obj);\n }\n updateStrings(obj) {\n argsert('<object>', [obj], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.updateLocale(obj);\n return this;\n }\n usage(msg, description, builder, handler) {\n argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);\n if (description !== undefined) {\n assertNotStrictEqual(msg, null, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if ((msg || '').match(/^\\$0( |$)/)) {\n return this.command(msg, description, builder, handler);\n }\n else {\n throw new YError('.usage() description must start with $0 if being used as alias for .command()');\n }\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").usage(msg);\n return this;\n }\n }\n usageConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_usageConfig, config, \"f\");\n return this;\n }\n version(opt, msg, ver) {\n const defaultVersionOpt = 'version';\n argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(undefined);\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, null, \"f\");\n }\n if (arguments.length === 0) {\n ver = this[kGuessVersion]();\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 1) {\n if (opt === false) {\n return this;\n }\n ver = opt;\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 2) {\n ver = msg;\n msg = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, typeof opt === 'string' ? opt : defaultVersionOpt, \"f\");\n msg = msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show version number');\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(ver || undefined);\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"), msg);\n return this;\n }\n wrap(cols) {\n argsert('<number|null|undefined>', [cols], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").wrap(cols);\n return this;\n }\n [(_YargsInstance_command = new WeakMap(), _YargsInstance_cwd = new WeakMap(), _YargsInstance_context = new WeakMap(), _YargsInstance_completion = new WeakMap(), _YargsInstance_completionCommand = new WeakMap(), _YargsInstance_defaultShowHiddenOpt = new WeakMap(), _YargsInstance_exitError = new WeakMap(), _YargsInstance_detectLocale = new WeakMap(), _YargsInstance_emittedWarnings = new WeakMap(), _YargsInstance_exitProcess = new WeakMap(), _YargsInstance_frozens = new WeakMap(), _YargsInstance_globalMiddleware = new WeakMap(), _YargsInstance_groups = new WeakMap(), _YargsInstance_hasOutput = new WeakMap(), _YargsInstance_helpOpt = new WeakMap(), _YargsInstance_isGlobalContext = new WeakMap(), _YargsInstance_logger = new WeakMap(), _YargsInstance_output = new WeakMap(), _YargsInstance_options = new WeakMap(), _YargsInstance_parentRequire = new WeakMap(), _YargsInstance_parserConfig = new WeakMap(), _YargsInstance_parseFn = new WeakMap(), _YargsInstance_parseContext = new WeakMap(), _YargsInstance_pkgs = new WeakMap(), _YargsInstance_preservedGroups = new WeakMap(), _YargsInstance_processArgs = new WeakMap(), _YargsInstance_recommendCommands = new WeakMap(), _YargsInstance_shim = new WeakMap(), _YargsInstance_strict = new WeakMap(), _YargsInstance_strictCommands = new WeakMap(), _YargsInstance_strictOptions = new WeakMap(), _YargsInstance_usage = new WeakMap(), _YargsInstance_usageConfig = new WeakMap(), _YargsInstance_versionOpt = new WeakMap(), _YargsInstance_validation = new WeakMap(), kCopyDoubleDash)](argv) {\n if (!argv._ || !argv['--'])\n return argv;\n argv._.push.apply(argv._, argv['--']);\n try {\n delete argv['--'];\n }\n catch (_err) { }\n return argv;\n }\n [kCreateLogger]() {\n return {\n log: (...args) => {\n if (!this[kHasParseCallback]())\n console.log(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n error: (...args) => {\n if (!this[kHasParseCallback]())\n console.error(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n };\n }\n [kDeleteFromParserHintObject](optionKey) {\n objectKeys(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")).forEach((hintKey) => {\n if (((key) => key === 'configObjects')(hintKey))\n return;\n const hint = __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[hintKey];\n if (Array.isArray(hint)) {\n if (hint.includes(optionKey))\n hint.splice(hint.indexOf(optionKey), 1);\n }\n else if (typeof hint === 'object') {\n delete hint[optionKey];\n }\n });\n delete __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions()[optionKey];\n }\n [kEmitWarning](warning, type, deduplicationId) {\n if (!__classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId]) {\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.emitWarning(warning, type);\n __classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId] = true;\n }\n }\n [kFreeze]() {\n __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").push({\n options: __classPrivateFieldGet(this, _YargsInstance_options, \"f\"),\n configObjects: __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects.slice(0),\n exitProcess: __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"),\n groups: __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"),\n strict: __classPrivateFieldGet(this, _YargsInstance_strict, \"f\"),\n strictCommands: __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\"),\n strictOptions: __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\"),\n completionCommand: __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"),\n output: __classPrivateFieldGet(this, _YargsInstance_output, \"f\"),\n exitError: __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"),\n hasOutput: __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\"),\n parsed: this.parsed,\n parseFn: __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"),\n parseContext: __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"),\n });\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").freeze();\n }\n [kGetDollarZero]() {\n let $0 = '';\n let default$0;\n if (/\\b(node|iojs|electron)(\\.exe)?$/.test(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv()[0])) {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(1, 2);\n }\n else {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(0, 1);\n }\n $0 = default$0\n .map(x => {\n const b = this[kRebase](__classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), x);\n return x.match(/^(\\/|([a-zA-Z]:)?\\\\)/) && b.length < x.length ? b : x;\n })\n .join(' ')\n .trim();\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_') &&\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getProcessArgvBin() === __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_')) {\n $0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")\n .getEnv('_')\n .replace(`${__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.execPath())}/`, '');\n }\n return $0;\n }\n [kGetParserConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_parserConfig, \"f\");\n }\n [kGetUsageConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_usageConfig, \"f\");\n }\n [kGuessLocale]() {\n if (!__classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\"))\n return;\n const locale = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_ALL') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_MESSAGES') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANG') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANGUAGE') ||\n 'en_US';\n this.locale(locale.replace(/[.:].*/, ''));\n }\n [kGuessVersion]() {\n const obj = this[kPkgUp]();\n return obj.version || 'unknown';\n }\n [kParsePositionalNumbers](argv) {\n const args = argv['--'] ? argv['--'] : argv._;\n for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.looksLikeNumber(arg) &&\n Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {\n args[i] = Number(arg);\n }\n }\n return argv;\n }\n [kPkgUp](rootPath) {\n const npath = rootPath || '*';\n if (__classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath])\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n let obj = {};\n try {\n let startDir = rootPath || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").mainFilename;\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.extname(startDir)) {\n startDir = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(startDir);\n }\n const pkgJsonPath = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").findUp(startDir, (dir, names) => {\n if (names.includes('package.json')) {\n return 'package.json';\n }\n else {\n return undefined;\n }\n });\n assertNotStrictEqual(pkgJsonPath, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n obj = JSON.parse(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").readFileSync(pkgJsonPath, 'utf8'));\n }\n catch (_noop) { }\n __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath] = obj || {};\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n }\n [kPopulateParserHintArray](type, keys) {\n keys = [].concat(keys);\n keys.forEach(key => {\n key = this[kSanitizeKey](key);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type].push(key);\n });\n }\n [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = value;\n });\n }\n [kPopulateParserHintArrayDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] || []).concat(value);\n });\n }\n [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {\n if (Array.isArray(key)) {\n key.forEach(k => {\n builder(k, value);\n });\n }\n else if (((key) => typeof key === 'object')(key)) {\n for (const k of objectKeys(key)) {\n builder(k, key[k]);\n }\n }\n else {\n singleKeyHandler(type, this[kSanitizeKey](key), value);\n }\n }\n [kSanitizeKey](key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n }\n [kSetKey](key, set) {\n this[kPopulateParserHintSingleValueDictionary](this[kSetKey].bind(this), 'key', key, set);\n return this;\n }\n [kUnfreeze]() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").pop();\n assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n let configObjects;\n (_a = this, _b = this, _c = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {\n options: ({ set value(_o) { __classPrivateFieldSet(_a, _YargsInstance_options, _o, \"f\"); } }).value,\n configObjects,\n exitProcess: ({ set value(_o) { __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, \"f\"); } }).value,\n groups: ({ set value(_o) { __classPrivateFieldSet(_c, _YargsInstance_groups, _o, \"f\"); } }).value,\n output: ({ set value(_o) { __classPrivateFieldSet(_d, _YargsInstance_output, _o, \"f\"); } }).value,\n exitError: ({ set value(_o) { __classPrivateFieldSet(_e, _YargsInstance_exitError, _o, \"f\"); } }).value,\n hasOutput: ({ set value(_o) { __classPrivateFieldSet(_f, _YargsInstance_hasOutput, _o, \"f\"); } }).value,\n parsed: this.parsed,\n strict: ({ set value(_o) { __classPrivateFieldSet(_g, _YargsInstance_strict, _o, \"f\"); } }).value,\n strictCommands: ({ set value(_o) { __classPrivateFieldSet(_h, _YargsInstance_strictCommands, _o, \"f\"); } }).value,\n strictOptions: ({ set value(_o) { __classPrivateFieldSet(_j, _YargsInstance_strictOptions, _o, \"f\"); } }).value,\n completionCommand: ({ set value(_o) { __classPrivateFieldSet(_k, _YargsInstance_completionCommand, _o, \"f\"); } }).value,\n parseFn: ({ set value(_o) { __classPrivateFieldSet(_l, _YargsInstance_parseFn, _o, \"f\"); } }).value,\n parseContext: ({ set value(_o) { __classPrivateFieldSet(_m, _YargsInstance_parseContext, _o, \"f\"); } }).value,\n } = frozen);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = configObjects;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").unfreeze();\n }\n [kValidateAsync](validation, argv) {\n return maybeAsyncResult(argv, result => {\n validation(result);\n return result;\n });\n }\n getInternalMethods() {\n return {\n getCommandInstance: this[kGetCommandInstance].bind(this),\n getContext: this[kGetContext].bind(this),\n getHasOutput: this[kGetHasOutput].bind(this),\n getLoggerInstance: this[kGetLoggerInstance].bind(this),\n getParseContext: this[kGetParseContext].bind(this),\n getParserConfiguration: this[kGetParserConfiguration].bind(this),\n getUsageConfiguration: this[kGetUsageConfiguration].bind(this),\n getUsageInstance: this[kGetUsageInstance].bind(this),\n getValidationInstance: this[kGetValidationInstance].bind(this),\n hasParseCallback: this[kHasParseCallback].bind(this),\n isGlobalContext: this[kIsGlobalContext].bind(this),\n postProcess: this[kPostProcess].bind(this),\n reset: this[kReset].bind(this),\n runValidation: this[kRunValidation].bind(this),\n runYargsParserAndExecuteCommands: this[kRunYargsParserAndExecuteCommands].bind(this),\n setHasOutput: this[kSetHasOutput].bind(this),\n };\n }\n [kGetCommandInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_command, \"f\");\n }\n [kGetContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_context, \"f\");\n }\n [kGetHasOutput]() {\n return __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\");\n }\n [kGetLoggerInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_logger, \"f\");\n }\n [kGetParseContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\") || {};\n }\n [kGetUsageInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\");\n }\n [kGetValidationInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_validation, \"f\");\n }\n [kHasParseCallback]() {\n return !!__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\");\n }\n [kIsGlobalContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_isGlobalContext, \"f\");\n }\n [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {\n if (calledFromCommand)\n return argv;\n if (isPromise(argv))\n return argv;\n if (!populateDoubleDash) {\n argv = this[kCopyDoubleDash](argv);\n }\n const parsePositionalNumbers = this[kGetParserConfiguration]()['parse-positional-numbers'] ||\n this[kGetParserConfiguration]()['parse-positional-numbers'] === undefined;\n if (parsePositionalNumbers) {\n argv = this[kParsePositionalNumbers](argv);\n }\n if (runGlobalMiddleware) {\n argv = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n }\n return argv;\n }\n [kReset](aliases = {}) {\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\") || {}, \"f\");\n const tmpOptions = {};\n tmpOptions.local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local || [];\n tmpOptions.configObjects = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || [];\n const localLookup = {};\n tmpOptions.local.forEach(l => {\n localLookup[l] = true;\n (aliases[l] || []).forEach(a => {\n localLookup[a] = true;\n });\n });\n Object.assign(__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"), Object.keys(__classPrivateFieldGet(this, _YargsInstance_groups, \"f\")).reduce((acc, groupName) => {\n const keys = __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName].filter(key => !(key in localLookup));\n if (keys.length > 0) {\n acc[groupName] = keys;\n }\n return acc;\n }, {}));\n __classPrivateFieldSet(this, _YargsInstance_groups, {}, \"f\");\n const arrayOptions = [\n 'array',\n 'boolean',\n 'string',\n 'skipValidation',\n 'count',\n 'normalize',\n 'number',\n 'hiddenOptions',\n ];\n const objectOptions = [\n 'narg',\n 'key',\n 'alias',\n 'default',\n 'defaultDescription',\n 'config',\n 'choices',\n 'demandedOptions',\n 'demandedCommands',\n 'deprecatedOptions',\n ];\n arrayOptions.forEach(k => {\n tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k] || []).filter((k) => !localLookup[k]);\n });\n objectOptions.forEach((k) => {\n tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k], k => !localLookup[k]);\n });\n tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").reset(localLookup)\n : Usage(this, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").reset(localLookup)\n : Validation(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").reset()\n : Command(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_completion, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_completion, Completion(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").reset();\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, '', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, false, \"f\");\n this.parsed = false;\n return this;\n }\n [kRebase](base, dir) {\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.relative(base, dir);\n }\n [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {\n var _a, _b, _c, _d;\n let skipValidation = !!calledFromCommand || helpOnly;\n args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").__ = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration = this[kGetParserConfiguration]();\n const populateDoubleDash = !!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration['populate--'];\n const config = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration, {\n 'populate--': true,\n });\n const parsed = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.detailed(args, Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), {\n configuration: { 'parse-positional-numbers': false, ...config },\n }));\n const argv = Object.assign(parsed.argv, __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"));\n let argvPromise = undefined;\n const aliases = parsed.aliases;\n let helpOptSet = false;\n let versionOptSet = false;\n Object.keys(argv).forEach(key => {\n if (key === __classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\") && argv[key]) {\n helpOptSet = true;\n }\n else if (key === __classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && argv[key]) {\n versionOptSet = true;\n }\n });\n argv.$0 = this.$0;\n this.parsed = parsed;\n if (commandIndex === 0) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").clearCachedHelpMessage();\n }\n try {\n this[kGuessLocale]();\n if (shortCircuit) {\n return this[kPostProcess](argv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n const helpCmds = [__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")]\n .concat(aliases[__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")] || [])\n .filter(k => k.length > 1);\n if (helpCmds.includes('' + argv._[argv._.length - 1])) {\n argv._.pop();\n helpOptSet = true;\n }\n }\n __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, \"f\");\n const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").getCommands();\n const requestCompletions = ((_a = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _a === void 0 ? void 0 : _a.completionKey)\n ? [\n (_b = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _b === void 0 ? void 0 : _b.completionKey,\n ...((_d = this.getAliases()[(_c = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _c === void 0 ? void 0 : _c.completionKey]) !== null && _d !== void 0 ? _d : []),\n ].some((key) => Object.prototype.hasOwnProperty.call(argv, key))\n : false;\n const skipRecommendation = helpOptSet || requestCompletions || helpOnly;\n if (argv._.length) {\n if (handlerKeys.length) {\n let firstUnknownCommand;\n for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {\n cmd = String(argv._[i]);\n if (handlerKeys.includes(cmd) && cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(cmd, this, parsed, i + 1, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n else if (!firstUnknownCommand &&\n cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n firstUnknownCommand = cmd;\n break;\n }\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() &&\n __classPrivateFieldGet(this, _YargsInstance_recommendCommands, \"f\") &&\n firstUnknownCommand &&\n !skipRecommendation) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").recommendCommands(firstUnknownCommand, handlerKeys);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") &&\n argv._.includes(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) &&\n !requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n this.showCompletionScript();\n this.exit(0);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() && !skipRecommendation) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(null, this, parsed, 0, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n args = [].concat(args);\n const completionArgs = args.slice(args.indexOf(`--${__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").completionKey}`) + 1);\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(completionArgs, (err, completions) => {\n if (err)\n throw new YError(err.message);\n (completions || []).forEach(completion => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(completion);\n });\n this.exit(0);\n });\n return this[kPostProcess](argv, !populateDoubleDash, !!calledFromCommand, false);\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\")) {\n if (helpOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n this.showHelp(message => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(message);\n this.exit(0);\n });\n }\n else if (versionOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion('log');\n this.exit(0);\n }\n }\n if (!skipValidation && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.length > 0) {\n skipValidation = Object.keys(argv).some(key => __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.indexOf(key) >= 0 && argv[key] === true);\n }\n if (!skipValidation) {\n if (parsed.error)\n throw new YError(parsed.error.message);\n if (!requestCompletions) {\n const validation = this[kRunValidation](aliases, {}, parsed.error);\n if (!calledFromCommand) {\n argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), true);\n }\n argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv);\n if (isPromise(argvPromise) && !calledFromCommand) {\n argvPromise = argvPromise.then(() => {\n return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n });\n }\n }\n }\n }\n catch (err) {\n if (err instanceof YError)\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message, err);\n else\n throw err;\n }\n return this[kPostProcess](argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv, populateDoubleDash, !!calledFromCommand, true);\n }\n [kRunValidation](aliases, positionalMap, parseErrors, isDefaultCommand) {\n const demandedOptions = { ...this.getDemandedOptions() };\n return (argv) => {\n if (parseErrors)\n throw new YError(parseErrors.message);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").nonOptionCount(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").requiredArguments(argv, demandedOptions);\n let failedStrictCommands = false;\n if (__classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\")) {\n failedStrictCommands = __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownCommands(argv);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_strict, \"f\") && !failedStrictCommands) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, positionalMap, !!isDefaultCommand);\n }\n else if (__classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, {}, false, false);\n }\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").limitedChoices(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implications(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicting(argv);\n };\n }\n [kSetHasOutput]() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n }\n [kTrackManuallySetKeys](keys) {\n if (typeof keys === 'string') {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[keys] = true;\n }\n else {\n for (const k of keys) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[k] = true;\n }\n }\n }\n}\nexport function isYargsInstance(y) {\n return !!y && typeof y.getInternalMethods === 'function';\n}\n","'use strict';\n\n// Bootstraps yargs for ESM:\nimport esmPlatformShim from './lib/platform-shims/esm.mjs';\nimport {YargsFactory} from './build/lib/yargs-factory.js';\n\nconst Yargs = YargsFactory(esmPlatformShim);\nexport default Yargs;\n\nexport {Yargs as 'module.exports'};\n"],"x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"mappings":"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"}
1
+ {"version":3,"file":"helpers-BdvJQlgs.js","names":["lastResult: KeychainOutcomeResult | null","lastResult","HTTPS_PROXY_ENV_VARS: readonly ProxyEnvVar[]","HTTP_PROXY_ENV_VARS: readonly ProxyEnvVar[]","NO_PROXY_ENV_VARS: readonly string[]","PUBLIC_STRIP_ENV_VARS: readonly string[]","SCOPED_STRIP_ENV_VARS: readonly string[]","STRIP_ENV_VARS: readonly string[]","PRIVATE_ENV_VARS: readonly string[]","lastResult: ProxySetupResult","env","child: ReexecChild","forwarded: NodeJS.Signals[]","childEnv: NodeJS.ProcessEnv","defaultSpawn: ReexecSpawn","command","stripped: Record<string, string>","parsed: unknown","fallback: [string, string][]","_a","mixin","code","ansiStyles","readdirSync","key","args","value","val","argv","env","defaults","aliases","guessType","require","readFileSync","shim","y18n","y18n","_y18n","shim","getCallerFile","stack","escalade","y18n","cmd","result","shim","usage","validation","module","command","c","shim","fail","command","ui","usage","maxWidth","_a","_b","_c","usage","command","shim","desc","argv","templates.completionZshTemplate","templates.completionShTemplate","shim","_a","usage","key","distance","shim","_a","type","key","value","_b","_c","k","Usage","Validation","Command","Completion","completion","validation","esmPlatformShim"],"sources":["../src/lib/keychainOutcome.ts","../src/lib/proxySetup.ts","../node_modules/cliui/build/lib/index.js","../node_modules/ansi-regex/index.js","../node_modules/strip-ansi/index.js","../node_modules/get-east-asian-width/lookup.js","../node_modules/get-east-asian-width/index.js","../node_modules/emoji-regex/index.js","../node_modules/string-width/index.js","../node_modules/wrap-ansi/node_modules/ansi-styles/index.js","../node_modules/wrap-ansi/index.js","../node_modules/cliui/index.mjs","../node_modules/escalade/sync/index.mjs","../node_modules/yargs-parser/build/lib/string-utils.js","../node_modules/yargs-parser/build/lib/tokenize-arg-string.js","../node_modules/yargs-parser/build/lib/yargs-parser-types.js","../node_modules/yargs-parser/build/lib/yargs-parser.js","../node_modules/yargs-parser/build/lib/index.js","../node_modules/yargs/build/lib/utils/process-argv.js","../node_modules/y18n/build/lib/platform-shims/node.js","../node_modules/y18n/build/lib/index.js","../node_modules/y18n/index.mjs","../node_modules/get-caller-file/index.js","../node_modules/yargs/lib/platform-shims/esm.mjs","../node_modules/yargs/build/lib/typings/common-types.js","../node_modules/yargs/build/lib/utils/is-promise.js","../node_modules/yargs/build/lib/yerror.js","../node_modules/yargs/build/lib/parse-command.js","../node_modules/yargs/build/lib/argsert.js","../node_modules/yargs/build/lib/middleware.js","../node_modules/yargs/build/lib/utils/maybe-async-result.js","../node_modules/yargs/build/lib/command.js","../node_modules/yargs/build/lib/utils/obj-filter.js","../node_modules/yargs/build/lib/utils/set-blocking.js","../node_modules/yargs/build/lib/usage.js","../node_modules/yargs/build/lib/completion-templates.js","../node_modules/yargs/build/lib/completion.js","../node_modules/yargs/build/lib/utils/levenshtein.js","../node_modules/yargs/build/lib/validation.js","../node_modules/yargs/build/lib/utils/apply-extends.js","../node_modules/yargs/build/lib/yargs-factory.js","../node_modules/yargs/index.mjs"],"sourcesContent":["/**\n * The gateway resolves the scanner API key at startup (see bin/mcp-gateway.ts\n * PHASE 2b): from process.env (the legacy plaintext-in-config path, or the\n * MCP_GATEWAY_DISABLE_KEYCHAIN=1 opt-out), otherwise from the OS secret store\n * the scanner wrote at install time (macOS System keychain / Windows DPAPI\n * LocalMachine blob / Linux libsecret). That resolution happens BEFORE the\n * structured logger is initialized, so at that point the outcome can only go to\n * stderr — a dead end on customer endpoints, where the gateway is a subprocess\n * of the coding agent and its stderr is never forwarded to the log-ingest\n * pipeline. That is why reader-side `keychain_outcome` events never reached\n * groundcover even though the gateway was emitting them.\n *\n * This module mirrors lib/proxySetup.ts: PHASE 2b calls recordKeychainOutcome()\n * to stash the result, and main() calls emitKeychainOutcomeLog(logger) once the\n * logger (file + ingest) is online, so the event reaches groundcover via the\n * same path as every other gateway log.\n *\n * Ingest caveat: the log-ingest transport is gated on a non-empty scanner API\n * key (see config/env.ts logIngest.enabled). The \"env\" / \"keychain\" outcomes\n * resolve a key into process.env BEFORE main() loads config, so their events\n * ship normally. The \"missing\" / \"error\" / \"timeout\" outcomes — where no key\n * was resolved — cannot ship (there is no key to authenticate the ingest call);\n * they land in the local file log only. Observing keyless gateways is\n * intentionally left to the scanner write-side telemetry rather than a keyless\n * beacon.\n */\n\n/**\n * Subset of the gateway's structured logger we use here. Matches the shape of\n * winston.Logger so the real logger can be passed in directly. Mirrors\n * proxySetup.ts's ProxyLogger.\n */\nexport interface KeychainOutcomeLogger {\n info: (message: string, meta?: Record<string, unknown>) => void;\n warn: (message: string, meta?: Record<string, unknown>) => void;\n}\n\nexport interface KeychainOutcomeResult {\n keychainDisabledEnvSet: boolean;\n platform: string;\n source: KeychainOutcomeSource;\n}\n\nexport type KeychainOutcomeSource = \"env\" | \"error\" | \"keychain\" | \"missing\" | \"timeout\";\n\nlet lastResult: KeychainOutcomeResult | null = null;\n\n/**\n * Emit the recorded keychain outcome through the gateway's structured logger\n * (file + ingest), so it reaches groundcover the same way every other gateway\n * log does. Called from main() after the logger is initialized.\n *\n * The field schema matches the scanner-side `event: \"keychain_outcome\"` lines\n * and the early stderr line in bin/mcp-gateway.ts, so a single monitor query\n * aggregates writer (scanner) and reader (gateway) paths. `reason` mirrors\n * `outcome`: the reader-side outcomes are themselves the canonical reasons.\n *\n * - keychain / env → INFO (the gateway resolved a usable key)\n * - missing / error / timeout → WARN (degraded: no key resolved). \"timeout\" is\n * the credential probe blocking past its hard deadline (e.g. a macOS\n * `security` read stuck on a Keychain Services unlock/ACL dialog the gateway\n * subprocess can't dismiss) — the gateway kills the read and continues the\n * MCP handshake rather than hanging. See lib/secretstore.ts resolveApiKeyFromStore.\n *\n * No-op when nothing was recorded (a subcommand that never reached PHASE 2b).\n */\nexport function emitKeychainOutcomeLog(\n logger: KeychainOutcomeLogger,\n result: KeychainOutcomeResult | null = lastResult,\n): void {\n if (result === null) {\n return;\n }\n const meta = {\n caller: \"gateway_startup\",\n event: \"keychain_outcome\",\n keychain_disabled_env_set: result.keychainDisabledEnvSet,\n op: \"get\",\n outcome: result.source,\n platform: result.platform,\n reason: result.source,\n };\n if (result.source === \"error\" || result.source === \"missing\" || result.source === \"timeout\") {\n logger.warn(\"keychain_outcome\", meta);\n return;\n }\n logger.info(\"keychain_outcome\", meta);\n}\n\n/**\n * Read-only accessor for the most recent recorded outcome. Returns null if\n * recordKeychainOutcome hasn't been called yet (e.g. a subcommand such as\n * `probe` short-circuits before PHASE 2b).\n */\nexport function getKeychainOutcome(): KeychainOutcomeResult | null {\n return lastResult;\n}\n\n/**\n * Record the startup api-key resolution outcome. Called from\n * bin/mcp-gateway.ts PHASE 2b, before the logger exists. Stores the result so\n * emitKeychainOutcomeLog can flush it once the logger is online. `opts`\n * overrides are for tests; in production both default off process state so the\n * recorded event matches the early stderr line byte-for-byte.\n */\nexport function recordKeychainOutcome(\n source: KeychainOutcomeSource,\n opts: { keychainDisabledEnvSet?: boolean; platform?: string } = {},\n): KeychainOutcomeResult {\n lastResult = {\n keychainDisabledEnvSet:\n opts.keychainDisabledEnvSet ?? process.env.MCP_GATEWAY_DISABLE_KEYCHAIN === \"1\",\n platform: opts.platform ?? process.platform,\n source,\n };\n return lastResult;\n}\n","/**\n * Startup proxy setup, for BOTH shapes the gateway ships in: the\n * `bun build --compile` binary and the npx/Node package.\n *\n * WHY A RE-EXEC (and not undici's `setGlobalDispatcher`):\n * Under Bun, `globalThis.fetch` is Bun-native and ignores undici's GLOBAL\n * dispatcher, so the `EnvHttpProxyAgent` install this replaced was a silent\n * no-op in the compiled binary — no egress was ever proxied there. Bun instead\n * honors a per-request `proxy` option (see ./proxyFetch.ts) and snapshots\n * HTTP(S)_PROXY / NO_PROXY from the OS environment at process start.\n * Crucially, once a proxy is snapshotted there is NO per-request value that\n * forces a DIRECT connection — which the gateway must be able to do for\n * NO_PROXY bypass and the NXDOMAIN fallback.\n *\n * The only way to get a clean, override-only routing model is to run the real\n * gateway with the standard proxy env vars STRIPPED, so Bun's snapshot is\n * empty and every connection is direct-by-default, then opt each request into\n * the proxy explicitly. This module does exactly that: when a standard proxy\n * env var is present, it re-execs the SAME entrypoint as a child whose\n * environment has the standard proxy vars removed and the values stashed into\n * private guard vars, then applies them to `proxiedFetch` in the child. The\n * re-exec runs once (a marker env var prevents a loop) and the parent\n * transparently forwards signals and the child's exit status.\n *\n * That reasoning is about the GLOBAL dispatcher only, and it does NOT mean the\n * Node path needs nothing — Node's `fetch` ignores Bun's `proxy` option just\n * as completely. `proxiedFetch` therefore attaches an explicit per-request\n * undici `dispatcher` when running under Node; see ./proxyFetch.ts for the\n * runtime split. The stripping this module performs is not Bun-specific\n * either: it is what makes \"no dispatcher\" mean a genuinely DIRECT connection\n * on the Node path too, leaving nothing for Node's opt-in env-proxy support to\n * pick up. So it is applied unconditionally, on both runtimes, by design.\n *\n * WHY IT NEVER FALLS BACK TO UNPROXIED:\n * If the re-exec spawn fails, the gateway hard-exits (structured stderr line +\n * exit(1)) rather than continuing with a snapshot that would leak direct\n * connections in an egress-locked network. The only deliberate direct fallback\n * is the DNS-resolvability one in proxyFetch.ts (NXDOMAIN proxy host → direct).\n *\n * Two-phase logging is preserved: `setupProxyDispatcher()` runs at the top of\n * the entrypoint (before the structured logger exists) and records a\n * `ProxySetupResult`; `emitProxySetupLog(logger)` re-emits it from `main()` once\n * the logger is online. In the proxied case that log is emitted by the CHILD,\n * where routing is actually active.\n */\n\nimport { spawn } from \"node:child_process\";\n\nimport {\n configureProxy,\n parseNoProxy,\n probeProxyReachable,\n type ProxyReachability,\n type ProxyRuntimeConfig,\n} from \"./proxyFetch.js\";\n\nexport type ProxyEnvVar =\n | \"HTTP_PROXY\"\n | \"http_proxy\"\n | \"HTTPS_PROXY\"\n | \"https_proxy\"\n // Onyx-namespaced spellings. The scanner's wrap PERSISTS these onto a gateway\n // entry INSTEAD of the public names (config.GatewayScopedProxyEnvVars), so that\n // the proxy reaches the gateway — which has a direct fallback for an unreachable\n // proxy — without also reaching the third-party MCP server the gateway spawns,\n // which inherits the gateway's environment and has no fallback of its own.\n | \"MCP_GATEWAY_HTTP_PROXY\"\n | \"MCP_GATEWAY_HTTPS_PROXY\";\n\n/**\n * Subset of the gateway's structured logger we use here. Matches the shape of\n * `winston.Logger` so the real logger can be passed in directly.\n */\nexport interface ProxyLogger {\n info: (message: string, meta?: Record<string, unknown>) => void;\n warn: (message: string, meta?: Record<string, unknown>) => void;\n}\n\n/** The plan `computeProxyPlan` produces; `setupProxyDispatcher` then enacts it. */\nexport type ProxyPlan =\n | {\n args: string[];\n childEnv: NodeJS.ProcessEnv;\n command: string;\n mode: \"reexec\";\n result: ProxySetupResult;\n }\n | { config: ProxyRuntimeConfig; mode: \"child\"; result: ProxySetupResult }\n | { mode: \"direct\"; result: ProxySetupResult };\n\nexport type ProxySetupResult =\n | { error: string; source: ProxyEnvVar; status: \"failed\"; target: string }\n | { source: ProxyEnvVar; status: \"installed\"; target: string }\n | { status: \"not-needed\" };\n\n/** Minimal child-process surface we depend on, so tests can inject a fake. */\nexport interface ReexecChild {\n kill: (signal?: NodeJS.Signals | number) => void;\n on: {\n (event: \"error\", listener: (err: Error) => void): void;\n (event: \"exit\", listener: (code: null | number, signal: NodeJS.Signals | null) => void): void;\n };\n}\n\n/** Injectable spawn used for the startup re-exec. */\nexport type ReexecSpawn = (\n command: string,\n args: string[],\n options: { env: NodeJS.ProcessEnv; stdio: \"inherit\" },\n) => ReexecChild;\n\nexport interface SetupOptions {\n /** Override argv (default `process.argv`). */\n argv?: string[];\n /** Override the runtime environment (default `process.env`). */\n env?: NodeJS.ProcessEnv;\n /** Override the re-exec target executable (default `process.execPath`). */\n execPath?: string;\n /** Override process exit (default `process.exit`). */\n exit?: (code: number) => void;\n /** Override the child spawner (default `node:child_process` spawn). */\n spawn?: ReexecSpawn;\n}\n\n// Per-scheme precedence, one list per logical setting. Within a list the order is\n// Onyx-scoped first, then upper-case, then lower-case; across lists HTTPS wins\n// over HTTP — together mirroring golang.org/x/net/http/httpproxy's getEnvAny,\n// extended with the scoped namespace.\n//\n// WHY THE SCOPED NAME LEADS ITS OWN LIST RATHER THAN THE WHOLE ORDERING: the\n// scoped name is Onyx's explicit namespace and must outrank an ambient public var\n// for THE SAME logical setting, which is exactly what leading its own list does.\n// Hoisting MCP_GATEWAY_HTTP_PROXY above the public HTTPS_PROXY instead would make\n// `source` name a variable whose value was NOT the one selected — scheme\n// precedence still picks the https tier first — and the two must never disagree,\n// because `source` is what the `proxy_selected` line uses to tell an operator\n// which spelling their traffic is actually following.\nconst HTTPS_PROXY_ENV_VARS: readonly ProxyEnvVar[] = [\n \"MCP_GATEWAY_HTTPS_PROXY\",\n \"HTTPS_PROXY\",\n \"https_proxy\",\n];\nconst HTTP_PROXY_ENV_VARS: readonly ProxyEnvVar[] = [\n \"MCP_GATEWAY_HTTP_PROXY\",\n \"HTTP_PROXY\",\n \"http_proxy\",\n];\n// NO_PROXY has no scheme tier and never names a proxy on its own; it only refines\n// one. Scoped first, for the same reason.\nconst NO_PROXY_ENV_VARS: readonly string[] = [\"MCP_GATEWAY_NO_PROXY\", \"NO_PROXY\", \"no_proxy\"];\n\n// Every standard proxy var is stripped from the child, on BOTH runtimes, so\n// routing is decided per-request: under Bun this empties the startup snapshot,\n// and under Node it leaves nothing for the opt-in env-proxy support to read, so\n// an absent dispatcher is a genuinely direct connection. ALL_PROXY is stripped\n// too (Bun may consult it) even though the gateway does not implement its\n// semantics — it was never honored by the prior undici path either, so this is\n// not a regression.\n//\n// Split into two lists because the two namespaces differ in ONE respect that no\n// single list can express: both are stripped from the gateway, but only the\n// public ones are handed BACK to a program the gateway spawns\n// (restoreOperatorProxyEnv). See SCOPED_STRIP_ENV_VARS.\nconst PUBLIC_STRIP_ENV_VARS: readonly string[] = [\n \"HTTP_PROXY\",\n \"http_proxy\",\n \"HTTPS_PROXY\",\n \"https_proxy\",\n \"NO_PROXY\",\n \"no_proxy\",\n \"ALL_PROXY\",\n \"all_proxy\",\n];\n\n// The Onyx-namespaced spellings. Stripped from the gateway for the same reason as\n// the public ones — routing must be decided per request, so nothing may sit in the\n// child's startup snapshot — but NEVER restored to a program the gateway spawns.\n//\n// That asymmetry is the entire point of the namespace. A public proxy var on the\n// gateway entry reaches the wrapped third-party server too (a child inherits its\n// parent's environment), and that server has no direct fallback: against a dead\n// proxy it hangs rather than failing. Restoring a scoped name would reintroduce\n// exactly that leak in a different spelling — silently, because a scoped name is\n// not what an audit for \"did a public proxy var leak?\" looks for. Kept OUT of the\n// GUARD_ORIGINAL_ENV recording and filtered again on the way back out, so both the\n// producer and the consumer of that handoff have to agree before one could escape.\nconst SCOPED_STRIP_ENV_VARS: readonly string[] = [\n \"MCP_GATEWAY_HTTP_PROXY\",\n \"MCP_GATEWAY_HTTPS_PROXY\",\n \"MCP_GATEWAY_NO_PROXY\",\n];\n\nconst STRIP_ENV_VARS: readonly string[] = [...PUBLIC_STRIP_ENV_VARS, ...SCOPED_STRIP_ENV_VARS];\n\n// Private handoff vars: the marker prevents an infinite re-exec loop, and the\n// guards carry the captured proxy config across the exec boundary out of band,\n// so Bun never sees a standard proxy var in the child.\nconst MARKER_ENV_VAR = \"ONYX_MCP_GATEWAY_PROXY_ACTIVE\";\nconst GUARD_HTTP = \"ONYX_MCP_GATEWAY_PROXY_HTTP\";\nconst GUARD_HTTPS = \"ONYX_MCP_GATEWAY_PROXY_HTTPS\";\nconst GUARD_NO_PROXY = \"ONYX_MCP_GATEWAY_PROXY_NO_PROXY\";\nconst GUARD_SOURCE = \"ONYX_MCP_GATEWAY_PROXY_SOURCE\";\n// Carries the exact name→value pairs that were stripped, so a program the\n// gateway SPAWNS can be handed the operator's configuration back under the very\n// spelling they used (Go, curl and most SDKs read only one case, and which one\n// differs between them, so re-spelling it would change behavior).\nconst GUARD_ORIGINAL_ENV = \"ONYX_MCP_GATEWAY_PROXY_ORIGINAL_ENV\";\n\n// The whole private handoff. None of it may reach a program the gateway spawns.\nconst PRIVATE_ENV_VARS: readonly string[] = [\n MARKER_ENV_VAR,\n GUARD_HTTP,\n GUARD_HTTPS,\n GUARD_NO_PROXY,\n GUARD_SOURCE,\n GUARD_ORIGINAL_ENV,\n];\n\nlet lastResult: ProxySetupResult = { status: \"not-needed\" };\n\n/**\n * Pure planning half of startup proxy setup: decides, from the environment and\n * argv, whether this process is the direct case (no proxy), the re-exec'd child\n * (marker present — apply captured config), or the parent that must re-exec.\n * Exported for tests so the decision can be asserted without forking.\n */\nexport function computeProxyPlan(ctx: {\n argv: string[];\n env: NodeJS.ProcessEnv;\n execPath: string;\n}): ProxyPlan {\n const { argv, env, execPath } = ctx;\n\n // Re-exec'd child: standard proxy vars are already stripped; rehydrate the\n // captured config from the guard vars and route through proxiedFetch.\n if (env[MARKER_ENV_VAR] === \"1\") {\n const httpProxy = nonEmpty(env[GUARD_HTTP]);\n const httpsProxy = nonEmpty(env[GUARD_HTTPS]);\n const config: ProxyRuntimeConfig = {\n enabled: true,\n httpProxy,\n httpsProxy,\n noProxy: parseNoProxy(nonEmpty(env[GUARD_NO_PROXY])),\n // Carried across the re-exec for logging only, so proxyFetch's\n // `proxy_selected` line can name the spelling the operator actually used.\n // Routing never reads it.\n source: nonEmpty(env[GUARD_SOURCE]),\n };\n return {\n config,\n mode: \"child\",\n result: installedResult(env[GUARD_SOURCE], httpsProxy ?? httpProxy),\n };\n }\n\n const captured = captureProxyConfig(env);\n if (!captured) {\n return { mode: \"direct\", result: { status: \"not-needed\" } };\n }\n\n return {\n args: reexecArgs(argv),\n childEnv: buildChildEnv(env, captured),\n command: execPath,\n mode: \"reexec\",\n result: installedResult(captured.source, captured.httpsProxy ?? captured.httpProxy),\n };\n}\n\n/**\n * Emit the proxy-setup outcome through the gateway's structured logger.\n * Called from `main()` after the logger is initialized. In the proxied case\n * this runs in the re-exec'd child, where routing is actually active.\n *\n * - `installed` → INFO with source + redacted target\n * - `failed` → WARN with source, target, and the underlying error\n * - `not-needed` → silent (no log)\n */\nexport function emitProxySetupLog(logger: ProxyLogger, result: ProxySetupResult = lastResult): void {\n switch (result.status) {\n case \"failed\":\n logger.warn(\"Proxy routing setup failed; egress may be blocked\", {\n error: result.error,\n eventType: \"proxy_routing_failed\",\n source: result.source,\n target: result.target,\n });\n return;\n case \"installed\":\n logger.info(\"Proxy routing enabled for fetch()\", {\n eventType: \"proxy_routing_enabled\",\n source: result.source,\n target: result.target,\n });\n return;\n case \"not-needed\":\n // No proxy env set — nothing to log.\n return;\n }\n}\n\n/**\n * Read-only accessor for the most recent `setupProxyDispatcher()` result.\n * Returns the no-op default if setup hasn't been called yet.\n */\nexport function getProxySetupResult(): ProxySetupResult {\n return lastResult;\n}\n\n/**\n * The proxy URL a spawned server would actually be handed, or undefined when the\n * restore would hand it none. Derived from the restore's own entries rather than\n * re-read from the environment, so the value PROBED is by construction the value\n * that would be USED — the two cannot drift apart.\n *\n * HTTPS is preferred over HTTP, matching every other selection here. NO_PROXY and\n * ALL_PROXY name no proxy to dial and are skipped.\n */\nexport function operatorProxyForChild(env: NodeJS.ProcessEnv): string | undefined {\n const entries = originalProxyEntries(env);\n const find = (names: readonly string[]): string | undefined =>\n entries.find(([name]) => names.includes(name))?.[1];\n return find([\"HTTPS_PROXY\", \"https_proxy\"]) ?? find([\"HTTP_PROXY\", \"http_proxy\"]);\n}\n\n/**\n * Spawn the stripped-env child and mirror its lifecycle: forward the common\n * termination signals, re-raise a signal death, and propagate the exit code.\n * Exported for tests.\n */\nexport function performReexec(\n plan: Extract<ProxyPlan, { mode: \"reexec\" }>,\n spawnFn: ReexecSpawn,\n exitFn: (code: number) => void,\n): void {\n let child: ReexecChild;\n try {\n child = spawnFn(plan.command, plan.args, { env: plan.childEnv, stdio: \"inherit\" });\n } catch (error) {\n emitReexecFailure(error);\n exitFn(1);\n return;\n }\n\n const forwarded: NodeJS.Signals[] = [\"SIGINT\", \"SIGTERM\", \"SIGHUP\"];\n const handlers = new Map<NodeJS.Signals, () => void>();\n for (const sig of forwarded) {\n const handler = () => {\n try {\n child.kill(sig);\n } catch {\n // Child already gone; nothing to forward to.\n }\n };\n handlers.set(sig, handler);\n process.on(sig, handler);\n }\n\n child.on(\"error\", (error) => {\n emitReexecFailure(error);\n exitFn(1);\n });\n\n child.on(\"exit\", (code, signal) => {\n for (const [sig, handler] of handlers) process.removeListener(sig, handler);\n if (signal) {\n // Re-raise so our exit status reflects the child's terminating signal\n // (our handler for it was just removed, so this now terminates us).\n process.kill(process.pid, signal);\n return;\n }\n exitFn(code ?? 0);\n });\n}\n\n/**\n * The reachability verdict for the proxy the spawned server would inherit: ONE\n * bounded attempt through it, or \"indeterminate\" when there is nothing to probe.\n *\n * Called once per spawn, immediately before `restoreOperatorProxyEnv`, rather\n * than unconditionally at startup — with no proxy to hand over there is nothing\n * to decide, and the lanes that spawn no child pay nothing.\n */\nexport async function probeOperatorProxyForChild(\n env: NodeJS.ProcessEnv,\n opts: { fetchImpl?: typeof fetch; timeoutMs?: number } = {},\n): Promise<{ proxyHost: string | undefined; reachability: ProxyReachability }> {\n const proxyUrl = operatorProxyForChild(env);\n if (proxyUrl === undefined) return { proxyHost: undefined, reachability: \"indeterminate\" };\n // Only the credential-stripped HOST leaves this function, so no caller can log\n // a proxy URL's userinfo by accident. Shape matches the `proxy_host` field on\n // the proxy_selected / proxy_fallback lines, so one query joins all of them.\n return { proxyHost: safeProxyHost(proxyUrl), reachability: await probeProxyReachable(proxyUrl, opts) };\n}\n\n/**\n * Environment for a program the gateway SPAWNS (a wrapped stdio MCP server),\n * derived from the gateway's own — necessarily stripped — environment.\n *\n * The gateway strips the standard proxy vars from ITSELF so its own routing is\n * direct-by-default and can be opted into the proxy per request (see the module\n * header). That stripping is an implementation detail of the gateway's fetch\n * path and must NOT propagate: a spawned MCP server is a third-party program\n * with its own egress, and on a proxied network it needs exactly what the\n * operator configured. Inheriting the stripped environment would make it\n * connect direct (or fail) where it used to be proxied.\n *\n * The two are kept apart by direction: the parent's originals are carried across\n * the re-exec out of band in private guard vars, which this function converts\n * BACK into standard vars for the child only — nothing here mutates the\n * gateway's own `process.env`, so Bun's empty proxy snapshot and the\n * force-direct capability that depends on it are untouched. The private vars are\n * removed on the way out; they are an internal handoff, not part of any\n * server's contract.\n *\n * With no proxy configured there is no re-exec and no guard var, so the returned\n * environment is a plain copy.\n */\nexport function restoreOperatorProxyEnv(\n env: NodeJS.ProcessEnv,\n reachability: ProxyReachability = \"indeterminate\",\n): NodeJS.ProcessEnv {\n const childEnv: NodeJS.ProcessEnv = { ...env };\n for (const name of PRIVATE_ENV_VARS) delete childEnv[name];\n // Unconditionally, not only on the re-exec path. With no proxy URL configured\n // there is no re-exec and nothing was stripped, so a lone MCP_GATEWAY_NO_PROXY\n // (or a scoped var an operator set by hand) would otherwise ride straight\n // through into the spawned server's environment. Onyx's namespace is for the\n // gateway; it does not leave it.\n for (const name of SCOPED_STRIP_ENV_VARS) delete childEnv[name];\n\n // Only a POSITIVE unreachable verdict withholds the restore. Handing the child a\n // proxy that is not there makes it HANG — it has no fallback of its own — so\n // when the proxy is known dead the child is better off going direct\n // immediately. But \"reachable\" and \"indeterminate\" both restore, and that\n // asymmetry is deliberate in both directions: on a corporate network the proxy\n // is frequently the child's ONLY egress, so stripping it on a probe that merely\n // failed to conclude would BREAK the child rather than merely slow it, and a\n // timeout is \"could not observe\", never \"observed absent\".\n if (reachability !== \"unreachable\") {\n for (const [name, value] of originalProxyEntries(env)) childEnv[name] = value;\n }\n return childEnv;\n}\n\n/**\n * Establishes proxy routing for the whole process. Depending on the environment\n * it either applies the captured config to `proxiedFetch` (direct or child\n * cases and then RESOLVES), or re-execs the entrypoint with a stripped\n * environment (parent case) — in which case the returned promise never resolves\n * because control has transferred to the child and this process only forwards\n * the child's signals and exit status.\n *\n * Never throws. A spawn failure is a HARD failure (structured stderr + exit 1),\n * never a silent unproxied fallback.\n */\nexport async function setupProxyDispatcher(opts: SetupOptions = {}): Promise<ProxySetupResult> {\n const plan = computeProxyPlan({\n argv: opts.argv ?? process.argv,\n env: opts.env ?? process.env,\n execPath: opts.execPath ?? process.execPath,\n });\n\n if (plan.mode === \"direct\") {\n configureProxy({ enabled: false, noProxy: [] });\n lastResult = plan.result;\n return lastResult;\n }\n\n if (plan.mode === \"child\") {\n configureProxy(plan.config);\n lastResult = plan.result;\n return lastResult;\n }\n\n // Parent: re-exec with the proxy env stripped. This process becomes a thin\n // supervisor; the child runs the real gateway.\n lastResult = plan.result;\n performReexec(\n plan,\n opts.spawn ?? defaultSpawn,\n opts.exit ?? ((code) => process.exit(code)),\n );\n // Control has passed to the child. Block the parent's startup forever; it will\n // exit from within performReexec when the child does.\n return new Promise<ProxySetupResult>(() => {});\n}\n\nconst defaultSpawn: ReexecSpawn = (command, args, options) =>\n spawn(command, args, { env: options.env, stdio: options.stdio });\n\ninterface CapturedProxy {\n httpProxy?: string;\n httpsProxy?: string;\n noProxy?: string;\n source: ProxyEnvVar;\n}\n\nfunction buildChildEnv(env: NodeJS.ProcessEnv, captured: CapturedProxy): NodeJS.ProcessEnv {\n const childEnv: NodeJS.ProcessEnv = { ...env };\n const stripped: Record<string, string> = {};\n for (const name of STRIP_ENV_VARS) {\n const value = nonEmpty(env[name]);\n // Only the PUBLIC spellings are recorded for the restore. A scoped name is\n // stripped and then deliberately forgotten: it exists so the gateway alone can\n // be proxied, and handing it to a spawned server would undo that.\n if (value !== undefined && PUBLIC_STRIP_ENV_VARS.includes(name)) stripped[name] = value;\n delete childEnv[name];\n }\n childEnv[GUARD_ORIGINAL_ENV] = JSON.stringify(stripped);\n childEnv[MARKER_ENV_VAR] = \"1\";\n childEnv[GUARD_SOURCE] = captured.source;\n if (captured.httpProxy) childEnv[GUARD_HTTP] = captured.httpProxy;\n if (captured.httpsProxy) childEnv[GUARD_HTTPS] = captured.httpsProxy;\n if (captured.noProxy) childEnv[GUARD_NO_PROXY] = captured.noProxy;\n return childEnv;\n}\n\n/**\n * Capture the standard proxy configuration from an environment, mirroring Go's\n * upper-then-lower / HTTPS-then-HTTP precedence. Returns undefined when no proxy\n * URL is present (a lone NO_PROXY is meaningless and does not count).\n */\nfunction captureProxyConfig(env: NodeJS.ProcessEnv): CapturedProxy | undefined {\n const https = pickProxyVar(env, HTTPS_PROXY_ENV_VARS);\n const http = pickProxyVar(env, HTTP_PROXY_ENV_VARS);\n if (!https && !http) return undefined;\n // `source` is read off the SELECTED entry rather than searched for\n // independently, so it can never name a variable whose value was not the one\n // routing uses. The https tier is preferred here exactly as `httpsProxy ??\n // httpProxy` prefers it everywhere else.\n const selected = https ?? http;\n return {\n httpProxy: http?.value,\n httpsProxy: https?.value,\n noProxy: firstNonEmpty(...NO_PROXY_ENV_VARS.map((name) => env[name])),\n source: selected?.name ?? \"HTTPS_PROXY\",\n };\n}\n\nfunction emitReexecFailure(error: unknown): void {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(\n JSON.stringify({\n caller: \"gateway_startup\",\n error: message,\n event: \"proxy_reexec_failed\",\n }) + \"\\n\",\n );\n}\n\nfunction firstNonEmpty(...values: (string | undefined)[]): string | undefined {\n for (const value of values) {\n const v = nonEmpty(value);\n if (v !== undefined) return v;\n }\n return undefined;\n}\n\nfunction installedResult(source: string | undefined, rawTarget: string | undefined): ProxySetupResult {\n return {\n source: (source as ProxyEnvVar) ?? \"HTTPS_PROXY\",\n status: \"installed\",\n target: safeProxyTarget(rawTarget ?? \"\"),\n };\n}\n\nfunction isCompiledEntry(scriptArg: string): boolean {\n return (\n scriptArg.startsWith(\"/$bunfs/\") ||\n /[/\\\\]\\$bunfs[/\\\\]/.test(scriptArg) ||\n /~BUN/.test(scriptArg)\n );\n}\n\n/**\n * First name in `names` that carries a non-empty value, with that value. The list\n * order IS the precedence, so callers never re-derive it.\n */\n/** Whether `name` is one of Onyx's namespaced proxy vars. */\nfunction isScopedProxyVarName(name: string | undefined): boolean {\n return name !== undefined && SCOPED_STRIP_ENV_VARS.includes(name);\n}\n\nfunction nonEmpty(value: string | undefined): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/**\n * The operator's original proxy vars, exactly as they were spelled, recovered\n * from the private handoff. Falls back to the routing guards under canonical\n * upper-case names when the recorded originals are absent or unparseable, so a\n * spawned server is still proxied rather than silently going direct.\n */\nfunction originalProxyEntries(env: NodeJS.ProcessEnv): [string, string][] {\n const recorded = nonEmpty(env[GUARD_ORIGINAL_ENV]);\n if (recorded !== undefined) {\n try {\n const parsed: unknown = JSON.parse(recorded);\n if (parsed !== null && typeof parsed === \"object\" && !Array.isArray(parsed)) {\n const entries = Object.entries(parsed as Record<string, unknown>).filter(\n (entry): entry is [string, string] =>\n // PUBLIC names only. The recording side already omits the scoped\n // ones; filtering again here means a scoped name could only be\n // restored if BOTH halves of the handoff were changed to allow it —\n // and the leak this prevents is invisible to a test that only looks\n // for public spellings.\n PUBLIC_STRIP_ENV_VARS.includes(entry[0]) && typeof entry[1] === \"string\",\n );\n // A PARSEABLE recording is authoritative, INCLUDING when it is empty.\n // Empty means the capture found no public proxy var at all — the whole\n // configuration was Onyx-scoped — and the correct restore for that is\n // nothing. Treating empty as \"unusable\" and falling through would hand the\n // scoped value to the spawned server under a PUBLIC name, which is the\n // exact leak the namespace exists to prevent, on the feature's main path\n // rather than some edge of it.\n return entries;\n }\n } catch {\n // Unparseable handoff: fall through to the routing guards below.\n }\n }\n\n // Last resort, for an ABSENT or CORRUPT handoff only: re-spell the routing\n // guards under canonical public names so a spawned server is still proxied\n // rather than silently direct.\n //\n // Except when the proxy came from Onyx's namespace. GUARD_SOURCE names the\n // variable the value was actually read from, so a scoped source means the\n // operator never put a public proxy var on this entry — synthesizing one here\n // would invent a configuration they did not make, and hand the wrapped server a\n // proxy it has no fallback for.\n if (isScopedProxyVarName(nonEmpty(env[GUARD_SOURCE]))) return [];\n\n const fallback: [string, string][] = [];\n const http = nonEmpty(env[GUARD_HTTP]);\n const https = nonEmpty(env[GUARD_HTTPS]);\n const noProxy = nonEmpty(env[GUARD_NO_PROXY]);\n if (http !== undefined) fallback.push([\"HTTP_PROXY\", http]);\n if (https !== undefined) fallback.push([\"HTTPS_PROXY\", https]);\n if (noProxy !== undefined) fallback.push([\"NO_PROXY\", noProxy]);\n return fallback;\n}\n\nfunction pickProxyVar(\n env: NodeJS.ProcessEnv,\n names: readonly ProxyEnvVar[],\n): { name: ProxyEnvVar; value: string } | undefined {\n for (const name of names) {\n const value = nonEmpty(env[name]);\n if (value !== undefined) return { name, value };\n }\n return undefined;\n}\n\n/**\n * Build the argv for re-executing the SAME entrypoint. In a `bun build\n * --compile` binary the embedded script path appears as argv[1] under the\n * `$bunfs` root and re-running `execPath` alone re-enters it, so only the user\n * args (argv[2:]) are passed through; in dev, argv[1] is the real script path\n * and must be forwarded (argv[1:]).\n */\nfunction reexecArgs(argv: string[]): string[] {\n const scriptArg = argv[1] ?? \"\";\n return isCompiledEntry(scriptArg) ? argv.slice(2) : argv.slice(1);\n}\n\n/**\n * Parses a proxy URL and returns a credential-stripped representation safe to\n * log (`scheme://host:port`). Falls back to a literal placeholder when the URL\n * cannot be parsed; never returns the original string (which may include\n * `user:password@`).\n */\nfunction safeProxyHost(rawUrl: string): string {\n try {\n const u = new URL(rawUrl);\n // Same IPv6 bracketing rule as safeProxyTarget; see the note there.\n return u.hostname.includes(\":\") && !u.hostname.startsWith(\"[\")\n ? `[${u.hostname}]`\n : u.hostname;\n } catch {\n // Never the original string, which may carry `user:password@`.\n return \"(unparseable proxy URL)\";\n }\n}\n\nfunction safeProxyTarget(rawUrl: string): string {\n try {\n const u = new URL(rawUrl);\n const port = u.port || (u.protocol === \"https:\" ? \"443\" : \"80\");\n // For IPv6 literals: Node's WHATWG URL keeps the brackets in `hostname`\n // (e.g. \"[::1]\") while the spec strips them (e.g. \"::1\"). Add brackets only\n // when the hostname looks IPv6 and isn't already bracketed — covers both\n // runtimes and avoids producing the ambiguous `http://::1:8080`.\n const host =\n u.hostname.includes(\":\") && !u.hostname.startsWith(\"[\")\n ? `[${u.hostname}]`\n : u.hostname;\n return `${u.protocol}//${host}:${port}`;\n } catch {\n return \"(unparseable proxy URL)\";\n }\n}\n","'use strict';\nconst align = {\n right: alignRight,\n center: alignCenter\n};\nconst top = 0;\nconst right = 1;\nconst bottom = 2;\nconst left = 3;\nexport class UI {\n constructor(opts) {\n var _a;\n this.width = opts.width;\n this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;\n this.rows = [];\n }\n span(...args) {\n const cols = this.div(...args);\n cols.span = true;\n }\n resetOutput() {\n this.rows = [];\n }\n div(...args) {\n if (args.length === 0) {\n this.div('');\n }\n if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {\n return this.applyLayoutDSL(args[0]);\n }\n const cols = args.map(arg => {\n if (typeof arg === 'string') {\n return this.colFromString(arg);\n }\n return arg;\n });\n this.rows.push(cols);\n return cols;\n }\n shouldApplyLayoutDSL(...args) {\n return args.length === 1 && typeof args[0] === 'string' &&\n /[\\t\\n]/.test(args[0]);\n }\n applyLayoutDSL(str) {\n const rows = str.split('\\n').map(row => row.split('\\t'));\n let leftColumnWidth = 0;\n // simple heuristic for layout, make sure the\n // second column lines up along the left-hand.\n // don't allow the first column to take up more\n // than 50% of the screen.\n rows.forEach(columns => {\n if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {\n leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));\n }\n });\n // generate a table:\n // replacing ' ' with padding calculations.\n // using the algorithmically generated width.\n rows.forEach(columns => {\n this.div(...columns.map((r, i) => {\n return {\n text: r.trim(),\n padding: this.measurePadding(r),\n width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined\n };\n }));\n });\n return this.rows[this.rows.length - 1];\n }\n colFromString(text) {\n return {\n text,\n padding: this.measurePadding(text)\n };\n }\n measurePadding(str) {\n // measure padding without ansi escape codes\n const noAnsi = mixin.stripAnsi(str);\n return [0, noAnsi.match(/\\s*$/)[0].length, 0, noAnsi.match(/^\\s*/)[0].length];\n }\n toString() {\n const lines = [];\n this.rows.forEach(row => {\n this.rowToString(row, lines);\n });\n // don't display any lines with the\n // hidden flag set.\n return lines\n .filter(line => !line.hidden)\n .map(line => line.text)\n .join('\\n');\n }\n rowToString(row, lines) {\n this.rasterize(row).forEach((rrow, r) => {\n let str = '';\n rrow.forEach((col, c) => {\n const { width } = row[c]; // the width with padding.\n const wrapWidth = this.negatePadding(row[c]); // the width without padding.\n let ts = col; // temporary string used during alignment/padding.\n if (wrapWidth > mixin.stringWidth(col)) {\n ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));\n }\n // align the string within its column.\n if (row[c].align && row[c].align !== 'left' && this.wrap) {\n const fn = align[row[c].align];\n ts = fn(ts, wrapWidth);\n if (mixin.stringWidth(ts) < wrapWidth) {\n ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);\n }\n }\n // apply border and padding to string.\n const padding = row[c].padding || [0, 0, 0, 0];\n if (padding[left]) {\n str += ' '.repeat(padding[left]);\n }\n str += addBorder(row[c], ts, '| ');\n str += ts;\n str += addBorder(row[c], ts, ' |');\n if (padding[right]) {\n str += ' '.repeat(padding[right]);\n }\n // if prior row is span, try to render the\n // current row on the prior line.\n if (r === 0 && lines.length > 0) {\n str = this.renderInline(str, lines[lines.length - 1]);\n }\n });\n // remove trailing whitespace.\n lines.push({\n text: str.replace(/ +$/, ''),\n span: row.span\n });\n });\n return lines;\n }\n // if the full 'source' can render in\n // the target line, do so.\n renderInline(source, previousLine) {\n const match = source.match(/^ */);\n const leadingWhitespace = match ? match[0].length : 0;\n const target = previousLine.text;\n const targetTextWidth = mixin.stringWidth(target.trimRight());\n if (!previousLine.span) {\n return source;\n }\n // if we're not applying wrapping logic,\n // just always append to the span.\n if (!this.wrap) {\n previousLine.hidden = true;\n return target + source;\n }\n if (leadingWhitespace < targetTextWidth) {\n return source;\n }\n previousLine.hidden = true;\n return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();\n }\n rasterize(row) {\n const rrows = [];\n const widths = this.columnWidths(row);\n let wrapped;\n // word wrap all columns, and create\n // a data-structure that is easy to rasterize.\n row.forEach((col, c) => {\n // leave room for left and right padding.\n col.width = widths[c];\n if (this.wrap) {\n wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\\n');\n }\n else {\n wrapped = col.text.split('\\n');\n }\n if (col.border) {\n wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');\n wrapped.push(\"'\" + '-'.repeat(this.negatePadding(col) + 2) + \"'\");\n }\n // add top and bottom padding.\n if (col.padding) {\n wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));\n wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));\n }\n wrapped.forEach((str, r) => {\n if (!rrows[r]) {\n rrows.push([]);\n }\n const rrow = rrows[r];\n for (let i = 0; i < c; i++) {\n if (rrow[i] === undefined) {\n rrow.push('');\n }\n }\n rrow.push(str);\n });\n });\n return rrows;\n }\n negatePadding(col) {\n let wrapWidth = col.width || 0;\n if (col.padding) {\n wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);\n }\n if (col.border) {\n wrapWidth -= 4;\n }\n return wrapWidth;\n }\n columnWidths(row) {\n if (!this.wrap) {\n return row.map(col => {\n return col.width || mixin.stringWidth(col.text);\n });\n }\n let unset = row.length;\n let remainingWidth = this.width;\n // column widths can be set in config.\n const widths = row.map(col => {\n if (col.width) {\n unset--;\n remainingWidth -= col.width;\n return col.width;\n }\n return undefined;\n });\n // any unset widths should be calculated.\n const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;\n return widths.map((w, i) => {\n if (w === undefined) {\n return Math.max(unsetWidth, _minWidth(row[i]));\n }\n return w;\n });\n }\n}\nfunction addBorder(col, ts, style) {\n if (col.border) {\n if (/[.']-+[.']/.test(ts)) {\n return '';\n }\n if (ts.trim().length !== 0) {\n return style;\n }\n return ' ';\n }\n return '';\n}\n// calculates the minimum width of\n// a column, based on padding preferences.\nfunction _minWidth(col) {\n const padding = col.padding || [];\n const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);\n if (col.border) {\n return minWidth + 4;\n }\n return minWidth;\n}\nfunction getWindowWidth() {\n /* c8 ignore next 5: depends on terminal */\n if (typeof process === 'object' && process.stdout && process.stdout.columns) {\n return process.stdout.columns;\n }\n return 80;\n}\nfunction alignRight(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n if (strWidth < width) {\n return ' '.repeat(width - strWidth) + str;\n }\n return str;\n}\nfunction alignCenter(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n /* c8 ignore next 3 */\n if (strWidth >= width) {\n return str;\n }\n return ' '.repeat((width - strWidth) >> 1) + str;\n}\nlet mixin;\nexport function cliui(opts, _mixin) {\n mixin = _mixin;\n return new UI({\n width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),\n wrap: opts === null || opts === void 0 ? void 0 : opts.wrap\n });\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n","// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x >= 0x16FF0 && x <= 0x16FF6\n\t\t|| x >= 0x17000 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D1E\n\t\t|| x >= 0x18D80 && x <= 0x18DF2\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D8\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA8A\n\t\t|| x >= 0x1FA8E && x <= 0x1FAC6\n\t\t|| x === 0x1FAC8\n\t\t|| x >= 0x1FACD && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAEA\n\t\t|| x >= 0x1FAEF && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction getCategory(x) {\n\tif (isAmbiguous(x)) return 'ambiguous';\n\n\tif (isFullWidth(x)) return 'fullwidth';\n\n\tif (\n\t\tx === 0x20A9\n\t\t|| x >= 0xFF61 && x <= 0xFFBE\n\t\t|| x >= 0xFFC2 && x <= 0xFFC7\n\t\t|| x >= 0xFFCA && x <= 0xFFCF\n\t\t|| x >= 0xFFD2 && x <= 0xFFD7\n\t\t|| x >= 0xFFDA && x <= 0xFFDC\n\t\t|| x >= 0xFFE8 && x <= 0xFFEE\n\t) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (\n\t\tx >= 0x20 && x <= 0x7E\n\t\t|| x === 0xA2\n\t\t|| x === 0xA3\n\t\t|| x === 0xA5\n\t\t|| x === 0xA6\n\t\t|| x === 0xAC\n\t\t|| x === 0xAF\n\t\t|| x >= 0x27E6 && x <= 0x27ED\n\t\t|| x === 0x2985\n\t\t|| x === 0x2986\n\t) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(x)) return 'wide';\n\n\treturn 'neutral';\n}\n\nexport {isAmbiguous, isFullWidth, isWide, getCategory};\n","import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point\nexport {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';\n","module.exports = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E-\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED8\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE8A\\uDE8E-\\uDEC2\\uDEC6\\uDEC8\\uDECD-\\uDEDC\\uDEDF-\\uDEEA\\uDEEF]|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n","import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\nimport emojiRegex from 'emoji-regex';\n\nconst segmenter = new Intl.Segmenter();\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nexport default function stringWidth(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n","// Bootstrap cliui with CommonJS dependencies:\nimport { cliui } from './build/lib/index.js'\nimport stringWidth from 'string-width'\nimport stripAnsi from 'strip-ansi'\nimport wrapAnsi from 'wrap-ansi'\n\nexport default function ui (opts) {\n return cliui(opts, {\n stringWidth,\n stripAnsi,\n wrap: wrapAnsi\n })\n}\n\nexport {ui as 'module.exports'};\n","import { dirname, resolve } from 'path';\nimport { readdirSync, statSync } from 'fs';\n\nexport default function (start, callback) {\n\tlet dir = resolve('.', start);\n\tlet tmp, stats = statSync(dir);\n\n\tif (!stats.isDirectory()) {\n\t\tdir = dirname(dir);\n\t}\n\n\twhile (true) {\n\t\ttmp = callback(dir, readdirSync(dir));\n\t\tif (tmp) return resolve(dir, tmp);\n\t\tdir = dirname(tmp = dir);\n\t\tif (tmp === dir) break;\n\t}\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport function camelCase(str) {\n // Handle the case where an argument is provided as camel case, e.g., fooBar.\n // by ensuring that the string isn't already mixed case:\n const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();\n if (!isCamelCase) {\n str = str.toLowerCase();\n }\n if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {\n return str;\n }\n else {\n let camelcase = '';\n let nextChrUpper = false;\n const leadingHyphens = str.match(/^-+/);\n for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {\n let chr = str.charAt(i);\n if (nextChrUpper) {\n nextChrUpper = false;\n chr = chr.toUpperCase();\n }\n if (i !== 0 && (chr === '-' || chr === '_')) {\n nextChrUpper = true;\n }\n else if (chr !== '-' && chr !== '_') {\n camelcase += chr;\n }\n }\n return camelcase;\n }\n}\nexport function decamelize(str, joinString) {\n const lowercase = str.toLowerCase();\n joinString = joinString || '-';\n let notCamelcase = '';\n for (let i = 0; i < str.length; i++) {\n const chrLower = lowercase.charAt(i);\n const chrString = str.charAt(i);\n if (chrLower !== chrString && i > 0) {\n notCamelcase += `${joinString}${lowercase.charAt(i)}`;\n }\n else {\n notCamelcase += chrString;\n }\n }\n return notCamelcase;\n}\nexport function looksLikeNumber(x) {\n if (x === null || x === undefined)\n return false;\n // if loaded from config, may already be a number.\n if (typeof x === 'number')\n return true;\n // hexadecimal.\n if (/^0x[0-9a-f]+$/i.test(x))\n return true;\n // don't treat 0123 as a number; as it drops the leading '0'.\n if (/^0[^.]/.test(x))\n return false;\n return /^[-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/.test(x);\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n// take an un-split argv string and tokenize it.\nexport function tokenizeArgString(argString) {\n if (Array.isArray(argString)) {\n return argString.map(e => typeof e !== 'string' ? e + '' : e);\n }\n argString = argString.trim();\n let i = 0;\n let prevC = null;\n let c = null;\n let opening = null;\n const args = [];\n for (let ii = 0; ii < argString.length; ii++) {\n prevC = c;\n c = argString.charAt(ii);\n // split on spaces unless we're in quotes.\n if (c === ' ' && !opening) {\n if (!(prevC === ' ')) {\n i++;\n }\n continue;\n }\n // don't split the string if we're in matching\n // opening or closing single and double quotes.\n if (c === opening) {\n opening = null;\n }\n else if ((c === \"'\" || c === '\"') && !opening) {\n opening = c;\n }\n if (!args[i])\n args[i] = '';\n args[i] += c;\n }\n return args;\n}\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport var DefaultValuesForTypeKey;\n(function (DefaultValuesForTypeKey) {\n DefaultValuesForTypeKey[\"BOOLEAN\"] = \"boolean\";\n DefaultValuesForTypeKey[\"STRING\"] = \"string\";\n DefaultValuesForTypeKey[\"NUMBER\"] = \"number\";\n DefaultValuesForTypeKey[\"ARRAY\"] = \"array\";\n})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));\n","/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n/* eslint-disable prefer-arrow-callback */\nimport { tokenizeArgString } from './tokenize-arg-string.js';\nimport { DefaultValuesForTypeKey } from './yargs-parser-types.js';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nlet mixin;\nexport class YargsParser {\n constructor(_mixin) {\n mixin = _mixin;\n }\n parse(argsInput, options) {\n const opts = Object.assign({\n alias: undefined,\n array: undefined,\n boolean: undefined,\n config: undefined,\n configObjects: undefined,\n configuration: undefined,\n coerce: undefined,\n count: undefined,\n default: undefined,\n envPrefix: undefined,\n narg: undefined,\n normalize: undefined,\n string: undefined,\n number: undefined,\n __: undefined,\n key: undefined\n }, options);\n // allow a string argument to be passed in rather\n // than an argv array.\n const args = tokenizeArgString(argsInput);\n // tokenizeArgString adds extra quotes to args if argsInput is a string\n // only strip those extra quotes in processValue if argsInput is a string\n const inputIsString = typeof argsInput === 'string';\n // aliases might have transitive relationships, normalize this.\n const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));\n const configuration = Object.assign({\n 'boolean-negation': true,\n 'camel-case-expansion': true,\n 'combine-arrays': false,\n 'dot-notation': true,\n 'duplicate-arguments-array': true,\n 'flatten-duplicate-arrays': true,\n 'greedy-arrays': true,\n 'halt-at-non-option': false,\n 'nargs-eats-options': false,\n 'negation-prefix': 'no-',\n 'parse-numbers': true,\n 'parse-positional-numbers': true,\n 'populate--': false,\n 'set-placeholder-key': false,\n 'short-option-groups': true,\n 'strip-aliased': false,\n 'strip-dashed': false,\n 'unknown-options-as-args': false\n }, opts.configuration);\n const defaults = Object.assign(Object.create(null), opts.default);\n const configObjects = opts.configObjects || [];\n const envPrefix = opts.envPrefix;\n const notFlagsOption = configuration['populate--'];\n const notFlagsArgv = notFlagsOption ? '--' : '_';\n const newAliases = Object.create(null);\n const defaulted = Object.create(null);\n // allow a i18n handler to be passed in, default to a fake one (util.format).\n const __ = opts.__ || mixin.format;\n const flags = {\n aliases: Object.create(null),\n arrays: Object.create(null),\n bools: Object.create(null),\n strings: Object.create(null),\n numbers: Object.create(null),\n counts: Object.create(null),\n normalize: Object.create(null),\n configs: Object.create(null),\n nargs: Object.create(null),\n coercions: Object.create(null),\n keys: []\n };\n const negative = /^-([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/;\n const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');\n [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {\n const key = typeof opt === 'object' ? opt.key : opt;\n // assign to flags[bools|strings|numbers]\n const assignment = Object.keys(opt).map(function (key) {\n const arrayFlagKeys = {\n boolean: 'bools',\n string: 'strings',\n number: 'numbers'\n };\n return arrayFlagKeys[key];\n }).filter(Boolean).pop();\n // assign key to be coerced\n if (assignment) {\n flags[assignment][key] = true;\n }\n flags.arrays[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {\n flags.bools[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.string || []).filter(Boolean).forEach(function (key) {\n flags.strings[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.number || []).filter(Boolean).forEach(function (key) {\n flags.numbers[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.count || []).filter(Boolean).forEach(function (key) {\n flags.counts[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {\n flags.normalize[key] = true;\n flags.keys.push(key);\n });\n if (typeof opts.narg === 'object') {\n Object.entries(opts.narg).forEach(([key, value]) => {\n if (typeof value === 'number') {\n flags.nargs[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.coerce === 'object') {\n Object.entries(opts.coerce).forEach(([key, value]) => {\n if (typeof value === 'function') {\n flags.coercions[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.config !== 'undefined') {\n if (Array.isArray(opts.config) || typeof opts.config === 'string') {\n ;\n [].concat(opts.config).filter(Boolean).forEach(function (key) {\n flags.configs[key] = true;\n });\n }\n else if (typeof opts.config === 'object') {\n Object.entries(opts.config).forEach(([key, value]) => {\n if (typeof value === 'boolean' || typeof value === 'function') {\n flags.configs[key] = value;\n }\n });\n }\n }\n // create a lookup table that takes into account all\n // combinations of aliases: {f: ['foo'], foo: ['f']}\n extendAliases(opts.key, aliases, opts.default, flags.arrays);\n // apply default values to all aliases.\n Object.keys(defaults).forEach(function (key) {\n (flags.aliases[key] || []).forEach(function (alias) {\n defaults[alias] = defaults[key];\n });\n });\n let error = null;\n checkConfiguration();\n let notFlags = [];\n const argv = Object.assign(Object.create(null), { _: [] });\n // TODO(bcoe): for the first pass at removing object prototype we didn't\n // remove all prototypes from objects returned by this API, we might want\n // to gradually move towards doing so.\n const argvReturn = {};\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n const truncatedArg = arg.replace(/^-{3,}/, '---');\n let broken;\n let key;\n let letters;\n let m;\n let next;\n let value;\n // any unknown option (except for end-of-options, \"--\")\n if (arg !== '--' && /^-/.test(arg) && isUnknownOptionAsArg(arg)) {\n pushPositional(arg);\n // ---, ---=, ----, etc,\n }\n else if (truncatedArg.match(/^---+(=|$)/)) {\n // options without key name are invalid.\n pushPositional(arg);\n continue;\n // -- separated by =\n }\n else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {\n // Using [\\s\\S] instead of . because js doesn't support the\n // 'dotall' regex modifier. See:\n // http://stackoverflow.com/a/1068308/13216\n m = arg.match(/^--?([^=]+)=([\\s\\S]*)$/);\n // arrays format = '--f=a b c'\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n if (checkAllAliases(m[1], flags.arrays)) {\n i = eatArray(i, m[1], args, m[2]);\n }\n else if (checkAllAliases(m[1], flags.nargs) !== false) {\n // nargs format = '--f=monkey washing cat'\n i = eatNargs(i, m[1], args, m[2]);\n }\n else {\n setArg(m[1], m[2], true);\n }\n }\n }\n else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {\n m = arg.match(negatedBoolean);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);\n }\n // -- separated by space.\n }\n else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {\n m = arg.match(/^--?(.+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '--foo a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '--foo a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!next.match(/^-/) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n // dot-notation flag separated by '='.\n }\n else if (arg.match(/^-.\\..+=/)) {\n m = arg.match(/^-([^=]+)=([\\s\\S]*)$/);\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n setArg(m[1], m[2]);\n }\n // dot-notation flag separated by space.\n }\n else if (arg.match(/^-.\\..+/) && !arg.match(negative)) {\n next = args[i + 1];\n m = arg.match(/^-(.\\..+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (next !== undefined && !next.match(/^-/) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {\n letters = arg.slice(1, -1).split('');\n broken = false;\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (letters[j + 1] && letters[j + 1] === '=') {\n value = arg.slice(j + 3);\n key = letters[j];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f=a b c'\n i = eatArray(i, key, args, value);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f=monkey washing cat'\n i = eatNargs(i, key, args, value);\n }\n else {\n setArg(key, value);\n }\n broken = true;\n break;\n }\n if (next === '-') {\n setArg(letters[j], next);\n continue;\n }\n // current letter is an alphabetic character and next value is a number\n if (/[A-Za-z]/.test(letters[j]) &&\n /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next) &&\n checkAllAliases(next, flags.bools) === false) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n if (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n else {\n setArg(letters[j], defaultValue(letters[j]));\n }\n }\n key = arg.slice(-1)[0];\n if (!broken && key !== '-') {\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n }\n else if (arg.match(/^-[0-9]$/) &&\n arg.match(negative) &&\n checkAllAliases(arg.slice(1), flags.bools)) {\n // single-digit boolean alias, e.g: xargs -0\n key = arg.slice(1);\n setArg(key, defaultValue(key));\n }\n else if (arg === '--') {\n notFlags = args.slice(i + 1);\n break;\n }\n else if (configuration['halt-at-non-option']) {\n notFlags = args.slice(i);\n break;\n }\n else {\n pushPositional(arg);\n }\n }\n // order of precedence:\n // 1. command line arg\n // 2. value from env var\n // 3. value from config file\n // 4. value from config objects\n // 5. configured default value\n applyEnvVars(argv, true); // special case: check env vars that point to config file\n applyEnvVars(argv, false);\n setConfig(argv);\n setConfigObjects();\n applyDefaultsAndAliases(argv, flags.aliases, defaults, true);\n applyCoercions(argv);\n if (configuration['set-placeholder-key'])\n setPlaceholderKeys(argv);\n // for any counts either not in args or without an explicit default, set to 0\n Object.keys(flags.counts).forEach(function (key) {\n if (!hasKey(argv, key.split('.')))\n setArg(key, 0);\n });\n // '--' defaults to undefined.\n if (notFlagsOption && notFlags.length)\n argv[notFlagsArgv] = [];\n notFlags.forEach(function (key) {\n argv[notFlagsArgv].push(key);\n });\n if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {\n Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {\n delete argv[key];\n });\n }\n if (configuration['strip-aliased']) {\n ;\n [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {\n if (configuration['camel-case-expansion'] && alias.includes('-')) {\n delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];\n }\n delete argv[alias];\n });\n }\n // Push argument into positional array, applying numeric coercion:\n function pushPositional(arg) {\n const maybeCoercedNumber = maybeCoerceNumber('_', arg);\n if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {\n argv._.push(maybeCoercedNumber);\n }\n }\n // how many arguments should we consume, based\n // on the nargs option?\n function eatNargs(i, key, args, argAfterEqualSign) {\n let ii;\n let toEat = checkAllAliases(key, flags.nargs);\n // NaN has a special meaning for the array type, indicating that one or\n // more values are expected.\n toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;\n if (toEat === 0) {\n if (!isUndefined(argAfterEqualSign)) {\n error = Error(__('Argument unexpected for: %s', key));\n }\n setArg(key, defaultValue(key));\n return i;\n }\n let available = isUndefined(argAfterEqualSign) ? 0 : 1;\n if (configuration['nargs-eats-options']) {\n // classic behavior, yargs eats positional and dash arguments.\n if (args.length - (i + 1) + available < toEat) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n available = toEat;\n }\n else {\n // nargs will not consume flag arguments, e.g., -abc, --foo,\n // and terminates when one is observed.\n for (ii = i + 1; ii < args.length; ii++) {\n if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))\n available++;\n else\n break;\n }\n if (available < toEat)\n error = Error(__('Not enough arguments following: %s', key));\n }\n let consumed = Math.min(available, toEat);\n if (!isUndefined(argAfterEqualSign) && consumed > 0) {\n setArg(key, argAfterEqualSign);\n consumed--;\n }\n for (ii = i + 1; ii < (consumed + i + 1); ii++) {\n setArg(key, args[ii]);\n }\n return (i + consumed);\n }\n // if an option is an array, eat all non-hyphenated arguments\n // following it... YUM!\n // e.g., --foo apple banana cat becomes [\"apple\", \"banana\", \"cat\"]\n function eatArray(i, key, args, argAfterEqualSign) {\n let argsToSet = [];\n let next = argAfterEqualSign || args[i + 1];\n // If both array and nargs are configured, enforce the nargs count:\n const nargsCount = checkAllAliases(key, flags.nargs);\n if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {\n argsToSet.push(true);\n }\n else if (isUndefined(next) ||\n (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {\n // for keys without value ==> argsToSet remains an empty []\n // set user default value, if available\n if (defaults[key] !== undefined) {\n const defVal = defaults[key];\n argsToSet = Array.isArray(defVal) ? defVal : [defVal];\n }\n }\n else {\n // value in --option=value is eaten as is\n if (!isUndefined(argAfterEqualSign)) {\n argsToSet.push(processValue(key, argAfterEqualSign, true));\n }\n for (let ii = i + 1; ii < args.length; ii++) {\n if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||\n (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))\n break;\n next = args[ii];\n if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))\n break;\n i = ii;\n argsToSet.push(processValue(key, next, inputIsString));\n }\n }\n // If both array and nargs are configured, create an error if less than\n // nargs positionals were found. NaN has special meaning, indicating\n // that at least one value is required (more are okay).\n if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||\n (isNaN(nargsCount) && argsToSet.length === 0))) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n setArg(key, argsToSet);\n return i;\n }\n function setArg(key, val, shouldStripQuotes = inputIsString) {\n if (/-/.test(key) && configuration['camel-case-expansion']) {\n const alias = key.split('.').map(function (prop) {\n return camelCase(prop);\n }).join('.');\n addNewAlias(key, alias);\n }\n const value = processValue(key, val, shouldStripQuotes);\n const splitKey = key.split('.');\n setKey(argv, splitKey, value);\n // handle populating aliases of the full key\n if (flags.aliases[key]) {\n flags.aliases[key].forEach(function (x) {\n const keyProperties = x.split('.');\n setKey(argv, keyProperties, value);\n });\n }\n // handle populating aliases of the first element of the dot-notation key\n if (splitKey.length > 1 && configuration['dot-notation']) {\n ;\n (flags.aliases[splitKey[0]] || []).forEach(function (x) {\n let keyProperties = x.split('.');\n // expand alias with nested objects in key\n const a = [].concat(splitKey);\n a.shift(); // nuke the old key.\n keyProperties = keyProperties.concat(a);\n // populate alias only if is not already an alias of the full key\n // (already populated above)\n if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {\n setKey(argv, keyProperties, value);\n }\n });\n }\n // Set normalize getter and setter when key is in 'normalize' but isn't an array\n if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {\n const keys = [key].concat(flags.aliases[key] || []);\n keys.forEach(function (key) {\n Object.defineProperty(argvReturn, key, {\n enumerable: true,\n get() {\n return val;\n },\n set(value) {\n val = typeof value === 'string' ? mixin.normalize(value) : value;\n }\n });\n });\n }\n }\n function addNewAlias(key, alias) {\n if (!(flags.aliases[key] && flags.aliases[key].length)) {\n flags.aliases[key] = [alias];\n newAliases[alias] = true;\n }\n if (!(flags.aliases[alias] && flags.aliases[alias].length)) {\n addNewAlias(alias, key);\n }\n }\n function processValue(key, val, shouldStripQuotes) {\n // strings may be quoted, clean this up as we assign values.\n if (shouldStripQuotes) {\n val = stripQuotes(val);\n }\n // handle parsing boolean arguments --foo=true --bar false.\n if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {\n if (typeof val === 'string')\n val = val === 'true';\n }\n let value = Array.isArray(val)\n ? val.map(function (v) { return maybeCoerceNumber(key, v); })\n : maybeCoerceNumber(key, val);\n // increment a count given as arg (either no value or value parsed as boolean)\n if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {\n value = increment();\n }\n // Set normalized value when key is in 'normalize' and in 'arrays'\n if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {\n if (Array.isArray(val))\n value = val.map((val) => { return mixin.normalize(val); });\n else\n value = mixin.normalize(val);\n }\n return value;\n }\n function maybeCoerceNumber(key, value) {\n if (!configuration['parse-positional-numbers'] && key === '_')\n return value;\n if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {\n const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));\n if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {\n value = Number(value);\n }\n }\n return value;\n }\n // set args from config.json file, this should be\n // applied last so that defaults can be applied.\n function setConfig(argv) {\n const configLookup = Object.create(null);\n // expand defaults/aliases, in-case any happen to reference\n // the config.json file.\n applyDefaultsAndAliases(configLookup, flags.aliases, defaults);\n Object.keys(flags.configs).forEach(function (configKey) {\n const configPath = argv[configKey] || configLookup[configKey];\n if (configPath) {\n try {\n let config = null;\n const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);\n const resolveConfig = flags.configs[configKey];\n if (typeof resolveConfig === 'function') {\n try {\n config = resolveConfig(resolvedConfigPath);\n }\n catch (e) {\n config = e;\n }\n if (config instanceof Error) {\n error = config;\n return;\n }\n }\n else {\n config = mixin.require(resolvedConfigPath);\n }\n setConfigObject(config);\n }\n catch (ex) {\n // Deno will receive a PermissionDenied error if an attempt is\n // made to load config without the --allow-read flag:\n if (ex.name === 'PermissionDenied')\n error = ex;\n else if (argv[configKey])\n error = Error(__('Invalid JSON config file: %s', configPath));\n }\n }\n });\n }\n // set args from config object.\n // it recursively checks nested objects.\n function setConfigObject(config, prev) {\n Object.keys(config).forEach(function (key) {\n const value = config[key];\n const fullKey = prev ? prev + '.' + key : key;\n // if the value is an inner object and we have dot-notation\n // enabled, treat inner objects in config the same as\n // heavily nested dot notations (foo.bar.apple).\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {\n // if the value is an object but not an array, check nested object\n setConfigObject(value, fullKey);\n }\n else {\n // setting arguments via CLI takes precedence over\n // values within the config file.\n if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {\n setArg(fullKey, value);\n }\n }\n });\n }\n // set all config objects passed in opts\n function setConfigObjects() {\n if (typeof configObjects !== 'undefined') {\n configObjects.forEach(function (configObject) {\n setConfigObject(configObject);\n });\n }\n }\n function applyEnvVars(argv, configOnly) {\n if (typeof envPrefix === 'undefined')\n return;\n const prefix = typeof envPrefix === 'string' ? envPrefix : '';\n const env = mixin.env();\n Object.keys(env).forEach(function (envVar) {\n if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {\n // get array of nested keys and convert them to camel case\n const keys = envVar.split('__').map(function (key, i) {\n if (i === 0) {\n key = key.substring(prefix.length);\n }\n return camelCase(key);\n });\n if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {\n setArg(keys.join('.'), env[envVar]);\n }\n }\n });\n }\n function applyCoercions(argv) {\n let coerce;\n const applied = new Set();\n Object.keys(argv).forEach(function (key) {\n if (!applied.has(key)) { // If we haven't already coerced this option via one of its aliases\n coerce = checkAllAliases(key, flags.coercions);\n if (typeof coerce === 'function') {\n try {\n const value = maybeCoerceNumber(key, coerce(argv[key]));\n ([].concat(flags.aliases[key] || [], key)).forEach(ali => {\n applied.add(ali);\n argv[ali] = value;\n });\n }\n catch (err) {\n error = err;\n }\n }\n }\n });\n }\n function setPlaceholderKeys(argv) {\n flags.keys.forEach((key) => {\n // don't set placeholder keys for dot notation options 'foo.bar'.\n if (~key.indexOf('.'))\n return;\n if (typeof argv[key] === 'undefined')\n argv[key] = undefined;\n });\n return argv;\n }\n function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {\n Object.keys(defaults).forEach(function (key) {\n if (!hasKey(obj, key.split('.'))) {\n setKey(obj, key.split('.'), defaults[key]);\n if (canLog)\n defaulted[key] = true;\n (aliases[key] || []).forEach(function (x) {\n if (hasKey(obj, x.split('.')))\n return;\n setKey(obj, x.split('.'), defaults[key]);\n });\n }\n });\n }\n function hasKey(obj, keys) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n o = (o[key] || {});\n });\n const key = keys[keys.length - 1];\n if (typeof o !== 'object')\n return false;\n else\n return key in o;\n }\n function setKey(obj, keys, value) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n key = sanitizeKey(key);\n if (typeof o === 'object' && o[key] === undefined) {\n o[key] = {};\n }\n if (typeof o[key] !== 'object' || Array.isArray(o[key])) {\n // ensure that o[key] is an array, and that the last item is an empty object.\n if (Array.isArray(o[key])) {\n o[key].push({});\n }\n else {\n o[key] = [o[key], {}];\n }\n // we want to update the empty object at the end of the o[key] array, so set o to that object\n o = o[key][o[key].length - 1];\n }\n else {\n o = o[key];\n }\n });\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n const key = sanitizeKey(keys[keys.length - 1]);\n const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);\n const isValueArray = Array.isArray(value);\n let duplicate = configuration['duplicate-arguments-array'];\n // nargs has higher priority than duplicate\n if (!duplicate && checkAllAliases(key, flags.nargs)) {\n duplicate = true;\n if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {\n o[key] = undefined;\n }\n }\n if (value === increment()) {\n o[key] = increment(o[key]);\n }\n else if (Array.isArray(o[key])) {\n if (duplicate && isTypeArray && isValueArray) {\n o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);\n }\n else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {\n o[key] = value;\n }\n else {\n o[key] = o[key].concat([value]);\n }\n }\n else if (o[key] === undefined && isTypeArray) {\n o[key] = isValueArray ? value : [value];\n }\n else if (duplicate && !(o[key] === undefined ||\n checkAllAliases(key, flags.counts) ||\n checkAllAliases(key, flags.bools))) {\n o[key] = [o[key], value];\n }\n else {\n o[key] = value;\n }\n }\n // extend the aliases list with inferred aliases.\n function extendAliases(...args) {\n args.forEach(function (obj) {\n Object.keys(obj || {}).forEach(function (key) {\n // short-circuit if we've already added a key\n // to the aliases array, for example it might\n // exist in both 'opts.default' and 'opts.key'.\n if (flags.aliases[key])\n return;\n flags.aliases[key] = [].concat(aliases[key] || []);\n // For \"--option-name\", also set argv.optionName\n flags.aliases[key].concat(key).forEach(function (x) {\n if (/-/.test(x) && configuration['camel-case-expansion']) {\n const c = camelCase(x);\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n // For \"--optionName\", also set argv['option-name']\n flags.aliases[key].concat(key).forEach(function (x) {\n if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {\n const c = decamelize(x, '-');\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n flags.aliases[key].forEach(function (x) {\n flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {\n return x !== y;\n }));\n });\n });\n });\n }\n function checkAllAliases(key, flag) {\n const toCheck = [].concat(flags.aliases[key] || [], key);\n const keys = Object.keys(flag);\n const setAlias = toCheck.find(key => keys.includes(key));\n return setAlias ? flag[setAlias] : false;\n }\n function hasAnyFlag(key) {\n const flagsKeys = Object.keys(flags);\n const toCheck = [].concat(flagsKeys.map(k => flags[k]));\n return toCheck.some(function (flag) {\n return Array.isArray(flag) ? flag.includes(key) : flag[key];\n });\n }\n function hasFlagsMatching(arg, ...patterns) {\n const toCheck = [].concat(...patterns);\n return toCheck.some(function (pattern) {\n const match = arg.match(pattern);\n return match && hasAnyFlag(match[1]);\n });\n }\n // based on a simplified version of the short flag group parsing logic\n function hasAllShortFlags(arg) {\n // if this is a negative number, or doesn't start with a single hyphen, it's not a short flag group\n if (arg.match(negative) || !arg.match(/^-[^-]+/)) {\n return false;\n }\n let hasAllFlags = true;\n let next;\n const letters = arg.slice(1).split('');\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (!hasAnyFlag(letters[j])) {\n hasAllFlags = false;\n break;\n }\n if ((letters[j + 1] && letters[j + 1] === '=') ||\n next === '-' ||\n (/[A-Za-z]/.test(letters[j]) && /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next)) ||\n (letters[j + 1] && letters[j + 1].match(/\\W/))) {\n break;\n }\n }\n return hasAllFlags;\n }\n function isUnknownOptionAsArg(arg) {\n return configuration['unknown-options-as-args'] && isUnknownOption(arg);\n }\n function isUnknownOption(arg) {\n arg = arg.replace(/^-{3,}/, '--');\n // ignore negative numbers\n if (arg.match(negative)) {\n return false;\n }\n // if this is a short option group and all of them are configured, it isn't unknown\n if (hasAllShortFlags(arg)) {\n return false;\n }\n // e.g. '--count=2'\n const flagWithEquals = /^-+([^=]+?)=[\\s\\S]*$/;\n // e.g. '-a' or '--arg'\n const normalFlag = /^-+([^=]+?)$/;\n // e.g. '-a-'\n const flagEndingInHyphen = /^-+([^=]+?)-$/;\n // e.g. '-abc123'\n const flagEndingInDigits = /^-+([^=]+?\\d+)$/;\n // e.g. '-a/usr/local'\n const flagEndingInNonWordCharacters = /^-+([^=]+?)\\W+.*$/;\n // check the different types of flag styles, including negatedBoolean, a pattern defined near the start of the parse method\n return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);\n }\n // make a best effort to pick a default value\n // for an option based on name and type.\n function defaultValue(key) {\n if (!checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts) &&\n `${key}` in defaults) {\n return defaults[key];\n }\n else {\n return defaultForType(guessType(key));\n }\n }\n // return a default value, given the type of a flag.,\n function defaultForType(type) {\n const def = {\n [DefaultValuesForTypeKey.BOOLEAN]: true,\n [DefaultValuesForTypeKey.STRING]: '',\n [DefaultValuesForTypeKey.NUMBER]: undefined,\n [DefaultValuesForTypeKey.ARRAY]: []\n };\n return def[type];\n }\n // given a flag, enforce a default type.\n function guessType(key) {\n let type = DefaultValuesForTypeKey.BOOLEAN;\n if (checkAllAliases(key, flags.strings))\n type = DefaultValuesForTypeKey.STRING;\n else if (checkAllAliases(key, flags.numbers))\n type = DefaultValuesForTypeKey.NUMBER;\n else if (checkAllAliases(key, flags.bools))\n type = DefaultValuesForTypeKey.BOOLEAN;\n else if (checkAllAliases(key, flags.arrays))\n type = DefaultValuesForTypeKey.ARRAY;\n return type;\n }\n function isUndefined(num) {\n return num === undefined;\n }\n // check user configuration settings for inconsistencies\n function checkConfiguration() {\n // count keys should not be set as array/narg\n Object.keys(flags.counts).find(key => {\n if (checkAllAliases(key, flags.arrays)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));\n return true;\n }\n else if (checkAllAliases(key, flags.nargs)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));\n return true;\n }\n return false;\n });\n }\n return {\n aliases: Object.assign({}, flags.aliases),\n argv: Object.assign(argvReturn, argv),\n configuration: configuration,\n defaulted: Object.assign({}, defaulted),\n error: error,\n newAliases: Object.assign({}, newAliases)\n };\n }\n}\n// if any aliases reference each other, we should\n// merge them together.\nfunction combineAliases(aliases) {\n const aliasArrays = [];\n const combined = Object.create(null);\n let change = true;\n // turn alias lookup hash {key: ['alias1', 'alias2']} into\n // a simple array ['key', 'alias1', 'alias2']\n Object.keys(aliases).forEach(function (key) {\n aliasArrays.push([].concat(aliases[key], key));\n });\n // combine arrays until zero changes are\n // made in an iteration.\n while (change) {\n change = false;\n for (let i = 0; i < aliasArrays.length; i++) {\n for (let ii = i + 1; ii < aliasArrays.length; ii++) {\n const intersect = aliasArrays[i].filter(function (v) {\n return aliasArrays[ii].indexOf(v) !== -1;\n });\n if (intersect.length) {\n aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);\n aliasArrays.splice(ii, 1);\n change = true;\n break;\n }\n }\n }\n }\n // map arrays back to the hash-lookup (de-dupe while\n // we're at it).\n aliasArrays.forEach(function (aliasArray) {\n aliasArray = aliasArray.filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n const lastAlias = aliasArray.pop();\n if (lastAlias !== undefined && typeof lastAlias === 'string') {\n combined[lastAlias] = aliasArray;\n }\n });\n return combined;\n}\n// this function should only be called when a count is given as an arg\n// it is NOT called to set a default value\n// thus we can start the count at 1 instead of 0\nfunction increment(orig) {\n return orig !== undefined ? orig + 1 : 1;\n}\n// TODO(bcoe): in the next major version of yargs, switch to\n// Object.create(null) for dot notation:\nfunction sanitizeKey(key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n}\nfunction stripQuotes(val) {\n return (typeof val === 'string' &&\n (val[0] === \"'\" || val[0] === '\"') &&\n val[val.length - 1] === val[0])\n ? val.substring(1, val.length - 1)\n : val;\n}\n","/**\n * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js\n *\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nvar _a, _b, _c;\n/* eslint-disable n/no-unpublished-import */\nimport { format } from 'util';\nimport { normalize, resolve } from 'path';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nimport { YargsParser } from './yargs-parser.js';\nimport { readFileSync } from 'fs';\nimport { createRequire } from 'node:module';\n// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our\n// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.\nconst minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)\n ? Number(process.env.YARGS_MIN_NODE_VERSION)\n : 20;\nconst nodeVersion = (_b = (_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : (_c = process === null || process === void 0 ? void 0 : process.version) === null || _c === void 0 ? void 0 : _c.slice(1);\nif (nodeVersion) {\n const major = Number(nodeVersion.match(/^([^.]+)/)[1]);\n if (major < minNodeVersion) {\n throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);\n }\n}\n// Creates a yargs-parser instance using Node.js standard libraries:\nconst env = process ? process.env : {};\nconst require = createRequire ? createRequire(import.meta.url) : undefined;\nconst parser = new YargsParser({\n cwd: process.cwd,\n env: () => {\n return env;\n },\n format,\n normalize,\n resolve,\n require: (path) => {\n if (typeof require !== 'undefined') {\n return require(path);\n }\n else if (path.match(/\\.json$/)) {\n // Addresses: https://github.com/yargs/yargs/issues/2040\n return JSON.parse(readFileSync(path, 'utf8'));\n }\n else {\n throw Error('only .json config files are supported in ESM');\n }\n }\n});\nconst yargsParser = function Parser(args, opts) {\n const result = parser.parse(args.slice(), opts);\n return result.argv;\n};\nyargsParser.detailed = function (args, opts) {\n return parser.parse(args.slice(), opts);\n};\nyargsParser.camelCase = camelCase;\nyargsParser.decamelize = decamelize;\nyargsParser.looksLikeNumber = looksLikeNumber;\nexport default yargsParser;\n// special syntax to allow unqualified default export from CommonJS\nexport { yargsParser as 'module.exports' };\n","function getProcessArgvBinIndex() {\n if (isBundledElectronApp())\n return 0;\n return 1;\n}\nfunction isBundledElectronApp() {\n return isElectronApp() && !process.defaultApp;\n}\nfunction isElectronApp() {\n return !!process.versions.electron;\n}\nexport function hideBin(argv) {\n return argv.slice(getProcessArgvBinIndex() + 1);\n}\nexport function getProcessArgvBin() {\n return process.argv[getProcessArgvBinIndex()];\n}\n","import { readFileSync, statSync, writeFile } from 'fs';\nimport { format } from 'util';\nimport { resolve } from 'path';\nexport default {\n fs: {\n readFileSync,\n writeFile\n },\n format,\n resolve,\n exists: (file) => {\n try {\n return statSync(file).isFile();\n }\n catch (err) {\n return false;\n }\n }\n};\n","let shim;\nclass Y18N {\n constructor(opts) {\n // configurable options.\n opts = opts || {};\n this.directory = opts.directory || './locales';\n this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;\n this.locale = opts.locale || 'en';\n this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;\n // internal stuff.\n this.cache = Object.create(null);\n this.writeQueue = [];\n }\n __(...args) {\n if (typeof arguments[0] !== 'string') {\n return this._taggedLiteral(arguments[0], ...arguments);\n }\n const str = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n cb = cb || function () { }; // noop.\n if (!this.cache[this.locale])\n this._readLocaleFile();\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][str] && this.updateFiles) {\n this.cache[this.locale][str] = str;\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));\n }\n __n() {\n const args = Array.prototype.slice.call(arguments);\n const singular = args.shift();\n const plural = args.shift();\n const quantity = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n if (!this.cache[this.locale])\n this._readLocaleFile();\n let str = quantity === 1 ? singular : plural;\n if (this.cache[this.locale][singular]) {\n const entry = this.cache[this.locale][singular];\n str = entry[quantity === 1 ? 'one' : 'other'];\n }\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][singular] && this.updateFiles) {\n this.cache[this.locale][singular] = {\n one: singular,\n other: plural\n };\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n // if a %d placeholder is provided, add quantity\n // to the arguments expanded by util.format.\n const values = [str];\n if (~str.indexOf('%d'))\n values.push(quantity);\n return shim.format.apply(shim.format, values.concat(args));\n }\n setLocale(locale) {\n this.locale = locale;\n }\n getLocale() {\n return this.locale;\n }\n updateLocale(obj) {\n if (!this.cache[this.locale])\n this._readLocaleFile();\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n this.cache[this.locale][key] = obj[key];\n }\n }\n }\n _taggedLiteral(parts, ...args) {\n let str = '';\n parts.forEach(function (part, i) {\n const arg = args[i + 1];\n str += part;\n if (typeof arg !== 'undefined') {\n str += '%s';\n }\n });\n return this.__.apply(this, [str].concat([].slice.call(args, 1)));\n }\n _enqueueWrite(work) {\n this.writeQueue.push(work);\n if (this.writeQueue.length === 1)\n this._processWriteQueue();\n }\n _processWriteQueue() {\n const _this = this;\n const work = this.writeQueue[0];\n // destructure the enqueued work.\n const directory = work.directory;\n const locale = work.locale;\n const cb = work.cb;\n const languageFile = this._resolveLocaleFile(directory, locale);\n const serializedLocale = JSON.stringify(this.cache[locale], null, 2);\n shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {\n _this.writeQueue.shift();\n if (_this.writeQueue.length > 0)\n _this._processWriteQueue();\n cb(err);\n });\n }\n _readLocaleFile() {\n let localeLookup = {};\n const languageFile = this._resolveLocaleFile(this.directory, this.locale);\n try {\n // When using a bundler such as webpack, readFileSync may not be defined:\n if (shim.fs.readFileSync) {\n localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));\n }\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n err.message = 'syntax error in ' + languageFile;\n }\n if (err.code === 'ENOENT')\n localeLookup = {};\n else\n throw err;\n }\n this.cache[this.locale] = localeLookup;\n }\n _resolveLocaleFile(directory, locale) {\n let file = shim.resolve(directory, './', locale + '.json');\n if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {\n // attempt fallback to language only\n const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');\n if (this._fileExistsSync(languageFile))\n file = languageFile;\n }\n return file;\n }\n _fileExistsSync(file) {\n return shim.exists(file);\n }\n}\nexport function y18n(opts, _shim) {\n shim = _shim;\n const y18n = new Y18N(opts);\n return {\n __: y18n.__.bind(y18n),\n __n: y18n.__n.bind(y18n),\n setLocale: y18n.setLocale.bind(y18n),\n getLocale: y18n.getLocale.bind(y18n),\n updateLocale: y18n.updateLocale.bind(y18n),\n locale: y18n.locale\n };\n}\n","import shim from './build/lib/platform-shims/node.js'\nimport { y18n as _y18n } from './build/lib/index.js'\n\nconst y18n = (opts) => {\n return _y18n(opts, shim)\n}\n\nexport default y18n\n","\"use strict\";\n// Call this function in a another function to find out the file from\n// which that function was called from. (Inspects the v8 stack trace)\n//\n// Inspired by http://stackoverflow.com/questions/13227489\nmodule.exports = function getCallerFile(position) {\n if (position === void 0) { position = 2; }\n if (position >= Error.stackTraceLimit) {\n throw new TypeError('getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `' + position + '` and Error.stackTraceLimit was: `' + Error.stackTraceLimit + '`');\n }\n var oldPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = function (_, stack) { return stack; };\n var stack = new Error().stack;\n Error.prepareStackTrace = oldPrepareStackTrace;\n if (stack !== null && typeof stack === 'object') {\n // stack[0] holds this file\n // stack[1] holds where this function was called\n // stack[2] holds the file we're interested in\n return stack[position] ? stack[position].getFileName() : undefined;\n }\n};\n//# sourceMappingURL=index.js.map","'use strict'\n\nimport { notStrictEqual, strictEqual } from 'assert'\nimport cliui from 'cliui'\nimport escalade from 'escalade/sync'\nimport { inspect } from 'util'\nimport { fileURLToPath } from 'url';\nimport Parser from 'yargs-parser'\nimport { basename, dirname, extname, relative, resolve, join } from 'path'\nimport { getProcessArgvBin } from '../../build/lib/utils/process-argv.js'\nimport stringWidth from 'string-width';\nimport y18n from 'y18n'\nimport { createRequire } from 'node:module';\nimport getCallerFile from 'get-caller-file';\nimport { readFileSync, readdirSync } from 'node:fs'\n\nconst __dirname = fileURLToPath(import.meta.url);\nconst mainFilename = __dirname.substring(0, __dirname.lastIndexOf('node_modules'));\nconst require = createRequire(import.meta.url);\n\nexport default {\n assert: {\n notStrictEqual,\n strictEqual\n },\n cliui,\n findUp: escalade,\n getEnv: (key) => {\n return process.env[key]\n },\n inspect,\n getProcessArgvBin,\n mainFilename: mainFilename || process.cwd(),\n Parser,\n path: {\n basename,\n dirname,\n extname,\n relative,\n resolve,\n join\n },\n process: {\n argv: () => process.argv,\n cwd: process.cwd,\n emitWarning: (warning, type) => process.emitWarning(warning, type),\n execPath: () => process.execPath,\n exit: (code) => {\n // eslint-disable-next-line n/no-process-exit\n process.exit(code);\n },\n nextTick: process.nextTick,\n stdColumns: typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null\n },\n readFileSync,\n readdirSync,\n require,\n getCallerFile: () => {\n const callerFile = getCallerFile(3);\n return callerFile.match(/^file:\\/\\//) ? fileURLToPath(callerFile) : callerFile;\n },\n stringWidth,\n y18n: y18n({\n directory: resolve(__dirname, '../../../locales'),\n updateFiles: false\n })\n}\n","export function assertNotStrictEqual(actual, expected, shim, message) {\n shim.assert.notStrictEqual(actual, expected, message);\n}\nexport function assertSingleKey(actual, shim) {\n shim.assert.strictEqual(typeof actual, 'string');\n}\nexport function objectKeys(object) {\n return Object.keys(object);\n}\n","export function isPromise(maybePromise) {\n return (!!maybePromise &&\n !!maybePromise.then &&\n typeof maybePromise.then === 'function');\n}\n","export class YError extends Error {\n constructor(msg) {\n super(msg || 'yargs error');\n this.name = 'YError';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, YError);\n }\n }\n}\n","export function parseCommand(cmd) {\n const extraSpacesStrippedCommand = cmd.replace(/\\s{2,}/g, ' ');\n const splitCommand = extraSpacesStrippedCommand.split(/\\s+(?![^[]*]|[^<]*>)/);\n const bregex = /\\.*[\\][<>]/g;\n const firstCommand = splitCommand.shift();\n if (!firstCommand)\n throw new Error(`No command found in: ${cmd}`);\n const parsedCommand = {\n cmd: firstCommand.replace(bregex, ''),\n demanded: [],\n optional: [],\n };\n splitCommand.forEach((cmd, i) => {\n let variadic = false;\n cmd = cmd.replace(/\\s/g, '');\n if (/\\.+[\\]>]/.test(cmd) && i === splitCommand.length - 1)\n variadic = true;\n if (/^\\[/.test(cmd)) {\n parsedCommand.optional.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n else {\n parsedCommand.demanded.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n });\n return parsedCommand;\n}\n","import { YError } from './yerror.js';\nimport { parseCommand } from './parse-command.js';\nconst positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'];\nexport function argsert(arg1, arg2, arg3) {\n function parseArgs() {\n return typeof arg1 === 'object'\n ? [{ demanded: [], optional: [] }, arg1, arg2]\n : [\n parseCommand(`cmd ${arg1}`),\n arg2,\n arg3,\n ];\n }\n try {\n let position = 0;\n const [parsed, callerArguments, _length] = parseArgs();\n const args = [].slice.call(callerArguments);\n while (args.length && args[args.length - 1] === undefined)\n args.pop();\n const length = _length || args.length;\n if (length < parsed.demanded.length) {\n throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`);\n }\n const totalCommands = parsed.demanded.length + parsed.optional.length;\n if (length > totalCommands) {\n throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);\n }\n parsed.demanded.forEach(demanded => {\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, demanded.cmd, position);\n position += 1;\n });\n parsed.optional.forEach(optional => {\n if (args.length === 0)\n return;\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, optional.cmd, position);\n position += 1;\n });\n }\n catch (err) {\n console.warn(err.stack);\n }\n}\nfunction guessType(arg) {\n if (Array.isArray(arg)) {\n return 'array';\n }\n else if (arg === null) {\n return 'null';\n }\n return typeof arg;\n}\nfunction argumentTypeError(observedType, allowedTypes, position) {\n throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`);\n}\n","import { argsert } from './argsert.js';\nimport { isPromise } from './utils/is-promise.js';\nexport class GlobalMiddleware {\n constructor(yargs) {\n this.globalMiddleware = [];\n this.frozens = [];\n this.yargs = yargs;\n }\n addMiddleware(callback, applyBeforeValidation, global = true, mutates = false) {\n argsert('<array|function> [boolean] [boolean] [boolean]', [callback, applyBeforeValidation, global], arguments.length);\n if (Array.isArray(callback)) {\n for (let i = 0; i < callback.length; i++) {\n if (typeof callback[i] !== 'function') {\n throw Error('middleware must be a function');\n }\n const m = callback[i];\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n }\n Array.prototype.push.apply(this.globalMiddleware, callback);\n }\n else if (typeof callback === 'function') {\n const m = callback;\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n m.mutates = mutates;\n this.globalMiddleware.push(callback);\n }\n return this.yargs;\n }\n addCoerceMiddleware(callback, option) {\n const aliases = this.yargs.getAliases();\n this.globalMiddleware = this.globalMiddleware.filter(m => {\n const toCheck = [...(aliases[option] || []), option];\n if (!m.option)\n return true;\n else\n return !toCheck.includes(m.option);\n });\n callback.option = option;\n return this.addMiddleware(callback, true, true, true);\n }\n getMiddleware() {\n return this.globalMiddleware;\n }\n freeze() {\n this.frozens.push([...this.globalMiddleware]);\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n if (frozen !== undefined)\n this.globalMiddleware = frozen;\n }\n reset() {\n this.globalMiddleware = this.globalMiddleware.filter(m => m.global);\n }\n}\nexport function commandMiddlewareFactory(commandMiddleware) {\n if (!commandMiddleware)\n return [];\n return commandMiddleware.map(middleware => {\n middleware.applyBeforeValidation = false;\n return middleware;\n });\n}\nexport function applyMiddleware(argv, yargs, middlewares, beforeValidation) {\n return middlewares.reduce((acc, middleware) => {\n if (middleware.applyBeforeValidation !== beforeValidation) {\n return acc;\n }\n if (middleware.mutates) {\n if (middleware.applied)\n return acc;\n middleware.applied = true;\n }\n if (isPromise(acc)) {\n return acc\n .then(initialObj => Promise.all([initialObj, middleware(initialObj, yargs)]))\n .then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));\n }\n else {\n const result = middleware(acc, yargs);\n return isPromise(result)\n ? result.then(middlewareObj => Object.assign(acc, middlewareObj))\n : Object.assign(acc, result);\n }\n }, argv);\n}\n","import { isPromise } from './is-promise.js';\nexport function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => {\n throw err;\n}) {\n try {\n const result = isFunction(getResult) ? getResult() : getResult;\n return isPromise(result)\n ? result.then((result) => resultHandler(result))\n : resultHandler(result);\n }\n catch (err) {\n return errorHandler(err);\n }\n}\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n","import { assertNotStrictEqual, } from './typings/common-types.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { applyMiddleware, commandMiddlewareFactory, } from './middleware.js';\nimport { parseCommand } from './parse-command.js';\nimport { isYargsInstance, } from './yargs-factory.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nconst DEFAULT_MARKER = /(^\\*)|(^\\$0)/;\nexport class CommandInstance {\n constructor(usage, validation, globalMiddleware, shim) {\n this.requireCache = new Set();\n this.handlers = {};\n this.aliasMap = {};\n this.frozens = [];\n this.shim = shim;\n this.usage = usage;\n this.globalMiddleware = globalMiddleware;\n this.validation = validation;\n }\n addDirectory(dir, req, callerFile, opts) {\n opts = opts || {};\n this.requireCache.add(callerFile);\n const fullDirPath = this.shim.path.resolve(this.shim.path.dirname(callerFile), dir);\n const files = this.shim.readdirSync(fullDirPath, {\n recursive: opts.recurse ? true : false,\n });\n if (!Array.isArray(opts.extensions))\n opts.extensions = ['js'];\n const visit = typeof opts.visit === 'function' ? opts.visit : (o) => o;\n for (const fileb of files) {\n const file = fileb.toString();\n if (opts.exclude) {\n let exclude = false;\n if (typeof opts.exclude === 'function') {\n exclude = opts.exclude(file);\n }\n else {\n exclude = opts.exclude.test(file);\n }\n if (exclude)\n continue;\n }\n if (opts.include) {\n let include = false;\n if (typeof opts.include === 'function') {\n include = opts.include(file);\n }\n else {\n include = opts.include.test(file);\n }\n if (!include)\n continue;\n }\n let supportedExtension = false;\n for (const ext of opts.extensions) {\n if (file.endsWith(ext))\n supportedExtension = true;\n }\n if (supportedExtension) {\n const joined = this.shim.path.join(fullDirPath, file);\n const module = req(joined);\n const extendableModule = Object.create(null, Object.getOwnPropertyDescriptors({ ...module }));\n const visited = visit(extendableModule, joined, file);\n if (visited) {\n if (this.requireCache.has(joined))\n continue;\n else\n this.requireCache.add(joined);\n if (!extendableModule.command) {\n extendableModule.command = this.shim.path.basename(joined, this.shim.path.extname(joined));\n }\n this.addHandler(extendableModule);\n }\n }\n }\n }\n addHandler(cmd, description, builder, handler, commandMiddleware, deprecated) {\n let aliases = [];\n const middlewares = commandMiddlewareFactory(commandMiddleware);\n handler = handler || (() => { });\n if (Array.isArray(cmd)) {\n if (isCommandAndAliases(cmd)) {\n [cmd, ...aliases] = cmd;\n }\n else {\n for (const command of cmd) {\n this.addHandler(command);\n }\n }\n }\n else if (isCommandHandlerDefinition(cmd)) {\n let command = Array.isArray(cmd.command) || typeof cmd.command === 'string'\n ? cmd.command\n : null;\n if (command === null) {\n throw new Error(`No command name given for module: ${this.shim.inspect(cmd)}`);\n }\n if (cmd.aliases)\n command = [].concat(command).concat(cmd.aliases);\n this.addHandler(command, this.extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares, cmd.deprecated);\n return;\n }\n else if (isCommandBuilderDefinition(builder)) {\n this.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares, builder.deprecated);\n return;\n }\n if (typeof cmd === 'string') {\n const parsedCommand = parseCommand(cmd);\n aliases = aliases.map(alias => parseCommand(alias).cmd);\n let isDefault = false;\n const parsedAliases = [parsedCommand.cmd].concat(aliases).filter(c => {\n if (DEFAULT_MARKER.test(c)) {\n isDefault = true;\n return false;\n }\n return true;\n });\n if (parsedAliases.length === 0 && isDefault)\n parsedAliases.push('$0');\n if (isDefault) {\n parsedCommand.cmd = parsedAliases[0];\n aliases = parsedAliases.slice(1);\n cmd = cmd.replace(DEFAULT_MARKER, parsedCommand.cmd);\n }\n aliases.forEach(alias => {\n this.aliasMap[alias] = parsedCommand.cmd;\n });\n if (description !== false) {\n this.usage.command(cmd, description, isDefault, aliases, deprecated);\n }\n this.handlers[parsedCommand.cmd] = {\n original: cmd,\n description,\n handler,\n builder: builder || {},\n middlewares,\n deprecated,\n demanded: parsedCommand.demanded,\n optional: parsedCommand.optional,\n };\n if (isDefault)\n this.defaultCommand = this.handlers[parsedCommand.cmd];\n }\n }\n getCommandHandlers() {\n return this.handlers;\n }\n getCommands() {\n return Object.keys(this.handlers).concat(Object.keys(this.aliasMap));\n }\n hasDefaultCommand() {\n return !!this.defaultCommand;\n }\n runCommand(command, yargs, parsed, commandIndex, helpOnly, helpOrVersionSet) {\n const commandHandler = this.handlers[command] ||\n this.handlers[this.aliasMap[command]] ||\n this.defaultCommand;\n const currentContext = yargs.getInternalMethods().getContext();\n const parentCommands = currentContext.commands.slice();\n const isDefaultCommand = !command;\n if (command) {\n currentContext.commands.push(command);\n currentContext.fullCommands.push(commandHandler.original);\n }\n const builderResult = this.applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, parsed.aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet);\n return isPromise(builderResult)\n ? builderResult.then(result => this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, result.innerArgv, currentContext, helpOnly, result.aliases, yargs))\n : this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, builderResult.innerArgv, currentContext, helpOnly, builderResult.aliases, yargs);\n }\n applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet) {\n const builder = commandHandler.builder;\n let innerYargs = yargs;\n if (isCommandBuilderCallback(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n const builderOutput = builder(yargs.getInternalMethods().reset(aliases), helpOrVersionSet);\n if (isPromise(builderOutput)) {\n return builderOutput.then(output => {\n innerYargs = isYargsInstance(output) ? output : yargs;\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n });\n }\n }\n else if (isCommandBuilderOptionDefinitions(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n innerYargs = yargs.getInternalMethods().reset(aliases);\n Object.keys(commandHandler.builder).forEach(key => {\n innerYargs.option(key, builder[key]);\n });\n }\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n }\n parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly) {\n if (isDefaultCommand)\n innerYargs.getInternalMethods().getUsageInstance().unfreeze(true);\n if (this.shouldUpdateUsage(innerYargs)) {\n innerYargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(this.usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);\n }\n const innerArgv = innerYargs\n .getInternalMethods()\n .runYargsParserAndExecuteCommands(null, undefined, true, commandIndex, helpOnly);\n return isPromise(innerArgv)\n ? innerArgv.then(argv => ({\n aliases: innerYargs.parsed.aliases,\n innerArgv: argv,\n }))\n : {\n aliases: innerYargs.parsed.aliases,\n innerArgv: innerArgv,\n };\n }\n shouldUpdateUsage(yargs) {\n return (!yargs.getInternalMethods().getUsageInstance().getUsageDisabled() &&\n yargs.getInternalMethods().getUsageInstance().getUsage().length === 0);\n }\n usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {\n const c = DEFAULT_MARKER.test(commandHandler.original)\n ? commandHandler.original.replace(DEFAULT_MARKER, '').trim()\n : commandHandler.original;\n const pc = parentCommands.filter(c => {\n return !DEFAULT_MARKER.test(c);\n });\n pc.push(c);\n return `$0 ${pc.join(' ')}`;\n }\n handleValidationAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, aliases, yargs, middlewares, positionalMap) {\n if (!yargs.getInternalMethods().getHasOutput()) {\n const validation = yargs\n .getInternalMethods()\n .runValidation(aliases, positionalMap, yargs.parsed.error, isDefaultCommand);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n validation(result);\n return result;\n });\n }\n if (commandHandler.handler && !yargs.getInternalMethods().getHasOutput()) {\n yargs.getInternalMethods().setHasOutput();\n const populateDoubleDash = !!yargs.getOptions().configuration['populate--'];\n yargs\n .getInternalMethods()\n .postProcess(innerArgv, populateDoubleDash, false, false);\n innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n const handlerResult = commandHandler.handler(result);\n return isPromise(handlerResult)\n ? handlerResult.then(() => result)\n : result;\n });\n if (!isDefaultCommand) {\n yargs.getInternalMethods().getUsageInstance().cacheHelpMessage();\n }\n if (isPromise(innerArgv) &&\n !yargs.getInternalMethods().hasParseCallback()) {\n innerArgv.catch(error => {\n try {\n yargs.getInternalMethods().getUsageInstance().fail(null, error);\n }\n catch (_err) {\n }\n });\n }\n }\n if (!isDefaultCommand) {\n currentContext.commands.pop();\n currentContext.fullCommands.pop();\n }\n return innerArgv;\n }\n applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, helpOnly, aliases, yargs) {\n let positionalMap = {};\n if (helpOnly)\n return innerArgv;\n if (!yargs.getInternalMethods().getHasOutput()) {\n positionalMap = this.populatePositionals(commandHandler, innerArgv, currentContext, yargs);\n }\n const middlewares = this.globalMiddleware\n .getMiddleware()\n .slice(0)\n .concat(commandHandler.middlewares);\n const maybePromiseArgv = applyMiddleware(innerArgv, yargs, middlewares, true);\n return isPromise(maybePromiseArgv)\n ? maybePromiseArgv.then(resolvedInnerArgv => this.handleValidationAndGetResult(isDefaultCommand, commandHandler, resolvedInnerArgv, currentContext, aliases, yargs, middlewares, positionalMap))\n : this.handleValidationAndGetResult(isDefaultCommand, commandHandler, maybePromiseArgv, currentContext, aliases, yargs, middlewares, positionalMap);\n }\n populatePositionals(commandHandler, argv, context, yargs) {\n argv._ = argv._.slice(context.commands.length);\n const demanded = commandHandler.demanded.slice(0);\n const optional = commandHandler.optional.slice(0);\n const positionalMap = {};\n this.validation.positionalCount(demanded.length, argv._.length);\n while (demanded.length) {\n const demand = demanded.shift();\n this.populatePositional(demand, argv, positionalMap);\n }\n while (optional.length) {\n const maybe = optional.shift();\n this.populatePositional(maybe, argv, positionalMap);\n }\n argv._ = context.commands.concat(argv._.map(a => '' + a));\n this.postProcessPositionals(argv, positionalMap, this.cmdToParseOptions(commandHandler.original), yargs);\n return positionalMap;\n }\n populatePositional(positional, argv, positionalMap) {\n const cmd = positional.cmd[0];\n if (positional.variadic) {\n positionalMap[cmd] = argv._.splice(0).map(String);\n }\n else {\n if (argv._.length)\n positionalMap[cmd] = [String(argv._.shift())];\n }\n }\n cmdToParseOptions(cmdString) {\n const parseOptions = {\n array: [],\n default: {},\n alias: {},\n demand: {},\n };\n const parsed = parseCommand(cmdString);\n parsed.demanded.forEach(d => {\n const [cmd, ...aliases] = d.cmd;\n if (d.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n parseOptions.demand[cmd] = true;\n });\n parsed.optional.forEach(o => {\n const [cmd, ...aliases] = o.cmd;\n if (o.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n });\n return parseOptions;\n }\n postProcessPositionals(argv, positionalMap, parseOptions, yargs) {\n const options = Object.assign({}, yargs.getOptions());\n options.default = Object.assign(parseOptions.default, options.default);\n for (const key of Object.keys(parseOptions.alias)) {\n options.alias[key] = (options.alias[key] || []).concat(parseOptions.alias[key]);\n }\n options.array = options.array.concat(parseOptions.array);\n options.config = {};\n const unparsed = [];\n Object.keys(positionalMap).forEach(key => {\n positionalMap[key].map(value => {\n if (options.configuration['unknown-options-as-args'])\n options.key[key] = true;\n unparsed.push(`--${key}`);\n unparsed.push(value);\n });\n });\n if (!unparsed.length)\n return;\n const config = Object.assign({}, options.configuration, {\n 'populate--': false,\n });\n const parsed = this.shim.Parser.detailed(unparsed, Object.assign({}, options, {\n configuration: config,\n }));\n if (parsed.error) {\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .fail(parsed.error.message, parsed.error);\n }\n else {\n const positionalKeys = Object.keys(positionalMap);\n Object.keys(positionalMap).forEach(key => {\n positionalKeys.push(...parsed.aliases[key]);\n });\n Object.keys(parsed.argv).forEach(key => {\n if (positionalKeys.includes(key)) {\n if (!positionalMap[key])\n positionalMap[key] = parsed.argv[key];\n if (!this.isInConfigs(yargs, key) &&\n !this.isDefaulted(yargs, key) &&\n Object.prototype.hasOwnProperty.call(argv, key) &&\n Object.prototype.hasOwnProperty.call(parsed.argv, key) &&\n (Array.isArray(argv[key]) || Array.isArray(parsed.argv[key]))) {\n argv[key] = [].concat(argv[key], parsed.argv[key]);\n }\n else {\n argv[key] = parsed.argv[key];\n }\n }\n });\n }\n }\n isDefaulted(yargs, key) {\n const { default: defaults } = yargs.getOptions();\n return (Object.prototype.hasOwnProperty.call(defaults, key) ||\n Object.prototype.hasOwnProperty.call(defaults, this.shim.Parser.camelCase(key)));\n }\n isInConfigs(yargs, key) {\n const { configObjects } = yargs.getOptions();\n return (configObjects.some(c => Object.prototype.hasOwnProperty.call(c, key)) ||\n configObjects.some(c => Object.prototype.hasOwnProperty.call(c, this.shim.Parser.camelCase(key))));\n }\n runDefaultBuilderOn(yargs) {\n if (!this.defaultCommand)\n return;\n if (this.shouldUpdateUsage(yargs)) {\n const commandString = DEFAULT_MARKER.test(this.defaultCommand.original)\n ? this.defaultCommand.original\n : this.defaultCommand.original.replace(/^[^[\\]<>]*/, '$0 ');\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(commandString, this.defaultCommand.description);\n }\n const builder = this.defaultCommand.builder;\n if (isCommandBuilderCallback(builder)) {\n return builder(yargs, true);\n }\n else if (!isCommandBuilderDefinition(builder)) {\n Object.keys(builder).forEach(key => {\n yargs.option(key, builder[key]);\n });\n }\n return undefined;\n }\n extractDesc({ describe, description, desc }) {\n for (const test of [describe, description, desc]) {\n if (typeof test === 'string' || test === false)\n return test;\n assertNotStrictEqual(test, true, this.shim);\n }\n return false;\n }\n freeze() {\n this.frozens.push({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n });\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n assertNotStrictEqual(frozen, undefined, this.shim);\n ({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n } = frozen);\n }\n reset() {\n this.handlers = {};\n this.aliasMap = {};\n this.defaultCommand = undefined;\n this.requireCache = new Set();\n return this;\n }\n}\nexport function command(usage, validation, globalMiddleware, shim) {\n return new CommandInstance(usage, validation, globalMiddleware, shim);\n}\nexport function isCommandBuilderDefinition(builder) {\n return (typeof builder === 'object' &&\n !!builder.builder &&\n typeof builder.handler === 'function');\n}\nfunction isCommandAndAliases(cmd) {\n return cmd.every(c => typeof c === 'string');\n}\nexport function isCommandBuilderCallback(builder) {\n return typeof builder === 'function';\n}\nfunction isCommandBuilderOptionDefinitions(builder) {\n return typeof builder === 'object';\n}\nexport function isCommandHandlerDefinition(cmd) {\n return typeof cmd === 'object' && !Array.isArray(cmd);\n}\n","import { objectKeys } from '../typings/common-types.js';\nexport function objFilter(original = {}, filter = () => true) {\n const obj = {};\n objectKeys(original).forEach(key => {\n if (filter(key, original[key])) {\n obj[key] = original[key];\n }\n });\n return obj;\n}\n","export default function setBlocking(blocking) {\n if (typeof process === 'undefined')\n return;\n [process.stdout, process.stderr].forEach(_stream => {\n const stream = _stream;\n if (stream._handle &&\n stream.isTTY &&\n typeof stream._handle.setBlocking === 'function') {\n stream._handle.setBlocking(blocking);\n }\n });\n}\n","import { objFilter } from './utils/obj-filter.js';\nimport { YError } from './yerror.js';\nimport setBlocking from './utils/set-blocking.js';\nfunction isBoolean(fail) {\n return typeof fail === 'boolean';\n}\nexport function usage(yargs, shim) {\n const __ = shim.y18n.__;\n const self = {};\n const fails = [];\n self.failFn = function failFn(f) {\n fails.push(f);\n };\n let failMessage = null;\n let globalFailMessage = null;\n let showHelpOnFail = true;\n self.showHelpOnFail = function showHelpOnFailFn(arg1 = true, arg2) {\n const [enabled, message] = typeof arg1 === 'string' ? [true, arg1] : [arg1, arg2];\n if (yargs.getInternalMethods().isGlobalContext()) {\n globalFailMessage = message;\n }\n failMessage = message;\n showHelpOnFail = enabled;\n return self;\n };\n let failureOutput = false;\n self.fail = function fail(msg, err) {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (fails.length) {\n for (let i = fails.length - 1; i >= 0; --i) {\n const fail = fails[i];\n if (isBoolean(fail)) {\n if (err)\n throw err;\n else if (msg)\n throw Error(msg);\n }\n else {\n fail(msg, err, self);\n }\n }\n }\n else {\n if (yargs.getExitProcess())\n setBlocking(true);\n if (!failureOutput) {\n failureOutput = true;\n if (showHelpOnFail) {\n yargs.showHelp('error');\n logger.error();\n }\n if (msg || err)\n logger.error(msg || err);\n const globalOrCommandFailMessage = failMessage || globalFailMessage;\n if (globalOrCommandFailMessage) {\n if (msg || err)\n logger.error('');\n logger.error(globalOrCommandFailMessage);\n }\n }\n err = err || new YError(msg);\n if (yargs.getExitProcess()) {\n return yargs.exit(1);\n }\n else if (yargs.getInternalMethods().hasParseCallback()) {\n return yargs.exit(1, err);\n }\n else {\n throw err;\n }\n }\n };\n let usages = [];\n let usageDisabled = false;\n self.usage = (msg, description) => {\n if (msg === null) {\n usageDisabled = true;\n usages = [];\n return self;\n }\n usageDisabled = false;\n usages.push([msg, description || '']);\n return self;\n };\n self.getUsage = () => {\n return usages;\n };\n self.getUsageDisabled = () => {\n return usageDisabled;\n };\n self.getPositionalGroupName = () => {\n return __('Positionals:');\n };\n let examples = [];\n self.example = (cmd, description) => {\n examples.push([cmd, description || '']);\n };\n let commands = [];\n self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {\n if (isDefault) {\n commands = commands.map(cmdArray => {\n cmdArray[2] = false;\n return cmdArray;\n });\n }\n commands.push([cmd, description || '', isDefault, aliases, deprecated]);\n };\n self.getCommands = () => commands;\n let descriptions = {};\n self.describe = function describe(keyOrKeys, desc) {\n if (Array.isArray(keyOrKeys)) {\n keyOrKeys.forEach(k => {\n self.describe(k, desc);\n });\n }\n else if (typeof keyOrKeys === 'object') {\n Object.keys(keyOrKeys).forEach(k => {\n self.describe(k, keyOrKeys[k]);\n });\n }\n else {\n descriptions[keyOrKeys] = desc;\n }\n };\n self.getDescriptions = () => descriptions;\n let epilogs = [];\n self.epilog = msg => {\n epilogs.push(msg);\n };\n let wrapSet = false;\n let wrap;\n self.wrap = cols => {\n wrapSet = true;\n wrap = cols;\n };\n self.getWrap = () => {\n if (shim.getEnv('YARGS_DISABLE_WRAP')) {\n return null;\n }\n if (!wrapSet) {\n wrap = windowWidth();\n wrapSet = true;\n }\n return wrap;\n };\n const deferY18nLookupPrefix = '__yargsString__:';\n self.deferY18nLookup = str => deferY18nLookupPrefix + str;\n self.help = function help() {\n if (cachedHelpMessage)\n return cachedHelpMessage;\n normalizeAliases();\n const base$0 = yargs.customScriptName\n ? yargs.$0\n : shim.path.basename(yargs.$0);\n const demandedOptions = yargs.getDemandedOptions();\n const demandedCommands = yargs.getDemandedCommands();\n const deprecatedOptions = yargs.getDeprecatedOptions();\n const groups = yargs.getGroups();\n const options = yargs.getOptions();\n let keys = [];\n keys = keys.concat(Object.keys(descriptions));\n keys = keys.concat(Object.keys(demandedOptions));\n keys = keys.concat(Object.keys(demandedCommands));\n keys = keys.concat(Object.keys(options.default));\n keys = keys.filter(filterHiddenOptions);\n keys = Object.keys(keys.reduce((acc, key) => {\n if (key !== '_')\n acc[key] = true;\n return acc;\n }, {}));\n const theWrap = self.getWrap();\n const ui = shim.cliui({\n width: theWrap,\n wrap: !!theWrap,\n });\n if (!usageDisabled) {\n if (usages.length) {\n usages.forEach(usage => {\n ui.div({ text: `${usage[0].replace(/\\$0/g, base$0)}` });\n if (usage[1]) {\n ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });\n }\n });\n ui.div();\n }\n else if (commands.length) {\n let u = null;\n if (demandedCommands._) {\n u = `${base$0} <${__('command')}>\\n`;\n }\n else {\n u = `${base$0} [${__('command')}]\\n`;\n }\n ui.div(`${u}`);\n }\n }\n if (commands.length > 1 || (commands.length === 1 && !commands[0][2])) {\n ui.div(__('Commands:'));\n const context = yargs.getInternalMethods().getContext();\n const parentCommands = context.commands.length\n ? `${context.commands.join(' ')} `\n : '';\n if (yargs.getInternalMethods().getParserConfiguration()['sort-commands'] ===\n true) {\n commands = commands.sort((a, b) => a[0].localeCompare(b[0]));\n }\n const prefix = base$0 ? `${base$0} ` : '';\n commands.forEach(command => {\n const commandString = `${prefix}${parentCommands}${command[0].replace(/^\\$0 ?/, '')}`;\n ui.span({\n text: commandString,\n padding: [0, 2, 0, 2],\n width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4,\n }, { text: command[1] });\n const hints = [];\n if (command[2])\n hints.push(`[${__('default')}]`);\n if (command[3] && command[3].length) {\n hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`);\n }\n if (command[4]) {\n if (typeof command[4] === 'string') {\n hints.push(`[${__('deprecated: %s', command[4])}]`);\n }\n else {\n hints.push(`[${__('deprecated')}]`);\n }\n }\n if (hints.length) {\n ui.div({\n text: hints.join(' '),\n padding: [0, 0, 0, 2],\n align: 'right',\n });\n }\n else {\n ui.div();\n }\n });\n ui.div();\n }\n const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);\n keys = keys.filter(key => !yargs.parsed.newAliases[key] &&\n aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1));\n const defaultGroup = __('Options:');\n if (!groups[defaultGroup])\n groups[defaultGroup] = [];\n addUngroupedKeys(keys, options.alias, groups, defaultGroup);\n const isLongSwitch = (sw) => /^--/.test(getText(sw));\n const displayedGroups = Object.keys(groups)\n .filter(groupName => groups[groupName].length > 0)\n .map(groupName => {\n const normalizedKeys = groups[groupName]\n .filter(filterHiddenOptions)\n .map(key => {\n if (aliasKeys.includes(key))\n return key;\n for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {\n if ((options.alias[aliasKey] || []).includes(key))\n return aliasKey;\n }\n return key;\n });\n return { groupName, normalizedKeys };\n })\n .filter(({ normalizedKeys }) => normalizedKeys.length > 0)\n .map(({ groupName, normalizedKeys }) => {\n const switches = normalizedKeys.reduce((acc, key) => {\n acc[key] = [key]\n .concat(options.alias[key] || [])\n .map(sw => {\n if (groupName === self.getPositionalGroupName())\n return sw;\n else {\n return ((/^[0-9]$/.test(sw)\n ? options.boolean.includes(key)\n ? '-'\n : '--'\n : sw.length > 1\n ? '--'\n : '-') + sw);\n }\n })\n .sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2)\n ? 0\n : isLongSwitch(sw1)\n ? 1\n : -1)\n .join(', ');\n return acc;\n }, {});\n return { groupName, normalizedKeys, switches };\n });\n const shortSwitchesUsed = displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .some(({ normalizedKeys, switches }) => !normalizedKeys.every(key => isLongSwitch(switches[key])));\n if (shortSwitchesUsed) {\n displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .forEach(({ normalizedKeys, switches }) => {\n normalizedKeys.forEach(key => {\n if (isLongSwitch(switches[key])) {\n switches[key] = addIndentation(switches[key], '-x, '.length);\n }\n });\n });\n }\n displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {\n ui.div(groupName);\n normalizedKeys.forEach(key => {\n const kswitch = switches[key];\n let desc = descriptions[key] || '';\n let type = null;\n if (desc.includes(deferY18nLookupPrefix))\n desc = __(desc.substring(deferY18nLookupPrefix.length));\n if (options.boolean.includes(key))\n type = `[${__('boolean')}]`;\n if (options.count.includes(key))\n type = `[${__('count')}]`;\n if (options.string.includes(key))\n type = `[${__('string')}]`;\n if (options.normalize.includes(key))\n type = `[${__('string')}]`;\n if (options.array.includes(key))\n type = `[${__('array')}]`;\n if (options.number.includes(key))\n type = `[${__('number')}]`;\n const deprecatedExtra = (deprecated) => typeof deprecated === 'string'\n ? `[${__('deprecated: %s', deprecated)}]`\n : `[${__('deprecated')}]`;\n const extra = [\n key in deprecatedOptions\n ? deprecatedExtra(deprecatedOptions[key])\n : null,\n type,\n key in demandedOptions ? `[${__('required')}]` : null,\n options.choices && options.choices[key]\n ? `[${__('choices:')} ${self.stringifiedValues(options.choices[key])}]`\n : null,\n defaultString(options.default[key], options.defaultDescription[key]),\n ]\n .filter(Boolean)\n .join(' ');\n ui.span({\n text: getText(kswitch),\n padding: [0, 2, 0, 2 + getIndentation(kswitch)],\n width: maxWidth(switches, theWrap) + 4,\n }, desc);\n const shouldHideOptionExtras = yargs.getInternalMethods().getUsageConfiguration()['hide-types'] ===\n true;\n if (extra && !shouldHideOptionExtras)\n ui.div({ text: extra, padding: [0, 0, 0, 2], align: 'right' });\n else\n ui.div();\n });\n ui.div();\n });\n if (examples.length) {\n ui.div(__('Examples:'));\n examples.forEach(example => {\n example[0] = example[0].replace(/\\$0/g, base$0);\n });\n examples.forEach(example => {\n if (example[1] === '') {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n });\n }\n else {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n width: maxWidth(examples, theWrap) + 4,\n }, {\n text: example[1],\n });\n }\n });\n ui.div();\n }\n if (epilogs.length > 0) {\n const e = epilogs\n .map(epilog => epilog.replace(/\\$0/g, base$0))\n .join('\\n');\n ui.div(`${e}\\n`);\n }\n return ui.toString().replace(/\\s*$/, '');\n };\n function maxWidth(table, theWrap, modifier) {\n let width = 0;\n if (!Array.isArray(table)) {\n table = Object.values(table).map(v => [v]);\n }\n table.forEach(v => {\n width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);\n });\n if (theWrap)\n width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));\n return width;\n }\n function normalizeAliases() {\n const demandedOptions = yargs.getDemandedOptions();\n const options = yargs.getOptions();\n (Object.keys(options.alias) || []).forEach(key => {\n options.alias[key].forEach(alias => {\n if (descriptions[alias])\n self.describe(key, descriptions[alias]);\n if (alias in demandedOptions)\n yargs.demandOption(key, demandedOptions[alias]);\n if (options.boolean.includes(alias))\n yargs.boolean(key);\n if (options.count.includes(alias))\n yargs.count(key);\n if (options.string.includes(alias))\n yargs.string(key);\n if (options.normalize.includes(alias))\n yargs.normalize(key);\n if (options.array.includes(alias))\n yargs.array(key);\n if (options.number.includes(alias))\n yargs.number(key);\n });\n });\n }\n let cachedHelpMessage;\n self.cacheHelpMessage = function () {\n cachedHelpMessage = this.help();\n };\n self.clearCachedHelpMessage = function () {\n cachedHelpMessage = undefined;\n };\n self.hasCachedHelpMessage = function () {\n return !!cachedHelpMessage;\n };\n function addUngroupedKeys(keys, aliases, groups, defaultGroup) {\n let groupedKeys = [];\n let toCheck = null;\n Object.keys(groups).forEach(group => {\n groupedKeys = groupedKeys.concat(groups[group]);\n });\n keys.forEach(key => {\n toCheck = [key].concat(aliases[key]);\n if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {\n groups[defaultGroup].push(key);\n }\n });\n return groupedKeys;\n }\n function filterHiddenOptions(key) {\n return (yargs.getOptions().hiddenOptions.indexOf(key) < 0 ||\n yargs.parsed.argv[yargs.getOptions().showHiddenOpt]);\n }\n self.showHelp = (level) => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(self.help());\n };\n self.functionDescription = fn => {\n const description = fn.name\n ? shim.Parser.decamelize(fn.name, '-')\n : __('generated-value');\n return ['(', description, ')'].join('');\n };\n self.stringifiedValues = function stringifiedValues(values, separator) {\n let string = '';\n const sep = separator || ', ';\n const array = [].concat(values);\n if (!values || !array.length)\n return string;\n array.forEach(value => {\n if (string.length)\n string += sep;\n string += JSON.stringify(value);\n });\n return string;\n };\n function defaultString(value, defaultDescription) {\n let string = `[${__('default:')} `;\n if (value === undefined && !defaultDescription)\n return null;\n if (defaultDescription) {\n string += defaultDescription;\n }\n else {\n switch (typeof value) {\n case 'string':\n string += `\"${value}\"`;\n break;\n case 'object':\n string += JSON.stringify(value);\n break;\n default:\n string += value;\n }\n }\n return `${string}]`;\n }\n function windowWidth() {\n const maxWidth = 80;\n if (shim.process.stdColumns) {\n return Math.min(maxWidth, shim.process.stdColumns);\n }\n else {\n return maxWidth;\n }\n }\n let version = null;\n self.version = ver => {\n version = ver;\n };\n self.showVersion = level => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(version);\n };\n self.reset = function reset(localLookup) {\n failMessage = null;\n failureOutput = false;\n usages = [];\n usageDisabled = false;\n epilogs = [];\n examples = [];\n commands = [];\n descriptions = objFilter(descriptions, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n });\n };\n self.unfreeze = function unfreeze(defaultCommand = false) {\n const frozen = frozens.pop();\n if (!frozen)\n return;\n if (defaultCommand) {\n descriptions = { ...frozen.descriptions, ...descriptions };\n commands = [...frozen.commands, ...commands];\n usages = [...frozen.usages, ...usages];\n examples = [...frozen.examples, ...examples];\n epilogs = [...frozen.epilogs, ...epilogs];\n }\n else {\n ({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n } = frozen);\n }\n };\n return self;\n}\nfunction isIndentedText(text) {\n return typeof text === 'object';\n}\nfunction addIndentation(text, indent) {\n return isIndentedText(text)\n ? { text: text.text, indentation: text.indentation + indent }\n : { text, indentation: indent };\n}\nfunction getIndentation(text) {\n return isIndentedText(text) ? text.indentation : 0;\n}\nfunction getText(text) {\n return isIndentedText(text) ? text.text : text;\n}\n","export const completionShTemplate = `###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc\n# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local cur_word args type_list\n\n cur_word=\"\\${COMP_WORDS[COMP_CWORD]}\"\n args=(\"\\${COMP_WORDS[@]}\")\n\n # ask yargs to generate completions.\n # see https://stackoverflow.com/a/40944195/7080036 for the spaces-handling awk\n mapfile -t type_list < <({{app_path}} --get-yargs-completions \"\\${args[@]}\")\n mapfile -t COMPREPLY < <(compgen -W \"$( printf '%q ' \"\\${type_list[@]}\" )\" -- \"\\${cur_word}\" |\n awk '/ / { print \"\\\\\"\"$0\"\\\\\"\" } /^[^ ]+$/ { print $0 }')\n\n # if no match was found, fall back to filename completion\n if [ \\${#COMPREPLY[@]} -eq 0 ]; then\n COMPREPLY=()\n fi\n\n return 0\n}\ncomplete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}\n###-end-{{app_name}}-completions-###\n`;\nexport const completionZshTemplate = `#compdef {{app_name}}\n###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc\n# or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local reply\n local si=$IFS\n IFS=$'\\n' reply=($(COMP_CWORD=\"$((CURRENT-1))\" COMP_LINE=\"$BUFFER\" COMP_POINT=\"$CURSOR\" {{app_path}} --get-yargs-completions \"\\${words[@]}\"))\n IFS=$si\n if [[ \\${#reply} -gt 0 ]]; then\n _describe 'values' reply\n else\n _default\n fi\n}\nif [[ \"'\\${zsh_eval_context[-1]}\" == \"loadautofunc\" ]]; then\n _{{app_name}}_yargs_completions \"$@\"\nelse\n compdef _{{app_name}}_yargs_completions {{app_name}}\nfi\n###-end-{{app_name}}-completions-###\n`;\n","import { isCommandBuilderCallback } from './command.js';\nimport { assertNotStrictEqual } from './typings/common-types.js';\nimport * as templates from './completion-templates.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { parseCommand } from './parse-command.js';\nexport class Completion {\n constructor(yargs, usage, command, shim) {\n var _a, _b, _c;\n this.yargs = yargs;\n this.usage = usage;\n this.command = command;\n this.shim = shim;\n this.completionKey = 'get-yargs-completions';\n this.aliases = null;\n this.customCompletionFunction = null;\n this.indexAfterLastReset = 0;\n this.zshShell =\n (_c = (((_a = this.shim.getEnv('SHELL')) === null || _a === void 0 ? void 0 : _a.includes('zsh')) ||\n ((_b = this.shim.getEnv('ZSH_NAME')) === null || _b === void 0 ? void 0 : _b.includes('zsh')))) !== null && _c !== void 0 ? _c : false;\n }\n defaultCompletion(args, argv, current, done) {\n const handlers = this.command.getCommandHandlers();\n for (let i = 0, ii = args.length; i < ii; ++i) {\n if (handlers[args[i]] && handlers[args[i]].builder) {\n const builder = handlers[args[i]].builder;\n if (isCommandBuilderCallback(builder)) {\n this.indexAfterLastReset = i + 1;\n const y = this.yargs.getInternalMethods().reset();\n builder(y, true);\n return y.argv;\n }\n }\n }\n const completions = [];\n this.commandCompletions(completions, args, current);\n this.optionCompletions(completions, args, argv, current);\n this.choicesFromOptionsCompletions(completions, args, argv, current);\n this.choicesFromPositionalsCompletions(completions, args, argv, current);\n done(null, completions);\n }\n commandCompletions(completions, args, current) {\n const parentCommands = this.yargs\n .getInternalMethods()\n .getContext().commands;\n if (!current.match(/^-/) &&\n parentCommands[parentCommands.length - 1] !== current &&\n !this.previousArgHasChoices(args)) {\n this.usage.getCommands().forEach(usageCommand => {\n const commandName = parseCommand(usageCommand[0]).cmd;\n if (args.indexOf(commandName) === -1) {\n if (!this.zshShell) {\n completions.push(commandName);\n }\n else {\n const desc = usageCommand[1] || '';\n completions.push(commandName.replace(/:/g, '\\\\:') + ':' + desc);\n }\n }\n });\n }\n }\n optionCompletions(completions, args, argv, current) {\n if ((current.match(/^-/) || (current === '' && completions.length === 0)) &&\n !this.previousArgHasChoices(args)) {\n const options = this.yargs.getOptions();\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n Object.keys(options.key).forEach(key => {\n const negable = !!options.configuration['boolean-negation'] &&\n options.boolean.includes(key);\n const isPositionalKey = positionalKeys.includes(key);\n if (!isPositionalKey &&\n !options.hiddenOptions.includes(key) &&\n !this.argsContainKey(args, key, negable)) {\n this.completeOptionKey(key, completions, current, negable && !!options.default[key]);\n }\n });\n }\n }\n choicesFromOptionsCompletions(completions, args, argv, current) {\n if (this.previousArgHasChoices(args)) {\n const choices = this.getPreviousArgChoices(args);\n if (choices && choices.length > 0) {\n completions.push(...choices.map(c => c.replace(/:/g, '\\\\:')));\n }\n }\n }\n choicesFromPositionalsCompletions(completions, args, argv, current) {\n if (current === '' &&\n completions.length > 0 &&\n this.previousArgHasChoices(args)) {\n return;\n }\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n const offset = Math.max(this.indexAfterLastReset, this.yargs.getInternalMethods().getContext().commands.length +\n 1);\n const positionalKey = positionalKeys[argv._.length - offset - 1];\n if (!positionalKey) {\n return;\n }\n const choices = this.yargs.getOptions().choices[positionalKey] || [];\n for (const choice of choices) {\n if (choice.startsWith(current)) {\n completions.push(choice.replace(/:/g, '\\\\:'));\n }\n }\n }\n getPreviousArgChoices(args) {\n if (args.length < 1)\n return;\n let previousArg = args[args.length - 1];\n let filter = '';\n if (!previousArg.startsWith('-') && args.length > 1) {\n filter = previousArg;\n previousArg = args[args.length - 2];\n }\n if (!previousArg.startsWith('-'))\n return;\n const previousArgKey = previousArg.replace(/^-+/, '');\n const options = this.yargs.getOptions();\n const possibleAliases = [\n previousArgKey,\n ...(this.yargs.getAliases()[previousArgKey] || []),\n ];\n let choices;\n for (const possibleAlias of possibleAliases) {\n if (Object.prototype.hasOwnProperty.call(options.key, possibleAlias) &&\n Array.isArray(options.choices[possibleAlias])) {\n choices = options.choices[possibleAlias];\n break;\n }\n }\n if (choices) {\n return choices.filter(choice => !filter || choice.startsWith(filter));\n }\n }\n previousArgHasChoices(args) {\n const choices = this.getPreviousArgChoices(args);\n return choices !== undefined && choices.length > 0;\n }\n argsContainKey(args, key, negable) {\n const argsContains = (s) => args.indexOf((/^[^0-9]$/.test(s) ? '-' : '--') + s) !== -1;\n if (argsContains(key))\n return true;\n if (negable && argsContains(`no-${key}`))\n return true;\n if (this.aliases) {\n for (const alias of this.aliases[key]) {\n if (argsContains(alias))\n return true;\n }\n }\n return false;\n }\n completeOptionKey(key, completions, current, negable) {\n var _a, _b, _c, _d;\n let keyWithDesc = key;\n if (this.zshShell) {\n const descs = this.usage.getDescriptions();\n const aliasKey = (_b = (_a = this === null || this === void 0 ? void 0 : this.aliases) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.find(alias => {\n const desc = descs[alias];\n return typeof desc === 'string' && desc.length > 0;\n });\n const descFromAlias = aliasKey ? descs[aliasKey] : undefined;\n const desc = (_d = (_c = descs[key]) !== null && _c !== void 0 ? _c : descFromAlias) !== null && _d !== void 0 ? _d : '';\n keyWithDesc = `${key.replace(/:/g, '\\\\:')}:${desc\n .replace('__yargsString__:', '')\n .replace(/(\\r\\n|\\n|\\r)/gm, ' ')}`;\n }\n const startsByTwoDashes = (s) => /^--/.test(s);\n const isShortOption = (s) => /^[^0-9]$/.test(s);\n const dashes = !startsByTwoDashes(current) && isShortOption(key) ? '-' : '--';\n completions.push(dashes + keyWithDesc);\n if (negable) {\n completions.push(dashes + 'no-' + keyWithDesc);\n }\n }\n customCompletion(args, argv, current, done) {\n assertNotStrictEqual(this.customCompletionFunction, null, this.shim);\n if (isSyncCompletionFunction(this.customCompletionFunction)) {\n const result = this.customCompletionFunction(current, argv);\n if (isPromise(result)) {\n return result\n .then(list => {\n this.shim.process.nextTick(() => {\n done(null, list);\n });\n })\n .catch(err => {\n this.shim.process.nextTick(() => {\n done(err, undefined);\n });\n });\n }\n return done(null, result);\n }\n else if (isFallbackCompletionFunction(this.customCompletionFunction)) {\n return this.customCompletionFunction(current, argv, (onCompleted = done) => this.defaultCompletion(args, argv, current, onCompleted), completions => {\n done(null, completions);\n });\n }\n else {\n return this.customCompletionFunction(current, argv, completions => {\n done(null, completions);\n });\n }\n }\n getCompletion(args, done) {\n const current = args.length ? args[args.length - 1] : '';\n const argv = this.yargs.parse(args, true);\n const completionFunction = this.customCompletionFunction\n ? (argv) => this.customCompletion(args, argv, current, done)\n : (argv) => this.defaultCompletion(args, argv, current, done);\n return isPromise(argv)\n ? argv.then(completionFunction)\n : completionFunction(argv);\n }\n generateCompletionScript($0, cmd) {\n let script = this.zshShell\n ? templates.completionZshTemplate\n : templates.completionShTemplate;\n const name = this.shim.path.basename($0);\n if ($0.match(/\\.js$/))\n $0 = `./${$0}`;\n script = script.replace(/{{app_name}}/g, name);\n script = script.replace(/{{completion_command}}/g, cmd);\n return script.replace(/{{app_path}}/g, $0);\n }\n registerFunction(fn) {\n this.customCompletionFunction = fn;\n }\n setParsed(parsed) {\n this.aliases = parsed.aliases;\n }\n}\nexport function completion(yargs, usage, command, shim) {\n return new Completion(yargs, usage, command, shim);\n}\nfunction isSyncCompletionFunction(completionFunction) {\n return completionFunction.length < 3;\n}\nfunction isFallbackCompletionFunction(completionFunction) {\n return completionFunction.length > 3;\n}\n","export function levenshtein(a, b) {\n if (a.length === 0)\n return b.length;\n if (b.length === 0)\n return a.length;\n const matrix = [];\n let i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n let j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n }\n else {\n if (i > 1 &&\n j > 1 &&\n b.charAt(i - 2) === a.charAt(j - 1) &&\n b.charAt(i - 1) === a.charAt(j - 2)) {\n matrix[i][j] = matrix[i - 2][j - 2] + 1;\n }\n else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));\n }\n }\n }\n }\n return matrix[b.length][a.length];\n}\n","import { argsert } from './argsert.js';\nimport { assertNotStrictEqual, } from './typings/common-types.js';\nimport { levenshtein as distance } from './utils/levenshtein.js';\nimport { objFilter } from './utils/obj-filter.js';\nconst specialKeys = ['$0', '--', '_'];\nexport function validation(yargs, usage, shim) {\n const __ = shim.y18n.__;\n const __n = shim.y18n.__n;\n const self = {};\n self.nonOptionCount = function nonOptionCount(argv) {\n const demandedCommands = yargs.getDemandedCommands();\n const positionalCount = argv._.length + (argv['--'] ? argv['--'].length : 0);\n const _s = positionalCount - yargs.getInternalMethods().getContext().commands.length;\n if (demandedCommands._ &&\n (_s < demandedCommands._.min || _s > demandedCommands._.max)) {\n if (_s < demandedCommands._.min) {\n if (demandedCommands._.minMsg !== undefined) {\n usage.fail(demandedCommands._.minMsg\n ? demandedCommands._.minMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.min.toString())\n : null);\n }\n else {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', _s, _s.toString(), demandedCommands._.min.toString()));\n }\n }\n else if (_s > demandedCommands._.max) {\n if (demandedCommands._.maxMsg !== undefined) {\n usage.fail(demandedCommands._.maxMsg\n ? demandedCommands._.maxMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.max.toString())\n : null);\n }\n else {\n usage.fail(__n('Too many non-option arguments: got %s, maximum of %s', 'Too many non-option arguments: got %s, maximum of %s', _s, _s.toString(), demandedCommands._.max.toString()));\n }\n }\n }\n };\n self.positionalCount = function positionalCount(required, observed) {\n if (observed < required) {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', observed, observed + '', required + ''));\n }\n };\n self.requiredArguments = function requiredArguments(argv, demandedOptions) {\n let missing = null;\n for (const key of Object.keys(demandedOptions)) {\n if (!Object.prototype.hasOwnProperty.call(argv, key) ||\n typeof argv[key] === 'undefined') {\n missing = missing || {};\n missing[key] = demandedOptions[key];\n }\n }\n if (missing) {\n const customMsgs = [];\n for (const key of Object.keys(missing)) {\n const msg = missing[key];\n if (msg && customMsgs.indexOf(msg) < 0) {\n customMsgs.push(msg);\n }\n }\n const customMsg = customMsgs.length ? `\\n${customMsgs.join('\\n')}` : '';\n usage.fail(__n('Missing required argument: %s', 'Missing required arguments: %s', Object.keys(missing).length, Object.keys(missing).join(', ') + customMsg));\n }\n };\n self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {\n var _a;\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n Object.keys(argv).forEach(key => {\n if (!specialKeys.includes(key) &&\n !Object.prototype.hasOwnProperty.call(positionalMap, key) &&\n !Object.prototype.hasOwnProperty.call(yargs.getInternalMethods().getParseContext(), key) &&\n !self.isValidAndSomeAliasIsNotNew(key, aliases)) {\n unknown.push(key);\n }\n });\n if (checkPositionals &&\n (currentContext.commands.length > 0 ||\n commandKeys.length > 0 ||\n isDefaultCommand)) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (checkPositionals) {\n const demandedCommands = yargs.getDemandedCommands();\n const maxNonOptDemanded = ((_a = demandedCommands._) === null || _a === void 0 ? void 0 : _a.max) || 0;\n const expected = currentContext.commands.length + maxNonOptDemanded;\n if (expected < argv._.length) {\n argv._.slice(expected).forEach(key => {\n key = String(key);\n if (!currentContext.commands.includes(key) &&\n !unknown.includes(key)) {\n unknown.push(key);\n }\n });\n }\n }\n if (unknown.length) {\n usage.fail(__n('Unknown argument: %s', 'Unknown arguments: %s', unknown.length, unknown.map(s => (s.trim() ? s : `\"${s}\"`)).join(', ')));\n }\n };\n self.unknownCommands = function unknownCommands(argv) {\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n if (currentContext.commands.length > 0 || commandKeys.length > 0) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (unknown.length > 0) {\n usage.fail(__n('Unknown command: %s', 'Unknown commands: %s', unknown.length, unknown.join(', ')));\n return true;\n }\n else {\n return false;\n }\n };\n self.isValidAndSomeAliasIsNotNew = function isValidAndSomeAliasIsNotNew(key, aliases) {\n if (!Object.prototype.hasOwnProperty.call(aliases, key)) {\n return false;\n }\n const newAliases = yargs.parsed.newAliases;\n return [key, ...aliases[key]].some(a => !Object.prototype.hasOwnProperty.call(newAliases, a) || !newAliases[key]);\n };\n self.limitedChoices = function limitedChoices(argv) {\n const options = yargs.getOptions();\n const invalid = {};\n if (!Object.keys(options.choices).length)\n return;\n Object.keys(argv).forEach(key => {\n if (specialKeys.indexOf(key) === -1 &&\n Object.prototype.hasOwnProperty.call(options.choices, key)) {\n [].concat(argv[key]).forEach(value => {\n if (options.choices[key].indexOf(value) === -1 &&\n value !== undefined) {\n invalid[key] = (invalid[key] || []).concat(value);\n }\n });\n }\n });\n const invalidKeys = Object.keys(invalid);\n if (!invalidKeys.length)\n return;\n let msg = __('Invalid values:');\n invalidKeys.forEach(key => {\n msg += `\\n ${__('Argument: %s, Given: %s, Choices: %s', key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;\n });\n usage.fail(msg);\n };\n let implied = {};\n self.implies = function implies(key, value) {\n argsert('<string|object> [array|number|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.implies(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!implied[key]) {\n implied[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.implies(key, i));\n }\n else {\n assertNotStrictEqual(value, undefined, shim);\n implied[key].push(value);\n }\n }\n };\n self.getImplied = function getImplied() {\n return implied;\n };\n function keyExists(argv, val) {\n const num = Number(val);\n val = isNaN(num) ? val : num;\n if (typeof val === 'number') {\n val = argv._.length >= val;\n }\n else if (val.match(/^--no-.+/)) {\n val = val.match(/^--no-(.+)/)[1];\n val = !Object.prototype.hasOwnProperty.call(argv, val);\n }\n else {\n val = Object.prototype.hasOwnProperty.call(argv, val);\n }\n return val;\n }\n self.implications = function implications(argv) {\n const implyFail = [];\n Object.keys(implied).forEach(key => {\n const origKey = key;\n (implied[key] || []).forEach(value => {\n let key = origKey;\n const origValue = value;\n key = keyExists(argv, key);\n value = keyExists(argv, value);\n if (key && !value) {\n implyFail.push(` ${origKey} -> ${origValue}`);\n }\n });\n });\n if (implyFail.length) {\n let msg = `${__('Implications failed:')}\\n`;\n implyFail.forEach(value => {\n msg += value;\n });\n usage.fail(msg);\n }\n };\n let conflicting = {};\n self.conflicts = function conflicts(key, value) {\n argsert('<string|object> [array|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.conflicts(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!conflicting[key]) {\n conflicting[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.conflicts(key, i));\n }\n else {\n conflicting[key].push(value);\n }\n }\n };\n self.getConflicting = () => conflicting;\n self.conflicting = function conflictingFn(argv) {\n Object.keys(argv).forEach(key => {\n if (conflicting[key]) {\n conflicting[key].forEach(value => {\n if (value && argv[key] !== undefined && argv[value] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n }\n });\n if (yargs.getInternalMethods().getParserConfiguration()['strip-dashed']) {\n Object.keys(conflicting).forEach(key => {\n conflicting[key].forEach(value => {\n if (value &&\n argv[shim.Parser.camelCase(key)] !== undefined &&\n argv[shim.Parser.camelCase(value)] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n });\n }\n };\n self.recommendCommands = function recommendCommands(cmd, potentialCommands) {\n const threshold = 3;\n potentialCommands = potentialCommands.sort((a, b) => b.length - a.length);\n let recommended = null;\n let bestDistance = Infinity;\n for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {\n const d = distance(cmd, candidate);\n if (d <= threshold && d < bestDistance) {\n bestDistance = d;\n recommended = candidate;\n }\n }\n if (recommended)\n usage.fail(__('Did you mean %s?', recommended));\n };\n self.reset = function reset(localLookup) {\n implied = objFilter(implied, k => !localLookup[k]);\n conflicting = objFilter(conflicting, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n implied,\n conflicting,\n });\n };\n self.unfreeze = function unfreeze() {\n const frozen = frozens.pop();\n assertNotStrictEqual(frozen, undefined, shim);\n ({ implied, conflicting } = frozen);\n };\n return self;\n}\n","import { YError } from '../yerror.js';\nlet previouslyVisitedConfigs = [];\nlet shim;\nexport function applyExtends(config, cwd, mergeExtends, _shim) {\n shim = _shim;\n let defaultConfig = {};\n if (Object.prototype.hasOwnProperty.call(config, 'extends')) {\n if (typeof config.extends !== 'string')\n return defaultConfig;\n const isPath = /\\.json|\\..*rc$/.test(config.extends);\n let pathToDefault = null;\n if (!isPath) {\n try {\n pathToDefault = import.meta.resolve(config.extends);\n }\n catch (_err) {\n return config;\n }\n }\n else {\n pathToDefault = getPathToDefaultConfig(cwd, config.extends);\n }\n checkForCircularExtends(pathToDefault);\n previouslyVisitedConfigs.push(pathToDefault);\n defaultConfig = isPath\n ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))\n : _shim.require(config.extends);\n delete config.extends;\n defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);\n }\n previouslyVisitedConfigs = [];\n return mergeExtends\n ? mergeDeep(defaultConfig, config)\n : Object.assign({}, defaultConfig, config);\n}\nfunction checkForCircularExtends(cfgPath) {\n if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {\n throw new YError(`Circular extended configurations: '${cfgPath}'.`);\n }\n}\nfunction getPathToDefaultConfig(cwd, pathToExtend) {\n return shim.path.resolve(cwd, pathToExtend);\n}\nfunction mergeDeep(config1, config2) {\n const target = {};\n function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n }\n Object.assign(target, config1);\n for (const key of Object.keys(config2)) {\n if (isObject(config2[key]) && isObject(target[key])) {\n target[key] = mergeDeep(config1[key], config2[key]);\n }\n else {\n target[key] = config2[key];\n }\n }\n return target;\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _YargsInstance_command, _YargsInstance_cwd, _YargsInstance_context, _YargsInstance_completion, _YargsInstance_completionCommand, _YargsInstance_defaultShowHiddenOpt, _YargsInstance_exitError, _YargsInstance_detectLocale, _YargsInstance_emittedWarnings, _YargsInstance_exitProcess, _YargsInstance_frozens, _YargsInstance_globalMiddleware, _YargsInstance_groups, _YargsInstance_hasOutput, _YargsInstance_helpOpt, _YargsInstance_isGlobalContext, _YargsInstance_logger, _YargsInstance_output, _YargsInstance_options, _YargsInstance_parentRequire, _YargsInstance_parserConfig, _YargsInstance_parseFn, _YargsInstance_parseContext, _YargsInstance_pkgs, _YargsInstance_preservedGroups, _YargsInstance_processArgs, _YargsInstance_recommendCommands, _YargsInstance_shim, _YargsInstance_strict, _YargsInstance_strictCommands, _YargsInstance_strictOptions, _YargsInstance_usage, _YargsInstance_usageConfig, _YargsInstance_versionOpt, _YargsInstance_validation;\nimport { command as Command, } from './command.js';\nimport { assertNotStrictEqual, assertSingleKey, objectKeys, } from './typings/common-types.js';\nimport { YError } from './yerror.js';\nimport { usage as Usage } from './usage.js';\nimport { argsert } from './argsert.js';\nimport { completion as Completion, } from './completion.js';\nimport { validation as Validation, } from './validation.js';\nimport { objFilter } from './utils/obj-filter.js';\nimport { applyExtends } from './utils/apply-extends.js';\nimport { applyMiddleware, GlobalMiddleware, } from './middleware.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nimport setBlocking from './utils/set-blocking.js';\nexport function YargsFactory(_shim) {\n return (processArgs = [], cwd = _shim.process.cwd(), parentRequire) => {\n const yargs = new YargsInstance(processArgs, cwd, parentRequire, _shim);\n Object.defineProperty(yargs, 'argv', {\n get: () => {\n return yargs.parse();\n },\n enumerable: true,\n });\n yargs.help();\n yargs.version();\n return yargs;\n };\n}\nconst kCopyDoubleDash = Symbol('copyDoubleDash');\nconst kCreateLogger = Symbol('copyDoubleDash');\nconst kDeleteFromParserHintObject = Symbol('deleteFromParserHintObject');\nconst kEmitWarning = Symbol('emitWarning');\nconst kFreeze = Symbol('freeze');\nconst kGetDollarZero = Symbol('getDollarZero');\nconst kGetParserConfiguration = Symbol('getParserConfiguration');\nconst kGetUsageConfiguration = Symbol('getUsageConfiguration');\nconst kGuessLocale = Symbol('guessLocale');\nconst kGuessVersion = Symbol('guessVersion');\nconst kParsePositionalNumbers = Symbol('parsePositionalNumbers');\nconst kPkgUp = Symbol('pkgUp');\nconst kPopulateParserHintArray = Symbol('populateParserHintArray');\nconst kPopulateParserHintSingleValueDictionary = Symbol('populateParserHintSingleValueDictionary');\nconst kPopulateParserHintArrayDictionary = Symbol('populateParserHintArrayDictionary');\nconst kPopulateParserHintDictionary = Symbol('populateParserHintDictionary');\nconst kSanitizeKey = Symbol('sanitizeKey');\nconst kSetKey = Symbol('setKey');\nconst kUnfreeze = Symbol('unfreeze');\nconst kValidateAsync = Symbol('validateAsync');\nconst kGetCommandInstance = Symbol('getCommandInstance');\nconst kGetContext = Symbol('getContext');\nconst kGetHasOutput = Symbol('getHasOutput');\nconst kGetLoggerInstance = Symbol('getLoggerInstance');\nconst kGetParseContext = Symbol('getParseContext');\nconst kGetUsageInstance = Symbol('getUsageInstance');\nconst kGetValidationInstance = Symbol('getValidationInstance');\nconst kHasParseCallback = Symbol('hasParseCallback');\nconst kIsGlobalContext = Symbol('isGlobalContext');\nconst kPostProcess = Symbol('postProcess');\nconst kRebase = Symbol('rebase');\nconst kReset = Symbol('reset');\nconst kRunYargsParserAndExecuteCommands = Symbol('runYargsParserAndExecuteCommands');\nconst kRunValidation = Symbol('runValidation');\nconst kSetHasOutput = Symbol('setHasOutput');\nconst kTrackManuallySetKeys = Symbol('kTrackManuallySetKeys');\nconst DEFAULT_LOCALE = 'en_US';\nexport class YargsInstance {\n constructor(processArgs = [], cwd, parentRequire, shim) {\n this.customScriptName = false;\n this.parsed = false;\n _YargsInstance_command.set(this, void 0);\n _YargsInstance_cwd.set(this, void 0);\n _YargsInstance_context.set(this, { commands: [], fullCommands: [] });\n _YargsInstance_completion.set(this, null);\n _YargsInstance_completionCommand.set(this, null);\n _YargsInstance_defaultShowHiddenOpt.set(this, 'show-hidden');\n _YargsInstance_exitError.set(this, null);\n _YargsInstance_detectLocale.set(this, true);\n _YargsInstance_emittedWarnings.set(this, {});\n _YargsInstance_exitProcess.set(this, true);\n _YargsInstance_frozens.set(this, []);\n _YargsInstance_globalMiddleware.set(this, void 0);\n _YargsInstance_groups.set(this, {});\n _YargsInstance_hasOutput.set(this, false);\n _YargsInstance_helpOpt.set(this, null);\n _YargsInstance_isGlobalContext.set(this, true);\n _YargsInstance_logger.set(this, void 0);\n _YargsInstance_output.set(this, '');\n _YargsInstance_options.set(this, void 0);\n _YargsInstance_parentRequire.set(this, void 0);\n _YargsInstance_parserConfig.set(this, {});\n _YargsInstance_parseFn.set(this, null);\n _YargsInstance_parseContext.set(this, null);\n _YargsInstance_pkgs.set(this, {});\n _YargsInstance_preservedGroups.set(this, {});\n _YargsInstance_processArgs.set(this, void 0);\n _YargsInstance_recommendCommands.set(this, false);\n _YargsInstance_shim.set(this, void 0);\n _YargsInstance_strict.set(this, false);\n _YargsInstance_strictCommands.set(this, false);\n _YargsInstance_strictOptions.set(this, false);\n _YargsInstance_usage.set(this, void 0);\n _YargsInstance_usageConfig.set(this, {});\n _YargsInstance_versionOpt.set(this, null);\n _YargsInstance_validation.set(this, void 0);\n __classPrivateFieldSet(this, _YargsInstance_shim, shim, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_globalMiddleware, new GlobalMiddleware(this), \"f\");\n this.$0 = this[kGetDollarZero]();\n this[kReset]();\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_logger, this[kCreateLogger](), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(DEFAULT_LOCALE);\n }\n addHelpOpt(opt, msg) {\n const defaultHelpOpt = 'help';\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, null, \"f\");\n }\n if (opt === false && msg === undefined)\n return this;\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, typeof opt === 'string' ? opt : defaultHelpOpt, \"f\");\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"), msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show help'));\n return this;\n }\n help(opt, msg) {\n return this.addHelpOpt(opt, msg);\n }\n addShowHiddenOpt(opt, msg) {\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (opt === false && msg === undefined)\n return this;\n const showHiddenOpt = typeof opt === 'string' ? opt : __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n this.boolean(showHiddenOpt);\n this.describe(showHiddenOpt, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show hidden options'));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = showHiddenOpt;\n return this;\n }\n showHidden(opt, msg) {\n return this.addShowHiddenOpt(opt, msg);\n }\n alias(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.alias.bind(this), 'alias', key, value);\n return this;\n }\n array(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('array', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n boolean(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('boolean', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n check(f, global) {\n argsert('<function> [boolean]', [f, global], arguments.length);\n this.middleware((argv, _yargs) => {\n return maybeAsyncResult(() => {\n return f(argv, _yargs.getOptions());\n }, (result) => {\n if (!result) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__('Argument check failed: %s', f.toString()));\n }\n else if (typeof result === 'string' || result instanceof Error) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(result.toString(), result);\n }\n return argv;\n }, (err) => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message ? err.message : err.toString(), err);\n return argv;\n });\n }, false, global);\n return this;\n }\n choices(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.choices.bind(this), 'choices', key, value);\n return this;\n }\n coerce(keys, value) {\n argsert('<object|string|array> [function]', [keys, value], arguments.length);\n if (Array.isArray(keys)) {\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n for (const key of keys) {\n this.coerce(key, value);\n }\n return this;\n }\n else if (typeof keys === 'object') {\n for (const key of Object.keys(keys)) {\n this.coerce(key, keys[key]);\n }\n return this;\n }\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n const coerceKey = keys;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[coerceKey] = true;\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addCoerceMiddleware((argv, yargs) => {\n var _a;\n const coerceKeyAliases = (_a = yargs.getAliases()[coerceKey]) !== null && _a !== void 0 ? _a : [];\n const argvKeys = [coerceKey, ...coerceKeyAliases].filter(key => Object.prototype.hasOwnProperty.call(argv, key));\n if (argvKeys.length === 0) {\n return argv;\n }\n return maybeAsyncResult(() => {\n return value(argv[argvKeys[0]]);\n }, (result) => {\n argvKeys.forEach(key => {\n argv[key] = result;\n });\n return argv;\n }, (err) => {\n throw new YError(err.message);\n });\n }, coerceKey);\n return this;\n }\n conflicts(key1, key2) {\n argsert('<string|object> [string|array]', [key1, key2], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicts(key1, key2);\n return this;\n }\n config(key = 'config', msg, parseFn) {\n argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);\n if (typeof key === 'object' && !Array.isArray(key)) {\n key = applyExtends(key, __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(key);\n return this;\n }\n if (typeof msg === 'function') {\n parseFn = msg;\n msg = undefined;\n }\n this.describe(key, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Path to JSON config file'));\n (Array.isArray(key) ? key : [key]).forEach(k => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").config[k] = parseFn || true;\n });\n return this;\n }\n completion(cmd, desc, fn) {\n argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);\n if (typeof desc === 'function') {\n fn = desc;\n desc = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion', \"f\");\n if (!desc && desc !== false) {\n desc = 'generate completion script';\n }\n this.command(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"), desc);\n if (fn)\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").registerFunction(fn);\n return this;\n }\n command(cmd, description, builder, handler, middlewares, deprecated) {\n argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addHandler(cmd, description, builder, handler, middlewares, deprecated);\n return this;\n }\n commands(cmd, description, builder, handler, middlewares, deprecated) {\n return this.command(cmd, description, builder, handler, middlewares, deprecated);\n }\n commandDir(dir, opts) {\n argsert('<string> [object]', [dir, opts], arguments.length);\n const req = __classPrivateFieldGet(this, _YargsInstance_parentRequire, \"f\") || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").require;\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addDirectory(dir, req, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getCallerFile(), opts);\n return this;\n }\n count(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('count', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n default(key, value, defaultDescription) {\n argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);\n if (defaultDescription) {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = defaultDescription;\n }\n if (typeof value === 'function') {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key])\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] =\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").functionDescription(value);\n value = value.call();\n }\n this[kPopulateParserHintSingleValueDictionary](this.default.bind(this), 'default', key, value);\n return this;\n }\n defaults(key, value, defaultDescription) {\n return this.default(key, value, defaultDescription);\n }\n demandCommand(min = 1, max, minMsg, maxMsg) {\n argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);\n if (typeof max !== 'number') {\n minMsg = max;\n max = Infinity;\n }\n this.global('_', false);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands._ = {\n min,\n max,\n minMsg,\n maxMsg,\n };\n return this;\n }\n demand(keys, max, msg) {\n if (Array.isArray(max)) {\n max.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n max = Infinity;\n }\n else if (typeof max !== 'number') {\n msg = max;\n max = Infinity;\n }\n if (typeof keys === 'number') {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandCommand(keys, max, msg, msg);\n }\n else if (Array.isArray(keys)) {\n keys.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n }\n else {\n if (typeof msg === 'string') {\n this.demandOption(keys, msg);\n }\n else if (msg === true || typeof msg === 'undefined') {\n this.demandOption(keys);\n }\n }\n return this;\n }\n demandOption(keys, msg) {\n argsert('<object|string|array> [string]', [keys, msg], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.demandOption.bind(this), 'demandedOptions', keys, msg);\n return this;\n }\n deprecateOption(option, message) {\n argsert('<string> [string|boolean]', [option, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions[option] = message;\n return this;\n }\n describe(keys, description) {\n argsert('<object|string|array> [string]', [keys, description], arguments.length);\n this[kSetKey](keys, true);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").describe(keys, description);\n return this;\n }\n detectLocale(detect) {\n argsert('<boolean>', [detect], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, detect, \"f\");\n return this;\n }\n env(prefix) {\n argsert('[string|boolean]', [prefix], arguments.length);\n if (prefix === false)\n delete __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n else\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix = prefix || '';\n return this;\n }\n epilogue(msg) {\n argsert('<string>', [msg], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").epilog(msg);\n return this;\n }\n epilog(msg) {\n return this.epilogue(msg);\n }\n example(cmd, description) {\n argsert('<string|array> [string]', [cmd, description], arguments.length);\n if (Array.isArray(cmd)) {\n cmd.forEach(exampleParams => this.example(...exampleParams));\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").example(cmd, description);\n }\n return this;\n }\n exit(code, err) {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, err, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.exit(code);\n }\n exitProcess(enabled = true) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, enabled, \"f\");\n return this;\n }\n fail(f) {\n argsert('<function|boolean>', [f], arguments.length);\n if (typeof f === 'boolean' && f !== false) {\n throw new YError(\"Invalid first argument. Expected function or boolean 'false'\");\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").failFn(f);\n return this;\n }\n getAliases() {\n return this.parsed ? this.parsed.aliases : {};\n }\n async getCompletion(args, done) {\n argsert('<array> [function]', [args, done], arguments.length);\n if (!done) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, (err, completions) => {\n if (err)\n reject(err);\n else\n resolve(completions);\n });\n });\n }\n else {\n return __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, done);\n }\n }\n getDemandedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedOptions;\n }\n getDemandedCommands() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands;\n }\n getDeprecatedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions;\n }\n getDetectLocale() {\n return __classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\");\n }\n getExitProcess() {\n return __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\");\n }\n getGroups() {\n return Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"), __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"));\n }\n getHelp() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n return parse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n return builderResponse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n return Promise.resolve(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help());\n }\n getOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\");\n }\n getStrict() {\n return __classPrivateFieldGet(this, _YargsInstance_strict, \"f\");\n }\n getStrictCommands() {\n return __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\");\n }\n getStrictOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\");\n }\n global(globals, global) {\n argsert('<string|array> [boolean]', [globals, global], arguments.length);\n globals = [].concat(globals);\n if (global !== false) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.filter(l => globals.indexOf(l) === -1);\n }\n else {\n globals.forEach(g => {\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.includes(g))\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.push(g);\n });\n }\n return this;\n }\n group(opts, groupName) {\n argsert('<string|array> <string>', [opts, groupName], arguments.length);\n const existing = __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName] || __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName];\n if (__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName]) {\n delete __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName];\n }\n const seen = {};\n __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName] = (existing || []).concat(opts).filter(key => {\n if (seen[key])\n return false;\n return (seen[key] = true);\n });\n return this;\n }\n hide(key) {\n argsert('<string>', [key], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").hiddenOptions.push(key);\n return this;\n }\n implies(key, value) {\n argsert('<string|object> [number|string|array]', [key, value], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implies(key, value);\n return this;\n }\n locale(locale) {\n argsert('[string]', [locale], arguments.length);\n if (locale === undefined) {\n this[kGuessLocale]();\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.getLocale();\n }\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(locale);\n return this;\n }\n middleware(callback, applyBeforeValidation, global) {\n return __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addMiddleware(callback, !!applyBeforeValidation, global);\n }\n nargs(key, value) {\n argsert('<string|object|array> [number]', [key, value], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.nargs.bind(this), 'narg', key, value);\n return this;\n }\n normalize(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('normalize', keys);\n return this;\n }\n number(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('number', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n option(key, opt) {\n argsert('<string|object> [object]', [key, opt], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n this.options(k, key[k]);\n });\n }\n else {\n if (typeof opt !== 'object') {\n opt = {};\n }\n this[kTrackManuallySetKeys](key);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && (key === 'version' || (opt === null || opt === void 0 ? void 0 : opt.alias) === 'version')) {\n this[kEmitWarning]([\n '\"version\" is a reserved word.',\n 'Please do one of the following:',\n '- Disable version with `yargs.version(false)` if using \"version\" as an option',\n '- Use the built-in `yargs.version` method instead (if applicable)',\n '- Use a different option key',\n 'https://yargs.js.org/docs/#api-reference-version',\n ].join('\\n'), undefined, 'versionWarning');\n }\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[key] = true;\n if (opt.alias)\n this.alias(key, opt.alias);\n const deprecate = opt.deprecate || opt.deprecated;\n if (deprecate) {\n this.deprecateOption(key, deprecate);\n }\n const demand = opt.demand || opt.required || opt.require;\n if (demand) {\n this.demand(key, demand);\n }\n if (opt.demandOption) {\n this.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);\n }\n if (opt.conflicts) {\n this.conflicts(key, opt.conflicts);\n }\n if ('default' in opt) {\n this.default(key, opt.default);\n }\n if (opt.implies !== undefined) {\n this.implies(key, opt.implies);\n }\n if (opt.nargs !== undefined) {\n this.nargs(key, opt.nargs);\n }\n if (opt.config) {\n this.config(key, opt.configParser);\n }\n if (opt.normalize) {\n this.normalize(key);\n }\n if (opt.choices) {\n this.choices(key, opt.choices);\n }\n if (opt.coerce) {\n this.coerce(key, opt.coerce);\n }\n if (opt.group) {\n this.group(key, opt.group);\n }\n if (opt.boolean || opt.type === 'boolean') {\n this.boolean(key);\n if (opt.alias)\n this.boolean(opt.alias);\n }\n if (opt.array || opt.type === 'array') {\n this.array(key);\n if (opt.alias)\n this.array(opt.alias);\n }\n if (opt.number || opt.type === 'number') {\n this.number(key);\n if (opt.alias)\n this.number(opt.alias);\n }\n if (opt.string || opt.type === 'string') {\n this.string(key);\n if (opt.alias)\n this.string(opt.alias);\n }\n if (opt.count || opt.type === 'count') {\n this.count(key);\n }\n if (typeof opt.global === 'boolean') {\n this.global(key, opt.global);\n }\n if (opt.defaultDescription) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = opt.defaultDescription;\n }\n if (opt.skipValidation) {\n this.skipValidation(key);\n }\n const desc = opt.describe || opt.description || opt.desc;\n const descriptions = __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions();\n if (!Object.prototype.hasOwnProperty.call(descriptions, key) ||\n typeof desc === 'string') {\n this.describe(key, desc);\n }\n if (opt.hidden) {\n this.hide(key);\n }\n if (opt.requiresArg) {\n this.requiresArg(key);\n }\n }\n return this;\n }\n options(key, opt) {\n return this.option(key, opt);\n }\n parse(args, shortCircuit, _parseFn) {\n argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);\n this[kFreeze]();\n if (typeof args === 'undefined') {\n args = __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n }\n if (typeof shortCircuit === 'object') {\n __classPrivateFieldSet(this, _YargsInstance_parseContext, shortCircuit, \"f\");\n shortCircuit = _parseFn;\n }\n if (typeof shortCircuit === 'function') {\n __classPrivateFieldSet(this, _YargsInstance_parseFn, shortCircuit, \"f\");\n shortCircuit = false;\n }\n if (!shortCircuit)\n __classPrivateFieldSet(this, _YargsInstance_processArgs, args, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, false, \"f\");\n const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);\n const tmpParsed = this.parsed;\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").setParsed(this.parsed);\n if (isPromise(parsed)) {\n return parsed\n .then(argv => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n return argv;\n })\n .catch(err => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")(err, this.parsed.argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n }\n throw err;\n })\n .finally(() => {\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n });\n }\n else {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), parsed, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n }\n return parsed;\n }\n parseAsync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n return !isPromise(maybePromise)\n ? Promise.resolve(maybePromise)\n : maybePromise;\n }\n parseSync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n if (isPromise(maybePromise)) {\n throw new YError('.parseSync() must not be used with asynchronous builders, handlers, or middleware');\n }\n return maybePromise;\n }\n parserConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_parserConfig, config, \"f\");\n return this;\n }\n pkgConf(key, rootPath) {\n argsert('<string> [string]', [key, rootPath], arguments.length);\n let conf = null;\n const obj = this[kPkgUp](rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"));\n if (obj[key] && typeof obj[key] === 'object') {\n conf = applyExtends(obj[key], rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(conf);\n }\n return this;\n }\n positional(key, opts) {\n argsert('<string> <object>', [key, opts], arguments.length);\n const supportedOpts = [\n 'default',\n 'defaultDescription',\n 'implies',\n 'normalize',\n 'choices',\n 'conflicts',\n 'coerce',\n 'type',\n 'describe',\n 'desc',\n 'description',\n 'alias',\n ];\n opts = objFilter(opts, (k, v) => {\n if (k === 'type' && !['string', 'number', 'boolean'].includes(v))\n return false;\n return supportedOpts.includes(k);\n });\n const fullCommand = __classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands[__classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands.length - 1];\n const parseOptions = fullCommand\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").cmdToParseOptions(fullCommand)\n : {\n array: [],\n alias: {},\n default: {},\n demand: {},\n };\n objectKeys(parseOptions).forEach(pk => {\n const parseOption = parseOptions[pk];\n if (Array.isArray(parseOption)) {\n if (parseOption.indexOf(key) !== -1)\n opts[pk] = true;\n }\n else {\n if (parseOption[key] && !(pk in opts))\n opts[pk] = parseOption[key];\n }\n });\n this.group(key, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getPositionalGroupName());\n return this.option(key, opts);\n }\n recommendCommands(recommend = true) {\n argsert('[boolean]', [recommend], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_recommendCommands, recommend, \"f\");\n return this;\n }\n required(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n require(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n requiresArg(keys) {\n argsert('<array|string|object> [number]', [keys], arguments.length);\n if (typeof keys === 'string' && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").narg[keys]) {\n return this;\n }\n else {\n this[kPopulateParserHintSingleValueDictionary](this.requiresArg.bind(this), 'narg', keys, NaN);\n }\n return this;\n }\n showCompletionScript($0, cmd) {\n argsert('[string] [string]', [$0, cmd], arguments.length);\n $0 = $0 || this.$0;\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").generateCompletionScript($0, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion'));\n return this;\n }\n showHelp(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n parse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n builderResponse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n return this;\n }\n scriptName(scriptName) {\n this.customScriptName = true;\n this.$0 = scriptName;\n return this;\n }\n showHelpOnFail(enabled, message) {\n argsert('[boolean|string] [string]', [enabled, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelpOnFail(enabled, message);\n return this;\n }\n showVersion(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion(level);\n return this;\n }\n skipValidation(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('skipValidation', keys);\n return this;\n }\n strict(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strict, enabled !== false, \"f\");\n return this;\n }\n strictCommands(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictCommands, enabled !== false, \"f\");\n return this;\n }\n strictOptions(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictOptions, enabled !== false, \"f\");\n return this;\n }\n string(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('string', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n terminalWidth() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.stdColumns;\n }\n updateLocale(obj) {\n return this.updateStrings(obj);\n }\n updateStrings(obj) {\n argsert('<object>', [obj], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.updateLocale(obj);\n return this;\n }\n usage(msg, description, builder, handler) {\n argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);\n if (description !== undefined) {\n assertNotStrictEqual(msg, null, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if ((msg || '').match(/^\\$0( |$)/)) {\n return this.command(msg, description, builder, handler);\n }\n else {\n throw new YError('.usage() description must start with $0 if being used as alias for .command()');\n }\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").usage(msg);\n return this;\n }\n }\n usageConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_usageConfig, config, \"f\");\n return this;\n }\n version(opt, msg, ver) {\n const defaultVersionOpt = 'version';\n argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(undefined);\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, null, \"f\");\n }\n if (arguments.length === 0) {\n ver = this[kGuessVersion]();\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 1) {\n if (opt === false) {\n return this;\n }\n ver = opt;\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 2) {\n ver = msg;\n msg = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, typeof opt === 'string' ? opt : defaultVersionOpt, \"f\");\n msg = msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show version number');\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(ver || undefined);\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"), msg);\n return this;\n }\n wrap(cols) {\n argsert('<number|null|undefined>', [cols], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").wrap(cols);\n return this;\n }\n [(_YargsInstance_command = new WeakMap(), _YargsInstance_cwd = new WeakMap(), _YargsInstance_context = new WeakMap(), _YargsInstance_completion = new WeakMap(), _YargsInstance_completionCommand = new WeakMap(), _YargsInstance_defaultShowHiddenOpt = new WeakMap(), _YargsInstance_exitError = new WeakMap(), _YargsInstance_detectLocale = new WeakMap(), _YargsInstance_emittedWarnings = new WeakMap(), _YargsInstance_exitProcess = new WeakMap(), _YargsInstance_frozens = new WeakMap(), _YargsInstance_globalMiddleware = new WeakMap(), _YargsInstance_groups = new WeakMap(), _YargsInstance_hasOutput = new WeakMap(), _YargsInstance_helpOpt = new WeakMap(), _YargsInstance_isGlobalContext = new WeakMap(), _YargsInstance_logger = new WeakMap(), _YargsInstance_output = new WeakMap(), _YargsInstance_options = new WeakMap(), _YargsInstance_parentRequire = new WeakMap(), _YargsInstance_parserConfig = new WeakMap(), _YargsInstance_parseFn = new WeakMap(), _YargsInstance_parseContext = new WeakMap(), _YargsInstance_pkgs = new WeakMap(), _YargsInstance_preservedGroups = new WeakMap(), _YargsInstance_processArgs = new WeakMap(), _YargsInstance_recommendCommands = new WeakMap(), _YargsInstance_shim = new WeakMap(), _YargsInstance_strict = new WeakMap(), _YargsInstance_strictCommands = new WeakMap(), _YargsInstance_strictOptions = new WeakMap(), _YargsInstance_usage = new WeakMap(), _YargsInstance_usageConfig = new WeakMap(), _YargsInstance_versionOpt = new WeakMap(), _YargsInstance_validation = new WeakMap(), kCopyDoubleDash)](argv) {\n if (!argv._ || !argv['--'])\n return argv;\n argv._.push.apply(argv._, argv['--']);\n try {\n delete argv['--'];\n }\n catch (_err) { }\n return argv;\n }\n [kCreateLogger]() {\n return {\n log: (...args) => {\n if (!this[kHasParseCallback]())\n console.log(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n error: (...args) => {\n if (!this[kHasParseCallback]())\n console.error(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n };\n }\n [kDeleteFromParserHintObject](optionKey) {\n objectKeys(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")).forEach((hintKey) => {\n if (((key) => key === 'configObjects')(hintKey))\n return;\n const hint = __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[hintKey];\n if (Array.isArray(hint)) {\n if (hint.includes(optionKey))\n hint.splice(hint.indexOf(optionKey), 1);\n }\n else if (typeof hint === 'object') {\n delete hint[optionKey];\n }\n });\n delete __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions()[optionKey];\n }\n [kEmitWarning](warning, type, deduplicationId) {\n if (!__classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId]) {\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.emitWarning(warning, type);\n __classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId] = true;\n }\n }\n [kFreeze]() {\n __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").push({\n options: __classPrivateFieldGet(this, _YargsInstance_options, \"f\"),\n configObjects: __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects.slice(0),\n exitProcess: __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"),\n groups: __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"),\n strict: __classPrivateFieldGet(this, _YargsInstance_strict, \"f\"),\n strictCommands: __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\"),\n strictOptions: __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\"),\n completionCommand: __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"),\n output: __classPrivateFieldGet(this, _YargsInstance_output, \"f\"),\n exitError: __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"),\n hasOutput: __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\"),\n parsed: this.parsed,\n parseFn: __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"),\n parseContext: __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"),\n });\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").freeze();\n }\n [kGetDollarZero]() {\n let $0 = '';\n let default$0;\n if (/\\b(node|iojs|electron)(\\.exe)?$/.test(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv()[0])) {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(1, 2);\n }\n else {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(0, 1);\n }\n $0 = default$0\n .map(x => {\n const b = this[kRebase](__classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), x);\n return x.match(/^(\\/|([a-zA-Z]:)?\\\\)/) && b.length < x.length ? b : x;\n })\n .join(' ')\n .trim();\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_') &&\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getProcessArgvBin() === __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_')) {\n $0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")\n .getEnv('_')\n .replace(`${__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.execPath())}/`, '');\n }\n return $0;\n }\n [kGetParserConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_parserConfig, \"f\");\n }\n [kGetUsageConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_usageConfig, \"f\");\n }\n [kGuessLocale]() {\n if (!__classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\"))\n return;\n const locale = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_ALL') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_MESSAGES') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANG') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANGUAGE') ||\n 'en_US';\n this.locale(locale.replace(/[.:].*/, ''));\n }\n [kGuessVersion]() {\n const obj = this[kPkgUp]();\n return obj.version || 'unknown';\n }\n [kParsePositionalNumbers](argv) {\n const args = argv['--'] ? argv['--'] : argv._;\n for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.looksLikeNumber(arg) &&\n Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {\n args[i] = Number(arg);\n }\n }\n return argv;\n }\n [kPkgUp](rootPath) {\n const npath = rootPath || '*';\n if (__classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath])\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n let obj = {};\n try {\n let startDir = rootPath || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").mainFilename;\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.extname(startDir)) {\n startDir = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(startDir);\n }\n const pkgJsonPath = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").findUp(startDir, (dir, names) => {\n if (names.includes('package.json')) {\n return 'package.json';\n }\n else {\n return undefined;\n }\n });\n assertNotStrictEqual(pkgJsonPath, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n obj = JSON.parse(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").readFileSync(pkgJsonPath, 'utf8'));\n }\n catch (_noop) { }\n __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath] = obj || {};\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n }\n [kPopulateParserHintArray](type, keys) {\n keys = [].concat(keys);\n keys.forEach(key => {\n key = this[kSanitizeKey](key);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type].push(key);\n });\n }\n [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = value;\n });\n }\n [kPopulateParserHintArrayDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] || []).concat(value);\n });\n }\n [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {\n if (Array.isArray(key)) {\n key.forEach(k => {\n builder(k, value);\n });\n }\n else if (((key) => typeof key === 'object')(key)) {\n for (const k of objectKeys(key)) {\n builder(k, key[k]);\n }\n }\n else {\n singleKeyHandler(type, this[kSanitizeKey](key), value);\n }\n }\n [kSanitizeKey](key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n }\n [kSetKey](key, set) {\n this[kPopulateParserHintSingleValueDictionary](this[kSetKey].bind(this), 'key', key, set);\n return this;\n }\n [kUnfreeze]() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").pop();\n assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n let configObjects;\n (_a = this, _b = this, _c = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {\n options: ({ set value(_o) { __classPrivateFieldSet(_a, _YargsInstance_options, _o, \"f\"); } }).value,\n configObjects,\n exitProcess: ({ set value(_o) { __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, \"f\"); } }).value,\n groups: ({ set value(_o) { __classPrivateFieldSet(_c, _YargsInstance_groups, _o, \"f\"); } }).value,\n output: ({ set value(_o) { __classPrivateFieldSet(_d, _YargsInstance_output, _o, \"f\"); } }).value,\n exitError: ({ set value(_o) { __classPrivateFieldSet(_e, _YargsInstance_exitError, _o, \"f\"); } }).value,\n hasOutput: ({ set value(_o) { __classPrivateFieldSet(_f, _YargsInstance_hasOutput, _o, \"f\"); } }).value,\n parsed: this.parsed,\n strict: ({ set value(_o) { __classPrivateFieldSet(_g, _YargsInstance_strict, _o, \"f\"); } }).value,\n strictCommands: ({ set value(_o) { __classPrivateFieldSet(_h, _YargsInstance_strictCommands, _o, \"f\"); } }).value,\n strictOptions: ({ set value(_o) { __classPrivateFieldSet(_j, _YargsInstance_strictOptions, _o, \"f\"); } }).value,\n completionCommand: ({ set value(_o) { __classPrivateFieldSet(_k, _YargsInstance_completionCommand, _o, \"f\"); } }).value,\n parseFn: ({ set value(_o) { __classPrivateFieldSet(_l, _YargsInstance_parseFn, _o, \"f\"); } }).value,\n parseContext: ({ set value(_o) { __classPrivateFieldSet(_m, _YargsInstance_parseContext, _o, \"f\"); } }).value,\n } = frozen);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = configObjects;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").unfreeze();\n }\n [kValidateAsync](validation, argv) {\n return maybeAsyncResult(argv, result => {\n validation(result);\n return result;\n });\n }\n getInternalMethods() {\n return {\n getCommandInstance: this[kGetCommandInstance].bind(this),\n getContext: this[kGetContext].bind(this),\n getHasOutput: this[kGetHasOutput].bind(this),\n getLoggerInstance: this[kGetLoggerInstance].bind(this),\n getParseContext: this[kGetParseContext].bind(this),\n getParserConfiguration: this[kGetParserConfiguration].bind(this),\n getUsageConfiguration: this[kGetUsageConfiguration].bind(this),\n getUsageInstance: this[kGetUsageInstance].bind(this),\n getValidationInstance: this[kGetValidationInstance].bind(this),\n hasParseCallback: this[kHasParseCallback].bind(this),\n isGlobalContext: this[kIsGlobalContext].bind(this),\n postProcess: this[kPostProcess].bind(this),\n reset: this[kReset].bind(this),\n runValidation: this[kRunValidation].bind(this),\n runYargsParserAndExecuteCommands: this[kRunYargsParserAndExecuteCommands].bind(this),\n setHasOutput: this[kSetHasOutput].bind(this),\n };\n }\n [kGetCommandInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_command, \"f\");\n }\n [kGetContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_context, \"f\");\n }\n [kGetHasOutput]() {\n return __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\");\n }\n [kGetLoggerInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_logger, \"f\");\n }\n [kGetParseContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\") || {};\n }\n [kGetUsageInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\");\n }\n [kGetValidationInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_validation, \"f\");\n }\n [kHasParseCallback]() {\n return !!__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\");\n }\n [kIsGlobalContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_isGlobalContext, \"f\");\n }\n [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {\n if (calledFromCommand)\n return argv;\n if (isPromise(argv))\n return argv;\n if (!populateDoubleDash) {\n argv = this[kCopyDoubleDash](argv);\n }\n const parsePositionalNumbers = this[kGetParserConfiguration]()['parse-positional-numbers'] ||\n this[kGetParserConfiguration]()['parse-positional-numbers'] === undefined;\n if (parsePositionalNumbers) {\n argv = this[kParsePositionalNumbers](argv);\n }\n if (runGlobalMiddleware) {\n argv = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n }\n return argv;\n }\n [kReset](aliases = {}) {\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\") || {}, \"f\");\n const tmpOptions = {};\n tmpOptions.local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local || [];\n tmpOptions.configObjects = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || [];\n const localLookup = {};\n tmpOptions.local.forEach(l => {\n localLookup[l] = true;\n (aliases[l] || []).forEach(a => {\n localLookup[a] = true;\n });\n });\n Object.assign(__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"), Object.keys(__classPrivateFieldGet(this, _YargsInstance_groups, \"f\")).reduce((acc, groupName) => {\n const keys = __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName].filter(key => !(key in localLookup));\n if (keys.length > 0) {\n acc[groupName] = keys;\n }\n return acc;\n }, {}));\n __classPrivateFieldSet(this, _YargsInstance_groups, {}, \"f\");\n const arrayOptions = [\n 'array',\n 'boolean',\n 'string',\n 'skipValidation',\n 'count',\n 'normalize',\n 'number',\n 'hiddenOptions',\n ];\n const objectOptions = [\n 'narg',\n 'key',\n 'alias',\n 'default',\n 'defaultDescription',\n 'config',\n 'choices',\n 'demandedOptions',\n 'demandedCommands',\n 'deprecatedOptions',\n ];\n arrayOptions.forEach(k => {\n tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k] || []).filter((k) => !localLookup[k]);\n });\n objectOptions.forEach((k) => {\n tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k], k => !localLookup[k]);\n });\n tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").reset(localLookup)\n : Usage(this, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").reset(localLookup)\n : Validation(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").reset()\n : Command(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_completion, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_completion, Completion(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").reset();\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, '', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, false, \"f\");\n this.parsed = false;\n return this;\n }\n [kRebase](base, dir) {\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.relative(base, dir);\n }\n [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {\n var _a, _b, _c, _d;\n let skipValidation = !!calledFromCommand || helpOnly;\n args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").__ = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration = this[kGetParserConfiguration]();\n const populateDoubleDash = !!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration['populate--'];\n const config = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration, {\n 'populate--': true,\n });\n const parsed = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.detailed(args, Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), {\n configuration: { 'parse-positional-numbers': false, ...config },\n }));\n const argv = Object.assign(parsed.argv, __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"));\n let argvPromise = undefined;\n const aliases = parsed.aliases;\n let helpOptSet = false;\n let versionOptSet = false;\n Object.keys(argv).forEach(key => {\n if (key === __classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\") && argv[key]) {\n helpOptSet = true;\n }\n else if (key === __classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && argv[key]) {\n versionOptSet = true;\n }\n });\n argv.$0 = this.$0;\n this.parsed = parsed;\n if (commandIndex === 0) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").clearCachedHelpMessage();\n }\n try {\n this[kGuessLocale]();\n if (shortCircuit) {\n return this[kPostProcess](argv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n const helpCmds = [__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")]\n .concat(aliases[__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")] || [])\n .filter(k => k.length > 1);\n if (helpCmds.includes('' + argv._[argv._.length - 1])) {\n argv._.pop();\n helpOptSet = true;\n }\n }\n __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, \"f\");\n const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").getCommands();\n const requestCompletions = ((_a = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _a === void 0 ? void 0 : _a.completionKey)\n ? [\n (_b = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _b === void 0 ? void 0 : _b.completionKey,\n ...((_d = this.getAliases()[(_c = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _c === void 0 ? void 0 : _c.completionKey]) !== null && _d !== void 0 ? _d : []),\n ].some((key) => Object.prototype.hasOwnProperty.call(argv, key))\n : false;\n const skipRecommendation = helpOptSet || requestCompletions || helpOnly;\n if (argv._.length) {\n if (handlerKeys.length) {\n let firstUnknownCommand;\n for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {\n cmd = String(argv._[i]);\n if (handlerKeys.includes(cmd) && cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(cmd, this, parsed, i + 1, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n else if (!firstUnknownCommand &&\n cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n firstUnknownCommand = cmd;\n break;\n }\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() &&\n __classPrivateFieldGet(this, _YargsInstance_recommendCommands, \"f\") &&\n firstUnknownCommand &&\n !skipRecommendation) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").recommendCommands(firstUnknownCommand, handlerKeys);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") &&\n argv._.includes(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) &&\n !requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n this.showCompletionScript();\n this.exit(0);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() && !skipRecommendation) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(null, this, parsed, 0, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n args = [].concat(args);\n const completionArgs = args.slice(args.indexOf(`--${__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").completionKey}`) + 1);\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(completionArgs, (err, completions) => {\n if (err)\n throw new YError(err.message);\n (completions || []).forEach(completion => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(completion);\n });\n this.exit(0);\n });\n return this[kPostProcess](argv, !populateDoubleDash, !!calledFromCommand, false);\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\")) {\n if (helpOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n this.showHelp(message => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(message);\n this.exit(0);\n });\n }\n else if (versionOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion('log');\n this.exit(0);\n }\n }\n if (!skipValidation && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.length > 0) {\n skipValidation = Object.keys(argv).some(key => __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.indexOf(key) >= 0 && argv[key] === true);\n }\n if (!skipValidation) {\n if (parsed.error)\n throw new YError(parsed.error.message);\n if (!requestCompletions) {\n const validation = this[kRunValidation](aliases, {}, parsed.error);\n if (!calledFromCommand) {\n argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), true);\n }\n argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv);\n if (isPromise(argvPromise) && !calledFromCommand) {\n argvPromise = argvPromise.then(() => {\n return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n });\n }\n }\n }\n }\n catch (err) {\n if (err instanceof YError)\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message, err);\n else\n throw err;\n }\n return this[kPostProcess](argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv, populateDoubleDash, !!calledFromCommand, true);\n }\n [kRunValidation](aliases, positionalMap, parseErrors, isDefaultCommand) {\n const demandedOptions = { ...this.getDemandedOptions() };\n return (argv) => {\n if (parseErrors)\n throw new YError(parseErrors.message);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").nonOptionCount(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").requiredArguments(argv, demandedOptions);\n let failedStrictCommands = false;\n if (__classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\")) {\n failedStrictCommands = __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownCommands(argv);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_strict, \"f\") && !failedStrictCommands) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, positionalMap, !!isDefaultCommand);\n }\n else if (__classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, {}, false, false);\n }\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").limitedChoices(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implications(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicting(argv);\n };\n }\n [kSetHasOutput]() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n }\n [kTrackManuallySetKeys](keys) {\n if (typeof keys === 'string') {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[keys] = true;\n }\n else {\n for (const k of keys) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[k] = true;\n }\n }\n }\n}\nexport function isYargsInstance(y) {\n return !!y && typeof y.getInternalMethods === 'function';\n}\n","'use strict';\n\n// Bootstraps yargs for ESM:\nimport esmPlatformShim from './lib/platform-shims/esm.mjs';\nimport {YargsFactory} from './build/lib/yargs-factory.js';\n\nconst Yargs = YargsFactory(esmPlatformShim);\nexport default Yargs;\n\nexport {Yargs as 'module.exports'};\n"],"x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"mappings":"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"}