@sapui5/sap.fe.controls 1.136.8 → 1.136.10
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/easyFilter/EasyFilterInput.js +7 -8
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +12 -6
- package/src/sap/fe/controls/library.js +1 -1
- package/src/sap/fe/controls/messagebundle_ar.properties +1 -1
- package/src/sap/fe/controls/messagebundle_bg.properties +1 -1
- package/src/sap/fe/controls/messagebundle_cs.properties +1 -1
- package/src/sap/fe/controls/messagebundle_da.properties +1 -1
- package/src/sap/fe/controls/messagebundle_de.properties +1 -1
- package/src/sap/fe/controls/messagebundle_en.properties +1 -1
- package/src/sap/fe/controls/messagebundle_en_GB.properties +1 -1
- package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +1 -1
- package/src/sap/fe/controls/messagebundle_es_MX.properties +1 -1
- package/src/sap/fe/controls/messagebundle_fr.properties +2 -2
- package/src/sap/fe/controls/messagebundle_hi.properties +1 -1
- package/src/sap/fe/controls/messagebundle_hr.properties +1 -1
- package/src/sap/fe/controls/messagebundle_it.properties +1 -1
- package/src/sap/fe/controls/messagebundle_iw.properties +1 -1
- package/src/sap/fe/controls/messagebundle_ko.properties +1 -1
- package/src/sap/fe/controls/messagebundle_lt.properties +1 -1
- package/src/sap/fe/controls/messagebundle_lv.properties +1 -1
- package/src/sap/fe/controls/messagebundle_mk.properties +1 -1
- package/src/sap/fe/controls/messagebundle_ms.properties +1 -1
- package/src/sap/fe/controls/messagebundle_pt.properties +1 -1
- package/src/sap/fe/controls/messagebundle_pt_PT.properties +1 -1
- package/src/sap/fe/controls/messagebundle_sl.properties +2 -2
- package/src/sap/fe/controls/messagebundle_vi.properties +1 -1
package/package.json
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "sap/fe/base/jsx-runtime/jsx", "sap/fe/controls/easyFilter/ShellHistoryProvider", "sap/m/Button", "sap/m/CustomListItem", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IllustratedMessage", "sap/m/IllustratedMessageSize", "sap/m/IllustratedMessageType", "sap/m/Input", "sap/m/List", "sap/m/Popover", "sap/m/Text", "sap/m/Title", "sap/m/library", "sap/ui/core/Control", "sap/ui/core/CustomData", "sap/ui/core/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "sap/fe/base/jsx-runtime/jsx", "sap/fe/controls/easyFilter/ShellHistoryProvider", "sap/m/Button", "sap/m/CustomListItem", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IllustratedMessage", "sap/m/IllustratedMessageSize", "sap/m/IllustratedMessageType", "sap/m/Input", "sap/m/List", "sap/m/Popover", "sap/m/Text", "sap/m/Title", "sap/m/library", "sap/ui/core/Control", "sap/ui/core/CustomData", "sap/ui/core/InvisibleMessage", "sap/ui/core/Lib", "sap/ui/core/library", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs"], function (Log, BindingToolkit, ClassSupport, EventDelegateHook, jsx, ShellHistoryProvider, Button, CustomListItem, FlexBox, HBox, IllustratedMessage, IllustratedMessageSize, IllustratedMessageType, Input, List, Popover, Text, Title, library, Control, CustomData, InvisibleMessage, Lib, coreLibrary, _jsx, _jsxs) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var ValueState = coreLibrary.ValueState;
|
|
11
11
|
var TitleLevel = coreLibrary.TitleLevel;
|
|
12
|
+
var InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
|
|
12
13
|
var PlacementType = library.PlacementType;
|
|
13
14
|
var ListMode = library.ListMode;
|
|
14
15
|
var FlexWrap = library.FlexWrap;
|
|
@@ -75,6 +76,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
75
76
|
_proto.initialize = function initialize() {
|
|
76
77
|
this.state.recommendedQueries = this.recommendedValues ?? [];
|
|
77
78
|
this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
|
|
79
|
+
this.popoverInvisibleMessage = InvisibleMessage.getInstance();
|
|
78
80
|
this.createInput();
|
|
79
81
|
};
|
|
80
82
|
_proto.setAsInvalid = function setAsInvalid(message) {
|
|
@@ -103,14 +105,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
103
105
|
},
|
|
104
106
|
placeholder: this.resourceBundle.getText("M_EASY_FILTER_PLACEHOLDER")
|
|
105
107
|
});
|
|
106
|
-
const textBinding = this.resourceBundle.getText("T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA");
|
|
107
|
-
const invisibleText = new InvisibleText({
|
|
108
|
-
text: textBinding
|
|
109
|
-
}).toStatic();
|
|
110
108
|
const favoritePopover = this.createFavoritePopover();
|
|
111
109
|
this.$favoritePopover = favoritePopover;
|
|
112
|
-
this.$searchInput.addAriaDescribedBy(favoritePopover);
|
|
113
|
-
this.$searchInput.addAriaDescribedBy(invisibleText);
|
|
114
110
|
this.$searchInput.addDependent(favoritePopover);
|
|
115
111
|
this.$searchInput.addEventDelegate({
|
|
116
112
|
onkeyup: e => {
|
|
@@ -160,6 +156,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
160
156
|
}
|
|
161
157
|
break;
|
|
162
158
|
}
|
|
159
|
+
},
|
|
160
|
+
onAfterRendering: () => {
|
|
161
|
+
this.popoverInvisibleMessage?.announce(this.resourceBundle.getText("T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA"), InvisibleMessageMode.Assertive);
|
|
163
162
|
}
|
|
164
163
|
});
|
|
165
164
|
};
|
|
@@ -482,4 +481,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
|
|
|
482
481
|
_exports = EasyFilterInput;
|
|
483
482
|
return _exports;
|
|
484
483
|
}, false);
|
|
485
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFYXN5RmlsdGVySW5wdXQiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImFnZ3JlZ2F0aW9uIiwidHlwZSIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzMiLCJwcm9wZXJ0eSIsIl9kZWM0IiwiX2RlYzUiLCJldmVudCIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsImRlZmluZVN0YXRlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9Db250cm9sIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJpbml0aWFsaXplIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFZhbHVlIiwiJHNlYXJjaElucHV0IiwiaXNIaXN0b3J5RW5hYmxlZCIsInN0YXRlIiwidmFsdWVPZiIsInNldFZhbHVlIiwidmFsdWUiLCJzZXRQbGFjZWhvbGRlciIsImdldFBsYWNlaG9sZGVyIiwicmVjb21tZW5kZWRRdWVyaWVzIiwicmVjb21tZW5kZWRWYWx1ZXMiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYiIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiY3JlYXRlSW5wdXQiLCJzZXRBc0ludmFsaWQiLCJtZXNzYWdlIiwic2V0VmFsdWVTdGF0ZSIsIlZhbHVlU3RhdGUiLCJXYXJuaW5nIiwic2V0VmFsdWVTdGF0ZVRleHQiLCJvcGVuVmFsdWVTdGF0ZU1lc3NhZ2UiLCJfanN4IiwiSW5wdXQiLCJ3aWR0aCIsInNob3dDbGVhckljb24iLCJjaGFuZ2UiLCJlIiwiZmlyZUV2ZW50IiwicXVlcnkiLCJnZXRQYXJhbWV0ZXIiLCJsaXZlQ2hhbmdlIiwicXVlcnlDaGFuZ2VkIiwiZ2V0U291cmNlIiwiJGZhdm9yaXRlUG9wb3ZlciIsImlzT3BlbiIsIm9wZW5TdWdnZXN0aW9uUG9wb3ZlciIsImdldFRleHQiLCJwbGFjZWhvbGRlciIsInRleHRCaW5kaW5nIiwiaW52aXNpYmxlVGV4dCIsIkludmlzaWJsZVRleHQiLCJ0ZXh0IiwidG9TdGF0aWMiLCJmYXZvcml0ZVBvcG92ZXIiLCJjcmVhdGVGYXZvcml0ZVBvcG92ZXIiLCJhZGRBcmlhRGVzY3JpYmVkQnkiLCJhZGREZXBlbmRlbnQiLCJhZGRFdmVudERlbGVnYXRlIiwib25rZXl1cCIsImtleSIsIm9uRW50ZXJQcmVzc2VkIiwiY2xvc2UiLCJvbmtleWRvd24iLCJsZW5ndGgiLCJwcmV2ZW50RGVmYXVsdCIsInBvcG92ZXJDb25haW5lciIsImdldENvbnRlbnQiLCJjb250YWluZXJJdGVtcyIsImdldEl0ZW1zIiwiZmluZCIsIml0ZW0iLCJpc0ZvY3VzYWJsZSIsImZvY3VzIiwib250YXAiLCJvbmZvY3VzaW4iLCJ0YXJnZXRUZXh0IiwidGFyZ2V0Iiwib3V0ZXJUZXh0IiwidGFyZ2V0SWQiLCJpZCIsImluY2x1ZGVzIiwiZmF2b3JpdGVRdWVyaWVzIiwiZmlsdGVyIiwiZGF0YSIsInRvTG93ZXJDYXNlIiwicmVjZW50UXVlcmllcyIsInNoZWxsSGlzdG9yeVByb3ZpZGVyIiwiZ2V0RmF2b3JpdGVRdWVyaWVzIiwiZ2V0UmVjZW50UXVlcmllcyIsIm1hcCIsIm9wZW5CeSIsInJlcXVlc3RGYXZvcml0ZSIsIm1hZ2ljUXVlcnkiLCJhZGRSZWNlbnRRdWVyeSIsInF1ZXJ5U3RyaW5nIiwicmVwbGFjZSIsInJlY2VudFF1ZXJ5SW5kZXgiLCJmaW5kSW5kZXgiLCJjb25jYXQiLCJzbGljZSIsInVuc2hpZnQiLCJvblN0YXRlQ2hhbmdlIiwiY2hhbmdlZFByb3BzIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwic2V0RmF2b3JpdGVRdWVyaWVzIiwic2V0UmVjZW50UXVlcmllcyIsInJlY2VudFF1ZXJpZXNXaXRGYXZvcml0ZXMiLCJyZWNlbnRRdWVyeSIsImlzRmF2b3JpdGUiLCJmYXZvcml0ZVF1ZXJ5IiwiaW5pdFNoZWxsSGlzdG9yeVByb3ZpZGVyIiwiU2hlbGxIaXN0b3J5UHJvdmlkZXIiLCJnZXRJbnN0YW5jZSIsImFwcElkIiwiZXJyb3IiLCJMb2ciLCJQb3BvdmVyIiwiZ2V0SWQiLCJzaG93SGVhZGVyIiwiaG9yaXpvbnRhbFNjcm9sbGluZyIsInBsYWNlbWVudCIsIlBsYWNlbWVudFR5cGUiLCJCb3R0b20iLCJzaG93QXJyb3ciLCJpbml0aWFsRm9jdXMiLCJjbGFzcyIsInZpc2libGUiLCJlcXVhbCIsImJpbmRTdGF0ZSIsImNoaWxkcmVuIiwiY29udGVudCIsIkZsZXhCb3giLCJkaXJlY3Rpb24iLCJGbGV4RGlyZWN0aW9uIiwiQ29sdW1uIiwicmVuZGVyVHlwZSIsIml0ZW1zIiwiVGl0bGUiLCJ0aXRsZVN0eWxlIiwiVGl0bGVMZXZlbCIsIkg2IiwiSEJveCIsIndyYXAiLCJGbGV4V3JhcCIsIldyYXAiLCJjdHgiLCJCdXR0b24iLCJnZXRPYmplY3QiLCJwcmVzcyIsImJpbmQiLCJMaXN0Iiwibm9EYXRhIiwiSWxsdXN0cmF0ZWRNZXNzYWdlIiwidGl0bGUiLCJpbGx1c3RyYXRpb25TaXplIiwiSWxsdXN0cmF0ZWRNZXNzYWdlU2l6ZSIsIkV4dHJhU21hbGwiLCJpbGx1c3RyYXRpb25UeXBlIiwiSWxsdXN0cmF0ZWRNZXNzYWdlVHlwZSIsIk5vRW50cmllcyIsImRlc2NyaXB0aW9uIiwiQ3VzdG9tTGlzdEl0ZW0iLCJhcmlhTGFiZWxsZWRCeSIsImN1c3RvbURhdGEiLCJDdXN0b21EYXRhIiwiX2pzeHMiLCJSb3ciLCJhbGlnbkl0ZW1zIiwiRmxleEFsaWduSXRlbXMiLCJDZW50ZXIiLCJqdXN0aWZ5Q29udGVudCIsIkZsZXhKdXN0aWZ5Q29udGVudCIsIlNwYWNlQmV0d2VlbiIsIlRleHQiLCJ0b29sdGlwIiwid3JhcHBpbmciLCJkZXBlbmRlbnRzIiwiRXZlbnREZWxlZ2F0ZUhvb2siLCJ0YXAiLCJpY29uIiwiQnV0dG9uVHlwZSIsIlRyYW5zcGFyZW50IiwiaW5kZXgiLCJpbmRleE9mIiwibW9kZSIsIkxpc3RNb2RlIiwiRGVsZXRlIiwiZGVsZXRlIiwiZW5hYmxlZCIsImxlc3NUaGFuIiwicmVtb3ZlRnJvbUZhdm9yaXRlcyIsImFkZFRvRmF2b3JpdGVzIiwibmV3RmF2b3JpdGUiLCJwb3AiLCJyZW5kZXIiLCJybSIsImNvbnRyb2wiLCJqc3giLCJyZW5kZXJVc2luZ1JlbmRlck1hbmFnZXIiLCJyZWYiLCJDb250cm9sIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFYXN5RmlsdGVySW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCB0eXBlIHsgUGF0aEluTW9kZWxFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBiaW5kU3RhdGUsIGVxdWFsLCBsZW5ndGgsIGxlc3NUaGFuIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgZGVmaW5lU3RhdGUsIGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mLCB0eXBlIFN0YXRlT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgRXZlbnREZWxlZ2F0ZUhvb2sgZnJvbSBcInNhcC9mZS9iYXNlL0V2ZW50RGVsZWdhdGVIb29rXCI7XG5pbXBvcnQganN4IGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCBTaGVsbEhpc3RvcnlQcm92aWRlciBmcm9tIFwic2FwL2ZlL2NvbnRyb2xzL2Vhc3lGaWx0ZXIvU2hlbGxIaXN0b3J5UHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHsgQnV0dG9uJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBDdXN0b21MaXN0SXRlbSBmcm9tIFwic2FwL20vQ3VzdG9tTGlzdEl0ZW1cIjtcbmltcG9ydCBGbGV4Qm94IGZyb20gXCJzYXAvbS9GbGV4Qm94XCI7XG5pbXBvcnQgSEJveCBmcm9tIFwic2FwL20vSEJveFwiO1xuaW1wb3J0IElsbHVzdHJhdGVkTWVzc2FnZSBmcm9tIFwic2FwL20vSWxsdXN0cmF0ZWRNZXNzYWdlXCI7XG5pbXBvcnQgSWxsdXN0cmF0ZWRNZXNzYWdlU2l6ZSBmcm9tIFwic2FwL20vSWxsdXN0cmF0ZWRNZXNzYWdlU2l6ZVwiO1xuaW1wb3J0IElsbHVzdHJhdGVkTWVzc2FnZVR5cGUgZnJvbSBcInNhcC9tL0lsbHVzdHJhdGVkTWVzc2FnZVR5cGVcIjtcbmltcG9ydCB0eXBlIHsgSW5wdXQkTGl2ZUNoYW5nZUV2ZW50IH0gZnJvbSBcInNhcC9tL0lucHV0XCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcInNhcC9tL0lucHV0XCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwic2FwL20vTGlzdFwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0QmFzZSREZWxldGVFdmVudCB9IGZyb20gXCJzYXAvbS9MaXN0QmFzZVwiO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSBcInNhcC9tL1BvcG92ZXJcIjtcbmltcG9ydCB0eXBlIFN0YW5kYXJkTGlzdEl0ZW0gZnJvbSBcInNhcC9tL1N0YW5kYXJkTGlzdEl0ZW1cIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgeyBCdXR0b25UeXBlLCBGbGV4QWxpZ25JdGVtcywgRmxleERpcmVjdGlvbiwgRmxleEp1c3RpZnlDb250ZW50LCBGbGV4V3JhcCwgTGlzdE1vZGUsIFBsYWNlbWVudFR5cGUgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBDdXN0b21EYXRhIGZyb20gXCJzYXAvdWkvY29yZS9DdXN0b21EYXRhXCI7XG5pbXBvcnQgSW52aXNpYmxlVGV4dCBmcm9tIFwic2FwL3VpL2NvcmUvSW52aXNpYmxlVGV4dFwiO1xuaW1wb3J0IExpYiBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgeyBUaXRsZUxldmVsLCBWYWx1ZVN0YXRlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEV2ZW50SGFuZGxlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBSZWNlbnRUeXBlID0ge1xuXHR0ZXh0OiBzdHJpbmc7XG5cdGlzRmF2b3JpdGU6IGJvb2xlYW47XG59O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvbnRyb2xzLmVhc3lGaWx0ZXIuRWFzeUZpbHRlcklucHV0XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFYXN5RmlsdGVySW5wdXQgZXh0ZW5kcyBDb250cm9sIHtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5JbnB1dFwiLCBtdWx0aXBsZTogZmFsc2UsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHQkc2VhcmNoSW5wdXQhOiBJbnB1dDtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGFwcElkPzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYXJyYXlcIiB9KVxuXHRyZWNvbW1lbmRlZFZhbHVlcz86IHN0cmluZ1tdO1xuXG5cdEBldmVudCgpXG5cdHF1ZXJ5Q2hhbmdlZD86IEV2ZW50SGFuZGxlcjxVSTVFdmVudDx7IHF1ZXJ5OiBzdHJpbmcgfSwgRWFzeUZpbHRlcklucHV0Pj47XG5cblx0QGV2ZW50KClcblx0ZW50ZXJQcmVzc2VkPzogRXZlbnRIYW5kbGVyPFVJNUV2ZW50PHsgcXVlcnk6IHN0cmluZyB9LCBFYXN5RmlsdGVySW5wdXQ+PjtcblxuXHRAZXZlbnQoKVxuXHRsaXZlQ2hhbmdlPzogRXZlbnRIYW5kbGVyO1xuXG5cdHByaXZhdGUgcmVzb3VyY2VCdW5kbGUhOiBSZXNvdXJjZUJ1bmRsZTtcblxuXHRzaGVsbEhpc3RvcnlQcm92aWRlcjogU2hlbGxIaXN0b3J5UHJvdmlkZXIgfCB1bmRlZmluZWQ7XG5cblx0JGZhdm9yaXRlUG9wb3ZlcjogUG9wb3ZlciB8IHVuZGVmaW5lZDtcblxuXHRAZGVmaW5lU3RhdGUoKVxuXHRwcm90ZWN0ZWQgc3RhdGU6IFN0YXRlT2Y8e1xuXHRcdHF1ZXJ5Q2hhbmdlZDogYm9vbGVhbjtcblx0XHRyZWNlbnRRdWVyaWVzOiByZWFkb25seSBzdHJpbmdbXTtcblx0XHRyZWNlbnRRdWVyaWVzV2l0RmF2b3JpdGVzOiByZWFkb25seSBSZWNlbnRUeXBlW107XG5cdFx0aXNIaXN0b3J5RW5hYmxlZDogYm9vbGVhbjtcblx0XHRmYXZvcml0ZVF1ZXJpZXM6IHN0cmluZ1tdO1xuXHRcdHJlY29tbWVuZGVkUXVlcmllczogc3RyaW5nW107XG5cdH0+ID0ge1xuXHRcdHF1ZXJ5Q2hhbmdlZDogZmFsc2UsXG5cdFx0aXNIaXN0b3J5RW5hYmxlZDogZmFsc2UsXG5cdFx0cmVjZW50UXVlcmllczogW10sXG5cdFx0cmVjZW50UXVlcmllc1dpdEZhdm9yaXRlczogW10sXG5cdFx0ZmF2b3JpdGVRdWVyaWVzOiBbXSBhcyBzdHJpbmdbXSxcblx0XHRyZWNvbW1lbmRlZFF1ZXJpZXM6IFtdIGFzIHN0cmluZ1tdXG5cdH07XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogc3RyaW5nIHwgKCRDb250cm9sU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8RWFzeUZpbHRlcklucHV0PiksIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzIGFzIHN0cmluZywgb3RoZXJzKTtcblx0XHR0aGlzLmluaXRpYWxpemUoKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLiRzZWFyY2hJbnB1dC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0cHVibGljIGlzSGlzdG9yeUVuYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuc3RhdGUuaXNIaXN0b3J5RW5hYmxlZC52YWx1ZU9mKCk7XG5cdH1cblxuXHRzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0c2V0UGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LnNldFBsYWNlaG9sZGVyKHZhbHVlKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLiRzZWFyY2hJbnB1dC5nZXRQbGFjZWhvbGRlcigpO1xuXHR9XG5cblx0aW5pdGlhbGl6ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnN0YXRlLnJlY29tbWVuZGVkUXVlcmllcyA9IHRoaXMucmVjb21tZW5kZWRWYWx1ZXMgPz8gW107XG5cdFx0dGhpcy5yZXNvdXJjZUJ1bmRsZSA9IExpYi5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb250cm9sc1wiKSE7XG5cdFx0dGhpcy5jcmVhdGVJbnB1dCgpO1xuXHR9XG5cblx0c2V0QXNJbnZhbGlkKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LnNldFZhbHVlU3RhdGUoVmFsdWVTdGF0ZS5XYXJuaW5nKTtcblx0XHR0aGlzLiRzZWFyY2hJbnB1dC5zZXRWYWx1ZVN0YXRlVGV4dChtZXNzYWdlKTtcblx0XHR0aGlzLiRzZWFyY2hJbnB1dC5vcGVuVmFsdWVTdGF0ZU1lc3NhZ2UoKTtcblx0fVxuXG5cdGNyZWF0ZUlucHV0KCk6IHZvaWQge1xuXHRcdHRoaXMuJHNlYXJjaElucHV0ID0gKFxuXHRcdFx0PElucHV0XG5cdFx0XHRcdHdpZHRoPVwiMTAwJVwiXG5cdFx0XHRcdHNob3dDbGVhckljb249e3RydWV9XG5cdFx0XHRcdGNoYW5nZT17KGUpOiB2b2lkID0+IHtcblx0XHRcdFx0XHR0aGlzLmZpcmVFdmVudChcInF1ZXJ5Q2hhbmdlZFwiLCB7IHF1ZXJ5OiBlLmdldFBhcmFtZXRlcihcInZhbHVlXCIpIH0pO1xuXHRcdFx0XHR9fVxuXHRcdFx0XHRsaXZlQ2hhbmdlPXsoZTogSW5wdXQkTGl2ZUNoYW5nZUV2ZW50KTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zdGF0ZS5xdWVyeUNoYW5nZWQgPSB0cnVlO1xuXHRcdFx0XHRcdHRoaXMuZmlyZUV2ZW50KFwibGl2ZUNoYW5nZVwiKTtcblx0XHRcdFx0XHRpZiAoIWUuZ2V0U291cmNlKCkuZ2V0VmFsdWUoKSAmJiAhKHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uaXNPcGVuKCkgPz8gZmFsc2UpKSB7XG5cdFx0XHRcdFx0XHR0aGlzLm9wZW5TdWdnZXN0aW9uUG9wb3ZlcigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoZS5nZXRQYXJhbWV0ZXIoXCJ2YWx1ZVwiKSA9PT0gXCJcIikge1xuXHRcdFx0XHRcdFx0dGhpcy5zZXRQbGFjZWhvbGRlcih0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BMQUNFSE9MREVSXCIpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH19XG5cdFx0XHRcdHBsYWNlaG9sZGVyPXt0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BMQUNFSE9MREVSXCIpfVxuXHRcdFx0PjwvSW5wdXQ+XG5cdFx0KTtcblxuXHRcdGNvbnN0IHRleHRCaW5kaW5nID0gdGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiVF9FQVNZX0ZJTFRFUl9JTlBVVF9URVhUX0xJTktfUE9QT1ZFUl9BUklBXCIpO1xuXHRcdGNvbnN0IGludmlzaWJsZVRleHQgPSBuZXcgSW52aXNpYmxlVGV4dCh7IHRleHQ6IHRleHRCaW5kaW5nIH0pLnRvU3RhdGljKCk7XG5cdFx0Y29uc3QgZmF2b3JpdGVQb3BvdmVyID0gdGhpcy5jcmVhdGVGYXZvcml0ZVBvcG92ZXIoKTtcblx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXIgPSBmYXZvcml0ZVBvcG92ZXI7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQuYWRkQXJpYURlc2NyaWJlZEJ5KGZhdm9yaXRlUG9wb3Zlcik7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQuYWRkQXJpYURlc2NyaWJlZEJ5KGludmlzaWJsZVRleHQpO1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LmFkZERlcGVuZGVudChmYXZvcml0ZVBvcG92ZXIpO1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25rZXl1cDogKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcblx0XHRcdFx0aWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcblx0XHRcdFx0XHR0aGlzLm9uRW50ZXJQcmVzc2VkKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuJGZhdm9yaXRlUG9wb3ZlciAmJiB0aGlzLiRzZWFyY2hJbnB1dC5nZXRWYWx1ZSgpKSB7XG5cdFx0XHRcdFx0dGhpcy4kZmF2b3JpdGVQb3BvdmVyLmNsb3NlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRvbmtleWRvd246IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRlLmtleSA9PT0gXCJUYWJcIiAmJlxuXHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCAmJlxuXHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5nZXRWYWx1ZSgpICE9PSB0aGlzLiRzZWFyY2hJbnB1dD8uZ2V0UGxhY2Vob2xkZXIoKSAmJlxuXHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5nZXRQbGFjZWhvbGRlcigpICE9PSB0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BMQUNFSE9MREVSXCIpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUodGhpcy4kc2VhcmNoSW5wdXQ/LmdldFBsYWNlaG9sZGVyKCkpO1xuXHRcdFx0XHRcdHRoaXMuZmlyZUV2ZW50KFwibGl2ZUNoYW5nZVwiKTtcblx0XHRcdFx0fSBlbHNlIGlmIChlLmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuXHRcdFx0XHRcdGNvbnN0IHBvcG92ZXJDb25haW5lciA9IHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uZ2V0Q29udGVudCgpWzBdO1xuXHRcdFx0XHRcdGNvbnN0IGNvbnRhaW5lckl0ZW1zID0gKHBvcG92ZXJDb25haW5lciBhcyBGbGV4Qm94KS5nZXRJdGVtcygpO1xuXHRcdFx0XHRcdGNvbnRhaW5lckl0ZW1zPy5maW5kKChpdGVtKSA9PiBpdGVtLmlzRm9jdXNhYmxlKCkgJiYgKGl0ZW0uZm9jdXMoKSwgdHJ1ZSkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0b250YXA6ICgpID0+IHtcblx0XHRcdFx0dGhpcy5vcGVuU3VnZ2VzdGlvblBvcG92ZXIoKTtcblx0XHRcdH0sXG5cdFx0XHRvbmZvY3VzaW46ICgpID0+IHtcblx0XHRcdFx0dGhpcy5vcGVuU3VnZ2VzdGlvblBvcG92ZXIoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXIuYWRkRXZlbnREZWxlZ2F0ZSh7XG5cdFx0XHRvbmtleWRvd246IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldFRleHQgPSAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy5vdXRlclRleHQ7XG5cdFx0XHRcdGNvbnN0IHRhcmdldElkID0gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8uaWQ7XG5cdFx0XHRcdHN3aXRjaCAoZS5rZXkpIHtcblx0XHRcdFx0XHRjYXNlIFwiRW50ZXJcIjpcblx0XHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5zZXRWYWx1ZSh0YXJnZXRUZXh0KTtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJEZWxldGVcIjpcblx0XHRcdFx0XHRcdGlmICh0YXJnZXRJZD8uaW5jbHVkZXMoXCJlYXN5RmlsdGVyRmF2b3JpdGVJdGVtXCIpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzID0gdGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMuZmlsdGVyKFxuXHRcdFx0XHRcdFx0XHRcdChkYXRhKSA9PiBkYXRhLnRvTG93ZXJDYXNlKCkgIT09IHRhcmdldFRleHQudG9Mb3dlckNhc2UoKVxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzID0gdGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLmZpbHRlcigocXVlcnkpID0+IHF1ZXJ5ICE9PSB0YXJnZXRUZXh0KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJFc2NhcGVcIjpcblx0XHRcdFx0XHRcdGlmICh0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmlzT3BlbigpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlci5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgb3BlblN1Z2dlc3Rpb25Qb3BvdmVyKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy4kc2VhcmNoSW5wdXQ/LmdldFZhbHVlKCkgJiYgKCF0aGlzLiRmYXZvcml0ZVBvcG92ZXIgfHwgIXRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uaXNPcGVuKCkpKSB7XG5cdFx0XHQvLyBPcGVuIHRoZSBlYXN5IGZpbHRlciBwb3BvdmVyXG5cdFx0XHR0aGlzLnN0YXRlLmlzSGlzdG9yeUVuYWJsZWQgPSB0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyPy5pc0hpc3RvcnlFbmFibGVkKCkgPz8gZmFsc2U7XG5cdFx0XHR0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcyA9IHRoaXMuc2hlbGxIaXN0b3J5UHJvdmlkZXI/LmdldEZhdm9yaXRlUXVlcmllcygpID8/IFtdO1xuXHRcdFx0dGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzID0gKHRoaXMuc2hlbGxIaXN0b3J5UHJvdmlkZXI/LmdldFJlY2VudFF1ZXJpZXMoKSA/PyBbXSkubWFwKChxdWVyeSkgPT4gcXVlcnkpO1xuXHRcdFx0dGhpcy4kZmF2b3JpdGVQb3BvdmVyPy5vcGVuQnkodGhpcy4kc2VhcmNoSW5wdXQpO1xuXHRcdH1cblx0fVxuXG5cdHJlcXVlc3RGYXZvcml0ZShlOiBCdXR0b24kUHJlc3NFdmVudCk6IHZvaWQge1xuXHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uY2xvc2UoKTtcblx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUoZS5nZXRTb3VyY2UoKS5nZXRUZXh0KCkpO1xuXHRcdHRoaXMub25FbnRlclByZXNzZWQoKTtcblx0fVxuXG5cdG9uRW50ZXJQcmVzc2VkKCk6IHZvaWQge1xuXHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uY2xvc2UoKTtcblx0XHR0aGlzLnN0YXRlLnF1ZXJ5Q2hhbmdlZCA9IGZhbHNlO1xuXHRcdGxldCBtYWdpY1F1ZXJ5ID0gdGhpcy4kc2VhcmNoSW5wdXQ/LmdldFZhbHVlKCk7XG5cdFx0aWYgKG1hZ2ljUXVlcnkgPT09IFwiXCIgJiYgdGhpcy4kc2VhcmNoSW5wdXQuZ2V0UGxhY2Vob2xkZXIoKSAhPT0gdGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QTEFDRUhPTERFUlwiKSkge1xuXHRcdFx0bWFnaWNRdWVyeSA9IHRoaXMuJHNlYXJjaElucHV0LmdldFBsYWNlaG9sZGVyKCk7XG5cdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUobWFnaWNRdWVyeSk7XG5cdFx0fVxuXHRcdHRoaXMuJHNlYXJjaElucHV0Py5zZXRWYWx1ZVN0YXRlVGV4dChcIlwiKTtcblx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWVTdGF0ZShcIk5vbmVcIik7XG5cdFx0dGhpcy5maXJlRXZlbnQoXCJlbnRlclByZXNzZWRcIiwgeyBxdWVyeTogbWFnaWNRdWVyeSB9KTtcblx0fVxuXG5cdGFkZFJlY2VudFF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcblx0XHQvLyBOb3JtYWxpemUgYmFja3NsYXNoZXMgYmVmb3JlIHN0b3Jpbmdcblx0XHRxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nPy5yZXBsYWNlKC9cXFxcL2csIFwiXFxcXFxcXFxcIik7XG5cblx0XHRjb25zdCByZWNlbnRRdWVyeUluZGV4ID0gdGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLmZpbmRJbmRleCgocXVlcnkpID0+IHF1ZXJ5LnRvTG93ZXJDYXNlKCkgPT09IHF1ZXJ5U3RyaW5nPy50b0xvd2VyQ2FzZSgpKTtcblx0XHRpZiAocXVlcnlTdHJpbmcgJiYgcmVjZW50UXVlcnlJbmRleCA9PT0gLTEpIHtcblx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9IFtxdWVyeVN0cmluZ10uY29uY2F0KHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyk7XG5cdFx0XHRpZiAodGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLmxlbmd0aCA+IDUpIHtcblx0XHRcdFx0dGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzID0gdGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLnNsaWNlKDAsIDUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAocXVlcnlTdHJpbmcpIHtcblx0XHRcdGNvbnN0IHJlY2VudFF1ZXJpZXMgPSB0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMuZmlsdGVyKChxdWVyeSkgPT4gcXVlcnkudG9Mb3dlckNhc2UoKSAhPT0gcXVlcnlTdHJpbmc/LnRvTG93ZXJDYXNlKCkpO1xuXHRcdFx0cmVjZW50UXVlcmllcy51bnNoaWZ0KHF1ZXJ5U3RyaW5nKTtcblx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9IHJlY2VudFF1ZXJpZXM7XG5cdFx0fVxuXHR9XG5cblx0b25TdGF0ZUNoYW5nZShjaGFuZ2VkUHJvcHM6IHN0cmluZ1tdID0gW10pOiB2b2lkIHtcblx0XHRpZiAoY2hhbmdlZFByb3BzLmluY2x1ZGVzKFwiZmF2b3JpdGVRdWVyaWVzXCIpIHx8IGNoYW5nZWRQcm9wcy5pbmNsdWRlcyhcInJlY2VudFF1ZXJpZXNcIikpIHtcblx0XHRcdHRoaXMuc2hlbGxIaXN0b3J5UHJvdmlkZXI/LnNldEZhdm9yaXRlUXVlcmllcyh0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcyk7XG5cdFx0XHR0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyPy5zZXRSZWNlbnRRdWVyaWVzKHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5tYXAoKHF1ZXJ5KSA9PiBxdWVyeSkpO1xuXHRcdFx0dGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzV2l0RmF2b3JpdGVzID0gdGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLm1hcCgocmVjZW50UXVlcnkpID0+IHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHR0ZXh0OiByZWNlbnRRdWVyeSxcblx0XHRcdFx0XHRpc0Zhdm9yaXRlOiAhIXRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzLmZpbmQoKGZhdm9yaXRlUXVlcnkpID0+IGZhdm9yaXRlUXVlcnkgPT09IHJlY2VudFF1ZXJ5KVxuXHRcdFx0XHR9O1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgaW5pdFNoZWxsSGlzdG9yeVByb3ZpZGVyKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRyeSB7XG5cdFx0XHR0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyID0gYXdhaXQgU2hlbGxIaXN0b3J5UHJvdmlkZXIuZ2V0SW5zdGFuY2UodGhpcy5hcHBJZCA/PyBcIjx1bmtub3duQXBwPlwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgY3JlYXRpbmcgU2hlbGxIaXN0b3J5UHJvdmlkZXIgZm9yIGVhc3kgZmlsdGVyXCIsIGVycm9yIGFzIHN0cmluZyk7XG5cdFx0fVxuXHR9XG5cblx0Y3JlYXRlRmF2b3JpdGVQb3BvdmVyKCk6IFBvcG92ZXIge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8UG9wb3ZlclxuXHRcdFx0XHRpZD17dGhpcy5nZXRJZCgpICsgXCItZmF2b3JpdGVQb3BvdmVyXCJ9XG5cdFx0XHRcdHNob3dIZWFkZXI9e2ZhbHNlfVxuXHRcdFx0XHRob3Jpem9udGFsU2Nyb2xsaW5nPXtmYWxzZX1cblx0XHRcdFx0cGxhY2VtZW50PXtQbGFjZW1lbnRUeXBlLkJvdHRvbX1cblx0XHRcdFx0c2hvd0Fycm93PXtmYWxzZX1cblx0XHRcdFx0aW5pdGlhbEZvY3VzPXt0aGlzLiRzZWFyY2hJbnB1dH1cblx0XHRcdFx0Y2xhc3M9e1wic2FwRkVDb250cm9sc1BvcG92ZXJcIn1cblx0XHRcdFx0dmlzaWJsZT17dGhpcy5zdGF0ZS5yZWNvbW1lbmRlZFF1ZXJpZXMubGVuZ3RoID4gMCB8fCBlcXVhbChiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJpc0hpc3RvcnlFbmFibGVkXCIpLCB0cnVlKX1cblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRjb250ZW50OiAoXG5cdFx0XHRcdFx0XHQ8RmxleEJveCBkaXJlY3Rpb249e0ZsZXhEaXJlY3Rpb24uQ29sdW1ufSBjbGFzcz17XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJ9IHJlbmRlclR5cGU9e1wiQmFyZVwifT5cblx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0XHRcdFx0PFRpdGxlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlU3R5bGU9e1RpdGxlTGV2ZWwuSDZ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9TVUdHRVNUSU9OU19USVRMRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9e1wic2FwRmVDb250cm9sc1RpdGxlQm9yZGVyXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e3RoaXMuc3RhdGUucmVjb21tZW5kZWRRdWVyaWVzLmxlbmd0aCA+IDB9XG5cdFx0XHRcdFx0XHRcdFx0XHQvPixcblx0XHRcdFx0XHRcdFx0XHRcdDxIQm94XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPXtcInNhcFVpQ29udGVudFBhZGRpbmdcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbXM9e2JpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcInJlY29tbWVuZGVkUXVlcmllc1wiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0d3JhcD17RmxleFdyYXAuV3JhcH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZT17dGhpcy5zdGF0ZS5yZWNvbW1lbmRlZFF1ZXJpZXMubGVuZ3RoID4gMH1cblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtczogKGlkOiBzdHJpbmcsIGN0eDogQ29udGV4dCk6IFN0YW5kYXJkTGlzdEl0ZW0gPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPXtcInNhcFVpVGlueU1hcmdpbkVuZFwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e2N0eC5nZXRPYmplY3QoKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwcmVzcz17dGhpcy5yZXF1ZXN0RmF2b3JpdGUuYmluZCh0aGlzKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PC9IQm94Pixcblx0XHRcdFx0XHRcdFx0XHRcdDxUaXRsZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZD17dGhpcy5nZXRJZCgpICsgXCItZWFzeUZpbHRlckZhdm9yaXRlVGl0bGVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGVTdHlsZT17VGl0bGVMZXZlbC5INn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0ZBVk9SSVRFX1RJVExFXCIpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz17XCJzYXBGZUNvbnRyb2xzVGl0bGVCb3JkZXJcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZT17ZXF1YWwoYmluZFN0YXRlKHRoaXMuc3RhdGUsIFwiaXNIaXN0b3J5RW5hYmxlZFwiKSwgdHJ1ZSl9XG5cdFx0XHRcdFx0XHRcdFx0XHQvPixcblx0XHRcdFx0XHRcdFx0XHRcdDxMaXN0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGl0ZW1zPXtiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJmYXZvcml0ZVF1ZXJpZXNcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e2VxdWFsKGJpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcImlzSGlzdG9yeUVuYWJsZWRcIiksIHRydWUpfVxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG5vRGF0YTogKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PElsbHVzdHJhdGVkTWVzc2FnZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZT17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0VNUFRZX0ZBVk9SSVRFX1RJVExFXCIpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbGx1c3RyYXRpb25TaXplPXtJbGx1c3RyYXRlZE1lc3NhZ2VTaXplLkV4dHJhU21hbGx9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlsbHVzdHJhdGlvblR5cGU9e0lsbHVzdHJhdGVkTWVzc2FnZVR5cGUuTm9FbnRyaWVzfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbj17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0VNUFRZX0ZBVk9SSVRFX0RFU0NSSVBUSU9OXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtczogKGlkOiBzdHJpbmcsIGN0eDogQ29udGV4dCk6IFN0YW5kYXJkTGlzdEl0ZW0gPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e2lkICsgXCItZWFzeUZpbHRlckZhdm9yaXRlSXRlbVwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPXtcInNhcFVpU21hbGxNYXJnaW5CZWdpblwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXtbaWQgKyBcIi1lYXN5RmlsdGVyRmF2b3JpdGVUaXRsZVwiXX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjdXN0b21EYXRhPXtbPEN1c3RvbURhdGEga2V5PXtcInRleHRcIn0gdmFsdWU9e2N0eC5nZXRPYmplY3QoKX0gLz5dfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHByZXNzPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dC5zZXRWYWx1ZShjdHguZ2V0T2JqZWN0KCkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5vbkVudGVyUHJlc3NlZCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8RmxleEJveFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg9e1wiMTAwJVwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlyZWN0aW9uPXtGbGV4RGlyZWN0aW9uLlJvd31cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGFsaWduSXRlbXM9e0ZsZXhBbGlnbkl0ZW1zLkNlbnRlcn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGp1c3RpZnlDb250ZW50PXtGbGV4SnVzdGlmeUNvbnRlbnQuU3BhY2VCZXR3ZWVufVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVuZGVyVHlwZT17XCJCYXJlXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZD17aWR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PFRleHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17Y3R4LmdldE9iamVjdCgpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwPXtjdHguZ2V0T2JqZWN0KCl9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdyYXBwaW5nPXtmYWxzZX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBGRUNvbnRyb2xzUG9pbnRlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVwZW5kZW50czogKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEV2ZW50RGVsZWdhdGVIb29rXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhcD17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5zZXRWYWx1ZShcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGN0eC5nZXRPYmplY3QoKS5yZXBsYWNlKC9cXFxcXFxcXC9nLCBcIlxcXFxcIilcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMub25FbnRlclByZXNzZWQoKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9UZXh0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uPXtcInNhcC1pY29uOi8vZmF2b3JpdGVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcD17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9GSUxMRURfU1RBUlwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXJpYUxhYmVsbGVkQnk9e1t0aGlzLmdldElkKCkgKyBcIi1lYXN5RmlsdGVyRmF2b3JpdGVJdGVtXCJdfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPXtCdXR0b25UeXBlLlRyYW5zcGFyZW50fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vUmV0YWluaW5nIHRoZSBmb2N1cyBvbiBwb3BvdmVyIGRvZXNuJ3QgbWFrZSB0aGUgcG9wb3ZlciBjbG9zZSBvbiBldmVyeSBpbnRlcmFjdGlvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8uZm9jdXMoKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBxdWVyeVN0cmluZyA9IGN0eC5nZXRPYmplY3QoKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBpbmRleCA9IHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzLmluZGV4T2YocXVlcnlTdHJpbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChpbmRleCAhPT0gLTEpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzID0gdGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMuZmlsdGVyKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQocXVlcnkpID0+IHF1ZXJ5ICE9PSBxdWVyeVN0cmluZ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvRmxleEJveD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9DdXN0b21MaXN0SXRlbT5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PC9MaXN0Pixcblx0XHRcdFx0XHRcdFx0XHRcdDxUaXRsZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZD17dGhpcy5nZXRJZCgpICsgXCItZWFzeUZpbHRlckxhc3RVc2VkVGl0bGVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGVTdHlsZT17VGl0bGVMZXZlbC5INn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0xBU1RfVVNFRFwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9e1wic2FwRmVDb250cm9sc1RpdGxlQm9yZGVyXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e2VxdWFsKGJpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcImlzSGlzdG9yeUVuYWJsZWRcIiksIHRydWUpfVxuXHRcdFx0XHRcdFx0XHRcdFx0Lz4sXG5cdFx0XHRcdFx0XHRcdFx0XHQ8TGlzdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtcz17YmluZFN0YXRlKHRoaXMuc3RhdGUsIFwicmVjZW50UXVlcmllc1dpdEZhdm9yaXRlc1wiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZT17ZXF1YWwoYmluZFN0YXRlKHRoaXMuc3RhdGUsIFwiaXNIaXN0b3J5RW5hYmxlZFwiKSwgdHJ1ZSl9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9e0xpc3RNb2RlLkRlbGV0ZX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVsZXRlPXsoZTogTGlzdEJhc2UkRGVsZXRlRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBpdGVtID0gZS5nZXRQYXJhbWV0ZXIoXCJsaXN0SXRlbVwiKSBhcyBDdXN0b21MaXN0SXRlbTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtLmZvY3VzKCk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZXQgcXVlcnlTdHJpbmcgPSBlLmdldFBhcmFtZXRlcihcImxpc3RJdGVtXCIpPy5kYXRhKFwidGV4dFwiKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICghcXVlcnlTdHJpbmcpIHJldHVybjtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBOb3JtYWxpemUgYmFja3NsYXNoZXMgYmVmb3JlIGNvbXBhcmluZ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmc/LnJlcGxhY2UoL1xcXFwvZywgXCJcXFxcXFxcXFwiKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9IHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5maWx0ZXIoKHF1ZXJ5KSA9PiBxdWVyeSAhPT0gcXVlcnlTdHJpbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG5vRGF0YTogKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PElsbHVzdHJhdGVkTWVzc2FnZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZT17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0VNUFRZX0xBU1RfVVNFRF9USVRMRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWxsdXN0cmF0aW9uU2l6ZT17SWxsdXN0cmF0ZWRNZXNzYWdlU2l6ZS5FeHRyYVNtYWxsfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbGx1c3RyYXRpb25UeXBlPXtJbGx1c3RyYXRlZE1lc3NhZ2VUeXBlLk5vRW50cmllc31cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb249e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9FTVBUWV9SRUNFTlRfREVTQ1JJUFRJT05cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGl0ZW1zOiAoaWQ6IHN0cmluZywgY3R4OiBDb250ZXh0KTogRmxleEJveCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8Q3VzdG9tTGlzdEl0ZW1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZD17aWQgKyBcIi1lYXN5RmlsdGVyTGFzdFVzZWRJdGVtXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5zZXRWYWx1ZShjdHguZ2V0T2JqZWN0KCkudGV4dCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm9uRW50ZXJQcmVzc2VkKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz17XCJzYXBVaVNtYWxsTWFyZ2luQmVnaW5cIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjdXN0b21EYXRhPXtbPEN1c3RvbURhdGEga2V5PXtcInRleHRcIn0gdmFsdWU9e2N0eC5nZXRPYmplY3QoKS50ZXh0fSAvPl19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXJpYUxhYmVsbGVkQnk9e1tpZCArIFwiLWVhc3lGaWx0ZXJMYXN0VXNlZFRpdGxlXCJdfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEZsZXhCb3hcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoPXtcIjEwMCVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRpcmVjdGlvbj17RmxleERpcmVjdGlvbi5Sb3d9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhbGlnbkl0ZW1zPXtGbGV4QWxpZ25JdGVtcy5DZW50ZXJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5Q29udGVudD17RmxleEp1c3RpZnlDb250ZW50LlNwYWNlQmV0d2Vlbn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlbmRlclR5cGU9e1wiQmFyZVwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e2lkfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxUZXh0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e2N0eC5nZXRPYmplY3QoKS50ZXh0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwPXtjdHguZ2V0T2JqZWN0KCkudGV4dH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3JhcHBpbmc9e2ZhbHNlfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInNhcEZFQ29udHJvbHNQb2ludGVyXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkZXBlbmRlbnRzOiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8RXZlbnREZWxlZ2F0ZUhvb2tcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGFwPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy4kc2VhcmNoSW5wdXQ/LnNldFZhbHVlKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3R4LmdldE9iamVjdCgpLnRleHQucmVwbGFjZSgvXFxcXFxcXFwvZywgXCJcXFxcXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm9uRW50ZXJQcmVzc2VkKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvVGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbj17XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3R4LmdldE9iamVjdCgpLmlzRmF2b3JpdGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD8gXCJzYXAtaWNvbjovL2Zhdm9yaXRlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDogXCJzYXAtaWNvbjovL2FkZC1mYXZvcml0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcD17XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3R4LmdldE9iamVjdCgpLmlzRmF2b3JpdGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD8gdGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9GSUxMRURfU1RBUlwiKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiB0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX0VNUFRZX1NUQVJUXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZW5hYmxlZD17bGVzc1RoYW4oXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bGVuZ3RoKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YmluZFN0YXRlKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnN0YXRlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcImZhdm9yaXRlUXVlcmllc1wiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpIGFzIFBhdGhJbk1vZGVsRXhwcmVzc2lvbjx1bmtub3duPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0NVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPXtCdXR0b25UeXBlLlRyYW5zcGFyZW50fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17W2lkICsgXCItZWFzeUZpbHRlckxhc3RVc2VkSXRlbVwiXX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL1JldGFpbmluZyB0aGUgZm9jdXMgb24gcG9wb3ZlciBkb2Vzbid0IG1ha2UgdGhlIHBvcG92ZXIgY2xvc2Ugb24gZXZlcnkgaW50ZXJhY3Rpb25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgcXVlcnlTdHJpbmcgPSBjdHguZ2V0T2JqZWN0KCkudGV4dDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBpc0Zhdm9yaXRlID0gY3R4LmdldE9iamVjdCgpLmlzRmF2b3JpdGU7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoaXNGYXZvcml0ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5yZW1vdmVGcm9tRmF2b3JpdGVzKHF1ZXJ5U3RyaW5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hZGRUb0Zhdm9yaXRlcyhxdWVyeVN0cmluZyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L0ZsZXhCb3g+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdDwvTGlzdD5cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQ8L0ZsZXhCb3g+XG5cdFx0XHRcdFx0KVxuXHRcdFx0XHR9fVxuXHRcdFx0PC9Qb3BvdmVyPlxuXHRcdCkgYXMgUG9wb3Zlcjtcblx0fVxuXG5cdHByaXZhdGUgcmVtb3ZlRnJvbUZhdm9yaXRlcyhxdWVyeTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMgPSB0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcy5maWx0ZXIoKGRhdGEpID0+IGRhdGEudG9Mb3dlckNhc2UoKSAhPT0gcXVlcnkudG9Mb3dlckNhc2UoKSk7XG5cdH1cblxuXHRwcml2YXRlIGFkZFRvRmF2b3JpdGVzKHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdGYXZvcml0ZSA9IFtxdWVyeV0uY29uY2F0KHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzLmNvbmNhdCgpKTtcblx0XHRpZiAobmV3RmF2b3JpdGUubGVuZ3RoID4gNSkge1xuXHRcdFx0bmV3RmF2b3JpdGUucG9wKCk7XG5cdFx0fVxuXHRcdHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzID0gbmV3RmF2b3JpdGU7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKHJtOiBSZW5kZXJNYW5hZ2VyLCBjb250cm9sOiBFYXN5RmlsdGVySW5wdXQpOiB2b2lkIHtcblx0XHRyZXR1cm4ganN4LnJlbmRlclVzaW5nUmVuZGVyTWFuYWdlcihybSwgY29udHJvbCwgKCkgPT4ge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PHNwYW4gcmVmPXtjb250cm9sfSBjbGFzcz17XCJzYXBGRUVhc3lGaWx0ZXJJbnB1dFwifT5cblx0XHRcdFx0XHR7Y29udHJvbC4kc2VhcmNoSW5wdXR9XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUF5Q3FCQSxlQUFlLElBQUFDLElBQUEsR0FEbkNDLGNBQWMsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUFBQyxLQUFBLEdBRTNEQyxXQUFXLENBQUM7SUFBRUMsSUFBSSxFQUFFLGFBQWE7SUFBRUMsUUFBUSxFQUFFLEtBQUs7SUFBRUMsU0FBUyxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHdEVDLFFBQVEsQ0FBQztJQUFFSixJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUssS0FBQSxHQUc1QkQsUUFBUSxDQUFDO0lBQUVKLElBQUksRUFBRTtFQUFRLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBRzNCQyxLQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR1BELEtBQUssQ0FBQyxDQUFDLEVBQUFF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
|
|
484
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFYXN5RmlsdGVySW5wdXQiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImFnZ3JlZ2F0aW9uIiwidHlwZSIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzMiLCJwcm9wZXJ0eSIsIl9kZWM0IiwiX2RlYzUiLCJldmVudCIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsImRlZmluZVN0YXRlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9Db250cm9sIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJpbml0aWFsaXplIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFZhbHVlIiwiJHNlYXJjaElucHV0IiwiaXNIaXN0b3J5RW5hYmxlZCIsInN0YXRlIiwidmFsdWVPZiIsInNldFZhbHVlIiwidmFsdWUiLCJzZXRQbGFjZWhvbGRlciIsImdldFBsYWNlaG9sZGVyIiwicmVjb21tZW5kZWRRdWVyaWVzIiwicmVjb21tZW5kZWRWYWx1ZXMiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYiIsImdldFJlc291cmNlQnVuZGxlRm9yIiwicG9wb3ZlckludmlzaWJsZU1lc3NhZ2UiLCJJbnZpc2libGVNZXNzYWdlIiwiZ2V0SW5zdGFuY2UiLCJjcmVhdGVJbnB1dCIsInNldEFzSW52YWxpZCIsIm1lc3NhZ2UiLCJzZXRWYWx1ZVN0YXRlIiwiVmFsdWVTdGF0ZSIsIldhcm5pbmciLCJzZXRWYWx1ZVN0YXRlVGV4dCIsIm9wZW5WYWx1ZVN0YXRlTWVzc2FnZSIsIl9qc3giLCJJbnB1dCIsIndpZHRoIiwic2hvd0NsZWFySWNvbiIsImNoYW5nZSIsImUiLCJmaXJlRXZlbnQiLCJxdWVyeSIsImdldFBhcmFtZXRlciIsImxpdmVDaGFuZ2UiLCJxdWVyeUNoYW5nZWQiLCJnZXRTb3VyY2UiLCIkZmF2b3JpdGVQb3BvdmVyIiwiaXNPcGVuIiwib3BlblN1Z2dlc3Rpb25Qb3BvdmVyIiwiZ2V0VGV4dCIsInBsYWNlaG9sZGVyIiwiZmF2b3JpdGVQb3BvdmVyIiwiY3JlYXRlRmF2b3JpdGVQb3BvdmVyIiwiYWRkRGVwZW5kZW50IiwiYWRkRXZlbnREZWxlZ2F0ZSIsIm9ua2V5dXAiLCJrZXkiLCJvbkVudGVyUHJlc3NlZCIsImNsb3NlIiwib25rZXlkb3duIiwibGVuZ3RoIiwicHJldmVudERlZmF1bHQiLCJwb3BvdmVyQ29uYWluZXIiLCJnZXRDb250ZW50IiwiY29udGFpbmVySXRlbXMiLCJnZXRJdGVtcyIsImZpbmQiLCJpdGVtIiwiaXNGb2N1c2FibGUiLCJmb2N1cyIsIm9udGFwIiwib25mb2N1c2luIiwidGFyZ2V0VGV4dCIsInRhcmdldCIsIm91dGVyVGV4dCIsInRhcmdldElkIiwiaWQiLCJpbmNsdWRlcyIsImZhdm9yaXRlUXVlcmllcyIsImZpbHRlciIsImRhdGEiLCJ0b0xvd2VyQ2FzZSIsInJlY2VudFF1ZXJpZXMiLCJvbkFmdGVyUmVuZGVyaW5nIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsInNoZWxsSGlzdG9yeVByb3ZpZGVyIiwiZ2V0RmF2b3JpdGVRdWVyaWVzIiwiZ2V0UmVjZW50UXVlcmllcyIsIm1hcCIsIm9wZW5CeSIsInJlcXVlc3RGYXZvcml0ZSIsIm1hZ2ljUXVlcnkiLCJhZGRSZWNlbnRRdWVyeSIsInF1ZXJ5U3RyaW5nIiwicmVwbGFjZSIsInJlY2VudFF1ZXJ5SW5kZXgiLCJmaW5kSW5kZXgiLCJjb25jYXQiLCJzbGljZSIsInVuc2hpZnQiLCJvblN0YXRlQ2hhbmdlIiwiY2hhbmdlZFByb3BzIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwic2V0RmF2b3JpdGVRdWVyaWVzIiwic2V0UmVjZW50UXVlcmllcyIsInJlY2VudFF1ZXJpZXNXaXRGYXZvcml0ZXMiLCJyZWNlbnRRdWVyeSIsInRleHQiLCJpc0Zhdm9yaXRlIiwiZmF2b3JpdGVRdWVyeSIsImluaXRTaGVsbEhpc3RvcnlQcm92aWRlciIsIlNoZWxsSGlzdG9yeVByb3ZpZGVyIiwiYXBwSWQiLCJlcnJvciIsIkxvZyIsIlBvcG92ZXIiLCJnZXRJZCIsInNob3dIZWFkZXIiLCJob3Jpem9udGFsU2Nyb2xsaW5nIiwicGxhY2VtZW50IiwiUGxhY2VtZW50VHlwZSIsIkJvdHRvbSIsInNob3dBcnJvdyIsImluaXRpYWxGb2N1cyIsImNsYXNzIiwidmlzaWJsZSIsImVxdWFsIiwiYmluZFN0YXRlIiwiY2hpbGRyZW4iLCJjb250ZW50IiwiRmxleEJveCIsImRpcmVjdGlvbiIsIkZsZXhEaXJlY3Rpb24iLCJDb2x1bW4iLCJyZW5kZXJUeXBlIiwiaXRlbXMiLCJUaXRsZSIsInRpdGxlU3R5bGUiLCJUaXRsZUxldmVsIiwiSDYiLCJIQm94Iiwid3JhcCIsIkZsZXhXcmFwIiwiV3JhcCIsImN0eCIsIkJ1dHRvbiIsImdldE9iamVjdCIsInByZXNzIiwiYmluZCIsIkxpc3QiLCJub0RhdGEiLCJJbGx1c3RyYXRlZE1lc3NhZ2UiLCJ0aXRsZSIsImlsbHVzdHJhdGlvblNpemUiLCJJbGx1c3RyYXRlZE1lc3NhZ2VTaXplIiwiRXh0cmFTbWFsbCIsImlsbHVzdHJhdGlvblR5cGUiLCJJbGx1c3RyYXRlZE1lc3NhZ2VUeXBlIiwiTm9FbnRyaWVzIiwiZGVzY3JpcHRpb24iLCJDdXN0b21MaXN0SXRlbSIsImFyaWFMYWJlbGxlZEJ5IiwiY3VzdG9tRGF0YSIsIkN1c3RvbURhdGEiLCJfanN4cyIsIlJvdyIsImFsaWduSXRlbXMiLCJGbGV4QWxpZ25JdGVtcyIsIkNlbnRlciIsImp1c3RpZnlDb250ZW50IiwiRmxleEp1c3RpZnlDb250ZW50IiwiU3BhY2VCZXR3ZWVuIiwiVGV4dCIsInRvb2x0aXAiLCJ3cmFwcGluZyIsImRlcGVuZGVudHMiLCJFdmVudERlbGVnYXRlSG9vayIsInRhcCIsImljb24iLCJCdXR0b25UeXBlIiwiVHJhbnNwYXJlbnQiLCJpbmRleCIsImluZGV4T2YiLCJtb2RlIiwiTGlzdE1vZGUiLCJEZWxldGUiLCJkZWxldGUiLCJlbmFibGVkIiwibGVzc1RoYW4iLCJyZW1vdmVGcm9tRmF2b3JpdGVzIiwiYWRkVG9GYXZvcml0ZXMiLCJuZXdGYXZvcml0ZSIsInBvcCIsInJlbmRlciIsInJtIiwiY29udHJvbCIsImpzeCIsInJlbmRlclVzaW5nUmVuZGVyTWFuYWdlciIsInJlZiIsIkNvbnRyb2wiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSBSZXNvdXJjZUJ1bmRsZSBmcm9tIFwic2FwL2Jhc2UvaTE4bi9SZXNvdXJjZUJ1bmRsZVwiO1xuaW1wb3J0IHR5cGUgeyBQYXRoSW5Nb2RlbEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGJpbmRTdGF0ZSwgZXF1YWwsIGxlbmd0aCwgbGVzc1RoYW4gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVTdGF0ZSwgZGVmaW5lVUk1Q2xhc3MsIGV2ZW50LCBwcm9wZXJ0eSwgdHlwZSBQcm9wZXJ0aWVzT2YsIHR5cGUgU3RhdGVPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBFdmVudERlbGVnYXRlSG9vayBmcm9tIFwic2FwL2ZlL2Jhc2UvRXZlbnREZWxlZ2F0ZUhvb2tcIjtcbmltcG9ydCBqc3ggZnJvbSBcInNhcC9mZS9iYXNlL2pzeC1ydW50aW1lL2pzeFwiO1xuaW1wb3J0IFNoZWxsSGlzdG9yeVByb3ZpZGVyIGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9TaGVsbEhpc3RvcnlQcm92aWRlclwiO1xuaW1wb3J0IHR5cGUgeyBCdXR0b24kUHJlc3NFdmVudCB9IGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IEN1c3RvbUxpc3RJdGVtIGZyb20gXCJzYXAvbS9DdXN0b21MaXN0SXRlbVwiO1xuaW1wb3J0IEZsZXhCb3ggZnJvbSBcInNhcC9tL0ZsZXhCb3hcIjtcbmltcG9ydCBIQm94IGZyb20gXCJzYXAvbS9IQm94XCI7XG5pbXBvcnQgSWxsdXN0cmF0ZWRNZXNzYWdlIGZyb20gXCJzYXAvbS9JbGx1c3RyYXRlZE1lc3NhZ2VcIjtcbmltcG9ydCBJbGx1c3RyYXRlZE1lc3NhZ2VTaXplIGZyb20gXCJzYXAvbS9JbGx1c3RyYXRlZE1lc3NhZ2VTaXplXCI7XG5pbXBvcnQgSWxsdXN0cmF0ZWRNZXNzYWdlVHlwZSBmcm9tIFwic2FwL20vSWxsdXN0cmF0ZWRNZXNzYWdlVHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBJbnB1dCRMaXZlQ2hhbmdlRXZlbnQgfSBmcm9tIFwic2FwL20vSW5wdXRcIjtcbmltcG9ydCBJbnB1dCBmcm9tIFwic2FwL20vSW5wdXRcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgdHlwZSB7IExpc3RCYXNlJERlbGV0ZUV2ZW50IH0gZnJvbSBcInNhcC9tL0xpc3RCYXNlXCI7XG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwic2FwL20vUG9wb3ZlclwiO1xuaW1wb3J0IHR5cGUgU3RhbmRhcmRMaXN0SXRlbSBmcm9tIFwic2FwL20vU3RhbmRhcmRMaXN0SXRlbVwiO1xuaW1wb3J0IFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCBUaXRsZSBmcm9tIFwic2FwL20vVGl0bGVcIjtcbmltcG9ydCB7IEJ1dHRvblR5cGUsIEZsZXhBbGlnbkl0ZW1zLCBGbGV4RGlyZWN0aW9uLCBGbGV4SnVzdGlmeUNvbnRlbnQsIEZsZXhXcmFwLCBMaXN0TW9kZSwgUGxhY2VtZW50VHlwZSB9IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBVSTVFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEN1c3RvbURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0N1c3RvbURhdGFcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgTGliIGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCB0eXBlIFJlbmRlck1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL1JlbmRlck1hbmFnZXJcIjtcbmltcG9ydCB7IEludmlzaWJsZU1lc3NhZ2VNb2RlLCBUaXRsZUxldmVsLCBWYWx1ZVN0YXRlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEV2ZW50SGFuZGxlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBSZWNlbnRUeXBlID0ge1xuXHR0ZXh0OiBzdHJpbmc7XG5cdGlzRmF2b3JpdGU6IGJvb2xlYW47XG59O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvbnRyb2xzLmVhc3lGaWx0ZXIuRWFzeUZpbHRlcklucHV0XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFYXN5RmlsdGVySW5wdXQgZXh0ZW5kcyBDb250cm9sIHtcblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5JbnB1dFwiLCBtdWx0aXBsZTogZmFsc2UsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHQkc2VhcmNoSW5wdXQhOiBJbnB1dDtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGFwcElkPzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYXJyYXlcIiB9KVxuXHRyZWNvbW1lbmRlZFZhbHVlcz86IHN0cmluZ1tdO1xuXG5cdEBldmVudCgpXG5cdHF1ZXJ5Q2hhbmdlZD86IEV2ZW50SGFuZGxlcjxVSTVFdmVudDx7IHF1ZXJ5OiBzdHJpbmcgfSwgRWFzeUZpbHRlcklucHV0Pj47XG5cblx0QGV2ZW50KClcblx0ZW50ZXJQcmVzc2VkPzogRXZlbnRIYW5kbGVyPFVJNUV2ZW50PHsgcXVlcnk6IHN0cmluZyB9LCBFYXN5RmlsdGVySW5wdXQ+PjtcblxuXHRAZXZlbnQoKVxuXHRsaXZlQ2hhbmdlPzogRXZlbnRIYW5kbGVyO1xuXG5cdHByaXZhdGUgcmVzb3VyY2VCdW5kbGUhOiBSZXNvdXJjZUJ1bmRsZTtcblxuXHRzaGVsbEhpc3RvcnlQcm92aWRlcjogU2hlbGxIaXN0b3J5UHJvdmlkZXIgfCB1bmRlZmluZWQ7XG5cblx0cG9wb3ZlckludmlzaWJsZU1lc3NhZ2U6IEludmlzaWJsZU1lc3NhZ2UgfCB1bmRlZmluZWQ7XG5cblx0JGZhdm9yaXRlUG9wb3ZlcjogUG9wb3ZlciB8IHVuZGVmaW5lZDtcblxuXHRAZGVmaW5lU3RhdGUoKVxuXHRwcm90ZWN0ZWQgc3RhdGU6IFN0YXRlT2Y8e1xuXHRcdHF1ZXJ5Q2hhbmdlZDogYm9vbGVhbjtcblx0XHRyZWNlbnRRdWVyaWVzOiByZWFkb25seSBzdHJpbmdbXTtcblx0XHRyZWNlbnRRdWVyaWVzV2l0RmF2b3JpdGVzOiByZWFkb25seSBSZWNlbnRUeXBlW107XG5cdFx0aXNIaXN0b3J5RW5hYmxlZDogYm9vbGVhbjtcblx0XHRmYXZvcml0ZVF1ZXJpZXM6IHN0cmluZ1tdO1xuXHRcdHJlY29tbWVuZGVkUXVlcmllczogc3RyaW5nW107XG5cdH0+ID0ge1xuXHRcdHF1ZXJ5Q2hhbmdlZDogZmFsc2UsXG5cdFx0aXNIaXN0b3J5RW5hYmxlZDogZmFsc2UsXG5cdFx0cmVjZW50UXVlcmllczogW10sXG5cdFx0cmVjZW50UXVlcmllc1dpdEZhdm9yaXRlczogW10sXG5cdFx0ZmF2b3JpdGVRdWVyaWVzOiBbXSBhcyBzdHJpbmdbXSxcblx0XHRyZWNvbW1lbmRlZFF1ZXJpZXM6IFtdIGFzIHN0cmluZ1tdXG5cdH07XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogc3RyaW5nIHwgKCRDb250cm9sU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8RWFzeUZpbHRlcklucHV0PiksIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzIGFzIHN0cmluZywgb3RoZXJzKTtcblx0XHR0aGlzLmluaXRpYWxpemUoKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLiRzZWFyY2hJbnB1dC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0cHVibGljIGlzSGlzdG9yeUVuYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuc3RhdGUuaXNIaXN0b3J5RW5hYmxlZC52YWx1ZU9mKCk7XG5cdH1cblxuXHRzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0c2V0UGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LnNldFBsYWNlaG9sZGVyKHZhbHVlKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLiRzZWFyY2hJbnB1dC5nZXRQbGFjZWhvbGRlcigpO1xuXHR9XG5cblx0aW5pdGlhbGl6ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnN0YXRlLnJlY29tbWVuZGVkUXVlcmllcyA9IHRoaXMucmVjb21tZW5kZWRWYWx1ZXMgPz8gW107XG5cdFx0dGhpcy5yZXNvdXJjZUJ1bmRsZSA9IExpYi5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb250cm9sc1wiKSE7XG5cdFx0dGhpcy5wb3BvdmVySW52aXNpYmxlTWVzc2FnZSA9IEludmlzaWJsZU1lc3NhZ2UuZ2V0SW5zdGFuY2UoKTtcblx0XHR0aGlzLmNyZWF0ZUlucHV0KCk7XG5cdH1cblxuXHRzZXRBc0ludmFsaWQobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQuc2V0VmFsdWVTdGF0ZShWYWx1ZVN0YXRlLldhcm5pbmcpO1xuXHRcdHRoaXMuJHNlYXJjaElucHV0LnNldFZhbHVlU3RhdGVUZXh0KG1lc3NhZ2UpO1xuXHRcdHRoaXMuJHNlYXJjaElucHV0Lm9wZW5WYWx1ZVN0YXRlTWVzc2FnZSgpO1xuXHR9XG5cblx0Y3JlYXRlSW5wdXQoKTogdm9pZCB7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQgPSAoXG5cdFx0XHQ8SW5wdXRcblx0XHRcdFx0d2lkdGg9XCIxMDAlXCJcblx0XHRcdFx0c2hvd0NsZWFySWNvbj17dHJ1ZX1cblx0XHRcdFx0Y2hhbmdlPXsoZSk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdHRoaXMuZmlyZUV2ZW50KFwicXVlcnlDaGFuZ2VkXCIsIHsgcXVlcnk6IGUuZ2V0UGFyYW1ldGVyKFwidmFsdWVcIikgfSk7XG5cdFx0XHRcdH19XG5cdFx0XHRcdGxpdmVDaGFuZ2U9eyhlOiBJbnB1dCRMaXZlQ2hhbmdlRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0XHR0aGlzLnN0YXRlLnF1ZXJ5Q2hhbmdlZCA9IHRydWU7XG5cdFx0XHRcdFx0dGhpcy5maXJlRXZlbnQoXCJsaXZlQ2hhbmdlXCIpO1xuXHRcdFx0XHRcdGlmICghZS5nZXRTb3VyY2UoKS5nZXRWYWx1ZSgpICYmICEodGhpcy4kZmF2b3JpdGVQb3BvdmVyPy5pc09wZW4oKSA/PyBmYWxzZSkpIHtcblx0XHRcdFx0XHRcdHRoaXMub3BlblN1Z2dlc3Rpb25Qb3BvdmVyKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChlLmdldFBhcmFtZXRlcihcInZhbHVlXCIpID09PSBcIlwiKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnNldFBsYWNlaG9sZGVyKHRoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUExBQ0VIT0xERVJcIikpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fX1cblx0XHRcdFx0cGxhY2Vob2xkZXI9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUExBQ0VIT0xERVJcIil9XG5cdFx0XHQ+PC9JbnB1dD5cblx0XHQpO1xuXG5cdFx0Y29uc3QgZmF2b3JpdGVQb3BvdmVyID0gdGhpcy5jcmVhdGVGYXZvcml0ZVBvcG92ZXIoKTtcblx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXIgPSBmYXZvcml0ZVBvcG92ZXI7XG5cblx0XHR0aGlzLiRzZWFyY2hJbnB1dC5hZGREZXBlbmRlbnQoZmF2b3JpdGVQb3BvdmVyKTtcblx0XHR0aGlzLiRzZWFyY2hJbnB1dC5hZGRFdmVudERlbGVnYXRlKHtcblx0XHRcdG9ua2V5dXA6IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG5cdFx0XHRcdGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG5cdFx0XHRcdFx0dGhpcy5vbkVudGVyUHJlc3NlZCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLiRmYXZvcml0ZVBvcG92ZXIgJiYgdGhpcy4kc2VhcmNoSW5wdXQuZ2V0VmFsdWUoKSkge1xuXHRcdFx0XHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlci5jbG9zZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0b25rZXlkb3duOiAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0ZS5rZXkgPT09IFwiVGFiXCIgJiZcblx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uZ2V0VmFsdWUoKS5sZW5ndGggPT09IDAgJiZcblx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uZ2V0VmFsdWUoKSAhPT0gdGhpcy4kc2VhcmNoSW5wdXQ/LmdldFBsYWNlaG9sZGVyKCkgJiZcblx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uZ2V0UGxhY2Vob2xkZXIoKSAhPT0gdGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QTEFDRUhPTERFUlwiKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRcdFx0dGhpcy4kc2VhcmNoSW5wdXQ/LnNldFZhbHVlKHRoaXMuJHNlYXJjaElucHV0Py5nZXRQbGFjZWhvbGRlcigpKTtcblx0XHRcdFx0XHR0aGlzLmZpcmVFdmVudChcImxpdmVDaGFuZ2VcIik7XG5cdFx0XHRcdH0gZWxzZSBpZiAoZS5rZXkgPT09IFwiQXJyb3dEb3duXCIpIHtcblx0XHRcdFx0XHRjb25zdCBwb3BvdmVyQ29uYWluZXIgPSB0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmdldENvbnRlbnQoKVswXTtcblx0XHRcdFx0XHRjb25zdCBjb250YWluZXJJdGVtcyA9IChwb3BvdmVyQ29uYWluZXIgYXMgRmxleEJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdFx0XHRjb250YWluZXJJdGVtcz8uZmluZCgoaXRlbSkgPT4gaXRlbS5pc0ZvY3VzYWJsZSgpICYmIChpdGVtLmZvY3VzKCksIHRydWUpKTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdG9udGFwOiAoKSA9PiB7XG5cdFx0XHRcdHRoaXMub3BlblN1Z2dlc3Rpb25Qb3BvdmVyKCk7XG5cdFx0XHR9LFxuXHRcdFx0b25mb2N1c2luOiAoKSA9PiB7XG5cdFx0XHRcdHRoaXMub3BlblN1Z2dlc3Rpb25Qb3BvdmVyKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy4kZmF2b3JpdGVQb3BvdmVyLmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25rZXlkb3duOiAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuXHRcdFx0XHRjb25zdCB0YXJnZXRUZXh0ID0gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8ub3V0ZXJUZXh0O1xuXHRcdFx0XHRjb25zdCB0YXJnZXRJZCA9IChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmlkO1xuXHRcdFx0XHRzd2l0Y2ggKGUua2V5KSB7XG5cdFx0XHRcdFx0Y2FzZSBcIkVudGVyXCI6XG5cdFx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUodGFyZ2V0VGV4dCk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlIFwiRGVsZXRlXCI6XG5cdFx0XHRcdFx0XHRpZiAodGFyZ2V0SWQ/LmluY2x1ZGVzKFwiZWFzeUZpbHRlckZhdm9yaXRlSXRlbVwiKSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcyA9IHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzLmZpbHRlcihcblx0XHRcdFx0XHRcdFx0XHQoZGF0YSkgPT4gZGF0YS50b0xvd2VyQ2FzZSgpICE9PSB0YXJnZXRUZXh0LnRvTG93ZXJDYXNlKClcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9IHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5maWx0ZXIoKHF1ZXJ5KSA9PiBxdWVyeSAhPT0gdGFyZ2V0VGV4dCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlIFwiRXNjYXBlXCI6XG5cdFx0XHRcdFx0XHRpZiAodGhpcy4kZmF2b3JpdGVQb3BvdmVyPy5pc09wZW4oKSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXIuY2xvc2UoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0b25BZnRlclJlbmRlcmluZzogKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnBvcG92ZXJJbnZpc2libGVNZXNzYWdlPy5hbm5vdW5jZShcblx0XHRcdFx0XHR0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJUX0VBU1lfRklMVEVSX0lOUFVUX1RFWFRfTElOS19QT1BPVkVSX0FSSUFcIiksXG5cdFx0XHRcdFx0SW52aXNpYmxlTWVzc2FnZU1vZGUuQXNzZXJ0aXZlXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIG9wZW5TdWdnZXN0aW9uUG9wb3ZlcigpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuJHNlYXJjaElucHV0Py5nZXRWYWx1ZSgpICYmICghdGhpcy4kZmF2b3JpdGVQb3BvdmVyIHx8ICF0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmlzT3BlbigpKSkge1xuXHRcdFx0Ly8gT3BlbiB0aGUgZWFzeSBmaWx0ZXIgcG9wb3ZlclxuXHRcdFx0dGhpcy5zdGF0ZS5pc0hpc3RvcnlFbmFibGVkID0gdGhpcy5zaGVsbEhpc3RvcnlQcm92aWRlcj8uaXNIaXN0b3J5RW5hYmxlZCgpID8/IGZhbHNlO1xuXHRcdFx0dGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMgPSB0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyPy5nZXRGYXZvcml0ZVF1ZXJpZXMoKSA/PyBbXTtcblx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9ICh0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyPy5nZXRSZWNlbnRRdWVyaWVzKCkgPz8gW10pLm1hcCgocXVlcnkpID0+IHF1ZXJ5KTtcblx0XHRcdHRoaXMuJGZhdm9yaXRlUG9wb3Zlcj8ub3BlbkJ5KHRoaXMuJHNlYXJjaElucHV0KTtcblx0XHR9XG5cdH1cblxuXHRyZXF1ZXN0RmF2b3JpdGUoZTogQnV0dG9uJFByZXNzRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmNsb3NlKCk7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQ/LnNldFZhbHVlKGUuZ2V0U291cmNlKCkuZ2V0VGV4dCgpKTtcblx0XHR0aGlzLm9uRW50ZXJQcmVzc2VkKCk7XG5cdH1cblxuXHRvbkVudGVyUHJlc3NlZCgpOiB2b2lkIHtcblx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmNsb3NlKCk7XG5cdFx0dGhpcy5zdGF0ZS5xdWVyeUNoYW5nZWQgPSBmYWxzZTtcblx0XHRsZXQgbWFnaWNRdWVyeSA9IHRoaXMuJHNlYXJjaElucHV0Py5nZXRWYWx1ZSgpO1xuXHRcdGlmIChtYWdpY1F1ZXJ5ID09PSBcIlwiICYmIHRoaXMuJHNlYXJjaElucHV0LmdldFBsYWNlaG9sZGVyKCkgIT09IHRoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUExBQ0VIT0xERVJcIikpIHtcblx0XHRcdG1hZ2ljUXVlcnkgPSB0aGlzLiRzZWFyY2hJbnB1dC5nZXRQbGFjZWhvbGRlcigpO1xuXHRcdFx0dGhpcy4kc2VhcmNoSW5wdXQ/LnNldFZhbHVlKG1hZ2ljUXVlcnkpO1xuXHRcdH1cblx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWVTdGF0ZVRleHQoXCJcIik7XG5cdFx0dGhpcy4kc2VhcmNoSW5wdXQ/LnNldFZhbHVlU3RhdGUoXCJOb25lXCIpO1xuXHRcdHRoaXMuZmlyZUV2ZW50KFwiZW50ZXJQcmVzc2VkXCIsIHsgcXVlcnk6IG1hZ2ljUXVlcnkgfSk7XG5cdH1cblxuXHRhZGRSZWNlbnRRdWVyeShxdWVyeVN0cmluZzogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG5cdFx0Ly8gTm9ybWFsaXplIGJhY2tzbGFzaGVzIGJlZm9yZSBzdG9yaW5nXG5cdFx0cXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZz8ucmVwbGFjZSgvXFxcXC9nLCBcIlxcXFxcXFxcXCIpO1xuXG5cdFx0Y29uc3QgcmVjZW50UXVlcnlJbmRleCA9IHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5maW5kSW5kZXgoKHF1ZXJ5KSA9PiBxdWVyeS50b0xvd2VyQ2FzZSgpID09PSBxdWVyeVN0cmluZz8udG9Mb3dlckNhc2UoKSk7XG5cdFx0aWYgKHF1ZXJ5U3RyaW5nICYmIHJlY2VudFF1ZXJ5SW5kZXggPT09IC0xKSB7XG5cdFx0XHR0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMgPSBbcXVlcnlTdHJpbmddLmNvbmNhdCh0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMpO1xuXHRcdFx0aWYgKHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5sZW5ndGggPiA1KSB7XG5cdFx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllcyA9IHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5zbGljZSgwLCA1KTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHF1ZXJ5U3RyaW5nKSB7XG5cdFx0XHRjb25zdCByZWNlbnRRdWVyaWVzID0gdGhpcy5zdGF0ZS5yZWNlbnRRdWVyaWVzLmZpbHRlcigocXVlcnkpID0+IHF1ZXJ5LnRvTG93ZXJDYXNlKCkgIT09IHF1ZXJ5U3RyaW5nPy50b0xvd2VyQ2FzZSgpKTtcblx0XHRcdHJlY2VudFF1ZXJpZXMudW5zaGlmdChxdWVyeVN0cmluZyk7XG5cdFx0XHR0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMgPSByZWNlbnRRdWVyaWVzO1xuXHRcdH1cblx0fVxuXG5cdG9uU3RhdGVDaGFuZ2UoY2hhbmdlZFByb3BzOiBzdHJpbmdbXSA9IFtdKTogdm9pZCB7XG5cdFx0aWYgKGNoYW5nZWRQcm9wcy5pbmNsdWRlcyhcImZhdm9yaXRlUXVlcmllc1wiKSB8fCBjaGFuZ2VkUHJvcHMuaW5jbHVkZXMoXCJyZWNlbnRRdWVyaWVzXCIpKSB7XG5cdFx0XHR0aGlzLnNoZWxsSGlzdG9yeVByb3ZpZGVyPy5zZXRGYXZvcml0ZVF1ZXJpZXModGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMpO1xuXHRcdFx0dGhpcy5zaGVsbEhpc3RvcnlQcm92aWRlcj8uc2V0UmVjZW50UXVlcmllcyh0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMubWFwKChxdWVyeSkgPT4gcXVlcnkpKTtcblx0XHRcdHRoaXMuc3RhdGUucmVjZW50UXVlcmllc1dpdEZhdm9yaXRlcyA9IHRoaXMuc3RhdGUucmVjZW50UXVlcmllcy5tYXAoKHJlY2VudFF1ZXJ5KSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dGV4dDogcmVjZW50UXVlcnksXG5cdFx0XHRcdFx0aXNGYXZvcml0ZTogISF0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcy5maW5kKChmYXZvcml0ZVF1ZXJ5KSA9PiBmYXZvcml0ZVF1ZXJ5ID09PSByZWNlbnRRdWVyeSlcblx0XHRcdFx0fTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIGluaXRTaGVsbEhpc3RvcnlQcm92aWRlcigpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR0cnkge1xuXHRcdFx0dGhpcy5zaGVsbEhpc3RvcnlQcm92aWRlciA9IGF3YWl0IFNoZWxsSGlzdG9yeVByb3ZpZGVyLmdldEluc3RhbmNlKHRoaXMuYXBwSWQgPz8gXCI8dW5rbm93bkFwcD5cIik7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIGNyZWF0aW5nIFNoZWxsSGlzdG9yeVByb3ZpZGVyIGZvciBlYXN5IGZpbHRlclwiLCBlcnJvciBhcyBzdHJpbmcpO1xuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZUZhdm9yaXRlUG9wb3ZlcigpOiBQb3BvdmVyIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PFBvcG92ZXJcblx0XHRcdFx0aWQ9e3RoaXMuZ2V0SWQoKSArIFwiLWZhdm9yaXRlUG9wb3ZlclwifVxuXHRcdFx0XHRzaG93SGVhZGVyPXtmYWxzZX1cblx0XHRcdFx0aG9yaXpvbnRhbFNjcm9sbGluZz17ZmFsc2V9XG5cdFx0XHRcdHBsYWNlbWVudD17UGxhY2VtZW50VHlwZS5Cb3R0b219XG5cdFx0XHRcdHNob3dBcnJvdz17ZmFsc2V9XG5cdFx0XHRcdGluaXRpYWxGb2N1cz17dGhpcy4kc2VhcmNoSW5wdXR9XG5cdFx0XHRcdGNsYXNzPXtcInNhcEZFQ29udHJvbHNQb3BvdmVyXCJ9XG5cdFx0XHRcdHZpc2libGU9e3RoaXMuc3RhdGUucmVjb21tZW5kZWRRdWVyaWVzLmxlbmd0aCA+IDAgfHwgZXF1YWwoYmluZFN0YXRlKHRoaXMuc3RhdGUsIFwiaXNIaXN0b3J5RW5hYmxlZFwiKSwgdHJ1ZSl9XG5cdFx0XHQ+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0PEZsZXhCb3ggZGlyZWN0aW9uPXtGbGV4RGlyZWN0aW9uLkNvbHVtbn0gY2xhc3M9e1wic2FwVWlDb250ZW50UGFkZGluZ1wifSByZW5kZXJUeXBlPXtcIkJhcmVcIn0+XG5cdFx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdFx0XHRcdDxUaXRsZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZVN0eWxlPXtUaXRsZUxldmVsLkg2fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0PXt0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BPUE9WRVJfU1VHR0VTVElPTlNfVElUTEVcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPXtcInNhcEZlQ29udHJvbHNUaXRsZUJvcmRlclwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlPXt0aGlzLnN0YXRlLnJlY29tbWVuZGVkUXVlcmllcy5sZW5ndGggPiAwfVxuXHRcdFx0XHRcdFx0XHRcdFx0Lz4sXG5cdFx0XHRcdFx0XHRcdFx0XHQ8SEJveFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz17XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGl0ZW1zPXtiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJyZWNvbW1lbmRlZFF1ZXJpZXNcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdyYXA9e0ZsZXhXcmFwLldyYXB9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e3RoaXMuc3RhdGUucmVjb21tZW5kZWRRdWVyaWVzLmxlbmd0aCA+IDB9XG5cdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbXM6IChpZDogc3RyaW5nLCBjdHg6IENvbnRleHQpOiBTdGFuZGFyZExpc3RJdGVtID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz17XCJzYXBVaVRpbnlNYXJnaW5FbmRcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0PXtjdHguZ2V0T2JqZWN0KCl9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9e3RoaXMucmVxdWVzdEZhdm9yaXRlLmJpbmQodGhpcyl9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdDwvSEJveD4sXG5cdFx0XHRcdFx0XHRcdFx0XHQ8VGl0bGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e3RoaXMuZ2V0SWQoKSArIFwiLWVhc3lGaWx0ZXJGYXZvcml0ZVRpdGxlXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlU3R5bGU9e1RpdGxlTGV2ZWwuSDZ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9GQVZPUklURV9USVRMRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9e1wic2FwRmVDb250cm9sc1RpdGxlQm9yZGVyXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e2VxdWFsKGJpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcImlzSGlzdG9yeUVuYWJsZWRcIiksIHRydWUpfVxuXHRcdFx0XHRcdFx0XHRcdFx0Lz4sXG5cdFx0XHRcdFx0XHRcdFx0XHQ8TGlzdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtcz17YmluZFN0YXRlKHRoaXMuc3RhdGUsIFwiZmF2b3JpdGVRdWVyaWVzXCIpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlPXtlcXVhbChiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJpc0hpc3RvcnlFbmFibGVkXCIpLCB0cnVlKX1cblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRub0RhdGE6IChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxJbGx1c3RyYXRlZE1lc3NhZ2Vcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9FTVBUWV9GQVZPUklURV9USVRMRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWxsdXN0cmF0aW9uU2l6ZT17SWxsdXN0cmF0ZWRNZXNzYWdlU2l6ZS5FeHRyYVNtYWxsfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbGx1c3RyYXRpb25UeXBlPXtJbGx1c3RyYXRlZE1lc3NhZ2VUeXBlLk5vRW50cmllc31cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb249e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9FTVBUWV9GQVZPUklURV9ERVNDUklQVElPTlwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCl9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbXM6IChpZDogc3RyaW5nLCBjdHg6IENvbnRleHQpOiBTdGFuZGFyZExpc3RJdGVtID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxDdXN0b21MaXN0SXRlbVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlkPXtpZCArIFwiLWVhc3lGaWx0ZXJGYXZvcml0ZUl0ZW1cIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz17XCJzYXBVaVNtYWxsTWFyZ2luQmVnaW5cIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17W2lkICsgXCItZWFzeUZpbHRlckZhdm9yaXRlVGl0bGVcIl19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VzdG9tRGF0YT17WzxDdXN0b21EYXRhIGtleT17XCJ0ZXh0XCJ9IHZhbHVlPXtjdHguZ2V0T2JqZWN0KCl9IC8+XX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy4kc2VhcmNoSW5wdXQuc2V0VmFsdWUoY3R4LmdldE9iamVjdCgpKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMub25FbnRlclByZXNzZWQoKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEZsZXhCb3hcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoPXtcIjEwMCVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRpcmVjdGlvbj17RmxleERpcmVjdGlvbi5Sb3d9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhbGlnbkl0ZW1zPXtGbGV4QWxpZ25JdGVtcy5DZW50ZXJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5Q29udGVudD17RmxleEp1c3RpZnlDb250ZW50LlNwYWNlQmV0d2Vlbn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlbmRlclR5cGU9e1wiQmFyZVwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e2lkfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxUZXh0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e2N0eC5nZXRPYmplY3QoKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcD17Y3R4LmdldE9iamVjdCgpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cmFwcGluZz17ZmFsc2V9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwic2FwRkVDb250cm9sc1BvaW50ZXJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRlcGVuZGVudHM6IChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxFdmVudERlbGVnYXRlSG9va1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0YXA9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjdHguZ2V0T2JqZWN0KCkucmVwbGFjZSgvXFxcXFxcXFwvZywgXCJcXFxcXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm9uRW50ZXJQcmVzc2VkKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvVGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbj17XCJzYXAtaWNvbjovL2Zhdm9yaXRlXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXA9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfRklMTEVEX1NUQVJcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXtbdGhpcy5nZXRJZCgpICsgXCItZWFzeUZpbHRlckZhdm9yaXRlSXRlbVwiXX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZT17QnV0dG9uVHlwZS5UcmFuc3BhcmVudH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL1JldGFpbmluZyB0aGUgZm9jdXMgb24gcG9wb3ZlciBkb2Vzbid0IG1ha2UgdGhlIHBvcG92ZXIgY2xvc2Ugb24gZXZlcnkgaW50ZXJhY3Rpb25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLiRmYXZvcml0ZVBvcG92ZXI/LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgcXVlcnlTdHJpbmcgPSBjdHguZ2V0T2JqZWN0KCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgaW5kZXggPSB0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcy5pbmRleE9mKHF1ZXJ5U3RyaW5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoaW5kZXggIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcyA9IHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzLmZpbHRlcihcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KHF1ZXJ5KSA9PiBxdWVyeSAhPT0gcXVlcnlTdHJpbmdcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L0ZsZXhCb3g+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdDwvTGlzdD4sXG5cdFx0XHRcdFx0XHRcdFx0XHQ8VGl0bGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e3RoaXMuZ2V0SWQoKSArIFwiLWVhc3lGaWx0ZXJMYXN0VXNlZFRpdGxlXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlU3R5bGU9e1RpdGxlTGV2ZWwuSDZ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9MQVNUX1VTRURcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPXtcInNhcEZlQ29udHJvbHNUaXRsZUJvcmRlclwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlPXtlcXVhbChiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJpc0hpc3RvcnlFbmFibGVkXCIpLCB0cnVlKX1cblx0XHRcdFx0XHRcdFx0XHRcdC8+LFxuXHRcdFx0XHRcdFx0XHRcdFx0PExpc3Rcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbXM9e2JpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcInJlY2VudFF1ZXJpZXNXaXRGYXZvcml0ZXNcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9e2VxdWFsKGJpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcImlzSGlzdG9yeUVuYWJsZWRcIiksIHRydWUpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtb2RlPXtMaXN0TW9kZS5EZWxldGV9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZT17KGU6IExpc3RCYXNlJERlbGV0ZUV2ZW50KTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgaXRlbSA9IGUuZ2V0UGFyYW1ldGVyKFwibGlzdEl0ZW1cIikgYXMgQ3VzdG9tTGlzdEl0ZW07XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbS5mb2N1cygpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bGV0IHF1ZXJ5U3RyaW5nID0gZS5nZXRQYXJhbWV0ZXIoXCJsaXN0SXRlbVwiKT8uZGF0YShcInRleHRcIik7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIXF1ZXJ5U3RyaW5nKSByZXR1cm47XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gTm9ybWFsaXplIGJhY2tzbGFzaGVzIGJlZm9yZSBjb21wYXJpbmdcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nPy5yZXBsYWNlKC9cXFxcL2csIFwiXFxcXFxcXFxcIik7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMgPSB0aGlzLnN0YXRlLnJlY2VudFF1ZXJpZXMuZmlsdGVyKChxdWVyeSkgPT4gcXVlcnkgIT09IHF1ZXJ5U3RyaW5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRub0RhdGE6IChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxJbGx1c3RyYXRlZE1lc3NhZ2Vcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9FTVBUWV9MQVNUX1VTRURfVElUTEVcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlsbHVzdHJhdGlvblNpemU9e0lsbHVzdHJhdGVkTWVzc2FnZVNpemUuRXh0cmFTbWFsbH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWxsdXN0cmF0aW9uVHlwZT17SWxsdXN0cmF0ZWRNZXNzYWdlVHlwZS5Ob0VudHJpZXN9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uPXt0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJNX0VBU1lfRklMVEVSX1BPUE9WRVJfRU1QVFlfUkVDRU5UX0RFU0NSSVBUSU9OXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtczogKGlkOiBzdHJpbmcsIGN0eDogQ29udGV4dCk6IEZsZXhCb3ggPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ9e2lkICsgXCItZWFzeUZpbHRlckxhc3RVc2VkSXRlbVwifVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHByZXNzPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLiRzZWFyY2hJbnB1dD8uc2V0VmFsdWUoY3R4LmdldE9iamVjdCgpLnRleHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5vbkVudGVyUHJlc3NlZCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9e1wic2FwVWlTbWFsbE1hcmdpbkJlZ2luXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VzdG9tRGF0YT17WzxDdXN0b21EYXRhIGtleT17XCJ0ZXh0XCJ9IHZhbHVlPXtjdHguZ2V0T2JqZWN0KCkudGV4dH0gLz5dfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXtbaWQgKyBcIi1lYXN5RmlsdGVyTGFzdFVzZWRUaXRsZVwiXX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxGbGV4Qm94XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3aWR0aD17XCIxMDAlXCJ9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXJlY3Rpb249e0ZsZXhEaXJlY3Rpb24uUm93fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YWxpZ25JdGVtcz17RmxleEFsaWduSXRlbXMuQ2VudGVyfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0anVzdGlmeUNvbnRlbnQ9e0ZsZXhKdXN0aWZ5Q29udGVudC5TcGFjZUJldHdlZW59XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZW5kZXJUeXBlPXtcIkJhcmVcIn1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlkPXtpZH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8VGV4dFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0PXtjdHguZ2V0T2JqZWN0KCkudGV4dH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcD17Y3R4LmdldE9iamVjdCgpLnRleHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdyYXBwaW5nPXtmYWxzZX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBGRUNvbnRyb2xzUG9pbnRlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVwZW5kZW50czogKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEV2ZW50RGVsZWdhdGVIb29rXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhcD17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuJHNlYXJjaElucHV0Py5zZXRWYWx1ZShcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGN0eC5nZXRPYmplY3QoKS50ZXh0LnJlcGxhY2UoL1xcXFxcXFxcL2csIFwiXFxcXFwiKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5vbkVudGVyUHJlc3NlZCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L1RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGljb249e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGN0eC5nZXRPYmplY3QoKS5pc0Zhdm9yaXRlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IFwic2FwLWljb246Ly9mYXZvcml0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ6IFwic2FwLWljb246Ly9hZGQtZmF2b3JpdGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXA9e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGN0eC5nZXRPYmplY3QoKS5pc0Zhdm9yaXRlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IHRoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfRklMTEVEX1NUQVJcIilcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDogdGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9FTVBUWV9TVEFSVFwiKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVuYWJsZWQ9e2xlc3NUaGFuKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxlbmd0aChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJpbmRTdGF0ZShcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJmYXZvcml0ZVF1ZXJpZXNcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSBhcyBQYXRoSW5Nb2RlbEV4cHJlc3Npb248dW5rbm93bj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZT17QnV0dG9uVHlwZS5UcmFuc3BhcmVudH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXJpYUxhYmVsbGVkQnk9e1tpZCArIFwiLWVhc3lGaWx0ZXJMYXN0VXNlZEl0ZW1cIl19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHByZXNzPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly9SZXRhaW5pbmcgdGhlIGZvY3VzIG9uIHBvcG92ZXIgZG9lc24ndCBtYWtlIHRoZSBwb3BvdmVyIGNsb3NlIG9uIGV2ZXJ5IGludGVyYWN0aW9uXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy4kZmF2b3JpdGVQb3BvdmVyPy5mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IHF1ZXJ5U3RyaW5nID0gY3R4LmdldE9iamVjdCgpLnRleHQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgaXNGYXZvcml0ZSA9IGN0eC5nZXRPYmplY3QoKS5pc0Zhdm9yaXRlO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKGlzRmF2b3JpdGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMucmVtb3ZlRnJvbUZhdm9yaXRlcyhxdWVyeVN0cmluZyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuYWRkVG9GYXZvcml0ZXMocXVlcnlTdHJpbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9GbGV4Qm94PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L0N1c3RvbUxpc3RJdGVtPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L0xpc3Q+XG5cdFx0XHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0PC9GbGV4Qm94PlxuXHRcdFx0XHRcdClcblx0XHRcdFx0fX1cblx0XHRcdDwvUG9wb3Zlcj5cblx0XHQpIGFzIFBvcG92ZXI7XG5cdH1cblxuXHRwcml2YXRlIHJlbW92ZUZyb21GYXZvcml0ZXMocXVlcnk6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuc3RhdGUuZmF2b3JpdGVRdWVyaWVzID0gdGhpcy5zdGF0ZS5mYXZvcml0ZVF1ZXJpZXMuZmlsdGVyKChkYXRhKSA9PiBkYXRhLnRvTG93ZXJDYXNlKCkgIT09IHF1ZXJ5LnRvTG93ZXJDYXNlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRUb0Zhdm9yaXRlcyhxdWVyeTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3RmF2b3JpdGUgPSBbcXVlcnldLmNvbmNhdCh0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcy5jb25jYXQoKSk7XG5cdFx0aWYgKG5ld0Zhdm9yaXRlLmxlbmd0aCA+IDUpIHtcblx0XHRcdG5ld0Zhdm9yaXRlLnBvcCgpO1xuXHRcdH1cblx0XHR0aGlzLnN0YXRlLmZhdm9yaXRlUXVlcmllcyA9IG5ld0Zhdm9yaXRlO1xuXHR9XG5cblx0c3RhdGljIHJlbmRlcihybTogUmVuZGVyTWFuYWdlciwgY29udHJvbDogRWFzeUZpbHRlcklucHV0KTogdm9pZCB7XG5cdFx0cmV0dXJuIGpzeC5yZW5kZXJVc2luZ1JlbmRlck1hbmFnZXIocm0sIGNvbnRyb2wsICgpID0+IHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxzcGFuIHJlZj17Y29udHJvbH0gY2xhc3M9e1wic2FwRkVFYXN5RmlsdGVySW5wdXRcIn0+XG5cdFx0XHRcdFx0e2NvbnRyb2wuJHNlYXJjaElucHV0fVxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXlDcUJBLGVBQWUsSUFBQUMsSUFBQSxHQURuQ0MsY0FBYyxDQUFDLDRDQUE0QyxDQUFDLEVBQUFDLEtBQUEsR0FFM0RDLFdBQVcsQ0FBQztJQUFFQyxJQUFJLEVBQUUsYUFBYTtJQUFFQyxRQUFRLEVBQUUsS0FBSztJQUFFQyxTQUFTLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUd0RUMsUUFBUSxDQUFDO0lBQUVKLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBSyxLQUFBLEdBRzVCRCxRQUFRLENBQUM7SUFBRUosSUFBSSxFQUFFO0VBQVEsQ0FBQyxDQUFDLEVBQUFNLEtBQUEsR0FHM0JDLEtBQUssQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHUEQsS0FBSyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUdQRixLQUFLLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBV1BDLFdBQVcsQ0FBQyxDQUFDLEVBQUFmLElBQUEsQ0FBQWdCLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMsUUFBQTtJQWlCZCxTQUFBbkIsZ0JBQVlvQixVQUF1RSxFQUFFQyxNQUF5QixFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUMvR0EsS0FBQSxHQUFBSCxRQUFBLENBQUFJLElBQUEsT0FBTUgsVUFBVSxFQUFZQyxNQUFNLENBQUM7TUFBQ0csMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQUcsV0FBQSxFQUFBSCxLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsV0FBQUksWUFBQSxFQUFBSixLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsdUJBQUFLLFlBQUEsRUFBQUwsS0FBQTtNQUFBRSwwQkFBQSxDQUFBRixLQUFBLGtCQUFBTSxZQUFBLEVBQUFOLEtBQUE7TUFBQUUsMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQU8sWUFBQSxFQUFBUCxLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsZ0JBQUFRLFlBQUEsRUFBQVIsS0FBQTtNQUFBRSwwQkFBQSxDQUFBRixLQUFBLFdBQUFTLFlBQUEsRUFBQVQsS0FBQTtNQUNwQ0EsS0FBQSxDQUFLVSxVQUFVLENBQUMsQ0FBQztNQUFDLE9BQUFWLEtBQUE7SUFDbkI7SUFBQ1csUUFBQSxHQUFBakMsZUFBQTtJQUFBa0MsY0FBQSxDQUFBbEMsZUFBQSxFQUFBbUIsUUFBQTtJQUFBLElBQUFnQixNQUFBLEdBQUFuQyxlQUFBLENBQUFvQyxTQUFBO0lBQUFELE1BQUEsQ0FFTUUsUUFBUSxHQUFmLFNBQU9BLFFBQVFBLENBQUEsRUFBVztNQUN6QixPQUFPLElBQUksQ0FBQ0MsWUFBWSxDQUFDRCxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQUFGLE1BQUEsQ0FFTUksZ0JBQWdCLEdBQXZCLFNBQU9BLGdCQUFnQkEsQ0FBQSxFQUFZO01BQ2xDLE9BQU8sSUFBSSxDQUFDQyxLQUFLLENBQUNELGdCQUFnQixDQUFDRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQUFOLE1BQUEsQ0FFRE8sUUFBUSxHQUFSLFNBQUFBLFFBQVFBLENBQUNDLEtBQWEsRUFBUTtNQUM3QixJQUFJLENBQUNMLFlBQVksQ0FBQ0ksUUFBUSxDQUFDQyxLQUFLLENBQUM7TUFDakMsT0FBTyxJQUFJO0lBQ1osQ0FBQztJQUFBUixNQUFBLENBRURTLGNBQWMsR0FBZCxTQUFBQSxjQUFjQSxDQUFDRCxLQUFhLEVBQVE7TUFDbkMsSUFBSSxDQUFDTCxZQUFZLENBQUNNLGNBQWMsQ0FBQ0QsS0FBSyxDQUFDO01BQ3ZDLE9BQU8sSUFBSTtJQUNaLENBQUM7SUFBQVIsTUFBQSxDQUVNVSxjQUFjLEdBQXJCLFNBQU9BLGNBQWNBLENBQUEsRUFBVztNQUMvQixPQUFPLElBQUksQ0FBQ1AsWUFBWSxDQUFDTyxjQUFjLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUFWLE1BQUEsQ0FFREgsVUFBVSxHQUFWLFNBQUFBLFVBQVVBLENBQUEsRUFBUztNQUNsQixJQUFJLENBQUNRLEtBQUssQ0FBQ00sa0JBQWtCLEdBQUcsSUFBSSxDQUFDQyxpQkFBaUIsSUFBSSxFQUFFO01BQzVELElBQUksQ0FBQ0MsY0FBYyxHQUFHQyxHQUFHLENBQUNDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFFO01BQ2xFLElBQUksQ0FBQ0MsdUJBQXVCLEdBQUdDLGdCQUFnQixDQUFDQyxXQUFXLENBQUMsQ0FBQztNQUM3RCxJQUFJLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFBQW5CLE1BQUEsQ0FFRG9CLFlBQVksR0FBWixTQUFBQSxZQUFZQSxDQUFDQyxPQUFlLEVBQVE7TUFDbkMsSUFBSSxDQUFDbEIsWUFBWSxDQUFDbUIsYUFBYSxDQUFDQyxVQUFVLENBQUNDLE9BQU8sQ0FBQztNQUNuRCxJQUFJLENBQUNyQixZQUFZLENBQUNzQixpQkFBaUIsQ0FBQ0osT0FBTyxDQUFDO01BQzVDLElBQUksQ0FBQ2xCLFlBQVksQ0FBQ3VCLHFCQUFxQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUFBMUIsTUFBQSxDQUVEbUIsV0FBVyxHQUFYLFNBQUFBLFdBQVdBLENBQUEsRUFBUztNQUNuQixJQUFJLENBQUNoQixZQUFZLEdBQ2hCd0IsSUFBQSxDQUFDQyxLQUFLO1FBQ0xDLEtBQUssRUFBQyxNQUFNO1FBQ1pDLGFBQWEsRUFBRSxJQUFLO1FBQ3BCQyxNQUFNLEVBQUdDLENBQUMsSUFBVztVQUNwQixJQUFJLENBQUNDLFNBQVMsQ0FBQyxjQUFjLEVBQUU7WUFBRUMsS0FBSyxFQUFFRixDQUFDLENBQUNHLFlBQVksQ0FBQyxPQUFPO1VBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUU7UUFDRkMsVUFBVSxFQUFHSixDQUF3QixJQUFXO1VBQy9DLElBQUksQ0FBQzNCLEtBQUssQ0FBQ2dDLFlBQVksR0FBRyxJQUFJO1VBQzlCLElBQUksQ0FBQ0osU0FBUyxDQUFDLFlBQVksQ0FBQztVQUM1QixJQUFJLENBQUNELENBQUMsQ0FBQ00sU0FBUyxDQUFDLENBQUMsQ0FBQ3BDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUNxQyxnQkFBZ0IsRUFBRUMsTUFBTSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUM3RSxJQUFJLENBQUNDLHFCQUFxQixDQUFDLENBQUM7VUFDN0I7VUFDQSxJQUFJVCxDQUFDLENBQUNHLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDMUIsY0FBYyxDQUFDLElBQUksQ0FBQ0ksY0FBYyxDQUFDNkIsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7VUFDOUU7UUFDRCxDQUFFO1FBQ0ZDLFdBQVcsRUFBRSxJQUFJLENBQUM5QixjQUFjLENBQUM2QixPQUFPLENBQUMsMkJBQTJCO01BQUUsQ0FDL0QsQ0FDUjtNQUVELE1BQU1FLGVBQWUsR0FBRyxJQUFJLENBQUNDLHFCQUFxQixDQUFDLENBQUM7TUFDcEQsSUFBSSxDQUFDTixnQkFBZ0IsR0FBR0ssZUFBZTtNQUV2QyxJQUFJLENBQUN6QyxZQUFZLENBQUMyQyxZQUFZLENBQUNGLGVBQWUsQ0FBQztNQUMvQyxJQUFJLENBQUN6QyxZQUFZLENBQUM0QyxnQkFBZ0IsQ0FBQztRQUNsQ0MsT0FBTyxFQUFHaEIsQ0FBZ0IsSUFBSztVQUM5QixJQUFJQSxDQUFDLENBQUNpQixHQUFHLEtBQUssT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQ0MsY0FBYyxDQUFDLENBQUM7VUFDdEI7VUFDQSxJQUFJLElBQUksQ0FBQ1gsZ0JBQWdCLElBQUksSUFBSSxDQUFDcEMsWUFBWSxDQUFDRCxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQ3FDLGdCQUFnQixDQUFDWSxLQUFLLENBQUMsQ0FBQztVQUM5QjtRQUNELENBQUM7UUFDREMsU0FBUyxFQUFHcEIsQ0FBZ0IsSUFBSztVQUNoQyxJQUNDQSxDQUFDLENBQUNpQixHQUFHLEtBQUssS0FBSyxJQUNmLElBQUksQ0FBQzlDLFlBQVksRUFBRUQsUUFBUSxDQUFDLENBQUMsQ0FBQ21ELE1BQU0sS0FBSyxDQUFDLElBQzFDLElBQUksQ0FBQ2xELFlBQVksRUFBRUQsUUFBUSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUNDLFlBQVksRUFBRU8sY0FBYyxDQUFDLENBQUMsSUFDckUsSUFBSSxDQUFDUCxZQUFZLEVBQUVPLGNBQWMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDRyxjQUFjLENBQUM2QixPQUFPLENBQUMsMkJBQTJCLENBQUMsRUFDL0Y7WUFDRFYsQ0FBQyxDQUFDc0IsY0FBYyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDbkQsWUFBWSxFQUFFSSxRQUFRLENBQUMsSUFBSSxDQUFDSixZQUFZLEVBQUVPLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDdUIsU0FBUyxDQUFDLFlBQVksQ0FBQztVQUM3QixDQUFDLE1BQU0sSUFBSUQsQ0FBQyxDQUFDaUIsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUNqQyxNQUFNTSxlQUFlLEdBQUcsSUFBSSxDQUFDaEIsZ0JBQWdCLEVBQUVpQixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxNQUFNQyxjQUFjLEdBQUlGLGVBQWUsQ0FBYUcsUUFBUSxDQUFDLENBQUM7WUFDOURELGNBQWMsRUFBRUUsSUFBSSxDQUFFQyxJQUFJLElBQUtBLElBQUksQ0FBQ0MsV0FBVyxDQUFDLENBQUMsS0FBS0QsSUFBSSxDQUFDRSxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1VBQzNFO1FBQ0QsQ0FBQztRQUNEQyxLQUFLLEVBQUVBLENBQUEsS0FBTTtVQUNaLElBQUksQ0FBQ3RCLHFCQUFxQixDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNEdUIsU0FBUyxFQUFFQSxDQUFBLEtBQU07VUFDaEIsSUFBSSxDQUFDdkIscUJBQXFCLENBQUMsQ0FBQztRQUM3QjtNQUNELENBQUMsQ0FBQztNQUNGLElBQUksQ0FBQ0YsZ0JBQWdCLENBQUNRLGdCQUFnQixDQUFDO1FBQ3RDSyxTQUFTLEVBQUdwQixDQUFnQixJQUFLO1VBQ2hDLE1BQU1pQyxVQUFVLEdBQUlqQyxDQUFDLENBQUNrQyxNQUFNLEVBQWtCQyxTQUFTO1VBQ3ZELE1BQU1DLFFBQVEsR0FBSXBDLENBQUMsQ0FBQ2tDLE1BQU0sRUFBa0JHLEVBQUU7VUFDOUMsUUFBUXJDLENBQUMsQ0FBQ2lCLEdBQUc7WUFDWixLQUFLLE9BQU87Y0FDWCxJQUFJLENBQUM5QyxZQUFZLEVBQUVJLFFBQVEsQ0FBQzBELFVBQVUsQ0FBQztjQUN2QztZQUNELEtBQUssUUFBUTtjQUNaLElBQUlHLFFBQVEsRUFBRUUsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7Z0JBQ2pELElBQUksQ0FBQ2pFLEtBQUssQ0FBQ2tFLGVBQWUsR0FBRyxJQUFJLENBQUNsRSxLQUFLLENBQUNrRSxlQUFlLENBQUNDLE1BQU0sQ0FDNURDLElBQUksSUFBS0EsSUFBSSxDQUFDQyxXQUFXLENBQUMsQ0FBQyxLQUFLVCxVQUFVLENBQUNTLFdBQVcsQ0FBQyxDQUN6RCxDQUFDO2NBQ0YsQ0FBQyxNQUFNO2dCQUNOLElBQUksQ0FBQ3JFLEtBQUssQ0FBQ3NFLGFBQWEsR0FBRyxJQUFJLENBQUN0RSxLQUFLLENBQUNzRSxhQUFhLENBQUNILE1BQU0sQ0FBRXRDLEtBQUssSUFBS0EsS0FBSyxLQUFLK0IsVUFBVSxDQUFDO2NBQzVGO2NBQ0E7WUFDRCxLQUFLLFFBQVE7Y0FDWixJQUFJLElBQUksQ0FBQzFCLGdCQUFnQixFQUFFQyxNQUFNLENBQUMsQ0FBQyxFQUFFO2dCQUNwQyxJQUFJLENBQUNELGdCQUFnQixDQUFDWSxLQUFLLENBQUMsQ0FBQztjQUM5QjtjQUNBO1VBQ0Y7UUFDRCxDQUFDO1FBQ0R5QixnQkFBZ0IsRUFBRUEsQ0FBQSxLQUFNO1VBQ3ZCLElBQUksQ0FBQzVELHVCQUF1QixFQUFFNkQsUUFBUSxDQUNyQyxJQUFJLENBQUNoRSxjQUFjLENBQUM2QixPQUFPLENBQUMsNENBQTRDLENBQUMsRUFDekVvQyxvQkFBb0IsQ0FBQ0MsU0FDdEIsQ0FBQztRQUNGO01BQ0QsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUFBL0UsTUFBQSxDQUVPeUMscUJBQXFCLEdBQTdCLFNBQVFBLHFCQUFxQkEsQ0FBQSxFQUFTO01BQ3JDLElBQUksQ0FBQyxJQUFJLENBQUN0QyxZQUFZLEVBQUVELFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUNxQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQ0EsZ0JBQWdCLEVBQUVDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNuRztRQUNBLElBQUksQ0FBQ25DLEtBQUssQ0FBQ0QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDNEUsb0JBQW9CLEVBQUU1RSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksS0FBSztRQUNwRixJQUFJLENBQUNDLEtBQUssQ0FBQ2tFLGVBQWUsR0FBRyxJQUFJLENBQUNTLG9CQUFvQixFQUFFQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRTtRQUNsRixJQUFJLENBQUM1RSxLQUFLLENBQUNzRSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUNLLG9CQUFvQixFQUFFRSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFQyxHQUFHLENBQUVqRCxLQUFLLElBQUtBLEtBQUssQ0FBQztRQUN0RyxJQUFJLENBQUNLLGdCQUFnQixFQUFFNkMsTUFBTSxDQUFDLElBQUksQ0FBQ2pGLFlBQVksQ0FBQztNQUNqRDtJQUNELENBQUM7SUFBQUgsTUFBQSxDQUVEcUYsZUFBZSxHQUFmLFNBQUFBLGVBQWVBLENBQUNyRCxDQUFvQixFQUFRO01BQzNDLElBQUksQ0FBQ08sZ0JBQWdCLEVBQUVZLEtBQUssQ0FBQyxDQUFDO01BQzlCLElBQUksQ0FBQ2hELFlBQVksRUFBRUksUUFBUSxDQUFDeUIsQ0FBQyxDQUFDTSxTQUFTLENBQUMsQ0FBQyxDQUFDSSxPQUFPLENBQUMsQ0FBQyxDQUFDO01BQ3BELElBQUksQ0FBQ1EsY0FBYyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUFBbEQsTUFBQSxDQUVEa0QsY0FBYyxHQUFkLFNBQUFBLGNBQWNBLENBQUEsRUFBUztNQUN0QixJQUFJLENBQUNYLGdCQUFnQixFQUFFWSxLQUFLLENBQUMsQ0FBQztNQUM5QixJQUFJLENBQUM5QyxLQUFLLENBQUNnQyxZQUFZLEdBQUcsS0FBSztNQUMvQixJQUFJaUQsVUFBVSxHQUFHLElBQUksQ0FBQ25GLFlBQVksRUFBRUQsUUFBUSxDQUFDLENBQUM7TUFDOUMsSUFBSW9GLFVBQVUsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDbkYsWUFBWSxDQUFDTyxjQUFjLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQ0csY0FBYyxDQUFDNkIsT0FBTyxDQUFDLDJCQUEyQixDQUFDLEVBQUU7UUFDekg0QyxVQUFVLEdBQUcsSUFBSSxDQUFDbkYsWUFBWSxDQUFDTyxjQUFjLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUNQLFlBQVksRUFBRUksUUFBUSxDQUFDK0UsVUFBVSxDQUFDO01BQ3hDO01BQ0EsSUFBSSxDQUFDbkYsWUFBWSxFQUFFc0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDO01BQ3hDLElBQUksQ0FBQ3RCLFlBQVksRUFBRW1CLGFBQWEsQ0FBQyxNQUFNLENBQUM7TUFDeEMsSUFBSSxDQUFDVyxTQUFTLENBQUMsY0FBYyxFQUFFO1FBQUVDLEtBQUssRUFBRW9EO01BQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQXRGLE1BQUEsQ0FFRHVGLGNBQWMsR0FBZCxTQUFBQSxjQUFjQSxDQUFDQyxXQUErQixFQUFRO01BQ3JEO01BQ0FBLFdBQVcsR0FBR0EsV0FBVyxFQUFFQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztNQUVqRCxNQUFNQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUNyRixLQUFLLENBQUNzRSxhQUFhLENBQUNnQixTQUFTLENBQUV6RCxLQUFLLElBQUtBLEtBQUssQ0FBQ3dDLFdBQVcsQ0FBQyxDQUFDLEtBQUtjLFdBQVcsRUFBRWQsV0FBVyxDQUFDLENBQUMsQ0FBQztNQUMxSCxJQUFJYyxXQUFXLElBQUlFLGdCQUFnQixLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzNDLElBQUksQ0FBQ3JGLEtBQUssQ0FBQ3NFLGFBQWEsR0FBRyxDQUFDYSxXQUFXLENBQUMsQ0FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQ3ZGLEtBQUssQ0FBQ3NFLGFBQWEsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQ3RFLEtBQUssQ0FBQ3NFLGFBQWEsQ0FBQ3RCLE1BQU0sR0FBRyxDQUFDLEVBQUU7VUFDeEMsSUFBSSxDQUFDaEQsS0FBSyxDQUFDc0UsYUFBYSxHQUFHLElBQUksQ0FBQ3RFLEtBQUssQ0FBQ3NFLGFBQWEsQ0FBQ2tCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFO01BQ0QsQ0FBQyxNQUFNLElBQUlMLFdBQVcsRUFBRTtRQUN2QixNQUFNYixhQUFhLEdBQUcsSUFBSSxDQUFDdEUsS0FBSyxDQUFDc0UsYUFBYSxDQUFDSCxNQUFNLENBQUV0QyxLQUFLLElBQUtBLEtBQUssQ0FBQ3dDLFdBQVcsQ0FBQyxDQUFDLEtBQUtjLFdBQVcsRUFBRWQsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwSEMsYUFBYSxDQUFDbUIsT0FBTyxDQUFDTixXQUFXLENBQUM7UUFDbEMsSUFBSSxDQUFDbkYsS0FBSyxDQUFDc0UsYUFBYSxHQUFHQSxhQUFhO01BQ3pDO0lBQ0QsQ0FBQztJQUFBM0UsTUFBQSxDQUVEK0YsYUFBYSxHQUFiLFNBQUFBLGFBQWFBLENBQUEsRUFBb0M7TUFBQSxJQUFuQ0MsWUFBc0IsR0FBQUMsU0FBQSxDQUFBNUMsTUFBQSxRQUFBNEMsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxFQUFFO01BQ3hDLElBQUlELFlBQVksQ0FBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJMEIsWUFBWSxDQUFDMUIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3ZGLElBQUksQ0FBQ1Usb0JBQW9CLEVBQUVtQixrQkFBa0IsQ0FBQyxJQUFJLENBQUM5RixLQUFLLENBQUNrRSxlQUFlLENBQUM7UUFDekUsSUFBSSxDQUFDUyxvQkFBb0IsRUFBRW9CLGdCQUFnQixDQUFDLElBQUksQ0FBQy9GLEtBQUssQ0FBQ3NFLGFBQWEsQ0FBQ1EsR0FBRyxDQUFFakQsS0FBSyxJQUFLQSxLQUFLLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUM3QixLQUFLLENBQUNnRyx5QkFBeUIsR0FBRyxJQUFJLENBQUNoRyxLQUFLLENBQUNzRSxhQUFhLENBQUNRLEdBQUcsQ0FBRW1CLFdBQVcsSUFBSztVQUNwRixPQUFPO1lBQ05DLElBQUksRUFBRUQsV0FBVztZQUNqQkUsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUNuRyxLQUFLLENBQUNrRSxlQUFlLENBQUNaLElBQUksQ0FBRThDLGFBQWEsSUFBS0EsYUFBYSxLQUFLSCxXQUFXO1VBQy9GLENBQUM7UUFDRixDQUFDLENBQUM7TUFDSDtJQUNELENBQUM7SUFBQXRHLE1BQUEsQ0FFSzBHLHdCQUF3QixHQUE5QixlQUFNQSx3QkFBd0JBLENBQUEsRUFBa0I7TUFDL0MsSUFBSTtRQUNILElBQUksQ0FBQzFCLG9CQUFvQixHQUFHLE1BQU0yQixvQkFBb0IsQ0FBQ3pGLFdBQVcsQ0FBQyxJQUFJLENBQUMwRixLQUFLLElBQUksY0FBYyxDQUFDO01BQ2pHLENBQUMsQ0FBQyxPQUFPQyxLQUFLLEVBQUU7UUFDZkMsR0FBRyxDQUFDRCxLQUFLLENBQUMsMkRBQTJELEVBQUVBLEtBQWUsQ0FBQztNQUN4RjtJQUNELENBQUM7SUFBQTdHLE1BQUEsQ0FFRDZDLHFCQUFxQixHQUFyQixTQUFBQSxxQkFBcUJBLENBQUEsRUFBWTtNQUNoQyxPQUNDbEIsSUFBQSxDQUFDb0YsT0FBTztRQUNQMUMsRUFBRSxFQUFFLElBQUksQ0FBQzJDLEtBQUssQ0FBQyxDQUFDLEdBQUcsa0JBQW1CO1FBQ3RDQyxVQUFVLEVBQUUsS0FBTTtRQUNsQkMsbUJBQW1CLEVBQUUsS0FBTTtRQUMzQkMsU0FBUyxFQUFFQyxhQUFhLENBQUNDLE1BQU87UUFDaENDLFNBQVMsRUFBRSxLQUFNO1FBQ2pCQyxZQUFZLEVBQUUsSUFBSSxDQUFDcEgsWUFBYTtRQUNoQ3FILEtBQUssRUFBRSxzQkFBdUI7UUFDOUJDLE9BQU8sRUFBRSxJQUFJLENBQUNwSCxLQUFLLENBQUNNLGtCQUFrQixDQUFDMEMsTUFBTSxHQUFHLENBQUMsSUFBSXFFLEtBQUssQ0FBQ0MsU0FBUyxDQUFDLElBQUksQ0FBQ3RILEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLElBQUksQ0FBRTtRQUFBdUgsUUFBQSxFQUUzRztVQUNBQyxPQUFPLEVBQ05sRyxJQUFBLENBQUNtRyxPQUFPO1lBQUNDLFNBQVMsRUFBRUMsYUFBYSxDQUFDQyxNQUFPO1lBQUNULEtBQUssRUFBRSxxQkFBc0I7WUFBQ1UsVUFBVSxFQUFFLE1BQU87WUFBQU4sUUFBQSxFQUN6RjtjQUNBTyxLQUFLLEVBQUUsQ0FDTnhHLElBQUEsQ0FBQ3lHLEtBQUs7Z0JBQ0xDLFVBQVUsRUFBRUMsVUFBVSxDQUFDQyxFQUFHO2dCQUMxQmhDLElBQUksRUFBRSxJQUFJLENBQUMxRixjQUFjLENBQUM2QixPQUFPLENBQUMseUNBQXlDLENBQUU7Z0JBQzdFOEUsS0FBSyxFQUFFLDBCQUEyQjtnQkFDbENDLE9BQU8sRUFBRSxJQUFJLENBQUNwSCxLQUFLLENBQUNNLGtCQUFrQixDQUFDMEMsTUFBTSxHQUFHO2NBQUUsQ0FDbEQsQ0FBQyxFQUNGMUIsSUFBQSxDQUFDNkcsSUFBSTtnQkFDSmhCLEtBQUssRUFBRSxxQkFBc0I7Z0JBQzdCVyxLQUFLLEVBQUVSLFNBQVMsQ0FBQyxJQUFJLENBQUN0SCxLQUFLLEVBQUUsb0JBQW9CLENBQUU7Z0JBQ25Eb0ksSUFBSSxFQUFFQyxRQUFRLENBQUNDLElBQUs7Z0JBQ3BCbEIsT0FBTyxFQUFFLElBQUksQ0FBQ3BILEtBQUssQ0FBQ00sa0JBQWtCLENBQUMwQyxNQUFNLEdBQUcsQ0FBRTtnQkFBQXVFLFFBQUEsRUFFakQ7a0JBQ0FPLEtBQUssRUFBRUEsQ0FBQzlELEVBQVUsRUFBRXVFLEdBQVksS0FBdUI7b0JBQ3RELE9BQ0NqSCxJQUFBLENBQUNrSCxNQUFNO3NCQUNOckIsS0FBSyxFQUFFLG9CQUFxQjtzQkFDNUJqQixJQUFJLEVBQUVxQyxHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFFO3NCQUN0QkMsS0FBSyxFQUFFLElBQUksQ0FBQzFELGVBQWUsQ0FBQzJELElBQUksQ0FBQyxJQUFJO29CQUFFLENBQ3ZDLENBQUM7a0JBRUo7Z0JBQ0Q7Y0FBQyxDQUNJLENBQUMsRUFDUHJILElBQUEsQ0FBQ3lHLEtBQUs7Z0JBQ0wvRCxFQUFFLEVBQUUsSUFBSSxDQUFDMkMsS0FBSyxDQUFDLENBQUMsR0FBRywwQkFBMkI7Z0JBQzlDcUIsVUFBVSxFQUFFQyxVQUFVLENBQUNDLEVBQUc7Z0JBQzFCaEMsSUFBSSxFQUFFLElBQUksQ0FBQzFGLGNBQWMsQ0FBQzZCLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBRTtnQkFDMUU4RSxLQUFLLEVBQUUsMEJBQTJCO2dCQUNsQ0MsT0FBTyxFQUFFQyxLQUFLLENBQUNDLFNBQVMsQ0FBQyxJQUFJLENBQUN0SCxLQUFLLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxJQUFJO2NBQUUsQ0FDaEUsQ0FBQyxFQUNGc0IsSUFBQSxDQUFDc0gsSUFBSTtnQkFDSmQsS0FBSyxFQUFFUixTQUFTLENBQUMsSUFBSSxDQUFDdEgsS0FBSyxFQUFFLGlCQUFpQixDQUFFO2dCQUNoRG9ILE9BQU8sRUFBRUMsS0FBSyxDQUFDQyxTQUFTLENBQUMsSUFBSSxDQUFDdEgsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFFO2dCQUFBdUgsUUFBQSxFQUUvRDtrQkFDQXNCLE1BQU0sRUFDTHZILElBQUEsQ0FBQ3dILGtCQUFrQjtvQkFDbEJDLEtBQUssRUFBRSxJQUFJLENBQUN2SSxjQUFjLENBQUM2QixPQUFPLENBQUMsNENBQTRDLENBQUU7b0JBQ2pGMkcsZ0JBQWdCLEVBQUVDLHNCQUFzQixDQUFDQyxVQUFXO29CQUNwREMsZ0JBQWdCLEVBQUVDLHNCQUFzQixDQUFDQyxTQUFVO29CQUNuREMsV0FBVyxFQUFFLElBQUksQ0FBQzlJLGNBQWMsQ0FBQzZCLE9BQU8sQ0FDdkMsa0RBQ0Q7a0JBQUUsQ0FDRixDQUNEO2tCQUNEeUYsS0FBSyxFQUFFQSxDQUFDOUQsRUFBVSxFQUFFdUUsR0FBWSxLQUF1QjtvQkFDdEQsT0FDQ2pILElBQUEsQ0FBQ2lJLGNBQWM7c0JBQ2R2RixFQUFFLEVBQUVBLEVBQUUsR0FBRyx5QkFBMEI7c0JBQ25DbUQsS0FBSyxFQUFFLHVCQUF3QjtzQkFDL0JxQyxjQUFjLEVBQUUsQ0FBQ3hGLEVBQUUsR0FBRywwQkFBMEIsQ0FBRTtzQkFDbER5RixVQUFVLEVBQUUsQ0FBQ25JLElBQUEsQ0FBQ29JLFVBQVU7d0JBQWN2SixLQUFLLEVBQUVvSSxHQUFHLENBQUNFLFNBQVMsQ0FBQztzQkFBRSxHQUEvQixNQUFpQyxDQUFDLENBQUU7c0JBQ2xFQyxLQUFLLEVBQUVBLENBQUEsS0FBWTt3QkFDbEIsSUFBSSxDQUFDNUksWUFBWSxDQUFDSSxRQUFRLENBQUNxSSxHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFDLENBQUM7d0JBQzNDLElBQUksQ0FBQzVGLGNBQWMsQ0FBQyxDQUFDO3NCQUN0QixDQUFFO3NCQUFBMEUsUUFBQSxFQUVGb0MsS0FBQSxDQUFDbEMsT0FBTzt3QkFDUGpHLEtBQUssRUFBRSxNQUFPO3dCQUNka0csU0FBUyxFQUFFQyxhQUFhLENBQUNpQyxHQUFJO3dCQUM3QkMsVUFBVSxFQUFFQyxjQUFjLENBQUNDLE1BQU87d0JBQ2xDQyxjQUFjLEVBQUVDLGtCQUFrQixDQUFDQyxZQUFhO3dCQUNoRHJDLFVBQVUsRUFBRSxNQUFPO3dCQUNuQjdELEVBQUUsRUFBRUEsRUFBRzt3QkFBQXVELFFBQUEsR0FFUGpHLElBQUEsQ0FBQzZJLElBQUk7MEJBQ0pqRSxJQUFJLEVBQUVxQyxHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFFOzBCQUN0QjJCLE9BQU8sRUFBRTdCLEdBQUcsQ0FBQ0UsU0FBUyxDQUFDLENBQUU7MEJBQ3pCNEIsUUFBUSxFQUFFLEtBQU07MEJBQ2hCbEQsS0FBSyxFQUFDLHNCQUFzQjswQkFBQUksUUFBQSxFQUUzQjs0QkFDQStDLFVBQVUsRUFDVGhKLElBQUEsQ0FBQ2lKLGlCQUFpQjs4QkFDakJDLEdBQUcsRUFBRUEsQ0FBQSxLQUFZO2dDQUNoQixJQUFJLENBQUMxSyxZQUFZLEVBQUVJLFFBQVEsQ0FDMUJxSSxHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFDLENBQUNyRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FDdEMsQ0FBQztnQ0FDRCxJQUFJLENBQUN2QyxjQUFjLENBQUMsQ0FBQzs4QkFDdEI7NEJBQUUsQ0FDRjswQkFFSDt3QkFBQyxDQUNJLENBQUMsRUFDUHZCLElBQUEsQ0FBQ2tILE1BQU07MEJBQ05pQyxJQUFJLEVBQUUscUJBQXNCOzBCQUM1QkwsT0FBTyxFQUFFLElBQUksQ0FBQzVKLGNBQWMsQ0FBQzZCLE9BQU8sQ0FBQywyQkFBMkIsQ0FBRTswQkFDbEVtSCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUM3QyxLQUFLLENBQUMsQ0FBQyxHQUFHLHlCQUF5QixDQUFFOzBCQUMzRDlJLElBQUksRUFBRTZNLFVBQVUsQ0FBQ0MsV0FBWTswQkFDN0JqQyxLQUFLLEVBQUVBLENBQUEsS0FBWTs0QkFDbEI7NEJBQ0EsSUFBSSxDQUFDeEcsZ0JBQWdCLEVBQUV1QixLQUFLLENBQUMsQ0FBQzs0QkFDOUIsTUFBTTBCLFdBQVcsR0FBR29ELEdBQUcsQ0FBQ0UsU0FBUyxDQUFDLENBQUM7NEJBQ25DLE1BQU1tQyxLQUFLLEdBQUcsSUFBSSxDQUFDNUssS0FBSyxDQUFDa0UsZUFBZSxDQUFDMkcsT0FBTyxDQUFDMUYsV0FBVyxDQUFDOzRCQUM3RCxJQUFJeUYsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFOzhCQUNqQixJQUFJLENBQUM1SyxLQUFLLENBQUNrRSxlQUFlLEdBQUcsSUFBSSxDQUFDbEUsS0FBSyxDQUFDa0UsZUFBZSxDQUFDQyxNQUFNLENBQzVEdEMsS0FBSyxJQUFLQSxLQUFLLEtBQUtzRCxXQUN0QixDQUFDOzRCQUNGOzBCQUNEO3dCQUFFLENBQ0YsQ0FBQztzQkFBQSxDQUNNO29CQUFDLENBQ0ssQ0FBQztrQkFFbkI7Z0JBQ0Q7Y0FBQyxDQUNJLENBQUMsRUFDUDdELElBQUEsQ0FBQ3lHLEtBQUs7Z0JBQ0wvRCxFQUFFLEVBQUUsSUFBSSxDQUFDMkMsS0FBSyxDQUFDLENBQUMsR0FBRywwQkFBMkI7Z0JBQzlDcUIsVUFBVSxFQUFFQyxVQUFVLENBQUNDLEVBQUc7Z0JBQzFCaEMsSUFBSSxFQUFFLElBQUksQ0FBQzFGLGNBQWMsQ0FBQzZCLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBRTtnQkFDckU4RSxLQUFLLEVBQUUsMEJBQTJCO2dCQUNsQ0MsT0FBTyxFQUFFQyxLQUFLLENBQUNDLFNBQVMsQ0FBQyxJQUFJLENBQUN0SCxLQUFLLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxJQUFJO2NBQUUsQ0FDaEUsQ0FBQyxFQUNGc0IsSUFBQSxDQUFDc0gsSUFBSTtnQkFDSmQsS0FBSyxFQUFFUixTQUFTLENBQUMsSUFBSSxDQUFDdEgsS0FBSyxFQUFFLDJCQUEyQixDQUFFO2dCQUMxRG9ILE9BQU8sRUFBRUMsS0FBSyxDQUFDQyxTQUFTLENBQUMsSUFBSSxDQUFDdEgsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFFO2dCQUNoRThLLElBQUksRUFBRUMsUUFBUSxDQUFDQyxNQUFPO2dCQUN0QkMsTUFBTSxFQUFHdEosQ0FBdUIsSUFBVztrQkFDMUMsTUFBTTRCLElBQUksR0FBRzVCLENBQUMsQ0FBQ0csWUFBWSxDQUFDLFVBQVUsQ0FBbUI7a0JBQ3pEeUIsSUFBSSxDQUFDRSxLQUFLLENBQUMsQ0FBQztrQkFFWixJQUFJMEIsV0FBVyxHQUFHeEQsQ0FBQyxDQUFDRyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUVzQyxJQUFJLENBQUMsTUFBTSxDQUFDO2tCQUUxRCxJQUFJLENBQUNlLFdBQVcsRUFBRTtrQkFDbEI7a0JBQ0FBLFdBQVcsR0FBR0EsV0FBVyxFQUFFQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztrQkFFakQsSUFBSSxDQUFDcEYsS0FBSyxDQUFDc0UsYUFBYSxHQUFHLElBQUksQ0FBQ3RFLEtBQUssQ0FBQ3NFLGFBQWEsQ0FBQ0gsTUFBTSxDQUFFdEMsS0FBSyxJQUFLQSxLQUFLLEtBQUtzRCxXQUFXLENBQUM7Z0JBQzdGLENBQUU7Z0JBQUFvQyxRQUFBLEVBRUQ7a0JBQ0FzQixNQUFNLEVBQ0x2SCxJQUFBLENBQUN3SCxrQkFBa0I7b0JBQ2xCQyxLQUFLLEVBQUUsSUFBSSxDQUFDdkksY0FBYyxDQUFDNkIsT0FBTyxDQUFDLDZDQUE2QyxDQUFFO29CQUNsRjJHLGdCQUFnQixFQUFFQyxzQkFBc0IsQ0FBQ0MsVUFBVztvQkFDcERDLGdCQUFnQixFQUFFQyxzQkFBc0IsQ0FBQ0MsU0FBVTtvQkFDbkRDLFdBQVcsRUFBRSxJQUFJLENBQUM5SSxjQUFjLENBQUM2QixPQUFPLENBQ3ZDLGdEQUNEO2tCQUFFLENBQ0YsQ0FDRDtrQkFDRHlGLEtBQUssRUFBRUEsQ0FBQzlELEVBQVUsRUFBRXVFLEdBQVksS0FBYztvQkFDN0MsT0FDQ2pILElBQUEsQ0FBQ2lJLGNBQWM7c0JBQ2R2RixFQUFFLEVBQUVBLEVBQUUsR0FBRyx5QkFBMEI7c0JBQ25DMEUsS0FBSyxFQUFFQSxDQUFBLEtBQVk7d0JBQ2xCLElBQUksQ0FBQzVJLFlBQVksRUFBRUksUUFBUSxDQUFDcUksR0FBRyxDQUFDRSxTQUFTLENBQUMsQ0FBQyxDQUFDdkMsSUFBSSxDQUFDO3dCQUNqRCxJQUFJLENBQUNyRCxjQUFjLENBQUMsQ0FBQztzQkFDdEIsQ0FBRTtzQkFDRnNFLEtBQUssRUFBRSx1QkFBd0I7c0JBQy9Cc0MsVUFBVSxFQUFFLENBQUNuSSxJQUFBLENBQUNvSSxVQUFVO3dCQUFjdkosS0FBSyxFQUFFb0ksR0FBRyxDQUFDRSxTQUFTLENBQUMsQ0FBQyxDQUFDdkM7c0JBQUssR0FBcEMsTUFBc0MsQ0FBQyxDQUFFO3NCQUN2RXNELGNBQWMsRUFBRSxDQUFDeEYsRUFBRSxHQUFHLDBCQUEwQixDQUFFO3NCQUFBdUQsUUFBQSxFQUVsRG9DLEtBQUEsQ0FBQ2xDLE9BQU87d0JBQ1BqRyxLQUFLLEVBQUUsTUFBTzt3QkFDZGtHLFNBQVMsRUFBRUMsYUFBYSxDQUFDaUMsR0FBSTt3QkFDN0JDLFVBQVUsRUFBRUMsY0FBYyxDQUFDQyxNQUFPO3dCQUNsQ0MsY0FBYyxFQUFFQyxrQkFBa0IsQ0FBQ0MsWUFBYTt3QkFDaERyQyxVQUFVLEVBQUUsTUFBTzt3QkFDbkI3RCxFQUFFLEVBQUVBLEVBQUc7d0JBQUF1RCxRQUFBLEdBRVBqRyxJQUFBLENBQUM2SSxJQUFJOzBCQUNKakUsSUFBSSxFQUFFcUMsR0FBRyxDQUFDRSxTQUFTLENBQUMsQ0FBQyxDQUFDdkMsSUFBSzswQkFDM0JrRSxPQUFPLEVBQUU3QixHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFDLENBQUN2QyxJQUFLOzBCQUM5Qm1FLFFBQVEsRUFBRSxLQUFNOzBCQUNoQmxELEtBQUssRUFBQyxzQkFBc0I7MEJBQUFJLFFBQUEsRUFFM0I7NEJBQ0ErQyxVQUFVLEVBQ1RoSixJQUFBLENBQUNpSixpQkFBaUI7OEJBQ2pCQyxHQUFHLEVBQUVBLENBQUEsS0FBWTtnQ0FDaEIsSUFBSSxDQUFDMUssWUFBWSxFQUFFSSxRQUFRLENBQzFCcUksR0FBRyxDQUFDRSxTQUFTLENBQUMsQ0FBQyxDQUFDdkMsSUFBSSxDQUFDZCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FDM0MsQ0FBQztnQ0FDRCxJQUFJLENBQUN2QyxjQUFjLENBQUMsQ0FBQzs4QkFDdEI7NEJBQUUsQ0FDRjswQkFFSDt3QkFBQyxDQUNJLENBQUMsRUFDUHZCLElBQUEsQ0FBQ2tILE1BQU07MEJBQ05pQyxJQUFJLEVBQ0hsQyxHQUFHLENBQUNFLFNBQVMsQ0FBQyxDQUFDLENBQUN0QyxVQUFVLEdBQ3ZCLHFCQUFxQixHQUNyQix5QkFDSDswQkFDRGlFLE9BQU8sRUFDTjdCLEdBQUcsQ0FBQ0UsU0FBUyxDQUFDLENBQUMsQ0FBQ3RDLFVBQVUsR0FDdkIsSUFBSSxDQUFDM0YsY0FBYyxDQUFDNkIsT0FBTyxDQUFDLDJCQUEyQixDQUFDLEdBQ3hELElBQUksQ0FBQzdCLGNBQWMsQ0FBQzZCLE9BQU8sQ0FBQywyQkFBMkIsQ0FDMUQ7MEJBQ0Q2SSxPQUFPLEVBQUVDLFFBQVEsQ0FDaEJuSSxNQUFNLENBQ0xzRSxTQUFTLENBQ1IsSUFBSSxDQUFDdEgsS0FBSyxFQUNWLGlCQUNELENBQ0QsQ0FBQyxFQUNELENBQ0QsQ0FBRTswQkFDRm5DLElBQUksRUFBRTZNLFVBQVUsQ0FBQ0MsV0FBWTswQkFDN0JuQixjQUFjLEVBQUUsQ0FBQ3hGLEVBQUUsR0FBRyx5QkFBeUIsQ0FBRTswQkFDakQwRSxLQUFLLEVBQUVBLENBQUEsS0FBWTs0QkFDbEI7NEJBQ0EsSUFBSSxDQUFDeEcsZ0JBQWdCLEVBQUV1QixLQUFLLENBQUMsQ0FBQzs0QkFDOUIsTUFBTTBCLFdBQVcsR0FBR29ELEdBQUcsQ0FBQ0UsU0FBUyxDQUFDLENBQUMsQ0FBQ3ZDLElBQUk7NEJBQ3hDLE1BQU1DLFVBQVUsR0FBR29DLEdBQUcsQ0FBQ0UsU0FBUyxDQUFDLENBQUMsQ0FBQ3RDLFVBQVU7NEJBRTdDLElBQUlBLFVBQVUsRUFBRTs4QkFDZixJQUFJLENBQUNpRixtQkFBbUIsQ0FBQ2pHLFdBQVcsQ0FBQzs0QkFDdEMsQ0FBQyxNQUFNOzhCQUNOLElBQUksQ0FBQ2tHLGNBQWMsQ0FBQ2xHLFdBQVcsQ0FBQzs0QkFDakM7MEJBQ0Q7d0JBQUUsQ0FDRixDQUFDO3NCQUFBLENBQ007b0JBQUMsQ0FDSyxDQUFDO2tCQUVuQjtnQkFDRDtjQUFDLENBQ0ksQ0FBQztZQUVUO1VBQUMsQ0FDTztRQUVYO01BQUMsQ0FDTyxDQUFDO0lBRVosQ0FBQztJQUFBeEYsTUFBQSxDQUVPeUwsbUJBQW1CLEdBQTNCLFNBQVFBLG1CQUFtQkEsQ0FBQ3ZKLEtBQWEsRUFBUTtNQUNoRCxJQUFJLENBQUM3QixLQUFLLENBQUNrRSxlQUFlLEdBQUcsSUFBSSxDQUFDbEUsS0FBSyxDQUFDa0UsZUFBZSxDQUFDQyxNQUFNLENBQUVDLElBQUksSUFBS0EsSUFBSSxDQUFDQyxXQUFXLENBQUMsQ0FBQyxLQUFLeEMsS0FBSyxDQUFDd0MsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBQUExRSxNQUFBLENBRU8wTCxjQUFjLEdBQXRCLFNBQVFBLGNBQWNBLENBQUN4SixLQUFhLEVBQVE7TUFDM0MsTUFBTXlKLFdBQVcsR0FBRyxDQUFDekosS0FBSyxDQUFDLENBQUMwRCxNQUFNLENBQUMsSUFBSSxDQUFDdkYsS0FBSyxDQUFDa0UsZUFBZSxDQUFDcUIsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUN2RSxJQUFJK0YsV0FBVyxDQUFDdEksTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMzQnNJLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUM7TUFDbEI7TUFDQSxJQUFJLENBQUN2TCxLQUFLLENBQUNrRSxlQUFlLEdBQUdvSCxXQUFXO0lBQ3pDLENBQUM7SUFBQTlOLGVBQUEsQ0FFTWdPLE1BQU0sR0FBYixTQUFPQSxNQUFNQSxDQUFDQyxFQUFpQixFQUFFQyxPQUF3QixFQUFRO01BQ2hFLE9BQU9DLEdBQUcsQ0FBQ0Msd0JBQXdCLENBQUNILEVBQUUsRUFBRUMsT0FBTyxFQUFFLE1BQU07UUFDdEQsT0FDQ3BLLElBQUE7VUFBTXVLLEdBQUcsRUFBRUgsT0FBUTtVQUFDdkUsS0FBSyxFQUFFLHNCQUF1QjtVQUFBSSxRQUFBLEVBQ2hEbUUsT0FBTyxDQUFDNUw7UUFBWSxDQUNoQixDQUFDO01BRVQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUFBLE9BQUF0QyxlQUFBO0VBQUEsRUEvZjJDc08sT0FBTyxHQUFBN00sV0FBQSxHQUFBOE0seUJBQUEsQ0FBQXJOLE9BQUEsQ0FBQWtCLFNBQUEsbUJBQUFqQyxLQUFBO0lBQUFxTyxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWpOLFlBQUEsR0FBQTZNLHlCQUFBLENBQUFyTixPQUFBLENBQUFrQixTQUFBLFlBQUE1QixLQUFBO0lBQUFnTyxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWhOLFlBQUEsR0FBQTRNLHlCQUFBLENBQUFyTixPQUFBLENBQUFrQixTQUFBLHdCQUFBMUIsS0FBQTtJQUFBOE4sWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEvTSxZQUFBLEdBQUEyTSx5QkFBQSxDQUFBck4sT0FBQSxDQUFBa0IsU0FBQSxtQkFBQXpCLEtBQUE7SUFBQTZOLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBOU0sWUFBQSxHQUFBME0seUJBQUEsQ0FBQXJOLE9BQUEsQ0FBQWtCLFNBQUEsbUJBQUF2QixLQUFBO0lBQUEyTixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTdNLFlBQUEsR0FBQXlNLHlCQUFBLENBQUFyTixPQUFBLENBQUFrQixTQUFBLGlCQUFBdEIsS0FBQTtJQUFBME4sWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE1TSxZQUFBLEdBQUF3TSx5QkFBQSxDQUFBck4sT0FBQSxDQUFBa0IsU0FBQSxZQUFBckIsS0FBQTtJQUFBeU4sWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQSxXQUFBQSxDQUFBO01BQUEsT0FtQzlDO1FBQ0puSyxZQUFZLEVBQUUsS0FBSztRQUNuQmpDLGdCQUFnQixFQUFFLEtBQUs7UUFDdkJ1RSxhQUFhLEVBQUUsRUFBRTtRQUNqQjBCLHlCQUF5QixFQUFFLEVBQUU7UUFDN0I5QixlQUFlLEVBQUUsRUFBYztRQUMvQjVELGtCQUFrQixFQUFFO01BQ3JCLENBQUM7SUFBQTtFQUFBLElBQUE1QixPQUFBLE1BQUFELE1BQUE7RUFBQWdCLFFBQUEsR0FBQWpDLGVBQUE7RUFBQSxPQUFBaUMsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -27,10 +27,10 @@ import type UI5Event from "sap/ui/base/Event";
|
|
|
27
27
|
import type { $ControlSettings } from "sap/ui/core/Control";
|
|
28
28
|
import Control from "sap/ui/core/Control";
|
|
29
29
|
import CustomData from "sap/ui/core/CustomData";
|
|
30
|
-
import
|
|
30
|
+
import InvisibleMessage from "sap/ui/core/InvisibleMessage";
|
|
31
31
|
import Lib from "sap/ui/core/Lib";
|
|
32
32
|
import type RenderManager from "sap/ui/core/RenderManager";
|
|
33
|
-
import { TitleLevel, ValueState } from "sap/ui/core/library";
|
|
33
|
+
import { InvisibleMessageMode, TitleLevel, ValueState } from "sap/ui/core/library";
|
|
34
34
|
import type Context from "sap/ui/model/Context";
|
|
35
35
|
import type { EventHandler } from "../../../../../../../types/extension_types";
|
|
36
36
|
|
|
@@ -62,6 +62,8 @@ export default class EasyFilterInput extends Control {
|
|
|
62
62
|
|
|
63
63
|
shellHistoryProvider: ShellHistoryProvider | undefined;
|
|
64
64
|
|
|
65
|
+
popoverInvisibleMessage: InvisibleMessage | undefined;
|
|
66
|
+
|
|
65
67
|
$favoritePopover: Popover | undefined;
|
|
66
68
|
|
|
67
69
|
@defineState()
|
|
@@ -111,6 +113,7 @@ export default class EasyFilterInput extends Control {
|
|
|
111
113
|
initialize(): void {
|
|
112
114
|
this.state.recommendedQueries = this.recommendedValues ?? [];
|
|
113
115
|
this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls")!;
|
|
116
|
+
this.popoverInvisibleMessage = InvisibleMessage.getInstance();
|
|
114
117
|
this.createInput();
|
|
115
118
|
}
|
|
116
119
|
|
|
@@ -142,12 +145,9 @@ export default class EasyFilterInput extends Control {
|
|
|
142
145
|
></Input>
|
|
143
146
|
);
|
|
144
147
|
|
|
145
|
-
const textBinding = this.resourceBundle.getText("T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA");
|
|
146
|
-
const invisibleText = new InvisibleText({ text: textBinding }).toStatic();
|
|
147
148
|
const favoritePopover = this.createFavoritePopover();
|
|
148
149
|
this.$favoritePopover = favoritePopover;
|
|
149
|
-
|
|
150
|
-
this.$searchInput.addAriaDescribedBy(invisibleText);
|
|
150
|
+
|
|
151
151
|
this.$searchInput.addDependent(favoritePopover);
|
|
152
152
|
this.$searchInput.addEventDelegate({
|
|
153
153
|
onkeyup: (e: KeyboardEvent) => {
|
|
@@ -204,6 +204,12 @@ export default class EasyFilterInput extends Control {
|
|
|
204
204
|
}
|
|
205
205
|
break;
|
|
206
206
|
}
|
|
207
|
+
},
|
|
208
|
+
onAfterRendering: () => {
|
|
209
|
+
this.popoverInvisibleMessage?.announce(
|
|
210
|
+
this.resourceBundle.getText("T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA"),
|
|
211
|
+
InvisibleMessageMode.Assertive
|
|
212
|
+
);
|
|
207
213
|
}
|
|
208
214
|
});
|
|
209
215
|
}
|
|
@@ -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.10",
|
|
26
26
|
noLibraryCSS: false
|
|
27
27
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
28
|
});
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u0625\u063A\u0644\u0627\u0642
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u0644\u0627 \u062A\u0648\u062C\u062F \u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0627\u062A \u0645\u0633\u062A\u062E\u062F\u0645\u0629 \u0645\u0624\u062E\u0631\u064B\u0627
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u0625\u0632\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u0629
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0641\u0636\u0644\u0629
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0644\u0644\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0648\u0622\u062E\u0631 \u0627\
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0644\u0644\u0627\u0646\u062A\u0642\u0627\u0644 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0627\u062A \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0648\u0622\u062E\u0631 \u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0627\u062A \u0645\u0633\u062A\u062E\u062F\u0645\u0629\u060C \u0627\u0636\u063A\u0637 \u0639\u0644\u0649 \u0627\u0644\u0645\u0641\u062A\u0627\u062D \u0633\u0647\u0645 \u0644\u0623\u0633\u0641\u0644
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u064A\u0645\u0643\u0646 \u062A\u0637\u0628\u064A\u0642 \u0642\u064A\u0645\u0629 \u0648\u0627\u062D\u062F\u0629 \u0641\u0642\u0637 \u0639\u0644\u0649 \u0627\u0644\u062A\u0627\u0644\u064A\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=\u0627\u062E\u062A\u0635\u0627\u0631\u0627\u062A \u0644\u0648\u062D\u0629 \u0627\u0644\u0645\u0641\u0627\u062A\u064A\u062D
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0627\u062E\u062A\u0635\u0627\u0631 \u0644\u0648\u062D\u0629 \u0645\u0641\u0627\u062A\u064A\u062D
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u0417\u0430\u0442\u0432\u0430\u0440\u044F\u043D\u04
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u044F\u043C\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0438 \u0437\u0430\u043F\u0438\u0442\u0432\u0430\u043D\u0438\u044F
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u041F\u0440\u0435\u043C\u0430\u0445\u0432\u0430\u043D\u0435 \u043E\u0442 \u0444\u0430\u0432\u043E\u0440\u0438\u0442\u0438\u0442\u0435
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0431\u0430\u0432\u044F\u043D\u0435 \u043A\u044A\u043C \u0444\u0430\u0432\u043E\u0440\u0438\u0442\u0438\u0442\u0435
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0417\u0430 \u043F\u0440\u0435\u043C\u0438\u043D\u0430\u0432\u0430\u043D\u0435 \u043A\u044A\u043C \u0441\u043F\u0438\u0441\u044A\u043A\u0430 \u0441 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u043D\u0438 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0417\u0430 \u043F\u0440\u0435\u043C\u0438\u043D\u0430\u0432\u0430\u043D\u0435 \u043A\u044A\u043C \u0441\u043F\u0438\u0441\u044A\u043A\u0430 \u0441 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u043D\u0438 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0438 \u0437\u0430\u043F\u0438\u0442\u0432\u0430\u043D\u0438\u044F \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0430 \u0441\u044A\u0441 \u0441\u0442\u0440\u0435\u043B\u043A\u0430 \u043D\u0430\u0434\u043E\u043B\u0443
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0421\u0430\u043C\u043E \u0435\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0430 \u043A\u044A\u043C \u0441\u043B\u0435\u0434\u043D\u043E\u0442\u043E\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=\u041A\u043B\u0430\u0432\u0438\u0448\u043D\u0438 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u0438
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u0422\u044A\u0440\u0441\u0435\u043D\u0435 \u043D\u0430 \u043A\u043B\u0430\u0432\u0438\u0448\u043D\u0430 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Zav\u0159\u00EDt
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Ne naposledy pou\u017Eit\u00E9 dotazy
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Odebrat z obl\u00EDben\u00FDch
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=P\u0159idat k obl\u00EDben\u00FDm
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Pro p\u0159echod k seznamu obl\u00EDben\u00FDch dotaz\u016F a
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Pro p\u0159echod k seznamu obl\u00EDben\u00FDch dotaz\u016F a naposledy pou\u017Eit\u00FDch dotaz\u016F stiskn\u011Bte \u0161ipku dol\u016F
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Jen jednu jednotlivou hodnotu lze pou\u017E\u00EDt pro toto\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Kl\u00E1vesov\u00E9 zkratky
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Najd\u011Bte kl\u00E1vesovou zkratku
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Luk
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Ingen senest brugte foresp\u00F8rgsler
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Fjern fra foretrukne
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=F\u00F8j til foretrukne
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Tryk p\u00E5 Pil ned for at flytte til listen over foretrukne foresp\u00F8rgsler og sidst anvendte foresp\u00F8rgsler
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Kun en enkelt v\u00E6rdi kan anvendes p\u00E5 f\u00F8lgende\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Tastaturgenveje
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Find en tastaturgenvej
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Schlie\u00DFen
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Keine zuletzt verwendeten Anfragen
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Aus Favoriten entfernen
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Zu Favoriten hinzuf\u00FCgen
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Um zu der Liste der Favoriten und zuletzt verwendeten Anfragen zu
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Um zu der Liste der Favoriten und zuletzt verwendeten Anfragen zu gelangen, dr\u00FCcken Sie die Taste "Pfeil nach unten".
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Es kann nur ein Einzelwert auf Folgendes angewandt werden\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Tastaturk\u00FCrzel
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Tastaturk\u00FCrzel suchen
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Close
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=No Last Used Queries
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Remove from Favorites
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Add to Favorites
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=To move to the list of favorite queries and last used queries
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=To move to the list of favorite queries and last used queries, press the ArrowDown key
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Only one single value can be applied to the following\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Keyboard Shortcuts
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Find a keyboard shortcut
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Close
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=No Last-Used Queries
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Remove from Favourites
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Add to Favourites
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=To move to the list of favourite queries and last used queries
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=To move to the list of favourite queries and last used queries, press the ArrowDown key
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Only one single value can be applied to the following\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Keyboard Shortcuts
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Find a keyboard shortcut
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u206A\u206A\u206A\u200D\u200C\u200B\u200C\u200B\u20
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u206A\u206A\u206A\u200D\u200D\u200D\u200D\u200D\u200B\u200B\u200C\u200C\u200D\u200B\u200C\u200B\u200B\u200B\u200C\u200C\u200B\u200C\u200B\u200B\u200D\u200D\u200D\u200C\u200B\u200B\u200D\u200B\u200B\u200B\u200C\u200D\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u206ANo Last Used Queries\u206A\u206A
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u206A\u206A\u206A\u200D\u200B\u200C\u200B\u200C\u200C\u200D\u200D\u200B\u200D\u200D\u200D\u200D\u200D\u200B\u200D\u200D\u200D\u200C\u200D\u200D\u200D\u200D\u200B\u200B\u200B\u200D\u200B\u200D\u200C\u200D\u200D\u200C\u200C\u200C\u200C\u200D\u200D\u200B\u200B\u206ARemove from Favorites\u206A\u206A
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u206A\u206A\u206A\u200C\u200C\u200B\u200B\u200C\u200B\u200D\u200D\u200C\u200D\u200C\u200C\u200C\u200C\u200B\u200C\u200D\u200B\u200B\u200C\u200B\u200B\u200B\u200B\u200C\u200D\u200B\u200C\u200B\u200D\u200D\u200C\u200C\u200D\u200C\u200B\u200C\u200B\u200D\u200C\u206AAdd to Favorites\u206A\u206A
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u206A\u206A\u206A\u200C\u200D\u200C\u200B\u200C\u200C\u200C\u200C\u200D\u200D\u200D\u200D\u200B\u200B\u200B\u200D\u200C\u200D\u200C\u200B\u200D\u200C\u200C\u200D\u200B\u200C\u200D\u200B\u200D\u200D\u200B\u200C\u200D\u200B\u200B\u200C\u200B\u200D\u200D\u200B\u206ATo move to the list of favorite queries and last used queries
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u206A\u206A\u206A\u200C\u200D\u200C\u200B\u200C\u200C\u200C\u200C\u200D\u200D\u200D\u200D\u200B\u200B\u200B\u200D\u200C\u200D\u200C\u200B\u200D\u200C\u200C\u200D\u200B\u200C\u200D\u200B\u200D\u200D\u200B\u200C\u200D\u200B\u200B\u200C\u200B\u200D\u200D\u200B\u206ATo move to the list of favorite queries and last used queries, press the ArrowDown key\u206A\u206A
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u206A\u206A\u206A\u200C\u200C\u200C\u200D\u200B\u200B\u200B\u200D\u200C\u200B\u200B\u200B\u200D\u200D\u200C\u200B\u200B\u200D\u200D\u200B\u200B\u200D\u200B\u200B\u200D\u200C\u200C\u200C\u200B\u200D\u200B\u200D\u200C\u200D\u200B\u200C\u200B\u200D\u200C\u200C\u206AOnly one single value can be applied to the following\: \u200B\u200B\u200B{0}\u200C\u200C\u200C\u206A\u206A
|
|
35
35
|
C_SHORTCUT_TITLE=\u206A\u206A\u206A\u200C\u200C\u200C\u200C\u200B\u200C\u200C\u200C\u200D\u200D\u200B\u200D\u200C\u200C\u200D\u200C\u200B\u200B\u200D\u200B\u200B\u200B\u200C\u200D\u200D\u200D\u200B\u200B\u200C\u200C\u200D\u200C\u200D\u200B\u200B\u200D\u200B\u200D\u200B\u200D\u200D\u206AKeyboard Shortcuts\u206A\u206A
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u206A\u206A\u206A\u200C\u200D\u200B\u200D\u200D\u200D\u200D\u200C\u200D\u200C\u200B\u200B\u200D\u200B\u200C\u200B\u200B\u200B\u200C\u200C\u200C\u200D\u200B\u200D\u200B\u200D\u200C\u200D\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200D\u200B\u200D\u206AFind a keyboard shortcut\u206A\u206A
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Cerrar
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=No hay \u00FAltimas consultas utilizadas
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Quitar de Favoritos
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Agregar a Favoritos
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para mover la lista de consultas favoritas y consultas
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para mover a la lista de consultas favoritas y \u00FAltimas consultas guardadas, presione la tecla de flecha abajo
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Solo se puede aplicar un valor al siguiente\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Accesos directos del teclado
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Buscar acceso directo
|
|
@@ -30,8 +30,8 @@ M_EASY_FILTER_POPOVER_CLOSE=Fermer
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Aucune derni\u00E8re requ\u00EAte utilis\u00E9e
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Supprimer des favoris
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Ajouter aux favoris
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Pour passer \u00E0 la liste des requ\u00EAtes favorites et des derni\u00E8res requ\u00EAtes utilis\u00E9es
|
|
34
|
-
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Pour passer \u00E0 la liste des requ\u00EAtes favorites et des derni\u00E8res requ\u00EAtes utilis\u00E9es, appuyez sur la touche Fl\u00E8che vers le bas.
|
|
34
|
+
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Une seule valeur unique peut \u00EAtre appliqu\u00E9e \u00E0 ce qui suit\u00A0\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Raccourcis clavier
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Rechercher raccourci clavier
|
|
37
37
|
C_SHORTCUT_NODATA=S\u00E9lectionner une zone \u00E0 l'\u00E9cran pour voir les raccourcis clavier
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u092C\u0902\u0926 \u0915\u0930\u0947\u0902
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u0905\u0902\u0924\u093F\u092E \u092C\u093E\u0930 \u0909\u092A\u092F\u094B\u0917 \u0915\u0940 \u0917\u0908 \u0915\u094D\u0935\u0947\u0930\u0940\u091C\u093C
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u092A\u0938\u0902\u0926\u0940\u0926\u093E \u0938\u0947 \u0928\u093F\u0915\u093E\u0932\u0947\u0902
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u092A\u0938\u0902\u0926\u0940\u0926\u093E \u092E\u0947\u0902 \u091C\u094B\u095C\u0947\u0902
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0938\u0902\u0926\u0940\u0926\u093E \u0915\u094D\u0935\u0947\u0930\u0940\u091C\u093C \u0914\u0930 \u0905\u0902\u0924\u093F\u092E \u092C\u093E\u0930 \u0909\u092A\u092F\u094B\u0917 \u0915\u0940 \u0917\u0908 \u0915\u094D\u0935\u0947\u0930\u0940\u091C\u093C \u0915\u0940 \u0938\u0942\u091A\u0940 \u092A\u0930 \u091C\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F, ArrowDown \u0915\u0941\u0902\u091C\u0940 \u0926\u092C\u093E\u090F\u0902
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0915\u0947\u0935\u0932 \u090F\u0915 \u0939\u0940 \u092E\u093E\u0928 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u092A\u0930 \u0932\u093E\u0917\u0942 \u0915\u093F\u092F\u093E \u091C\u093E \u0938\u0915\u0924\u093E \u0939\u0948\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=\u0915\u0940\u092C\u094B\u0930\u094D\u0921 \u0936\u0949\u0930\u094D\u091F\u0915\u091F
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u090F\u0915 \u0915\u0940\u092C\u094B\u0930\u094D\u0921 \u0936\u0949\u0930\u094D\u091F\u0915\u091F \u0922\u0942\u0902\u0922\u0947\u0902
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Zatvori
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nema zadnje kori\u0161tenih upita
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Ukloni iz favorita
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Dodaj u favorite
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Za
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Za premje\u0161tanje na listu omiljenih upita i zadnjih upotrijebljenih upita pritisnite tipku ArrowDown
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Samo se jedna vrijednost mo\u017Ee primijeniti na sljede\u0107e\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Pre\u010Dice na tipkovnici
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Na\u0111i pre\u010Dicu na tipkovnici
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Chiudi
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nessuna query su ultimo utilizzo
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Rimuovi da Preferiti
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Aggiungi a Preferiti
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Per passare alla lista delle query preferite e delle ultime query utilizzate, premere il tasto FrecciaGi\u00F9
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=All''elemento che segue \u00E8 possibile applicare un solo valore singolo\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Tasti di scelta rapida
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Trova tasto di scelta rapida
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u05E1\u05D2\u05D5\u05E8
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u05D0\u05D9\u05DF \u05E9\u05D0\u05D9\u05DC\u05EA\u05D5\u05EA \u05E9\u05D4\u05D9\u05D5 \u05D1\u05E9\u05D9\u05DE\u05D5\u05E9 \u05DC\u05D0\u05D7\u05E8\u05D5\u05E0\u05D4
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u05D4\u05E1\u05E8 \u05DE\u05DE\u05D5\u05E2\u05D3\u05E4\u05D9\u05DD
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u05D4\u05D5\u05E1\u05E3 \u05DC\u05DE\u05D5\u05E2\u05D3\u05E4\u05D9\u05DD
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u05DB\u05D3\u05D9 \u05DC\u05E2\u05D1\u05D5\u05E8 \u05DC\u05E8\u05E9\u05D9\u05DE\u05EA \u05D4\u05E9\u05D0\u05D9\u05DC\u05EA\u05D5\u05EA \u05D4\u05DE\u05D5\u05E2\u05D3\u05E4\u05D5\u05EA \u05D5\u05D4\u05E9\u05D0\u05D9\u05DC\u05EA\u05D5\u05EA \u05D4\u05D0\u05D7\u05E8\u05D5\u05E0\u05D5\u05EA \u05E9\u05E0\u05E2\u05E9\u05D4 \u05D1\u05D4\u05DF \u05E9\u05D9\u05DE\u05D5\u05E9 \
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u05DB\u05D3\u05D9 \u05DC\u05E2\u05D1\u05D5\u05E8 \u05DC\u05E8\u05E9\u05D9\u05DE\u05EA \u05D4\u05E9\u05D0\u05D9\u05DC\u05EA\u05D5\u05EA \u05D4\u05DE\u05D5\u05E2\u05D3\u05E4\u05D5\u05EA \u05D5\u05D4\u05E9\u05D0\u05D9\u05DC\u05EA\u05D5\u05EA \u05D4\u05D0\u05D7\u05E8\u05D5\u05E0\u05D5\u05EA \u05E9\u05E0\u05E2\u05E9\u05D4 \u05D1\u05D4\u05DF \u05E9\u05D9\u05DE\u05D5\u05E9 \u05DC\u05D7\u05E5 \u05E2\u05DC \u05DE\u05E7\u05E9 \u05D7\u05E5 \u05DC\u05DE\u05D8\u05D4
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05D7\u05D9\u05DC \u05E8\u05E7 \u05E2\u05E8\u05DA \u05D1\u05D5\u05D3\u05D3 \u05D0\u05D7\u05D3 \u05E2\u05DC \u05D4\u05D3\u05D1\u05E8\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=\u05E7\u05D9\u05E6\u05D5\u05E8\u05D9 \u05D3\u05E8\u05DA \u05D1\u05DE\u05E7\u05DC\u05D3\u05EA
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u05D7\u05E4\u05E9 \u05E7\u05D9\u05E6\u05D5\u05E8 \u05D3\u05E8\u05DA \u05D1\u05DE\u05E7\u05DC\u05D3\u05EA
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\uB2EB\uAE30
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC0AC\uC6A9\uB41C \uCFFC\uB9AC \uC5C6\uC74C
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\uC990\uACA8\uCC3E\uAE30\uC5D0\uC11C \uC81C\uAC70
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\uC990\uACA8\uCC3E\uAE30\uC5D0 \uCD94\uAC00
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\uC990\uACA8\uCC3E\
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\uC990\uACA8\uCC3E\uB294 \uCFFC\uB9AC \uBC0F \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC0AC\uC6A9\uD55C \uCFFC\uB9AC \uB9AC\uC2A4\uD2B8\uB85C \uC774\uB3D9\uD558\uB824\uBA74 \uC544\uB798\uCABD \uD654\uC0B4\uD45C \uD0A4\uB97C \uB204\uB974\uC2ED\uC2DC\uC624.
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE={0}\uC5D0\uB294 \uD558\uB098\uC758 \uB2E8\uC77C \uAC12\uB9CC \uC801\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
|
|
35
35
|
C_SHORTCUT_TITLE=\uBC14\uB85C\uAC00\uAE30 \uD0A4
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\uBC14\uB85C\uAC00\uAE30 \uD0A4\uB97C \uCC3E\uC544\uBCF4\uC2ED\uC2DC\uC624.
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=U\u017Edaryti
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=N\u0117ra paskutini\u0173 naudot\u0173 u\u017Eklaus\u0173
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Pa\u0161alinti i\u0161 parankini\u0173
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Prid\u0117ti prie parankini\u0173
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Nor\u0117dami pereiti \u012F da\u017Eniausiai naudojam\u0173 ir paskutini\u0173 naudot\u0173 u\u017Eklaus\u0173 s\u0105ra\u0161\u0105, paspauskite rodykl\u0117s \u017Eemyn klavi\u0161\u0105
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Nor\u0117dami pereiti \u012F da\u017Eniausiai naudojam\u0173 ir paskutini\u0173 naudot\u0173 u\u017Eklaus\u0173 s\u0105ra\u0161\u0105, paspauskite rodykl\u0117s \u017Eemyn klavi\u0161\u0105
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Toliau pateiktam objektui gali b\u016Bti taikoma tik viena atskira reik\u0161m\u0117\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Klaviat\u016Bros spartieji klavi\u0161ai
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Rasti klav. spart\u0173j\u012F klavi\u0161\u0105
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Aizv\u0113rt
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nav p\u0113d\u0113jo lietoto vaic\u0101jumu
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=No\u0146emt no izlases
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Pievienot izlasei
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Lai p\u0101rvietotu uz sarakstu ar izlases vaic\u0101jumiem un p\u0113d\u0113jiem izmantotajiem vaic\u0101jumiem,
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Lai p\u0101rvietotu uz sarakstu ar izlases vaic\u0101jumiem un p\u0113d\u0113jiem izmantotajiem vaic\u0101jumiem, nospiediet bulti\u0146u uz leju
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Var izmantot tikai vienu atsevi\u0161\u0137u v\u0113rt\u012Bbu \u0161\u0101dam elementam\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Tastat\u016Bras \u012Bsin\u0101jumtausti\u0146i
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Atrast \u012Bsin\u0101jumtausti\u0146u
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u0417\u0430\u0442\u0432\u043E\u0440\u0438
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u0435\u043C\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=\u041E\u0442\u0441\u0442\u0440\u0430\u043D\u0438 \u043E\u0434 \u041E\u043C\u0438\u043B\u0435\u043D\u0438
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0434\u0430\u0458 \u0432\u043E \u041E\u043C\u0438\u043B\u0435\u043D\u0438
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0417\u0430 \u043E\u0434\u0435\u045A\u0435 \u0434\u043E \u0441\u043F\u0438\u0441\u043E\u043A\u043E\u0442 \u0441\u043E \u043E\u043C\u0438\u043B\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438 \
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0417\u0430 \u043E\u0434\u0435\u045A\u0435 \u0434\u043E \u0441\u043F\u0438\u0441\u043E\u043A\u043E\u0442 \u0441\u043E \u043E\u043C\u0438\u043B\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438, \u043F\u0440\u0438\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u0433\u043E \u043A\u043E\u043F\u0447\u0435\u0442\u043E \u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u043D\u0430\u0434\u043E\u043B\u0443
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0421\u0430\u043C\u043E \u0435\u0434\u0438\u043D\u0435\u0447\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u0438 \u043D\u0430 \u0441\u043B\u0435\u0434\u043D\u043E\u0432\u043E\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=\u041A\u0440\u0430\u0442\u0435\u043D\u043A\u0438 \u043E\u0434 \u0442\u0430\u0441\u0442\u0430\u0442\u0443\u0440\u0430
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=\u041F\u0440\u043E\u043D\u0430\u0458\u0434\u0438 \u043A\u0440\u0430\u0442\u0435\u043D\u043A\u0430 \u043E\u0434 \u0442\u0430\u0441\u0442\u0430\u0442\u0443\u0440\u0430
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Tutup
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Tiada Pertanyaan Terakhir Digunakan
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Keluarkan daripada Kegemaran
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Tambah ke Kegemaran
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Untuk beralih ke senarai pertanyaan kegemaran dan pertanyaan terakhir digunakan
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Untuk beralih ke senarai pertanyaan kegemaran dan pertanyaan terakhir digunakan, tekan kekunci ArrowDown
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Hanya satu nilai tunggal boleh digunakan pada yang berikut\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Pintasan Papan Kekunci
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Cari pintasan papan kekunci
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Encerrar
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Sem \u00FAltimas consultas usadas
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Remover dos favoritos
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Adicionar aos favoritos
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas preferidas e as consultas usadas
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas preferidas e as \u00FAltimas consultas usadas, pressione o bot\u00E3o da seta para baixo
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=S\u00F3 \u00E9 poss\u00EDvel aplicar um valor individual ao seguinte\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Atalhos do teclado
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Encontre um atalho do teclado
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Fechar
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Sem \u00FAltimas consultas utilizadas
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Remover dos favoritos
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Adicionar aos favoritos
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas favoritas e para as \u00FAltimas consultas utilizadas
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas favoritas e para as \u00FAltimas consultas utilizadas, prima a tecla Seta para baixo
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=S\u00F3 \u00E9 poss\u00EDvel aplicar um valor individual ao seguinte\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Atalhos do teclado
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Encontre um atalho do teclado
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=Zapri
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nazadnje uporabljene poizvedbe niso na voljo
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Odstrani iz priljubljenih
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Dodaj v priljubljene
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u010Ce se \u017Eelite premakniti na seznam priljubljenih poizvedb in nazadnje uporabljenih poizvedb, pritisnite pu\u0161\u010Dico navzdol
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Za naslednje je mogo\u010De uporabiti le posamezno vrednost\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Bli\u017Enjica
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=Poi\u0161\u010Di bli\u017Enjico na tipkovnici
|
|
@@ -38,4 +38,4 @@ C_SHORTCUT_NODATA=Osredoto\u010Dite se na del zaslona in si oglejte bli\u017Enji
|
|
|
38
38
|
M_INLINE_EDIT_TOOLTIP_EDIT=Uredi
|
|
39
39
|
M_INLINE_EDIT_TOOLTIP_SAVE=Shrani
|
|
40
40
|
M_INLINE_EDIT_TOOLTIP_CANCEL=Prekli\u010Di
|
|
41
|
-
M_INLINE_EDIT_TOOLTIP_DOUBLECLICK_EDIT=Za
|
|
41
|
+
M_INLINE_EDIT_TOOLTIP_DOUBLECLICK_EDIT=Za urejanje dvokliknite
|
|
@@ -30,7 +30,7 @@ M_EASY_FILTER_POPOVER_CLOSE=\u0110o\u0301ng
|
|
|
30
30
|
M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Kh\u00F4ng c\u00F3 truy v\u1EA5n n\u00E0o \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng l\u1EA7n cu\u1ED1i
|
|
31
31
|
M_EASY_FILTER_FILLED_STAR=Loa\u0323i bo\u0309 kho\u0309i mu\u0323c \u01B0a thi\u0301ch
|
|
32
32
|
M_EASY_FILTER_EMPTY_START=Th\u00EAm va\u0300o mu\u0323c \u01B0a thi\u0301ch
|
|
33
|
-
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0110\u1EC3 di chuy\u1EC3n \u0111\u1EBFn danh s\u00E1ch c\u00E1c truy v\u1EA5n \u01B0a th\u00EDch v\u00E0 c\u00E1c truy v\u1EA5n \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng l\u1EA7n cu\u1ED1i
|
|
33
|
+
T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0110\u1EC3 di chuy\u1EC3n \u0111\u1EBFn danh s\u00E1ch c\u00E1c truy v\u1EA5n \u01B0a th\u00EDch v\u00E0 c\u00E1c truy v\u1EA5n \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng l\u1EA7n cu\u1ED1i, ha\u0303y nh\u1EA5n ph\u00EDm ArrowDown
|
|
34
34
|
M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Ch\u1EC9 c\u00F3 th\u1EC3 \u00E1p d\u1EE5ng m\u1ED9t gi\u00E1 tr\u1ECB duy nh\u1EA5t cho \u0111i\u1EC1u sau \u0111\u00E2y\: {0}
|
|
35
35
|
C_SHORTCUT_TITLE=Ph\u00EDm t\u1EAFt
|
|
36
36
|
C_SHORTCUT_PLACEHOLDER=T\u00ECm ph\u00EDm t\u1EAFt
|