@r8s/cli 0.2.0 → 0.2.1

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/dist/cli.js CHANGED
@@ -4,38 +4,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const core_1 = require("@r8s/core");
7
+ const FLAG_TABLE = {
8
+ '--help': (o) => ((o.help = true), false),
9
+ '-h': (o) => ((o.help = true), false),
10
+ '--out': (o, v) => ((o.out = v), true),
11
+ '-o': (o, v) => ((o.out = v), true),
12
+ '--entry': (o, v) => ((o.entry = v), true),
13
+ '-e': (o, v) => ((o.entry = v), true),
14
+ '--template': (o, v) => ((o.template = v), true),
15
+ '-t': (o, v) => ((o.template = v), true),
16
+ '--strategy': (o, v) => ((o.strategy = v), true),
17
+ '--operators': (o, v) => ((o.operators = v), true),
18
+ '--include-operators': (o) => ((o.includeOperators = true), false),
19
+ '--operators-only': (o) => ((o.operatorsOnly = true), false),
20
+ '--skip-secret-guardrails': (o) => ((o.skipSecretGuardrails = true), false),
21
+ };
7
22
  function parseArgs(args) {
8
23
  const options = {};
24
+ const positionals = [];
9
25
  for (let i = 0; i < args.length; i++) {
10
26
  const arg = args[i];
11
- if (arg === '--entry' || arg === '-e') {
12
- options.entry = args[++i];
27
+ const handler = FLAG_TABLE[arg];
28
+ if (handler) {
29
+ const needsValue = handler(options, args[i + 1]);
30
+ if (needsValue)
31
+ i++;
13
32
  }
14
- else if (arg === '--out' || arg === '-o') {
15
- options.out = args[++i];
16
- }
17
- else if (arg === '--template' || arg === '-t') {
18
- options.template = args[++i];
19
- }
20
- else if (arg === '--operators') {
21
- options.operators = args[++i];
22
- }
23
- else if (arg === '--strategy' || arg === '-s') {
24
- options.strategy = args[++i];
25
- }
26
- else if (arg === '--include-operators') {
27
- options.includeOperators = true;
28
- }
29
- else if (arg === '--operators-only') {
30
- options.operatorsOnly = true;
31
- }
32
- else if (arg === '--skip-secret-guardrails') {
33
- options.skipSecretGuardrails = true;
34
- }
35
- else if (arg === '--help' || arg === '-h') {
36
- options.help = true;
33
+ else if (!arg.startsWith('-')) {
34
+ positionals.push(arg);
37
35
  }
38
36
  }
37
+ // Preserve command + its args in place for the command dispatch
38
+ args.length = 0;
39
+ args.push(...positionals);
39
40
  return options;
40
41
  }
41
42
  function showHelp() {
@@ -562,423 +563,370 @@ See \`flux/README.md\` for detailed setup instructions.
562
563
  `;
563
564
  }
564
565
  }
565
- async function main() {
566
- const args = process.argv.slice(2);
567
- const options = parseArgs(args);
568
- if (options.help) {
569
- showHelp();
570
- process.exit(0);
566
+ /** Render a component from the catalog with dummy values for its required props. */
567
+ function writeDummyTsx(comp, tag) {
568
+ const dummyValues = {
569
+ name: '"example"',
570
+ image: '"example/app:v1"',
571
+ host: '"example.com"',
572
+ serviceName: '"example"',
573
+ children: 'null',
574
+ selector: '{ app: "example" }',
575
+ };
576
+ const requiredProps = comp.props.filter((p) => p.required);
577
+ const propsStr = requiredProps
578
+ .map((p) => `${p.name}={${dummyValues[p.name] ?? '"dummy"'}}`)
579
+ .join(' ');
580
+ const tsx = `import { ${comp.name} } from '${comp.package}'\nexport default <${comp.name} ${propsStr} />\n`;
581
+ const tmpFile = (0, path_1.resolve)(`.r8s-${tag}-${Date.now()}.tsx`);
582
+ (0, fs_1.writeFileSync)(tmpFile, tsx, 'utf-8');
583
+ return tmpFile;
584
+ }
585
+ function removeQuietly(file) {
586
+ try {
587
+ require('fs').unlinkSync(file);
571
588
  }
572
- const command = args[0] || 'render';
573
- if (command === 'init') {
574
- const projectName = args[1] || 'r8s-app';
575
- const template = options.template || 'basic';
576
- const strategy = options.strategy || 'github-actions';
577
- const operators = options.operators
578
- ?.split(',')
579
- .map((op) => op.trim())
580
- .filter(Boolean);
581
- if (strategy !== 'github-actions' && strategy !== 'flux-controller') {
582
- console.error(`Invalid strategy: ${strategy}. Valid: github-actions, flux-controller`);
583
- process.exit(1);
584
- }
585
- try {
586
- await initProject(projectName, template, strategy, operators);
587
- }
588
- catch (error) {
589
- console.error('Error:', error instanceof Error ? error.message : error);
590
- process.exit(1);
591
- }
592
- return;
593
- }
594
- if (command === 'operators') {
595
- try {
596
- const entryFile = await findEntryFile(options.entry);
597
- console.error(`Rendering operators from: ${entryFile}`);
598
- const { renderToOperatorsYaml } = await import('./renderer.js');
599
- const yamlOutput = await renderToOperatorsYaml(entryFile);
600
- if (options.out) {
601
- const { writeFileSync, mkdirSync } = await import('fs');
602
- const { dirname } = await import('path');
603
- mkdirSync(dirname((0, path_1.resolve)(options.out)), { recursive: true });
604
- writeFileSync((0, path_1.resolve)(options.out), yamlOutput, 'utf-8');
605
- console.error(`Output written to: ${(0, path_1.resolve)(options.out)}`);
606
- }
607
- else {
608
- console.log(yamlOutput);
609
- }
610
- }
611
- catch (error) {
612
- console.error('Error:', error instanceof Error ? error.message : error);
613
- process.exit(1);
614
- }
615
- return;
616
- }
617
- if (command === 'list') {
618
- const { allComponents, operators } = await import('./catalog.js');
619
- const comps = allComponents();
620
- console.log('\nComponents:\n');
621
- const byCat = new Map();
622
- for (const c of comps) {
623
- const arr = byCat.get(c.category) ?? [];
624
- arr.push(c);
625
- byCat.set(c.category, arr);
626
- }
627
- for (const [cat, items] of byCat) {
628
- console.log(` ${cat}:`);
629
- for (const c of items) {
630
- console.log(` ${c.name.padEnd(12)} ${c.package.padEnd(20)} ${c.description}`);
631
- }
632
- console.log();
633
- }
634
- console.log('Operators:\n');
635
- for (const op of operators) {
636
- console.log(` ${op.name.padEnd(24)} ${op.description}`);
637
- }
638
- console.log('\nUse "r8s info <name>" for props and examples.');
639
- return;
640
- }
641
- if (command === 'info') {
642
- const name = args[1];
643
- if (!name) {
644
- console.error('Usage: r8s info <component-name>');
645
- console.error('Example: r8s info App');
646
- process.exit(1);
647
- }
648
- const { findComponent } = await import('./catalog.js');
649
- const comp = findComponent(name);
650
- if (!comp) {
651
- console.error(`Component not found: ${name}`);
652
- console.error('Use "r8s list" to see available components.');
653
- process.exit(1);
654
- }
655
- console.log(`\n${comp.name} (${comp.package})`);
656
- console.log(`${comp.category}`);
657
- console.log(`\n${comp.description}\n`);
658
- console.log('Props:');
659
- for (const p of comp.props) {
660
- const req = p.required ? 'required' : 'optional';
661
- const def = p.default ? ` [default: ${p.default}]` : '';
662
- console.log(` ${p.name.padEnd(16)} ${p.type.padEnd(36)} ${req}${def}`);
663
- console.log(` ${' '.repeat(18)}${p.description}`);
664
- }
665
- console.log('\nExample:');
666
- console.log(` ${comp.example}`);
667
- return;
668
- }
669
- if (command === 'context') {
670
- const { allComponents, operators } = await import('./catalog.js');
671
- const comps = allComponents();
672
- console.log('# r8s context for LLMs\n');
673
- console.log('## Workflow');
674
- console.log('1. Write TSX that default-exports a JSX element');
675
- console.log('2. Run: r8s render --entry <file.tsx> --out <file.yaml>');
676
- console.log('3. Commit the YAML. GitOps (FluxCD/ArgoCD) applies it.');
677
- console.log('4. Never hand-edit YAML — change TSX and re-render.\n');
678
- console.log('## Rules');
679
- console.log('- Lowercase elements (<deployment>, <service>) are raw K8s resources.');
680
- console.log('- PascalCase elements (<App>, <Database>) are recipe components.');
681
- console.log('- Components are TypeScript functions — testable with render() + vitest.');
682
- console.log('- Entry file must default-export a JSX element or function.\n');
683
- console.log('## Components\n');
684
- for (const c of comps) {
685
- const required = c.props.filter((p) => p.required).map((p) => `${p.name}: ${p.type}`);
686
- console.log(`${c.name} (${c.package}) — ${c.description}`);
687
- console.log(` Required: ${required.join(', ') || 'none'}`);
688
- console.log(` Example: ${c.example.replace(/\n/g, ' ')}`);
689
- console.log();
690
- }
691
- console.log('## Operators (auto-declared by recipes)');
692
- for (const op of operators) {
693
- console.log(` ${op.name} — ${op.description}`);
694
- }
695
- console.log('\n## Commands');
696
- console.log(' r8s init [name] Scaffold a project');
697
- console.log(' r8s render --entry f.tsx Render to stdout');
698
- console.log(' r8s render --out k8s.yaml Render to file');
699
- console.log(' r8s list List all components');
700
- console.log(' r8s info <name> Show props for a component');
701
- console.log(' r8s preview <name> Render a component with dummy props');
702
- console.log(' r8s explain <name> Show resources + operators a component creates');
703
- console.log(' r8s validate <file.tsx> Type-check + reference-check');
704
- console.log(' r8s search <term> Search npm for community recipes');
705
- console.log(' r8s add <package> Install a community recipe from npm');
706
- console.log(' r8s context This output');
707
- return;
708
- }
709
- if (command === 'search') {
710
- const term = args.slice(1).join(' ');
711
- if (!term) {
712
- console.error('Usage: r8s search <term>');
713
- console.error('Example: r8s search database');
714
- process.exit(1);
715
- }
716
- console.log(`Searching npm for r8s recipes matching "${term}"...\n`);
717
- try {
718
- const url = `https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(`keywords:r8s ${term}`)}&size=25`;
719
- const res = await fetch(url);
720
- const data = await res.json();
721
- if (!data.objects || data.objects.length === 0) {
722
- console.log('No packages found.');
723
- console.log('\nTo publish a recipe, add "r8s" to the keywords in package.json.');
724
- return;
725
- }
726
- console.log('Package Version Description');
727
- console.log('─'.repeat(80));
728
- for (const obj of data.objects) {
729
- const pkg = obj.package;
730
- const name = pkg.name.padEnd(30);
731
- const version = pkg.version.padEnd(10);
732
- const desc = (pkg.description ?? '').substring(0, 38);
733
- console.log(`${name} ${version} ${desc}`);
734
- }
735
- console.log(`\n${data.total} package(s) found.`);
736
- console.log('Install with: r8s add <package-name>');
737
- }
738
- catch (error) {
739
- console.error('Search failed:', error instanceof Error ? error.message : error);
740
- process.exit(1);
741
- }
742
- return;
589
+ catch {
590
+ // best-effort cleanup of a temp preview file
743
591
  }
744
- if (command === 'add') {
745
- const packageName = args[1];
746
- if (!packageName) {
747
- console.error('Usage: r8s add <package-name>');
748
- console.error('Example: r8s add @acme/r8s-redis');
749
- process.exit(1);
750
- }
751
- console.log(`Installing ${packageName}...`);
752
- const { execSync } = await import('child_process');
753
- try {
754
- execSync(`npm install ${packageName}`, { stdio: 'inherit' });
755
- console.log(`\n✅ ${packageName} installed.`);
756
- console.log(`Import components in your TSX:`);
757
- console.log(` import { MyComponent } from '${packageName}'`);
758
- }
759
- catch (error) {
760
- console.error('Install failed:', error instanceof Error ? error.message : error);
761
- process.exit(1);
762
- }
763
- return;
592
+ }
593
+ /** Components must exist in the catalog — resolve names must too. */
594
+ function requireComponent(name, usage) {
595
+ if (!name) {
596
+ console.error(usage);
597
+ process.exit(1);
764
598
  }
765
- if (command === 'preview') {
766
- const name = args[1];
767
- if (!name) {
768
- console.error('Usage: r8s preview <component-name>');
769
- console.error('Example: r8s preview App');
770
- process.exit(1);
771
- }
772
- const { findComponent } = await import('./catalog.js');
599
+ // dynamic import kept local so `r8s list` stays cold-start fast
600
+ return import('./catalog.js').then(({ findComponent }) => {
773
601
  const comp = findComponent(name);
774
602
  if (!comp) {
775
603
  console.error(`Component not found: ${name}`);
776
604
  console.error('Use "r8s list" to see available components.');
777
605
  process.exit(1);
778
606
  }
779
- // Build a TSX file that renders the component with dummy required props
780
- const requiredProps = comp.props.filter((p) => p.required);
781
- const dummyValues = {
782
- name: '"example"',
783
- image: '"example/app:v1"',
784
- host: '"example.com"',
785
- serviceName: '"example"',
786
- children: 'null',
787
- selector: '{ app: "example" }',
788
- };
789
- const propsStr = requiredProps
790
- .map((p) => `${p.name}={${dummyValues[p.name] ?? '"dummy"'}}`)
791
- .join(' ');
792
- const tsx = `import { ${comp.name} } from '${comp.package}'\nexport default <${comp.name} ${propsStr} />\n`;
793
- const tmpFile = (0, path_1.resolve)(`.r8s-preview-${Date.now()}.tsx`);
794
- (0, fs_1.writeFileSync)(tmpFile, tsx, 'utf-8');
795
- try {
796
- const { renderToYaml } = await import('./renderer.js');
797
- const yaml = await renderToYaml(tmpFile);
798
- console.log(`# Preview of ${comp.name} with dummy required props\n`);
799
- console.log(yaml);
800
- }
801
- catch (error) {
802
- console.error('Preview failed:', error instanceof Error ? error.message : error);
803
- console.error('\nThis component may require a Platform context or specific props.');
804
- process.exit(1);
805
- }
806
- finally {
807
- try {
808
- require('fs').unlinkSync(tmpFile);
809
- }
810
- catch { }
811
- }
812
- return;
607
+ return comp;
608
+ });
609
+ }
610
+ async function cmdInit({ args, options }) {
611
+ const projectName = args[1] || 'r8s-app';
612
+ const template = options.template || 'basic';
613
+ const strategy = options.strategy || 'github-actions';
614
+ const operators = options.operators
615
+ ?.split(',')
616
+ .map((op) => op.trim())
617
+ .filter(Boolean);
618
+ if (strategy !== 'github-actions' && strategy !== 'flux-controller') {
619
+ console.error(`Invalid strategy: ${strategy}. Valid: github-actions, flux-controller`);
620
+ process.exit(1);
813
621
  }
814
- if (command === 'explain') {
815
- const name = args[1];
816
- if (!name) {
817
- console.error('Usage: r8s explain <component-name>');
818
- console.error('Example: r8s explain App');
819
- process.exit(1);
820
- }
821
- const { findComponent, operators } = await import('./catalog.js');
822
- const comp = findComponent(name);
823
- if (!comp) {
824
- console.error(`Component not found: ${name}`);
825
- process.exit(1);
826
- }
827
- console.log(`\n${comp.name} (${comp.package})`);
828
- console.log(`${comp.description}\n`);
829
- // Render with dummy props to discover what resources it creates
830
- const requiredProps = comp.props.filter((p) => p.required);
831
- const dummyValues = {
832
- name: '"example"',
833
- image: '"example/app:v1"',
834
- host: '"example.com"',
835
- serviceName: '"example"',
836
- children: 'null',
837
- selector: '{ app: "example" }',
838
- };
839
- const propsStr = requiredProps
840
- .map((p) => `${p.name}={${dummyValues[p.name] ?? '"dummy"'}}`)
841
- .join(' ');
842
- const tsx = `import { ${comp.name} } from '${comp.package}'\nexport default <${comp.name} ${propsStr} />\n`;
843
- const tmpFile = (0, path_1.resolve)(`.r8s-explain-${Date.now()}.tsx`);
844
- (0, fs_1.writeFileSync)(tmpFile, tsx, 'utf-8');
845
- try {
846
- const { bundleAndRender } = await import('./renderer.js');
847
- const result = await bundleAndRender(tmpFile);
848
- console.log('Resources created:');
849
- for (const r of result.resources) {
850
- console.log(` ${r.kind.padEnd(24)} ${r.metadata?.namespace ?? ''}/${r.metadata?.name ?? ''}`);
851
- }
852
- if (result.operators.length > 0) {
853
- console.log('\nOperators required:');
854
- for (const op of result.operators) {
855
- const meta = operators.find((o) => o.name === op.name);
856
- console.log(` ${op.name.padEnd(24)} ${meta?.description ?? ''}`);
857
- }
858
- }
859
- console.log(`\n${result.resources.length} resource(s), ${result.operators.length} operator(s).`);
860
- }
861
- catch (error) {
862
- console.error('Explain failed:', error instanceof Error ? error.message : error);
863
- console.error('\nThis component may require a Platform context.');
864
- process.exit(1);
622
+ try {
623
+ await initProject(projectName, template, strategy, operators);
624
+ }
625
+ catch (error) {
626
+ console.error('Error:', error instanceof Error ? error.message : error);
627
+ process.exit(1);
628
+ }
629
+ }
630
+ /** Render-to-file or stdout: the shared output path for render/operators. */
631
+ async function writeOutput(yaml, out) {
632
+ if (out) {
633
+ const { writeFileSync, mkdirSync } = await import('fs');
634
+ const { dirname } = await import('path');
635
+ mkdirSync(dirname((0, path_1.resolve)(out)), { recursive: true });
636
+ writeFileSync((0, path_1.resolve)(out), yaml, 'utf-8');
637
+ console.error(`Output written to: ${(0, path_1.resolve)(out)}`);
638
+ }
639
+ else {
640
+ console.log(yaml);
641
+ }
642
+ }
643
+ function failWith(prefix, error, sanitize = false) {
644
+ const msg = error instanceof Error ? error.message : String(error);
645
+ console.error(prefix, sanitize ? (0, core_1.sanitizeErrorMessage)(msg) : msg);
646
+ process.exit(1);
647
+ }
648
+ async function cmdOperators({ options }) {
649
+ try {
650
+ const entryFile = await findEntryFile(options.entry);
651
+ console.error(`Rendering operators from: ${entryFile}`);
652
+ const { renderToOperatorsYaml } = await import('./renderer.js');
653
+ await writeOutput(await renderToOperatorsYaml(entryFile), options.out);
654
+ }
655
+ catch (error) {
656
+ failWith('Error:', error);
657
+ }
658
+ }
659
+ async function cmdList() {
660
+ const { allComponents, operators } = await import('./catalog.js');
661
+ const comps = allComponents();
662
+ console.log('\nComponents:\n');
663
+ const byCat = new Map();
664
+ for (const c of comps) {
665
+ const arr = byCat.get(c.category) ?? [];
666
+ arr.push(c);
667
+ byCat.set(c.category, arr);
668
+ }
669
+ for (const [cat, items] of byCat) {
670
+ console.log(` ${cat}:`);
671
+ for (const c of items) {
672
+ console.log(` ${c.name.padEnd(12)} ${c.package.padEnd(20)} ${c.description}`);
865
673
  }
866
- finally {
867
- try {
868
- require('fs').unlinkSync(tmpFile);
674
+ console.log();
675
+ }
676
+ console.log('Operators:\n');
677
+ for (const op of operators) {
678
+ console.log(` ${op.name.padEnd(24)} ${op.description}`);
679
+ }
680
+ console.log('\nUse "r8s info <name>" for props and examples.');
681
+ }
682
+ async function cmdInfo({ args }) {
683
+ const comp = await requireComponent(args[1], 'Usage: r8s info <component-name>');
684
+ console.log(`\n${comp.name} (${comp.package})`);
685
+ console.log(`${comp.category}`);
686
+ console.log(`\n${comp.description}\n`);
687
+ console.log('Props:');
688
+ for (const p of comp.props) {
689
+ const req = p.required ? 'required' : 'optional';
690
+ const def = p.default ? ` [default: ${p.default}]` : '';
691
+ console.log(` ${p.name.padEnd(16)} ${p.type.padEnd(36)} ${req}${def}`);
692
+ console.log(` ${' '.repeat(18)}${p.description}`);
693
+ }
694
+ console.log('\nExample:');
695
+ console.log(` ${comp.example}`);
696
+ }
697
+ async function cmdContext() {
698
+ const { allComponents, operators } = await import('./catalog.js');
699
+ const comps = allComponents();
700
+ console.log('# r8s context for LLMs\n');
701
+ console.log('## Workflow');
702
+ console.log('1. Write TSX that default-exports a JSX element');
703
+ console.log('2. Run: r8s render --entry <file.tsx> --out <file.yaml>');
704
+ console.log('3. Commit the YAML. GitOps (FluxCD/ArgoCD) applies it.');
705
+ console.log('4. Never hand-edit YAML — change TSX and re-render.\n');
706
+ console.log('## Rules');
707
+ console.log('- Lowercase elements (<deployment>, <service>) are raw K8s resources.');
708
+ console.log('- PascalCase elements (<App>, <Database>) are recipe components.');
709
+ console.log('- Components are TypeScript functions — testable with render() + vitest.');
710
+ console.log('- Entry file must default-export a JSX element or function.\n');
711
+ console.log('## Components\n');
712
+ for (const c of comps) {
713
+ const required = c.props.filter((p) => p.required).map((p) => `${p.name}: ${p.type}`);
714
+ console.log(`${c.name} (${c.package}) — ${c.description}`);
715
+ console.log(` Required: ${required.join(', ') || 'none'}`);
716
+ console.log(` Example: ${c.example.replace(/\n/g, ' ')}`);
717
+ console.log();
718
+ }
719
+ console.log('## Operators (auto-declared by recipes)');
720
+ for (const op of operators) {
721
+ console.log(` ${op.name} — ${op.description}`);
722
+ }
723
+ console.log('\n## Commands');
724
+ console.log(' r8s init [name] Scaffold a project');
725
+ console.log(' r8s render --entry f.tsx Render to stdout');
726
+ console.log(' r8s render --out k8s.yaml Render to file');
727
+ console.log(' r8s list List all components');
728
+ console.log(' r8s info <name> Show props for a component');
729
+ console.log(' r8s preview <name> Render a component with dummy props');
730
+ console.log(' r8s explain <name> Show resources + operators a component creates');
731
+ console.log(' r8s validate <file.tsx> Type-check + reference-check');
732
+ console.log(' r8s search <term> Search npm for community recipes');
733
+ console.log(' r8s add <package> Install a community recipe from npm');
734
+ console.log(' r8s context This output');
735
+ }
736
+ async function cmdSearch({ args }) {
737
+ const term = args.slice(1).join(' ');
738
+ if (!term) {
739
+ console.error('Usage: r8s search <term>');
740
+ console.error('Example: r8s search database');
741
+ process.exit(1);
742
+ }
743
+ console.log(`Searching npm for r8s recipes matching "${term}"...\n`);
744
+ try {
745
+ const url = `https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(`keywords:r8s ${term}`)}&size=25`;
746
+ const res = await fetch(url);
747
+ const data = await res.json();
748
+ if (!data.objects || data.objects.length === 0) {
749
+ console.log('No packages found.');
750
+ console.log('\nTo publish a recipe, add "r8s" to the keywords in package.json.');
751
+ return;
752
+ }
753
+ console.log('Package Version Description');
754
+ console.log('─'.repeat(80));
755
+ for (const obj of data.objects) {
756
+ const pkg = obj.package;
757
+ console.log(`${pkg.name.padEnd(30)} ${String(pkg.version).padEnd(10)} ${(pkg.description ?? '').substring(0, 38)}`);
758
+ }
759
+ console.log(`\n${data.total} package(s) found.`);
760
+ console.log('Install with: r8s add <package-name>');
761
+ }
762
+ catch (error) {
763
+ failWith('Search failed:', error);
764
+ }
765
+ }
766
+ async function cmdAdd({ args }) {
767
+ const packageName = args[1];
768
+ if (!packageName) {
769
+ console.error('Usage: r8s add <package-name>');
770
+ console.error('Example: r8s add @acme/r8s-redis');
771
+ process.exit(1);
772
+ }
773
+ console.log(`Installing ${packageName}...`);
774
+ const { execSync } = await import('child_process');
775
+ try {
776
+ execSync(`npm install ${packageName}`, { stdio: 'inherit' });
777
+ console.log(`\n✅ ${packageName} installed.`);
778
+ console.log(`Import components in your TSX:`);
779
+ console.log(` import { MyComponent } from '${packageName}'`);
780
+ }
781
+ catch (error) {
782
+ failWith('Install failed:', error);
783
+ }
784
+ }
785
+ async function cmdPreview({ args }) {
786
+ const comp = await requireComponent(args[1], 'Usage: r8s preview <component-name>');
787
+ const tmpFile = writeDummyTsx(comp, 'preview');
788
+ try {
789
+ const { renderToYaml } = await import('./renderer.js');
790
+ console.log(`# Preview of ${comp.name} with dummy required props\n`);
791
+ console.log(await renderToYaml(tmpFile));
792
+ }
793
+ catch (error) {
794
+ console.error('Preview failed:', error instanceof Error ? error.message : error);
795
+ console.error('\nThis component may require a Platform context or specific props.');
796
+ process.exit(1);
797
+ }
798
+ finally {
799
+ removeQuietly(tmpFile);
800
+ }
801
+ }
802
+ async function cmdExplain({ args }) {
803
+ const comp = await requireComponent(args[1], 'Usage: r8s explain <component-name>');
804
+ const { operators } = await import('./catalog.js');
805
+ console.log(`\n${comp.name} (${comp.package})`);
806
+ console.log(`${comp.description}\n`);
807
+ const tmpFile = writeDummyTsx(comp, 'explain');
808
+ try {
809
+ const { bundleAndRender } = await import('./renderer.js');
810
+ const result = await bundleAndRender(tmpFile);
811
+ console.log('Resources created:');
812
+ for (const r of result.resources) {
813
+ console.log(` ${r.kind.padEnd(24)} ${r.metadata?.namespace ?? ''}/${r.metadata?.name ?? ''}`);
814
+ }
815
+ if (result.operators.length > 0) {
816
+ console.log('\nOperators required:');
817
+ for (const op of result.operators) {
818
+ const meta = operators.find((o) => o.name === op.name);
819
+ console.log(` ${op.name.padEnd(24)} ${meta?.description ?? ''}`);
869
820
  }
870
- catch { }
871
821
  }
872
- return;
822
+ console.log(`\n${result.resources.length} resource(s), ${result.operators.length} operator(s).`);
873
823
  }
874
- if (command === 'validate') {
875
- const entryFile = args[1];
876
- if (!entryFile) {
877
- console.error('Usage: r8s validate <file.tsx>');
878
- console.error('Example: r8s validate infra/app.tsx');
879
- process.exit(1);
880
- }
881
- const resolved = (0, path_1.resolve)(entryFile);
882
- if (!(0, fs_1.existsSync)(resolved)) {
883
- console.error(`File not found: ${resolved}`);
884
- process.exit(1);
885
- }
886
- console.log(`Validating: ${resolved}\n`);
887
- // 1. Type-check with tsc using the project tsconfig
888
- try {
889
- const { execSync } = await import('child_process');
890
- // Use --noEmit with the project's tsconfig if available, else minimal flags
891
- const tsconfigPath = (0, path_1.resolve)('tsconfig.json');
892
- const tscCmd = (0, fs_1.existsSync)(tsconfigPath)
893
- ? `npx tsc --noEmit -p ${tsconfigPath}`
894
- : `npx tsc --noEmit --jsx react-jsx --jsxImportSource @r8s/core --moduleResolution bundler --target es2022 --module esnext ${resolved}`;
895
- execSync(tscCmd, {
896
- stdio: 'pipe',
897
- cwd: process.cwd(),
898
- });
899
- console.log('✅ TypeScript: no errors');
900
- }
901
- catch (error) {
902
- const stdout = error.stdout?.toString() ?? '';
903
- const stderr = error.stderr?.toString() ?? '';
904
- console.error('❌ TypeScript errors:');
905
- console.error(stdout || stderr || error.message);
906
- process.exit(1);
907
- }
908
- // 2. Render and check references
909
- try {
910
- const { bundleAndRender } = await import('./renderer.js');
911
- const result = await bundleAndRender(resolved);
912
- const resources = result.resources;
913
- const names = new Set(resources.map((r) => `${r.kind}/${r.metadata?.namespace ?? ''}/${r.metadata?.name ?? ''}`));
914
- const issues = [];
915
- // Check HTTPRoute backendRefs
916
- for (const route of resources.filter((r) => r.kind === 'HTTPRoute' || r.kind === 'Ingress')) {
917
- const refs = route.kind === 'HTTPRoute'
918
- ? (route.spec?.rules?.flatMap((r) => r.backendRefs ?? []) ?? [])
919
- : (route.spec?.rules?.flatMap((r) => r.http?.paths?.map((p) => p.backend?.service) ?? []) ?? []);
920
- for (const ref of refs) {
921
- const svcName = ref.name;
922
- const svc = resources.find((r) => r.kind === 'Service' && r.metadata.name === svcName);
923
- if (!svc) {
924
- issues.push(`⚠️ ${route.kind} ${route.metadata.name} → Service "${svcName}" not found (operator-managed?)`);
925
- }
926
- }
927
- }
928
- // Check Deployment volume refs
929
- for (const d of resources.filter((r) => r.kind === 'Deployment' || r.kind === 'StatefulSet')) {
930
- const vols = d.spec?.template?.spec?.volumes ?? [];
931
- for (const vol of vols) {
932
- if (vol.secret) {
933
- const sec = resources.find((r) => r.kind === 'Secret' && r.metadata.name === vol.secret.secretName);
934
- if (!sec)
935
- issues.push(`⚠️ ${d.kind} ${d.metadata.name} → Secret "${vol.secret.secretName}" not found`);
936
- }
937
- if (vol.configMap) {
938
- const cm = resources.find((r) => r.kind === 'ConfigMap' && r.metadata.name === vol.configMap.name);
939
- if (!cm)
940
- issues.push(`⚠️ ${d.kind} ${d.metadata.name} → ConfigMap "${vol.configMap.name}" not found`);
941
- }
942
- if (vol.persistentVolumeClaim) {
943
- const pvc = resources.find((r) => r.kind === 'PersistentVolumeClaim' &&
944
- r.metadata.name === vol.persistentVolumeClaim.claimName);
945
- if (!pvc)
946
- issues.push(`⚠️ ${d.kind} ${d.metadata.name} → PVC "${vol.persistentVolumeClaim.claimName}" not found`);
947
- }
948
- }
949
- }
950
- // Check empty DNSEndpoint targets
951
- for (const dns of resources.filter((r) => r.kind === 'DNSEndpoint')) {
952
- for (const ep of dns.spec?.endpoints ?? []) {
953
- if (!ep.targets || ep.targets.length === 0) {
954
- issues.push(`⚠️ DNSEndpoint ${dns.metadata.name} has empty targets`);
955
- }
956
- }
957
- }
958
- console.log(`✅ Render: ${resources.length} resources, ${result.operators.length} operators`);
959
- if (issues.length > 0) {
960
- console.log(`\n${issues.length} reference issue(s) found:`);
961
- for (const issue of issues) {
962
- console.log(` ${issue}`);
963
- }
964
- console.log('\nSome references may be operator-managed (e.g. Keycloak Service).');
965
- process.exit(1);
966
- }
967
- else {
968
- console.log('✅ References: all resolved');
824
+ catch (error) {
825
+ console.error('Explain failed:', error instanceof Error ? error.message : error);
826
+ console.error('\nThis component may require a Platform context.');
827
+ process.exit(1);
828
+ }
829
+ finally {
830
+ removeQuietly(tmpFile);
831
+ }
832
+ }
833
+ /** Reference checks after render: routes→Services, volumes→Secrets/ConfigMaps/PVCs, DNS targets. */
834
+ function missingKinds(resources) {
835
+ return (kind, name) => !resources.some((r) => r.kind === kind && r.metadata?.name === name);
836
+ }
837
+ function routeIssues(resources, missing) {
838
+ const issues = [];
839
+ for (const route of resources.filter((r) => r.kind === 'HTTPRoute' || r.kind === 'Ingress')) {
840
+ const refs = route.kind === 'HTTPRoute'
841
+ ? (route.spec?.rules?.flatMap((r) => r.backendRefs ?? []) ?? [])
842
+ : (route.spec?.rules?.flatMap((r) => r.http?.paths?.map((p) => p.backend?.service) ?? []) ?? []);
843
+ for (const ref of refs) {
844
+ if (missing('Service', ref.name)) {
845
+ issues.push(`⚠️ ${route.kind} ${route.metadata.name} → Service "${ref.name}" not found (operator-managed?)`);
969
846
  }
970
847
  }
971
- catch (error) {
972
- console.error('❌ Render failed:', (0, core_1.sanitizeErrorMessage)(error instanceof Error ? error.message : String(error)));
848
+ }
849
+ return issues;
850
+ }
851
+ function volumeIssues(resources, missing) {
852
+ const targetsOf = (vol) => [
853
+ [vol.secret?.secretName, 'Secret'],
854
+ [vol.configMap?.name, 'ConfigMap'],
855
+ [vol.persistentVolumeClaim?.claimName, 'PersistentVolumeClaim'],
856
+ ];
857
+ const issuesFor = (d, vol) => targetsOf(vol)
858
+ .filter(([target, kind]) => target !== undefined && missing(kind, target))
859
+ .map(([target, kind]) => `⚠️ ${d.kind} ${d.metadata.name} → ${kind} "${target}" not found`);
860
+ return resources
861
+ .filter((r) => r.kind === 'Deployment' || r.kind === 'StatefulSet')
862
+ .flatMap((d) => (d.spec?.template?.spec?.volumes ?? []).flatMap((vol) => issuesFor(d, vol)));
863
+ }
864
+ function dnsIssues(resources) {
865
+ return resources
866
+ .filter((r) => r.kind === 'DNSEndpoint')
867
+ .flatMap((dns) => dns.spec?.endpoints ?? [])
868
+ .filter((ep) => !ep.targets || ep.targets.length === 0)
869
+ .map((ep) => `⚠️ DNSEndpoint ${ep.dnsName ?? ''} has empty targets`);
870
+ }
871
+ function referenceIssues(resources) {
872
+ const missing = missingKinds(resources);
873
+ return [
874
+ ...routeIssues(resources, missing),
875
+ ...volumeIssues(resources, missing),
876
+ ...dnsIssues(resources),
877
+ ];
878
+ }
879
+ function typecheckEntry(resolved) {
880
+ try {
881
+ const { execSync } = require('child_process');
882
+ const tsconfigPath = (0, path_1.resolve)('tsconfig.json');
883
+ const tscCmd = (0, fs_1.existsSync)(tsconfigPath)
884
+ ? `npx tsc --noEmit -p ${tsconfigPath}`
885
+ : `npx tsc --noEmit --jsx react-jsx --jsxImportSource @r8s/core --moduleResolution bundler --target es2022 --module esnext ${resolved}`;
886
+ execSync(tscCmd, { stdio: 'pipe', cwd: process.cwd() });
887
+ console.log('✅ TypeScript: no errors');
888
+ }
889
+ catch (error) {
890
+ const stdout = error.stdout?.toString() ?? '';
891
+ const stderr = error.stderr?.toString() ?? '';
892
+ console.error('❌ TypeScript errors:');
893
+ console.error(stdout || stderr || error.message);
894
+ process.exit(1);
895
+ }
896
+ }
897
+ async function cmdValidate({ args }) {
898
+ const entryFile = args[1];
899
+ if (!entryFile) {
900
+ console.error('Usage: r8s validate <file.tsx>');
901
+ console.error('Example: r8s validate infra/app.tsx');
902
+ process.exit(1);
903
+ }
904
+ const resolved = (0, path_1.resolve)(entryFile);
905
+ if (!(0, fs_1.existsSync)(resolved)) {
906
+ console.error(`File not found: ${resolved}`);
907
+ process.exit(1);
908
+ }
909
+ console.log(`Validating: ${resolved}\n`);
910
+ typecheckEntry(resolved);
911
+ try {
912
+ const { bundleAndRender } = await import('./renderer.js');
913
+ const result = await bundleAndRender(resolved);
914
+ const issues = referenceIssues(result.resources);
915
+ console.log(`✅ Render: ${result.resources.length} resources, ${result.operators.length} operators`);
916
+ if (issues.length > 0) {
917
+ console.log(`\n${issues.length} reference issue(s) found:`);
918
+ for (const issue of issues)
919
+ console.log(` ${issue}`);
920
+ console.log('\nSome references may be operator-managed (e.g. Keycloak Service).');
973
921
  process.exit(1);
974
922
  }
975
- return;
923
+ console.log('✅ References: all resolved');
976
924
  }
977
- if (command !== 'render') {
978
- console.error(`Unknown command: ${command}`);
979
- showHelp();
980
- process.exit(1);
925
+ catch (error) {
926
+ failWith('❌ Render failed:', error, true);
981
927
  }
928
+ }
929
+ async function cmdRender({ options }) {
982
930
  try {
983
931
  const entryFile = await findEntryFile(options.entry);
984
932
  console.error(`Rendering: ${entryFile}`);
@@ -992,20 +940,48 @@ async function main() {
992
940
  // stay faithful so local dev workflows still apply real values.
993
941
  redactSecrets: options.skipSecretGuardrails && !options.out,
994
942
  });
995
- if (options.out) {
996
- const { writeFileSync, mkdirSync } = await import('fs');
997
- const { dirname } = await import('path');
998
- mkdirSync(dirname((0, path_1.resolve)(options.out)), { recursive: true });
999
- writeFileSync((0, path_1.resolve)(options.out), yamlOutput, 'utf-8');
1000
- console.error(`Output written to: ${(0, path_1.resolve)(options.out)}`);
1001
- }
1002
- else {
1003
- console.log(yamlOutput);
1004
- }
943
+ await writeOutput(yamlOutput, options.out);
1005
944
  }
1006
945
  catch (error) {
1007
- console.error('Error:', (0, core_1.sanitizeErrorMessage)(error instanceof Error ? error.message : String(error)));
1008
- process.exit(1);
946
+ failWith('Error:', error, true);
947
+ }
948
+ }
949
+ async function main() {
950
+ const args = process.argv.slice(2);
951
+ const options = parseArgs(args);
952
+ if (options.help) {
953
+ showHelp();
954
+ process.exit(0);
955
+ }
956
+ const ctx = { args, options };
957
+ switch (args[0] || 'render') {
958
+ case 'init':
959
+ return cmdInit(ctx);
960
+ case 'operators':
961
+ return cmdOperators(ctx);
962
+ case 'list':
963
+ return cmdList();
964
+ case 'info':
965
+ return cmdInfo(ctx);
966
+ case 'context':
967
+ return cmdContext();
968
+ case 'search':
969
+ return cmdSearch(ctx);
970
+ case 'add':
971
+ return cmdAdd(ctx);
972
+ case 'preview':
973
+ return cmdPreview(ctx);
974
+ case 'explain':
975
+ return cmdExplain(ctx);
976
+ case 'validate':
977
+ return cmdValidate(ctx);
978
+ case 'render':
979
+ return cmdRender(ctx);
980
+ default: {
981
+ console.error(`Unknown command: ${args[0]}`);
982
+ showHelp();
983
+ process.exit(1);
984
+ }
1009
985
  }
1010
986
  }
1011
987
  main();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,2BAAyD;AACzD,+BAAoC;AAEpC,oCAAgD;AAchD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe,EAAE,CAAA;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAyC,CAAA;QACtE,CAAC;aAAM,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;YACzC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAA;QACjC,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACtC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAA;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAA;QACrC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC,CAAA;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAkB;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IAEjF,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAA;QACrC,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yCAAyC;QACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,2CAA2C,CAC9C,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,SAAS;IACT,UAAU;IACV,cAAc;IACd,OAAO;IACP,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,MAAM;CACP,CAAA;AAED,KAAK,UAAU,WAAW,CACxB,WAAmB,EACnB,QAAgB,EAChB,WAAiD,gBAAgB,EACjE,SAAoB;IAEpB,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAA;IAEvC,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,iBAAiB,CAAC,CAAA;IAC5D,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC1C,wBAAwB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAA;IAE/C,6BAA6B;IAC7B,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvD,sBAAsB;IACtB,MAAM,YAAY,GAA2B;QAC3C,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,QAAQ;KACzB,CAAA;IAED,qCAAqC;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAA;QACvC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,OAAO;QACP,YAAY;QACZ,eAAe,EAAE;YACf,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,QAAQ;SACrB;KACF,CAAA;IAED,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC3C,OAAO,CACR,CAAA;IAED,uBAAuB;IACvB,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,UAAU;YAC5B,GAAG,EAAE,WAAW;YAChB,eAAe,EAAE,WAAW;YAC5B,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,gCAAgC,EAAE,IAAI;SACvC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB,CAAA;IAED,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,UAAU,EAAE,eAAe,CAAC,EACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACxC,OAAO,CACR,CAAA;IAED,uCAAuC;IACvC,IAAI,UAAkB,CAAA;IAEtB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEtE,oBAAoB;IACpB,MAAM,SAAS,GACb,QAAQ,KAAK,gBAAgB;QAC3B,CAAC,CAAC;;;;;;CAMP;QACK,CAAC,CAAC;;;;;;;CAOP,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAEjE,mCAAmC;IACnC,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,2BAA2B,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEpD,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7D,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;IAEjD,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,WAAW,GACf,QAAQ,KAAK,iBAAiB;QAC5B,CAAC,CAAC,gFAAgF;QAClF,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,GAAG,WAAW;;;;;;;;;CAStB,CAAA;AACD,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,WAAW,GACf,QAAQ,KAAK,iBAAiB;QAC5B,CAAC,CAAC,gFAAgF;QAClF,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCtB,CAAA;AACD,CAAC;AAED,SAAS,2BAA2B,CAAC,UAAkB;IACrD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExE,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDzB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;AAClG,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB,EAAE,WAAmB;IACxE,gDAAgD;IAChD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExD,MAAM,aAAa,GAAG;;;UAGd,WAAW;;;;qCAIgB,WAAW;;;;;;;UAOtC,WAAW;;;;;;;;YAQT,WAAW;CACtB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAErF,MAAM,OAAO,GAAG;;;UAGR,WAAW;;;;;;;;YAQT,WAAW;;;;cAIT,WAAW;;;;;;UAMf,WAAW;;;;;CAKpB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAG,sBAAsB,WAAW;;;;;;;;;;;;;;;;;;;;;;2EAsByB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrF,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB,EAAE,QAAgB;IAC3D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C1B,CAAA;IACC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD1B,CAAA;IACC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAA;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;IAEnC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;YACjC,EAAE,KAAK,CAAC,GAAG,CAAC;aACX,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;aACtB,MAAM,CAAC,OAAO,CAAC,CAAA;QAElB,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,0CAA0C,CAAC,CAAA;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACpD,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAA;YAEvD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YAC/D,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAA;YAEzD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;gBACxC,SAAS,CAAC,OAAO,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC7D,aAAa,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;gBACxD,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;QAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;YACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;YAClF,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC3B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC9D,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACjD,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;YAChD,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;QACpF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;QACvF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;QAC5E,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACrF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;YAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;YAC3D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QAC7D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAA;QAClF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAA;QAC7F,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAA;QAClF,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAC1D,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,QAAQ,CAAC,CAAA;QACpE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,+CAA+C,kBAAkB,CAAC,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAA;YAC/G,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAClC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBACjC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;YACrE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,oBAAoB,CAAC,CAAA;YAChD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAC9C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,KAAK,CAAC,CAAA;QAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QAClD,IAAI,CAAC;YACH,QAAQ,CAAC,eAAe,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,aAAa,CAAC,CAAA;YAC5C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACpD,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,wEAAwE;QACxE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC1D,MAAM,WAAW,GAA2B;YAC1C,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,oBAAoB;SAC/B,CAAA;QACD,MAAM,QAAQ,GAAG,aAAa;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC;aAC7D,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,MAAM,GAAG,GAAG,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,sBAAsB,IAAI,CAAC,IAAI,IAAI,QAAQ,OAAO,CAAA;QAC3G,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzD,IAAA,kBAAa,EAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;YACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAA;YACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAChF,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACpD,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QACjE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;QACpC,gEAAgE;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC1D,MAAM,WAAW,GAA2B;YAC1C,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,oBAAoB;SAC/B,CAAA;QACD,MAAM,QAAQ,GAAG,aAAa;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC;aAC7D,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,MAAM,GAAG,GAAG,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,sBAAsB,IAAI,CAAC,IAAI,IAAI,QAAQ,OAAO,CAAA;QAC3G,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzD,IAAA,kBAAa,EAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,CAClF,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;gBACpC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;oBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,iBAAiB,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,CACpF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAChF,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC/C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAA;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,IAAI,CAAC,CAAA;QACxC,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YAClD,4EAA4E;YAC5E,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,YAAY,CAAC;gBACrC,CAAC,CAAC,uBAAuB,YAAY,EAAE;gBACvC,CAAC,CAAC,2HAA2H,QAAQ,EAAE,CAAA;YACzI,QAAQ,CAAC,MAAM,EAAE;gBACf,KAAK,EAAE,MAAM;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC7C,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACrC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAkB,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,SAAS,CAAC,GAAG,CACX,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,CACjF,CACF,CAAA;YACD,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAClC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAC3D,EAAE,CAAC;gBACF,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,WAAW;oBACxB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBACrE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CACzB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CACrE,IAAI,EAAE,CAAC,CAAA;gBACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;oBACxB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;oBACtF,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CACT,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,OAAO,iCAAiC,CAChG,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,+BAA+B;YAC/B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAC9B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAChE,EAAE,CAAC;gBACF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;gBAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CACxE,CAAA;wBACD,IAAI,CAAC,GAAG;4BACN,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,aAAa,CACjF,CAAA;oBACL,CAAC;oBACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,CACxE,CAAA;wBACD,IAAI,CAAC,EAAE;4BACL,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,iBAAiB,GAAG,CAAC,SAAS,CAAC,IAAI,aAAa,CACjF,CAAA;oBACL,CAAC;oBACD,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,uBAAuB;4BAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAC1D,CAAA;wBACD,IAAI,CAAC,GAAG;4BACN,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,GAAG,CAAC,qBAAqB,CAAC,SAAS,aAAa,CAC5F,CAAA;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,kCAAkC;YAClC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;gBACpE,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;oBAC3C,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3C,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAA;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,CAAC,MAAM,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,CAAA;YAC5F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAA;gBAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;gBAC3B,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAA;gBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,kBAAkB,EAClB,IAAA,2BAAoB,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7E,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;QAC5C,QAAQ,EAAE,CAAA;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpD,OAAO,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,CAAC,CAAA;QAExC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE;YAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,kEAAkE;YAClE,kEAAkE;YAClE,gEAAgE;YAChE,aAAa,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,GAAG;SAC5D,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;YACvD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;YACxC,SAAS,CAAC,OAAO,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7D,aAAa,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YACxD,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,QAAQ,EACR,IAAA,2BAAoB,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,2BAAyD;AACzD,+BAAoC;AAEpC,oCAAgD;AAchD,MAAM,UAAU,GAA+D;IAC7E,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAA2B,CAAC,EAAE,IAAI,CAAC;IAC1E,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;IAClE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;IAC5D,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;CAC5E,CAAA;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAChD,IAAI,UAAU;gBAAE,CAAC,EAAE,CAAA;QACrB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;IACzB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC,CAAA;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAkB;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IAEjF,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAA;QACrC,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yCAAyC;QACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,2CAA2C,CAC9C,CAAA;AACH,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,SAAS;IACT,UAAU;IACV,cAAc;IACd,OAAO;IACP,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,MAAM;CACP,CAAA;AAED,KAAK,UAAU,WAAW,CACxB,WAAmB,EACnB,QAAgB,EAChB,WAAiD,gBAAgB,EACjE,SAAoB;IAEpB,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAA;IAEvC,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,iBAAiB,CAAC,CAAA;IAC5D,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC1C,wBAAwB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAA;IAE/C,6BAA6B;IAC7B,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvD,sBAAsB;IACtB,MAAM,YAAY,GAA2B;QAC3C,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,QAAQ;KACzB,CAAA;IAED,qCAAqC;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAA;QACvC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,OAAO;QACP,YAAY;QACZ,eAAe,EAAE;YACf,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,QAAQ;SACrB;KACF,CAAA;IAED,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC3C,OAAO,CACR,CAAA;IAED,uBAAuB;IACvB,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,UAAU;YAC5B,GAAG,EAAE,WAAW;YAChB,eAAe,EAAE,WAAW;YAC5B,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,gCAAgC,EAAE,IAAI;SACvC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB,CAAA;IAED,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,UAAU,EAAE,eAAe,CAAC,EACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACxC,OAAO,CACR,CAAA;IAED,uCAAuC;IACvC,IAAI,UAAkB,CAAA;IAEtB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEtE,oBAAoB;IACpB,MAAM,SAAS,GACb,QAAQ,KAAK,gBAAgB;QAC3B,CAAC,CAAC;;;;;;CAMP;QACK,CAAC,CAAC;;;;;;;CAOP,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAEjE,mCAAmC;IACnC,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,2BAA2B,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEpD,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7D,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;IAEjD,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,WAAW,GACf,QAAQ,KAAK,iBAAiB;QAC5B,CAAC,CAAC,gFAAgF;QAClF,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,GAAG,WAAW;;;;;;;;;CAStB,CAAA;AACD,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,WAAW,GACf,QAAQ,KAAK,iBAAiB;QAC5B,CAAC,CAAC,gFAAgF;QAClF,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCtB,CAAA;AACD,CAAC;AAED,SAAS,2BAA2B,CAAC,UAAkB;IACrD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExE,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDzB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;AAClG,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB,EAAE,WAAmB;IACxE,gDAAgD;IAChD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExD,MAAM,aAAa,GAAG;;;UAGd,WAAW;;;;qCAIgB,WAAW;;;;;;;UAOtC,WAAW;;;;;;;;YAQT,WAAW;CACtB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAErF,MAAM,OAAO,GAAG;;;UAGR,WAAW;;;;;;;;YAQT,WAAW;;;;cAIT,WAAW;;;;;;UAMf,WAAW;;;;;CAKpB,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAG,sBAAsB,WAAW;;;;;;;;;;;;;;;;;;;;;;2EAsByB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrF,CAAA;IAEC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB,EAAE,QAAgB;IAC3D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C1B,CAAA;IACC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD1B,CAAA;IACC,CAAC;AACH,CAAC;AAOD,oFAAoF;AACpF,SAAS,aAAa,CACpB,IAAqF,EACrF,GAAW;IAEX,MAAM,WAAW,GAA2B;QAC1C,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,oBAAoB;KAC/B,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,aAAa;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC;SAC7D,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,MAAM,GAAG,GAAG,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,sBAAsB,IAAI,CAAC,IAAI,IAAI,QAAQ,OAAO,CAAA;IAC3G,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACxD,IAAA,kBAAa,EAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,IAAwB,EAAE,KAAa;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,gEAAgE;IAChE,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAkB;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAA;IAElB,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,0CAA0C,CAAC,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,GAAuB;IAC9D,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QACvD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QACxC,SAAS,CAAC,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,aAAa,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAA,cAAO,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAc,EAAE,QAAQ,GAAG,KAAK;IAChE,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAA,2BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAE,OAAO,EAAkB;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpD,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAA;QAEvD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QAC/D,MAAM,WAAW,CAAC,MAAM,qBAAqB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;QACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;AAChE,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,EAAE,IAAI,EAAkB;IAC7C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAA;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;QAChD,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;IAC9D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;IACtE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;IACrE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;IACpE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACvB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;IACpF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;IACvF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;IAC5E,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACtD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC5B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IAClE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;IACzE,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAA;IAClF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAA;IAC7F,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;IAC3E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAA;IAClF,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;AAC5D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,EAAE,IAAI,EAAkB;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,QAAQ,CAAC,CAAA;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,+CAA+C,kBAAkB,CAAC,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAA;QAC/G,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YACjC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;YACvB,OAAO,CAAC,GAAG,CACT,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACvG,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,oBAAoB,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,EAAE,IAAI,EAAkB;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,KAAK,CAAC,CAAA;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,QAAQ,CAAC,eAAe,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,aAAa,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAkB;IAChD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAA;IACnF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAChF,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAE,IAAI,EAAkB;IAChD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAA;IACnF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,iBAAiB,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,CAAC,CAAA;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAChF,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,SAAS,YAAY,CAAC,SAAgB;IACpC,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CACpC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,SAAgB,EAAE,OAAgD;IACrF,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,WAAW;YACxB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CACzB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CACrE,IAAI,EAAE,CAAC,CAAA;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CACT,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,iCAAiC,CACjG,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CACnB,SAAgB,EAChB,OAAgD;IAEhD,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAkC,EAAE,CAAC;QAC9D,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC;QAClC,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,EAAE,uBAAuB,CAAC;KAChE,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,CAAM,EAAE,GAAQ,EAAY,EAAE,CAC/C,SAAS,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,MAAgB,CAAC,CAAC;SACnF,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,IAAI,KAAK,MAAM,aAAa,CAAC,CAAA;IAChG,OAAO,SAAS;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;SAClE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CACjF,CAAA;AACL,CAAC;AAED,SAAS,SAAS,CAAC,SAAgB;IACjC,OAAO,SAAS;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;SACvC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;SAC3D,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,IAAI,EAAE,oBAAoB,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,SAAgB;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IACvC,OAAO;QACL,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;QAClC,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,GAAG,SAAS,CAAC,SAAS,CAAC;KACxB,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;QAC7C,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,YAAY,CAAC;YACrC,CAAC,CAAC,uBAAuB,YAAY,EAAE;YACvC,CAAC,CAAC,2HAA2H,QAAQ,EAAE,CAAA;QACzI,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAE,IAAI,EAAkB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,IAAI,CAAC,CAAA;IACxC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACxB,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,SAAkB,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CACT,aAAa,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,YAAY,CACvF,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAA;YAC3D,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,EAAE,OAAO,EAAkB;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpD,OAAO,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,CAAC,CAAA;QAExC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE;YAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,kEAAkE;YAClE,kEAAkE;YAClE,gEAAgE;YAChE,aAAa,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,GAAG;SAC5D,CAAC,CAAA;QACF,MAAM,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAA;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,GAAG,GAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC7C,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;QACrB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,OAAO,EAAE,CAAA;QAClB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;QACrB,KAAK,SAAS;YACZ,OAAO,UAAU,EAAE,CAAA;QACrB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;QACxB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;QACxB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC5C,QAAQ,EAAE,CAAA;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r8s/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "CLI for rendering r8s TSX to Kubernetes YAML",
5
5
  "license": "MIT",
6
6
  "author": "Berget AI AB",