@sapui5/sap.fe.core 1.136.11 → 1.136.13

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 (44) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppStateHandler.js +8 -2
  4. package/src/sap/fe/core/AppStateHandler.ts +9 -1
  5. package/src/sap/fe/core/TemplateComponent.js +1 -1
  6. package/src/sap/fe/core/TemplateComponent.ts +1 -3
  7. package/src/sap/fe/core/controllerextensions/EditFlow.js +73 -23
  8. package/src/sap/fe/core/controllerextensions/EditFlow.ts +113 -43
  9. package/src/sap/fe/core/controllerextensions/InternalRouting.js +7 -4
  10. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +8 -5
  11. package/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  12. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +1 -0
  13. package/src/sap/fe/core/controllerextensions/Routing.js +6 -2
  14. package/src/sap/fe/core/controllerextensions/Routing.ts +4 -1
  15. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +8 -1
  16. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +8 -0
  17. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.js +2 -1
  18. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.ts +1 -0
  19. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +6 -5
  20. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +15 -5
  21. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +29 -1
  22. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.tsx +32 -0
  23. package/src/sap/fe/core/converters/controls/Common/Action.js +3 -2
  24. package/src/sap/fe/core/converters/controls/Common/Action.ts +2 -1
  25. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +31 -36
  26. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +47 -57
  27. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +4 -3
  28. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +3 -2
  29. package/src/sap/fe/core/formatters/FPMFormatter.js +2 -2
  30. package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
  31. package/src/sap/fe/core/fpm/manifest.json +1 -1
  32. package/src/sap/fe/core/helpers/ModelHelper.js +4 -1
  33. package/src/sap/fe/core/helpers/ModelHelper.ts +4 -1
  34. package/src/sap/fe/core/library.js +1 -1
  35. package/src/sap/fe/core/messagebundle_da.properties +1 -1
  36. package/src/sap/fe/core/messagebundle_ko.properties +3 -3
  37. package/src/sap/fe/core/messagebundle_uk.properties +2 -2
  38. package/src/sap/fe/core/messagebundle_vi.properties +4 -4
  39. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  40. package/src/sap/fe/core/rootView/Fcl.controller.ts +6 -1
  41. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +17 -29
  42. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +23 -26
  43. package/src/sap/fe/core/services/RoutingServiceFactory.js +9 -5
  44. package/src/sap/fe/core/services/RoutingServiceFactory.ts +12 -6
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ui/core/Lib", "sap/ui/core/service/Service", "sap/ui/core/service/ServiceFactory"], function (Log, Library, Service, ServiceFactory) {
5
+ sap.ui.define(["sap/base/Log", "sap/ui/core/service/Service", "sap/ui/core/service/ServiceFactory"], function (Log, Service, ServiceFactory) {
6
6
  "use strict";
7
7
 
8
8
  function __ui5_require_async(path) {
@@ -139,37 +139,25 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Lib", "sap/ui/core/service/Service",
139
139
  }
140
140
  };
141
141
  _proto.getDesignTimeCard = async function getDesignTimeCard(cardType) {
142
- var _this2 = this;
143
- return new Promise((resolve, reject) => {
144
- Library.load({
145
- name: "sap/cards/ap/common"
146
- }).then(() => {
147
- sap.ui.require(["sap/cards/ap/common/services/RetrieveCard"], async function () {
148
- for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
149
- params[_key2] = arguments[_key2];
150
- }
151
- const retrieveCard = params[0];
152
- let generatedManifest;
153
- const appComponent = _this2.appComponent;
154
- try {
155
- generatedManifest = await retrieveCard.getObjectPageCardManifestForPreview(appComponent, {
156
- cardType: cardType
157
- });
158
- } catch (error) {
159
- Log.error(error);
160
- }
161
- resolve(generatedManifest);
162
- });
163
- return;
164
- }).catch(function (error) {
165
- Log.error(error);
166
- reject();
142
+ const retrieveCardModule = await __ui5_require_async("sap/cards/ap/common/services/RetrieveCard");
143
+ const retrieveCard = retrieveCardModule;
144
+ const appComponent = this.appComponent;
145
+ let manifest;
146
+ try {
147
+ manifest = await retrieveCard.getObjectPageCardManifestForPreview(appComponent, {
148
+ cardType
167
149
  });
168
- });
150
+ } catch (error) {
151
+ const message = error instanceof Error ? error.message : String(error);
152
+ Log.error(`Failed to get design time card manifest: ${message}`);
153
+ }
154
+ return manifest;
169
155
  };
170
156
  _proto.publishCard = function publishCard(card) {
157
+ const sapAppSection = card["sap.app"];
158
+ const publishedId = sapAppSection?.id ?? "UNKNOWN_CARD_ID";
171
159
  this.channel.publishCard(this.id, {
172
- id: card["sap.app"].id,
160
+ id: publishedId,
173
161
  descriptorContent: card
174
162
  }, "*");
175
163
  };
@@ -199,4 +187,4 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Lib", "sap/ui/core/service/Service",
199
187
  _exports = CollaborationManagerServiceFactory;
200
188
  return _exports;
201
189
  }, false);
