@on-par/factory-core 0.9.7-next.9 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blockers/dependencies.d.ts +19 -0
- package/dist/blockers/dependencies.d.ts.map +1 -0
- package/dist/blockers/dependencies.js +49 -0
- package/dist/blockers/dependencies.js.map +1 -0
- package/dist/blockers/file-blocker.d.ts +44 -0
- package/dist/blockers/file-blocker.d.ts.map +1 -0
- package/dist/blockers/file-blocker.js +203 -0
- package/dist/blockers/file-blocker.js.map +1 -0
- package/dist/blockers/index.d.ts +7 -0
- package/dist/blockers/index.d.ts.map +1 -0
- package/dist/blockers/index.js +5 -0
- package/dist/blockers/index.js.map +1 -0
- package/dist/blockers/poller.d.ts +37 -0
- package/dist/blockers/poller.d.ts.map +1 -0
- package/dist/blockers/poller.js +111 -0
- package/dist/blockers/poller.js.map +1 -0
- package/dist/checkers/index.d.ts +10 -1
- package/dist/checkers/index.d.ts.map +1 -1
- package/dist/checkers/index.js +14 -22
- package/dist/checkers/index.js.map +1 -1
- package/dist/checkers/probe.d.ts.map +1 -1
- package/dist/checkers/probe.js +5 -3
- package/dist/checkers/probe.js.map +1 -1
- package/dist/config/example.d.ts.map +1 -1
- package/dist/config/example.js +18 -0
- package/dist/config/example.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -3
- package/dist/config/index.js.map +1 -1
- package/dist/config/repo-build-pin.d.ts +4 -0
- package/dist/config/repo-build-pin.d.ts.map +1 -0
- package/dist/config/repo-build-pin.js +13 -0
- package/dist/config/repo-build-pin.js.map +1 -0
- package/dist/config/repo-harnesses.d.ts +43 -0
- package/dist/config/repo-harnesses.d.ts.map +1 -0
- package/dist/config/repo-harnesses.js +20 -0
- package/dist/config/repo-harnesses.js.map +1 -0
- package/dist/config/repo.d.ts +44 -11
- package/dist/config/repo.d.ts.map +1 -1
- package/dist/config/repo.js +26 -22
- package/dist/config/repo.js.map +1 -1
- package/dist/daemon/execution-config.d.ts +34 -0
- package/dist/daemon/execution-config.d.ts.map +1 -1
- package/dist/daemon/run-runtime.d.ts +34 -0
- package/dist/daemon/run-runtime.d.ts.map +1 -1
- package/dist/daemon/ship-executor.js +2 -3
- package/dist/daemon/ship-executor.js.map +1 -1
- package/dist/eval/baseline.d.ts.map +1 -1
- package/dist/eval/baseline.js +4 -4
- package/dist/eval/baseline.js.map +1 -1
- package/dist/eval/judge.d.ts.map +1 -1
- package/dist/eval/judge.js +9 -7
- package/dist/eval/judge.js.map +1 -1
- package/dist/eval/regression-report.js +1 -1
- package/dist/eval/regression-report.js.map +1 -1
- package/dist/eval/score.d.ts.map +1 -1
- package/dist/eval/score.js +2 -1
- package/dist/eval/score.js.map +1 -1
- package/dist/events/kinds.d.ts +1 -1
- package/dist/events/kinds.d.ts.map +1 -1
- package/dist/events/kinds.js +3 -0
- package/dist/events/kinds.js.map +1 -1
- package/dist/harness/catalog.d.ts +2 -0
- package/dist/harness/catalog.d.ts.map +1 -1
- package/dist/harness/catalog.js +5 -1
- package/dist/harness/catalog.js.map +1 -1
- package/dist/harness/contract.js +4 -4
- package/dist/harness/contract.js.map +1 -1
- package/dist/harness/index.d.ts +1 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +1 -0
- package/dist/harness/index.js.map +1 -1
- package/dist/hosted/store-contract.js +1 -1
- package/dist/hosted/store-contract.js.map +1 -1
- package/dist/internal.d.ts +4 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -2
- package/dist/internal.js.map +1 -1
- package/dist/kpis/human.d.ts.map +1 -1
- package/dist/kpis/human.js +4 -8
- package/dist/kpis/human.js.map +1 -1
- package/dist/phases/build.d.ts +6 -2
- package/dist/phases/build.d.ts.map +1 -1
- package/dist/phases/build.js +43 -12
- package/dist/phases/build.js.map +1 -1
- package/dist/phases/check.d.ts +32 -2
- package/dist/phases/check.d.ts.map +1 -1
- package/dist/phases/check.js +5 -6
- package/dist/phases/check.js.map +1 -1
- package/dist/phases/plan-route.d.ts +16 -0
- package/dist/phases/plan-route.d.ts.map +1 -0
- package/dist/phases/plan-route.js +38 -0
- package/dist/phases/plan-route.js.map +1 -0
- package/dist/phases/plan-routes.d.ts +16 -1
- package/dist/phases/plan-routes.d.ts.map +1 -1
- package/dist/phases/plan-routes.js +40 -1
- package/dist/phases/plan-routes.js.map +1 -1
- package/dist/phases/plan.d.ts +4 -3
- package/dist/phases/plan.d.ts.map +1 -1
- package/dist/phases/plan.js +15 -30
- package/dist/phases/plan.js.map +1 -1
- package/dist/phases/ship-git.d.ts +52 -0
- package/dist/phases/ship-git.d.ts.map +1 -0
- package/dist/phases/ship-git.js +104 -0
- package/dist/phases/ship-git.js.map +1 -0
- package/dist/phases/ship.d.ts +8 -6
- package/dist/phases/ship.d.ts.map +1 -1
- package/dist/phases/ship.js +71 -121
- package/dist/phases/ship.js.map +1 -1
- package/dist/queue/queue-backend.d.ts +6 -1
- package/dist/queue/queue-backend.d.ts.map +1 -1
- package/dist/queue/queue-backend.js +7 -1
- package/dist/queue/queue-backend.js.map +1 -1
- package/dist/queue/unpark.d.ts +28 -0
- package/dist/queue/unpark.d.ts.map +1 -0
- package/dist/queue/unpark.js +69 -0
- package/dist/queue/unpark.js.map +1 -0
- package/dist/readiness/slice-plan.js +1 -1
- package/dist/readiness/slice-plan.js.map +1 -1
- package/dist/review/backtest.js +2 -2
- package/dist/review/backtest.js.map +1 -1
- package/dist/review/containment.js +1 -1
- package/dist/review/containment.js.map +1 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +2 -13
- package/dist/router/index.js.map +1 -1
- package/dist/router/requires.d.ts +4 -0
- package/dist/router/requires.d.ts.map +1 -0
- package/dist/router/requires.js +22 -0
- package/dist/router/requires.js.map +1 -0
- package/dist/run/ci-rework-loop.d.ts +65 -0
- package/dist/run/ci-rework-loop.d.ts.map +1 -0
- package/dist/run/ci-rework-loop.js +169 -0
- package/dist/run/ci-rework-loop.js.map +1 -0
- package/dist/run/ci-rework.d.ts +25 -0
- package/dist/run/ci-rework.d.ts.map +1 -0
- package/dist/run/ci-rework.js +113 -0
- package/dist/run/ci-rework.js.map +1 -0
- package/dist/run/ci-suppression-guard.d.ts +11 -0
- package/dist/run/ci-suppression-guard.d.ts.map +1 -0
- package/dist/run/ci-suppression-guard.js +143 -0
- package/dist/run/ci-suppression-guard.js.map +1 -0
- package/dist/run/outcome.d.ts +9 -2
- package/dist/run/outcome.d.ts.map +1 -1
- package/dist/run/outcome.js +5 -0
- package/dist/run/outcome.js.map +1 -1
- package/dist/run/park-comment.d.ts +73 -0
- package/dist/run/park-comment.d.ts.map +1 -0
- package/dist/run/park-comment.js +211 -0
- package/dist/run/park-comment.js.map +1 -0
- package/dist/run/phase-snapshot.js +2 -2
- package/dist/run/phase-snapshot.js.map +1 -1
- package/dist/run/resume-context.d.ts +3 -2
- package/dist/run/resume-context.d.ts.map +1 -1
- package/dist/run/resume-context.js.map +1 -1
- package/dist/run/run-issue.d.ts +2 -1
- package/dist/run/run-issue.d.ts.map +1 -1
- package/dist/run/run-issue.js +50 -52
- package/dist/run/run-issue.js.map +1 -1
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sim/pipeline.d.ts +2 -1
- package/dist/sim/pipeline.d.ts.map +1 -1
- package/dist/sim/pipeline.js.map +1 -1
- package/dist/spec/index.d.ts +3 -2
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +1 -1
- package/dist/spec/index.js.map +1 -1
- package/dist/steward/detect.d.ts +2 -1
- package/dist/steward/detect.d.ts.map +1 -1
- package/dist/steward/detect.js +3 -2
- package/dist/steward/detect.js.map +1 -1
- package/dist/types/index.d.ts +34 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/usage/index.js +1 -1
- package/dist/usage/index.js.map +1 -1
- package/dist/utils/command-runner.js +2 -2
- package/dist/utils/command-runner.js.map +1 -1
- package/dist/utils/worktree-gc.d.ts.map +1 -1
- package/dist/utils/worktree-gc.js +5 -5
- package/dist/utils/worktree-gc.js.map +1 -1
- package/dist/utils/worktree-location.d.ts +2 -2
- package/dist/utils/worktree-location.d.ts.map +1 -1
- package/dist/utils/worktree-location.js +16 -9
- package/dist/utils/worktree-location.js.map +1 -1
- package/dist/utils/worktree-name.d.ts +6 -0
- package/dist/utils/worktree-name.d.ts.map +1 -1
- package/dist/utils/worktree-name.js +16 -1
- package/dist/utils/worktree-name.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type CommandRunner = (command: string, options?: {
|
|
2
|
+
cwd?: string;
|
|
3
|
+
timeout?: number;
|
|
4
|
+
}) => Promise<{
|
|
5
|
+
stdout: string;
|
|
6
|
+
}>;
|
|
7
|
+
/** Why a `git push` was refused, as far as git's own stderr says (#733). */
|
|
8
|
+
type PushFailureKind = 'non-fast-forward' | 'network' | 'unknown';
|
|
9
|
+
/**
|
|
10
|
+
* The real reason a push failed, from git's own stderr when the runner exposes it
|
|
11
|
+
* (node's promisified `exec` rejection carries `stderr`), else the Error message, else the
|
|
12
|
+
* value's string form. Flattened to one line and bounded so a single event row stays
|
|
13
|
+
* greppable in `.factory/events.ndjson`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function describePushFailure(err: unknown): {
|
|
16
|
+
kind: PushFailureKind;
|
|
17
|
+
detail: string;
|
|
18
|
+
};
|
|
19
|
+
/** The result of comparing the pushed branch's remote head against local HEAD (#735). */
|
|
20
|
+
type RemoteHeadCheck = {
|
|
21
|
+
status: 'match';
|
|
22
|
+
localSha: string;
|
|
23
|
+
remoteSha: string;
|
|
24
|
+
} | {
|
|
25
|
+
status: 'mismatch';
|
|
26
|
+
localSha: string;
|
|
27
|
+
remoteSha: string;
|
|
28
|
+
} | {
|
|
29
|
+
status: 'unreadable';
|
|
30
|
+
localSha?: string;
|
|
31
|
+
remoteSha?: string;
|
|
32
|
+
detail: string;
|
|
33
|
+
};
|
|
34
|
+
/** Same flatten-and-bound shaping as {@link describePushFailure}, kept separate so that
|
|
35
|
+
* function's asserted output never changes. */
|
|
36
|
+
export declare function shortDetail(err: unknown): string;
|
|
37
|
+
/** origin/<branch>'s current SHA, `null` when the branch is absent, or the failure detail (#1869). */
|
|
38
|
+
export declare function readRemoteBranchSha(run: CommandRunner, worktree: string, branch: string): Promise<{
|
|
39
|
+
status: 'ok';
|
|
40
|
+
sha: string | null;
|
|
41
|
+
} | {
|
|
42
|
+
status: 'unreadable';
|
|
43
|
+
detail: string;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* A zero-exit push is not proof the remote branch actually carries this run's commits — a
|
|
47
|
+
* concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
|
|
48
|
+
* and a PR opened against it would advertise work that is not there (#735).
|
|
49
|
+
*/
|
|
50
|
+
export declare function verifyRemoteHead(run: CommandRunner, worktree: string, branch: string): Promise<RemoteHeadCheck>;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=ship-git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship-git.d.ts","sourceRoot":"","sources":["../../src/phases/ship-git.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KACzC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjC,4EAA4E;AAC5E,KAAK,eAAe,GAAG,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAC;AA8BlE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM3F;AAKD,yFAAyF;AACzF,KAAK,eAAe,GAChB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF;gDACgD;AAChD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKhD;AAaD,sGAAsG;AACtG,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAuBrH"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// packages/core/src/phases/ship-git.ts — push-failure and remote-head helpers for SHIP
|
|
2
|
+
import { shellEscape } from '../utils/index.js';
|
|
3
|
+
/** Bound on the failure text copied into one NDJSON event row. */
|
|
4
|
+
const MAX_PUSH_ERROR_DETAIL = 400;
|
|
5
|
+
const NON_FAST_FORWARD_MARKERS = [
|
|
6
|
+
'non-fast-forward',
|
|
7
|
+
'! [rejected]',
|
|
8
|
+
'fetch first',
|
|
9
|
+
'updates were rejected',
|
|
10
|
+
'stale info',
|
|
11
|
+
];
|
|
12
|
+
const NETWORK_MARKERS = [
|
|
13
|
+
'could not resolve host',
|
|
14
|
+
'failed to connect',
|
|
15
|
+
'connection timed out',
|
|
16
|
+
'connection refused',
|
|
17
|
+
'network is unreachable',
|
|
18
|
+
'operation timed out',
|
|
19
|
+
'the remote end hung up unexpectedly',
|
|
20
|
+
];
|
|
21
|
+
function classifyPushFailure(text) {
|
|
22
|
+
const t = text.toLowerCase();
|
|
23
|
+
if (NON_FAST_FORWARD_MARKERS.some((m) => t.includes(m)))
|
|
24
|
+
return 'non-fast-forward';
|
|
25
|
+
if (NETWORK_MARKERS.some((m) => t.includes(m)))
|
|
26
|
+
return 'network';
|
|
27
|
+
return 'unknown';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The real reason a push failed, from git's own stderr when the runner exposes it
|
|
31
|
+
* (node's promisified `exec` rejection carries `stderr`), else the Error message, else the
|
|
32
|
+
* value's string form. Flattened to one line and bounded so a single event row stays
|
|
33
|
+
* greppable in `.factory/events.ndjson`.
|
|
34
|
+
*/
|
|
35
|
+
export function describePushFailure(err) {
|
|
36
|
+
const raw = err?.stderr;
|
|
37
|
+
const stderr = typeof raw === 'string' ? raw : '';
|
|
38
|
+
const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
|
|
39
|
+
const detail = text.replace(/\s+/g, ' ').trim().slice(0, MAX_PUSH_ERROR_DETAIL);
|
|
40
|
+
return { kind: classifyPushFailure(detail), detail: detail || 'no error output' };
|
|
41
|
+
}
|
|
42
|
+
/** Bound on the ls-remote failure text copied into one NDJSON event row (#735). */
|
|
43
|
+
const MAX_REMOTE_HEAD_DETAIL = 200;
|
|
44
|
+
/** Same flatten-and-bound shaping as {@link describePushFailure}, kept separate so that
|
|
45
|
+
* function's asserted output never changes. */
|
|
46
|
+
export function shortDetail(err) {
|
|
47
|
+
const raw = err?.stderr;
|
|
48
|
+
const stderr = typeof raw === 'string' ? raw : '';
|
|
49
|
+
const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
|
|
50
|
+
return text.replace(/\s+/g, ' ').trim().slice(0, MAX_REMOTE_HEAD_DETAIL) || 'no error output';
|
|
51
|
+
}
|
|
52
|
+
/** The SHA on the `refs/heads/<branch>` line of `git ls-remote` output. `--heads origin <branch>`
|
|
53
|
+
* is a suffix pattern, so it can list more than one ref — match the ref name exactly rather than
|
|
54
|
+
* trusting the first line. */
|
|
55
|
+
function parseRemoteHeadSha(stdout, branch) {
|
|
56
|
+
for (const line of stdout.split('\n')) {
|
|
57
|
+
const [sha, ref] = line.trim().split(/\s+/);
|
|
58
|
+
if (ref === `refs/heads/${branch}` && sha)
|
|
59
|
+
return sha;
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
/** origin/<branch>'s current SHA, `null` when the branch is absent, or the failure detail (#1869). */
|
|
64
|
+
export async function readRemoteBranchSha(run, worktree, branch) {
|
|
65
|
+
try {
|
|
66
|
+
const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
67
|
+
return { status: 'ok', sha: parseRemoteHeadSha(stdout, branch) ?? null };
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
return { status: 'unreadable', detail: shortDetail(err) };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A zero-exit push is not proof the remote branch actually carries this run's commits — a
|
|
75
|
+
* concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
|
|
76
|
+
* and a PR opened against it would advertise work that is not there (#735).
|
|
77
|
+
*/
|
|
78
|
+
export async function verifyRemoteHead(run, worktree, branch) {
|
|
79
|
+
let localSha;
|
|
80
|
+
try {
|
|
81
|
+
const { stdout } = await run('git rev-parse HEAD', { cwd: worktree });
|
|
82
|
+
localSha = stdout.trim();
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
return { status: 'unreadable', detail: shortDetail(err) };
|
|
86
|
+
}
|
|
87
|
+
if (!localSha)
|
|
88
|
+
return { status: 'unreadable', detail: 'git rev-parse HEAD produced no SHA' };
|
|
89
|
+
let listing;
|
|
90
|
+
try {
|
|
91
|
+
const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
92
|
+
listing = stdout;
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
return { status: 'unreadable', localSha, detail: shortDetail(err) };
|
|
96
|
+
}
|
|
97
|
+
const remoteSha = parseRemoteHeadSha(listing, branch);
|
|
98
|
+
if (!remoteSha)
|
|
99
|
+
return { status: 'unreadable', localSha, detail: `no refs/heads/${branch} on origin` };
|
|
100
|
+
return remoteSha === localSha
|
|
101
|
+
? { status: 'match', localSha, remoteSha }
|
|
102
|
+
: { status: 'mismatch', localSha, remoteSha };
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=ship-git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship-git.js","sourceRoot":"","sources":["../../src/phases/ship-git.ts"],"names":[],"mappings":"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"}
|
package/dist/phases/ship.d.ts
CHANGED
|
@@ -3,15 +3,10 @@ import type { ApprovalGate } from '../approvals/index.js';
|
|
|
3
3
|
import { type LifecycleBus } from '../bus/index.js';
|
|
4
4
|
import type { EventKind } from '../events/kinds.js';
|
|
5
5
|
import type { ReviewRouting } from '../review/routing.js';
|
|
6
|
+
import { type CommandRunner } from './ship-git.js';
|
|
6
7
|
import type { CheckSummary, CiFailureEvidence } from '../types/index.js';
|
|
7
8
|
import { type InfraRerunOutcome } from '../utils/ci-watch.js';
|
|
8
9
|
import type { WorkRequest } from '../work/index.js';
|
|
9
|
-
type CommandRunner = (command: string, options?: {
|
|
10
|
-
cwd?: string;
|
|
11
|
-
timeout?: number;
|
|
12
|
-
}) => Promise<{
|
|
13
|
-
stdout: string;
|
|
14
|
-
}>;
|
|
15
10
|
export interface ShipResult {
|
|
16
11
|
ok: boolean;
|
|
17
12
|
prNumber?: number;
|
|
@@ -24,6 +19,8 @@ export interface ShipResult {
|
|
|
24
19
|
/** True when the branch's content had already landed on main (e.g. a retry after a
|
|
25
20
|
* squash merge) — nothing was pushed and no PR was created (#520). */
|
|
26
21
|
alreadyDelivered?: boolean;
|
|
22
|
+
/** The head SHA watched on a CI rework re-entry (#2816). */
|
|
23
|
+
headSha?: string;
|
|
27
24
|
}
|
|
28
25
|
export declare function shipPhase(opts: Parameters<typeof shipPhaseImpl>[0]): Promise<ShipResult>;
|
|
29
26
|
declare function shipPhaseImpl(opts: {
|
|
@@ -67,6 +64,11 @@ declare function shipPhaseImpl(opts: {
|
|
|
67
64
|
/** origin/<branch> SHA recorded at worktree creation (#1868). When set, the new-PR push
|
|
68
65
|
* replaces that stale head under a lease on this SHA, and fails closed if the remote moved (#1869). */
|
|
69
66
|
recordedRemoteSha?: string;
|
|
67
|
+
/** SHIP re-entry after a CI rework round (#2816): same open PR, plain push, watch the pushed SHA. */
|
|
68
|
+
reentry?: {
|
|
69
|
+
prNumber: number;
|
|
70
|
+
previousHeadSha?: string;
|
|
71
|
+
};
|
|
70
72
|
}): Promise<ShipResult>;
|
|
71
73
|
export declare function findOpenPR(octokit: Octokit, owner: string, repo: string, branch: string): Promise<PrLookup>;
|
|
72
74
|
export declare function findMergedPR(octokit: Octokit, owner: string, repo: string, branch: string): Promise<PrLookup>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
|
package/dist/phases/ship.js
CHANGED
|
@@ -4,6 +4,7 @@ import { promisify } from 'node:util';
|
|
|
4
4
|
import { withLifecycle } from '../bus/index.js';
|
|
5
5
|
import { gatherEvidencePack } from '../reports/evidence-pack.js';
|
|
6
6
|
import { renderPrBody } from '../reports/pr-body.js';
|
|
7
|
+
import { describePushFailure, readRemoteBranchSha, shortDetail, verifyRemoteHead, } from './ship-git.js';
|
|
7
8
|
import { readRisk, readSpecBody } from './ship-spec.js';
|
|
8
9
|
import { collectCiFailureEvidence } from '../utils/ci-evidence.js';
|
|
9
10
|
import { DEFAULT_CI_DEADLINE_MS, resolveCiNoChecksGraceMs, watchChecksWithInfraRerun, } from '../utils/ci-watch.js';
|
|
@@ -48,6 +49,50 @@ async function shipPhaseImpl(opts) {
|
|
|
48
49
|
return { ok: false };
|
|
49
50
|
}
|
|
50
51
|
let prNumber = openLookup.status === 'found' ? openLookup.prNumber : undefined;
|
|
52
|
+
const reentry = opts.reentry;
|
|
53
|
+
let watchRef = branch;
|
|
54
|
+
let headSha;
|
|
55
|
+
if (reentry) {
|
|
56
|
+
if (prNumber !== reentry.prNumber) {
|
|
57
|
+
const reason = `re-entry expected open PR #${reentry.prNumber} for ${branch} but found ${prNumber === undefined ? 'none' : `#${prNumber}`}`;
|
|
58
|
+
log('ship', reason);
|
|
59
|
+
return { ok: false, reason };
|
|
60
|
+
}
|
|
61
|
+
let localSha;
|
|
62
|
+
try {
|
|
63
|
+
localSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
const reason = `could not read local HEAD on re-entry (${shortDetail(err)})`;
|
|
67
|
+
log('ship', reason);
|
|
68
|
+
return { ok: false, prNumber, reason };
|
|
69
|
+
}
|
|
70
|
+
if (localSha && localSha === reentry.previousHeadSha) {
|
|
71
|
+
const reason = `CI rework produced no new commit on ${branch}`;
|
|
72
|
+
log('ship', reason);
|
|
73
|
+
return { ok: false, prNumber, ciOutcome: 'failure', reason, headSha: localSha };
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
await run(`git push origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
const { kind, detail } = describePushFailure(err);
|
|
80
|
+
const reason = `re-entry push of ${branch} failed (${kind}): ${detail}`;
|
|
81
|
+
log('ship', reason);
|
|
82
|
+
return { ok: false, prNumber, reason };
|
|
83
|
+
}
|
|
84
|
+
const remoteHead = await verifyRemoteHead(run, worktree, branch);
|
|
85
|
+
if (remoteHead.status !== 'match') {
|
|
86
|
+
const reason = remoteHead.status === 'mismatch'
|
|
87
|
+
? `remote head ${remoteHead.remoteSha} does not match local HEAD ${remoteHead.localSha} for ${branch} after re-entry push`
|
|
88
|
+
: `could not verify the remote head for ${branch} after re-entry push (${remoteHead.detail})`;
|
|
89
|
+
log('ship', reason);
|
|
90
|
+
return { ok: false, prNumber, reason };
|
|
91
|
+
}
|
|
92
|
+
watchRef = remoteHead.remoteSha;
|
|
93
|
+
headSha = remoteHead.remoteSha;
|
|
94
|
+
log('ship', `re-entry pushed ${branch} @ ${headSha}`);
|
|
95
|
+
}
|
|
51
96
|
if (!prNumber) {
|
|
52
97
|
// Recovery decisions must compare against the *current* remote — a stale
|
|
53
98
|
// remote-tracking ref makes already-delivered work look like recovery work (#520).
|
|
@@ -217,22 +262,23 @@ async function shipPhaseImpl(opts) {
|
|
|
217
262
|
log('fail', `Could not create or find PR for ${branch}`);
|
|
218
263
|
return { ok: false };
|
|
219
264
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
265
|
+
if (!reentry)
|
|
266
|
+
try {
|
|
267
|
+
const body = gatherEvidencePack({
|
|
268
|
+
issue,
|
|
269
|
+
checkSummary,
|
|
270
|
+
reworkRounds: opts.reworkRounds,
|
|
271
|
+
specPath: opts.specPath,
|
|
272
|
+
eventsFile: opts.eventsFile,
|
|
273
|
+
startedAt: opts.startedAt,
|
|
274
|
+
logsDir: opts.logsDir,
|
|
275
|
+
reviewRouting: opts.reviewRouting,
|
|
276
|
+
pinNotes: opts.pinNotes,
|
|
277
|
+
});
|
|
278
|
+
await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
|
|
279
|
+
log('evidence', `posted evidence pack to PR #${prNumber}`);
|
|
280
|
+
}
|
|
281
|
+
catch { }
|
|
236
282
|
let ciOutcome;
|
|
237
283
|
// Watch CI (best-effort)
|
|
238
284
|
if (watchCI) {
|
|
@@ -242,7 +288,7 @@ async function shipPhaseImpl(opts) {
|
|
|
242
288
|
octokit,
|
|
243
289
|
owner,
|
|
244
290
|
repo: repoName,
|
|
245
|
-
ref:
|
|
291
|
+
ref: watchRef,
|
|
246
292
|
rerun,
|
|
247
293
|
deadlineMs: DEFAULT_CI_DEADLINE_MS,
|
|
248
294
|
noChecksGraceMs: opts.ciNoChecksGraceMs ?? resolveCiNoChecksGraceMs(),
|
|
@@ -256,8 +302,8 @@ async function shipPhaseImpl(opts) {
|
|
|
256
302
|
else if (ciOutcome === 'failure') {
|
|
257
303
|
const reason = `CI failed for PR #${prNumber}`;
|
|
258
304
|
log('ship', reason);
|
|
259
|
-
const ciFailure = await collectCiFailureEvidence({ octokit, owner, repo: repoName, ref:
|
|
260
|
-
return { ok: false, prNumber, reason, ciOutcome, ciFailure };
|
|
305
|
+
const ciFailure = await collectCiFailureEvidence({ octokit, owner, repo: repoName, ref: watchRef, prNumber });
|
|
306
|
+
return { ok: false, prNumber, reason, ciOutcome, ciFailure, ...(headSha ? { headSha } : {}) };
|
|
261
307
|
}
|
|
262
308
|
else if (ciOutcome === 'infra-failure') {
|
|
263
309
|
const reason = `CI failed again for infrastructure reasons for PR #${prNumber} after one rerun`;
|
|
@@ -287,7 +333,12 @@ async function shipPhaseImpl(opts) {
|
|
|
287
333
|
log('ready', ciOutcome === 'no-checks'
|
|
288
334
|
? `PR #${prNumber} ready for review (CI skipped: no checks found)`
|
|
289
335
|
: `PR #${prNumber} ready for review`);
|
|
290
|
-
return
|
|
336
|
+
return {
|
|
337
|
+
ok: true,
|
|
338
|
+
prNumber,
|
|
339
|
+
...(ciOutcome === undefined ? {} : { ciOutcome }),
|
|
340
|
+
...(headSha ? { headSha } : {}),
|
|
341
|
+
};
|
|
291
342
|
}
|
|
292
343
|
async function computeDiffStat(run, worktree) {
|
|
293
344
|
try {
|
|
@@ -385,105 +436,4 @@ async function commitLeftoverBuildOutput(o) {
|
|
|
385
436
|
o.log('ship', `committed ${o.statusLines.length} uncommitted path(s) left after check on ${o.branch}`);
|
|
386
437
|
return { ok: true };
|
|
387
438
|
}
|
|
388
|
-
/** Bound on the failure text copied into one NDJSON event row. */
|
|
389
|
-
const MAX_PUSH_ERROR_DETAIL = 400;
|
|
390
|
-
const NON_FAST_FORWARD_MARKERS = [
|
|
391
|
-
'non-fast-forward',
|
|
392
|
-
'! [rejected]',
|
|
393
|
-
'fetch first',
|
|
394
|
-
'updates were rejected',
|
|
395
|
-
'stale info',
|
|
396
|
-
];
|
|
397
|
-
const NETWORK_MARKERS = [
|
|
398
|
-
'could not resolve host',
|
|
399
|
-
'failed to connect',
|
|
400
|
-
'connection timed out',
|
|
401
|
-
'connection refused',
|
|
402
|
-
'network is unreachable',
|
|
403
|
-
'operation timed out',
|
|
404
|
-
'the remote end hung up unexpectedly',
|
|
405
|
-
];
|
|
406
|
-
function classifyPushFailure(text) {
|
|
407
|
-
const t = text.toLowerCase();
|
|
408
|
-
if (NON_FAST_FORWARD_MARKERS.some((m) => t.includes(m)))
|
|
409
|
-
return 'non-fast-forward';
|
|
410
|
-
if (NETWORK_MARKERS.some((m) => t.includes(m)))
|
|
411
|
-
return 'network';
|
|
412
|
-
return 'unknown';
|
|
413
|
-
}
|
|
414
|
-
/**
|
|
415
|
-
* The real reason a push failed, from git's own stderr when the runner exposes it
|
|
416
|
-
* (node's promisified `exec` rejection carries `stderr`), else the Error message, else the
|
|
417
|
-
* value's string form. Flattened to one line and bounded so a single event row stays
|
|
418
|
-
* greppable in `.factory/events.ndjson`.
|
|
419
|
-
*/
|
|
420
|
-
function describePushFailure(err) {
|
|
421
|
-
const raw = err?.stderr;
|
|
422
|
-
const stderr = typeof raw === 'string' ? raw : '';
|
|
423
|
-
const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
|
|
424
|
-
const detail = text.replace(/\s+/g, ' ').trim().slice(0, MAX_PUSH_ERROR_DETAIL);
|
|
425
|
-
return { kind: classifyPushFailure(detail), detail: detail || 'no error output' };
|
|
426
|
-
}
|
|
427
|
-
/** Bound on the ls-remote failure text copied into one NDJSON event row (#735). */
|
|
428
|
-
const MAX_REMOTE_HEAD_DETAIL = 200;
|
|
429
|
-
/** Same flatten-and-bound shaping as {@link describePushFailure}, kept separate so that
|
|
430
|
-
* function's asserted output never changes. */
|
|
431
|
-
function shortDetail(err) {
|
|
432
|
-
const raw = err?.stderr;
|
|
433
|
-
const stderr = typeof raw === 'string' ? raw : '';
|
|
434
|
-
const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
|
|
435
|
-
return text.replace(/\s+/g, ' ').trim().slice(0, MAX_REMOTE_HEAD_DETAIL) || 'no error output';
|
|
436
|
-
}
|
|
437
|
-
/** The SHA on the `refs/heads/<branch>` line of `git ls-remote` output. `--heads origin <branch>`
|
|
438
|
-
* is a suffix pattern, so it can list more than one ref — match the ref name exactly rather than
|
|
439
|
-
* trusting the first line. */
|
|
440
|
-
function parseRemoteHeadSha(stdout, branch) {
|
|
441
|
-
for (const line of stdout.split('\n')) {
|
|
442
|
-
const [sha, ref] = line.trim().split(/\s+/);
|
|
443
|
-
if (ref === `refs/heads/${branch}` && sha)
|
|
444
|
-
return sha;
|
|
445
|
-
}
|
|
446
|
-
return undefined;
|
|
447
|
-
}
|
|
448
|
-
/** origin/<branch>'s current SHA, `null` when the branch is absent, or the failure detail (#1869). */
|
|
449
|
-
async function readRemoteBranchSha(run, worktree, branch) {
|
|
450
|
-
try {
|
|
451
|
-
const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
452
|
-
return { status: 'ok', sha: parseRemoteHeadSha(stdout, branch) ?? null };
|
|
453
|
-
}
|
|
454
|
-
catch (err) {
|
|
455
|
-
return { status: 'unreadable', detail: shortDetail(err) };
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
/**
|
|
459
|
-
* A zero-exit push is not proof the remote branch actually carries this run's commits — a
|
|
460
|
-
* concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
|
|
461
|
-
* and a PR opened against it would advertise work that is not there (#735).
|
|
462
|
-
*/
|
|
463
|
-
async function verifyRemoteHead(run, worktree, branch) {
|
|
464
|
-
let localSha;
|
|
465
|
-
try {
|
|
466
|
-
const { stdout } = await run('git rev-parse HEAD', { cwd: worktree });
|
|
467
|
-
localSha = stdout.trim();
|
|
468
|
-
}
|
|
469
|
-
catch (err) {
|
|
470
|
-
return { status: 'unreadable', detail: shortDetail(err) };
|
|
471
|
-
}
|
|
472
|
-
if (!localSha)
|
|
473
|
-
return { status: 'unreadable', detail: 'git rev-parse HEAD produced no SHA' };
|
|
474
|
-
let listing;
|
|
475
|
-
try {
|
|
476
|
-
const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
|
|
477
|
-
listing = stdout;
|
|
478
|
-
}
|
|
479
|
-
catch (err) {
|
|
480
|
-
return { status: 'unreadable', localSha, detail: shortDetail(err) };
|
|
481
|
-
}
|
|
482
|
-
const remoteSha = parseRemoteHeadSha(listing, branch);
|
|
483
|
-
if (!remoteSha)
|
|
484
|
-
return { status: 'unreadable', localSha, detail: `no refs/heads/${branch} on origin` };
|
|
485
|
-
return remoteSha === localSha
|
|
486
|
-
? { status: 'match', localSha, remoteSha }
|
|
487
|
-
: { status: 'mismatch', localSha, remoteSha };
|
|
488
|
-
}
|
|
489
439
|
//# sourceMappingURL=ship.js.map
|
package/dist/phases/ship.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,sBAAsB,EAEtB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAkB/B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAyC;IACvE,OAAO,aAAa,CAClB;QACE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,EACD,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EACX,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,EAAE;QAC1E,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1G,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAsC5B;IACC,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,GAAG,IAAI,EACd,GAAG,EACH,GAAG,GAAG,IAAI,EACV,KAAK,EACL,YAAY,EACZ,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,QAA4B,CAAC;IAEjC,IAAI,YAAY,EAAE,CAAC;QACjB,yEAAyE;QACzE,qEAAqE;QACrE,kEAAkE;QAClE,GAAG,CAAC,MAAM,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACjD,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CACD,oBAAoB,EACpB,6BAA6B,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,YAAY,CAAC,MAAM,UAAU,YAAY,CAAC,QAAQ,UAAU,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAChK,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC;YAC3C,GAAG,CAAC,aAAa,EAAE,mBAAmB,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAClC,GAAG,CACD,MAAM,EACN,qDAAqD,MAAM,KAAK,UAAU,CAAC,MAAM,iCAAiC,CACnH,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,GAAuB,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,OAA2B,CAAC;IAEhC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,8BAA8B,OAAO,CAAC,QAAQ,QAAQ,MAAM,cAAc,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;YAC5I,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,0CAA0C,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC7E,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,uCAAuC,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,mBAAmB,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,oBAAoB,MAAM,YAAY,IAAI,MAAM,MAAM,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,KAAK,UAAU;gBAC9B,CAAC,CAAC,eAAe,UAAU,CAAC,SAAS,8BAA8B,UAAU,CAAC,QAAQ,QAAQ,MAAM,sBAAsB;gBAC1H,CAAC,CAAC,wCAAwC,MAAM,yBAAyB,UAAU,CAAC,MAAM,GAAG,CAAC;YAClG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QACD,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/B,GAAG,CAAC,MAAM,EAAE,mBAAmB,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,yEAAyE;QACzE,mFAAmF;QACnF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,EAAE,iFAAiF,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,6EAA6E;gBAC7E,2EAA2E;gBAC3E,MAAM,MAAM,GACV,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtG,MAAM,MAAM,GAAG,mCAAmC,MAAM,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,MAAM,uBAAuB,CAAC,CAAC;gBACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;YACD,8EAA8E;YAC9E,sEAAsE;YACtE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAChD,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,KAAK;gBACL,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,SAAS,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAClF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,CAAC;YACD,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,6DAA6D,CAAC;gBAC7E,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,MAAM,uBAAuB,CAAC,CAAC;gBACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACjD,gFAAgF;YAChF,mFAAmF;YACnF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC7D,GAAG,CACD,MAAM,EACN,kBAAkB,MAAM,wDAAwD,YAAY,CAAC,MAAM,GAAG,CACvG,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACnD,GAAG,CACD,MAAM,EACN,kBAAkB,MAAM,sBAAsB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC,CAAC,kCAAkC,EAAE,CAC3I,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAClE,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,mCAAmC,CAAC,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,iFAAiF;QACjF,mFAAmF;QACnF,uEAAuE;QACvE,IAAI,OAAO,GAAG,sBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,8FAA8F;YAC9F,yFAAyF;YACzF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,yBAAyB,MAAM,0BAA0B,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;gBACvG,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC;gBAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,EAAE,UAAU,MAAM,eAAe,QAAQ,oDAAoD,CAAC,CAAC;YAC3G,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,UAAU,MAAM,0CAA0C,QAAQ,aAAa,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC5G,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC;gBAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,YAAY,WAAW,CAAC,sBAAsB,MAAM,IAAI,QAAQ,EAAE,CAAC,cAAc,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjH,MAAM,GAAG,IAAI,CAAC;gBACd,GAAG,CAAC,MAAM,EAAE,0BAA0B,MAAM,MAAM,QAAQ,qBAAqB,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,EAAE,oBAAoB,IAAI,MAAM,MAAM,gCAAgC,CAAC,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,MAAM,kBAAkB,QAAQ,kBAAkB,IAAI,GAAG,EAAE,CAAC;YAC5G,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,0FAA0F;QAC1F,+FAA+F;QAC/F,6FAA6F;QAC7F,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,GAAG,CACD,MAAM,EACN,eAAe,UAAU,CAAC,SAAS,8BAA8B,UAAU,CAAC,QAAQ,QAAQ,MAAM,gCAAgC,CACnI,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACvC,GAAG,CACD,MAAM,EACN,wCAAwC,MAAM,KAAK,UAAU,CAAC,MAAM,iBAAiB,UAAU,CAAC,QAAQ,IAAI,SAAS,gCAAgC,CACtJ,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,eAAe,UAAU,CAAC,SAAS,uBAAuB,UAAU,CAAC,QAAQ,QAAQ,MAAM,EAAE,CAAC,CAAC;QAE3G,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/F,qFAAqF;QACrF,MAAM,KAAK,GAAG,UAAU;YACtB,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE/F,6EAA6E;QAC7E,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QACxD,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,4BAA4B,UAAU,CAAC,EAAE,KAAK;YAChD,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,oBAAoB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,QAAQ,KAAK,GAAG;gBAChE,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC;QAC9B,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,GAAG;gBAC9D,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,GAAG,CAAC;QAE7B,YAAY;QACZ,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnD,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,YAAY,CAAC;oBACjB,WAAW;oBACX,QAAQ,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC3C,QAAQ,EAAE,IAAI;oBACd,YAAY;oBACZ,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnC,MAAM,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;oBACrD,MAAM,EAAE,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACvD,CAAC;aACH,CAAC,CAAC;YAEH,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;YACrB,GAAG,CAAC,WAAW,EAAE,cAAc,QAAQ,0BAA0B,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,GAAG,CACD,MAAM,EACN,4CAA4C,MAAM,qCAAqC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,cAAc,CACzK,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,WAAW,EAAE,OAAO,QAAQ,wBAAwB,MAAM,cAAc,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,mCAAmC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,OAAO;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,KAAK;gBACL,YAAY;gBACZ,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,GAAG,CAAC,UAAU,EAAE,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAEZ,IAAI,SAAwC,CAAC;IAE7C,yBAAyB;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,EAAE,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAC1C,OAAO;gBACP,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,QAAQ;gBACb,KAAK;gBACL,UAAU,EAAE,sBAAsB;gBAClC,eAAe,EAAE,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,EAAE;gBACrE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CACzD,GAAG,CACD,MAAM,EACN,cAAc,QAAQ,KAAK,OAAO,aAAa,SAAS,IAAI,KAAK,eAAe,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,iCAAiC,CACjJ;gBACH,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,IAAI,QAAQ,GAAG,oBAAoB,CAAC;gBAClG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CACjC,GAAG,CACD,YAAY,EACZ,sBAAsB,QAAQ,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAC3I;gBACH,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/C,GAAG,CACD,kBAAkB,EAClB,4BAA4B,QAAQ,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,OAAO,EAAE,CACzJ;aACJ,CAAC,CAAC;YACH,IAAI,SAAS,KAAK,SAAS;gBAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;iBACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,qBAAqB,QAAQ,EAAE,CAAC;gBAC/C,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAChG,CAAC;iBAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,sDAAsD,QAAQ,kBAAkB,CAAC;gBAChG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACpD,CAAC;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,4EAA4E;gBAC5E,GAAG,CAAC,MAAM,EAAE,4BAA4B,sBAAsB,GAAG,MAAM,+BAA+B,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,OAAO,CACnB;;;;UAIE,EACF,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,GAAG,CACD,OAAO,EACP,SAAS,KAAK,WAAW;QACvB,CAAC,CAAC,OAAO,QAAQ,iDAAiD;QAClE,CAAC,CAAC,OAAO,QAAQ,mBAAmB,CACvC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ;QACR,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAkB,EAAE,QAAgB;IACjE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,KAAa,EAAE,IAAY,EAAE,MAAc;IAC5F,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAChC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,KAAa,EAAE,IAAY,EAAE,MAAc;IAC9F,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC;QAChE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED;6FAC6F;AAC7F,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,MAAM,CAAC,GAAG,GAIF,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,GAAkB;IAElB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxE,GAAG,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAChD,GAAG,CAAC,wCAAwC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAChE,mFAAmF;QACnF,wFAAwF;QACxF,GAAG,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC/D,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ;KACF,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;QAC5C,MAAM;QACN,yFAAyF;QACzF,WAAW,EAAE,MAAM;aAChB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;yBAEyB;AACzB,SAAS,eAAe,CAAC,WAAqB;IAC5C,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;IACxD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CAAC,CAOxC;IACC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,uDAAuD,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE;YAC7G,GAAG,EAAE,CAAC,CAAC,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC9F,CAAC;IACD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,WAAW,CAAC,MAAM,4CAA4C,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type BlockedParkPollResult, type BlockedParkStore } from '../blockers/poller.js';
|
|
1
2
|
import { type GithubQueueOptions, type QueueClaim, type QueueReleaseOutcome } from './github-queue.js';
|
|
2
3
|
import { type StaleClaimRelease } from './stale-claims.js';
|
|
3
4
|
export interface QueueBackend {
|
|
@@ -9,7 +10,11 @@ export interface QueueBackend {
|
|
|
9
10
|
list(lane?: string): Promise<number[]>;
|
|
10
11
|
/** Detects and releases claims whose TTL lease has expired across the whole queue. */
|
|
11
12
|
reap(): Promise<StaleClaimRelease[]>;
|
|
13
|
+
/** Unparks `blocked` parents whose blockers resolved (#2318); [] when no blockedParks store was configured. */
|
|
14
|
+
pollBlockedParks(): Promise<BlockedParkPollResult[]>;
|
|
12
15
|
}
|
|
13
|
-
export type GithubQueueBackendOptions = GithubQueueOptions
|
|
16
|
+
export type GithubQueueBackendOptions = GithubQueueOptions & {
|
|
17
|
+
blockedParks?: BlockedParkStore;
|
|
18
|
+
};
|
|
14
19
|
export declare function createGithubQueueBackend(options: GithubQueueBackendOptions): QueueBackend;
|
|
15
20
|
//# sourceMappingURL=queue-backend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-backend.d.ts","sourceRoot":"","sources":["../../src/queue/queue-backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACpD,uGAAuG;IACvG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,0GAA0G;IAC1G,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,sFAAsF;IACtF,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"queue-backend.d.ts","sourceRoot":"","sources":["../../src/queue/queue-backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACpD,uGAAuG;IACvG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,0GAA0G;IAC1G,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,sFAAsF;IACtF,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrC,+GAA+G;IAC/G,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,GAAG;IAAE,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAEjG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAuBzF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// packages/core/src/queue/queue-backend.ts — Backend-agnostic queue seam; GitHub-labels is today's only implementation (#1499).
|
|
2
|
+
import { pollBlockedParks } from '../blockers/poller.js';
|
|
2
3
|
import { createGithubQueue, } from './github-queue.js';
|
|
3
4
|
import { releaseStaleClaims } from './stale-claims.js';
|
|
4
5
|
export function createGithubQueueBackend(options) {
|
|
@@ -16,6 +17,11 @@ export function createGithubQueueBackend(options) {
|
|
|
16
17
|
async function reap() {
|
|
17
18
|
return releaseStaleClaims({ client, owner, repo, now });
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
async function pollParks() {
|
|
21
|
+
if (options.blockedParks === undefined)
|
|
22
|
+
return [];
|
|
23
|
+
return pollBlockedParks({ client, owner, repo, store: options.blockedParks });
|
|
24
|
+
}
|
|
25
|
+
return { claimNext: queue.claimNext, release: queue.release, list, reap, pollBlockedParks: pollParks };
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=queue-backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-backend.js","sourceRoot":"","sources":["../../src/queue/queue-backend.ts"],"names":[],"mappings":"AAAA,gIAAgI;AAEhI,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAA0B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"queue-backend.js","sourceRoot":"","sources":["../../src/queue/queue-backend.ts"],"names":[],"mappings":"AAAA,gIAAgI;AAEhI,OAAO,EAAqD,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAA0B,MAAM,mBAAmB,CAAC;AAiB/E,MAAM,UAAU,wBAAwB,CAAC,OAAkC;IACzE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEzC,KAAK,UAAU,IAAI,CAAC,IAAa;QAC/B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,OAAO,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,SAAS;QACtB,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClD,OAAO,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type QueueGitHubClient } from './github-queue.js';
|
|
2
|
+
export type UnparkErrorCode = 'not-parked' | 'lane-required' | 'unpark-failed';
|
|
3
|
+
export declare class UnparkError extends Error {
|
|
4
|
+
readonly code: UnparkErrorCode;
|
|
5
|
+
constructor(code: UnparkErrorCode, message: string);
|
|
6
|
+
}
|
|
7
|
+
/** `factory unpark --json` payload (#2277). Additive changes only; bump schemaVersion on a breaking change. */
|
|
8
|
+
export interface UnparkJson {
|
|
9
|
+
schemaVersion: 1;
|
|
10
|
+
ok: true;
|
|
11
|
+
action: 'unpark';
|
|
12
|
+
issue: number;
|
|
13
|
+
/** Slug actually routed to (the factory:lane:<slug> suffix). */
|
|
14
|
+
lane: string;
|
|
15
|
+
/** The one order position assigned. */
|
|
16
|
+
order: number;
|
|
17
|
+
labelsBefore: string[];
|
|
18
|
+
labelsAfter: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface UnparkInput {
|
|
21
|
+
client: QueueGitHubClient;
|
|
22
|
+
owner: string;
|
|
23
|
+
repo: string;
|
|
24
|
+
issue: number;
|
|
25
|
+
lane?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function runUnpark(input: UnparkInput): Promise<UnparkJson>;
|
|
28
|
+
//# sourceMappingURL=unpark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unpark.d.ts","sourceRoot":"","sources":["../../src/queue/unpark.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,CAAC;AAE/E,qBAAa,WAAY,SAAQ,KAAK;IAElC,QAAQ,CAAC,IAAI,EAAE,eAAe;IADhC,YACW,IAAI,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EAIhB;CACF;AAED,+GAA+G;AAC/G,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDvE"}
|