@lilaquadrat/studio 10.0.0-beta.8 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/eslint.config.js +146 -0
  2. package/lib/fastify-plugins.d.ts +6 -0
  3. package/lib/fastify-plugins.js +7 -0
  4. package/lib/fastify-plugins.js.map +1 -0
  5. package/lib/helpers.d.ts +4 -2
  6. package/lib/helpers.js +13 -2
  7. package/lib/helpers.js.map +1 -1
  8. package/lib/main.d.ts +1 -3
  9. package/lib/main.js +7 -3
  10. package/lib/main.js.map +1 -1
  11. package/lib/models.d.ts +4 -4
  12. package/lib/models.js +4 -4
  13. package/lib/models.js.map +1 -1
  14. package/lib/services.d.ts +5 -5
  15. package/lib/services.js +5 -13
  16. package/lib/services.js.map +1 -1
  17. package/lib/src/Immutable.class.d.ts +8 -1
  18. package/lib/src/Immutable.class.js +52 -8
  19. package/lib/src/Immutable.class.js.map +1 -1
  20. package/lib/src/ShareClientFactory.class.d.ts +1 -3
  21. package/lib/src/ShareClientFactory.class.js +1 -9
  22. package/lib/src/ShareClientFactory.class.js.map +1 -1
  23. package/lib/src/classes/models.class.js.map +1 -1
  24. package/lib/src/classes/modelv2.class.d.ts +2 -0
  25. package/lib/src/classes/modelv2.class.js +1 -1
  26. package/lib/src/classes/modelv2.class.js.map +1 -1
  27. package/lib/src/classes/mongo.class.js +4 -14
  28. package/lib/src/classes/mongo.class.js.map +1 -1
  29. package/lib/src/functions/handleError.d.ts +2 -3
  30. package/lib/src/functions/handleError.js +3 -16
  31. package/lib/src/functions/handleError.js.map +1 -1
  32. package/lib/src/functions/optionsHelper.d.ts +4 -4
  33. package/lib/src/functions/optionsHelper.js +5 -4
  34. package/lib/src/functions/optionsHelper.js.map +1 -1
  35. package/lib/src/functions/respondCode.d.ts +2 -1
  36. package/lib/src/functions/respondCode.js +1 -1
  37. package/lib/src/functions/respondCode.js.map +1 -1
  38. package/lib/src/helpers/ControllerHelper.d.ts +73 -0
  39. package/lib/src/helpers/ControllerHelper.js +242 -0
  40. package/lib/src/helpers/ControllerHelper.js.map +1 -0
  41. package/lib/src/helpers/EnvMapper.js +1 -0
  42. package/lib/src/helpers/EnvMapper.js.map +1 -0
  43. package/lib/src/helpers/auth0config.d.ts +6 -0
  44. package/lib/src/helpers/auth0config.js +23 -0
  45. package/lib/src/helpers/auth0config.js.map +1 -0
  46. package/lib/src/helpers/authPlugin.d.ts +29 -0
  47. package/lib/src/helpers/authPlugin.js +77 -0
  48. package/lib/src/helpers/authPlugin.js.map +1 -0
  49. package/lib/src/helpers/cacheHelper.d.ts +69 -0
  50. package/lib/src/helpers/cacheHelper.js +235 -0
  51. package/lib/src/helpers/cacheHelper.js.map +1 -0
  52. package/lib/src/helpers/createSasToken.d.ts +0 -2
  53. package/lib/src/helpers/createSasToken.js +35 -32
  54. package/lib/src/helpers/createSasToken.js.map +1 -1
  55. package/lib/src/helpers/getSecrets.d.ts +1 -1
  56. package/lib/src/helpers/getSecrets.js +10 -12
  57. package/lib/src/helpers/getSecrets.js.map +1 -1
  58. package/lib/src/helpers/limiterPlugin.d.ts +9 -0
  59. package/lib/src/helpers/limiterPlugin.js +72 -0
  60. package/lib/src/helpers/limiterPlugin.js.map +1 -0
  61. package/lib/src/helpers/loggingPlugin.d.ts +30 -0
  62. package/lib/src/helpers/loggingPlugin.js +87 -0
  63. package/lib/src/helpers/loggingPlugin.js.map +1 -0
  64. package/lib/src/helpers/queryAssertionPlugin.d.ts +3 -0
  65. package/lib/src/helpers/queryAssertionPlugin.js +20 -0
  66. package/lib/src/helpers/queryAssertionPlugin.js.map +1 -0
  67. package/lib/src/helpers/safeObjectId.d.ts +1 -1
  68. package/lib/src/helpers/safeObjectId.js +5 -1
  69. package/lib/src/helpers/safeObjectId.js.map +1 -1
  70. package/lib/src/helpers/storageSdkFactory.d.ts +2 -0
  71. package/lib/src/helpers/storageSdkFactory.js +11 -0
  72. package/lib/src/helpers/storageSdkFactory.js.map +1 -0
  73. package/lib/src/helpers/studioAppPlugin.d.ts +3 -0
  74. package/lib/src/helpers/studioAppPlugin.js +16 -0
  75. package/lib/src/helpers/studioAppPlugin.js.map +1 -0
  76. package/lib/src/logger.js +57 -8
  77. package/lib/src/logger.js.map +1 -1
  78. package/lib/src/models/access.model.d.ts +14 -3
  79. package/lib/src/models/access.model.js +7 -9
  80. package/lib/src/models/access.model.js.map +1 -1
  81. package/lib/src/models/customers.model.js +14 -4
  82. package/lib/src/models/customers.model.js.map +1 -1
  83. package/lib/src/models/design.model.d.ts +4 -0
  84. package/lib/src/models/design.model.js +58 -0
  85. package/lib/src/models/design.model.js.map +1 -0
  86. package/lib/src/models/domain.model.js +1 -1
  87. package/lib/src/models/domain.model.js.map +1 -1
  88. package/lib/src/models/editor.model.js +7 -0
  89. package/lib/src/models/editor.model.js.map +1 -1
  90. package/lib/src/models/emailLimit.model.d.ts +4 -0
  91. package/lib/src/models/emailLimit.model.js +31 -0
  92. package/lib/src/models/emailLimit.model.js.map +1 -0
  93. package/lib/src/models/hosting.model.js +1 -3
  94. package/lib/src/models/hosting.model.js.map +1 -1
  95. package/lib/src/models/hostingSettings.model.js +6 -4
  96. package/lib/src/models/hostingSettings.model.js.map +1 -1
  97. package/lib/src/models/invoice.model.d.ts +4 -0
  98. package/lib/src/models/invoice.model.js +235 -0
  99. package/lib/src/models/invoice.model.js.map +1 -0
  100. package/lib/src/models/mailFrom.model.js +51 -10
  101. package/lib/src/models/mailFrom.model.js.map +1 -1
  102. package/lib/src/models/project.model.js +2 -4
  103. package/lib/src/models/project.model.js.map +1 -1
  104. package/lib/src/models/publish-method.model.js +79 -430
  105. package/lib/src/models/publish-method.model.js.map +1 -1
  106. package/lib/src/models/publish.model.js +6 -0
  107. package/lib/src/models/publish.model.js.map +1 -1
  108. package/lib/src/models/storage.model.js +23 -5
  109. package/lib/src/models/storage.model.js.map +1 -1
  110. package/lib/src/models/structure.model.js +40 -0
  111. package/lib/src/models/structure.model.js.map +1 -1
  112. package/lib/src/models/upload.model.js +38 -2
  113. package/lib/src/models/upload.model.js.map +1 -1
  114. package/lib/src/prompts/textGeneration.js +88 -0
  115. package/lib/src/prompts/textGeneration.js.map +1 -1
  116. package/lib/src/prompts/textGenerationMulti.js +78 -44
  117. package/lib/src/prompts/textGenerationMulti.js.map +1 -1
  118. package/lib/src/services/access.service.d.ts +132 -33
  119. package/lib/src/services/access.service.js +270 -92
  120. package/lib/src/services/access.service.js.map +1 -1
  121. package/lib/src/services/ai.service.d.ts +4 -3
  122. package/lib/src/services/ai.service.js +22 -29
  123. package/lib/src/services/ai.service.js.map +1 -1
  124. package/lib/src/services/auth.service.d.ts +11 -0
  125. package/lib/src/services/auth.service.js +70 -0
  126. package/lib/src/services/auth.service.js.map +1 -0
  127. package/lib/src/services/conf.service.d.ts +3 -31
  128. package/lib/src/services/conf.service.js +58 -167
  129. package/lib/src/services/conf.service.js.map +1 -1
  130. package/lib/src/services/customers.service.d.ts +8 -4
  131. package/lib/src/services/customers.service.js +34 -7
  132. package/lib/src/services/customers.service.js.map +1 -1
  133. package/lib/src/services/designs.service.d.ts +7 -0
  134. package/lib/src/services/designs.service.js +10 -0
  135. package/lib/src/services/designs.service.js.map +1 -0
  136. package/lib/src/services/domains.service.d.ts +18 -84
  137. package/lib/src/services/domains.service.js +91 -583
  138. package/lib/src/services/domains.service.js.map +1 -1
  139. package/lib/src/services/editor.service.d.ts +4 -0
  140. package/lib/src/services/editor.service.js +28 -0
  141. package/lib/src/services/editor.service.js.map +1 -1
  142. package/lib/src/services/emailLimit.service.d.ts +21 -0
  143. package/lib/src/services/emailLimit.service.js +51 -0
  144. package/lib/src/services/emailLimit.service.js.map +1 -0
  145. package/lib/src/services/hosting.service.d.ts +12 -24
  146. package/lib/src/services/hosting.service.js +32 -122
  147. package/lib/src/services/hosting.service.js.map +1 -1
  148. package/lib/src/services/hostingAdmin.service.d.ts +1 -1
  149. package/lib/src/services/hostingAdmin.service.js +2 -2
  150. package/lib/src/services/hostingAdmin.service.js.map +1 -1
  151. package/lib/src/services/import.service.d.ts +6 -22
  152. package/lib/src/services/import.service.js +63 -65
  153. package/lib/src/services/import.service.js.map +1 -1
  154. package/lib/src/services/invoices.service.d.ts +30 -0
  155. package/lib/src/services/invoices.service.js +265 -0
  156. package/lib/src/services/invoices.service.js.map +1 -0
  157. package/lib/src/services/jetstream.service.d.ts +5 -3
  158. package/lib/src/services/jetstream.service.js +63 -7
  159. package/lib/src/services/jetstream.service.js.map +1 -1
  160. package/lib/src/services/listParticipants.service.d.ts +3 -5
  161. package/lib/src/services/listParticipants.service.js +76 -16
  162. package/lib/src/services/listParticipants.service.js.map +1 -1
  163. package/lib/src/services/mailFrom.service.d.ts +14 -1
  164. package/lib/src/services/mailFrom.service.js +59 -0
  165. package/lib/src/services/mailFrom.service.js.map +1 -1
  166. package/lib/src/services/me.service.d.ts +23 -12
  167. package/lib/src/services/me.service.js +65 -88
  168. package/lib/src/services/me.service.js.map +1 -1
  169. package/lib/src/services/publish.service.d.ts +6 -8
  170. package/lib/src/services/publish.service.js +34 -32
  171. package/lib/src/services/publish.service.js.map +1 -1
  172. package/lib/src/services/publishData.service.d.ts +10 -7
  173. package/lib/src/services/publishData.service.js +32 -75
  174. package/lib/src/services/publishData.service.js.map +1 -1
  175. package/lib/src/services/spamAnalasys.service.d.ts +4 -4
  176. package/lib/src/services/spamAnalasys.service.js +36 -44
  177. package/lib/src/services/spamAnalasys.service.js.map +1 -1
  178. package/lib/src/services/storage.service.d.ts +68 -39
  179. package/lib/src/services/storage.service.js +378 -209
  180. package/lib/src/services/storage.service.js.map +1 -1
  181. package/lib/src/services/structures.service.d.ts +8 -1
  182. package/lib/src/services/structures.service.js +26 -1
  183. package/lib/src/services/structures.service.js.map +1 -1
  184. package/lib/src/services/upload.service.d.ts +8 -1
  185. package/lib/src/services/upload.service.js +76 -3
  186. package/lib/src/services/upload.service.js.map +1 -1
  187. package/lib/tests/groupStructuresByModel.spec.d.ts +1 -0
  188. package/lib/tests/groupStructuresByModel.spec.js +33 -0
  189. package/lib/tests/groupStructuresByModel.spec.js.map +1 -0
  190. package/lib/tests/listParticipantsServiceJoin.spec.d.ts +1 -0
  191. package/lib/tests/listParticipantsServiceJoin.spec.js +151 -0
  192. package/lib/tests/listParticipantsServiceJoin.spec.js.map +1 -0
  193. package/lib/tests/storageServiceHandleFile.spec.d.ts +1 -0
  194. package/lib/tests/storageServiceHandleFile.spec.js +94 -0
  195. package/lib/tests/storageServiceHandleFile.spec.js.map +1 -0
  196. package/lib/tests/storageServiceToken.spec.d.ts +1 -0
  197. package/lib/tests/storageServiceToken.spec.js +104 -0
  198. package/lib/tests/storageServiceToken.spec.js.map +1 -0
  199. package/lib/tests/uploadServiceCreate.spec.d.ts +1 -0
  200. package/lib/tests/uploadServiceCreate.spec.js +81 -0
  201. package/lib/tests/uploadServiceCreate.spec.js.map +1 -0
  202. package/package.json +30 -26
  203. package/lib/src/AzureBlobStorage.share.d.ts +0 -19
  204. package/lib/src/AzureBlobStorage.share.js +0 -162
  205. package/lib/src/AzureBlobStorage.share.js.map +0 -1
  206. package/lib/src/AzureFileStorage.share.d.ts +0 -22
  207. package/lib/src/AzureFileStorage.share.js +0 -139
  208. package/lib/src/AzureFileStorage.share.js.map +0 -1
  209. package/lib/src/AzureVault.d.ts +0 -14
  210. package/lib/src/AzureVault.js +0 -28
  211. package/lib/src/AzureVault.js.map +0 -1
  212. package/lib/src/dns.challenge.class.d.ts +0 -17
  213. package/lib/src/dns.challenge.class.js +0 -41
  214. package/lib/src/dns.challenge.class.js.map +0 -1
  215. package/lib/src/http.challenge.class.d.ts +0 -33
  216. package/lib/src/http.challenge.class.js +0 -58
  217. package/lib/src/http.challenge.class.js.map +0 -1
  218. package/lib/src/models/certificate-action.model.d.ts +0 -5
  219. package/lib/src/models/certificate-action.model.js +0 -230
  220. package/lib/src/models/certificate-action.model.js.map +0 -1
  221. package/lib/src/models/certificate.model.d.ts +0 -4
  222. package/lib/src/models/certificate.model.js +0 -96
  223. package/lib/src/models/certificate.model.js.map +0 -1
  224. package/lib/src/models/editorBase.model.d.ts +0 -4
  225. package/lib/src/models/editorBase.model.js +0 -39
  226. package/lib/src/models/editorBase.model.js.map +0 -1
  227. package/lib/src/services/certificates.service.js +0 -199
  228. package/lib/src/services/certificates.service.js.map +0 -1
  229. package/lib/src/services/certificatesAction.service.d.ts +0 -0
  230. package/lib/src/services/certificatesAction.service.js +0 -237
  231. package/lib/src/services/certificatesAction.service.js.map +0 -1
  232. package/lib/src/services/editorBase.service.d.ts +0 -46
  233. package/lib/src/services/editorBase.service.js +0 -161
  234. package/lib/src/services/editorBase.service.js.map +0 -1
  235. package/lib/src/services/handleFile.service.d.ts +0 -9
  236. package/lib/src/services/handleFile.service.js +0 -45
  237. package/lib/src/services/handleFile.service.js.map +0 -1
  238. package/lib/src/services/media.service.d.ts +0 -35
  239. package/lib/src/services/media.service.js +0 -418
  240. package/lib/src/services/media.service.js.map +0 -1
  241. package/lib/src/services/share.service.d.ts +0 -6
  242. package/lib/src/services/share.service.js +0 -4
  243. package/lib/src/services/share.service.js.map +0 -1
  244. /package/lib/src/{services/certificates.service.d.ts → helpers/EnvMapper.d.ts} +0 -0
