@slope-dev/slope 1.59.2 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +6 -0
  2. package/dist/cli/actor.d.ts +18 -0
  3. package/dist/cli/actor.d.ts.map +1 -0
  4. package/dist/cli/actor.js +133 -0
  5. package/dist/cli/actor.js.map +1 -0
  6. package/dist/cli/commands/agent.d.ts.map +1 -1
  7. package/dist/cli/commands/agent.js +10 -8
  8. package/dist/cli/commands/agent.js.map +1 -1
  9. package/dist/cli/commands/briefing.d.ts.map +1 -1
  10. package/dist/cli/commands/briefing.js +12 -1
  11. package/dist/cli/commands/briefing.js.map +1 -1
  12. package/dist/cli/commands/claim.d.ts.map +1 -1
  13. package/dist/cli/commands/claim.js +10 -6
  14. package/dist/cli/commands/claim.js.map +1 -1
  15. package/dist/cli/commands/commit-ready.d.ts.map +1 -1
  16. package/dist/cli/commands/commit-ready.js +4 -2
  17. package/dist/cli/commands/commit-ready.js.map +1 -1
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +6 -0
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/interview.d.ts.map +1 -1
  22. package/dist/cli/commands/interview.js +5 -0
  23. package/dist/cli/commands/interview.js.map +1 -1
  24. package/dist/cli/commands/next.d.ts +1 -1
  25. package/dist/cli/commands/next.d.ts.map +1 -1
  26. package/dist/cli/commands/next.js +31 -2
  27. package/dist/cli/commands/next.js.map +1 -1
  28. package/dist/cli/commands/now.d.ts +3 -0
  29. package/dist/cli/commands/now.d.ts.map +1 -1
  30. package/dist/cli/commands/now.js +14 -2
  31. package/dist/cli/commands/now.js.map +1 -1
  32. package/dist/cli/commands/release.d.ts.map +1 -1
  33. package/dist/cli/commands/release.js +7 -3
  34. package/dist/cli/commands/release.js.map +1 -1
  35. package/dist/cli/commands/retro.d.ts.map +1 -1
  36. package/dist/cli/commands/retro.js +27 -6
  37. package/dist/cli/commands/retro.js.map +1 -1
  38. package/dist/cli/commands/review-run.d.ts +2 -0
  39. package/dist/cli/commands/review-run.d.ts.map +1 -1
  40. package/dist/cli/commands/review-run.js +38 -8
  41. package/dist/cli/commands/review-run.js.map +1 -1
  42. package/dist/cli/commands/review-state.d.ts +2 -5
  43. package/dist/cli/commands/review-state.d.ts.map +1 -1
  44. package/dist/cli/commands/review-state.js +211 -47
  45. package/dist/cli/commands/review-state.js.map +1 -1
  46. package/dist/cli/commands/review.d.ts +9 -1
  47. package/dist/cli/commands/review.d.ts.map +1 -1
  48. package/dist/cli/commands/review.js +67 -39
  49. package/dist/cli/commands/review.js.map +1 -1
  50. package/dist/cli/commands/roadmap.d.ts.map +1 -1
  51. package/dist/cli/commands/roadmap.js +291 -9
  52. package/dist/cli/commands/roadmap.js.map +1 -1
  53. package/dist/cli/commands/sprint.d.ts.map +1 -1
  54. package/dist/cli/commands/sprint.js +594 -68
  55. package/dist/cli/commands/sprint.js.map +1 -1
  56. package/dist/cli/commands/start.d.ts.map +1 -1
  57. package/dist/cli/commands/start.js +20 -4
  58. package/dist/cli/commands/start.js.map +1 -1
  59. package/dist/cli/commands/ticket.d.ts.map +1 -1
  60. package/dist/cli/commands/ticket.js +31 -9
  61. package/dist/cli/commands/ticket.js.map +1 -1
  62. package/dist/cli/commands/version.d.ts +12 -0
  63. package/dist/cli/commands/version.d.ts.map +1 -1
  64. package/dist/cli/commands/version.js +169 -4
  65. package/dist/cli/commands/version.js.map +1 -1
  66. package/dist/cli/git-preflight.d.ts +9 -0
  67. package/dist/cli/git-preflight.d.ts.map +1 -0
  68. package/dist/cli/git-preflight.js +36 -0
  69. package/dist/cli/git-preflight.js.map +1 -0
  70. package/dist/cli/guards/claim-required.d.ts.map +1 -1
  71. package/dist/cli/guards/claim-required.js +19 -4
  72. package/dist/cli/guards/claim-required.js.map +1 -1
  73. package/dist/cli/guards/next-action.js +1 -1
  74. package/dist/cli/guards/next-action.js.map +1 -1
  75. package/dist/cli/guards/phase-boundary.js +60 -10
  76. package/dist/cli/guards/phase-boundary.js.map +1 -1
  77. package/dist/cli/guards/post-push.d.ts.map +1 -1
  78. package/dist/cli/guards/post-push.js +8 -2
  79. package/dist/cli/guards/post-push.js.map +1 -1
  80. package/dist/cli/guards/pr-review.d.ts +6 -0
  81. package/dist/cli/guards/pr-review.d.ts.map +1 -1
  82. package/dist/cli/guards/pr-review.js +22 -11
  83. package/dist/cli/guards/pr-review.js.map +1 -1
  84. package/dist/cli/guards/review-tier.d.ts.map +1 -1
  85. package/dist/cli/guards/review-tier.js +2 -3
  86. package/dist/cli/guards/review-tier.js.map +1 -1
  87. package/dist/cli/guards/roadmap-edit-shipped.d.ts.map +1 -1
  88. package/dist/cli/guards/roadmap-edit-shipped.js +143 -7
  89. package/dist/cli/guards/roadmap-edit-shipped.js.map +1 -1
  90. package/dist/cli/guards/scope-drift.d.ts.map +1 -1
  91. package/dist/cli/guards/scope-drift.js +8 -2
  92. package/dist/cli/guards/scope-drift.js.map +1 -1
  93. package/dist/cli/guards/session-briefing.d.ts.map +1 -1
  94. package/dist/cli/guards/session-briefing.js +24 -2
  95. package/dist/cli/guards/session-briefing.js.map +1 -1
  96. package/dist/cli/guards/sprint-completion.d.ts.map +1 -1
  97. package/dist/cli/guards/sprint-completion.js +107 -18
  98. package/dist/cli/guards/sprint-completion.js.map +1 -1
  99. package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -1
  100. package/dist/cli/guards/workflow-step-gate.js +25 -6
  101. package/dist/cli/guards/workflow-step-gate.js.map +1 -1
  102. package/dist/cli/index.js +4 -2
  103. package/dist/cli/index.js.map +1 -1
  104. package/dist/cli/registry.d.ts.map +1 -1
  105. package/dist/cli/registry.js +45 -3
  106. package/dist/cli/registry.js.map +1 -1
  107. package/dist/cli/reviewer-agents.d.ts +22 -0
  108. package/dist/cli/reviewer-agents.d.ts.map +1 -0
  109. package/dist/cli/reviewer-agents.js +141 -0
  110. package/dist/cli/reviewer-agents.js.map +1 -0
  111. package/dist/cli/roadmap-source-store.d.ts +37 -0
  112. package/dist/cli/roadmap-source-store.d.ts.map +1 -0
  113. package/dist/cli/roadmap-source-store.js +298 -0
  114. package/dist/cli/roadmap-source-store.js.map +1 -0
  115. package/dist/cli/sprint-inference.js +1 -1
  116. package/dist/cli/sprint-inference.js.map +1 -1
  117. package/dist/cli/sprint-rollover.d.ts +102 -0
  118. package/dist/cli/sprint-rollover.d.ts.map +1 -0
  119. package/dist/cli/sprint-rollover.js +558 -0
  120. package/dist/cli/sprint-rollover.js.map +1 -0
  121. package/dist/cli/sprint-state.d.ts +99 -2
  122. package/dist/cli/sprint-state.d.ts.map +1 -1
  123. package/dist/cli/sprint-state.js +349 -14
  124. package/dist/cli/sprint-state.js.map +1 -1
  125. package/dist/cli/template-generator.d.ts.map +1 -1
  126. package/dist/cli/template-generator.js +45 -32
  127. package/dist/cli/template-generator.js.map +1 -1
  128. package/dist/cli/workflow-resync.d.ts +2 -0
  129. package/dist/cli/workflow-resync.d.ts.map +1 -1
  130. package/dist/cli/workflow-resync.js +34 -12
  131. package/dist/cli/workflow-resync.js.map +1 -1
  132. package/dist/core/analyzers/git.d.ts.map +1 -1
  133. package/dist/core/analyzers/git.js +95 -5
  134. package/dist/core/analyzers/git.js.map +1 -1
  135. package/dist/core/briefing.d.ts.map +1 -1
  136. package/dist/core/briefing.js +254 -14
  137. package/dist/core/briefing.js.map +1 -1
  138. package/dist/core/builder.d.ts +16 -2
  139. package/dist/core/builder.d.ts.map +1 -1
  140. package/dist/core/builder.js +82 -5
  141. package/dist/core/builder.js.map +1 -1
  142. package/dist/core/constants.d.ts.map +1 -1
  143. package/dist/core/constants.js +1 -0
  144. package/dist/core/constants.js.map +1 -1
  145. package/dist/core/findings.d.ts +20 -0
  146. package/dist/core/findings.d.ts.map +1 -0
  147. package/dist/core/findings.js +85 -0
  148. package/dist/core/findings.js.map +1 -0
  149. package/dist/core/generators/first-sprint.js +1 -1
  150. package/dist/core/generators/first-sprint.js.map +1 -1
  151. package/dist/core/generators/roadmap.js +3 -3
  152. package/dist/core/generators/roadmap.js.map +1 -1
  153. package/dist/core/index.d.ts +10 -4
  154. package/dist/core/index.d.ts.map +1 -1
  155. package/dist/core/index.js +5 -1
  156. package/dist/core/index.js.map +1 -1
  157. package/dist/core/interview-engine.d.ts.map +1 -1
  158. package/dist/core/interview-engine.js +5 -4
  159. package/dist/core/interview-engine.js.map +1 -1
  160. package/dist/core/interview-metaphor.d.ts +5 -0
  161. package/dist/core/interview-metaphor.d.ts.map +1 -0
  162. package/dist/core/interview-metaphor.js +20 -0
  163. package/dist/core/interview-metaphor.js.map +1 -0
  164. package/dist/core/interview-steps.d.ts.map +1 -1
  165. package/dist/core/interview-steps.js +3 -6
  166. package/dist/core/interview-steps.js.map +1 -1
  167. package/dist/core/interview.d.ts.map +1 -1
  168. package/dist/core/interview.js +5 -6
  169. package/dist/core/interview.js.map +1 -1
  170. package/dist/core/roadmap-focus.d.ts +101 -0
  171. package/dist/core/roadmap-focus.d.ts.map +1 -0
  172. package/dist/core/roadmap-focus.js +293 -0
  173. package/dist/core/roadmap-focus.js.map +1 -0
  174. package/dist/core/roadmap-sources.d.ts +52 -0
  175. package/dist/core/roadmap-sources.d.ts.map +1 -0
  176. package/dist/core/roadmap-sources.js +483 -0
  177. package/dist/core/roadmap-sources.js.map +1 -0
  178. package/dist/core/roadmap.d.ts +25 -1
  179. package/dist/core/roadmap.d.ts.map +1 -1
  180. package/dist/core/roadmap.js +62 -45
  181. package/dist/core/roadmap.js.map +1 -1
  182. package/dist/core/types.d.ts +11 -1
  183. package/dist/core/types.d.ts.map +1 -1
  184. package/dist/core/workflow-engine.d.ts.map +1 -1
  185. package/dist/core/workflow-engine.js +17 -2
  186. package/dist/core/workflow-engine.js.map +1 -1
  187. package/dist/mcp/registry.d.ts +1 -1
  188. package/dist/mcp/registry.d.ts.map +1 -1
  189. package/dist/mcp/registry.js +5 -4
  190. package/dist/mcp/registry.js.map +1 -1
  191. package/dist/store/index.d.ts +13 -0
  192. package/dist/store/index.d.ts.map +1 -1
  193. package/dist/store/index.js +60 -7
  194. package/dist/store/index.js.map +1 -1
  195. package/package.json +1 -1
  196. package/src/core/workflows/sprint-standard.yaml +7 -1
  197. package/templates/claude-code/CLAUDE.md +3 -1
  198. package/templates/claude-code/commands/post-sprint.md +2 -0
  199. package/templates/claude-code/commands/start-sprint.md +10 -5
  200. package/templates/claude-code/rules/sprint-checklist.md +13 -10
  201. package/templates/codex/plugins/slope/.codex-plugin/plugin.json +1 -1
  202. package/templates/codex/plugins/slope/skills/slope-retro/SKILL.md +1 -1
  203. package/templates/codex/plugins/slope/skills/slope-sprint/SKILL.md +5 -4
  204. package/templates/cursor/rules/slope-sprint-checklist.mdc +11 -8
  205. package/templates/generic/SLOPE-CHECKLIST.md +13 -9
  206. package/templates/pi/skills/post-sprint.md +2 -0
  207. package/templates/pi/skills/start-sprint.md +10 -5
