@dxos/react-client 2.25.1-dev.bf49bd36 → 2.26.1-dev.544435db
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/.rush/temp/package-deps_build:test.json +4 -5
- package/.rush/temp/package-deps_prerelease.json +4 -5
- package/dist/src/hooks/client/useProfile.d.ts +1 -1
- package/dist/src/hooks/client/useProfile.d.ts.map +1 -1
- package/dist/src/hooks/echo-queries/index.d.ts +0 -1
- package/dist/src/hooks/echo-queries/index.d.ts.map +1 -1
- package/dist/src/hooks/echo-queries/index.js +0 -1
- package/dist/src/hooks/echo-queries/index.js.map +1 -1
- package/dist/src/hooks/echo-selections/search.d.ts +2 -1
- package/dist/src/hooks/echo-selections/search.d.ts.map +1 -1
- package/dist/src/hooks/echo-selections/search.js +9 -7
- package/dist/src/hooks/echo-selections/search.js.map +1 -1
- package/dist/src/hooks/echo-selections/useSelection.d.ts +3 -3
- package/dist/src/hooks/echo-selections/useSelection.d.ts.map +1 -1
- package/dist/src/hooks/echo-selections/useSelection.js +16 -13
- package/dist/src/hooks/echo-selections/useSelection.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/hooks/echo-queries/index.ts +0 -1
- package/src/hooks/echo-selections/search.ts +9 -5
- package/src/hooks/echo-selections/useSelection.ts +20 -15
- package/.rush/temp/package-deps_build.json +0 -59
- package/dist/src/hooks/echo-queries/useRemoteParties.d.ts +0 -7
- package/dist/src/hooks/echo-queries/useRemoteParties.d.ts.map +0 -1
- package/dist/src/hooks/echo-queries/useRemoteParties.js +0 -24
- package/dist/src/hooks/echo-queries/useRemoteParties.js.map +0 -1
- package/src/hooks/echo-queries/useRemoteParties.ts +0 -27
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packages/sdk/react-client/.rush/temp/shrinkwrap-deps.json": "ae92a2df6b70ebdd49b2ca854855921575eb76ee",
|
|
4
4
|
"packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
|
|
5
5
|
"packages/sdk/react-client/esbuild-server.config.js": "4cd7d0e6cd307de23b075d64c07ad4e0cf715ff4",
|
|
6
|
-
"packages/sdk/react-client/package.json": "
|
|
6
|
+
"packages/sdk/react-client/package.json": "a6a054305d08619469bf3eaf5b73a766b96c8d6f",
|
|
7
7
|
"packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
|
|
8
8
|
"packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
|
|
9
9
|
"packages/sdk/react-client/src/containers/ClientProvider.tsx": "ba3205aea3238406555f084f53723651e2aed793",
|
|
@@ -17,14 +17,13 @@
|
|
|
17
17
|
"packages/sdk/react-client/src/hooks/client/useClient.ts": "a57cc8ce9cd54e0f20c10923b7d70e9029b57665",
|
|
18
18
|
"packages/sdk/react-client/src/hooks/client/useConfig.ts": "6ad945c8d378e560c24640b87036415b9bc0f811",
|
|
19
19
|
"packages/sdk/react-client/src/hooks/client/useProfile.ts": "f46262917bf0fc6e6b025368380cf6d5d67634c6",
|
|
20
|
-
"packages/sdk/react-client/src/hooks/echo-queries/index.ts": "
|
|
20
|
+
"packages/sdk/react-client/src/hooks/echo-queries/index.ts": "4465a3624739e1bd57c577306bd7af246a0f686d",
|
|
21
21
|
"packages/sdk/react-client/src/hooks/echo-queries/useContacts.ts": "0f9e9c8b9983c536b2410e4835d796069b4589a3",
|
|
22
22
|
"packages/sdk/react-client/src/hooks/echo-queries/useMembers.tsx": "5e938a36eb10d3414f839c72a749b55826765952",
|
|
23
23
|
"packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
|
|
24
|
-
"packages/sdk/react-client/src/hooks/echo-queries/useRemoteParties.ts": "4657d62c7c37b5736d85c1cf4d636287268ce1ed",
|
|
25
24
|
"packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
|
|
26
|
-
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "
|
|
27
|
-
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "
|
|
25
|
+
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "91254b067d6e9c52d9b13aa1370fdc89d2f29201",
|
|
26
|
+
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "b13ab16082e245ed426058b384e0ebd2c734e0c3",
|
|
28
27
|
"packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
|
|
29
28
|
"packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
|
|
30
29
|
"packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "47f950b60dbda5861c82ad17eb784df35185246d",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"packages/sdk/react-client/.rush/temp/shrinkwrap-deps.json": "ae92a2df6b70ebdd49b2ca854855921575eb76ee",
|
|
4
4
|
"packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
|
|
5
5
|
"packages/sdk/react-client/esbuild-server.config.js": "4cd7d0e6cd307de23b075d64c07ad4e0cf715ff4",
|
|
6
|
-
"packages/sdk/react-client/package.json": "
|
|
6
|
+
"packages/sdk/react-client/package.json": "a6a054305d08619469bf3eaf5b73a766b96c8d6f",
|
|
7
7
|
"packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
|
|
8
8
|
"packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
|
|
9
9
|
"packages/sdk/react-client/src/containers/ClientProvider.tsx": "ba3205aea3238406555f084f53723651e2aed793",
|
|
@@ -17,14 +17,13 @@
|
|
|
17
17
|
"packages/sdk/react-client/src/hooks/client/useClient.ts": "a57cc8ce9cd54e0f20c10923b7d70e9029b57665",
|
|
18
18
|
"packages/sdk/react-client/src/hooks/client/useConfig.ts": "6ad945c8d378e560c24640b87036415b9bc0f811",
|
|
19
19
|
"packages/sdk/react-client/src/hooks/client/useProfile.ts": "f46262917bf0fc6e6b025368380cf6d5d67634c6",
|
|
20
|
-
"packages/sdk/react-client/src/hooks/echo-queries/index.ts": "
|
|
20
|
+
"packages/sdk/react-client/src/hooks/echo-queries/index.ts": "4465a3624739e1bd57c577306bd7af246a0f686d",
|
|
21
21
|
"packages/sdk/react-client/src/hooks/echo-queries/useContacts.ts": "0f9e9c8b9983c536b2410e4835d796069b4589a3",
|
|
22
22
|
"packages/sdk/react-client/src/hooks/echo-queries/useMembers.tsx": "5e938a36eb10d3414f839c72a749b55826765952",
|
|
23
23
|
"packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
|
|
24
|
-
"packages/sdk/react-client/src/hooks/echo-queries/useRemoteParties.ts": "4657d62c7c37b5736d85c1cf4d636287268ce1ed",
|
|
25
24
|
"packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
|
|
26
|
-
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "
|
|
27
|
-
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "
|
|
25
|
+
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "91254b067d6e9c52d9b13aa1370fdc89d2f29201",
|
|
26
|
+
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "b13ab16082e245ed426058b384e0ebd2c734e0c3",
|
|
28
27
|
"packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
|
|
29
28
|
"packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
|
|
30
29
|
"packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "47f950b60dbda5861c82ad17eb784df35185246d",
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Hook returning DXOS user profile object.
|
|
3
3
|
* Requires ClientContext to be set via ClientProvider.
|
|
4
4
|
*/
|
|
5
|
-
export declare const useProfile: () => import("@dxos/client/src/proto/gen/dxos/client").Profile | undefined;
|
|
5
|
+
export declare const useProfile: () => import("@dxos/client/dist/src/proto/gen/dxos/client").Profile | undefined;
|
|
6
6
|
//# sourceMappingURL=useProfile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProfile.d.ts","sourceRoot":"","sources":["../../../../src/hooks/client/useProfile.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"useProfile.d.ts","sourceRoot":"","sources":["../../../../src/hooks/client/useProfile.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,UAAU,iFAStB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-queries/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-queries/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
@@ -16,5 +16,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
__exportStar(require("./useContacts"), exports);
|
|
17
17
|
__exportStar(require("./useMembers"), exports);
|
|
18
18
|
__exportStar(require("./useParties"), exports);
|
|
19
|
-
__exportStar(require("./useRemoteParties"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/echo-queries/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/echo-queries/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Party } from '@dxos/client';
|
|
1
2
|
/**
|
|
2
3
|
* A Selector used for finding items based on a search pattern.
|
|
3
4
|
* @param search Searched value.
|
|
4
5
|
*/
|
|
5
|
-
export declare const
|
|
6
|
+
export declare const useSearchSelection: (party: Party, search: any) => import("@dxos/client").Item<any>[] | undefined;
|
|
6
7
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/search.ts"],"names":[],"mappings":"AAIA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/search.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC;;;GAGG;AAGH,eAAO,MAAM,kBAAkB,UAAW,KAAK,UAAU,GAAG,mDAwB3D,CAAC"}
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
// Copyright 2020 DXOS.org
|
|
4
4
|
//
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.useSearchSelection = void 0;
|
|
7
|
+
const _1 = require(".");
|
|
7
8
|
/**
|
|
8
9
|
* A Selector used for finding items based on a search pattern.
|
|
9
10
|
* @param search Searched value.
|
|
10
11
|
*/
|
|
11
12
|
// TODO(burdon): Create index.
|
|
12
|
-
|
|
13
|
+
// TODO(dmaretskyi): Why is this in react-client?
|
|
14
|
+
const useSearchSelection = (party, search) => {
|
|
13
15
|
const match = (pattern, text) => {
|
|
14
16
|
if (!pattern) {
|
|
15
17
|
return true;
|
|
@@ -20,16 +22,16 @@ const searchSelector = (search) => (selection) => {
|
|
|
20
22
|
// TODO(burdon): Prefix match.
|
|
21
23
|
return text.toLowerCase().indexOf(pattern) !== -1;
|
|
22
24
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
return (0, _1.useSelection)(party.select().filter(item => {
|
|
26
|
+
var _a;
|
|
25
27
|
// TODO(burdon): Filter types.
|
|
26
|
-
if (item.type.indexOf('example') === -1) {
|
|
28
|
+
if (((_a = item.type) === null || _a === void 0 ? void 0 : _a.indexOf('example')) === -1) {
|
|
27
29
|
return false;
|
|
28
30
|
}
|
|
29
31
|
// TODO(burdon): Generalize.
|
|
30
32
|
const text = item.model.getProperty('name');
|
|
31
33
|
return match(search, text);
|
|
32
|
-
});
|
|
34
|
+
}), [search]);
|
|
33
35
|
};
|
|
34
|
-
exports.
|
|
36
|
+
exports.useSearchSelection = useSearchSelection;
|
|
35
37
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/search.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/search.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF,wBAAiC;AAEjC;;;GAGG;AACH,8BAA8B;AAC9B,iDAAiD;AAC1C,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,MAAW,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,CAAC,OAAY,EAAE,IAAS,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,8BAA8B;QAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,OAAO,IAAA,eAAY,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;QAC/C,8BAA8B;QAC9B,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,SAAS,CAAC,MAAK,CAAC,CAAC,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QAED,4BAA4B;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,kBAAkB,sBAwB7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Entity, Selection } from '@dxos/client';
|
|
2
2
|
import { Falsy } from '@dxos/util';
|
|
3
3
|
/**
|
|
4
4
|
* Hook to generate values from a selection using a selector function.
|
|
@@ -8,8 +8,8 @@ import { Falsy } from '@dxos/util';
|
|
|
8
8
|
* apart from changes in ECHO database itself, must be passed to deps array
|
|
9
9
|
* for updates to work correctly.
|
|
10
10
|
*
|
|
11
|
-
* @param
|
|
11
|
+
* @param selection Selection from which to query data. Can be falsy - in that case the hook will return undefined.
|
|
12
12
|
* @param deps Array of values that trigger the selector when changed.
|
|
13
13
|
*/
|
|
14
|
-
export declare function useSelection<T
|
|
14
|
+
export declare function useSelection<T extends Entity<any>>(selection: Selection<T> | Falsy, deps?: readonly any[]): T[] | undefined;
|
|
15
15
|
//# sourceMappingURL=useSelection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,EAChD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAC/B,IAAI,GAAE,SAAS,GAAG,EAAO,GACxB,CAAC,EAAE,GAAG,SAAS,CAsBjB"}
|
|
@@ -13,24 +13,27 @@ const react_1 = require("react");
|
|
|
13
13
|
* apart from changes in ECHO database itself, must be passed to deps array
|
|
14
14
|
* for updates to work correctly.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param selection Selection from which to query data. Can be falsy - in that case the hook will return undefined.
|
|
17
17
|
* @param deps Array of values that trigger the selector when changed.
|
|
18
18
|
*/
|
|
19
|
-
function useSelection(
|
|
20
|
-
const [
|
|
21
|
-
|
|
19
|
+
function useSelection(selection, deps = []) {
|
|
20
|
+
const [result, setResult] = (0, react_1.useState)(() => selection ? selection.query() : undefined);
|
|
21
|
+
const [data, setData] = (0, react_1.useState)(() => result ? result.result : undefined);
|
|
22
|
+
// Update selection when the query or customs deps change.
|
|
22
23
|
(0, react_1.useEffect)(() => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const newResult = selection ? selection.query() : undefined;
|
|
25
|
+
const newData = newResult ? newResult.result : undefined;
|
|
26
|
+
setResult(newResult);
|
|
27
|
+
setData(newData);
|
|
28
|
+
}, [!!selection, !!selection && selection.root, ...deps]);
|
|
29
|
+
// Update data when database updates.
|
|
30
|
+
(0, react_1.useEffect)(() => {
|
|
31
|
+
if (result) {
|
|
32
|
+
return result.update.on(newData => {
|
|
33
|
+
setData(newData);
|
|
26
34
|
});
|
|
27
|
-
setData(selectionResult.getValue());
|
|
28
|
-
return unsub;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
setData(undefined);
|
|
32
35
|
}
|
|
33
|
-
},
|
|
36
|
+
}, [result]);
|
|
34
37
|
return data;
|
|
35
38
|
}
|
|
36
39
|
exports.useSelection = useSelection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,iCAA4C;AAK5C;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAC1B,
|
|
1
|
+
{"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,iCAA4C;AAK5C;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAC1B,SAA+B,EAC/B,OAAuB,EAAE;IAEzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E,0DAA0D;IAC1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAE1D,qCAAqC;IACrC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;gBAChC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,IAAI,CAAC;AACd,CAAC;AAzBD,oCAyBC"}
|