@code-pushup/create-cli 0.126.0 → 0.126.2
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 +15 -15
- package/package.json +10 -9
- package/src/lib/setup/virtual-fs.js +8 -2
- package/src/lib/setup/virtual-fs.js.map +1 -1
- package/src/lib/setup/wizard.js +24 -18
- package/src/lib/setup/wizard.js.map +1 -1
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ Each plugin exposes its own configuration keys that can be passed as CLI argumen
|
|
|
35
35
|
| ------------------------- | --------- | ------------- | --------------------- |
|
|
36
36
|
| **`--eslint.eslintrc`** | `string` | auto-detected | Path to ESLint config |
|
|
37
37
|
| **`--eslint.patterns`** | `string` | `src` or `.` | File patterns to lint |
|
|
38
|
-
| **`--eslint.categories`** | `boolean` | `true` | Add
|
|
38
|
+
| **`--eslint.categories`** | `boolean` | `true` | Add categories |
|
|
39
39
|
|
|
40
40
|
#### Coverage
|
|
41
41
|
|
|
@@ -47,37 +47,37 @@ Each plugin exposes its own configuration keys that can be passed as CLI argumen
|
|
|
47
47
|
| **`--coverage.testCommand`** | `string` | auto-detected | Command to run tests |
|
|
48
48
|
| **`--coverage.types`** | `('function'` \| `'branch'` \| `'line')[]` | all | Coverage types to measure |
|
|
49
49
|
| **`--coverage.continueOnFail`** | `boolean` | `true` | Continue if test command fails |
|
|
50
|
-
| **`--coverage.categories`** | `boolean` | `true` | Add
|
|
50
|
+
| **`--coverage.categories`** | `boolean` | `true` | Add categories |
|
|
51
51
|
|
|
52
52
|
#### JS Packages
|
|
53
53
|
|
|
54
|
-
| Option | Type | Default | Description
|
|
55
|
-
| ------------------------------------ | ---------------------------------------------------------- | ------------- |
|
|
56
|
-
| **`--js-packages.packageManager`** | `'npm'` \| `'yarn-classic'` \| `'yarn-modern'` \| `'pnpm'` | auto-detected | Package manager
|
|
57
|
-
| **`--js-packages.checks`** | `('audit'` \| `'outdated')[]` | both | Checks to run
|
|
58
|
-
| **`--js-packages.dependencyGroups`** | `('prod'` \| `'dev'` \| `'optional')[]` | `prod`, `dev` | Dependency groups
|
|
59
|
-
| **`--js-packages.categories`** | `boolean` | `true` | Add
|
|
54
|
+
| Option | Type | Default | Description |
|
|
55
|
+
| ------------------------------------ | ---------------------------------------------------------- | ------------- | ----------------- |
|
|
56
|
+
| **`--js-packages.packageManager`** | `'npm'` \| `'yarn-classic'` \| `'yarn-modern'` \| `'pnpm'` | auto-detected | Package manager |
|
|
57
|
+
| **`--js-packages.checks`** | `('audit'` \| `'outdated')[]` | both | Checks to run |
|
|
58
|
+
| **`--js-packages.dependencyGroups`** | `('prod'` \| `'dev'` \| `'optional')[]` | `prod`, `dev` | Dependency groups |
|
|
59
|
+
| **`--js-packages.categories`** | `boolean` | `true` | Add categories |
|
|
60
60
|
|
|
61
61
|
#### TypeScript
|
|
62
62
|
|
|
63
|
-
| Option | Type | Default | Description
|
|
64
|
-
| ----------------------------- | --------- | ------------- |
|
|
65
|
-
| **`--typescript.tsconfig`** | `string` | auto-detected | TypeScript config file
|
|
66
|
-
| **`--typescript.categories`** | `boolean` | `true` | Add
|
|
63
|
+
| Option | Type | Default | Description |
|
|
64
|
+
| ----------------------------- | --------- | ------------- | ---------------------- |
|
|
65
|
+
| **`--typescript.tsconfig`** | `string` | auto-detected | TypeScript config file |
|
|
66
|
+
| **`--typescript.categories`** | `boolean` | `true` | Add categories |
|
|
67
67
|
|
|
68
68
|
#### Lighthouse
|
|
69
69
|
|
|
70
70
|
| Option | Type | Default | Description |
|
|
71
71
|
| ----------------------------- | ---------------------------------------------------------------- | ----------------------- | ------------------------------- |
|
|
72
72
|
| **`--lighthouse.urls`** | `string \| string[]` | `http://localhost:4200` | Target URL(s) (comma-separated) |
|
|
73
|
-
| **`--lighthouse.categories`** | `('performance'` \| `'a11y'` \| `'best-practices'` \| `'seo')[]` | all |
|
|
73
|
+
| **`--lighthouse.categories`** | `('performance'` \| `'a11y'` \| `'best-practices'` \| `'seo')[]` | all | Categories |
|
|
74
74
|
|
|
75
75
|
#### JSDocs
|
|
76
76
|
|
|
77
77
|
| Option | Type | Default | Description |
|
|
78
78
|
| ------------------------- | -------------------- | -------------------------------------------- | -------------------------------------- |
|
|
79
79
|
| **`--jsdocs.patterns`** | `string \| string[]` | `src/**/*.ts, src/**/*.js, !**/node_modules` | Source file patterns (comma-separated) |
|
|
80
|
-
| **`--jsdocs.categories`** | `boolean` | `true` | Add
|
|
80
|
+
| **`--jsdocs.categories`** | `boolean` | `true` | Add categories |
|
|
81
81
|
|
|
82
82
|
#### Axe
|
|
83
83
|
|
|
@@ -86,7 +86,7 @@ Each plugin exposes its own configuration keys that can be passed as CLI argumen
|
|
|
86
86
|
| **`--axe.urls`** | `string \| string[]` | `http://localhost:4200` | Target URL(s) (comma-separated) |
|
|
87
87
|
| **`--axe.preset`** | `'wcag21aa'` \| `'wcag22aa'` \| `'best-practice'` \| `'all'` | `wcag21aa` | Accessibility preset |
|
|
88
88
|
| **`--axe.setupScript`** | `boolean` | `false` | Create setup script for auth-protected app |
|
|
89
|
-
| **`--axe.categories`** | `boolean` | `true` | Add
|
|
89
|
+
| **`--axe.categories`** | `boolean` | `true` | Add categories |
|
|
90
90
|
|
|
91
91
|
### Examples
|
|
92
92
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/create-cli",
|
|
3
|
-
"version": "0.126.
|
|
3
|
+
"version": "0.126.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"bin": "./bin.js",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/create-cli#readme",
|
|
@@ -26,14 +26,15 @@
|
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@code-pushup/axe-plugin": "0.126.
|
|
30
|
-
"@code-pushup/coverage-plugin": "0.126.
|
|
31
|
-
"@code-pushup/eslint-plugin": "0.126.
|
|
32
|
-
"@code-pushup/js-packages-plugin": "0.126.
|
|
33
|
-
"@code-pushup/
|
|
34
|
-
"@code-pushup/
|
|
35
|
-
"@code-pushup/
|
|
36
|
-
"@code-pushup/
|
|
29
|
+
"@code-pushup/axe-plugin": "0.126.2",
|
|
30
|
+
"@code-pushup/coverage-plugin": "0.126.2",
|
|
31
|
+
"@code-pushup/eslint-plugin": "0.126.2",
|
|
32
|
+
"@code-pushup/js-packages-plugin": "0.126.2",
|
|
33
|
+
"@code-pushup/jsdocs-plugin": "0.126.2",
|
|
34
|
+
"@code-pushup/lighthouse-plugin": "0.126.2",
|
|
35
|
+
"@code-pushup/models": "0.126.2",
|
|
36
|
+
"@code-pushup/typescript-plugin": "0.126.2",
|
|
37
|
+
"@code-pushup/utils": "0.126.2",
|
|
37
38
|
"@inquirer/prompts": "^8.0.0",
|
|
38
39
|
"yaml": "^2.5.1",
|
|
39
40
|
"yargs": "^17.7.2"
|
|
@@ -25,8 +25,14 @@ export function createTree(root, fs = DEFAULT_FS) {
|
|
|
25
25
|
return fs.readFile(absolutePath, 'utf8');
|
|
26
26
|
},
|
|
27
27
|
write: async (filePath, content) => {
|
|
28
|
-
const
|
|
29
|
-
|
|
28
|
+
const entry = pending.get(filePath);
|
|
29
|
+
if (entry) {
|
|
30
|
+
pending.set(filePath, { ...entry, content });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const type = (await fs.exists(resolve(filePath))) ? 'UPDATE' : 'CREATE';
|
|
34
|
+
pending.set(filePath, { content, type });
|
|
35
|
+
}
|
|
30
36
|
},
|
|
31
37
|
listChanges: () => [...pending.entries()].map(([filePath, { content, type }]) => ({
|
|
32
38
|
path: filePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-fs.js","sourceRoot":"","sources":["../../../../src/lib/setup/virtual-fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,GAAsB;IACpC,QAAQ;IACR,SAAS;IACT,MAAM,EAAE,UAAU;IAClB,KAAK;CACN,CAAC;AAEF,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,KAAwB,UAAU;IAElC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgD,CAAC;IAExE,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3E,OAAO;QACL,IAAI;QAEJ,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAoB,EAAE,CACnD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,EAAE,KAAK,EAAE,QAAgB,EAA0B,EAAE;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAiB,EAAE;YAChE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"virtual-fs.js","sourceRoot":"","sources":["../../../../src/lib/setup/virtual-fs.ts"],"names":[],"mappings":"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"}
|
package/src/lib/setup/wizard.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import ansis from 'ansis';
|
|
1
2
|
import path from 'node:path';
|
|
2
3
|
import { asyncSequential, formatAsciiTable, getGitRoot, logger, toUnixPath, } from '@code-pushup/utils';
|
|
3
4
|
import { promptCiProvider, resolveCi } from './ci.js';
|
|
@@ -33,21 +34,15 @@ export async function runSetupWizard(bindings, cliArgs) {
|
|
|
33
34
|
: writeStandaloneConfig(writeContext, resolved.map(r => r.result)));
|
|
34
35
|
await resolveGitignore(tree);
|
|
35
36
|
await resolveCi(tree, ciProvider, context);
|
|
36
|
-
|
|
37
|
-
if (cliArgs['dry-run']) {
|
|
38
|
-
logger.info('Dry run — no files written.');
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
await tree.flush();
|
|
42
|
-
logger.info('Setup complete.');
|
|
43
|
-
logger.newline();
|
|
44
|
-
logNextSteps([
|
|
45
|
-
['npx code-pushup', 'Collect your first report'],
|
|
46
|
-
['https://github.com/code-pushup/cli#readme', 'Documentation'],
|
|
47
|
-
]);
|
|
37
|
+
await finalize(tree, cliArgs['dry-run']);
|
|
48
38
|
}
|
|
49
39
|
async function resolveBinding(binding, cliArgs, targetDir, tree) {
|
|
50
|
-
|
|
40
|
+
if (!binding.prompts) {
|
|
41
|
+
return binding.generateConfig({}, tree);
|
|
42
|
+
}
|
|
43
|
+
logger.newline();
|
|
44
|
+
logger.info(ansis.bold(binding.title));
|
|
45
|
+
const descriptors = await binding.prompts(targetDir);
|
|
51
46
|
const answers = descriptors.length > 0
|
|
52
47
|
? await promptPluginOptions(descriptors, cliArgs)
|
|
53
48
|
: {};
|
|
@@ -75,15 +70,26 @@ async function writeMonorepoConfigs({ tree, format, configFilename, isEsm }, res
|
|
|
75
70
|
await addCodePushUpCommand(tree, project, tool);
|
|
76
71
|
}));
|
|
77
72
|
}
|
|
78
|
-
function
|
|
79
|
-
|
|
73
|
+
async function finalize(tree, dryRun) {
|
|
74
|
+
logger.newline();
|
|
75
|
+
tree.listChanges().forEach(change => {
|
|
80
76
|
logger.info(`${change.type} ${change.path}`);
|
|
81
77
|
});
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
if (dryRun) {
|
|
79
|
+
logger.newline();
|
|
80
|
+
logger.info('Dry run — no files written.');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
await tree.flush();
|
|
84
|
+
logger.newline();
|
|
85
|
+
logger.info('Setup complete.');
|
|
86
|
+
logger.newline();
|
|
84
87
|
logger.info(formatAsciiTable({
|
|
85
88
|
title: 'Next steps:',
|
|
86
|
-
rows:
|
|
89
|
+
rows: [
|
|
90
|
+
['npx code-pushup', 'Collect your first report'],
|
|
91
|
+
['https://github.com/code-pushup/cli#readme', 'Documentation'],
|
|
92
|
+
],
|
|
87
93
|
}, { borderless: true }));
|
|
88
94
|
}
|
|
89
95
|
//# sourceMappingURL=wizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../../src/lib/setup/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../../src/lib/setup/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAS1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA8B,EAC9B,OAAgB;IAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAClD,QAAQ,EACR,SAAS,EACT,OAAO,CACR,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAyB,MAAM,eAAe,CAC1D,gBAAgB,EAChB,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;QACjC,MAAM,EAAE,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;KAChE,CAAC,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;QACxD,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,qBAAqB,CACnB,YAAY,EACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5B,CAAC,CAAC;IAEP,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAA2B,EAC3B,OAAgB,EAChB,SAAiB,EACjB,IAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GACX,WAAW,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAgB,EAC9C,OAA8B;IAE9B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAgB,EACrD,QAA8B,EAC9B,SAAiB,EACjB,IAAkB;IAElB,MAAM,cAAc,GAAG,QAAQ;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,WAAW,GAAG,QAAQ;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,MAAM,IAAI,CAAC,KAAK,CACd,cAAc,EACd,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAC7C,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QAC3B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,OAAO,CAAC,WAAW,EACnB,cAAc,CACf,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CACd,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAC1D,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAChD,CAAC;QACF,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAU,EAAE,MAAgB;IAClD,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IAEnB,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CACT,gBAAgB,CACd;QACE,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE;YACJ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;YAChD,CAAC,2CAA2C,EAAE,eAAe,CAAC;SAC/D;KACF,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CACF,CAAC;AACJ,CAAC"}
|