@@ -4,9 +4,12 @@ import { recommendReviews, amendScorecardWithFindings } from '../../core/review.
4
4
  import { loadConfig, detectLatestSprint, normalizeScorecard, parseSprintNumber } from '../../core/index.js';
5
5
  import { createDeferred, listDeferred, resolveDeferred } from '../../core/deferred.js';
6
6
  import { HAZARD_SEVERITY_PENALTIES } from '../../core/constants.js';
7
+ import { FINDINGS_FILE, createFindingId, displayFindingId, formatCodificationMetadata, isCodificationCandidate, loadFindings, matchesFindingId, saveFindings, } from '../../core/findings.js';
8
+ export { loadFindings } from '../../core/findings.js';
7
9
  import { findPlanContent, countTickets, countPackageRefs } from '../guards/plan-analysis.js';
8
10
  import { inferSprintContext, loadRoadmapForInference } from '../sprint-inference.js';
9
- import { isActiveSprintState, loadSprintState } from '../sprint-state.js';
11
+ import { isActiveSprintState, loadSprintState, updateReviewRequirements } from '../sprint-state.js';
12
+ import { buildReviewerAgentSpecs, formatReviewerAgentGuidance } from '../reviewer-agents.js';
10
13
  const REVIEW_STATE_FILE = '.slope/review-state.json';
