@sapui5/sap.fe.controls 1.136.18 → 1.136.20
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.
- package/package.json +1 -1
- package/src/sap/fe/controls/.library +1 -1
- package/src/sap/fe/controls/library.js +1 -1
- package/src/sap/fe/controls/messagebundle_de.properties +2 -2
- package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.js +8 -2
- package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.tsx +9 -2
package/package.json
CHANGED
|
@@ -22,7 +22,7 @@ sap.ui.define(["sap/fe/base/library", "sap/fe/controls/shortcuts/ShortcutExplana
|
|
|
22
22
|
controls: [],
|
|
23
23
|
elements: [],
|
|
24
24
|
// eslint-disable-next-line no-template-curly-in-string
|
|
25
|
-
version: "1.136.
|
|
25
|
+
version: "1.136.20",
|
|
26
26
|
noLibraryCSS: false
|
|
27
27
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
28
|
});
|
|
@@ -12,8 +12,8 @@ M_EASY_FILTER_SELECTED_VALUES_FALSE=Nein
|
|
|
12
12
|
M_EASY_FILTER_UNCLEAR_INPUT=Unklare Eingabe\: {0}
|
|
13
13
|
M_BUSINESS_AI_SHELL_SETTINGS_TITLE=SAP Business AI
|
|
14
14
|
M_BUSINESS_AI_SHELL_SETTINGS_EASY_FILTER=Einfaches Filtern
|
|
15
|
-
M_BUSINESS_AI_SHELL_SETTINGS_EASY_FILTER_MAKE_DEFAULT=Stellen Sie
|
|
16
|
-
M_BUSINESS_AI_SHELL_SETTINGS_EASY_FILTER_KEEP_QUERIES=Meine zuletzt verwendeten Anfragen
|
|
15
|
+
M_BUSINESS_AI_SHELL_SETTINGS_EASY_FILTER_MAKE_DEFAULT=Stellen Sie Einfaches Filtern als Standard-Filteroption ein.
|
|
16
|
+
M_BUSINESS_AI_SHELL_SETTINGS_EASY_FILTER_KEEP_QUERIES=Meine zuletzt verwendeten Anfragen in Einfaches Filtern unter 'Zuletzt verwendete Anfragen' beibehalten.
|
|
17
17
|
M_EASY_FILTER_MANDATORY_TOKEN_ERROR=Einen Wert f\u00FCr die Filterkriterien pflegen
|
|
18
18
|
M_EASY_FILTER_MANDATORY_TOKEN_SELECT_VALUE=(Wert ausw\u00E4hlen)
|
|
19
19
|
M_EASY_FILTER_FILTER_SET_AI=Filter\:
|
|
@@ -149,6 +149,12 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
|
|
|
149
149
|
try {
|
|
150
150
|
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
|
|
151
151
|
const shellHistoryDialog = new ShortcutExplanationProvider();
|
|
152
|
+
|
|
153
|
+
// Destroy previous user action before creating a new one to prevent duplicates in keep-alive navigation
|
|
154
|
+
if (this._userAction) {
|
|
155
|
+
this._userAction.destroy();
|
|
156
|
+
this._userAction = undefined;
|
|
157
|
+
}
|
|
152
158
|
const userAction = await shellExtensionService.createUserAction({
|
|
153
159
|
id: "sapui5.shortcut.explanation.trigger",
|
|
154
160
|
text: resourceBundle.getText("C_SHORTCUT_TITLE"),
|
|
@@ -164,7 +170,7 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
|
|
|
164
170
|
if (!this._cleanupAttached) {
|
|
165
171
|
this._cleanupAttached = true;
|
|
166
172
|
window.addEventListener("pagehide", () => {
|
|
167
|
-
this._userAction
|
|
173
|
+
this._userAction?.destroy();
|
|
168
174
|
});
|
|
169
175
|
}
|
|
170
176
|
userAction.showForCurrentApp();
|
|
@@ -178,4 +184,4 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
|
|
|
178
184
|
_exports = ShortcutExplanationProvider;
|
|
179
185
|
return _exports;
|
|
180
186
|
}, false);
|
|
181
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIiwiX01hbmFnZWRPYmplY3QiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9wb3B1cElkeCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRTaGVsbERpYWxvZ0NvbnRlbnQiLCJ3aW5kb3dXaWR0aCIsImxlZnQiLCJ3aW5kb3ciLCJzY3JlZW5MZWZ0Iiwib3V0ZXJXaWR0aCIsInNjcmVlbiIsImF2YWlsV2lkdGgiLCJ0aGVtZSIsIlRoZW1pbmciLCJnZXRUaGVtZSIsIl9zYW5pdGl6ZVRoZW1lIiwidXJsIiwic2FwIiwidWkiLCJyZXF1aXJlIiwidG9VcmwiLCJsb2NhbE9yaWdpbiIsImxvY2F0aW9uIiwicHJvdG9jb2wiLCJob3N0IiwicGFyYW1zIiwiZW5jb2RlVVJMIiwibXlXaW4iLCJvcGVuIiwic2NyZWVuVG9wIiwiaGFuZGxlTWVzc2FnZVJlY2VpdmVkIiwibWVzc2FnZUV2ZW50Iiwib3JpZ2luIiwibWVzc2FnZURhdGEiLCJkYXRhIiwic2VydmljZSIsIm1lc3NhZ2VQb3J0IiwicG9ydHMiLCJwb3N0TWVzc2FnZSIsInN0YXJ0c1dpdGgiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib3BlbmVyIiwiZSIsIkxvZyIsImRlYnVnIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJpZCIsIm9udW5sb2FkIiwiY2xvc2UiLCJjb21wdXRlZFN0eWxlcyIsImdldENvbXB1dGVkU3R5bGUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImdldFByb3BlcnR5VmFsdWUiLCJ0aGVtZU1ldGFkYXRhIiwidGhlbWVNYXRjaCIsIkpTT04iLCJwYXJzZSIsIkV4dGVuZHMiLCJpbmZvIiwiZ2V0SW5zdGFuY2UiLCJzaGVsbENvbnRhaW5lciIsInJlc29sdmVDcmVhdGlvbiIsImluc3RhbmNlIiwiaW5zdGFuY2VQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhcHBMaWZlQ3ljbGUiLCJnZXRTZXJ2aWNlQXN5bmMiLCJleHRlbnNpb25TZXJ2aWNlIiwiYXR0YWNoQXBwTG9hZGVkIiwic2hlbGxIaXN0b3J5UHJvdmlkZXIiLCJyZWdpc3RlclVzZXJBY3Rpb24iLCJlcnJvciIsInVuZGVmaW5lZCIsInNoZWxsRXh0ZW5zaW9uU2VydmljZSIsInJlc291cmNlQnVuZGxlIiwiTGliIiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJzaGVsbEhpc3RvcnlEaWFsb2ciLCJ1c2VyQWN0aW9uIiwiY3JlYXRlVXNlckFjdGlvbiIsInRleHQiLCJnZXRUZXh0IiwiaWNvbiIsIkljb25Qb29sIiwiZ2V0SWNvblVSSSIsInByZXNzIiwiY29udHJvbFR5cGUiLCJfdXNlckFjdGlvbiIsIl9jbGVhbnVwQXR0YWNoZWQiLCJkZXN0cm95Iiwic2hvd0ZvckN1cnJlbnRBcHAiLCJlcnIiLCJNYW5hZ2VkT2JqZWN0IiwiaXNEaWFsb2dBZGRlZCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBlbmNvZGVVUkwgZnJvbSBcInNhcC9iYXNlL3NlY3VyaXR5L2VuY29kZVVSTFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IEljb25Qb29sIGZyb20gXCJzYXAvdWkvY29yZS9JY29uUG9vbFwiO1xuaW1wb3J0IExpYiBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgVGhlbWluZyBmcm9tIFwic2FwL3VpL2NvcmUvVGhlbWluZ1wiO1xuaW1wb3J0IHR5cGUgQ29udGFpbmVyIGZyb20gXCJzYXAvdXNoZWxsL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgQXBwTGlmZUN5Y2xlIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0FwcExpZmVDeWNsZVwiO1xuaW1wb3J0IHR5cGUgRXh0ZW5zaW9uIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0V4dGVuc2lvblwiO1xuaW1wb3J0IHR5cGUgSXRlbSBmcm9tIFwic2FwL3VzaGVsbC9zZXJ2aWNlcy9FeHRlbnNpb24vSXRlbVwiO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgZGlhbG9nIHRvIGV4cGxhaW4gdGhlIHNob3J0Y3V0cyB0byB0aGUgdXNlci5cbiAqIFRoaXMgZGlhbG9nIHdpbGwgYmUgcmVnaXN0ZXJlZCBpbiB0aGUgc2hlbGwgdXNlciBtZW51IGFuZCB3aWxsIG9wZW4gYXMgYW4gaW5kZXBlbmRlbnQgd2luZG93LlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29udHJvbHMuc2hvcnRjdXRzLlNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlclwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIGV4dGVuZHMgTWFuYWdlZE9iamVjdCB7XG5cdHByaXZhdGUgX3BvcHVwSWR4ID0gMDtcblxuXHRnZXRTaGVsbERpYWxvZ0NvbnRlbnQoKTogdm9pZCB7XG5cdFx0Ly8gUG9zaXRpb24gdG8gdG9wIHJpZ2h0IG9mIHRoZSBtYWluIHdpbmRvdyBpZiBwb3NzaWJsZVxuXHRcdGNvbnN0IHdpbmRvd1dpZHRoID0gNjIwO1xuXHRcdGxldCBsZWZ0ID0gd2luZG93LnNjcmVlbkxlZnQgKyB3aW5kb3cub3V0ZXJXaWR0aDtcblx0XHRpZiAobGVmdCArIHdpbmRvd1dpZHRoID4gd2luZG93LnNjcmVlbi5hdmFpbFdpZHRoKSB7XG5cdFx0XHRsZWZ0ID0gd2luZG93LnNjcmVlbi5hdmFpbFdpZHRoIC0gd2luZG93V2lkdGg7XG5cdFx0fVxuXHRcdGxldCB0aGVtZSA9IFRoZW1pbmcuZ2V0VGhlbWUoKTtcblx0XHR0aGVtZSA9IHRoaXMuX3Nhbml0aXplVGhlbWUodGhlbWUpO1xuXHRcdGNvbnN0IHVybCA9IHNhcC51aS5yZXF1aXJlLnRvVXJsKFwic2FwL2ZlL2NvbnRyb2xzL3Nob3J0Y3V0cy9wb3B1cC9pbmRleC5odG1sXCIpO1xuXHRcdGNvbnN0IGxvY2FsT3JpZ2luID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3Q7XG5cdFx0Ly8gV2UgcGFzcyB0aGUgdGhlbWUgYW5kIHRoZSBvcmlnaW4gdG8gdGhlIHBvcHVwIHNvIHRoYXQgaXQgY2FuIGNvbW11bmljYXRlIHNhZmVseSB3aXRoIHRoZSBwYXJlbnRcblx0XHRjb25zdCBwYXJhbXMgPSBcIj9zYXAtdWkteHgtc2hvcnRjdXQtb3JpZ2luPVwiICsgZW5jb2RlVVJMKGxvY2FsT3JpZ2luKSArIFwiJnNhcC11aS10aGVtZT1cIiArIHRoZW1lO1xuXHRcdGNvbnN0IG15V2luID0gd2luZG93Lm9wZW4oXG5cdFx0XHR1cmwgKyBwYXJhbXMsXG5cdFx0XHRcIl9ibGFua1wiLFxuXHRcdFx0YHBvcHVwLHRvb2xiYXI9bm8sbWVudWJhcj1ubyxzY3JvbGxiYXJzPW5vLGxvY2F0aW9uPW5vLHdpZHRoPSR7d2luZG93V2lkdGh9LGhlaWdodD01NTAsdG9wPSR7d2luZG93LnNjcmVlblRvcH0sbGVmdD0ke2xlZnR9YFxuXHRcdCk7XG5cdFx0aWYgKG15V2luKSB7XG5cdFx0XHRjb25zdCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQgPSAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKGxvY2FsT3JpZ2luID09PSBtZXNzYWdlRXZlbnQub3JpZ2luKSB7XG5cdFx0XHRcdFx0Y29uc3QgbWVzc2FnZURhdGEgPSBtZXNzYWdlRXZlbnQ/LmRhdGE7XG5cdFx0XHRcdFx0aWYgKG1lc3NhZ2VEYXRhLnNlcnZpY2UgPT09IFwic2FwLnVpLmludGVyYWN0aW9uLk1lc3NhZ2VQb3J0UmVhZHlcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgbWVzc2FnZVBvcnQgPSBtZXNzYWdlRXZlbnQucG9ydHNbMF07IC8vIFJlbWVtYmVyIHRoZSBwb3J0XG5cdFx0XHRcdFx0XHRteVdpbi5wb3N0TWVzc2FnZSh7IHNlcnZpY2U6IFwic2FwLnVpLmludGVyYWN0aW9uLk1lc3NhZ2VQb3J0UmVhZHlcIiB9LCB1cmwuc3RhcnRzV2l0aChcIi9cIikgPyBsb2NhbE9yaWdpbiA6IHVybCwgW1xuXHRcdFx0XHRcdFx0XHRtZXNzYWdlUG9ydFxuXHRcdFx0XHRcdFx0XSk7XG5cdFx0XHRcdFx0XHR3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlTWVzc2FnZVJlY2VpdmVkKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRteVdpbi5vcGVuZXIgPSBudWxsO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHQvLyBUaGlzIG1pZ2h0IGZhaWwgd2hlbiB0aGVyZSBpcyBDT1JTIGludm9sdmVkIGFueXdheSBhbmQgd2UgY2FuJ3QgYWNjZXNzIHRoZSBvcGVuZXIgYW55d2F5XG5cdFx0XHRcdExvZy5kZWJ1ZyhcIkNhbm5vdCBzZXQgb3BlbmVyIHRvIG51bGxcIiwgZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpKTtcblx0XHRcdH1cblxuXHRcdFx0c2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG5cdFx0XHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQpO1xuXHRcdFx0XHR3aW5kb3cucG9zdE1lc3NhZ2UoXG5cdFx0XHRcdFx0eyBpZDogXCJzYXAuZmUuaW50ZXJhY3Rpb24uUG9wdXBcIiArIHRoaXMuX3BvcHVwSWR4KyssIHNlcnZpY2U6IFwic2FwLnVpLmludGVyYWN0aW9uLlJlcXVlc3RNZXNzYWdlUG9ydFwiIH0sXG5cdFx0XHRcdFx0bG9jYWxPcmlnaW5cblx0XHRcdFx0KTtcblx0XHRcdH0sIDE1MDApOyAvLyBnaXZlIGEgYml0IG9mIHRpbWUgZm9yIHRoZSBwb3B1cCB0byBiZSByZWFkeVxuXHRcdFx0Ly8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgb25sb2FkIG9mIHRoZSBwb3B1cCBiZWNhdXNlIGl0IGlzIG5vdCBhbHdheXMgYXZhaWxibGUgaW4gQ09SUyBzY2VuYXJpb3Ncblx0XHRcdHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uICgpOiB2b2lkIHtcblx0XHRcdFx0bXlXaW4uY2xvc2UoKTtcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFNhbml0aXplcyB0aGUgdGhlbWUgbmFtZSB0byBlbnN1cmUgaXQgc3RhcnRzIHdpdGggXCJzYXAtXCIuXG5cdCAqIElmIHRoZSB0aGVtZSBkb2VzIG5vdCBzdGFydCB3aXRoIFwic2FwLVwiLCBpdCB0cmllcyB0byBnZXQgdGhlIHRoZW1lIGZyb20gdGhlIGNvbXB1dGVkIHN0eWxlcy5cblx0ICogSWYgaXQgc3RpbGwgZG9lcyBub3QgZmluZCBhIHZhbGlkIHRoZW1lLCBpdCBkZWZhdWx0cyB0byBcInNhcF9ob3Jpem9uXCIuXG5cdCAqIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIHBvcHVwIGFsd2F5cyB1c2VzIGEgdmFsaWQgdGhlbWUuXG5cdCAqIEBwYXJhbSB0aGVtZSBUaGUgdGhlbWUgbmFtZSB0byBzYW5pdGl6ZVxuXHQgKiBAcmV0dXJucyBUaGUgc2FuaXRpemVkIHRoZW1lIG5hbWVcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByaXZhdGUgX3Nhbml0aXplVGhlbWUodGhlbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0aWYgKCF0aGVtZS5zdGFydHNXaXRoKFwic2FwX1wiKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgY29tcHV0ZWRTdHlsZXMgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7XG5cdFx0XHRcdHRoZW1lID0gY29tcHV0ZWRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShcIi0tc2FwU2FwVGhlbWVJZFwiKTtcblx0XHRcdFx0aWYgKCF0aGVtZSkge1xuXHRcdFx0XHRcdGNvbnN0IHRoZW1lTWV0YWRhdGEgPSBjb21wdXRlZFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1zYXBUaGVtZU1ldGFEYXRhLVVJNS1zYXAtdWktY29yZVwiKTtcblx0XHRcdFx0XHRpZiAodGhlbWVNZXRhZGF0YSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgdGhlbWVNYXRjaCA9IEpTT04ucGFyc2UodGhlbWVNZXRhZGF0YSk7XG5cdFx0XHRcdFx0XHRpZiAodGhlbWVNYXRjaCAmJiB0aGVtZU1hdGNoLkV4dGVuZHMgJiYgdGhlbWVNYXRjaC5FeHRlbmRzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdFx0dGhlbWUgPSB0aGVtZU1hdGNoLkV4dGVuZHNbMF07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdExvZy5pbmZvKFwiQ2Fubm90IGdldCB0aGVtZSBmcm9tIGNvbXB1dGVkIHN0eWxlc1wiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0XHR0aGVtZSA9IFwic2FwX2hvcml6b25cIjtcblx0XHRcdH1cblx0XHRcdGlmICghdGhlbWUgfHwgIXRoZW1lLnN0YXJ0c1dpdGgoXCJzYXBfXCIpKSB7XG5cdFx0XHRcdC8vIEZpbmFsIGZhbGxiYWNrIHRvIHNhcF9ob3Jpem9uXG5cdFx0XHRcdHRoZW1lID0gXCJzYXBfaG9yaXpvblwiO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhlbWU7XG5cdH1cblxuXHRzdGF0aWMgaW5zdGFuY2VQcm9taXNlOiBQcm9taXNlPFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZD47XG5cblx0c3RhdGljIGluc3RhbmNlOiBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ7XG5cblx0c3RhdGljIGlzRGlhbG9nQWRkZWQgPSBmYWxzZTtcblxuXHQvLyBLZWVwIHJlZmVyZW5jZSB0byB0aGUgY3JlYXRlZCB1c2VyIGFjdGlvbiBzbyB3ZSBjYW4gY2xlYW4gaXQgdXAgb24gaWZyYW1lIHJlbG9hZCB0byBhdm9pZCBkdXBsaWNhdGVcblx0c3RhdGljIF91c2VyQWN0aW9uOiBJdGVtO1xuXG5cdHN0YXRpYyBfY2xlYW51cEF0dGFjaGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgb3IgcmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlci5cblx0ICogVGhpcyBpcyBhIHNpbmdsZXRvbiB0byBlbnN1cmUgd2Ugb25seSBoYXZlIG9uZSBpbnN0YW5jZSBvZiB0aGUgZGlhbG9nLlxuXHQgKiBAcmV0dXJucyBUaGUgaW5zdGFuY2Ugb2YgdGhlIFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlclxuXHQgKi9cblx0c3RhdGljIGFzeW5jIGdldEluc3RhbmNlKCk6IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPiB7XG5cdFx0Ly8gVGVzdCB0aGUgc2hlbGwgZXhpc3RlbmNlIGFuZCByZWdpc3RlciB0aGUgZXh0ZW5zaW9uXG5cdFx0Y29uc3Qgc2hlbGxDb250YWluZXIgPSBzYXAudWkucmVxdWlyZShcInNhcC91c2hlbGwvQ29udGFpbmVyXCIpIGFzIENvbnRhaW5lciB8IHVuZGVmaW5lZDtcblx0XHRsZXQgcmVzb2x2ZUNyZWF0aW9uOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcblx0XHR0cnkge1xuXHRcdFx0aWYgKHNoZWxsQ29udGFpbmVyICYmICF0aGlzLmluc3RhbmNlKSB7XG5cdFx0XHRcdHRoaXMuaW5zdGFuY2VQcm9taXNlID0gbmV3IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPigocmVzb2x2ZSkgPT4ge1xuXHRcdFx0XHRcdHJlc29sdmVDcmVhdGlvbiA9IHJlc29sdmU7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRjb25zdCBhcHBMaWZlQ3ljbGUgPSAoYXdhaXQgc2hlbGxDb250YWluZXIuZ2V0U2VydmljZUFzeW5jKFwiQXBwTGlmZUN5Y2xlXCIpKSBhcyBBcHBMaWZlQ3ljbGUgfCB1bmRlZmluZWQ7XG5cdFx0XHRcdGNvbnN0IGV4dGVuc2lvblNlcnZpY2UgPSAoYXdhaXQgc2hlbGxDb250YWluZXIuZ2V0U2VydmljZUFzeW5jKFwiRXh0ZW5zaW9uXCIpKSBhcyBFeHRlbnNpb24gfCB1bmRlZmluZWQ7XG5cdFx0XHRcdGlmIChleHRlbnNpb25TZXJ2aWNlKSB7XG5cdFx0XHRcdFx0YXBwTGlmZUN5Y2xlPy5hdHRhY2hBcHBMb2FkZWQoXG5cdFx0XHRcdFx0XHR7fSxcblx0XHRcdFx0XHRcdGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc2hlbGxIaXN0b3J5UHJvdmlkZXIgPSBhd2FpdCBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIucmVnaXN0ZXJVc2VyQWN0aW9uKGV4dGVuc2lvblNlcnZpY2UpO1xuXHRcdFx0XHRcdFx0XHR0aGlzLmluc3RhbmNlID0gc2hlbGxIaXN0b3J5UHJvdmlkZXI7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmVDcmVhdGlvbiEoc2hlbGxIaXN0b3J5UHJvdmlkZXIpO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHRoaXNcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IHJlZ2lzdGVyIGV4dGVuc2lvblwiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0cmVzb2x2ZUNyZWF0aW9uPy4odW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuaW5zdGFuY2VQcm9taXNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgdGhlIHVzZXIgYWN0aW9uIHRvIHRoZSBzaGVsbCwgdGhlIGFjdGlvbiB3aWxsIG9wZW4gdGhlIGRpYWxvZyB3aXRoIHRoZSBzaG9ydGN1dHMuXG5cdCAqIEBwYXJhbSBzaGVsbEV4dGVuc2lvblNlcnZpY2UgVGhlIGV4dGVuc2lvbiBzZXJ2aWNlIHRvIGFkZCB0aGUgdXNlciBhY3Rpb24gdG8gdGhlIHNoZWxsXG5cdCAqIEByZXR1cm5zIFRoZSBkaWFsb2cgd2l0aCB0aGUgc2hvcnRjdXRzXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgcmVnaXN0ZXJVc2VyQWN0aW9uKHNoZWxsRXh0ZW5zaW9uU2VydmljZTogRXh0ZW5zaW9uKTogUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBMaWIuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29udHJvbHNcIikhO1xuXG5cdFx0XHRjb25zdCBzaGVsbEhpc3RvcnlEaWFsb2cgPSBuZXcgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyKCk7XG5cdFx0XHRjb25zdCB1c2VyQWN0aW9uID0gYXdhaXQgc2hlbGxFeHRlbnNpb25TZXJ2aWNlLmNyZWF0ZVVzZXJBY3Rpb24oXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpZDogXCJzYXB1aTUuc2hvcnRjdXQuZXhwbGFuYXRpb24udHJpZ2dlclwiLFxuXHRcdFx0XHRcdHRleHQ6IHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJDX1NIT1JUQ1VUX1RJVExFXCIpLFxuXHRcdFx0XHRcdGljb246IEljb25Qb29sLmdldEljb25VUkkoXCJrZXlib2FyZC1hbmQtbW91c2VcIiksXG5cdFx0XHRcdFx0cHJlc3M6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdHNoZWxsSGlzdG9yeURpYWxvZy5nZXRTaGVsbERpYWxvZ0NvbnRlbnQoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRjb250cm9sVHlwZTogXCJzYXAubS5CdXR0b25cIlxuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHRcdFx0Ly8gU3RvcmUgcmVmZXJlbmNlIGZvciBjbGVhbnVwIHdoZW4gdGhlIGlmcmFtZSBpcyByZWxvYWRlZC91bmxvYWRlZFxuXHRcdFx0dGhpcy5fdXNlckFjdGlvbiA9IHVzZXJBY3Rpb247XG5cblx0XHRcdGlmICghdGhpcy5fY2xlYW51cEF0dGFjaGVkKSB7XG5cdFx0XHRcdHRoaXMuX2NsZWFudXBBdHRhY2hlZCA9IHRydWU7XG5cdFx0XHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGFnZWhpZGVcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3VzZXJBY3Rpb24uZGVzdHJveSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0dXNlckFjdGlvbi5zaG93Rm9yQ3VycmVudEFwcCgpO1xuXHRcdFx0cmV0dXJuIHNoZWxsSGlzdG9yeURpYWxvZztcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdExvZy5lcnJvcihcIkNhbm5vdCBhZGQgdXNlciBhY3Rpb25cIiwgZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0VBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUpBLElBTXFCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLHVEQUF1RCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSxJQUFB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
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIiwiX01hbmFnZWRPYmplY3QiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9wb3B1cElkeCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRTaGVsbERpYWxvZ0NvbnRlbnQiLCJ3aW5kb3dXaWR0aCIsImxlZnQiLCJ3aW5kb3ciLCJzY3JlZW5MZWZ0Iiwib3V0ZXJXaWR0aCIsInNjcmVlbiIsImF2YWlsV2lkdGgiLCJ0aGVtZSIsIlRoZW1pbmciLCJnZXRUaGVtZSIsIl9zYW5pdGl6ZVRoZW1lIiwidXJsIiwic2FwIiwidWkiLCJyZXF1aXJlIiwidG9VcmwiLCJsb2NhbE9yaWdpbiIsImxvY2F0aW9uIiwicHJvdG9jb2wiLCJob3N0IiwicGFyYW1zIiwiZW5jb2RlVVJMIiwibXlXaW4iLCJvcGVuIiwic2NyZWVuVG9wIiwiaGFuZGxlTWVzc2FnZVJlY2VpdmVkIiwibWVzc2FnZUV2ZW50Iiwib3JpZ2luIiwibWVzc2FnZURhdGEiLCJkYXRhIiwic2VydmljZSIsIm1lc3NhZ2VQb3J0IiwicG9ydHMiLCJwb3N0TWVzc2FnZSIsInN0YXJ0c1dpdGgiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib3BlbmVyIiwiZSIsIkxvZyIsImRlYnVnIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJpZCIsIm9udW5sb2FkIiwiY2xvc2UiLCJjb21wdXRlZFN0eWxlcyIsImdldENvbXB1dGVkU3R5bGUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImdldFByb3BlcnR5VmFsdWUiLCJ0aGVtZU1ldGFkYXRhIiwidGhlbWVNYXRjaCIsIkpTT04iLCJwYXJzZSIsIkV4dGVuZHMiLCJpbmZvIiwiZ2V0SW5zdGFuY2UiLCJzaGVsbENvbnRhaW5lciIsInJlc29sdmVDcmVhdGlvbiIsImluc3RhbmNlIiwiaW5zdGFuY2VQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhcHBMaWZlQ3ljbGUiLCJnZXRTZXJ2aWNlQXN5bmMiLCJleHRlbnNpb25TZXJ2aWNlIiwiYXR0YWNoQXBwTG9hZGVkIiwic2hlbGxIaXN0b3J5UHJvdmlkZXIiLCJyZWdpc3RlclVzZXJBY3Rpb24iLCJlcnJvciIsInVuZGVmaW5lZCIsInNoZWxsRXh0ZW5zaW9uU2VydmljZSIsInJlc291cmNlQnVuZGxlIiwiTGliIiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJzaGVsbEhpc3RvcnlEaWFsb2ciLCJfdXNlckFjdGlvbiIsImRlc3Ryb3kiLCJ1c2VyQWN0aW9uIiwiY3JlYXRlVXNlckFjdGlvbiIsInRleHQiLCJnZXRUZXh0IiwiaWNvbiIsIkljb25Qb29sIiwiZ2V0SWNvblVSSSIsInByZXNzIiwiY29udHJvbFR5cGUiLCJfY2xlYW51cEF0dGFjaGVkIiwic2hvd0ZvckN1cnJlbnRBcHAiLCJlcnIiLCJNYW5hZ2VkT2JqZWN0IiwiaXNEaWFsb2dBZGRlZCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBlbmNvZGVVUkwgZnJvbSBcInNhcC9iYXNlL3NlY3VyaXR5L2VuY29kZVVSTFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IEljb25Qb29sIGZyb20gXCJzYXAvdWkvY29yZS9JY29uUG9vbFwiO1xuaW1wb3J0IExpYiBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgVGhlbWluZyBmcm9tIFwic2FwL3VpL2NvcmUvVGhlbWluZ1wiO1xuaW1wb3J0IHR5cGUgQ29udGFpbmVyIGZyb20gXCJzYXAvdXNoZWxsL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgQXBwTGlmZUN5Y2xlIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0FwcExpZmVDeWNsZVwiO1xuaW1wb3J0IHR5cGUgRXh0ZW5zaW9uIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0V4dGVuc2lvblwiO1xuaW1wb3J0IHR5cGUgSXRlbSBmcm9tIFwic2FwL3VzaGVsbC9zZXJ2aWNlcy9FeHRlbnNpb24vSXRlbVwiO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgZGlhbG9nIHRvIGV4cGxhaW4gdGhlIHNob3J0Y3V0cyB0byB0aGUgdXNlci5cbiAqIFRoaXMgZGlhbG9nIHdpbGwgYmUgcmVnaXN0ZXJlZCBpbiB0aGUgc2hlbGwgdXNlciBtZW51IGFuZCB3aWxsIG9wZW4gYXMgYW4gaW5kZXBlbmRlbnQgd2luZG93LlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29udHJvbHMuc2hvcnRjdXRzLlNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlclwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIGV4dGVuZHMgTWFuYWdlZE9iamVjdCB7XG5cdHByaXZhdGUgX3BvcHVwSWR4ID0gMDtcblxuXHRnZXRTaGVsbERpYWxvZ0NvbnRlbnQoKTogdm9pZCB7XG5cdFx0Ly8gUG9zaXRpb24gdG8gdG9wIHJpZ2h0IG9mIHRoZSBtYWluIHdpbmRvdyBpZiBwb3NzaWJsZVxuXHRcdGNvbnN0IHdpbmRvd1dpZHRoID0gNjIwO1xuXHRcdGxldCBsZWZ0ID0gd2luZG93LnNjcmVlbkxlZnQgKyB3aW5kb3cub3V0ZXJXaWR0aDtcblx0XHRpZiAobGVmdCArIHdpbmRvd1dpZHRoID4gd2luZG93LnNjcmVlbi5hdmFpbFdpZHRoKSB7XG5cdFx0XHRsZWZ0ID0gd2luZG93LnNjcmVlbi5hdmFpbFdpZHRoIC0gd2luZG93V2lkdGg7XG5cdFx0fVxuXHRcdGxldCB0aGVtZSA9IFRoZW1pbmcuZ2V0VGhlbWUoKTtcblx0XHR0aGVtZSA9IHRoaXMuX3Nhbml0aXplVGhlbWUodGhlbWUpO1xuXHRcdGNvbnN0IHVybCA9IHNhcC51aS5yZXF1aXJlLnRvVXJsKFwic2FwL2ZlL2NvbnRyb2xzL3Nob3J0Y3V0cy9wb3B1cC9pbmRleC5odG1sXCIpO1xuXHRcdGNvbnN0IGxvY2FsT3JpZ2luID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3Q7XG5cdFx0Ly8gV2UgcGFzcyB0aGUgdGhlbWUgYW5kIHRoZSBvcmlnaW4gdG8gdGhlIHBvcHVwIHNvIHRoYXQgaXQgY2FuIGNvbW11bmljYXRlIHNhZmVseSB3aXRoIHRoZSBwYXJlbnRcblx0XHRjb25zdCBwYXJhbXMgPSBcIj9zYXAtdWkteHgtc2hvcnRjdXQtb3JpZ2luPVwiICsgZW5jb2RlVVJMKGxvY2FsT3JpZ2luKSArIFwiJnNhcC11aS10aGVtZT1cIiArIHRoZW1lO1xuXHRcdGNvbnN0IG15V2luID0gd2luZG93Lm9wZW4oXG5cdFx0XHR1cmwgKyBwYXJhbXMsXG5cdFx0XHRcIl9ibGFua1wiLFxuXHRcdFx0YHBvcHVwLHRvb2xiYXI9bm8sbWVudWJhcj1ubyxzY3JvbGxiYXJzPW5vLGxvY2F0aW9uPW5vLHdpZHRoPSR7d2luZG93V2lkdGh9LGhlaWdodD01NTAsdG9wPSR7d2luZG93LnNjcmVlblRvcH0sbGVmdD0ke2xlZnR9YFxuXHRcdCk7XG5cdFx0aWYgKG15V2luKSB7XG5cdFx0XHRjb25zdCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQgPSAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKGxvY2FsT3JpZ2luID09PSBtZXNzYWdlRXZlbnQub3JpZ2luKSB7XG5cdFx0XHRcdFx0Y29uc3QgbWVzc2FnZURhdGEgPSBtZXNzYWdlRXZlbnQ/LmRhdGE7XG5cdFx0XHRcdFx0aWYgKG1lc3NhZ2VEYXRhLnNlcnZpY2UgPT09IFwic2FwLnVpLmludGVyYWN0aW9uLk1lc3NhZ2VQb3J0UmVhZHlcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgbWVzc2FnZVBvcnQgPSBtZXNzYWdlRXZlbnQucG9ydHNbMF07IC8vIFJlbWVtYmVyIHRoZSBwb3J0XG5cdFx0XHRcdFx0XHRteVdpbi5wb3N0TWVzc2FnZSh7IHNlcnZpY2U6IFwic2FwLnVpLmludGVyYWN0aW9uLk1lc3NhZ2VQb3J0UmVhZHlcIiB9LCB1cmwuc3RhcnRzV2l0aChcIi9cIikgPyBsb2NhbE9yaWdpbiA6IHVybCwgW1xuXHRcdFx0XHRcdFx0XHRtZXNzYWdlUG9ydFxuXHRcdFx0XHRcdFx0XSk7XG5cdFx0XHRcdFx0XHR3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlTWVzc2FnZVJlY2VpdmVkKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRteVdpbi5vcGVuZXIgPSBudWxsO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHQvLyBUaGlzIG1pZ2h0IGZhaWwgd2hlbiB0aGVyZSBpcyBDT1JTIGludm9sdmVkIGFueXdheSBhbmQgd2UgY2FuJ3QgYWNjZXNzIHRoZSBvcGVuZXIgYW55d2F5XG5cdFx0XHRcdExvZy5kZWJ1ZyhcIkNhbm5vdCBzZXQgb3BlbmVyIHRvIG51bGxcIiwgZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpKTtcblx0XHRcdH1cblxuXHRcdFx0c2V0VGltZW91dCgoKTogdm9pZCA9PiB7XG5cdFx0XHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQpO1xuXHRcdFx0XHR3aW5kb3cucG9zdE1lc3NhZ2UoXG5cdFx0XHRcdFx0eyBpZDogXCJzYXAuZmUuaW50ZXJhY3Rpb24uUG9wdXBcIiArIHRoaXMuX3BvcHVwSWR4KyssIHNlcnZpY2U6IFwic2FwLnVpLmludGVyYWN0aW9uLlJlcXVlc3RNZXNzYWdlUG9ydFwiIH0sXG5cdFx0XHRcdFx0bG9jYWxPcmlnaW5cblx0XHRcdFx0KTtcblx0XHRcdH0sIDE1MDApOyAvLyBnaXZlIGEgYml0IG9mIHRpbWUgZm9yIHRoZSBwb3B1cCB0byBiZSByZWFkeVxuXHRcdFx0Ly8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgb25sb2FkIG9mIHRoZSBwb3B1cCBiZWNhdXNlIGl0IGlzIG5vdCBhbHdheXMgYXZhaWxibGUgaW4gQ09SUyBzY2VuYXJpb3Ncblx0XHRcdHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uICgpOiB2b2lkIHtcblx0XHRcdFx0bXlXaW4uY2xvc2UoKTtcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFNhbml0aXplcyB0aGUgdGhlbWUgbmFtZSB0byBlbnN1cmUgaXQgc3RhcnRzIHdpdGggXCJzYXAtXCIuXG5cdCAqIElmIHRoZSB0aGVtZSBkb2VzIG5vdCBzdGFydCB3aXRoIFwic2FwLVwiLCBpdCB0cmllcyB0byBnZXQgdGhlIHRoZW1lIGZyb20gdGhlIGNvbXB1dGVkIHN0eWxlcy5cblx0ICogSWYgaXQgc3RpbGwgZG9lcyBub3QgZmluZCBhIHZhbGlkIHRoZW1lLCBpdCBkZWZhdWx0cyB0byBcInNhcF9ob3Jpem9uXCIuXG5cdCAqIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIHBvcHVwIGFsd2F5cyB1c2VzIGEgdmFsaWQgdGhlbWUuXG5cdCAqIEBwYXJhbSB0aGVtZSBUaGUgdGhlbWUgbmFtZSB0byBzYW5pdGl6ZVxuXHQgKiBAcmV0dXJucyBUaGUgc2FuaXRpemVkIHRoZW1lIG5hbWVcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByaXZhdGUgX3Nhbml0aXplVGhlbWUodGhlbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0aWYgKCF0aGVtZS5zdGFydHNXaXRoKFwic2FwX1wiKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgY29tcHV0ZWRTdHlsZXMgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7XG5cdFx0XHRcdHRoZW1lID0gY29tcHV0ZWRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShcIi0tc2FwU2FwVGhlbWVJZFwiKTtcblx0XHRcdFx0aWYgKCF0aGVtZSkge1xuXHRcdFx0XHRcdGNvbnN0IHRoZW1lTWV0YWRhdGEgPSBjb21wdXRlZFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1zYXBUaGVtZU1ldGFEYXRhLVVJNS1zYXAtdWktY29yZVwiKTtcblx0XHRcdFx0XHRpZiAodGhlbWVNZXRhZGF0YSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgdGhlbWVNYXRjaCA9IEpTT04ucGFyc2UodGhlbWVNZXRhZGF0YSk7XG5cdFx0XHRcdFx0XHRpZiAodGhlbWVNYXRjaCAmJiB0aGVtZU1hdGNoLkV4dGVuZHMgJiYgdGhlbWVNYXRjaC5FeHRlbmRzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdFx0dGhlbWUgPSB0aGVtZU1hdGNoLkV4dGVuZHNbMF07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdExvZy5pbmZvKFwiQ2Fubm90IGdldCB0aGVtZSBmcm9tIGNvbXB1dGVkIHN0eWxlc1wiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0XHR0aGVtZSA9IFwic2FwX2hvcml6b25cIjtcblx0XHRcdH1cblx0XHRcdGlmICghdGhlbWUgfHwgIXRoZW1lLnN0YXJ0c1dpdGgoXCJzYXBfXCIpKSB7XG5cdFx0XHRcdC8vIEZpbmFsIGZhbGxiYWNrIHRvIHNhcF9ob3Jpem9uXG5cdFx0XHRcdHRoZW1lID0gXCJzYXBfaG9yaXpvblwiO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhlbWU7XG5cdH1cblxuXHRzdGF0aWMgaW5zdGFuY2VQcm9taXNlOiBQcm9taXNlPFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZD47XG5cblx0c3RhdGljIGluc3RhbmNlOiBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ7XG5cblx0c3RhdGljIGlzRGlhbG9nQWRkZWQgPSBmYWxzZTtcblxuXHQvLyBLZWVwIHJlZmVyZW5jZSB0byB0aGUgY3JlYXRlZCB1c2VyIGFjdGlvbiBzbyB3ZSBjYW4gY2xlYW4gaXQgdXAgb24gaWZyYW1lIHJlbG9hZCB0byBhdm9pZCBkdXBsaWNhdGVcblx0c3RhdGljIF91c2VyQWN0aW9uOiBJdGVtIHwgdW5kZWZpbmVkO1xuXG5cdHN0YXRpYyBfY2xlYW51cEF0dGFjaGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgb3IgcmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlci5cblx0ICogVGhpcyBpcyBhIHNpbmdsZXRvbiB0byBlbnN1cmUgd2Ugb25seSBoYXZlIG9uZSBpbnN0YW5jZSBvZiB0aGUgZGlhbG9nLlxuXHQgKiBAcmV0dXJucyBUaGUgaW5zdGFuY2Ugb2YgdGhlIFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlclxuXHQgKi9cblx0c3RhdGljIGFzeW5jIGdldEluc3RhbmNlKCk6IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPiB7XG5cdFx0Ly8gVGVzdCB0aGUgc2hlbGwgZXhpc3RlbmNlIGFuZCByZWdpc3RlciB0aGUgZXh0ZW5zaW9uXG5cdFx0Y29uc3Qgc2hlbGxDb250YWluZXIgPSBzYXAudWkucmVxdWlyZShcInNhcC91c2hlbGwvQ29udGFpbmVyXCIpIGFzIENvbnRhaW5lciB8IHVuZGVmaW5lZDtcblx0XHRsZXQgcmVzb2x2ZUNyZWF0aW9uOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcblx0XHR0cnkge1xuXHRcdFx0aWYgKHNoZWxsQ29udGFpbmVyICYmICF0aGlzLmluc3RhbmNlKSB7XG5cdFx0XHRcdHRoaXMuaW5zdGFuY2VQcm9taXNlID0gbmV3IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPigocmVzb2x2ZSkgPT4ge1xuXHRcdFx0XHRcdHJlc29sdmVDcmVhdGlvbiA9IHJlc29sdmU7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRjb25zdCBhcHBMaWZlQ3ljbGUgPSAoYXdhaXQgc2hlbGxDb250YWluZXIuZ2V0U2VydmljZUFzeW5jKFwiQXBwTGlmZUN5Y2xlXCIpKSBhcyBBcHBMaWZlQ3ljbGUgfCB1bmRlZmluZWQ7XG5cdFx0XHRcdGNvbnN0IGV4dGVuc2lvblNlcnZpY2UgPSAoYXdhaXQgc2hlbGxDb250YWluZXIuZ2V0U2VydmljZUFzeW5jKFwiRXh0ZW5zaW9uXCIpKSBhcyBFeHRlbnNpb24gfCB1bmRlZmluZWQ7XG5cdFx0XHRcdGlmIChleHRlbnNpb25TZXJ2aWNlKSB7XG5cdFx0XHRcdFx0YXBwTGlmZUN5Y2xlPy5hdHRhY2hBcHBMb2FkZWQoXG5cdFx0XHRcdFx0XHR7fSxcblx0XHRcdFx0XHRcdGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc2hlbGxIaXN0b3J5UHJvdmlkZXIgPSBhd2FpdCBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIucmVnaXN0ZXJVc2VyQWN0aW9uKGV4dGVuc2lvblNlcnZpY2UpO1xuXHRcdFx0XHRcdFx0XHR0aGlzLmluc3RhbmNlID0gc2hlbGxIaXN0b3J5UHJvdmlkZXI7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmVDcmVhdGlvbiEoc2hlbGxIaXN0b3J5UHJvdmlkZXIpO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHRoaXNcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IHJlZ2lzdGVyIGV4dGVuc2lvblwiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0cmVzb2x2ZUNyZWF0aW9uPy4odW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuaW5zdGFuY2VQcm9taXNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgdGhlIHVzZXIgYWN0aW9uIHRvIHRoZSBzaGVsbCwgdGhlIGFjdGlvbiB3aWxsIG9wZW4gdGhlIGRpYWxvZyB3aXRoIHRoZSBzaG9ydGN1dHMuXG5cdCAqIEBwYXJhbSBzaGVsbEV4dGVuc2lvblNlcnZpY2UgVGhlIGV4dGVuc2lvbiBzZXJ2aWNlIHRvIGFkZCB0aGUgdXNlciBhY3Rpb24gdG8gdGhlIHNoZWxsXG5cdCAqIEByZXR1cm5zIFRoZSBkaWFsb2cgd2l0aCB0aGUgc2hvcnRjdXRzXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgcmVnaXN0ZXJVc2VyQWN0aW9uKHNoZWxsRXh0ZW5zaW9uU2VydmljZTogRXh0ZW5zaW9uKTogUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBMaWIuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29udHJvbHNcIikhO1xuXG5cdFx0XHRjb25zdCBzaGVsbEhpc3RvcnlEaWFsb2cgPSBuZXcgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyKCk7XG5cblx0XHRcdC8vIERlc3Ryb3kgcHJldmlvdXMgdXNlciBhY3Rpb24gYmVmb3JlIGNyZWF0aW5nIGEgbmV3IG9uZSB0byBwcmV2ZW50IGR1cGxpY2F0ZXMgaW4ga2VlcC1hbGl2ZSBuYXZpZ2F0aW9uXG5cdFx0XHRpZiAodGhpcy5fdXNlckFjdGlvbikge1xuXHRcdFx0XHR0aGlzLl91c2VyQWN0aW9uLmRlc3Ryb3koKTtcblx0XHRcdFx0dGhpcy5fdXNlckFjdGlvbiA9IHVuZGVmaW5lZDtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgdXNlckFjdGlvbiA9IGF3YWl0IHNoZWxsRXh0ZW5zaW9uU2VydmljZS5jcmVhdGVVc2VyQWN0aW9uKFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWQ6IFwic2FwdWk1LnNob3J0Y3V0LmV4cGxhbmF0aW9uLnRyaWdnZXJcIixcblx0XHRcdFx0XHR0ZXh0OiByZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiQ19TSE9SVENVVF9USVRMRVwiKSxcblx0XHRcdFx0XHRpY29uOiBJY29uUG9vbC5nZXRJY29uVVJJKFwia2V5Ym9hcmQtYW5kLW1vdXNlXCIpLFxuXHRcdFx0XHRcdHByZXNzOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRzaGVsbEhpc3RvcnlEaWFsb2cuZ2V0U2hlbGxEaWFsb2dDb250ZW50KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Y29udHJvbFR5cGU6IFwic2FwLm0uQnV0dG9uXCJcblx0XHRcdFx0fVxuXHRcdFx0KTtcblx0XHRcdC8vIFN0b3JlIHJlZmVyZW5jZSBmb3IgY2xlYW51cCB3aGVuIHRoZSBpZnJhbWUgaXMgcmVsb2FkZWQvdW5sb2FkZWRcblx0XHRcdHRoaXMuX3VzZXJBY3Rpb24gPSB1c2VyQWN0aW9uO1xuXG5cdFx0XHRpZiAoIXRoaXMuX2NsZWFudXBBdHRhY2hlZCkge1xuXHRcdFx0XHR0aGlzLl9jbGVhbnVwQXR0YWNoZWQgPSB0cnVlO1xuXHRcdFx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLl91c2VyQWN0aW9uPy5kZXN0cm95KCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHR1c2VyQWN0aW9uLnNob3dGb3JDdXJyZW50QXBwKCk7XG5cdFx0XHRyZXR1cm4gc2hlbGxIaXN0b3J5RGlhbG9nO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IGFkZCB1c2VyIGFjdGlvblwiLCBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycikpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkEsSUFNcUJBLDJCQUEyQixJQUFBQyxJQUFBLEdBRC9DQyxjQUFjLENBQUMsdURBQXVELENBQUMsRUFBQUQsSUFBQSxDQUFBRSxNQUFBLElBQUFDLDRCQUFBLDBCQUFBQyxjQUFBO0lBQUEsU0FBQUwsNEJBQUE7TUFBQSxJQUFBTSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxjQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUFBSixLQUFBLENBRS9EUSxTQUFTLEdBQUcsQ0FBQztNQUFBLE9BQUFSLEtBQUE7SUFBQTtJQUFBUyxRQUFBLEdBQUFmLDJCQUFBO0lBQUFnQixjQUFBLENBQUFoQiwyQkFBQSxFQUFBSyxjQUFBO0lBQUEsSUFBQVksTUFBQSxHQUFBakIsMkJBQUEsQ0FBQWtCLFNBQUE7SUFBQUQsTUFBQSxDQUVyQkUscUJBQXFCLEdBQXJCLFNBQUFBLHFCQUFxQkEsQ0FBQSxFQUFTO01BQzdCO01BQ0EsTUFBTUMsV0FBVyxHQUFHLEdBQUc7TUFDdkIsSUFBSUMsSUFBSSxHQUFHQyxNQUFNLENBQUNDLFVBQVUsR0FBR0QsTUFBTSxDQUFDRSxVQUFVO01BQ2hELElBQUlILElBQUksR0FBR0QsV0FBVyxHQUFHRSxNQUFNLENBQUNHLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFO1FBQ2xETCxJQUFJLEdBQUdDLE1BQU0sQ0FBQ0csTUFBTSxDQUFDQyxVQUFVLEdBQUdOLFdBQVc7TUFDOUM7TUFDQSxJQUFJTyxLQUFLLEdBQUdDLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLENBQUM7TUFDOUJGLEtBQUssR0FBRyxJQUFJLENBQUNHLGNBQWMsQ0FBQ0gsS0FBSyxDQUFDO01BQ2xDLE1BQU1JLEdBQUcsR0FBR0MsR0FBRyxDQUFDQyxFQUFFLENBQUNDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDRDQUE0QyxDQUFDO01BQzlFLE1BQU1DLFdBQVcsR0FBR2QsTUFBTSxDQUFDZSxRQUFRLENBQUNDLFFBQVEsR0FBRyxJQUFJLEdBQUdoQixNQUFNLENBQUNlLFFBQVEsQ0FBQ0UsSUFBSTtNQUMxRTtNQUNBLE1BQU1DLE1BQU0sR0FBRyw2QkFBNkIsR0FBR0MsU0FBUyxDQUFDTCxXQUFXLENBQUMsR0FBRyxnQkFBZ0IsR0FBR1QsS0FBSztNQUNoRyxNQUFNZSxLQUFLLEdBQUdwQixNQUFNLENBQUNxQixJQUFJLENBQ3hCWixHQUFHLEdBQUdTLE1BQU0sRUFDWixRQUFRLEVBQ1IsK0RBQStEcEIsV0FBVyxtQkFBbUJFLE1BQU0sQ0FBQ3NCLFNBQVMsU0FBU3ZCLElBQUksRUFDM0gsQ0FBQztNQUNELElBQUlxQixLQUFLLEVBQUU7UUFDVixNQUFNRyxxQkFBcUIsR0FBSUMsWUFBMEIsSUFBVztVQUNuRSxJQUFJVixXQUFXLEtBQUtVLFlBQVksQ0FBQ0MsTUFBTSxFQUFFO1lBQ3hDLE1BQU1DLFdBQVcsR0FBR0YsWUFBWSxFQUFFRyxJQUFJO1lBQ3RDLElBQUlELFdBQVcsQ0FBQ0UsT0FBTyxLQUFLLHFDQUFxQyxFQUFFO2NBQ2xFLE1BQU1DLFdBQVcsR0FBR0wsWUFBWSxDQUFDTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztjQUMzQ1YsS0FBSyxDQUFDVyxXQUFXLENBQUM7Z0JBQUVILE9BQU8sRUFBRTtjQUFzQyxDQUFDLEVBQUVuQixHQUFHLENBQUN1QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUdsQixXQUFXLEdBQUdMLEdBQUcsRUFBRSxDQUM5R29CLFdBQVcsQ0FDWCxDQUFDO2NBQ0Y3QixNQUFNLENBQUNpQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUVWLHFCQUFxQixDQUFDO1lBQzdEO1VBQ0Q7UUFDRCxDQUFDO1FBQ0QsSUFBSTtVQUNISCxLQUFLLENBQUNjLE1BQU0sR0FBRyxJQUFJO1FBQ3BCLENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7VUFDWDtVQUNBQyxHQUFHLENBQUNDLEtBQUssQ0FBQywyQkFBMkIsRUFBRUYsQ0FBQyxZQUFZRyxLQUFLLEdBQUdILENBQUMsQ0FBQ0ksT0FBTyxHQUFHQyxNQUFNLENBQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ25GO1FBRUFNLFVBQVUsQ0FBQyxNQUFZO1VBQ3RCekMsTUFBTSxDQUFDMEMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFbkIscUJBQXFCLENBQUM7VUFDekR2QixNQUFNLENBQUMrQixXQUFXLENBQ2pCO1lBQUVZLEVBQUUsRUFBRSwwQkFBMEIsR0FBRyxJQUFJLENBQUNuRCxTQUFTLEVBQUU7WUFBRW9DLE9BQU8sRUFBRTtVQUF3QyxDQUFDLEVBQ3ZHZCxXQUNELENBQUM7UUFDRixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNWO1FBQ0FkLE1BQU0sQ0FBQzRDLFFBQVEsR0FBRyxZQUFrQjtVQUNuQ3hCLEtBQUssQ0FBQ3lCLEtBQUssQ0FBQyxDQUFDO1FBQ2QsQ0FBQztNQUNGO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BUkM7SUFBQWxELE1BQUEsQ0FTUWEsY0FBYyxHQUF0QixTQUFRQSxjQUFjQSxDQUFDSCxLQUFhLEVBQVU7TUFDN0MsSUFBSSxDQUFDQSxLQUFLLENBQUMyQixVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDOUIsSUFBSTtVQUNILE1BQU1jLGNBQWMsR0FBR0MsZ0JBQWdCLENBQUNDLFFBQVEsQ0FBQ0MsZUFBZSxDQUFDO1VBQ2pFNUMsS0FBSyxHQUFHeUMsY0FBYyxDQUFDSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztVQUMxRCxJQUFJLENBQUM3QyxLQUFLLEVBQUU7WUFDWCxNQUFNOEMsYUFBYSxHQUFHTCxjQUFjLENBQUNJLGdCQUFnQixDQUFDLG9DQUFvQyxDQUFDO1lBQzNGLElBQUlDLGFBQWEsRUFBRTtjQUNsQixNQUFNQyxVQUFVLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxhQUFhLENBQUM7Y0FDNUMsSUFBSUMsVUFBVSxJQUFJQSxVQUFVLENBQUNHLE9BQU8sSUFBSUgsVUFBVSxDQUFDRyxPQUFPLENBQUNwRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN0RWtCLEtBQUssR0FBRytDLFVBQVUsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQztjQUM5QjtZQUNEO1VBQ0Q7UUFDRCxDQUFDLENBQUMsT0FBT3BCLENBQUMsRUFBRTtVQUNYQyxHQUFHLENBQUNvQixJQUFJLENBQUMsdUNBQXVDLEVBQUVyQixDQUFDLFlBQVlHLEtBQUssR0FBR0gsQ0FBQyxDQUFDSSxPQUFPLEdBQUdDLE1BQU0sQ0FBQ0wsQ0FBQyxDQUFDLENBQUM7VUFDN0Y5QixLQUFLLEdBQUcsYUFBYTtRQUN0QjtRQUNBLElBQUksQ0FBQ0EsS0FBSyxJQUFJLENBQUNBLEtBQUssQ0FBQzJCLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtVQUN4QztVQUNBM0IsS0FBSyxHQUFHLGFBQWE7UUFDdEI7TUFDRDtNQUNBLE9BQU9BLEtBQUs7SUFDYixDQUFDO0lBYUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtJQUpDM0IsMkJBQUEsQ0FLYStFLFdBQVcsR0FBeEIsZUFBYUEsV0FBV0EsQ0FBQSxFQUFxRDtNQUM1RTtNQUNBLE1BQU1DLGNBQWMsR0FBR2hELEdBQUcsQ0FBQ0MsRUFBRSxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQTBCO01BQ3RGLElBQUkrQyxlQUFxQztNQUN6QyxJQUFJO1FBQ0gsSUFBSUQsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDRSxRQUFRLEVBQUU7VUFDckMsSUFBSSxDQUFDQyxlQUFlLEdBQUcsSUFBSUMsT0FBTyxDQUEyQ0MsT0FBTyxJQUFLO1lBQ3hGSixlQUFlLEdBQUdJLE9BQU87VUFDMUIsQ0FBQyxDQUFDO1VBQ0YsTUFBTUMsWUFBWSxHQUFJLE1BQU1OLGNBQWMsQ0FBQ08sZUFBZSxDQUFDLGNBQWMsQ0FBOEI7VUFDdkcsTUFBTUMsZ0JBQWdCLEdBQUksTUFBTVIsY0FBYyxDQUFDTyxlQUFlLENBQUMsV0FBVyxDQUEyQjtVQUNyRyxJQUFJQyxnQkFBZ0IsRUFBRTtZQUNyQkYsWUFBWSxFQUFFRyxlQUFlLENBQzVCLENBQUMsQ0FBQyxFQUNGLFlBQTJCO2NBQzFCLE1BQU1DLG9CQUFvQixHQUFHLE1BQU0xRiwyQkFBMkIsQ0FBQzJGLGtCQUFrQixDQUFDSCxnQkFBZ0IsQ0FBQztjQUNuRyxJQUFJLENBQUNOLFFBQVEsR0FBR1Esb0JBQW9CO2NBQ3BDVCxlQUFlLENBQUVTLG9CQUFvQixDQUFDO1lBQ3ZDLENBQUMsRUFDRCxJQUNELENBQUM7VUFDRjtRQUNEO01BQ0QsQ0FBQyxDQUFDLE9BQU9qQyxDQUFDLEVBQUU7UUFDWEMsR0FBRyxDQUFDa0MsS0FBSyxDQUFDLDJCQUEyQixFQUFFbkMsQ0FBQyxZQUFZRyxLQUFLLEdBQUdILENBQUMsQ0FBQ0ksT0FBTyxHQUFHQyxNQUFNLENBQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ2xGd0IsZUFBZSxHQUFHWSxTQUFTLENBQUM7TUFDN0I7TUFDQSxPQUFPLElBQUksQ0FBQ1YsZUFBZTtJQUM1Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQW5GLDJCQUFBLENBS2EyRixrQkFBa0IsR0FBL0IsZUFBYUEsa0JBQWtCQSxDQUFDRyxxQkFBZ0MsRUFBb0Q7TUFDbkgsSUFBSTtRQUNILE1BQU1DLGNBQWMsR0FBR0MsR0FBRyxDQUFDQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBRTtRQUVuRSxNQUFNQyxrQkFBa0IsR0FBRyxJQUFJbEcsMkJBQTJCLENBQUMsQ0FBQzs7UUFFNUQ7UUFDQSxJQUFJLElBQUksQ0FBQ21HLFdBQVcsRUFBRTtVQUNyQixJQUFJLENBQUNBLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDLENBQUM7VUFDMUIsSUFBSSxDQUFDRCxXQUFXLEdBQUdOLFNBQVM7UUFDN0I7UUFFQSxNQUFNUSxVQUFVLEdBQUcsTUFBTVAscUJBQXFCLENBQUNRLGdCQUFnQixDQUM5RDtVQUNDckMsRUFBRSxFQUFFLHFDQUFxQztVQUN6Q3NDLElBQUksRUFBRVIsY0FBYyxDQUFDUyxPQUFPLENBQUMsa0JBQWtCLENBQUM7VUFDaERDLElBQUksRUFBRUMsUUFBUSxDQUFDQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7VUFDL0NDLEtBQUssRUFBRUEsQ0FBQSxLQUFZO1lBQ2xCVixrQkFBa0IsQ0FBQy9FLHFCQUFxQixDQUFDLENBQUM7VUFDM0M7UUFDRCxDQUFDLEVBQ0Q7VUFDQzBGLFdBQVcsRUFBRTtRQUNkLENBQ0QsQ0FBQztRQUNEO1FBQ0EsSUFBSSxDQUFDVixXQUFXLEdBQUdFLFVBQVU7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQ1MsZ0JBQWdCLEVBQUU7VUFDM0IsSUFBSSxDQUFDQSxnQkFBZ0IsR0FBRyxJQUFJO1VBQzVCeEYsTUFBTSxDQUFDMEMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE1BQU07WUFDekMsSUFBSSxDQUFDbUMsV0FBVyxFQUFFQyxPQUFPLENBQUMsQ0FBQztVQUM1QixDQUFDLENBQUM7UUFDSDtRQUVBQyxVQUFVLENBQUNVLGlCQUFpQixDQUFDLENBQUM7UUFDOUIsT0FBT2Isa0JBQWtCO01BQzFCLENBQUMsQ0FBQyxPQUFPYyxHQUFHLEVBQUU7UUFDYnRELEdBQUcsQ0FBQ2tDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRW9CLEdBQUcsWUFBWXBELEtBQUssR0FBR29ELEdBQUcsQ0FBQ25ELE9BQU8sR0FBR0MsTUFBTSxDQUFDa0QsR0FBRyxDQUFDLENBQUM7TUFDdEY7SUFDRCxDQUFDO0lBQUEsT0FBQWhILDJCQUFBO0VBQUEsRUFyTHVEaUgsYUFBYSxHQUFBN0csNEJBQUEsQ0E4RjlEOEcsYUFBYSxHQUFHLEtBQUssRUFBQTlHLDRCQUFBLENBS3JCMEcsZ0JBQWdCLEdBQUcsS0FBSyxFQUFBMUcsNEJBQUEsTUFBQUQsTUFBQTtFQUFBWSxRQUFBLEdBQUFmLDJCQUFBO0VBQUEsT0FBQWUsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -113,7 +113,7 @@ export default class ShortcutExplanationProvider extends ManagedObject {
|
|
|
113
113
|
static isDialogAdded = false;
|
|
114
114
|
|
|
115
115
|
// Keep reference to the created user action so we can clean it up on iframe reload to avoid duplicate
|
|
116
|
-
static _userAction: Item;
|
|
116
|
+
static _userAction: Item | undefined;
|
|
117
117
|
|
|
118
118
|
static _cleanupAttached = false;
|
|
119
119
|
|
|
@@ -162,6 +162,13 @@ export default class ShortcutExplanationProvider extends ManagedObject {
|
|
|
162
162
|
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls")!;
|
|
163
163
|
|
|
164
164
|
const shellHistoryDialog = new ShortcutExplanationProvider();
|
|
165
|
+
|
|
166
|
+
// Destroy previous user action before creating a new one to prevent duplicates in keep-alive navigation
|
|
167
|
+
if (this._userAction) {
|
|
168
|
+
this._userAction.destroy();
|
|
169
|
+
this._userAction = undefined;
|
|
170
|
+
}
|
|
171
|
+
|
|
165
172
|
const userAction = await shellExtensionService.createUserAction(
|
|
166
173
|
{
|
|
167
174
|
id: "sapui5.shortcut.explanation.trigger",
|
|
@@ -181,7 +188,7 @@ export default class ShortcutExplanationProvider extends ManagedObject {
|
|
|
181
188
|
if (!this._cleanupAttached) {
|
|
182
189
|
this._cleanupAttached = true;
|
|
183
190
|
window.addEventListener("pagehide", () => {
|
|
184
|
-
this._userAction
|
|
191
|
+
this._userAction?.destroy();
|
|
185
192
|
});
|
|
186
193
|
}
|
|
187
194
|
|