yeoman-environment 4.0.0-alpha.5 → 4.0.0-alpha.7

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 (73) hide show
  1. package/bin/bin.cjs +4 -0
  2. package/dist/cli/index.d.ts +1 -0
  3. package/dist/cli/index.js +18 -15
  4. package/dist/cli/utils.d.ts +8 -0
  5. package/dist/cli/utils.js +6 -7
  6. package/dist/commands.d.ts +23 -0
  7. package/dist/commands.js +45 -0
  8. package/dist/commit.d.ts +17 -0
  9. package/dist/commit.js +22 -0
  10. package/dist/composed-store.d.ts +26 -0
  11. package/dist/composed-store.js +68 -0
  12. package/dist/constants.d.ts +3 -0
  13. package/dist/constants.js +17 -0
  14. package/dist/environment-base.d.ts +259 -0
  15. package/dist/environment-base.js +641 -0
  16. package/dist/environment-full.d.ts +115 -0
  17. package/dist/environment-full.js +321 -0
  18. package/dist/generator-lookup.d.ts +56 -0
  19. package/dist/generator-lookup.js +97 -0
  20. package/dist/index.d.ts +10 -0
  21. package/dist/index.js +9 -5
  22. package/dist/module-lookup.d.ts +59 -0
  23. package/dist/module-lookup.js +227 -0
  24. package/dist/package-manager.d.ts +18 -0
  25. package/dist/package-manager.js +52 -69
  26. package/dist/store.d.ts +66 -0
  27. package/dist/store.js +76 -47
  28. package/dist/util/command.d.ts +34 -0
  29. package/dist/util/command.js +32 -17
  30. package/dist/util/namespace.d.ts +26 -0
  31. package/dist/util/namespace.js +56 -190
  32. package/dist/util/resolve.d.ts +6 -0
  33. package/dist/util/resolve.js +40 -0
  34. package/dist/util/util.d.ts +7 -0
  35. package/dist/util/util.js +24 -23
  36. package/package.json +20 -33
  37. package/readme.md +2 -3
  38. package/dist/adapter.js +0 -97
  39. package/dist/adapter.js.map +0 -1
  40. package/dist/cli/index.js.map +0 -1
  41. package/dist/cli/utils.js.map +0 -1
  42. package/dist/command.js +0 -74
  43. package/dist/command.js.map +0 -1
  44. package/dist/composability.js +0 -78
  45. package/dist/composability.js.map +0 -1
  46. package/dist/environment.js +0 -1221
  47. package/dist/environment.js.map +0 -1
  48. package/dist/generator-features.js +0 -69
  49. package/dist/generator-features.js.map +0 -1
  50. package/dist/index.js.map +0 -1
  51. package/dist/namespace-composability.js +0 -340
  52. package/dist/namespace-composability.js.map +0 -1
  53. package/dist/package-manager.js.map +0 -1
  54. package/dist/resolver.js +0 -421
  55. package/dist/resolver.js.map +0 -1
  56. package/dist/spawn-command.js +0 -30
  57. package/dist/spawn-command.js.map +0 -1
  58. package/dist/store.js.map +0 -1
  59. package/dist/util/binary-diff.js +0 -36
  60. package/dist/util/binary-diff.js.map +0 -1
  61. package/dist/util/command.js.map +0 -1
  62. package/dist/util/conflicter.js +0 -346
  63. package/dist/util/conflicter.js.map +0 -1
  64. package/dist/util/esm.js +0 -22
  65. package/dist/util/esm.js.map +0 -1
  66. package/dist/util/log.js +0 -165
  67. package/dist/util/log.js.map +0 -1
  68. package/dist/util/namespace.js.map +0 -1
  69. package/dist/util/repository.js +0 -223
  70. package/dist/util/repository.js.map +0 -1
  71. package/dist/util/transform.js +0 -149
  72. package/dist/util/transform.js.map +0 -1
  73. package/dist/util/util.js.map +0 -1