11
14
  const TIER_ROUNDS = {
12
15
  skip: 0,
@@ -136,31 +139,6 @@ function resetCommand(cwd) {
136
139
  }
137
140
  console.log('Review state cleared.');
138
141
  }
139
- // --- Findings File Management ---
140
- const FINDINGS_FILE = '.slope/review-findings.json';
141
- export function loadFindings(cwd) {
142
- const filePath = join(cwd, FINDINGS_FILE);
143
- if (!existsSync(filePath))
144
- return null;
145
- try {
146
- const raw = JSON.parse(readFileSync(filePath, 'utf8'));
147
- // Migrate legacy single-sprint format
148
- if (raw.sprints)
149
- return { sprints: raw.sprints };
150
- if (raw.sprint_number != null && raw.findings) {
151
- return { sprints: { [raw.sprint_number]: raw.findings } };
152
- }
153
- return null;
154
- }
155
- catch {
156
- return null;
157
- }
158
- }
159
- function saveFindings(cwd, data) {
160
- const dir = join(cwd, '.slope');
161
- mkdirSync(dir, { recursive: true });
162
- writeFileSync(join(cwd, FINDINGS_FILE), JSON.stringify(data, null, 2) + '\n');
163
- }
164
142
  function parseSprintArg(args) {
165
143
  const sprintArg = args.find(a => a.startsWith('--sprint='));
166
144
  if (!sprintArg)
@@ -187,10 +165,17 @@ function collectStringValues(value, out = []) {
187
165
  }
188
166
  return out;
189
167
  }
