@knpkv/herdr-work 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -1
- package/dist/agent-binding.d.ts +4 -0
- package/dist/agent-binding.d.ts.map +1 -0
- package/dist/agent-binding.js +26 -0
- package/dist/agent-binding.js.map +1 -0
- package/dist/errors.d.ts +141 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +97 -0
- package/dist/errors.js.map +1 -1
- package/dist/goal-family.d.ts +4 -0
- package/dist/goal-family.d.ts.map +1 -0
- package/dist/goal-family.js +32 -0
- package/dist/goal-family.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/agent-binding-admission.d.ts +15 -0
- package/dist/internal/agent-binding-admission.d.ts.map +1 -0
- package/dist/internal/agent-binding-admission.js +92 -0
- package/dist/internal/agent-binding-admission.js.map +1 -0
- package/dist/internal/agent-binding-readback.d.ts +55 -0
- package/dist/internal/agent-binding-readback.d.ts.map +1 -0
- package/dist/internal/agent-binding-readback.js +124 -0
- package/dist/internal/agent-binding-readback.js.map +1 -0
- package/dist/internal/coordinator-authority.d.ts +62 -0
- package/dist/internal/coordinator-authority.d.ts.map +1 -0
- package/dist/internal/coordinator-authority.js +214 -0
- package/dist/internal/coordinator-authority.js.map +1 -0
- package/dist/internal/decision-handoff-migration.d.ts +126 -0
- package/dist/internal/decision-handoff-migration.d.ts.map +1 -0
- package/dist/internal/decision-handoff-migration.js +51 -0
- package/dist/internal/decision-handoff-migration.js.map +1 -0
- package/dist/internal/history-validation.d.ts +5 -0
- package/dist/internal/history-validation.d.ts.map +1 -0
- package/dist/internal/history-validation.js +33 -0
- package/dist/internal/history-validation.js.map +1 -0
- package/dist/model.d.ts +3109 -51
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +340 -11
- package/dist/model.js.map +1 -1
- package/dist/navigation.d.ts +17 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +62 -0
- package/dist/navigation.js.map +1 -0
- package/dist/projection.d.ts +660 -0
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +65 -25
- package/dist/projection.js.map +1 -1
- package/dist/service.d.ts +1886 -3
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +138 -5
- package/dist/service.js.map +1 -1
- package/dist/sql.d.ts +30 -0
- package/dist/sql.d.ts.map +1 -0
- package/dist/sql.js +1454 -0
- package/dist/sql.js.map +1 -0
- package/dist/store.d.ts +1072 -4
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +3328 -43
- package/dist/store.js.map +1 -1
- package/dist/view.d.ts +9 -2
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +156 -8
- package/dist/view.js.map +1 -1
- package/package.json +25 -13
- package/src/styles.css +91 -17
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAsK1B,CAAA"}
|
package/dist/service.js
CHANGED
|
@@ -1,11 +1,144 @@
|
|
|
1
|
-
import { Clock, Effect } from "effect";
|
|
1
|
+
import { Clock, Effect, Equal, Option, Schema } from "effect";
|
|
2
|
+
import { WorkPullRequestLinkError, WorkRecoveryContextError } from "./errors.js";
|
|
3
|
+
import { workHistoryError } from "./internal/history-validation.js";
|
|
4
|
+
import { WorkGoalId, WorkPullRequestLink, WorkPullRequestLinkRequest } from "./model.js";
|
|
2
5
|
import { projectWorkSnapshots } from "./projection.js";
|
|
3
|
-
export const makeWorkService = Effect.fn("HerdrWork.makeService")(function
|
|
6
|
+
export const makeWorkService = Effect.fn("HerdrWork.makeService")(function (store) {
|
|
7
|
+
const recoveryContext = Effect.fn("HerdrWork.recoveryContext")(function* (goalId) {
|
|
8
|
+
const id = yield* Schema.decodeUnknownEffect(WorkGoalId)(goalId).pipe(Effect.mapError(() => new WorkRecoveryContextError({ goalId, reason: "invalid_goal_id" })));
|
|
9
|
+
const source = yield* store.snapshotInput();
|
|
10
|
+
const error = workHistoryError(source.events);
|
|
11
|
+
if (error !== undefined)
|
|
12
|
+
return yield* error;
|
|
13
|
+
const latest = source.events.filter(({ goal }) => goal.id === id).at(-1);
|
|
14
|
+
if (latest === undefined) {
|
|
15
|
+
return yield* new WorkRecoveryContextError({
|
|
16
|
+
goalId: id,
|
|
17
|
+
reason: "missing_goal"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
goalId: id,
|
|
22
|
+
expectedGoalEventId: latest.eventId,
|
|
23
|
+
expectedGoalUpdatedAt: latest.goal.updatedAt
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
const recoveryPreflight = Effect.fn("HerdrWork.recoveryPreflight")((target) => store.recoveryPreflight(target));
|
|
27
|
+
const recoverExistingGoal = Effect.fn("HerdrWork.recoverExistingGoal")((request) => store.recoverExistingGoal(request));
|
|
28
|
+
const reassign = Effect.fn("HerdrWork.reassign")((request) => store.reassign(request));
|
|
29
|
+
const admissionPreflight = Effect.fn("HerdrWork.admissionPreflight")((target) => store.admissionPreflight(target));
|
|
30
|
+
const admitExistingOwner = Effect.fn("HerdrWork.admitExistingOwner")((request) => store.admitExistingOwner(request));
|
|
31
|
+
const linkError = (request, reason) => new WorkPullRequestLinkError({ goalId: request.goalId, laneId: request.laneId, reason });
|
|
32
|
+
const inspectPullRequest = Effect.fn("HerdrWork.inspectPullRequest")(function* (request) {
|
|
33
|
+
const decoded = yield* Schema.decodeUnknownEffect(WorkPullRequestLinkRequest)(request).pipe(Effect.mapError(() => linkError(request, "identity_mismatch")));
|
|
34
|
+
const source = yield* store.snapshotInput();
|
|
35
|
+
const observedAt = Math.max(yield* Clock.currentTimeMillis, source.logicalObservedAt ?? 0);
|
|
36
|
+
const snapshot = yield* projectWorkSnapshots(source.events, observedAt);
|
|
37
|
+
const goal = snapshot.now.goals.find(({ id }) => id === decoded.goalId);
|
|
38
|
+
if (goal === undefined) {
|
|
39
|
+
return yield* linkError(decoded, "missing_provenance");
|
|
40
|
+
}
|
|
41
|
+
if (goal.review?.url !== `https://github.com/${decoded.repository}/pull/${decoded.pullRequest}` ||
|
|
42
|
+
goal.goalFamily?.role !== "canonical" || goal.goalFamily.canonicalGoalId !== goal.id) {
|
|
43
|
+
return yield* linkError(decoded, "missing_provenance");
|
|
44
|
+
}
|
|
45
|
+
if (goal.state === "completed" || goal.state === "deployed") {
|
|
46
|
+
return yield* linkError(decoded, "terminal_goal");
|
|
47
|
+
}
|
|
48
|
+
const goalEvent = source.events.filter(({ goal: candidate }) => candidate.id === goal.id).at(-1);
|
|
49
|
+
if (goalEvent === undefined || !Equal.equals(goalEvent.goal, goal)) {
|
|
50
|
+
return yield* linkError(decoded, "missing_provenance");
|
|
51
|
+
}
|
|
52
|
+
const lane = yield* store.currentClaim(decoded.laneId);
|
|
53
|
+
if (Option.isNone(lane) || lane.value.goalId !== goal.id || lane.value.phase === "shipped") {
|
|
54
|
+
return yield* linkError(decoded, "missing_lane");
|
|
55
|
+
}
|
|
56
|
+
const bindingIds = yield* store.bindingDispatchesForLane(decoded.laneId);
|
|
57
|
+
const bindingId = bindingIds[0];
|
|
58
|
+
if (bindingId === undefined) {
|
|
59
|
+
return yield* linkError(decoded, "missing_binding");
|
|
60
|
+
}
|
|
61
|
+
const binding = yield* store.agentBinding(bindingId);
|
|
62
|
+
if (Option.isNone(binding)) {
|
|
63
|
+
return yield* linkError(decoded, "missing_binding");
|
|
64
|
+
}
|
|
65
|
+
const after = yield* store.snapshotInput();
|
|
66
|
+
const afterEvent = after.events.filter(({ goal: candidate }) => candidate.id === goal.id).at(-1);
|
|
67
|
+
const afterLane = yield* store.currentClaim(decoded.laneId);
|
|
68
|
+
if (afterEvent?.eventId !== goalEvent.eventId || Option.isNone(afterLane) ||
|
|
69
|
+
afterLane.value.revision !== lane.value.revision) {
|
|
70
|
+
return yield* linkError(decoded, "stale_revision");
|
|
71
|
+
}
|
|
72
|
+
return yield* Schema.decodeUnknownEffect(WorkPullRequestLink)({
|
|
73
|
+
request: decoded,
|
|
74
|
+
goalEventId: goalEvent.eventId,
|
|
75
|
+
goal,
|
|
76
|
+
lane: lane.value,
|
|
77
|
+
binding: binding.value
|
|
78
|
+
}).pipe(Effect.mapError(() => linkError(decoded, "identity_mismatch")));
|
|
79
|
+
});
|
|
80
|
+
const reconcileExistingOwner = Effect.fn("HerdrWork.reconcileExistingOwner")(function* (request) {
|
|
81
|
+
const lane = yield* store.currentClaim(request.laneId);
|
|
82
|
+
if (Option.isNone(lane))
|
|
83
|
+
return yield* linkError(request, "missing_lane");
|
|
84
|
+
return yield* store.claim({
|
|
85
|
+
operationId: request.operationId,
|
|
86
|
+
goalId: request.goalId,
|
|
87
|
+
laneId: request.laneId,
|
|
88
|
+
worktree: request.worktree,
|
|
89
|
+
branch: request.branch,
|
|
90
|
+
head: request.newHead,
|
|
91
|
+
owner: request.expectedOwner,
|
|
92
|
+
parent: lane.value.parent,
|
|
93
|
+
phase: lane.value.phase,
|
|
94
|
+
expectedRevision: request.expectedRevision,
|
|
95
|
+
reconciliation: {
|
|
96
|
+
repository: request.repository,
|
|
97
|
+
pullRequest: request.pullRequest,
|
|
98
|
+
expectedHead: request.expectedHead,
|
|
99
|
+
expectedOwner: request.expectedOwner,
|
|
100
|
+
expectedGoalEventId: request.expectedGoalEventId,
|
|
101
|
+
bindingDispatchRequestId: request.bindingDispatchRequestId,
|
|
102
|
+
sessionId: request.sessionId,
|
|
103
|
+
worker: request.worker
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
const bindAgent = Effect.fn("HerdrWork.bindAgent")((request) => store.bindAgent(request));
|
|
108
|
+
const agentBinding = Effect.fn("HerdrWork.agentBinding")((dispatchRequestId) => store.agentBinding(dispatchRequestId));
|
|
4
109
|
const record = Effect.fn("HerdrWork.record")((event) => store.append(event));
|
|
5
110
|
const snapshots = Effect.fn("HerdrWork.snapshots")(function* (observedAt) {
|
|
6
|
-
const
|
|
7
|
-
|
|
111
|
+
const source = yield* store.snapshotInput();
|
|
112
|
+
const timestamp = observedAt ?? Math.max(yield* Clock.currentTimeMillis, source.logicalObservedAt ?? 0);
|
|
113
|
+
return yield* projectWorkSnapshots(source.events, timestamp);
|
|
114
|
+
});
|
|
115
|
+
const recordMany = Effect.fn("HerdrWork.recordMany")((transactionId, events) => store.appendMany(transactionId, events));
|
|
116
|
+
const claim = Effect.fn("HerdrWork.claim")((lane) => store.claim(lane));
|
|
117
|
+
const currentClaim = Effect.fn("HerdrWork.currentClaim")((laneId) => store.currentClaim(laneId));
|
|
118
|
+
const activeGoalClaim = Effect.fn("HerdrWork.activeGoalClaim")((goalId) => store.activeGoalClaim(goalId));
|
|
119
|
+
const handoff = Effect.fn("HerdrWork.handoff")((decision) => store.decision(decision));
|
|
120
|
+
const coordinatorHandoff = Effect.fn("HerdrWork.coordinatorHandoff")((sessionId) => store.coordinatorHandoff(sessionId));
|
|
121
|
+
const decisions = Effect.fn("HerdrWork.decisions")((laneId) => store.decisions(laneId));
|
|
122
|
+
return Effect.succeed({
|
|
123
|
+
recoveryContext,
|
|
124
|
+
recoveryPreflight,
|
|
125
|
+
recoverExistingGoal,
|
|
126
|
+
reassign,
|
|
127
|
+
admissionPreflight,
|
|
128
|
+
admitExistingOwner,
|
|
129
|
+
agentBinding,
|
|
130
|
+
inspectPullRequest,
|
|
131
|
+
reconcileExistingOwner,
|
|
132
|
+
activeGoalClaim,
|
|
133
|
+
bindAgent,
|
|
134
|
+
claim,
|
|
135
|
+
coordinatorHandoff,
|
|
136
|
+
currentClaim,
|
|
137
|
+
decisions,
|
|
138
|
+
handoff,
|
|
139
|
+
record,
|
|
140
|
+
recordMany,
|
|
141
|
+
snapshots
|
|
8
142
|
});
|
|
9
|
-
return { record, snapshots };
|
|
10
143
|
});
|
|
11
144
|
//# sourceMappingURL=service.js.map
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/sql.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { SqlClient as SqlClientService } from "effect/sql/SqlClient";
|
|
3
|
+
import type { SqlError } from "effect/sql/SqlError";
|
|
4
|
+
import { WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkDispatchHandoffConflictError, WorkProjectionError, WorkStoreError } from "./errors.js";
|
|
5
|
+
import { type WorkAgentBinding as WorkAgentBindingType, type WorkAgentBindingRequest as WorkAgentBindingRequestType, type WorkDispatchHandoff as WorkDispatchHandoffType } from "./model.js";
|
|
6
|
+
export interface SqliteWorkBridge {
|
|
7
|
+
/** Creates the Work decision and dispatch-link tables in the caller's SQL database. */
|
|
8
|
+
readonly initialize: Effect.Effect<void, WorkStoreError | SqlError>;
|
|
9
|
+
/** Commits the worker identity, goal checkpoint, and lane CAS inside the caller transaction. */
|
|
10
|
+
readonly acceptAgentBinding: (request: WorkAgentBindingRequestType, occurredAt: number) => Effect.Effect<{
|
|
11
|
+
readonly _tag: "inserted";
|
|
12
|
+
readonly binding: WorkAgentBindingType;
|
|
13
|
+
} | {
|
|
14
|
+
readonly _tag: "replayed";
|
|
15
|
+
readonly binding: WorkAgentBindingType;
|
|
16
|
+
}, WorkAgentBindingAuthorityError | WorkAgentBindingConflictError | WorkProjectionError | WorkStoreError | SqlError>;
|
|
17
|
+
/** Reads an exact binding for restart replay without repairing a partial activation. */
|
|
18
|
+
readonly requireAgentBinding: (request: WorkAgentBindingRequestType) => Effect.Effect<WorkAgentBindingType, WorkAgentBindingConflictError | WorkStoreError | SqlError>;
|
|
19
|
+
/** Inserts or replays one binding; the caller owns the surrounding transaction. */
|
|
20
|
+
readonly acceptDispatchHandoff: (binding: WorkDispatchHandoffType) => Effect.Effect<WorkDispatchHandoffType, WorkCoordinatorHandoffConflictError | WorkDecisionAuthorityConflictError | WorkDecisionHandoffConflictError | WorkDecisionRevisionConflictError | WorkDispatchHandoffConflictError | WorkProjectionError | WorkStoreError | SqlError>;
|
|
21
|
+
/** Verifies a replayed binding without repairing a previously incomplete dispatch. */
|
|
22
|
+
readonly requireDispatchHandoff: (binding: WorkDispatchHandoffType) => Effect.Effect<WorkDispatchHandoffType, WorkDecisionAuthorityConflictError | WorkDispatchHandoffConflictError | WorkStoreError | SqlError>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* SQLite-backed Work operations designed to run inside a coordinator transaction.
|
|
26
|
+
* It does not begin or commit a transaction itself, so dispatch acceptance and
|
|
27
|
+
* Work lineage either commit together or roll back together.
|
|
28
|
+
*/
|
|
29
|
+
export declare const makeSqliteWorkBridge: (sql: SqlClientService) => SqliteWorkBridge;
|
|
30
|
+
//# sourceMappingURL=sql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../src/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,mCAAmC,EACnC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACf,MAAM,aAAa,CAAA;AAkCpB,OAAO,EAEL,KAAK,gBAAgB,IAAI,oBAAoB,EAE7C,KAAK,uBAAuB,IAAI,2BAA2B,EAI3D,KAAK,mBAAmB,IAAI,uBAAuB,EAKpD,MAAM,YAAY,CAAA;AAgSnB,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAC,CAAA;IACnE,gGAAgG;IAChG,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,OAAO,EAAE,2BAA2B,EACpC,UAAU,EAAE,MAAM,KACf,MAAM,CAAC,MAAM,CACd;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,GACrE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,EACrE,8BAA8B,GAC9B,6BAA6B,GAC7B,mBAAmB,GACnB,cAAc,GACd,QAAQ,CACX,CAAA;IACD,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,OAAO,EAAE,2BAA2B,KACjC,MAAM,CAAC,MAAM,CAChB,oBAAoB,EACpB,6BAA6B,GAAG,cAAc,GAAG,QAAQ,CAC1D,CAAA;IACD,mFAAmF;IACnF,QAAQ,CAAC,qBAAqB,EAAE,CAC9B,OAAO,EAAE,uBAAuB,KAC7B,MAAM,CAAC,MAAM,CAChB,uBAAuB,EACrB,mCAAmC,GACnC,kCAAkC,GAClC,gCAAgC,GAChC,iCAAiC,GACjC,gCAAgC,GAChC,mBAAmB,GACnB,cAAc,GACd,QAAQ,CACX,CAAA;IACD,sFAAsF;IACtF,QAAQ,CAAC,sBAAsB,EAAE,CAC/B,OAAO,EAAE,uBAAuB,KAC7B,MAAM,CAAC,MAAM,CAChB,uBAAuB,EACvB,kCAAkC,GAAG,gCAAgC,GAAG,cAAc,GAAG,QAAQ,CAClG,CAAA;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,gBAAgB,KAAG,gBAylD5D,CAAA"}
|