@webda/core 2.3.1 → 2.4.1

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 (65) hide show
  1. package/lib/application.d.ts +12 -0
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +26 -3
  4. package/lib/core.js +53 -2
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +1 -1
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/queues/memoryqueue.spec.js +4 -0
  9. package/lib/queues/memoryqueue.spec.js.map +1 -1
  10. package/lib/queues/queueservice.d.ts +8 -0
  11. package/lib/queues/queueservice.js +28 -0
  12. package/lib/queues/queueservice.js.map +1 -1
  13. package/lib/services/authentication.d.ts +14 -2
  14. package/lib/services/authentication.js +105 -70
  15. package/lib/services/authentication.js.map +1 -1
  16. package/lib/services/binary.d.ts +11 -1
  17. package/lib/services/binary.js +28 -1
  18. package/lib/services/binary.js.map +1 -1
  19. package/lib/services/fileconfiguration.js +9 -3
  20. package/lib/services/fileconfiguration.js.map +1 -1
  21. package/lib/services/fileconfiguration.spec.js +43 -0
  22. package/lib/services/fileconfiguration.spec.js.map +1 -1
  23. package/lib/services/mailer.d.ts +9 -1
  24. package/lib/services/mailer.js +30 -7
  25. package/lib/services/mailer.js.map +1 -1
  26. package/lib/services/mailer.spec.js +5 -0
  27. package/lib/services/mailer.spec.js.map +1 -1
  28. package/lib/services/oauth.d.ts +8 -1
  29. package/lib/services/oauth.js +11 -0
  30. package/lib/services/oauth.js.map +1 -1
  31. package/lib/services/prometheus.d.ts +97 -0
  32. package/lib/services/prometheus.js +151 -0
  33. package/lib/services/prometheus.js.map +1 -0
  34. package/lib/services/prometheus.spec.d.ts +1 -0
  35. package/lib/services/prometheus.spec.js +57 -0
  36. package/lib/services/prometheus.spec.js.map +1 -0
  37. package/lib/services/proxy.d.ts +11 -0
  38. package/lib/services/proxy.js +47 -2
  39. package/lib/services/proxy.js.map +1 -1
  40. package/lib/services/resource.js +2 -1
  41. package/lib/services/resource.js.map +1 -1
  42. package/lib/services/resource.spec.js +5 -5
  43. package/lib/services/service.d.ts +16 -1
  44. package/lib/services/service.js +18 -0
  45. package/lib/services/service.js.map +1 -1
  46. package/lib/stores/file.js +1 -0
  47. package/lib/stores/file.js.map +1 -1
  48. package/lib/stores/store.d.ts +8 -13
  49. package/lib/stores/store.js +34 -35
  50. package/lib/stores/store.js.map +1 -1
  51. package/lib/test.js +8 -0
  52. package/lib/test.js.map +1 -1
  53. package/lib/utils/context.d.ts +6 -1
  54. package/lib/utils/context.js +9 -2
  55. package/lib/utils/context.js.map +1 -1
  56. package/lib/utils/serializers.js +1 -1
  57. package/lib/utils/serializers.js.map +1 -1
  58. package/lib/utils/serializers.spec.js +1 -1
  59. package/lib/utils/serializers.spec.js.map +1 -1
  60. package/package.json +4 -3
  61. package/test/config-file-missing-file-no-default.json +44 -0
  62. package/test/config-file-missing-file.json +57 -0
  63. package/test/config-invitation.json +3 -1
  64. package/test/config.json +3 -0
  65. package/webda.module.json +202 -0
@@ -1,4 +1,4 @@
1
- import { EventWithContext } from "../core.js";
1
+ import { Counter, EventWithContext } from "../core.js";
2
2
  import { Ident } from "../models/ident.js";
3
3
  import { User } from "../models/user.js";
4
4
  import { Service, ServiceParameters } from "../services/service.js";
@@ -212,6 +212,14 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
212
212
  cryptoService: CryptoService;
213
213
  _passwordVerifier: PasswordVerifier;
214
214
  providers: Set<string>;
215
+ metrics: {
216
+ login: Counter;
217
+ logout: Counter;
218
+ loginFailed?: Counter;
219
+ recovery?: Counter;
220
+ recovered?: Counter;
221
+ registration?: Counter;
222
+ };
215
223
  /**
216
224
  * Load the parameters for a service
217
225
  */