168
+ function extractHazardLines(values) {
169
+ return values
170
+ .map(value => value.replace(/\s+/g, ' ').trim())
171
+ .filter(value => /\b(hazard|risk|gotcha|warning|failure|safety|security|boundary|review gate)\b/i.test(value))
172
+ .slice(0, 8);
173
+ }
190
174
  function recommendationFromPlan(content) {
191
175
  const filePatterns = [];
192
176
  const slopeMatch = content.match(/\*\*Slope:\*\*\s*(\d+)/);
193
177
  const sprintMatch = content.match(/Sprint\s+(\d+(?:\.\d+)?)/);
178
+ const titleMatch = content.match(/^#\s+(.+)$/m);
194
179
  const fileMatches = content.matchAll(/`([^`]+\.[a-z]+)`/g);
195
180
  for (const m of fileMatches)
196
181
  filePatterns.push(m[1]);
@@ -199,6 +184,9 @@ function recommendationFromPlan(content) {
199
184
  slope: slopeMatch ? parseInt(slopeMatch[1], 10) : 0,
200
185
  sprintNumber: sprintMatch ? parseSprintNumber(sprintMatch[1]) ?? 0 : 0,
201
186
  filePatterns,
187
+ theme: titleMatch?.[1],
188
+ artifacts: filePatterns,
189
+ hazards: extractHazardLines(content.split('\n')),
202
190
  hasNewInfra: /\b(new module|new package|new service|new infrastructure)\b/i.test(content),
203
191
  };
204
192
  }
@@ -210,16 +198,23 @@ function recommendationFromRoadmapSprint(sprint) {
210
198
  slope: sprint.slope ?? 0,
211
199
  sprintNumber: sprint.id,
212
200
  filePatterns,
201
+ theme: sprint.theme,
202
+ artifacts: filePatterns.length > 0 ? filePatterns : sprint.tickets?.map(ticket => `${ticket.key}: ${ticket.title}`),
203
+ hazards: extractHazardLines(stringValues),
213
204
  hasNewInfra: /\b(new module|new package|new service|new infrastructure)\b/i.test(stringValues.join('\n')),
214
205
  };
215
206
  }
216
207
  function recommendationFromScorecard(card) {
217
208
  const stringValues = collectStringValues(card);
209
+ const filePatterns = stringValues.filter(value => /[/.]/.test(value));
218
210
  return {
219
211
  ticketCount: card.shots?.length ?? 0,
220
212
  slope: card.slope ?? 0,
221
213
  sprintNumber: card.sprint_number,
222
- filePatterns: stringValues.filter(value => /[/.]/.test(value)),
214
+ filePatterns,
215
+ theme: card.theme,
216
+ artifacts: filePatterns,
217
+ hazards: extractHazardLines(stringValues),
223
218
  hasNewInfra: /\b(new module|new package|new service|new infrastructure)\b/i.test(stringValues.join('\n')),
224
219
  };
225
220
  }
@@ -247,6 +242,8 @@ function inferRecommendationContext(args, cwd) {
247
242
  slope: 0,
248
243
  filePatterns: [],
249
244
  sprintNumber: explicitSprint,
245
+ artifacts: [],
246
+ hazards: [],
250
247
  hasNewInfra: false,
251
248
  };
252
249
  }
@@ -269,6 +266,8 @@ function inferRecommendationContext(args, cwd) {
269
266
  slope: 0,
270
267
  filePatterns: [],
271
268
  sprintNumber: inferred.sprint,
269
+ artifacts: [],
270
+ hazards: [],
272
271
  hasNewInfra: false,
273
272
  };
274
273
  }
@@ -280,12 +279,18 @@ function inferRecommendationContext(args, cwd) {
280
279
  slope: 0,
281
280
  filePatterns: [],
282
281
  sprintNumber: 0,
282
+ artifacts: [],
283
+ hazards: [],
283
284
  hasNewInfra: false,
284
285
  };
285
286
  }
286
287
  function recommendCommand(args, cwd) {
287
288
  const context = inferRecommendationContext(args, cwd);
288
289
  const recs = recommendReviews(context);
290
+ const requirementInputs = reviewRequirementInputs(recs);
291
+ const recorded = context.sprintNumber > 0
292
+ ? updateReviewRequirements(cwd, context.sprintNumber, requirementInputs)
293
+ : false;
289
294
  const sprintLabel = context.sprintNumber > 0 ? ` for Sprint ${context.sprintNumber}` : '';
290
295
  console.log(`Recommended reviews${sprintLabel} (${context.ticketCount} ticket${context.ticketCount !== 1 ? 's' : ''}, slope ${context.slope}):\n`);
291
296
  console.log(' Type Priority Reason');
@@ -294,10 +299,59 @@ function recommendCommand(args, cwd) {
294
299
  const priority = rec.priority.padEnd(13);
295
300
  console.log(` ${type} ${priority} ${rec.reason}`);
296
301
  }
302
+ if (recorded) {
303
+ console.log(`\nReview requirements recorded in Sprint ${context.sprintNumber} state.`);
304
+ }
305
+ const reviewerAgents = buildReviewerAgentSpecs(recs, {
306
+ sprintNumber: context.sprintNumber > 0 ? context.sprintNumber : undefined,
307
+ theme: context.theme,
308
+ filePatterns: context.filePatterns,
309
+ artifacts: context.artifacts,
310
+ hazards: context.hazards,
311
+ });
312
+ const guidance = formatReviewerAgentGuidance(reviewerAgents);
313
+ if (guidance)
314
+ console.log(`\n${guidance}`);
315
+ }
316
+ const REVIEW_PRIORITY_RANK = {
317
+ optional: 1,
318
+ recommended: 2,
319
+ required: 3,
320
+ };
321
+ function strongestRecommendation(recommendations) {
322
+ return recommendations.reduce((strongest, current) => {
323
+ if (!strongest || REVIEW_PRIORITY_RANK[current.priority] > REVIEW_PRIORITY_RANK[strongest.priority])
324
+ return current;
325
+ return strongest;
326
+ }, undefined);
327
+ }
328
+ function reviewRequirementInputs(recommendations) {
329
+ const architect = strongestRecommendation(recommendations.filter(rec => rec.review_type === 'architect'));
330
+ const code = strongestRecommendation(recommendations.filter(rec => rec.review_type !== 'architect'));
331
+ const inputs = [];
332
+ if (architect) {
333
+ inputs.push({
334
+ gate: 'architect_review',
335
+ priority: architect.priority,
336
+ reason: architect.reason,
337
+ source: 'review_recommend',
338
+ });
339
+ }
340
+ if (code) {
341
+ inputs.push({
342
+ gate: 'code_review',
343
+ priority: code.priority,
344
+ reason: code.reason,
345
+ source: 'review_recommend',
346
+ });
347
+ }
348
+ return inputs;
297
349
  }
298
350
  // --- Findings Subcommands ---
299
- const VALID_REVIEW_TYPES = ['architect', 'code', 'ml-engineer', 'security', 'ux'];
351
+ const VALID_REVIEW_TYPES = ['architect', 'code', 'ml-engineer', 'security', 'ux', 'workaround'];
300
352
  const VALID_SEVERITIES = ['minor', 'moderate', 'major', 'critical'];
353
+ const VALID_CODIFICATION_COSTS = ['s', 'm', 'l'];
354
+ const VALID_CODIFICATION_STATUSES = ['open', 'paid_down', 'wontfix'];
301
355
  function findingsAddCommand(args, cwd) {
302
356
  const typeArg = args.find(a => a.startsWith('--type='));
303
357
  const ticketArg = args.find(a => a.startsWith('--ticket='));
@@ -305,9 +359,12 @@ function findingsAddCommand(args, cwd) {
305
359
  const descArg = args.find(a => a.startsWith('--description='));
306
360
  const sprintArg = args.find(a => a.startsWith('--sprint='));
307
361
  const resolvedArg = args.includes('--resolved');
308
- if (!typeArg || !ticketArg || !descArg) {
309
- console.error('Error: --type, --ticket, and --description are required.');
362
+ const recursArg = args.includes('--recurs');
363
+ const costArg = args.find(a => a.startsWith('--cost='));
364
+ if (!typeArg || !descArg) {
365
+ console.error('Error: --type and --description are required; --ticket is required except for --type=workaround.');
310
366
  console.error('Usage: slope review findings add --type=architect --ticket=S34-1 --severity=moderate --description="..."');
367
+ console.error('Usage: slope review findings add --type=workaround --recurs --cost=s --description="..."');
311
368
  process.exit(1);
312
369
  }
313
370
  const reviewType = typeArg.slice('--type='.length);
@@ -315,6 +372,27 @@ function findingsAddCommand(args, cwd) {
315
372
  console.error(`Error: Invalid review type "${reviewType}". Use: ${VALID_REVIEW_TYPES.join(', ')}`);
316
373
  process.exit(1);
317
374
  }
375
+ if (!ticketArg && reviewType !== 'workaround') {
376
+ console.error('Error: --ticket is required unless --type=workaround.');
377
+ process.exit(1);
378
+ }
379
+ const cost = costArg ? costArg.slice('--cost='.length) : undefined;
380
+ if (cost && !VALID_CODIFICATION_COSTS.includes(cost)) {
381
+ console.error(`Error: Invalid codification cost "${cost}". Use: ${VALID_CODIFICATION_COSTS.join(', ')}`);
382
+ process.exit(1);
383
+ }
384
+ if (reviewType === 'workaround' && !recursArg) {
385
+ console.error('Error: workaround findings must include --recurs so one-off workarounds are not logged as codification debt.');
386
+ process.exit(1);
387
+ }
388
+ if (recursArg && !cost) {
389
+ console.error('Error: recurring workaround findings require --cost=s|m|l.');
390
+ process.exit(1);
391
+ }
392
+ if (cost && !recursArg) {
393
+ console.error('Error: --cost requires --recurs.');
394
+ process.exit(1);
395
+ }
318
396
  const severity = severityArg
319
397
  ? severityArg.slice('--severity='.length)
320
398
  : 'moderate';
@@ -322,7 +400,7 @@ function findingsAddCommand(args, cwd) {
322
400
  console.error(`Error: Invalid severity "${severity}". Use: ${VALID_SEVERITIES.join(', ')}`);
323
401
  process.exit(1);
324
402
  }
325
- const ticketKey = ticketArg.slice('--ticket='.length);
403
+ const ticketKey = ticketArg ? ticketArg.slice('--ticket='.length) : 'workaround';
326
404
  const description = descArg.slice('--description='.length);
327
405
  // Determine sprint number
328
406
  let sprintNumber = 0;
@@ -337,11 +415,15 @@ function findingsAddCommand(args, cwd) {
337
415
  catch { /* fallback to 0 */ }
338
416
  }
339
417
  const finding = {
418
+ id: createFindingId(),
340
419
  review_type: reviewType,
341
420
  ticket_key: ticketKey,
342
421
  severity,
343
422
  description,
344
423
  resolved: resolvedArg,
424
+ recurs: recursArg || undefined,
425
+ cost,
426
+ codification_status: recursArg ? 'open' : undefined,
345
427
  };
346
428
  const existing = loadFindings(cwd);
347
429
  if (existing && existing.sprints[sprintNumber]) {
@@ -357,9 +439,21 @@ function findingsAddCommand(args, cwd) {
357
439
  saveFindings(cwd, { sprints: { [sprintNumber]: [finding] } });
358
440
  }
359
441
  console.log(`Finding added: [${reviewType}] ${ticketKey} — ${description} (${severity})`);
442
+ console.log(` ID: ${finding.id}`);
443
+ const codification = formatCodificationMetadata(finding);
444
+ if (codification)
445
+ console.log(` ${codification}`);
360
446
  }
361
447
  function findingsListCommand(args, cwd) {
362
448
  const sprintArg = args.find(a => a.startsWith('--sprint='));
449
+ const codificationStatusArg = args.find(a => a.startsWith('--codification-status='));
450
+ const codificationStatus = codificationStatusArg
451
+ ? codificationStatusArg.slice('--codification-status='.length)
452
+ : undefined;
453
+ if (codificationStatus && !VALID_CODIFICATION_STATUSES.includes(codificationStatus)) {
454
+ console.error(`Error: Invalid codification status "${codificationStatus}". Use: ${VALID_CODIFICATION_STATUSES.join(', ')}`);
455
+ process.exit(1);
456
+ }
363
457
  const data = loadFindings(cwd);
364
458
  if (!data || Object.keys(data.sprints).length === 0) {
365
459
  console.log('No review findings recorded.');
@@ -367,36 +461,101 @@ function findingsListCommand(args, cwd) {
367
461
  }
368
462
  if (sprintArg) {
369
463
  const requestedSprint = parseSprintNumber(sprintArg.slice('--sprint='.length)) ?? 0;
370
- const sprintFindings = data.sprints[requestedSprint];
464
+ const sprintFindings = filterFindingsForList(data.sprints[requestedSprint] ?? [], codificationStatus);
371
465
  if (!sprintFindings || sprintFindings.length === 0) {
372
466
  console.log(`No findings for Sprint ${requestedSprint}.`);
373
467
  return;
374
468
  }
375
469
  console.log(`Sprint ${requestedSprint} findings (${sprintFindings.length} total):\n`);
376
- console.log(' Ticket Type Severity Description');
377
- for (const f of sprintFindings) {
470
+ console.log(' ID Ticket Type Severity Description');
471
+ for (const [index, f] of sprintFindings.entries()) {
472
+ const id = displayFindingId(f, requestedSprint, index).padEnd(8);
378
473
  const ticket = f.ticket_key.padEnd(7);
379
474
  const type = f.review_type.padEnd(14);
380
475
  const severity = f.severity.padEnd(10);
381
- console.log(` ${ticket} ${type} ${severity} ${f.description}`);
476
+ const meta = formatCodificationMetadata(f);
477
+ console.log(` ${id} ${ticket} ${type} ${severity} ${f.description}${meta ? ` (${meta})` : ''}`);
382
478
  }
383
479
  }
384
480
  else {
385
481
  // Show all findings grouped by sprint
386
482
  const sprintKeys = Object.keys(data.sprints).map(Number).sort((a, b) => a - b);
483
+ let printed = false;
387
484
  for (const sprint of sprintKeys) {
388
- const sprintFindings = data.sprints[sprint];
485
+ const sprintFindings = filterFindingsForList(data.sprints[sprint] ?? [], codificationStatus);
486
+ if (sprintFindings.length === 0)
487
+ continue;
488
+ printed = true;
389
489
  console.log(`Sprint ${sprint} findings (${sprintFindings.length}):\n`);
390
- console.log(' Ticket Type Severity Description');
391
- for (const f of sprintFindings) {
490
+ console.log(' ID Ticket Type Severity Description');
491
+ for (const [index, f] of sprintFindings.entries()) {
492
+ const id = displayFindingId(f, sprint, index).padEnd(8);
392
493
  const ticket = f.ticket_key.padEnd(7);
393
494
  const type = f.review_type.padEnd(14);
394
495
  const severity = f.severity.padEnd(10);
395
- console.log(` ${ticket} ${type} ${severity} ${f.description}`);
496
+ const meta = formatCodificationMetadata(f);
497
+ console.log(` ${id} ${ticket} ${type} ${severity} ${f.description}${meta ? ` (${meta})` : ''}`);
396
498
  }
397
499
  console.log('');
398
500
  }
501
+ if (!printed) {
502
+ console.log(codificationStatus
503
+ ? `No findings match codification status "${codificationStatus}".`
504
+ : 'No review findings recorded.');
505
+ }
506
+ }
507
+ }
508
+ function filterFindingsForList(findings, codificationStatus) {
509
+ if (!codificationStatus)
510
+ return findings;
511
+ return findings.filter(finding => {
512
+ if (!isCodificationCandidate(finding))
513
+ return false;
514
+ return (finding.codification_status ?? 'open') === codificationStatus;
515
+ });
516
+ }
517
+ function findingsResolveCommand(args, cwd) {
518
+ const id = args.find(a => !a.startsWith('--')) ?? args.find(a => a.startsWith('--id='))?.slice('--id='.length);
519
+ const statusArg = args.find(a => a.startsWith('--status='));
520
+ const status = statusArg ? statusArg.slice('--status='.length) : 'paid_down';
521
+ if (!id) {
522
+ console.error('Error: finding id is required. Usage: slope review findings resolve <id> [--status=paid_down|wontfix]');
523
+ process.exit(1);
524
+ }
525
+ if (!['paid_down', 'wontfix'].includes(status)) {
526
+ console.error('Error: --status must be paid_down or wontfix.');
527
+ process.exit(1);
528
+ }
529
+ const data = loadFindings(cwd);
530
+ if (!data) {
531
+ console.error('Error: no review findings recorded.');
532
+ process.exit(1);
533
+ }
534
+ const now = new Date().toISOString();
535
+ for (const sprint of Object.keys(data.sprints).map(Number).sort((a, b) => a - b)) {
536
+ const findings = data.sprints[sprint] ?? [];
537
+ for (const [index, finding] of findings.entries()) {
538
+ if (!matchesFindingId(finding, sprint, index, id))
539
+ continue;
540
+ if (!isCodificationCandidate(finding)) {
541
+ console.error(`Error: finding ${id} is not a recurring workaround codification candidate.`);
542
+ process.exit(1);
543
+ }
544
+ finding.resolved = true;
545
+ finding.codification_status = status;
546
+ finding.resolved_at = now;
547
+ if (status === 'paid_down')
548
+ finding.codified_at = now;
549
+ else
550
+ delete finding.codified_at;
551
+ saveFindings(cwd, data);
552
+ console.log(`Codification candidate ${status}: ${displayFindingId(finding, sprint, index)}`);
553
+ console.log(` S${sprint}: ${finding.description}`);
554
+ return;
555
+ }
399
556
  }
557
+ console.error(`Error: no finding found matching id "${id}".`);
558
+ process.exit(1);
400
559
  }
401
560
  function findingsClearCommand(args, cwd) {
402
561
  const filePath = join(cwd, FINDINGS_FILE);
@@ -414,8 +573,9 @@ function findingsCommand(args, cwd) {
414
573
  console.log(`Usage: slope review findings <subcommand> [options]
415
574
 
416
575
  Subcommands:
417
- add Add a review finding
576
+ add Add a review finding; workaround candidates use --recurs --cost=s|m|l
418
577
  list List recorded findings
578
+ resolve Mark a codification candidate paid_down or wontfix
419
579
  clear Clear all findings
420
580
 
421
581
  Use 'slope review findings add --help' for add options.`);
@@ -429,11 +589,14 @@ Use 'slope review findings add --help' for add options.`);
429
589
  case 'list':
