@interop/was-client 0.100.0 → 0.101.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 (76) hide show
  1. package/README.md +123 -53
  2. package/dist/Collection.d.ts +21 -9
  3. package/dist/Collection.d.ts.map +1 -1
  4. package/dist/Collection.js +39 -37
  5. package/dist/Collection.js.map +1 -1
  6. package/dist/Resource.d.ts +0 -4
  7. package/dist/Resource.d.ts.map +1 -1
  8. package/dist/Resource.js +1 -6
  9. package/dist/Resource.js.map +1 -1
  10. package/dist/Space.d.ts +97 -24
  11. package/dist/Space.d.ts.map +1 -1
  12. package/dist/Space.js +168 -84
  13. package/dist/Space.js.map +1 -1
  14. package/dist/WasClient.d.ts +135 -55
  15. package/dist/WasClient.d.ts.map +1 -1
  16. package/dist/WasClient.js +220 -100
  17. package/dist/WasClient.js.map +1 -1
  18. package/dist/edv/EdvCodec.d.ts.map +1 -1
  19. package/dist/edv/EdvCodec.js +7 -4
  20. package/dist/edv/EdvCodec.js.map +1 -1
  21. package/dist/edv/docCipher.js +2 -2
  22. package/dist/edv/docCipher.js.map +1 -1
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal/codec.d.ts +11 -1
  27. package/dist/internal/codec.d.ts.map +1 -1
  28. package/dist/internal/codec.js +11 -1
  29. package/dist/internal/codec.js.map +1 -1
  30. package/dist/internal/describe.d.ts +6 -0
  31. package/dist/internal/describe.d.ts.map +1 -1
  32. package/dist/internal/describe.js +18 -1
  33. package/dist/internal/describe.js.map +1 -1
  34. package/dist/internal/grant.js +1 -1
  35. package/dist/internal/grant.js.map +1 -1
  36. package/dist/internal/indexSchema.d.ts +19 -4
  37. package/dist/internal/indexSchema.d.ts.map +1 -1
  38. package/dist/internal/indexSchema.js +33 -6
  39. package/dist/internal/indexSchema.js.map +1 -1
  40. package/dist/internal/paths.d.ts +113 -18
  41. package/dist/internal/paths.d.ts.map +1 -1
  42. package/dist/internal/paths.js +224 -40
  43. package/dist/internal/paths.js.map +1 -1
  44. package/dist/internal/request.d.ts +47 -14
  45. package/dist/internal/request.d.ts.map +1 -1
  46. package/dist/internal/request.js +64 -44
  47. package/dist/internal/request.js.map +1 -1
  48. package/dist/internal/reserved.d.ts +15 -3
  49. package/dist/internal/reserved.d.ts.map +1 -1
  50. package/dist/internal/reserved.js +37 -8
  51. package/dist/internal/reserved.js.map +1 -1
  52. package/dist/internal/revoke.d.ts +1 -65
  53. package/dist/internal/revoke.d.ts.map +1 -1
  54. package/dist/internal/revoke.js +5 -136
  55. package/dist/internal/revoke.js.map +1 -1
  56. package/dist/internal/rootCapability.d.ts +66 -0
  57. package/dist/internal/rootCapability.d.ts.map +1 -0
  58. package/dist/internal/rootCapability.js +144 -0
  59. package/dist/internal/rootCapability.js.map +1 -0
  60. package/dist/internal/service.d.ts +5 -3
  61. package/dist/internal/service.d.ts.map +1 -1
  62. package/dist/internal/service.js +5 -3
  63. package/dist/internal/service.js.map +1 -1
  64. package/dist/internal/withCodec.d.ts +19 -4
  65. package/dist/internal/withCodec.d.ts.map +1 -1
  66. package/dist/internal/withCodec.js +18 -2
  67. package/dist/internal/withCodec.js.map +1 -1
  68. package/dist/internal/write.js +13 -9
  69. package/dist/internal/write.js.map +1 -1
  70. package/dist/paths.d.ts +5 -3
  71. package/dist/paths.d.ts.map +1 -1
  72. package/dist/paths.js +5 -3
  73. package/dist/paths.js.map +1 -1
  74. package/dist/sync/provisioning.js +1 -1
  75. package/dist/sync/provisioning.js.map +1 -1
  76. package/package.json +3 -3
@@ -10,12 +10,18 @@
10
10
  * escape-hatch (`request`), and service discovery (`service`), which every
11
11
  * signed request waits on.
12
12
  *
