document-model 5.1.0-dev.22 → 5.1.0-dev.24

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.
@@ -1,17 +1,13 @@
1
1
  import type { PHDocumentHeader } from "./ph-types.js";
2
2
  import type { ISigner, SigningParameters } from "./types.js";
3
3
  /**
4
- * A signer that uses a public key to verify data.
4
+ * Creates a verification-only signer from a public key.
5
+ * This signer can only verify signatures, not sign data.
6
+ *
7
+ * @param pubKey - The public key to use for verification.
8
+ * @returns An ISigner that can only verify signatures.
5
9
  */
6
- export declare class PublicKeySigner implements ISigner {
7
- #private;
8
- protected readonly subtleCrypto: Promise<SubtleCrypto>;
9
- protected publicCryptoKey: CryptoKey | undefined;
10
- constructor(publicKey: JsonWebKey);
11
- publicKey(): Promise<JsonWebKey>;
12
- sign(data: Uint8Array): Promise<Uint8Array>;
13
- verify(data: Uint8Array, signature: Uint8Array): Promise<void>;
14
- }
10
+ export declare function createVerificationSigner(pubKey: JsonWebKey): ISigner;
15
11
  /**
16
12
  * Signs a header. Generally, this is not called directly, but rather through
17
13
  * {@link createSignedHeader}.
@@ -55,7 +51,7 @@ export declare const createPresignedHeader: (id?: string, documentType?: string)
55
51
  export declare const createSignedHeader: (unsignedHeader: PHDocumentHeader, documentType: string, signer: ISigner) => Promise<PHDocumentHeader>;
56
52
  /**
57
53
  * Creates a signed header for a document. The document header requires a signer
58
- * as the document id is a Ed25519 signature.
54
+ * as the document id is a cryptographic signature.
59
55
  *
60
56
  * @param documentType - The type of the document.
61
57
  * @param signer - The signer of the document.
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAS7D;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;;IAG7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;gBAErC,SAAS,EAAE,UAAU;IAW3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAIhC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3C,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CA+BrE;AAeD;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GACf,YAAY,iBAAiB,EAC7B,QAAQ,OAAO,KACd,OAAO,CAAC,MAAM,CAehB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,YAAY,iBAAiB,EAC7B,WAAW,MAAM,EACjB,QAAQ,OAAO,KACd,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,KACvB,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAI,MAAqB,EACzB,qBAAiB,KAChB,gBAkBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,gBAAgB,EAChC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CA8B1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CAS1B,CAAC"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAa,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAS7D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CA+CpE;AAYD;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GACf,YAAY,iBAAiB,EAC7B,QAAQ,OAAO,KACd,OAAO,CAAC,MAAM,CAehB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,YAAY,iBAAiB,EAC7B,WAAW,MAAM,EACjB,QAAQ,OAAO,KACd,OAAO,CAAC,IAAI,CAcd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,KACvB,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAI,MAAqB,EACzB,qBAAiB,KAChB,gBAkBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,gBAAgB,EAChC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CA4B1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,cAAc,MAAM,EACpB,QAAQ,OAAO,KACd,OAAO,CAAC,gBAAgB,CAS1B,CAAC"}
@@ -4,56 +4,49 @@ import { generateId } from "./utils.js";
4
4
  */
5
5
  const generateStablePayload = (parameters) => `${parameters.documentType}:${parameters.createdAtUtcIso}:${parameters.nonce}`;
6
6
  /**
7
- * A signer that uses a public key to verify data.
7
+ * Creates a verification-only signer from a public key.
8
+ * This signer can only verify signatures, not sign data.
9
+ *
10
+ * @param pubKey - The public key to use for verification.
11
+ * @returns An ISigner that can only verify signatures.
8
12
  */
