@shapediver/viewer.session-engine.session-engine 2.8.4 → 2.9.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.
@@ -76,6 +76,7 @@ class SessionEngine {
76
76
  this._retryCounter = 0;
77
77
  this._updateCallback = null;
78
78
  this._viewerSettingsVersion = viewer_settings_1.latestVersion;
79
+ this._viewerSettingsVersionBackend = viewer_settings_1.latestVersion;
79
80
  _SessionEngine_customizationProcess.set(this, void 0);
80
81
  _SessionEngine_parameterHistory.set(this, []);
81
82
  _SessionEngine_parameterHistoryCall.set(this, false);
@@ -89,8 +90,13 @@ class SessionEngine {
89
90
  this._headers['X-ShapeDiver-BuildDate'] = properties.buildDate;
90
91
  this._headers['X-ShapeDiver-BuildVersion'] = properties.buildVersion;
91
92
  this._outputLoader = new OutputLoader_1.OutputLoader(this);
92
- this._sdk = (0, sdk_geometry_api_sdk_v2_1.create)(this._modelViewUrl, this._bearerToken);
93
- this._sdk.setConfigurationValue(sdk_geometry_api_sdk_v2_1.ShapeDiverSdkConfigType.REQUEST_HEADERS, this._headers);
93
+ try {
94
+ this._sdk = (0, sdk_geometry_api_sdk_v2_1.create)(this._modelViewUrl, this._bearerToken);
95
+ this._sdk.setConfigurationValue(sdk_geometry_api_sdk_v2_1.ShapeDiverSdkConfigType.REQUEST_HEADERS, this._headers);
96
+ }
97
+ catch (e) {
98
+ throw this._httpClient.convertError(e);
99
+ }
94
100
  }
95
101
  // #endregion Constructors (1)
96
102
  // #region Public Accessors (23)
@@ -106,7 +112,12 @@ class SessionEngine {
106
112
  }
107
113
  set bearerToken(value) {
108
114
  this._bearerToken = value;
109
- this._sdk.setConfigurationValue(sdk_geometry_api_sdk_v2_1.ShapeDiverSdkConfigType.JWT_TOKEN, value);
115
+ try {
116
+ this._sdk.setConfigurationValue(sdk_geometry_api_sdk_v2_1.ShapeDiverSdkConfigType.JWT_TOKEN, value);
117
+ }
118
+ catch (e) {
119
+ throw this._httpClient.convertError(e);
120
+ }
110
121
  }
111
122
  get canUploadGLTF() {
112
123
  try {
@@ -286,6 +297,7 @@ class SessionEngine {
286
297
  currentSettings.rendering.toneMappingExposure = settings.rendering.toneMappingExposure;
287
298
  }
288
299
  if (sections.viewport.general) {
300
+ currentSettings.general.defaultMaterialColor = settings.general.defaultMaterialColor;
289
301
  currentSettings.general.commitParameters = settings.general.commitParameters;
290
302
  currentSettings.general.pointSize = settings.general.pointSize;
291
303
  }
@@ -295,6 +307,9 @@ class SessionEngine {
295
307
  currentSettings.environment.clearColor = settings.environment.clearColor;
296
308
  currentSettings.environment.map = settings.environment.map;
297
309
  currentSettings.environment.mapAsBackground = settings.environment.mapAsBackground;
310
+ currentSettings.environment.rotation = settings.environment.rotation;
311
+ currentSettings.environment.blurriness = settings.environment.blurriness;
312
+ currentSettings.environment.intensity = settings.environment.intensity;
298
313
  }
299
314
  }
300
315
  canGoBack() {
@@ -392,10 +407,18 @@ class SessionEngine {
392
407
  for (const parameterId in this.parameters)
393
408
  this.parameterValues[parameterId] = parameterSet[parameterId].valueString;
394
409
  this._logger.info(`Session(${this.id}).customize: Customizing session with parameters ${JSON.stringify(this.parameterValues)}.`);
395
- const eventRequest = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 0.25, data: { sessionId: this.id }, status: 'Sending customization request' };
410
+ const eventRequest = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 0.1, data: { sessionId: this.id }, status: 'Sending customization request' };
396
411
  this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventRequest);
397
- const newNode = yield this.customizeInternal(() => __classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId);
398
- const eventSceneUpdate = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 0.75, data: { sessionId: this.id }, status: 'Updating scene' };
412
+ const newNode = yield this.customizeInternal(() => __classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId, {
413
+ eventId,
414
+ type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
415
+ progressRange: {
416
+ min: 0.1,
417
+ max: 0.9
418
+ },
419
+ data: { sessionId: this.id }
420
+ });
421
+ const eventSceneUpdate = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 0.9, data: { sessionId: this.id }, status: 'Updating scene' };
399
422
  this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventSceneUpdate);
400
423
  // OPTION TO SKIP - PART 2
401
424
  if (__classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId) {
@@ -446,18 +469,31 @@ class SessionEngine {
446
469
  for (let r in this._stateEngine.renderingEngines)
447
470
  if (this._stateEngine.renderingEngines[r].busy.includes(customizationId))
448
471
  this._stateEngine.renderingEngines[r].busy.splice(this._stateEngine.renderingEngines[r].busy.indexOf(customizationId), 1);
449
- throw e;
472
+ throw this._httpClient.convertError(e);
450
473
  }
451
474
  });
452
475
  }
453
476
  customizeParallel(parameterValues) {
454
477
  return __awaiter(this, void 0, void 0, function* () {
478
+ const eventId = this._uuidGenerator.create();
479
+ const eventStart = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 0, data: { sessionId: this.id }, status: 'Customizing session' };
480
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, eventStart);
455
481
  const parameterSet = {};
456
482
  // create a set of the current validated parameter values
457
483
  for (const parameterId in this.parameters)
458
484
  parameterSet[parameterId] = parameterValues[parameterId] !== undefined ? (' ' + parameterValues[parameterId]).slice(1) : this.parameters[parameterId].stringify();
459
- const newNode = yield this.customizeSession(parameterSet, () => false, true);
485
+ const newNode = yield this.customizeSession(parameterSet, () => false, {
486
+ eventId,
487
+ type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION,
488
+ progressRange: {
489
+ min: 0.0,
490
+ max: 1
491
+ },
492
+ data: { sessionId: this.id }
493
+ }, true);
460
494
  newNode.excludeViewports = JSON.parse(JSON.stringify(this._excludeViewports));
495
+ const eventEnd = { type: viewer_shared_types_1.TASK_TYPE.SESSION_CUSTOMIZATION, id: eventId, progress: 1, data: { sessionId: this.id }, status: 'Session customized' };
496
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, eventEnd);
461
497
  return newNode;