430
590
  findingsListCommand(args.slice(1), cwd);
431
591
  break;
592
+ case 'resolve':
593
+ findingsResolveCommand(args.slice(1), cwd);
594
+ break;
432
595
  case 'clear':
433
596
  findingsClearCommand(args.slice(1), cwd);
434
597
  break;
435
598
  default:
436
- console.error(`Unknown findings subcommand: ${sub}. Use add, list, or clear.`);
599
+ console.error(`Unknown findings subcommand: ${sub}. Use add, list, resolve, or clear.`);
437
600
  process.exit(1);
438
601
  }
439
602
  }
@@ -587,11 +750,12 @@ ux) apply to the current sprint based on active sprint state, roadmap,
587
750
  scorecard, or plan metadata.`);
588
751
  break;
589
752
  case 'findings':
590
- console.log(`Usage: slope review findings <add|list|clear> [options]
753
+ console.log(`Usage: slope review findings <add|list|resolve|clear> [options]
591
754
 
592
755
  Subcommands:
593
- add Record a review finding (--type, --ticket, --severity, --description)
594
- list List recorded findings (optionally --sprint=N)
756
+ add Record a review finding (--type, --ticket, --severity, --description; workaround uses --recurs --cost=s|m|l)
757
+ list List recorded findings (optionally --sprint=N or --codification-status=open|paid_down|wontfix)
758
+ resolve Mark a recurring workaround candidate paid_down or wontfix by id
595
759
  clear Clear all findings`);
