@sapui5/sap.fe.templates 1.147.0 → 1.148.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +10 -16
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +10 -17
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +4 -1
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +3 -0
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +134 -24
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +132 -19
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +195 -20
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +226 -22
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +16 -8
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +20 -9
- package/src/sap/fe/templates/ObjectPage/components/CollaborationDiscardDialog.js +4 -1
- package/src/sap/fe/templates/ObjectPage/components/CollaborationDiscardDialog.tsx +1 -0
- package/src/sap/fe/templates/ObjectPage/components/CollaborationDraft.js +15 -4
- package/src/sap/fe/templates/ObjectPage/components/CollaborationDraft.tsx +11 -2
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +28 -1
- package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +31 -0
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +9 -3
- package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +9 -1
- package/src/sap/fe/templates/ObjectPage/helpers/SectionNavigationHelper.js +72 -0
- package/src/sap/fe/templates/ObjectPage/helpers/SectionNavigationHelper.ts +75 -0
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -15
- package/src/sap/fe/templates/ObjectPage/overrides/CollaborationManager.js +29 -20
- package/src/sap/fe/templates/ObjectPage/overrides/CollaborationManager.ts +28 -21
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +4 -3
- package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.ts +4 -4
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +93 -17
- package/src/sap/fe/templates/ObjectPage/overrides/ViewState.ts +108 -22
- package/src/sap/fe/templates/ObjectPage/view/fragments/EmphasizedFirstHeaderAction.fragment.xml +1 -0
- package/src/sap/fe/templates/ObjectPage/view/fragments/ExpandedHeading.fragment.xml +4 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +4 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderContact.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +1 -0
- package/src/sap/fe/templates/library.js +1 -1
- package/src/sap/fe/templates/messagebundle_no.properties +1 -1
- package/src/sap/fe/templates/messagebundle_uk.properties +1 -1
|
@@ -37,6 +37,7 @@ import Text from "sap/m/Text";
|
|
|
37
37
|
import VBox from "sap/m/VBox";
|
|
38
38
|
import type Event from "sap/ui/base/Event";
|
|
39
39
|
import type Control from "sap/ui/core/Control";
|
|
40
|
+
import InvisibleText from "sap/ui/core/InvisibleText";
|
|
40
41
|
import Lib from "sap/ui/core/Lib";
|
|
41
42
|
import { ValueState } from "sap/ui/core/library";
|
|
42
43
|
import type { Field$ChangeEvent } from "sap/ui/mdc/Field";
|
|
@@ -213,6 +214,7 @@ export default class CollaborationDraft extends BuildingBlock {
|
|
|
213
214
|
<>
|
|
214
215
|
<CollaborationDraft.GridTableColumnControl width={CommonHelper.isDesktop() ? "10%" : "3em"}>
|
|
215
216
|
{{
|
|
217
|
+
label: <Text text={this.getTranslatedText("C_COLLABORATIONDRAFT_INVITATION_TABLE_USER_AVATAR_COLUMN")} />,
|
|
216
218
|
template: (
|
|
217
219
|
<HBox alignItems="Center" justifyContent="SpaceBetween">
|
|
218
220
|
<Avatar displaySize="XS" backgroundColor="{internal>color}" initials="{internal>initials}" />
|
|
@@ -239,6 +241,7 @@ export default class CollaborationDraft extends BuildingBlock {
|
|
|
239
241
|
</CollaborationDraft.GridTableColumnControl>
|
|
240
242
|
<CollaborationDraft.GridTableColumnControl width={CommonHelper.isDesktop() ? "8%" : "3em"}>
|
|
241
243
|
{{
|
|
244
|
+
label: <Text text={this.getTranslatedText("C_COLLABORATIONDRAFT_INVITATION_TABLE_REMOVE_COLUMN")} />,
|
|
242
245
|
template: (
|
|
243
246
|
<HBox>
|
|
244
247
|
<Button
|
|
@@ -260,6 +263,10 @@ export default class CollaborationDraft extends BuildingBlock {
|
|
|
260
263
|
* @returns The control tree
|
|
261
264
|
*/
|
|
262
265
|
getManageDialogUserTable(): Table | undefined {
|
|
266
|
+
const tableTitle = (
|
|
267
|
+
<InvisibleText text={this.getTranslatedText("C_COLLABORATIONDRAFT_INVITATION_TABLE_TITLE")} />
|
|
268
|
+
) as InvisibleText;
|
|
269
|
+
|
|
263
270
|
this.manageDialogUserTable = (
|
|
264
271
|
<CollaborationDraft.GridTableControl
|
|
265
272
|
width="100%"
|
|
@@ -267,9 +274,11 @@ export default class CollaborationDraft extends BuildingBlock {
|
|
|
267
274
|
visibleRowCount={CommonHelper.isDesktop() ? "5" : "3"}
|
|
268
275
|
visibleRowCountMode="Fixed"
|
|
269
276
|
selectionMode="None"
|
|
277
|
+
ariaLabelledBy={[tableTitle]}
|
|
270
278
|
>
|
|
271
279
|
{{
|
|
272
|
-
columns: this.getManageDialogUserTableColumns()
|
|
280
|
+
columns: this.getManageDialogUserTableColumns(),
|
|
281
|
+
dependents: tableTitle
|
|
273
282
|
}}
|
|
274
283
|
</CollaborationDraft.GridTableControl>
|
|
275
284
|
);
|
|
@@ -287,7 +296,7 @@ export default class CollaborationDraft extends BuildingBlock {
|
|
|
287
296
|
value="{internal>UserID}"
|
|
288
297
|
additionalValue="{internal>UserDescription}"
|
|
289
298
|
display="DescriptionValue"
|
|
290
|
-
width="
|
|
299
|
+
width="100%"
|
|
291
300
|
required={true}
|
|
292
301
|
valueHelp="userValueHelp"
|
|
293
302
|
placeholder={this.getTranslatedText("C_COLLABORATIONDRAFT_INVITATION_INPUT_PLACEHOLDER")}
|
|
@@ -42,6 +42,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
|
|
|
42
42
|
_initializerDefineProperty(_this, "fallbackTitle", _descriptor2, _this);
|
|
43
43
|
_initializerDefineProperty(_this, "_disconnected", _descriptor3, _this);
|
|
44
44
|
_initializerDefineProperty(_this, "disableObjectPageRequestOptimization", _descriptor4, _this);
|
|
45
|
+
_this.lastSetVisibleContext = undefined;
|
|
45
46
|
return _this;
|
|
46
47
|
}
|
|
47
48
|
_inheritsLoose(StashableHBox, _HBox);
|
|
@@ -101,6 +102,28 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
|
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
return null;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Refreshes the controls bound to navigation properties of the current context. The refreshing is needed in case the visibility has changed but the context has not changed (eg: visibility changed by an action with side effects ).
|
|
109
|
+
* @param lastContext
|
|
110
|
+
*/;
|
|
111
|
+
_proto._refreshControlsBoundToNavigationProperties = function _refreshControlsBoundToNavigationProperties(lastContext) {
|
|
112
|
+
const contextToRefresh = [];
|
|
113
|
+
this.findElements(true).forEach(elem => {
|
|
114
|
+
//if the visibility change is not due to a navigation but to an interactive action
|
|
115
|
+
// we want to refresh only the elements bound to a navigation property
|
|
116
|
+
if (this.getBindingContext() === lastContext) {
|
|
117
|
+
const elemContext = elem.getBindingContext();
|
|
118
|
+
// only refreshing the elements which are bound to navigation properties of the current context, to avoid unnecessary refreshes
|
|
119
|
+
if (elemContext && elemContext.getPath().startsWith(this.getBindingContext().getPath() + "/") && !contextToRefresh.includes(elemContext)) {
|
|
120
|
+
contextToRefresh.push(elemContext);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
contextToRefresh.forEach(async context => context.requestSideEffects([{
|
|
125
|
+
$NavigationPropertyPath: ""
|
|
126
|
+
}]));
|
|
104
127
|
};
|
|
105
128
|
_proto.setVisible = function setVisible(visible) {
|
|
106
129
|
_HBox.prototype.setVisible.call(this, visible);
|
|
@@ -109,12 +132,16 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
|
|
|
109
132
|
this.findElements(false).forEach(elem => {
|
|
110
133
|
elem.setBindingContext(undefined);
|
|
111
134
|
});
|
|
135
|
+
setTimeout(() => {
|
|
136
|
+
this._refreshControlsBoundToNavigationProperties(this.lastSetVisibleContext);
|
|
137
|
+
}, 0);
|
|
112
138
|
} else {
|
|
113
139
|
this.findElements(false).forEach(elem => {
|
|
114
140
|
elem.setBindingContext(null);
|
|
115
141
|
});
|
|
116
142
|
}
|
|
117
143
|
}
|
|
144
|
+
this.lastSetVisibleContext = this.getBindingContext();
|
|
118
145
|
return this;
|
|
119
146
|
};
|
|
120
147
|
_proto.set_disconnected = function set_disconnected(disconnected) {
|
|
@@ -179,4 +206,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
|
|
|
179
206
|
StashedControlSupport.mixInto(StashableHBox);
|
|
180
207
|
return StashableHBox;
|
|
181
208
|
}, false);
|
|
182
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFzaGFibGVIQm94IiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9IQm94IiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRUaXRsZSIsInRpdGxlIiwiZ2V0VGl0bGVDb250cm9sIiwiZ2V0VGV4dCIsImZhbGxiYWNrVGl0bGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIm9FdmVudCIsInNldFRleHQiLCJnZXRDb250cm9sSXRlbXMiLCJpdGVtcyIsImFJdGVtcyIsImkiLCJnZXRJdGVtcyIsImdldE1pY3JvQ2hhcnRUaXRsZSIsImdldENvbnRlbnQiLCJjb250ZW50IiwiaXRlbSIsImlzQSIsInNldFZpc2libGUiLCJ2aXNpYmxlIiwiZGlzYWJsZU9iamVjdFBhZ2VSZXF1ZXN0T3B0aW1pemF0aW9uIiwiZ2V0QmluZGluZyIsImdldFJhd1ZhbHVlIiwiaW5jbHVkZXMiLCJ1bmRlZmluZWQiLCJmaW5kRWxlbWVudHMiLCJmb3JFYWNoIiwiZWxlbSIsInNldEJpbmRpbmdDb250ZXh0Iiwic2V0X2Rpc2Nvbm5lY3RlZCIsImRpc2Nvbm5lY3RlZCIsIl9kaXNjb25uZWN0ZWQiLCJnZXRGb3JtTGFiZWxzIiwicmV0IiwiZm9ybVZCb3giLCJmb3JtRWxlbWVudEhCb3giLCJsYWJlbEN0cmwiLCJwdXNoIiwiSEJveCIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciIsIlN0YXNoZWRDb250cm9sU3VwcG9ydCIsIm1peEludG8iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN0YXNoYWJsZUhCb3gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmhhbmNlV2l0aFVJNSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIE1pY3JvQ2hhcnQgZnJvbSBcInNhcC9mZS9tYWNyb3MvTWljcm9DaGFydFwiO1xuaW1wb3J0IHR5cGUgVGl0bGVMaW5rIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL1RpdGxlTGlua1wiO1xuaW1wb3J0IHR5cGUgTWljcm9DaGFydENvbnRhaW5lciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9taWNyb2NoYXJ0L01pY3JvQ2hhcnRDb250YWluZXJcIjtcbmltcG9ydCBIQm94IGZyb20gXCJzYXAvbS9IQm94XCI7XG5pbXBvcnQgdHlwZSBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRpdGxlIGZyb20gXCJzYXAvbS9UaXRsZVwiO1xuaW1wb3J0IHR5cGUgVkJveCBmcm9tIFwic2FwL20vVkJveFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFN0YXNoZWRDb250cm9sU3VwcG9ydCBmcm9tIFwic2FwL3VpL2NvcmUvU3Rhc2hlZENvbnRyb2xTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBDb21wb3NpdGVCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvQ29tcG9zaXRlQmluZGluZ1wiO1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN0YXNoYWJsZUhCb3hcIiwge1xuXHRkZXNpZ250aW1lOiBcInNhcC9mZS90ZW1wbGF0ZXMvT2JqZWN0UGFnZS9kZXNpZ250aW1lL1N0YXNoYWJsZUhCb3guZGVzaWdudGltZVwiXG59KVxuY2xhc3MgU3Rhc2hhYmxlSEJveCBleHRlbmRzIEhCb3gge1xuXHQvKlxuXHQgKiBUaXRsZSBvZiB0aGUgSGVhZGVyIEZhY2V0LiBOb3QgdmlzaWJsZSBvbiB0aGUgVUkuIFZpc2libGUgb24gdGhlIFVJIGlzIHRoZSBUaXRsZSBvciBMaW5rIGNvbnRyb2wgaW5zaWRlIHRoZSBpdGVtcyBhZ2dyZWdhdGlvbiBvZiB0aGUgSGVhZGVyIEZhY2V0LlxuXHQgKiBNdXN0IGFsd2F5cyBiZSBpbiBzeW5jIHdpdGggdGhlIHZpc2libGUgVGl0bGUgb3IgTGluayBjb250cm9sLlxuXHQgKiBUaGlzIGlzIHVzZWQgd2hlbiByZW5hbWluZyB0aHJvdWdoIHRoZSBmbGV4aWJpbGl0eSBkaWFsb2cuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRpdGxlPzogc3RyaW5nO1xuXG5cdC8qXG5cdCAqIEZhbGxiYWNrIHRpdGxlIHRvIGJlIGRpc3BsYXllZCBpZiBubyB0aXRsZSBpcyBhdmFpbGFibGUgKG9ubHkgbmVlZGVkIGZvciBkaXNwbGF5aW5nIHN0YXNoZWQgaGVhZGVyIGZhY2V0cyBpbiBGbGV4IGRpYWxvZylcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmFsbGJhY2tUaXRsZSE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRfZGlzY29ubmVjdGVkITogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRkaXNhYmxlT2JqZWN0UGFnZVJlcXVlc3RPcHRpbWl6YXRpb24gPSB0cnVlO1xuXG5cdC8qXG5cdCAqIFJldHVybiB0aGUgdGl0bGUgcHJvcGVydHkuXG5cdCAqL1xuXHRnZXRUaXRsZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLnRpdGxlID8/IHRoaXMuZ2V0VGl0bGVDb250cm9sKCk/LmdldFRleHQoKSA/PyB0aGlzLmZhbGxiYWNrVGl0bGU7XG5cdH1cblxuXHRvbkJlZm9yZVJlbmRlcmluZyhvRXZlbnQ6IGpRdWVyeS5FdmVudCk6IHZvaWQgfCB1bmRlZmluZWQge1xuXHRcdC8vIEluIGNhc2Ugd2UgaGF2ZSBhIHRpdGxlIGNvbWluZyBmcm9tIHRoZSBSVEEsIHdlIG5lZWQgdG8gc2V0IGl0IHRvIHRoZSBpbm5lciBjb250cm9sIGJlZm9yZSByZW5kZXJpbmdcblx0XHRpZiAodGhpcy50aXRsZSkge1xuXHRcdFx0dGhpcy5nZXRUaXRsZUNvbnRyb2woKT8uc2V0VGV4dCh0aGlzLnRpdGxlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHN1cGVyLm9uQmVmb3JlUmVuZGVyaW5nKG9FdmVudCk7XG5cdH1cblxuXHRnZXRDb250cm9sSXRlbXMoaXRlbXM6IENvbnRyb2xbXSk6IENvbnRyb2xbXSB7XG5cdFx0bGV0IGFJdGVtczogQ29udHJvbFtdID0gW10sXG5cdFx0XHRpO1xuXHRcdGlmIChpdGVtcykge1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmICgoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMpIHtcblx0XHRcdFx0XHRhSXRlbXMgPSAoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdFx0fSBlbHNlIGlmICgoaXRlbXNbaV0gYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj4pLmdldE1pY3JvQ2hhcnRUaXRsZSkge1xuXHRcdFx0XHRcdGFJdGVtcyA9IChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPikuZ2V0TWljcm9DaGFydFRpdGxlKCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdFx0KChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0PikuZ2V0Q29udGVudD8uKCkgYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj4pPy5nZXRNaWNyb0NoYXJ0VGl0bGVcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0YUl0ZW1zID0gKFxuXHRcdFx0XHRcdFx0KGl0ZW1zW2ldIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnQ+KS5nZXRDb250ZW50KCkgYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj5cblx0XHRcdFx0XHQpLmdldE1pY3JvQ2hhcnRUaXRsZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhSXRlbXM7XG5cdH1cblxuXHQvKlxuXHQgKiBSZXRyaWV2ZXMgVGl0bGUvTGluayBjb250cm9sIGZyb20gaXRlbXMgYWdncmVnYXRpb24uXG5cdCAqL1xuXHRnZXRUaXRsZUNvbnRyb2woKTogTGluayB8IG51bGwge1xuXHRcdGxldCBhSXRlbXM6IENvbnRyb2xbXSA9IFtdLFxuXHRcdFx0Y29udGVudCxcblx0XHRcdGk7XG5cdFx0Y29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XG5cdFx0YUl0ZW1zID0gdGhpcy5nZXRDb250cm9sSXRlbXMoaXRlbXMpO1xuXHRcdGZvciAoaSA9IDA7IGkgPCBhSXRlbXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IGl0ZW0gPSBhSXRlbXNbaV0uaXNBKFwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbC5UaXRsZUxpbmtcIikgPyAoYUl0ZW1zW2ldIGFzIFRpdGxlTGluaykuZ2V0Q29udGVudCgpIDogYUl0ZW1zW2ldO1xuXHRcdFx0aWYgKGl0ZW0pIHtcblx0XHRcdFx0aWYgKGl0ZW0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpIHx8IGl0ZW0uaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdGlmIChpdGVtLmlzQTxUaXRsZT4oXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRcdFx0Ly8gSWYgYSB0aXRsZSB3YXMgZm91bmQsIGNoZWNrIGlmIHRoZXJlIGlzIGEgbGluayBpbiB0aGUgY29udGVudCBhZ2dyZWdhdGlvblxuXHRcdFx0XHRcdFx0Y29udGVudCA9IGl0ZW0uZ2V0Q29udGVudCgpIGFzIHVua25vd24gYXMgQ29udHJvbCB8IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGl0ZW0gYXMgTGluaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdHNldFZpc2libGUodmlzaWJsZTogYm9vbGVhbik6IHRoaXMge1xuXHRcdHN1cGVyLnNldFZpc2libGUodmlzaWJsZSk7XG5cdFx0aWYgKCF0aGlzLmRpc2FibGVPYmplY3RQYWdlUmVxdWVzdE9wdGltaXphdGlvbikge1xuXHRcdFx0aWYgKFxuXHRcdFx0XHR2aXNpYmxlICYmXG5cdFx0XHRcdCghdGhpcy5nZXRCaW5kaW5nKFwidmlzaWJsZVwiKSB8fFxuXHRcdFx0XHRcdCEodGhpcy5nZXRCaW5kaW5nKFwidmlzaWJsZVwiKSBhcyB1bmtub3duIGFzIENvbXBvc2l0ZUJpbmRpbmcpLmdldFJhd1ZhbHVlKCkuaW5jbHVkZXModW5kZWZpbmVkKSlcblx0XHRcdCkge1xuXHRcdFx0XHR0aGlzLmZpbmRFbGVtZW50cyhmYWxzZSkuZm9yRWFjaCgoZWxlbSkgPT4ge1xuXHRcdFx0XHRcdGVsZW0uc2V0QmluZGluZ0NvbnRleHQodW5kZWZpbmVkKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmZpbmRFbGVtZW50cyhmYWxzZSkuZm9yRWFjaCgoZWxlbSkgPT4ge1xuXHRcdFx0XHRcdGVsZW0uc2V0QmluZGluZ0NvbnRleHQobnVsbCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHNldF9kaXNjb25uZWN0ZWQoZGlzY29ubmVjdGVkOiBib29sZWFuKTogdGhpcyB7XG5cdFx0dGhpcy5fZGlzY29ubmVjdGVkID0gZGlzY29ubmVjdGVkO1xuXHRcdC8vIEJ5IHNldHRpbmcgdGhlIGJpbmRpbmcgY29udGV4dCB0byBgbnVsbGAgd2UgYXJlIHByZXZlbnRpbmcgZGF0YSBsb2FkaW5nXG5cdFx0Ly8gU2V0dGluZyBpdCBiYWNrIHRvIGB1bmRlZmluZWRgIGVuc3VyZXMgdGhhdCB0aGUgcGFyZW50IGNvbnRleHQgaXMgYXBwbGllZFxuXHRcdGlmIChkaXNjb25uZWN0ZWQpIHtcblx0XHRcdHRoaXMuc2V0QmluZGluZ0NvbnRleHQobnVsbCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuc2V0QmluZGluZ0NvbnRleHQodW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKlxuXHQgKiBSZXRyaWV2ZXMgbGFiZWwgY29udHJvbHMgZnJvbSBpdGVtcyBhZ2dyZWdhdGlvbi5cblx0ICovXG5cdGdldEZvcm1MYWJlbHMoKTogTGFiZWxbXSB7XG5cdFx0Ly8gTk9URTogUHJlc2VudCBpbXBsZW1lbnRhdGlvbiBvbmx5IHN1cHBvcnRzIGZvciBkaXJlY3QgUmVmZXJlbmNlRmFjZXRzKFZCb3gpIGluIFVJLkZhY2V0cyBhcyBwZXIgdGhlIHJlcXVpcmVtZW50IGZvciBnZXR0aW5nIExhYmVscyBmcm9tIGZvcm1zLlxuXHRcdGNvbnN0IHJldDogTGFiZWxbXSA9IFtdLFxuXHRcdFx0Zm9ybVZCb3ggPSB0aGlzLmdldEl0ZW1zICYmIHRoaXMuZ2V0SXRlbXMoKVswXTtcblxuXHRcdC8vIFZCb3ggaXMgZXF1aXZhbGVudCBvZiBmb3JtXG5cdFx0aWYgKGZvcm1WQm94Py5pc0E8VkJveD4oXCJzYXAubS5WQm94XCIpKSB7XG5cdFx0XHRmb3JtVkJveC5nZXRJdGVtcygpLmZvckVhY2goKGZvcm1FbGVtZW50SEJveCkgPT4ge1xuXHRcdFx0XHQvLyBIQm94IGlzIGVxdWl2YWxlbnQgb2YgZm9ybSBlbGVtZW50XG5cdFx0XHRcdGlmIChmb3JtRWxlbWVudEhCb3guaXNBPEhCb3g+KFwic2FwLm0uSEJveFwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IGxhYmVsQ3RybCA9IGZvcm1FbGVtZW50SEJveC5nZXRJdGVtcygpWzBdO1xuXHRcdFx0XHRcdGlmIChsYWJlbEN0cmw/LmlzQTxMYWJlbD4oXCJzYXAubS5MYWJlbFwiKSkge1xuXHRcdFx0XHRcdFx0Ly8gRmlyc3QgZWxlbWVudCBpcyBsYWJlbFxuXHRcdFx0XHRcdFx0cmV0LnB1c2gobGFiZWxDdHJsKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gcmV0O1xuXHR9XG59XG5TdGFzaGVkQ29udHJvbFN1cHBvcnQubWl4SW50byhTdGFzaGFibGVIQm94KTtcblxuZXhwb3J0IGRlZmF1bHQgU3Rhc2hhYmxlSEJveDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O01BZ0JNQSxhQUFhLElBQUFDLElBQUEsR0FIbEJDLGNBQWMsQ0FBQyxvREFBb0QsRUFBRTtJQUNyRUMsVUFBVSxFQUFFO0VBQ2IsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FPQUMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBTTVCRixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FHNUJILFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQUcsS0FBQSxHQUc3QkosUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBTCxJQUFBLENBQUFTLE1BQUEsSUFBQUMsT0FB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
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFzaGFibGVIQm94IiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9IQm94IiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwibGFzdFNldFZpc2libGVDb250ZXh0IiwidW5kZWZpbmVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRUaXRsZSIsInRpdGxlIiwiZ2V0VGl0bGVDb250cm9sIiwiZ2V0VGV4dCIsImZhbGxiYWNrVGl0bGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIm9FdmVudCIsInNldFRleHQiLCJnZXRDb250cm9sSXRlbXMiLCJpdGVtcyIsImFJdGVtcyIsImkiLCJnZXRJdGVtcyIsImdldE1pY3JvQ2hhcnRUaXRsZSIsImdldENvbnRlbnQiLCJjb250ZW50IiwiaXRlbSIsImlzQSIsIl9yZWZyZXNoQ29udHJvbHNCb3VuZFRvTmF2aWdhdGlvblByb3BlcnRpZXMiLCJsYXN0Q29udGV4dCIsImNvbnRleHRUb1JlZnJlc2giLCJmaW5kRWxlbWVudHMiLCJmb3JFYWNoIiwiZWxlbSIsImdldEJpbmRpbmdDb250ZXh0IiwiZWxlbUNvbnRleHQiLCJnZXRQYXRoIiwic3RhcnRzV2l0aCIsImluY2x1ZGVzIiwicHVzaCIsImNvbnRleHQiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsInNldFZpc2libGUiLCJ2aXNpYmxlIiwiZGlzYWJsZU9iamVjdFBhZ2VSZXF1ZXN0T3B0aW1pemF0aW9uIiwiZ2V0QmluZGluZyIsImdldFJhd1ZhbHVlIiwic2V0QmluZGluZ0NvbnRleHQiLCJzZXRUaW1lb3V0Iiwic2V0X2Rpc2Nvbm5lY3RlZCIsImRpc2Nvbm5lY3RlZCIsIl9kaXNjb25uZWN0ZWQiLCJnZXRGb3JtTGFiZWxzIiwicmV0IiwiZm9ybVZCb3giLCJmb3JtRWxlbWVudEhCb3giLCJsYWJlbEN0cmwiLCJIQm94IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIiwiU3Rhc2hlZENvbnRyb2xTdXBwb3J0IiwibWl4SW50byJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU3Rhc2hhYmxlSEJveC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgTWljcm9DaGFydCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9NaWNyb0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSBUaXRsZUxpbmsgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvVGl0bGVMaW5rXCI7XG5pbXBvcnQgdHlwZSBNaWNyb0NoYXJ0Q29udGFpbmVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL21pY3JvY2hhcnQvTWljcm9DaGFydENvbnRhaW5lclwiO1xuaW1wb3J0IEhCb3ggZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCB0eXBlIExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IHR5cGUgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSBWQm94IGZyb20gXCJzYXAvbS9WQm94XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgU3Rhc2hlZENvbnRyb2xTdXBwb3J0IGZyb20gXCJzYXAvdWkvY29yZS9TdGFzaGVkQ29udHJvbFN1cHBvcnRcIjtcbmltcG9ydCB0eXBlIENvbXBvc2l0ZUJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9Db21wb3NpdGVCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSBPZGF0YVY0Q29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVIQm94XCIsIHtcblx0ZGVzaWdudGltZTogXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvZGVzaWdudGltZS9TdGFzaGFibGVIQm94LmRlc2lnbnRpbWVcIlxufSlcbmNsYXNzIFN0YXNoYWJsZUhCb3ggZXh0ZW5kcyBIQm94IHtcblx0Lypcblx0ICogVGl0bGUgb2YgdGhlIEhlYWRlciBGYWNldC4gTm90IHZpc2libGUgb24gdGhlIFVJLiBWaXNpYmxlIG9uIHRoZSBVSSBpcyB0aGUgVGl0bGUgb3IgTGluayBjb250cm9sIGluc2lkZSB0aGUgaXRlbXMgYWdncmVnYXRpb24gb2YgdGhlIEhlYWRlciBGYWNldC5cblx0ICogTXVzdCBhbHdheXMgYmUgaW4gc3luYyB3aXRoIHRoZSB2aXNpYmxlIFRpdGxlIG9yIExpbmsgY29udHJvbC5cblx0ICogVGhpcyBpcyB1c2VkIHdoZW4gcmVuYW1pbmcgdGhyb3VnaCB0aGUgZmxleGliaWxpdHkgZGlhbG9nLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0aXRsZT86IHN0cmluZztcblxuXHQvKlxuXHQgKiBGYWxsYmFjayB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgaWYgbm8gdGl0bGUgaXMgYXZhaWxhYmxlIChvbmx5IG5lZWRlZCBmb3IgZGlzcGxheWluZyBzdGFzaGVkIGhlYWRlciBmYWNldHMgaW4gRmxleCBkaWFsb2cpXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZhbGxiYWNrVGl0bGUhOiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0X2Rpc2Nvbm5lY3RlZCE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZGlzYWJsZU9iamVjdFBhZ2VSZXF1ZXN0T3B0aW1pemF0aW9uID0gdHJ1ZTtcblxuXHRwcml2YXRlIGxhc3RTZXRWaXNpYmxlQ29udGV4dDogT2RhdGFWNENvbnRleHQgfCBudWxsIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5cdC8qXG5cdCAqIFJldHVybiB0aGUgdGl0bGUgcHJvcGVydHkuXG5cdCAqL1xuXHRnZXRUaXRsZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLnRpdGxlID8/IHRoaXMuZ2V0VGl0bGVDb250cm9sKCk/LmdldFRleHQoKSA/PyB0aGlzLmZhbGxiYWNrVGl0bGU7XG5cdH1cblxuXHRvbkJlZm9yZVJlbmRlcmluZyhvRXZlbnQ6IGpRdWVyeS5FdmVudCk6IHZvaWQgfCB1bmRlZmluZWQge1xuXHRcdC8vIEluIGNhc2Ugd2UgaGF2ZSBhIHRpdGxlIGNvbWluZyBmcm9tIHRoZSBSVEEsIHdlIG5lZWQgdG8gc2V0IGl0IHRvIHRoZSBpbm5lciBjb250cm9sIGJlZm9yZSByZW5kZXJpbmdcblx0XHRpZiAodGhpcy50aXRsZSkge1xuXHRcdFx0dGhpcy5nZXRUaXRsZUNvbnRyb2woKT8uc2V0VGV4dCh0aGlzLnRpdGxlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHN1cGVyLm9uQmVmb3JlUmVuZGVyaW5nKG9FdmVudCk7XG5cdH1cblxuXHRnZXRDb250cm9sSXRlbXMoaXRlbXM6IENvbnRyb2xbXSk6IENvbnRyb2xbXSB7XG5cdFx0bGV0IGFJdGVtczogQ29udHJvbFtdID0gW10sXG5cdFx0XHRpO1xuXHRcdGlmIChpdGVtcykge1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmICgoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMpIHtcblx0XHRcdFx0XHRhSXRlbXMgPSAoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdFx0fSBlbHNlIGlmICgoaXRlbXNbaV0gYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj4pLmdldE1pY3JvQ2hhcnRUaXRsZSkge1xuXHRcdFx0XHRcdGFJdGVtcyA9IChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPikuZ2V0TWljcm9DaGFydFRpdGxlKCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdFx0KChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0PikuZ2V0Q29udGVudD8uKCkgYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj4pPy5nZXRNaWNyb0NoYXJ0VGl0bGVcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0YUl0ZW1zID0gKFxuXHRcdFx0XHRcdFx0KGl0ZW1zW2ldIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnQ+KS5nZXRDb250ZW50KCkgYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj5cblx0XHRcdFx0XHQpLmdldE1pY3JvQ2hhcnRUaXRsZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhSXRlbXM7XG5cdH1cblxuXHQvKlxuXHQgKiBSZXRyaWV2ZXMgVGl0bGUvTGluayBjb250cm9sIGZyb20gaXRlbXMgYWdncmVnYXRpb24uXG5cdCAqL1xuXHRnZXRUaXRsZUNvbnRyb2woKTogTGluayB8IG51bGwge1xuXHRcdGxldCBhSXRlbXM6IENvbnRyb2xbXSA9IFtdLFxuXHRcdFx0Y29udGVudCxcblx0XHRcdGk7XG5cdFx0Y29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XG5cdFx0YUl0ZW1zID0gdGhpcy5nZXRDb250cm9sSXRlbXMoaXRlbXMpO1xuXHRcdGZvciAoaSA9IDA7IGkgPCBhSXRlbXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IGl0ZW0gPSBhSXRlbXNbaV0uaXNBKFwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbC5UaXRsZUxpbmtcIikgPyAoYUl0ZW1zW2ldIGFzIFRpdGxlTGluaykuZ2V0Q29udGVudCgpIDogYUl0ZW1zW2ldO1xuXHRcdFx0aWYgKGl0ZW0pIHtcblx0XHRcdFx0aWYgKGl0ZW0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpIHx8IGl0ZW0uaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdGlmIChpdGVtLmlzQTxUaXRsZT4oXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRcdFx0Ly8gSWYgYSB0aXRsZSB3YXMgZm91bmQsIGNoZWNrIGlmIHRoZXJlIGlzIGEgbGluayBpbiB0aGUgY29udGVudCBhZ2dyZWdhdGlvblxuXHRcdFx0XHRcdFx0Y29udGVudCA9IGl0ZW0uZ2V0Q29udGVudCgpIGFzIHVua25vd24gYXMgQ29udHJvbCB8IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGl0ZW0gYXMgTGluaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIGNvbnRyb2xzIGJvdW5kIHRvIG5hdmlnYXRpb24gcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBjb250ZXh0LiBUaGUgcmVmcmVzaGluZyBpcyBuZWVkZWQgaW4gY2FzZSB0aGUgdmlzaWJpbGl0eSBoYXMgY2hhbmdlZCBidXQgdGhlIGNvbnRleHQgaGFzIG5vdCBjaGFuZ2VkIChlZzogdmlzaWJpbGl0eSBjaGFuZ2VkIGJ5IGFuIGFjdGlvbiB3aXRoIHNpZGUgZWZmZWN0cyApLlxuXHQgKiBAcGFyYW0gbGFzdENvbnRleHRcblx0ICovXG5cdF9yZWZyZXNoQ29udHJvbHNCb3VuZFRvTmF2aWdhdGlvblByb3BlcnRpZXMobGFzdENvbnRleHQ/OiBPZGF0YVY0Q29udGV4dCB8IG51bGwpOiB2b2lkIHtcblx0XHRjb25zdCBjb250ZXh0VG9SZWZyZXNoOiBPZGF0YVY0Q29udGV4dFtdID0gW107XG5cdFx0dGhpcy5maW5kRWxlbWVudHModHJ1ZSkuZm9yRWFjaCgoZWxlbSkgPT4ge1xuXHRcdFx0Ly9pZiB0aGUgdmlzaWJpbGl0eSBjaGFuZ2UgaXMgbm90IGR1ZSB0byBhIG5hdmlnYXRpb24gYnV0IHRvIGFuIGludGVyYWN0aXZlIGFjdGlvblxuXHRcdFx0Ly8gd2Ugd2FudCB0byByZWZyZXNoIG9ubHkgdGhlIGVsZW1lbnRzIGJvdW5kIHRvIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eVxuXHRcdFx0aWYgKHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSA9PT0gbGFzdENvbnRleHQpIHtcblx0XHRcdFx0Y29uc3QgZWxlbUNvbnRleHQgPSBlbGVtLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgT2RhdGFWNENvbnRleHQgfCB1bmRlZmluZWQ7XG5cdFx0XHRcdC8vIG9ubHkgcmVmcmVzaGluZyB0aGUgZWxlbWVudHMgd2hpY2ggYXJlIGJvdW5kIHRvIG5hdmlnYXRpb24gcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBjb250ZXh0LCB0byBhdm9pZCB1bm5lY2Vzc2FyeSByZWZyZXNoZXNcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGVsZW1Db250ZXh0ICYmXG5cdFx0XHRcdFx0ZWxlbUNvbnRleHQuZ2V0UGF0aCgpLnN0YXJ0c1dpdGgodGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpIS5nZXRQYXRoKCkgKyBcIi9cIikgJiZcblx0XHRcdFx0XHQhY29udGV4dFRvUmVmcmVzaC5pbmNsdWRlcyhlbGVtQ29udGV4dClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Y29udGV4dFRvUmVmcmVzaC5wdXNoKGVsZW1Db250ZXh0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGNvbnRleHRUb1JlZnJlc2guZm9yRWFjaChhc3luYyAoY29udGV4dCkgPT4gY29udGV4dC5yZXF1ZXN0U2lkZUVmZmVjdHMoW3sgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IFwiXCIgfV0pKTtcblx0fVxuXG5cdHNldFZpc2libGUodmlzaWJsZTogYm9vbGVhbik6IHRoaXMge1xuXHRcdHN1cGVyLnNldFZpc2libGUodmlzaWJsZSk7XG5cdFx0aWYgKCF0aGlzLmRpc2FibGVPYmplY3RQYWdlUmVxdWVzdE9wdGltaXphdGlvbikge1xuXHRcdFx0aWYgKFxuXHRcdFx0XHR2aXNpYmxlICYmXG5cdFx0XHRcdCghdGhpcy5nZXRCaW5kaW5nKFwidmlzaWJsZVwiKSB8fFxuXHRcdFx0XHRcdCEodGhpcy5nZXRCaW5kaW5nKFwidmlzaWJsZVwiKSBhcyB1bmtub3duIGFzIENvbXBvc2l0ZUJpbmRpbmcpLmdldFJhd1ZhbHVlKCkuaW5jbHVkZXModW5kZWZpbmVkKSlcblx0XHRcdCkge1xuXHRcdFx0XHR0aGlzLmZpbmRFbGVtZW50cyhmYWxzZSkuZm9yRWFjaCgoZWxlbSkgPT4ge1xuXHRcdFx0XHRcdGVsZW0uc2V0QmluZGluZ0NvbnRleHQodW5kZWZpbmVkKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3JlZnJlc2hDb250cm9sc0JvdW5kVG9OYXZpZ2F0aW9uUHJvcGVydGllcyh0aGlzLmxhc3RTZXRWaXNpYmxlQ29udGV4dCk7XG5cdFx0XHRcdH0sIDApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5maW5kRWxlbWVudHMoZmFsc2UpLmZvckVhY2goKGVsZW0pID0+IHtcblx0XHRcdFx0XHRlbGVtLnNldEJpbmRpbmdDb250ZXh0KG51bGwpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5sYXN0U2V0VmlzaWJsZUNvbnRleHQgPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgT2RhdGFWNENvbnRleHQgfCBudWxsIHwgdW5kZWZpbmVkO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0c2V0X2Rpc2Nvbm5lY3RlZChkaXNjb25uZWN0ZWQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHR0aGlzLl9kaXNjb25uZWN0ZWQgPSBkaXNjb25uZWN0ZWQ7XG5cdFx0Ly8gQnkgc2V0dGluZyB0aGUgYmluZGluZyBjb250ZXh0IHRvIGBudWxsYCB3ZSBhcmUgcHJldmVudGluZyBkYXRhIGxvYWRpbmdcblx0XHQvLyBTZXR0aW5nIGl0IGJhY2sgdG8gYHVuZGVmaW5lZGAgZW5zdXJlcyB0aGF0IHRoZSBwYXJlbnQgY29udGV4dCBpcyBhcHBsaWVkXG5cdFx0aWYgKGRpc2Nvbm5lY3RlZCkge1xuXHRcdFx0dGhpcy5zZXRCaW5kaW5nQ29udGV4dChudWxsKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5zZXRCaW5kaW5nQ29udGV4dCh1bmRlZmluZWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qXG5cdCAqIFJldHJpZXZlcyBsYWJlbCBjb250cm9scyBmcm9tIGl0ZW1zIGFnZ3JlZ2F0aW9uLlxuXHQgKi9cblx0Z2V0Rm9ybUxhYmVscygpOiBMYWJlbFtdIHtcblx0XHQvLyBOT1RFOiBQcmVzZW50IGltcGxlbWVudGF0aW9uIG9ubHkgc3VwcG9ydHMgZm9yIGRpcmVjdCBSZWZlcmVuY2VGYWNldHMoVkJveCkgaW4gVUkuRmFjZXRzIGFzIHBlciB0aGUgcmVxdWlyZW1lbnQgZm9yIGdldHRpbmcgTGFiZWxzIGZyb20gZm9ybXMuXG5cdFx0Y29uc3QgcmV0OiBMYWJlbFtdID0gW10sXG5cdFx0XHRmb3JtVkJveCA9IHRoaXMuZ2V0SXRlbXMgJiYgdGhpcy5nZXRJdGVtcygpWzBdO1xuXG5cdFx0Ly8gVkJveCBpcyBlcXVpdmFsZW50IG9mIGZvcm1cblx0XHRpZiAoZm9ybVZCb3g/LmlzQTxWQm94PihcInNhcC5tLlZCb3hcIikpIHtcblx0XHRcdGZvcm1WQm94LmdldEl0ZW1zKCkuZm9yRWFjaCgoZm9ybUVsZW1lbnRIQm94KSA9PiB7XG5cdFx0XHRcdC8vIEhCb3ggaXMgZXF1aXZhbGVudCBvZiBmb3JtIGVsZW1lbnRcblx0XHRcdFx0aWYgKGZvcm1FbGVtZW50SEJveC5pc0E8SEJveD4oXCJzYXAubS5IQm94XCIpKSB7XG5cdFx0XHRcdFx0Y29uc3QgbGFiZWxDdHJsID0gZm9ybUVsZW1lbnRIQm94LmdldEl0ZW1zKClbMF07XG5cdFx0XHRcdFx0aWYgKGxhYmVsQ3RybD8uaXNBPExhYmVsPihcInNhcC5tLkxhYmVsXCIpKSB7XG5cdFx0XHRcdFx0XHQvLyBGaXJzdCBlbGVtZW50IGlzIGxhYmVsXG5cdFx0XHRcdFx0XHRyZXQucHVzaChsYWJlbEN0cmwpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiByZXQ7XG5cdH1cbn1cblN0YXNoZWRDb250cm9sU3VwcG9ydC5taXhJbnRvKFN0YXNoYWJsZUhCb3gpO1xuXG5leHBvcnQgZGVmYXVsdCBTdGFzaGFibGVIQm94O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7TUFpQk1BLGFBQWEsSUFBQUMsSUFBQSxHQUhsQkMsY0FBYyxDQUFDLG9EQUFvRCxFQUFFO0lBQ3JFQyxVQUFVLEVBQUU7RUFDYixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU9BQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FNNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUc1QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBRzdCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFMLElBQUEsQ0FBQVMsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxLQUFBO0lBQUEsU0FBQVosY0FBQTtNQUFBLElBQUFhLEtBQUE7TUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBQyxJQUFBLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO1FBQUFGLElBQUEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7TUFBQTtNQUFBTixLQUFBLEdBQUFELEtBQUEsQ0FBQVEsSUFBQSxVQUFBSCxJQUFBO01BakI5QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO01BSkNJLDBCQUFBLENBQUFSLEtBQUEsV0FBQVMsV0FBQSxFQUFBVCxLQUFBO01BUUE7QUFDRDtBQUNBO01BRkNRLDBCQUFBLENBQUFSLEtBQUEsbUJBQUFVLFlBQUEsRUFBQVYsS0FBQTtNQUFBUSwwQkFBQSxDQUFBUixLQUFBLG1CQUFBVyxZQUFBLEVBQUFYLEtBQUE7TUFBQVEsMEJBQUEsQ0FBQVIsS0FBQSwwQ0FBQVksWUFBQSxFQUFBWixLQUFBO01BQUFBLEtBQUEsQ0FZUWEscUJBQXFCLEdBQXNDQyxTQUFTO01BQUEsT0FBQWQsS0FBQTtJQUFBO0lBQUFlLGNBQUEsQ0FBQTVCLGFBQUEsRUFBQVksS0FBQTtJQUFBLElBQUFpQixNQUFBLEdBQUE3QixhQUFBLENBQUE4QixTQUFBO0lBRTVFO0FBQ0Q7QUFDQTtJQUZDRCxNQUFBLENBR0FFLFFBQVEsR0FBUixTQUFBQSxRQUFRQSxDQUFBLEVBQVc7TUFDbEIsT0FBTyxJQUFJLENBQUNDLEtBQUssSUFBSSxJQUFJLENBQUNDLGVBQWUsQ0FBQyxDQUFDLEVBQUVDLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDQyxhQUFhO0lBQzdFLENBQUM7SUFBQU4sTUFBQSxDQUVETyxpQkFBaUIsR0FBakIsU0FBQUEsaUJBQWlCQSxDQUFDQyxNQUFvQixFQUFvQjtNQUN6RDtNQUNBLElBQUksSUFBSSxDQUFDTCxLQUFLLEVBQUU7UUFDZixJQUFJLENBQUNDLGVBQWUsQ0FBQyxDQUFDLEVBQUVLLE9BQU8sQ0FBQyxJQUFJLENBQUNOLEtBQUssQ0FBQztNQUM1QztNQUNBLE9BQUFwQixLQUFBLENBQUFrQixTQUFBLENBQWFNLGlCQUFpQixDQUFBaEIsSUFBQSxPQUFDaUIsTUFBTTtJQUN0QyxDQUFDO0lBQUFSLE1BQUEsQ0FFRFUsZUFBZSxHQUFmLFNBQUFBLGVBQWVBLENBQUNDLEtBQWdCLEVBQWE7TUFDNUMsSUFBSUMsTUFBaUIsR0FBRyxFQUFFO1FBQ3pCQyxDQUFDO01BQ0YsSUFBSUYsS0FBSyxFQUFFO1FBQ1YsS0FBS0UsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRixLQUFLLENBQUN4QixNQUFNLEVBQUUwQixDQUFDLEVBQUUsRUFBRTtVQUNsQyxJQUFLRixLQUFLLENBQUNFLENBQUMsQ0FBQyxDQUFVQyxRQUFRLEVBQUU7WUFDaENGLE1BQU0sR0FBSUQsS0FBSyxDQUFDRSxDQUFDLENBQUMsQ0FBVUMsUUFBUSxDQUFDLENBQUM7VUFDdkMsQ0FBQyxNQUFNLElBQUtILEtBQUssQ0FBQ0UsQ0FBQyxDQUFDLENBQXlDRSxrQkFBa0IsRUFBRTtZQUNoRkgsTUFBTSxHQUFJRCxLQUFLLENBQUNFLENBQUMsQ0FBQyxDQUF5Q0Usa0JBQWtCLENBQUMsQ0FBQztVQUNoRixDQUFDLE1BQU0sSUFDSkosS0FBSyxDQUFDRSxDQUFDLENBQUMsQ0FBZ0NHLFVBQVUsR0FBRyxDQUFDLEVBQTBDRCxrQkFBa0IsRUFDbkg7WUFDREgsTUFBTSxHQUNKRCxLQUFLLENBQUNFLENBQUMsQ0FBQyxDQUFnQ0csVUFBVSxDQUFDLENBQUMsQ0FDcERELGtCQUFrQixDQUFDLENBQUM7VUFDdkI7UUFDRDtNQUNEO01BQ0EsT0FBT0gsTUFBTTtJQUNkOztJQUVBO0FBQ0Q7QUFDQSxPQUZDO0lBQUFaLE1BQUEsQ0FHQUksZUFBZSxHQUFmLFNBQUFBLGVBQWVBLENBQUEsRUFBZ0I7TUFDOUIsSUFBSVEsTUFBaUIsR0FBRyxFQUFFO1FBQ3pCSyxPQUFPO1FBQ1BKLENBQUM7TUFDRixNQUFNRixLQUFLLEdBQUcsSUFBSSxDQUFDRyxRQUFRLENBQUMsQ0FBQztNQUM3QkYsTUFBTSxHQUFHLElBQUksQ0FBQ0YsZUFBZSxDQUFDQyxLQUFLLENBQUM7TUFDcEMsS0FBS0UsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRCxNQUFNLENBQUN6QixNQUFNLEVBQUUwQixDQUFDLEVBQUUsRUFBRTtRQUNuQyxNQUFNSyxJQUFJLEdBQUdOLE1BQU0sQ0FBQ0MsQ0FBQyxDQUFDLENBQUNNLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFJUCxNQUFNLENBQUNDLENBQUMsQ0FBQyxDQUFlRyxVQUFVLENBQUMsQ0FBQyxHQUFHSixNQUFNLENBQUNDLENBQUMsQ0FBQztRQUNsSCxJQUFJSyxJQUFJLEVBQUU7VUFDVCxJQUFJQSxJQUFJLENBQUNDLEdBQUcsQ0FBUSxhQUFhLENBQUMsSUFBSUQsSUFBSSxDQUFDQyxHQUFHLENBQU8sWUFBWSxDQUFDLEVBQUU7WUFDbkUsSUFBSUQsSUFBSSxDQUFDQyxHQUFHLENBQVEsYUFBYSxDQUFDLEVBQUU7Y0FDbkM7Y0FDQUYsT0FBTyxHQUFHQyxJQUFJLENBQUNGLFVBQVUsQ0FBQyxDQUFtQztjQUM3RCxJQUFJQyxPQUFPLElBQUlBLE9BQU8sQ0FBQ0UsR0FBRyxDQUFPLFlBQVksQ0FBQyxFQUFFO2dCQUMvQyxPQUFPRixPQUFPO2NBQ2Y7WUFDRDtZQUNBLE9BQU9DLElBQUk7VUFDWjtRQUNEO01BQ0Q7TUFDQSxPQUFPLElBQUk7SUFDWjs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFsQixNQUFBLENBSUFvQiwyQ0FBMkMsR0FBM0MsU0FBQUEsMkNBQTJDQSxDQUFDQyxXQUFtQyxFQUFRO01BQ3RGLE1BQU1DLGdCQUFrQyxHQUFHLEVBQUU7TUFDN0MsSUFBSSxDQUFDQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUNDLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO1FBQ3pDO1FBQ0E7UUFDQSxJQUFJLElBQUksQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQyxLQUFLTCxXQUFXLEVBQUU7VUFDN0MsTUFBTU0sV0FBVyxHQUFHRixJQUFJLENBQUNDLGlCQUFpQixDQUFDLENBQStCO1VBQzFFO1VBQ0EsSUFDQ0MsV0FBVyxJQUNYQSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxDQUFDLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNILGlCQUFpQixDQUFDLENBQUMsQ0FBRUUsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFDM0UsQ0FBQ04sZ0JBQWdCLENBQUNRLFFBQVEsQ0FBQ0gsV0FBVyxDQUFDLEVBQ3RDO1lBQ0RMLGdCQUFnQixDQUFDUyxJQUFJLENBQUNKLFdBQVcsQ0FBQztVQUNuQztRQUNEO01BQ0QsQ0FBQyxDQUFDO01BQ0ZMLGdCQUFnQixDQUFDRSxPQUFPLENBQUMsTUFBT1EsT0FBTyxJQUFLQSxPQUFPLENBQUNDLGtCQUFrQixDQUFDLENBQUM7UUFBRUMsdUJBQXVCLEVBQUU7TUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFBQWxDLE1BQUEsQ0FFRG1DLFVBQVUsR0FBVixTQUFBQSxVQUFVQSxDQUFDQyxPQUFnQixFQUFRO01BQ2xDckQsS0FBQSxDQUFBa0IsU0FBQSxDQUFNa0MsVUFBVSxDQUFBNUMsSUFBQSxPQUFDNkMsT0FBTztNQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDQyxvQ0FBb0MsRUFBRTtRQUMvQyxJQUNDRCxPQUFPLEtBQ04sQ0FBQyxJQUFJLENBQUNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFDM0IsQ0FBRSxJQUFJLENBQUNBLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBaUNDLFdBQVcsQ0FBQyxDQUFDLENBQUNULFFBQVEsQ0FBQ2hDLFNBQVMsQ0FBQyxDQUFDLEVBQy9GO1VBQ0QsSUFBSSxDQUFDeUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDQyxPQUFPLENBQUVDLElBQUksSUFBSztZQUMxQ0EsSUFBSSxDQUFDZSxpQkFBaUIsQ0FBQzFDLFNBQVMsQ0FBQztVQUNsQyxDQUFDLENBQUM7VUFDRjJDLFVBQVUsQ0FBQyxNQUFNO1lBQ2hCLElBQUksQ0FBQ3JCLDJDQUEyQyxDQUFDLElBQUksQ0FBQ3ZCLHFCQUFxQixDQUFDO1VBQzdFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDTixDQUFDLE1BQU07VUFDTixJQUFJLENBQUMwQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO1lBQzFDQSxJQUFJLENBQUNlLGlCQUFpQixDQUFDLElBQUksQ0FBQztVQUM3QixDQUFDLENBQUM7UUFDSDtNQUNEO01BQ0EsSUFBSSxDQUFDM0MscUJBQXFCLEdBQUcsSUFBSSxDQUFDNkIsaUJBQWlCLENBQUMsQ0FBc0M7TUFDMUYsT0FBTyxJQUFJO0lBQ1osQ0FBQztJQUFBMUIsTUFBQSxDQUVEMEMsZ0JBQWdCLEdBQWhCLFNBQUFBLGdCQUFnQkEsQ0FBQ0MsWUFBcUIsRUFBUTtNQUM3QyxJQUFJLENBQUNDLGFBQWEsR0FBR0QsWUFBWTtNQUNqQztNQUNBO01BQ0EsSUFBSUEsWUFBWSxFQUFFO1FBQ2pCLElBQUksQ0FBQ0gsaUJBQWlCLENBQUMsSUFBSSxDQUFDO01BQzdCLENBQUMsTUFBTTtRQUNOLElBQUksQ0FBQ0EsaUJBQWlCLENBQUMxQyxTQUFTLENBQUM7TUFDbEM7TUFDQSxPQUFPLElBQUk7SUFDWjs7SUFFQTtBQUNEO0FBQ0EsT0FGQztJQUFBRSxNQUFBLENBR0E2QyxhQUFhLEdBQWIsU0FBQUEsYUFBYUEsQ0FBQSxFQUFZO01BQ3hCO01BQ0EsTUFBTUMsR0FBWSxHQUFHLEVBQUU7UUFDdEJDLFFBQVEsR0FBRyxJQUFJLENBQUNqQyxRQUFRLElBQUksSUFBSSxDQUFDQSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7TUFFL0M7TUFDQSxJQUFJaUMsUUFBUSxFQUFFNUIsR0FBRyxDQUFPLFlBQVksQ0FBQyxFQUFFO1FBQ3RDNEIsUUFBUSxDQUFDakMsUUFBUSxDQUFDLENBQUMsQ0FBQ1UsT0FBTyxDQUFFd0IsZUFBZSxJQUFLO1VBQ2hEO1VBQ0EsSUFBSUEsZUFBZSxDQUFDN0IsR0FBRyxDQUFPLFlBQVksQ0FBQyxFQUFFO1lBQzVDLE1BQU04QixTQUFTLEdBQUdELGVBQWUsQ0FBQ2xDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUltQyxTQUFTLEVBQUU5QixHQUFHLENBQVEsYUFBYSxDQUFDLEVBQUU7Y0FDekM7Y0FDQTJCLEdBQUcsQ0FBQ2YsSUFBSSxDQUFDa0IsU0FBUyxDQUFDO1lBQ3BCO1VBQ0Q7UUFDRCxDQUFDLENBQUM7TUFDSDtNQUNBLE9BQU9ILEdBQUc7SUFDWCxDQUFDO0lBQUEsT0FBQTNFLGFBQUE7RUFBQSxFQXhLMEIrRSxJQUFJLEdBQUF6RCxXQUFBLEdBQUEwRCx5QkFBQSxDQUFBckUsT0FBQSxDQUFBbUIsU0FBQSxZQUFBMUIsS0FBQTtJQUFBNkUsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE3RCxZQUFBLEdBQUF5RCx5QkFBQSxDQUFBckUsT0FBQSxDQUFBbUIsU0FBQSxvQkFBQXZCLEtBQUE7SUFBQTBFLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBNUQsWUFBQSxHQUFBd0QseUJBQUEsQ0FBQXJFLE9BQUEsQ0FBQW1CLFNBQUEsb0JBQUF0QixLQUFBO0lBQUF5RSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTNELFlBQUEsR0FBQXVELHlCQUFBLENBQUFyRSxPQUFBLENBQUFtQixTQUFBLDJDQUFBckIsS0FBQTtJQUFBd0UsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQSxXQUFBQSxDQUFBO01BQUEsT0FtQlEsSUFBSTtJQUFBO0VBQUEsSUFBQXpFLE9BQUEsTUFBQUQsTUFBQTtFQXVKNUMyRSxxQkFBcUIsQ0FBQ0MsT0FBTyxDQUFDdEYsYUFBYSxDQUFDO0VBQUMsT0FFOUJBLGFBQWE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -11,6 +11,7 @@ import type VBox from "sap/m/VBox";
|
|
|
11
11
|
import type Control from "sap/ui/core/Control";
|
|
12
12
|
import StashedControlSupport from "sap/ui/core/StashedControlSupport";
|
|
13
13
|
import type CompositeBinding from "sap/ui/model/CompositeBinding";
|
|
14
|
+
import type OdataV4Context from "sap/ui/model/odata/v4/Context";
|
|
14
15
|
@defineUI5Class("sap.fe.templates.ObjectPage.controls.StashableHBox", {
|
|
15
16
|
designtime: "sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime"
|
|
16
17
|
})
|
|
@@ -35,6 +36,8 @@ class StashableHBox extends HBox {
|
|
|
35
36
|
@property({ type: "boolean" })
|
|
36
37
|
disableObjectPageRequestOptimization = true;
|
|
37
38
|
|
|
39
|
+
private lastSetVisibleContext: OdataV4Context | null | undefined = undefined;
|
|
40
|
+
|
|
38
41
|
/*
|
|
39
42
|
* Return the title property.
|
|
40
43
|
*/
|
|
@@ -98,6 +101,30 @@ class StashableHBox extends HBox {
|
|
|
98
101
|
return null;
|
|
99
102
|
}
|
|
100
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Refreshes the controls bound to navigation properties of the current context. The refreshing is needed in case the visibility has changed but the context has not changed (eg: visibility changed by an action with side effects ).
|
|
106
|
+
* @param lastContext
|
|
107
|
+
*/
|
|
108
|
+
_refreshControlsBoundToNavigationProperties(lastContext?: OdataV4Context | null): void {
|
|
109
|
+
const contextToRefresh: OdataV4Context[] = [];
|
|
110
|
+
this.findElements(true).forEach((elem) => {
|
|
111
|
+
//if the visibility change is not due to a navigation but to an interactive action
|
|
112
|
+
// we want to refresh only the elements bound to a navigation property
|
|
113
|
+
if (this.getBindingContext() === lastContext) {
|
|
114
|
+
const elemContext = elem.getBindingContext() as OdataV4Context | undefined;
|
|
115
|
+
// only refreshing the elements which are bound to navigation properties of the current context, to avoid unnecessary refreshes
|
|
116
|
+
if (
|
|
117
|
+
elemContext &&
|
|
118
|
+
elemContext.getPath().startsWith(this.getBindingContext()!.getPath() + "/") &&
|
|
119
|
+
!contextToRefresh.includes(elemContext)
|
|
120
|
+
) {
|
|
121
|
+
contextToRefresh.push(elemContext);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
contextToRefresh.forEach(async (context) => context.requestSideEffects([{ $NavigationPropertyPath: "" }]));
|
|
126
|
+
}
|
|
127
|
+
|
|
101
128
|
setVisible(visible: boolean): this {
|
|
102
129
|
super.setVisible(visible);
|
|
103
130
|
if (!this.disableObjectPageRequestOptimization) {
|
|
@@ -109,12 +136,16 @@ class StashableHBox extends HBox {
|
|
|
109
136
|
this.findElements(false).forEach((elem) => {
|
|
110
137
|
elem.setBindingContext(undefined);
|
|
111
138
|
});
|
|
139
|
+
setTimeout(() => {
|
|
140
|
+
this._refreshControlsBoundToNavigationProperties(this.lastSetVisibleContext);
|
|
141
|
+
}, 0);
|
|
112
142
|
} else {
|
|
113
143
|
this.findElements(false).forEach((elem) => {
|
|
114
144
|
elem.setBindingContext(null);
|
|
115
145
|
});
|
|
116
146
|
}
|
|
117
147
|
}
|
|
148
|
+
this.lastSetVisibleContext = this.getBindingContext() as OdataV4Context | null | undefined;
|
|
118
149
|
return this;
|
|
119
150
|
}
|
|
120
151
|
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/base/ClassSupport", "sap/uxap/BlockBase", "sap/uxap/library"], function (ClassSupport, BlockBase, uxapLib) {
|
|
5
|
+
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/converters/ManifestSettings", "sap/uxap/BlockBase", "sap/uxap/library"], function (ClassSupport, CommonUtils, ManifestSettings, BlockBase, uxapLib) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
9
|
+
var CreationMode = ManifestSettings.CreationMode;
|
|
9
10
|
var property = ClassSupport.property;
|
|
10
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
11
12
|
var aggregation = ClassSupport.aggregation;
|
|
@@ -52,7 +53,12 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/uxap/BlockBase", "sap/uxap/libra
|
|
|
52
53
|
_proto.onAfterRendering = function onAfterRendering(oEvent) {
|
|
53
54
|
const subSection = this._oParentObjectPageSubSection;
|
|
54
55
|
if (subSection.getBlocks().length === 1 && this.content && this.content.isA("sap.fe.macros.Table")) {
|
|
55
|
-
|
|
56
|
+
const view = CommonUtils.getTargetView(this);
|
|
57
|
+
const sectionLayout = view?.getViewData()?.sectionLayout;
|
|
58
|
+
const tableControl = this.content.getTableDefinition().control;
|
|
59
|
+
if (tableControl.rowCountMode === "Auto" && (
|
|
60
|
+
// Exclude CreationRow mode unless sectionLayout is Tabs: the fit-container style creates whitespace in the subsection in display mode when CreationRow is used in TableCreationOptions
|
|
61
|
+
tableControl.creationMode !== CreationMode.CreationRow || sectionLayout === "Tabs") && !subSection.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")) {
|
|
56
62
|
subSection.addStyleClass("sapUxAPObjectPageSubSectionFitContainer");
|
|
57
63
|
}
|
|
58
64
|
}
|
|
@@ -85,4 +91,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/uxap/BlockBase", "sap/uxap/libra
|
|
|
85
91
|
}), _class2)) || _class);
|
|
86
92
|
return SubSectionBlock;
|
|
87
93
|
}, false);
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCbG9ja0Jhc2VGb3JtQWRqdXN0bWVudCIsInV4YXBMaWIiLCJTdWJTZWN0aW9uQmxvY2siLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsImdyb3VwIiwiZGVmYXVsdFZhbHVlIiwiX2RlYzMiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CbG9ja0Jhc2UiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImluaXQiLCJfYkNvbm5lY3RlZCIsIl9hcHBseUZvcm1BZGp1c3RtZW50Iiwic0Zvcm1BZGp1c3RtZW50IiwiZ2V0Rm9ybUFkanVzdG1lbnQiLCJvVmlldyIsIl9nZXRTZWxlY3RlZFZpZXdDb250ZW50Iiwib1BhcmVudCIsIl9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24iLCJvRm9ybUFkanVzdG1lbnRGaWVsZHMiLCJOb25lIiwiX2NvbXB1dGVGb3JtQWRqdXN0bWVudEZpZWxkcyIsIl9vTGF5b3V0Q29uZmlnIiwiX2FkanVzdEZvcm0iLCJvbkFmdGVyUmVuZGVyaW5nIiwib0V2ZW50Iiwic3ViU2VjdGlvbiIsImdldEJsb2NrcyIsImNvbnRlbnQiLCJpc0EiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwic2VjdGlvbkxheW91dCIsImdldFZpZXdEYXRhIiwidGFibGVDb250cm9sIiwiZ2V0VGFibGVEZWZpbml0aW9uIiwiY29udHJvbCIsInJvd0NvdW50TW9kZSIsImNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uUm93IiwiaGFzU3R5bGVDbGFzcyIsImFkZFN0eWxlQ2xhc3MiLCJzZXRNb2RlIiwic01vZGUiLCJzZXRQcm9wZXJ0eSIsImNvbm5lY3RUb01vZGVscyIsImdldEFnZ3JlZ2F0aW9uIiwiQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdWJTZWN0aW9uQmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IENyZWF0aW9uTW9kZSwgdHlwZSBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9TdWJTZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEJsb2NrQmFzZSBmcm9tIFwic2FwL3V4YXAvQmxvY2tCYXNlXCI7XG5pbXBvcnQgdHlwZSB7IEJsb2NrQmFzZUNvbHVtbkxheW91dCB9IGZyb20gXCJzYXAvdXhhcC9saWJyYXJ5XCI7XG5pbXBvcnQgdXhhcExpYiBmcm9tIFwic2FwL3V4YXAvbGlicmFyeVwiO1xuY29uc3QgQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQgPSB1eGFwTGliLkJsb2NrQmFzZUZvcm1BZGp1c3RtZW50O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKVxuY2xhc3MgU3ViU2VjdGlvbkJsb2NrIGV4dGVuZHMgQmxvY2tCYXNlIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAudXhhcC5CbG9ja0Jhc2VDb2x1bW5MYXlvdXRcIiwgZ3JvdXA6IFwiQmVoYXZpb3JcIiwgZGVmYXVsdFZhbHVlOiBcIjRcIiB9KVxuXHRjb2x1bW5MYXlvdXQhOiBCbG9ja0Jhc2VDb2x1bW5MYXlvdXQ7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5Db250cm9sXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRjb250ZW50ITogQ29udHJvbDtcblxuXHRwcml2YXRlIF9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24hOiB7IF9vTGF5b3V0Q29uZmlnOiB1bmtub3duIH07XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0KHRoaXMgYXMgdW5rbm93biBhcyB7IF9iQ29ubmVjdGVkOiBib29sZWFuIH0pLl9iQ29ubmVjdGVkID0gdHJ1ZTtcblx0fVxuXG5cdF9hcHBseUZvcm1BZGp1c3RtZW50KCk6IHZvaWQge1xuXHRcdGNvbnN0IHNGb3JtQWRqdXN0bWVudCA9IHRoaXMuZ2V0Rm9ybUFkanVzdG1lbnQoKSxcblx0XHRcdG9WaWV3ID0gdGhpcy5fZ2V0U2VsZWN0ZWRWaWV3Q29udGVudCgpLFxuXHRcdFx0b1BhcmVudCA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbjtcblx0XHRsZXQgb0Zvcm1BZGp1c3RtZW50RmllbGRzO1xuXG5cdFx0aWYgKHNGb3JtQWRqdXN0bWVudCAhPT0gQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQuTm9uZSAmJiBvVmlldyAmJiBvUGFyZW50KSB7XG5cdFx0XHRvRm9ybUFkanVzdG1lbnRGaWVsZHMgPSB0aGlzLl9jb21wdXRlRm9ybUFkanVzdG1lbnRGaWVsZHMoc0Zvcm1BZGp1c3RtZW50LCBvUGFyZW50Ll9vTGF5b3V0Q29uZmlnKTtcblxuXHRcdFx0dGhpcy5fYWRqdXN0Rm9ybShvVmlldywgb0Zvcm1BZGp1c3RtZW50RmllbGRzKTtcblx0XHR9XG5cdH1cblxuXHRvbkFmdGVyUmVuZGVyaW5nKG9FdmVudDogalF1ZXJ5LkV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbiA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbiBhcyB1bmtub3duIGFzIFN1YlNlY3Rpb247XG5cdFx0aWYgKHN1YlNlY3Rpb24uZ2V0QmxvY2tzKCkubGVuZ3RoID09PSAxICYmIHRoaXMuY29udGVudCAmJiB0aGlzLmNvbnRlbnQuaXNBPFRhYmxlQVBJPihcInNhcC5mZS5tYWNyb3MuVGFibGVcIikpIHtcblx0XHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdFx0Y29uc3Qgc2VjdGlvbkxheW91dCA9ICh2aWV3Py5nZXRWaWV3RGF0YSgpIGFzIE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzKT8uc2VjdGlvbkxheW91dDtcblx0XHRcdGNvbnN0IHRhYmxlQ29udHJvbCA9IHRoaXMuY29udGVudC5nZXRUYWJsZURlZmluaXRpb24oKS5jb250cm9sO1xuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdHRhYmxlQ29udHJvbC5yb3dDb3VudE1vZGUgPT09IFwiQXV0b1wiICYmXG5cdFx0XHRcdC8vIEV4Y2x1ZGUgQ3JlYXRpb25Sb3cgbW9kZSB1bmxlc3Mgc2VjdGlvbkxheW91dCBpcyBUYWJzOiB0aGUgZml0LWNvbnRhaW5lciBzdHlsZSBjcmVhdGVzIHdoaXRlc3BhY2UgaW4gdGhlIHN1YnNlY3Rpb24gaW4gZGlzcGxheSBtb2RlIHdoZW4gQ3JlYXRpb25Sb3cgaXMgdXNlZCBpbiBUYWJsZUNyZWF0aW9uT3B0aW9uc1xuXHRcdFx0XHQodGFibGVDb250cm9sLmNyZWF0aW9uTW9kZSAhPT0gQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93IHx8IHNlY3Rpb25MYXlvdXQgPT09IFwiVGFic1wiKSAmJlxuXHRcdFx0XHQhc3ViU2VjdGlvbi5oYXNTdHlsZUNsYXNzKFwic2FwVXhBUE9iamVjdFBhZ2VTdWJTZWN0aW9uRml0Q29udGFpbmVyXCIpXG5cdFx0XHQpIHtcblx0XHRcdFx0c3ViU2VjdGlvbi5hZGRTdHlsZUNsYXNzKFwic2FwVXhBUE9iamVjdFBhZ2VTdWJTZWN0aW9uRml0Q29udGFpbmVyXCIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc3VwZXIub25BZnRlclJlbmRlcmluZyhvRXZlbnQpO1xuXHR9XG5cblx0c2V0TW9kZShzTW9kZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcIm1vZGVcIiwgc01vZGUpO1xuXHRcdC8vIE9QVElPTkFMOiB0aGlzLmludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCIvbW9kZVwiLCBzTW9kZSk7XG5cdH1cblxuXHRjb25uZWN0VG9Nb2RlbHMoKTogdm9pZCB7XG5cdFx0Ly8gVmlldyBpcyBhbHJlYWR5IGNvbm5lY3RlZCB0byB0aGUgVUk1IG1vZGVsIHRyZWUsIGhlbmNlIG5vIGV4dHJhIGxvZ2ljIHJlcXVpcmVkIGhlcmVcblx0fVxuXG5cdC8vLyBTdWJTZWN0aW9uQmxvY2sgdXNlIGFnZ3JlZ2F0aW9uIGluc3RlYWQgb2YgYSB2aWV3LCBpLmUuIHJldHVybiB0aGF0IGFzIHRoZSB2aWV3IGNvbnRlbnRcblx0X2dldFNlbGVjdGVkVmlld0NvbnRlbnQoKTogTWFuYWdlZE9iamVjdCB8IE1hbmFnZWRPYmplY3RbXSB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKTtcblx0fVxufVxuXG5pbnRlcmZhY2UgU3ViU2VjdGlvbkJsb2NrIHtcblx0X2FkanVzdEZvcm0odmlldzogTWFuYWdlZE9iamVjdCB8IE1hbmFnZWRPYmplY3RbXSwgZm9ybUZpZWxkczogdW5rbm93bik6IHZvaWQ7XG5cdF9jb21wdXRlRm9ybUFkanVzdG1lbnRGaWVsZHMoc0Zvcm1BZGp1c3RtZW50OiBzdHJpbmcsIF9vTGF5b3V0Q29uZmlnOiB1bmtub3duKTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU3ViU2VjdGlvbkJsb2NrO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQVVBLE1BQU1BLHVCQUF1QixHQUFHQyxPQUFPLENBQUNELHVCQUF1QjtFQUFDLElBRTFERSxlQUFlLElBQUFDLElBQUEsR0FEcEJDLGNBQWMsQ0FBQyxzREFBc0QsQ0FBQyxFQUFBQyxLQUFBLEdBRXJFQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLGdDQUFnQztJQUFFQyxLQUFLLEVBQUUsVUFBVTtJQUFFQyxZQUFZLEVBQUU7RUFBSSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUcxRkMsV0FBVyxDQUFDO0lBQUVKLElBQUksRUFBRSxxQkFBcUI7SUFBRUssUUFBUSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFULElBQUEsQ0FBQVUsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxVQUFBO0lBQUEsU0FBQWIsZ0JBQUE7TUFBQSxJQUFBYyxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxVQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUFBSSwwQkFBQSxDQUFBUixLQUFBLGtCQUFBUyxXQUFBLEVBQUFULEtBQUE7TUFBQVEsMEJBQUEsQ0FBQVIsS0FBQSxhQUFBVSxZQUFBLEVBQUFWLEtBQUE7TUFBQSxPQUFBQSxLQUFBO0lBQUE7SUFBQVcsY0FBQSxDQUFBekIsZUFBQSxFQUFBYSxVQUFBO0lBQUEsSUFBQWEsTUFBQSxHQUFBMUIsZUFBQSxDQUFBMkIsU0FBQTtJQUFBRCxNQUFBLENBSzlERSxJQUFJLEdBQUosU0FBQUEsSUFBSUEsQ0FBQSxFQUFTO01BQ1pmLFVBQUEsQ0FBQWMsU0FBQSxDQUFNQyxJQUFJLENBQUFQLElBQUE7TUFDVCxJQUFJLENBQXlDUSxXQUFXLEdBQUcsSUFBSTtJQUNqRSxDQUFDO0lBQUFILE1BQUEsQ0FFREksb0JBQW9CLEdBQXBCLFNBQUFBLG9CQUFvQkEsQ0FBQSxFQUFTO01BQzVCLE1BQU1DLGVBQWUsR0FBRyxJQUFJLENBQUNDLGlCQUFpQixDQUFDLENBQUM7UUFDL0NDLEtBQUssR0FBRyxJQUFJLENBQUNDLHVCQUF1QixDQUFDLENBQUM7UUFDdENDLE9BQU8sR0FBRyxJQUFJLENBQUNDLDRCQUE0QjtNQUM1QyxJQUFJQyxxQkFBcUI7TUFFekIsSUFBSU4sZUFBZSxLQUFLakMsdUJBQXVCLENBQUN3QyxJQUFJLElBQUlMLEtBQUssSUFBSUUsT0FBTyxFQUFFO1FBQ3pFRSxxQkFBcUIsR0FBRyxJQUFJLENBQUNFLDRCQUE0QixDQUFDUixlQUFlLEVBQUVJLE9BQU8sQ0FBQ0ssY0FBYyxDQUFDO1FBRWxHLElBQUksQ0FBQ0MsV0FBVyxDQUFDUixLQUFLLEVBQUVJLHFCQUFxQixDQUFDO01BQy9DO0lBQ0QsQ0FBQztJQUFBWCxNQUFBLENBRURnQixnQkFBZ0IsR0FBaEIsU0FBQUEsZ0JBQWdCQSxDQUFDQyxNQUFvQixFQUFvQjtNQUN4RCxNQUFNQyxVQUFVLEdBQUcsSUFBSSxDQUFDUiw0QkFBcUQ7TUFDN0UsSUFBSVEsVUFBVSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxDQUFDNUIsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM2QixPQUFPLElBQUksSUFBSSxDQUFDQSxPQUFPLENBQUNDLEdBQUcsQ0FBVyxxQkFBcUIsQ0FBQyxFQUFFO1FBQzdHLE1BQU1DLElBQUksR0FBR0MsV0FBVyxDQUFDQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQzVDLE1BQU1DLGFBQWEsR0FBSUgsSUFBSSxFQUFFSSxXQUFXLENBQUMsQ0FBQyxFQUFpQ0QsYUFBYTtRQUN4RixNQUFNRSxZQUFZLEdBQUcsSUFBSSxDQUFDUCxPQUFPLENBQUNRLGtCQUFrQixDQUFDLENBQUMsQ0FBQ0MsT0FBTztRQUU5RCxJQUNDRixZQUFZLENBQUNHLFlBQVksS0FBSyxNQUFNO1FBQ3BDO1FBQ0NILFlBQVksQ0FBQ0ksWUFBWSxLQUFLQyxZQUFZLENBQUNDLFdBQVcsSUFBSVIsYUFBYSxLQUFLLE1BQU0sQ0FBQyxJQUNwRixDQUFDUCxVQUFVLENBQUNnQixhQUFhLENBQUMseUNBQXlDLENBQUMsRUFDbkU7VUFDRGhCLFVBQVUsQ0FBQ2lCLGFBQWEsQ0FBQyx5Q0FBeUMsQ0FBQztRQUNwRTtNQUNEO01BQ0EsT0FBQWhELFVBQUEsQ0FBQWMsU0FBQSxDQUFhZSxnQkFBZ0IsQ0FBQXJCLElBQUEsT0FBQ3NCLE1BQU07SUFDckMsQ0FBQztJQUFBakIsTUFBQSxDQUVEb0MsT0FBTyxHQUFQLFNBQUFBLE9BQU9BLENBQUNDLEtBQWEsRUFBUTtNQUM1QixJQUFJLENBQUNDLFdBQVcsQ0FBQyxNQUFNLEVBQUVELEtBQUssQ0FBQztNQUMvQjtJQUNELENBQUM7SUFBQXJDLE1BQUEsQ0FFRHVDLGVBQWUsR0FBZixTQUFBQSxlQUFlQSxDQUFBLEVBQVM7TUFDdkI7SUFBQTs7SUFHRDtJQUFBO0lBQUF2QyxNQUFBLENBQ0FRLHVCQUF1QixHQUF2QixTQUFBQSx1QkFBdUJBLENBQUEsRUFBMkM7TUFDakUsT0FBTyxJQUFJLENBQUNnQyxjQUFjLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFBQSxPQUFBbEUsZUFBQTtFQUFBLEVBMUQ0Qm1FLFNBQVMsR0FBQTVDLFdBQUEsR0FBQTZDLHlCQUFBLENBQUF4RCxPQUFBLENBQUFlLFNBQUEsbUJBQUF4QixLQUFBO0lBQUFrRSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWhELFlBQUEsR0FBQTRDLHlCQUFBLENBQUF4RCxPQUFBLENBQUFlLFNBQUEsY0FBQW5CLEtBQUE7SUFBQTZELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBNUQsT0FBQSxNQUFBRCxNQUFBO0VBQUEsT0FrRXhCWCxlQUFlO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { aggregation, defineUI5Class, property } from "sap/fe/base/ClassSupport";
|
|
2
|
+
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
3
|
+
import { CreationMode, type ObjectPageManifestSettings } from "sap/fe/core/converters/ManifestSettings";
|
|
2
4
|
import type SubSection from "sap/fe/macros/controls/section/SubSection";
|
|
3
5
|
import type TableAPI from "sap/fe/macros/Table";
|
|
4
6
|
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
@@ -38,8 +40,14 @@ class SubSectionBlock extends BlockBase {
|
|
|
38
40
|
onAfterRendering(oEvent: jQuery.Event): void | undefined {
|
|
39
41
|
const subSection = this._oParentObjectPageSubSection as unknown as SubSection;
|
|
40
42
|
if (subSection.getBlocks().length === 1 && this.content && this.content.isA<TableAPI>("sap.fe.macros.Table")) {
|
|
43
|
+
const view = CommonUtils.getTargetView(this);
|
|
44
|
+
const sectionLayout = (view?.getViewData() as ObjectPageManifestSettings)?.sectionLayout;
|
|
45
|
+
const tableControl = this.content.getTableDefinition().control;
|
|
46
|
+
|
|
41
47
|
if (
|
|
42
|
-
|
|
48
|
+
tableControl.rowCountMode === "Auto" &&
|
|
49
|
+
// Exclude CreationRow mode unless sectionLayout is Tabs: the fit-container style creates whitespace in the subsection in display mode when CreationRow is used in TableCreationOptions
|
|
50
|
+
(tableControl.creationMode !== CreationMode.CreationRow || sectionLayout === "Tabs") &&
|
|
43
51
|
!subSection.hasStyleClass("sapUxAPObjectPageSubSectionFitContainer")
|
|
44
52
|
) {
|
|
45
53
|
subSection.addStyleClass("sapUxAPObjectPageSubSectionFitContainer");
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define([], function () {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for polling section stability.
|
|
11
|
+
*/
|
|
12
|
+
/** Default polling interval in milliseconds. */
|
|
13
|
+
const POLL_INTERVAL = 50;
|
|
14
|
+
/** Default maximum number of polling attempts. */
|
|
15
|
+
const MAX_ATTEMPTS = 10;
|
|
16
|
+
/** Number of consecutive stable checks required before considering navigation complete. */
|
|
17
|
+
const REQUIRED_STABLE_CHECKS = 3;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Polls for section selection stability to detect and recover from ObjectPageLayout UX rules resets.
|
|
21
|
+
* During initial ObjectPage load, the ObjectPageLayout's _adjustSelectedSectionByUXRules method may reset
|
|
22
|
+
* the selected section to the first visible section. This utility polls to detect such resets and
|
|
23
|
+
* re-triggers navigation when detected.
|
|
24
|
+
* The polling stops when either:
|
|
25
|
+
* - The target section has been stable for 3 consecutive checks (~150ms).
|
|
26
|
+
* - Maximum attempts (10) reached (~500ms total).
|
|
27
|
+
* - Guard check returns false (e.g., control destroyed).
|
|
28
|
+
* @param config Polling configuration.
|
|
29
|
+
* @returns Promise that resolves when polling completes (either stable or timeout).
|
|
30
|
+
*/
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async -- Cannot use async here as return await is not allowed
|
|
32
|
+
function pollForSectionStability(config) {
|
|
33
|
+
return new Promise(resolve => {
|
|
34
|
+
let attempts = 0;
|
|
35
|
+
let stableCount = 0;
|
|
36
|
+
const checkSection = () => {
|
|
37
|
+
attempts++;
|
|
38
|
+
|
|
39
|
+
// Guard check (e.g., control destroyed during navigation)
|
|
40
|
+
if (config.guardCheck && !config.guardCheck()) {
|
|
41
|
+
resolve();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const currentSection = config.getSelectedSection();
|
|
45
|
+
if (currentSection !== config.targetSectionId) {
|
|
46
|
+
// UX rules reset detected - re-navigate
|
|
47
|
+
stableCount = 0;
|
|
48
|
+
config.onResetDetected();
|
|
49
|
+
} else {
|
|
50
|
+
stableCount++;
|
|
51
|
+
if (stableCount >= REQUIRED_STABLE_CHECKS) {
|
|
52
|
+
// Section stable - stop polling
|
|
53
|
+
resolve();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (attempts < MAX_ATTEMPTS) {
|
|
58
|
+
setTimeout(checkSection, POLL_INTERVAL);
|
|
59
|
+
} else {
|
|
60
|
+
// Max attempts reached - stop polling
|
|
61
|
+
resolve();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// Start polling after first interval
|
|
66
|
+
setTimeout(checkSection, POLL_INTERVAL);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
_exports.pollForSectionStability = pollForSectionStability;
|
|
70
|
+
return _exports;
|
|
71
|
+
}, false);
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQT0xMX0lOVEVSVkFMIiwiTUFYX0FUVEVNUFRTIiwiUkVRVUlSRURfU1RBQkxFX0NIRUNLUyIsInBvbGxGb3JTZWN0aW9uU3RhYmlsaXR5IiwiY29uZmlnIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhdHRlbXB0cyIsInN0YWJsZUNvdW50IiwiY2hlY2tTZWN0aW9uIiwiZ3VhcmRDaGVjayIsImN1cnJlbnRTZWN0aW9uIiwiZ2V0U2VsZWN0ZWRTZWN0aW9uIiwidGFyZ2V0U2VjdGlvbklkIiwib25SZXNldERldGVjdGVkIiwic2V0VGltZW91dCIsIl9leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTZWN0aW9uTmF2aWdhdGlvbkhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHBvbGxpbmcgc2VjdGlvbiBzdGFiaWxpdHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdGlvblN0YWJpbGl0eVBvbGxpbmdDb25maWcge1xuXHQvKiogRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc2VjdGlvbiBJRC4gKi9cblx0Z2V0U2VsZWN0ZWRTZWN0aW9uOiAoKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXHQvKiogVGhlIHRhcmdldCBzZWN0aW9uIElEIHdlJ3JlIHdhaXRpbmcgZm9yLiAqL1xuXHR0YXJnZXRTZWN0aW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIENhbGxiYWNrIGludm9rZWQgd2hlbiBhIFVYIHJ1bGVzIHJlc2V0IGlzIGRldGVjdGVkIChzZWN0aW9uIGNoYW5nZWQgYXdheSBmcm9tIHRhcmdldCkuICovXG5cdG9uUmVzZXREZXRlY3RlZDogKCkgPT4gdm9pZDtcblx0LyoqIE9wdGlvbmFsIGd1YXJkIGNoZWNrIC0gcmV0dXJuIGZhbHNlIHRvIHN0b3AgcG9sbGluZyBlYXJseSAoZS5nLiwgY29udHJvbCBkZXN0cm95ZWQpLiAqL1xuXHRndWFyZENoZWNrPzogKCkgPT4gYm9vbGVhbjtcbn1cblxuLyoqIERlZmF1bHQgcG9sbGluZyBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMuICAqL1xuY29uc3QgUE9MTF9JTlRFUlZBTCA9IDUwO1xuLyoqIERlZmF1bHQgbWF4aW11bSBudW1iZXIgb2YgcG9sbGluZyBhdHRlbXB0cy4gKi9cbmNvbnN0IE1BWF9BVFRFTVBUUyA9IDEwO1xuLyoqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBzdGFibGUgY2hlY2tzIHJlcXVpcmVkIGJlZm9yZSBjb25zaWRlcmluZyBuYXZpZ2F0aW9uIGNvbXBsZXRlLiAqL1xuY29uc3QgUkVRVUlSRURfU1RBQkxFX0NIRUNLUyA9IDM7XG5cbi8qKlxuICogUG9sbHMgZm9yIHNlY3Rpb24gc2VsZWN0aW9uIHN0YWJpbGl0eSB0byBkZXRlY3QgYW5kIHJlY292ZXIgZnJvbSBPYmplY3RQYWdlTGF5b3V0IFVYIHJ1bGVzIHJlc2V0cy5cbiAqIER1cmluZyBpbml0aWFsIE9iamVjdFBhZ2UgbG9hZCwgdGhlIE9iamVjdFBhZ2VMYXlvdXQncyBfYWRqdXN0U2VsZWN0ZWRTZWN0aW9uQnlVWFJ1bGVzIG1ldGhvZCBtYXkgcmVzZXRcbiAqIHRoZSBzZWxlY3RlZCBzZWN0aW9uIHRvIHRoZSBmaXJzdCB2aXNpYmxlIHNlY3Rpb24uIFRoaXMgdXRpbGl0eSBwb2xscyB0byBkZXRlY3Qgc3VjaCByZXNldHMgYW5kXG4gKiByZS10cmlnZ2VycyBuYXZpZ2F0aW9uIHdoZW4gZGV0ZWN0ZWQuXG4gKiBUaGUgcG9sbGluZyBzdG9wcyB3aGVuIGVpdGhlcjpcbiAqIC0gVGhlIHRhcmdldCBzZWN0aW9uIGhhcyBiZWVuIHN0YWJsZSBmb3IgMyBjb25zZWN1dGl2ZSBjaGVja3MgKH4xNTBtcykuXG4gKiAtIE1heGltdW0gYXR0ZW1wdHMgKDEwKSByZWFjaGVkICh+NTAwbXMgdG90YWwpLlxuICogLSBHdWFyZCBjaGVjayByZXR1cm5zIGZhbHNlIChlLmcuLCBjb250cm9sIGRlc3Ryb3llZCkuXG4gKiBAcGFyYW0gY29uZmlnIFBvbGxpbmcgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHBvbGxpbmcgY29tcGxldGVzIChlaXRoZXIgc3RhYmxlIG9yIHRpbWVvdXQpLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Byb21pc2UtZnVuY3Rpb24tYXN5bmMgLS0gQ2Fubm90IHVzZSBhc3luYyBoZXJlIGFzIHJldHVybiBhd2FpdCBpcyBub3QgYWxsb3dlZFxuZXhwb3J0IGZ1bmN0aW9uIHBvbGxGb3JTZWN0aW9uU3RhYmlsaXR5KGNvbmZpZzogU2VjdGlvblN0YWJpbGl0eVBvbGxpbmdDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0bGV0IGF0dGVtcHRzID0gMDtcblx0XHRsZXQgc3RhYmxlQ291bnQgPSAwO1xuXG5cdFx0Y29uc3QgY2hlY2tTZWN0aW9uID0gKCk6IHZvaWQgPT4ge1xuXHRcdFx0YXR0ZW1wdHMrKztcblxuXHRcdFx0Ly8gR3VhcmQgY2hlY2sgKGUuZy4sIGNvbnRyb2wgZGVzdHJveWVkIGR1cmluZyBuYXZpZ2F0aW9uKVxuXHRcdFx0aWYgKGNvbmZpZy5ndWFyZENoZWNrICYmICFjb25maWcuZ3VhcmRDaGVjaygpKSB7XG5cdFx0XHRcdHJlc29sdmUoKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBjdXJyZW50U2VjdGlvbiA9IGNvbmZpZy5nZXRTZWxlY3RlZFNlY3Rpb24oKTtcblxuXHRcdFx0aWYgKGN1cnJlbnRTZWN0aW9uICE9PSBjb25maWcudGFyZ2V0U2VjdGlvbklkKSB7XG5cdFx0XHRcdC8vIFVYIHJ1bGVzIHJlc2V0IGRldGVjdGVkIC0gcmUtbmF2aWdhdGVcblx0XHRcdFx0c3RhYmxlQ291bnQgPSAwO1xuXHRcdFx0XHRjb25maWcub25SZXNldERldGVjdGVkKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGFibGVDb3VudCsrO1xuXHRcdFx0XHRpZiAoc3RhYmxlQ291bnQgPj0gUkVRVUlSRURfU1RBQkxFX0NIRUNLUykge1xuXHRcdFx0XHRcdC8vIFNlY3Rpb24gc3RhYmxlIC0gc3RvcCBwb2xsaW5nXG5cdFx0XHRcdFx0cmVzb2x2ZSgpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoYXR0ZW1wdHMgPCBNQVhfQVRURU1QVFMpIHtcblx0XHRcdFx0c2V0VGltZW91dChjaGVja1NlY3Rpb24sIFBPTExfSU5URVJWQUwpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly8gTWF4IGF0dGVtcHRzIHJlYWNoZWQgLSBzdG9wIHBvbGxpbmdcblx0XHRcdFx0cmVzb2x2ZSgpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHQvLyBTdGFydCBwb2xsaW5nIGFmdGVyIGZpcnN0IGludGVydmFsXG5cdFx0c2V0VGltZW91dChjaGVja1NlY3Rpb24sIFBPTExfSU5URVJWQUwpO1xuXHR9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7RUFBQTtBQUNBO0FBQ0E7RUFZQTtFQUNBLE1BQU1BLGFBQWEsR0FBRyxFQUFFO0VBQ3hCO0VBQ0EsTUFBTUMsWUFBWSxHQUFHLEVBQUU7RUFDdkI7RUFDQSxNQUFNQyxzQkFBc0IsR0FBRyxDQUFDOztFQUVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQTtFQUNPLFNBQVNDLHVCQUF1QkEsQ0FBQ0MsTUFBcUMsRUFBaUI7SUFDN0YsT0FBTyxJQUFJQyxPQUFPLENBQUVDLE9BQU8sSUFBSztNQUMvQixJQUFJQyxRQUFRLEdBQUcsQ0FBQztNQUNoQixJQUFJQyxXQUFXLEdBQUcsQ0FBQztNQUVuQixNQUFNQyxZQUFZLEdBQUdBLENBQUEsS0FBWTtRQUNoQ0YsUUFBUSxFQUFFOztRQUVWO1FBQ0EsSUFBSUgsTUFBTSxDQUFDTSxVQUFVLElBQUksQ0FBQ04sTUFBTSxDQUFDTSxVQUFVLENBQUMsQ0FBQyxFQUFFO1VBQzlDSixPQUFPLENBQUMsQ0FBQztVQUNUO1FBQ0Q7UUFFQSxNQUFNSyxjQUFjLEdBQUdQLE1BQU0sQ0FBQ1Esa0JBQWtCLENBQUMsQ0FBQztRQUVsRCxJQUFJRCxjQUFjLEtBQUtQLE1BQU0sQ0FBQ1MsZUFBZSxFQUFFO1VBQzlDO1VBQ0FMLFdBQVcsR0FBRyxDQUFDO1VBQ2ZKLE1BQU0sQ0FBQ1UsZUFBZSxDQUFDLENBQUM7UUFDekIsQ0FBQyxNQUFNO1VBQ05OLFdBQVcsRUFBRTtVQUNiLElBQUlBLFdBQVcsSUFBSU4sc0JBQXNCLEVBQUU7WUFDMUM7WUFDQUksT0FBTyxDQUFDLENBQUM7WUFDVDtVQUNEO1FBQ0Q7UUFFQSxJQUFJQyxRQUFRLEdBQUdOLFlBQVksRUFBRTtVQUM1QmMsVUFBVSxDQUFDTixZQUFZLEVBQUVULGFBQWEsQ0FBQztRQUN4QyxDQUFDLE1BQU07VUFDTjtVQUNBTSxPQUFPLENBQUMsQ0FBQztRQUNWO01BQ0QsQ0FBQzs7TUFFRDtNQUNBUyxVQUFVLENBQUNOLFlBQVksRUFBRVQsYUFBYSxDQUFDO0lBQ3hDLENBQUMsQ0FBQztFQUNIO0VBQUNnQixRQUFBLENBQUFiLHVCQUFBLEdBQUFBLHVCQUFBO0VBQUEsT0FBQWEsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for polling section stability.
|
|
3
|
+
*/
|
|
4
|
+
export interface SectionStabilityPollingConfig {
|
|
5
|
+
/** Function that returns the currently selected section ID. */
|
|
6
|
+
getSelectedSection: () => string | null | undefined;
|
|
7
|
+
/** The target section ID we're waiting for. */
|
|
8
|
+
targetSectionId: string | undefined;
|
|
9
|
+
/** Callback invoked when a UX rules reset is detected (section changed away from target). */
|
|
10
|
+
onResetDetected: () => void;
|
|
11
|
+
/** Optional guard check - return false to stop polling early (e.g., control destroyed). */
|
|
12
|
+
guardCheck?: () => boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Default polling interval in milliseconds. */
|
|
16
|
+
const POLL_INTERVAL = 50;
|
|
17
|
+
/** Default maximum number of polling attempts. */
|
|
18
|
+
const MAX_ATTEMPTS = 10;
|
|
19
|
+
/** Number of consecutive stable checks required before considering navigation complete. */
|
|
20
|
+
const REQUIRED_STABLE_CHECKS = 3;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Polls for section selection stability to detect and recover from ObjectPageLayout UX rules resets.
|
|
24
|
+
* During initial ObjectPage load, the ObjectPageLayout's _adjustSelectedSectionByUXRules method may reset
|
|
25
|
+
* the selected section to the first visible section. This utility polls to detect such resets and
|
|
26
|
+
* re-triggers navigation when detected.
|
|
27
|
+
* The polling stops when either:
|
|
28
|
+
* - The target section has been stable for 3 consecutive checks (~150ms).
|
|
29
|
+
* - Maximum attempts (10) reached (~500ms total).
|
|
30
|
+
* - Guard check returns false (e.g., control destroyed).
|
|
31
|
+
* @param config Polling configuration.
|
|
32
|
+
* @returns Promise that resolves when polling completes (either stable or timeout).
|
|
33
|
+
*/
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async -- Cannot use async here as return await is not allowed
|
|
35
|
+
export function pollForSectionStability(config: SectionStabilityPollingConfig): Promise<void> {
|
|
36
|
+
return new Promise((resolve) => {
|
|
37
|
+
let attempts = 0;
|
|
38
|
+
let stableCount = 0;
|
|
39
|
+
|
|
40
|
+
const checkSection = (): void => {
|
|
41
|
+
attempts++;
|
|
42
|
+
|
|
43
|
+
// Guard check (e.g., control destroyed during navigation)
|
|
44
|
+
if (config.guardCheck && !config.guardCheck()) {
|
|
45
|
+
resolve();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const currentSection = config.getSelectedSection();
|
|
50
|
+
|
|
51
|
+
if (currentSection !== config.targetSectionId) {
|
|
52
|
+
// UX rules reset detected - re-navigate
|
|
53
|
+
stableCount = 0;
|
|
54
|
+
config.onResetDetected();
|
|
55
|
+
} else {
|
|
56
|
+
stableCount++;
|
|
57
|
+
if (stableCount >= REQUIRED_STABLE_CHECKS) {
|
|
58
|
+
// Section stable - stop polling
|
|
59
|
+
resolve();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (attempts < MAX_ATTEMPTS) {
|
|
65
|
+
setTimeout(checkSection, POLL_INTERVAL);
|
|
66
|
+
} else {
|
|
67
|
+
// Max attempts reached - stop polling
|
|
68
|
+
resolve();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Start polling after first interval
|
|
73
|
+
setTimeout(checkSection, POLL_INTERVAL);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"id": "sap.fe.templates.ObjectPage",
|
|
5
5
|
"type": "component",
|
|
6
6
|
"applicationVersion": {
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.148.1"
|
|
8
8
|
},
|
|
9
9
|
"title": "Object Page",
|
|
10
10
|
"tags": {
|
|
@@ -47,20 +47,6 @@
|
|
|
47
47
|
"shortcut": "Ctrl+Enter",
|
|
48
48
|
"description": "{{CREATE_OBJECT_SHORTCUT_DESCRIPTION}}"
|
|
49
49
|
},
|
|
50
|
-
"Cut": {
|
|
51
|
-
"name": "Cut",
|
|
52
|
-
"shortcut": "Ctrl+X",
|
|
53
|
-
"description": "{{CUT_SHORTCUT_DESCRIPTION}}"
|
|
54
|
-
},
|
|
55
|
-
"Copy": {
|
|
56
|
-
"name": "Copy",
|
|
57
|
-
"shortcut": "Ctrl+c"
|
|
58
|
-
},
|
|
59
|
-
"Paste": {
|
|
60
|
-
"name": "Paste",
|
|
61
|
-
"shortcut": "Ctrl+V",
|
|
62
|
-
"description": "{{PASTE_SHORTCUT_DESCRIPTION}}"
|
|
63
|
-
},
|
|
64
50
|
"DeleteEntry": {
|
|
65
51
|
"name": "DeleteEntry",
|
|
66
52
|
"shortcut": "Ctrl+D",
|
|
@@ -17,29 +17,38 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/macros/insight
|
|
|
17
17
|
const controller = view.getController();
|
|
18
18
|
const appComponent = controller.getOwnerComponent().getAppComponent();
|
|
19
19
|
const isEditable = CommonUtils.getIsEditable(view);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
if (!isEditable) {
|
|
21
|
+
// Start card retrieval immediately and register it with pageReady so it runs in
|
|
22
|
+
// parallel with the OData page load instead of sequentially after it.
|
|
23
|
+
// _getPageTitleInformation uses requestProperty() which is an OData V4 async API
|
|
24
|
+
// that safely queues data requests and resolves when entity data arrives.
|
|
25
|
+
const cardRetrievalPromise = (async () => {
|
|
26
|
+
const card = await appComponent.getCollaborationManagerService().getDesignTimeCard(RetrieveCardTypes.INTEGRATION);
|
|
27
|
+
if (card) {
|
|
28
|
+
const onAddCardToCollaborationManagerCallback = () => {
|
|
29
|
+
try {
|
|
30
|
+
if (card) {
|
|
31
|
+
appComponent.getCollaborationManagerService().publishCard(card);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
} catch (e) {
|
|
35
|
+
showGenericErrorMessage(view);
|
|
36
|
+
Log.error(e);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const pageTitleInformation = await controller._getPageTitleInformation();
|
|
40
|
+
cards.push({
|
|
41
|
+
card: card,
|
|
42
|
+
title: pageTitleInformation.subtitle || "",
|
|
43
|
+
callback: onAddCardToCollaborationManagerCallback
|
|
44
|
+
});
|
|
32
45
|
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
card: card,
|
|
37
|
-
title: pageTitleInformation.subtitle || "",
|
|
38
|
-
callback: onAddCardToCollaborationManagerCallback
|
|
39
|
-
});
|
|
46
|
+
})();
|
|
47
|
+
controller.pageReady.waitFor(cardRetrievalPromise);
|
|
48
|
+
await cardRetrievalPromise;
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
};
|
|
43
52
|
return CollaborationManagerOverride;
|
|
44
53
|
}, false);
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXRyaWV2ZUNhcmRUeXBlcyIsIklOVEVHUkFUSU9OIiwiX2V4cG9ydHMiLCJDb2xsYWJvcmF0aW9uTWFuYWdlck92ZXJyaWRlIiwiY29sbGVjdEF2YWlsYWJsZUNhcmRzIiwiY2FyZHMiLCJ2aWV3IiwiYmFzZSIsImdldFZpZXciLCJjb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsImFwcENvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50IiwiaXNFZGl0YWJsZSIsIkNvbW1vblV0aWxzIiwiZ2V0SXNFZGl0YWJsZSIsImNhcmRSZXRyaWV2YWxQcm9taXNlIiwiY2FyZCIsImdldENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSIsImdldERlc2lnblRpbWVDYXJkIiwib25BZGRDYXJkVG9Db2xsYWJvcmF0aW9uTWFuYWdlckNhbGxiYWNrIiwicHVibGlzaENhcmQiLCJlIiwic2hvd0dlbmVyaWNFcnJvck1lc3NhZ2UiLCJMb2ciLCJlcnJvciIsInBhZ2VUaXRsZUluZm9ybWF0aW9uIiwiX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uIiwicHVzaCIsInRpdGxlIiwic3VidGl0bGUiLCJjYWxsYmFjayIsInBhZ2VSZWFkeSIsIndhaXRGb3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgdHlwZSBSZXRyaWV2ZUNhcmRUeXBlIH0gZnJvbSBcInNhcC9jYXJkcy9hcC9jb21tb24vc2VydmljZXMvUmV0cmlldmVDYXJkXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBDb2xsYWJvcmF0aW9uTWFuYWdlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvY2FyZHMvQ29sbGFib3JhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgV3JhcHBlZENhcmQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHsgc2hvd0dlbmVyaWNFcnJvck1lc3NhZ2UgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnNpZ2h0cy9Db21tb25JbnNpZ2h0c0hlbHBlclwiO1xuaW1wb3J0IHsgdHlwZSBDYXJkTWFuaWZlc3QgfSBmcm9tIFwic2FwL2luc2lnaHRzL0NhcmRIZWxwZXJcIjtcbmV4cG9ydCBjb25zdCBSZXRyaWV2ZUNhcmRUeXBlczogUmVjb3JkPHN0cmluZywgUmV0cmlldmVDYXJkVHlwZT4gPSB7XG5cdElOVEVHUkFUSU9OOiBcImludGVncmF0aW9uXCJcbn07XG5cbmNvbnN0IENvbGxhYm9yYXRpb25NYW5hZ2VyT3ZlcnJpZGUgPSB7XG5cdGFzeW5jIGNvbGxlY3RBdmFpbGFibGVDYXJkcyh0aGlzOiBDb2xsYWJvcmF0aW9uTWFuYWdlciwgY2FyZHM6IFdyYXBwZWRDYXJkW10pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5iYXNlLmdldFZpZXcoKTtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdmlldy5nZXRDb250cm9sbGVyKCk7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGNvbnN0IGlzRWRpdGFibGUgPSBDb21tb25VdGlscy5nZXRJc0VkaXRhYmxlKHZpZXcpO1xuXHRcdGlmICghaXNFZGl0YWJsZSkge1xuXHRcdFx0Ly8gU3RhcnQgY2FyZCByZXRyaWV2YWwgaW1tZWRpYXRlbHkgYW5kIHJlZ2lzdGVyIGl0IHdpdGggcGFnZVJlYWR5IHNvIGl0IHJ1bnMgaW5cblx0XHRcdC8vIHBhcmFsbGVsIHdpdGggdGhlIE9EYXRhIHBhZ2UgbG9hZCBpbnN0ZWFkIG9mIHNlcXVlbnRpYWxseSBhZnRlciBpdC5cblx0XHRcdC8vIF9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbiB1c2VzIHJlcXVlc3RQcm9wZXJ0eSgpIHdoaWNoIGlzIGFuIE9EYXRhIFY0IGFzeW5jIEFQSVxuXHRcdFx0Ly8gdGhhdCBzYWZlbHkgcXVldWVzIGRhdGEgcmVxdWVzdHMgYW5kIHJlc29sdmVzIHdoZW4gZW50aXR5IGRhdGEgYXJyaXZlcy5cblx0XHRcdGNvbnN0IGNhcmRSZXRyaWV2YWxQcm9taXNlID0gKGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0Y29uc3QgY2FyZCA9IGF3YWl0IGFwcENvbXBvbmVudC5nZXRDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UoKS5nZXREZXNpZ25UaW1lQ2FyZChSZXRyaWV2ZUNhcmRUeXBlcy5JTlRFR1JBVElPTik7XG5cdFx0XHRcdGlmIChjYXJkKSB7XG5cdFx0XHRcdFx0Y29uc3Qgb25BZGRDYXJkVG9Db2xsYWJvcmF0aW9uTWFuYWdlckNhbGxiYWNrID0gKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0aWYgKGNhcmQpIHtcblx0XHRcdFx0XHRcdFx0XHRhcHBDb21wb25lbnQuZ2V0Q29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlKCkucHVibGlzaENhcmQoY2FyZCBhcyBDYXJkTWFuaWZlc3QpO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdFx0XHRzaG93R2VuZXJpY0Vycm9yTWVzc2FnZSh2aWV3KTtcblx0XHRcdFx0XHRcdFx0TG9nLmVycm9yKGUgYXMgc3RyaW5nKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGNvbnN0IHBhZ2VUaXRsZUluZm9ybWF0aW9uID0gYXdhaXQgY29udHJvbGxlci5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24oKTtcblx0XHRcdFx0XHRjYXJkcy5wdXNoKHtcblx0XHRcdFx0XHRcdGNhcmQ6IGNhcmQsXG5cdFx0XHRcdFx0XHR0aXRsZTogcGFnZVRpdGxlSW5mb3JtYXRpb24uc3VidGl0bGUgfHwgXCJcIixcblx0XHRcdFx0XHRcdGNhbGxiYWNrOiBvbkFkZENhcmRUb0NvbGxhYm9yYXRpb25NYW5hZ2VyQ2FsbGJhY2tcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSkoKTtcblx0XHRcdGNvbnRyb2xsZXIucGFnZVJlYWR5LndhaXRGb3IoY2FyZFJldHJpZXZhbFByb21pc2UpO1xuXHRcdFx0YXdhaXQgY2FyZFJldHJpZXZhbFByb21pc2U7XG5cdFx0fVxuXHR9XG59O1xuZXhwb3J0IGRlZmF1bHQgQ29sbGFib3JhdGlvbk1hbmFnZXJPdmVycmlkZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0VBT08sTUFBTUEsaUJBQW1ELEdBQUc7SUFDbEVDLFdBQVcsRUFBRTtFQUNkLENBQUM7RUFBQ0MsUUFBQSxDQUFBRixpQkFBQSxHQUFBQSxpQkFBQTtFQUVGLE1BQU1HLDRCQUE0QixHQUFHO0lBQ3BDLE1BQU1DLHFCQUFxQkEsQ0FBNkJDLEtBQW9CLEVBQWlCO01BQzVGLE1BQU1DLElBQUksR0FBRyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUM7TUFDaEMsTUFBTUMsVUFBVSxHQUFHSCxJQUFJLENBQUNJLGFBQWEsQ0FBQyxDQUFDO01BQ3ZDLE1BQU1DLFlBQVksR0FBR0YsVUFBVSxDQUFDRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUNDLGVBQWUsQ0FBQyxDQUFDO01BQ3JFLE1BQU1DLFVBQVUsR0FBR0MsV0FBVyxDQUFDQyxhQUFhLENBQUNWLElBQUksQ0FBQztNQUNsRCxJQUFJLENBQUNRLFVBQVUsRUFBRTtRQUNoQjtRQUNBO1FBQ0E7UUFDQTtRQUNBLE1BQU1HLG9CQUFvQixHQUFHLENBQUMsWUFBMkI7VUFDeEQsTUFBTUMsSUFBSSxHQUFHLE1BQU1QLFlBQVksQ0FBQ1EsOEJBQThCLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQ3BCLGlCQUFpQixDQUFDQyxXQUFXLENBQUM7VUFDakgsSUFBSWlCLElBQUksRUFBRTtZQUNULE1BQU1HLHVDQUF1QyxHQUFHQSxDQUFBLEtBQVk7Y0FDM0QsSUFBSTtnQkFDSCxJQUFJSCxJQUFJLEVBQUU7a0JBQ1RQLFlBQVksQ0FBQ1EsOEJBQThCLENBQUMsQ0FBQyxDQUFDRyxXQUFXLENBQUNKLElBQW9CLENBQUM7a0JBQy9FO2dCQUNEO2NBQ0QsQ0FBQyxDQUFDLE9BQU9LLENBQUMsRUFBRTtnQkFDWEMsdUJBQXVCLENBQUNsQixJQUFJLENBQUM7Z0JBQzdCbUIsR0FBRyxDQUFDQyxLQUFLLENBQUNILENBQVcsQ0FBQztjQUN2QjtZQUNELENBQUM7WUFDRCxNQUFNSSxvQkFBb0IsR0FBRyxNQUFNbEIsVUFBVSxDQUFDbUIsd0JBQXdCLENBQUMsQ0FBQztZQUN4RXZCLEtBQUssQ0FBQ3dCLElBQUksQ0FBQztjQUNWWCxJQUFJLEVBQUVBLElBQUk7Y0FDVlksS0FBSyxFQUFFSCxvQkFBb0IsQ0FBQ0ksUUFBUSxJQUFJLEVBQUU7Y0FDMUNDLFFBQVEsRUFBRVg7WUFDWCxDQUFDLENBQUM7VUFDSDtRQUNELENBQUMsRUFBRSxDQUFDO1FBQ0paLFVBQVUsQ0FBQ3dCLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDakIsb0JBQW9CLENBQUM7UUFDbEQsTUFBTUEsb0JBQW9CO01BQzNCO0lBQ0Q7RUFDRCxDQUFDO0VBQUMsT0FDYWQsNEJBQTRCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|