462
498
  });
463
499
  }
@@ -519,14 +555,14 @@ class SessionEngine {
519
555
  this._responseDto = yield this._sdk.session.init(this._ticket, parameterSet);
520
556
  this._performanceEvaluator.endSection('sessionResponse');
521
557
  this._viewerSettings = (_a = this._responseDto.viewer) === null || _a === void 0 ? void 0 : _a.config;
522
- this._viewerSettingsVersion = this._responseDto.viewerSettingsVersion || viewer_settings_1.latestVersion;
523
- this._settingsEngine.loadSettings(this._viewerSettings);
558
+ this._viewerSettingsVersionBackend = this._responseDto.viewerSettingsVersion || viewer_settings_1.latestVersion;
524
559
  this._sessionId = this._responseDto.sessionId;
525
560
  this._modelId = (_b = this._responseDto.model) === null || _b === void 0 ? void 0 : _b.id;
526
561
  this._httpClient.addDataLoading(this._sessionId, {
527
562
  getAsset: this._sdk.asset.getAsset.bind(this._sdk.asset),
528
563
  downloadTexture: this._sdk.asset.downloadImage.bind(this._sdk.asset),
529
564
  });
565
+ this._settingsEngine.loadSettings(this._viewerSettings);
530
566
  if (!this._sessionId)
531
567
  throw new viewer_shared_services_1.ShapeDiverViewerSessionError(`Session.init: Initialization of session failed. ResponseDto did not have a sessionId.`);
532
568
  if (!this._modelId)
@@ -548,7 +584,7 @@ class SessionEngine {
548
584
  * @param outputs the outputs to load
549
585
  * @returns promise with a scene graph node
550
586
  */
551
- loadOutputsParallel(responseDto, cancelRequest = () => false, retry = false) {
587
+ loadOutputsParallel(responseDto, cancelRequest = () => false, taskEventInfo, retry = false) {
552
588
  var _a;
553
589
  return __awaiter(this, void 0, void 0, function* () {
554
590
  this.checkAvailability();
@@ -561,7 +597,7 @@ class SessionEngine {
561
597
  outputs[outputId] = new Output_1.Output(responseDto.outputs[outputId], this);
562
598
  }
563
599
  try {
564
- const node = yield this._outputLoader.loadOutputs(((_a = this._responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || 'model', outputs, outputsFreeze);
600
+ const node = yield this._outputLoader.loadOutputs(((_a = this._responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || 'model', outputs, outputsFreeze, taskEventInfo);
565
601
  node.data.push(new SessionData_1.SessionData(responseDto));
566
602
  return node;
567
603
  }
@@ -573,7 +609,7 @@ class SessionEngine {
573
609
  yield this.handleError(e, retry);
574
610
  if (cancelRequest())
575
611
  return new SessionTreeNode_1.SessionTreeNode();
576
- return yield this.loadOutputsParallel(responseDto, cancelRequest, true);
612
+ return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo, true);
577
613
  }
578
614
  if (cancelRequest())
579
615
  return new SessionTreeNode_1.SessionTreeNode();
@@ -585,13 +621,13 @@ class SessionEngine {
585
621
  if (cancelRequest())
586
622
  return new SessionTreeNode_1.SessionTreeNode();
587
623
  this.updateResponseDto(responseDto);
588
- return yield this.loadOutputsParallel(responseDto, cancelRequest);
624
+ return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
589
625
  }
590
626
  catch (e) {
591
627
  yield this.handleError(e, retry);
592
628
  if (cancelRequest())
593
629
  return new SessionTreeNode_1.SessionTreeNode();
594
- return yield this.loadOutputsParallel(responseDto, cancelRequest, true);
630
+ return yield this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo, true);
595
631
  }
596
632
  }
597
633
  });
@@ -604,14 +640,14 @@ class SessionEngine {
604
640
  * @param outputs the outputs to load
605
641
  * @returns promise with a scene graph node
606
642
  */
607
- loadOutputs(cancelRequest = () => false, retry = false) {
643
+ loadOutputs(cancelRequest = () => false, taskEventInfo, retry = false) {
608
644
  var _a;
609
645
  return __awaiter(this, void 0, void 0, function* () {
610
646
  this.checkAvailability();
611
647
  const o = Object.assign({}, this._outputs);
612
648
  const of = Object.assign({}, this._outputsFreeze);
613
649
  try {
614
- const node = yield this._outputLoader.loadOutputs(((_a = this._responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || 'model', o, of);
650
+ const node = yield this._outputLoader.loadOutputs(((_a = this._responseDto.model) === null || _a === void 0 ? void 0 : _a.name) || 'model', o, of, taskEventInfo);
615
651
  node.data.push(new SessionData_1.SessionData(this._responseDto));
616
652
  if (cancelRequest())
617
653
  return node;
@@ -631,7 +667,7 @@ class SessionEngine {
631
667
  yield this.handleError(e, retry);
632
668
  if (cancelRequest())
633
669
  return new SessionTreeNode_1.SessionTreeNode();
634
- return yield this.loadOutputs(cancelRequest, true);
670
+ return yield this.loadOutputs(cancelRequest, taskEventInfo, true);
635
671
  }
636
672
  if (cancelRequest())
637
673
  return new SessionTreeNode_1.SessionTreeNode();
@@ -643,13 +679,13 @@ class SessionEngine {
643
679
  if (cancelRequest())
644
680
  return new SessionTreeNode_1.SessionTreeNode();
645
681
  this.updateResponseDto(responseDto);
646
- return yield this.loadOutputs(cancelRequest);
682
+ return yield this.loadOutputs(cancelRequest, taskEventInfo);
647
683
  }
648
684
  catch (e) {
649
685
  yield this.handleError(e, retry);
650
686
  if (cancelRequest())
651
687
  return new SessionTreeNode_1.SessionTreeNode();
652
- return yield this.loadOutputs(cancelRequest, true);
688
+ return yield this.loadOutputs(cancelRequest, taskEventInfo, true);
653
689
  }
654
690
  }
655
691
  });
@@ -777,6 +813,10 @@ class SessionEngine {
777
813
  this.checkAvailability('configure', true);
778
814
  try {
779
815
  (0, viewer_settings_1.validate)(json, this._viewerSettingsVersion);
816
+ // if viewer settings version is higher than backend settings version
817
+ // convert to backend settings version
818
+ if (+this._viewerSettingsVersion > +this._viewerSettingsVersionBackend)
819
+ json = (0, viewer_settings_1.convert)(json, this._viewerSettingsVersionBackend);
780
820
  }
781
821
  catch (e) {
782
822
  throw new viewer_shared_services_1.ShapeDiverViewerSettingsError('Session.saveSettings: Settings could not be validated. ' + e.message, e);
@@ -827,7 +867,7 @@ class SessionEngine {
827
867
  }
828
868
  const responseO = Object.values(properties).length !== 0 ? yield this.saveOutputProperties(properties) : true;
829
869
  // save partial settings
830
- const response = saveInSettings ? yield this.saveSettings(this._settingsEngine.convertToTargetVersion()) : true;
870
+ const response = saveInSettings ? yield this.saveSettings(this._settingsEngine.settings) : true;
831
871
  if (response && responseP && responseO && responseE) {
832
872
  this._logger.debug(`Session(${this.id}).saveSessionProperties: Saved session properties.`);
833
873
  }
@@ -837,28 +877,40 @@ class SessionEngine {
837
877
  return response && responseP && responseO && responseE;
838
878
  });
839
879
  }
840
- updateOutputs() {
880
+ updateOutputs(taskEventInfo) {
841
881
  return __awaiter(this, void 0, void 0, function* () {
842
- const eventId = this._uuidGenerator.create();
882
+ const eventId = taskEventInfo ? taskEventInfo.eventId : this._uuidGenerator.create();
883
+ const eventType = taskEventInfo ? taskEventInfo.type : viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE;
884
+ const eventData = taskEventInfo ? taskEventInfo.data : { sessionId: this.id };
885
+ if (!taskEventInfo) {
886
+ const eventStart = { type: eventType, id: eventId, progress: 0, data: eventData, status: 'Updating outputs' };
887
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, eventStart);
888
+ }
843
889
  const customizationId = this._uuidGenerator.create();
844
- const eventStart = { type: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE, id: eventId, progress: 0, data: { sessionId: this.id }, status: 'Updating outputs' };
845
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, eventStart);
846
890
  const oldNode = this.node.cloneInstance();
847
891
  __classPrivateFieldSet(this, _SessionEngine_customizationProcess, customizationId, "f");
848
892
  this._logger.debugLow(`Session(${this.id}).updateOutputs: Updating Outputs.`);
849
893
  for (let r in this._stateEngine.renderingEngines)
850
894
  this._stateEngine.renderingEngines[r].busy.push(customizationId);
851
- const eventRequest = { type: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE, id: eventId, progress: 0.25, data: { sessionId: this.id }, status: 'Loading outputs' };
895
+ const eventRequest = { type: eventType, id: eventId, progress: taskEventInfo ? (taskEventInfo.progressRange.max - taskEventInfo.progressRange.min) * 0.1 + taskEventInfo.progressRange.min : 0.1, data: eventData, status: 'Loading outputs' };
852
896
  this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventRequest);
853
- const newNode = yield this.loadOutputs(() => __classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId);
854
- const eventSceneUpdate = { type: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE, id: eventId, progress: 0.75, data: { sessionId: this.id }, status: 'Updating scene' };
897
+ const newNode = yield this.loadOutputs(() => __classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId, {
898
+ eventId,
899
+ type: eventType,
900
+ progressRange: {
901
+ min: taskEventInfo ? (taskEventInfo.progressRange.max - taskEventInfo.progressRange.min) * 0.1 + taskEventInfo.progressRange.min : 0.1,
902
+ max: taskEventInfo ? (taskEventInfo.progressRange.max - taskEventInfo.progressRange.min) * 0.9 + taskEventInfo.progressRange.min : 0.9
903
+ },
904
+ data: eventData
905
+ });
906
+ const eventSceneUpdate = { type: eventType, id: eventId, progress: taskEventInfo ? (taskEventInfo.progressRange.max - taskEventInfo.progressRange.min) * 0.9 + taskEventInfo.progressRange.min : 0.9, data: eventData, status: 'Updating scene' };
855
907
  this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventSceneUpdate);
856
908
  // OPTION TO SKIP - PART 1
857
909
  if (__classPrivateFieldGet(this, _SessionEngine_customizationProcess, "f") !== customizationId) {
858
910
  for (let r in this._stateEngine.renderingEngines)
859
911
  if (this._stateEngine.renderingEngines[r].busy.includes(customizationId))
860
912
  this._stateEngine.renderingEngines[r].busy.splice(this._stateEngine.renderingEngines[r].busy.indexOf(customizationId), 1);
861
- const eventCancel1 = { type: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE, id: eventId, progress: 1, data: { sessionId: this.id }, status: 'Output updating was exceeded by other customization request' };
913
+ const eventCancel1 = { type: eventType, id: eventId, progress: taskEventInfo ? (taskEventInfo.progressRange.max - taskEventInfo.progressRange.min) * 1 + taskEventInfo.progressRange.min : 1, data: eventData, status: 'Output updating was exceeded by other customization request' };
862
914
  this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_CANCEL, eventCancel1);
863
915
  this._logger.debug(`Session(${this.id}).updateOutputs: Output updating was exceeded by other request.`);
864
916
  return newNode;
@@ -884,8 +936,10 @@ class SessionEngine {
884
936
  if (this._stateEngine.renderingEngines[r].busy.includes(customizationId))
885
937
  this._stateEngine.renderingEngines[r].busy.splice(this._stateEngine.renderingEngines[r].busy.indexOf(customizationId), 1);
886
938
  this._logger.debug(`Session(${this.id}).updateOutputs: Updated outputs.`);
887
- const eventEnd = { type: viewer_shared_types_1.TASK_TYPE.SESSION_OUTPUTS_UPDATE, id: eventId, progress: 1, data: { sessionId: this.id }, status: 'Outputs updated' };
888
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, eventEnd);
939
+ if (!taskEventInfo) {
940
+ const eventEnd = { type: eventType, id: eventId, progress: 1, data: eventData, status: 'Outputs updated' };
941
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, eventEnd);
942
+ }
889
943
  return this.node;
890
944
  });
891
945
  }
@@ -1001,12 +1055,12 @@ class SessionEngine {
1001
1055
  if (action && !responseDtoAction)
1002
1056
  throw new viewer_shared_services_1.ShapeDiverViewerSessionError(`Session.checkAvailability: action ${action} not available.`);
1003
1057
  }
1004
- customizeInternal(cancelRequest) {
1058
+ customizeInternal(cancelRequest, taskEventInfo) {
1005
1059
  return __awaiter(this, void 0, void 0, function* () {
1006
- return this.customizeSession(this._parameterValues, cancelRequest);
1060
+ return this.customizeSession(this._parameterValues, cancelRequest, taskEventInfo);
1007
1061
  });
1008
1062
  }
1009
- customizeSession(parameters, cancelRequest, parallel = false, retry = false) {
1063
+ customizeSession(parameters, cancelRequest, taskEventInfo, parallel = false, retry = false) {
1010
1064
  return __awaiter(this, void 0, void 0, function* () {
1011
1065
  this.checkAvailability('customize');
1012
1066
  try {
@@ -1017,13 +1071,13 @@ class SessionEngine {
1017
1071
  return new SessionTreeNode_1.SessionTreeNode();
1018
1072
  if (parallel === false)
1019
1073
  this.updateResponseDto(responseDto);
1020
- return parallel === false ? this.loadOutputs(cancelRequest) : this.loadOutputsParallel(responseDto, cancelRequest);
1074
+ return parallel === false ? this.loadOutputs(cancelRequest, taskEventInfo) : this.loadOutputsParallel(responseDto, cancelRequest, taskEventInfo);
1021
1075
  }
1022
1076
  catch (e) {
1023
1077
  yield this.handleError(e, retry);
1024
1078
  if (cancelRequest())
1025
1079
  return new SessionTreeNode_1.SessionTreeNode();
1026
- return yield this.customizeSession(parameters, cancelRequest, parallel, true);
1080
+ return yield this.customizeSession(parameters, cancelRequest, taskEventInfo, parallel, true);
1027
1081
  }
1028
1082
  });
1029
1083
  }
@@ -1034,6 +1088,8 @@ class SessionEngine {
1034
1088
  // case 1: the session is no longer available
1035
1089
  // we try to re-initialize the session 3 times, if that does not work, we close it
1036
1090
  this._logger.warn(`The session has been closed, trying to re-initialize.`);
1091
+ if (this._sessionId)
1092
+ this._httpClient.removeDataLoading(this._sessionId);
1037
1093
  if (this._retryCounter < 3) {
1038
1094
  // we retry this 3 times, the `retry` option in the init function is set to true and passed on
1039
1095
  this._retryCounter = retry ? this._retryCounter + 1 : 1;
@@ -1047,7 +1103,7 @@ class SessionEngine {
1047
1103
  yield this._closeOnFailure();
1048
1104
  }
1049
1105
  catch (e) { }
1050
- throw e;
1106
+ throw this._httpClient.convertError(e);
1051
1107
  }
1052
1108
  }
1053
1109
  else if (e.error === sdk_geometry_api_sdk_v2_1.ShapeDiverResponseErrorType.JWT_VALIDATION_ERROR) {
@@ -1066,7 +1122,7 @@ class SessionEngine {
1066
1122
  yield this._closeOnFailure();
1067
1123
  }
1068
1124
  catch (e) { }
1069
- throw e;
1125
+ throw this._httpClient.convertError(e);
1070
1126
  }
1071
1127
  }
1072
1128
  else {
@@ -1076,15 +1132,15 @@ class SessionEngine {
1076
1132
  yield this._closeOnFailure();
1077
1133
  }
1078
1134
  catch (e) { }
1079
- throw e;
1135
+ throw this._httpClient.convertError(e);
1080
1136
  }
1081
1137
  }
1082
1138
  else {
1083
- throw e;
1139
+ throw this._httpClient.convertError(e);
1084
1140
  }
1085
1141
  }
1086
1142
  else {
1087
- throw e;
1143
+ throw this._httpClient.convertError(e);
1088
1144
  }
1089
1145
  });
1090
1146
  }
@@ -1149,8 +1205,22 @@ class SessionEngine {
1149
1205
  this.parameters[parameterId] = new Parameter_1.Parameter(this._responseDto.parameters[parameterId], this);
1150
1206
  break;
1151
1207
  }
1152
- if (initialParameters && initialParameters[parameterId] !== undefined)
1153
- this.parameters[parameterId].value = initialParameters[parameterId];
1208
+ // we don't have to do larger restrictions for this as the backend would have already thrown an error if the values were not correct
1209
+ if (initialParameters) {
1210
+ // check if the id is within the initial parameters
1211
+ if (initialParameters[parameterId] !== undefined) {
1212
+ this.parameters[parameterId].value = initialParameters[parameterId];
1213
+ }
1214
+ // check if the name is within the initial parameters
1215
+ else if (initialParameters[this.parameters[parameterId].name] !== undefined) {
1216
+ this.parameters[parameterId].value = initialParameters[this.parameters[parameterId].name];
1217
+ }
1218
+ // NOTE: At some point the checking may also be done with the displayname, this is the code for it
1219
+ // // check if the displayname is within the initial parameters
1220
+ // else if(this.parameters[parameterId].displayname && initialParameters[this.parameters[parameterId].displayname!] !== undefined) {
1221
+ // this.parameters[parameterId].value = initialParameters[this.parameters[parameterId].displayname!];
1222
+ // }
1223
+ }
1154
1224
  parameterSet[parameterId] = {
1155
1225
  value: this.parameters[parameterId].value,
1156
1226
  valueString: this.parameters[parameterId].stringify()
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+EAA0R;AAE1R,iEAA6D;AAC7D,iDAA6C;AAC7C,uDAAmD;AACnD,iEAAgG;AAChG,+CAA2C;AAC3C,iFAA2a;AAG3a,iFAAsF;AACtF,yEAAuE;AACvE,uDAAmD;AAKnD,+CAA2C;AAE3C,yCAAqC;AACrC,yCAAqC;AACrC,iEAAuG;AAEvG,MAAa,aAAa;IAkEtB,6BAA6B;IAE7B,2BAA2B;IAE3B;;;OAGG;IACH,YAAY,UAA4J;QAzExK,0BAA0B;QAET,eAAU,GAAc,kCAAS,CAAC,QAAQ,CAAC;QAC3C,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,aAAQ,GAAgC,EAAE,CAAC;QAC3C,gBAAW,GAAe,mCAAU,CAAC,QAAQ,CAAC;QAE9C,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAGlC,aAAQ,GAAgC,EAAE,CAAC;QAC3C,mBAAc,GAAgC,EAAE,CAAC;QACjD,qBAAgB,GAA+B,EAAE,CAAC;QAClD,gBAAW,GAAwC,EAAE,CAAC;QACtD,0BAAqB,GAAG,6CAAoB,CAAC,QAAQ,CAAC;QACtD,eAAU,GAAU,8BAAI,CAAC,QAAQ,CAAC;QAClC,qBAAgB,GAAG,CAAC,sCAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACrD,oBAAe,GAAmB,IAAI,uCAAc,EAAE,CAAC;QACvD,iBAAY,GAAgB,oCAAW,CAAC,QAAQ,CAAC;QAEjD,mBAAc,GAAG,sCAAa,CAAC,QAAQ,CAAC;QAEjD,0BAAqB,GAAY,IAAI,CAAC;QAEtC,oBAAe,GAAwB,GAAS,EAAE,gDAAG,CAAC,CAAA,CAAC;QAEvD,YAAO,GAAY,KAAK,CAAC;QACzB,gCAA2B,GAAY,KAAK,CAAC;QAC7C,eAAU,GAEd,EAAE,CAAC;QACC,sBAAiB,GAAa,EAAE,CAAC;QACjC,aAAQ,GAAG;YACf,qBAAqB,EAAE,CAAC,mCAAU,CAAC,QAAQ,CAAC,CAAC,MAAM;YACnD,8BAA8B,EAAE,IAAI,CAAC,gBAAgB;YACrD,2BAA2B,EAAE,EAAE;YAC/B,wBAAwB,EAAE,EAAE;SAC/B,CAAC;QACM,iBAAY,GAAY,KAAK,CAAC;QAK9B,kBAAa,GAAG,CAAC,CAAC;QAGlB,oBAAe,GAA8D,IAAI,CAAC;QAElF,2BAAsB,GAAW,+BAAa,CAAC;QAEvD,sDAA+B;QAC/B,0CAKM,EAAE,EAAC;QACT,8CAAwB,KAAK,EAAC;QAC9B,iDAKM,EAAE,EAAC;QAWL,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,kCAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,GAAG,IAAA,gCAAM,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iDAAuB,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,8BAA8B;IAE9B,gCAAgC;IAEhC,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAc;QAC1C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,WAAW,CAAC,KAAyB;QAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iDAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,IAAW,aAAa;QACpB,IAAI;YACA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED,IAAW,0BAA0B;QACjC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED,IAAW,0BAA0B,CAAC,KAAc;QAChD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAW,gBAAgB,CAAC,KAAe;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,IAAW,kBAAkB,CAAC,KAA0C;QACpE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,KAAgE;QACxF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,mCAAmC;IAEnC,8BAA8B;IAEvB,aAAa,CAAC,QAA+B,EAAE,QAA4B;QAC1E,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,QAAQ,CAAC,OAAO,GAAG;gBACf,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC9D,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;aAC9D,CAAC;SACL;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACxC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACnG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClF,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAC/B,QAAQ,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAErH,IAAI,MAAc,CAAC;QACnB,IAA4B,QAAS,CAAC,MAAM,KAAK,SAAS,EAAE;YACxD,MAAM,GAA2B,QAAS,CAAC,MAAO,CAAC,MAAM,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,sDAA6B,CAAC,oDAAoD,CAAC,CAAC;SACjG;QAED,IAAI;YACA,IAAA,0BAAQ,EAAC,MAAM,CAAC,CAAA;SACnB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,sDAA6B,CAAC,gEAAgE,CAAC,CAAC;SAC7G;QAED,MAAM,QAAQ,GAAkB,IAAA,yBAAO,EAAC,MAAM,EAAE,+BAAa,CAAC,CAAC;QAE/D,MAAM,gBAAgB,GAA0C,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YACtG,IAAI,QAAQ,CAAC,OAAO;gBAChB,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO;oBACjC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,SAAS;wBAC5C,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAI,CAAC,GAAG,QAAQ,CAAC;QAE7E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAEtD,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;YACrJ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC7G,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC3F,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;iBAC1G;gBAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;oBAC/C,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;iBAC3K;aACJ;SACJ;QAED,wBAAwB;QACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACxG,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,aAAa,GAAG,CAAC,CAAC;iBACrB;qBAAM;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAChC,IAAI,CAAC,GAAG;wBAAE,SAAS;oBACnB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACrC,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAE,CAAC;iBAC1C;gBACD,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBACjC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;oBACnH,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;oBACjG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;iBAChH;aACJ;SACJ;QAED,oBAAoB;QACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;YACtB,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;SAC5E;QAED,wBAAwB;QACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM;YACxB,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE7C,uBAAuB;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvB,eAAe,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE3C,uBAAuB;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE;YACzB,eAAe,CAAC,mBAAmB,CAAC,SAAS,GAAG,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACvF,eAAe,CAAC,mBAAmB,CAAC,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACjG,eAAe,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACrG,eAAe,CAAC,mBAAmB,CAAC,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;YAC/G,eAAe,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACrG,eAAe,CAAC,mBAAmB,CAAC,sBAAsB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;YAEjH,eAAe,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/D,eAAe,CAAC,SAAS,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAEjF,eAAe,CAAC,SAAS,CAAC,wBAAwB,GAAG,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC;YACjG,eAAe,CAAC,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;YAC/E,eAAe,CAAC,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;YAC7E,eAAe,CAAC,SAAS,CAAC,uBAAuB,GAAG,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAC/F,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;YACvE,eAAe,CAAC,SAAS,CAAC,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;SAC1F;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC3B,eAAe,CAAC,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC7E,eAAe,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;SAClE;QAED,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC/B,eAAe,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;YACzE,eAAe,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;YACzE,eAAe,CAAC,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3D,eAAe,CAAC,WAAW,CAAC,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC;SACtF;IACT,CAAC;IAEM,SAAS;QACZ,uDAAuD;QACvD,uCAAuC;QACvC,OAAO,uBAAA,IAAI,uCAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEM,YAAY;QACf,OAAO,uBAAA,IAAI,8CAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,CAAC;IAEY,KAAK,CAAC,KAAK,GAAG,KAAK;;YAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI;gBACA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;gBACpD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,qBAAqB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACjC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,SAAS,CAAC,QAAiB,KAAK;;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrD,IAAI;gBACA,gCAAgC;gBAChC,IAAI,KAAK,KAAK,KAAK,EAAE;oBACjB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;wBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;4BAChF,OAAO,GAAG,IAAI,CAAC;oBACvB,IAAG,OAAO,KAAK,KAAK;wBAChB,OAAO,IAAI,CAAC,IAAI,CAAC;iBACxB;gBAED,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;gBAChK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1C,uBAAA,IAAI,uCAAyB,eAAe,MAAA,CAAC;gBAE7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;gBAE7E,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;oBAC5C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAErE,MAAM,eAAe,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;gBAC7K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAE1E,MAAM,gBAAgB,GAA8B,EAAE,CAAA;gBACtD,4BAA4B;gBAC5B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;oBACvC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,6BAAa,EAAE;wBACvD,gBAAgB,CAAC,WAAW,CAAC,GAAG,MAAuB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAE,CAAC,MAAM,EAAE,CAAC;wBAE9F,2BAA2B;wBAC3B,IAAI,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;4BAChD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;gCAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oCACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;4BAElI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iFAAiF,CAAC,CAAC;4BAExH,MAAM,aAAa,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,mEAAmE,EAAE,CAAC;4BACjN,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;4BACvE,OAAO,IAAI,iCAAe,EAAE,CAAC;yBAChC;qBACJ;iBACJ;gBAED,2BAA2B;gBAC3B,IAAI,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;oBAChD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;wBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;4BACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;oBAElI,MAAM,aAAa,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,mEAAmE,EAAE,CAAC;oBACjN,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iFAAiF,CAAC,CAAC;oBACxH,OAAO,IAAI,iCAAe,EAAE,CAAC;iBAChC;gBAED,iCAAiC;gBACjC,KAAK,MAAM,WAAW,IAAI,gBAAgB;oBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAEvE,MAAM,YAAY,GAKd,EAAE,CAAC;gBAEP,yDAAyD;gBACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;oBACvC,YAAY,CAAC,WAAW,CAAC,GAAG;wBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;wBACzC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE;qBACxD,CAAA;iBACJ;gBAED,qEAAqE;gBACrE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;oBACrC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEjI,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;gBAC/K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAEvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,2CAAsB,KAAK,eAAe,CAAC,CAAC;gBAEnG,MAAM,gBAAgB,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACpK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAE3E,0BAA0B;gBAC1B,IAAI,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;oBAChD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;wBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;4BACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;oBAElI,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,mEAAmE,EAAE,CAAC;oBAChN,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iFAAiF,CAAC,CAAC;oBACxH,OAAO,OAAO,CAAC;iBAClB;gBAED,qIAAqI;gBACrI,IAAI,CAAC,uBAAA,IAAI,2CAAsB,EAAE;oBAC7B,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1C,uBAAA,IAAI,0CAA4B,EAAE,MAAA,CAAC;iBACtC;gBAED,IAAI,IAAI,CAAC,oBAAoB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,IAAI,CAAC,oBAAoB;oBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE9D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iEAAiE,CAAC,CAAC;gBAExG,+DAA+D;gBAC/D,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;oBAC/B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,YAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAEvF,IAAI,IAAI,CAAC,eAAe;oBAAE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEjE,kDAAkD;gBAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CACnD,CAAC;gBAEN,6BAA6B;gBAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;gBAE1C,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAEhF,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;oBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;gBAEzE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE1F,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;gBAC7J,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE/D,OAAO,IAAI,CAAC,IAAI,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;gBAC1K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAErE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;oBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElI,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAEY,iBAAiB,CAAC,eAA0C;;YACjE,MAAM,YAAY,GAEd,EAAE,CAAC;YAEP,yDAAyD;YACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;gBACrC,YAAY,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAA;YAErK,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7E,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9E,OAAO,OAAO,CAAC;QACvB,CAAC;KAAA;IAEY,MAAM;;YACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;gBAC1E,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YACD,6EAA6E;YAC7E,MAAM,mBAAmB,GAAG,uBAAA,IAAI,uCAAkB,CAAC,GAAG,EAAG,CAAC;YAE1D,4DAA4D;YAC5D,MAAM,gBAAgB,GAAG,uBAAA,IAAI,uCAAkB,CAAC,uBAAA,IAAI,uCAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnF,KAAK,MAAM,WAAW,IAAI,gBAAgB;gBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAE7E,kFAAkF;YAClF,uBAAA,IAAI,uCAAyB,IAAI,MAAA,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,uBAAA,IAAI,uCAAyB,KAAK,MAAA,CAAC;YAEnC,6EAA6E;YAC7E,uBAAA,IAAI,8CAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEY,SAAS;;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,yCAAyC,CAAC,CAAC;gBAChF,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YACD,2EAA2E;YAC3E,MAAM,gBAAgB,GAAG,uBAAA,IAAI,8CAAyB,CAAC,GAAG,EAAG,CAAC;YAC9D,KAAK,MAAM,WAAW,IAAI,gBAAgB;gBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAE7E,kFAAkF;YAClF,uBAAA,IAAI,uCAAyB,IAAI,MAAA,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,uBAAA,IAAI,uCAAyB,KAAK,MAAA,CAAC;YAEnC,+CAA+C;YAC/C,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED;;;;OAIG;IACU,IAAI,CAAC,eAEjB,EAAE,KAAK,GAAG,KAAK;;;YACZ,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;gBAC1B,MAAM,IAAI,qDAA4B,CAAC,4CAA4C,CAAC,CAAC;YAEzF,IAAI;gBACA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAE3D,MAAM,YAAY,GAA8B,EAAE,CAAC;gBACnD,KAAK,MAAM,WAAW,IAAI,eAAe;oBACrC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE9E,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAEzD,IAAI,CAAC,eAAe,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,0CAAE,MAAM,CAAC;gBACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,IAAI,+BAAa,CAAC;gBACvF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC9C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,KAAK,0CAAE,EAAE,CAAC;gBAE5C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAW,EAAE;oBAC9C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACxD,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvE,CAAC,CAAA;gBAEF,IAAI,CAAC,IAAI,CAAC,UAAU;oBAChB,MAAM,IAAI,qDAA4B,CAAC,uFAAuF,CAAC,CAAA;gBACnI,IAAI,CAAC,IAAI,CAAC,QAAQ;oBACd,MAAM,IAAI,qDAA4B,CAAC,sFAAsF,CAAC,CAAA;gBAElI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACjD;;KACJ;IAGD;;;;;;;OAOG;IACW,mBAAmB,CAAC,WAAkC,EAAE,gBAA+B,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;;;YAC3H,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,OAAO,GAEP,EAAE,CAAA;YACN,IAAI,aAAa,GAEb,EAAE,CAAA;YAEN,KAAK,IAAI,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;gBAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS;oBAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAChF,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAA2B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;aACjG;YAED,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA,MAAA,IAAI,CAAC,YAAa,CAAC,KAAK,0CAAE,IAAI,KAAI,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBACrH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,YAAY,2CAAoB,EAAE;oBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBAAM;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBAC3E;gBAED,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,IAAI,aAAa,GAA8B,EAAE,CAAC;gBAClD,KAAK,IAAI,MAAM,IAAI,OAAO;oBACtB,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAEpD,IAAI;oBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,EAAE,aAAa,CAAC,CAAC;oBACrF,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACpC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;iBACrE;gBAAC,OAAO,CAAC,EAAE;oBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBAC3E;aACJ;;KACJ;IAED;;;;;;;OAOG;IACU,WAAW,CAAC,gBAA+B,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;;;YAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA,MAAA,IAAI,CAAC,YAAa,CAAC,KAAK,0CAAE,IAAI,KAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC,CAAC;gBAEpD,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,CAAC;gBAEjC,IAAI,IAAI,CAAC,qBAAqB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,qBAAqB;oBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEhE,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAEhF,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,YAAY,2CAAoB,EAAE;oBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBAAM;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;iBACtD;gBAED,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,IAAI,aAAa,GAA8B,EAAE,CAAC;gBAClD,KAAK,IAAI,MAAM,IAAI,CAAC;oBAChB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAE9C,IAAI;oBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,EAAE,aAAa,CAAC,CAAC;oBACrF,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBAChD;gBAAC,OAAO,CAAC,EAAE;oBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;iBACtD;aACJ;;KACJ;IAEY,aAAa,CAAC,QAAgB,EAAE,UAAqC,EAAE,WAAmB,EAAE,KAAK,GAAG,KAAK;;YAClH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI;gBACA,MAAM,YAAY,GAA8B,EAAE,CAAC;gBACnD,KAAK,MAAM,WAAW,IAAI,UAAU;oBAChC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC,CAAA;gBACnK,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;IAEM,aAAa,CAAC,QAA4B;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY;YAClB,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAE5F,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,QAAQ,CAAC,OAAO,GAAG;gBACf,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3D,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;aAC3D,CAAC;SACL;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACxC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/F,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/E,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAC/B,QAAQ,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE/G,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEY,0BAA0B;;YAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,qDAAqD,CAAC,CAAC;YAC/F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,CAAC,CAAC;aAC9F;iBAAM;gBACH,MAAM,IAAI,qDAA4B,CAAC,WAAW,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;aAC3H;YACD,OAAO,QAAQ,CAAC;QACxB,CAAC;KAAA;IAEY,qBAAqB,CAAC,KAAK,GAAG,KAAK;;YAC5C,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC7E,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aACjD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,oBAAoB,CAAC,OAOjC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACzD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,oBAAoB,CAAC,OAOjC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACzD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,uBAAuB,CAAC,UAOpC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAS,EAAE,UAAU,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aAC/D;QACL,CAAC;KAAA;IAEY,YAAY,CAAC,IAAS,EAAE,KAAK,GAAG,KAAK;;YAC9C,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI;gBACA,IAAA,0BAAQ,EAAC,IAAI,EAAY,IAAI,CAAC,sBAAsB,CAAC,CAAA;aACxD;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,sDAA6B,CAAC,yDAAyD,GAAW,CAAE,CAAC,OAAO,EAAS,CAAC,CAAC,CAAC;aACrI;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C;QACL,CAAC;KAAA;IAEY,gBAAgB,CAAC,iBAA0B,IAAI;;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,qDAAqD,CAAC,CAAC;YAE/F,mBAAmB;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,UAAU,GAOV,EAAE,CAAC;YACP,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC3B,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAChG,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBACnF,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBAC7E,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACvF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjH,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAC1F,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC7E,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACjF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9G,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAC1F,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC7E,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACjF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9G,wBAAwB;YACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhH,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE;gBACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,CAAC,CAAC;aAC9F;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;aACtG;YACD,OAAO,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC;QAC/D,CAAC;KAAA;IAEY,aAAa;;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YAC9J,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,uBAAA,IAAI,uCAAyB,eAAe,MAAA,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAC;YAE9E,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;gBAC5C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAErE,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YAClK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,2CAAsB,KAAK,eAAe,CAAC,CAAC;YAE7F,MAAM,gBAAgB,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACrK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAE3E,0BAA0B;YAC1B,IAAI,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;gBAChD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;oBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElI,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,6DAA6D,EAAE,CAAC;gBAC3M,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iEAAiE,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC;aAClB;YAED,IAAI,IAAI,CAAC,oBAAoB;gBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,IAAI,IAAI,CAAC,oBAAoB;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,gEAAgE,CAAC,CAAC;YAEvG,IAAI,IAAI,CAAC,eAAe;gBAAE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjE,kDAAkD;YAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CACnD,CAAC;aACL;YAED,6BAA6B;YAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;YAE1C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEhF,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB;gBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACpE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YAElI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAE1E,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YAC3J,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE/D,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KAAA;IAEY,UAAU,CAAC,WAAmB,EAAE,IAAU,EAAE,IAAY,EAAE,KAAK,GAAG,KAAK;;YAChF,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI;gBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAW,EAAE;oBACrE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACnD,CAAC,CAAA;gBAEF,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBACnG,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC7E,OAAO,SAAS,CAAC,EAAE,CAAC;iBACvB;qBAAM;oBACH,MAAM,IAAI,qDAA4B,CAAC,+DAA+D,CAAC,CAAC;iBAC3G;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC/D;QACL,CAAC;KAAA;IAEY,UAAU,CAAC,IAAU,EAAE,aAAyD,oEAA0C,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;;YACvJ,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI;gBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;gBAC7H,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;oBAC3D,MAAM,IAAI,qDAA4B,CAAC,+DAA+D,CAAC,CAAC;gBAC5G,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;aACxD;QACL,CAAC;KAAA;IAED,iCAAiC;IAEjC,8BAA8B;IAEtB,oBAAoB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,iBAAiB,GAMnB,EAAE,CAAC;QACP,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE;YACtB,iBAAiB,CAAC,CAAC,CAAC,GAAG;gBACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC/B,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBAC5C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM;aAC/B,CAAA;SACJ;QACD,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;YACnB,iBAAiB,CAAC,CAAC,CAAC,GAAG;gBACnB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC5B,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;aAC5B,CAAA;SACJ;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAEjD,IAAI,cAAc,GAAc,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QAC7D,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAC3D;IACL,CAAC;IAEO,eAAe;QACnB,kDAAkD;QAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,OAAO,GAAW,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;gBAC1B,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAK,kEAAwC,CAAC,OAAO;gBACnI,OAAO,IAAI,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,kEAAwC,CAAC,OAAO;gBAC3I,OAAO,IAAI,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAC1F,IAAI,OAAO;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;SAC7D;QAED,6BAA6B;QAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,OAAO,GAAW,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;gBAC1B,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAK,kEAAwC,CAAC,OAAO;gBACnI,OAAO,IAAI,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,kEAAwC,CAAC,OAAO;gBAC3I,OAAO,IAAI,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAC1F,IAAI,OAAO;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;SAC7D;IACL,CAAC;IAEO,iBAAiB,CAAC,MAAe,EAAE,eAAe,GAAG,KAAK;;QAC9D,IAAI,CAAC,IAAI,CAAC,YAAY;YAClB,MAAM,IAAI,qDAA4B,CAAC,uDAAuD,CAAC,CAAC;QAEpG,IAAI,CAAC,IAAI,CAAC,UAAU;YAChB,MAAM,IAAI,qDAA4B,CAAC,qDAAqD,CAAC,CAAC;QAElG,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ;YACjC,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAEhG,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO;YACpC,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAEhG,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAClF,IAAI,MAAM,IAAI,CAAC,iBAAiB;YAC5B,MAAM,IAAI,qDAA4B,CAAC,qCAAqC,MAAM,iBAAiB,CAAC,CAAC;IAC7G,CAAC;IAEa,iBAAiB,CAAC,aAA4B;;YACxD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACvE,CAAC;KAAA;IAEa,gBAAgB,CAAC,UAAqC,EAAE,aAA4B,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK;;YAC/H,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI;gBACA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,UAAU,CAAC,CAAC;gBACjH,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACzD,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,IAAI,QAAQ,KAAK,KAAK;oBAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC5D,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;aACtH;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aACjF;QACL,CAAC;KAAA;IAEa,WAAW,CAAC,CAAmE,EAAE,KAAK,GAAG,KAAK;;YACxG,IAAI,CAAC,YAAY,iDAAuB,EAAE;gBACtC,IAAI,CAAC,CAAC,KAAK,KAAK,qDAA2B,CAAC,kBAAkB,EAAE;oBAC5D,6CAA6C;oBAC7C,kFAAkF;oBAElF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;oBAE3E,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;wBACxB,+FAA+F;wBAC/F,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACH,kDAAkD;wBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;wBAC/G,IAAI;4BAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;yBAAE;wBAAC,OAAO,CAAC,EAAE,GAAG;wBACnD,MAAM,CAAC,CAAC;qBACX;iBACJ;qBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,qDAA2B,CAAC,oBAAoB,EAAE;oBACrE,qEAAqE;oBACrE,oFAAoF;oBACpF,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;wBACxB,IAAI,IAAI,CAAC,mBAAmB,EAAE;4BAC1B,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;yBACzD;6BAAM;4BACH,sDAAsD;4BACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;4BAC3F,IAAI;gCAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;6BAAE;4BAAC,OAAO,CAAC,EAAE,GAAG;4BACnD,MAAM,CAAC,CAAC;yBACX;qBACJ;yBAAM;wBACH,kDAAkD;wBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;wBAC/G,IAAI;4BAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;yBAAE;wBAAC,OAAO,CAAC,EAAE,GAAG;wBACnD,MAAM,CAAC,CAAC;qBACX;iBACJ;qBAAM;oBACH,MAAM,CAAC,CAAC;iBACX;aACJ;iBAAM;gBACH,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACW,OAAO,CAAC,EAAU;;YAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEO,iBAAiB,CAAC,WAAkC,EAAE,iBAE7D;QACG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,OAAO;SACV;QAED,qBAAqB;QACrB,IAAI,WAAW,CAAC,UAAU,EAAE;YACxB,KAAK,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,EAAE;gBAC5C,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;aAChI;SACJ;QAED,kBAAkB;QAClB,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,KAAK,IAAI,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC5D,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACxI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC3E;SACJ;QAED,kBAAkB;QAClB,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,KAAK,IAAI,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACtC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC5D,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACxI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC3E;SACJ;QAED,MAAM,YAAY,GAKd,EAAE,CAAC;QAEP,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,SAAS;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC;YAE3D,QAAQ,IAAI,EAAE;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,IAAI;oBACvE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAU,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvG,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,KAAK;oBACxE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAgB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC7G,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,IAAI;oBACvE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBAClG,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,+BAAc,CAAC,GAAG;oBACpS,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtG,MAAM;gBACV;oBACI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtG,MAAM;aACb;YAED,IAAG,iBAAiB,IAAI,iBAAiB,CAAC,WAAW,CAAC,KAAK,SAAS;gBAChE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAEvE,YAAY,CAAC,WAAW,CAAC,GAAG;gBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;gBACzC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE;aACxD,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,WAAW;gBACjB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;SACjF;QAED,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,gEAAsC,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,gEAAsC,CAAC,QAAQ,EAAE;gBAC3L,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;iBAClF;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;iBACrF;aACJ;SACJ;QAED,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC5C,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;gBAClD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBACrF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAA2B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;aAC5G;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAA2B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;aAC/G;SACJ;IACL,CAAC;IAEO,cAAc,CAAC,IAAe;QAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAEO,mBAAmB,CAAC,IAAe;QACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;CAIJ;AA1yCD,sCA0yCC"}
1
+ {"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}