@openora/core 0.4.1-canary.152 → 0.4.1-canary.154

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 (163) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/__tests__/backoffice.service.int.test.js +20 -3
  3. package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -1
  4. package/dist/audit/__tests__/map-event.test.js +46 -0
  5. package/dist/audit/__tests__/map-event.test.js.map +1 -1
  6. package/dist/audit/plugin.d.ts.map +1 -1
  7. package/dist/audit/plugin.js +74 -1
  8. package/dist/audit/plugin.js.map +1 -1
  9. package/dist/audit/service/audit.service.d.ts.map +1 -1
  10. package/dist/audit/service/audit.service.js +1 -6
  11. package/dist/audit/service/audit.service.js.map +1 -1
  12. package/dist/casino/gaming/__tests__/admin-reporting.int.test.js +20 -3
  13. package/dist/casino/gaming/__tests__/admin-reporting.int.test.js.map +1 -1
  14. package/dist/casino/gaming/__tests__/game-category.service.int.test.d.ts +2 -0
  15. package/dist/casino/gaming/__tests__/game-category.service.int.test.d.ts.map +1 -0
  16. package/dist/casino/gaming/__tests__/game-category.service.int.test.js +134 -0
  17. package/dist/casino/gaming/__tests__/game-category.service.int.test.js.map +1 -0
  18. package/dist/casino/gaming/__tests__/game-provider.service.int.test.d.ts +2 -0
  19. package/dist/casino/gaming/__tests__/game-provider.service.int.test.d.ts.map +1 -0
  20. package/dist/casino/gaming/__tests__/game-provider.service.int.test.js +274 -0
  21. package/dist/casino/gaming/__tests__/game-provider.service.int.test.js.map +1 -0
  22. package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.d.ts +2 -0
  23. package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.d.ts.map +1 -0
  24. package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.js +174 -0
  25. package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.js.map +1 -0
  26. package/dist/casino/gaming/__tests__/gaming-migration.int.test.d.ts +2 -0
  27. package/dist/casino/gaming/__tests__/gaming-migration.int.test.d.ts.map +1 -0
  28. package/dist/casino/gaming/__tests__/gaming-migration.int.test.js +171 -0
  29. package/dist/casino/gaming/__tests__/gaming-migration.int.test.js.map +1 -0
  30. package/dist/casino/gaming/__tests__/gaming.service.int.test.js +274 -13
  31. package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -1
  32. package/dist/casino/gaming/contract/index.d.ts +520 -18
  33. package/dist/casino/gaming/contract/index.d.ts.map +1 -1
  34. package/dist/casino/gaming/contract/index.js +167 -4
  35. package/dist/casino/gaming/contract/index.js.map +1 -1
  36. package/dist/casino/gaming/drizzle/migrations/0005_natural_thunderbolt_ross.sql +223 -0
  37. package/dist/casino/gaming/drizzle/migrations/meta/0005_snapshot.json +680 -0
  38. package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +7 -0
  39. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  40. package/dist/casino/gaming/plugin.js +9 -2
  41. package/dist/casino/gaming/plugin.js.map +1 -1
  42. package/dist/casino/gaming/router/index.d.ts +372 -18
  43. package/dist/casino/gaming/router/index.d.ts.map +1 -1
  44. package/dist/casino/gaming/router/index.js +62 -6
  45. package/dist/casino/gaming/router/index.js.map +1 -1
  46. package/dist/casino/gaming/schema/index.d.ts +499 -4
  47. package/dist/casino/gaming/schema/index.d.ts.map +1 -1
  48. package/dist/casino/gaming/schema/index.js +72 -6
  49. package/dist/casino/gaming/schema/index.js.map +1 -1
  50. package/dist/casino/gaming/service/game-category.service.d.ts +109 -0
  51. package/dist/casino/gaming/service/game-category.service.d.ts.map +1 -0
  52. package/dist/casino/gaming/service/game-category.service.js +176 -0
  53. package/dist/casino/gaming/service/game-category.service.js.map +1 -0
  54. package/dist/casino/gaming/service/game-provider.service.d.ts +118 -0
  55. package/dist/casino/gaming/service/game-provider.service.d.ts.map +1 -0
  56. package/dist/casino/gaming/service/game-provider.service.js +251 -0
  57. package/dist/casino/gaming/service/game-provider.service.js.map +1 -0
  58. package/dist/casino/gaming/service/gaming.service.d.ts +122 -14
  59. package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
  60. package/dist/casino/gaming/service/gaming.service.js +189 -23
  61. package/dist/casino/gaming/service/gaming.service.js.map +1 -1
  62. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +137 -4
  63. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
  64. package/dist/casino/lobby/contract/index.d.ts +68 -8
  65. package/dist/casino/lobby/contract/index.d.ts.map +1 -1
  66. package/dist/casino/lobby/contract/index.js +4 -3
  67. package/dist/casino/lobby/contract/index.js.map +1 -1
  68. package/dist/casino/lobby/router/index.d.ts +34 -4
  69. package/dist/casino/lobby/router/index.d.ts.map +1 -1
  70. package/dist/casino/lobby/service/lobby.service.d.ts +34 -4
  71. package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
  72. package/dist/casino/lobby/service/lobby.service.js +60 -26
  73. package/dist/casino/lobby/service/lobby.service.js.map +1 -1
  74. package/dist/casino/shared/game-catalog.d.ts +32 -0
  75. package/dist/casino/shared/game-catalog.d.ts.map +1 -0
  76. package/dist/casino/shared/game-catalog.js +67 -0
  77. package/dist/casino/shared/game-catalog.js.map +1 -0
  78. package/dist/compliance/__tests__/compliance.service.int.test.js +248 -25
  79. package/dist/compliance/__tests__/compliance.service.int.test.js.map +1 -1
  80. package/dist/compliance/__tests__/regulatory-overview.router.int.test.d.ts +2 -0
  81. package/dist/compliance/__tests__/regulatory-overview.router.int.test.d.ts.map +1 -0
  82. package/dist/compliance/__tests__/regulatory-overview.router.int.test.js +102 -0
  83. package/dist/compliance/__tests__/regulatory-overview.router.int.test.js.map +1 -0
  84. package/dist/compliance/__tests__/rg-monitoring.service.int.test.js +17 -3
  85. package/dist/compliance/__tests__/rg-monitoring.service.int.test.js.map +1 -1
  86. package/dist/compliance/__tests__/rg-self-service.int.test.js +2 -2
  87. package/dist/compliance/__tests__/rg-self-service.int.test.js.map +1 -1
  88. package/dist/compliance/contract/index.d.ts +77 -2
  89. package/dist/compliance/contract/index.d.ts.map +1 -1
  90. package/dist/compliance/contract/index.js +50 -1
  91. package/dist/compliance/contract/index.js.map +1 -1
  92. package/dist/compliance/drizzle/migrations/0008_omniscient_northstar.sql +14 -0
  93. package/dist/compliance/drizzle/migrations/meta/0008_snapshot.json +870 -0
  94. package/dist/compliance/drizzle/migrations/meta/_journal.json +7 -0
  95. package/dist/compliance/plugin.d.ts.map +1 -1
  96. package/dist/compliance/plugin.js +2 -2
  97. package/dist/compliance/plugin.js.map +1 -1
  98. package/dist/compliance/router/index.d.ts +43 -1
  99. package/dist/compliance/router/index.d.ts.map +1 -1
  100. package/dist/compliance/router/index.js +32 -4
  101. package/dist/compliance/router/index.js.map +1 -1
  102. package/dist/compliance/schema/index.d.ts +181 -2
  103. package/dist/compliance/schema/index.d.ts.map +1 -1
  104. package/dist/compliance/schema/index.js +15 -2
  105. package/dist/compliance/schema/index.js.map +1 -1
  106. package/dist/compliance/server.d.ts +1 -1
  107. package/dist/compliance/server.d.ts.map +1 -1
  108. package/dist/compliance/server.js +1 -1
  109. package/dist/compliance/server.js.map +1 -1
  110. package/dist/compliance/service/compliance.service.d.ts +61 -14
  111. package/dist/compliance/service/compliance.service.d.ts.map +1 -1
  112. package/dist/compliance/service/compliance.service.js +226 -30
  113. package/dist/compliance/service/compliance.service.js.map +1 -1
  114. package/dist/contracts/__tests__/kit.test.js +21 -1
  115. package/dist/contracts/__tests__/kit.test.js.map +1 -1
  116. package/dist/contracts/adapters/audit.d.ts +1 -1
  117. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  118. package/dist/contracts/adapters/audit.js.map +1 -1
  119. package/dist/contracts/kit.d.ts +3 -0
  120. package/dist/contracts/kit.d.ts.map +1 -1
  121. package/dist/contracts/kit.js +8 -0
  122. package/dist/contracts/kit.js.map +1 -1
  123. package/dist/contracts/schemas/__tests__/events.test.js +7 -0
  124. package/dist/contracts/schemas/__tests__/events.test.js.map +1 -1
  125. package/dist/contracts/schemas/__tests__/game-schemas.test.d.ts +2 -0
  126. package/dist/contracts/schemas/__tests__/game-schemas.test.d.ts.map +1 -0
  127. package/dist/contracts/schemas/__tests__/game-schemas.test.js +43 -0
  128. package/dist/contracts/schemas/__tests__/game-schemas.test.js.map +1 -0
  129. package/dist/contracts/schemas/events.d.ts +109 -0
  130. package/dist/contracts/schemas/events.d.ts.map +1 -1
  131. package/dist/contracts/schemas/events.js +87 -3
  132. package/dist/contracts/schemas/events.js.map +1 -1
  133. package/dist/contracts/schemas/game.d.ts +39 -0
  134. package/dist/contracts/schemas/game.d.ts.map +1 -1
  135. package/dist/contracts/schemas/game.js +32 -0
  136. package/dist/contracts/schemas/game.js.map +1 -1
  137. package/dist/contracts/schemas/iam.d.ts +2 -1
  138. package/dist/contracts/schemas/iam.d.ts.map +1 -1
  139. package/dist/contracts/schemas/iam.js +2 -1
  140. package/dist/contracts/schemas/iam.js.map +1 -1
  141. package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
  142. package/dist/iam/seed/data/default-admin-roles.js +1 -0
  143. package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
  144. package/dist/iam/service/iam.service.d.ts +1 -1
  145. package/dist/react/client.d.ts +2 -1
  146. package/dist/react/client.d.ts.map +1 -1
  147. package/dist/react/client.js +2 -1
  148. package/dist/react/client.js.map +1 -1
  149. package/dist/server/auth/permissions.d.ts +24 -12
  150. package/dist/server/auth/permissions.d.ts.map +1 -1
  151. package/dist/server/auth/permissions.js +2 -1
  152. package/dist/server/auth/permissions.js.map +1 -1
  153. package/dist/server/db/__tests__/query-helpers.test.js +47 -1
  154. package/dist/server/db/__tests__/query-helpers.test.js.map +1 -1
  155. package/dist/server/db/index.d.ts +1 -1
  156. package/dist/server/db/index.d.ts.map +1 -1
  157. package/dist/server/db/index.js +1 -1
  158. package/dist/server/db/index.js.map +1 -1
  159. package/dist/server/db/query-helpers.d.ts +5 -0
  160. package/dist/server/db/query-helpers.d.ts.map +1 -1
  161. package/dist/server/db/query-helpers.js +37 -0
  162. package/dist/server/db/query-helpers.js.map +1 -1
  163. package/package.json +1 -1