596
760
  break;
597
761
  case 'amend':
@@ -625,12 +789,12 @@ Run a structured review pass on the current sprint plan or PR. Pass
625
789
  break;
626
790
  default:
627
791
  console.log(`Usage:
628
- slope review [scorecard.json] [--plain] [--metaphor=<name>]
792
+ slope review [scorecard.json | --sprint=N] [--plain] [--metaphor=<name>]
629
793
  slope review <subcommand> [options]
630
794
 
631
795
  Retrospective:
632
- Format sprint retrospective markdown from a scorecard. Defaults to the
633
- latest scorecard when no scorecard path is provided.
796
+ Format sprint retrospective markdown from a scorecard. When a project has
797
+ multiple scorecards, pass an explicit path or --sprint so SLOPE never guesses.
634
798
 
635
799
  Subcommands:
636
800
  start Start a review (auto-detects tier or use --rounds/--tier)
@@ -1 +1 @@
1
- {"version":3,"file":"review-state.js","sourceRoot":"","sources":["../../../src/cli/commands/review-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-state.js","sourceRoot":"","sources":["../../../src/cli/commands/review-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAmC,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAU7F,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgB,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAkB;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,yDAAyD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzF,MAAM,gBAAgB,GAAG,qDAAqD,CAAC,IAAI,CAAC,OAAO,CAAC;WACvF,WAAW,KAAK,CAAC,CAAC;IAEvB,IAAI,gBAAgB,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9E,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9E,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,GAAW;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD,IAAI,MAAc,CAAC;IACnB,IAAI,IAAY,CAAC;IACjB,IAAI,QAA4B,CAAC;IAEjC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,kCAAkC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACxE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,wCAAwC,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YACrB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mGAAmG,CAAC,CAAC;YACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI;YAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAgB;QACzB,eAAe,EAAE,MAAM;QACvB,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,QAAQ;QACnB,IAAI;QACJ,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IAEF,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,KAAK,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,sDAAsD,CAAC,CAAC;AACnJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAC5B,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE5B,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,qDAAqD,CAAC,CAAC;IAC7H,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,cAAc,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/I,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,UAAU,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxI,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACvC,CAAC;AAeD,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW,EAAE,MAAmB;IAC5D,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;WAChD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;WACpD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;WACzC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,MAAgB,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgB;IAC1C,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;SAC/C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,gFAAgF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7G,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO;QACL,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC;QAClC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,YAAY;QACZ,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACtB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,WAAW,EAAE,8DAA8D,CAAC,IAAI,CAAC,OAAO,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAqB;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC,EAAE;QACvB,YAAY;QACZ,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QACnH,OAAO,EAAE,kBAAkB,CAAC,YAAY,CAAC;QACzC,WAAW,EAAE,8DAA8D,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAmB;IACtD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,YAAY;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,kBAAkB,CAAC,YAAY,CAAC;QACzC,WAAW,EAAE,8DAA8D,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW,EAAE,MAAmB,EAAE,YAAoB;IACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IAClF,IAAI,aAAa;QAAE,OAAO,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAEzE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,YAAY,OAAO,CAAC,CAAC;IACpF,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAc,EAAE,GAAW;IAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI;YAC9D,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,IAAI,SAAS;QAAE,OAAO,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhE,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO;YACL,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,IAAI,UAAU;QAAE,OAAO,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAElE,OAAO;QACL,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,GAAW;IACnD,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEvC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC;QACvC,CAAC,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACxE,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,KAAK,OAAO,CAAC,WAAW,UAAU,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;IACnJ,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,4CAA4C,OAAO,CAAC,YAAY,SAAS,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,EAAE;QACnD,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,oBAAoB,GAAqD;IAC7E,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,SAAS,uBAAuB,CAAC,eAAuC;IACtE,OAAO,eAAe,CAAC,MAAM,CAAmC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;QACrF,IAAI,CAAC,SAAS,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QACpH,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,SAAS,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,eAAuC;IACtE,MAAM,SAAS,GAAG,uBAAuB,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC;IAC1G,MAAM,IAAI,GAAG,uBAAuB,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC;IACrG,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+BAA+B;AAE/B,MAAM,kBAAkB,GAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC9G,MAAM,gBAAgB,GAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACtF,MAAM,wBAAwB,GAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACrE,MAAM,2BAA2B,GAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE3F,SAAS,kBAAkB,CAAC,IAAc,EAAE,GAAW;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAC;QAClH,OAAO,CAAC,KAAK,CAAC,0GAA0G,CAAC,CAAC;QAC1H,OAAO,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC1G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAe,CAAC;IACjE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,+BAA+B,UAAU,WAAW,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,IAAI,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,WAAW,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,KAAK,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,8GAA8G,CAAC,CAAC;QAC9H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAmB;QAC3D,CAAC,CAAC,UAAU,CAAC;IACf,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,4BAA4B,QAAQ,WAAW,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/B,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,EAAE,EAAE,eAAe,EAAE;QACrB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,SAAS;QACrB,QAAQ;QACR,WAAW;QACX,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,SAAS,IAAI,SAAS;QAC9B,IAAI;QACJ,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACpD,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,2CAA2C;QAC3C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,KAAK,SAAS,MAAM,WAAW,KAAK,QAAQ,GAAG,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc,EAAE,GAAW;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,qBAAqB;QAC9C,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAuB;QACpF,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,kBAAkB,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,uCAAuC,kBAAkB,WAAW,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACtG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,eAAe,GAAG,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,eAAe,cAAc,cAAc,CAAC,MAAM,YAAY,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC7F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC1C,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,cAAc,cAAc,CAAC,MAAM,MAAM,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClD,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,0CAA0C,kBAAkB,IAAI;gBAClE,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAyB,EAAE,kBAAuC;IAC/F,IAAI,CAAC,kBAAkB;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC/B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,kBAAkB,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAc,EAAE,GAAW;IACzD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/G,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAuB,CAAC,CAAC,CAAC,WAAW,CAAC;IAEnG,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;QACvH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBAAE,SAAS;YAC5D,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,wDAAwD,CAAC,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC;YACrC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;YAC1B,IAAI,MAAM,KAAK,WAAW;gBAAE,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;;gBACjD,OAAO,OAAO,CAAC,WAAW,CAAC;YAChC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,KAAK,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAc,EAAE,GAAW;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,GAAW;IAClD,kCAAkC;IAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;;wDAQwC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK;YACR,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,MAAM;YACT,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,SAAS;YACZ,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,OAAO;YACV,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,qCAAqC,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,2BAA2B;AAE3B,SAAS,YAAY,CAAC,IAAc,EAAE,GAAW;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,IAAI,YAAoB,CAAC;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,YAAY,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,mBAAmB,cAAc,CAAC,MAAM,kBAAkB,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpJ,QAAQ;IACR,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,0BAA0B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IAExH,0BAA0B;IAC1B,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,YAAY,WAAW,YAAY,OAAO,CAAC,CAAC;IAErF,uFAAuF;IACvF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,wCAAwC;YACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAClD,IAAI,UAAU,CAAC,gBAAgB,CAAC;gBAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,WAAW,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED,8BAA8B;AAE9B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,KAAK;CACN,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAAc;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;mEACmE;AACnE,SAAS,eAAe,CAAC,GAAuB;IAC9C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;iDAS+B,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;yCAGuB,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC;;;yCAGuB,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;oCAGkB,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,WAAW;YACd,OAAO,CAAC,GAAG,CAAC;;;;6BAIW,CAAC,CAAC;YACzB,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC;;;;;;4BAMU,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;mEAGiD,CAAC,CAAC;YAC/D,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;mBAGC,CAAC,CAAC;YACf,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC;;oEAEkD,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;aAGL,CAAC,CAAC;YACT,MAAM;QACR,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,CAAC;;;2CAGyB,CAAC,CAAC;YACvC,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;qEAqBmD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,mEAAmE;IACnE,uEAAuE;IACvE,kEAAkE;IAClE,0EAA0E;IAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,WAAW;YACd,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,UAAU;YACb,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,OAAO;YACV,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,UAAU;YACb,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,SAAS;YACZ,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC7D,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QACD;YACE,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,+FAA+F,CAAC,CAAC;YAChJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,gCAAgC;AAEhC,SAAS,YAAY,CAAC,IAAc,EAAE,GAAW;IAC/C,IAAI,IAAwB,CAAC;IAC7B,IAAI,EAAsB,CAAC;IAC3B,IAAI,QAAQ,GAAqB,QAAQ,CAAC;IAC1C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,QAA4B,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;aAC7F,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;aAC5F,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAqB,CAAC;aAClG,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACvF,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,uCAAuC,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE;QAClC,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,EAAE,IAAI,IAAI;QACzB,QAAQ;QACR,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,aAAa,MAAM,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;IAChC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,GAAW;IAClD,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAE/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;aACnG,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE;QACjC,MAAM;QACN,MAAM,EAAE,MAAqD;KAC9D,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC;IAElD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC9D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,aAAa,MAAM,WAAW,KAAK,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC;QACxH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,GAAW;IACjD,IAAI,EAAsB,CAAC;IAC3B,IAAI,MAAM,GAA2B,UAAU,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACvD,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAA2B,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,GAAG,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1,2 +1,10 @@
1
- export declare function reviewCommand(path?: string, mode?: string, metaphorFlag?: string, outputPath?: string | null): void;
1
+ import { loadConfig } from '../config.js';
2
+ declare function discoverScorecardPaths(cwd: string, config: ReturnType<typeof loadConfig>): string[];
3
+ declare function resolveScorecardPath(path: string | undefined, sprintSelector: string | undefined, cwd: string, config: ReturnType<typeof loadConfig>): string;
4
+ export declare function reviewCommand(path?: string, mode?: string, metaphorFlag?: string, outputPath?: string | null, sprintSelector?: string): void;
5
+ export declare const reviewCommandInternals: {
6
+ discoverScorecardPaths: typeof discoverScorecardPaths;
7
+ resolveScorecardPath: typeof resolveScorecardPath;
8
+ };
9
+ export {};
2
10
  //# sourceMappingURL=review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAQA,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CA8DnH"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,iBAAS,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,MAAM,EAAE,CAgB5F;AAED,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GACpC,MAAM,CAkCR;AAED,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAoCN;AAED,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC"}