@golemio/pid 2.13.3 → 2.13.4-dev.1297347910

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 (91) hide show
  1. package/dist/integration-engine/index.d.ts +0 -1
  2. package/dist/integration-engine/index.js +0 -4
  3. package/dist/integration-engine/index.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -1
  5. package/dist/integration-engine/ropid-gtfs/index.js +0 -1
  6. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  7. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
  8. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  10. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  11. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.d.ts +3 -1
  13. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js +8 -0
  14. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.d.ts +12 -0
  16. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js +44 -0
  17. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js.map +1 -0
  18. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.d.ts +11 -0
  19. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js +69 -0
  20. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js.map +1 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.d.ts +11 -0
  22. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js +66 -0
  23. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js.map +1 -0
  24. package/dist/integration-engine/vehicle-positions/ioc/Di.js +14 -0
  25. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +7 -0
  27. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +7 -0
  28. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -8
  30. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +4 -2
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +14 -3
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +2 -2
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.d.ts +6 -0
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js +38 -0
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js.map +1 -0
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +5 -2
  40. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +15 -3
  41. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +4 -5
  44. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +16 -22
  45. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  46. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +4 -4
  47. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +4 -3
  48. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -1
  49. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +1 -1
  50. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +2 -2
  51. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.d.ts +3 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +4 -0
  53. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js +4 -0
  54. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js.map +1 -1
  55. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.d.ts +1 -1
  56. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js +19 -5
  57. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -1
  58. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts +2 -2
  59. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js +11 -2
  60. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +1 -1
  62. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +21 -8
  63. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +5 -1
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +42 -8
  66. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  67. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +1 -1
  68. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +21 -8
  69. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  70. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +20 -6
  71. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.d.ts +2 -2
  73. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js +1 -1
  74. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -1
  75. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -1
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +0 -1
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +0 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  83. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +1 -0
  84. package/docs/implementation_documentation.md +32 -1
  85. package/package.json +2 -2
  86. package/dist/integration-engine/queueDefinitions.d.ts +0 -6
  87. package/dist/integration-engine/queueDefinitions.js +0 -40
  88. package/dist/integration-engine/queueDefinitions.js.map +0 -1
  89. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +0 -19
  90. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +0 -79
  91. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.13.3",
3
+ "version": "2.13.4-dev.1297347910",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -84,4 +84,4 @@
84
84
  "html-entities": "^2.3.3",
85
85
  "pg-copy-streams": "^5.1.1"
86
86
  }
