@aws/nx-plugin 0.18.2 → 0.19.0

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 (37) hide show
  1. package/README.md +2 -0
  2. package/generators.json +13 -1
  3. package/package.json +1 -1
  4. package/src/open-api/ts-hooks/__snapshots__/generator.spec.tsx.snap +14 -18
  5. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +1 -1
  6. package/src/ts/lib/ts-project-utils.js +0 -1
  7. package/src/ts/lib/ts-project-utils.js.map +1 -1
  8. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +330 -0
  9. package/src/ts/mcp-server/files/README.md.template +108 -0
  10. package/src/ts/mcp-server/files/src/global.d.ts.template +4 -0
  11. package/src/ts/mcp-server/files/src/index.ts.template +6 -0
  12. package/src/ts/mcp-server/files/src/resources/example-context.md +3 -0
  13. package/src/ts/mcp-server/files/src/server.ts.template +28 -0
  14. package/src/ts/mcp-server/generator.d.ts +10 -0
  15. package/src/ts/mcp-server/generator.js +61 -0
  16. package/src/ts/mcp-server/generator.js.map +1 -0
  17. package/src/ts/mcp-server/schema.d.ts +11 -0
  18. package/src/ts/mcp-server/schema.json +27 -0
  19. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +263 -0
  20. package/src/ts/nx-generator/files/common/schema.d.ts.template +8 -0
  21. package/src/ts/nx-generator/files/common/schema.json.template +16 -0
  22. package/src/ts/nx-generator/files/local/files/hello.ts.template.template +4 -0
  23. package/src/ts/nx-generator/files/local/generator.spec.ts.template +17 -0
  24. package/src/ts/nx-generator/files/local/generator.ts.template +9 -0
  25. package/src/ts/nx-generator/files/nx-plugin-for-aws/docs/__nameKebabCase__.mdx.template +41 -0
  26. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +27 -0
  27. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +22 -0
  28. package/src/ts/nx-generator/generator.d.ts +9 -0
  29. package/src/ts/nx-generator/generator.js +137 -0
  30. package/src/ts/nx-generator/generator.js.map +1 -0
  31. package/src/ts/nx-generator/schema.d.ts +11 -0
  32. package/src/ts/nx-generator/schema.json +38 -0
  33. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +1 -1
  34. package/src/utils/files/common/constructs/src/core/app.ts.template +1 -1
  35. package/src/utils/versions.d.ts +4 -2
  36. package/src/utils/versions.js +3 -1
  37. package/src/utils/versions.js.map +1 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nxGeneratorGenerator = exports.NX_GENERATOR_GENERATOR_INFO = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ * SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ const devkit_1 = require("@nx/devkit");