13
- * A server is identified by its service description URL, and a Space by its
14
- * own absolute URL. The client is built from the service URL (or from a
15
- * Spaces Repository URL, whose responses link to the service description),
16
- * and it opens a Space handle on a URL it was handed: the `Location` of the
17
- * create response, or one the caller holds. Nothing here assembles a Space
18
- * URL from a server root, because the spec defines none.
13
+ * A server that addresses Spaces by id is identified by its base server URL,
14
+ * under which the spec's Server Layout fixes `{base}service`, `{base}spaces/`
15
+ * and `{base}space/{space_id}/`. The client is built from that base
16
+ * (`new WasClient({ baseServerUrl })`) and constructs the three itself;
17
+ * `space(id)` opens a Space by id. A Space URL the client is handed (the
18
+ * `Location` of the create response, a capability's target, a DID, a stored
19
+ * pointer) is authoritative as given: `spaceAt(url)` opens it, and nothing
20
+ * rewrites it to fit the base. A server that is one fixed Space, with no id
21
+ * and no base server URL, is opened from the Space URL alone
22
+ * (`WasClient.forSpace({ spaceUrl })`); that client finds the service
23
+ * description through the `service` link and refuses the id-addressed
24
+ * operations.
19
25
  */
20
26
  import type { ZcapClient } from '@interop/ezcap';
21
27
  import type { HttpResponse } from '@interop/http-client';
@@ -26,43 +32,35 @@ import { Collection } from './Collection.js';
26
32
  import { Resource } from './Resource.js';
27
33
  import type { EncryptionOverride, GrantOptions, HandleOptions, IDelegatedZcap, ISigner, IZcap, Json, RequestInput, CollectionResourcesList, ResourceSummary, ServiceInfo, SpaceListing } from './types.js';
28
34
  /**
29
- * The one way to name the server a client is built for: the URL of its
30
- * service description, or the URL of its Spaces Repository (any response from
31
- * which links to the service description). Exactly one is given.
35
+ * The module-private key under which {@link WasClient.forSpace} hands the
36
+ * constructor a Space URL in place of a base server URL. A `unique symbol`
37
+ * keeps that arm off the public constructor: a caller holding a Space URL goes
38
+ * through `forSpace`, which documents what such a client can and cannot do.
32
39
  */