202
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UiLCJfU2VydmljZSIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX19pbXBsZW1lbnRzX19zYXBfaW5zaWdodHNfSUNhcmRQcm92aWRlciIsInJlZ2lzdGVyZWQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiaW5pdCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhcHBDb21wb25lbnQiLCJnZXRDb250ZXh0Iiwic2NvcGVPYmplY3QiLCJnZXRDYXJkc0NoYW5uZWwiLCJkZWZhdWx0IiwiY2FyZEhlbHBlciIsIl9fdWk1X3JlcXVpcmVfYXN5bmMiLCJzZXJ2aWNlIiwiZ2V0U2VydmljZUFzeW5jIiwiY29ubmVjdCIsInByb3ZpZGVySWQiLCJvblJldHJpZXZlQXZhaWxhYmxlQ2FyZHMiLCJjaGFubmVsIiwiaXNFbmFibGVkIiwiaWQiLCJjb25zdW1lcnMiLCJzaGFyZWRDYXJkcyIsInJlZ2lzdGVyUHJvdmlkZXIiLCJ1cGRhdGVDb25zdW1lcnMiLCJlcnJvciIsIkxvZyIsImRlYnVnIiwib25Db25zdW1lckNvbm5lY3RlZCIsInNoYXJlQXZhaWxhYmxlQ2FyZHMiLCJPYmplY3QiLCJrZXlzIiwib25Db25zdW1lckRpc2Nvbm5lY3RlZCIsIm9uQ2FyZFJlcXVlc3RlZCIsImNvbnN1bWVySWQiLCJjYXJkSWQiLCJjYXJkIiwiZmluZCIsImNhbGxiYWNrIiwib25WaWV3VXBkYXRlIiwiYWN0aXZlIiwidW5yZWdpc3RlclByb3ZpZGVyIiwidW5yZWdpc3RlciIsInVuZGVmaW5lZCIsInB1Ymxpc2hBdmFpbGFibGVDYXJkcyIsImFkZENhcmRzVG9Db2xsYWJvcmF0aW9uTWFuYWdlciIsImNhcmRzIiwicGFyZW50QXBwSWQiLCJlbnRyaWVzIiwicHVzaCIsInRpdGxlIiwiZ2V0RGVzaWduVGltZUNhcmQiLCJjYXJkVHlwZSIsIl90aGlzMiIsInJlamVjdCIsIkxpYnJhcnkiLCJsb2FkIiwibmFtZSIsInRoZW4iLCJzYXAiLCJ1aSIsInJlcXVpcmUiLCJfbGVuMiIsInBhcmFtcyIsIl9rZXkyIiwicmV0cmlldmVDYXJkIiwiZ2VuZXJhdGVkTWFuaWZlc3QiLCJnZXRPYmplY3RQYWdlQ2FyZE1hbmlmZXN0Rm9yUHJldmlldyIsImNhdGNoIiwicHVibGlzaENhcmQiLCJkZXNjcmlwdG9yQ29udGVudCIsIlNlcnZpY2UiLCJDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2VGYWN0b3J5IiwiX1NlcnZpY2VGYWN0b3J5IiwiYXBwbHkiLCJfcHJvdG8yIiwiY3JlYXRlSW5zdGFuY2UiLCJvU2VydmljZUNvbnRleHQiLCJpbnN0YW5jZSIsImdldEluc3RhbmNlIiwiU2VydmljZUZhY3RvcnkiLCJzZXJ2aWNlQ2xhc3MiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZUZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSBSZXRyaWV2ZUNhcmQgZnJvbSBcInNhcC9jYXJkcy9hcC9jb21tb24vc2VydmljZXMvUmV0cmlldmVDYXJkXCI7XG5pbXBvcnQgdHlwZSB7IFJldHJpZXZlQ2FyZFR5cGUgfSBmcm9tIFwic2FwL2NhcmRzL2FwL2NvbW1vbi9zZXJ2aWNlcy9SZXRyaWV2ZUNhcmRcIjtcbmltcG9ydCB0eXBlIHsgQ2FyZE1hbmlmZXN0IH0gZnJvbSBcInNhcC9pbnNpZ2h0cy9DYXJkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDYXJkc0NoYW5uZWwgZnJvbSBcInNhcC9pbnNpZ2h0cy9DYXJkc0NoYW5uZWxcIjtcbmltcG9ydCB0eXBlIHsgSUNhcmRQcm92aWRlciwgU2hhcmVkQ2FyZCB9IGZyb20gXCJzYXAvaW5zaWdodHMvQ2FyZHNDaGFubmVsXCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgU2VydmljZSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlXCI7XG5pbXBvcnQgU2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgU2VydmljZUNvbnRleHQgfSBmcm9tIFwidHlwZXMvbWV0YW1vZGVsX3R5cGVzXCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcIi4uL0FwcENvbXBvbmVudFwiO1xuXG50eXBlIENvbGxhYm9yYXRpb25NYW5hZ2VyU2V0dGluZ3MgPSB7fTtcblxuZXhwb3J0IHR5cGUgV3JhcHBlZENhcmQgPSBQaWNrPE5vbk51bGxhYmxlPFNoYXJlZENhcmQ+LCBcImNhcmRcIiB8IFwidGl0bGVcIiB8IFwiY2FsbGJhY2tcIj47XG5cbmV4cG9ydCBjbGFzcyBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UgZXh0ZW5kcyBTZXJ2aWNlPENvbGxhYm9yYXRpb25NYW5hZ2VyU2V0dGluZ3M+IGltcGxlbWVudHMgSUNhcmRQcm92aWRlciB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2U+O1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2Vcblx0X19pbXBsZW1lbnRzX19zYXBfaW5zaWdodHNfSUNhcmRQcm92aWRlciA9IHRydWU7XG5cblx0cHJpdmF0ZSBjaGFubmVsITogQ2FyZHNDaGFubmVsO1xuXG5cdHByaXZhdGUgaWQhOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBjb25zdW1lcnMhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcblxuXHRwcml2YXRlIG9uUmV0cmlldmVBdmFpbGFibGVDYXJkcz86ICgpID0+IFByb21pc2U8dm9pZD47XG5cblx0cHJpdmF0ZSBzaGFyZWRDYXJkcyE6IFNoYXJlZENhcmRbXTtcblxuXHRwcml2YXRlIHJlZ2lzdGVyZWQgPSBmYWxzZTtcblxuXHRwcml2YXRlIGFwcENvbXBvbmVudCE6IEFwcENvbXBvbmVudDtcblxuXHRpbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuXHRcdFx0dGhpcy5hcHBDb21wb25lbnQgPSB0aGlzLmdldENvbnRleHQoKS5zY29wZU9iamVjdCBhcyBBcHBDb21wb25lbnQ7XG5cdFx0XHRyZXNvbHZlKHRoaXMpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBnZXRDYXJkc0NoYW5uZWwoKTogUHJvbWlzZTxDYXJkc0NoYW5uZWw+IHtcblx0XHRjb25zdCB7IGRlZmF1bHQ6IGNhcmRIZWxwZXIgfSA9IGF3YWl0IGltcG9ydChcInNhcC9pbnNpZ2h0cy9DYXJkSGVscGVyXCIpO1xuXHRcdGNvbnN0IHNlcnZpY2UgPSBhd2FpdCBjYXJkSGVscGVyLmdldFNlcnZpY2VBc3luYyhcIlVJU2VydmljZVwiKTtcblx0XHRyZXR1cm4gc2VydmljZS5nZXRDYXJkc0NoYW5uZWwoKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBjb25uZWN0KHByb3ZpZGVySWQ6IHN0cmluZywgb25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzOiAoKSA9PiBQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTxDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2U+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgY2hhbm5lbCA9IGF3YWl0IHRoaXMuZ2V0Q2FyZHNDaGFubmVsKCk7XG5cdFx0XHRpZiAoY2hhbm5lbC5pc0VuYWJsZWQoKSkge1xuXHRcdFx0XHR0aGlzLm9uUmV0cmlldmVBdmFpbGFibGVDYXJkcyA9IG9uUmV0cmlldmVBdmFpbGFibGVDYXJkcztcblx0XHRcdFx0dGhpcy5jaGFubmVsID0gY2hhbm5lbDtcblx0XHRcdFx0dGhpcy5pZCA9IHByb3ZpZGVySWQ7XG5cdFx0XHRcdHRoaXMuY29uc3VtZXJzID0ge307XG5cdFx0XHRcdHRoaXMuc2hhcmVkQ2FyZHMgPSBbXTtcblx0XHRcdFx0aWYgKHRoaXMucmVnaXN0ZXJlZCAhPT0gdHJ1ZSkge1xuXHRcdFx0XHRcdGF3YWl0IHRoaXMucmVnaXN0ZXJQcm92aWRlcigpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMudXBkYXRlQ29uc3VtZXJzKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcblx0XHRcdExvZy5kZWJ1ZyhcIkNvbGxhYm9yYXRpb24gTWFuYWdlciBjb25uZWN0aW9uIGZhaWxlZFwiLCBlcnJvciBhcyBFcnJvciB8IHN0cmluZyk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIG9uQ29uc3VtZXJDb25uZWN0ZWQoaWQ6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XG5cdFx0aWYgKCF0aGlzLmNvbnN1bWVyc1tpZF0pIHtcblx0XHRcdHRoaXMuY29uc3VtZXJzW2lkXSA9IHRydWU7XG5cdFx0XHRhd2FpdCB0aGlzLm9uUmV0cmlldmVBdmFpbGFibGVDYXJkcz8uKCk7XG5cdFx0XHR0aGlzLnNoYXJlQXZhaWxhYmxlQ2FyZHMoaWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKE9iamVjdC5rZXlzKHRoaXMuY29uc3VtZXJzKS5sZW5ndGgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIG9uQ29uc3VtZXJEaXNjb25uZWN0ZWQoaWQ6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XG5cdFx0aWYgKHRoaXMuY29uc3VtZXJzW2lkXSkge1xuXHRcdFx0ZGVsZXRlIHRoaXMuY29uc3VtZXJzW2lkXTtcblx0XHR9XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShPYmplY3Qua2V5cyh0aGlzLmNvbnN1bWVycykubGVuZ3RoKTtcblx0fVxuXG5cdHB1YmxpYyBvbkNhcmRSZXF1ZXN0ZWQoY29uc3VtZXJJZDogc3RyaW5nLCBjYXJkSWQ6IHN0cmluZyk6IFNoYXJlZENhcmQge1xuXHRcdGNvbnN0IGNhcmQgPSB0aGlzLnNoYXJlZENhcmRzLmZpbmQoKGNhcmQpID0+IGNhcmQ/LmlkID09PSBjYXJkSWQpO1xuXHRcdGNhcmQ/LmNhbGxiYWNrPy4oY2FyZC5jYXJkKTtcblx0XHRyZXR1cm4gY2FyZDtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBvblZpZXdVcGRhdGUoYWN0aXZlOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Ly8gcmVnaXN0ZXIgLyB1bnJlZ2lzdGVyIGlmIHRoZSBzdGF0dXMgb2YgdGhlIGhvbWUgcGFnZSBjaGFuZ2VkXG5cdFx0aWYgKHRoaXMucmVnaXN0ZXJlZCAhPT0gYWN0aXZlKSB7XG5cdFx0XHRpZiAoYWN0aXZlKSB7XG5cdFx0XHRcdGF3YWl0IHRoaXMucmVnaXN0ZXJQcm92aWRlcigpO1xuXHRcdFx0XHR0aGlzLnVwZGF0ZUNvbnN1bWVycygpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YXdhaXQgdGhpcy51bnJlZ2lzdGVyUHJvdmlkZXIoKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHRoaXMucmVnaXN0ZXJlZCkge1xuXHRcdFx0dGhpcy51cGRhdGVDb25zdW1lcnMoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJlZ2lzdGVyUHJvdmlkZXIoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuY2hhbm5lbCkge1xuXHRcdFx0YXdhaXQgdGhpcy5jaGFubmVsLnJlZ2lzdGVyUHJvdmlkZXIodGhpcy5pZCwgdGhpcyk7XG5cdFx0XHR0aGlzLnJlZ2lzdGVyZWQgPSB0cnVlO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBhc3luYyB1bnJlZ2lzdGVyUHJvdmlkZXIoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuY2hhbm5lbCkge1xuXHRcdFx0YXdhaXQgdGhpcy5jaGFubmVsLnVucmVnaXN0ZXIodGhpcy5pZCk7XG5cdFx0XHR0aGlzLnJlZ2lzdGVyZWQgPSBmYWxzZTtcblx0XHRcdHRoaXMuY29uc3VtZXJzID0ge307XG5cdFx0XHR0aGlzLnNoYXJlZENhcmRzID0gW107XG5cdFx0XHR0aGlzLm9uUmV0cmlldmVBdmFpbGFibGVDYXJkcyA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZUNvbnN1bWVycygpOiB2b2lkIHtcblx0XHR0aGlzLnNoYXJlQXZhaWxhYmxlQ2FyZHMoKTtcblx0fVxuXG5cdHB1YmxpYyBzaGFyZUF2YWlsYWJsZUNhcmRzKGNvbnN1bWVySWQgPSBcIipcIik6IHZvaWQge1xuXHRcdHRoaXM/LmNoYW5uZWw/LnB1Ymxpc2hBdmFpbGFibGVDYXJkcyh0aGlzLmlkLCB0aGlzLnNoYXJlZENhcmRzLCBjb25zdW1lcklkKTtcblx0fVxuXG5cdHB1YmxpYyBhZGRDYXJkc1RvQ29sbGFib3JhdGlvbk1hbmFnZXIoY2FyZHM6IFJlY29yZDxzdHJpbmcsIFdyYXBwZWRDYXJkPiwgcGFyZW50QXBwSWQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuc2hhcmVkQ2FyZHMgPSBbXTtcblx0XHRmb3IgKGNvbnN0IFtpZCwgY2FyZF0gb2YgT2JqZWN0LmVudHJpZXMoY2FyZHMpKSB7XG5cdFx0XHR0aGlzLnNoYXJlZENhcmRzLnB1c2goe1xuXHRcdFx0XHRpZDogaWQsXG5cdFx0XHRcdHRpdGxlOiBjYXJkLnRpdGxlLFxuXHRcdFx0XHRwYXJlbnRBcHBJZDogcGFyZW50QXBwSWQsXG5cdFx0XHRcdGNhbGxiYWNrOiBjYXJkLmNhbGxiYWNrLFxuXHRcdFx0XHRjYXJkOiBjYXJkLmNhcmRcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXREZXNpZ25UaW1lQ2FyZChjYXJkVHlwZTogUmV0cmlldmVDYXJkVHlwZSk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0TGlicmFyeS5sb2FkKHsgbmFtZTogXCJzYXAvY2FyZHMvYXAvY29tbW9uXCIgfSlcblx0XHRcdFx0LnRoZW4oKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdHNhcC51aS5yZXF1aXJlKFtcInNhcC9jYXJkcy9hcC9jb21tb24vc2VydmljZXMvUmV0cmlldmVDYXJkXCJdLCBhc3luYyAoLi4ucGFyYW1zOiB1bmtub3duW10pID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHJldHJpZXZlQ2FyZCA9IHBhcmFtc1swXSBhcyB0eXBlb2YgUmV0cmlldmVDYXJkO1xuXHRcdFx0XHRcdFx0bGV0IGdlbmVyYXRlZE1hbmlmZXN0O1xuXHRcdFx0XHRcdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gdGhpcy5hcHBDb21wb25lbnQ7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRnZW5lcmF0ZWRNYW5pZmVzdCA9IGF3YWl0IHJldHJpZXZlQ2FyZC5nZXRPYmplY3RQYWdlQ2FyZE1hbmlmZXN0Rm9yUHJldmlldyhhcHBDb21wb25lbnQsIHtcblx0XHRcdFx0XHRcdFx0XHRjYXJkVHlwZTogY2FyZFR5cGVcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdFx0XHRMb2cuZXJyb3IoZXJyb3IgYXMgc3RyaW5nKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJlc29sdmUoZ2VuZXJhdGVkTWFuaWZlc3QpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBzdHJpbmcpO1xuXHRcdFx0XHRcdHJlamVjdCgpO1xuXHRcdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBwdWJsaXNoQ2FyZChjYXJkOiBDYXJkTWFuaWZlc3QpOiB2b2lkIHtcblx0XHR0aGlzLmNoYW5uZWwucHVibGlzaENhcmQodGhpcy5pZCwgeyBpZDogY2FyZFtcInNhcC5hcHBcIl0uaWQsIGRlc2NyaXB0b3JDb250ZW50OiBjYXJkIH0sIFwiKlwiKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2VGYWN0b3J5IGV4dGVuZHMgU2VydmljZUZhY3Rvcnk8Q29sbGFib3JhdGlvbk1hbmFnZXJTZXR0aW5ncz4ge1xuXHRzdGF0aWMgc2VydmljZUNsYXNzID0gQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlO1xuXG5cdHByaXZhdGUgaW5zdGFuY2UhOiBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2U7XG5cblx0YXN5bmMgY3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxDb2xsYWJvcmF0aW9uTWFuYWdlclNldHRpbmdzPik6IFByb21pc2U8Q29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlPiB7XG5cdFx0dGhpcy5pbnN0YW5jZSA9IG5ldyBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2Uob1NlcnZpY2VDb250ZXh0KTtcblx0XHRyZXR1cm4gdGhpcy5pbnN0YW5jZS5pbml0UHJvbWlzZTtcblx0fVxuXG5cdGdldEluc3RhbmNlKCk6IENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSB7XG5cdFx0cmV0dXJuIHRoaXMuaW5zdGFuY2U7XG5cdH1cblxuXHRzaGFyZUF2YWlsYWJsZUNhcmRzKCk6IHZvaWQge1xuXHRcdHRoaXMuaW5zdGFuY2Uuc2hhcmVBdmFpbGFibGVDYXJkcygpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQWdCYUEsMkJBQTJCLDBCQUFBQyxRQUFBO0lBQUEsU0FBQUQsNEJBQUE7TUFBQSxJQUFBRSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxRQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUd2QztNQUFBSixLQUFBLENBQ0FRLHdDQUF3QyxHQUFHLElBQUk7TUFBQVIsS0FBQSxDQVl2Q1MsVUFBVSxHQUFHLEtBQUs7TUFBQSxPQUFBVCxLQUFBO0lBQUE7SUFBQVUsUUFBQSxDQUFBWiwyQkFBQSxHQUFBQSwyQkFBQTtJQUFBYSxjQUFBLENBQUFiLDJCQUFBLEVBQUFDLFFBQUE7SUFBQSxJQUFBYSxNQUFBLEdBQUFkLDJCQUFBLENBQUFlLFNBQUE7SUFBQUQsTUFBQSxDQUkxQkUsSUFBSSxHQUFKLFNBQUFBLElBQUlBLENBQUEsRUFBUztNQUNaLElBQUksQ0FBQ0MsV0FBVyxHQUFHLElBQUlDLE9BQU8sQ0FBRUMsT0FBTyxJQUFLO1FBQzNDLElBQUksQ0FBQ0MsWUFBWSxHQUFHLElBQUksQ0FBQ0MsVUFBVSxDQUFDLENBQUMsQ0FBQ0MsV0FBMkI7UUFDakVILE9BQU8sQ0FBQyxJQUFJLENBQUM7TUFDZCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBQUFMLE1BQUEsQ0FFYVMsZUFBZSxHQUE3QixlQUFjQSxlQUFlQSxDQUFBLEVBQTBCO01BQ3RELE1BQU07UUFBRUMsT0FBTyxFQUFFQztNQUFXLENBQUMsR0FBRyxNQUFNQyxtQkFBQSxDQUFPLHlCQUF5QixDQUFDO01BQ3ZFLE1BQU1DLE9BQU8sR0FBRyxNQUFNRixVQUFVLENBQUNHLGVBQWUsQ0FBQyxXQUFXLENBQUM7TUFDN0QsT0FBT0QsT0FBTyxDQUFDSixlQUFlLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQUFULE1BQUEsQ0FFWWUsT0FBTyxHQUFwQixlQUFhQSxPQUFPQSxDQUFDQyxVQUFrQixFQUFFQyx3QkFBNkMsRUFBd0M7TUFDN0gsSUFBSTtRQUNILE1BQU1DLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQ1QsZUFBZSxDQUFDLENBQUM7UUFDNUMsSUFBSVMsT0FBTyxDQUFDQyxTQUFTLENBQUMsQ0FBQyxFQUFFO1VBQ3hCLElBQUksQ0FBQ0Ysd0JBQXdCLEdBQUdBLHdCQUF3QjtVQUN4RCxJQUFJLENBQUNDLE9BQU8sR0FBR0EsT0FBTztVQUN0QixJQUFJLENBQUNFLEVBQUUsR0FBR0osVUFBVTtVQUNwQixJQUFJLENBQUNLLFNBQVMsR0FBRyxDQUFDLENBQUM7VUFDbkIsSUFBSSxDQUFDQyxXQUFXLEdBQUcsRUFBRTtVQUNyQixJQUFJLElBQUksQ0FBQ3pCLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDN0IsTUFBTSxJQUFJLENBQUMwQixnQkFBZ0IsQ0FBQyxDQUFDO1VBQzlCO1VBQ0EsSUFBSSxDQUFDQyxlQUFlLENBQUMsQ0FBQztRQUN2QjtNQUNELENBQUMsQ0FBQyxPQUFPQyxLQUFjLEVBQUU7UUFDeEJDLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDLHlDQUF5QyxFQUFFRixLQUF1QixDQUFDO01BQzlFO01BQ0EsT0FBTyxJQUFJO0lBQ1osQ0FBQztJQUFBekIsTUFBQSxDQUVZNEIsbUJBQW1CLEdBQWhDLGVBQWFBLG1CQUFtQkEsQ0FBQ1IsRUFBVSxFQUFtQjtNQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDQyxTQUFTLENBQUNELEVBQUUsQ0FBQyxFQUFFO1FBQ3hCLElBQUksQ0FBQ0MsU0FBUyxDQUFDRCxFQUFFLENBQUMsR0FBRyxJQUFJO1FBQ3pCLE1BQU0sSUFBSSxDQUFDSCx3QkFBd0IsR0FBRyxDQUFDO1FBQ3ZDLElBQUksQ0FBQ1ksbUJBQW1CLENBQUNULEVBQUUsQ0FBQztNQUM3QjtNQUNBLE9BQU9oQixPQUFPLENBQUNDLE9BQU8sQ0FBQ3lCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQ1YsU0FBUyxDQUFDLENBQUM5QixNQUFNLENBQUM7SUFDM0QsQ0FBQztJQUFBUyxNQUFBLENBRVlnQyxzQkFBc0IsR0FBbkMsZUFBYUEsc0JBQXNCQSxDQUFDWixFQUFVLEVBQW1CO01BQ2hFLElBQUksSUFBSSxDQUFDQyxTQUFTLENBQUNELEVBQUUsQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDQyxTQUFTLENBQUNELEVBQUUsQ0FBQztNQUMxQjtNQUNBLE9BQU9oQixPQUFPLENBQUNDLE9BQU8sQ0FBQ3lCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQ1YsU0FBUyxDQUFDLENBQUM5QixNQUFNLENBQUM7SUFDM0QsQ0FBQztJQUFBUyxNQUFBLENBRU1pQyxlQUFlLEdBQXRCLFNBQU9BLGVBQWVBLENBQUNDLFVBQWtCLEVBQUVDLE1BQWMsRUFBYztNQUN0RSxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDZCxXQUFXLENBQUNlLElBQUksQ0FBRUQsSUFBSSxJQUFLQSxJQUFJLEVBQUVoQixFQUFFLEtBQUtlLE1BQU0sQ0FBQztNQUNqRUMsSUFBSSxFQUFFRSxRQUFRLEdBQUdGLElBQUksQ0FBQ0EsSUFBSSxDQUFDO01BQzNCLE9BQU9BLElBQUk7SUFDWixDQUFDO0lBQUFwQyxNQUFBLENBRVl1QyxZQUFZLEdBQXpCLGVBQWFBLFlBQVlBLENBQUNDLE1BQWUsRUFBaUI7TUFDekQ7TUFDQSxJQUFJLElBQUksQ0FBQzNDLFVBQVUsS0FBSzJDLE1BQU0sRUFBRTtRQUMvQixJQUFJQSxNQUFNLEVBQUU7VUFDWCxNQUFNLElBQUksQ0FBQ2pCLGdCQUFnQixDQUFDLENBQUM7VUFDN0IsSUFBSSxDQUFDQyxlQUFlLENBQUMsQ0FBQztRQUN2QixDQUFDLE1BQU07VUFDTixNQUFNLElBQUksQ0FBQ2lCLGtCQUFrQixDQUFDLENBQUM7UUFDaEM7TUFDRCxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM1QyxVQUFVLEVBQUU7UUFDM0IsSUFBSSxDQUFDMkIsZUFBZSxDQUFDLENBQUM7TUFDdkI7SUFDRCxDQUFDO0lBQUF4QixNQUFBLENBRWF1QixnQkFBZ0IsR0FBOUIsZUFBY0EsZ0JBQWdCQSxDQUFBLEVBQWtCO01BQy9DLElBQUksSUFBSSxDQUFDTCxPQUFPLEVBQUU7UUFDakIsTUFBTSxJQUFJLENBQUNBLE9BQU8sQ0FBQ0ssZ0JBQWdCLENBQUMsSUFBSSxDQUFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDO1FBQ2xELElBQUksQ0FBQ3ZCLFVBQVUsR0FBRyxJQUFJO01BQ3ZCO0lBQ0QsQ0FBQztJQUFBRyxNQUFBLENBRVl5QyxrQkFBa0IsR0FBL0IsZUFBYUEsa0JBQWtCQSxDQUFBLEVBQWtCO01BQ2hELElBQUksSUFBSSxDQUFDdkIsT0FBTyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxDQUFDQSxPQUFPLENBQUN3QixVQUFVLENBQUMsSUFBSSxDQUFDdEIsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQ3ZCLFVBQVUsR0FBRyxLQUFLO1FBQ3ZCLElBQUksQ0FBQ3dCLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDQyxXQUFXLEdBQUcsRUFBRTtRQUNyQixJQUFJLENBQUNMLHdCQUF3QixHQUFHMEIsU0FBUztNQUMxQztJQUNELENBQUM7SUFBQTNDLE1BQUEsQ0FFT3dCLGVBQWUsR0FBdkIsU0FBUUEsZUFBZUEsQ0FBQSxFQUFTO01BQy9CLElBQUksQ0FBQ0ssbUJBQW1CLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQUE3QixNQUFBLENBRU02QixtQkFBbUIsR0FBMUIsU0FBT0EsbUJBQW1CQSxDQUFBLEVBQXlCO01BQUEsSUFBeEJLLFVBQVUsR0FBQTVDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFxRCxTQUFBLEdBQUFyRCxTQUFBLE1BQUcsR0FBRztNQUMxQyxJQUFJLEVBQUU0QixPQUFPLEVBQUUwQixxQkFBcUIsQ0FBQyxJQUFJLENBQUN4QixFQUFFLEVBQUUsSUFBSSxDQUFDRSxXQUFXLEVBQUVZLFVBQVUsQ0FBQztJQUM1RSxDQUFDO0lBQUFsQyxNQUFBLENBRU02Qyw4QkFBOEIsR0FBckMsU0FBT0EsOEJBQThCQSxDQUFDQyxLQUFrQyxFQUFFQyxXQUFtQixFQUFRO01BQ3BHLElBQUksQ0FBQ3pCLFdBQVcsR0FBRyxFQUFFO01BQ3JCLEtBQUssTUFBTSxDQUFDRixFQUFFLEVBQUVnQixJQUFJLENBQUMsSUFBSU4sTUFBTSxDQUFDa0IsT0FBTyxDQUFDRixLQUFLLENBQUMsRUFBRTtRQUMvQyxJQUFJLENBQUN4QixXQUFXLENBQUMyQixJQUFJLENBQUM7VUFDckI3QixFQUFFLEVBQUVBLEVBQUU7VUFDTjhCLEtBQUssRUFBRWQsSUFBSSxDQUFDYyxLQUFLO1VBQ2pCSCxXQUFXLEVBQUVBLFdBQVc7VUFDeEJULFFBQVEsRUFBRUYsSUFBSSxDQUFDRSxRQUFRO1VBQ3ZCRixJQUFJLEVBQUVBLElBQUksQ0FBQ0E7UUFDWixDQUFDLENBQUM7TUFDSDtJQUNELENBQUM7SUFBQXBDLE1BQUEsQ0FFWW1ELGlCQUFpQixHQUE5QixlQUFhQSxpQkFBaUJBLENBQUNDLFFBQTBCLEVBQWdEO01BQUEsSUFBQUMsTUFBQTtNQUN4RyxPQUFPLElBQUlqRCxPQUFPLENBQUMsQ0FBQ0MsT0FBTyxFQUFFaUQsTUFBTSxLQUFLO1FBQ3ZDQyxPQUFPLENBQUNDLElBQUksQ0FBQztVQUFFQyxJQUFJLEVBQUU7UUFBc0IsQ0FBQyxDQUFDLENBQzNDQyxJQUFJLENBQUMsTUFBWTtVQUNqQkMsR0FBRyxDQUFDQyxFQUFFLENBQUNDLE9BQU8sQ0FBQyxDQUFDLDJDQUEyQyxDQUFDLEVBQUUsa0JBQWdDO1lBQUEsU0FBQUMsS0FBQSxHQUFBeEUsU0FBQSxDQUFBQyxNQUFBLEVBQXRCd0UsTUFBTSxPQUFBdEUsS0FBQSxDQUFBcUUsS0FBQSxHQUFBRSxLQUFBLE1BQUFBLEtBQUEsR0FBQUYsS0FBQSxFQUFBRSxLQUFBO2NBQU5ELE1BQU0sQ0FBQUMsS0FBQSxJQUFBMUUsU0FBQSxDQUFBMEUsS0FBQTtZQUFBO1lBQzdFLE1BQU1DLFlBQVksR0FBR0YsTUFBTSxDQUFDLENBQUMsQ0FBd0I7WUFDckQsSUFBSUcsaUJBQWlCO1lBQ3JCLE1BQU01RCxZQUFZLEdBQUcrQyxNQUFJLENBQUMvQyxZQUFZO1lBQ3RDLElBQUk7Y0FDSDRELGlCQUFpQixHQUFHLE1BQU1ELFlBQVksQ0FBQ0UsbUNBQW1DLENBQUM3RCxZQUFZLEVBQUU7Z0JBQ3hGOEMsUUFBUSxFQUFFQTtjQUNYLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQyxPQUFPM0IsS0FBSyxFQUFFO2NBQ2ZDLEdBQUcsQ0FBQ0QsS0FBSyxDQUFDQSxLQUFlLENBQUM7WUFDM0I7WUFDQXBCLE9BQU8sQ0FBQzZELGlCQUFpQixDQUFDO1VBQzNCLENBQUMsQ0FBQztVQUNGO1FBQ0QsQ0FBQyxDQUFDLENBQ0RFLEtBQUssQ0FBQyxVQUFVM0MsS0FBSyxFQUFFO1VBQ3ZCQyxHQUFHLENBQUNELEtBQUssQ0FBQ0EsS0FBZSxDQUFDO1VBQzFCNkIsTUFBTSxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSCxDQUFDO0lBQUF0RCxNQUFBLENBRU1xRSxXQUFXLEdBQWxCLFNBQU9BLFdBQVdBLENBQUNqQyxJQUFrQixFQUFRO01BQzVDLElBQUksQ0FBQ2xCLE9BQU8sQ0FBQ21ELFdBQVcsQ0FBQyxJQUFJLENBQUNqRCxFQUFFLEVBQUU7UUFBRUEsRUFBRSxFQUFFZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDaEIsRUFBRTtRQUFFa0QsaUJBQWlCLEVBQUVsQztNQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDNUYsQ0FBQztJQUFBLE9BQUFsRCwyQkFBQTtFQUFBLEVBM0orQ3FGLE9BQU87RUFBQXpFLFFBQUEsQ0FBQVosMkJBQUEsR0FBQUEsMkJBQUE7RUFBQSxJQThKbkNzRixrQ0FBa0MsMEJBQUFDLGVBQUE7SUFBQSxTQUFBRCxtQ0FBQTtNQUFBLE9BQUFDLGVBQUEsQ0FBQUMsS0FBQSxPQUFBcEYsU0FBQTtJQUFBO0lBQUFRLFFBQUEsR0FBQTBFLGtDQUFBO0lBQUF6RSxjQUFBLENBQUF5RSxrQ0FBQSxFQUFBQyxlQUFBO0lBQUEsSUFBQUUsT0FBQSxHQUFBSCxrQ0FBQSxDQUFBdkUsU0FBQTtJQUFBMEUsT0FBQSxDQUtoREMsY0FBYyxHQUFwQixlQUFNQSxjQUFjQSxDQUFDQyxlQUE2RCxFQUF3QztNQUN6SCxJQUFJLENBQUNDLFFBQVEsR0FBRyxJQUFJNUYsMkJBQTJCLENBQUMyRixlQUFlLENBQUM7TUFDaEUsT0FBTyxJQUFJLENBQUNDLFFBQVEsQ0FBQzNFLFdBQVc7SUFDakMsQ0FBQztJQUFBd0UsT0FBQSxDQUVESSxXQUFXLEdBQVgsU0FBQUEsV0FBV0EsQ0FBQSxFQUFnQztNQUMxQyxPQUFPLElBQUksQ0FBQ0QsUUFBUTtJQUNyQixDQUFDO0lBQUFILE9BQUEsQ0FFRDlDLG1CQUFtQixHQUFuQixTQUFBQSxtQkFBbUJBLENBQUEsRUFBUztNQUMzQixJQUFJLENBQUNpRCxRQUFRLENBQUNqRCxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFBQSxPQUFBMkMsa0NBQUE7RUFBQSxFQWhCOERRLGNBQWM7RUFBekRSLGtDQUFrQyxDQUMvQ1MsWUFBWSxHQUFHL0YsMkJBQTJCO0VBQUFZLFFBQUEsR0FBQTBFLGtDQUFBO0VBQUEsT0FBQTFFLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UiLCJfU2VydmljZSIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX19pbXBsZW1lbnRzX19zYXBfaW5zaWdodHNfSUNhcmRQcm92aWRlciIsInJlZ2lzdGVyZWQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiaW5pdCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhcHBDb21wb25lbnQiLCJnZXRDb250ZXh0Iiwic2NvcGVPYmplY3QiLCJnZXRDYXJkc0NoYW5uZWwiLCJkZWZhdWx0IiwiY2FyZEhlbHBlciIsIl9fdWk1X3JlcXVpcmVfYXN5bmMiLCJzZXJ2aWNlIiwiZ2V0U2VydmljZUFzeW5jIiwiY29ubmVjdCIsInByb3ZpZGVySWQiLCJvblJldHJpZXZlQXZhaWxhYmxlQ2FyZHMiLCJjaGFubmVsIiwiaXNFbmFibGVkIiwiaWQiLCJjb25zdW1lcnMiLCJzaGFyZWRDYXJkcyIsInJlZ2lzdGVyUHJvdmlkZXIiLCJ1cGRhdGVDb25zdW1lcnMiLCJlcnJvciIsIkxvZyIsImRlYnVnIiwib25Db25zdW1lckNvbm5lY3RlZCIsInNoYXJlQXZhaWxhYmxlQ2FyZHMiLCJPYmplY3QiLCJrZXlzIiwib25Db25zdW1lckRpc2Nvbm5lY3RlZCIsIm9uQ2FyZFJlcXVlc3RlZCIsImNvbnN1bWVySWQiLCJjYXJkSWQiLCJjYXJkIiwiZmluZCIsImNhbGxiYWNrIiwib25WaWV3VXBkYXRlIiwiYWN0aXZlIiwidW5yZWdpc3RlclByb3ZpZGVyIiwidW5yZWdpc3RlciIsInVuZGVmaW5lZCIsInB1Ymxpc2hBdmFpbGFibGVDYXJkcyIsImFkZENhcmRzVG9Db2xsYWJvcmF0aW9uTWFuYWdlciIsImNhcmRzIiwicGFyZW50QXBwSWQiLCJlbnRyaWVzIiwicHVzaCIsInRpdGxlIiwiZ2V0RGVzaWduVGltZUNhcmQiLCJjYXJkVHlwZSIsInJldHJpZXZlQ2FyZE1vZHVsZSIsInJldHJpZXZlQ2FyZCIsIm1hbmlmZXN0IiwiZ2V0T2JqZWN0UGFnZUNhcmRNYW5pZmVzdEZvclByZXZpZXciLCJtZXNzYWdlIiwiRXJyb3IiLCJTdHJpbmciLCJwdWJsaXNoQ2FyZCIsInNhcEFwcFNlY3Rpb24iLCJwdWJsaXNoZWRJZCIsImRlc2NyaXB0b3JDb250ZW50IiwiU2VydmljZSIsIkNvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZUZhY3RvcnkiLCJfU2VydmljZUZhY3RvcnkiLCJhcHBseSIsIl9wcm90bzIiLCJjcmVhdGVJbnN0YW5jZSIsIm9TZXJ2aWNlQ29udGV4dCIsImluc3RhbmNlIiwiZ2V0SW5zdGFuY2UiLCJTZXJ2aWNlRmFjdG9yeSIsInNlcnZpY2VDbGFzcyJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB0eXBlIHsgUmV0cmlldmVDYXJkVHlwZSB9IGZyb20gXCJzYXAvY2FyZHMvYXAvY29tbW9uL3NlcnZpY2VzL1JldHJpZXZlQ2FyZFwiO1xuaW1wb3J0IHR5cGUgeyBDYXJkTWFuaWZlc3QgfSBmcm9tIFwic2FwL2luc2lnaHRzL0NhcmRIZWxwZXJcIjtcbmltcG9ydCB0eXBlIENhcmRzQ2hhbm5lbCBmcm9tIFwic2FwL2luc2lnaHRzL0NhcmRzQ2hhbm5lbFwiO1xuaW1wb3J0IHR5cGUgeyBJQ2FyZFByb3ZpZGVyLCBTaGFyZWRDYXJkIH0gZnJvbSBcInNhcC9pbnNpZ2h0cy9DYXJkc0NoYW5uZWxcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gXCJ0eXBlcy9tZXRhbW9kZWxfdHlwZXNcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwiLi4vQXBwQ29tcG9uZW50XCI7XG5cbnR5cGUgQ29sbGFib3JhdGlvbk1hbmFnZXJTZXR0aW5ncyA9IHt9O1xuXG5leHBvcnQgdHlwZSBXcmFwcGVkQ2FyZCA9IFBpY2s8Tm9uTnVsbGFibGU8U2hhcmVkQ2FyZD4sIFwiY2FyZFwiIHwgXCJ0aXRsZVwiIHwgXCJjYWxsYmFja1wiPjtcblxuZXhwb3J0IGNsYXNzIENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSBleHRlbmRzIFNlcnZpY2U8Q29sbGFib3JhdGlvbk1hbmFnZXJTZXR0aW5ncz4gaW1wbGVtZW50cyBJQ2FyZFByb3ZpZGVyIHtcblx0aW5pdFByb21pc2UhOiBQcm9taXNlPENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZT47XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuXHRfX2ltcGxlbWVudHNfX3NhcF9pbnNpZ2h0c19JQ2FyZFByb3ZpZGVyID0gdHJ1ZTtcblxuXHRwcml2YXRlIGNoYW5uZWwhOiBDYXJkc0NoYW5uZWw7XG5cblx0cHJpdmF0ZSBpZCE6IHN0cmluZztcblxuXHRwcml2YXRlIGNvbnN1bWVycyE6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuXG5cdHByaXZhdGUgb25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuXHRwcml2YXRlIHNoYXJlZENhcmRzITogU2hhcmVkQ2FyZFtdO1xuXG5cdHByaXZhdGUgcmVnaXN0ZXJlZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYXBwQ29tcG9uZW50ITogQXBwQ29tcG9uZW50O1xuXG5cdGluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHR0aGlzLmFwcENvbXBvbmVudCA9IHRoaXMuZ2V0Q29udGV4dCgpLnNjb3BlT2JqZWN0IGFzIEFwcENvbXBvbmVudDtcblx0XHRcdHJlc29sdmUodGhpcyk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGdldENhcmRzQ2hhbm5lbCgpOiBQcm9taXNlPENhcmRzQ2hhbm5lbD4ge1xuXHRcdGNvbnN0IHsgZGVmYXVsdDogY2FyZEhlbHBlciB9ID0gYXdhaXQgaW1wb3J0KFwic2FwL2luc2lnaHRzL0NhcmRIZWxwZXJcIik7XG5cdFx0Y29uc3Qgc2VydmljZSA9IGF3YWl0IGNhcmRIZWxwZXIuZ2V0U2VydmljZUFzeW5jKFwiVUlTZXJ2aWNlXCIpO1xuXHRcdHJldHVybiBzZXJ2aWNlLmdldENhcmRzQ2hhbm5lbCgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGNvbm5lY3QocHJvdmlkZXJJZDogc3RyaW5nLCBvblJldHJpZXZlQXZhaWxhYmxlQ2FyZHM6ICgpID0+IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBjaGFubmVsID0gYXdhaXQgdGhpcy5nZXRDYXJkc0NoYW5uZWwoKTtcblx0XHRcdGlmIChjaGFubmVsLmlzRW5hYmxlZCgpKSB7XG5cdFx0XHRcdHRoaXMub25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzID0gb25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzO1xuXHRcdFx0XHR0aGlzLmNoYW5uZWwgPSBjaGFubmVsO1xuXHRcdFx0XHR0aGlzLmlkID0gcHJvdmlkZXJJZDtcblx0XHRcdFx0dGhpcy5jb25zdW1lcnMgPSB7fTtcblx0XHRcdFx0dGhpcy5zaGFyZWRDYXJkcyA9IFtdO1xuXHRcdFx0XHRpZiAodGhpcy5yZWdpc3RlcmVkICE9PSB0cnVlKSB7XG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5yZWdpc3RlclByb3ZpZGVyKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy51cGRhdGVDb25zdW1lcnMoKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuXHRcdFx0TG9nLmRlYnVnKFwiQ29sbGFib3JhdGlvbiBNYW5hZ2VyIGNvbm5lY3Rpb24gZmFpbGVkXCIsIGVycm9yIGFzIEVycm9yIHwgc3RyaW5nKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgb25Db25zdW1lckNvbm5lY3RlZChpZDogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcblx0XHRpZiAoIXRoaXMuY29uc3VtZXJzW2lkXSkge1xuXHRcdFx0dGhpcy5jb25zdW1lcnNbaWRdID0gdHJ1ZTtcblx0XHRcdGF3YWl0IHRoaXMub25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzPy4oKTtcblx0XHRcdHRoaXMuc2hhcmVBdmFpbGFibGVDYXJkcyhpZCk7XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoT2JqZWN0LmtleXModGhpcy5jb25zdW1lcnMpLmxlbmd0aCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgb25Db25zdW1lckRpc2Nvbm5lY3RlZChpZDogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcblx0XHRpZiAodGhpcy5jb25zdW1lcnNbaWRdKSB7XG5cdFx0XHRkZWxldGUgdGhpcy5jb25zdW1lcnNbaWRdO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKE9iamVjdC5rZXlzKHRoaXMuY29uc3VtZXJzKS5sZW5ndGgpO1xuXHR9XG5cblx0cHVibGljIG9uQ2FyZFJlcXVlc3RlZChjb25zdW1lcklkOiBzdHJpbmcsIGNhcmRJZDogc3RyaW5nKTogU2hhcmVkQ2FyZCB7XG5cdFx0Y29uc3QgY2FyZCA9IHRoaXMuc2hhcmVkQ2FyZHMuZmluZCgoY2FyZCkgPT4gY2FyZD8uaWQgPT09IGNhcmRJZCk7XG5cdFx0Y2FyZD8uY2FsbGJhY2s/LihjYXJkLmNhcmQpO1xuXHRcdHJldHVybiBjYXJkO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIG9uVmlld1VwZGF0ZShhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyByZWdpc3RlciAvIHVucmVnaXN0ZXIgaWYgdGhlIHN0YXR1cyBvZiB0aGUgaG9tZSBwYWdlIGNoYW5nZWRcblx0XHRpZiAodGhpcy5yZWdpc3RlcmVkICE9PSBhY3RpdmUpIHtcblx0XHRcdGlmIChhY3RpdmUpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy5yZWdpc3RlclByb3ZpZGVyKCk7XG5cdFx0XHRcdHRoaXMudXBkYXRlQ29uc3VtZXJzKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhd2FpdCB0aGlzLnVucmVnaXN0ZXJQcm92aWRlcigpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodGhpcy5yZWdpc3RlcmVkKSB7XG5cdFx0XHR0aGlzLnVwZGF0ZUNvbnN1bWVycygpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJQcm92aWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy5jaGFubmVsKSB7XG5cdFx0XHRhd2FpdCB0aGlzLmNoYW5uZWwucmVnaXN0ZXJQcm92aWRlcih0aGlzLmlkLCB0aGlzKTtcblx0XHRcdHRoaXMucmVnaXN0ZXJlZCA9IHRydWU7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGFzeW5jIHVucmVnaXN0ZXJQcm92aWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy5jaGFubmVsKSB7XG5cdFx0XHRhd2FpdCB0aGlzLmNoYW5uZWwudW5yZWdpc3Rlcih0aGlzLmlkKTtcblx0XHRcdHRoaXMucmVnaXN0ZXJlZCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5jb25zdW1lcnMgPSB7fTtcblx0XHRcdHRoaXMuc2hhcmVkQ2FyZHMgPSBbXTtcblx0XHRcdHRoaXMub25SZXRyaWV2ZUF2YWlsYWJsZUNhcmRzID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlQ29uc3VtZXJzKCk6IHZvaWQge1xuXHRcdHRoaXMuc2hhcmVBdmFpbGFibGVDYXJkcygpO1xuXHR9XG5cblx0cHVibGljIHNoYXJlQXZhaWxhYmxlQ2FyZHMoY29uc3VtZXJJZCA9IFwiKlwiKTogdm9pZCB7XG5cdFx0dGhpcz8uY2hhbm5lbD8ucHVibGlzaEF2YWlsYWJsZUNhcmRzKHRoaXMuaWQsIHRoaXMuc2hhcmVkQ2FyZHMsIGNvbnN1bWVySWQpO1xuXHR9XG5cblx0cHVibGljIGFkZENhcmRzVG9Db2xsYWJvcmF0aW9uTWFuYWdlcihjYXJkczogUmVjb3JkPHN0cmluZywgV3JhcHBlZENhcmQ+LCBwYXJlbnRBcHBJZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5zaGFyZWRDYXJkcyA9IFtdO1xuXHRcdGZvciAoY29uc3QgW2lkLCBjYXJkXSBvZiBPYmplY3QuZW50cmllcyhjYXJkcykpIHtcblx0XHRcdHRoaXMuc2hhcmVkQ2FyZHMucHVzaCh7XG5cdFx0XHRcdGlkOiBpZCxcblx0XHRcdFx0dGl0bGU6IGNhcmQudGl0bGUsXG5cdFx0XHRcdHBhcmVudEFwcElkOiBwYXJlbnRBcHBJZCxcblx0XHRcdFx0Y2FsbGJhY2s6IGNhcmQuY2FsbGJhY2ssXG5cdFx0XHRcdGNhcmQ6IGNhcmQuY2FyZFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldERlc2lnblRpbWVDYXJkKGNhcmRUeXBlOiBSZXRyaWV2ZUNhcmRUeXBlKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZD4ge1xuXHRcdGNvbnN0IHJldHJpZXZlQ2FyZE1vZHVsZSA9IGF3YWl0IGltcG9ydChcInNhcC9jYXJkcy9hcC9jb21tb24vc2VydmljZXMvUmV0cmlldmVDYXJkXCIpO1xuXHRcdHR5cGUgUmV0cmlldmVDYXJkU2VydmljZSA9IHtcblx0XHRcdGdldE9iamVjdFBhZ2VDYXJkTWFuaWZlc3RGb3JQcmV2aWV3KFxuXHRcdFx0XHRjb21wb25lbnQ6IHVua25vd24sXG5cdFx0XHRcdG9wdGlvbnM6IHsgY2FyZFR5cGU6IFJldHJpZXZlQ2FyZFR5cGUgfVxuXHRcdFx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cdFx0fTtcblxuXHRcdGNvbnN0IHJldHJpZXZlQ2FyZCA9IHJldHJpZXZlQ2FyZE1vZHVsZSBhcyBSZXRyaWV2ZUNhcmRTZXJ2aWNlO1xuXHRcdGNvbnN0IGFwcENvbXBvbmVudCA9IHRoaXMuYXBwQ29tcG9uZW50O1xuXHRcdGxldCBtYW5pZmVzdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cblx0XHR0cnkge1xuXHRcdFx0bWFuaWZlc3QgPSBhd2FpdCByZXRyaWV2ZUNhcmQuZ2V0T2JqZWN0UGFnZUNhcmRNYW5pZmVzdEZvclByZXZpZXcoYXBwQ29tcG9uZW50LCB7IGNhcmRUeXBlIH0pO1xuXHRcdH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuXHRcdFx0TG9nLmVycm9yKGBGYWlsZWQgdG8gZ2V0IGRlc2lnbiB0aW1lIGNhcmQgbWFuaWZlc3Q6ICR7bWVzc2FnZX1gKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWFuaWZlc3Q7XG5cdH1cblxuXHRwdWJsaWMgcHVibGlzaENhcmQoY2FyZDogQ2FyZE1hbmlmZXN0KTogdm9pZCB7XG5cdFx0Y29uc3Qgc2FwQXBwU2VjdGlvbiA9IGNhcmRbXCJzYXAuYXBwXCJdIGFzIHsgaWQ/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcblx0XHRjb25zdCBwdWJsaXNoZWRJZCA9IHNhcEFwcFNlY3Rpb24/LmlkID8/IFwiVU5LTk9XTl9DQVJEX0lEXCI7XG5cdFx0dGhpcy5jaGFubmVsLnB1Ymxpc2hDYXJkKHRoaXMuaWQsIHsgaWQ6IHB1Ymxpc2hlZElkLCBkZXNjcmlwdG9yQ29udGVudDogY2FyZCB9LCBcIipcIik7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRmFjdG9yeSBleHRlbmRzIFNlcnZpY2VGYWN0b3J5PENvbGxhYm9yYXRpb25NYW5hZ2VyU2V0dGluZ3M+IHtcblx0c3RhdGljIHNlcnZpY2VDbGFzcyA9IENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZTtcblxuXHRwcml2YXRlIGluc3RhbmNlITogQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlO1xuXG5cdGFzeW5jIGNyZWF0ZUluc3RhbmNlKG9TZXJ2aWNlQ29udGV4dDogU2VydmljZUNvbnRleHQ8Q29sbGFib3JhdGlvbk1hbmFnZXJTZXR0aW5ncz4pOiBQcm9taXNlPENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZT4ge1xuXHRcdHRoaXMuaW5zdGFuY2UgPSBuZXcgQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlKG9TZXJ2aWNlQ29udGV4dCk7XG5cdFx0cmV0dXJuIHRoaXMuaW5zdGFuY2UuaW5pdFByb21pc2U7XG5cdH1cblxuXHRnZXRJbnN0YW5jZSgpOiBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2Uge1xuXHRcdHJldHVybiB0aGlzLmluc3RhbmNlO1xuXHR9XG5cblx0c2hhcmVBdmFpbGFibGVDYXJkcygpOiB2b2lkIHtcblx0XHR0aGlzLmluc3RhbmNlLnNoYXJlQXZhaWxhYmxlQ2FyZHMoKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFjYUEsMkJBQTJCLDBCQUFBQyxRQUFBO0lBQUEsU0FBQUQsNEJBQUE7TUFBQSxJQUFBRSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFB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
@@ -1,10 +1,8 @@
1
1
  import Log from "sap/base/Log";
