@pegma/knowledge-base-application 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +140 -2
- package/dist/articles.d.ts +10 -0
- package/dist/articles.d.ts.map +1 -0
- package/dist/articles.js +454 -0
- package/dist/articles.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +34 -0
- package/dist/errors.js.map +1 -0
- package/dist/governance.d.ts +14 -0
- package/dist/governance.d.ts.map +1 -0
- package/dist/governance.js +364 -0
- package/dist/governance.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/lexical.d.ts +13 -0
- package/dist/lexical.d.ts.map +1 -0
- package/dist/lexical.js +105 -0
- package/dist/lexical.js.map +1 -0
- package/dist/publication.d.ts +42 -0
- package/dist/publication.d.ts.map +1 -0
- package/dist/publication.js +258 -0
- package/dist/publication.js.map +1 -0
- package/dist/reads.d.ts +5 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +228 -0
- package/dist/reads.js.map +1 -0
- package/dist/records.d.ts +40 -0
- package/dist/records.d.ts.map +1 -0
- package/dist/records.js +122 -0
- package/dist/records.js.map +1 -0
- package/dist/repository.d.ts +74 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +738 -0
- package/dist/repository.js.map +1 -0
- package/dist/retrieval-budget.d.ts +37 -0
- package/dist/retrieval-budget.d.ts.map +1 -0
- package/dist/retrieval-budget.js +111 -0
- package/dist/retrieval-budget.js.map +1 -0
- package/dist/retrieval-limits.d.ts +4 -0
- package/dist/retrieval-limits.d.ts.map +1 -0
- package/dist/retrieval-limits.js +21 -0
- package/dist/retrieval-limits.js.map +1 -0
- package/dist/retrieval-maintenance.d.ts +19 -0
- package/dist/retrieval-maintenance.d.ts.map +1 -0
- package/dist/retrieval-maintenance.js +359 -0
- package/dist/retrieval-maintenance.js.map +1 -0
- package/dist/retrieval-records.d.ts +55 -0
- package/dist/retrieval-records.d.ts.map +1 -0
- package/dist/retrieval-records.js +140 -0
- package/dist/retrieval-records.js.map +1 -0
- package/dist/retrieval-repository.d.ts +32 -0
- package/dist/retrieval-repository.d.ts.map +1 -0
- package/dist/retrieval-repository.js +750 -0
- package/dist/retrieval-repository.js.map +1 -0
- package/dist/retrieval-types.d.ts +185 -0
- package/dist/retrieval-types.d.ts.map +1 -0
- package/dist/retrieval-types.js +24 -0
- package/dist/retrieval-types.js.map +1 -0
- package/dist/retrieval.d.ts +12 -0
- package/dist/retrieval.d.ts.map +1 -0
- package/dist/retrieval.js +541 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/storage-helpers.d.ts +23 -0
- package/dist/storage-helpers.d.ts.map +1 -0
- package/dist/storage-helpers.js +138 -0
- package/dist/storage-helpers.js.map +1 -0
- package/dist/types.d.ts +280 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-maintenance.js","sourceRoot":"","sources":["../src/retrieval-maintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type StoredRecord } from "@pegma/storage-core";
|
|
2
|
+
export interface RetrievalScope {
|
|
3
|
+
readonly collectionId: string;
|
|
4
|
+
readonly policyVersion: number;
|
|
5
|
+
readonly use: "portal" | "bot";
|
|
6
|
+
}
|
|
7
|
+
/** Derived identity only. A hint never grants authority to content. */
|
|
8
|
+
export interface RetrievalHint extends RetrievalScope {
|
|
9
|
+
readonly articleId: string;
|
|
10
|
+
readonly articleRevision: number;
|
|
11
|
+
readonly contentHash: string;
|
|
12
|
+
readonly generation: number;
|
|
13
|
+
readonly sourceGeneration: number;
|
|
14
|
+
readonly bindingHash: string;
|
|
15
|
+
}
|
|
16
|
+
export interface RetrievalPostingPage {
|
|
17
|
+
readonly entries: readonly RetrievalHint[];
|
|
18
|
+
}
|
|
19
|
+
export interface RetrievalProjectionTarget {
|
|
20
|
+
readonly scope: RetrievalScope;
|
|
21
|
+
readonly hint: RetrievalHint;
|
|
22
|
+
readonly terms: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
export interface RetrievalStoredTarget {
|
|
25
|
+
readonly scope: RetrievalScope;
|
|
26
|
+
readonly hint: RetrievalHint;
|
|
27
|
+
readonly termHashes: readonly string[];
|
|
28
|
+
}
|
|
29
|
+
export type RetrievalBlockedReason = "capacity" | "source-unavailable" | "conflict";
|
|
30
|
+
export interface RetrievalProjectionState {
|
|
31
|
+
readonly articleId: string;
|
|
32
|
+
/** Monotonic projection-plan fence, independent of article generation. */
|
|
33
|
+
readonly generation: number;
|
|
34
|
+
/** Authoritative article generation used to derive this plan. */
|
|
35
|
+
readonly sourceGeneration: number;
|
|
36
|
+
readonly status: "pending" | "ready" | "blocked";
|
|
37
|
+
readonly reason?: RetrievalBlockedReason;
|
|
38
|
+
readonly targets: readonly RetrievalStoredTarget[];
|
|
39
|
+
readonly pendingScopes: readonly RetrievalScope[];
|
|
40
|
+
readonly knownScopes: readonly RetrievalScope[];
|
|
41
|
+
}
|
|
42
|
+
export type RetrievalRecordKind = "directory" | "catalog" | "article" | "scope" | "manifest" | "posting" | "page";
|
|
43
|
+
export interface RetrievalRecord {
|
|
44
|
+
readonly schemaVersion: 1;
|
|
45
|
+
readonly partition: string;
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly kind: RetrievalRecordKind;
|
|
48
|
+
readonly data: unknown;
|
|
49
|
+
}
|
|
50
|
+
export declare function requireRetrievalScope(scope: RetrievalScope): void;
|
|
51
|
+
export declare function requireRetrievalHint(hint: RetrievalHint): void;
|
|
52
|
+
export declare function encodeRetrievalRecord(record: RetrievalRecord): StoredRecord;
|
|
53
|
+
export declare function decodeRetrievalRecord(record: StoredRecord): RetrievalRecord;
|
|
54
|
+
export declare const retrievalRecords: import("@pegma/storage-core").CollectionDefinition<RetrievalRecord>;
|
|
55
|
+
//# sourceMappingURL=retrieval-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-records.d.ts","sourceRoot":"","sources":["../src/retrieval-records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAS1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,oBAAoB,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD;AAED,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAWjE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA+B9D;AAqBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAwB3E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CA0C3E;AAED,eAAO,MAAM,gBAAgB,qEAI3B,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { defineCollection } from "@pegma/storage-core";
|
|
2
|
+
import { canonicalJson, RepositoryCapacityError, RepositoryIntegrityError, requireGeneration, requireIdentifier, } from "./storage-helpers.js";
|
|
3
|
+
const kinds = [
|
|
4
|
+
"directory",
|
|
5
|
+
"catalog",
|
|
6
|
+
"article",
|
|
7
|
+
"scope",
|
|
8
|
+
"manifest",
|
|
9
|
+
"posting",
|
|
10
|
+
"page",
|
|
11
|
+
];
|
|
12
|
+
const maximumNativeBytes = 900_000;
|
|
13
|
+
const chunkCharacters = 30_000;
|
|
14
|
+
const maximumChunks = 15;
|
|
15
|
+
export function requireRetrievalScope(scope) {
|
|
16
|
+
requireIdentifier(scope.collectionId, "collectionId");
|
|
17
|
+
requireGeneration(scope.policyVersion, 1);
|
|
18
|
+
if (scope.use !== "portal" && scope.use !== "bot")
|
|
19
|
+
throw new TypeError("Expected a retrieval use");
|
|
20
|
+
if (Object.keys(scope).some((key) => !["collectionId", "policyVersion", "use"].includes(key)))
|
|
21
|
+
throw new TypeError("Unexpected retrieval scope field");
|
|
22
|
+
}
|
|
23
|
+
export function requireRetrievalHint(hint) {
|
|
24
|
+
requireRetrievalScope({
|
|
25
|
+
collectionId: hint.collectionId,
|
|
26
|
+
policyVersion: hint.policyVersion,
|
|
27
|
+
use: hint.use,
|
|
28
|
+
});
|
|
29
|
+
requireIdentifier(hint.articleId, "articleId");
|
|
30
|
+
requireGeneration(hint.articleRevision, 1);
|
|
31
|
+
requireGeneration(hint.generation, 1);
|
|
32
|
+
requireGeneration(hint.sourceGeneration);
|
|
33
|
+
if (!/^[a-f0-9]{64}$/u.test(hint.contentHash) ||
|
|
34
|
+
!/^[a-f0-9]{64}$/u.test(hint.bindingHash))
|
|
35
|
+
throw new TypeError("Expected a retrieval digest");
|
|
36
|
+
const allowed = [
|
|
37
|
+
"collectionId",
|
|
38
|
+
"policyVersion",
|
|
39
|
+
"use",
|
|
40
|
+
"articleId",
|
|
41
|
+
"articleRevision",
|
|
42
|
+
"contentHash",
|
|
43
|
+
"generation",
|
|
44
|
+
"sourceGeneration",
|
|
45
|
+
"bindingHash",
|
|
46
|
+
];
|
|
47
|
+
if (Object.keys(hint).length !== allowed.length ||
|
|
48
|
+
Object.keys(hint).some((key) => !allowed.includes(key)))
|
|
49
|
+
throw new TypeError("Unexpected retrieval hint field");
|
|
50
|
+
}
|
|
51
|
+
function validateRecord(record) {
|
|
52
|
+
if (record.schemaVersion !== 1 ||
|
|
53
|
+
!kinds.includes(record.kind) ||
|
|
54
|
+
typeof record.partition !== "string" ||
|
|
55
|
+
!/^(directory|catalog:[a-f0-9]{64}|article:[a-f0-9]{64}|scope:[a-f0-9]{64})$/u.test(record.partition) ||
|
|
56
|
+
typeof record.id !== "string" ||
|
|
57
|
+
record.id.length === 0 ||
|
|
58
|
+
record.id.length > 200 ||
|
|
59
|
+
/[^A-Za-z0-9:._-]/u.test(record.id) ||
|
|
60
|
+
record.data === null ||
|
|
61
|
+
typeof record.data !== "object" ||
|
|
62
|
+
Array.isArray(record.data))
|
|
63
|
+
throw new RepositoryIntegrityError();
|
|
64
|
+
}
|
|
65
|
+
export function encodeRetrievalRecord(record) {
|
|
66
|
+
validateRecord(record);
|
|
67
|
+
const payload = canonicalJson(record.data);
|
|
68
|
+
if (payload.length * 2 > maximumNativeBytes - 4_096)
|
|
69
|
+
throw new RepositoryCapacityError("index_record_bytes");
|
|
70
|
+
const parts = [];
|
|
71
|
+
for (let offset = 0; offset < payload.length;) {
|
|
72
|
+
let end = Math.min(payload.length, offset + chunkCharacters);
|
|
73
|
+
const last = payload.charCodeAt(end - 1);
|
|
74
|
+
if (end < payload.length && last >= 0xd800 && last <= 0xdbff)
|
|
75
|
+
end -= 1;
|
|
76
|
+
parts.push(payload.slice(offset, end));
|
|
77
|
+
offset = end;
|
|
78
|
+
}
|
|
79
|
+
if (parts.length === 0 || parts.length > maximumChunks)
|
|
80
|
+
throw new RepositoryCapacityError("index_record_chunks");
|
|
81
|
+
const encoded = {
|
|
82
|
+
schemaVersion: 1,
|
|
83
|
+
recordPartition: record.partition,
|
|
84
|
+
recordId: record.id,
|
|
85
|
+
kind: record.kind,
|
|
86
|
+
partCount: parts.length,
|
|
87
|
+
};
|
|
88
|
+
for (const [index, part] of parts.entries())
|
|
89
|
+
encoded["part" + index] = part;
|
|
90
|
+
return encoded;
|
|
91
|
+
}
|
|
92
|
+
export function decodeRetrievalRecord(record) {
|
|
93
|
+
try {
|
|
94
|
+
if (record.schemaVersion !== 1 || typeof record.partCount !== "number")
|
|
95
|
+
throw new RepositoryIntegrityError();
|
|
96
|
+
requireGeneration(record.partCount, 1);
|
|
97
|
+
if (record.partCount > maximumChunks)
|
|
98
|
+
throw new RepositoryIntegrityError();
|
|
99
|
+
const expected = new Set([
|
|
100
|
+
"schemaVersion",
|
|
101
|
+
"recordPartition",
|
|
102
|
+
"recordId",
|
|
103
|
+
"kind",
|
|
104
|
+
"partCount",
|
|
105
|
+
...Array.from({ length: record.partCount }, (_, index) => "part" + index),
|
|
106
|
+
]);
|
|
107
|
+
if (Object.keys(record).length !== expected.size ||
|
|
108
|
+
Object.keys(record).some((key) => !expected.has(key)))
|
|
109
|
+
throw new RepositoryIntegrityError();
|
|
110
|
+
const parts = [];
|
|
111
|
+
for (let index = 0; index < record.partCount; index += 1) {
|
|
112
|
+
const part = record["part" + index];
|
|
113
|
+
if (typeof part !== "string" || part.length > chunkCharacters)
|
|
114
|
+
throw new RepositoryIntegrityError();
|
|
115
|
+
parts.push(part);
|
|
116
|
+
}
|
|
117
|
+
const payload = parts.join("");
|
|
118
|
+
if (payload.length * 2 > maximumNativeBytes - 4_096)
|
|
119
|
+
throw new RepositoryIntegrityError();
|
|
120
|
+
const decoded = {
|
|
121
|
+
schemaVersion: 1,
|
|
122
|
+
partition: record.recordPartition,
|
|
123
|
+
id: record.recordId,
|
|
124
|
+
kind: record.kind,
|
|
125
|
+
data: JSON.parse(payload),
|
|
126
|
+
};
|
|
127
|
+
validateRecord(decoded);
|
|
128
|
+
canonicalJson(decoded.data);
|
|
129
|
+
return decoded;
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw new RepositoryIntegrityError();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export const retrievalRecords = defineCollection({
|
|
136
|
+
name: "knowledge-base.retrieval.v1",
|
|
137
|
+
key: (record) => ({ partition: record.partition, id: record.id }),
|
|
138
|
+
codec: { encode: encodeRetrievalRecord, decode: decodeRetrievalRecord },
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=retrieval-records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-records.js","sourceRoot":"","sources":["../src/retrieval-records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Store } from "@pegma/storage-core";
|
|
2
|
+
import { type RetrievalBlockedReason, type RetrievalPostingPage, type RetrievalProjectionState, type RetrievalProjectionTarget, type RetrievalScope } from "./retrieval-records.js";
|
|
3
|
+
import type { KnowledgeRetrievalLimits } from "./retrieval-types.js";
|
|
4
|
+
export interface BeginArticleProjectionInput {
|
|
5
|
+
readonly articleId: string;
|
|
6
|
+
readonly generation: number;
|
|
7
|
+
readonly sourceGeneration: number;
|
|
8
|
+
readonly targets: readonly RetrievalProjectionTarget[];
|
|
9
|
+
}
|
|
10
|
+
export interface RetrievalCatalog {
|
|
11
|
+
readonly articleIds: readonly string[];
|
|
12
|
+
readonly scopes: readonly RetrievalScope[];
|
|
13
|
+
}
|
|
14
|
+
export interface RetrievalRepository {
|
|
15
|
+
registerCollection(collectionId: string): Promise<void>;
|
|
16
|
+
readDirectory(): Promise<readonly string[]>;
|
|
17
|
+
readCatalog(collectionId: string): Promise<RetrievalCatalog>;
|
|
18
|
+
/** Every returned page/entry must be charged before query filtering/deduplication. */
|
|
19
|
+
readPostingPages(scope: RetrievalScope, term: string): Promise<readonly RetrievalPostingPage[]>;
|
|
20
|
+
readArticleProjection(articleId: string): Promise<RetrievalProjectionState | null>;
|
|
21
|
+
beginArticleProjection(input: BeginArticleProjectionInput): Promise<RetrievalProjectionState>;
|
|
22
|
+
advanceArticleProjection(articleId: string, expectedGeneration: number): Promise<{
|
|
23
|
+
readonly state: RetrievalProjectionState;
|
|
24
|
+
readonly complete: boolean;
|
|
25
|
+
readonly changed: boolean;
|
|
26
|
+
}>;
|
|
27
|
+
markArticleProjectionBlocked(articleId: string, generation: number, reason: RetrievalBlockedReason, sourceGeneration?: number): Promise<RetrievalProjectionState>;
|
|
28
|
+
}
|
|
29
|
+
export declare const retrievalTermHash: (term: string) => Promise<string>;
|
|
30
|
+
/** A repairable derived index; authoritative content always lives in KnowledgeRepository. */
|
|
31
|
+
export declare function createRetrievalRepository(store: Store, overrides?: Partial<KnowledgeRetrievalLimits>): RetrievalRepository;
|
|
32
|
+
//# sourceMappingURL=retrieval-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-repository.d.ts","sourceRoot":"","sources":["../src/retrieval-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,KAAK,sBAAsB,EAE3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAG9B,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAcrE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,sFAAsF;IACtF,gBAAgB,CACd,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IAC5C,qBAAqB,CACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;IAC5C,sBAAsB,CACpB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,wBAAwB,CACtB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;QACT,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;QACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC,CAAC;IACH,4BAA4B,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtC;AA2PD,eAAO,MAAM,iBAAiB,SAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CASpE,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,mBAAmB,CAitBrB"}
|