ai-sdlc 0.2.0-alpha.60 → 0.2.0-alpha.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -68,23 +68,36 @@ Refine → Research → Plan → Implement → Review → Create PR → Done
68
68
 
69
69
  ## Configuration
70
70
 
71
- Settings in `.ai-sdlc.json`:
71
+ Configure ai-sdlc behavior via a `.ai-sdlc.json` file in your project root. If no configuration file exists, ai-sdlc uses sensible defaults.
72
72
 
73
+ **Key configuration areas:**
74
+ - **Stage gates** - Control approval requirements before implementation and PR creation
75
+ - **Timeouts** - Configure operation timeouts (agent, build, test)
76
+ - **Retry policies** - Control automatic retry behavior for review and implementation failures
77
+ - **TDD mode** - Enable test-driven development with red-green-refactor cycles
78
+ - **Worktree isolation** - Use git worktrees for parallel story development
79
+ - **Environment variable overrides** - Use `AI_SDLC_*` variables for CI/CD or temporary changes
80
+
81
+ **Minimal example** (uses all defaults):
82
+ ```json
83
+ {}
84
+ ```
85
+
86
+ **Basic customization**:
73
87
  ```json
74
88
  {
75
89
  "sdlcFolder": ".ai-sdlc",
76
90
  "stageGates": {
77
- "requireApprovalBeforeImplementation": false,
78
- "requireApprovalBeforePR": false
91
+ "requireApprovalBeforeImplementation": true
79
92
  },
80
- "tdd": {
81
- "enabled": false
93
+ "timeouts": {
94
+ "agentTimeout": 1800000
82
95
  },
83
96
  "theme": "auto"
84
97
  }
85
98
  ```
86
99
 
87
- **TDD Mode**: Enable per-story with `tdd_enabled: true` in frontmatter, or globally via config.
100
+ 📖 **[Complete Configuration Reference](docs/configuration.md)** - Detailed documentation of all configuration options, validation rules, environment variables, and 5 complete example configurations.
88
101
 
89
102
  ## Authentication
90
103
 
@@ -64,6 +64,19 @@ export declare function getSourceCodeChanges(workingDir: string): string[];
64
64
  * @returns Array of configuration file paths that have changed, or ['unknown'] if git fails
65
65
  */
66
66
  export declare function getConfigurationChanges(workingDir: string): string[];
