@vibes.diy/api-types 14.3.138 → 14.3.140

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/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from "./common.js";
6
6
  export * from "./app.js";
7
7
  export * from "./app-clip.js";
8
8
  export * from "./chat.js";
9
+ export * from "./chat-section-pack.js";
9
10
  export * from "./look-restyle.js";
10
11
  export * from "./chat-history.js";
11
12
  export * from "./turn-variant.js";
@@ -43,6 +44,7 @@ export * from "./iframe-src-params.js";
43
44
  export * from "./tracking-params.js";
44
45
  export * from "./vibes-diy-api.js";
45
46
  export * from "./invite.js";
47
+ export * from "./invite-note.js";
46
48
  export * from "./cf-env.js";
47
49
  export * from "./auth.js";
48
50
  export * from "./geo.js";
package/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./common.js";
5
5
  export * from "./app.js";
6
6
  export * from "./app-clip.js";
7
7
  export * from "./chat.js";
8
+ export * from "./chat-section-pack.js";
8
9
  export * from "./look-restyle.js";
9
10
  export * from "./chat-history.js";
10
11
  export * from "./turn-variant.js";
@@ -42,6 +43,7 @@ export * from "./iframe-src-params.js";
42
43
  export * from "./tracking-params.js";
43
44
  export * from "./vibes-diy-api.js";
44
45
  export * from "./invite.js";
46
+ export * from "./invite-note.js";
45
47
  export * from "./cf-env.js";
46
48
  export * from "./auth.js";
47
49
  export * from "./geo.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AAQrC,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACrC,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1C,CAAC;AAqDD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AAErC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
package/invite-flow.d.ts CHANGED
@@ -8,53 +8,6 @@ export declare const KeyGrantKey: import("arktype/internal/variants/object.ts").
8
8
  export type KeyGrantKey = typeof KeyGrantKey.infer;
