@provartesting/provardx-cli 1.5.0-beta.4 → 1.5.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -13
- package/lib/commands/provar/auth/login.js +3 -1
- package/lib/commands/provar/auth/login.js.map +1 -1
- package/lib/mcp/tools/automationTools.d.ts +33 -2
- package/lib/mcp/tools/automationTools.js +232 -38
- package/lib/mcp/tools/automationTools.js.map +1 -1
- package/lib/mcp/tools/rcaTools.js +94 -19
- package/lib/mcp/tools/rcaTools.js.map +1 -1
- package/lib/mcp/tools/testCaseValidate.js +34 -2
- package/lib/mcp/tools/testCaseValidate.js.map +1 -1
- package/lib/services/auth/credentials.js +5 -2
- package/lib/services/auth/credentials.js.map +1 -1
- package/lib/services/auth/loginFlow.d.ts +9 -2
- package/lib/services/auth/loginFlow.js +47 -14
- package/lib/services/auth/loginFlow.js.map +1 -1
- package/lib/services/qualityHub/client.js +2 -2
- package/lib/services/qualityHub/client.js.map +1 -1
- package/messages/sf.provar.auth.clear.md +3 -0
- package/messages/sf.provar.auth.status.md +3 -0
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,10 +11,12 @@ The Provar DX CLI is a Salesforce CLI plugin for Provar customers who want to au
|
|
|
11
11
|
|
|
12
12
|
# Installation, Update, and Uninstall
|
|
13
13
|
|
|
14
|
+
**Requires Node.js 18–24 (LTS 22 recommended).** Node 25+ is not yet supported due to a breaking change in a transitive dependency. Check with `node --version`.
|
|
15
|
+
|
|
14
16
|
Install the plugin
|
|
15
17
|
|
|
16
18
|
```sh-session
|
|
17
|
-
$ sf plugins install @provartesting/provardx-cli
|
|
19
|
+
$ sf plugins install @provartesting/provardx-cli@beta
|
|
18
20
|
```
|
|
19
21
|
|
|
20
22
|
Update plugins
|
|
@@ -33,28 +35,45 @@ $ sf plugins uninstall @provartesting/provardx-cli
|
|
|
33
35
|
|
|
34
36
|
The Provar DX CLI includes a built-in **Model Context Protocol (MCP) server** that connects AI assistants (Claude Desktop, Claude Code, Cursor) directly to your Provar project. Once connected, an AI agent can inspect your project structure, generate Page Objects and test cases, validate every level of the test hierarchy with quality scores, and work with NitroX (Hybrid Model) component page objects for LWC, Screen Flow, Industry Components, Experience Cloud, and HTML5.
|
|
35
37
|
|
|
36
|
-
Validation runs in two modes: **local only** (structural rules, no key required) or **Quality Hub API** (170+ rules, quality scoring — requires a `pv_k_` API key).
|
|
38
|
+
Validation runs in two modes: **local only** (structural rules, no key required) or **Quality Hub API** (170+ rules, quality scoring — requires a `pv_k_` API key). Don't have an account? **[Request access](https://aqqlrlhga7.execute-api.us-east-1.amazonaws.com/dev/auth/request-access)**.
|
|
39
|
+
|
|
40
|
+
## Quick setup
|
|
41
|
+
|
|
42
|
+
**Requires:** Provar Automation IDE installed with an activated license.
|
|
37
43
|
|
|
38
44
|
```sh
|
|
39
|
-
|
|
45
|
+
# 1. Install the plugin — @beta is required for MCP support
|
|
46
|
+
sf plugins install @provartesting/provardx-cli@beta
|
|
47
|
+
|
|
48
|
+
# 2. (Optional) Authenticate for full 170+ rule validation
|
|
49
|
+
sf provar auth login
|
|
40
50
|
```
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
**Claude Code** — run once to register the server:
|
|
43
53
|
|
|
44
|
-
|
|
54
|
+
```sh
|
|
55
|
+
claude mcp add provar -s user -- sf provar mcp start --allowed-paths /path/to/your/provar/project
|
|
56
|
+
```
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
**Claude Desktop** — add to your config file and restart the app:
|
|
47
59
|
|
|
48
|
-
|
|
60
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
61
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
49
62
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"mcpServers": {
|
|
66
|
+
"provar": {
|
|
67
|
+
"command": "sf",
|
|
68
|
+
"args": ["provar", "mcp", "start", "--allowed-paths", "/path/to/your/provar/project"]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
54
73
|
|
|
55
|
-
|
|
74
|
+
> **Windows (Claude Desktop):** Use `sf.cmd` instead of `sf` if the server fails to start.
|
|
56
75
|
|
|
57
|
-
|
|
76
|
+
📖 **[docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md) — full setup, all 35+ tools, troubleshooting.**
|
|
58
77
|
|
|
59
78
|
---
|
|
60
79
|
|
|
@@ -236,6 +255,11 @@ TOOLS EXPOSED
|
|
|
236
255
|
provar.testplan.add-instance — wire a test case into a plan suite by writing a .testinstance file
|
|
237
256
|
provar.testplan.create-suite — create a new test suite directory with .planitem inside a plan
|
|
238
257
|
provar.testplan.remove-instance — remove a .testinstance file from a plan suite
|
|
258
|
+
provar.nitrox.discover — discover projects containing NitroX (Hybrid Model) page objects
|
|
259
|
+
provar.nitrox.read — read NitroX .po.json files and return parsed content
|
|
260
|
+
provar.nitrox.validate — validate a NitroX .po.json against schema rules
|
|
261
|
+
provar.nitrox.generate — generate a new NitroX .po.json from a component description
|
|
262
|
+
provar.nitrox.patch — apply a JSON merge-patch to an existing NitroX .po.json file
|
|
239
263
|
|
|
240
264
|
EXAMPLES
|
|
241
265
|
Start MCP server (accepts stdio connections from Claude Desktop / Cursor):
|
|
@@ -70,7 +70,9 @@ export default class SfProvarAuthLogin extends SfCommand {
|
|
|
70
70
|
}
|
|
71
71
|
catch (err) {
|
|
72
72
|
if (err instanceof QualityHubAuthError) {
|
|
73
|
-
this.error(`No Provar MCP account found for this login.\nRequest access at: ${REQUEST_ACCESS_URL}`, {
|
|
73
|
+
this.error(`No Provar MCP account found for this login.\nRequest access at: ${REQUEST_ACCESS_URL}`, {
|
|
74
|
+
exit: 1,
|
|
75
|
+
});
|
|
74
76
|
}
|
|
75
77
|
throw err;
|
|
76
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/provar/auth/login.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/provar/auth/login.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAEhD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAAC;AAE9F,+DAA+D;AAC/D,2FAA2F;AAC3F,MAAM,sBAAsB,GAAG,qDAAqD,CAAC;AACrF,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAe;IACrD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC7B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,sBAAsB,CAAC;QAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,iBAAiB,CAAC;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAEpD,0EAA0E;QAC1E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,YAAY,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QAE9C,2EAA2E;QAC3E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,oBAAoB,IAAI,WAAW,CAAC;QAExD,0EAA0E;QAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,aAAa,mBAAmB,CAAC,CAAC;QAC1E,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACvD,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC3D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC/D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;QACrF,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9C,2EAA2E;QAC3E,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,4CAA4C,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChF,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEtE,2EAA2E;QAC3E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC;YACzD,IAAI,EAAE,QAAQ;YACd,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,aAAa,EAAE,WAAW,aAAa,eAAe;SACvD,CAAC,CAAC;QAEH,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,mEAAmE,kBAAkB,EAAE,EAAE;oBAClG,IAAI,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,0EAA0E;QAC1E,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE;YAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,kBAAkB,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAClE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
3
|
import type { ServerConfig } from '../server.js';
|
|
3
4
|
/**
|
|
@@ -5,9 +6,39 @@ import type { ServerConfig } from '../server.js';
|
|
|
5
6
|
* Used as a fallback when `sf` is not in PATH.
|
|
6
7
|
*/
|
|
7
8
|
export declare function getSfCommonPaths(): string[];
|
|
8
|
-
/**
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Exposed for testing only — pre-seeds the cached sf executable path, bypassing the probe spawn.
|
|
11
|
+
* Pass `undefined` to reset the cache so the next call triggers a fresh probe.
|
|
12
|
+
*/
|
|
13
|
+
export declare function setSfPathCacheForTesting(value: string | null | undefined): void;
|
|
14
|
+
/** Exposed for testing only — overrides process.platform for needsWindowsShell decisions. */
|
|
15
|
+
export declare function setSfPlatformForTesting(platform: NodeJS.Platform | undefined): void;
|
|
16
|
+
/**
|
|
17
|
+
* Returns true when spawning `executable` requires the Windows shell.
|
|
18
|
+
* On Windows, `.cmd` and `.bat` batch scripts cannot be executed directly by
|
|
19
|
+
* Node's spawnSync — they must be invoked through cmd.exe (i.e. shell: true).
|
|
20
|
+
* The bare name "sf" also needs this treatment on Windows because the file on
|
|
21
|
+
* disk is actually "sf.cmd" and Node won't auto-append the extension.
|
|
22
|
+
*
|
|
23
|
+
* The `platform` parameter defaults to `process.platform` and is exposed for
|
|
24
|
+
* unit testing so tests can verify both Windows and non-Windows behaviour
|
|
25
|
+
* without having to run on the corresponding OS.
|
|
26
|
+
*/
|
|
27
|
+
export declare function needsWindowsShell(executable: string, platform?: NodeJS.Platform): boolean;
|
|
10
28
|
export declare function registerAutomationConfigLoad(server: McpServer, config: ServerConfig): void;
|
|
29
|
+
/**
|
|
30
|
+
* Strip Java schema-validator debug lines and stale logger-lock SEVERE warnings
|
|
31
|
+
* from Provar testrun output. These two patterns account for the bulk of output
|
|
32
|
+
* volume and cause MCP responses to be truncated before the pass/fail lines.
|
|
33
|
+
*
|
|
34
|
+
* Everything else (including real SEVERE failures) passes through unchanged.
|
|
35
|
+
* Collapses runs of blank lines to a single blank to keep the output readable.
|
|
36
|
+
* Returns the filtered text and the count of suppressed lines.
|
|
37
|
+
*/
|
|
38
|
+
export declare function filterTestRunOutput(raw: string): {
|
|
39
|
+
filtered: string;
|
|
40
|
+
suppressed: number;
|
|
41
|
+
};
|
|
11
42
|
export declare function registerAutomationTestRun(server: McpServer): void;
|
|
12
43
|
export declare function registerAutomationCompile(server: McpServer): void;
|
|
13
44
|
export declare function registerAutomationMetadataDownload(server: McpServer): void;
|
|
@@ -42,7 +42,9 @@ export function getSfCommonPaths() {
|
|
|
42
42
|
candidates.push(path.join(nvmBinDir, v, 'bin', 'sf'));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
catch {
|
|
45
|
+
catch {
|
|
46
|
+
/* skip */
|
|
47
|
+
}
|
|
46
48
|
}
|
|
47
49
|
return candidates;
|
|
48
50
|
}
|
|
@@ -51,19 +53,69 @@ const MAX_BUFFER = 50 * 1024 * 1024; // 50 MB — prevents ENOBUFS on verbose Pr
|
|
|
51
53
|
// Proactively resolve the sf executable path once on first use and cache it.
|
|
52
54
|
// This ensures sf is always found even when ENOENT is masked by other errors (e.g. ENOBUFS).
|
|
53
55
|
let cachedSfPath; // undefined = not yet probed
|
|
54
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Exposed for testing only — pre-seeds the cached sf executable path, bypassing the probe spawn.
|
|
58
|
+
* Pass `undefined` to reset the cache so the next call triggers a fresh probe.
|
|
59
|
+
*/
|
|
55
60
|
export function setSfPathCacheForTesting(value) {
|
|
56
61
|
cachedSfPath = value;
|
|
57
62
|
}
|
|
63
|
+
// Platform override used in tests so Windows-specific shell logic can be exercised on any OS.
|
|
64
|
+
let sfPlatformOverride;
|
|
65
|
+
/** Exposed for testing only — overrides process.platform for needsWindowsShell decisions. */
|
|
66
|
+
export function setSfPlatformForTesting(platform) {
|
|
67
|
+
sfPlatformOverride = platform;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Returns true when spawning `executable` requires the Windows shell.
|
|
71
|
+
* On Windows, `.cmd` and `.bat` batch scripts cannot be executed directly by
|
|
72
|
+
* Node's spawnSync — they must be invoked through cmd.exe (i.e. shell: true).
|
|
73
|
+
* The bare name "sf" also needs this treatment on Windows because the file on
|
|
74
|
+
* disk is actually "sf.cmd" and Node won't auto-append the extension.
|
|
75
|
+
*
|
|
76
|
+
* The `platform` parameter defaults to `process.platform` and is exposed for
|
|
77
|
+
* unit testing so tests can verify both Windows and non-Windows behaviour
|
|
78
|
+
* without having to run on the corresponding OS.
|
|
79
|
+
*/
|
|
80
|
+
export function needsWindowsShell(executable, platform = process.platform) {
|
|
81
|
+
if (platform !== 'win32')
|
|
82
|
+
return false;
|
|
83
|
+
const lower = executable.toLowerCase();
|
|
84
|
+
return lower.endsWith('.cmd') || lower.endsWith('.bat') || !path.extname(lower);
|
|
85
|
+
}
|
|
58
86
|
function resolveSfExecutable() {
|
|
59
87
|
if (cachedSfPath !== undefined)
|
|
60
88
|
return cachedSfPath;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
89
|
+
const platform = sfPlatformOverride ?? process.platform;
|
|
90
|
+
// Two-phase probe avoids false-positives on Windows with shell:true.
|
|
91
|
+
// When shell:true is used, cmd.exe spawns successfully even when `sf` is
|
|
92
|
+
// missing — it exits non-zero with "not recognised" in stderr but sets no
|
|
93
|
+
// probe.error. Trying shell:false first catches both cases correctly.
|
|
94
|
+
//
|
|
95
|
+
// Phase 1: shell:false (works on Linux/macOS; gives ENOENT on Windows if
|
|
96
|
+
// sf.cmd is on PATH but requires the shell).
|
|
97
|
+
const probe = sfSpawnHelper.spawnSync('sf', ['--version'], {
|
|
98
|
+
encoding: 'utf-8',
|
|
99
|
+
shell: false,
|
|
100
|
+
maxBuffer: 1024 * 1024,
|
|
101
|
+
});
|
|
102
|
+
if (!probe.error && probe.status === 0) {
|
|
64
103
|
cachedSfPath = 'sf';
|
|
65
104
|
return cachedSfPath;
|
|
66
105
|
}
|
|
106
|
+
// Phase 2 (Windows only): retry with shell:true when the plain probe failed
|
|
107
|
+
// with ENOENT — meaning sf.cmd exists on PATH but can't run without the shell.
|
|
108
|
+
if (platform === 'win32' && probe.error?.code === 'ENOENT') {
|
|
109
|
+
const probeShell = sfSpawnHelper.spawnSync('sf', ['--version'], {
|
|
110
|
+
encoding: 'utf-8',
|
|
111
|
+
shell: true,
|
|
112
|
+
maxBuffer: 1024 * 1024,
|
|
113
|
+
});
|
|
114
|
+
if (!probeShell.error && probeShell.status === 0) {
|
|
115
|
+
cachedSfPath = 'sf';
|
|
116
|
+
return cachedSfPath;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
67
119
|
// Fall back to common install locations
|
|
68
120
|
for (const candidate of getSfCommonPaths()) {
|
|
69
121
|
if (fs.existsSync(candidate)) {
|
|
@@ -74,12 +126,34 @@ function resolveSfExecutable() {
|
|
|
74
126
|
cachedSfPath = null;
|
|
75
127
|
return null;
|
|
76
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Reject shell metacharacters in an sf_path that will be executed via shell:true.
|
|
131
|
+
* On Windows, cmd.exe interprets & | ; < > ` ' " and newlines as shell syntax.
|
|
132
|
+
* A valid filesystem path should never contain these characters.
|
|
133
|
+
*/
|
|
134
|
+
function assertShellSafePath(sfPath) {
|
|
135
|
+
if (/[&|;<>`'"\n\r]/.test(sfPath)) {
|
|
136
|
+
throw Object.assign(new Error('sf_path contains characters that are unsafe for shell execution on Windows ' +
|
|
137
|
+
'(& | ; < > ` \' " or line-breaks). Provide an absolute filesystem path to the sf executable.'), { code: 'INVALID_SF_PATH' });
|
|
138
|
+
}
|
|
139
|
+
}
|
|
77
140
|
function runSfCommand(args, sfPath) {
|
|
78
141
|
// Use explicit path if provided; otherwise use cached probe result
|
|
79
142
|
const executable = sfPath ?? resolveSfExecutable();
|
|
80
143
|
if (!executable)
|
|
81
144
|
throw new SfNotFoundError();
|
|
82
|
-
const
|
|
145
|
+
const platform = sfPlatformOverride ?? process.platform;
|
|
146
|
+
const useShell = needsWindowsShell(executable, platform);
|
|
147
|
+
// Guard against injection when shell:true is used with a user-supplied path.
|
|
148
|
+
// Common install locations returned by resolveSfExecutable() are safe by construction.
|
|
149
|
+
if (useShell && sfPath) {
|
|
150
|
+
assertShellSafePath(sfPath);
|
|
151
|
+
}
|
|
152
|
+
const result = sfSpawnHelper.spawnSync(executable, args, {
|
|
153
|
+
encoding: 'utf-8',
|
|
154
|
+
shell: useShell,
|
|
155
|
+
maxBuffer: MAX_BUFFER,
|
|
156
|
+
});
|
|
83
157
|
if (result.error) {
|
|
84
158
|
const err = result.error;
|
|
85
159
|
if (err.code === 'ENOENT') {
|
|
@@ -98,7 +172,12 @@ function handleSpawnError(err, requestId, toolName) {
|
|
|
98
172
|
log('error', `${toolName} failed`, { requestId, error: error.message });
|
|
99
173
|
return {
|
|
100
174
|
isError: true,
|
|
101
|
-
content: [
|
|
175
|
+
content: [
|
|
176
|
+
{
|
|
177
|
+
type: 'text',
|
|
178
|
+
text: JSON.stringify(makeError(error.code ?? 'SF_ERROR', error.message, requestId, false)),
|
|
179
|
+
},
|
|
180
|
+
],
|
|
102
181
|
};
|
|
103
182
|
}
|
|
104
183
|
// ── Tool: provar.automation.config.load ──────────────────────────────────────
|
|
@@ -109,28 +188,86 @@ export function registerAutomationConfigLoad(server, config) {
|
|
|
109
188
|
'REQUIRED before provar.automation.compile or provar.automation.testrun — without this step those commands fail with MISSING_FILE.',
|
|
110
189
|
'Typical workflow: provar.automation.config.load → provar.automation.compile → provar.automation.testrun.',
|
|
111
190
|
].join(' '), {
|
|
112
|
-
properties_path: z
|
|
113
|
-
|
|
191
|
+
properties_path: z
|
|
192
|
+
.string()
|
|
193
|
+
.describe('Absolute path to the provardx-properties.json file to register as active configuration'),
|
|
194
|
+
sf_path: z
|
|
195
|
+
.string()
|
|
196
|
+
.optional()
|
|
197
|
+
.describe('Path to the sf CLI executable when not in PATH (e.g. "~/.nvm/versions/node/v22.0.0/bin/sf")'),
|
|
114
198
|
}, ({ properties_path, sf_path }) => {
|
|
115
199
|
const requestId = makeRequestId();
|
|
116
200
|
log('info', 'provar.automation.config.load', { requestId, properties_path });
|
|
117
201
|
try {
|
|
118
202
|
assertPathAllowed(properties_path, config.allowedPaths);
|
|
119
203
|
const result = runSfCommand(['provar', 'automation', 'config', 'load', '--properties-file', properties_path], sf_path);
|
|
120
|
-
const response = {
|
|
204
|
+
const response = {
|
|
205
|
+
requestId,
|
|
206
|
+
exitCode: result.exitCode,
|
|
207
|
+
stdout: result.stdout,
|
|
208
|
+
stderr: result.stderr,
|
|
209
|
+
properties_path,
|
|
210
|
+
};
|
|
121
211
|
if (result.exitCode !== 0) {
|
|
122
|
-
return {
|
|
212
|
+
return {
|
|
213
|
+
isError: true,
|
|
214
|
+
content: [
|
|
215
|
+
{
|
|
216
|
+
type: 'text',
|
|
217
|
+
text: JSON.stringify(makeError('AUTOMATION_CONFIG_LOAD_FAILED', result.stderr || result.stdout, requestId)),
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
};
|
|
123
221
|
}
|
|
124
222
|
return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
|
|
125
223
|
}
|
|
126
224
|
catch (err) {
|
|
127
225
|
if (err instanceof PathPolicyError) {
|
|
128
|
-
return {
|
|
226
|
+
return {
|
|
227
|
+
isError: true,
|
|
228
|
+
content: [
|
|
229
|
+
{ type: 'text', text: JSON.stringify(makeError(err.code, err.message, requestId, false)) },
|
|
230
|
+
],
|
|
231
|
+
};
|
|
129
232
|
}
|
|
130
233
|
return handleSpawnError(err, requestId, 'provar.automation.config.load');
|
|
131
234
|
}
|
|
132
235
|
});
|
|
133
236
|
}
|
|
237
|
+
// ── Testrun output filter ─────────────────────────────────────────────────────
|
|
238
|
+
const NOISE_PATTERNS = [/com\.networknt\.schema/, /SEVERE.*Failed to configure logger.*\.lck/];
|
|
239
|
+
/**
|
|
240
|
+
* Strip Java schema-validator debug lines and stale logger-lock SEVERE warnings
|
|
241
|
+
* from Provar testrun output. These two patterns account for the bulk of output
|
|
242
|
+
* volume and cause MCP responses to be truncated before the pass/fail lines.
|
|
243
|
+
*
|
|
244
|
+
* Everything else (including real SEVERE failures) passes through unchanged.
|
|
245
|
+
* Collapses runs of blank lines to a single blank to keep the output readable.
|
|
246
|
+
* Returns the filtered text and the count of suppressed lines.
|
|
247
|
+
*/
|
|
248
|
+
export function filterTestRunOutput(raw) {
|
|
249
|
+
const lines = raw.split(/\r?\n/);
|
|
250
|
+
const kept = [];
|
|
251
|
+
let suppressed = 0;
|
|
252
|
+
let lastKeptWasBlank = false;
|
|
253
|
+
for (const rawLine of lines) {
|
|
254
|
+
const line = rawLine.endsWith('\r') ? rawLine.slice(0, -1) : rawLine;
|
|
255
|
+
if (NOISE_PATTERNS.some((p) => p.test(line))) {
|
|
256
|
+
suppressed++;
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
const isBlank = line.trim() === '';
|
|
260
|
+
if (isBlank && lastKeptWasBlank)
|
|
261
|
+
continue; // collapse blank runs
|
|
262
|
+
kept.push(line);
|
|
263
|
+
lastKeptWasBlank = isBlank;
|
|
264
|
+
}
|
|
265
|
+
let filtered = kept.join('\n');
|
|
266
|
+
if (suppressed > 0) {
|
|
267
|
+
filtered += `\n[testrun: ${suppressed} lines suppressed (schema validator / logger noise) — use provar.testrun.rca for full results]`;
|
|
268
|
+
}
|
|
269
|
+
return { filtered, suppressed };
|
|
270
|
+
}
|
|
134
271
|
// ── Tool: provar.automation.testrun ───────────────────────────────────────────
|
|
135
272
|
export function registerAutomationTestRun(server) {
|
|
136
273
|
server.tool('provar.automation.testrun', [
|
|
@@ -141,17 +278,37 @@ export function registerAutomationTestRun(server) {
|
|
|
141
278
|
'For grid/CI execution via Provar Quality Hub instead of running locally, use provar.qualityhub.testrun.',
|
|
142
279
|
'Typical local AI loop: config.load → compile → testrun → inspect results.',
|
|
143
280
|
].join(' '), {
|
|
144
|
-
flags: z
|
|
145
|
-
|
|
281
|
+
flags: z
|
|
282
|
+
.array(z.string())
|
|
283
|
+
.optional()
|
|
284
|
+
.default([])
|
|
285
|
+
.describe('Raw CLI flags to forward (e.g. ["--project-path", "/path/to/project"])'),
|
|
286
|
+
sf_path: z
|
|
287
|
+
.string()
|
|
288
|
+
.optional()
|
|
289
|
+
.describe('Path to the sf CLI executable when not in PATH (e.g. "~/.nvm/versions/node/v22.0.0/bin/sf")'),
|
|
146
290
|
}, ({ flags, sf_path }) => {
|
|
147
291
|
const requestId = makeRequestId();
|
|
148
292
|
log('info', 'provar.automation.testrun', { requestId });
|
|
149
293
|
try {
|
|
150
294
|
const result = runSfCommand(['provar', 'automation', 'test', 'run', ...flags], sf_path);
|
|
151
|
-
const
|
|
295
|
+
const { filtered, suppressed } = filterTestRunOutput(result.stdout);
|
|
152
296
|
if (result.exitCode !== 0) {
|
|
153
|
-
|
|
297
|
+
const { filtered: filteredErr, suppressed: suppressedErr } = filterTestRunOutput(result.stderr || result.stdout);
|
|
298
|
+
const errBody = {
|
|
299
|
+
...makeError('AUTOMATION_TESTRUN_FAILED', filteredErr, requestId),
|
|
300
|
+
...(suppressedErr > 0 ? { output_lines_suppressed: suppressedErr } : {}),
|
|
301
|
+
};
|
|
302
|
+
return { isError: true, content: [{ type: 'text', text: JSON.stringify(errBody) }] };
|
|
154
303
|
}
|
|
304
|
+
const response = {
|
|
305
|
+
requestId,
|
|
306
|
+
exitCode: result.exitCode,
|
|
307
|
+
stdout: filtered,
|
|
308
|
+
stderr: result.stderr,
|
|
309
|
+
};
|
|
310
|
+
if (suppressed > 0)
|
|
311
|
+
response['output_lines_suppressed'] = suppressed;
|
|
155
312
|
return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
|
|
156
313
|
}
|
|
157
314
|
catch (err) {
|
|
@@ -166,8 +323,15 @@ export function registerAutomationCompile(server) {
|
|
|
166
323
|
'PREREQUISITE: Run provar.automation.config.load first to register a provardx-properties.json — without this the command fails with MISSING_FILE.',
|
|
167
324
|
'Run this before triggering a test run after modifying test cases.',
|
|
168
325
|
].join(' '), {
|
|
169
|
-
flags: z
|
|
170
|
-
|
|
326
|
+
flags: z
|
|
327
|
+
.array(z.string())
|
|
328
|
+
.optional()
|
|
329
|
+
.default([])
|
|
330
|
+
.describe('Raw CLI flags to forward (e.g. ["--project-path", "/path/to/project"])'),
|
|
331
|
+
sf_path: z
|
|
332
|
+
.string()
|
|
333
|
+
.optional()
|
|
334
|
+
.describe('Path to the sf CLI executable when not in PATH (e.g. "~/.nvm/versions/node/v22.0.0/bin/sf")'),
|
|
171
335
|
}, ({ flags, sf_path }) => {
|
|
172
336
|
const requestId = makeRequestId();
|
|
173
337
|
log('info', 'provar.automation.compile', { requestId });
|
|
@@ -175,7 +339,15 @@ export function registerAutomationCompile(server) {
|
|
|
175
339
|
const result = runSfCommand(['provar', 'automation', 'project', 'compile', ...flags], sf_path);
|
|
176
340
|
const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
|
|
177
341
|
if (result.exitCode !== 0) {
|
|
178
|
-
return {
|
|
342
|
+
return {
|
|
343
|
+
isError: true,
|
|
344
|
+
content: [
|
|
345
|
+
{
|
|
346
|
+
type: 'text',
|
|
347
|
+
text: JSON.stringify(makeError('AUTOMATION_COMPILE_FAILED', result.stderr || result.stdout, requestId)),
|
|
348
|
+
},
|
|
349
|
+
],
|
|
350
|
+
};
|
|
179
351
|
}
|
|
180
352
|
return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
|
|
181
353
|
}
|
|
@@ -200,8 +372,15 @@ export function registerAutomationMetadataDownload(server) {
|
|
|
200
372
|
'If the download fails with [DOWNLOAD_ERROR], this is almost always a Salesforce authentication issue —',
|
|
201
373
|
'check that the credentials in the project .secrets file are current and that any referenced scratch orgs have not expired.',
|
|
202
374
|
].join(' '), {
|
|
203
|
-
flags: z
|
|
204
|
-
|
|
375
|
+
flags: z
|
|
376
|
+
.array(z.string())
|
|
377
|
+
.optional()
|
|
378
|
+
.default([])
|
|
379
|
+
.describe('Raw CLI flags to forward. Use ["-c", "Name1,Name2"] (or the equivalent --connections form) to target specific connections. Example: ["-c", "MyOrg,SandboxOrg"]'),
|
|
380
|
+
sf_path: z
|
|
381
|
+
.string()
|
|
382
|
+
.optional()
|
|
383
|
+
.describe('Path to the sf CLI executable when not in PATH (e.g. "~/.nvm/versions/node/v22.0.0/bin/sf")'),
|
|
205
384
|
}, ({ flags, sf_path }) => {
|
|
206
385
|
const requestId = makeRequestId();
|
|
207
386
|
log('info', 'provar.automation.metadata.download', { requestId });
|
|
@@ -213,7 +392,15 @@ export function registerAutomationMetadataDownload(server) {
|
|
|
213
392
|
const details = isDownloadError
|
|
214
393
|
? { suggestion: DOWNLOAD_ERROR_SUGGESTION }
|
|
215
394
|
: undefined;
|
|
216
|
-
return {
|
|
395
|
+
return {
|
|
396
|
+
isError: true,
|
|
397
|
+
content: [
|
|
398
|
+
{
|
|
399
|
+
type: 'text',
|
|
400
|
+
text: JSON.stringify(makeError('AUTOMATION_METADATA_FAILED', message, requestId, false, details)),
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
};
|
|
217
404
|
}
|
|
218
405
|
const response = { requestId, exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
|
|
219
406
|
return { content: [{ type: 'text', text: JSON.stringify(response) }], structuredContent: response };
|
|
@@ -226,17 +413,9 @@ export function registerAutomationMetadataDownload(server) {
|
|
|
226
413
|
// ── Tool: provar.automation.setup ─────────────────────────────────────────────
|
|
227
414
|
/** Known system-level Provar install paths per platform. */
|
|
228
415
|
const SYSTEM_INSTALL_BASES = {
|
|
229
|
-
win32: [
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
],
|
|
233
|
-
darwin: [
|
|
234
|
-
'/Applications',
|
|
235
|
-
],
|
|
236
|
-
linux: [
|
|
237
|
-
'/opt',
|
|
238
|
-
'/usr/local',
|
|
239
|
-
],
|
|
416
|
+
win32: ['C:/Program Files', 'C:/Program Files (x86)'],
|
|
417
|
+
darwin: ['/Applications'],
|
|
418
|
+
linux: ['/opt', '/usr/local'],
|
|
240
419
|
};
|
|
241
420
|
/** Try to read a Provar version string from well-known files inside an install dir. */
|
|
242
421
|
function readProvarVersion(installPath) {
|
|
@@ -320,9 +499,19 @@ export function registerAutomationSetup(server) {
|
|
|
320
499
|
'If an existing installation is found, returns its path so you can set provarHome in the properties file — skipping the download unless force is true.',
|
|
321
500
|
'After a successful install, update the provarHome property in provardx-properties.json to the returned install_path using provar.properties.set.',
|
|
322
501
|
].join(' '), {
|
|
323
|
-
version: z
|
|
324
|
-
|
|
325
|
-
|
|
502
|
+
version: z
|
|
503
|
+
.string()
|
|
504
|
+
.optional()
|
|
505
|
+
.describe('Specific Provar Automation version to install, e.g. "2.12.0". Omit to install the latest release.'),
|
|
506
|
+
force: z
|
|
507
|
+
.boolean()
|
|
508
|
+
.optional()
|
|
509
|
+
.default(false)
|
|
510
|
+
.describe('Force a fresh download even if an existing installation is already detected (default: false).'),
|
|
511
|
+
sf_path: z
|
|
512
|
+
.string()
|
|
513
|
+
.optional()
|
|
514
|
+
.describe('Path to the sf CLI executable when not in PATH (e.g. "~/.nvm/versions/node/v22.0.0/bin/sf")'),
|
|
326
515
|
}, ({ version, force, sf_path }) => {
|
|
327
516
|
const requestId = makeRequestId();
|
|
328
517
|
log('info', 'provar.automation.setup', { requestId, version, force });
|
|
@@ -354,12 +543,17 @@ export function registerAutomationSetup(server) {
|
|
|
354
543
|
if (result.exitCode !== 0) {
|
|
355
544
|
return {
|
|
356
545
|
isError: true,
|
|
357
|
-
content: [
|
|
546
|
+
content: [
|
|
547
|
+
{
|
|
548
|
+
type: 'text',
|
|
549
|
+
text: JSON.stringify(makeError('AUTOMATION_SETUP_FAILED', result.stderr || result.stdout, requestId)),
|
|
550
|
+
},
|
|
551
|
+
],
|
|
358
552
|
};
|
|
359
553
|
}
|
|
360
554
|
// ── 3. Locate the freshly installed ProvarHome ───────────────────────
|
|
361
555
|
const freshInstalls = findExistingInstallations();
|
|
362
|
-
const localInstall = freshInstalls.find(i => i.source === 'local') ?? freshInstalls[0];
|
|
556
|
+
const localInstall = freshInstalls.find((i) => i.source === 'local') ?? freshInstalls[0];
|
|
363
557
|
const installPath = localInstall?.path ?? path.resolve(process.cwd(), 'ProvarHome');
|
|
364
558
|
const detectedVersion = localInstall?.version ?? version ?? null;
|
|
365
559
|
const response = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automationTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/automationTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"automationTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/automationTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChF,OAAO;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC3D,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;KACvC,CAAC;IACF,6DAA6D;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACnG,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACvE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kDAAkD;AAQvF,6EAA6E;AAC7E,6FAA6F;AAC7F,IAAI,YAAuC,CAAC,CAAC,6BAA6B;AAE1E;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAgC;IACvE,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,8FAA8F;AAC9F,IAAI,kBAA+C,CAAC;AACpD,6FAA6F;AAC7F,MAAM,UAAU,uBAAuB,CAAC,QAAqC;IAC3E,kBAAkB,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ;IAC/E,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IACpD,MAAM,QAAQ,GAAG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAExD,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,EAAE;IACF,yEAAyE;IACzE,6CAA6C;IAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;QACzD,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI,GAAG,IAAI;KACvB,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,OAAO,IAAK,KAAK,CAAC,KAA2C,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClG,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;YAC9D,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,GAAG,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,EAAE,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,SAAS,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CACP,6EAA6E;YAC3E,8FAA8F,CACjG,EACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,MAAe;IACnD,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,eAAe,EAAE,CAAC;IAE7C,MAAM,QAAQ,GAAG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEzD,6EAA6E;IAC7E,uFAAuF;IACvF,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QACvB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE;QACvD,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,KAA8B,CAAC;QAClD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAY,EACZ,SAAiB,EACjB,QAAgB;IAEhB,MAAM,KAAK,GAAG,GAAgC,CAAC;IAC/C,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,OAAO;QACL,OAAO,EAAE,IAAa;QACtB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aAC3F;SACF;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAoB;IAClF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B;QACE,8EAA8E;QAC9E,6GAA6G;QAC7G,mIAAmI;QACnI,0GAA0G;KAC3G,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;QACE,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,CAAC,wFAAwF,CAAC;QACrG,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6FAA6F,CAAC;KAC3G,EACD,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC;YACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,YAAY,CACzB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC,EAChF,OAAO,CACR,CAAC;YACF,MAAM,QAAQ,GAAG;gBACf,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe;aAChB,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,IAAa;oBACtB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CACtF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE,IAAa;oBACtB,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE;qBACpG;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,cAAc,GAAa,CAAC,wBAAwB,EAAE,2CAA2C,CAAC,CAAC;AAEzG;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7C,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,OAAO,IAAI,gBAAgB;YAAE,SAAS,CAAC,sBAAsB;QACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,gBAAgB,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,QAAQ,IAAI,eAAe,UAAU,gGAAgG,CAAC;IACxI,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B;QACE,sHAAsH;QACtH,kJAAkJ;QAClJ,8FAA8F;QAC9F,mEAAmE;QACnE,yGAAyG;QACzG,2EAA2E;KAC5E,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;QACE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,wEAAwE,CAAC;QACrF,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6FAA6F,CAAC;KAC3G,EACD,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACrB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACxF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAC9E,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAC/B,CAAC;gBACF,MAAM,OAAO,GAAG;oBACd,GAAG,SAAS,CAAC,2BAA2B,EAAE,WAAW,EAAE,SAAS,CAAC;oBACjE,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACzG,CAAC;YAED,MAAM,QAAQ,GAA4B;gBACxC,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YACF,IAAI,UAAU,GAAG,CAAC;gBAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,UAAU,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B;QACE,sFAAsF;QACtF,kJAAkJ;QAClJ,mEAAmE;KACpE,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;QACE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,wEAAwE,CAAC;QACrF,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6FAA6F,CAAC;KAC3G,EACD,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACrB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/F,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAExG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,IAAa;oBACtB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;yBACxG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,yBAAyB,GAC7B,4GAA4G;IAC5G,yGAAyG;IACzG,qGAAqG;IACrG,0EAA0E;IAC1E,gJAAgJ,CAAC;AAEnJ,MAAM,UAAU,kCAAkC,CAAC,MAAiB;IAClE,MAAM,CAAC,IAAI,CACT,qCAAqC,EACrC;QACE,iFAAiF;QACjF,mDAAmD;QACnD,0GAA0G;QAC1G,2FAA2F;QAC3F,6FAA6F;QAC7F,wGAAwG;QACxG,4HAA4H;KAC7H,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;QACE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,gKAAgK,CACjK;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6FAA6F,CAAC;KAC3G,EACD,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACrB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,qCAAqC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YAE/C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAwC,eAAe;oBAClE,CAAC,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE;oBAC3C,CAAC,CAAC,SAAS,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,IAAa;oBACtB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;yBAClG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACxG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,qCAAqC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,4DAA4D;AAC5D,MAAM,oBAAoB,GAA6B;IACrD,KAAK,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACrD,MAAM,EAAE,CAAC,eAAe,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;CAC9B,CAAC;AAQF,uFAAuF;AACvF,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,KAAK,MAAM,SAAS,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB;IAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,SAAS,UAAU,CAAC,WAAmB,EAAE,MAA+B;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QACrC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,OAAO;QAAE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAExC,2EAA2E;IAC3E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAE5D,+EAA+E;IAC/E,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxC,qEAAqE;gBACrE,MAAM,UAAU,GAAG;oBACjB,QAAQ;oBACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC;iBAC3D,CAAC;gBACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB;QACE,gGAAgG;QAChG,kEAAkE;QAClE,sCAAsC;QACtC,iDAAiD;QACjD,0DAA0D;QAC1D,gDAAgD;QAChD,uJAAuJ;QACvJ,kJAAkJ;KACnJ,CAAC,IAAI,CAAC,GAAG,CAAC,EACX;QACE,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mGAAmG,CAAC;QAChH,KAAK,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,+FAA+F,CAAC;QAC5G,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6FAA6F,CAAC;KAC3G,EACD,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;YAE7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG;oBACf,SAAS;oBACT,iBAAiB,EAAE,IAAI;oBACvB,aAAa,EAAE,QAAQ;oBACvB,YAAY,EAAE,OAAO,CAAC,IAAI;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE;wBACP,SAAS,QAAQ,CAAC,MAAM,qDAAqD;wBAC7E,sBAAsB,OAAO,CAAC,IAAI,qCAAqC;wBACvE,kEAAkE;qBACnE,CAAC,IAAI,CAAC,GAAG,CAAC;iBACZ,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpE,iBAAiB,EAAE,QAAQ;iBAC5B,CAAC;YACJ,CAAC;YAED,wEAAwE;YACxE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAElF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,IAAa;oBACtB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;yBACtG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,wEAAwE;YACxE,MAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YACpF,MAAM,eAAe,GAAG,YAAY,EAAE,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC;YAEjE,MAAM,QAAQ,GAAG;gBACf,SAAS;gBACT,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE;oBACP,gDAAgD,WAAW,GAAG;oBAC9D,8FAA8F;iBAC/F,CAAC,IAAI,CAAC,GAAG,CAAC;aACZ,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,iBAAiB,EAAE,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAoB;IAChF,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,kCAAkC,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|