sui-effect 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +209 -0
- package/LICENSE +21 -0
- package/LLMS.md +6707 -0
- package/README.md +300 -0
- package/dist/domain/bcs.d.ts +101 -0
- package/dist/domain/bcs.d.ts.map +1 -0
- package/dist/domain/bcs.js +183 -0
- package/dist/domain/bcs.js.map +1 -0
- package/dist/domain/errors.d.ts +595 -0
- package/dist/domain/errors.d.ts.map +1 -0
- package/dist/domain/errors.js +476 -0
- package/dist/domain/errors.js.map +1 -0
- package/dist/domain/executed.d.ts +325 -0
- package/dist/domain/executed.d.ts.map +1 -0
- package/dist/domain/executed.js +253 -0
- package/dist/domain/executed.js.map +1 -0
- package/dist/domain/journal-entry.d.ts +468 -0
- package/dist/domain/journal-entry.d.ts.map +1 -0
- package/dist/domain/journal-entry.js +63 -0
- package/dist/domain/journal-entry.js.map +1 -0
- package/dist/domain/schemas.d.ts +950 -0
- package/dist/domain/schemas.d.ts.map +1 -0
- package/dist/domain/schemas.js +571 -0
- package/dist/domain/schemas.js.map +1 -0
- package/dist/domain/sui-schema.d.ts +12 -0
- package/dist/domain/sui-schema.d.ts.map +1 -0
- package/dist/domain/sui-schema.js +12 -0
- package/dist/domain/sui-schema.js.map +1 -0
- package/dist/extension.d.ts +7 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +7 -0
- package/dist/extension.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +18 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +18 -0
- package/dist/internal.js.map +1 -0
- package/dist/journal.d.ts +51 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +18 -0
- package/dist/journal.js.map +1 -0
- package/dist/script.d.ts +7 -0
- package/dist/script.d.ts.map +1 -0
- package/dist/script.js +7 -0
- package/dist/script.js.map +1 -0
- package/dist/services/Journal.d.ts +76 -0
- package/dist/services/Journal.d.ts.map +1 -0
- package/dist/services/Journal.js +70 -0
- package/dist/services/Journal.js.map +1 -0
- package/dist/services/JournalKeyValueStore.d.ts +73 -0
- package/dist/services/JournalKeyValueStore.d.ts.map +1 -0
- package/dist/services/JournalKeyValueStore.js +155 -0
- package/dist/services/JournalKeyValueStore.js.map +1 -0
- package/dist/services/Script.d.ts +210 -0
- package/dist/services/Script.d.ts.map +1 -0
- package/dist/services/Script.js +441 -0
- package/dist/services/Script.js.map +1 -0
- package/dist/services/Signer.d.ts +132 -0
- package/dist/services/Signer.d.ts.map +1 -0
- package/dist/services/Signer.js +158 -0
- package/dist/services/Signer.js.map +1 -0
- package/dist/services/SubmitConfig.d.ts +175 -0
- package/dist/services/SubmitConfig.d.ts.map +1 -0
- package/dist/services/SubmitConfig.js +52 -0
- package/dist/services/SubmitConfig.js.map +1 -0
- package/dist/services/Sui.d.ts +295 -0
- package/dist/services/Sui.d.ts.map +1 -0
- package/dist/services/Sui.js +414 -0
- package/dist/services/Sui.js.map +1 -0
- package/dist/services/SuiCore.d.ts +227 -0
- package/dist/services/SuiCore.d.ts.map +1 -0
- package/dist/services/SuiCore.js +400 -0
- package/dist/services/SuiCore.js.map +1 -0
- package/dist/services/SuiCoreFake.d.ts +278 -0
- package/dist/services/SuiCoreFake.d.ts.map +1 -0
- package/dist/services/SuiCoreFake.js +1003 -0
- package/dist/services/SuiCoreFake.js.map +1 -0
- package/dist/services/SuiExtension.d.ts +208 -0
- package/dist/services/SuiExtension.d.ts.map +1 -0
- package/dist/services/SuiExtension.js +355 -0
- package/dist/services/SuiExtension.js.map +1 -0
- package/dist/services/SuiGraphQL.d.ts +98 -0
- package/dist/services/SuiGraphQL.d.ts.map +1 -0
- package/dist/services/SuiGraphQL.js +118 -0
- package/dist/services/SuiGraphQL.js.map +1 -0
- package/dist/services/Tx.d.ts +687 -0
- package/dist/services/Tx.d.ts.map +1 -0
- package/dist/services/Tx.js +1224 -0
- package/dist/services/Tx.js.map +1 -0
- package/dist/testing.d.ts +88 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +163 -0
- package/dist/testing.js.map +1 -0
- package/dist/tx.d.ts +24 -0
- package/dist/tx.d.ts.map +1 -0
- package/dist/tx.js +24 -0
- package/dist/tx.js.map +1 -0
- package/docs/extensions.md +1685 -0
- package/examples/extension-template/README.md +170 -0
- package/examples/extension-template/package.json +44 -0
- package/examples/extension-template/scripts/check-package.ts +145 -0
- package/examples/extension-template/src/Escrow.ts +445 -0
- package/examples/extension-template/src/Platform.ts +136 -0
- package/examples/extension-template/src/errors.ts +61 -0
- package/examples/extension-template/src/extension.ts +63 -0
- package/examples/extension-template/src/index.ts +34 -0
- package/examples/extension-template/src/schema.ts +158 -0
- package/examples/extension-template/src/upstream.ts +66 -0
- package/examples/extension-template/test/escrow.test.ts +559 -0
- package/examples/extension-template/tsconfig.build.json +26 -0
- package/examples/extension-template/tsconfig.json +35 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuiExtension.js","sourceRoot":"","sources":["../../src/services/SuiExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `SuiGraphQL`: one tag for the SDK's GraphQL client.
|
|
3
|
+
*
|
|
4
|
+
* sui-effect does **not** wrap the GraphQL API. There is no Effect-native
|
|
5
|
+
* GraphQL tier here, no per-query error union, no fake: what this module owns
|
|
6
|
+
* is the *tag*, so that two extensions that both read GraphQL — and the
|
|
7
|
+
* application that configures the endpoint — agree on one client instead of
|
|
8
|
+
* each opening its own and each inventing a name for the failure.
|
|
9
|
+
*
|
|
10
|
+
* The service value is the SDK's own `SuiGraphQLClient`. An extension reaches
|
|
11
|
+
* it, calls `query` or `execute` inside `Effect.tryPromise`, and maps whatever
|
|
12
|
+
* comes back into its own error union — `GraphQLUnavailable` for an endpoint
|
|
13
|
+
* that is not usable, `TransportError.fromUnknown` for a call that failed.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
*/
|
|
17
|
+
import { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
18
|
+
import { Config, Context, Effect, Layer } from "effect";
|
|
19
|
+
import { GraphQLUnavailable, TransportError } from "../domain/errors.ts";
|
|
20
|
+
declare const SuiGraphQL_base: Context.ServiceClass<SuiGraphQL, "sui-effect/SuiGraphQL", SuiGraphQLClient<{}>>;
|
|
21
|
+
/**
|
|
22
|
+
* The SDK's GraphQL client as a service, so an extension can require it
|
|
23
|
+
* without constructing one.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { Effect } from "effect"
|
|
28
|
+
* import { SuiGraphQL, TransportError } from "sui-effect"
|
|
29
|
+
*
|
|
30
|
+
* const names = Effect.gen(function*() {
|
|
31
|
+
* const graphql = yield* SuiGraphQL
|
|
32
|
+
* return yield* Effect.tryPromise({
|
|
33
|
+
* try: () => graphql.query({ query: "{ chainIdentifier }" }),
|
|
34
|
+
* catch: (cause) => TransportError.fromUnknown("graphql.query", cause)
|
|
35
|
+
* })
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare class SuiGraphQL extends SuiGraphQL_base {
|
|
40
|
+
/**
|
|
41
|
+
* The tag over a client the caller built. Never fails.
|
|
42
|
+
*/
|
|
43
|
+
static readonly layer: (client: SuiGraphQLClient) => Layer.Layer<SuiGraphQL>;
|
|
44
|
+
/**
|
|
45
|
+
* A client pointed at `SUI_GRAPHQL_URL`, on the network `SUI_NETWORK` names —
|
|
46
|
+
* the same variable `SuiCore.layerConfig` reads, because a GraphQL endpoint
|
|
47
|
+
* for one chain and a node for another is a misconfiguration no error can
|
|
48
|
+
* describe after the fact.
|
|
49
|
+
*
|
|
50
|
+
* Fails with: `ConfigError` when either variable is missing or empty.
|
|
51
|
+
*/
|
|
52
|
+
static readonly layerConfig: Layer.Layer<SuiGraphQL, Config.ConfigError>;
|
|
53
|
+
/**
|
|
54
|
+
* The tag over a client whose every call rejects with `GraphQLUnavailable`.
|
|
55
|
+
*
|
|
56
|
+
* This is what an application provides when it has no GraphQL endpoint and
|
|
57
|
+
* still wants to build an extension that can use one. The alternative — no
|
|
58
|
+
* layer at all — is a compile error in code that may never run the GraphQL
|
|
59
|
+
* path; this turns the absence into the failure the extension already
|
|
60
|
+
* handles, at the call it would have made.
|
|
61
|
+
*
|
|
62
|
+
* Never fails to build; every call through it fails.
|
|
63
|
+
*/
|
|
64
|
+
static readonly layerUnavailable: Layer.Layer<SuiGraphQL>;
|
|
65
|
+
/**
|
|
66
|
+
* `layerUnavailable` with the caller's own wording, for an application that
|
|
67
|
+
* knows why the endpoint is missing. Never fails to build.
|
|
68
|
+
*/
|
|
69
|
+
static readonly layerUnavailableWith: (reason: string) => Layer.Layer<SuiGraphQL>;
|
|
70
|
+
/**
|
|
71
|
+
* One call against the GraphQL client, with the two failures already sorted.
|
|
72
|
+
*
|
|
73
|
+
* Every extension that reads GraphQL was re-deriving the same three lines:
|
|
74
|
+
* yield the client, `Effect.tryPromise`, and remember that a rejection from
|
|
75
|
+
* `layerUnavailable` is already a `GraphQLUnavailable` and must be passed
|
|
76
|
+
* through rather than wrapped in a `TransportError` that hides why the
|
|
77
|
+
* endpoint was missing. This is those three lines, once.
|
|
78
|
+
*
|
|
79
|
+
* `method` is what a `TransportError` is labelled with; give the query's own
|
|
80
|
+
* name so a log says which read failed.
|
|
81
|
+
*
|
|
82
|
+
* Fails with: `GraphQLUnavailable` (there is no usable endpoint),
|
|
83
|
+
* `TransportError` (the call reached one and failed).
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { SuiGraphQL } from "sui-effect"
|
|
88
|
+
*
|
|
89
|
+
* const chain = SuiGraphQL.query(
|
|
90
|
+
* (client) => client.query({ query: "{ chainIdentifier }" }),
|
|
91
|
+
* "chainIdentifier"
|
|
92
|
+
* )
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
static readonly query: <A>(run: (client: SuiGraphQLClient) => Promise<A>, method?: string) => Effect.Effect<A, GraphQLUnavailable | TransportError, SuiGraphQL>;
|
|
96
|
+
}
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=SuiGraphQL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuiGraphQL.d.ts","sourceRoot":"","sources":["../../src/services/SuiGraphQL.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;;AAmBxE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAW,SAAQ,eAE/B;IACC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,QAAQ,gBAAgB,KAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CACxC;IAEnC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAOvE;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAGxD;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAC1B;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,CAAC,EACxB,KAAK,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7C,eAA2B,KAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE,UAAU,CAAC,CAM7D;CACR"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `SuiGraphQL`: one tag for the SDK's GraphQL client.
|
|
3
|
+
*
|
|
4
|
+
* sui-effect does **not** wrap the GraphQL API. There is no Effect-native
|
|
5
|
+
* GraphQL tier here, no per-query error union, no fake: what this module owns
|
|
6
|
+
* is the *tag*, so that two extensions that both read GraphQL — and the
|
|
7
|
+
* application that configures the endpoint — agree on one client instead of
|
|
8
|
+
* each opening its own and each inventing a name for the failure.
|
|
9
|
+
*
|
|
10
|
+
* The service value is the SDK's own `SuiGraphQLClient`. An extension reaches
|
|
11
|
+
* it, calls `query` or `execute` inside `Effect.tryPromise`, and maps whatever
|
|
12
|
+
* comes back into its own error union — `GraphQLUnavailable` for an endpoint
|
|
13
|
+
* that is not usable, `TransportError.fromUnknown` for a call that failed.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
*/
|
|
17
|
+
import { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
18
|
+
import { Config, Context, Effect, Layer } from "effect";
|
|
19
|
+
import { GraphQLUnavailable, TransportError } from "../domain/errors.js";
|
|
20
|
+
/**
|
|
21
|
+
* A client whose every method rejects with {@link GraphQLUnavailable}.
|
|
22
|
+
*
|
|
23
|
+
* A `Proxy` rather than a subclass: `SuiGraphQLClient` is a class with private
|
|
24
|
+
* fields and a `core` sub-client, and an application that has no endpoint wants
|
|
25
|
+
* every path through it to fail the same way, including the ones a later SDK
|
|
26
|
+
* release adds.
|
|
27
|
+
*/
|
|
28
|
+
const unavailableClient = (reason) => new Proxy({}, {
|
|
29
|
+
get: (_target, key) => {
|
|
30
|
+
const method = typeof key === "string" ? key : String(key);
|
|
31
|
+
return () => Promise.reject(new GraphQLUnavailable({ method, reason }));
|
|
32
|
+
},
|
|
33
|
+
has: () => true
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* The SDK's GraphQL client as a service, so an extension can require it
|
|
37
|
+
* without constructing one.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { Effect } from "effect"
|
|
42
|
+
* import { SuiGraphQL, TransportError } from "sui-effect"
|
|
43
|
+
*
|
|
44
|
+
* const names = Effect.gen(function*() {
|
|
45
|
+
* const graphql = yield* SuiGraphQL
|
|
46
|
+
* return yield* Effect.tryPromise({
|
|
47
|
+
* try: () => graphql.query({ query: "{ chainIdentifier }" }),
|
|
48
|
+
* catch: (cause) => TransportError.fromUnknown("graphql.query", cause)
|
|
49
|
+
* })
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export class SuiGraphQL extends Context.Service()("sui-effect/SuiGraphQL") {
|
|
54
|
+
/**
|
|
55
|
+
* The tag over a client the caller built. Never fails.
|
|
56
|
+
*/
|
|
57
|
+
static layer = (client) => Layer.succeed(SuiGraphQL, client);
|
|
58
|
+
/**
|
|
59
|
+
* A client pointed at `SUI_GRAPHQL_URL`, on the network `SUI_NETWORK` names —
|
|
60
|
+
* the same variable `SuiCore.layerConfig` reads, because a GraphQL endpoint
|
|
61
|
+
* for one chain and a node for another is a misconfiguration no error can
|
|
62
|
+
* describe after the fact.
|
|
63
|
+
*
|
|
64
|
+
* Fails with: `ConfigError` when either variable is missing or empty.
|
|
65
|
+
*/
|
|
66
|
+
static layerConfig = Layer.effect(SuiGraphQL, Effect.gen(function* () {
|
|
67
|
+
const url = yield* Config.nonEmptyString("SUI_GRAPHQL_URL");
|
|
68
|
+
const network = yield* Config.nonEmptyString("SUI_NETWORK");
|
|
69
|
+
return new SuiGraphQLClient({ url, network });
|
|
70
|
+
}));
|
|
71
|
+
/**
|
|
72
|
+
* The tag over a client whose every call rejects with `GraphQLUnavailable`.
|
|
73
|
+
*
|
|
74
|
+
* This is what an application provides when it has no GraphQL endpoint and
|
|
75
|
+
* still wants to build an extension that can use one. The alternative — no
|
|
76
|
+
* layer at all — is a compile error in code that may never run the GraphQL
|
|
77
|
+
* path; this turns the absence into the failure the extension already
|
|
78
|
+
* handles, at the call it would have made.
|
|
79
|
+
*
|
|
80
|
+
* Never fails to build; every call through it fails.
|
|
81
|
+
*/
|
|
82
|
+
static layerUnavailable = Layer.succeed(SuiGraphQL, unavailableClient("no SuiGraphQL endpoint is configured (SuiGraphQL.layerUnavailable)"));
|
|
83
|
+
/**
|
|
84
|
+
* `layerUnavailable` with the caller's own wording, for an application that
|
|
85
|
+
* knows why the endpoint is missing. Never fails to build.
|
|
86
|
+
*/
|
|
87
|
+
static layerUnavailableWith = (reason) => Layer.succeed(SuiGraphQL, unavailableClient(reason));
|
|
88
|
+
/**
|
|
89
|
+
* One call against the GraphQL client, with the two failures already sorted.
|
|
90
|
+
*
|
|
91
|
+
* Every extension that reads GraphQL was re-deriving the same three lines:
|
|
92
|
+
* yield the client, `Effect.tryPromise`, and remember that a rejection from
|
|
93
|
+
* `layerUnavailable` is already a `GraphQLUnavailable` and must be passed
|
|
94
|
+
* through rather than wrapped in a `TransportError` that hides why the
|
|
95
|
+
* endpoint was missing. This is those three lines, once.
|
|
96
|
+
*
|
|
97
|
+
* `method` is what a `TransportError` is labelled with; give the query's own
|
|
98
|
+
* name so a log says which read failed.
|
|
99
|
+
*
|
|
100
|
+
* Fails with: `GraphQLUnavailable` (there is no usable endpoint),
|
|
101
|
+
* `TransportError` (the call reached one and failed).
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { SuiGraphQL } from "sui-effect"
|
|
106
|
+
*
|
|
107
|
+
* const chain = SuiGraphQL.query(
|
|
108
|
+
* (client) => client.query({ query: "{ chainIdentifier }" }),
|
|
109
|
+
* "chainIdentifier"
|
|
110
|
+
* )
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
static query = (run, method = "SuiGraphQL.query") => Effect.flatMap(SuiGraphQL, (client) => Effect.tryPromise({
|
|
114
|
+
try: () => run(client),
|
|
115
|
+
catch: (cause) => cause instanceof GraphQLUnavailable ? cause : TransportError.fromUnknown(method, cause)
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=SuiGraphQL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuiGraphQL.js","sourceRoot":"","sources":["../../src/services/SuiGraphQL.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAExE;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAoB,EAAE,CAC7D,IAAI,KAAK,CAAC,EAAsC,EAAE;IAChD,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC1D,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACzE,CAAC;IACD,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;CAChB,CAAgC,CAAA;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,OAAO,EAAgC,CAC7E,uBAAuB,CACxB;IACC;;OAEG;IACH,MAAM,CAAU,KAAK,GAAG,CAAC,MAAwB,EAA2B,EAAE,CAC5E,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAEnC;;;;;;;OAOG;IACH,MAAM,CAAU,WAAW,GAAgD,KAAK,CAAC,MAAM,CACrF,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAC3D,OAAO,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CACH,CAAA;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAU,gBAAgB,GAA4B,KAAK,CAAC,OAAO,CACvE,UAAU,EACV,iBAAiB,CAAC,oEAAoE,CAAC,CACxF,CAAA;IAED;;;OAGG;IACH,MAAM,CAAU,oBAAoB,GAAG,CAAC,MAAc,EAA2B,EAAE,CACjF,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAU,KAAK,GAAG,CACtB,GAA6C,EAC7C,MAAM,GAAG,kBAAkB,EACwC,EAAE,CACrE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,UAAU,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,YAAY,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;KAC1F,CAAC,CAAC,CAAA"}
|