@@ -1,5 +1,6 @@
1
- import { connect } from '@nats-io/transport-node';
1
+ import { connect, credsAuthenticator } from '@nats-io/transport-node';
2
2
  import { jetstream, jetstreamManager, RetentionPolicy, } from '@nats-io/jetstream';
3
+ import { readFile } from 'node:fs/promises';
3
4
  import logger from '../logger.js';
4
5
  export class JetStreamService {
5
6
  constructor() {
@@ -7,25 +8,38 @@ export class JetStreamService {
7
8
  this.js = null;
8
9
  this.jsm = null;
9
10
  }
10
- async connect(servers = ['localhost:4222']) {
11
- this.connection = await connect({ servers });
12
- logger.info('jetstream.connected');
11
+ async connect(servers = ['localhost:4222'], creds, retries = 5, retryDelay = 2000) {
12
+ const options = {
13
+ servers,
14
+ waitOnFirstConnect: true,
15
+ maxReconnectAttempts: retries,
16
+ reconnectTimeWait: retryDelay,
17
+ };
18
+ if (creds) {
19
+ const credsContent = await readFile(creds);
20
+ options.authenticator = credsAuthenticator(credsContent);
21
+ }
22
+ logger.info('jetstream.connection.try');
23
+ this.connection = await connect(options);
24
+ logger.info('jetstream.connection.success');
13
25
  this.js = jetstream(this.connection);
14
26
  this.jsm = await jetstreamManager(this.connection);
15
27
  }
16
28
  async disconnect() {
17
29
  await this.connection?.close();
30
+ logger.info('jetstream.connection.closed');
18
31
  this.connection = null;
19
32
  this.js = null;
20
33
  this.jsm = null;
21
34
  }
22
- async createStream(streamName, subjects, retention = RetentionPolicy.Limits) {
35
+ async createStream(streamName, subjects, retention = RetentionPolicy.Limits, options) {
23
36
  if (!this.jsm)
24
37
  throw new Error('Not connected to JetStream');
25
38
  await this.jsm.streams.add({
26
39
  name: streamName,
27
40
  subjects,
28
41
  retention,
42
+ max_age: options?.maxAge || 0
29
43
  });
30
44
  }
31
45
  publish(subject, data) {
@@ -62,8 +76,16 @@ export class JetStreamService {
62
76
  const consumer = await this.js.consumers.get(options.streamName, options.consumerName);
63
77
  const messages = await consumer.consume();
64
78
  for await (const message of messages) {
79
+ let decodedData;
80
+ try {
81
+ decodedData = JSON.parse(new TextDecoder().decode(message.data));
82
+ }
83
+ catch (error) {
84
+ logger.error(`jetstream.message.error.${options.streamName}.${options.consumerName}`, error);
85
+ message.ack();
86
+ return;
87
+ }
65
88
  try {
66
- const decodedData = JSON.parse(new TextDecoder().decode(message.data));
67
89
  const messageWithDecoded = { data: decodedData, subject: message.subject };
68
90
  await callback(messageWithDecoded);
69
91
  message.ack();
@@ -89,5 +111,39 @@ export class JetStreamService {
89
111
  return this.connection !== null && !this.connection.isClosed();
90
112
  }
91
113
  }
92
- export default new JetStreamService();
114
+ function createJetStreamProxy(service) {
115
+ let enabled = process.env.JETSTREAM_DISABLED !== 'true';
116
+ if (!enabled) {
117
+ logger.info('jetstream.disabled.via.env');
118
+ }
119
+ const noOpHandlers = {
120
+ connect: () => { logger.info('jetstream.connect.skipped'); return Promise.resolve(); },
121
+ disconnect: () => Promise.resolve(),
122
+ createStream: () => Promise.resolve(),
123
+ publish: () => Promise.resolve({}),
124
+ ensureConsumer: () => Promise.resolve(),
125
+ getConsumer: () => Promise.resolve(null),
126
+ consume: () => Promise.resolve(),
127
+ getClient: () => null,
128
+ getManager: () => null,
129
+ isConnected: () => false,
130
+ };
131
+ return new Proxy(service, {
132
+ get(target, prop) {
133
+ if (prop === 'setEnabled') {
134
+ return (value) => {
135
+ enabled = value;
136
+ if (!enabled)
137
+ logger.info('jetstream.disabled');
138
+ };
139
+ }
140
+ if (!enabled && prop in noOpHandlers) {
141
+ return noOpHandlers[prop];
142
+ }
143
+ const value = target[prop];
144
+ return typeof value === 'function' ? value.bind(target) : value;
145
+ }
146
+ });
147
+ }
148
+ export default createJetStreamProxy(new JetStreamService());
93
149
  //# sourceMappingURL=jetstream.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jetstream.service.js","sourceRoot":"","sources":["../../../src/services/jetstream.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jetstream.service.js","sourceRoot":"","sources":["../../../src/services/jetstream.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { ObjectId, UnorderedBulkOperation, WithId } from 'mongodb';
2
2
  import Immutable from '../Immutable.class.js';
3
- import { QueueClient, QueueServiceClient } from '@azure/storage-queue';
4
3
  import { Agreement, AgreementResponse, BasicData, CustomerPersonWithEmail, EmailsContent, History, HistoryReason, HistoryWithType, List, ListParticipants, ListParticipantWithCustomerAndPayment, ObjectIdString, Options, SkipLimitSort, UserAppWithOptions } from '@lilaquadrat/interfaces';
5
4
  import { ValidateFunction } from 'ajv';
6
5
  export declare class ListParticipantsService extends Immutable<ListParticipants> {
@@ -150,9 +149,7 @@ export declare class ListParticipantsService extends Immutable<ListParticipants>
150
149
  $unwind?: undefined;
151
150
  $addFields?: undefined;
152
151
  })[];
153
- service: QueueServiceClient;
154
152
  queue: string;
155
- client: QueueClient;
156
153
  constructor(connectionString: string | undefined, accountName: string | undefined, queue: string);
157
154
  getCustomerLookup(search?: string): any;
158
155
  single(list: ObjectId, internalId: ObjectId, options: Required<UserAppWithOptions>): Promise<ListParticipantWithCustomerAndPayment>;
@@ -160,7 +157,7 @@ export declare class ListParticipantsService extends Immutable<ListParticipants>
160
157
  * get state of the provided account for this list
161
158
  */
162
159
  stateForAccount(list: ObjectId, account: string, options: Required<UserAppWithOptions>): Promise<ListParticipants>;
163
- updateAfterCheck(useful: boolean, explanation: string | undefined, partiticpantInternalId: ObjectId, listInternalId: ObjectId, options: Required<UserAppWithOptions>): Promise<import("mongodb").UpdateResult<BasicData<ListParticipants>>>;
160
+ updateAfterCheck(useful: boolean, explanation: string | undefined, partiticpantInternalId: ObjectId, listInternalId: ObjectId, options: Required<UserAppWithOptions>): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
164
161
  private getValidatorForStructures;
165
162
  createParticipantsObject(list: ObjectId, mode: List['mode'], user: ObjectId, state: ListParticipants['state'], message: string | undefined, category: string | undefined, payment: ObjectId | undefined, structureInput: Record<string, string | boolean | number> | undefined, agreements: AgreementResponse[], options: Required<UserAppWithOptions>): ListParticipants;
166
163
  /**
@@ -192,12 +189,13 @@ export declare class ListParticipantsService extends Immutable<ListParticipants>
192
189
  sendStateAndAudienceAwareEmail(listId: ObjectId, customerId: ObjectId, state: ListParticipants['state'], audience: EmailsContent['audience'], options: Required<UserAppWithOptions> & {
193
190
  disableEmailConfirmedCheck?: boolean;
194
191
  }): Promise<void | import("@lilaquadrat/interfaces").CreateResult<BasicData<import("@lilaquadrat/interfaces").Publish>>>;
192
+ hasOpenSlotForCategory(listInternalId: ObjectId, category: string, options: Required<UserAppWithOptions>): Promise<boolean>;
195
193
  remove(list: ObjectId, participationId: ObjectId, options: Required<UserAppWithOptions>): Promise<import("mongodb").DeleteResult>;
196
194
  /**
197
195
  * Updates the state of a participant in a list
198
196
  */
199
197
  state(list: ObjectId, participationId: ObjectId, state: ListParticipants['state'], options: Required<UserAppWithOptions>): Promise<void>;
200
- note(list: ObjectId, participationId: ObjectId, note: ListParticipants['note'] | undefined, options: Required<UserAppWithOptions>): Promise<import("mongodb").UpdateResult<BasicData<ListParticipants>>>;
198
+ note(list: ObjectId, participationId: ObjectId, note: ListParticipants['note'] | undefined, options: Required<UserAppWithOptions>): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
201
199
  participantInList(list: ObjectId, user: ObjectId, options: Required<UserAppWithOptions>): Promise<boolean>;
202
200
  singleWithoutLookup(list: ObjectId, user: ObjectId, options: Required<UserAppWithOptions>): Promise<WithId<ListParticipants> | null>;
203
201
  viaPayment(listId: ObjectId, paymentId: ObjectId, options: Required<UserAppWithOptions>): Promise<ListParticipantWithCustomerAndPayment>;
@@ -1,19 +1,20 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import Immutable from '../Immutable.class.js';
3
3
  import ListParticipantsModel from '../models/listsParticipants.model.js';
4
+ import ListsModel from '../models/lists.model.js';
4
5
  import { EditorService, HistoryService, ListsService, SpamAnalasysService } from '../../services.js';
5
6
  import CustomersService from './customers.service.js';
6
7
  import hardCopy from '../helpers/hardCopy.js';
7
8
  import AgreementsError from '../classes/errors/Agreements.error.js';
8
- import { QueueServiceClient } from '@azure/storage-queue';
9
9
  import publishService from './publish.service.js';
10
10
  import safeObjectId from '../helpers/safeObjectId.js';
11
11
  import cleanObject from '../helpers/cleanObject.js';
12
- import { DefaultAzureCredential } from '@azure/identity';
12
+ // import { DefaultAzureCredential } from '@azure/identity';
13
13
  import StructureService from './structures.service.js';
14
14
  import CustomersModel from '../models/customers.model.js';
15
15
  import ImmutableError from '../classes/errors/Immutable.error.js';
16
16
  import { projectStructuresAggregation } from '../aggegations/structures.aggregation.js';
17
+ import jetstreamService from './jetstream.service.js';
17
18
  export class ListParticipantsService extends Immutable {
18
19
  constructor(connectionString, accountName, queue) {
19
20
  super();
@@ -134,16 +135,6 @@ export class ListParticipantsService extends Immutable {
134
135
  },
135
136
  },
136
137
  ];
137
- if (accountName) {
138
- this.service = new QueueServiceClient(`https://${accountName}.queue.core.windows.net`, new DefaultAzureCredential());
139
- }
140
- else if (connectionString && queue) {
141
- this.service = QueueServiceClient.fromConnectionString(connectionString);
142
- this.queue = queue;
143
- }
144
- if (this.service) {
145
- this.client = this.service.getQueueClient(queue);
146
- }
147
138
  }
148
139
  getCustomerLookup(search) {
149
140
  const lookup = hardCopy(this.customerLookup);
@@ -278,6 +269,8 @@ export class ListParticipantsService extends Immutable {
278
269
  throw new Error('LIST_NOT_FOUND');
279
270
  if (!list.participants?.available)
280
271
  throw new Error('LIST_NO_SPOT_AVAILABLE');
272
+ if (category && !await this.hasOpenSlotForCategory(listInternalId, category, options))
273
+ throw new Error('LIST_CATEGORY_NO_SPOT_AVAILABLE');
281
274
  if (!person?.email)
282
275
  throw new Error('EMAIL_INVALID');
283
276
  const checkEmail = await SpamAnalasysService.checkEmailDns(person.email);
@@ -313,7 +306,7 @@ export class ListParticipantsService extends Immutable {
313
306
  * get the editor and find used the contact module
314
307
  */
315
308
  const editor = await EditorService.getById(options.parentId, options);
316
- const contactModule = editor.modules.find((single) => single.uuid === options.uuid && single.type === 'contact-module');
309
+ const contactModule = editor?.modules.find((single) => single.uuid === options.uuid && single.type === 'contact-module');
317
310
  if (editor.genericData?.structures && contactModule) {
318
311
  /**
319
312
  * get all used structures for the contact module
@@ -377,7 +370,7 @@ export class ListParticipantsService extends Immutable {
377
370
  * only add to the queue and initiate the spam check when the entry state is unchecked
378
371
  */
379
372
  if (entryState === 'unchecked') {
380
- await this.client.sendMessage(Buffer.from(JSON.stringify({ _id: addResponse._id, listId: list._id })).toString('base64'));
373
+ await jetstreamService.publish('actions.ai.check', { _id: addResponse._id, listId: list._id });
381
374
  }
382
375
  return customerResponse.customer;
383
376
  }
@@ -443,6 +436,8 @@ export class ListParticipantsService extends Immutable {
443
436
  throw new Error('LIST_NOT_FOUND');
444
437
  if (!list.participants?.available)
445
438
  throw new Error('LIST_NO_SPOT_AVAILABLE');
439
+ if (category && !await this.hasOpenSlotForCategory(listInternalId, category, options))
440
+ throw new Error('LIST_CATEGORY_NO_SPOT_AVAILABLE');
446
441
  let entryState = 'unchecked';
447
442
  // if (list.mode === 'contact') entryState = 'enlisted';
448
443
  if (list.mode === 'content')
@@ -530,7 +525,7 @@ export class ListParticipantsService extends Immutable {
530
525
  * only add to the queue and initiate the spam check when the entrystate is unchecked
531
526
  */
532
527
  if (entryState === 'unchecked') {
533
- await this.client.sendMessage(Buffer.from(JSON.stringify({ _id: addResponse._id, listId: list._id })).toString('base64'));
528
+ // await this.client.sendMessage(Buffer.from(JSON.stringify({ _id: addResponse._id, listId: list._id })).toString('base64'));
534
529
  }
535
530
  await this.sendStateAndAudienceAwareEmail(list._id, customerId, entryState, 'members', options);
536
531
  return customerId;
@@ -555,7 +550,72 @@ export class ListParticipantsService extends Immutable {
555
550
  return;
556
551
  }
557
552
  }
558
- return publishService.email(safeObjectId(email.contentId), customerId, undefined, options);
553
+ return publishService.email(safeObjectId(email.contentId), customerId, undefined, { ...options, relatedData: { list: listId } });
554
+ }
555
+ async hasOpenSlotForCategory(listInternalId, category, options) {
556
+ const aggregation = [
557
+ {
558
+ $match: {
559
+ _id: listInternalId,
560
+ state: 'open',
561
+ company: options.company,
562
+ project: options.project,
563
+ },
564
+ },
565
+ {
566
+ $addFields: {
567
+ matchedCategory: {
568
+ $first: {
569
+ $filter: {
570
+ input: { $ifNull: ['$categories', []] },
571
+ as: 'c',
572
+ cond: { $eq: ['$$c.id', category] },
573
+ },
574
+ },
575
+ },
576
+ },
577
+ },
578
+ {
579
+ $match: {
580
+ matchedCategory: { $ne: null },
581
+ $expr: { $ne: ['$matchedCategory.disabled', true] },
582
+ },
583
+ },
584
+ {
585
+ $lookup: {
586
+ from: 'listParticipants',
587
+ as: 'used',
588
+ let: { listId: '$_id' },
589
+ pipeline: [
590
+ {
591
+ $match: {
592
+ $expr: { $eq: ['$list', '$$listId'] },
593
+ category,
594
+ company: options.company,
595
+ project: options.project,
596
+ state: { $nin: ['blocked', 'notuseful'] },
597
+ },
598
+ },
599
+ { $count: 'count' },
600
+ ],
601
+ },
602
+ },
603
+ { $unwind: { path: '$used', preserveNullAndEmptyArrays: true } },
604
+ {
605
+ $match: {
606
+ $expr: {
607
+ $or: [
608
+ { $not: ['$matchedCategory.amount'] },
609
+ { $gt: ['$matchedCategory.amount', { $ifNull: ['$used.count', 0] }] },
610
+ ],
611
+ },
612
+ },
613
+ },
614
+ { $limit: 1 },
615
+ { $project: { _id: 1 } },
616
+ ];
617
+ const result = await ListsModel.db.aggregate(aggregation).toArray();
618
+ return result.length === 1;
559
619
  }
560
620
  async remove(list, participationId, options) {
561
621
  return this.delete(participationId, options.user, options.app);
@@ -1 +1 @@
1
- {"version":3,"file":"listParticipants.service.js","sourceRoot":"","sources":["../../../src/services/listParticipants.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,SAAS,CAAC;AACnE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,eAAe,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAe,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAMvE,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,cAAc,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,MAAM,OAAO,uBAAwB,SAAQ,SAA2B;IAiItE,YAAY,gBAAoC,EAAE,WAA+B,EAAE,KAAa;QAE9F,KAAK,EAAE,CAAC;QAjIV,UAAK,GAAG,qBAAqB,CAAC;QAE9B,mBAAc,GAAG;YACf;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,UAAU;oBACd,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;oBACxB,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;iCACzC;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,0BAA0B,EAAE,IAAI;iBACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE;wBAChE,KAAK,EAAE,iBAAiB;wBACxB,EAAE,EAAE,cAAc;wBAClB,GAAG,EAAE,eAAe;qBACrB;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,UAAU,EAAE,CAAC;iBACd;aACF;SACF,CAAC;QAEF,kBAAa,GAAG;YACd;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,aAAa;oBACjB,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;oBAC9B,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE;iCAC5C;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,cAAc;oBACpB,0BAA0B,EAAE,IAAI;iBACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,GAAG,EAAE,kBAAkB;wBACvB,MAAM,EAAE,qBAAqB;wBAC7B,QAAQ,EAAE,uBAAuB;wBACjC,QAAQ,EAAE,uBAAuB;wBACjC,KAAK,EAAE,oBAAoB;wBAC3B,KAAK,EAAE,oBAAoB;qBAC5B;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,aAAa,EAAE,CAAC;iBACjB;aACF;SACF,CAAC;QAEF,sBAAiB,GAAG;YAClB;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,aAAa;oBACjB,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;oBAC9B,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE;iCAC5C;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,cAAc;oBACpB,0BAA0B,EAAE,IAAI;iBACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,aAAa,EAAE,CAAC;iBACjB;aACF;SACF,CAAC;QAYA,IAAI,WAAW,EAAE,CAAC;YAEhB,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CACnC,WAAW,WAAW,yBAAyB,EAC/C,IAAI,sBAAsB,EAAE,CAC7B,CAAC;QAEJ,CAAC;aAAM,IAAI,gBAAgB,IAAI,KAAK,EAAE,CAAC;YAErC,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAEjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEnD,CAAC;IAEH,CAAC;IAED,iBAAiB,CAAC,MAAe;QAE/B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAQ,CAAC;QAEpD,IAAI,MAAM,EAAE,CAAC;YAEX,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,KAAK,EAAE;oBACL,WAAW,EAAE;wBACX,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,MAAgB;wBACvB,OAAO,EAAE,GAAG;qBACb;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAEvD,CAAC;QAED,OAAO,MAAM,CAAC;IAEhB,CAAC;IAED,MAAM,CAAC,IAAc,EAAE,UAAoB,EAAE,OAAqC;QAEhF,MAAM,WAAW,GAAU;YACzB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;wBACnC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;qBACzC;iBACF;aACF;YACD,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,4BAA4B;SAChC,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAwC,WAAW,CAAC,CAAC,OAAO,EAAE;aACzF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAE1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,IAAc,EAAE,OAAe,EAAE,OAAqC;QAE1F,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAErD,MAAM,WAAW,GAAU;YACzB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;wBACnC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;qBAC5C;iBACF;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAmB,WAAW,CAAC,CAAC,OAAO,EAAE;aACpE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAE1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAe,EAAE,WAA+B,EAAE,sBAAgC,EAAE,cAAwB,EAAE,OAAqC;QAExK,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE7C,IAAI,UAAU,GAA8B,WAAW,CAAC;QAExD,IAAI,MAAM,EAAE,CAAC;YAEX,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,UAAU,GAAG,UAAU,CAAC;YACrD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,UAAU,GAAG,UAAU,CAAC;YACrD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;gBAAE,UAAU,GAAG,UAAU,CAAC;QAE3D,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAE5K,CAAC;IAEO,yBAAyB,CAAC,iBAAsC,EAAE,UAAkC,EAAE,KAAa,EAAE,UAAkB;QAE7I,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG;YACvB,iBAAiB,EAAE,qBAAqB;YACxC,SAAS,EAAE,cAAc;SAC1B,CAAC;QAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAEnC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBAE1C,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,cAAc,CAAC,CAAC;gBACrG,IAAI,eAAe;oBAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAG,CAAC,CAAC;YAE1D,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChE;;WAEG;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAErD,OAAO,gBAAgB,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAsB,CAAC,CAAC,CAAC;IAEjH,CAAC;IAED,wBAAwB,CACtB,IAAc,EACd,IAAkB,EAClB,IAAc,EACd,KAAgC,EAChC,OAA2B,EAC3B,QAA4B,EAC5B,OAA6B,EAC7B,cAAqE,EACrE,UAA+B,EAC/B,OAAqC;QAGrC,IAAI,WAAW,GAAqB;YAClC,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,UAAU;YACV,KAAK;YACL,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YAEnB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QAEtD,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzB,OAAO,WAAW,CAAC;IAErB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,cAAwB,EACxB,MAA+B,EAC/B,OAA2B,EAC3B,QAA4B,EAC5B,UAA+B,EAC/B,cAAsC,EACtC,OAAkF;QAGlF,IAAI,mBAAmB,GAA0B,sBAAsB,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,UAAU,GAA2B,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;QACxG,MAAM,6BAA6B,GAAiH,EAAE,GAAG,OAAO,EAAE,CAAC;QACnK,MAAM,qCAAqC,GAAiH,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3K;;WAEG;QACH,IAAI,iBAAiB,GAAgC,EAAE,CAAC;QACxD,IAAI,sBAAsB,GAA8D,EAAE,CAAC;QAC3F,MAAM,gBAAgB,GAAyE,EAAE,CAAC;QAElG,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE7E,IAAI,CAAC,MAAM,EAAE,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,UAAU,GAA8B,WAAW,CAAC;QAExD,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,GAAG,UAAU,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;YAAE,UAAU,GAAG,UAAU,CAAC;QAEzD,UAAU,CAAC,iBAAiB,GAAG,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC;QAErD,iFAAiF;QACjF,IAAI,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC;YAEvC,mBAAmB,GAAG,iCAAiC,CAAC;QAE1D,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE9E,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAE7B,MAAM,IAAI,eAAe,CACvB,UAAU,EACV;gBACE;oBACE,OAAO,EAAE,UAAU;oBACnB,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,YAAY;oBACxB,MAAM,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE;iBACtE;aACF,EACD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAChC,CAAC;QAEJ,CAAC;QAED;;WAEG;QACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAErB;;eAEG;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAkB,CAAC;YACzI,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,aAAa,EAAE,CAAC;gBAEpD;;mBAEG;gBACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEzG,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAiC,CAAC;gBAE1E,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAC9F,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;gBACxD,sBAAsB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC;gBAElE;;mBAEG;gBACH,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAE/C,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAElI,CAAC,CAAC,CAAC;gBAEH,IAAI,gBAAgB,CAAC,SAAS;oBAAE,6BAA6B,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;gBACrG,IAAI,gBAAgB,CAAC,iBAAiB;oBAAE,qCAAqC,CAAC,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;YAE/H,CAAC;QAEH,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,CAAC;QAED;;WAEG;QACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CACtD,cAAc,EACd,IAAI,CAAC,IAAI,EACT,IAAI,QAAQ,EAAE,EACd,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,sBAAsB,CAAC,iBAAiB,EACxC,UAAU,EACV,qCAAqC,CACtC,CAAC;QAEF;;;;WAIG;QACH,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YAEvC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAE5D,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE3F,CAAC;QAEH,CAAC;QAED;;;;WAIG;QACH,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;QAC3K,IAAI,CAAC,gBAAgB,EAAE,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEvE;;WAEG;QACH,kBAAkB,CAAC,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAExD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEjH,IAAI,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;YAEnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,CAAC;QAED,IAAI,iBAAiB,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAE3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,kBAAkB,EAClB,IAAI,CAAC,IAAI,EACT,qCAAqC,CACtC,CAAC;QAEF,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5J;;UAEE;QACF,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAE/B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5H,CAAC;QAED,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IAEnC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,cAAwB,EACxB,UAAoB,EACpB,QAAgB,EAChB,KAAgC,EAChC,IAAwB,EACxB,OAAqC;QAGrC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE9D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAqB;YACpC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,UAAU;YAChB,QAAQ;YACR,IAAI;YACJ,UAAU,EAAE,EAAE;YACd,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAEtG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,cAAwB,EACxB,UAAoB,EACpB,OAA2B,EAC3B,QAAgB,EAChB,OAAiB,EACjB,UAA+B,EAC/B,OAAqC;QAGrC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE7C,MAAM,UAAU,GAA8B,MAAM,CAAC;QAErD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE9F,IAAI,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;YAEnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,CAAC;QAED,IAAI,iBAAiB,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAE3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACzI,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzI,OAAO,UAAU,CAAC;IAEpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,cAAwB,EACxB,OAAe,EACf,OAA2B,EAC3B,QAA4B,EAC5B,UAA+B,EAC/B,cAAsC,EACtC,OAAkF;QAGlF,MAAM,UAAU,GAA2B,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;QACvG,MAAM,6BAA6B,GAAiH,EAAE,GAAG,OAAO,EAAE,CAAC;QACnK,MAAM,qCAAqC,GAAiH,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3K;;WAEG;QACH,IAAI,iBAAiB,GAAgC,EAAE,CAAC;QACxD,IAAI,sBAAsB,GAA8D,EAAE,CAAC;QAC3F,MAAM,gBAAgB,GAAyE,EAAE,CAAC;QAElG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE7E,IAAI,UAAU,GAA8B,WAAW,CAAC;QAExD,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,GAAG,UAAU,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;YAAE,UAAU,GAAG,UAAU,CAAC;QAEzD,UAAU,CAAC,iBAAiB,GAAG,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC;QAErD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE9E,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAE7B,MAAM,IAAI,eAAe,CACvB,UAAU,EACV;gBACE;oBACE,OAAO,EAAE,UAAU;oBACnB,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,YAAY;oBACxB,MAAM,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE;iBACtE;aACF,EACD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAChC,CAAC;QAEJ,CAAC;QAED;;WAEG;QACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAErB;;mBAEO;YACP,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAkB,CAAC;YACrG,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,aAAa,EAAE,CAAC;gBAEpD;;uBAEO;gBACP,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEzG,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAiC,CAAC;gBAE1E,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAC9F,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;gBACxD,sBAAsB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC;gBAElE;;uBAEO;gBACP,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAE/C,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAElI,CAAC,CAAC,CAAC;gBAEH,IAAI,gBAAgB,CAAC,SAAS;oBAAE,6BAA6B,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;gBACrG,IAAI,gBAAgB,CAAC,iBAAiB;oBAAE,qCAAqC,CAAC,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;YAE/H,CAAC;QAEH,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,CAAC;QAED;;WAEG;QACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CACtD,cAAc,EACd,IAAI,CAAC,IAAI,EACT,IAAI,QAAQ,EAAE,EACd,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,sBAAsB,CAAC,iBAAiB,EACxC,UAAU,EACV,qCAAqC,CACtC,CAAC;QAEF;;;;eAIO;QACP,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YAEvC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAE5D,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE3F,CAAC;QAEH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAyB,CAAC;QACxI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAI,CAAC;QAEjC,kBAAkB,CAAC,IAAI,GAAG,UAAU,CAAC;QACrC,OAAO,QAAQ,CAAC,GAAG,CAAC;QAEpB,IAAI,sBAAsB,CAAC,SAAS,EAAE,CAAC;YAErC,MAAM,gBAAgB,CAAC,SAAS,CAC9B,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,EAAE,GAAG,QAAQ,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,EACpD,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR,OAAO,CAAC,GAAG,EACX,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,EAAE,SAAS,EAAE,6BAA6B,CAAC,SAAS,EAAE,CACvD,CAAC;QAEJ,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE9F,IAAI,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;YAEnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,CAAC;QAED,IAAI,iBAAiB,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAE3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEtC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,kBAAkB,EAClB,IAAI,CAAC,IAAI,EACT,qCAAqC,CACtC,CAAC;QACF,oKAAoK;QAEpK;;UAEE;QACF,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAE/B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5H,CAAC;QAED,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEjG,OAAO,UAAU,CAAC;IAEpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,8BAA8B,CAAC,MAAgB,EAAE,UAAoB,EAAE,KAAgC,EAAE,QAAmC,EAAE,OAAgF;QAElO,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAE7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACrC,OAAO;YAET,CAAC;QAEH,CAAC;QAED,OAAO,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE7F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc,EAAE,eAAyB,EAAE,OAAqC;QAE3F,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,IAAc,EAAE,eAAyB,EAAE,KAAgC,EAAE,OAAqC;QAE5H,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAE9L,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9H,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEhC,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAElF,sEAAsE;YACtE,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3F,CAAC;IAEH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAc,EAAE,eAAyB,EAAE,IAA0C,EAAE,OAAqC;QAErI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE3M,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc,EAAE,IAAc,EAAE,OAAqC;QAE3F,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpH,CAAC;IAED,mBAAmB,CAAC,IAAc,EAAE,IAAc,EAAE,OAAqC;QAEvF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnG,CAAC;IAED,UAAU,CAAC,MAAgB,EAAE,SAAmB,EAAE,OAAqC;QAErF,MAAM,WAAW,GAAU;YACzB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE;wBACrC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;qBAC5C;iBACF;aACF;YACD,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,4BAA4B;SAChC,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAwC,WAAW,CAAC,CAAC,OAAO,EAAE;aACzF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAE1C,CAAC;IAID,YAAY,CAAC,UAAoB,EAAE,cAAwB;QAEzD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEpB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAsC,CAAC;QAEzF,CAAC;QACD,MAAM,WAAW,GAAU;YACzB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;qBACzC;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,UAAU;oBACd,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;oBACxB,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;iCACzC;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,0BAA0B,EAAE,IAAI;iBACjC;aACF;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;iBAClB;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,QAAQ,EAAE,CAAC;iBACZ;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAqE,WAAW,CAAC,CAAC,OAAO,EAAE;aACtH,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAgF,CAAC;IAEzH,CAAC;IAED,cAAc,CACZ,IAAc,EACd,IAAkB,EAClB,IAAc,EACd,KAAgC,EAChC,OAA2B,EAC3B,QAA4B,EAC5B,OAA6B,EAC7B,cAAqE,EACrE,UAA+B,EAC/B,OAAwE;QAGxE,IAAI,WAAW,GAAqB;YAClC,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,UAAU;YACV,KAAK;YACL,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YAEnB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QAEtD,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,GAAG,IAAI,SAAS,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE9H,CAAC;IAED,uBAAuB,CACrB,WAA6B,EAC7B,IAAkB,EAClB,OAAwE;QAGxE,MAAM,OAAO,GAAG,GAAG,IAAI,SAAS,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE9H,CAAC;IAED,iBAAiB,CAAC,IAAc,EAAE,IAAY,EAAE,OAAqC;IAErF,CAAC;IAED,WAAW,CAAC,IAAc,EAAE,MAAiC,EAAE,OAAqC;QAElG,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAElH,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,WAAW,GAAG;YAClB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACpB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACpB,GAAG,IAAI,CAAC,cAAc;SACvB,CAAC;QAEF,OAAO,cAAc,CAAC,eAAe,CAAoC,KAAK,CAAC,CAAC;IAElF,CAAC;IAED,iBAAiB,CAAC,cAA2B,EAAE,kBAAuC;QAEpF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAExE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAE1B,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAE1F,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEjC,CAAC;QAEH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IAEjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAc,EAAE,KAA8C,EAAE,QAA8B,EAAE,QAA4B,EAAE,OAA2C;QAE9L,IAAI,WAAW,GAAU;YACvB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;wBACjD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;qBACpC;iBACF;aACF;SACF,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;SACnC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpB,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAErF,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YAEV,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzE,CAAC;aAAM,CAAC;YAEN,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEnH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YAEb,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/E,CAAC;QAED,WAAW,GAAG;YACZ,GAAG,WAAW;YACd,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YACnC,GAAG,IAAI,CAAC,iBAAiB;SAC1B,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC;iBAChC;aACF;SACF,CAAC,CAAC;QAEH,WAAW,CAAC,IAAI,CACd;YACE,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH;wBACE,MAAM,EAAE,KAAK;qBACd;iBACF;gBACD,IAAI,EAAE;oBACJ;wBACE,KAAK,EAAE,OAAO,CAAC,IAAI;qBACpB;oBACD;wBACE,MAAM,EAAE,OAAO,CAAC,KAAK;qBACtB;iBACF;aACF;SACF,EACD;YACE,OAAO,EAAE,MAAM;SAChB,CACF,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAsD,WAAW,CAAC;aACzG,OAAO,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE9H,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,kBAA4B,EAAE,MAAqE,EAAE,OAA2C;QAEpK,MAAM,WAAW,GAAa;YAC5B;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,kBAAkB;iBACzB;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAM;oBAClB,YAAY,EAAE,KAAK;oBACnB,EAAE,EAAE,UAAU;iBACf;aACF;YACD;gBACE,OAAO,EAAE,WAAW;aACrB;YACD;gBACE,UAAU,EAAG;oBACX,eAAe,EAAE;wBACf,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,kBAAkB;wBAC3B,OAAO,EAAE,kBAAkB;qBAC5B;iBACF;aACF;YACD;gBACE,MAAM,EAAE;oBACN,GAAG,EAAE,eAAe;oBACpB,IAAI,EAAE;wBACJ,MAAM,EAAE,WAAW;qBACpB;iBACF;aACF;YACD;gBACE,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,CAAC;iBACR;aACF;YACD;gBACE,UAAU,EAAE;oBACV,GAAG,EAAE,QAAQ;iBACd;aACF;SACF,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;SACnC,CAAC,CAAC;QAEH,WAAW,CAAC,IAAI,CACd;YACE,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH;wBACE,MAAM,EAAE,KAAK;qBACd;iBACF;gBACD,IAAI,EAAE;oBACJ;wBACE,KAAK,EAAE,OAAO,CAAC,IAAI;qBACpB;oBACD;wBACE,MAAM,EAAE,OAAO,CAAC,KAAK;qBACtB;iBACF;aACF;SACF,EACD;YACE,OAAO,EAAE,MAAM;SAChB,CACF,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;aACpD,OAAO,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE9H,CAAC;IAED,eAAe,CAAC,UAAyC,EAAE,OAA0B;QAEnF,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C;;eAEO;QACP,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAExB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAY,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;YACnB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAEjC,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAEhC,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAEnB,CAAC;IAED,eAAe,CAAC,MAAgB,EAAE,OAA0B;QAE1D,MAAM,WAAW,GAAG;YAClB;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,UAAU;oBACd,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;oBACxB,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;iCACzC;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,0BAA0B,EAAE,KAAK;iBAClC;aACF;YACD;gBACE,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,aAAa,EAAE;4BACb,WAAW;4BACX;gCACE,cAAc,EAAE;oCACd,OAAO,EAAE;wCACP,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;wCACnC,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;gDACjC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gDAC5B,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;6CACjC;yCACF;qCACF;iCACF;6BACF;4BACD;gCACE,aAAa,EAAE,MAAM;gCACrB,MAAM,EAAE,kBAAkB;6BAC3B;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAA+D,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IAEtH,CAAC;IAED,MAAM,CAAC,OAAgB;QAErB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAE9F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAyC,EAAE,iBAA0D,EAAE,SAAmC,EAAE,WAAmC,EAAE,OAA0B;QAEtN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC;QAEvD,CAAC,GAAG,UAAU,EAAE,GAAG,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAE5D,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAY,CAAC,CAAC;YACrE,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAY,CAAC,CAAC;YACrE,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAY,CAAC,CAAC;YAE3E,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAE5C,IAAI,SAAS,CAAC,EAAE,KAAK,eAAe,EAAE,CAAC;oBAErC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAEhE,CAAC;YAEH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAE/B,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B;;mBAEO;YACP,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;YACpC;;mBAEO;YACP,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEnC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtB,CAAC,CAAC,CAAC;QAEH,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAE/B,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7B,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,CAAC;IAElB,CAAC;CAEF;AAED,eAAe,IAAI,uBAAuB,CACxC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,EAC3B,OAAO,CACR,CAAC"}
1
+ {"version":3,"file":"listParticipants.service.js","sourceRoot":"","sources":["../../../src/services/listParticipants.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,23 @@
1
1
  import Immutable from '../Immutable.class.js';
2
- import { BasicData, MailFrom, Options } from '@lilaquadrat/interfaces';
2
+ import { BasicData, MailFrom, Options, UserApp, UserAppOptionsRequired } from '@lilaquadrat/interfaces';
3
3
  import { ObjectId } from 'mongodb';
4
4
  export declare class MailFromService extends Immutable<MailFrom> {
5
5
  model: import("../classes/modelv2.class.js").default<MailFrom, string>;
6
6
  available(options: Options): Promise<Omit<BasicData<MailFrom>, "history" | "restrictedTo">[]>;
7
7
  single(internalId: ObjectId, options: Options): Promise<Omit<BasicData<MailFrom>, "history" | "restrictedTo"> | undefined>;
8
+ updateDns(internalId: ObjectId, dns: MailFrom['dns'], options: Required<UserApp>): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
9
+ updateDnsCheckStatus(internalId: ObjectId, dnsCheck: boolean, options: UserAppOptionsRequired): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
10
+ setStatus(internalId: ObjectId, status: MailFrom['status'], options: UserAppOptionsRequired): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
11
+ fetchAndFlattenDnsTxt(domain: string): Promise<string[]>;
12
+ checkDns(internalId: ObjectId): Promise<{
13
+ domain: string;
14
+ dns: Record<"dkim" | "txt" | "spf", {
15
+ expected: string;
16
+ actual: string;
17
+ matches: boolean;
18
+ }>;
19
+ validated: boolean;
20
+ }>;
8
21
  }
9
22
  declare const _default: MailFromService;
10
23
  export default _default;
@@ -1,5 +1,7 @@
1
1
  import Immutable from '../Immutable.class.js';
2
2
  import { MailFromModel, ProjectModel } from '../../models.js';
3
+ import dnsCallbacks from 'dns';
4
+ const dns = dnsCallbacks.promises;
3
5
  export class MailFromService extends Immutable {
4
6
  constructor() {
5
7
  super(...arguments);
@@ -41,6 +43,63 @@ export class MailFromService extends Immutable {
41
43
  return single._id?.toString() === internalId.toString();
42
44
  });
43
45
  }
46
+ updateDns(internalId, dns, options) {
47
+ return this.immutable({ _id: internalId }, { dns }, options.user, 'change', options.app, undefined, undefined, 'update-dns');
48
+ }
49
+ updateDnsCheckStatus(internalId, dnsCheck, options) {
50
+ return this.immutable({ _id: internalId }, { dnsCheck }, options.user, 'change', options.app, undefined, undefined, 'dnsCheck');
51
+ }
52
+ async setStatus(internalId, status, options) {
53
+ const mailFrom = await this.model.db.findOne({ _id: internalId });
54
+ if (!mailFrom)
55
+ throw new Error('MAILFROM_NOT_FOUND');
56
+ if (!mailFrom.dnsCheck && status !== 'inactive')
57
+ throw new Error('DNS_CHECK_FALSE');
58
+ return this.immutable({ _id: internalId }, { status }, options.user, 'change', options.app, undefined, undefined, 'status');
59
+ }
60
+ async fetchAndFlattenDnsTxt(domain) {
61
+ const txtRecords = [];
62
+ const txtRecordsArray = await dns.resolveTxt(domain);
63
+ txtRecordsArray.forEach((single) => txtRecords.push(single[0]));
64
+ return txtRecords;
65
+ }
66
+ async checkDns(internalId) {
67
+ const mailFrom = await this.model.db.findOne({ _id: internalId });
68
+ if (!mailFrom)
69
+ throw new Error('MAIL_FROM_NOT_FOUND');
70
+ if (!mailFrom.dns)
71
+ throw new Error('DNS_NOT_CONFIGURED');
72
+ const results = {
73
+ spf: { expected: `include:${mailFrom.dns.serverIp}`, actual: '', matches: false },
74
+ dkim: { expected: mailFrom.dns.dkim, actual: '', matches: false },
75
+ txt: { expected: mailFrom.dns.txt, actual: '', matches: false }
76
+ };
77
+ // Get all TXT records for the main domain once
78
+ const txtRecords = await this.fetchAndFlattenDnsTxt(mailFrom.domain);
79
+ const spfRecord = txtRecords.find((single) => single.startsWith('v=spf1'));
80
+ results.spf.actual = spfRecord || 'Not found';
81
+ results.spf.matches = Boolean(spfRecord?.includes(mailFrom.dns.serverIp));
82
+ const verificationRecord = txtRecords.find((single) => single === mailFrom.dns.txt);
83
+ results.txt.actual = verificationRecord || 'Not found';
84
+ results.txt.matches = verificationRecord === mailFrom.dns.txt;
85
+ try {
86
+ // Check DKIM record (selector: lilaquadrat._domainkey)
87
+ const dkimDomain = `lilaquadrat._domainkey.${mailFrom.domain}`;
88
+ const dkimRecords = await dns.resolveTxt(dkimDomain);
89
+ const dkimRecord = dkimRecords.length > 0 ? dkimRecords[0].join('') : '';
90
+ results.dkim.actual = dkimRecord || 'Not found';
91
+ results.dkim.matches = dkimRecord.replace(/\s/g, '') === mailFrom.dns.dkim.replace(/\s/g, '');
92
+ }
93
+ catch (error) {
94
+ results.dkim.actual = 'DNS lookup failed';
95
+ results.dkim.matches = false;
96
+ }
97
+ return {
98
+ domain: mailFrom.domain,
99
+ dns: results,
100
+ validated: Object.values(results).every(result => result.matches === true)
101
+ };
102
+ }
44
103
  }
45
104
  export default new MailFromService();
46
105
  //# sourceMappingURL=mailFrom.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mailFrom.service.js","sourceRoot":"","sources":["../../../src/services/mailFrom.service.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI9D,MAAM,OAAO,eAAgB,SAAQ,SAAmB;IAAxD;;QAEE,UAAK,GAAG,aAAa,CAAC;IAiDxB,CAAC;IA/CC,KAAK,CAAC,SAAS,CAAC,OAAgB;QAE9B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/H,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,WAAW,GAAa;YAC5B;gBACE,MAAM,EAAE;oBACN,GAAG,EAAE;wBACH;4BACE,YAAY,EAAE;gCACZ,OAAO,EAAE,KAAK;6BACf;yBACF;wBACD;4BACE,YAAY,EAAE;gCACZ,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;6BAChC;yBACF;qBACF;iBACF;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,OAAO,EAAE,CAAC;oBACV,YAAY,EAAE,CAAC;iBAChB;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAwD,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IAE/G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAoB,EAAE,OAAgB;QAEjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE/B,OAAO,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE1D,CAAC,CAAC,CAAC;IAEL,CAAC;CAEF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"mailFrom.service.js","sourceRoot":"","sources":["../../../src/services/mailFrom.service.ts"],"names":[],"mappings":"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"}