@openora/core 0.4.1-canary.59 → 0.4.1-canary.62

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 (214) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +2 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +2 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +2 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +13 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +2 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/plugin.d.ts +2 -0
  13. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  14. package/dist/cms/plugin.d.ts +2 -0
  15. package/dist/cms/plugin.d.ts.map +1 -1
  16. package/dist/compliance/plugin.d.ts +2 -0
  17. package/dist/compliance/plugin.d.ts.map +1 -1
  18. package/dist/contracts/adapters/audit.d.ts +1 -1
  19. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  20. package/dist/contracts/adapters/audit.js.map +1 -1
  21. package/dist/contracts/adapters/gift-commands.d.ts +54 -0
  22. package/dist/contracts/adapters/gift-commands.d.ts.map +1 -0
  23. package/dist/contracts/adapters/gift-commands.js +11 -0
  24. package/dist/contracts/adapters/gift-commands.js.map +1 -0
  25. package/dist/contracts/adapters/index.d.ts +4 -0
  26. package/dist/contracts/adapters/index.d.ts.map +1 -1
  27. package/dist/contracts/adapters/index.js +2 -0
  28. package/dist/contracts/adapters/index.js.map +1 -1
  29. package/dist/contracts/adapters/rain-commands.d.ts +23 -0
  30. package/dist/contracts/adapters/rain-commands.d.ts.map +1 -0
  31. package/dist/contracts/adapters/rain-commands.js +12 -0
  32. package/dist/contracts/adapters/rain-commands.js.map +1 -0
  33. package/dist/contracts/schemas/chat-command-metadata.d.ts +12 -0
  34. package/dist/contracts/schemas/chat-command-metadata.d.ts.map +1 -1
  35. package/dist/contracts/schemas/chat-command-metadata.js +10 -0
  36. package/dist/contracts/schemas/chat-command-metadata.js.map +1 -1
  37. package/dist/contracts/schemas/chat-command.d.ts +25 -0
  38. package/dist/contracts/schemas/chat-command.d.ts.map +1 -1
  39. package/dist/contracts/schemas/chat-command.js +13 -1
  40. package/dist/contracts/schemas/chat-command.js.map +1 -1
  41. package/dist/contracts/schemas/events.d.ts +15 -3
  42. package/dist/contracts/schemas/events.d.ts.map +1 -1
  43. package/dist/contracts/schemas/events.js +17 -6
  44. package/dist/contracts/schemas/events.js.map +1 -1
  45. package/dist/contracts/schemas/identity.d.ts +2 -1
  46. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  47. package/dist/contracts/schemas/identity.js +5 -1
  48. package/dist/contracts/schemas/identity.js.map +1 -1
  49. package/dist/engagement/chat/__tests__/chat.service.int.test.js +211 -8
  50. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  51. package/dist/engagement/chat/contract/index.d.ts +154 -8
  52. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  53. package/dist/engagement/chat/contract/index.js +44 -2
  54. package/dist/engagement/chat/contract/index.js.map +1 -1
  55. package/dist/engagement/chat/drizzle/migrations/0004_panoramic_robin_chapel.sql +6 -0
  56. package/dist/engagement/chat/drizzle/migrations/meta/0004_snapshot.json +666 -0
  57. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +7 -0
  58. package/dist/engagement/chat/plugin.d.ts +2 -0
  59. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  60. package/dist/engagement/chat/router/index.d.ts +126 -8
  61. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  62. package/dist/engagement/chat/router/index.js +10 -2
  63. package/dist/engagement/chat/router/index.js.map +1 -1
  64. package/dist/engagement/chat/schema/index.d.ts +50 -0
  65. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  66. package/dist/engagement/chat/schema/index.js +15 -3
  67. package/dist/engagement/chat/schema/index.js.map +1 -1
  68. package/dist/engagement/chat/service/chat.service.d.ts +95 -9
  69. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  70. package/dist/engagement/chat/service/chat.service.js +115 -24
  71. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  72. package/dist/engagement/chat-commands/contract/index.d.ts +143 -71
  73. package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -1
  74. package/dist/engagement/chat-commands/contract/index.js +48 -70
  75. package/dist/engagement/chat-commands/contract/index.js.map +1 -1
  76. package/dist/engagement/chat-commands/plugin.d.ts +3 -1
  77. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  78. package/dist/engagement/chat-commands/plugin.js +4 -4
  79. package/dist/engagement/chat-commands/plugin.js.map +1 -1
  80. package/dist/engagement/chat-commands/router/index.d.ts +149 -83
  81. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -1
  82. package/dist/engagement/chat-commands/router/index.js +36 -26
  83. package/dist/engagement/chat-commands/router/index.js.map +1 -1
  84. package/dist/engagement/chat-commands/seed/index.d.ts.map +1 -1
  85. package/dist/engagement/chat-commands/seed/index.js +12 -0
  86. package/dist/engagement/chat-commands/seed/index.js.map +1 -1
  87. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +197 -733
  88. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
  89. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +43 -68
  90. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  91. package/dist/engagement/chat-commands/service/chat-commands.service.js +138 -571
  92. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
  93. package/dist/engagement/contracts.d.ts +1 -0
  94. package/dist/engagement/contracts.d.ts.map +1 -1
  95. package/dist/engagement/contracts.js +1 -0
  96. package/dist/engagement/contracts.js.map +1 -1
  97. package/dist/engagement/index.d.ts +1 -0
  98. package/dist/engagement/index.d.ts.map +1 -1
  99. package/dist/engagement/index.js +1 -0
  100. package/dist/engagement/index.js.map +1 -1
  101. package/dist/engagement/notifications/plugin.d.ts +2 -0
  102. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  103. package/dist/engagement/server.d.ts +1 -0
  104. package/dist/engagement/server.d.ts.map +1 -1
  105. package/dist/engagement/server.js +1 -0
  106. package/dist/engagement/server.js.map +1 -1
  107. package/dist/engagement/social-transfers/contract/index.d.ts +67 -0
  108. package/dist/engagement/social-transfers/contract/index.d.ts.map +1 -0
  109. package/dist/engagement/social-transfers/contract/index.js +21 -0
  110. package/dist/engagement/social-transfers/contract/index.js.map +1 -0
  111. package/dist/engagement/social-transfers/drizzle/migrations/0000_clammy_rattler.sql +46 -0
  112. package/dist/engagement/social-transfers/drizzle/migrations/meta/0000_snapshot.json +287 -0
  113. package/dist/engagement/social-transfers/drizzle/migrations/meta/_journal.json +13 -0
  114. package/dist/engagement/social-transfers/drizzle.config.d.ts +4 -0
  115. package/dist/engagement/social-transfers/drizzle.config.d.ts.map +1 -0
  116. package/dist/engagement/social-transfers/drizzle.config.js +21 -0
  117. package/dist/engagement/social-transfers/drizzle.config.js.map +1 -0
  118. package/dist/engagement/social-transfers/index.d.ts +3 -0
  119. package/dist/engagement/social-transfers/index.d.ts.map +1 -0
  120. package/dist/engagement/social-transfers/index.js +6 -0
  121. package/dist/engagement/social-transfers/index.js.map +1 -0
  122. package/dist/engagement/social-transfers/migrate.d.ts +5 -0
  123. package/dist/engagement/social-transfers/migrate.d.ts.map +1 -0
  124. package/dist/engagement/social-transfers/migrate.js +17 -0
  125. package/dist/engagement/social-transfers/migrate.js.map +1 -0
  126. package/dist/engagement/social-transfers/plugin.d.ts +111 -0
  127. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -0
  128. package/dist/engagement/social-transfers/plugin.js +24 -0
  129. package/dist/engagement/social-transfers/plugin.js.map +1 -0
  130. package/dist/engagement/social-transfers/router/index.d.ts +59 -0
  131. package/dist/engagement/social-transfers/router/index.d.ts.map +1 -0
  132. package/dist/engagement/social-transfers/router/index.js +25 -0
  133. package/dist/engagement/social-transfers/router/index.js.map +1 -0
  134. package/dist/engagement/social-transfers/schema/index.d.ts +609 -0
  135. package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -0
  136. package/dist/engagement/social-transfers/schema/index.js +61 -0
  137. package/dist/engagement/social-transfers/schema/index.js.map +1 -0
  138. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts +2 -0
  139. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts.map +1 -0
  140. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +672 -0
  141. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -0
  142. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts +72 -0
  143. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts.map +1 -0
  144. package/dist/engagement/social-transfers/service/social-transfers.service.js +726 -0
  145. package/dist/engagement/social-transfers/service/social-transfers.service.js.map +1 -0
  146. package/dist/iam/plugin.d.ts +2 -0
  147. package/dist/iam/plugin.d.ts.map +1 -1
  148. package/dist/iam/service/iam.service.d.ts +1 -1
  149. package/dist/pam/identity/__tests__/identity.service.int.test.js +47 -2
  150. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  151. package/dist/pam/identity/__tests__/phone-login.service.int.test.js +23 -2
  152. package/dist/pam/identity/__tests__/phone-login.service.int.test.js.map +1 -1
  153. package/dist/pam/identity/plugin.d.ts +2 -0
  154. package/dist/pam/identity/plugin.d.ts.map +1 -1
  155. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  156. package/dist/pam/identity/service/identity.service.js +29 -1
  157. package/dist/pam/identity/service/identity.service.js.map +1 -1
  158. package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
  159. package/dist/pam/identity/service/phone-login.service.js +23 -0
  160. package/dist/pam/identity/service/phone-login.service.js.map +1 -1
  161. package/dist/pam/player-management/__tests__/player.router.int.test.js +27 -4
  162. package/dist/pam/player-management/__tests__/player.router.int.test.js.map +1 -1
  163. package/dist/pam/player-management/__tests__/player.service.int.test.js +159 -6
  164. package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -1
  165. package/dist/pam/player-management/contract/index.d.ts +39 -0
  166. package/dist/pam/player-management/contract/index.d.ts.map +1 -1
  167. package/dist/pam/player-management/contract/index.js +33 -1
  168. package/dist/pam/player-management/contract/index.js.map +1 -1
  169. package/dist/pam/player-management/plugin.d.ts +3 -1
  170. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  171. package/dist/pam/player-management/plugin.js +3 -3
  172. package/dist/pam/player-management/plugin.js.map +1 -1
  173. package/dist/pam/player-management/router/index.d.ts +21 -0
  174. package/dist/pam/player-management/router/index.d.ts.map +1 -1
  175. package/dist/pam/player-management/router/index.js +12 -2
  176. package/dist/pam/player-management/router/index.js.map +1 -1
  177. package/dist/pam/player-management/service/player.service.d.ts +10 -3
  178. package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
  179. package/dist/pam/player-management/service/player.service.js +66 -3
  180. package/dist/pam/player-management/service/player.service.js.map +1 -1
  181. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts +2 -0
  182. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts.map +1 -0
  183. package/dist/pam/player-note/__tests__/player-note.router.int.test.js +52 -0
  184. package/dist/pam/player-note/__tests__/player-note.router.int.test.js.map +1 -0
  185. package/dist/pam/player-note/plugin.d.ts +49 -46
  186. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  187. package/dist/pam/player-note/plugin.js +3 -1
  188. package/dist/pam/player-note/plugin.js.map +1 -1
  189. package/dist/pam/player-note/router/index.d.ts +2 -1
  190. package/dist/pam/player-note/router/index.d.ts.map +1 -1
  191. package/dist/pam/player-note/router/index.js +13 -2
  192. package/dist/pam/player-note/router/index.js.map +1 -1
  193. package/dist/pam/profile/plugin.d.ts +2 -0
  194. package/dist/pam/profile/plugin.d.ts.map +1 -1
  195. package/dist/pam/tag/plugin.d.ts +2 -0
  196. package/dist/pam/tag/plugin.d.ts.map +1 -1
  197. package/dist/server/auth/permissions.d.ts +24 -0
  198. package/dist/server/auth/permissions.d.ts.map +1 -1
  199. package/dist/server/auth/permissions.js +4 -0
  200. package/dist/server/auth/permissions.js.map +1 -1
  201. package/dist/server/runtime/core-token-catalog.d.ts +2 -0
  202. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  203. package/dist/server/runtime/core-token-catalog.js +3 -1
  204. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  205. package/dist/wallet/__tests__/wallet.service.int.test.js +7 -0
  206. package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
  207. package/dist/wallet/plugin.d.ts +2 -0
  208. package/dist/wallet/plugin.d.ts.map +1 -1
  209. package/dist/wallet/router/index.js +1 -1
  210. package/dist/wallet/router/index.js.map +1 -1
  211. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  212. package/dist/wallet/service/wallet.service.js +16 -0
  213. package/dist/wallet/service/wallet.service.js.map +1 -1
  214. package/package.json +21 -1