package/dist/adapter.js DELETED
@@ -1,97 +0,0 @@
1
- import process from 'node:process';
2
- import inquirer from 'inquirer';
3
- import { diffLines } from 'diff';
4
- import chalk from 'chalk';
5
- import logger from './util/log.js';
6
- class TerminalAdapter {
7
- /**
8
- * `TerminalAdapter` is the default implementation of `Adapter`, an abstraction
9
- * layer that defines the I/O interactions.
10
- *
11
- * It provides a CLI interaction
12
- *
13
- * @constructor
14
- * @param {Object} [options]
15
- * @param {Console} [options.console]
16
- */
17
- constructor(options = {}) {
18
- const stdout = options.stdout ?? process.stdout;
19
- const stderr = options.stderr ?? options.stdout ?? process.stderr;
20
- this.promptModule =
21
- options.promptModule ??
22
- inquirer.createPromptModule({
23
- skipTTYChecks: true,
24
- input: options.stdin,
25
- output: stdout,
26
- });
27
- this.console = options.console || new console.Console(stdout, stderr);
28
- this.log = logger({ console: this.console, stdout: options.stdout });
29
- this.tracker = logger.tracker;
30
- }
31
- get _colorDiffAdded() {
32
- return chalk.black.bgGreen;
33
- }
34
- get _colorDiffRemoved() {
35
- return chalk.bgRed;
36
- }
37
- _colorLines(name, string) {
38
- return string
39
- .split('\n')
40
- .map(line => this[`_colorDiff${name}`](line))
41
- .join('\n');
42
- }
43
- close() {
44
- this.promptUi?.close();
45
- }
46
- /**
47
- * Prompt a user for one or more questions and pass
48
- * the answer(s) to the provided callback.
49
- *
50
- * It shares its interface with `Base.prompt`
51
- *
52
- * (Defined inside the constructor to keep interfaces separated between
53
- * instances)
54
- *
55
- * @param {Object|Object[]} questions
56
- * @param {Object} [answers] Answers to be passed to inquirer
57
- * @return {Object} promise answers
58
- */
59
- async prompt(questions, answers, cb) {
60
- const promptPromise = this.promptModule(questions, typeof answers === 'function' ? undefined : answers);
61
- this.promptUi = promptPromise.ui;
62
- const result = await promptPromise;
63
- delete this.promptUi;
64
- (typeof answers === 'function' ? answers : cb)?.(result);
65
- return result;
66
- }
67
- /**
68
- * Shows a color-based diff of two strings
69
- *
70
- * @param {string} actual
71
- * @param {string} expected
72
- * @param {Array} changes returned by diff.
73
- */
74
- diff(actual, expected, changes) {
75
- if (Array.isArray(actual)) {
76
- changes = actual;
77
- }
78
- changes = changes || diffLines(actual, expected);
79
- let message = changes
80
- .map(string => {
81
- if (string.added) {
82
- return this._colorLines('Added', string.value);
83
- }
84
- if (string.removed) {
85
- return this._colorLines('Removed', string.value);
86
- }
87
- return string.value;
88
- })
89
- .join('');
90
- // Legend
91
- message = '\n' + this._colorDiffRemoved('removed') + ' ' + this._colorDiffAdded('added') + '\n\n' + message + '\n';
92
- this.console.log(message);
93
- return message;
94
- }
95
- }
96
- export default TerminalAdapter;
97
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.js"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;AAEpC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,CAAC;AAE3F,GAAG,CAAC,qBAAqB,CACvB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;KACjE,kBAAkB,EAAE;KACpB,kBAAkB,EAAE;KACpB,oBAAoB,CAAC,IAAI,CAAC;KAC1B,MAAM,CAAC,iBAAiB,CAAC;KACzB,KAAK,CAAC,uDAAuD,CAAC,CAClE,CAAC;AAEF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC5B,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEL,IAAI;IACF,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAAC,OAAO,KAAK,EAAE;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,YAAY,MAAM,OAAO,CAAC;AACjC,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAe,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,gBAAgB,OAAO,WAAW,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,kBAAkB,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;SAC9D;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,WAAsB,kBAA0B,EAAE,OAAY,EAAE,OAAY;IAChH,KAAK,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO;KACR;IAED,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE/B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC"}
package/dist/command.js DELETED
@@ -1,74 +0,0 @@
1
- import createdLogger from 'debug';
2
- import { Option } from 'commander';
3
- import YeomanCommand from './util/command.js';
4
- import { requireNamespace } from './util/namespace.js';
5
- const debug = createdLogger('yeoman:environment:command');
6
- const commandMixin = cls => class EnvironmentCommand extends cls {
7
- static addEnvironmentOptions(command = new YeomanCommand()) {
8
- /* Environment options */
9
- return (command
10
- .option('--cwd', 'Path to use as current dir')
11
- /* Environment/Legacy generator options */
12
- .option('--skip-install', 'Do not automatically install dependencies', false)
13
- /* Generator options */
14
- .option('--skip-cache', 'Do not remember prompt answers', false)
15
- .option('--local-config-only', 'Generate .yo-rc-global.json locally', false)
16
- .option('--ask-answered', 'Show prompts for already configured options', false)
17
- /* Conflicter options */
18
- .option('--force', 'Override every file', false)
19
- .option('--dry-run', 'Print conflicts', false)
20
- .option('--whitespace', 'Whitespace changes will not trigger conflicts', false)
21
- .option('--bail', 'Fail on first conflict', false)
22
- .option('--skip-yo-resolve', 'Ignore .yo-resolve files', false)
23
- /* Hidden options, used for api */
24
- .addOption(new Option('--skip-local-cache', 'Skip local answers cache').default(true).hideHelp())
25
- .addOption(new Option('--skip-parse-options', 'Skip legacy options parsing').default(false).hideHelp())
26
- .addOption(new Option('--experimental', 'Experimental features').default(false).hideHelp())
27
- .addOption(new Option('--log-cwd', 'Path for log purpose').hideHelp()));
28
- }
29
- /**
30
- * Load Generator options into a commander instance.
31
- *
32
- * @param {Command} command - Command to load options
33
- * @param {Generator} generator - Generator
34
- * @return {Command} return command
35
- */
36
- static addGeneratorOptions(command, generator) {
37
- command.addGeneratorOptions(generator._options);
38
- command.addGeneratorArguments(generator._arguments);
39
- return command;
40
- }
41
- /**
42
- * Generate a command for the generator and execute.
43
- *
44
- * @param {string} generatorNamespace
45
- * @param {string[]} args
46
- */
47
- async execute(generatorNamespace, args = []) {
48
- const env = this;
49
- const namespace = requireNamespace(generatorNamespace);
50
- if (!this.get(namespace.namespace)) {
51
- this.lookup({
52
- packagePatterns: namespace.generatorHint,
53
- singleResult: true,
54
- });
55
- }
56
- if (!this.get(namespace.namespace)) {
57
- await this.installLocalGenerators({
58
- [namespace.generatorHint]: namespace.semver,
59
- });
60
- }
61
- const namespaceCommand = this.command ? this.command.command(namespace.namespace) : new YeomanCommand();
62
- namespaceCommand.usage('[generator-options]');
63
- // Instantiate the generator for options
64
- const generator = await this.create(namespace.namespace, { help: true });
65
- EnvironmentCommand.addGeneratorOptions(namespaceCommand, generator);
66
- namespaceCommand._parseCommand([], args);
67
- debug('Running generator with arguments %o, options %o', namespaceCommand.args, namespaceCommand.opts());
68
- return env.run([namespace.namespace, ...namespaceCommand.args], {
69
- ...namespaceCommand.opts(),
70
- });
71
- }
72
- };
73
- export default commandMixin;
74
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.js"],"names":[],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- import assert from 'node:assert';
2
- import semver from 'semver';
3
- import pacote from 'pacote';
4
- import Generator from 'yeoman-generator';
5
- /**
6
- * @mixin
7
- * @alias env/composability
8
- */
9
- const composability = {};
10
- export default composability;
11
- composability.requireGenerator = async function (namespace) {
12
- if (namespace === undefined) {
13
- return Generator;
14
- }
15
- // Namespace is a version
16
- if (semver.valid(namespace)) {
17
- return this.repository.requireModule('yeoman-generator', namespace);
18
- }
19
- return this.get(namespace);
20
- };
21
- /**
22
- * Install generators at the custom local repository and register.
23
- *
24
- * @param {Object} packages - packages to install key(packageName): value(versionRange).
25
- * @return {Boolean} - true if the install succeeded.
26
- */
27
- composability.installLocalGenerators = async function (packages) {
28
- const entries = Object.entries(packages).filter(([packageName, version]) => !this.repository.verifyInstalledVersion(packageName, version));
29
- if (entries.length === 0) {
30
- return true;
31
- }
32
- const toInstall = {};
33
- for (const [packageName, version] of entries) {
34
- toInstall[packageName] = version;
35
- }
36
- if (await this.repository.installPackages(toInstall)) {
37
- const packagesToLookup = entries.map(([packageName, _]) => packageName);
38
- this.lookupLocalPackages(packagesToLookup);
39
- return true;
40
- }
41
- return false;
42
- };
43
- /**
44
- * Lookup and register generators from the custom local repository.
45
- *
46
- * @param {String[]} [packagesToLookup='generator-*'] - packages to lookup.
47
- */
48
- composability.lookupLocalPackages = function (packagesToLookup = 'generator-*') {
49
- this.lookup({
50
- packagePatterns: packagesToLookup,
51
- npmPaths: this.repository.nodeModulesPath,
52
- });
53
- };
54
- /**
55
- * Resolve a package name with version.
56
- *
57
- * @param {string} packageName - package to resolve.
58
- * @param {string} [packageVersion] - version or range to resolve.
59
- * @param {string[]} Array of key, value pairs.
60
- */
61
- composability.resolvePackage = async function (packageName, packageVersion) {
62
- assert(packageName, 'Parameter packageName is required');
63
- if (packageVersion) {
64
- packageName = `${packageName}@${packageVersion}`;
65
- }
66
- const manifest = await pacote.manifest(packageName);
67
- if (!manifest) {
68
- return undefined;
69
- }
70
- const from = manifest._from;
71
- const index = from.lastIndexOf('@');
72
- if (index > 1) {
73
- const resolvedVersion = from.slice(index + 1, from.length) || manifest.version;
74
- return [from.slice(0, Math.max(0, index)), resolvedVersion];
75
- }
76
- return [manifest.name, from || manifest.version];
77
- };
78
- //# sourceMappingURL=composability.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composability.js","sourceRoot":"","sources":["../src/composability.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,eAAe,aAAa,CAAC;AAE7B,aAAa,CAAC,gBAAgB,GAAG,KAAK,WAAW,SAAS;IACxD,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,SAAS,CAAC;KAClB;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;KACrE;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,aAAa,CAAC,sBAAsB,GAAG,KAAK,WAAW,QAAQ;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAC1F,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE;QAC5C,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;KAClC;IAED,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,aAAa,CAAC,mBAAmB,GAAG,UAAU,gBAAgB,GAAG,aAAa;IAC5E,IAAI,CAAC,MAAM,CAAC;QACV,eAAe,EAAE,gBAAgB;QACjC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,aAAa,CAAC,cAAc,GAAG,KAAK,WAAW,WAAW,EAAE,cAAc;IACxE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IACzD,IAAI,cAAc,EAAE;QAClB,WAAW,GAAG,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;KAClD;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;KAC7D;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC"}