@@ -1,5 +1,387 @@
1
1
  export declare const gameRoundStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "completed", "cancelled"]>;
2
2
  export declare const gameTypeEnum: import("drizzle-orm/pg-core").PgEnum<["original", "casino", "sportsbook"]>;
3
+ export declare const gameProvider: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
+ name: "game_provider";
5
+ schema: undefined;
6
+ columns: {
7
+ id: import("drizzle-orm/pg-core").PgColumn<{
8
+ name: "id";
9
+ tableName: "game_provider";
10
+ dataType: "string";
11
+ columnType: "PgUUID";
12
+ data: string;
13
+ driverParam: string;
14
+ notNull: true;
15
+ hasDefault: true;
16
+ isPrimaryKey: true;
17
+ isAutoincrement: false;
18
+ hasRuntimeDefault: false;
19
+ enumValues: undefined;
20
+ baseColumn: never;
21
+ identity: undefined;
22
+ generated: undefined;
23
+ }, {}, {}>;
24
+ slug: import("drizzle-orm/pg-core").PgColumn<{
25
+ name: "slug";
26
+ tableName: "game_provider";
27
+ dataType: "string";
28
+ columnType: "PgText";
29
+ data: string;
30
+ driverParam: string;
31
+ notNull: true;
32
+ hasDefault: false;
33
+ isPrimaryKey: false;
34
+ isAutoincrement: false;
35
+ hasRuntimeDefault: false;
36
+ enumValues: [string, ...string[]];
37
+ baseColumn: never;
38
+ identity: undefined;
39
+ generated: undefined;
40
+ }, {}, {}>;
41
+ name: import("drizzle-orm/pg-core").PgColumn<{
42
+ name: "name";
43
+ tableName: "game_provider";
44
+ dataType: "string";
45
+ columnType: "PgText";
46
+ data: string;
47
+ driverParam: string;
48
+ notNull: true;
49
+ hasDefault: false;
50
+ isPrimaryKey: false;
51
+ isAutoincrement: false;
52
+ hasRuntimeDefault: false;
53
+ enumValues: [string, ...string[]];
54
+ baseColumn: never;
55
+ identity: undefined;
56
+ generated: undefined;
57
+ }, {}, {}>;
58
+ logoUrl: import("drizzle-orm/pg-core").PgColumn<{
59
+ name: "logoUrl";
60
+ tableName: "game_provider";
61
+ dataType: "string";
62
+ columnType: "PgText";
63
+ data: string;
64
+ driverParam: string;
65
+ notNull: false;
66
+ hasDefault: false;
67
+ isPrimaryKey: false;
68
+ isAutoincrement: false;
69
+ hasRuntimeDefault: false;
70
+ enumValues: [string, ...string[]];
71
+ baseColumn: never;
72
+ identity: undefined;
73
+ generated: undefined;
74
+ }, {}, {}>;
75
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
76
+ name: "isActive";
77
+ tableName: "game_provider";
78
+ dataType: "boolean";
79
+ columnType: "PgBoolean";
80
+ data: boolean;
81
+ driverParam: boolean;
82
+ notNull: true;
83
+ hasDefault: true;
84
+ isPrimaryKey: false;
85
+ isAutoincrement: false;
86
+ hasRuntimeDefault: false;
87
+ enumValues: undefined;
88
+ baseColumn: never;
89
+ identity: undefined;
90
+ generated: undefined;
91
+ }, {}, {}>;
92
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
93
+ name: "metadata";
94
+ tableName: "game_provider";
95
+ dataType: "json";
96
+ columnType: "PgJsonb";
97
+ data: unknown;
98
+ driverParam: unknown;
99
+ notNull: false;
100
+ hasDefault: false;
101
+ isPrimaryKey: false;
102
+ isAutoincrement: false;
103
+ hasRuntimeDefault: false;
104
+ enumValues: undefined;
105
+ baseColumn: never;
106
+ identity: undefined;
107
+ generated: undefined;
108
+ }, {}, {}>;
109
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
110
+ name: "updatedAt";
111
+ tableName: "game_provider";
112
+ dataType: "date";
113
+ columnType: "PgTimestamp";
114
+ data: Date;
115
+ driverParam: string;
116
+ notNull: true;
117
+ hasDefault: true;
118
+ isPrimaryKey: false;
119
+ isAutoincrement: false;
120
+ hasRuntimeDefault: false;
121
+ enumValues: undefined;
122
+ baseColumn: never;
123
+ identity: undefined;
124
+ generated: undefined;
125
+ }, {}, {}>;
126
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
127
+ name: "createdAt";
128
+ tableName: "game_provider";
129
+ dataType: "date";
130
+ columnType: "PgTimestamp";
131
+ data: Date;
132
+ driverParam: string;
133
+ notNull: true;
134
+ hasDefault: true;
135
+ isPrimaryKey: false;
136
+ isAutoincrement: false;
137
+ hasRuntimeDefault: false;
138
+ enumValues: undefined;
139
+ baseColumn: never;
140
+ identity: undefined;
141
+ generated: undefined;
142
+ }, {}, {}>;
143
+ };
144
+ dialect: "pg";
145
+ }>;
146
+ export declare const gameProviderAggregatorMapping: import("drizzle-orm/pg-core").PgTableWithColumns<{
147
+ name: "game_provider_aggregator_mapping";
148
+ schema: undefined;
149
+ columns: {
150
+ id: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "id";
152
+ tableName: "game_provider_aggregator_mapping";
153
+ dataType: "string";
154
+ columnType: "PgUUID";
155
+ data: string;
156
+ driverParam: string;
157
+ notNull: true;
158
+ hasDefault: true;
159
+ isPrimaryKey: true;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: undefined;
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ providerId: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "providerId";
169
+ tableName: "game_provider_aggregator_mapping";
170
+ dataType: "string";
171
+ columnType: "PgUUID";
172
+ data: string;
173
+ driverParam: string;
174
+ notNull: true;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: undefined;
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {}>;
184
+ aggregator: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "aggregator";
186
+ tableName: "game_provider_aggregator_mapping";
187
+ dataType: "string";
188
+ columnType: "PgText";
189
+ data: string;
190
+ driverParam: string;
191
+ notNull: true;
192
+ hasDefault: false;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: [string, ...string[]];
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ vendorId: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "vendorId";
203
+ tableName: "game_provider_aggregator_mapping";
204
+ dataType: "string";
205
+ columnType: "PgText";
206
+ data: string;
207
+ driverParam: string;
208
+ notNull: true;
209
+ hasDefault: false;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: [string, ...string[]];
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ };
219
+ dialect: "pg";
220
+ }>;
221
+ export declare const gameCategory: import("drizzle-orm/pg-core").PgTableWithColumns<{
222
+ name: "game_category";
223
+ schema: undefined;
224
+ columns: {
225
+ id: import("drizzle-orm/pg-core").PgColumn<{
226
+ name: "id";
227
+ tableName: "game_category";
228
+ dataType: "string";
229
+ columnType: "PgUUID";
230
+ data: string;
231
+ driverParam: string;
232
+ notNull: true;
233
+ hasDefault: true;
234
+ isPrimaryKey: true;
235
+ isAutoincrement: false;
236
+ hasRuntimeDefault: false;
237
+ enumValues: undefined;
238
+ baseColumn: never;
239
+ identity: undefined;
240
+ generated: undefined;
241
+ }, {}, {}>;
242
+ slug: import("drizzle-orm/pg-core").PgColumn<{
243
+ name: "slug";
244
+ tableName: "game_category";
245
+ dataType: "string";
246
+ columnType: "PgText";
247
+ data: string;
248
+ driverParam: string;
249
+ notNull: true;
250
+ hasDefault: false;
251
+ isPrimaryKey: false;
252
+ isAutoincrement: false;
253
+ hasRuntimeDefault: false;
254
+ enumValues: [string, ...string[]];
255
+ baseColumn: never;
256
+ identity: undefined;
257
+ generated: undefined;
258
+ }, {}, {}>;
259
+ name: import("drizzle-orm/pg-core").PgColumn<{
260
+ name: "name";
261
+ tableName: "game_category";
262
+ dataType: "string";
263
+ columnType: "PgText";
264
+ data: string;
265
+ driverParam: string;
266
+ notNull: true;
267
+ hasDefault: false;
268
+ isPrimaryKey: false;
269
+ isAutoincrement: false;
270
+ hasRuntimeDefault: false;
271
+ enumValues: [string, ...string[]];
272
+ baseColumn: never;
273
+ identity: undefined;
274
+ generated: undefined;
275
+ }, {}, {}>;
276
+ translations: import("drizzle-orm/pg-core").PgColumn<{
277
+ name: "translations";
278
+ tableName: "game_category";
279
+ dataType: "custom";
280
+ columnType: "PgCustomColumn";
281
+ data: Record<string, {
282
+ name: string;
283
+ }>;
284
+ driverParam: string;
285
+ notNull: true;
286
+ hasDefault: true;
287
+ isPrimaryKey: false;
288
+ isAutoincrement: false;
289
+ hasRuntimeDefault: false;
290
+ enumValues: undefined;
291
+ baseColumn: never;
292
+ identity: undefined;
293
+ generated: undefined;
294
+ }, {}, {
295
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
296
+ }>;
297
+ icon: import("drizzle-orm/pg-core").PgColumn<{
298
+ name: "icon";
299
+ tableName: "game_category";
300
+ dataType: "string";
301
+ columnType: "PgText";
302
+ data: string;
303
+ driverParam: string;
304
+ notNull: false;
305
+ hasDefault: false;
306
+ isPrimaryKey: false;
307
+ isAutoincrement: false;
308
+ hasRuntimeDefault: false;
309
+ enumValues: [string, ...string[]];
310
+ baseColumn: never;
311
+ identity: undefined;
312
+ generated: undefined;
313
+ }, {}, {}>;
314
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
315
+ name: "sortOrder";
316
+ tableName: "game_category";
317
+ dataType: "number";
318
+ columnType: "PgInteger";
319
+ data: number;
320
+ driverParam: string | number;
321
+ notNull: true;
322
+ hasDefault: true;
323
+ isPrimaryKey: false;
324
+ isAutoincrement: false;
325
+ hasRuntimeDefault: false;
326
+ enumValues: undefined;
327
+ baseColumn: never;
328
+ identity: undefined;
329
+ generated: undefined;
330
+ }, {}, {}>;
331
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
332
+ name: "isActive";
333
+ tableName: "game_category";
334
+ dataType: "boolean";
335
+ columnType: "PgBoolean";
336
+ data: boolean;
337
+ driverParam: boolean;
338
+ notNull: true;
339
+ hasDefault: true;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: undefined;
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {}>;
348
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
349
+ name: "updatedAt";
350
+ tableName: "game_category";
351
+ dataType: "date";
352
+ columnType: "PgTimestamp";
353
+ data: Date;
354
+ driverParam: string;
355
+ notNull: true;
356
+ hasDefault: true;
357
+ isPrimaryKey: false;
358
+ isAutoincrement: false;
359
+ hasRuntimeDefault: false;
360
+ enumValues: undefined;
361
+ baseColumn: never;
362
+ identity: undefined;
363
+ generated: undefined;
364
+ }, {}, {}>;
365
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
366
+ name: "createdAt";
367
+ tableName: "game_category";
368
+ dataType: "date";
369
+ columnType: "PgTimestamp";
370
+ data: Date;
371
+ driverParam: string;
372
+ notNull: true;
373
+ hasDefault: true;
374
+ isPrimaryKey: false;
375
+ isAutoincrement: false;
376
+ hasRuntimeDefault: false;
377
+ enumValues: undefined;
378
+ baseColumn: never;
379
+ identity: undefined;
380
+ generated: undefined;
381
+ }, {}, {}>;
382
+ };
383
+ dialect: "pg";
384
+ }>;
3
385
  export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