33
- export type ServerLocator = {
34
- serviceUrl: string;
35
- spacesUrl?: undefined;
36
- } | {
37
- spacesUrl: string;
38
- serviceUrl?: undefined;
39
- };
40
+ declare const fixedSpace: unique symbol;
40
41
  export declare class WasClient {
41
42
  #private;
42
43
  /**
43
- * The service description's URL, when the client was built from one. Read
44
- * directly by discovery.
44
+ * The base server URL the client was built from, in canonical form
45
+ * (trailing slash supplied): the URL under which the server lays out
46
+ * `service`, `spaces/` and `space/{space_id}/`. `undefined` for a client
47
+ * built by {@link WasClient.forSpace}, which has none.
45
48
  */
46
- readonly serviceUrl?: string;
49
+ readonly baseServerUrl?: string;
47
50
  /**
48
- * The Spaces Repository URL the client was built from, when it was built
49
- * from one, in canonical container form (trailing slash supplied).
50
- * Discovery probes it for the `service` link. The URL `createSpace` and
51
- * `listSpaces` address is the service description's `spaces` member, not
52
- * this value.
51
+ * The Space URL a client built by {@link WasClient.forSpace} was opened on,
52
+ * in canonical form. `undefined` for a client built from a base server URL.
53
53
  */
54
- readonly spacesUrl?: string;
54
+ readonly spaceUrl?: string;
55
55
  readonly zcapClient: ZcapClient;
56
56
  readonly encryption?: EncryptionProvider;
57
57
  /**
58
58
  * @param options {object}
59
- * @param [options.serviceUrl] {string} the URL of the server's service
60
- * description. Discovery reads it with an unsigned `GET`. Exactly one of
61
- * `serviceUrl` and `spacesUrl` is given
62
- * @param [options.spacesUrl] {string} the server's Spaces Repository
63
- * URL, for a caller that holds that rather than the service URL.
64
- * Discovery sends an unsigned `HEAD` to it and follows the `service`
65
- * link every response carries
59
+ * @param options.baseServerUrl {string} the server's base server URL: an
60
+ * absolute http(s) URL with no query or fragment, under which the server
61
+ * serves `service`, `spaces/` and `space/{space_id}/`. A missing trailing
62
+ * slash is supplied. For a server that is one fixed Space with no base,
63
+ * use {@link WasClient.forSpace} instead
66
64
  * @param options.zcapClient {ZcapClient} an ezcap client holding the signer
67
65
  * @param [options.encryption] {EncryptionProvider} the keystore that
68
66
  * supplies keys for collections declared encrypted (by their `encryption`
@@ -75,17 +73,58 @@ export declare class WasClient {
75
73
  * description the caller already holds (from a cache, say). The client
76
74
  * selects its version from this copy instead of discovering the document,
77
75
  * and still refuses it with `IncompatibleServerError` if it names no
78
- * version this client speaks, or (for a client built from `serviceUrl`)
79
- * if its `url` is another server's service URL. `service({ refresh:
80
- * true })` discards it and discovers afresh.
81
- * @throws {ValidationError} when neither or both of `serviceUrl` and
82
- * `spacesUrl` are given, or the one given is not an absolute http(s) URL
76
+ * version this client speaks, or (for a client built from a base server
77
+ * URL) if it describes another server (see {@link service}).
78
+ * `service({ refresh: true })` discards it and discovers afresh.
79
+ * @throws {ValidationError} when `baseServerUrl` is not an absolute
80
+ * http(s) URL, or carries a query or fragment
83
81
  */
84
- constructor({ serviceUrl, spacesUrl, zcapClient, encryption, serviceDescription }: ServerLocator & {
82
+ constructor(options: {
85
83
  zcapClient: ZcapClient;
86
84
  encryption?: EncryptionProvider;
87
85
  serviceDescription?: ServiceDescription;
88
- });
86
+ } & ({
87
+ baseServerUrl: string;
88
+ } | {
89
+ [fixedSpace]: string;
90
+ }));
91
+ /**
92
+ * Opens a client on a single fixed Space: a server that is one Space with
93
+ * no Space id and no base server URL (a personal site whose Collections are
94
+ * `https://alice.example/posts/`, `https://alice.example/images/`, ...).
95
+ * The service description is found by following the `service` link on an
96
+ * unsigned `HEAD` of the Space URL. The Space itself is
97
+ * `was.spaceAt(was.spaceUrl)`, and `collectionAt(url)` opens one of its
98
+ * Collections directly.
99
+ *
100
+ * Such a client has no base server URL, so `space(id)`, `createSpace()` and
101
+ * `listSpaces()` throw `NotSupportedError`. Everything Space-scoped
102
+ * (`spaceAt`, `collectionAt`, `fromCapability`, `grant`, `revoke`, the
103
+ * public reads) works as on any client. Whether the server lets a client
104
+ * create Collections is read from its `collection-management` feature
105
+ * token, as for every server.
106
+ *
107
+ * @param options {object}
108
+ * @param options.spaceUrl {string} the Space's absolute URL, which may be
109
+ * an origin root
110
+ * @param [options.zcapClient] {ZcapClient} an ezcap client holding the
111
+ * signer; one of `zcapClient` and `signer` is given
112
+ * @param [options.signer] {ISigner} a signer to build the `ZcapClient`
113
+ * from, as {@link fromSigner} does
114
+ * @param [options.encryption] {EncryptionProvider} see the constructor
115
+ * @param [options.serviceDescription] {ServiceDescription} see the
116
+ * constructor; not checked against the Space URL, which names no server
117
+ * @returns {WasClient}
118
+ * @throws {ValidationError} when `spaceUrl` is not a Space URL, or neither
119
+ * or both of `zcapClient` and `signer` are given
120
+ */
121
+ static forSpace({ spaceUrl, zcapClient, signer, encryption, serviceDescription }: {
122
+ spaceUrl: string;
123
+ zcapClient?: ZcapClient;
124
+ signer?: ISigner;
125
+ encryption?: EncryptionProvider;
126
+ serviceDescription?: ServiceDescription;
127
+ }): WasClient;
89
128
  /**
90
129
  * Convenience constructor that builds the ezcap `ZcapClient` internally from
91
130
  * a signer, using the `eddsa-jcs-2022` suite for delegation proofs.
@@ -96,15 +135,15 @@ export declare class WasClient {
96
135
  * and never needs a JSON-LD document loader to serve the suite's context.
97
136
  *
98
137
  * @param options {object}
99
- * @param [options.serviceUrl] {string} see the constructor
100
- * @param [options.spacesUrl] {string} see the constructor
138
+ * @param options.baseServerUrl {string} see the constructor
101
139
  * @param options.signer {ISigner}
102
140
  * @param [options.encryption] {EncryptionProvider} see the constructor
103
141
  * @param [options.serviceDescription] {ServiceDescription} see the
104
142
  * constructor
105
143
  * @returns {WasClient}
106
144
  */
107
- static fromSigner({ signer, encryption, serviceDescription, ...locator }: ServerLocator & {
145
+ static fromSigner({ baseServerUrl, signer, encryption, serviceDescription }: {
146
+ baseServerUrl: string;
108
147
  signer: ISigner;
109
148
  encryption?: EncryptionProvider;
110
149
  serviceDescription?: ServiceDescription;
@@ -117,13 +156,15 @@ export declare class WasClient {
117
156
  */
118
157
  get controllerDid(): string;
119
158
  /**
120
- * Discovers the server's service description and the WAS version this
121
- * client speaks with it. A client built from `serviceUrl` reads the document
122
- * with an unsigned `GET`; one built from `spacesUrl` first follows the
123
- * `rel="service"` link on the response to an unsigned `HEAD` of that URL.
124
- * No capability is invoked. The result is memoized for the life of the
125
- * client and shared by every handle; concurrent callers share one
126
- * discovery, and a failure is not memoized, so the next call retries.
159
+ * Reads the server's service description and selects the WAS version this
160
+ * client speaks with it. A client built from a base server URL reads
161
+ * `{base}service` with an unsigned `GET` and checks that the document
162
+ * describes that base (its `url` and `spaces` members agree with the
163
+ * layout); one built by {@link forSpace} follows the `rel="service"` link on
164
+ * the response to an unsigned `HEAD` of the Space URL. No capability is
165
+ * invoked. The result is memoized for the life of the client and shared by
166
+ * every handle; concurrent callers share one discovery, and a failure is
167
+ * not memoized, so the next call retries.
127
168
  *
128
169
  * Every signed request waits on this discovery, so a caller rarely needs to
129
170
  * call it first. It is the way to read the server-wide affordances:
@@ -141,7 +182,8 @@ export declare class WasClient {
141
182
  * @returns {Promise<ServiceInfo>}
142
183
  * @throws {IncompatibleServerError} when the probed response carries no
143
184
  * `service` link (the server predates v0.5), the document is malformed,
144
- * or it lists no version this client speaks
185
+ * it lists no version this client speaks, or it does not describe the
186
+ * server at this client's base server URL
145
187
  */
146
188
  service(options?: {
147
189
  refresh?: boolean;
@@ -164,13 +206,48 @@ export declare class WasClient {
164
206
  * @throws {ValidationError} when `spaceUrl` is not a Space URL
165
207
  */
166
208
  spaceAt(spaceUrl: string, options?: HandleOptions): Space;
209
+ /**
210
+ * Returns a lazy handle to the Space with id `spaceId` on this client's
211
+ * server, at `{base}space/{spaceId}/` as the spec's Server Layout places
212
+ * it. No I/O. The same handle as `spaceAt` opened on that URL; the Space
213
+ * need not exist yet (`space.configure(...)` with `ifNoneMatch` creates it
214
+ * by id).
215
+ *
216
+ * @param spaceId {string}
217
+ * @param options {object}
218
+ * @param [options.capability] {IZcap}
219
+ * @param [options.encryption] {EncryptionOverride} see {@link spaceAt}
220
+ * @returns {Space}
221
+ * @throws {NotSupportedError} on a client built by {@link forSpace}, which
222
+ * has no base server URL
223
+ * @throws {ValidationError} when `spaceId` is empty or a dot segment
224
+ */
225
+ space(spaceId: string, options?: HandleOptions): Space;
226
+ /**
227
+ * Returns a lazy handle to a Collection by its absolute URL: the parent
228
+ * container is its Space and the last segment its id, so the handle is
229
+ * what `spaceAt(parent).collection(id)` would produce. No I/O. The direct
230
+ * route for a single fixed Space, where a caller typically holds the
231
+ * Collection URLs (`https://alice.example/posts/`) and nothing else.
232
+ *
233
+ * @param collectionUrl {string}
234
+ * @param options {object}
235
+ * @param [options.capability] {IZcap}
236
+ * @param [options.encryption] {EncryptionOverride}
237
+ * @returns {Collection}
238
+ * @throws {ValidationError} when `collectionUrl` is not a Collection URL
239
+ * (no path segment beneath its origin, a query or fragment), its last
240
+ * segment is a reserved Collection id, or it is not in canonical form
241
+ * (so the handle's requests would address a different URL)
242
+ */
243
+ collectionAt(collectionUrl: string, options?: HandleOptions): Collection;
167
244
  /**
168
245
  * Creates a space (server-generated id unless `id` is given). `name` is
169
246
  * optional (both in the spec and on the reference server); `controller` must
170
247
  * match the wrapped signer's DID (which is the default). The request goes
171
- * to the Spaces Repository URL the service description names, and the
172
- * returned handle is opened on the Space URL the response's `Location`
173
- * names: the server chooses where the Space lives.
248
+ * to the Spaces Repository, `{base}spaces/`, and the returned handle is
249
+ * opened on the Space URL the response's `Location` names, as the server
250
+ * states it.
174
251
  *
175
252
  * @param desc {object}
176
253
  * @param [desc.id] {string}
@@ -181,7 +258,8 @@ export declare class WasClient {
181
258
  * 'Space']`). The server defaults it to `['Space']` and treats it as
182
259
  * immutable after creation
183
260
  * @returns {Promise<Space>}
184
- * @throws {NotSupportedError} when the server has no Spaces Repository
261
+ * @throws {NotSupportedError} when the server has no Spaces Repository, or
262
+ * the client was built by {@link forSpace}
185
263
  * @throws {WasServerError} when the create response carries no `Location`
186
264
  */
187
265
  createSpace(desc?: {
@@ -208,7 +286,8 @@ export declare class WasClient {
208
286
  * `totalItems` counts the collected items.
209
287
  *
210
288
  * @returns {Promise<SpaceListing>}
211
- * @throws {NotSupportedError} when the server has no Spaces Repository
289
+ * @throws {NotSupportedError} when the server has no Spaces Repository, or
290
+ * the client was built by {@link forSpace}
212
291
  * @throws {WasServerError} when the listing cannot be read in full
213
292
  */
214
293
  listSpaces(): Promise<SpaceListing>;
@@ -354,4 +433,5 @@ export declare class WasClient {
354
433
  */
355
434
  request(options: RequestInput): Promise<HttpResponse>;
356
435
  }
436
+ export {};
357
437
  //# sourceMappingURL=WasClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WasClient.d.ts","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasClient.d.ts","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAwC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,OAAO,EACP,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,QAAA,MAAM,UAAU,EAAE,OAAO,MAAqC,CAAA;AAE9D,qBAAa,SAAS;;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAExC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;gBAED,OAAO,EAAE;QACP,UAAU,EAAE,UAAU,CAAA;QACtB,UAAU,CAAC,EAAE,kBAAkB,CAAA;QAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;KACxC,GAAG,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAY5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,QAAQ,CAAC,EACd,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,kBAAkB,EACnB,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,CAAC,EAAE,UAAU,CAAA;QACvB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,UAAU,CAAC,EAAE,kBAAkB,CAAA;QAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;KACxC,GAAG,SAAS;IAeb;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,UAAU,CAAC,EAChB,aAAa,EACb,MAAM,EACN,UAAU,EACV,kBAAkB,EACnB,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;QACrB,MAAM,EAAE,OAAO,CAAA;QACf,UAAU,CAAC,EAAE,kBAAkB,CAAA;QAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;KACxC,GAAG,SAAS;IASb;;;;;OAKG;IACH,IAAI,aAAa,IAAI,MAAM,CAQ1B;IAgED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,OAAO,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IA0ExE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,KAAK;IAS7D;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,KAAK;IAK1D;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,UAAU;IAwB5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,WAAW,CACf,IAAI,GAAE;QACJ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KACX,GACL,OAAO,CAAC,KAAK,CAAC;IA4BjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAkBzC;;;;;;;;;OASG;IACG,UAAU,CAAC,EACf,WAAW,EACZ,EAAE;QACD,WAAW,EAAE,MAAM,CAAA;KACpB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAmC/B;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,EACzB,aAAa,EACd,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAI3C;;;;;;;;;;OAUG;IACI,yBAAyB,CAAC,EAC/B,aAAa,EACd,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,cAAc,CAAC,uBAAuB,CAAC;IAI3C;;;;;;;;;;OAUG;IACI,yBAAyB,CAAC,EAC/B,aAAa,EACd,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,cAAc,CAAC,eAAe,CAAC;IAInC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,cAAc,CACZ,IAAI,EAAE,KAAK,EACX,EAAE,UAAU,EAAE,GAAE;QAAE,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAAO,GACvD,KAAK,GAAG,UAAU,GAAG,QAAQ;IAkEhC;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAG5D"}