67
+ /**
68
+ * Get documentation file changes from git diff
69
+ *
70
+ * Detects changes to documentation files including:
71
+ * - Markdown files (.md) anywhere in the project (excluding story files)
72
+ * - docs/ directory (any file type)
73
+ *
74
+ * Uses spawnSync for security (prevents command injection).
75
+ *
76
+ * @param workingDir - Working directory to run git diff in
77
+ * @returns Array of documentation file paths that have changed, or ['unknown'] if git fails
78
+ */
79
+ export declare function getDocumentationChanges(workingDir: string): string[];
67
80
  /**
68
81
  * Determine the effective content type for validation
69
82
  *
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqHzL;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAyZrJ;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB,CAsBA;AAsED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAqDpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAavE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2BxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAievB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,MAAM,CAqC9E;AAgCD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAqKtB"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAA8E,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqHzL;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAOrE;AAiBD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAyZrJ;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB,CAsBA;AAsED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAqDpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAgCpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAavE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2BxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA+F1F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;CACvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA4fvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsC9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,MAAM,CAqC9E;AAgCD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAqKtB"}
@@ -691,6 +691,49 @@ export function getConfigurationChanges(workingDir) {
691
691
  return ['unknown'];
692
692
  }
693
693
  }
694
+ /**
695
+ * Get documentation file changes from git diff
696
+ *
697
+ * Detects changes to documentation files including:
698
+ * - Markdown files (.md) anywhere in the project (excluding story files)
699
+ * - docs/ directory (any file type)
700
+ *
701
+ * Uses spawnSync for security (prevents command injection).
702
+ *
703
+ * @param workingDir - Working directory to run git diff in
704
+ * @returns Array of documentation file paths that have changed, or ['unknown'] if git fails
705
+ */
706
+ export function getDocumentationChanges(workingDir) {
707
+ try {
708
+ // Security: Use spawnSync with explicit args (not shell) to prevent injection
709
+ const result = spawnSync('git', ['diff', '--name-only', 'HEAD~1'], {
710
+ cwd: workingDir,
711
+ encoding: 'utf-8',
712
+ stdio: ['ignore', 'pipe', 'pipe'],
713
+ });
714
+ if (result.status !== 0) {
715
+ // Git command failed - fail open (assume changes exist)
716
+ return ['unknown'];
717
+ }
718
+ const output = result.stdout.toString();
719
+ return output
720
+ .split('\n')
721
+ .filter(f => f.trim())
722
+ .filter(f => {
723
+ // Markdown files (excluding story files in .ai-sdlc/stories/)
724
+ if (f.endsWith('.md') && !f.startsWith('.ai-sdlc/stories/'))
725
+ return true;
726
+ // Files in docs/ directory (any file type - images, diagrams, etc.)
727
+ if (f.startsWith('docs/'))
728
+ return true;
729
+ return false;
730
+ });
731
+ }
732
+ catch {
733
+ // If git diff fails, assume there are changes (fail open, not closed)
734
+ return ['unknown'];
735
+ }
736
+ }
694
737
  /**
695
738
  * Determine the effective content type for validation
696
739
  *
@@ -957,11 +1000,24 @@ export async function runReviewAgent(storyPath, sdlcRoot, options) {
957
1000
  });
958
1001
  }
959
1002
  }
960
- // For 'documentation' type, skip all file change validation
961
- if (contentType === 'documentation') {
962
- logger.info('review', 'Documentation story - skipping file change validation', {
963
- storyId: story.frontmatter.id,
964
- });
1003
+ // Check documentation changes for 'documentation' type
1004
+ if (!validationFailed && contentType === 'documentation') {
1005
+ const docChanges = getDocumentationChanges(workingDir);
1006
+ if (docChanges.length === 0) {
1007
+ validationFailed = true;
1008
+ validationReason = 'Documentation story requires changes to markdown files (.md) or docs/ directory. No documentation changes detected.';
1009
+ logger.warn('review', 'Documentation validation failed', {
1010
+ storyId: story.frontmatter.id,
1011
+ contentType,
1012
+ docChangesFound: docChanges.length,
1013
+ });
1014
+ }
1015
+ else {
1016
+ logger.info('review', 'Documentation changes detected', {
1017
+ storyId: story.frontmatter.id,
1018
+ fileCount: docChanges.length,
1019
+ });
1020
+ }
965
1021
  }
966
1022
  // Handle validation failure (if any)
967
1023
  if (validationFailed) {
@@ -976,19 +1032,23 @@ export async function runReviewAgent(storyPath, sdlcRoot, options) {
976
1032
  contentType,
977
1033
  });
978
1034
  await updateStoryField(story, 'implementation_complete', false);
979
- // Set restart reason (backward compatible message for default code stories)
1035
+ // Set restart reason based on content type
980
1036
  const restartReason = contentType === 'configuration'
981
1037
  ? 'Configuration story requires changes to config files (.claude/, .github/, or root config files). No configuration changes detected.'
982
1038
  : contentType === 'mixed'
983
1039
  ? 'Mixed story requires both source AND configuration changes - no source code was modified.'
984
- : 'No source code changes detected. Implementation wrote documentation only.';
1040
+ : contentType === 'documentation'
1041
+ ? 'Documentation story requires changes to markdown files (.md) or docs/ directory. No documentation changes detected.'
1042
+ : 'No source code changes detected. Implementation wrote documentation only.';
985
1043
  await updateStoryField(story, 'last_restart_reason', restartReason);
986
1044
  // Create user-friendly recovery description
987
1045
  const recoveryDescription = contentType === 'configuration'
988
1046
  ? 'No configuration file modifications detected. Re-running implementation phase.'
989
1047
  : contentType === 'mixed'
990
1048
  ? 'No source code modifications detected. Re-running implementation phase.'
991
- : 'No source code modifications detected. Re-running implementation phase.';
1049
+ : contentType === 'documentation'
1050
+ ? 'No documentation file modifications detected. Re-running implementation phase.'
1051
+ : 'No source code modifications detected. Re-running implementation phase.';
992
1052
  return {
993
1053
  success: true,
994
1054
  story: parseStory(storyPath),
@@ -1036,33 +1096,43 @@ export async function runReviewAgent(storyPath, sdlcRoot, options) {
1036
1096
  storyId: story.frontmatter.id,
1037
1097
  contentType,
1038
1098
  });
1039
- // PRE-CHECK GATE: Check if test files exist
1040
- const testsExist = hasTestFiles(workingDir);
1041
- if (!testsExist) {
1042
- logger.warn('review', 'No test files detected in implementation changes', {
1099
+ // PRE-CHECK GATE: Check if test files exist (only for code/mixed types)
1100
+ // Documentation and configuration stories don't require test files
1101
+ const requiresTests = contentType === 'code' || contentType === 'mixed';
1102
+ if (requiresTests) {
1103
+ const testsExist = hasTestFiles(workingDir);
1104
+ if (!testsExist) {
1105
+ logger.warn('review', 'No test files detected in implementation changes', {
1106
+ storyId: story.frontmatter.id,
1107
+ });
1108
+ return {
1109
+ success: true,
1110
+ story: parseStory(storyPath),
1111
+ changesMade: ['No test files found for implementation'],
1112
+ passed: false,
1113
+ decision: ReviewDecision.REJECTED,
1114
+ severity: ReviewSeverity.CRITICAL,
1115
+ reviewType: 'pre-check',
1116
+ issues: [{
1117
+ severity: 'blocker',
1118
+ category: 'testing',
1119
+ description: 'No tests found for this implementation. All implementations must include tests.',
1120
+ suggestedFix: 'Add test files (*.test.ts, *.spec.ts, or files in __tests__/ directory) that verify the implementation.',
1121
+ }],
1122
+ feedback: formatIssuesForDisplay([{
1123
+ severity: 'blocker',
1124
+ category: 'testing',
1125
+ description: 'No tests found for this implementation. All implementations must include tests.',
1126
+ suggestedFix: 'Add test files (*.test.ts, *.spec.ts, or files in __tests__/ directory) that verify the implementation.',
1127
+ }]),
1128
+ };
1129
+ }
1130
+ }
1131
+ else {
1132
+ logger.info('review', 'Test file check skipped for non-code content type', {
1043
1133
  storyId: story.frontmatter.id,
1134
+ contentType,
1044
1135
  });
1045
- return {
1046
- success: true,
1047
- story: parseStory(storyPath),
1048
- changesMade: ['No test files found for implementation'],
1049
- passed: false,
1050
- decision: ReviewDecision.REJECTED,
1051
- severity: ReviewSeverity.CRITICAL,
1052
- reviewType: 'pre-check',
1053
- issues: [{
1054
- severity: 'blocker',
1055
- category: 'testing',
1056
- description: 'No tests found for this implementation. All implementations must include tests.',
1057
- suggestedFix: 'Add test files (*.test.ts, *.spec.ts, or files in __tests__/ directory) that verify the implementation.',
1058
- }],
1059
- feedback: formatIssuesForDisplay([{
1060
- severity: 'blocker',
1061
- category: 'testing',
1062
- description: 'No tests found for this implementation. All implementations must include tests.',
1063
- suggestedFix: 'Add test files (*.test.ts, *.spec.ts, or files in __tests__/ directory) that verify the implementation.',
1064
- }]),
1065
- };
1066
1136
  }
1067
1137
  // Run build and tests BEFORE reviews (async with progress)
1068
1138
  changesMade.push('Running build and test verification...');
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAc,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACvO,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAsE,cAAc,EAAE,cAAc,EAAoD,MAAM,mBAAmB,CAAC;AACzL,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;;GAGG;AACH,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,OAAO,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,4DAA4D;IAC5D,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,UAAkB;IAClD,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,iCAAiC;IACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,0DAA0D,UAAU,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,oCAAoC;IACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,uDAAuD,UAAU,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,GAAG,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,UAAkB;IAC/D,IAAI,SAAS,GAAG,OAAO,CAAC;IAExB,6CAA6C;IAC7C,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEvF,8BAA8B;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,qDAAqD;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,0BAA0B;IAC1B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAErD,0DAA0D;IAC1D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAExE,4CAA4C;IAC5C,2DAA2D;IAC3D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gEAAgE,EAAE,eAAe,CAAC,CAAC;IAEjH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IACjC,gGAAgG;IAChG,sFAAsF;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IAC3E,8EAA8E;IAC9E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;CACnC,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,kFAAkF;QAClF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,+BAA+B,CAAC,CAAC;QAClF,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,gEAAgE,CAAC,CAAC;QACnH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,+DAA+D,CAAC,CAAC;QAClH,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,6CAA6C,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAoB;IACpD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,QAAQ,EAAE,UAAiC;QAC3C,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,yGAAyG;KACxH,CAAC,CAAC,CAAC;AACN,CAAC;AAYD;;GAEG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAOnC;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,UAAkB,EAClB,OAAe,EACf,UAAqC;IAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,4EAA4E;QAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAElE,iEAAiE;QACjE,mEAAmE;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;YACpC,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,cAAc,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,oDAAoD;YACpD,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,MAAM,GAAG,8BAA8B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW;iBACrF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,OAAO,EAAE,IAAI,KAAK,CAAC;oBACnB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,qBAAqB,cAAc,GAAG;aACvE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,UAAkB,EAClB,MAAc,EACd,UAAyC;IAEzC,MAAM,MAAM,GAAuB;QACjC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY,CAAC;IACpF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC;IAEjF,kCAAkC;IAClC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,MAAM,CAAC,YAAY,EACnB,UAAU,EACV,YAAY,EACZ,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CACrD,CAAC;QAEF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACxC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,MAAM,CAAC,WAAW,EAClB,UAAU,EACV,WAAW,EACX,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CACpD,CAAC;QAEF,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;QACxC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QACvC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsG5B,oBAAoB;;uHAEiG,CAAC;AAExH;;;;GAIG;AACH,MAAM,kBAAkB,GAAG;;;;;;EAMzB,oBAAoB,EAAE,CAAC;AAEzB;;GAEG;AACH,MAAM,sBAAsB,GAAG;;;;;;EAM7B,oBAAoB,EAAE,CAAC;AAEzB;;GAEG;AACH,MAAM,gBAAgB,GAAG;;;;;;EAMvB,oBAAoB,EAAE,CAAC;AAEzB;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,UAAkB;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAE9F,IAAI,gBAAgB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAExC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,uDAAuD,gBAAgB,CAAC,QAAQ,EAAE,EAAE;YACzG,UAAU;YACV,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;YACnC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;SACpC,CAAC,CAAC;QAEH,qEAAqE;QACrE,MAAM,MAAM,GAAkB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,QAA+B;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;YAC5H,MAAM;SACP,CAAC;IACJ,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,sDAAsD,EAAE;QAC5E,UAAU;QACV,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,UAAkB;IAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,8BAA8B;IAC9B,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzH,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACpD,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,iCAAiC;SAC3E,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3H,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACpD,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAChG,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACpD,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;QACjC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAAqB;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAErE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;SAAM,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;SAAM,IAAI,aAAa,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC,MAAM,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,cAAc,CAAC,GAAG,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wCAAwC,CAAC,MAAqB;IAK5E,kEAAkE;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CACxD,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CACxD,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CACxD,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;QACzC,oBAAoB,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC;QACjD,cAAc,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,UAAsD,EACtD,cAA0D,EAC1D,QAAoD;IAEpD,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEvF,wBAAwB;IACxB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAE9E,6CAA6C;IAC7C,MAAM,MAAM,GAAG,YAAY,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEvD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAEpD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,MAAqB;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;QACvD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;QACjD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;KAClD,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAErC,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACjH,MAAM,IAAI,UAAU,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,OAAO,CAAC;QAE/E,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,2CAA2C;YAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBACzE,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,KAAK,KAAK,CAAC,QAAQ,KAAK,eAAe,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC;YAC5E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,eAAe,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACjF,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,sBAAsB,KAAK,CAAC,YAAY,IAAI,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,CAAC;QACH,8EAA8E;QAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE;YACjE,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,wDAAwD;YACxD,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAExC,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAM,oBAAoB;aACnE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAc,qBAAqB;aACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAc,qBAAqB;aACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAQ,sBAAsB;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,IAAI,CAAC;QACH,8EAA8E;QAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE;YACjE,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,wDAAwD;YACxD,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAExC,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,4BAA4B;YAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE1C,6CAA6C;YAC7C,MAAM,WAAW,GAAG;gBAClB,eAAe;gBACf,cAAc;gBACd,mBAAmB;gBACnB,YAAY;gBACZ,gBAAgB;gBAChB,kBAAkB;gBAClB,kBAAkB;gBAClB,gBAAgB;gBAChB,gBAAgB;gBAChB,WAAW;gBACX,cAAc;gBACd,gBAAgB;gBAChB,aAAa;gBACb,gBAAgB;gBAChB,kBAAkB;gBAClB,UAAU;gBACV,YAAY;gBACZ,oBAAoB;gBACpB,cAAc;aACf,CAAC;YAEF,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAY;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAEtC,mCAAmC;IACnC,IAAI,WAAW,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,WAAW,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iDAAiD;IACjD,OAAO,WAAW,CAAC,YAAY,IAAI,MAAM,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,IAAI,CAAC;QACH,8EAA8E;QAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE;YACjE,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,4EAA4E;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvD,yCAAyC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CACzB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAqB,EAAE,aAAqB;IAChF,wDAAwD;IACxD,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1D,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,yDAAyD;IACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,0DAA0D,CAAC;IACpE,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAwC;QACzD,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAE9D,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,aAAa,GAAG,WAAW,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnF,0BAA0B;IAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gDAAgD;IACzG,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9F,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,oCAAoC;QACpC,IAAI,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAEzD,8DAA8D;QAC9D,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACzD,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/C,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,2BAA2B;QAC3E,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAEjC,0BAA0B;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;YAC3D,QAAQ,GAAG,GAAG,WAAW,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACjF,CAAC;QAED,yCAAyC;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACvC,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtD,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,kEAAkE;IAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,0DAA0D,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,GAAG,CAAC;IACjB,CAAC;IAED,wCAAwC;IACxC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,WAAW,cAAc,cAAc,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACrF,CAAC;IAED,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,oBAAoB;IAClE,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACtC,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,QAAgB,EAChB,OAA4B;IAE5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,EAAE;QAC7C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;QAC7B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC;KAC/C,CAAC,CAAC;IAEH,6DAA6D;IAC7D,IAAI,CAAC;QACH,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,cAAc,CAAC,MAAM;YAC/B,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC;oBACP,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,wCAAwC,QAAQ,EAAE;iBAChE,CAAC;YACF,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,+EAA+E;QAC/E,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAExC,yCAAyC;QACzC,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YACzE,MAAM,QAAQ,GAAG,0CAA0C,UAAU,IAAI,iBAAiB,kCAAkC,CAAC;YAE7H,MAAM,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC5B,WAAW;gBACX,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,MAAM;gBAC/B,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,CAAC;wBACP,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,qBAAqB;wBAC/B,WAAW,EAAE,QAAQ;qBACtB,CAAC;gBACF,QAAQ,EAAE,QAAQ;aACnB,CAAC;QACJ,CAAC;QAED,qFAAqF;QACrF,MAAM,WAAW,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,0CAA0C,EAAE;YAChE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;YAC7B,WAAW;YACX,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY;YACnD,qBAAqB,EAAE,KAAK,CAAC,WAAW,CAAC,uBAAuB;SACjE,CAAC,CAAC;QAEH,mBAAmB;QACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,kBAAkB,GAAG,gBAAgB,CAAC;QAE1C,yDAAyD;QACzD,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAEvD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,IAAI,CAAC;gBACxB,gBAAgB,GAAG,WAAW,KAAK,OAAO;oBACxC,CAAC,CAAC,2FAA2F;oBAC7F,CAAC,CAAC,iFAAiF,CAAC;gBAEtF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,+BAA+B,EAAE;oBACrD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,WAAW;oBACX,kBAAkB,EAAE,aAAa,CAAC,MAAM;iBACzC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,EAAE;oBACpD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,SAAS,EAAE,aAAa,CAAC,MAAM;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,KAAK,eAAe,IAAI,WAAW,KAAK,OAAO,CAAC,EAAE,CAAC;YACtF,MAAM,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,IAAI,CAAC;gBACxB,gBAAgB,GAAG,WAAW,KAAK,OAAO;oBACxC,CAAC,CAAC,qGAAqG;oBACvG,CAAC,CAAC,qIAAqI,CAAC;gBAE1I,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,iCAAiC,EAAE;oBACvD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,WAAW;oBACX,kBAAkB,EAAE,aAAa,CAAC,MAAM;iBACzC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,gCAAgC,EAAE;oBACtD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,SAAS,EAAE,aAAa,CAAC,MAAM;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,uDAAuD,EAAE;gBAC7E,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,qCAAqC;QACrC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,0BAA0B,IAAI,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,oCAAoC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEvE,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;gBAC5B,+CAA+C;gBAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,wDAAwD,EAAE;oBAC9E,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,UAAU;oBACV,UAAU;oBACV,WAAW;iBACZ,CAAC,CAAC;gBAEH,MAAM,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBAEhE,4EAA4E;gBAC5E,MAAM,aAAa,GAAG,WAAW,KAAK,eAAe;oBACnD,CAAC,CAAC,qIAAqI;oBACvI,CAAC,CAAC,WAAW,KAAK,OAAO;wBACvB,CAAC,CAAC,2FAA2F;wBAC7F,CAAC,CAAC,2EAA2E,CAAC;gBAElF,MAAM,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;gBAEpE,4CAA4C;gBAC5C,MAAM,mBAAmB,GAAG,WAAW,KAAK,eAAe;oBACzD,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,WAAW,KAAK,OAAO;wBACvB,CAAC,CAAC,yEAAyE;wBAC3E,CAAC,CAAC,yEAAyE,CAAC;gBAEhF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;oBAC5B,WAAW,EAAE,CAAC,oCAAoC,EAAE,mCAAmC,CAAC;oBACxF,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,cAAc,CAAC,QAAQ;oBACjC,UAAU,EAAE,WAAkB;oBAC9B,MAAM,EAAE,CAAC;4BACP,QAAQ,EAAE,UAAU;4BACpB,QAAQ,EAAE,kBAAkB;4BAC5B,WAAW,EAAE,mBAAmB;yBACjC,CAAC;oBACF,QAAQ,EAAE,uCAAuC,gBAAgB,EAAE;iBACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0DAA0D,EAAE;oBACjF,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC7B,UAAU;oBACV,UAAU;oBACV,WAAW;iBACZ,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;oBAC5B,WAAW,EAAE,CAAC,oCAAoC,EAAE,qBAAqB,CAAC;oBAC1E,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,cAAc,CAAC,MAAM;oBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;oBACjC,UAAU,EAAE,WAAkB;oBAC9B,MAAM,EAAE,CAAC;4BACP,QAAQ,EAAE,SAAS;4BACnB,QAAQ,EAAE,kBAAkB;4BAC5B,WAAW,EAAE,GAAG,gBAAgB,sBAAsB,UAAU,kBAAkB,iBAAiB,kCAAkC;4BACrI,YAAY,EAAE,+LAA+L;yBAC9M,CAAC;oBACF,QAAQ,EAAE,2DAA2D;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,0DAA0D,EAAE;YAChF,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;YAC7B,WAAW;SACZ,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,kDAAkD,EAAE;gBACxE,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;aAC9B,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC5B,WAAW,EAAE,CAAC,wCAAwC,CAAC;gBACvD,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,WAAkB;gBAC9B,MAAM,EAAE,CAAC;wBACP,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,iFAAiF;wBAC9F,YAAY,EAAE,yGAAyG;qBACxH,CAAC;gBACF,QAAQ,EAAE,sBAAsB,CAAC,CAAC;wBAChC,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,iFAAiF;wBAC9F,YAAY,EAAE,yGAAyG;qBACxH,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,WAAW,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAErG,mDAAmD;QACnD,MAAM,kBAAkB,GAAkB,EAAE,CAAC;QAC7C,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAE7B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzD,mBAAmB,IAAI,yCAAyC,MAAM,CAAC,YAAY,2BAA2B,CAAC;YACjH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7E,kBAAkB,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,OAAO;oBACjB,WAAW,EAAE,0BAA0B,MAAM,CAAC,YAAY,EAAE;oBAC5D,YAAY,EAAE,6CAA6C;iBAC5D,CAAC,CAAC;gBACH,mBAAmB,IAAI,yCAAyC,MAAM,CAAC,YAAY,uBAAuB,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;YAChK,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxD,mBAAmB,IAAI,uCAAuC,MAAM,CAAC,WAAW,2BAA2B,CAAC;gBAC5G,wEAAwE;gBACxE,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzD,IAAI,WAAW,EAAE,CAAC;oBAChB,mBAAmB,IAAI,WAAW,WAAW,YAAY,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBAExD,yEAAyE;gBACzE,IAAI,UAAU,GAAG,qBAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACjE,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,UAAU,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;oBAC7C,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;oBAC3D,cAAc,GAAG,iDAAiD,CAAC;gBACrE,CAAC;gBAED,kBAAkB,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,+DAA+D,MAAM,CAAC,WAAW,6BAA6B,UAAU,GAAG,cAAc,UAAU;oBAChK,YAAY,EAAE,uLAAuL;iBACtM,CAAC,CAAC;gBACH,mBAAmB,IAAI,uCAAuC,MAAM,CAAC,WAAW,uBAAuB,UAAU,GAAG,cAAc,YAAY,CAAC;YACjJ,CAAC;QACH,CAAC;QAED,yGAAyG;QACzG,uHAAuH;QACvH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAErF,OAAO;gBACL,OAAO,EAAE,IAAI,EAAE,8BAA8B;gBAC7C,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC5B,WAAW;gBACX,MAAM,EAAE,KAAK,EAAE,sBAAsB;gBACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;aACrD,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,WAAW,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QAEvF,wCAAwC;QACxC,IAAI,iBAAiB,GAAkB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,YAAY,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBAC3D,iBAAiB,GAAG,MAAM,6BAA6B,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC,YAAY,iBAAiB,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAChF,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,WAAW,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,YAAY,CAC9C,KAAK,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,UAAU,EACV,mBAAmB,CACpB,CAAC;QAEF,uDAAuD;QACvD,MAAM,aAAa,GAAG,mBAAmB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;QAEnF,iFAAiF;QACjF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC;QACjF,IAAI,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACnD,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBACxC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,mBAAmB,aAAa,CAAC,MAAM,wBAAwB,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAChD,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,2EAA2E;QAC3E,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACpD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;QACvC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,MAAM,GAAG,YAAY,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAEpD,qEAAqE;QACrE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAC9D,wCAAwC,CAAC,SAAS,CAAC,CAAC;QAEtD,iEAAiE;QACjE,MAAM,WAAW,GAAG;;;EAGtB,sBAAsB,CAAC,SAAS,CAAC;;;kBAGjB,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;cAC9C,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;uBACrC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;;;EAG7D,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,yCAAyC;;;qBAGvE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;QAEE,0BAA0B;QAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1D,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAE7D,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;QAE5E,0FAA0F;QAC1F,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC;YAC3E,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACjF,gBAAgB;YAChB,oBAAoB;YACpB,cAAc;SACf,CAAC;QAEF,2BAA2B;QAC3B,MAAM,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAEvD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,MAAM,6BAA6B,CAAC,CAAC;YACvF,wDAAwD;QAC1D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,EAAE;YAC7C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,MAAM;YACN,QAAQ;YACR,UAAU,EAAE,SAAS,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;YAC5B,WAAW;YACX,MAAM;YACN,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/B,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC;SAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,EAAE;YAC5C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,cAAc,CAAC,MAAM;YAC/B,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC;oBACP,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,cAAc;oBACxB,WAAW,EAAE,0BAA0B,QAAQ,EAAE;iBAClD,CAAC;YACF,QAAQ,EAAE,0BAA0B,QAAQ,EAAE;SAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,cAAc,GAA8C,IAAI,CAAC;IAErE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,cAAc;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,cAAc,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC1D,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,cAAc,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,yEAAyE;QACzE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAc,EAAE,UAAkB;IACnF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvG,4BAA4B;QAC5B,2CAA2C;QAC3C,qCAAqC;QACrC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1D,OAAO,sBAAsB,KAAK,IAAI,IAAI,SAAS,MAAM,IAAI,YAAY,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,YAAoB;IACpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAErD,uBAAuB;IACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACzE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAqB,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAChG,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,wBAAwB,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAEtG,iDAAiD;IACjD,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAC/E,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IAErF,gBAAgB;IAChB,IAAI,MAAM,GAAG,kBAAkB,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE1D,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,oBAAoB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;IAClD,CAAC;IAED,IAAI,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,6BAA6B,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9E,CAAC;IAED,IAAI,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,gCAAgC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC;IACpF,CAAC;IAED,sBAAsB;IACtB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,+BAA+B,YAAY,KAAK,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,YAAoB,KAAK;IACpE,6BAA6B;IAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAE1G,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7E,uCAAuC;QACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACvF,MAAM,mBAAmB,GAAG,+FAA+F,CAAC;QAC5H,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;QAE9E,IAAI,mBAAmB,GAAG,GAAG,EAAE,CAAC;YAC9B,wDAAwD;YACxD,IAAI,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,OAAO,GAAG,SAAS,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAEhG,OAAO,SAAS,GAAG,oFAAoF,CAAC;AAC1G,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,KAAY,EACZ,YAAoB,EACpB,UAAkB,EAClB,UAAkB,EAClB,sBAA8B,EAAE;IAEhC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG;;SAEV,KAAK,CAAC,WAAW,CAAC,KAAK;EAC9B,mBAAmB,CAAC,CAAC,CAAC,+CAA+C,mBAAmB,SAAS,CAAC,CAAC,CAAC,EAAE;;EAEtG,KAAK,CAAC,OAAO;;eAEA,UAAU,wCAAwC,CAAC;QAE9D,OAAO,MAAM,aAAa,CAAC;YACzB,MAAM;YACN,YAAY;YACZ,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,UAAU,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC;AAUD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,QAAgB,EAChB,OAAyB;IAEzB,IAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1C,uCAAuC;IACvC,IAAI,CAAC;QACH,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,WAAW;YACX,KAAK,EAAE,QAAQ;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC;QAEvE,8DAA8D;QAC9D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,wBAAwB,UAAU,iEAAiE,CAAC;YACrH,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK;gBACL,WAAW;gBACX,KAAK,EAAE,QAAQ;aAChB,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC;YACH,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAEnE,+BAA+B;YAC/B,KAAK,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAE3C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC;YACH,qEAAqE;YACrE,mDAAmD;YACnD,QAAQ,CAAC,gBAAgB,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3E,gDAAgD;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1F,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,sDAAsD;gBACtD,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrD,QAAQ,CAAC,iBAAiB,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3F,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxC,CAAC;YAED,kCAAkC;YAClC,QAAQ,CAAC,sBAAsB,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACjF,WAAW,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;YAEjD,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;oBACf,WAAW,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrD,sCAAsC;oBACtC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;wBAC9B,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;wBACpD,WAAW,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;oBACzD,CAAC;oBACD,iDAAiD;oBACjD,KAAK,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC/C,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAC3C,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,KAAK;wBACL,WAAW;qBACZ,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YAED,kDAAkD;YAClD,yEAAyE;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YAExC,0BAA0B;YAC1B,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAExE,6BAA6B;YAC7B,IAAI,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAEtD,mDAAmD;YACnD,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAEhC,0CAA0C;YAC1C,oEAAoE;YACpE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,KAAK,CAAC;YAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAElD,iEAAiE;YACjE,MAAM,SAAS,GAAG,wBAAwB,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS;EACjF,MAAM;;GAEL,CAAC;YAEE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7E,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,WAAW,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,oBAAoB,CACzC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,UAAU,CACX,CAAC;YAEF,sDAAsD;YACtD,IAAI,YAAY,GAAG,uBAAuB,cAAc,EAAE,CAAC;YAE3D,IAAI,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3H,YAAY,GAAG;;;yBAGE,CAAC;YACpB,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAED,wBAAwB;QACxB,KAAK,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE3C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,oBAAoB,CACzC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,UAAU,CACX,CAAC;QACF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,WAAW;YACX,KAAK,EAAE,cAAc;SACtB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/agents/review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { Story } from '../types/index.js';
2
+ /**
3
+ * Result summary for batch processing operation
4
+ */
5
+ export interface BatchResult {
6
+ /** Total number of stories in the batch */
7
+ total: number;
8
+ /** Number of stories that completed successfully */
9
+ succeeded: number;
10
+ /** Number of stories that failed during processing */
11
+ failed: number;
12
+ /** Number of stories that were skipped (e.g., already done) */
13
+ skipped: number;
14
+ /** List of errors encountered during batch processing */
15
+ errors: Array<{
16
+ storyId: string;
17
+ error: string;
18
+ }>;
19
+ /** Total execution time in milliseconds */
20
+ duration: number;
21
+ }
22
+ /**
23
+ * Options for batch processing
24
+ */
25
+ export interface BatchOptions {
26
+ /** Preview actions without executing them */
27
+ dryRun?: boolean;
28
+ /** Create isolated git worktrees for each story */
29
+ worktree?: boolean;
30
+ /** Skip git validation and conflict checks */
31
+ force?: boolean;
32
+ }
33
+ /**
34
+ * Internal progress tracking for batch processing
35
+ */
36
+ export interface BatchProgress {
37
+ /** Current story index (0-based) */
38
+ currentIndex: number;
39
+ /** Total number of stories in batch */
40
+ total: number;
41
+ /** Current story being processed */
42
+ currentStory: Story | null;
43
+ }
44
+ /**
45
+ * Format batch progress header for a story
46
+ * Example: [1/3] Processing: S-001 - Add user authentication
47
+ */
48
+ export declare function formatBatchProgress(progress: BatchProgress): string;
49
+ /**
50
+ * Format final batch summary
51
+ */
52
+ export declare function formatBatchSummary(result: BatchResult): string[];
53
+ /**
54
+ * Log completion message for an individual story
55
+ */
56
+ export declare function logStoryCompletion(storyId: string, success: boolean, c: any): void;
57
+ /**
58
+ * Prompt user whether to continue after a story failure
59
+ * Returns true to continue, false to abort
60
+ *
61
+ * In non-interactive mode (no TTY), always returns false (abort)
62
+ */
63
+ export declare function promptContinueOnError(storyId: string, c: any): Promise<boolean>;
64
+ //# sourceMappingURL=batch-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../src/cli/batch-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAYnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAgChE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAMlF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBrF"}
@@ -0,0 +1,85 @@
1
+ import * as readline from 'readline';
2
+ /**
3
+ * Format batch progress header for a story
4
+ * Example: [1/3] Processing: S-001 - Add user authentication
5
+ */
6
+ export function formatBatchProgress(progress) {
7
+ const { currentIndex, total, currentStory } = progress;
8
+ const position = `[${currentIndex + 1}/${total}]`;
9
+ if (!currentStory) {
10
+ return `${position} Processing story...`;
11
+ }
12
+ const storyId = currentStory.frontmatter.id;
13
+ const title = currentStory.frontmatter.title;
14
+ return `${position} Processing: ${storyId} - ${title}`;
15
+ }
16
+ /**
17
+ * Format final batch summary
18
+ */
19
+ export function formatBatchSummary(result) {
20
+ const lines = [];
21
+ const { total, succeeded, failed, skipped, duration } = result;
22
+ lines.push('');
23
+ lines.push('═══ Batch Processing Summary ═══');
24
+ lines.push('');
25
+ lines.push(`Total stories: ${total}`);
26
+ lines.push(`✓ Succeeded: ${succeeded}`);
27
+ if (failed > 0) {
28
+ lines.push(`✗ Failed: ${failed}`);
29
+ }
30
+ if (skipped > 0) {
31
+ lines.push(`⊘ Skipped: ${skipped}`);
32
+ }
33
+ const durationSec = (duration / 1000).toFixed(1);
34
+ lines.push(`⏱ Execution time: ${durationSec}s`);
35
+ if (result.errors.length > 0) {
36
+ lines.push('');
37
+ lines.push('Failed stories:');
38
+ for (const error of result.errors) {
39
+ lines.push(` - ${error.storyId}: ${error.error}`);
40
+ }
41
+ }
42
+ lines.push('');
43
+ return lines;
44
+ }
45
+ /**
46
+ * Log completion message for an individual story
47
+ */
48
+ export function logStoryCompletion(storyId, success, c) {
49
+ if (success) {
50
+ console.log(c.success(` ✓ Completed: ${storyId}`));
51
+ }
52
+ else {
53
+ console.log(c.error(` ✗ Failed: ${storyId}`));
54
+ }
55
+ }
56
+ /**
57
+ * Prompt user whether to continue after a story failure
58
+ * Returns true to continue, false to abort
59
+ *
60
+ * In non-interactive mode (no TTY), always returns false (abort)
61
+ */
62
+ export async function promptContinueOnError(storyId, c) {
63
+ // Non-interactive mode: always abort
64
+ if (!process.stdin.isTTY) {
65
+ console.log();
66
+ console.log(c.dim('Non-interactive mode: aborting batch processing'));
67
+ return false;
68
+ }
69
+ // Interactive mode: prompt user
70
+ console.log();
71
+ const rl = readline.createInterface({
72
+ input: process.stdin,
73
+ output: process.stdout,
74
+ });
75
+ const answer = await new Promise((resolve) => {
76
+ rl.question(c.dim(`Story ${storyId} failed. Continue to next story? [y/N]: `), (ans) => {
77
+ rl.close();
78
+ resolve(ans.toLowerCase().trim());
79
+ });
80
+ });
81
+ return answer === 'y' || answer === 'yes';
82
+ }
83
+ // Note: The main processBatch function has been moved to commands.ts
84
+ // to avoid circular dependencies. This module only exports utility functions.
85
+ //# sourceMappingURL=batch-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../src/cli/batch-processor.ts"],"names":[],"mappings":"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"}