386
  name: "game";
5
387
  schema: undefined;
@@ -38,8 +420,8 @@ export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
38
420
  identity: undefined;
39
421
  generated: undefined;
40
422
  }, {}, {}>;
41
- provider: import("drizzle-orm/pg-core").PgColumn<{
42
- name: "provider";
423
+ slug: import("drizzle-orm/pg-core").PgColumn<{
424
+ name: "slug";
43
425
  tableName: "game";
44
426
  dataType: "string";
45
427
  columnType: "PgText";
@@ -55,8 +437,25 @@ export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
55
437
  identity: undefined;
56
438
  generated: undefined;
57
439
  }, {}, {}>;
58
- category: import("drizzle-orm/pg-core").PgColumn<{
59
- name: "category";
440
+ providerId: import("drizzle-orm/pg-core").PgColumn<{
441
+ name: "providerId";
442
+ tableName: "game";
443
+ dataType: "string";
444
+ columnType: "PgUUID";
445
+ data: string;
446
+ driverParam: string;
447
+ notNull: true;
448
+ hasDefault: false;
449
+ isPrimaryKey: false;
450
+ isAutoincrement: false;
451
+ hasRuntimeDefault: false;
452
+ enumValues: undefined;
453
+ baseColumn: never;
454
+ identity: undefined;
455
+ generated: undefined;
456
+ }, {}, {}>;
457
+ aggregator: import("drizzle-orm/pg-core").PgColumn<{
458
+ name: "aggregator";
60
459
  tableName: "game";
61
460
  dataType: "string";
62
461
  columnType: "PgText";
@@ -157,6 +556,98 @@ export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
157
556
  identity: undefined;
158
557
  generated: undefined;
159
558
  }, {}, {}>;
559
+ provider: import("drizzle-orm/pg-core").PgColumn<{
560
+ name: "provider";
561
+ tableName: "game";
562
+ dataType: "string";
563
+ columnType: "PgText";
564
+ data: string;
565
+ driverParam: string;
566
+ notNull: false;
567
+ hasDefault: false;
568
+ isPrimaryKey: false;
569
+ isAutoincrement: false;
570
+ hasRuntimeDefault: false;
571
+ enumValues: [string, ...string[]];
572
+ baseColumn: never;
573
+ identity: undefined;
574
+ generated: undefined;
575
+ }, {}, {}>;
576
+ category: import("drizzle-orm/pg-core").PgColumn<{
577
+ name: "category";
578
+ tableName: "game";
579
+ dataType: "string";
580
+ columnType: "PgText";
581
+ data: string;
582
+ driverParam: string;
583
+ notNull: false;
584
+ hasDefault: false;
585
+ isPrimaryKey: false;
586
+ isAutoincrement: false;
587
+ hasRuntimeDefault: false;
588
+ enumValues: [string, ...string[]];
589
+ baseColumn: never;
590
+ identity: undefined;
591
+ generated: undefined;
592
+ }, {}, {}>;
593
+ };
594
+ dialect: "pg";
595
+ }>;
596
+ export declare const gameCategoryGame: import("drizzle-orm/pg-core").PgTableWithColumns<{
597
+ name: "game_category_game";
598
+ schema: undefined;
599
+ columns: {
600
+ id: import("drizzle-orm/pg-core").PgColumn<{
601
+ name: "id";
602
+ tableName: "game_category_game";
603
+ dataType: "string";
604
+ columnType: "PgUUID";
605
+ data: string;
606
+ driverParam: string;
607
+ notNull: true;
608
+ hasDefault: true;
609
+ isPrimaryKey: true;
610
+ isAutoincrement: false;
611
+ hasRuntimeDefault: false;
612
+ enumValues: undefined;
613
+ baseColumn: never;
614
+ identity: undefined;
615
+ generated: undefined;
616
+ }, {}, {}>;
617
+ gameId: import("drizzle-orm/pg-core").PgColumn<{
618
+ name: "gameId";
619
+ tableName: "game_category_game";
620
+ dataType: "string";
621
+ columnType: "PgUUID";
622
+ data: string;
623
+ driverParam: string;
624
+ notNull: true;
625
+ hasDefault: false;
626
+ isPrimaryKey: false;
627
+ isAutoincrement: false;
628
+ hasRuntimeDefault: false;
629
+ enumValues: undefined;
630
+ baseColumn: never;
631
+ identity: undefined;
632
+ generated: undefined;
633
+ }, {}, {}>;
634
+ categoryId: import("drizzle-orm/pg-core").PgColumn<{
635
+ name: "categoryId";
636
+ tableName: "game_category_game";
637
+ dataType: "string";
638
+ columnType: "PgUUID";
639
+ data: string;
640
+ driverParam: string;
641
+ notNull: true;
642
+ hasDefault: false;
643
+ isPrimaryKey: false;
644
+ isAutoincrement: false;
645
+ hasRuntimeDefault: false;
646
+ enumValues: undefined;
647
+ baseColumn: never;
648
+ identity: undefined;
649
+ generated: undefined;
650
+ }, {}, {}>;
160
651
  };
161
652
  dialect: "pg";
162
653
  }>;