@@ -233,6 +241,10 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
233
241
  * Setup the default routes
234
242
  */
235
243
  computeParameters(): void;
244
+ /**
245
+ * @override
246
+ */
247
+ initMetrics(): void;
236
248
  /**
237
249
  * Add a provider to the oauth scheme
238
250
  * @param name
@@ -328,7 +340,7 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
328
340
  * @param ident
329
341
  * @returns
330
342
  */
331
- login(ctx: Context, user: User | string, ident: Ident): Promise<any[]>;
343
+ login(ctx: Context, user: User | string, ident: Ident, provider: string): Promise<any[]>;
332
344
  getMailMan(): Mailer;
333
345
  /**
334
346
  * Handle a user login request
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import bcrypt from "bcryptjs";
8
+ import { Counter } from "../core.js";
8
9
  import { Inject, Route, Service, ServiceParameters } from "../services/service.js";
9
10
  import { HttpContext } from "../utils/httpcontext.js";
10
11
  export class AuthenticationParameters extends ServiceParameters {
@@ -92,6 +93,99 @@ class Authentication extends Service {
92
93
  // Add email provider
93
94
  if (this.parameters.email) {
94
95
  this.addProvider("email");
96
+ this.addRoute("./email/{email}/recover", ["GET"], this._passwordRecoveryEmail, {
97
+ get: {
98
+ description: "The password reset process will be start",
99
+ summary: "Start password recovery",
100
+ operationId: "startEmailRecovery",
101
+ responses: {
102
+ "204": {
103
+ description: ""
104
+ },
105
+ "404": {
106
+ description: "Email does not exist"
107
+ },
108
+ "429": {
109
+ description: "Recovery has been initiated in the last 4 hours"
110
+ }
111
+ }
112
+ }
113
+ });
114
+ this.addRoute("./email/passwordRecovery", ["POST"], this._passwordRecovery, {
115
+ post: {
116
+ schemas: {
117
+ input: {
118
+ type: "object",
119
+ properties: {
120
+ token: {
121
+ type: "string"
122
+ },
123
+ expire: {
124
+ type: "number"
125
+ },
126
+ password: {
127
+ type: "string"
128
+ },
129
+ login: {
130
+ type: "string"
131
+ }
132
+ }
133
+ }
134
+ },
135
+ description: "Reinit the password if we have the right token, expire",
136
+ summary: "Reinit password",
137
+ operationId: "reinitPassword",
138
+ responses: {
139
+ "204": {
140
+ description: ""
141
+ },
142
+ "403": {
143
+ description: "Wrong Token"
144
+ }
145
+ }
146
+ }
147
+ });
148
+ this.addRoute("./email", ["POST"], this._handleEmail, {
149
+ post: {
150
+ description: "Authenticate with an email and password",
151
+ summary: "Authenticate with email",
152
+ operationId: `authWithEmail`
153
+ }
154
+ });
155
+ }
156
+ }
157
+ /**
158
+ * @override
159
+ */
160
+ initMetrics() {
161
+ super.initMetrics();
162
+ this.metrics.login = this.getMetric(Counter, {
163
+ name: "auth_login",
164
+ help: "Counter number of login per provider",
165
+ labelNames: ["provider"]
166
+ });
167
+ this.metrics.logout = this.getMetric(Counter, {
168
+ name: "auth_logout",
169
+ help: "Counter number of logout"
170
+ });
171
+ this.metrics.registration = this.getMetric(Counter, {
172
+ name: "auth_registration",
173
+ help: "Counter number of registration per provider",
174
+ labelNames: ["provider"]
175
+ });
176
+ if (this.parameters.email) {
177
+ this.metrics.loginFailed = this.getMetric(Counter, {
178
+ name: "auth_login_failed",
179
+ help: "Counter number of login failed with password"
180
+ });
181
+ this.metrics.recovery = this.getMetric(Counter, {
182
+ name: "auth_login_recovery",
183
+ help: "Counter number of password lost process initiated"
184
+ });
185
+ this.metrics.recovered = this.getMetric(Counter, {
186
+ name: "auth_login_recovered",
187
+ help: "Counter number of password lost process successful"
188
+ });
95
189
  }
96
190
  }