9
- export class PublicKeySigner {
10
- #publicKey;
11
- subtleCrypto;
12
- publicCryptoKey;
13
- constructor(publicKey) {
14
- this.#publicKey = publicKey;
15
- this.subtleCrypto = this.#initCrypto();
16
- }
17
- #initCrypto() {
18
- return new Promise((resolve, reject) => {
19
- resolve(crypto.subtle);
20
- });
21
- }
22
- async publicKey() {
23
- return this.#publicKey;
24
- }
25
- async sign(data) {
26
- throw new Error("PublicKeySigner only supports verification");
27
- }
28
- async verify(data, signature) {
29
- const subtleCrypto = await this.subtleCrypto;
30
- if (!this.publicCryptoKey) {
31
- this.publicCryptoKey = await subtleCrypto.importKey("jwk", this.#publicKey, {
32
- name: "Ed25519",
33
- namedCurve: "Ed25519",
34
- }, true, ["verify"]);
35
- }
36
- let isValid;
37
- try {
38
- isValid = await subtleCrypto.verify("Ed25519", this.publicCryptoKey, new Uint8Array(signature), new Uint8Array(data));
39
- }
40
- catch (error) {
41
- throw new Error("invalid signature");
42
- }
43
- if (!isValid) {
44
- throw new Error("invalid signature");
45
- }
46
- }
13
+ export function createVerificationSigner(pubKey) {
14
+ let cachedCryptoKey;
15
+ return {
16
+ async publicKey() {
17
+ return pubKey;
18
+ },
19
+ async sign(_data) {
20
+ throw new Error("verification-only signer cannot sign data");
21
+ },
22
+ async signAction(_action, _abortSignal) {
23
+ throw new Error("verification-only signer cannot sign actions");
24
+ },
25
+ async verify(data, signature) {
26
+ if (!cachedCryptoKey) {
27
+ cachedCryptoKey = await crypto.subtle.importKey("jwk", pubKey, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
28
+ }
29
+ let isValid;
30
+ try {
31
+ isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cachedCryptoKey, new Uint8Array(signature), new Uint8Array(data));
32
+ }
33
+ catch {
34
+ throw new Error("invalid signature");
35
+ }
36
+ if (!isValid) {
37
+ throw new Error("invalid signature");
38
+ }
39
+ },
40
+ };
47
41
  }
48
42
  /**
49
- * Creates a signer from a header.
43
+ * Creates a verification-only signer from a header.
50
44
  *
51
45
  * @param header - The header to create a signer from.
52
- *
53
- * @returns A signer for the header.
46
+ * @returns A signer that can verify the header's signature.
54
47
  */