@@ -339,4 +830,8 @@ export declare const gameRound: import("drizzle-orm/pg-core").PgTableWithColumns
339
830
  }>;
340
831
  export type Game = typeof game.$inferSelect;
341
832
  export type GameRound = typeof gameRound.$inferSelect;
833
+ export type GameProvider = typeof gameProvider.$inferSelect;
834
+ export type GameProviderAggregatorMapping = typeof gameProviderAggregatorMapping.$inferSelect;
835
+ export type GameCategory = typeof gameCategory.$inferSelect;
836
+ export type GameCategoryGame = typeof gameCategoryGame.$inferSelect;
342
837
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB,4EAAmD,CAAC;AAIpF,eAAO,MAAM,YAAY,4EAAkC,CAAC;AAE5D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUf,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBrB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC;AAC5C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,mBAAmB,4EAAmD,CAAC;AAIpF,eAAO,MAAM,YAAY,4EAAkC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAexB,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BhB,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe5B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBrB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC;AAC5C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,YAAY,CAAC;AAC9F,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { sql } from 'drizzle-orm';
2
- import { pgTable, uuid, text, boolean, decimal, timestamp, pgEnum, index, uniqueIndex, jsonb, } from 'drizzle-orm/pg-core';
3
- import { GAME_TYPES, MONEY_PRECISION, MONEY_SCALE } from '@openora/core/contracts';
2
+ import { pgTable, uuid, text, boolean, decimal, timestamp, pgEnum, index, integer, uniqueIndex, jsonb, } from 'drizzle-orm/pg-core';
3
+ import { GameCategoryTranslationsSchema, GAME_TYPES, MONEY_PRECISION, MONEY_SCALE, } from '@openora/core/contracts';
4
+ import { zodJsonb } from '@openora/core/server';
4
5
  import { GAME_ROUND_STATUSES } from '../contract/index.js';