97
191
  /**
@@ -174,6 +268,7 @@ class Authentication extends Service {
174
268
  async _listAuthentications(ctx) {
175
269
  if (ctx.getHttpContext().getMethod() === "DELETE") {
176
270
  await this.logout(ctx);
271
+ this.metrics.logout.inc();
177
272
  ctx.write("GoodBye");
178
273
  return;
179
274
  }
@@ -188,7 +283,7 @@ class Authentication extends Service {
188
283
  let ident = await this._identsStore.get(identId);
189
284
  // Ident is known
190
285
  if (ident) {
191
- await this.login(ctx, ident.getUser(), ident);
286
+ await this.login(ctx, ident.getUser(), ident, provider);
192
287
  await this._identsStore.patch({
193
288
  _lastUsed: new Date(),
194
289
  __tokens: tokens,
@@ -237,7 +332,7 @@ class Authentication extends Service {
237
332
  ident.setType(provider);
238
333
  await ident.save(true);
239
334
  ident.__new = true;
240
- await this.login(ctx, user, ident);
335
+ await this.login(ctx, user, ident, provider);
241
336
  }
242
337
  /**
243
338
  * Create a new User with the link ident
@@ -254,6 +349,7 @@ class Authentication extends Service {
254
349
  async registerUser(ctx, data, identId, user = this._usersStore.newModel()) {
255
350
  user.email = data.email;
256
351
  user.locale = ctx.getLocale();
352
+ this.metrics.registration.inc();
257
353
  await this.emitSync("Authentication.Register", {
258
354
  user: user,
259
355
  data: data,
@@ -300,6 +396,7 @@ class Authentication extends Service {
300
396
  _lastPasswordRecovery: Date.now(),
301
397
  uuid: user.uuid
302
398
  }, true, null);
399
+ this.metrics.recovery.inc();
303
400
  await this.sendRecoveryEmail(ctx, user, email);
304
401
  }
305
402
  async _verifyPassword(password, user) {
@@ -338,6 +435,7 @@ class Authentication extends Service {
338
435
  __password: password,
339
436
  uuid: body.login.toLowerCase()
340
437
  }, true, null);
438
+ this.metrics.recovered.inc();
341
439
  await this.emitSync("Authentication.PasswordUpdate", {
342
440
  user,
343
441
  password,
@@ -472,7 +570,7 @@ class Authentication extends Service {
472
570
  * @param ident
473
571
  * @returns
474
572
  */
