@agoric/async-flow 0.1.1-dev-56687b4.0 → 0.1.1-dev-f9bd118.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/package.json +8 -8
- package/src/async-flow.d.ts +2 -2
- package/src/async-flow.d.ts.map +1 -1
- package/src/bijection.d.ts.map +1 -1
- package/src/convert.d.ts.map +1 -1
- package/src/ephemera.d.ts.map +1 -1
- package/src/log-store.d.ts.map +1 -1
- package/src/replay-membrane.d.ts +5 -51
- package/src/replay-membrane.d.ts.map +1 -1
- package/src/types.d.ts +7 -26
- package/src/types.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/async-flow",
|
|
3
|
-
"version": "0.1.1-dev-
|
|
3
|
+
"version": "0.1.1-dev-f9bd118.0+f9bd118",
|
|
4
4
|
"description": "Upgrade async functions at await points by replay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": "https://github.com/Agoric/agoric-sdk",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"author": "Agoric",
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@agoric/base-zone": "0.1.1-dev-
|
|
28
|
-
"@agoric/store": "0.9.3-dev-
|
|
29
|
-
"@agoric/vow": "0.1.1-dev-
|
|
27
|
+
"@agoric/base-zone": "0.1.1-dev-f9bd118.0+f9bd118",
|
|
28
|
+
"@agoric/store": "0.9.3-dev-f9bd118.0+f9bd118",
|
|
29
|
+
"@agoric/vow": "0.1.1-dev-f9bd118.0+f9bd118",
|
|
30
30
|
"@endo/common": "^1.2.2",
|
|
31
31
|
"@endo/errors": "^1.2.2",
|
|
32
32
|
"@endo/eventual-send": "^1.2.2",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"@endo/promise-kit": "^1.1.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@agoric/internal": "0.3.3-dev-
|
|
40
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
41
|
-
"@agoric/zone": "0.2.3-dev-
|
|
39
|
+
"@agoric/internal": "0.3.3-dev-f9bd118.0+f9bd118",
|
|
40
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-f9bd118.0+f9bd118",
|
|
41
|
+
"@agoric/zone": "0.2.3-dev-f9bd118.0+f9bd118",
|
|
42
42
|
"@endo/env-options": "^1.1.4",
|
|
43
43
|
"@endo/ses-ava": "^1.2.2",
|
|
44
44
|
"ava": "^5.3.0"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"typeCoverage": {
|
|
63
63
|
"atLeast": 77.83
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "f9bd11862217171da60bebbc39a7f2f6f652dbde"
|
|
66
66
|
}
|
package/src/async-flow.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export function prepareAsyncFlowTools(outerZone: Zone, outerOptions?: Preparatio
|
|
|
41
41
|
};
|
|
42
42
|
export type AsyncFlowTools = ReturnType<(outerZone: Zone, outerOptions?: PreparationOptions | undefined) => {
|
|
43
43
|
prepareAsyncFlowKit: (zone: Zone, tag: string, guestAsyncFunc: GuestAsyncFunc, options?: {
|
|
44
|
-
startEager?: boolean
|
|
44
|
+
startEager?: boolean;
|
|
45
45
|
} | undefined) => (activationArgs: any) => import("@endo/exo").GuardedKit<{
|
|
46
46
|
flow: {
|
|
47
47
|
/**
|
|
@@ -71,7 +71,7 @@ export type AsyncFlowTools = ReturnType<(outerZone: Zone, outerOptions?: Prepara
|
|
|
71
71
|
};
|
|
72
72
|
}>;
|
|
73
73
|
asyncFlow: (zone: Zone, tag: string, guestFunc: GuestAsyncFunc, options?: {
|
|
74
|
-
startEager?: boolean
|
|
74
|
+
startEager?: boolean;
|
|
75
75
|
} | undefined) => HostAsyncFuncWrapper;
|
|
76
76
|
adminAsyncFlow: import("@endo/exo").Guarded<{
|
|
77
77
|
getFailures(): import("@endo/patterns").CopyMap<any, import("@endo/pass-style").Passable>;
|
package/src/async-flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-flow.d.ts","sourceRoot":"","sources":["async-flow.js"],"names":[],"mappings":"AAmDO;
|
|
1
|
+
{"version":3,"file":"async-flow.d.ts","sourceRoot":"","sources":["async-flow.js"],"names":[],"mappings":"AAmDO,iDAHI,IAAI;gCAyCF,IAAI,OACJ,MAAM,kBACN,cAAc;qBACC,OAAO;;;YA4BzB;;eAEG;4BADU,SAAS;YAkCtB;;;;;eAKG;;;;;;;;;;;;;;;;;sBAiRA,IAAI,OACJ,MAAM,aACN,cAAc;qBACC,OAAO;sBACpB,oBAAoB;;;;;;;EAkDlC;6BAIY,UAAU,aA3bZ,IAAI;gCAyCF,IAAI,OACJ,MAAM,kBACN,cAAc;qBACC,OAAO;;;YA4BzB;;eAEG;4BADU,SAAS;YAkCtB;;;;;eAKG;;;;;;;;;;;;;;;;;sBAiRA,IAAI,OACJ,MAAM,aACN,cAAc;qBACC,OAAO;sBACpB,oBAAoB;;;;;;;EAsDW;6BAIjC,cAAc,CAAC,gBAAgB,CAAC;+BAIhC,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;2BAIjD,UAAU,CAAC,gBAAgB,CAAC;wBAI5B,YAAY,CAAC,MAAM,CAAC;0BA7eV,mBAAmB;wCAI4C,iBAAiB;oCAAjB,iBAAiB;+BAAjB,iBAAiB;0CAAjB,iBAAiB"}
|
package/src/bijection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bijection.d.ts","sourceRoot":"","sources":["bijection.js"],"names":[],"mappings":"AAgEO;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bijection.d.ts","sourceRoot":"","sources":["bijection.js"],"names":[],"mappings":"AAgEO,uCAFI,IAAI;;;;;;;;GAsEd;0BAzEa,UAAU,QAhCb,MAAM;;;;;;;;GAgCwB;wBA6E5B,UAAU,CAAC,UAAU,QA1EvB,IAAI;;;;;;;;GA0EqC,CAAC;0BAhI9B,mBAAmB"}
|
package/src/convert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["convert.js"],"names":[],"mappings":"AA+EO
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["convert.js"],"names":[],"mappings":"AA+EO;4BARM,QAAQ;4BAAR,QAAQ;EA8DpB;8BAxH0B,kBAAkB"}
|
package/src/ephemera.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ephemera.d.ts","sourceRoot":"","sources":["ephemera.js"],"names":[],"mappings":"AAwBO,
|
|
1
|
+
{"version":3,"file":"ephemera.d.ts","sourceRoot":"","sources":["ephemera.js"],"names":[],"mappings":"AAwBO,6BALiB,CAAC,SAAX,OAAQ,YACF,CAAC,gCACV,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GACZ,SAAS,CAAC,EAAC,CAAC,CAAC,CAiBzB;8BApC0B,YAAY"}
|
package/src/log-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-store.d.ts","sourceRoot":"","sources":["log-store.js"],"names":[],"mappings":"AA+BO;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"log-store.d.ts","sourceRoot":"","sources":["log-store.js"],"names":[],"mappings":"AA+BO,sCAFI,IAAI;;;;;;;;;;;GAsId;uBAGY,UAAU,CAAC,UAAU,QAzIvB,IAAI;;;;;;;;;;;GAyIoC,CAAC;0BA9J7B,mBAAmB;8BAEL,YAAY"}
|
package/src/replay-membrane.d.ts
CHANGED
|
@@ -1,28 +1,4 @@
|
|
|
1
|
-
export function makeReplayMembrane(log:
|
|
2
|
-
reset(): void;
|
|
3
|
-
dispose(): void;
|
|
4
|
-
getIndex(): number;
|
|
5
|
-
getLength(): number;
|
|
6
|
-
isReplaying(): boolean;
|
|
7
|
-
peekEntry(): LogEntry;
|
|
8
|
-
nextEntry(): LogEntry;
|
|
9
|
-
pushEntry(entry: any): number;
|
|
10
|
-
dump(): ([op: "doFulfill", vow: Vow<import("@endo/pass-style").Passable>, fulfillment: import("@endo/pass-style").Passable] | [op: "doReject", vow: Vow<import("@endo/pass-style").Passable>, reason: import("@endo/pass-style").Passable] | [op: "doReturn", callIndex: number, result: import("@endo/pass-style").Passable] | [op: "doThrow", callIndex: number, problem: import("@endo/pass-style").Passable] | [op: "checkCall", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number])[];
|
|
11
|
-
promiseReplayDone(): Promise<undefined>;
|
|
12
|
-
}>, bijection: import("@endo/exo").Guarded<{
|
|
13
|
-
reset(): void;
|
|
14
|
-
init(g: any, h: any): void;
|
|
15
|
-
hasGuest(g: any): boolean;
|
|
16
|
-
hasHost(h: any): boolean;
|
|
17
|
-
has(g: any, h: any): boolean;
|
|
18
|
-
guestToHost(g: any): any;
|
|
19
|
-
hostToGuest(h: any): any;
|
|
20
|
-
}>, vowTools: {
|
|
21
|
-
when: <T, TResult1 = import("@agoric/vow").EUnwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow").EUnwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
|
|
22
|
-
watch: <T_1 = any, TResult1_1 = T_1, TResult2_1 = never, C = any>(specimenP: import("@agoric/vow").ERef<T_1 | Vow<T_1>>, watcher?: import("@agoric/vow").Watcher<T_1, TResult1_1, TResult2_1> | undefined, watcherContext?: C | undefined) => Vow<Exclude<TResult1_1, void> | Exclude<TResult2_1, void> extends never ? TResult1_1 : Exclude<TResult1_1, void> | Exclude<TResult2_1, void>>;
|
|
23
|
-
makeVowKit: <T_2>() => import("@agoric/vow").VowKit<T_2>;
|
|
24
|
-
allVows: (vows: unknown[]) => Vow<any[]>;
|
|
25
|
-
}, watchWake: (vowish: Promise<any> | Vow) => void, panic: (problem: Error) => never): {
|
|
1
|
+
export function makeReplayMembrane(log: LogStore, bijection: Bijection, vowTools: VowTools, watchWake: (vowish: Promise<any> | Vow) => void, panic: (problem: Error) => never): {
|
|
26
2
|
hostToGuest: (specimen: import("@endo/pass-style").Passable, label?: string | undefined) => any;
|
|
27
3
|
guestToHost: (specimen: import("@endo/pass-style").Passable, label?: string | undefined) => any;
|
|
28
4
|
wake: () => void;
|
|
@@ -33,31 +9,7 @@ export function makeReplayMembrane(log: import("@endo/exo").Guarded<{
|
|
|
33
9
|
wake: () => void;
|
|
34
10
|
stop: () => void;
|
|
35
11
|
}>;
|
|
36
|
-
export type ReplayMembrane = ReturnType<(log:
|
|
37
|
-
reset(): void;
|
|
38
|
-
dispose(): void;
|
|
39
|
-
getIndex(): number;
|
|
40
|
-
getLength(): number;
|
|
41
|
-
isReplaying(): boolean;
|
|
42
|
-
peekEntry(): LogEntry;
|
|
43
|
-
nextEntry(): LogEntry;
|
|
44
|
-
pushEntry(entry: any): number;
|
|
45
|
-
dump(): ([op: "doFulfill", vow: Vow<import("@endo/pass-style").Passable>, fulfillment: import("@endo/pass-style").Passable] | [op: "doReject", vow: Vow<import("@endo/pass-style").Passable>, reason: import("@endo/pass-style").Passable] | [op: "doReturn", callIndex: number, result: import("@endo/pass-style").Passable] | [op: "doThrow", callIndex: number, problem: import("@endo/pass-style").Passable] | [op: "checkCall", target: import("@endo/pass-style").Passable, optVerb: PropertyKey | undefined, args: import("@endo/pass-style").Passable[], callIndex: number])[];
|
|
46
|
-
promiseReplayDone(): Promise<undefined>;
|
|
47
|
-
}>, bijection: import("@endo/exo").Guarded<{
|
|
48
|
-
reset(): void;
|
|
49
|
-
init(g: any, h: any): void;
|
|
50
|
-
hasGuest(g: any): boolean;
|
|
51
|
-
hasHost(h: any): boolean;
|
|
52
|
-
has(g: any, h: any): boolean;
|
|
53
|
-
guestToHost(g: any): any;
|
|
54
|
-
hostToGuest(h: any): any;
|
|
55
|
-
}>, vowTools: {
|
|
56
|
-
when: <T, TResult1 = import("@agoric/vow").EUnwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow").EUnwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
|
|
57
|
-
watch: <T_1 = any, TResult1_1 = T_1, TResult2_1 = never, C = any>(specimenP: import("@agoric/vow").ERef<T_1 | Vow<T_1>>, watcher?: import("@agoric/vow").Watcher<T_1, TResult1_1, TResult2_1> | undefined, watcherContext?: C | undefined) => Vow<Exclude<TResult1_1, void> | Exclude<TResult2_1, void> extends never ? TResult1_1 : Exclude<TResult1_1, void> | Exclude<TResult2_1, void>>;
|
|
58
|
-
makeVowKit: <T_2>() => import("@agoric/vow").VowKit<T_2>;
|
|
59
|
-
allVows: (vows: unknown[]) => Vow<any[]>;
|
|
60
|
-
}, watchWake: (vowish: Promise<any> | Vow) => void, panic: (problem: Error) => never) => {
|
|
12
|
+
export type ReplayMembrane = ReturnType<(log: LogStore, bijection: Bijection, vowTools: VowTools, watchWake: (vowish: Promise<any> | Vow) => void, panic: (problem: Error) => never) => {
|
|
61
13
|
hostToGuest: (specimen: import("@endo/pass-style").Passable, label?: string | undefined) => any;
|
|
62
14
|
guestToHost: (specimen: import("@endo/pass-style").Passable, label?: string | undefined) => any;
|
|
63
15
|
wake: () => void;
|
|
@@ -68,6 +20,8 @@ export type ReplayMembrane = ReturnType<(log: import("@endo/exo").Guarded<{
|
|
|
68
20
|
wake: () => void;
|
|
69
21
|
stop: () => void;
|
|
70
22
|
}>>;
|
|
71
|
-
import type {
|
|
23
|
+
import type { LogStore } from '../src/log-store.js';
|
|
24
|
+
import type { Bijection } from '../src/bijection.js';
|
|
25
|
+
import type { VowTools } from '@agoric/vow';
|
|
72
26
|
import type { Vow } from '@agoric/vow';
|
|
73
27
|
//# sourceMappingURL=replay-membrane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-membrane.d.ts","sourceRoot":"","sources":["replay-membrane.js"],"names":[],"mappings":"AA2BO
|
|
1
|
+
{"version":3,"file":"replay-membrane.d.ts","sourceRoot":"","sources":["replay-membrane.js"],"names":[],"mappings":"AA2BO,wCANI,QAAQ,aACR,SAAS,YACT,QAAQ,aACR,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI,SAC/B,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;;;;;;;;;;GAqdnC;6BAGa,UAAU,OA5db,QAAQ,aACR,SAAS,YACT,QAAQ,aACR,CAAC,MAAM,EAAE,eAAU,GAAG,KAAK,IAAI,SAC/B,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK;;;;;;;;;;GAwdQ;8BApejB,qBAAqB;+BACpB,qBAAqB;8BAHjB,aAAa;yBAAb,aAAa"}
|
package/src/types.d.ts
CHANGED
|
@@ -5,39 +5,18 @@ export type Host<T extends Passable = Passable> = T;
|
|
|
5
5
|
* A HostVow must be durably storable. It corresponds to an
|
|
6
6
|
* ephemeral guest promise.
|
|
7
7
|
*/
|
|
8
|
-
export type HostVow<T extends Passable = Passable> =
|
|
9
|
-
payload: import("@agoric/vow").VowPayload<T>;
|
|
10
|
-
};
|
|
8
|
+
export type HostVow<T extends Passable = Passable> = Host<Vow<T>>;
|
|
11
9
|
export type GuestAsyncFunc = (...activationArgs: Guest[]) => Guest<Promise<any>>;
|
|
12
10
|
export type HostAsyncFuncWrapper = (...activationArgs: Host[]) => HostVow;
|
|
13
11
|
export type PreparationOptions = {
|
|
14
12
|
vowTools?: {
|
|
15
13
|
when: <T, TResult1 = import("@agoric/vow").EUnwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow").EUnwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
|
|
16
|
-
watch: <
|
|
17
|
-
makeVowKit: <
|
|
14
|
+
watch: <T = any, TResult1 = T, TResult2 = never, C = any>(specimenP: import("@agoric/vow").ERef<T | Vow<T>>, watcher?: import("@agoric/vow").Watcher<T, TResult1, TResult2> | undefined, watcherContext?: C | undefined) => Vow<Exclude<TResult1, void> | Exclude<TResult2, void> extends never ? TResult1 : Exclude<TResult1, void> | Exclude<TResult2, void>>;
|
|
15
|
+
makeVowKit: <T>() => import("@agoric/vow").VowKit<T>;
|
|
18
16
|
allVows: (vows: unknown[]) => Vow<any[]>;
|
|
19
17
|
} | undefined;
|
|
20
|
-
makeLogStore?: (() =>
|
|
21
|
-
|
|
22
|
-
dispose(): void;
|
|
23
|
-
getIndex(): number;
|
|
24
|
-
getLength(): number;
|
|
25
|
-
isReplaying(): boolean;
|
|
26
|
-
peekEntry(): LogEntry;
|
|
27
|
-
nextEntry(): LogEntry;
|
|
28
|
-
pushEntry(entry: any): number;
|
|
29
|
-
dump(): ([op: "doFulfill", vow: Vow<Passable>, fulfillment: Passable] | [op: "doReject", vow: Vow<Passable>, reason: Passable] | [op: "doReturn", callIndex: number, result: Passable] | [op: "doThrow", callIndex: number, problem: Passable] | [op: "checkCall", target: Passable, optVerb: PropertyKey | undefined, args: Passable[], callIndex: number])[];
|
|
30
|
-
promiseReplayDone(): Promise<undefined>;
|
|
31
|
-
}>) | undefined;
|
|
32
|
-
makeBijection?: (() => import("@endo/exo").Guarded<{
|
|
33
|
-
reset(): void;
|
|
34
|
-
init(g: any, h: any): void;
|
|
35
|
-
hasGuest(g: any): boolean;
|
|
36
|
-
hasHost(h: any): boolean;
|
|
37
|
-
has(g: any, h: any): boolean;
|
|
38
|
-
guestToHost(g: any): any;
|
|
39
|
-
hostToGuest(h: any): any;
|
|
40
|
-
}>) | undefined;
|
|
18
|
+
makeLogStore?: (() => LogStore) | undefined;
|
|
19
|
+
makeBijection?: (() => Bijection) | undefined;
|
|
41
20
|
};
|
|
42
21
|
export type OutcomeKind = "return" | "throw";
|
|
43
22
|
export type Outcome = {
|
|
@@ -61,4 +40,6 @@ op: "doFulfill", vow: HostVow, fulfillment: Host] | [op: "doReject", vow: HostVo
|
|
|
61
40
|
op: "checkCall", target: Host, optVerb: PropertyKey | undefined, args: Host[], callIndex: number];
|
|
62
41
|
import type { Passable } from '@endo/pass-style';
|
|
63
42
|
import type { Vow } from '@agoric/vow';
|
|
43
|
+
import type { LogStore } from './log-store.js';
|
|
44
|
+
import type { Bijection } from './bijection.js';
|
|
64
45
|
//# sourceMappingURL=types.d.ts.map
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"wBAaa,SAAS,GACrB,UAAsB,GACtB,WAAuB,GACvB,QAAoB,GACpB,MAAkB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"wBAaa,SAAS,GACrB,UAAsB,GACtB,WAAuB,GACvB,QAAoB,GACpB,MAAkB;kBAKM,CAAC,SAAb,QAAU,eACV,CAAC;iBAIW,CAAC,SAAb,QAAU,eACV,CAAC;;;;;oBAOW,CAAC,SAAb,QAAU,eACV,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;6BAIZ,CAAC,GAAG,cAAc,EAAE,KAAK,EAAE,KAAK,KAAK,cAAS;mCAI9C,CAAC,GAAG,cAAc,EAAE,IAAI,EAAE,KAAK,OAAO;;;;;;;;0BAM/B,QAAQ;2BACR,SAAS;;0BAIhB,QAAQ,GAAC,OAAO;sBAIhB;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAC,GAC7B;IAAC,IAAI,EAAE,OAAO,CAAC;IAAE,OAAO,EAAE,GAAG,CAAA;CAAC;qBAKnB,CAAC,SAAX,OAAQ,YACF,CAAC;SAEP,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;cACd,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI;;;;;;;uBAQlB,CAAE,iEAAiE;AAC/E,EAAQ,EAAE,WAAW,EACrB,GAAS,EAAE,OAAO,EAClB,WAAiB,EAAE,IAAI,CAClB,GAAG,CACR,EAAQ,EAAE,UAAU,EACpB,GAAS,EAAE,OAAO,EAClB,MAAY,EAAE,IAAI,CACb,GAAG,CACR,EAAQ,EAAE,UAAU,EACpB,SAAe,EAAE,MAAM,EACvB,MAAY,EAAE,IAAI,CACb,GAAG,CACR,EAAQ,EAAE,SAAS,EACnB,SAAe,EAAE,MAAM,EACvB,OAAa,EAAE,IAAI,CACd,GAAG,CAAE,qEAAqE;AAC/E,EAAQ,EAAE,WAAW,EACrB,MAAY,EAAE,IAAI,EAClB,OAAa,EAAE,WAAW,GAAC,SAAS,EACpC,IAAU,EAAE,IAAI,EAAE,EAClB,SAAe,EAAE,MAAM,CAClB;8BA/FqB,kBAAkB;yBAEb,aAAa;8BAClB,gBAAgB;+BACf,gBAAgB"}
|