@molecule/app-auth 1.8.2 → 3.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAWhB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAA;AAmHnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAEtE,SAAQ,gBAAgB,CAAC,CAAC,CAAM,KAC/B,UAAU,CAAC,CAAC,EAAE,SAAS,CA4+BzB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EAIvB,qBAAqB,EAQrB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAA;AAmJnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,GAAG,WAAW,EAChD,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAEtE,SAAQ,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAM,KAC/C,UAAU,CAAC,CAAC,EAAE,SAAS,CAw/BzB,CAAA"}
package/dist/client.js CHANGED
@@ -107,15 +107,62 @@ const sameUserData = (left, right, depth = 0) => {
107
107
  return leftKeys.every((key) => Object.prototype.hasOwnProperty.call(rightRecord, key) &&
108
108
  sameUserData(leftRecord[key], rightRecord[key], depth + 1));
109
109
  };
110
+ /** A JSON object of named fields — the only shape a profile or a profile answer can patch. */
111
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
112
+ /**
113
+ * The profile a successful profile save leaves the session with: the answer applied field by
114
+ * field onto the profile the save was sent for.
115
+ *
116
+ * `updateProfile()` sends a partial update. An API may answer it with the CHANGED fields only —
117
+ * `@molecule/api-resource-user` answers `{ props: { bio, updatedAt } }`, an account API
118
+ * `{ account: { displayName } }`, a mutation `{ id, displayName }` — or with the whole profile,
119
+ * and no field tells the two apart: an `id` can come with a partial answer, and a mapper may
120
+ * derive one from a changed field. So each field the answer carries replaces the current value
121
+ * (an explicit `null` clears it, `id` included), and each field it does not carry is kept —
122
+ * including one a field-by-field mapper read as `undefined` from a partial wire user. A whole
123
+ * answer therefore gives its own values, and keeps a field it leaves out: an API that clears a
124
+ * field by omitting it must answer (or map) that field as `null`. Nothing reads a profile field,
125
+ * so a profile type with or without an `id` is applied the same way.
126
+ *
127
+ * An answer that is not a JSON object, or a save with no profile to apply it to, is returned as
128
+ * it came.
129
+ *
130
+ * @param profile - The profile the save was applied to.
131
+ * @param answer - The mapped profile answer.
132
+ * @returns The saved profile.
133
+ */
134
+ const applyProfileAnswer = (profile, answer) => {
135
+ if (!isRecord(profile) || !isRecord(answer))
136
+ return answer;
137
+ const carried = Object.entries(answer).filter(([, value]) => value !== undefined);
138
+ return { ...profile, ...Object.fromEntries(carried) };
139
+ };
110
140
  /**
111
141
  * Creates a simple JWT-based auth client.
112
142
  *
113
143
  * This is a basic implementation that can be extended or replaced
114
144
  * with more sophisticated auth providers.
115
145
  *
116
- * @template T - The user profile the API returns. Pass it to the config too
117
- * (`AuthClientConfig<T>`), so `mapAuthResponse` is checked against the same
118
- * profile the client and the React hook hand to your pages.
146
+ * `T` is the profile the API returns. The default, `UserProfile`, requires
147
+ * `id: string`, and an untyped call — `createJWTAuthClient({ mapAuthResponse })`
148
+ * — KEEPS that default: the profile is never inferred from the config (no
149
+ * member of it, and not from an annotated config variable), so a mapper that
150
+ * returns a user without `id` fails to compile instead of quietly becoming the
151
+ * client's profile. To use the app's own profile, name it here,
152
+ * `createJWTAuthClient<SessionUser>(config)`; a profile with no `id`
153
+ * (`{ username, email, bio, image }`) is then used as-is. Pass the same type to
154
+ * the config (`AuthClientConfig<SessionUser>`), so `mapAuthResponse` and the
155
+ * write transport are checked against the profile the client and the React
156
+ * hooks hand to your pages.
157
+ *
158
+ * `any` is accepted (`createJWTAuthClient<any>()`) as the caller's explicit
159
+ * opt-out; array, function and `Date` profiles are rejected. A wrapper that
160
+ * forwards a profile type copies `AuthProfileConstraint` (see
161
+ * {@link AuthClientConfig}'s migration note).
162
+ *
163
+ * @template T - The user profile the API returns: a JSON object type of named
164
+ * fields (see {@link AuthProfileConstraint}), including a profile with no `id`.
165
+ * The default, `UserProfile`, requires `id: string`.
119
166
  * @template TRegister - The app's own registration fields, accepted at the top
120
167
  * level of `register()` (e.g. `{ username: string }` for a RealWorld-shaped API).
121
168
  * An interface and a type alias are equally valid.
@@ -322,8 +369,8 @@ export const createJWTAuthClient = (config = {}) => {
322
369
  * shape. Session validation and the cookie restore adopt a user too, and their
323
370
  * answer is the raw wire user — storing it as-is replaced the adapted profile a
324
371
  * sign-in had cached, so after a reload the app was authenticated without the
325
- * `id`/`name` it derives from the adapter (xr-molecule-flash-m184: the username
326
- * and profile link disappeared although `GET /user` answered 200).
372
+ * `id`/`name` it derives from the adapter: the username and profile link
373
+ * disappear although `GET /user` answered 200.
327
374
  *
328
375
  * A mapper written for a login envelope may not be able to read a bare
329
376
  * current-user answer; when it throws or yields no user, the answer is used as
@@ -593,8 +640,8 @@ export const createJWTAuthClient = (config = {}) => {
593
640
  * life of the page: `createJWTAuthClient` starts at `status: 'loading'`, and only
594
641
  * `initialize()` (or a sign-in) leaves it. The template calls `initialize()` on one
595
642
  * line of `main.tsx`, so a rewrite that dropped that line made every `useAuth()`
596
- * read `'loading'` forever and every signed-in page never rendered (xr-molecule-flash-m192:
597
- * 18 tests timed out on a form the auth-gated page never produced). The first READ
643
+ * read `'loading'` forever and every signed-in page never rendered — every
644
+ * auth-gated form times out instead. The first READ
598
645
  * of the client's state now starts the restore instead — lazily, so an app that
599
646
  * forgot the call still restores, and exactly once, so the explicit call and the
600
647
  * reads share one request.
@@ -872,13 +919,19 @@ export const createJWTAuthClient = (config = {}) => {
872
919
  const raw = unwrapped.user ?? answer;
873
920
  // The profile route answers the wire shape as well; map it like every
874
921
  // other answer that replaces the cached user.
875
- const user = mapCurrentUser(answer, raw) ?? raw;
922
+ const mapped = mapCurrentUser(answer, raw) ?? raw;
876
923
  // The server may have accepted the old account's update, but that answer
877
924
  // must never replace a signed-out or newly signed-in account's cached
878
- // user. Return the request's result while leaving the current session
879
- // (storage and subscribers) untouched.
925
+ // user. Return the request's result, applied to the profile it was sent
926
+ // for, while leaving the current session (storage and subscribers) untouched.
880
927
  if (revision !== sessionRevision)
881
- return user;
928
+ return applyProfileAnswer(profileUser, mapped);
929
+ // A changed-fields answer stored as the user dropped every field the save did not
930
+ // touch from every `useAuth()` reader, the stored session and the next save's route
931
+ // (`/users/undefined`). Apply it to the session's CURRENT user — a same-session
932
+ // refresh that landed during the save is kept — and store and publish the result
933
+ // once, so no reader ever sees the partial answer.
934
+ const user = applyProfileAnswer(state.user, mapped);
882
935
  tokenStorage.setUser(user);
883
936
  setState({ user });
884
937
  return user;
@@ -1003,6 +1056,12 @@ export const createJWTAuthClient = (config = {}) => {
1003
1056
  return tokenStorage.getAccessToken();
1004
1057
  },
1005
1058
  addEventListener(listener) {
1059
+ // One listener signature, typed by the profile. A default
1060
+ // `AuthEventListener` is still accepted when `T` extends `UserProfile`
1061
+ // (contravariance: those events carry every `UserProfile` field, so
1062
+ // storing it as `AuthEventListener<T>` is sound). A profile that does not
1063
+ // extend `UserProfile` only accepts `AuthEventListener<T>` — no event
1064
+ // claims an `id` the user lacks.
1006
1065
  eventListeners.add(listener);
1007
1066
  return () => eventListeners.delete(listener);
1008
1067
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,8 +35,8 @@
35
35
  * and an explicit `initialize()` returns the same promise, so a second call asks the
36
36
  * server nothing. Keep the template's explicit call (it makes the first render
37
37
  * deterministic); an entry file that drops it still restores instead of reporting
38
- * `'loading'` forever (xr-molecule-flash-m192: a `main.tsx` rewrite dropped the line
39
- * and 18 tests timed out on pages that never left their loading branch).
38
+ * `'loading'` forever (a `main.tsx` rewrite can drop the line, and every page
39
+ * then stays on its loading branch).
40
40
  *
41
41
  * **Never fetch viewer-dependent data before the restore settles.** A
42
42
  * component effect that runs on mount fires while `initialize()` is still
@@ -62,12 +62,12 @@
62
62
  * `initialize()` sets that state synchronously, before any request, and every
63
63
  * verification settles behind that render. Never hold the first paint on
64
64
  * `validateSession()` or a `/me` request of your own — a protected page then pays
65
- * an API round trip on every navigation (xr-molecule-flash-m177: ~30 full page
66
- * loads in one pagination spec; its four tests sat at 15.0–15.9 s of a 15 s
67
- * budget and the grader timed two out). Route guards read this same `status`:
68
- * wait only while it is `'loading'` — that status means "no decision yet", so an
69
- * auth request in flight (`state.loading`) keeps the decided status and does not
70
- * unmount a Login/Register page mid-request (xr-molecule-flash-m380).
65
+ * an API round trip on every navigation (~30 full page loads in one pagination
66
+ * spec put four tests at 15.0–15.9 s of a 15 s budget, and two timed out). Route
67
+ * guards read this same `status`: wait only while it is `'loading'` — that
68
+ * status means "no decision yet", so an auth request in flight
69
+ * (`state.loading`) keeps the decided status and does not unmount a
70
+ * Login/Register page mid-request.
71
71
  * `validateSession()` is the background re-check that produces the last two: call
72
72
  * it after the first render — a 401 or 403 clears the token (`'unauthenticated'`),
73
73
  * while a network failure, a 5xx, or a 404 from a wrong `currentUserEndpoint`
@@ -112,18 +112,18 @@
112
112
  * user, `setSession({ accessToken, user })` stores both and flips the client to
113
113
  * `authenticated` in one update, so every hook reading the shared client is signed in at once
114
114
  * (a form's own sign-in code wrote the token and the user with `setAccessToken`/`setUser`,
115
- * which change their field only — the UI stayed signed out and nine browser assertions timed
116
- * out, xr-molecule-flash-m178). `setAccessToken()` and `setUser()` are field setters, not a
115
+ * which change their field only — the UI stays signed out and the browser assertions that
116
+ * expect it time out). `setAccessToken()` and `setUser()` are field setters, not a
117
117
  * sign-in: neither sets `authenticated`.
118
118
  *
119
119
  * **A custom user profile is typed once and used everywhere: `AuthClientConfig<MyUser>`,
120
120
  * `createJWTAuthClient<MyUser>` and `useAuth<MyUser>()`.** The config's generic makes
121
121
  * `mapAuthResponse` return `AuthResult<MyUser>`, so a mapper that omits a required custom
122
122
  * field fails at the factory call instead of shipping a signed-in page whose navbar reads
123
- * `undefined` (xr-molecule-flash-m255: the mapper kept `id`/`name`/`avatar` but dropped
124
- * `username`, and the signed-in controls never rendered although login succeeded). Keep the
125
- * wire user's fields and ADD the base identity fields; do not rebuild the profile field by
126
- * field, and never hide a mismatch with `as unknown as MyUser`:
123
+ * `undefined` — a mapper that keeps `id`/`name`/`avatar` but drops `username` leaves the
124
+ * signed-in controls unrendered although login succeeded. The
125
+ * wire user carries the base fields too, `id` included — spread it, do not rebuild it
126
+ * field by field, and never hide a mismatch with `as unknown as MyUser`:
127
127
  *
128
128
  * ```typescript
129
129
  * import type { AuthClientConfig, UserProfile } from '@molecule/app-auth'
@@ -136,18 +136,12 @@
136
136
  *
137
137
  * const config: AuthClientConfig<MyUser> = {
138
138
  * mapAuthResponse: (data) => {
139
- * const { user: wire } = data as { user: { token: string } & Omit<MyUser, 'id'> }
140
- * return {
141
- * accessToken: wire.token,
142
- * user: {
143
- * // Every wire field the pages read (`username`, `image`, …) survives…
144
- * ...wire,
145
- * // …plus the base fields the client derives its identity from.
146
- * id: wire.username,
147
- * name: wire.name ?? wire.username,
148
- * avatar: wire.image,
149
- * },
150
- * }
139
+ * // The wire is the app's profile plus the bearer; `id` is the server's.
140
+ * const { user: wire } = data as { user: { token: string } & MyUser }
141
+ * // The bearer stays OUT of the profile: the client caches `user` in Web
142
+ * // Storage, where a token copy is readable by any script on the origin.
143
+ * const { token, ...profile } = wire
144
+ * return { accessToken: token, user: profile }
151
145
  * },
152
146
  * }
153
147
  *
@@ -155,11 +149,55 @@
155
149
  * // React: `useAuth<MyUser>()` reads the same profile.
156
150
  * ```
157
151
  *
158
- * A username-derived `id` can change during a profile save. It is not an immutable
159
- * session identifier: `getSessionRevision()` tracks session ownership independently
160
- * of profile fields, remains unchanged for profile updates and same-session
161
- * refreshes, and changes when a session is replaced or ended. Compare revisions
162
- * only within one client. React's `useProfileForm` uses this capability by default.
152
+ * That `id` is the API's account identifier. Do not derive one from a display field
153
+ * (`id: wire.username`) to borrow `UserProfile` for an API that has no id: the field
154
+ * changes, the fabricated id changes with it, and the value then reaches storage,
155
+ * `getUser()` and every page as if the server had said it.
156
+ *
157
+ * A profile does not have to extend `UserProfile` and does not need an `id`: the client
158
+ * stores and patches the object it is given and reads no field of it. Name the API's own
159
+ * shape, pass it to the factory and the config, and have the mapper return it complete —
160
+ * every configuration adapter is typed by the same `T` (`mapAuthResponse`, the
161
+ * `profileEndpoint`/`profileUpdateMethod`/`profileRequestBody` write transport,
162
+ * `shouldRestoreUser`, and `setSession`):
163
+ *
164
+ * ```typescript
165
+ * import type { AuthClientConfig } from '@molecule/app-auth'
166
+ * import { createJWTAuthClient } from '@molecule/app-auth'
167
+ *
168
+ * interface SessionUser {
169
+ * username: string
170
+ * email: string
171
+ * bio: string
172
+ * image: string
173
+ * }
174
+ *
175
+ * const config: AuthClientConfig<SessionUser> = {
176
+ * mapAuthResponse: (data) => {
177
+ * const { user: wire } = data as { user: { token: string } & SessionUser }
178
+ * // The bearer stays OUT of the profile: the client caches `user` in Web
179
+ * // Storage, where a token copy is readable by any script on the origin.
180
+ * const { token, ...profile } = wire
181
+ * return { accessToken: token, user: profile }
182
+ * },
183
+ * profileEndpoint: (user) => '/people/' + encodeURIComponent(user.username),
184
+ * }
185
+ *
186
+ * const client = createJWTAuthClient<SessionUser>(config)
187
+ * // `client.getUser()` has `bio`/`image`; there is no `id` to fabricate.
188
+ * ```
189
+ *
190
+ * The profile is named at the factory, never inferred from the mapper: an untyped
191
+ * `createJWTAuthClient({ mapAuthResponse })` stays `UserProfile`, whose required
192
+ * `id: string` is the default configuration's contract. An array, a function or a
193
+ * `Date` is not a profile the client can persist — see `AuthProfileShape`.
194
+ *
195
+ * A profile field can change during a profile save — a handle, or a username an app
196
+ * once derived an `id` from. It is not an immutable session identifier:
197
+ * `getSessionRevision()` tracks session ownership independently of profile fields,
198
+ * remains unchanged for profile updates and same-session refreshes, and changes when
199
+ * a session is replaced or ended. Compare revisions only within one client. React's
200
+ * `useProfileForm` uses this capability by default.
163
201
  *
164
202
  * **A profile-update transport that is not `PATCH` with bare JSON is a CONFIG field, not a
165
203
  * hand-written client.** `updateProfile()` sends to `profileEndpoint` with `PATCH` and the
@@ -194,7 +232,11 @@
194
232
  * coherent, and hand-written adapters have had to repair those callbacks repeatedly.
195
233
  * A pending profile response is published only to the session that sent it:
196
234
  * signing out or explicitly adopting/signing in another session prevents the old
197
- * response from replacing the active user's stored profile.
235
+ * response from changing the active user's stored profile. The answer is applied onto the
236
+ * stored profile field by field: a field it carries replaces the stored value (`null` clears
237
+ * it) and one it leaves out — or that `mapAuthResponse` leaves `undefined` — is kept, so a
238
+ * field the API clears by leaving it out must reach the client as `null`, answered by the API
239
+ * or mapped by `mapAuthResponse`.
198
240
  *
199
241
  * **A background verification that returns an unchanged user changes nothing.** When
200
242
  * `validateSession()` (or a reload's restore) answers with the same profile data the client
@@ -227,7 +269,8 @@
227
269
  * @remarks
228
270
  * - **An API with its own auth envelope keeps this client.** `requestBody` wraps the
229
271
  * login/register payload (`(kind, p) => ({ user: p })`), `mapAuthResponse` reads the
230
- * token and user out of the answer (`(d) => ({ accessToken: d.user.token, user: d.user })`),
272
+ * token and user out of the answer — keeping the wire bearer OUT of the profile,
273
+ * because the client caches `user` in Web Storage (see the mapper example below) —
231
274
  * and `authScheme: 'Token'` sends `Authorization: Token <jwt>`. `mapAuthResponse` is the
232
275
  * ONE user-shape adapter: the client applies it to every answer that carries a user (login,
233
276
  * register, `validateSession()`, the cookie restore, a token refresh, `updateProfile()`), so
@@ -248,6 +291,16 @@
248
291
  * - Client-side auth state is UX only — the server enforces authorization on
249
292
  * every request; hiding a screen is not protection.
250
293
  *
294
+ * The mapper for such an envelope, with the wire token kept out of the cached
295
+ * profile (`d` is the parsed answer):
296
+ *
297
+ * ```typescript
298
+ * (d) => {
299
+ * const { token, ...user } = d.user
300
+ * return { accessToken: token, user }
301
+ * }
302
+ * ```
303
+ *
251
304
  * @example
252
305
  * ```typescript
253
306
  * import { createJWTAuthClient, setClient } from '@molecule/app-auth'
@@ -267,16 +320,26 @@
267
320
  * the form passed — `{ user: { username, email, password } }` goes out as-is.
268
321
  *
269
322
  * ```typescript
270
- * import type { UserProfile } from '@molecule/app-auth'
271
323
  * import { createJWTAuthClient } from '@molecule/app-auth'
272
324
  *
273
- * const realWorldAuth = createJWTAuthClient<UserProfile, { username: string }>({
325
+ * // RealWorld's user has no `id`. Name the shape the wire actually sends; the
326
+ * // client reads no field of it, so nothing has to be invented for a base profile.
327
+ * interface RealWorldUser {
328
+ * username: string
329
+ * email: string
330
+ * bio: string
331
+ * image: string
332
+ * }
333
+ *
334
+ * const realWorldAuth = createJWTAuthClient<RealWorldUser, { username: string }>({
274
335
  * baseURL: '/api',
275
336
  * authScheme: 'Token',
276
337
  * requestBody: (_kind, payload) => ({ user: payload }),
277
338
  * mapAuthResponse: (data) => {
278
- * const { user } = data as { user: { token: string; username: string; email: string } }
279
- * return { accessToken: user.token, user: { id: user.username, email: user.email } }
339
+ * const { user: wire } = data as { user: { token: string } & RealWorldUser }
340
+ * // Keep every wire field; the bearer stays out of the cached profile.
341
+ * const { token, ...profile } = wire
342
+ * return { accessToken: token, user: profile }
280
343
  * },
281
344
  * })
282
345
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4UG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2YG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}