@powerhousedao/reactor-browser 4.0.1 → 4.1.0-dev.2
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/package.json +1 -1
- package/dist/src/hooks/document-state.d.ts.map +1 -1
- package/dist/src/hooks/document-state.js +2 -2
- package/dist/src/hooks/document-state.js.map +1 -1
- package/dist/src/hooks/index.d.ts +0 -2
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +0 -2
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/useAddDebouncedOperations.d.ts +1 -2
- package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +1 -1
- package/dist/src/hooks/useAddDebouncedOperations.js +8 -15
- package/dist/src/hooks/useAddDebouncedOperations.js.map +1 -1
- package/dist/src/hooks/useDocument.d.ts +0 -1
- package/dist/src/hooks/useDocument.d.ts.map +1 -1
- package/dist/src/hooks/useDocument.js +8 -14
- package/dist/src/hooks/useDocument.js.map +1 -1
- package/dist/src/hooks/useDocumentEditor.d.ts +3 -3
- package/dist/src/hooks/useDocumentEditor.d.ts.map +1 -1
- package/dist/src/hooks/useDocumentEditor.js +8 -6
- package/dist/src/hooks/useDocumentEditor.js.map +1 -1
- package/dist/src/hooks/useDriveActions.d.ts +1 -4
- package/dist/src/hooks/useDriveActions.d.ts.map +1 -1
- package/dist/src/hooks/useDriveActions.js +4 -22
- package/dist/src/hooks/useDriveActions.js.map +1 -1
- package/dist/src/hooks/useDriveContext.d.ts +1 -95
- package/dist/src/hooks/useDriveContext.d.ts.map +1 -1
- package/dist/src/hooks/useDriveContext.js.map +1 -1
- package/dist/src/reactor.js +1 -1
- package/dist/src/reactor.js.map +1 -1
- package/dist/src/types/drive-editor.d.ts +83 -69
- package/dist/src/types/drive-editor.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/hooks/useDriveActionsWithUiNodes.d.ts +0 -17
- package/dist/src/hooks/useDriveActionsWithUiNodes.d.ts.map +0 -1
- package/dist/src/hooks/useDriveActionsWithUiNodes.js +0 -72
- package/dist/src/hooks/useDriveActionsWithUiNodes.js.map +0 -1
- package/dist/src/hooks/useUiNodesContext.d.ts +0 -25
- package/dist/src/hooks/useUiNodesContext.d.ts.map +0 -1
- package/dist/src/hooks/useUiNodesContext.js +0 -168
- package/dist/src/hooks/useUiNodesContext.js.map +0 -1
- package/dist/src/uiNodes/constants.d.ts +0 -17
- package/dist/src/uiNodes/constants.d.ts.map +0 -1
- package/dist/src/uiNodes/constants.js +0 -24
- package/dist/src/uiNodes/constants.js.map +0 -1
- package/dist/src/uiNodes/types.d.ts +0 -61
- package/dist/src/uiNodes/types.d.ts.map +0 -1
- package/dist/src/uiNodes/types.js +0 -2
- package/dist/src/uiNodes/types.js.map +0 -1
|
@@ -1,25 +1,76 @@
|
|
|
1
|
-
import { type FileNode, type
|
|
1
|
+
import { type FileNode, type FolderNode, type Node, type SyncStatus } from "document-drive";
|
|
2
2
|
import { type Action, type ActionErrorCallback, type DocumentModelModule, type EditorContext, type EditorModule, type EditorProps, type PHDocument } from "document-model";
|
|
3
3
|
import { type FC } from "react";
|
|
4
|
-
import { type HookState } from "../hooks/document-state.js";
|
|
5
4
|
import { type User } from "../renown/types.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Interface representing the context values provided by the host application
|
|
7
|
+
* for managing document drive functionality.
|
|
8
|
+
*/
|
|
9
|
+
export type IDriveContext = {
|
|
10
10
|
/** Controls the visibility of the search bar in the drive interface */
|
|
11
11
|
showSearchBar: boolean;
|
|
12
12
|
/** Indicates whether the current user has permissions to create new documents */
|
|
13
13
|
isAllowedToCreateDocuments: boolean;
|
|
14
14
|
/** Array of available document models that can be created */
|
|
15
15
|
documentModels: DocumentModelModule[];
|
|
16
|
-
/** Currently selected node (file/folder) in the drive */
|
|
17
|
-
selectedNode: Node | null;
|
|
18
16
|
/**
|
|
19
|
-
*
|
|
20
|
-
|
|
17
|
+
* The name of the analytics database to use for the drive editor
|
|
18
|
+
*/
|
|
19
|
+
analyticsDatabaseName: string;
|
|
20
|
+
/**
|
|
21
|
+
* Callback to add a new file to the drive
|
|
22
|
+
* @param file - The file to be added
|
|
23
|
+
* @param parent - The parent node of the file
|
|
24
|
+
* @returns Promise resolving to the newly created Node
|
|
25
|
+
*/
|
|
26
|
+
onAddFile: (file: File, parent: Node | undefined) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Callback to add a new folder to the drive
|
|
29
|
+
* @param name - The name of the folder
|
|
30
|
+
* @param parent - The parent node of the folder
|
|
31
|
+
* @returns Promise resolving to the newly created FolderNode
|
|
32
|
+
*/
|
|
33
|
+
onAddFolder: (name: string, parent: Node | undefined) => Promise<FolderNode | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Callback to rename a node
|
|
36
|
+
* @param newName - The new name of the node
|
|
37
|
+
* @param node - The node to be renamed
|
|
38
|
+
* @returns Promise resolving to the newly renamed Node
|
|
39
|
+
*/
|
|
40
|
+
onRenameNode: (newName: string, node: Node) => Promise<Node | undefined>;
|
|
41
|
+
/**
|
|
42
|
+
* Callback to copy a node
|
|
43
|
+
* @param src - The node to be copied
|
|
44
|
+
* @param target - The parent node of the copied node
|
|
45
|
+
* @returns Promise resolving to the newly created Node
|
|
21
46
|
*/
|
|
22
|
-
|
|
47
|
+
onCopyNode: (src: Node, target: Node | undefined) => Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Callback to move a node
|
|
50
|
+
* @param src - The node to be moved
|
|
51
|
+
* @param target - The parent node of the moved node
|
|
52
|
+
* @returns Promise resolving to the newly created Node
|
|
53
|
+
*/
|
|
54
|
+
onMoveNode: (src: Node, target: Node | undefined) => Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Callback to duplicate a node
|
|
57
|
+
* @param src - The node to be duplicated
|
|
58
|
+
* @returns Promise resolving to the newly created Node
|
|
59
|
+
*/
|
|
60
|
+
onDuplicateNode: (src: Node) => Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Callback to add a new folder and select it
|
|
63
|
+
* @param name - The name of the folder
|
|
64
|
+
* @returns Promise resolving to the newly created FolderNode
|
|
65
|
+
*/
|
|
66
|
+
onAddAndSelectNewFolder: (name: string) => Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Callback to get the sync status of a sync
|
|
69
|
+
* @param syncId - The id of the sync
|
|
70
|
+
* @param sharingType - The sharing type of the sync
|
|
71
|
+
* @returns The sync status of the sync, or undefined if not found
|
|
72
|
+
*/
|
|
73
|
+
getSyncStatusSync: (syncId: string, sharingType: "LOCAL" | "CLOUD" | "PUBLIC") => SyncStatus | undefined;
|
|
23
74
|
/**
|
|
24
75
|
* Adds a new file to the drive
|
|
25
76
|
* @param file - File to be added (can be a string path or File object)
|
|
@@ -36,83 +87,46 @@ export interface DriveEditorContext extends Omit<EditorContext, "getDocumentRevi
|
|
|
36
87
|
* @param documentType - Type of document to create
|
|
37
88
|
* @param parentFolder - Optional parent folder of the document
|
|
38
89
|
* @param document - Optional document content
|
|
90
|
+
* @param id - Optional id for the document
|
|
39
91
|
* @returns Promise resolving to the newly created
|
|
40
92
|
*/
|
|
41
|
-
addDocument: (driveId: string, name: string, documentType: string, parentFolder?: string, document?: PHDocument) => Promise<FileNode>;
|
|
93
|
+
addDocument: (driveId: string, name: string, documentType: string, parentFolder?: string, document?: PHDocument, id?: string) => Promise<FileNode | undefined>;
|
|
42
94
|
/**
|
|
43
95
|
* Shows a modal for creating a new document
|
|
44
96
|
* @param documentModel - Document model of the document to be created
|
|
45
97
|
* @returns Promise resolving to an object containing the document name
|
|
46
98
|
*/
|
|
47
|
-
showCreateDocumentModal: (documentModel: DocumentModelModule) =>
|
|
48
|
-
name: string;
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* Retrieves the sync status of a document or drive
|
|
52
|
-
* @param driveId - ID of the drive to check sync status for
|
|
53
|
-
* @param documentId - ID of the document to check sync status for
|
|
54
|
-
* @returns SyncStatus object containing sync information
|
|
55
|
-
*/
|
|
56
|
-
useSyncStatus: (driveId: string, documentId?: string) => SyncStatus | undefined;
|
|
57
|
-
useDocumentEditorProps: (props: {
|
|
58
|
-
driveId: string;
|
|
59
|
-
documentId: string;
|
|
60
|
-
documentType: string;
|
|
61
|
-
documentModelModule: DocumentModelModule<PHDocument>;
|
|
62
|
-
user?: User;
|
|
63
|
-
}) => {
|
|
64
|
-
dispatch: (action: Action, onErrorCallback?: ActionErrorCallback) => void;
|
|
65
|
-
document: PHDocument | undefined;
|
|
66
|
-
error: unknown;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Retrieves the states of all documents in a drive
|
|
70
|
-
* @param driveId - ID of the drive to retrieve document states for
|
|
71
|
-
* @param documentIds - IDs of the documents to retrieve states for (all if not provided)
|
|
72
|
-
* @returns Record of document IDs to their states
|
|
73
|
-
*/
|
|
74
|
-
useDriveDocumentStates: (props: {
|
|
75
|
-
driveId: string;
|
|
76
|
-
documentIds?: string[];
|
|
77
|
-
}) => readonly [
|
|
78
|
-
Record<string, HookState>,
|
|
79
|
-
(_driveId: string, _documentIds?: string[]) => Promise<void>
|
|
80
|
-
];
|
|
81
|
-
/**
|
|
82
|
-
* Retrieves the state of a document in a drive
|
|
83
|
-
* @param driveId - ID of the drive to retrieve document state for
|
|
84
|
-
* @param documentId - ID of the document to retrieve state for
|
|
85
|
-
* @type TDocument - Type of the document to retrieve state for if known
|
|
86
|
-
* @returns State of the document
|
|
87
|
-
*/
|
|
88
|
-
useDriveDocumentState: (props: {
|
|
89
|
-
driveId: string;
|
|
90
|
-
documentId: string;
|
|
91
|
-
}) => PHDocument["state"] | undefined;
|
|
92
|
-
/**
|
|
93
|
-
* Retrieves a document from a specific revision
|
|
94
|
-
* @param documentId - ID of the document to retrieve
|
|
95
|
-
* @param options - Optional configuration options for the retrieval
|
|
96
|
-
* @returns Promise resolving to the document at the specified revision
|
|
97
|
-
*/
|
|
98
|
-
getDocumentRevision?: (documentId: string, options?: GetDocumentOptions) => Promise<PHDocument> | undefined;
|
|
99
|
+
showCreateDocumentModal: (documentModel: DocumentModelModule) => void;
|
|
99
100
|
/**
|
|
100
|
-
*
|
|
101
|
+
* Shows a modal for deleting a node
|
|
102
|
+
* @param node - The node to be deleted
|
|
101
103
|
*/
|
|
102
|
-
|
|
104
|
+
showDeleteNodeModal: (node: Node) => void;
|
|
103
105
|
/**
|
|
104
106
|
* Retrieves the document model module for a given document type
|
|
105
107
|
* @param documentType - The type of document to retrieve the model for
|
|
106
108
|
* @returns The document model module for the given document type, or undefined if not found
|
|
107
109
|
*/
|
|
108
|
-
getDocumentModelModule: (documentType: string) => DocumentModelModule<PHDocument> | undefined;
|
|
110
|
+
getDocumentModelModule: (documentType: string | undefined) => DocumentModelModule<PHDocument> | undefined;
|
|
109
111
|
/**
|
|
110
112
|
* Retrieves the editor module for a given document type
|
|
111
113
|
* @param documentType - The type of document to retrieve the editor for
|
|
112
114
|
* @returns The editor module for the given document type, or null if not found
|
|
113
115
|
*/
|
|
114
|
-
getEditor: (documentType: string) => EditorModule | null | undefined;
|
|
115
|
-
|
|
116
|
+
getEditor: (documentType: string | undefined) => EditorModule | null | undefined;
|
|
117
|
+
useDocumentEditorProps: (props: {
|
|
118
|
+
driveId: string | undefined;
|
|
119
|
+
documentId: string | undefined;
|
|
120
|
+
documentType: string | undefined;
|
|
121
|
+
documentModelModule: DocumentModelModule<PHDocument> | undefined;
|
|
122
|
+
user?: User;
|
|
123
|
+
}) => {
|
|
124
|
+
dispatch: (action: Action, onErrorCallback?: ActionErrorCallback) => void;
|
|
125
|
+
document: PHDocument | undefined;
|
|
126
|
+
error: unknown;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
export type DriveEditorContext = Omit<EditorContext, "getDocumentRevision"> & IDriveContext;
|
|
116
130
|
export interface DriveEditorProps<TDocument extends PHDocument> extends Omit<EditorProps<TDocument>, "context"> {
|
|
117
131
|
context: DriveEditorContext;
|
|
118
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,
|
|
1
|
+
{"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,MAAM,EACX,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,uEAAuE;IACvE,aAAa,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,0BAA0B,EAAE,OAAO,CAAC;IACpC,6DAA6D;IAC7D,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACrC;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACzE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;OAIG;IACH,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;OAKG;IACH,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,KACtC,UAAU,GAAG,SAAS,CAAC;IAC5B;;;;;;;OAOG;IACH,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;;OASG;IACH,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,UAAU,EACrB,EAAE,CAAC,EAAE,MAAM,KACR,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACnC;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,aAAa,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,sBAAsB,EAAE,CACtB,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACjD;;;;OAIG;IACH,SAAS,EAAE,CACT,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,sBAAsB,EAAE,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,mBAAmB,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACjE,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,KAAK;QACJ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAC1E,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,GACzE,aAAa,CAAC;AAEhB,MAAM,WAAW,gBAAgB,CAAC,SAAS,SAAS,UAAU,CAC5D,SAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/C,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,CAC3B,SAAS,SAAS,UAAU,GAAG,UAAU,EACzC,YAAY,GAAG,OAAO,EACtB,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACrE;IACF,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACrE,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAOxD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;SACjC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;SACjC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CACjF;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA+B;IAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC"}
|