10
+ const lodash_kebabcase_1 = tslib_1.__importDefault(require("lodash.kebabcase"));
11
+ const names_1 = require("../../utils/names");
12
+ const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
13
+ const paths_1 = require("../../utils/paths");
14
+ const lodash_snakecase_1 = tslib_1.__importDefault(require("lodash.snakecase"));
15
+ const ast_1 = require("../../utils/ast");
16
+ const typescript_1 = require("typescript");
17
+ const package_json_1 = tslib_1.__importDefault(require("../../../package.json"));
18
+ const nx_1 = require("../../utils/nx");
19
+ const metrics_1 = require("../../utils/metrics");
20
+ const versions_1 = require("../../utils/versions");
21
+ const format_1 = require("../../utils/format");
22
+ exports.NX_GENERATOR_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
23
+ const nxGeneratorGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
+ var _a, _b;
25
+ const { name, directory, pluginProject, description } = options;
26
+ const plugin = (0, devkit_1.readProjectConfiguration)(tree, pluginProject);
27
+ const sourceRoot = (_a = plugin.sourceRoot) !== null && _a !== void 0 ? _a : (0, devkit_1.joinPathFragments)(plugin.root, 'src');
28
+ const sourceRootParts = sourceRoot.split('/');
29
+ const srcDir = sourceRootParts[sourceRootParts.length - 1];
30
+ const generatorSubDir = directory !== null && directory !== void 0 ? directory : (0, lodash_kebabcase_1.default)(name);
31
+ const generatorDir = (0, devkit_1.joinPathFragments)(sourceRoot, generatorSubDir);
32
+ const rootPackageJson = tree.exists('package.json')
33
+ ? (0, devkit_1.readJson)(tree, 'package.json')
34
+ : undefined;
35
+ const isNxPluginForAws = (rootPackageJson === null || rootPackageJson === void 0 ? void 0 : rootPackageJson.name) === '@aws/nx-plugin-source';
36
+ const tsConfigPath = (0, devkit_1.joinPathFragments)(plugin.root, 'tsconfig.json');
37
+ if (!tree.exists(tsConfigPath)) {
38
+ throw new Error(`Selected plugin project ${pluginProject} is not a TypeScript project`);
39
+ }
40
+ // Generators must use commonjs as a limitation of nx
41
+ // https://github.com/nrwl/nx/issues/15682
42
+ (0, devkit_1.updateJson)(tree, tsConfigPath, (tsConfig) => {
43
+ var _a, _b;
44
+ var _c;
45
+ (_a = tsConfig.compilerOptions) !== null && _a !== void 0 ? _a : (tsConfig.compilerOptions = {});
46
+ (_b = (_c = tsConfig.compilerOptions).module) !== null && _b !== void 0 ? _b : (_c.module = 'commonjs');
47
+ return tsConfig;
48
+ });
49
+ const enhancedOptions = {
50
+ name,
51
+ description,
52
+ namePascalCase: (0, names_1.pascalCase)(name),
53
+ nameCamelCase: (0, lodash_camelcase_1.default)(name),
54
+ nameKebabCase: (0, lodash_kebabcase_1.default)(name),
55
+ nameUpperSnakeCase: (0, lodash_snakecase_1.default)(name).toUpperCase(),
56
+ isNxPluginForAws,
57
+ pathToProjectSourceRoot: (0, paths_1.getRelativePathToRootByDirectory)(generatorSubDir),
58
+ generatorDir,
59
+ generatorSubDir,
60
+ };
61
+ // Add the common files
62
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'common'), generatorDir, Object.assign({}, enhancedOptions));
63
+ // Add the files specific to this repo vs a local generator in another project
64
+ if (isNxPluginForAws) {
65
+ // Generators should be in the @aws/nx-plugin project
66
+ if (pluginProject !== package_json_1.default.name) {
67
+ throw new Error(`Generators should be added to the ${package_json_1.default.name} project.`);
68
+ }
69
+ // Add the generator
70
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'nx-plugin-for-aws', 'generator'), generatorDir, Object.assign({}, enhancedOptions));
71
+ // Generate guide page in docs
72
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'nx-plugin-for-aws', 'docs'), (0, devkit_1.joinPathFragments)('docs', 'src', 'content', 'docs', 'en', 'guides'), Object.assign({}, enhancedOptions));
73
+ // Update the docs config to add the page entry
74
+ (0, ast_1.replace)(tree, (0, devkit_1.joinPathFragments)('docs', 'astro.config.mjs'), 'PropertyAssignment:has(Identifier[name="integrations"]) PropertyAssignment:has(Identifier[name="sidebar"]) ObjectLiteralExpression:has(PropertyAssignment:has(StringLiteral[value="Guides"])) PropertyAssignment:has(Identifier[name="items"]) > ArrayLiteralExpression', (node) => {
75
+ return typescript_1.factory.createArrayLiteralExpression([
76
+ ...node.elements,
77
+ typescript_1.factory.createObjectLiteralExpression([
78
+ typescript_1.factory.createPropertyAssignment('label', typescript_1.factory.createStringLiteral(name, true)),
79
+ typescript_1.factory.createPropertyAssignment('link', typescript_1.factory.createStringLiteral(`/guides/${enhancedOptions.nameKebabCase}`, true)),
80
+ ]),
81
+ ]);
82
+ });
83
+ }
84
+ else {
85
+ // Local generator in a project other than nx-plugin-for-aws
86
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'local'), generatorDir, Object.assign({}, enhancedOptions));
87
+ const indexPath = (0, devkit_1.joinPathFragments)(sourceRoot, 'index.ts');
88
+ if (tree.exists(indexPath)) {
89
+ (0, ast_1.addStarExport)(tree, indexPath, `./${generatorSubDir}/generator`);
90
+ }
91
+ }
92
+ const factoryBasePath = `./${srcDir}/${generatorSubDir}`;
93
+ // Update generators.json
94
+ const generatorsJsonPath = (0, devkit_1.joinPathFragments)(plugin.root, 'generators.json');
95
+ const generatorsJson = tree.exists(generatorsJsonPath)
96
+ ? (0, devkit_1.readJson)(tree, generatorsJsonPath)
97
+ : { generators: {} };
98
+ const existingGenerators = Object.values((_b = generatorsJson === null || generatorsJson === void 0 ? void 0 : generatorsJson.generators) !== null && _b !== void 0 ? _b : {});
99
+ (0, devkit_1.writeJson)(tree, generatorsJsonPath, Object.assign(Object.assign({}, generatorsJson), { generators: Object.assign(Object.assign({}, generatorsJson === null || generatorsJson === void 0 ? void 0 : generatorsJson.generators), { [name]: Object.assign({ factory: `${factoryBasePath}/generator`, schema: `${factoryBasePath}/schema.json`, description: description !== null && description !== void 0 ? description : 'TODO: Add short description of the generator' }, (isNxPluginForAws
100
+ ? {
101
+ metric: existingGenerators.length > 0
102
+ ? incrementMetric(existingGenerators[existingGenerators.length - 1].metric)
103
+ : 'g1',
104
+ }
105
+ : {})) }) }));
106
+ // Add the "generators" and "main" entries to package.json
107
+ const pluginPackageJsonPath = (0, devkit_1.joinPathFragments)(plugin.root, 'package.json');
108
+ if (!tree.exists(pluginPackageJsonPath)) {
109
+ // Write a simple package.json to ensure the generator can be found by the Nx VSCode extension
110
+ (0, devkit_1.writeJson)(tree, pluginPackageJsonPath, {
111
+ name: plugin.name,
112
+ });
113
+ }
114
+ (0, devkit_1.updateJson)(tree, pluginPackageJsonPath, (pkg) => {
115
+ var _a, _b;
116
+ (_a = pkg.main) !== null && _a !== void 0 ? _a : (pkg.main = './src/index.js');
117
+ (_b = pkg.generators) !== null && _b !== void 0 ? _b : (pkg.generators = './generators.json');
118
+ return pkg;
119
+ });
120
+ if (!isNxPluginForAws) {
121
+ // Add the required dependencies to the root package.json, and project's package.json
122
+ const deps = (0, versions_1.withVersions)(['@nx/devkit']);
123
+ (0, devkit_1.addDependenciesToPackageJson)(tree, {}, deps);
124
+ (0, devkit_1.addDependenciesToPackageJson)(tree, deps, {}, pluginPackageJsonPath);
125
+ }
126
+ yield (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.NX_GENERATOR_GENERATOR_INFO]);
127
+ yield (0, format_1.formatFilesInSubtree)(tree);
128
+ return () => {
129
+ (0, devkit_1.installPackagesTask)(tree);
130
+ };
131
+ });
132
+ exports.nxGeneratorGenerator = nxGeneratorGenerator;
133
+ const incrementMetric = (metric) => {
134
+ return `g${Number(metric.slice(1)) + 1}`;
135
+ };
136
+ exports.default = exports.nxGeneratorGenerator;
137
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-generator/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ export interface NxGeneratorGeneratorSchema {
7
+ pluginProject: string;
8
+ name: string;
9
+ directory?: string;
10
+ description?: string;
11
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "TsGenerator",
4
+ "title": "Create an Nx Generator",
5
+ "description": "Create a TypeScript Nx Generator",
6
+ "type": "object",
7
+ "properties": {
8
+ "pluginProject": {
9
+ "type": "string",
10
+ "description": "TypeScript project to add the generator to. We recommend creating a ts#project in a top-level 'tools' directory.",
11
+ "x-priority": "important",
12
+ "x-prompt": "Choose the TypeScript project to add the generator to",
13
+ "x-dropdown": "projects",
14
+ "$default": {
15
+ "$source": "argv",
16
+ "index": 0
17
+ }
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "description": "Generator name",
22
+ "x-priority": "important",
23
+ "x-prompt": "Choose a name for your generator, eg (ts#cool-project)"
24
+ },
25
+ "description": {
26
+ "type": "string",
27
+ "description": "A description of your generator",
28
+ "x-prompt": "Describe your new generator",
29
+ "x-priority": "important"
30
+ },
31
+ "directory": {
32
+ "type": "string",
33
+ "description": "The directory within the plugin project's source folder to add the generator to (default: <name>)",
34
+ "x-prompt": "Choose the directory you would like to generate the generator in relative to the project's source folder (default: <name>)"
35
+ }
36
+ },
37
+ "required": ["pluginProject", "name"]
38
+ }
@@ -24,7 +24,7 @@ class MetricsAspect implements IAspect {
24
24
  const version = '';
25
25
  const tags: string[] = [];
26
26
  node.templateOptions.description =
27
- \`\${node.templateOptions.description ?? ''} (\${id}) (version:\${version}) (tags:\${tags.join(',')})\`.trim();
27
+ \`\${node.templateOptions.description ?? ''} (\${id}) (version:\${version}) (tag:\${tags.join(',')})\`.trim();
28
28
  }
29
29
  }
30
30
  }
@@ -18,7 +18,7 @@ class MetricsAspect implements IAspect {
18
18
  const id = '';
19
19
  const version = '';
20
20
  const tags: string[] = [];
21
- node.templateOptions.description = `${node.templateOptions.description ?? ''} (${id}) (version:${version}) (tags:${tags.join(',')})`.trim();
21
+ node.templateOptions.description = `${node.templateOptions.description ?? ''} (${id}) (version:${version}) (tag:${tags.join(',')})`.trim();
22
22
  }
23
23
  }
24
24
  }
@@ -12,12 +12,14 @@ export declare const VERSIONS: {
12
12
  readonly '@aws-lambda-powertools/metrics': "^2.17.0";
13
13
  readonly '@aws-lambda-powertools/tracer': "^2.17.0";
14
14
  readonly '@nxlv/python': "^20.12.0";
15
+ readonly '@nx/devkit': "~20.6.4";
16
+ readonly '@modelcontextprotocol/sdk': "^1.10.2";
15
17
  readonly '@tanstack/react-router': "^1.114.27";
16
18
  readonly '@tanstack/router-plugin': "^1.114.27";
17
19
  readonly '@cloudscape-design/board-components': "^3.0.94";
18
20
  readonly '@cloudscape-design/components': "^3.0.928";
19
21
  readonly '@cloudscape-design/global-styles': "^1.0.38";
20
- readonly '@tanstack/react-query': "5.74.2";
22
+ readonly '@tanstack/react-query': "^5.74.3";
21
23
  readonly '@trpc/tanstack-react-query': "11.0.0";
22
24
  readonly '@trpc/client': "11.0.0";
23
25
  readonly '@trpc/server': "11.0.0";
@@ -44,5 +46,5 @@ export declare const VERSIONS: {
44
46
  * Add versions to the given dependencies
45
47
  */
46
48
  export declare const withVersions: (deps: (keyof typeof VERSIONS)[]) => {
47
- [k: string]: "^0.0.60" | "^2.185.0-alpha.0" | "^3.775.0" | "^2.17.0" | "^20.12.0" | "^1.114.27" | "^3.0.94" | "^3.0.928" | "^1.0.38" | "5.74.2" | "11.0.0" | "^22.13.13" | "^8.10.148" | "^4.2.0" | "^1.0.20" | "^2.1006.0" | "^2.185.0" | "^3.10.3" | "^10.4.2" | "^0.25.1" | "^5.2.5" | "^2.4.0" | "^3.2.0" | "^3.5.3" | "^0.5.21" | "^4.19.3" | "^5.1.4" | "^3.24.2";
49
+ [k: string]: "^0.0.60" | "^2.185.0-alpha.0" | "^3.775.0" | "^2.17.0" | "^20.12.0" | "~20.6.4" | "^1.10.2" | "^1.114.27" | "^3.0.94" | "^3.0.928" | "^1.0.38" | "^5.74.3" | "11.0.0" | "^22.13.13" | "^8.10.148" | "^4.2.0" | "^1.0.20" | "^2.1006.0" | "^2.185.0" | "^3.10.3" | "^10.4.2" | "^0.25.1" | "^5.2.5" | "^2.4.0" | "^3.2.0" | "^3.5.3" | "^0.5.21" | "^4.19.3" | "^5.1.4" | "^3.24.2";
48
50
  };
@@ -15,12 +15,14 @@ exports.VERSIONS = {
15
15
  '@aws-lambda-powertools/metrics': '^2.17.0',
16
16
  '@aws-lambda-powertools/tracer': '^2.17.0',
17
17
  '@nxlv/python': '^20.12.0',
18
+ '@nx/devkit': '~20.6.4',
19
+ '@modelcontextprotocol/sdk': '^1.10.2',
18
20
  '@tanstack/react-router': '^1.114.27',
19
21
  '@tanstack/router-plugin': '^1.114.27',
20
22
  '@cloudscape-design/board-components': '^3.0.94',
21
23
  '@cloudscape-design/components': '^3.0.928',
22
24
  '@cloudscape-design/global-styles': '^1.0.38',
23
- '@tanstack/react-query': '5.74.2', // TODO: https://github.com/awslabs/nx-plugin-for-aws/issues/147
25
+ '@tanstack/react-query': '^5.74.3',
24
26
  '@trpc/tanstack-react-query': '11.0.0',
25
27
  '@trpc/client': '11.0.0',
26
28
  '@trpc/server': '11.0.0',
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,QAAQ,GAAG;IACtB,iCAAiC,EAAE,SAAS;IAC5C,yCAAyC,EAAE,kBAAkB;IAC7D,kCAAkC,EAAE,UAAU;IAC9C,+BAA+B,EAAE,UAAU;IAC3C,+CAA+C,EAAE,UAAU;IAC3D,+BAA+B,EAAE,SAAS;IAC1C,gCAAgC,EAAE,SAAS;IAC3C,+BAA+B,EAAE,SAAS;IAC1C,cAAc,EAAE,UAAU;IAC1B,wBAAwB,EAAE,WAAW;IACrC,yBAAyB,EAAE,WAAW;IACtC,qCAAqC,EAAE,SAAS;IAChD,+BAA+B,EAAE,UAAU;IAC3C,kCAAkC,EAAE,SAAS;IAC7C,uBAAuB,EAAE,QAAQ,EAAE,gEAAgE;IACnG,4BAA4B,EAAE,QAAQ;IACtC,cAAc,EAAE,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,WAAW;IAC1B,mBAAmB,EAAE,WAAW;IAChC,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,SAAS;IAC9B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,wBAAwB,EAAE,QAAQ;IAClC,qBAAqB,EAAE,QAAQ;IAC/B,gBAAgB,EAAE,QAAQ;IAC1B,QAAQ,EAAE,QAAQ;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,GAAG,EAAE,SAAS;IACd,qBAAqB,EAAE,QAAQ;IAC/B,GAAG,EAAE,SAAS;CACN,CAAC;AAEX;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,IAA+B,EAAE,EAAE,CAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AADjD,QAAA,YAAY,gBACqC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,QAAQ,GAAG;IACtB,iCAAiC,EAAE,SAAS;IAC5C,yCAAyC,EAAE,kBAAkB;IAC7D,kCAAkC,EAAE,UAAU;IAC9C,+BAA+B,EAAE,UAAU;IAC3C,+CAA+C,EAAE,UAAU;IAC3D,+BAA+B,EAAE,SAAS;IAC1C,gCAAgC,EAAE,SAAS;IAC3C,+BAA+B,EAAE,SAAS;IAC1C,cAAc,EAAE,UAAU;IAC1B,YAAY,EAAE,SAAS;IACvB,2BAA2B,EAAE,SAAS;IACtC,wBAAwB,EAAE,WAAW;IACrC,yBAAyB,EAAE,WAAW;IACtC,qCAAqC,EAAE,SAAS;IAChD,+BAA+B,EAAE,UAAU;IAC3C,kCAAkC,EAAE,SAAS;IAC7C,uBAAuB,EAAE,SAAS;IAClC,4BAA4B,EAAE,QAAQ;IACtC,cAAc,EAAE,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,WAAW;IAC1B,mBAAmB,EAAE,WAAW;IAChC,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,SAAS;IAC9B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,wBAAwB,EAAE,QAAQ;IAClC,qBAAqB,EAAE,QAAQ;IAC/B,gBAAgB,EAAE,QAAQ;IAC1B,QAAQ,EAAE,QAAQ;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,GAAG,EAAE,SAAS;IACd,qBAAqB,EAAE,QAAQ;IAC/B,GAAG,EAAE,SAAS;CACN,CAAC;AAEX;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,IAA+B,EAAE,EAAE,CAC9D,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AADjD,QAAA,YAAY,gBACqC"}