5
6
  // Derives from the contract tuple so the Zod schema and DB enum can never drift.
6
7
  export const gameRoundStatusEnum = pgEnum('game_round_status', GAME_ROUND_STATUSES);
@@ -8,17 +9,82 @@ export const gameRoundStatusEnum = pgEnum('game_round_status', GAME_ROUND_STATUS
8
9
  // because ADMIN_GAME_REPORTING (contracts/adapters, isomorphic) and admin-console's
9
10
  // contract both need the same type - see contracts/schemas/game.ts.
10
11
  export const gameTypeEnum = pgEnum('game_type', GAME_TYPES);
12
+ export const gameProvider = pgTable('game_provider', {
13
+ id: uuid().primaryKey().defaultRandom(),
14
+ slug: text().notNull(),
15
+ name: text().notNull(),
16
+ logoUrl: text(),
17
+ isActive: boolean().notNull().default(false),
18
+ metadata: jsonb(),
19
+ updatedAt: timestamp({ withTimezone: true })
20
+ .notNull()
21
+ .$onUpdateFn(() => new Date()),
22
+ createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
23
+ }, (t) => [uniqueIndex('game_provider_slug_key').on(t.slug)]);
24
+ export const gameProviderAggregatorMapping = pgTable('game_provider_aggregator_mapping', {
25
+ id: uuid().primaryKey().defaultRandom(),
26
+ providerId: uuid()
27
+ .notNull()
28
+ .references(() => gameProvider.id, { onDelete: 'cascade' }),
29
+ aggregator: text().notNull(),
30
+ vendorId: text().notNull(),
31
+ }, (t) => [
32
+ uniqueIndex('game_provider_aggregator_mapping_provider_aggregator_key').on(t.providerId, t.aggregator),
33
+ uniqueIndex('game_provider_aggregator_mapping_aggregator_vendor_id_key').on(t.aggregator, t.vendorId),
34
+ ]);
35
+ export const gameCategory = pgTable('game_category', {
36
+ id: uuid().primaryKey().defaultRandom(),
37
+ slug: text().notNull(),
38
+ name: text().notNull(),
39
+ translations: zodJsonb(GameCategoryTranslationsSchema, 'game_category.translations')()
40
+ .notNull()
41
+ .default({}),
42
+ icon: text(),
43
+ sortOrder: integer().notNull().default(0),
44
+ isActive: boolean().notNull().default(true),
45
+ updatedAt: timestamp({ withTimezone: true })
46
+ .notNull()
47
+ .$onUpdateFn(() => new Date()),
48
+ createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
49
+ }, (t) => [uniqueIndex('game_category_slug_key').on(t.slug)]);
11
50
  export const game = pgTable('game', {
12
51
  id: uuid().primaryKey().defaultRandom(),
13
52
  name: text().notNull(),
14
- provider: text().notNull(),
15
- category: text().notNull(),
53
+ slug: text().notNull(),
54
+ providerId: uuid()
55
+ .notNull()
56
+ .references(() => gameProvider.id),
57
+ aggregator: text().notNull(),
16
58
  gameType: gameTypeEnum().notNull().default('casino'),
17
59
  thumbnailUrl: text(),
18
- isActive: boolean().notNull().default(true),
60
+ isActive: boolean().notNull().default(false),
19
61
  metadata: jsonb(),
20
62
  createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
21
- });
63
+ // Legacy pre-0003 free-text columns. Retained (unread, unwritten by new code)
64
+ // so old releases keep working until a follow-up drop migration lands; the
65
+ // game_legacy_* triggers in migration 0005 derive slug/providerId/aggregator
66
+ // and the category link for their inserts, and drop with these columns.
67
+ // Never read or write from new code.
68
+ provider: text(),
69
+ category: text(),
70
+ }, (t) => [
71
+ uniqueIndex('game_slug_key').on(t.slug),
72
+ index('game_provider_id_idx').on(t.providerId),
73
+ index('game_aggregator_idx').on(t.aggregator),
74
+ ]);
75
+ // A game can sit in multiple categories (eg 'table games' + 'blackjack').
76
+ export const gameCategoryGame = pgTable('game_category_game', {
77
+ id: uuid().primaryKey().defaultRandom(),
78
+ gameId: uuid()
79
+ .notNull()
80
+ .references(() => game.id, { onDelete: 'cascade' }),
81
+ categoryId: uuid()
82
+ .notNull()
83
+ .references(() => gameCategory.id, { onDelete: 'cascade' }),
84
+ }, (t) => [
85
+ uniqueIndex('game_category_game_key').on(t.gameId, t.categoryId),
86
+ index('game_category_game_category_id_idx').on(t.categoryId),
87
+ ]);
22
88
  export const gameRound = pgTable('game_round', {
23
89
  id: uuid().primaryKey().defaultRandom(),
24
90
  gameId: uuid()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,8BAA8B,EAC9B,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AACpF,sFAAsF;AACtF,oFAAoF;AACpF,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CACjC,eAAe,EACf;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,OAAO,EAAE,IAAI,EAAE;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,QAAQ,EAAE,KAAK,EAAE;IACjB,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACzC,OAAO,EAAE;SACT,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAClD,kCAAkC,EAClC;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,UAAU,EAAE,IAAI,EAAE;SACf,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC7D,UAAU,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC5B,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;CAC3B,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,WAAW,CAAC,0DAA0D,CAAC,CAAC,EAAE,CACxE,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,UAAU,CACb;IACD,WAAW,CAAC,2DAA2D,CAAC,CAAC,EAAE,CACzE,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,QAAQ,CACX;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CACjC,eAAe,EACf;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,YAAY,EAAE,QAAQ,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,EAAE;SACnF,OAAO,EAAE;SACT,OAAO,CAAC,EAAE,CAAC;IACd,IAAI,EAAE,IAAI,EAAE;IACZ,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACzC,OAAO,EAAE;SACT,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CACzB,MAAM,EACN;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,UAAU,EAAE,IAAI,EAAE;SACf,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IACpC,UAAU,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpD,YAAY,EAAE,IAAI,EAAE;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,QAAQ,EAAE,KAAK,EAAE;IACjB,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACnE,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,qCAAqC;IACrC,QAAQ,EAAE,IAAI,EAAE;IAChB,QAAQ,EAAE,IAAI,EAAE;CACjB,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,WAAW,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9C,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;CAC9C,CACF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CACrC,oBAAoB,EACpB;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE;SACX,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACrD,UAAU,EAAE,IAAI,EAAE;SACf,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;CAC9D,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,WAAW,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IAChE,KAAK,CAAC,oCAAoC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;CAC7D,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,YAAY,EACZ;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE;SACX,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7F,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7F,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACnE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,eAAe,EAAE,IAAI,EAAE;CACxB,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpE,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,WAAW,CAAC,kCAAkC,CAAC;SAC5C,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;SACrB,KAAK,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,eAAe,cAAc,CAAC;CAChD,CACF,CAAC"}