@@ -1,7 +1,7 @@
1
1
  import { type EventBus, DrizzleService } from '@openora/core/server';
2
2
  import type { ClientMeta, RealtimeTransport, CommandMetadata, ChatSystemMessage, AdminUserDirectory } from '@openora/core/contracts';
3
3
  import type { User } from '@openora/core/pam/schema/identity';
4
- import type { AdminRoomSortBy, ChatRoom, ChatMessage, ChatRoomCategory, SortOrder } from '../contract/index.js';
4
+ import type { AdminRoomSortBy, BlockedUserSortBy, IgnoredUserSortBy, ChatRoom, ChatMessage, ChatRoomCategory, SortOrder } from '../contract/index.js';
5
5
  export declare const ChatRoomNotFoundError: new (id: string) => Error;
6
6
  export declare const ChatRoomOwnershipError: new () => Error;
7
7
  export declare const ChatMessageNotFoundError: new (id: string) => Error;
@@ -119,10 +119,18 @@ export declare class ChatService {
119
119
  command: "block";
120
120
  targetUserId: string;
121
121
  displayName: string;
122
+ } | {
123
+ command: "unblock";
124
+ targetUserId: string;
125
+ displayName: string;
122
126
  } | {
123
127
  command: "ignore";
124
128
  targetUserId: string;
125
129
  displayName: string;
130
+ } | {
131
+ command: "unignore";
132
+ targetUserId: string;
133
+ displayName: string;
126
134
  } | {
127
135
  command: "donate";
128
136
  recipientId: string;
@@ -169,10 +177,18 @@ export declare class ChatService {
169
177
  command: "block";
170
178
  targetUserId: string;
171
179
  displayName: string;
180
+ } | {
181
+ command: "unblock";
182
+ targetUserId: string;
183
+ displayName: string;
172
184
  } | {
173
185
  command: "ignore";
174
186
  targetUserId: string;
175
187
  displayName: string;
188
+ } | {
189
+ command: "unignore";
190
+ targetUserId: string;
191
+ displayName: string;
176
192
  } | {
177
193
  command: "donate";
178
194
  recipientId: string;
@@ -216,10 +232,18 @@ export declare class ChatService {
216
232
  command: "block";
217
233
  targetUserId: string;
218
234
  displayName: string;
235
+ } | {
236
+ command: "unblock";
237
+ targetUserId: string;
238
+ displayName: string;
219
239
  } | {
220
240
  command: "ignore";
221
241
  targetUserId: string;
222
242
  displayName: string;
243
+ } | {
244
+ command: "unignore";
245
+ targetUserId: string;
246
+ displayName: string;
223
247
  } | {
224
248
  command: "donate";
225
249
  recipientId: string;
@@ -260,10 +284,18 @@ export declare class ChatService {
260
284
  command: "block";
261
285
  targetUserId: string;
262
286
  displayName: string;
287
+ } | {
288
+ command: "unblock";
289
+ targetUserId: string;
290
+ displayName: string;
263
291
  } | {
264
292
  command: "ignore";
265
293
  targetUserId: string;
266
294
  displayName: string;
295
+ } | {
296
+ command: "unignore";
297
+ targetUserId: string;
298
+ displayName: string;
267
299
  } | {
268
300
  command: "donate";
269
301
  recipientId: string;
@@ -276,20 +308,74 @@ export declare class ChatService {
276
308
  username: string;
277
309
  isDeleted: boolean;
278
310
  }, "createdAt">>;
279
- listBlockedUsers(blockerId: User['id']): Promise<import("@openora/core/server").SerializedRow<{
280
- blockedId: string;
281
- createdAt: Date;
282
- }, "createdAt">[]>;
311
+ listBlockedUsers({ blockerId, page, limit, sortBy, sortOrder, }: {
312
+ blockerId: User['id'];
313
+ page: number;
314
+ limit: number;
315
+ sortBy: BlockedUserSortBy;
316
+ sortOrder: SortOrder;
317
+ }): Promise<{
318
+ items: import("@openora/core/server").SerializedRow<{
319
+ blockedId: string;
320
+ createdAt: Date;
321
+ }, "createdAt">[];
322
+ total: number;
323
+ page: number;
324
+ limit: number;
325
+ }>;
326
+ /** Backoffice-only, site-wide: every active block relationship, not just the caller's. */
327
+ adminListBlockedUsers({ page, limit, sortBy, sortOrder, }: {
328
+ page: number;
329
+ limit: number;
330
+ sortBy: BlockedUserSortBy;
331
+ sortOrder: SortOrder;
332
+ }): Promise<{
333
+ items: import("@openora/core/server").SerializedRow<{
334
+ blockerId: string;
335
+ blockedId: string;
336
+ createdAt: Date;
337
+ }, "createdAt">[];
338
+ total: number;
339
+ page: number;
340
+ limit: number;
341
+ }>;
283
342
  blockUser(blockerId: User['id'], blockedId: User['id'], meta?: ClientMeta): Promise<{
284
343
  readonly success: true;
285
344
  }>;
286
345
  unblockUser(blockerId: User['id'], blockedId: User['id'], meta?: ClientMeta): Promise<{
287
346
  readonly success: true;
288
347
  }>;
289
- listIgnoredUsers(ignorerId: User['id']): Promise<import("@openora/core/server").SerializedRow<{
290
- ignoredId: string;
291
- createdAt: Date;
292
- }, "createdAt">[]>;
348
+ listIgnoredUsers({ ignorerId, page, limit, sortBy, sortOrder, }: {
349
+ ignorerId: User['id'];
350
+ page: number;
351
+ limit: number;
352
+ sortBy: IgnoredUserSortBy;
353
+ sortOrder: SortOrder;
354
+ }): Promise<{
355
+ items: import("@openora/core/server").SerializedRow<{
356
+ ignoredId: string;
357
+ createdAt: Date;
358
+ }, "createdAt">[];
359
+ total: number;
360
+ page: number;
361
+ limit: number;
362
+ }>;
363
+ /** Backoffice-only, site-wide: every active ignore relationship, not just the caller's. */
364
+ adminListIgnoredUsers({ page, limit, sortBy, sortOrder, }: {
365
+ page: number;
366
+ limit: number;
367
+ sortBy: IgnoredUserSortBy;
368
+ sortOrder: SortOrder;
369
+ }): Promise<{
370
+ items: import("@openora/core/server").SerializedRow<{
371
+ ignorerId: string;
372
+ ignoredId: string;
373
+ createdAt: Date;
374
+ }, "createdAt">[];
375
+ total: number;
376
+ page: number;
377
+ limit: number;
378
+ }>;
293
379
  ignoreUser(ignorerId: User['id'], ignoredId: User['id'], meta?: ClientMeta): Promise<{
294
380
  readonly success: true;
295
381
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/service/chat.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/service/chat.service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ function toRoom(record) {
35
35
  function toMessage(record) {
36
36
  return serializeRow(record, { dateFields: ['createdAt'] });
37
37
  }
38
+ const BLOCKED_USER_SORT_COLUMNS = { createdAt: chatUserBlock.createdAt };
39
+ const IGNORED_USER_SORT_COLUMNS = {
40
+ createdAt: chatUserIgnore.createdAt,
41
+ };
38
42
  function generateJoinCode() {
39
43
  return Array.from({ length: JOIN_CODE_LENGTH }, () => {
40
44
  const ch = JOIN_CODE_ALPHABET[randomInt(0, JOIN_CODE_ALPHABET.length)];
@@ -110,14 +114,14 @@ export class ChatService {
110
114
  const rows = await this.drizzle.db
111
115
  .select({ blockedId: chatUserBlock.blockedId })
112
116
  .from(chatUserBlock)
113
- .where(eq(chatUserBlock.blockerId, viewerId));
117
+ .where(and(eq(chatUserBlock.blockerId, viewerId), isNull(chatUserBlock.removedAt)));
114
118
  return new Set(rows.map((r) => r.blockedId));
115
119
  }
116
120
  async ignoredIdsFor(viewerId) {
117
121
  const rows = await this.drizzle.db
118
122
  .select({ ignoredId: chatUserIgnore.ignoredId })
119
123
  .from(chatUserIgnore)
120
- .where(eq(chatUserIgnore.ignorerId, viewerId));
124
+ .where(and(eq(chatUserIgnore.ignorerId, viewerId), isNull(chatUserIgnore.removedAt)));
121
125
  return new Set(rows.map((r) => r.ignoredId));
122
126
  }
123
127
  async excludedSenderIdsFor(viewerId) {
@@ -292,23 +296,66 @@ export class ChatService {
292
296
  void this.transport.publish(chatChannel(null), message);
293
297
  return message;
294
298
  }
295
- async listBlockedUsers(blockerId) {
296
- const rows = await this.drizzle.db
297
- .select({ blockedId: chatUserBlock.blockedId, createdAt: chatUserBlock.createdAt })
298
- .from(chatUserBlock)
299
- .where(eq(chatUserBlock.blockerId, blockerId))
300
- .orderBy(desc(chatUserBlock.createdAt));
301
- return rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] }));
299
+ async listBlockedUsers({ blockerId, page, limit, sortBy, sortOrder, }) {
300
+ const dir = sortOrder === 'asc' ? asc : desc;
301
+ const col = BLOCKED_USER_SORT_COLUMNS[sortBy];
302
+ const where = and(eq(chatUserBlock.blockerId, blockerId), isNull(chatUserBlock.removedAt));
303
+ const [rows, [{ n }]] = await Promise.all([
304
+ this.drizzle.db
305
+ .select({ blockedId: chatUserBlock.blockedId, createdAt: chatUserBlock.createdAt })
306
+ .from(chatUserBlock)
307
+ .where(where)
308
+ .orderBy(dir(col))
309
+ .limit(limit)
310
+ .offset(pageToOffset(page, limit)),
311
+ this.drizzle.db.select({ n: count() }).from(chatUserBlock).where(where),
312
+ ]);
313
+ return {
314
+ items: rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] })),
315
+ total: Number(n),
316
+ page,
317
+ limit,
318
+ };
319
+ }
320
+ /** Backoffice-only, site-wide: every active block relationship, not just the caller's. */
321
+ async adminListBlockedUsers({ page, limit, sortBy, sortOrder, }) {
322
+ const dir = sortOrder === 'asc' ? asc : desc;
323
+ const col = BLOCKED_USER_SORT_COLUMNS[sortBy];
324
+ const where = isNull(chatUserBlock.removedAt);
325
+ const [rows, [{ n }]] = await Promise.all([
326
+ this.drizzle.db
327
+ .select({
328
+ blockerId: chatUserBlock.blockerId,
329
+ blockedId: chatUserBlock.blockedId,
330
+ createdAt: chatUserBlock.createdAt,
331
+ })
332
+ .from(chatUserBlock)
333
+ .where(where)
334
+ .orderBy(dir(col))
335
+ .limit(limit)
336
+ .offset(pageToOffset(page, limit)),
337
+ this.drizzle.db.select({ n: count() }).from(chatUserBlock).where(where),
338
+ ]);
339
+ return {
340
+ items: rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] })),
341
+ total: Number(n),
342
+ page,
343
+ limit,
344
+ };
302
345
  }
