raffel 1.0.9 → 1.0.10-next.22f4d4e

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/dist/adapters/index.d.ts +1 -1
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/websocket.d.ts +100 -1
  4. package/dist/adapters/websocket.d.ts.map +1 -1
  5. package/dist/adapters/websocket.js +428 -14
  6. package/dist/adapters/websocket.js.map +1 -1
  7. package/dist/channels/channel-manager.d.ts.map +1 -1
  8. package/dist/channels/channel-manager.js +265 -4
  9. package/dist/channels/channel-manager.js.map +1 -1
  10. package/dist/channels/history.d.ts +54 -0
  11. package/dist/channels/history.d.ts.map +1 -0
  12. package/dist/channels/history.js +78 -0
  13. package/dist/channels/history.js.map +1 -0
  14. package/dist/channels/index.d.ts +9 -1
  15. package/dist/channels/index.d.ts.map +1 -1
  16. package/dist/channels/index.js +8 -1
  17. package/dist/channels/index.js.map +1 -1
  18. package/dist/channels/recovery.d.ts +57 -0
  19. package/dist/channels/recovery.d.ts.map +1 -0
  20. package/dist/channels/recovery.js +58 -0
  21. package/dist/channels/recovery.js.map +1 -0
  22. package/dist/channels/rest-api.d.ts +32 -0
  23. package/dist/channels/rest-api.d.ts.map +1 -0
  24. package/dist/channels/rest-api.js +197 -0
  25. package/dist/channels/rest-api.js.map +1 -0
  26. package/dist/channels/ticket-store.d.ts +25 -0
  27. package/dist/channels/ticket-store.d.ts.map +1 -0
  28. package/dist/channels/ticket-store.js +70 -0
  29. package/dist/channels/ticket-store.js.map +1 -0
  30. package/dist/channels/types.d.ts +267 -5
  31. package/dist/channels/types.d.ts.map +1 -1
  32. package/dist/channels/types.js +15 -1
  33. package/dist/channels/types.js.map +1 -1
  34. package/dist/client/index.d.ts +39 -0
  35. package/dist/client/index.d.ts.map +1 -0
  36. package/dist/client/index.js +531 -0
  37. package/dist/client/index.js.map +1 -0
  38. package/dist/client/reconnect.d.ts +33 -0
  39. package/dist/client/reconnect.d.ts.map +1 -0
  40. package/dist/client/reconnect.js +60 -0
  41. package/dist/client/reconnect.js.map +1 -0
  42. package/dist/client/types.d.ts +107 -0
  43. package/dist/client/types.d.ts.map +1 -0
  44. package/dist/client/types.js +5 -0
  45. package/dist/client/types.js.map +1 -0
  46. package/dist/index.d.ts +9 -4
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/middleware/interceptors/field-filter.d.ts +51 -0
  51. package/dist/middleware/interceptors/field-filter.d.ts.map +1 -0
  52. package/dist/middleware/interceptors/field-filter.js +81 -0
  53. package/dist/middleware/interceptors/field-filter.js.map +1 -0
  54. package/dist/middleware/interceptors/guard.d.ts +51 -0
  55. package/dist/middleware/interceptors/guard.d.ts.map +1 -0
  56. package/dist/middleware/interceptors/guard.js +45 -0
  57. package/dist/middleware/interceptors/guard.js.map +1 -0
  58. package/dist/middleware/interceptors/index.d.ts +4 -0
  59. package/dist/middleware/interceptors/index.d.ts.map +1 -1
  60. package/dist/middleware/interceptors/index.js +4 -0
  61. package/dist/middleware/interceptors/index.js.map +1 -1
  62. package/dist/resource-module/index.d.ts +44 -0
  63. package/dist/resource-module/index.d.ts.map +1 -0
  64. package/dist/resource-module/index.js +146 -0
  65. package/dist/resource-module/index.js.map +1 -0
  66. package/dist/resource-module/types.d.ts +109 -0
  67. package/dist/resource-module/types.d.ts.map +1 -0
  68. package/dist/resource-module/types.js +7 -0
  69. package/dist/resource-module/types.js.map +1 -0
  70. package/dist/resource-module/watch-helpers.d.ts +16 -0
  71. package/dist/resource-module/watch-helpers.d.ts.map +1 -0
  72. package/dist/resource-module/watch-helpers.js +65 -0
  73. package/dist/resource-module/watch-helpers.js.map +1 -0
  74. package/dist/server/types.d.ts +27 -0
  75. package/dist/server/types.d.ts.map +1 -1
  76. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/adapters/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/adapters/websocket.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"channel-manager.d.ts","sourceRoot":"","sources":["../../src/channels/channel-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAOf,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AA0CzE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,cAAc,EAC5B,QAAQ,GAAE,mBAAyD,GAClE,cAAc,CAgmBhB"}