475
- async login(ctx, user, ident) {
573
+ async login(ctx, user, ident, provider) {
476
574
  const event = {
477
575
  context: ctx,
478
576
  userId: "",
@@ -488,6 +586,7 @@ class Authentication extends Service {
488
586
  }
489
587
  event.context = ctx;
490
588
  ctx.getSession().login(event.userId, event.identId);
589
+ this.metrics.login.inc({ provider });
491
590
  return this.emitSync("Authentication.Login", event);
492
591
  }
493
592
  getMailMan() {
@@ -511,10 +610,11 @@ class Authentication extends Service {
511
610
  updates._failedLogin = 0;
512
611
  updates.uuid = ident.uuid;
513
612
  await this._identsStore.patch(updates, true, null);
514
- await this.login(ctx, ident.getUser(), ident);
613
+ await this.login(ctx, ident.getUser(), ident, "email");
515
614
  ctx.write(user);
516
615
  }
517
616
  else {
617
+ this.metrics.loginFailed.inc();
518
618
  await this.emitSync("Authentication.LoginFailed", {
519
619
  user,
520
620
  context: ctx
@@ -606,7 +706,7 @@ class Authentication extends Service {
606
706
  newIdent._lastValidationEmail = Date.now();
607
707
  }
608
708
  ident = await newIdent.save(true);
609
- await this.login(ctx, user, ident);
709
+ await this.login(ctx, user, ident, "email");
610
710
  ctx.write(user);
611
711
  if (!validation && !mailConfig.skipEmailValidation) {
612
712
  await this.sendValidationEmail(ctx, email);
@@ -682,75 +782,10 @@ __decorate([
682
782
  }
683
783
  })
684
784
  ], Authentication.prototype, "_listAuthentications", null);
685
- __decorate([
686
- Route("./email/{email}/recover", ["GET"], false, {
687
- get: {
688
- description: "The password reset process will be start",
689
- summary: "Start password recovery",
690
- operationId: "startEmailRecovery",
691
- responses: {
692
- "204": {
693
- description: ""
694
- },
695
- "404": {
696
- description: "Email does not exist"
697
- },
698
- "429": {
699
- description: "Recovery has been initiated in the last 4 hours"
700
- }
701
- }
702
- }
703
- })
704
- ], Authentication.prototype, "_passwordRecoveryEmail", null);
705
- __decorate([
706
- Route("./email/passwordRecovery", ["POST"], false, {
707
- post: {
708
- schemas: {
709
- input: {
710
- type: "object",
711
- properties: {
712
- token: {
713
- type: "string"
714
- },
715
- expire: {
716
- type: "number"
717
- },
718
- password: {
719
- type: "string"
720
- },
721
- login: {
722
- type: "string"
723
- }
724
- }
725
- }
726
- },
727
- description: "Reinit the password if we have the right token, expire",
728
- summary: "Reinit password",
729
- operationId: "reinitPassword",
730
- responses: {
731
- "204": {
732
- description: ""
733
- },
734
- "403": {
735
- description: "Wrong Token"
736
- }
737
- }
738
- }
739
- })
740
- ], Authentication.prototype, "_passwordRecovery", null);
741
785
  __decorate([
742
786
  Route("./email/callback{?email,token,user}", ["GET"], false, {
743
787
  hidden: true
744
788
  })
745
789
  ], Authentication.prototype, "_handleEmailCallback", null);
746
- __decorate([
747
- Route("./email", ["POST"], false, {
748
- post: {
749
- description: "Authenticate with an email and password",
750
- summary: "Authenticate with email",
751
- operationId: `authWithEmail`
752
- }
753
- })
754
- ], Authentication.prototype, "_handleEmail", null);
755
790
  export { Authentication };
756
791
  //# sourceMappingURL=authentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/services/authentication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../src/services/authentication.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
4
  import { Readable } from "stream";
5
- import { WebdaError } from "../index.js";
5
+ import { Counter, WebdaError } from "../index.js";
6
6
  import { CoreModel } from "../models/coremodel.js";
7
7
  import { MappingService, Store } from "../stores/store.js";
8
8
  import { Context } from "../utils/context.js";
@@ -261,6 +261,16 @@ export type BinaryEvents = {
261
261
  */
262
262
  declare abstract class Binary<T extends BinaryParameters = BinaryParameters, E extends BinaryEvents = BinaryEvents> extends Service<T, E> implements MappingService<BinaryMap> {
263
263
  _lowercaseMaps: any;
264
+ metrics: {
265
+ upload: Counter;
266
+ download: Counter;
267
+ delete: Counter;
268
+ metadataUpdate: Counter;
269
+ };
270
+ /**
271
+ * @override
272
+ */
273
+ initMetrics(): void;
264
274
  /**
265
275
  * When you store a binary to be able to retrieve it you need to store the information into another object
266
276
  *
@@ -10,7 +10,7 @@ import * as fs from "fs";
10
10
  import * as mime from "mime-types";
11
11
  import * as path from "path";
12
12
  import { Readable } from "stream";
13
- import { WebdaError } from "../index.js";
13
+ import { Counter, WebdaError } from "../index.js";
14
14
  import { NotEnumerable } from "../models/coremodel.js";
15
15
  import { Store } from "../stores/store.js";
16
16
  import { Service, ServiceParameters } from "./service.js";
@@ -198,6 +198,28 @@ export class BinaryParameters extends ServiceParameters {
198
198
  * @class Binary
199
199
  */
200
200
  class Binary extends Service {
201
+ /**
202
+ * @override
203
+ */
204
+ initMetrics() {
205
+ super.initMetrics();
206
+ this.metrics.upload = this.getMetric(Counter, {
207
+ name: "binary_upload",
208
+ help: "Number of binary upload"
209
+ });
210
+ this.metrics.delete = this.getMetric(Counter, {
211
+ name: "binary_delete",
212
+ help: "Number of binary deleted"
213
+ });
214
+ this.metrics.download = this.getMetric(Counter, {
215
+ name: "binary_download",
216
+ help: "Number of binary upload"
217
+ });
218
+ this.metrics.metadataUpdate = this.getMetric(Counter, {
219
+ name: "binary_metadata_update",
220
+ help: "Number of binary metadata updated"
221
+ });
222
+ }
201
223
  /**
202
224
  * Get a binary
203
225
  *
@@ -209,6 +231,7 @@ class Binary extends Service {
209
231
  object: info,
210
232
  service: this
211
233
  });
234
+ this.metrics.download.inc();
212
235
  return this._get(info);
213
236
  }
214
237
  /**
@@ -222,6 +245,7 @@ class Binary extends Service {
222
245
  object: info,
223
246
  service: this
224
247
  });
248
+ this.metrics.download.inc();
225
249
  let readStream = await this._get(info);
226
250
  let writeStream = fs.createWriteStream(filename);
227
251
  return new Promise((resolve, reject) => {
@@ -335,6 +359,7 @@ class Binary extends Service {
335
359
  service: this,
336
360
  target: object
337
361
  });
362
+ this.metrics.upload.inc();
338
363
  }
339
364
  /**
340
365
  *
@@ -351,6 +376,7 @@ class Binary extends Service {
351
376
  object: info,
352
377
  service: this
353
378
  });
379
+ this.metrics.delete.inc();
354
380
  return update;
355
381
  }
356
382
  /**
@@ -657,6 +683,7 @@ class Binary extends Service {
657
683
  [object.__class.getUuidField()]: object.getUuid(),
658
684
  [property]: object[property].map(b => b.toJSON())
659
685
  }, false);
686
+ this.metrics.metadataUpdate.inc();
660
687
  await this.emitSync("Binary.MetadataUpdated", evt);
661
688
  }
662
689
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as fs from "fs";
1
+ import { existsSync, watchFile } from "fs";
2
2
  import { WebdaError } from "../core.js";
3
3
  import { JSONUtils } from "../index.js";
4
4
  import ConfigurationService from "./configuration.js";
@@ -15,10 +15,10 @@ export class FileConfigurationService extends ConfigurationService {
15
15
  }
16
16
  // Load it from where it should be
17
17
  this.parameters.source = this._webda.getAppPath(this.parameters.source);
18
- if (!fs.existsSync(this.parameters.source)) {
18
+ if (!existsSync(this.parameters.source)) {
19
19
  throw new WebdaError("FILE_CONFIGURATION_SOURCE_MISSING", "Need a source for FileConfigurationService");
20
20
  }
21
- fs.watchFile(this.parameters.source, this.checkUpdate.bind(this));
21
+ watchFile(this.parameters.source, this.checkUpdate.bind(this));
22
22
  // Add webda info
23
23
  this.watch("$.webda.services", this._webda.reinit.bind(this._webda));
24
24
  await this.checkUpdate();
@@ -36,6 +36,12 @@ export class FileConfigurationService extends ConfigurationService {
36
36
  */
37
37
  async initConfiguration() {
38
38
  this.parameters.source = this._webda.getAppPath(this.parameters.source);
39
+ /**
40
+ * Auto-generate file if missing
41
+ */
42
+ if (!existsSync(this.parameters.source) && this.parameters.default) {
43
+ JSONUtils.saveFile(this.parameters.default, this.parameters.source);
44
+ }
39
45
  return this.loadAndStoreConfiguration();
40
46
  }
41
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fileconfiguration.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,oBAAwD,MAAM,iBAAiB,CAAC;AAEvF;;;GAGG;AACH,MAAM,OAAO,wBAEX,SAAQ,oBAAuB;IAC/B,cAAc;IACd,KAAK,CAAC,IAAI;QACR,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;SACzG;QAED,kCAAkC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1C,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;SACzG;QAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,iBAAiB;QAC/B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"fileconfiguration.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,oBAAwD,MAAM,iBAAiB,CAAC;AAEvF;;;GAGG;AACH,MAAM,OAAO,wBAEX,SAAQ,oBAAuB;IAC/B,cAAc;IACd,KAAK,CAAC,IAAI;QACR,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;SACzG;QAED,kCAAkC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACvC,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;SACzG;QAED,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,iBAAiB;QAC/B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExE;;WAEG;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YAClE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACrE;QAED,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;CACF"}