55
- const createSignerFromHeader = async (header) => {
56
- return new PublicKeySigner(header.sig.publicKey);
48
+ const createSignerFromHeader = (header) => {
49
+ return createVerificationSigner(header.sig.publicKey);
57
50
  };
58
51
  /**
59
52
  * Signs a header. Generally, this is not called directly, but rather through
@@ -99,8 +92,8 @@ export const verify = async (parameters, signature, signer) => {
99
92
  * Validates a header signature.
100
93
  */
101
94
  export const validateHeader = async (header) => {
102
- const signer = await createSignerFromHeader(header);
103
- return await verify({
95
+ const signer = createSignerFromHeader(header);
96
+ return verify({
104
97
  documentType: header.documentType,
105
98
  createdAtUtcIso: header.createdAtUtcIso,
106
99
  nonce: header.sig.nonce,
@@ -159,19 +152,17 @@ export const createSignedHeader = async (unsignedHeader, documentType, signer) =
159
152
  documentType,
160
153
  createdAtUtcIso: unsignedHeader.createdAtUtcIso,
161
154
  // mutable fields
162
- slug: "",
163
- name: "",
164
- branch: "",
165
- revision: {
166
- document: 0,
167
- },
155
+ slug: unsignedHeader.slug,
156
+ name: unsignedHeader.name,
157
+ branch: unsignedHeader.branch,
158
+ revision: unsignedHeader.revision,
168
159
  lastModifiedAtUtcIso: unsignedHeader.lastModifiedAtUtcIso,
169
- meta: {},
160
+ meta: unsignedHeader.meta,
170
161
  };
171
162
  };
172
163
  /**
173
164
  * Creates a signed header for a document. The document header requires a signer
174
- * as the document id is a Ed25519 signature.
165
+ * as the document id is a cryptographic signature.
175
166
  *
176
167
  * @param documentType - The type of the document.
177
168
  * @param signer - The signer of the document.
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/core/header.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ export type HashConfig = {
92
92
  */
93
93
  export type PHDocumentState = {
94
94
  /** The current version of the document. */
95
- version: string;
95
+ version: number;
96
96
  /** Hash configuration for operation state verification */
97
97
  hash: HashConfig;
98
98
  /** True if and only if the document has been deleted */
@@ -10,7 +10,7 @@ export function defaultAuthState() {
10
10
  */
11
11
  export function defaultDocumentState() {
12
12
  return {
13
- version: "1.0.0",
13
+ version: 0,
14
14
  hash: {
15
15
  algorithm: HASH_ALGORITHM_SHA1,
16
16
  encoding: HASH_ENCODING_BASE64,
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,oBAAoB;SAC/B;KACF,CAAC;AACJ,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,gBAAgB,EAAE;QACxB,QAAQ,EAAE,oBAAoB,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,OAAO;QACL,GAAG,gBAAgB,EAAE;QACrB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAmC;IAEnC,OAAO;QACL,GAAG,oBAAoB,EAAE;QACzB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA2B,EAC3B,QAAmC;IAEnC,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,oBAAoB;SAC/B;KACF,CAAC;AACJ,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,gBAAgB,EAAE;QACxB,QAAQ,EAAE,oBAAoB,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,OAAO;QACL,GAAG,gBAAgB,EAAE;QACrB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAmC;IAEnC,OAAO;QACL,GAAG,oBAAoB,EAAE;QACzB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA2B,EAC3B,QAAmC;IAEnC,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Draft } from "mutative";
2
2
  import type { FC, ReactNode } from "react";
3
- import type { Action, ActionSigner, AttachmentRef, Operation, PHBaseState, PHDocument } from "./ph-types.js";
3
+ import type { Action, ActionSigner, AttachmentRef, Operation, PHBaseState, PHDocument, Signature } from "./ph-types.js";
4
4
  export type Maybe<T> = T | null;
5
5
  export type InputMaybe<T> = T | null | undefined;
6
6
  export type Exact<T extends Record<string, unknown>> = {
@@ -196,7 +196,7 @@ export type NOOPAction = Action & {
196
196
  };
197
197
  export type CreateDocumentActionInput = {
198
198
  model: string;
199
- version: "0.0.0";
199
+ version: 0;
200
200
  documentId: string;
201
201
  signing?: {
202
202
  signature: string;
@@ -212,8 +212,8 @@ export type CreateDocumentActionInput = {
212
212
  };
213
213
  export type UpgradeDocumentActionInput = {
214
214
  model: string;
215
- fromVersion: string;
216
- toVersion: string;
215
+ fromVersion: number;
216
+ toVersion: number;
217
217
  documentId: string;
218
218
  initialState?: object;
219
219
  };
@@ -370,6 +370,14 @@ export type ActionSignatureContext = {
370
370
  };
371
371
  export type ActionSigningHandler = (message: Uint8Array) => Promise<Uint8Array>;
372
372
  export type ActionVerificationHandler = (publicKey: string, signature: Uint8Array, data: Uint8Array) => Promise<boolean>;
373
+ /**
374
+ * Handler for verifying operation signatures.
375
+ *
376
+ * @param operation - The operation to verify
377
+ * @param publicKey - The public key to verify against (from signer.app.key)
378
+ * @returns Promise that resolves to true if signature is valid, false otherwise
379
+ */
380
+ export type SignatureVerificationHandler = (operation: Operation, publicKey: string) => Promise<boolean>;
373
381
  export type ENSInfo = {
374
382
  name?: string;
375
383
  avatarUrl?: string;
@@ -480,16 +488,15 @@ export type SigningParameters = {
480
488
  nonce: string;
481
489
  };
482
490
  /**
483
- * Describes a signer. This may only have a public key for verification.
491
+ * Describes a signer that can sign both document headers and actions.
484
492
  */
485
493
  export interface ISigner {
486
494
  /** The corresponding public key */
487
495
  publicKey(): Promise<JsonWebKey>;
488
496
  /**
489
- * Signs data.
497
+ * Signs raw data (used for document header signing).
490
498
  *
491
499
  * @param data - The data to sign.
492
- *
493
500
  * @returns The signature of the data.
494
501
  */
495
502
  sign: (data: Uint8Array) => Promise<Uint8Array>;
@@ -500,5 +507,13 @@ export interface ISigner {
500
507
  * @param signature - The signature to verify.
501
508
  */
502
509
  verify: (data: Uint8Array, signature: Uint8Array) => Promise<void>;
510
+ /**
511
+ * Signs an action (used for operation signing).
512
+ *
513
+ * @param action - The action to sign.
514
+ * @param abortSignal - Optional abort signal to cancel the signing.
515
+ * @returns The signature tuple.
516
+ */
517
+ signAction: (action: Action, abortSignal?: AbortSignal) => Promise<Signature>;
503
518
  }
504
519
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACpD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAC3D,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KACxD,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KAC3E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CACjB,CAAC;AACF,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1E,CAAC;AACN,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,EAAE;QACP,KAAK,EAAE,GAAG,MAAM,MAAM,MAAM,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,MAAM,MAAM,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GAC3E,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC/B,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,UAAU,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAC3C,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,0BAA0B,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAC3C,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,0BAA0B,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG;IAC9C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,6BAA6B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,WAAW,GACX,UAAU,GACV,aAAa,GACb,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,MAAM,EAAE,MAAM;IACnD,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI;IAClD,MAAM,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,uBAAuB,EACvB,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,uBAAuB,EACvB,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAC3C,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GACd,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtD,MAAM,MAAM,YAAY,GACpB,aAAa,CACX,yBAAyB,CAAC,MAAM,CAAC,EACjC,yBAAyB,CAAC,OAAO,CAAC,EAClC,UAAU,CACX,GACD,aAAa,CACX,uBAAuB,CAAC,MAAM,CAAC,EAC/B,uBAAuB,CAAC,OAAO,CAAC,EAChC,OAAO,CACR,GACD,aAAa,CACX,yBAAyB,CAAC,MAAM,CAAC,EACjC,yBAAyB,CAAC,OAAO,CAAC,EAClC,UAAU,CACX,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG;IAC1B,qBAAqB,EAAE,UAAU,CAAC;IAClC,mBAAmB,EAAE,UAAU,CAAC;IAChC,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAC1C,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,0HAA0H;IAC1H,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iGAAiG;IACjG,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,iFAAiF;IACjF,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,uCAAuC;IACvC,aAAa,CAAC,EAAE;QACd,0DAA0D;QAC1D,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IAEF,oFAAoF;IACpF,6BAA6B,CAAC,EAAE,CAAC,MAAM,EACrC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAC7B,MAAM,CAAC;IAEZ;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CAC9D,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,cAAc,KACrB,UAAU,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CACnE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,cAAc,KACtB,MAAM,GAAG,SAAS,CAAC;AAExB,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IACjE,YAAY,CAAC,MAAM,CAAC,CAAC;AAEvB,MAAM,MAAM,IAAI,GAAG;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CAClE,KAAK,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,KACzB,MAAM,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAC7B,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,oBAAoB,KACxB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,CACvB,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,KACV,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC;AAExE,MAAM,MAAM,mBAAmB,CAAC,MAAM,IAAI,CACxC,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAE7B,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,WAAW,IAAI,CACzD,QAAQ,EAAE,OAAO,KACd,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,WAAW,IAAI,CAC/D,QAAQ,EAAE,OAAO,KACd,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CACpE,KAAK,EAAE,SAAS,KACb,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtD,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CACnE,IAAI,EAAE,MAAM,KACT,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI,CACrE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAC9B,UAAU,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEhF,MAAM,MAAM,yBAAyB,GAAG,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI;KACjD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,mBAAmB,KAClC,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,GAAG,IAAI;IACvC,SAAS,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,cAAc,CAAC,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG;IAGlC,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,6BAA6B,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,34 @@
1
- import { PublicKeySigner, ab2hex, actionSigner, baseCreateDocument, buildOperationSignatureMessage, buildOperationSignatureParams, buildSignedAction, generateId, hashDocumentStateForScope, hex2ab, sign, verify, verifyOperationSignature, } from "document-model/core";
1
+ import { ab2hex, actionSigner, baseCreateDocument, buildOperationSignatureMessage, buildOperationSignatureParams, buildSignedAction, generateId, hashDocumentStateForScope, hex2ab, sign, verify, verifyOperationSignature, } from "document-model/core";
2
2
  import { afterAll, beforeAll, describe, expect, it, vi } from "vitest";
3
3
  import { countReducer, createCountDocumentState, createCountState, increment, } from "../helpers.js";
4
4
  /**
5
- * A signer that uses a key pair to sign and verify data.
5
+ * Creates a test signer using ECDSA P-256 that can sign and verify data.
6
6
  */
7
- class KeyPairSigner extends PublicKeySigner {
8
- #privateKey;
9
- #privateCryptoKey;
10
- constructor(publicKey, privateKey) {
11
- super(publicKey);
12
- this.#privateKey = privateKey;
13
- }
14
- async sign(data) {
15
- const subtleCrypto = await this.subtleCrypto;
16
- if (!this.#privateCryptoKey) {
17
- this.#privateCryptoKey = await subtleCrypto.importKey("jwk", this.#privateKey, {
18
- name: "Ed25519",
19
- namedCurve: "Ed25519",
20
- }, true, ["sign"]);
21
- }
22
- const arrayBuffer = await subtleCrypto.sign("Ed25519", this.#privateCryptoKey, data.buffer);
23
- return new Uint8Array(arrayBuffer);
24
- }
7
+ async function createTestSigner() {
8
+ const algorithm = { name: "ECDSA", namedCurve: "P-256" };
9
+ const keyPair = await crypto.subtle.generateKey(algorithm, true, [
10
+ "sign",
11
+ "verify",
12
+ ]);
13
+ const publicKeyJwk = await crypto.subtle.exportKey("jwk", keyPair.publicKey);
14
+ return {
15
+ async publicKey() {
16
+ return publicKeyJwk;
17
+ },
18
+ async sign(data) {
19
+ const signature = await crypto.subtle.sign({ name: "ECDSA", hash: "SHA-256" }, keyPair.privateKey, data.buffer);
20
+ return new Uint8Array(signature);
21
+ },
22
+ async verify(data, signature) {
23
+ const isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, keyPair.publicKey, signature.buffer, data.buffer);
24
+ if (!isValid) {
25
+ throw new Error("invalid signature");
26
+ }
27
+ },
28
+ async signAction(_action, _abortSignal) {
29
+ throw new Error("signAction not implemented in test signer");
30
+ },
31
+ };
25
32
  }
26
33
  describe("Crypto utils", () => {
27
34
  beforeAll(() => {
@@ -180,13 +187,7 @@ describe("Crypto utils", () => {
180
187
  createdAtUtcIso: new Date().toISOString(),
181
188
  nonce: generateId(),
182
189
  };
183
- const keyPair = await crypto.subtle.generateKey("Ed25519", true, [
184
- "sign",
185
- "verify",
186
- ]);
187
- const publicKey = await crypto.subtle.exportKey("jwk", keyPair.publicKey);
188
- const privateKey = await crypto.subtle.exportKey("jwk", keyPair.privateKey);
189
- const signer = new KeyPairSigner(publicKey, privateKey);
190
+ const signer = await createTestSigner();
190
191
  const signature = await sign(parameters, signer);
191
192
  await verify(parameters, signature, signer);
192
193
  });
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.test.js","sourceRoot":"","sources":["../../../test/document/crypto.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.test.js","sourceRoot":"","sources":["../../../test/document/crypto.test.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE;QAC/D,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7E,OAAO;QACL,KAAK,CAAC,SAAS;YACb,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAgB;YACzB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAClC,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,MAAqB,CAC3B,CAAC;YACF,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAE,SAAqB;YAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAClC,OAAO,CAAC,SAAS,EACjB,SAAS,CAAC,MAAqB,EAC/B,IAAI,CAAC,MAAqB,CAC3B,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU,CACd,OAAe,EACf,YAA0B;YAE1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,kBAAkB,CACjC,wBAAwB,EACxB,gBAAgB,EAAE,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,eAAe;QACf,SAAS,CAAC,EAAE,GAAG,sCAAsC,CAAC;QAEtD,MAAM,MAAM,GAAiB;YAC3B,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YACtD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;YACpC,UAAU,EAAE,EAAE;SACf,CAAC;QACF,MAAM,MAAM,GAAG,6BAA6B,CAAC;YAC3C,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM;YACN,iBAAiB,EAAE,EAAE;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,YAAY;YACZ,QAAQ;YACR,8BAA8B;YAC9B,EAAE;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAC1D,WAAW,CAAC,MAAM,CAChB,uEAAuE,CACxE,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,IAAI,QAAQ,GAAG,kBAAkB,CAC/B,wBAAwB,EACxB,gBAAgB,EAAE,CACnB,CAAC;QAEF,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,eAAe;QACf,SAAS,CAAC,EAAE,GAAG,sCAAsC,CAAC;QAEtD,MAAM,MAAM,GAAiB;YAC3B,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YACtD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE;YACpC,UAAU,EAAE,EAAE;SACf,CAAC;QACF,MAAM,MAAM,GAAG,6BAA6B,CAAC;YAC3C,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM;YACN,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,YAAY;YACZ,QAAQ;YACR,8BAA8B;YAC9B,8BAA8B;SAC/B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAC1D,WAAW,CAAC,MAAM,CAChB,mGAAmG,CACpG,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE;YAC/D,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAChD,KAAK,EACL,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,kBAAkB,CACjC,wBAAwB,EACxB,gBAAgB,EAAE,CACnB,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;QAEzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,CACf,QAAkC,EAClC,MAAc,EACd,QAAyB,EACzB,OAAwB,EACxB,EAAE;YACF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEtD,8BAA8B;YAC9B,cAAc,CAAC,UAAU,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,KAAK,CAAC;YAErD,OAAO,cAAc,CAAC;QACxB,CAAC,CAA0B,CAAC;QAE5B,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,YAAY,CACV,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAChD,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CACjC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,UAAU,CACZ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,SAAS,EACT,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,MAAqB,CAC3B,CACF,CACJ,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC;YACtD,GAAG,EAAE;gBACH,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,MAAM;aACb;YACD,UAAU,EAAE;gBACV;oBACE,YAAY;oBACZ,SAAS;oBACT,8BAA8B;oBAC9B,EAAE;oBACF,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC;iBACzC;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,GAAG;aACf;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE;YAC/D,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAChD,KAAK,EACL,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,kBAAkB,CACjC,wBAAwB,EACxB,gBAAgB,EAAE,CACnB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,EAAE,GAAG,SAAS,EAAE,CAAC,eAAe,EAAE,EAClC,YAAqC,EACrC,QAAQ,EACR,YAAY,CACV,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAChD,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CACjC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,UAAU,CACZ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,SAAS,EACT,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,MAAqB,CAC3B,CACF,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAE,EACxB,MAAM,EACN,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,MAAM,CAAC,SAAS,CAAC,EACjB,SAAS,EACT,IAAI,EACJ,CAAC,QAAQ,CAAC,CACX,CAAC;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CACzB,SAAS,EACT,WAAW,EACX,IAAI,UAAU,CAAC,SAAS,CAAC,EACzB,IAAI,UAAU,CAAC,IAAI,CAAC,CACrB,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE;YAC/D,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAChD,KAAK,EACL,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,kBAAkB,CACjC,wBAAwB,EACxB,gBAAgB,EAAE,CACnB,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;QAEzB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,EAAE,GAAG,SAAS,EAAE,CAAC,eAAe,EAAE,EAClC,YAAqC,EACrC,QAAQ,EACR,YAAY,CACV,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAChD,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CACjC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,UAAU,CACZ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,SAAS,EACT,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,MAAqB,CAC3B,CACF,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;QAE3C,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,SAAS,EACT,MAAM,EACN,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,MAAM,CAAC,SAAS,CAAC,EACjB,SAAS,EACT,IAAI,EACJ,CAAC,QAAQ,CAAC,CACX,CAAC;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CACzB,SAAS,EACT,WAAW,EACX,IAAI,UAAU,CAAC,SAAS,CAAC,EACzB,IAAI,UAAU,CAAC,IAAI,CAAC,CACrB,CAAC;QACJ,CAAC,CACF,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,UAAU,GAAsB;YACpC,YAAY,EAAE,oBAAoB;YAClC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzC,KAAK,EAAE,UAAU,EAAE;SACpB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}