2
- import type RetrieveCard from "sap/cards/ap/common/services/RetrieveCard";
3
2
  import type { RetrieveCardType } from "sap/cards/ap/common/services/RetrieveCard";
4
3
  import type { CardManifest } from "sap/insights/CardHelper";
5
4
  import type CardsChannel from "sap/insights/CardsChannel";
6
5
  import type { ICardProvider, SharedCard } from "sap/insights/CardsChannel";
7
- import Library from "sap/ui/core/Lib";
8
6
  import Service from "sap/ui/core/service/Service";
9
7
  import ServiceFactory from "sap/ui/core/service/ServiceFactory";
10
8
  import type { ServiceContext } from "types/metamodel_types";
@@ -142,33 +140,32 @@ export class CollaborationManagerService extends Service<CollaborationManagerSet
142
140
  }
143
141
 
144
142
  public async getDesignTimeCard(cardType: RetrieveCardType): Promise<Record<string, unknown> | undefined> {
145
- return new Promise((resolve, reject) => {
146
- Library.load({ name: "sap/cards/ap/common" })
147
- .then((): void => {
148
- sap.ui.require(["sap/cards/ap/common/services/RetrieveCard"], async (...params: unknown[]) => {
149
- const retrieveCard = params[0] as typeof RetrieveCard;
150
- let generatedManifest;
151
- const appComponent = this.appComponent;
152
- try {
153
- generatedManifest = await retrieveCard.getObjectPageCardManifestForPreview(appComponent, {
154
- cardType: cardType
155
- });
156
- } catch (error) {
157
- Log.error(error as string);
158
- }
159
- resolve(generatedManifest);
160
- });
161
- return;
162
- })
163
- .catch(function (error) {
164
- Log.error(error as string);
165
- reject();
166
- });
167
- });
143
+ const retrieveCardModule = await import("sap/cards/ap/common/services/RetrieveCard");
144
+ type RetrieveCardService = {
145
+ getObjectPageCardManifestForPreview(
146
+ component: unknown,
147
+ options: { cardType: RetrieveCardType }
148
+ ): Promise<Record<string, unknown>>;
149
+ };
150
+
151
+ const retrieveCard = retrieveCardModule as RetrieveCardService;
152
+ const appComponent = this.appComponent;
153
+ let manifest: Record<string, unknown> | undefined;
154
+
155
+ try {
156
+ manifest = await retrieveCard.getObjectPageCardManifestForPreview(appComponent, { cardType });
157
+ } catch (error: unknown) {
158
+ const message = error instanceof Error ? error.message : String(error);
159
+ Log.error(`Failed to get design time card manifest: ${message}`);
160
+ }
161
+
162
+ return manifest;
168
163
  }
169
164
 
170
165
  public publishCard(card: CardManifest): void {
171
- this.channel.publishCard(this.id, { id: card["sap.app"].id, descriptorContent: card }, "*");
166
+ const sapAppSection = card["sap.app"] as { id?: string } | undefined;
167
+ const publishedId = sapAppSection?.id ?? "UNKNOWN_CARD_ID";
168
+ this.channel.publishCard(this.id, { id: publishedId, descriptorContent: card }, "*");
172
169
  }
173
170
  }
174
171