1
+ {"version":3,"file":"channel-manager.d.ts","sourceRoot":"","sources":["../../src/channels/channel-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EASf,MAAM,YAAY,CAAA;AA2CnB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AA0CzE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,cAAc,EAC5B,QAAQ,GAAE,mBAAyD,GAClE,cAAc,CA22BhB"}
@@ -5,7 +5,33 @@
5
5
  * Handles subscriptions, broadcasting, and presence tracking.
6
6
  */
7
7
  import { getPrincipalId } from '../types/index.js';
8
+ import { sid } from '../utils/id/index.js';
8
9
  import { getChannelType } from './types.js';
10
+ import { createMemoryHistoryStore } from './history.js';
11
+ function createRateLimiter(limits) {
12
+ const buckets = new Map();
13
+ function checkLimit(key, maxPerSecond) {
14
+ const now = Date.now();
15
+ const bucket = buckets.get(key);
16
+ if (!bucket || now - bucket.windowStart >= 1000) {
17
+ buckets.set(key, { count: 1, windowStart: now });
18
+ return true;
19
+ }
20
+ if (bucket.count >= maxPerSecond) {
21
+ return false;
22
+ }
23
+ bucket.count++;
24
+ return true;
25
+ }
26
+ function removeSocket(socketId) {
27
+ for (const key of buckets.keys()) {
28
+ if (key.startsWith(socketId + ':')) {
29
+ buckets.delete(key);
30
+ }
31
+ }
32
+ }
33
+ return { checkLimit, removeSocket };
34
+ }
9
35
  function createInMemoryChannelPresencePort() {
10
36
  const membersByChannel = new Map();
11
37
  function getOrCreateMembers(channel) {
@@ -85,6 +111,21 @@ export function createChannelManager(options, sendToSocket, presence = createInM
85
111
  const groups = new Map();
86
112
  /** Reverse index: socket → groups */
87
113
  const socketGroups = new Map();
114
+ /** Server epoch (unique per createChannelManager call / server restart) */
115
+ const serverEpoch = sid();
116
+ /** Rate limiter instance */
117
+ const rateLimiter = options.rateLimits ? createRateLimiter(options.rateLimits) : null;
118
+ const rateLimits = options.rateLimits;
119
+ /** Typing state: channel → socketId → timeout timer */
120
+ const typingState = new Map();
121
+ const typingTimeout = options.typing?.timeout ?? 5000;
122
+ /** History store (optional) */
123
+ const historyStore = options.history?.enabled
124
+ ? createMemoryHistoryStore({
125
+ maxSize: options.history.maxSize,
126
+ ttl: options.history.ttl,
127
+ })
128
+ : null;
88
129
  /**
89
130
  * Get or create a channel
90
131
  */
@@ -97,8 +138,14 @@ export function createChannelManager(options, sendToSocket, presence = createInM
97
138
  type,
98
139
  subscribers: new Set(),
99
140
  createdAt: Date.now(),
141
+ sequence: 0,
142
+ epoch: serverEpoch,
100
143
  };
101
144
  channels.set(name, channel);
145
+ // Lifecycle hook: channel created
146
+ if (options.hooks?.onChannelCreated) {
147
+ Promise.resolve(options.hooks.onChannelCreated(name, type)).catch(() => { });
148
+ }
102
149
  }
103
150
  return channel;
104
151
  }
@@ -128,16 +175,45 @@ export function createChannelManager(options, sendToSocket, presence = createInM
128
175
  /**
129
176
  * Broadcast a message to channel subscribers
130
177
  */
131
- function broadcastMessage(channelName, event, data, except) {
178
+ function broadcastMessage(channelName, event, data, except, senderId) {
132
179
  const channel = channels.get(channelName);
133
180
  if (!channel)
134
181
  return;
182
+ // Increment sequence number
183
+ channel.sequence++;
135
184
  const message = {
136
185
  type: 'event',
137
186
  channel: channelName,
138
187
  event,
139
188
  data,
189
+ seq: channel.sequence,
190
+ epoch: channel.epoch,
140
191
  };
192
+ // Append to history store if enabled
193
+ if (historyStore) {
194
+ historyStore.append({
195
+ id: sid(),
196
+ channel: channelName,
197
+ event,
198
+ data,
199
+ seq: channel.sequence,
200
+ epoch: channel.epoch,
201
+ senderId,
202
+ timestamp: Date.now(),
203
+ });
204
+ }
205
+ // Queue channels: round-robin to a single subscriber
206
+ if (channel.type === 'queue') {
207
+ const subscribers = Array.from(channel.subscribers);
208
+ // Filter out excluded socket if present
209
+ const eligible = except ? subscribers.filter((s) => s !== except) : subscribers;
210
+ if (eligible.length === 0)
211
+ return;
212
+ channel.roundRobinIndex = ((channel.roundRobinIndex ?? -1) + 1) % eligible.length;
213
+ const target = eligible[channel.roundRobinIndex];
214
+ sendToSocket(target, message);
215
+ return;
216
+ }
141
217
  for (const socketId of channel.subscribers) {
142
218
  if (socketId !== except) {
143
219
  sendToSocket(socketId, message);
@@ -150,14 +226,128 @@ export function createChannelManager(options, sendToSocket, presence = createInM
150
226
  function cleanupIfEmpty(channelName) {
151
227
  const channel = channels.get(channelName);
152
228
  if (channel && channel.subscribers.size === 0) {
229
+ const type = channel.type;
153
230
  channels.delete(channelName);
231
+ // Lifecycle hook: channel destroyed
232
+ if (options.hooks?.onChannelDestroyed) {
233
+ Promise.resolve(options.hooks.onChannelDestroyed(channelName, type)).catch(() => { });
234
+ }
235
+ }
236
+ }
237
+ /**
238
+ * Clear typing state for a socket on a channel and broadcast typing:stop
239
+ */
240
+ function clearTypingForSocket(socketId, channelName) {
241
+ const channelTyping = typingState.get(channelName);
242
+ if (!channelTyping)
243
+ return;
244
+ const timer = channelTyping.get(socketId);
245
+ if (timer) {
246
+ clearTimeout(timer);
247
+ channelTyping.delete(socketId);
248
+ if (channelTyping.size === 0)
249
+ typingState.delete(channelName);
250
+ // Broadcast typing:stop
251
+ const channel = channels.get(channelName);
252
+ if (channel) {
253
+ for (const sub of channel.subscribers) {
254
+ if (sub !== socketId) {
255
+ sendToSocket(sub, {
256
+ type: 'event',
257
+ channel: channelName,
258
+ event: 'typing:stop',
259
+ data: { socketId },
260
+ });
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * Clear all typing state for a socket (on disconnect)
268
+ */
269
+ function clearAllTypingForSocket(socketId) {
270
+ for (const [channelName, channelTyping] of typingState) {
271
+ if (channelTyping.has(socketId)) {
272
+ clearTypingForSocket(socketId, channelName);
273
+ }
274
+ }
275
+ }
276
+ /**
277
+ * Handle a typing indicator message
278
+ */
279
+ function handleTyping(socketId, channelName, isTyping) {
280
+ if (!options.typing?.enabled)
281
+ return;
282
+ const channel = channels.get(channelName);
283
+ if (!channel || !channel.subscribers.has(socketId))
284
+ return;
285
+ if (isTyping) {
286
+ // Set or reset the typing timeout
287
+ let channelTyping = typingState.get(channelName);
288
+ if (!channelTyping) {
289
+ channelTyping = new Map();
290
+ typingState.set(channelName, channelTyping);
291
+ }
292
+ // Clear existing timer
293
+ const existing = channelTyping.get(socketId);
294
+ if (existing)
295
+ clearTimeout(existing);
296
+ // Set timeout to auto-stop
297
+ const timer = setTimeout(() => {
298
+ clearTypingForSocket(socketId, channelName);
299
+ }, typingTimeout);
300
+ channelTyping.set(socketId, timer);
301
+ // Broadcast typing event
302
+ for (const sub of channel.subscribers) {
303
+ if (sub !== socketId) {
304
+ sendToSocket(sub, {
305
+ type: 'event',
306
+ channel: channelName,
307
+ event: 'typing',
308
+ data: { socketId, isTyping: true },
309
+ });
310
+ }
311
+ }
312
+ }
313
+ else {
314
+ clearTypingForSocket(socketId, channelName);
154
315
  }
155
316
  }
156
317
  const manager = {
157
318
  // ─────────────────────────────────────────────────────────────
158
319
  // Subscription Management
159
320
  // ─────────────────────────────────────────────────────────────
160
- async subscribe(socketId, channelName, ctx) {
321
+ async subscribe(socketId, channelName, ctx, since) {
322
+ // Rate limit: max subscribes per second
323
+ if (rateLimiter && rateLimits?.maxSubscribesPerSecond) {
324
+ if (!rateLimiter.checkLimit(`${socketId}:sub`, rateLimits.maxSubscribesPerSecond)) {
325
+ rateLimits.onRateLimited?.(socketId, 'subscribe', rateLimits.maxSubscribesPerSecond);
326
+ return {
327
+ success: false,
328
+ error: {
329
+ code: 'RATE_LIMITED',
330
+ status: 429,
331
+ message: 'Too many subscribe operations',
332
+ },
333
+ };
334
+ }
335
+ }
336
+ // Rate limit: max channels per client
337
+ if (rateLimits?.maxChannelsPerClient) {
338
+ const currentCount = socketChannels.get(socketId)?.size ?? 0;
339
+ if (currentCount >= rateLimits.maxChannelsPerClient) {
340
+ rateLimits.onRateLimited?.(socketId, 'max_channels', rateLimits.maxChannelsPerClient);
341
+ return {
342
+ success: false,
343
+ error: {
344
+ code: 'RATE_LIMITED',
345
+ status: 429,
346
+ message: `Max channels per client (${rateLimits.maxChannelsPerClient}) exceeded`,
347
+ },
348
+ };
349
+ }
350
+ }
161
351
  const type = getChannelType(channelName);
162
352
  // Authorization check (all channels when authorize is provided)
163
353
  if (options.authorize) {
@@ -173,7 +363,7 @@ export function createChannelManager(options, sendToSocket, presence = createInM
173
363
  };
174
364
  }
175
365
  }
176
- else if (type !== 'public') {
366
+ else if (type !== 'public' && type !== 'queue') {
177
367
  // No authorize function → deny by default for private/presence
178
368
  return {
179
369
  success: false,
@@ -184,6 +374,25 @@ export function createChannelManager(options, sendToSocket, presence = createInM
184
374
  },
185
375
  };
186
376
  }
377
+ // Max subscribers per channel check
378
+ if (options.maxSubscribersPerChannel != null) {
379
+ const existingChannel = channels.get(channelName);
380
+ if (existingChannel && !existingChannel.subscribers.has(socketId)) {
381
+ const limit = typeof options.maxSubscribersPerChannel === 'function'
382
+ ? options.maxSubscribersPerChannel(channelName)
383
+ : options.maxSubscribersPerChannel;
384
+ if (existingChannel.subscribers.size >= limit) {
385
+ return {
386
+ success: false,
387
+ error: {
388
+ code: 'CHANNEL_FULL',
389
+ status: 429,
390
+ message: `Channel ${channelName} is full (max ${limit} subscribers)`,
391
+ },
392
+ };
393
+ }
394
+ }
395
+ }
187
396
  const channel = getOrCreateChannel(channelName);
188
397
  // Already subscribed?
189
398
  if (channel.subscribers.has(socketId)) {
@@ -282,7 +491,7 @@ export function createChannelManager(options, sendToSocket, presence = createInM
282
491
  // Broadcasting
283
492
  // ─────────────────────────────────────────────────────────────
284
493
  broadcast(channelName, event, data, except) {
285
- broadcastMessage(channelName, event, data, except);
494
+ broadcastMessage(channelName, event, data, except, except);
286
495
  },
287
496
  sendToSocket(socketId, channelName, event, data) {
288
497
  const channel = channels.get(channelName);
@@ -342,6 +551,10 @@ export function createChannelManager(options, sendToSocket, presence = createInM
342
551
  });
343
552
  },
344
553
  removeClient(socketId) {
554
+ // Clean up typing state
555
+ clearAllTypingForSocket(socketId);
556
+ // Clean up rate limiter state
557
+ rateLimiter?.removeSocket(socketId);
345
558
  // Clean up rooms
346
559
  const clientRoomSet = socketRooms.get(socketId);
347
560
  if (clientRoomSet) {
@@ -578,6 +791,54 @@ export function createChannelManager(options, sendToSocket, presence = createInM
578
791
  }
579
792
  groups.delete(groupName);
580
793
  },
794
+ // ─────────────────────────────────────────────────────────────
795
+ // Recovery
796
+ // ─────────────────────────────────────────────────────────────
797
+ recoverClient(_oldSocketId, newSocketId, channelList) {
798
+ for (const { name, lastSeq } of channelList) {
799
+ const channel = getOrCreateChannel(name);
800
+ channel.subscribers.add(newSocketId);
801
+ trackSubscription(newSocketId, name);
802
+ // Replay missed messages from history
803
+ if (historyStore) {
804
+ const missed = historyStore.getAfterSeq(name, lastSeq, channel.epoch);
805
+ for (const entry of missed) {
806
+ sendToSocket(newSocketId, {
807
+ type: 'event',
808
+ channel: name,
809
+ event: entry.event,
810
+ data: entry.data,
811
+ seq: entry.seq,
812
+ epoch: entry.epoch,
813
+ });
814
+ }
815
+ }
816
+ }
817
+ },
818
+ replayHistory(socketId, channelName, sinceSeq, epoch) {
819
+ if (!historyStore)
820
+ return;
821
+ const missed = historyStore.getAfterSeq(channelName, sinceSeq, epoch);
822
+ for (const entry of missed) {
823
+ sendToSocket(socketId, {
824
+ type: 'event',
825
+ channel: channelName,
826
+ event: entry.event,
827
+ data: entry.data,
828
+ seq: entry.seq,
829
+ epoch: entry.epoch,
830
+ });
831
+ }
832
+ },
833
+ getEpoch() {
834
+ return serverEpoch;
835
+ },
836
+ getSequence(channelName) {
837
+ return channels.get(channelName)?.sequence ?? 0;
838
+ },
839
+ handleTyping(socketId, channelName, isTyping) {
840
+ handleTyping(socketId, channelName, isTyping);
841
+ },
581
842
  };
582
843
  return manager;
583
844
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channel-manager.js","sourceRoot":"","sources":["../../src/channels/channel-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-manager.js","sourceRoot":"","sources":["../../src/channels/channel-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Channel History
3
+ *
4
+ * Pluggable message history for channel catchup on reconnect.
5
+ * Stores recent messages per channel in a circular buffer.
6
+ */
7
+ /**
8
+ * A single history entry stored for replay
9
+ */
10
+ export interface ChannelHistoryEntry {
11
+ /** Unique message ID */
12
+ id: string;
13
+ /** Channel name */
14
+ channel: string;
15
+ /** Event name */
16
+ event: string;
17
+ /** Event data */
18
+ data: unknown;
19
+ /** Monotonically increasing sequence number within the channel */
20
+ seq: number;
21
+ /** Server epoch (changes on restart) */
22
+ epoch: string;
23
+ /** Socket ID of the sender (if any) */
24
+ senderId?: string;
25
+ /** Timestamp when the message was stored */
26
+ timestamp: number;
27
+ }
28
+ /**
29
+ * Port interface for pluggable history storage.
30
+ * Default: in-memory circular buffer per channel.
31
+ */
32
+ export interface ChannelHistoryPort {
33
+ /** Append an entry to the history */
34
+ append(entry: ChannelHistoryEntry): void;
35
+ /** Get entries after a given sequence number within the same epoch */
36
+ getAfterSeq(channel: string, sinceSeq: number, epoch: string, limit?: number): ChannelHistoryEntry[];
37
+ /** Trim history for a channel to maxSize entries */
38
+ trim(channel: string, maxSize: number): void;
39
+ }
40
+ export interface MemoryHistoryStoreOptions {
41
+ /** Max entries per channel (default: 100) */
42
+ maxSize?: number;
43
+ /** TTL in ms for entries (default: 300000 = 5 minutes) */
44
+ ttl?: number;
45
+ /** GC interval in ms (default: 30000) */
46
+ gcInterval?: number;
47
+ }
48
+ /**
49
+ * Create an in-memory history store with circular buffer per channel
50
+ */
51
+ export declare function createMemoryHistoryStore(options?: MemoryHistoryStoreOptions): ChannelHistoryPort & {
52
+ dispose(): void;
53
+ };
54
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/channels/history.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAA;IACX,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACxC,sEAAsE;IACtE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpG,oDAAoD;IACpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7C;AAID,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,GAAG;IAAE,OAAO,IAAI,IAAI,CAAA;CAAE,CAkF1C"}