303
346
  async blockUser(blockerId, blockedId, meta) {
304
347
  if (blockerId === blockedId) {
305
348
  throw new ChatSelfBlockError();
306
349
  }
307
- // Idempotent: re-blocking is a no-op, so only the first block emits an event.
350
+ // Idempotent: re-blocking while already (actively) blocked is a no-op, so only
351
+ // the first block emits an event. The pair unique index is partial (removedAt
352
+ // IS NULL), so a block after a prior unblock conflicts with nothing and inserts
353
+ // a fresh active row - the removed row stays as history. No explicit conflict
354
+ // target: this table has exactly one unique constraint (the partial pair index).
308
355
  const inserted = await this.drizzle.db
309
356
  .insert(chatUserBlock)
310
357
  .values({ blockerId, blockedId })
311
- .onConflictDoNothing({ target: [chatUserBlock.blockerId, chatUserBlock.blockedId] })
358
+ .onConflictDoNothing()
312
359
  .returning();
313
360
  if (inserted.length > 0) {
314
361
  this.events.emit('chat.user.blocked', {
@@ -321,9 +368,12 @@ export class ChatService {
321
368
  return { success: true };
322
369
  }
323
370
  async unblockUser(blockerId, blockedId, meta) {
371
+ // Soft-delete: the partial unique index guarantees at most one active (removedAt
372
+ // IS NULL) row per pair, so this is that row, or no-op if already unblocked.
324
373
  const removed = await this.drizzle.db
325
- .delete(chatUserBlock)
326
- .where(and(eq(chatUserBlock.blockerId, blockerId), eq(chatUserBlock.blockedId, blockedId)))
374
+ .update(chatUserBlock)
375
+ .set({ removedAt: new Date() })
376
+ .where(and(eq(chatUserBlock.blockerId, blockerId), eq(chatUserBlock.blockedId, blockedId), isNull(chatUserBlock.removedAt)))
327
377
  .returning();
328
378
  if (removed.length > 0) {
329
379
  this.events.emit('chat.user.unblocked', {
@@ -335,23 +385,62 @@ export class ChatService {
335
385
  }
336
386
  return { success: true };
337
387
  }
338
- async listIgnoredUsers(ignorerId) {
339
- const rows = await this.drizzle.db
340
- .select({ ignoredId: chatUserIgnore.ignoredId, createdAt: chatUserIgnore.createdAt })
341
- .from(chatUserIgnore)
342
- .where(eq(chatUserIgnore.ignorerId, ignorerId))
343
- .orderBy(desc(chatUserIgnore.createdAt));
344
- return rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] }));
388
+ async listIgnoredUsers({ ignorerId, page, limit, sortBy, sortOrder, }) {
389
+ const dir = sortOrder === 'asc' ? asc : desc;
390
+ const col = IGNORED_USER_SORT_COLUMNS[sortBy];
391
+ const where = and(eq(chatUserIgnore.ignorerId, ignorerId), isNull(chatUserIgnore.removedAt));
392
+ const [rows, [{ n }]] = await Promise.all([
393
+ this.drizzle.db
394
+ .select({ ignoredId: chatUserIgnore.ignoredId, createdAt: chatUserIgnore.createdAt })
395
+ .from(chatUserIgnore)
396
+ .where(where)
397
+ .orderBy(dir(col))
398
+ .limit(limit)
399
+ .offset(pageToOffset(page, limit)),
400
+ this.drizzle.db.select({ n: count() }).from(chatUserIgnore).where(where),
401
+ ]);
402
+ return {
403
+ items: rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] })),
404
+ total: Number(n),
405
+ page,
406
+ limit,
407
+ };
408
+ }
409
+ /** Backoffice-only, site-wide: every active ignore relationship, not just the caller's. */
410
+ async adminListIgnoredUsers({ page, limit, sortBy, sortOrder, }) {
411
+ const dir = sortOrder === 'asc' ? asc : desc;
412
+ const col = IGNORED_USER_SORT_COLUMNS[sortBy];
413
+ const where = isNull(chatUserIgnore.removedAt);
414
+ const [rows, [{ n }]] = await Promise.all([
415
+ this.drizzle.db
416
+ .select({
417
+ ignorerId: chatUserIgnore.ignorerId,
418
+ ignoredId: chatUserIgnore.ignoredId,
419
+ createdAt: chatUserIgnore.createdAt,
420
+ })
421
+ .from(chatUserIgnore)
422
+ .where(where)
423
+ .orderBy(dir(col))
424
+ .limit(limit)
425
+ .offset(pageToOffset(page, limit)),
426
+ this.drizzle.db.select({ n: count() }).from(chatUserIgnore).where(where),
427
+ ]);
428
+ return {
429
+ items: rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] })),
430
+ total: Number(n),
431
+ page,
432
+ limit,
433
+ };
345
434
  }
