@unconfirmed/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.
Files changed (115) hide show
  1. package/AGENTS.md +209 -0
  2. package/LICENSE +21 -0
  3. package/LLMS.md +6707 -0
  4. package/README.md +300 -0
  5. package/dist/domain/bcs.d.ts +101 -0
  6. package/dist/domain/bcs.d.ts.map +1 -0
  7. package/dist/domain/bcs.js +183 -0
  8. package/dist/domain/bcs.js.map +1 -0
  9. package/dist/domain/errors.d.ts +595 -0
  10. package/dist/domain/errors.d.ts.map +1 -0
  11. package/dist/domain/errors.js +476 -0
  12. package/dist/domain/errors.js.map +1 -0
  13. package/dist/domain/executed.d.ts +325 -0
  14. package/dist/domain/executed.d.ts.map +1 -0
  15. package/dist/domain/executed.js +253 -0
  16. package/dist/domain/executed.js.map +1 -0
  17. package/dist/domain/journal-entry.d.ts +468 -0
  18. package/dist/domain/journal-entry.d.ts.map +1 -0
  19. package/dist/domain/journal-entry.js +63 -0
  20. package/dist/domain/journal-entry.js.map +1 -0
  21. package/dist/domain/schemas.d.ts +950 -0
  22. package/dist/domain/schemas.d.ts.map +1 -0
  23. package/dist/domain/schemas.js +571 -0
  24. package/dist/domain/schemas.js.map +1 -0
  25. package/dist/domain/sui-schema.d.ts +12 -0
  26. package/dist/domain/sui-schema.d.ts.map +1 -0
  27. package/dist/domain/sui-schema.js +12 -0
  28. package/dist/domain/sui-schema.js.map +1 -0
  29. package/dist/extension.d.ts +7 -0
  30. package/dist/extension.d.ts.map +1 -0
  31. package/dist/extension.js +7 -0
  32. package/dist/extension.js.map +1 -0
  33. package/dist/index.d.ts +31 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +31 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/internal.d.ts +18 -0
  38. package/dist/internal.d.ts.map +1 -0
  39. package/dist/internal.js +18 -0
  40. package/dist/internal.js.map +1 -0
  41. package/dist/journal.d.ts +51 -0
  42. package/dist/journal.d.ts.map +1 -0
  43. package/dist/journal.js +18 -0
  44. package/dist/journal.js.map +1 -0
  45. package/dist/script.d.ts +7 -0
  46. package/dist/script.d.ts.map +1 -0
  47. package/dist/script.js +7 -0
  48. package/dist/script.js.map +1 -0
  49. package/dist/services/Journal.d.ts +76 -0
  50. package/dist/services/Journal.d.ts.map +1 -0
  51. package/dist/services/Journal.js +70 -0
  52. package/dist/services/Journal.js.map +1 -0
  53. package/dist/services/JournalKeyValueStore.d.ts +73 -0
  54. package/dist/services/JournalKeyValueStore.d.ts.map +1 -0
  55. package/dist/services/JournalKeyValueStore.js +155 -0
  56. package/dist/services/JournalKeyValueStore.js.map +1 -0
  57. package/dist/services/Script.d.ts +210 -0
  58. package/dist/services/Script.d.ts.map +1 -0
  59. package/dist/services/Script.js +441 -0
  60. package/dist/services/Script.js.map +1 -0
  61. package/dist/services/Signer.d.ts +132 -0
  62. package/dist/services/Signer.d.ts.map +1 -0
  63. package/dist/services/Signer.js +158 -0
  64. package/dist/services/Signer.js.map +1 -0
  65. package/dist/services/SubmitConfig.d.ts +175 -0
  66. package/dist/services/SubmitConfig.d.ts.map +1 -0
  67. package/dist/services/SubmitConfig.js +52 -0
  68. package/dist/services/SubmitConfig.js.map +1 -0
  69. package/dist/services/Sui.d.ts +295 -0
  70. package/dist/services/Sui.d.ts.map +1 -0
  71. package/dist/services/Sui.js +414 -0
  72. package/dist/services/Sui.js.map +1 -0
  73. package/dist/services/SuiCore.d.ts +227 -0
  74. package/dist/services/SuiCore.d.ts.map +1 -0
  75. package/dist/services/SuiCore.js +400 -0
  76. package/dist/services/SuiCore.js.map +1 -0
  77. package/dist/services/SuiCoreFake.d.ts +278 -0
  78. package/dist/services/SuiCoreFake.d.ts.map +1 -0
  79. package/dist/services/SuiCoreFake.js +1003 -0
  80. package/dist/services/SuiCoreFake.js.map +1 -0
  81. package/dist/services/SuiExtension.d.ts +208 -0
  82. package/dist/services/SuiExtension.d.ts.map +1 -0
  83. package/dist/services/SuiExtension.js +355 -0
  84. package/dist/services/SuiExtension.js.map +1 -0
  85. package/dist/services/SuiGraphQL.d.ts +98 -0
  86. package/dist/services/SuiGraphQL.d.ts.map +1 -0
  87. package/dist/services/SuiGraphQL.js +118 -0
  88. package/dist/services/SuiGraphQL.js.map +1 -0
  89. package/dist/services/Tx.d.ts +687 -0
  90. package/dist/services/Tx.d.ts.map +1 -0
  91. package/dist/services/Tx.js +1224 -0
  92. package/dist/services/Tx.js.map +1 -0
  93. package/dist/testing.d.ts +88 -0
  94. package/dist/testing.d.ts.map +1 -0
  95. package/dist/testing.js +163 -0
  96. package/dist/testing.js.map +1 -0
  97. package/dist/tx.d.ts +24 -0
  98. package/dist/tx.d.ts.map +1 -0
  99. package/dist/tx.js +24 -0
  100. package/dist/tx.js.map +1 -0
  101. package/docs/extensions.md +1685 -0
  102. package/examples/extension-template/README.md +170 -0
  103. package/examples/extension-template/package.json +44 -0
  104. package/examples/extension-template/scripts/check-package.ts +147 -0
  105. package/examples/extension-template/src/Escrow.ts +445 -0
  106. package/examples/extension-template/src/Platform.ts +136 -0
  107. package/examples/extension-template/src/errors.ts +61 -0
  108. package/examples/extension-template/src/extension.ts +63 -0
  109. package/examples/extension-template/src/index.ts +34 -0
  110. package/examples/extension-template/src/schema.ts +158 -0
  111. package/examples/extension-template/src/upstream.ts +66 -0
  112. package/examples/extension-template/test/escrow.test.ts +559 -0
  113. package/examples/extension-template/tsconfig.build.json +26 -0
  114. package/examples/extension-template/tsconfig.json +35 -0
  115. 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, "@unconfirmed/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 "@unconfirmed/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 "@unconfirmed/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 "@unconfirmed/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()("@unconfirmed/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 "@unconfirmed/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,oCAAoC,CACrC;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"}