87
- }
87
+ }
@@ -1,6 +0,0 @@
1
- import { IQueueDefinition } from "@golemio/core/dist/integration-engine/queueprocessors";
2
- /**
3
- * @deprecated Use the new worker definitions
4
- */
5
- declare const queueDefinitions: IQueueDefinition[];
6
- export { queueDefinitions };
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.queueDefinitions = void 0;
4
- const LegacyRopidGTFSWorker_1 = require("./ropid-gtfs/LegacyRopidGTFSWorker");
5
- const ropid_gtfs_1 = require("../schema-definitions/ropid-gtfs");
6
- const config_1 = require("@golemio/core/dist/integration-engine/config");
7
- /**
8
- * @deprecated Use the new worker definitions
9
- */
10
- const queueDefinitions = [
11
- // Ropid GTFS Queue Definitions
12
- {
13
- name: ropid_gtfs_1.RopidGTFS.name,
14
- queuePrefix: config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_gtfs_1.RopidGTFS.name.toLowerCase(),
15
- queues: [
16
- {
17
- name: "checkForNewDeparturesPresets",
18
- options: {
19
- deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
20
- deadLetterRoutingKey: "dead",
21
- messageTtl: 4 * 60 * 1000, // 4 minutes
22
- },
23
- worker: LegacyRopidGTFSWorker_1.LegacyRopidGTFSWorker,
24
- workerMethod: "checkForNewDeparturesPresets",
25
- },
26
- {
27
- name: "downloadDeparturesPresets",
28
- options: {
29
- deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
30
- deadLetterRoutingKey: "dead",
31
- messageTtl: 4 * 60 * 1000, // 4 minutes
32
- },
33
- worker: LegacyRopidGTFSWorker_1.LegacyRopidGTFSWorker,
34
- workerMethod: "downloadDeparturesPresets",
35
- },
36
- ],
37
- },
38
- ];
39
- exports.queueDefinitions = queueDefinitions;
40
- //# sourceMappingURL=queueDefinitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,8EAA6E;AAC7E,iEAA4C;AAC5C,yEAAsE;AAGtE;;GAEG;AACH,MAAM,gBAAgB,GAAuB;IACzC,+BAA+B;IAC/B;QACI,IAAI,EAAE,sBAAS,CAAC,IAAI;QACpB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC7E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6CAAqB;gBAC7B,YAAY,EAAE,8BAA8B;aAC/C;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6CAAqB;gBAC7B,YAAY,EAAE,2BAA2B;aAC5C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
@@ -1,19 +0,0 @@
1
- import { IRopidDeparturesPreset } from "../../schema-definitions/ropid-departures-presets";
2
- import { BaseWorker } from "@golemio/core/dist/integration-engine/workers";
3
- export interface IDeparturesPresetsData {
4
- data: IRopidDeparturesPreset[];
5
- }
6
- export declare class LegacyRopidGTFSWorker extends BaseWorker {
7
- private dataSourceDeparturesPresets;
8
- private metadataRepository;
9
- private readonly queuePrefix;
10
- constructor();
11
- /**
12
- * Queue listener method - triggers for new presets only
13
- */
14
- checkForNewDeparturesPresets: () => Promise<void>;
15
- /**
16
- * Queue listener method - triggers processing of DEPARTURES_PRESETS dataset
17
- */
18
- downloadDeparturesPresets: () => Promise<void>;
19
- }
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LegacyRopidGTFSWorker = void 0;
13
- const ropid_departures_presets_1 = require("../../schema-definitions/ropid-departures-presets");
14
- const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
15
- const config_1 = require("@golemio/core/dist/integration-engine/config");
16
- const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
17
- const RetryDataSource_1 = require("@golemio/core/dist/integration-engine/datasources/RetryDataSource");
18
- const workers_1 = require("@golemio/core/dist/integration-engine/workers");
19
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
- const _1 = require(".");
22
- const Di_1 = require("./ioc/Di");
23
- const RopidGtfsContainerToken_1 = require("./ioc/RopidGtfsContainerToken");
24
- class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
25
- constructor() {
26
- super();
27
- /**
28
- * Queue listener method - triggers for new presets only
29
- */
30
- this.checkForNewDeparturesPresets = () => __awaiter(this, void 0, void 0, function* () {
31
- // checking DEPARTURES_PRESETS dataset
32
- try {
33
- const departuresPresetsServerLastModified = yield this.dataSourceDeparturesPresets.getLastModified();
34
- const departuresPresetsDbLastModified = yield this.metadataRepository.getLastModified(_1.DatasetEnum.DEPARTURES_PRESETS);
35
- if (departuresPresetsServerLastModified !== departuresPresetsDbLastModified.lastModified) {
36
- yield this.sendMessageToExchange("workers." + this.queuePrefix + ".downloadDeparturesPresets", "Just do it!");
37
- }
38
- }
39
- catch (err) {
40
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
41
- throw err;
42
- }
43
- else {
44
- throw new golemio_errors_1.GeneralError("Error while checking for new departures presets", this.constructor.name, err);
45
- }
46
- }
47
- });
48
- /**
49
- * Queue listener method - triggers processing of DEPARTURES_PRESETS dataset
50
- */
51
- this.downloadDeparturesPresets = () => __awaiter(this, void 0, void 0, function* () {
52
- try {
53
- const file = yield this.dataSourceDeparturesPresets.getAll();
54
- const lastModified = yield this.dataSourceDeparturesPresets.getLastModified();
55
- const facade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade);
56
- yield facade.handleNewDeparturePresets(file.data, lastModified);
57
- }
58
- catch (err) {
59
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
60
- throw err;
61
- }
62
- else {
63
- throw new golemio_errors_1.GeneralError("Error while downloading departures presets: " + err.message, this.constructor.name, err);
64
- }
65
- }
66
- });
67
- this.metadataRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
68
- // Ropid Departures Presets
69
- this.dataSourceDeparturesPresets = new RetryDataSource_1.RetryDataSource(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", new datasources_1.FTPProtocolStrategy({
70
- filename: config_1.config.datasources.RopidDeparturesPresetsFilename,
71
- path: config_1.config.datasources.RopidDeparturesPresetsPath,
72
- url: config_1.config.datasources.RopidFTP,
73
- encoding: "utf8",
74
- }), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", ropid_departures_presets_1.RopidDeparturesPresets.datasourceJsonSchema));
75
- this.queuePrefix = config_1.config.RABBIT_EXCHANGE_NAME + "." + ropid_gtfs_1.RopidGTFS.name.toLowerCase();
76
- }
77
- }
78
- exports.LegacyRopidGTFSWorker = LegacyRopidGTFSWorker;
79
- //# sourceMappingURL=LegacyRopidGTFSWorker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LegacyRopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gGAA+F;AAC/F,oEAA4C;AAC5C,yEAAsE;AACtE,mFAA0H;AAC1H,uGAAoG;AACpG,2EAA2E;AAC3E,6EAA8F;AAC9F,mFAAkF;AAClF,wBAAgC;AAGhC,iCAA8C;AAC9C,2EAAwE;AAMxE,MAAa,qBAAsB,SAAQ,oBAAU;IAKjD;QACI,KAAK,EAAE,CAAC;QAqBZ;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,IAAI;gBACA,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;gBACtH,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;oBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;iBACjH;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACzG;aACJ;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;gBACrF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAE9E,MAAM,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAyB,iDAAuB,CAAC,sBAAsB,CAAC,CAAC;gBAClH,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACnE;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,8CAA8C,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACpH;aACJ;QACL,CAAC,CAAA,CAAC;QAzDE,IAAI,CAAC,kBAAkB,GAAG,uBAAkB,CAAC,OAAO,CAChD,iDAAuB,CAAC,2BAA2B,CACtD,CAAC;QAEF,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,iCAAe,CAClD,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;CAwCJ;AAjED,sDAiEC"}