346
435
  async ignoreUser(ignorerId, ignoredId, meta) {
347
436
  if (ignorerId === ignoredId) {
348
437
  throw new ChatSelfIgnoreError();
349
438
  }
350
- // Idempotent: re-ignoring is a no-op, so only the first ignore emits an event.
439
+ // Idempotent + soft-delete-aware - see blockUser's comment, same pattern.
351
440
  const inserted = await this.drizzle.db
352
441
  .insert(chatUserIgnore)
353
442
  .values({ ignorerId, ignoredId })
354
- .onConflictDoNothing({ target: [chatUserIgnore.ignorerId, chatUserIgnore.ignoredId] })
443
+ .onConflictDoNothing()
355
444
  .returning();
356
445
  if (inserted.length > 0) {
357
446
  this.events.emit('chat.user.ignored', {
@@ -364,9 +453,11 @@ export class ChatService {
364
453
  return { success: true };
365
454
  }
366
455
  async unignoreUser(ignorerId, ignoredId, meta) {
456
+ // Soft-delete - see unblockUser's comment, same pattern.
367
457
  const removed = await this.drizzle.db
368
- .delete(chatUserIgnore)
369
- .where(and(eq(chatUserIgnore.ignorerId, ignorerId), eq(chatUserIgnore.ignoredId, ignoredId)))
458
+ .update(chatUserIgnore)
459
+ .set({ removedAt: new Date() })
460
+ .where(and(eq(chatUserIgnore.ignorerId, ignorerId), eq(chatUserIgnore.ignoredId, ignoredId), isNull(chatUserIgnore.removedAt)))
370
461
  .returning();
371
462
  if (removed.length > 0) {
372
463
  this.events.emit('chat.user.unignored', {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../src/engagement/chat/service/chat.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../src/engagement/chat/service/chat.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAEf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAEzD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CACtD,yBAAyB,EACzB,GAAG,EAAE,CAAC,kDAAkD,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CACjD,oBAAoB,EACpB,GAAG,EAAE,CAAC,2BAA2B,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAClD,qBAAqB,EACrB,GAAG,EAAE,CAAC,4BAA4B,CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CACxD,2BAA2B,EAC3B,sCAAsC,CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CACxD,2BAA2B,EAC3B,4BAA4B,CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CACzD,4BAA4B,EAC5B,uDAAuD,CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAC5D,+BAA+B,EAC/B,CAAC,IAAY,EAAE,EAAE,CAAC,iCAAiC,IAAI,EAAE,CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAClD,qBAAqB,EACrB,CAAC,MAAsB,EAAE,EAAE,CAAC,6BAA6B,MAAM,EAAE,CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CACrD,wBAAwB,EACxB,CAAC,MAAsB,EAAE,EAAE,CAAC,iCAAiC,MAAM,EAAE,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CACxD,2BAA2B,EAC3B,CAAC,MAAsB,EAAE,EAAE,CAAC,oCAAoC,MAAM,EAAE,CACzE,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAC1D,6BAA6B,EAC7B,GAAG,EAAE,CAAC,iCAAiC,CACxC,CAAC;AAEF,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,uBAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,SAAS,MAAM,CAAC,MAAoC;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAClD,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,MAAuC;IACxD,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,yBAAyB,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAGrE,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,SAAS,EAAE,cAAc,CAAC,SAAS;CACkB,CAAC;AAExD,SAAS,gBAAgB;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE;QACnD,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,IAAI,GAAG,GAAG,wBAAwB,GAAG,UAAU,EAAE,EAAE,CAAC;IACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,IAAI,GAAG,GAAG,wBAAwB,GAAG,UAAU,EAAE,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,CAAU;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,WAAW;IAEH;IACA;IACA;IACA;IAJnB,YACmB,OAAuB,EACvB,MAAgB,EAChB,SAA4B,EAC5B,SAA6B;QAH7B,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAU;QAChB,cAAS,GAAT,SAAS,CAAmB;QAC5B,cAAS,GAAT,SAAS,CAAoB;IAC7C,CAAC;IAEJ,iBAAiB,CACf,MAA6B,EAC7B,QAAwC,EACxC,QAAqB,EACrB,eAAuB,UAAU,EAAE;QAEnC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,YAAY,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,OAAO,GAAmC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAE,EAAE;YACvC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;iBAChC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAc,CAAC;iBAClC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,GAAG,GAAG,CAAC;gBACd,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;gBACD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAc,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA6B;QAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAoB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;aAC9C,IAAI,CAAC,aAAa,CAAC;aACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAoB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC;aAC/C,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAoB;QACrD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAkB,EAAE,QAAgB;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAChC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;aAC1B,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,IAAI,WAAW,CAAC;IACtD,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,gBAAgB,CAAC,MAAsB,EAAE,QAAqB;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACjC,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;aAC/D,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBACnC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;iBACjC,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;iBAClF,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAqB;QACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACtC,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;aACnE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACpC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;aACzC,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACvC,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC1B,OAAO,CACL,QAAQ,CAAC,EAAE,EACX,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC/B,CACF,CACF;aACA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAMV;QACC,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,EAAE;iBACR,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SACnE,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAqD;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EACpB,MAAM,EACN,KAAK,GAAG,qBAAqB,EAC7B,MAAM,EACN,QAAQ,GAMT;QACC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;aACzB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,UAAmC,EACnC,QAAqB;QAErB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EACpB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,GAMR;QACC,uFAAuF;QACvF,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC;YACN,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,WAAW;SACrB,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAqB,EAAE,MAAkB;QAC3D,MAAM,OAAO,GAAG,cAAc,CAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAC9E,IAAI,wBAAwB,CAAC,EAAE,CAAC,CACjC,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,qBAAqB,EAAE,QAAqB;QAC1E,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;aACzB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAkB,EAAE,QAAgB,EAAE,OAAe;QAC3E,uFAAuF;QACvF,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC;YACN,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,WAAW;SACrB,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAOV;QACC,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;iBAClF,IAAI,CAAC,aAAa,CAAC;iBACnB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SACxE,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,qBAAqB,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAMV;QACC,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC;gBACN,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC,CAAC;iBACD,IAAI,CAAC,aAAa,CAAC;iBACnB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SACxE,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAqB,EAAE,SAAqB,EAAE,IAAiB;QAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;QAED,+EAA+E;QAC/E,8EAA8E;QAC9E,gFAAgF;QAChF,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,CAAC,aAAa,CAAC;aACrB,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;aAChC,mBAAmB,EAAE;aACrB,SAAS,EAAE,CAAC;QAEf,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACpC,SAAS;gBACT,SAAS;gBACT,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAqB,EAAE,SAAqB,EAAE,IAAiB;QAC/E,iFAAiF;QACjF,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClC,MAAM,CAAC,aAAa,CAAC;aACrB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aAC9B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,EACtC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,EACtC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAChC,CACF;aACA,SAAS,EAAE,CAAC;QAEf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACtC,SAAS;gBACT,SAAS;gBACT,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAOV;QACC,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC;iBACpF,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SACzE,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,qBAAqB,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAMV;QACC,MAAM,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC;gBACN,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,SAAS,EAAE,cAAc,CAAC,SAAS;aACpC,CAAC;iBACD,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SACzE,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAqB,EAAE,SAAqB,EAAE,IAAiB;QAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACnC,MAAM,CAAC,cAAc,CAAC;aACtB,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;aAChC,mBAAmB,EAAE;aACrB,SAAS,EAAE,CAAC;QAEf,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACpC,SAAS;gBACT,SAAS;gBACT,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAqB,EAAE,SAAqB,EAAE,IAAiB;QAChF,yDAAyD;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClC,MAAM,CAAC,cAAc,CAAC;aACtB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aAC9B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,EACvC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,EACvC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CACjC,CACF;aACA,SAAS,EAAE,CAAC;QAEf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACtC,SAAS;gBACT,SAAS;gBACT,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAoB;QAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EACf,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,EAAE,EACF,SAAS,GAMG;QACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACrC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;aAC3B,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9B,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACH,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBAC7B,MAAM,CAAC,QAAQ,CAAC;iBAChB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAChC,SAAS,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,OAAO;YACP,EAAE,EAAE,EAAE,IAAI,IAAI;YACd,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EACf,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,EAAE,EACF,SAAS,GAOG;QACZ,MAAM,QAAQ,GAAG,cAAc,CAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3D,KAAK,CAAC,CAAC,CAAC,EACX,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAC9B,CAAC;QACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBAClC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3B,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;iBACxD,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAA0C,EAAE,CAAC;QACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,IAAI,OAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,OAAO,GAAG,cAAc,CACtB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBAClB,MAAM,CAAC,QAAQ,CAAC;iBAChB,GAAG,CAAC,KAAK,CAAC;iBACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC3D,SAAS,EAAE,EACd,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,MAAM,EAAE,EAAE;YACV,OAAO;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACjF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7E,EAAE,EAAE,EAAE,IAAI,IAAI;YACd,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,MAAM,EACN,MAAM,EACN,EAAE,EACF,SAAS,GAIG;QACZ,MAAM,IAAI,GAAG,cAAc,CACzB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CACvF;aACA,KAAK,CAAC,CAAC,CAAC,EACX,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAClC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,QAAQ,CAAC;aAChB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC5C,MAAM;YACN,SAAS,EAAE,MAAM;YACjB,EAAE,EAAE,EAAE,IAAI,IAAI;YACd,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAkB,EAAE,OAAoB,EAAE,IAAiB;QAC1E,MAAM,OAAO,GAAG,cAAc,CAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,QAAQ,CAAC;aAChB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3D,SAAS,CAAC;YACT,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,EACJ,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAC9B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,MAAM,EAAE,EAAE;YACV,OAAO;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC9E,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;YACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;SACnC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,MAAM,EACN,IAAI,EACJ,EAAE,EACF,SAAS,GAIG;QACZ,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;oBACzC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;yBACxB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;yBAC1B,IAAI,CAAC,QAAQ,CAAC;yBACd,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAC9B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3B,CACF,CAAC;oBACJ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,4BAA4B,EAAE,CAAC;wBAClD,MAAM,IAAI,yBAAyB,EAAE,CAAC;oBACxC,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;yBACnB,MAAM,CAAC,QAAQ,CAAC;yBAChB,MAAM,CAAC;wBACN,IAAI;wBACJ,IAAI;wBACJ,QAAQ,EAAE,kBAAkB;wBAC5B,QAAQ,EAAE,KAAK;wBACf,QAAQ;wBACR,SAAS,EAAE,MAAM;qBAClB,CAAC;yBACD,SAAS,EAAE,CAAC;oBACf,MAAM,CAAC;yBACJ,MAAM,CAAC,cAAc,CAAC;yBACtB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;yBACtD,mBAAmB,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CACH,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAC5C,MAAM,EAAE,MAAM,CAAC,EAAE;oBACjB,SAAS,EAAE,MAAM;oBACjB,EAAE,EAAE,EAAE,IAAI,IAAI;oBACd,SAAS,EAAE,SAAS,IAAI,IAAI;iBAC7B,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,OAAO,GAAG,CAAC,IAAI,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,2DAA2D;QAC3D,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EACb,MAAM,EACN,QAAQ,EACR,EAAE,EACF,SAAS,GAIG;QACZ,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACtC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;aAC3B,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;aACvE,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,oBAAoB,CAAC,CAAC,EAAE,aAAa,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;iBACnB,MAAM,EAAE;iBACR,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC/B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3B,CACF;iBACA,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBAClB,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;iBAC9B,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBAC3E,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC;iBACrB,MAAM,CAAC,cAAc,CAAC;iBACtB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;iBACnC,mBAAmB,EAAE;iBACrB,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC1C,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM;gBACN,EAAE,EAAE,EAAE,IAAI,IAAI;gBACd,SAAS,EAAE,SAAS,IAAI,IAAI;aAC7B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACd,MAAM,EACN,MAAM,EACN,EAAE,EACF,SAAS,GAIG;QACZ,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,oBAAoB,CAAC,CAAC,EAAE,aAAa,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;iBACxB,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;iBACrC,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBAChF,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,SAAS,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;qBAC3B,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;qBAC7B,IAAI,CAAC,cAAc,CAAC;qBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvF,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,0BAA0B,EAAE,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,CAAC;iBACL,MAAM,CAAC,cAAc,CAAC;iBACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBAChF,SAAS,EAAE,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,MAAM;gBACN,MAAM;gBACN,EAAE,EAAE,EAAE,IAAI,IAAI;gBACd,SAAS,EAAE,SAAS,IAAI,IAAI;aAC7B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EACf,WAAW,EACX,MAAM,EACN,MAAM,EACN,EAAE,EACF,SAAS,GAKG;QACZ,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBAClB,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;iBACrC,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;iBACrF,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC;iBACL,MAAM,CAAC,cAAc,CAAC;iBACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBAChF,SAAS,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC1C,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,WAAW;gBACrB,EAAE,EAAE,EAAE,IAAI,IAAI;gBACd,SAAS,EAAE,SAAS,IAAI,IAAI;aAC7B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACd,WAAW,EACX,MAAM,EACN,MAAM,EACN,EAAE,EACF,SAAS,GAKG;QACZ,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,yDAAyD;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,oBAAoB,CAAC,CAAC,EAAE,aAAa,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBAClB,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;iBACrC,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;iBACrF,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,CAAC;iBACJ,MAAM,CAAC,WAAW,CAAC;iBACnB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;iBACjD,mBAAmB,EAAE,CAAC;YACzB,MAAM,CAAC;iBACJ,MAAM,CAAC,cAAc,CAAC;iBACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC1C,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,WAAW;YACrB,EAAE,EAAE,EAAE,IAAI,IAAI;YACd,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAKvB;QACC,MAAM,EAAE,GAAI,IAAI,CAAC,EAA4B,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;aACtB,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;aACD,SAAS,EAAE,CAAC;QACf,MAAM,GAAG,GAAsB;YAC7B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;SAC1C,CAAC;QACF,mFAAmF;QACnF,kFAAkF;QAClF,gFAAgF;QAChF,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAqD;QAC3F,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClC,MAAM,CAAC;YACN,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC;aACD,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACxC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,YAAY,CACV,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAC1D,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAC7B,CACF,CAAC;IACJ,CAAC;CACF"}