9
9
  export declare const ResKeyGrantItem: import("arktype/internal/variants/object.ts").ObjectType<{
10
10
  entry: {
11
- type: "app.acl.active.request";
12
- role: "viewer";
13
- state: "pending";
14
- request: {
15
- key: string;
16
- provider: "clerk" | "github" | "google";
17
- msg?: string | undefined;
18
- userId: string;
19
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
20
- };
21
- } | {
22
- type: "app.acl.active.request";
23
- role: "editor" | "submitter" | "viewer";
24
- state: "approved";
25
- request: {
26
- key: string;
27
- provider: "clerk" | "github" | "google";
28
- msg?: string | undefined;
29
- userId: string;
30
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
31
- };
32
- tick: {
33
- count: number;
34
- last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
35
- };
36
- grant: {
37
- ownerId: string;
38
- key?: string | undefined;
39
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
40
- };
41
- } | {
42
- type: "app.acl.active.request";
43
- role: "editor" | "submitter" | "viewer";
44
- state: "rejected";
45
- request: {
46
- key: string;
47
- provider: "clerk" | "github" | "google";
48
- msg?: string | undefined;
49
- userId: string;
50
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
51
- };
52
- grant: {
53
- ownerId: string;
54
- key?: string | undefined;
55
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
56
- };
57
- } | {
58
11
  type: "app.acl.active.invite";
59
12
  role: "editor";
60
13
  state: "pending";
@@ -140,6 +93,53 @@ export declare const ResKeyGrantItem: import("arktype/internal/variants/object.t
140
93
  count: number;
141
94
  last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
142
95
  };
96
+ } | {
97
+ type: "app.acl.active.request";
98
+ role: "viewer";
99
+ state: "pending";
100
+ request: {
101
+ key: string;
102
+ provider: "clerk" | "github" | "google";
103
+ msg?: string | undefined;
104
+ userId: string;
105
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
106
+ };
107
+ } | {
108
+ type: "app.acl.active.request";
109
+ role: "editor" | "submitter" | "viewer";
110
+ state: "approved";
111
+ request: {
112
+ key: string;
113
+ provider: "clerk" | "github" | "google";
114
+ msg?: string | undefined;
115
+ userId: string;
116
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
117
+ };
118
+ tick: {
119
+ count: number;
120
+ last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
121
+ };
122
+ grant: {
123
+ ownerId: string;
124
+ key?: string | undefined;
125
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
126
+ };
127
+ } | {
128
+ type: "app.acl.active.request";
129
+ role: "editor" | "submitter" | "viewer";
130
+ state: "rejected";
131
+ request: {
132
+ key: string;
133
+ provider: "clerk" | "github" | "google";
134
+ msg?: string | undefined;
135
+ userId: string;
136
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
137
+ };
138
+ grant: {
139
+ ownerId: string;
140
+ key?: string | undefined;
141
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
142
+ };
143
143
  };
144
144
  grantUserId?: string | undefined;
145
145
  grantType: "invite" | "request";
@@ -168,53 +168,6 @@ export declare const ResListKeyGrants: import("arktype/internal/variants/object.
168
168
  items: {
169
169
  key: string;
170
170
  entry: {
171
- type: "app.acl.active.request";
172
- role: "viewer";
173
- state: "pending";
174
- request: {
175
- key: string;
176
- provider: "clerk" | "github" | "google";
177
- msg?: string | undefined;
178
- userId: string;
179
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
180
- };
181
- } | {
182
- type: "app.acl.active.request";
183
- role: "editor" | "submitter" | "viewer";
184
- state: "approved";
185
- request: {
186
- key: string;
187
- provider: "clerk" | "github" | "google";
188
- msg?: string | undefined;
189
- userId: string;
190
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
191
- };
192
- tick: {
193
- count: number;
194
- last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
195
- };
196
- grant: {
197
- ownerId: string;
198
- key?: string | undefined;
199
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
200
- };
201
- } | {
202
- type: "app.acl.active.request";
203
- role: "editor" | "submitter" | "viewer";
204
- state: "rejected";
205
- request: {
206
- key: string;
207
- provider: "clerk" | "github" | "google";
208
- msg?: string | undefined;
209
- userId: string;
210
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
211
- };
212
- grant: {
213
- ownerId: string;
214
- key?: string | undefined;
215
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
216
- };
217
- } | {
218
171
  type: "app.acl.active.invite";
219
172
  role: "editor";
220
173
  state: "pending";
@@ -300,6 +253,53 @@ export declare const ResListKeyGrants: import("arktype/internal/variants/object.
300
253
  count: number;
301
254
  last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
302
255
  };
256
+ } | {
257
+ type: "app.acl.active.request";
258
+ role: "viewer";
259
+ state: "pending";
260
+ request: {
261
+ key: string;
262
+ provider: "clerk" | "github" | "google";
263
+ msg?: string | undefined;
264
+ userId: string;
265
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
266
+ };
267
+ } | {
268
+ type: "app.acl.active.request";
269
+ role: "editor" | "submitter" | "viewer";
270
+ state: "approved";
271
+ request: {
272
+ key: string;
273
+ provider: "clerk" | "github" | "google";
274
+ msg?: string | undefined;
275
+ userId: string;
276
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
277
+ };
278
+ tick: {
279
+ count: number;
280
+ last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
281
+ };
282
+ grant: {
283
+ ownerId: string;
284
+ key?: string | undefined;
285
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
286
+ };
287
+ } | {
288
+ type: "app.acl.active.request";
289
+ role: "editor" | "submitter" | "viewer";
290
+ state: "rejected";
291
+ request: {
292
+ key: string;
293
+ provider: "clerk" | "github" | "google";
294
+ msg?: string | undefined;
295
+ userId: string;
296
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
297
+ };
298
+ grant: {
299
+ ownerId: string;
300
+ key?: string | undefined;
301
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
302
+ };
303
303
  };
304
304
  grantUserId?: string | undefined;
305
305
  updated: string;
@@ -321,53 +321,6 @@ export declare const ReqUpsertKeyGrant: import("arktype/internal/variants/object
321
321
  appSlug: string;
322
322
  ownerHandle: string;
323
323
  entry: {
324
- type: "app.acl.active.request";
325
- role: "viewer";
326
- state: "pending";
327
- request: {
328
- key: string;
329
- provider: "clerk" | "github" | "google";
330
- msg?: string | undefined;
331
- userId: string;
332
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
333
- };
334
- } | {
335
- type: "app.acl.active.request";
336
- role: "editor" | "submitter" | "viewer";
337
- state: "approved";
338
- request: {
339
- key: string;
340
- provider: "clerk" | "github" | "google";
341
- msg?: string | undefined;
342
- userId: string;
343
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
344
- };
345
- tick: {
346
- count: number;
347
- last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
348
- };
349
- grant: {
350
- ownerId: string;
351
- key?: string | undefined;
352
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
353
- };
354
- } | {
355
- type: "app.acl.active.request";
356
- role: "editor" | "submitter" | "viewer";
357
- state: "rejected";
358
- request: {
359
- key: string;
360
- provider: "clerk" | "github" | "google";
361
- msg?: string | undefined;
362
- userId: string;
363
- created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
364
- };
365
- grant: {
366
- ownerId: string;
367
- key?: string | undefined;
368
- on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
369
- };
370
- } | {
371
324
  type: "app.acl.active.invite";
372
325
  role: "editor";
373
326
  state: "pending";
@@ -453,16 +406,7 @@ export declare const ReqUpsertKeyGrant: import("arktype/internal/variants/object
453
406
  count: number;
454
407
  last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
455
408
  };
456
- };
457
- }, {}>;
458
- export type ReqUpsertKeyGrant = typeof ReqUpsertKeyGrant.infer;
459
- export declare function isReqUpsertKeyGrant(obj: unknown): obj is ReqUpsertKeyGrant;
460
- export declare const ResUpsertKeyGrant: import("arktype/internal/variants/object.ts").ObjectType<{
461
- appSlug: string;
462
- ownerHandle: string;
463
- grantType: "invite" | "request";
464
- key: string;
465
- entry: {
409
+ } | {
466
410
  type: "app.acl.active.request";
467
411
  role: "viewer";
468
412
  state: "pending";
@@ -509,7 +453,16 @@ export declare const ResUpsertKeyGrant: import("arktype/internal/variants/object
509
453
  key?: string | undefined;
510
454
  on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
511
455
  };
512
- } | {
456
+ };
457
+ }, {}>;
458
+ export type ReqUpsertKeyGrant = typeof ReqUpsertKeyGrant.infer;
459
+ export declare function isReqUpsertKeyGrant(obj: unknown): obj is ReqUpsertKeyGrant;
460
+ export declare const ResUpsertKeyGrant: import("arktype/internal/variants/object.ts").ObjectType<{
461
+ appSlug: string;
462
+ ownerHandle: string;
463
+ grantType: "invite" | "request";
464
+ key: string;
465
+ entry: {
513
466
  type: "app.acl.active.invite";
514
467
  role: "editor";
515
468
  state: "pending";
@@ -595,6 +548,53 @@ export declare const ResUpsertKeyGrant: import("arktype/internal/variants/object
595
548
  count: number;
596
549
  last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
597
550
  };
551
+ } | {
552
+ type: "app.acl.active.request";
553
+ role: "viewer";
554
+ state: "pending";
555
+ request: {
556
+ key: string;
557
+ provider: "clerk" | "github" | "google";
558
+ msg?: string | undefined;
559
+ userId: string;
560
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
561
+ };
562
+ } | {
563
+ type: "app.acl.active.request";
564
+ role: "editor" | "submitter" | "viewer";
565
+ state: "approved";
566
+ request: {
567
+ key: string;
568
+ provider: "clerk" | "github" | "google";
569
+ msg?: string | undefined;
570
+ userId: string;
571
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
572
+ };
573
+ tick: {
574
+ count: number;
575
+ last: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
576
+ };
577
+ grant: {
578
+ ownerId: string;
579
+ key?: string | undefined;
580
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
581
+ };
582
+ } | {
583
+ type: "app.acl.active.request";
584
+ role: "editor" | "submitter" | "viewer";
585
+ state: "rejected";
586
+ request: {
587
+ key: string;
588
+ provider: "clerk" | "github" | "google";
589
+ msg?: string | undefined;
590
+ userId: string;
591
+ created: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
592
+ };
593
+ grant: {
594
+ ownerId: string;
595
+ key?: string | undefined;
596
+ on: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
597
+ };
598
598
  };
599
599
  grantUserId?: string | undefined;
600
600
  updated: string;
@@ -0,0 +1,16 @@
1
+ export declare const INVITE_NOTE_MAX_CHARS = 140;
2
+ export declare const INVITE_NOTE_HINT = "A few words of your own \u2014 the email brings the link.";
3
+ export type InviteNoteRefusal = "too-long" | "link" | "email" | "phone";
4
+ export type InviteNoteCheck = {
5
+ readonly kind: "none";
6
+ } | {
7
+ readonly kind: "ok";
8
+ readonly note: string;
9
+ } | {
10
+ readonly kind: "invalid";
11
+ readonly reason: InviteNoteRefusal;
12
+ };
13
+ export declare function normalizeInviteNote(raw: string): string;
14
+ export declare function checkInviteNoteText(raw: string | undefined): InviteNoteCheck;
15
+ export type InviteNoteLengthBucket = "0" | "1-40" | "41-100" | "101-140";
16
+ export declare function inviteNoteLengthBucket(length: number): InviteNoteLengthBucket;
package/invite-note.js ADDED
@@ -0,0 +1,35 @@
1
+ export const INVITE_NOTE_MAX_CHARS = 140;
2
+ export const INVITE_NOTE_HINT = "A few words of your own — the email brings the link.";
3
+ const STRIPPED = /[\u0000-\u001F\u007F‪-‮⁦-⁩]/g;
4
+ const EMAIL = /[^\s@]+@[^\s@]+\.[^\s@]+/;
5
+ const LINK = /(?:[a-z][a-z0-9+.-]*:\/\/|\bwww\.|\b[a-z0-9][a-z0-9-]*\.[a-z]{2,}\b)/i;
6
+ const PHONE = /(?:\+?\d[\s\-().]{0,3}){7,}/;
7
+ export function normalizeInviteNote(raw) {
8
+ return raw.replace(STRIPPED, " ").replace(/\s+/g, " ").trim();
9
+ }
10
+ export function checkInviteNoteText(raw) {
11
+ if (raw === undefined)
12
+ return { kind: "none" };
13
+ const note = normalizeInviteNote(raw);
14
+ if (note === "")
15
+ return { kind: "none" };
16
+ if (note.length > INVITE_NOTE_MAX_CHARS)
17
+ return { kind: "invalid", reason: "too-long" };
18
+ if (EMAIL.test(note))
19
+ return { kind: "invalid", reason: "email" };
20
+ if (LINK.test(note))
21
+ return { kind: "invalid", reason: "link" };
22
+ if (PHONE.test(note))
23
+ return { kind: "invalid", reason: "phone" };
24
+ return { kind: "ok", note };
25
+ }
26
+ export function inviteNoteLengthBucket(length) {
27
+ if (length <= 0)
28
+ return "0";
29
+ if (length <= 40)
30
+ return "1-40";
31
+ if (length <= 100)
32
+ return "41-100";
33
+ return "101-140";
34
+ }
35
+ //# sourceMappingURL=invite-note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-note.js","sourceRoot":"","sources":["../jsr/invite-note.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,sDAAsD,CAAC;AAYvF,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAChD,MAAM,KAAK,GAAG,0BAA0B,CAAC;AACzC,MAAM,IAAI,GAAG,uEAAuE,CAAC;AAErF,MAAM,KAAK,GAAG,6BAA6B,CAAC;AAG5C,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,GAAuB;IACzD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAqB;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAKD,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,MAAM,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IACnC,OAAO,SAAS,CAAC;AACnB,CAAC"}