orcommit 1.2.17 → 1.2.19
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 +51 -4
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +51 -12
- package/dist/cli.js.map +1 -1
- package/dist/modules/api.d.ts +1 -0
- package/dist/modules/api.d.ts.map +1 -1
- package/dist/modules/api.js +5 -0
- package/dist/modules/api.js.map +1 -1
- package/dist/modules/auto-updater.d.ts +19 -17
- package/dist/modules/auto-updater.d.ts.map +1 -1
- package/dist/modules/auto-updater.js +23 -78
- package/dist/modules/auto-updater.js.map +1 -1
- package/dist/modules/cache.d.ts +10 -3
- package/dist/modules/cache.d.ts.map +1 -1
- package/dist/modules/cache.js +15 -6
- package/dist/modules/cache.js.map +1 -1
- package/dist/modules/core.d.ts +9 -4
- package/dist/modules/core.d.ts.map +1 -1
- package/dist/modules/core.js +120 -110
- package/dist/modules/core.js.map +1 -1
- package/dist/modules/doctor.d.ts +28 -0
- package/dist/modules/doctor.d.ts.map +1 -0
- package/dist/modules/doctor.js +202 -0
- package/dist/modules/doctor.js.map +1 -0
- package/dist/modules/git.d.ts +6 -0
- package/dist/modules/git.d.ts.map +1 -1
- package/dist/modules/git.js +22 -0
- package/dist/modules/git.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/formatting.d.ts +14 -0
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +35 -0
- package/dist/utils/formatting.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/modules/cache.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,WAAW,CAA8C;gBAErD,OAAO,GAAE,YAAiB;IAStC
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/modules/cache.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,WAAW,CAA8C;gBAErD,OAAO,GAAE,YAAiB;IAStC;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiCzB;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAiChB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;YACW,WAAW;IAiBzB;;OAEG;YACW,UAAU;IAcxB;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C9B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC;KACpB,CAAC;IAgDF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACH,OAAO,CAAC,WAAW;CAYpB;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
package/dist/modules/cache.js
CHANGED
|
@@ -16,10 +16,19 @@ export class CacheManager {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Generate cache key from diff content and request parameters
|
|
19
|
+
* Generate cache key from diff content and request parameters.
|
|
20
|
+
*
|
|
21
|
+
* `scope` MUST identify the repository (and ideally branch) the diff came
|
|
22
|
+
* from. Without it, two unrelated projects whose trimmed diffs happen to
|
|
23
|
+
* hash identically would collide and serve each other's commit messages —
|
|
24
|
+
* the root cause of "why does my unrelated repo suggest a message from
|
|
25
|
+
* another project". The scope is mixed into the hash so cross-repo
|
|
26
|
+
* collisions are impossible.
|
|
20
27
|
*/
|
|
21
|
-
generateCacheKey(content, model, provider, temperature) {
|
|
28
|
+
generateCacheKey(content, model, provider, temperature, scope) {
|
|
22
29
|
const hash = createHash('sha256')
|
|
30
|
+
.update(scope)
|
|
31
|
+
.update('\x00') // domain separator so scope/content can't run together
|
|
23
32
|
.update(content)
|
|
24
33
|
.update(model)
|
|
25
34
|
.update(provider)
|
|
@@ -30,11 +39,11 @@ export class CacheManager {
|
|
|
30
39
|
/**
|
|
31
40
|
* Get cached commit message if available and valid
|
|
32
41
|
*/
|
|
33
|
-
async get(content, model, provider, temperature) {
|
|
42
|
+
async get(content, model, provider, temperature, scope) {
|
|
34
43
|
if (!this.options.enabled) {
|
|
35
44
|
return null;
|
|
36
45
|
}
|
|
37
|
-
const key = this.generateCacheKey(content, model, provider, temperature);
|
|
46
|
+
const key = this.generateCacheKey(content, model, provider, temperature, scope);
|
|
38
47
|
try {
|
|
39
48
|
// Check memory cache first
|
|
40
49
|
const memoryEntry = this.memoryCache.get(key);
|
|
@@ -61,11 +70,11 @@ export class CacheManager {
|
|
|
61
70
|
/**
|
|
62
71
|
* Store commit message in cache
|
|
63
72
|
*/
|
|
64
|
-
async set(content, model, provider, temperature, commitMessage) {
|
|
73
|
+
async set(content, model, provider, temperature, commitMessage, scope) {
|
|
65
74
|
if (!this.options.enabled) {
|
|
66
75
|
return;
|
|
67
76
|
}
|
|
68
|
-
const key = this.generateCacheKey(content, model, provider, temperature);
|
|
77
|
+
const key = this.generateCacheKey(content, model, provider, temperature, scope);
|
|
69
78
|
const contentHash = createHash('sha256').update(content).digest('hex');
|
|
70
79
|
const entry = {
|
|
71
80
|
data: commitMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/modules/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgBrC,MAAM,OAAO,YAAY;IACN,QAAQ,CAAS;IACjB,OAAO,CAAyB;IACzC,WAAW,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEjE,YAAY,UAAwB,EAAE;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;YACpD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;SACjC,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/modules/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/core.d.ts
CHANGED
|
@@ -18,10 +18,15 @@ export declare class CoreOrchestrator {
|
|
|
18
18
|
*/
|
|
19
19
|
private createSystemPrompt;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
* Clean up a commit message locally (no LLM round-trip).
|
|
22
|
+
*
|
|
23
|
+
* The message arrives already extracted from structured JSON, so cleaning is
|
|
24
|
+
* purely deterministic: strip leftover prefixes/quotes/code-fences, normalize
|
|
25
|
+
* whitespace and line endings, and enforce the configured max length. This
|
|
26
|
+
* replaces the old "Stage 2" finalization LLM call, removing ~half the token
|
|
27
|
+
* cost and latency plus a failure point, with identical end results.
|
|
28
|
+
*/
|
|
29
|
+
private cleanCommitMessage;
|
|
25
30
|
/**
|
|
26
31
|
* Prepare diff content for API consumption
|
|
27
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/modules/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAYX,MAAM,mBAAmB,CAAC;AAyB3B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6TxD;;OAEG;YACW,qBAAqB;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/modules/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAYX,MAAM,mBAAmB,CAAC;AAyB3B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6TxD;;OAEG;YACW,qBAAqB;IAqKnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwI1B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAgD1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwD1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAchB;;;OAGG;YACW,aAAa;IAgF3B;;OAEG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,iBAAiB;IAuG/B;;OAEG;YACW,UAAU;IAexB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAe7B;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
package/dist/modules/core.js
CHANGED
|
@@ -11,7 +11,7 @@ import { maybeShowPromo } from './promo.js';
|
|
|
11
11
|
import { secretScanner } from './secret-scanner.js';
|
|
12
12
|
import { confirm, isCancel, text } from '@clack/prompts';
|
|
13
13
|
import chalk from 'chalk';
|
|
14
|
-
import { wrapInstructions, wrapRules, wrapContext, wrapUserFeedback, wrapDiffContent, wrapInBlock,
|
|
14
|
+
import { wrapInstructions, wrapRules, wrapContext, wrapUserFeedback, wrapDiffContent, wrapInBlock, parseAIResponse, COMMIT_RESPONSE_FORMAT } from '../utils/formatting.js';
|
|
15
15
|
import { createAIThinkingSpinner, createProcessingSpinner } from './spinner.js';
|
|
16
16
|
export class CoreOrchestrator {
|
|
17
17
|
config;
|
|
@@ -318,10 +318,12 @@ export class CoreOrchestrator {
|
|
|
318
318
|
logger.debug('Added git context to prompt', { contextLength: gitContext.length });
|
|
319
319
|
}
|
|
320
320
|
const model = this.getModel(provider);
|
|
321
|
+
// Repository-scoped cache key prevents cross-project collisions
|
|
322
|
+
const cacheScope = await gitManager.getCacheScope();
|
|
321
323
|
// Check cache first (unless disabled or regenerating with feedback)
|
|
322
324
|
if (!options.noCache && !userFeedback) {
|
|
323
325
|
const cachedMessage = await cacheManager.get(rawDiffContent, // Use raw content for cache key
|
|
324
|
-
model, provider, this.config.preferences.temperature);
|
|
326
|
+
model, provider, this.config.preferences.temperature, cacheScope);
|
|
325
327
|
if (cachedMessage) {
|
|
326
328
|
spinner.succeed('Retrieved from cache');
|
|
327
329
|
return {
|
|
@@ -347,6 +349,7 @@ export class CoreOrchestrator {
|
|
|
347
349
|
],
|
|
348
350
|
maxTokens: this.config.preferences.maxTokens,
|
|
349
351
|
temperature: this.config.preferences.temperature,
|
|
352
|
+
responseFormat: COMMIT_RESPONSE_FORMAT,
|
|
350
353
|
};
|
|
351
354
|
const result = await apiManager.generateCommitMessage(request, provider);
|
|
352
355
|
if (!result.success || !result.data) {
|
|
@@ -358,12 +361,14 @@ export class CoreOrchestrator {
|
|
|
358
361
|
const parsed = parseAIResponse(rawMessage);
|
|
359
362
|
logger.debug('Parsed response:', { hasAssessment: !!parsed.assessment, messageLength: parsed.commitMessage.length });
|
|
360
363
|
spinner.update('Polishing the message');
|
|
361
|
-
//
|
|
362
|
-
|
|
364
|
+
// Clean the commit message locally — no second LLM round-trip needed.
|
|
365
|
+
// The model already returns the message inside structured JSON; we just
|
|
366
|
+
// strip artifacts (prefixes, quotes, code fences) deterministically.
|
|
367
|
+
const finalMessage = this.cleanCommitMessage(parsed.commitMessage);
|
|
363
368
|
// Cache the finalized result (skip if regenerating with feedback)
|
|
364
369
|
if (!options.noCache && !userFeedback) {
|
|
365
370
|
await cacheManager.set(rawDiffContent, // Use raw content for cache key
|
|
366
|
-
model, provider, this.config.preferences.temperature, finalMessage);
|
|
371
|
+
model, provider, this.config.preferences.temperature, finalMessage, cacheScope);
|
|
367
372
|
}
|
|
368
373
|
spinner.succeed('Commit message generated');
|
|
369
374
|
return {
|
|
@@ -385,6 +390,7 @@ export class CoreOrchestrator {
|
|
|
385
390
|
maxTokens: this.config.preferences.maxTokens,
|
|
386
391
|
temperature: this.config.preferences.temperature,
|
|
387
392
|
systemPrompt,
|
|
393
|
+
responseFormat: COMMIT_RESPONSE_FORMAT,
|
|
388
394
|
};
|
|
389
395
|
const result = await apiManager.processChunks(chunks, baseRequest, provider);
|
|
390
396
|
if (!result.success || !result.data) {
|
|
@@ -397,8 +403,8 @@ export class CoreOrchestrator {
|
|
|
397
403
|
const parsed = parseAIResponse(rawMessage);
|
|
398
404
|
logger.debug('Parsed response (chunks):', { hasAssessment: !!parsed.assessment, messageLength: parsed.commitMessage.length });
|
|
399
405
|
spinner.update('Polishing the message');
|
|
400
|
-
//
|
|
401
|
-
const finalMessage =
|
|
406
|
+
// Clean locally (see single-request path above) — no extra LLM call.
|
|
407
|
+
const finalMessage = this.cleanCommitMessage(parsed.commitMessage);
|
|
402
408
|
spinner.succeed('Commit message generated');
|
|
403
409
|
return {
|
|
404
410
|
commitMessage: finalMessage,
|
|
@@ -429,15 +435,19 @@ export class CoreOrchestrator {
|
|
|
429
435
|
// Main instructions
|
|
430
436
|
const mainInstructions = `You are a senior software engineer and Git commit message expert with deep understanding of software architecture and code quality.
|
|
431
437
|
|
|
432
|
-
YOUR MISSION:
|
|
438
|
+
YOUR MISSION: Describe ONLY the changes present in the [DIFF_CONTENT] block below. The commit message must be derived EXCLUSIVELY from the actual diff — the literal added/removed lines and the files they touch.
|
|
433
439
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
440
|
+
ABSOLUTE RULES (these override stylistic preferences):
|
|
441
|
+
- Ground EVERY claim in a concrete line or file from the diff. If it is not in the diff, it does not go in the message.
|
|
442
|
+
- NEVER invent, assume, or pattern-match a change that is not literally shown (e.g. do not say "migrate to JWT", "refactor auth", "add tests" unless those exact changes appear in the diff).
|
|
443
|
+
- If the diff is small or trivial, write a small, literal message. Do NOT inflate it into something grander than the actual change.
|
|
444
|
+
- Use the real file paths, function names, and symbols from the diff. Generic boilerplate is a failure.
|
|
445
|
+
|
|
446
|
+
ANALYSIS STEPS:
|
|
447
|
+
1. Read the actual added/removed lines per file.
|
|
448
|
+
2. Identify the PRIMARY change and its concrete effect.
|
|
449
|
+
3. Capture meaningful secondary changes that are actually present.
|
|
450
|
+
4. Choose the conventional-commit type that matches what the lines literally do.`;
|
|
441
451
|
sections.push(wrapInstructions(mainInstructions));
|
|
442
452
|
// Quality standards and rules
|
|
443
453
|
let rules = `- Be SPECIFIC about what changed (mention key functions, components, files when relevant)
|
|
@@ -447,13 +457,14 @@ ANALYSIS REQUIREMENTS:
|
|
|
447
457
|
- Use technical terminology appropriately
|
|
448
458
|
- Write in ${language === 'en' ? 'English' : language}
|
|
449
459
|
- Follow ${format === 'conventional' ? 'Conventional Commits format strictly' : 'simple descriptive format'}
|
|
460
|
+
- Describe ONLY what the diff shows — no speculation, no generic filler
|
|
450
461
|
|
|
451
|
-
THINK STEP BY STEP:
|
|
452
|
-
1.
|
|
453
|
-
2. What
|
|
454
|
-
3. Are there
|
|
455
|
-
4.
|
|
456
|
-
5. What
|
|
462
|
+
THINK STEP BY STEP (about THIS diff, not commits in general):
|
|
463
|
+
1. Which specific files and symbols changed, per the diff?
|
|
464
|
+
2. What do the added/removed lines literally do?
|
|
465
|
+
3. Are there breaking changes visible in the diff?
|
|
466
|
+
4. Which secondary changes are actually present?
|
|
467
|
+
5. What is the smallest accurate description of all of the above?`;
|
|
457
468
|
// Add formatting constraints to rules
|
|
458
469
|
if (options.oneLine) {
|
|
459
470
|
rules += `\n- Generate a single-line commit message only`;
|
|
@@ -515,79 +526,63 @@ ${userFeedback ? '⚠️ CRITICAL: The [IMPORTANT_USER_FEEDBACK] block above con
|
|
|
515
526
|
- Add detailed body if changes are complex
|
|
516
527
|
- Include BREAKING CHANGE footer if applicable
|
|
517
528
|
|
|
518
|
-
|
|
519
|
-
⚠️ DO NOT wrap in markdown code blocks (no \`\`\`json)
|
|
520
|
-
⚠️ DO NOT add explanations before or after
|
|
521
|
-
⚠️ START your response with { and END with }
|
|
522
|
-
⚠️ This is REQUIRED - the response MUST be parseable JSON
|
|
523
|
-
|
|
524
|
-
CORRECT Example:
|
|
525
|
-
{"codeAssessment": "Ah yes, another 'quick fix' that touches 47 files", "commitMessage": "refactor: restructure authentication flow\\n\\nMigrate from session-based to JWT authentication"}
|
|
529
|
+
Return a JSON object matching the RESPONSE_SCHEMA above (two fields: codeAssessment, commitMessage).
|
|
526
530
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
- Here is the JSON: {...} ❌
|
|
530
|
-
- Just plain text without JSON ❌`;
|
|
531
|
+
⚠️ MOST IMPORTANT RULE: the commitMessage must describe ONLY what the [DIFF_CONTENT] literally shows.
|
|
532
|
+
Never emit a generic, memorized message (e.g. "restructure X", "migrate from A to B", "implement authentication") unless those exact changes appear in the diff. If the diff is tiny, write a tiny literal message. Grounding every word in the actual diff is more important than sounding impressive.`;
|
|
531
533
|
sections.push(wrapInstructions(finalInstructions));
|
|
532
534
|
return sections.join('\n\n');
|
|
533
535
|
}
|
|
534
536
|
/**
|
|
535
|
-
*
|
|
536
|
-
*
|
|
537
|
+
* Clean up a commit message locally (no LLM round-trip).
|
|
538
|
+
*
|
|
539
|
+
* The message arrives already extracted from structured JSON, so cleaning is
|
|
540
|
+
* purely deterministic: strip leftover prefixes/quotes/code-fences, normalize
|
|
541
|
+
* whitespace and line endings, and enforce the configured max length. This
|
|
542
|
+
* replaces the old "Stage 2" finalization LLM call, removing ~half the token
|
|
543
|
+
* cost and latency plus a failure point, with identical end results.
|
|
537
544
|
*/
|
|
538
|
-
|
|
539
|
-
|
|
545
|
+
cleanCommitMessage(rawMessage) {
|
|
546
|
+
let message = (rawMessage || '').replace(/\r\n/g, '\n').trim();
|
|
547
|
+
// Strip surrounding markdown code fences (```...``` or ```lang ... ```)
|
|
548
|
+
const fenceMatch = message.match(/^```(?:[a-zA-Z]+)?\n([\s\S]*?)\n```$/);
|
|
549
|
+
if (fenceMatch && fenceMatch[1]) {
|
|
550
|
+
message = fenceMatch[1].trim();
|
|
551
|
+
}
|
|
552
|
+
// Remove common AI-generated lead-ins
|
|
553
|
+
const prefixPatterns = [
|
|
554
|
+
/^commit message:\s*/i,
|
|
555
|
+
/^here is the commit message:\s*/i,
|
|
556
|
+
/^here's the commit message:\s*/i,
|
|
557
|
+
/^the commit message is:\s*/i,
|
|
558
|
+
/^this is the commit message:\s*/i,
|
|
559
|
+
/^suggested commit:\s*/i,
|
|
560
|
+
/^commit:\s*/i,
|
|
561
|
+
];
|
|
562
|
+
for (const pattern of prefixPatterns) {
|
|
563
|
+
message = message.replace(pattern, '');
|
|
564
|
+
}
|
|
565
|
+
// Remove wrapping quotes around the whole message
|
|
566
|
+
message = message.replace(/^"([\s\S]+)"$/, '$1').replace(/^'([\s\S]+)'$/, '$1');
|
|
567
|
+
// Collapse excessive blank lines, trim trailing spaces per line
|
|
568
|
+
message = message
|
|
569
|
+
.replace(/[ \t]+\n/g, '\n')
|
|
570
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
571
|
+
.trim();
|
|
572
|
+
// Enforce configured max length as a final safety net
|
|
540
573
|
const maxLength = this.config.preferences.maxCommitLength;
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
6. Start directly with the commit type or message
|
|
552
|
-
7. Preserve ${format === 'conventional' ? 'conventional commits format (type(scope): description)' : 'simple format'}
|
|
553
|
-
8. Preserve line breaks for multi-line messages
|
|
554
|
-
9. Ensure subject line is under 72 characters
|
|
555
|
-
${maxLength && maxLength > 0 ? `10. ⚠️ MANDATORY LENGTH: Final message MUST be ≤${maxLength} chars total. Cut content if needed, but stay within limit.` : '10. No strict length limit on full message'}
|
|
556
|
-
11. NO additional text, NO commentary, NO explanations
|
|
557
|
-
${userFeedback ? `12. CRITICAL: Preserve the EXACT language used in the message below (user requested specific changes)` : ''}`;
|
|
558
|
-
const finalizationPrompt = `${wrapInstructions(instructions)}
|
|
559
|
-
|
|
560
|
-
${wrapRules(rules)}
|
|
561
|
-
|
|
562
|
-
[RAW_MESSAGE_TO_CLEAN]
|
|
563
|
-
${cleanText(rawMessage)}
|
|
564
|
-
[/RAW_MESSAGE_TO_CLEAN]
|
|
565
|
-
|
|
566
|
-
OUTPUT ONLY THE CLEANED COMMIT MESSAGE:`;
|
|
567
|
-
try {
|
|
568
|
-
const model = this.getModel(provider);
|
|
569
|
-
const result = await apiManager.generateCommitMessage({
|
|
570
|
-
provider,
|
|
571
|
-
model,
|
|
572
|
-
maxTokens: this.config.preferences.maxTokens,
|
|
573
|
-
temperature: 0.3, // Lower temperature for more consistent cleaning
|
|
574
|
-
messages: [
|
|
575
|
-
{ role: 'system', content: finalizationPrompt },
|
|
576
|
-
{ role: 'user', content: 'Clean this message now.' }
|
|
577
|
-
],
|
|
578
|
-
}, provider);
|
|
579
|
-
if (!result.success || !result.data) {
|
|
580
|
-
// If finalization fails, return original message
|
|
581
|
-
logger.warn('Finalization failed, using original message');
|
|
582
|
-
return rawMessage;
|
|
583
|
-
}
|
|
584
|
-
return result.data.trim();
|
|
585
|
-
}
|
|
586
|
-
catch (error) {
|
|
587
|
-
// If finalization fails, return original message
|
|
588
|
-
logger.warn('Finalization error, using original message');
|
|
589
|
-
return rawMessage;
|
|
574
|
+
if (maxLength && maxLength > 0 && message.length > maxLength) {
|
|
575
|
+
const lines = message.split('\n');
|
|
576
|
+
const subject = lines[0] || '';
|
|
577
|
+
if (subject.length > maxLength) {
|
|
578
|
+
message = subject.substring(0, maxLength - 3) + '...';
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
message = message.substring(0, maxLength - 3) + '...';
|
|
582
|
+
}
|
|
583
|
+
logger.debug(`Commit message trimmed to ${maxLength} chars`);
|
|
590
584
|
}
|
|
585
|
+
return message;
|
|
591
586
|
}
|
|
592
587
|
/**
|
|
593
588
|
* Prepare diff content for API consumption
|
|
@@ -596,26 +591,41 @@ OUTPUT ONLY THE CLEANED COMMIT MESSAGE:`;
|
|
|
596
591
|
const sections = [];
|
|
597
592
|
// Add summary
|
|
598
593
|
sections.push(`Summary: ${diff.files.length} files changed, ${diff.totalLines} lines modified\n`);
|
|
599
|
-
//
|
|
594
|
+
// Adaptive per-file line budget: keep small commits fully intact, only
|
|
595
|
+
// trim genuinely huge diffs so the prompt stays within token limits.
|
|
596
|
+
// Token-based chunking downstream is the real overflow guard; this is a
|
|
597
|
+
// soft cap to avoid pathologically large single files dominating context.
|
|
600
598
|
const lineLimit = this.getAdaptiveLineLimit(diff.files[0] || {}, diff.files.length);
|
|
601
|
-
// Add file changes
|
|
599
|
+
// Add file changes as a real unified-diff-style block per file, preserving
|
|
600
|
+
// surrounding context lines and hunk headers. The model needs to SEE what
|
|
601
|
+
// the code does, not a stripped list of +/- lines — that's what made it
|
|
602
|
+
// fall back to memorized clichés on thin input.
|
|
602
603
|
for (const file of diff.files) {
|
|
603
604
|
if (file.isBinary) {
|
|
604
|
-
sections.push(
|
|
605
|
+
sections.push(`--- ${file.path} (${file.status}) — binary file`);
|
|
605
606
|
continue;
|
|
606
607
|
}
|
|
607
|
-
sections.push(
|
|
608
|
+
sections.push(`--- ${file.path} (${file.status})`);
|
|
608
609
|
for (const chunk of file.chunks) {
|
|
609
|
-
|
|
610
|
-
|
|
610
|
+
// Hunk header gives the model location/structure context
|
|
611
|
+
if (chunk.header) {
|
|
612
|
+
sections.push(chunk.header);
|
|
613
|
+
}
|
|
614
|
+
const renderedLines = [];
|
|
615
|
+
let truncated = false;
|
|
616
|
+
for (const line of chunk.lines) {
|
|
617
|
+
if (renderedLines.length >= lineLimit) {
|
|
618
|
+
truncated = true;
|
|
619
|
+
break;
|
|
620
|
+
}
|
|
621
|
+
const prefix = line.type === 'added' ? '+' : line.type === 'removed' ? '-' : ' ';
|
|
622
|
+
renderedLines.push(`${prefix}${line.content}`);
|
|
623
|
+
}
|
|
624
|
+
if (renderedLines.length > 0) {
|
|
625
|
+
sections.push(renderedLines.join('\n'));
|
|
611
626
|
}
|
|
612
|
-
|
|
613
|
-
.
|
|
614
|
-
.slice(0, lineLimit) // Use adaptive limit instead of hardcoded 20
|
|
615
|
-
.map(line => `${line.type === 'added' ? '+' : '-'}${line.content}`)
|
|
616
|
-
.join('\n');
|
|
617
|
-
if (relevantLines) {
|
|
618
|
-
sections.push(relevantLines);
|
|
627
|
+
if (truncated) {
|
|
628
|
+
sections.push(`… (hunk truncated at ${lineLimit} lines)`);
|
|
619
629
|
}
|
|
620
630
|
}
|
|
621
631
|
sections.push(''); // Empty line between files
|
|
@@ -669,10 +679,11 @@ OUTPUT ONLY THE CLEANED COMMIT MESSAGE:`;
|
|
|
669
679
|
if (configuredModel) {
|
|
670
680
|
return configuredModel;
|
|
671
681
|
}
|
|
672
|
-
// Default models
|
|
682
|
+
// Default models. Gemini Flash Lite is cheap, fast, and supports strict
|
|
683
|
+
// json_schema structured output — a good default for commit generation.
|
|
673
684
|
return provider === 'openrouter'
|
|
674
|
-
? '
|
|
675
|
-
: 'gpt-
|
|
685
|
+
? 'google/gemini-2.0-flash-lite-001'
|
|
686
|
+
: 'gpt-4o-mini';
|
|
676
687
|
}
|
|
677
688
|
/**
|
|
678
689
|
* Confirm commit with user (unless auto-confirm is enabled)
|
|
@@ -905,20 +916,19 @@ OUTPUT ONLY THE CLEANED COMMIT MESSAGE:`;
|
|
|
905
916
|
* Larger commits get smaller preview per file to stay within token limits
|
|
906
917
|
*/
|
|
907
918
|
getAdaptiveLineLimit(file, totalFiles) {
|
|
908
|
-
//
|
|
919
|
+
// Per-hunk soft cap. Generous on purpose: token-based chunking is the real
|
|
920
|
+
// overflow guard, so here we only protect against a single pathological hunk
|
|
921
|
+
// swallowing the whole prompt. Small/medium commits are sent essentially in full.
|
|
909
922
|
if (totalFiles <= 5) {
|
|
910
|
-
return
|
|
923
|
+
return 1000;
|
|
911
924
|
}
|
|
912
|
-
// For small-medium commits, show a lot
|
|
913
925
|
if (totalFiles <= 20) {
|
|
914
|
-
return
|
|
926
|
+
return 500;
|
|
915
927
|
}
|
|
916
|
-
// For medium-large commits, show moderate amount
|
|
917
928
|
if (totalFiles <= 50) {
|
|
918
|
-
return
|
|
929
|
+
return 200;
|
|
919
930
|
}
|
|
920
|
-
|
|
921
|
-
return 30;
|
|
931
|
+
return 100;
|
|
922
932
|
}
|
|
923
933
|
}
|
|
924
934
|
// Singleton instance
|
package/dist/modules/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/modules/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,SAAS,EACT,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAU;IAExB;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CACnB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACnF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CAAC,mCAAmC,CAAC,CAAC;QAC7D,CAAC;QAED,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;YAC1C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAExC,qCAAqC;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBAC1E,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3B,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC;YAED,kDAAkD;YAClD,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAE5E,2BAA2B;YAC3B,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACnE,eAAe,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAE/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;YAEzF,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC;gBAC7C,YAAY,EAAE,YAAY,CAAC,cAAc;gBACzC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,YAAY,CAAC,uBAAuB;aACrD,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAChD,gBAAgB,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,eAAe,CAAC,OAAO,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,CAAC;YAEtE,6BAA6B;YAC7B,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxD,gBAAgB,CAAC,SAAS,CAAC;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,OAAO,CAAC,UAAU;gBACzB,IAAI,EAAE,GAAG,SAAS,KAAK;aACxB,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,cAAc,GAAG,gBAAgB,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;YAE1F,8CAA8C;YAC9C,IAAI,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAE5E,oEAAoE;YACpE,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,cAAc,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAExD,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAExC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACnF,IAAI,GAAG;wBACL,GAAG,IAAI;wBACP,KAAK,EAAE,aAAa;wBACpB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAC7C,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CACnF;wBACD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAC5C,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACrC;qBACF,CAAC;oBACF,cAAc,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,MAAM,sBAAsB,CAAC,CAAC;gBAChF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gBAAgB,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;oBAC5E,qCAAqC;gBACvC,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;oBACjC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;oBAChC,kBAAkB,EAAE,IAAI,EAAE,6CAA6C;iBACxE,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC7D,IAAI,GAAG;oBACL,GAAG,IAAI;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;iBAC7C,CAAC;gBACF,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,QAAQ,sBAAsB,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACjD,gBAAgB,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpE,cAAc,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAEtE,IAAI,aAAa,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,aAAa,CAAC,YAAY,mBAAmB,CAAC,CAAC;YACxF,CAAC;YAED,oEAAoE;YACpE,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACjC,cAAc,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;gBAE5D,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;oBAE7D,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1C,cAAc,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,eAAe,CAAC,MAAM,YAAY,CAAC,CAAC;wBAExF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;wBAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;wBAEvD,gBAAgB;wBAChB,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6C,CAAC;wBAC3E,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;4BAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACrC,CAAC;4BACD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/C,CAAC,CAAC,CAAC;wBAEH,0BAA0B;wBAC1B,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;4BACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;4BACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gCACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gCACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gCACjD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gCACvD,CAAC;gCACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;4BAC1D,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;wBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;wBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;wBACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC,CAAC;wBAEtG,MAAM,IAAI,QAAQ,CAAC,2CAA2C,CAAC,CAAC;oBAClE,CAAC;oBAED,uBAAuB;oBACvB,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,gBAAgB,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,QAAQ,CAAC,MAAM,+BAA+B,CAAC,CAAC;wBAE1F,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;4BACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;4BAEzE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gCAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;4BACnD,CAAC,CAAC,CAAC;4BAEH,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;4BAChF,CAAC;4BAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;gCAC5B,OAAO,EAAE,uBAAuB;gCAChC,YAAY,EAAE,KAAK;6BACpB,CAAC,CAAC;4BAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCAClC,MAAM,IAAI,QAAQ,CAAC,wDAAwD,CAAC,CAAC;4BAC/E,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;oBAC9F,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;wBAC9B,MAAM,KAAK,CAAC,CAAC,2BAA2B;oBAC1C,CAAC;oBACD,uDAAuD;oBACvD,gBAAgB,CAAC,IAAI,CAAC,2BAA4B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7E,cAAc,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,gBAAgB,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBAC3E,cAAc,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAC/F,CAAC;YAEC,mCAAmC;YACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;YAE7E,wBAAwB;YACxB,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAErD,iDAAiD;YACjD,IAAI,aAAqB,CAAC;YAC1B,IAAI,cAAc,GAAkB,IAAI,CAAC;YACzC,IAAI,YAAgC,CAAC;YACrC,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,yBAAyB;YAErD,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,wDAAwD;gBACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACvF,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBACrC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;gBAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAEhD,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,YAAY,IAAI,CAAC,CAAC,CAAC;oBAC5E,CAAC;oBAED,OAAO;gBACT,CAAC;gBAED,wBAAwB;gBACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAEtF,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,CAAC,kCAAkC;gBAC3C,CAAC;qBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC1D,OAAO;gBACT,CAAC;qBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAChD,mBAAmB,EAAE,CAAC;oBAEtB,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;wBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,gBAAgB,WAAW,CAAC,CAAC,CAAC;wBAC7F,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;4BAChC,OAAO,EAAE,wCAAwC;yBAClD,CAAC,CAAC;wBAEH,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;4BAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;4BAClD,OAAO;wBACT,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC;oBACrC,gCAAgC;oBAChC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,aAAa,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;gBACjE,aAAa,CAAC,KAAK,EAAE,CAAC;gBAEtB,MAAM,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC7C,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBAEvE,6CAA6C;gBAC7C,cAAc,EAAE,CAAC;gBAEjB,uBAAuB;gBACvB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC3C,CAAC;qBAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBACjE,2DAA2D;oBAC3D,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;4BAC/B,OAAO,EAAE,iBAAiB;yBAC3B,CAAC,CAAC;wBAEH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;4BACxC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;wBAC3C,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,gEAAgE;oBAClE,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACpD,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC3F,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,KAAK,CACpB,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAC/E,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,IAAa,EACb,OAAmB,EACnB,QAAiC,EACjC,YAAqB;QAErB,MAAM,OAAO,GAAG,uBAAuB,CACrC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAC3D,CAAC;QACF,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAEpE,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YAED,sCAAsC;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B;YAEhF,8DAA8D;YAC9D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEtC,oEAAoE;YACpE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,GAAG,CAC1C,cAAc,EAAE,gCAAgC;gBAChD,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,WAAW,CACrC,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;oBACxC,OAAO;wBACL,aAAa,EAAE,aAAa;wBAC5B,UAAU,EAAE,IAAI,CAAC,wCAAwC;qBAC1D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,YAAY,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,gBAAgB,GAAG,YAAY,CAAC;YAExD,wDAAwD;YACxD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAEnE,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;gBACrC,iBAAiB;gBACjB,MAAM,OAAO,GAAe;oBAC1B,QAAQ;oBACR,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC9B,QAAQ,EAAE;wBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;wBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;qBACvC;oBACD,SAAS,EAAE,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,SAAS;oBAC7C,WAAW,EAAE,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,WAAW;iBAClD,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEzE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,mCAAmC,CAAC,CAAC;gBACnF,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,oDAAoD;gBACpD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvG,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBAErH,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAExC,0EAA0E;gBAC1E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAE7G,kEAAkE;gBAClE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtC,MAAM,YAAY,CAAC,GAAG,CACpB,cAAc,EAAE,gCAAgC;oBAChD,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,WAAW,EACpC,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;gBAC5C,OAAO;oBACL,aAAa,EAAE,YAAY;oBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC;YAEJ,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;gBAElD,MAAM,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC,WAAW,EAAE;oBAC5D,KAAK;oBACL,SAAS,EAAE,gBAAgB;oBAC3B,cAAc,EAAE,YAAY;iBAC7B,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG;oBAClB,QAAQ;oBACR,KAAK;oBACL,SAAS,EAAE,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,SAAS;oBAC7C,WAAW,EAAE,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,WAAW;oBACjD,YAAY;iBACb,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAE7E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC;gBAC1E,CAAC;gBAED,qDAAqD;gBACrD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAElE,oDAAoD;gBACpD,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChH,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE9H,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAExC,0EAA0E;gBAC1E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAE7G,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;gBAC5C,OAAO;oBACL,aAAa,EAAE,YAAY;oBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC;YACJ,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAmB,EAAE,YAAqB;QACnE,0EAA0E;QAC1E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,8CAA8C;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,YAAY,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,oBAAoB;QACpB,MAAM,gBAAgB,GAAG;;;;;;;;;;gFAUmD,CAAC;QAE7E,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAElD,8BAA8B;QAC9B,IAAI,KAAK,GAAG;;;;;aAKH,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;WAC1C,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,2BAA2B;;;;;;;8BAO7E,CAAC;QAE3B,sCAAsC;QACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,IAAI,gDAAgD,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,qFAAqF,CAAC;QACjG,CAAC;QAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,KAAK,IAAI,4BAA4B,OAAO,CAAC,iBAAiB,aAAa,CAAC;QAC9E,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAC3D,IAAI,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,IAAI,iFAAiF,SAAS,yCAAyC,CAAC;QAC/I,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,IAAI,kEAAkE,CAAC;QAC9E,CAAC;QAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,KAAK,IAAI,0JAA0J,CAAC;YAEpK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,IAAI,0JAA0J,CAAC;YACtK,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,IAAI,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,IAAI,qBAAqB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,IAAI,6HAA6H,CAAC;QACzI,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhC,0BAA0B;QAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,4DAA4D;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG;iLAC0J,YAAY,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,YAAY,QAAQ,GAAG;mCAC7P,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,aAAa,oBAAoB,YAAY,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,YAAY,QAAQ,GAAG;EACzN,CAAC;QAEC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAEjE,gCAAgC;QAChC,MAAM,iBAAiB,GAAG;;EAE5B,YAAY,CAAC,CAAC,CAAC,yNAAyN,CAAC,CAAC,CAAC,EAAE;;;;;OAKxO,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,8BAA8B;;;;;;;;;;;;;;;;;iCAiB9F,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEnD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CACjC,UAAkB,EAClB,QAAiC,EACjC,OAAmB,EACnB,YAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,YAAY,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAE3D,oDAAoD;QACpD,MAAM,YAAY,GAAG;;;EAGvB,YAAY,CAAC,CAAC,CAAC,iGAAiG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEtH,MAAM,KAAK,GAAG;;;;;;cAMJ,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,eAAe;;;EAGlH,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,mDAAmD,SAAS,6DAA6D,CAAC,CAAC,CAAC,4CAA4C;;EAErM,YAAY,CAAC,CAAC,CAAC,uGAAuG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE5H,MAAM,kBAAkB,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC;;EAE9D,SAAS,CAAC,KAAK,CAAC;;;EAGhB,SAAS,CAAC,UAAU,CAAC;;;wCAGiB,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,CACnD;gBACE,QAAQ;gBACR,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,SAAS;gBAC7C,WAAW,EAAE,GAAG,EAAE,iDAAiD;gBACnE,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE;iBACrD;aACF,EACD,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,iDAAiD;gBACjD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAa;QACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,cAAc;QACd,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,mBAAmB,IAAI,CAAC,UAAU,mBAAmB,CAAC,CAAC;QAElG,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE/F,mBAAmB;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAErD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK;qBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;qBAChE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,6CAA6C;qBACjE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;qBAClE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,IAAI,aAAa,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QAChD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACzC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,iBAAiB;YAEnD,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,YAAY,GAAG,EAAE,CAAC;gBAClB,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,WAAW,IAAI,QAAQ,CAAC;QAC1B,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAiB,EAAE,OAAmB;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;QACrB,CAAC;QAED,mEAAmE;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACxD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CACpD,CAAC;QAEF,sDAAsD;QACtD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC;YAC7F,OAAO,GAAG,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,EAAE,CAAC;QACrF,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAAiC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAE/D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,iBAAiB;QACjB,OAAO,QAAQ,KAAK,YAAY;YAC9B,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,eAAe,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CACzB,OAAe,EACf,UAAyB,EACzB,OAAmB;QAEnB,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,8CAA8C;QAC9C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,OAAO,EAAE,6BAA6B;gBACtC,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,CAAC;YAED,+DAA+D;YAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC;gBACrC,OAAO,EAAE,4DAA4D;gBACrE,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC9B,CAAC;YAED,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;gBAC1B,OAAO,EAAE,qCAAqC;gBAC9C,WAAW,EAAE,8EAA8E;gBAC3F,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,OAAO,kDAAkD,CAAC;oBAC5D,CAAC;oBACD,OAAO,SAAS,CAAC,CAAC,cAAc;gBAClC,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC9B,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAkB,EAAE,CAAC;QAEhE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,EAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpD,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnF,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAmB;QACnD,6BAA6B;QAC7B,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAChD,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,QAAQ,CAAC,8DAA8D,CAAC,CAAC;QACrF,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAC9E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,8BAA8B,QAAQ,yBAAyB,QAAQ,wBAAwB,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAC5C,QAAQ;YACR,WAAW,EAAE,WAAW,CAAC,MAAM;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,gBAA+B;QACvD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAE1D,MAAM,WAAW,GAAG,WAAW;YAC7B,CAAC,CAAC,cAAc,aAAa,EAAE;YAC/B,CAAC,CAAC,mCAAmC,aAAa,EAAE,CAAC;QAEvD,MAAM,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACzD,WAAW,CAAC,KAAK,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;YAC9D,MAAM,cAAc,GAAG,WAAW;gBAChC,CAAC,CAAC,aAAa,aAAa,EAAE;gBAC9B,CAAC,CAAC,8BAA8B,aAAa,EAAE,CAAC;YAClD,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,gBAAiB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,QAA4B,EAC5B,OAAmB,EACnB,gBAA+B,EAC/B,QAA4B;QAE5B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAAC;QAEhF,0CAA0C;QAC1C,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,0BAA0B;QACpC,CAAC;QAED,+CAA+C;QAC/C,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,iFAAiF;YACjF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACrC,CAAC;YAEF,qDAAqD;YACrD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,qCAAqC;gBACrC,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBACjF,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBAE1E,kCAAkC;gBAClC,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC7D,CAAC;gBACF,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAE1E,MAAM,IAAI,QAAQ,CAAC,gEAAgE,CAAC,CAAC;YACvF,CAAC;YAED,kDAAkD;YAClD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,4BAA4B;YACtC,CAAC;YAED,qCAAqC;YACrC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,8BAA8B,UAAU,SAAS,CAAC,CAAC;YACnE,CAAC;YAED,+CAA+C;YAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAC9E,MAAM,IAAI,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAC5D,CAAC;QAED,iDAAiD;QACjD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,4BAA4B;YACtC,CAAC;YAED,sCAAsC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;oBAClC,OAAO,EAAE,0BAA0B,UAAU,oBAAoB;oBACjE,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC9C,MAAM,IAAI,QAAQ,CAAC,gCAAgC,CAAC,CAAC;gBACvD,CAAC;YAEH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,gDAAgD;YAClD,CAAC;QACH,CAAC;QAED,iCAAiC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,OAAmB;QAC1C,uCAAuC;QACvC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,2EAA2E;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,SAAiB;QAC5C,qDAAqD;QACrD,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,wDAAwD;QACxD,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,IAAa,EAAE,UAAkB;QAC5D,iDAAiD;QACjD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,uCAAuC;QACvC,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,iDAAiD;QACjD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qDAAqD;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/modules/core.ts"],"names":[],"mappings":"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"}
|