@kando-env/kando-ui 1.2.232-alpha.4 → 1.2.232
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/lib/Widgets/QualitySummary/styles.js +2 -2
- package/lib/components/Header/Slideshow/Slideshow.js +5 -5
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +3 -4
- package/lib/hooks/useInitializeHeaders.js +3 -2
- package/lib/i18n/en.json +5 -6
- package/lib/i18n/he.json +1 -2
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +2 -2
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +3 -4
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +2 -4
- package/lib/pages/EventsPage/events/EventsStyle.scss +0 -1
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +3 -3
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +1 -4
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -2
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -4
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +2 -4
- package/lib/pages/WbeDashboard/ExpandableComponent.js +4 -6
- package/lib/pages/WbeDashboard/GraphWrapper.js +4 -5
- package/lib/pages/WbeDashboard/SummaryGraph.js +34 -46
- package/lib/pages/WbeDashboard/Tabs.js +1 -2
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +42 -32
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +6 -10
- package/lib/store/permissions/permissionsSlice.js +1 -3
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +4 -22
- package/lib/ui-kit/KandoTable/KandoTable.js +5 -7
- package/lib/utilities/urls.js +3 -3
- package/package.json +1 -1
|
@@ -36,7 +36,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
36
36
|
var SummaryGraph = function SummaryGraph(props) {
|
|
37
37
|
var waterAuthorityId = props.waterAuthorityId,
|
|
38
38
|
weeksForGovFetch = props.weeksForGovFetch,
|
|
39
|
-
pathogen = props.pathogen,
|
|
40
39
|
_props$mini = props.mini,
|
|
41
40
|
mini = _props$mini === void 0 ? true : _props$mini;
|
|
42
41
|
|
|
@@ -54,15 +53,14 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
54
53
|
setClinicalData = _useState4[1];
|
|
55
54
|
|
|
56
55
|
var isDataPresent = function isDataPresent() {
|
|
57
|
-
return
|
|
56
|
+
return graphData.values !== undefined && graphData.values.length !== 0 && graphData.x_axis.length !== 0;
|
|
58
57
|
};
|
|
59
58
|
|
|
60
59
|
var fetchAndSetData = function fetchAndSetData() {
|
|
61
60
|
var fetchClinical = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
62
61
|
|
|
63
62
|
_axios.default.get((0, _urls.urls)({
|
|
64
|
-
waterAuthorityId: waterAuthorityId
|
|
65
|
-
pathogen: pathogen
|
|
63
|
+
waterAuthorityId: waterAuthorityId
|
|
66
64
|
}).wbeDashboard.trendGraph.url).then(function (response) {
|
|
67
65
|
setGraphData(response.data);
|
|
68
66
|
fetchClinical && fetchAndSetClinicalData();
|
|
@@ -136,43 +134,11 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
136
134
|
};
|
|
137
135
|
|
|
138
136
|
var minMaxGraphValues = function minMaxGraphValues(delta, min) {
|
|
139
|
-
if (
|
|
137
|
+
if (graphData.values === undefined) return 0;
|
|
140
138
|
if (min) return Math.min.apply(Math, (0, _toConsumableArray2.default)(graphData.values)) - delta;
|
|
141
139
|
return Math.max.apply(Math, (0, _toConsumableArray2.default)(graphData.values)) + delta;
|
|
142
140
|
};
|
|
143
141
|
|
|
144
|
-
var series = [{
|
|
145
|
-
name: 'Weekly NVL',
|
|
146
|
-
yAxis: 0,
|
|
147
|
-
data: graphData === null || graphData === void 0 ? void 0 : graphData.values,
|
|
148
|
-
color: _theme.theme.colorScheme.primary.p1
|
|
149
|
-
}];
|
|
150
|
-
var yAxis = [{
|
|
151
|
-
min: minMaxGraphValues(0.5, true),
|
|
152
|
-
max: minMaxGraphValues(0.5, false),
|
|
153
|
-
title: {
|
|
154
|
-
enabled: true,
|
|
155
|
-
text: 'NVL'
|
|
156
|
-
}
|
|
157
|
-
}];
|
|
158
|
-
|
|
159
|
-
if (clinicalData.length > 0) {
|
|
160
|
-
series.push({
|
|
161
|
-
yAxis: 1,
|
|
162
|
-
name: 'Clinical',
|
|
163
|
-
data: clinicalData,
|
|
164
|
-
color: _theme.theme.colorScheme.natural.n60
|
|
165
|
-
});
|
|
166
|
-
yAxis.push({
|
|
167
|
-
min: minMaxGraphValues(0.5, true),
|
|
168
|
-
max: minMaxGraphValues(0.5, false),
|
|
169
|
-
title: {
|
|
170
|
-
enabled: true,
|
|
171
|
-
text: 'Clinical'
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
|
|
176
142
|
var options = {
|
|
177
143
|
title: {
|
|
178
144
|
text: null
|
|
@@ -189,9 +155,24 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
189
155
|
credits: {
|
|
190
156
|
enabled: false
|
|
191
157
|
},
|
|
192
|
-
yAxis:
|
|
158
|
+
yAxis: [{
|
|
159
|
+
min: minMaxGraphValues(0.5, true),
|
|
160
|
+
max: minMaxGraphValues(0.5, false),
|
|
161
|
+
title: {
|
|
162
|
+
enabled: true,
|
|
163
|
+
text: 'NVL'
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
min: minMaxGraphValues(0.5, true),
|
|
167
|
+
max: minMaxGraphValues(0.5, false),
|
|
168
|
+
opposite: true,
|
|
169
|
+
title: {
|
|
170
|
+
enabled: true,
|
|
171
|
+
text: 'Clinical'
|
|
172
|
+
}
|
|
173
|
+
}],
|
|
193
174
|
xAxis: {
|
|
194
|
-
categories: graphData
|
|
175
|
+
categories: graphData.x_axis,
|
|
195
176
|
labels: {
|
|
196
177
|
step: 2,
|
|
197
178
|
style: {
|
|
@@ -199,15 +180,22 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
199
180
|
}
|
|
200
181
|
}
|
|
201
182
|
},
|
|
202
|
-
series:
|
|
183
|
+
series: [{
|
|
184
|
+
name: 'Weekly NVL',
|
|
185
|
+
yAxis: 0,
|
|
186
|
+
data: graphData.values,
|
|
187
|
+
color: _theme.theme.colorScheme.primary.p1
|
|
188
|
+
}, {
|
|
189
|
+
yAxis: 1,
|
|
190
|
+
name: 'Clinical',
|
|
191
|
+
data: clinicalData,
|
|
192
|
+
color: _theme.theme.colorScheme.natural.n60
|
|
193
|
+
}]
|
|
203
194
|
};
|
|
204
195
|
(0, _react.useEffect)(function () {
|
|
205
196
|
var fetchClinical = false;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
fetchAndSetData(fetchClinical);
|
|
209
|
-
}
|
|
210
|
-
}, [waterAuthorityId, weeksForGovFetch, pathogen]);
|
|
197
|
+
fetchAndSetData(fetchClinical);
|
|
198
|
+
}, [waterAuthorityId, weeksForGovFetch]);
|
|
211
199
|
return isDataPresent() ? /*#__PURE__*/_react.default.createElement(_highchartsReactOfficial.default, {
|
|
212
200
|
highcharts: _highcharts.default,
|
|
213
201
|
options: options
|
|
@@ -215,4 +203,4 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
215
203
|
};
|
|
216
204
|
|
|
217
205
|
exports.SummaryGraph = SummaryGraph;
|
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvU3VtbWFyeUdyYXBoLnRzeCJdLCJuYW1lcyI6WyJTdW1tYXJ5R3JhcGgiLCJwcm9wcyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3ZWVrc0ZvckdvdkZldGNoIiwicGF0aG9nZW4iLCJtaW5pIiwidmFsdWVzIiwieF9heGlzIiwiZ3JhcGhEYXRhIiwic2V0R3JhcGhEYXRhIiwiY2xpbmljYWxEYXRhIiwic2V0Q2xpbmljYWxEYXRhIiwiaXNEYXRhUHJlc2VudCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImZldGNoQW5kU2V0RGF0YSIsImZldGNoQ2xpbmljYWwiLCJheGlvcyIsImdldCIsIndiZURhc2hib2FyZCIsInRyZW5kR3JhcGgiLCJ1cmwiLCJ0aGVuIiwicmVzcG9uc2UiLCJkYXRhIiwiZmV0Y2hBbmRTZXRDbGluaWNhbERhdGEiLCJzZXRDbGluaWNhbFJlc3VsdHMiLCJyZXN1bHRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscyIsImZvckVhY2giLCJnb3ZEYXRlIiwiaW5kZXhPZiIsInB1c2giLCJhZ2dyZWdhdGVSZWNvcmREYXRhIiwicmVjb3JkIiwicGFyc2VBbmRDaGVja1ZhbGlkaXR5IiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmRfd2l0aF92YWNjIiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmVkX3dpdGhvdXRfdmFjYyIsIk5vdF9yZWNvdmVyZWRfYXRfbGVhc3RfMl9kb3NlcyIsIk5vdF9yZWNvdmVyZWRfbm90X3ZhY2NpbmF0ZWQiLCJOb3RfcmVjb3ZlcmVkX3BhcnRpYWxseV92YWNjaW5hdGVkIiwidmFsdWUiLCJwYXJzZUludCIsIndlZWtzIiwid2VlayIsImdvdkRhdGEiLCJyZWNvcmRzIiwicmVzdWx0IiwiV2VlayIsIk1hdGgiLCJyb3VuZCIsImxvZzEwIiwibWluTWF4R3JhcGhWYWx1ZXMiLCJkZWx0YSIsIm1pbiIsIm1heCIsInNlcmllcyIsIm5hbWUiLCJ5QXhpcyIsImNvbG9yIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwMSIsInRpdGxlIiwiZW5hYmxlZCIsInRleHQiLCJuYXR1cmFsIiwibjYwIiwib3B0aW9ucyIsImNoYXJ0IiwiaGVpZ2h0IiwidHlwZSIsImxlZ2VuZCIsIm1hcmdpbiIsInBhZGRpbmciLCJjcmVkaXRzIiwieEF4aXMiLCJjYXRlZ29yaWVzIiwibGFiZWxzIiwic3RlcCIsInN0eWxlIiwiZm9udFNpemUiLCJIaWdoY2hhcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQWdCTyxJQUFNQSxZQUE2QixHQUFHLFNBQWhDQSxZQUFnQyxDQUFDQyxLQUFELEVBQVc7QUFDdEQsTUFBUUMsZ0JBQVIsR0FBc0VELEtBQXRFLENBQVFDLGdCQUFSO0FBQUEsTUFBMEJDLGdCQUExQixHQUFzRUYsS0FBdEUsQ0FBMEJFLGdCQUExQjtBQUFBLE1BQTRDQyxRQUE1QyxHQUFzRUgsS0FBdEUsQ0FBNENHLFFBQTVDO0FBQUEsb0JBQXNFSCxLQUF0RSxDQUFzREksSUFBdEQ7QUFBQSxNQUFzREEsSUFBdEQsNEJBQTZELElBQTdEOztBQUNBLGtCQUFrQyxxQkFBMEI7QUFDMURDLElBQUFBLE1BQU0sRUFBRSxFQURrRDtBQUUxREMsSUFBQUEsTUFBTSxFQUFFO0FBRmtELEdBQTFCLENBQWxDO0FBQUE7QUFBQSxNQUFPQyxTQUFQO0FBQUEsTUFBa0JDLFlBQWxCOztBQUlBLG1CQUF3QyxxQkFBMkIsRUFBM0IsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFBckI7O0FBRUEsTUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixHQUFNO0FBQzFCLFdBQ0UsQ0FBQUosU0FBUyxTQUFULElBQUFBLFNBQVMsV0FBVCxZQUFBQSxTQUFTLENBQUVGLE1BQVgsTUFBc0JPLFNBQXRCLElBQ0EsQ0FBQUwsU0FBUyxTQUFULElBQUFBLFNB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Z0NBQUQ7QUFBaUIsSUFBQSxVQUFVLEVBQUV5RSxtQkFBN0I7QUFBeUMsSUFBQSxPQUFPLEVBQUVkO0FBQWxELElBRGtCLGdCQUdsQiwyREFIRjtBQUtELENBOUtNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IEhpZ2hjaGFydHMgZnJvbSAnaGlnaGNoYXJ0cyc7XG5pbXBvcnQgSGlnaGNoYXJ0c1JlYWN0IGZyb20gJ2hpZ2hjaGFydHMtcmVhY3Qtb2ZmaWNpYWwnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgd2F0ZXJBdXRob3JpdHlJZDogbnVtYmVyO1xuICB3ZWVrc0ZvckdvdkZldGNoOiB7IHdlZWtzOiBzdHJpbmdbXTsgeF9heGlzOiBzdHJpbmdbXSB9O1xuICBtaW5pPzogYm9vbGVhbjtcbiAgcGF0aG9nZW46IHN0cmluZztcbn07XG5cbnR5cGUgU3VtbWFyeURhdGFUeXBlID0ge1xuICB2YWx1ZXM6IGFueVtdO1xuICB4X2F4aXM6IHN0cmluZ1tdO1xufTtcblxudHlwZSBDbGluaWNhbERhdGFUeXBlID0gc3RyaW5nW107XG5cbmV4cG9ydCBjb25zdCBTdW1tYXJ5R3JhcGg6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5SWQsIHdlZWtzRm9yR292RmV0Y2gsIHBhdGhvZ2VuLCBtaW5pID0gdHJ1ZSB9ID0gcHJvcHM7XG4gIGNvbnN0IFtncmFwaERhdGEsIHNldEdyYXBoRGF0YV0gPSB1c2VTdGF0ZTxTdW1tYXJ5RGF0YVR5cGU+KHtcbiAgICB2YWx1ZXM6IFtdLFxuICAgIHhfYXhpczogW10sXG4gIH0pO1xuICBjb25zdCBbY2xpbmljYWxEYXRhLCBzZXRDbGluaWNhbERhdGFdID0gdXNlU3RhdGU8Q2xpbmljYWxEYXRhVHlwZT4oW10pO1xuXG4gIGNvbnN0IGlzRGF0YVByZXNlbnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdyYXBoRGF0YT8udmFsdWVzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGdyYXBoRGF0YT8udmFsdWVzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZ3JhcGhEYXRhPy54X2F4aXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcbiAgY29uc3QgZmV0Y2hBbmRTZXREYXRhID0gKGZldGNoQ2xpbmljYWwgPSBmYWxzZSkgPT4ge1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KFxuICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCwgcGF0aG9nZW4gfSkud2JlRGFzaGJvYXJkXG4gICAgICAgICAgLnRyZW5kR3JhcGgudXJsLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNldEdyYXBoRGF0YShyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgZmV0Y2hDbGluaWNhbCAmJiBmZXRjaEFuZFNldENsaW5pY2FsRGF0YSgpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Q2xpbmljYWxSZXN1bHRzID0gKHJlc3VsdHMpID0+IHtcbiAgICBpZiAoXG4gICAgICBPYmplY3Qua2V5cyhyZXN1bHRzKS5sZW5ndGggPiBncmFwaERhdGEudmFsdWVzLmxlbmd0aCAmJlxuICAgICAgZ3JhcGhEYXRhLnhfYXhpcy5sZW5ndGggIT09IDBcbiAgICApIHtcbiAgICAgIGxldCB2YWx1ZXNGb3JtYXR0ZWRXaXRoTnVsbHM6IGFueSA9IFtdO1xuICAgICAgd2Vla3NGb3JHb3ZGZXRjaC54X2F4aXMuZm9yRWFjaCgoZ292RGF0ZSkgPT4ge1xuICAgICAgICBpZiAoZ3JhcGhEYXRhLnhfYXhpcy5pbmRleE9mKGdvdkRhdGUpID09PSAtMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZXNGb3JtYXR0ZWRXaXRoTnVsbHMucHVzaChcbiAgICAgICAgICAgIGdyYXBoRGF0YS52YWx1ZXNbZ3JhcGhEYXRhLnhfYXhpcy5pbmRleE9mKGdvdkRhdGUpXSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2V0R3JhcGhEYXRhKHtcbiAgICAgICAgdmFsdWVzOiB2YWx1ZXNGb3JtYXR0ZWRXaXRoTnVsbHMsXG4gICAgICAgIHhfYXhpczogZ3JhcGhEYXRhLnhfYXhpcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldENsaW5pY2FsRGF0YShPYmplY3QudmFsdWVzKHJlc3VsdHMpKTtcbiAgfTtcblxuICBjb25zdCBhZ2dyZWdhdGVSZWNvcmREYXRhID0gKHJlY29yZCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLkNhc2VzX2Ftb25nX3JlY292ZXJkX3dpdGhfdmFjYykgK1xuICAgICAgcGFyc2VBbmRDaGVja1ZhbGlkaXR5KHJlY29yZC5DYXNlc19hbW9uZ19yZWNvdmVyZWRfd2l0aG91dF92YWNjKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLk5vdF9yZWNvdmVyZWRfYXRfbGVhc3RfMl9kb3NlcykgK1xuICAgICAgcGFyc2VBbmRDaGVja1ZhbGlkaXR5KHJlY29yZC5Ob3RfcmVjb3ZlcmVkX25vdF92YWNjaW5hdGVkKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLk5vdF9yZWNvdmVyZWRfcGFydGlhbGx5X3ZhY2NpbmF0ZWQpXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBwYXJzZUFuZENoZWNrVmFsaWRpdHkgPSAodmFsdWUpID0+IHtcbiAgICBpZiAodmFsdWUgPT09ICc8NScpIHtcbiAgICAgIHJldHVybiA1O1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZUludCh2YWx1ZSk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hBbmRTZXRDbGluaWNhbERhdGEgPSAoKSA9PiB7XG4gICAgbGV0IHJlc3VsdHMgPSB7fTtcblxuICAgIHdlZWtzRm9yR292RmV0Y2gud2Vla3MuZm9yRWFjaChhc3luYyAod2VlaykgPT4ge1xuICAgICAgcmVzdWx0c1t3ZWVrXSA9IHt9O1xuICAgICAgYXdhaXQgYXhpb3NcbiAgICAgICAgLmdldCh1cmxzKHsgd2Vlazogd2VlayB9KS53YmVEYXNoYm9hcmQuZ292RGF0YS51cmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGxldCByZWNvcmRzID0gcmVzcG9uc2UuZGF0YS5yZXN1bHQucmVjb3JkcztcblxuICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgocmVjb3JkKSA9PiB7XG4gICAgICAgICAgICByZXN1bHRzW3JlY29yZC5XZWVrXSA9XG4gICAgICAgICAgICAgIE1hdGgucm91bmQoTWF0aC5sb2cxMChhZ2dyZWdhdGVSZWNvcmREYXRhKHJlY29yZCkpICogMTApIC8gMTA7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBzZXRDbGluaWNhbFJlc3VsdHMocmVzdWx0cyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG1pbk1heEdyYXBoVmFsdWVzID0gKGRlbHRhOiBudW1iZXIsIG1pbjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChncmFwaERhdGE/LnZhbHVlcyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMDtcbiAgICBpZiAobWluKSByZXR1cm4gTWF0aC5taW4oLi4uZ3JhcGhEYXRhLnZhbHVlcykgLSBkZWx0YTtcbiAgICByZXR1cm4gTWF0aC5tYXgoLi4uZ3JhcGhEYXRhLnZhbHVlcykgKyBkZWx0YTtcbiAgfTtcblxuICBjb25zdCBzZXJpZXMgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ1dlZWtseSBOVkwnLFxuICAgICAgeUF4aXM6IDAsXG4gICAgICBkYXRhOiBncmFwaERhdGE/LnZhbHVlcyxcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxLFxuICAgIH0sXG4gIF07XG4gIGNvbnN0IHlBeGlzID0gW1xuICAgIHtcbiAgICAgIG1pbjogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCB0cnVlKSxcbiAgICAgIG1heDogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCBmYWxzZSksXG4gICAgICB0aXRsZToge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB0ZXh0OiAnTlZMJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBpZiAoY2xpbmljYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICBzZXJpZXMucHVzaCh7XG4gICAgICB5QXhpczogMSxcbiAgICAgIG5hbWU6ICdDbGluaWNhbCcsXG4gICAgICBkYXRhOiBjbGluaWNhbERhdGEsXG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjAsXG4gICAgfSk7XG4gICAgeUF4aXMucHVzaCh7XG4gICAgICBtaW46IG1pbk1heEdyYXBoVmFsdWVzKDAuNSwgdHJ1ZSksXG4gICAgICBtYXg6IG1pbk1heEdyYXBoVmFsdWVzKDAuNSwgZmFsc2UpLFxuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ0NsaW5pY2FsJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB0aXRsZToge1xuICAgICAgdGV4dDogbnVsbCxcbiAgICB9LFxuICAgIGNoYXJ0OiB7XG4gICAgICBoZWlnaHQ6IG1pbmkgPyAxMTUgOiA0NzAsXG4gICAgICB0eXBlOiAnc3BsaW5lJyxcbiAgICB9LFxuICAgIGxlZ2VuZDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIG1hcmdpbjogOSxcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgfSxcbiAgICBjcmVkaXRzOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHlBeGlzLFxuICAgIHhBeGlzOiB7XG4gICAgICBjYXRlZ29yaWVzOiBncmFwaERhdGE/LnhfYXhpcyxcbiAgICAgIGxhYmVsczoge1xuICAgICAgICBzdGVwOiAyLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIGZvbnRTaXplOiAnOXB4JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzZXJpZXMsXG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgZmV0Y2hDbGluaWNhbCA9IGZhbHNlO1xuXG4gICAgaWYgKHBhdGhvZ2VuKSB7XG4gICAgICBmZXRjaEFuZFNldERhdGEoZmV0Y2hDbGluaWNhbCk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZCwgd2Vla3NGb3JHb3ZGZXRjaCwgcGF0aG9nZW5dKTtcblxuICByZXR1cm4gaXNEYXRhUHJlc2VudCgpID8gKFxuICAgIDxIaWdoY2hhcnRzUmVhY3QgaGlnaGNoYXJ0cz17SGlnaGNoYXJ0c30gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgKSA6IChcbiAgICA8PjwvPlxuICApO1xufTtcbiJdfQ==
|
|
206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvU3VtbWFyeUdyYXBoLnRzeCJdLCJuYW1lcyI6WyJTdW1tYXJ5R3JhcGgiLCJwcm9wcyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3ZWVrc0ZvckdvdkZldGNoIiwibWluaSIsInZhbHVlcyIsInhfYXhpcyIsImdyYXBoRGF0YSIsInNldEdyYXBoRGF0YSIsImNsaW5pY2FsRGF0YSIsInNldENsaW5pY2FsRGF0YSIsImlzRGF0YVByZXNlbnQiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJmZXRjaEFuZFNldERhdGEiLCJmZXRjaENsaW5pY2FsIiwiYXhpb3MiLCJnZXQiLCJ3YmVEYXNoYm9hcmQiLCJ0cmVuZEdyYXBoIiwidXJsIiwidGhlbiIsInJlc3BvbnNlIiwiZGF0YSIsImZldGNoQW5kU2V0Q2xpbmljYWxEYXRhIiwic2V0Q2xpbmljYWxSZXN1bHRzIiwicmVzdWx0cyIsIk9iamVjdCIsImtleXMiLCJ2YWx1ZXNGb3JtYXR0ZWRXaXRoTnVsbHMiLCJmb3JFYWNoIiwiZ292RGF0ZSIsImluZGV4T2YiLCJwdXNoIiwiYWdncmVnYXRlUmVjb3JkRGF0YSIsInJlY29yZCIsInBhcnNlQW5kQ2hlY2tWYWxpZGl0eSIsIkNhc2VzX2Ftb25nX3JlY292ZXJkX3dpdGhfdmFjYyIsIkNhc2VzX2Ftb25nX3JlY292ZXJlZF93aXRob3V0X3ZhY2MiLCJOb3RfcmVjb3ZlcmVkX2F0X2xlYXN0XzJfZG9zZXMiLCJOb3RfcmVjb3ZlcmVkX25vdF92YWNjaW5hdGVkIiwiTm90X3JlY292ZXJlZF9wYXJ0aWFsbHlfdmFjY2luYXRlZCIsInZhbHVlIiwicGFyc2VJbnQiLCJ3ZWVrcyIsIndlZWsiLCJnb3ZEYXRhIiwicmVjb3JkcyIsInJlc3VsdCIsIldlZWsiLCJNYXRoIiwicm91bmQiLCJsb2cxMCIsIm1pbk1heEdyYXBoVmFsdWVzIiwiZGVsdGEiLCJtaW4iLCJtYXgiLCJvcHRpb25zIiwidGl0bGUiLCJ0ZXh0IiwiY2hhcnQiLCJoZWlnaHQiLCJ0eXBlIiwibGVnZW5kIiwiZW5hYmxlZCIsIm1hcmdpbiIsInBhZGRpbmciLCJjcmVkaXRzIiwieUF4aXMiLCJvcHBvc2l0ZSIsInhBeGlzIiwiY2F0ZWdvcmllcyIsImxhYmVscyIsInN0ZXAiLCJzdHlsZSIsImZvbnRTaXplIiwic2VyaWVzIiwibmFtZSIsImNvbG9yIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwMSIsIm5hdHVyYWwiLCJuNjAiLCJIaWdoY2hhcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQWVPLElBQU1BLFlBQTZCLEdBQUcsU0FBaENBLFlBQWdDLENBQUNDLEtBQUQsRUFBVztBQUN0RCxNQUFRQyxnQkFBUixHQUE0REQsS0FBNUQsQ0FBUUMsZ0JBQVI7QUFBQSxNQUEwQkMsZ0JBQTFCLEdBQTRERixLQUE1RCxDQUEwQkUsZ0JBQTFCO0FBQUEsb0JBQTRERixLQUE1RCxDQUE0Q0csSUFBNUM7QUFBQSxNQUE0Q0EsSUFBNUMsNEJBQW1ELElBQW5EOztBQUNBLGtCQUFrQyxxQkFBMEI7QUFDMURDLElBQUFBLE1BQU0sRUFBRSxFQURrRDtBQUUxREMsSUFBQUEsTUFBTSxFQUFFO0FBRmtELEdBQTFCLENBQWxDO0FBQUE7QUFBQSxNQUFPQyxTQUFQO0FBQUEsTUFBa0JDLFlBQWxCOztBQUlBLG1CQUF3QyxxQkFBMkIsRUFBM0IsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFBckI7O0FBRUEsTUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixHQUFNO0FBQzFCLFdBQ0VKLFNBQVMsQ0FBQ0YsTUFBVixLQUFxQk8sU0FBckIsSUFDQUwsU0FBUyxDQUFDRixNQUFWLENBQWlCUSxNQUFqQixLQUE0QixDQUQ1QixJQUVBTixTQUFTLENBQUNELE1BQVYsQ0FBaUJPLE1BQWpCLEtBQTRCLENBSDlCO0FBS0QsR0FORDs7QUFPQSxN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VCxNQUFBQSxLQUFLLEVBQUUsQ0FGVDtBQUdFN0MsTUFBQUEsSUFBSSxFQUFFaEIsU0FBUyxDQUFDRixNQUhsQjtBQUlFeUUsTUFBQUEsS0FBSyxFQUFFQyxhQUFNQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkM7QUFKbkMsS0FETSxFQU9OO0FBQ0VkLE1BQUFBLEtBQUssRUFBRSxDQURUO0FBRUVTLE1BQUFBLElBQUksRUFBRSxVQUZSO0FBR0V0RCxNQUFBQSxJQUFJLEVBQUVkLFlBSFI7QUFJRXFFLE1BQUFBLEtBQUssRUFBRUMsYUFBTUMsV0FBTixDQUFrQkcsT0FBbEIsQ0FBMEJDO0FBSm5DLEtBUE07QUE1Q00sR0FBaEI7QUE0REEsd0JBQVUsWUFBTTtBQUNkLFFBQUlyRSxhQUFhLEdBQUcsS0FBcEI7QUFDQUQsSUFBQUEsZUFBZSxDQUFDQyxhQUFELENBQWY7QUFDRCxHQUhELEVBR0csQ0FBQ2IsZ0JBQUQsRUFBbUJDLGdCQUFuQixDQUhIO0FBS0EsU0FBT1EsYUFBYSxrQkFDbEIsNkJBQUMsZ0NBQUQ7QUFBaUIsSUFBQSxVQUFVLEVBQUUwRSxtQkFBN0I7QUFBeUMsSUFBQSxPQUFPLEVBQUU1QjtBQUFsRCxJQURrQixnQkFHbEIsMkRBSEY7QUFLRCxDQXZLTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IEhpZ2hjaGFydHNSZWFjdCBmcm9tICdoaWdoY2hhcnRzLXJlYWN0LW9mZmljaWFsJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbiAgd2Vla3NGb3JHb3ZGZXRjaDogeyB3ZWVrczogc3RyaW5nW107IHhfYXhpczogc3RyaW5nW10gfTtcbiAgbWluaT86IGJvb2xlYW47XG59O1xuXG50eXBlIFN1bW1hcnlEYXRhVHlwZSA9IHtcbiAgdmFsdWVzOiBhbnlbXTtcbiAgeF9heGlzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2xpbmljYWxEYXRhVHlwZSA9IHN0cmluZ1tdO1xuXG5leHBvcnQgY29uc3QgU3VtbWFyeUdyYXBoOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCB3ZWVrc0ZvckdvdkZldGNoLCBtaW5pID0gdHJ1ZSB9ID0gcHJvcHM7XG4gIGNvbnN0IFtncmFwaERhdGEsIHNldEdyYXBoRGF0YV0gPSB1c2VTdGF0ZTxTdW1tYXJ5RGF0YVR5cGU+KHtcbiAgICB2YWx1ZXM6IFtdLFxuICAgIHhfYXhpczogW10sXG4gIH0pO1xuICBjb25zdCBbY2xpbmljYWxEYXRhLCBzZXRDbGluaWNhbERhdGFdID0gdXNlU3RhdGU8Q2xpbmljYWxEYXRhVHlwZT4oW10pO1xuXG4gIGNvbnN0IGlzRGF0YVByZXNlbnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdyYXBoRGF0YS52YWx1ZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZ3JhcGhEYXRhLnZhbHVlcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIGdyYXBoRGF0YS54X2F4aXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcbiAgY29uc3QgZmV0Y2hBbmRTZXREYXRhID0gKGZldGNoQ2xpbmljYWwgPSBmYWxzZSkgPT4ge1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KFxuICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCB9KS53YmVEYXNoYm9hcmQudHJlbmRHcmFwaFxuICAgICAgICAgIC51cmwsXG4gICAgICApXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgc2V0R3JhcGhEYXRhKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICBmZXRjaENsaW5pY2FsICYmIGZldGNoQW5kU2V0Q2xpbmljYWxEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzZXRDbGluaWNhbFJlc3VsdHMgPSAocmVzdWx0cykgPT4ge1xuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdHMpLmxlbmd0aCA+IGdyYXBoRGF0YS52YWx1ZXMubGVuZ3RoICYmXG4gICAgICBncmFwaERhdGEueF9heGlzLmxlbmd0aCAhPT0gMFxuICAgICkge1xuICAgICAgbGV0IHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxsczogYW55ID0gW107XG4gICAgICB3ZWVrc0ZvckdvdkZldGNoLnhfYXhpcy5mb3JFYWNoKChnb3ZEYXRlKSA9PiB7XG4gICAgICAgIGlmIChncmFwaERhdGEueF9heGlzLmluZGV4T2YoZ292RGF0ZSkgPT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscy5wdXNoKFxuICAgICAgICAgICAgZ3JhcGhEYXRhLnZhbHVlc1tncmFwaERhdGEueF9heGlzLmluZGV4T2YoZ292RGF0ZSldLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzZXRHcmFwaERhdGEoe1xuICAgICAgICB2YWx1ZXM6IHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscyxcbiAgICAgICAgeF9heGlzOiBncmFwaERhdGEueF9heGlzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0Q2xpbmljYWxEYXRhKE9iamVjdC52YWx1ZXMocmVzdWx0cykpO1xuICB9O1xuXG4gIGNvbnN0IGFnZ3JlZ2F0ZVJlY29yZERhdGEgPSAocmVjb3JkKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuQ2FzZXNfYW1vbmdfcmVjb3ZlcmRfd2l0aF92YWNjKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLkNhc2VzX2Ftb25nX3JlY292ZXJlZF93aXRob3V0X3ZhY2MpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuTm90X3JlY292ZXJlZF9hdF9sZWFzdF8yX2Rvc2VzKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLk5vdF9yZWNvdmVyZWRfbm90X3ZhY2NpbmF0ZWQpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuTm90X3JlY292ZXJlZF9wYXJ0aWFsbHlfdmFjY2luYXRlZClcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHBhcnNlQW5kQ2hlY2tWYWxpZGl0eSA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gJzw1Jykge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaEFuZFNldENsaW5pY2FsRGF0YSA9ICgpID0+IHtcbiAgICBsZXQgcmVzdWx0cyA9IHt9O1xuXG4gICAgd2Vla3NGb3JHb3ZGZXRjaC53ZWVrcy5mb3JFYWNoKGFzeW5jICh3ZWVrKSA9PiB7XG4gICAgICByZXN1bHRzW3dlZWtdID0ge307XG4gICAgICBhd2FpdCBheGlvc1xuICAgICAgICAuZ2V0KHVybHMoeyB3ZWVrOiB3ZWVrIH0pLndiZURhc2hib2FyZC5nb3ZEYXRhLnVybClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbGV0IHJlY29yZHMgPSByZXNwb25zZS5kYXRhLnJlc3VsdC5yZWNvcmRzO1xuXG4gICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdHNbcmVjb3JkLldlZWtdID1cbiAgICAgICAgICAgICAgTWF0aC5yb3VuZChNYXRoLmxvZzEwKGFnZ3JlZ2F0ZVJlY29yZERhdGEocmVjb3JkKSkgKiAxMCkgLyAxMDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHNldENsaW5pY2FsUmVzdWx0cyhyZXN1bHRzKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbWluTWF4R3JhcGhWYWx1ZXMgPSAoZGVsdGE6IG51bWJlciwgbWluOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGdyYXBoRGF0YS52YWx1ZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgaWYgKG1pbikgcmV0dXJuIE1hdGgubWluKC4uLmdyYXBoRGF0YS52YWx1ZXMpIC0gZGVsdGE7XG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmdyYXBoRGF0YS52YWx1ZXMpICsgZGVsdGE7XG4gIH07XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB0aXRsZToge1xuICAgICAgdGV4dDogbnVsbCxcbiAgICB9LFxuICAgIGNoYXJ0OiB7XG4gICAgICBoZWlnaHQ6IG1pbmkgPyAxMTUgOiA0NzAsXG4gICAgICB0eXBlOiAnc3BsaW5lJyxcbiAgICB9LFxuICAgIGxlZ2VuZDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIG1hcmdpbjogOSxcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgfSxcbiAgICBjcmVkaXRzOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHlBeGlzOiBbXG4gICAgICB7XG4gICAgICAgIG1pbjogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCB0cnVlKSxcbiAgICAgICAgbWF4OiBtaW5NYXhHcmFwaFZhbHVlcygwLjUsIGZhbHNlKSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdOVkwnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbWluOiBtaW5NYXhHcmFwaFZhbHVlcygwLjUsIHRydWUpLFxuICAgICAgICBtYXg6IG1pbk1heEdyYXBoVmFsdWVzKDAuNSwgZmFsc2UpLFxuICAgICAgICBvcHBvc2l0ZTogdHJ1ZSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdDbGluaWNhbCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgeEF4aXM6IHtcbiAgICAgIGNhdGVnb3JpZXM6IGdyYXBoRGF0YS54X2F4aXMsXG4gICAgICBsYWJlbHM6IHtcbiAgICAgICAgc3RlcDogMixcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBmb250U2l6ZTogJzlweCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VyaWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdXZWVrbHkgTlZMJyxcbiAgICAgICAgeUF4aXM6IDAsXG4gICAgICAgIGRhdGE6IGdyYXBoRGF0YS52YWx1ZXMsXG4gICAgICAgIGNvbG9yOiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgeUF4aXM6IDEsXG4gICAgICAgIG5hbWU6ICdDbGluaWNhbCcsXG4gICAgICAgIGRhdGE6IGNsaW5pY2FsRGF0YSxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGZldGNoQ2xpbmljYWwgPSBmYWxzZTtcbiAgICBmZXRjaEFuZFNldERhdGEoZmV0Y2hDbGluaWNhbCk7XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkLCB3ZWVrc0ZvckdvdkZldGNoXSk7XG5cbiAgcmV0dXJuIGlzRGF0YVByZXNlbnQoKSA/IChcbiAgICA8SGlnaGNoYXJ0c1JlYWN0IGhpZ2hjaGFydHM9e0hpZ2hjaGFydHN9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICkgOiAoXG4gICAgPD48Lz5cbiAgKTtcbn07XG4iXX0=
|
|
@@ -17,7 +17,6 @@ var Tabs = function Tabs(props) {
|
|
|
17
17
|
handleOnClick = props.handleOnClick;
|
|
18
18
|
return /*#__PURE__*/_react.default.createElement(TabsContainer, null, tabs.map(function (tab) {
|
|
19
19
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
20
|
-
key: tab,
|
|
21
20
|
className: "tab ".concat(selectedTab === tab && 'tab--selected'),
|
|
22
21
|
id: tab,
|
|
23
22
|
onClick: function onClick() {
|
|
@@ -33,4 +32,4 @@ var TabsContainer = _styledComponents.default.div.withConfig({
|
|
|
33
32
|
displayName: "Tabs__TabsContainer",
|
|
34
33
|
componentId: "sc-26wq66-0"
|
|
35
34
|
})(["display:flex;margin:30px 20px;width:max-content;.tab{padding:11px 50px;border-bottom:2px solid rgb(196,196,196);cursor:pointer;font-weight:300;&--selected{border-color:#e10036;color:black;font-weight:600;}}"]);
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvVGFicy50c3giXSwibmFtZXMiOlsiVGFicyIsInByb3BzIiwidGFicyIsInNlbGVjdGVkVGFiIiwiaGFuZGxlT25DbGljayIsIm1hcCIsInRhYiIsIlRhYnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBU08sSUFBTUEsSUFBcUIsR0FBRyxTQUF4QkEsSUFBd0IsQ0FBQ0MsS0FBRCxFQUFXO0FBQzlDLE1BQVFDLElBQVIsR0FBNkNELEtBQTdDLENBQVFDLElBQVI7QUFBQSxNQUFjQyxXQUFkLEdBQTZDRixLQUE3QyxDQUFjRSxXQUFkO0FBQUEsTUFBMkJDLGFBQTNCLEdBQTZDSCxLQUE3QyxDQUEyQkcsYUFBM0I7QUFFQSxzQkFDRSw2QkFBQyxhQUFELFFBQ0dGLElBQUksQ0FBQ0csR0FBTCxDQUFTLFVBQUNDLEdBQUQsRUFBUztBQUNqQix3QkFDRTtBQUNFLE1BQUEsU0FBUyxnQkFBU0gsV0FBVyxLQUFLRyxHQUFoQixJQUF1QixlQUFoQyxDQURYO0FBRUUsTUFBQSxFQUFFLEVBQUVBLEdBRk47QUFHRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1GLGFBQWEsQ0FBQ0UsR0FBRCxDQUFuQjtBQUFBO0FBSFgsb0JBS0UsMkNBQU9BLEdBQVAsQ0FMRixDQURGO0FBU0QsR0FWQSxDQURILENBREY7QUFlRCxDQWxCTTs7OztBQW9CUCxJQUFNQyxhQUFhLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHNOQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdGFiczogc3RyaW5nW107XG4gIHNlbGVjdGVkVGFiOiBzdHJpbmc7XG4gIGhhbmRsZU9uQ2xpY2s6ICh0YWI6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBUYWJzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB0YWJzLCBzZWxlY3RlZFRhYiwgaGFuZGxlT25DbGljayB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8VGFic0NvbnRhaW5lcj5cbiAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGFiICR7c2VsZWN0ZWRUYWIgPT09IHRhYiAmJiAndGFiLS1zZWxlY3RlZCd9YH1cbiAgICAgICAgICAgIGlkPXt0YWJ9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVPbkNsaWNrKHRhYil9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3RhYn08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L1RhYnNDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBUYWJzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAzMHB4IDIwcHg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAudGFiIHtcbiAgICBwYWRkaW5nOiAxMXB4IDUwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYigxOTYsIDE5NiwgMTk2KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICYtLXNlbGVjdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UxMDAzNjtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5gO1xuIl19
|
|
@@ -88,7 +88,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
var fetchUrl = function fetchUrl(firstParam) {
|
|
91
|
-
return "/api_ui/wbe_dashboard/".concat(
|
|
91
|
+
return "/api_ui/wbe_dashboard/".concat(firstParam, "?water_authority_id=").concat(getWAId(), "&tag=").concat(getTag());
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
var DEFAULT_TABS = [_i18n.default.t('components.wbe_dashboard.cities'), _i18n.default.t('components.wbe_dashboard.monitored_areas')];
|
|
@@ -105,24 +105,21 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
105
105
|
|
|
106
106
|
var query = (0, _useQueryURL.default)();
|
|
107
107
|
|
|
108
|
-
var
|
|
109
|
-
return query.get('
|
|
108
|
+
var getTag = function getTag() {
|
|
109
|
+
return query.get('tag');
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
var
|
|
113
|
-
var permissions = _ref.permissions;
|
|
114
|
-
return permissions.pathogens;
|
|
115
|
-
});
|
|
112
|
+
var defaultTag = getTag() === null ? _i18n.default.t('components.wbe_dashboard.all') : getTag();
|
|
116
113
|
|
|
117
114
|
var _useState = (0, _react.useState)([]),
|
|
118
115
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
119
116
|
currentData = _useState2[0],
|
|
120
117
|
setCurrentData = _useState2[1];
|
|
121
118
|
|
|
122
|
-
var _useState3 = (0, _react.useState)(
|
|
119
|
+
var _useState3 = (0, _react.useState)(defaultTag),
|
|
123
120
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
selectedTag = _useState4[0],
|
|
122
|
+
setSelectedTag = _useState4[1];
|
|
126
123
|
|
|
127
124
|
var _useState5 = (0, _react.useState)([]),
|
|
128
125
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
@@ -210,7 +207,11 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
210
207
|
sortable: true,
|
|
211
208
|
cell: function cell(row) {
|
|
212
209
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
213
|
-
"data-tag": "allowRowEvents"
|
|
210
|
+
"data-tag": "allowRowEvents",
|
|
211
|
+
style: {
|
|
212
|
+
textAlign: 'center',
|
|
213
|
+
width: '100%'
|
|
214
|
+
}
|
|
214
215
|
}, row.nvl);
|
|
215
216
|
}
|
|
216
217
|
}, {
|
|
@@ -253,12 +254,22 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
253
254
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
254
255
|
"data-tag": "allowRowEvents"
|
|
255
256
|
}, /*#__PURE__*/_react.default.createElement(_GraphWrapper.GraphWrapper, {
|
|
256
|
-
key: row.id,
|
|
257
257
|
row: row,
|
|
258
|
-
water_authority_id: getWAId()
|
|
259
|
-
pathogen: selectedPathogen
|
|
258
|
+
water_authority_id: getWAId()
|
|
260
259
|
}));
|
|
261
260
|
}
|
|
261
|
+
}, {
|
|
262
|
+
name: _i18n.default.t('components.wbe_dashboard.tag'),
|
|
263
|
+
selector: function selector(row) {
|
|
264
|
+
return row.tags;
|
|
265
|
+
},
|
|
266
|
+
sortable: true,
|
|
267
|
+
cell: function cell(row) {
|
|
268
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
269
|
+
"data-tag": "allowRowEvents",
|
|
270
|
+
className: 'table-tags'
|
|
271
|
+
}, row.tags.join(', '));
|
|
272
|
+
}
|
|
262
273
|
}, {
|
|
263
274
|
name: _i18n.default.t('components.wbe_dashboard.population'),
|
|
264
275
|
selector: function selector(row) {
|
|
@@ -271,7 +282,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
271
282
|
}, (0, _ThousandsToK.kFormatter)(parseInt(row.population)));
|
|
272
283
|
}
|
|
273
284
|
}];
|
|
274
|
-
}, [isRtl
|
|
285
|
+
}, [isRtl]);
|
|
275
286
|
|
|
276
287
|
var initializeMapAreas = function initializeMapAreas(areas) {
|
|
277
288
|
var mappedWithColor = areas.map(function (a) {
|
|
@@ -320,6 +331,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
320
331
|
return state.global_data.waterAuthorityId;
|
|
321
332
|
});
|
|
322
333
|
var dir = navContext.locale === 'he' ? _reactDataTableComponent.Direction.RTL : _reactDataTableComponent.Direction.LTR;
|
|
334
|
+
var tags = [_i18n.default.t('components.wbe_dashboard.all') + ' ', 'דסק ערבי', 'דסק חרדי', 'דסק כללי'];
|
|
323
335
|
|
|
324
336
|
var filterResultsAndSetRows = function filterResultsAndSetRows(text) {
|
|
325
337
|
var results = currentData.filter(function (el) {
|
|
@@ -337,13 +349,13 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
337
349
|
return state.global_data.waterAuthorityName;
|
|
338
350
|
});
|
|
339
351
|
|
|
340
|
-
var
|
|
341
|
-
(0, _Analytics.analyticsTrack)('WBE Status Report -
|
|
342
|
-
|
|
352
|
+
var handleSelectTagClick = function handleSelectTagClick(tag) {
|
|
353
|
+
(0, _Analytics.analyticsTrack)('WBE Status Report - Tag change clicked', {
|
|
354
|
+
tag: tag,
|
|
343
355
|
utility_name: waterAuthorityName
|
|
344
356
|
});
|
|
345
|
-
|
|
346
|
-
history.push("/wbe_dashboard/index?locale=".concat(navContext.locale, "&water_authority_id=").concat(waterAuthorityId, "&
|
|
357
|
+
setSelectedTag(tag);
|
|
358
|
+
history.push("/wbe_dashboard/index?locale=".concat(navContext.locale, "&water_authority_id=").concat(waterAuthorityId, "&tag=").concat(tag));
|
|
347
359
|
};
|
|
348
360
|
|
|
349
361
|
var fetchForTabSelection = function fetchForTabSelection(tab) {
|
|
@@ -409,24 +421,23 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
409
421
|
if (!isFetching && data !== null) {
|
|
410
422
|
initializeComponent();
|
|
411
423
|
}
|
|
412
|
-
}, [isFetching,
|
|
413
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, _i18n.default.t('components.wbe_dashboard.table_name')
|
|
424
|
+
}, [isFetching, selectedTag, data]);
|
|
425
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, _i18n.default.t('components.wbe_dashboard.table_name')), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, waterAuthorityId === WBEIsraelId && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
|
|
414
426
|
id: "dropdown-basic-button",
|
|
415
427
|
className: 'button button--sort',
|
|
416
|
-
title:
|
|
428
|
+
title: selectedTag + ' ',
|
|
417
429
|
variant: "secondary"
|
|
418
|
-
},
|
|
430
|
+
}, tags.map(function (tag) {
|
|
419
431
|
return /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
|
|
420
432
|
href: "#",
|
|
421
433
|
onClick: function onClick() {
|
|
422
|
-
return
|
|
434
|
+
return handleSelectTagClick(tag);
|
|
423
435
|
},
|
|
424
436
|
style: {
|
|
425
437
|
textAlign: navContext.locale === 'he' ? 'right' : 'left'
|
|
426
438
|
}
|
|
427
|
-
},
|
|
439
|
+
}, tag);
|
|
428
440
|
})))), /*#__PURE__*/_react.default.createElement(FirstSection, null, /*#__PURE__*/_react.default.createElement(_WbeSummaryBar.WbeSummaryBar, {
|
|
429
|
-
pathogen: selectedPathogen,
|
|
430
441
|
waterAuthorityId: waterAuthorityId,
|
|
431
442
|
isRtl: isRtl
|
|
432
443
|
})), /*#__PURE__*/_react.default.createElement(SecondSection, null, /*#__PURE__*/_react.default.createElement(_SearchInput.SearchInput, {
|
|
@@ -446,9 +457,11 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
446
457
|
areaToCenterBy: mapZoom,
|
|
447
458
|
edges: [],
|
|
448
459
|
points: [],
|
|
460
|
+
events: [],
|
|
449
461
|
global_data: globalData,
|
|
450
462
|
mapBoxStyle: MAPBOX_WBE_DASHBOARD_STYLE
|
|
451
463
|
}))), !isFetching && rows !== null && /*#__PURE__*/_react.default.createElement(_KandoTable.KandoTable, {
|
|
464
|
+
isRtl: isRtl,
|
|
452
465
|
onRowExpandToggled: handleOnRowExpand,
|
|
453
466
|
data: rows,
|
|
454
467
|
columns: columns,
|
|
@@ -456,9 +469,6 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
456
469
|
expandableRows: true,
|
|
457
470
|
paginationPerPage: TABLE_ROWS_PER_PAGE,
|
|
458
471
|
rowComponent: _ExpandableComponent.ExpandedComponent,
|
|
459
|
-
expandableRowsComponentProps: {
|
|
460
|
-
pathogen: selectedPathogen
|
|
461
|
-
},
|
|
462
472
|
defaultSortFieldId: 3
|
|
463
473
|
})))));
|
|
464
474
|
};
|
|
@@ -490,10 +500,10 @@ var SecondSection = _styledComponents.default.div.withConfig({
|
|
|
490
500
|
var MapTableContainer = _styledComponents.default.div.withConfig({
|
|
491
501
|
displayName: "WbeDashboardPage__MapTableContainer",
|
|
492
502
|
componentId: "sc-14f81cv-4"
|
|
493
|
-
})(["display:flex;justify-content:start;flex-direction:row-reverse;.map-container{width:unset !important;.event-timerange{display:none;}#map{height:69vh;width:30vw;}}[data-testid='kando-table']{width:100%;}[data-column-id='1']{justify-content:flex-start !important;overflow:visible;position:relative;cursor:pointer;&:hover{.name{color:white !important;}.expandable-icon{width:calc(120px + 1vw);transition:0.2s cubic-bezier(0.65,0.05,0.36,1);}}}.spinner-container{width:100%;display:flex;justify-content:center;}"]);
|
|
503
|
+
})(["display:flex;justify-content:start;flex-direction:row-reverse;.map-container{width:unset !important;.event-timerange{display:none;}#map{height:69vh;width:30vw;}}[data-testid='kando-table']{width:100%;}[data-column-id='1']{justify-content:flex-start !important;overflow:visible;position:relative;cursor:pointer;&:hover{.name{color:white !important;}.expandable-icon{width:calc(120px + 1vw);transition:0.2s cubic-bezier(0.65,0.05,0.36,1);}}}.table-tags{text-align:center;}.spinner-container{width:100%;display:flex;justify-content:center;}"]);
|
|
494
504
|
|
|
495
505
|
var Content = _styledComponents.default.div.withConfig({
|
|
496
506
|
displayName: "WbeDashboardPage__Content",
|
|
497
507
|
componentId: "sc-14f81cv-5"
|
|
498
508
|
})(["@media (max-width:576px){padding:20px;}h1{font-weight:bold;}padding:60px 60px;"]);
|
|
499
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZS50c3giXSwibmFtZXMiOlsiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJXYmVEYXNoYm9hcmRQYWdlIiwiZ2V0V0FJZCIsInF1ZXJ5IiwiZ2V0IiwiZmV0Y2hVcmwiLCJmaXJzdFBhcmFtIiwic2VsZWN0ZWRQYXRob2dlbiIsIkRFRkFVTFRfVEFCUyIsImkxOG4iLCJ0IiwiY29udmVydFRhYk5hbWVUb1BhcmFtIiwidGFiX25hbWUiLCJnZXRQYXRob2dlbiIsInBhdGhvZ2VucyIsInBlcm1pc3Npb25zIiwiY3VycmVudERhdGEiLCJzZXRDdXJyZW50RGF0YSIsInNldFNlbGVjdGVkUGF0aG9nZW4iLCJtYXBBcmVhcyIsInNldE1hcEFyZWFzIiwibWFwWm9vbSIsInNldE1hcFpvb20iLCJyb3dzIiwic2V0Um93cyIsInRhYnMiLCJzZXRUYWJzIiwic2VsZWN0ZWRUYWIiLCJzZXRTZWxlY3RlZFRhYiIsImRhdGEiLCJpc0ZldGNoaW5nIiwic2V0RmV0Y2hpbmciLCJkaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJnbG9iYWxEYXRhIiwiZ2xvYmFsX2RhdGEiLCJpc1J0bCIsImxvY2FsZSIsImNvbG9yRm9yUm93Iiwicm93IiwicXVhbGl0eSIsInNhbXBsZV9hY3RpdmUiLCJpc0luZmVjdGVkIiwibnZsIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIm52bF9jaGFuZ2UiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsImZhQ2hldnJvblVwIiwiZmFDaGV2cm9uRG93biIsImxhc3RfdXBkYXRlZCIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJpZCIsInBvcHVsYXRpb24iLCJwYXJzZUludCIsImluaXRpYWxpemVNYXBBcmVhcyIsImFyZWFzIiwibWFwcGVkV2l0aENvbG9yIiwibWFwIiwiYSIsIndiZV9kYXNoYm9hcmRfbmFtZSIsInNob3dDb2xvck9ubHlJbkJvcmRlcnMiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm42MCIsIlIxMDAiLCJHMTAwIiwiem9vbVRvQXJlYSIsImFyZWEiLCJzaGFwZV9kYXRhIiwidW5kZWZpbmVkIiwiem9vbUFsbEFyZWFzIiwic2hhcGVEYXRhIiwiZGF0dW0iLCJoaXN0b3J5Iiwid2F0ZXJBdXRob3JpdHlJZCIsImRpciIsIkRpcmVjdGlvbiIsIlJUTCIsIkxUUiIsImZpbHRlclJlc3VsdHNBbmRTZXRSb3dzIiwidGV4dCIsInJlc3VsdHMiLCJmaWx0ZXIiLCJlbCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJoYW5kbGVPblJvd0V4cGFuZCIsImV4cGFuZGVkIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiaGFuZGxlU2VsZWN0UGF0aG9nZW5DbGljayIsInBhdGhvZ2VuIiwidXRpbGl0eV9uYW1lIiwicHVzaCIsImZldGNoRm9yVGFiU2VsZWN0aW9uIiwidGFiIiwiYXhpb3MiLCJ0aGVuIiwicmVzcG9uc2UiLCJyZXNwb25zZURhdGEiLCJoYW5kbGVUYWJTZWxlY3Rpb25DbGljayIsImluaXRpYWxpemVEcmlsbGVkQXJlYSIsImluaXRpYWxpemVDb21wb25lbnQiLCJsZW5ndGgiLCJ0ZXh0QWxpZ24iLCJFeHBhbmRlZENvbXBvbmVudCIsIlJvd05hbWUiLCJzdHlsZWQiLCJkaXYiLCJwIiwiQWN0aW9uc0NvbnRhaW5lciIsIkZpcnN0U2VjdGlvbiIsIlNlY29uZFNlY3Rpb24iLCJNYXBUYWJsZUNvbnRhaW5lciIsIkNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7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aEM7QUFTRSxJQUFBLGtCQUFrQixFQUFFO0FBVHRCLElBakJKLENBVEYsQ0F4Q0YsQ0FERixDQURGO0FBcUZELENBbFpNOzs7O0FBb1pQLElBQU1nSCxPQUFPLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHlkQWlDTS9DLGFBQU1DLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQWpDaEMsRUFtQ2FILGFBQU1DLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQW5DdkMsRUEwQ0QsVUFBQzZDLENBQUQ7QUFBQSxTQUFRQSxDQUFDLENBQUNwRixLQUFGLEdBQVUsY0FBVixHQUEyQixhQUFuQztBQUFBLENBMUNDLENBQWI7O0FBbURBLElBQU1xRixnQkFBZ0IsR0FBR0gsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsOERBQXRCOztBQU1BLElBQU1HLFlBQVksR0FBR0osMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsNkJBQWxCOztBQUlBLElBQU1JLGFBQWEsR0FBR0wsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsbUZBQW5COztBQU9BLElBQU1LLGlCQUFpQixHQUFHTiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxrZ0JBQXZCOztBQXdDQSxJQUFNTSxPQUFPLEdBQUdQLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHNGQUFiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnLi9TZWFyY2hJbnB1dCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgR3JhcGhXcmFwcGVyIH0gZnJvbSAnLi9HcmFwaFdyYXBwZXInO1xuaW1wb3J0IHsgZmFDaGV2cm9uRG93biwgZmFDaGV2cm9uVXAgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHVwZGF0ZU5hdkNvbnRleHQgfSBmcm9tICcuLi8uLi9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsga0Zvcm1hdHRlciB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9UaG91c2FuZHNUb0snO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRHJpbGxEb3duSWNvbiB9IGZyb20gJy4vRHJpbGxEb3duSWNvbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQmFzZUxldmVsIH0gZnJvbSAnLi9CYXNlTGV2ZWwuc3ZnJztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IGxldmVsTlZMIH0gZnJvbSAnLi4vQ292aWRQYWdlL2NvbXBvbmVudHMvbnZsU3RhdHVzSGVscGVyJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJy4uLy4uL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBLYW5kb1RhYmxlIH0gZnJvbSAnc3JjL3VpLWtpdC9LYW5kb1RhYmxlL0thbmRvVGFibGUnO1xuaW1wb3J0IHsgVGFicyB9IGZyb20gJy4vVGFicyc7XG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICcuLi8uLi9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBEcm9wZG93biBmcm9tICdyZWFjdC1ib290c3RyYXAvY2pzL0Ryb3Bkb3duJztcbmltcG9ydCBEcm9wZG93bkJ1dHRvbiBmcm9tICdyZWFjdC1ib290c3RyYXAvY2pzL0Ryb3Bkb3duQnV0dG9uJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgVHJ1bmNhdGUgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1RydW5jYXRlJztcbmltcG9ydCB7IEV4cGFuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi9FeHBhbmRhYmxlQ29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyBXYmVTdW1tYXJ5QmFyIH0gZnJvbSAnLi9XYmVTdW1tYXJ5QmFyJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJy4uLy4uL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmNvbnN0IFRBQkxFX1JPV1NfUEVSX1BBR0UgPSAyNTtcbmNvbnN0IE1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFID0gJ2NrenpranNpNzAwNWYxNG85aW0wbWN6czknO1xuXG5leHBvcnQgY29uc3QgV0JFSXNyYWVsSWQgPSA0NjM7XG5leHBvcnQgY29uc3QgV2JlRGFzaGJvYXJkUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgZ2V0V0FJZCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKTtcbiAgfTtcbiAgY29uc3QgZmV0Y2hVcmwgPSAoZmlyc3RQYXJhbSkgPT4ge1xuICAgIHJldHVybiBgL2FwaV91aS93YmVfZGFzaGJvYXJkLyR7c2VsZWN0ZWRQYXRob2dlbn0vJHtmaXJzdFBhcmFtfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnZXRXQUlkKCl9YDtcbiAgfTtcbiAgY29uc3QgREVGQVVMVF9UQUJTID0gW1xuICAgIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpLFxuICAgIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpLFxuICBdO1xuICBjb25zdCBjb252ZXJ0VGFiTmFtZVRvUGFyYW0gPSAodGFiX25hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmICh0YWJfbmFtZSA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJykpIHtcbiAgICAgIHJldHVybiAnY2l0eSc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKVxuICAgICkge1xuICAgICAgcmV0dXJuICdtb25pdG9yZWQnO1xuICAgIH1cblxuICAgIHJldHVybiAnY2l0eSc7XG4gIH07XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZ2V0UGF0aG9nZW4gPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgncGF0aG9nZW4nKSB8fCAnJztcbiAgfTtcblxuICBjb25zdCBwYXRob2dlbnMgPSB1c2VTZWxlY3RvcigoeyBwZXJtaXNzaW9ucyB9KSA9PiBwZXJtaXNzaW9ucy5wYXRob2dlbnMpO1xuXG4gIGNvbnN0IFtjdXJyZW50RGF0YSwgc2V0Q3VycmVudERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbc2VsZWN0ZWRQYXRob2dlbiwgc2V0U2VsZWN0ZWRQYXRob2dlbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIGdldFBhdGhvZ2VuKCksXG4gICk7XG4gIGNvbnN0IFttYXBBcmVhcywgc2V0TWFwQXJlYXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW21hcFpvb20sIHNldE1hcFpvb21dID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW3Jvd3MsIHNldFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFt0YWJzLCBzZXRUYWJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihERUZBVUxUX1RBQlMpO1xuICBjb25zdCBbc2VsZWN0ZWRUYWIsIHNldFNlbGVjdGVkVGFiXSA9IHVzZVN0YXRlPHN0cmluZz4odGFic1swXSk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZywgc2V0RmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgZmV0Y2hVcmwoY29udmVydFRhYk5hbWVUb1BhcmFtKHNlbGVjdGVkVGFiKSksXG4gICk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCBnbG9iYWxEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZ2xvYmFsX2RhdGEsXG4gICk7XG4gIGNvbnN0IGlzUnRsOiBib29sZWFuID0gbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyB0cnVlIDogZmFsc2U7XG4gIGNvbnN0IGNvbG9yRm9yUm93ID0gKHJvdykgPT4ge1xuICAgIGxldCBxdWFsaXR5O1xuICAgIGlmICghcm93LnNhbXBsZV9hY3RpdmUpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5hY3RpdmUtc2FtcGxpbmcnO1xuICAgIH0gZWxzZSBpZiAoaXNJbmZlY3RlZChyb3cubnZsKSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmZlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1YWxpdHkgPSAnY2xlYW4nO1xuICAgIH1cblxuICAgIHJldHVybiBgcm93X25hbWUtLSR7cXVhbGl0eX1gO1xuICB9O1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogbmV3IERhdGUocm93Lmxhc3RfdXBkYXRlZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuXSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX17JyAnfVxuICAgICAgICAgICAge3BhdGhvZ2Vucy5sZW5ndGggPiAxID8gYCgke3NlbGVjdGVkUGF0aG9nZW59KWAgOiAnJ31cbiAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDxBY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICAgICAge3BhdGhvZ2Vucy5sZW5ndGggPiAxICYmIChcbiAgICAgICAgICAgICAgPERyb3Bkb3duQnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bi1iYXNpYy1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2J1dHRvbiBidXR0b24tLXNvcnQnfVxuICAgICAgICAgICAgICAgIHRpdGxlPXtzZWxlY3RlZFBhdGhvZ2VuICsgJyAnfVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3BhdGhvZ2Vucy5tYXAoKHBhdGhvZ2VuKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrKHBhdGhvZ2VuKX1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOlxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/ICdyaWdodCcgOiAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtwYXRob2dlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5JdGVtPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9Ecm9wZG93bkJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEZpcnN0U2VjdGlvbj5cbiAgICAgICAgICA8V2JlU3VtbWFyeUJhclxuICAgICAgICAgICAgcGF0aG9nZW49e3NlbGVjdGVkUGF0aG9nZW59XG4gICAgICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICAgICAgaXNSdGw9e2lzUnRsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmlyc3RTZWN0aW9uPlxuXG4gICAgICAgIDxTZWNvbmRTZWN0aW9uPlxuICAgICAgICAgIDxTZWFyY2hJbnB1dCBvbkNoYW5nZUJlaGF2aW9yPXtmaWx0ZXJSZXN1bHRzQW5kU2V0Um93c30gLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RhYnMtY29udGFpbmVyJ30+XG4gICAgICAgICAgICA8VGFic1xuICAgICAgICAgICAgICB0YWJzPXt0YWJzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFRhYj17c2VsZWN0ZWRUYWJ9XG4gICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZVRhYlNlbGVjdGlvbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8TWFwVGFibGVDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxTcGlubmVyIC8+fVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtYXAtY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIG1hcFpvb20gIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICBhcmVhcz17bWFwQXJlYXN9XG4gICAgICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXttYXBab29tfVxuICAgICAgICAgICAgICAgICAgICBlZGdlcz17W119XG4gICAgICAgICAgICAgICAgICAgIHBvaW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxEYXRhfVxuICAgICAgICAgICAgICAgICAgICBtYXBCb3hTdHlsZT17TUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICA8S2FuZG9UYWJsZVxuICAgICAgICAgICAgICAgIG9uUm93RXhwYW5kVG9nZ2xlZD17aGFuZGxlT25Sb3dFeHBhbmR9XG4gICAgICAgICAgICAgICAgZGF0YT17cm93c31cbiAgICAgICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj17ZGlyfVxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzPXt0cnVlfVxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb25QZXJQYWdlPXtUQUJMRV9ST1dTX1BFUl9QQUdFfVxuICAgICAgICAgICAgICAgIHJvd0NvbXBvbmVudD17RXhwYW5kZWRDb21wb25lbnR9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3NDb21wb25lbnRQcm9wcz17eyBwYXRob2dlbjogc2VsZWN0ZWRQYXRob2dlbiB9fVxuICAgICAgICAgICAgICAgIGRlZmF1bHRTb3J0RmllbGRJZD17M31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TZWNvbmRTZWN0aW9uPlxuICAgICAgPC9Db250ZW50PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgUm93TmFtZSA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgIFxuICAgIC5yb3dfbmFtZSB7XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW47ICAgICAgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWNsZWFuIHtcbiAgICAgICAgIGNvbG9yOiAjMjdhNjNhOyBcbiAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI3YTYzYTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5mZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjZTEwMDM2O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxMDAzNjsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5hY3RpdmUtc2FtcGxpbmcge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDUxcHg7JyA6ICdsZWZ0OiA1MXB4OycpfVxuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICB3aWR0aDogNy41ZW07XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG5jb25zdCBBY3Rpb25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEZpcnN0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogODVweCAwIDIwcHggMDtcbmA7XG5cbmNvbnN0IFNlY29uZFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG5gO1xuXG5jb25zdCBNYXBUYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAubWFwLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgLmV2ZW50LXRpbWVyYW5nZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogNjl2aDtcbiAgICAgIHdpZHRoOiAzMHZ3O1xuICAgIH1cbiAgfVxuICBbZGF0YS10ZXN0aWQ9J2thbmRvLXRhYmxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFtkYXRhLWNvbHVtbi1pZD0nMSddIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgLm5hbWUge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogY2FsYygxMjBweCArIDF2dyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcGlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuYDtcblxuY29uc3QgQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICBwYWRkaW5nOiA2MHB4IDYwcHg7XG5gO1xuIl19
|
|
509
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZS50c3giXSwibmFtZXMiOlsiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJXYmVEYXNoYm9hcmRQYWdlIiwiZ2V0V0FJZCIsInF1ZXJ5IiwiZ2V0IiwiZmV0Y2hVcmwiLCJmaXJzdFBhcmFtIiwiZ2V0VGFnIiwiREVGQVVMVF9UQUJTIiwiaTE4biIsInQiLCJjb252ZXJ0VGFiTmFtZVRvUGFyYW0iLCJ0YWJfbmFtZSIsImRlZmF1bHRUYWciLCJjdXJyZW50RGF0YSIsInNldEN1cnJlbnREYXRhIiwic2VsZWN0ZWRUYWciLCJzZXRTZWxlY3RlZFRhZyIsIm1hcEFyZWFzIiwic2V0TWFwQXJlYXMiLCJtYXBab29tIiwic2V0TWFwWm9vbSIsInJvd3MiLCJzZXRSb3dzIiwidGFicyIsInNldFRhYnMiLCJzZWxlY3RlZFRhYiIsInNldFNlbGVjdGVkVGFiIiwiZGF0YSIsImlzRmV0Y2hpbmciLCJzZXRGZXRjaGluZyIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsImdsb2JhbERhdGEiLCJnbG9iYWxfZGF0YSIsImlzUnRsIiwibG9jYWxlIiwiY29sb3JGb3JSb3ciLCJyb3ciLCJxdWFsaXR5Iiwic2FtcGxlX2FjdGl2ZSIsImlzSW5mZWN0ZWQiLCJudmwiLCJjb2x1bW5zIiwiUmVhY3QiLCJ1c2VNZW1vIiwibmFtZSIsInNlbGVjdG9yIiwic29ydGFibGUiLCJjZWxsIiwiaGFuZGxlQXJlYUNsaWNrIiwiaGFzX2NoaWxkcmVuIiwidGV4dEFsaWduIiwid2lkdGgiLCJudmxfY2hhbmdlIiwiZGlyZWN0aW9uIiwiY29sb3IiLCJtYXJnaW4iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidGFncyIsImpvaW4iLCJwb3B1bGF0aW9uIiwicGFyc2VJbnQiLCJpbml0aWFsaXplTWFwQXJlYXMiLCJhcmVhcyIsIm1hcHBlZFdpdGhDb2xvciIsIm1hcCIsImEiLCJ3YmVfZGFzaGJvYXJkX25hbWUiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNjAiLCJSMTAwIiwiRzEwMCIsInpvb21Ub0FyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsInpvb21BbGxBcmVhcyIsInNoYXBlRGF0YSIsImRhdHVtIiwiaGlzdG9yeSIsIndhdGVyQXV0aG9yaXR5SWQiLCJkaXIiLCJEaXJlY3Rpb24iLCJSVEwiLCJMVFIiLCJmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyIsInRleHQiLCJyZXN1bHRzIiwiZmlsdGVyIiwiZWwiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiaGFuZGxlT25Sb3dFeHBhbmQiLCJleHBhbmRlZCIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImhhbmRsZVNlbGVjdFRhZ0NsaWNrIiwidGFnIiwidXRpbGl0eV9uYW1lIiwicHVzaCIsImZldGNoRm9yVGFiU2VsZWN0aW9uIiwidGFiIiwiYXhpb3MiLCJ0aGVuIiwicmVzcG9uc2UiLCJyZXNwb25zZURhdGEiLCJoYW5kbGVUYWJTZWxlY3Rpb25DbGljayIsImluaXRpYWxpemVEcmlsbGVkQXJlYSIsImlkIiwiaW5pdGlhbGl6ZUNvbXBvbmVudCIsIkV4cGFuZGVkQ29tcG9uZW50IiwiUm93TmFtZSIsInN0eWxlZCIsImRpdiIsInAiLCJBY3Rpb25zQ29udGFpbmVyIiwiRmlyc3RTZWN0aW9uIiwiU2Vjb25kU2VjdGlvbiIsIk1hcFRhYmxlQ29udGFpbmVyIiwiQ29udGVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FB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ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtmaXJzdFBhcmFtfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnZXRXQUlkKCl9JnRhZz0ke2dldFRhZygpfWA7XG4gIH07XG4gIGNvbnN0IERFRkFVTFRfVEFCUyA9IFtcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSxcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKSxcbiAgXTtcbiAgY29uc3QgY29udmVydFRhYk5hbWVUb1BhcmFtID0gKHRhYl9uYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAodGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpKSB7XG4gICAgICByZXR1cm4gJ2NpdHknO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0YWJfbmFtZSA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICApIHtcbiAgICAgIHJldHVybiAnbW9uaXRvcmVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NpdHknO1xuICB9O1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGdldFRhZyA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd0YWcnKTtcbiAgfTtcbiAgY29uc3QgZGVmYXVsdFRhZyA9XG4gICAgZ2V0VGFnKCkgPT09IG51bGwgPyBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5hbGwnKSA6IGdldFRhZygpO1xuICBjb25zdCBbY3VycmVudERhdGEsIHNldEN1cnJlbnREYXRhXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFnLCBzZXRTZWxlY3RlZFRhZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGRlZmF1bHRUYWchKTtcbiAgY29uc3QgW21hcEFyZWFzLCBzZXRNYXBBcmVhc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbbWFwWm9vbSwgc2V0TWFwWm9vbV0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbcm93cywgc2V0Um93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3RhYnMsIHNldFRhYnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KERFRkFVTFRfVEFCUyk7XG4gIGNvbnN0IFtzZWxlY3RlZFRhYiwgc2V0U2VsZWN0ZWRUYWJdID0gdXNlU3RhdGU8c3RyaW5nPih0YWJzWzBdKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nLCBzZXRGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaChcbiAgICBmZXRjaFVybChjb252ZXJ0VGFiTmFtZVRvUGFyYW0oc2VsZWN0ZWRUYWIpKSxcbiAgKTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgKTtcbiAgY29uc3QgaXNSdGw6IGJvb2xlYW4gPSBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IHRydWUgOiBmYWxzZTtcbiAgY29uc3QgY29sb3JGb3JSb3cgPSAocm93KSA9PiB7XG4gICAgbGV0IHF1YWxpdHk7XG4gICAgaWYgKCFyb3cuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmFjdGl2ZS1zYW1wbGluZyc7XG4gICAgfSBlbHNlIGlmIChpc0luZmVjdGVkKHJvdy5udmwpKSB7XG4gICAgICBxdWFsaXR5ID0gJ2luZmVjdGVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgcXVhbGl0eSA9ICdjbGVhbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGByb3dfbmFtZS0tJHtxdWFsaXR5fWA7XG4gIH07XG4gIGNvbnN0IGNvbHVtbnM6IGFueSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5uYW1lJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubmFtZSxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbmFtZTogc3RyaW5nOyBudmw6IG51bWJlcjsgaGFzX2NoaWxkcmVuOiBib29sZWFuIH0pID0+IChcbiAgICAgICAgICA8Um93TmFtZSBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcm93X25hbWUgJHtjb2xvckZvclJvdyhyb3cpfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVBcmVhQ2xpY2socm93KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydleHBhbmRhYmxlLWljb24nfT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIHtyb3cuaGFzX2NoaWxkcmVuICYmIDxEcmlsbERvd25JY29uIC8+fVxuICAgICAgICAgICAgICAgICAgeyFyb3cuaGFzX2NoaWxkcmVuICYmIDxCYXNlTGV2ZWwgLz59XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnbmFtZSd9PlxuICAgICAgICAgICAgICAgIDxUcnVuY2F0ZSBjaGFyYWN0ZXJzPXszfSBpbmhlcml0VGV4dEFsaWduPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgIHtyb3cubmFtZX1cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1Jvd05hbWU+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5udmxfc2NvcmUnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmwsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bDogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3cubnZsfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGVyY2VudGFnZV9mcm9tX2xhc3Rfc2FtcGxpbmcnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmxfY2hhbmdlLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmxfY2hhbmdlOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICcjMDAwMDAwJywgbWFyZ2luOiAnMCA2cHgnIH19PlxuICAgICAgICAgICAgICB7cm93Lm52bF9jaGFuZ2V9JVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgICAgICBpY29uPXtyb3cubnZsX2NoYW5nZSA+IDAgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5sYXN0X3NhbXBsZWQnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdsYXN0X3NhbXBsZWQnLFxuICAgICAgICBzb3J0YWJsZTogKHJvdykgPT4gcm93Lmxhc3RfdXBkYXRlZCxcbiAgICAgICAgY2VsbDogKHJvdzogeyBsYXN0X3VwZGF0ZWQ6IHN0cmluZyB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+XG4gICAgICAgICAgICB7cm93Lmxhc3RfdXBkYXRlZCA9PT0gbnVsbFxuICAgICAgICAgICAgICA/ICctJ1xuICAgICAgICAgICAgICA6IG5ldyBEYXRlKHJvdy5sYXN0X3VwZGF0ZWQpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRyZW5kX2dyYXBoJyksXG4gICAgICAgIHNlbGVjdG9yOiAndHJlbmRfZ3JhcGgnLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBpZDogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIDxHcmFwaFdyYXBwZXIgcm93PXtyb3d9IHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudGFnJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cudGFncyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgdGFnczogYW55IH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIiBjbGFzc05hbWU9eyd0YWJsZS10YWdzJ30+XG4gICAgICAgICAgICB7cm93LnRhZ3Muam9pbignLCAnKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnBvcHVsYXRpb24nKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5wb3B1bGF0aW9uLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBwb3B1bGF0aW9uOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAge2tGb3JtYXR0ZXIocGFyc2VJbnQocm93LnBvcHVsYXRpb24pKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbaXNSdGxdLFxuICApO1xuXG4gIGNvbnN0IGluaXRpYWxpemVNYXBBcmVhcyA9IChhcmVhcykgPT4ge1xuICAgIGNvbnN0IG1hcHBlZFdpdGhDb2xvciA9IGFyZWFzLm1hcCgoYTogYW55KSA9PiB7XG4gICAgICBhLndiZV9kYXNoYm9hcmRfbmFtZSA9IGEubmFtZTtcbiAgICAgIGEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG5cbiAgICAgIGlmICghYS5zYW1wbGVfYWN0aXZlKSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0luZmVjdGVkKGEubnZsKSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLkcxMDA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0TWFwQXJlYXMobWFwcGVkV2l0aENvbG9yKTtcbiAgfTtcblxuICBjb25zdCB6b29tVG9BcmVhID0gKGFyZWEpID0+IHtcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJiBzZXRNYXBab29tKGFyZWEuc2hhcGVfZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbUFsbEFyZWFzID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBzaGFwZURhdGEgPSBkYXRhLm1hcCgoZGF0dW0pID0+IHtcbiAgICAgIHJldHVybiBkYXR1bS5zaGFwZV9kYXRhO1xuICAgIH0pO1xuXG4gICAgc2V0TWFwWm9vbShzaGFwZURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGlzSW5mZWN0ZWQgPSAobnZsOiBudW1iZXIpID0+IHtcbiAgICBpZiAobGV2ZWxOVkwobnZsKSA9PT0gJ2NsZWFuJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsZXZlbE5WTChudmwpID09PSAnbG93JyB8fFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ21lZGl1bScgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdoaWdoJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgZGlyOiBEaXJlY3Rpb24gPVxuICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gRGlyZWN0aW9uLlJUTCA6IERpcmVjdGlvbi5MVFI7XG5cbiAgY29uc3QgdGFncyA9IFtcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5hbGwnKSArICcgJyxcbiAgICAn15PXodenINei16jXkdeZJyxcbiAgICAn15PXodenINeX16jXk9eZJyxcbiAgICAn15PXodenINeb15zXnNeZJyxcbiAgXTtcblxuICBjb25zdCBmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBsZXQgcmVzdWx0cyA9IGN1cnJlbnREYXRhLmZpbHRlcihmdW5jdGlvbiAoZWw6IGFueSkge1xuICAgICAgcmV0dXJuIGVsLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXh0LnRvTG93ZXJDYXNlKCkpO1xuICAgIH0pO1xuXG4gICAgc2V0Um93cyhyZXN1bHRzKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPblJvd0V4cGFuZCA9IChleHBhbmRlZCwgcm93KSA9PiB7XG4gICAgZXhwYW5kZWQgJiYgem9vbVRvQXJlYShyb3cpO1xuICAgICFleHBhbmRlZCAmJiB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0VGFnQ2xpY2sgPSAodGFnKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gVGFnIGNoYW5nZSBjbGlja2VkJywge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFRhZyh0YWcpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvd2JlX2Rhc2hib2FyZC9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH0mdGFnPSR7dGFnfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaEZvclRhYlNlbGVjdGlvbiA9ICh0YWIpID0+IHtcbiAgICBzZXRGZXRjaGluZyh0cnVlKTtcbiAgICBheGlvcy5nZXQoZmV0Y2hVcmwodGFiKSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgIGxldCByZXNwb25zZURhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG5cbiAgICAgIHNldEZldGNoaW5nKGZhbHNlKTtcbiAgICAgIHNldFRhYnMoREVGQVVMVF9UQUJTKTtcbiAgICAgIHNldFJvd3MocmVzcG9uc2VEYXRhKTtcbiAgICAgIHNldEN1cnJlbnREYXRhKHJlc3BvbnNlRGF0YSk7XG4gICAgICBpbml0aWFsaXplTWFwQXJlYXMocmVzcG9uc2VEYXRhKTtcbiAgICAgIHpvb21BbGxBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYlNlbGVjdGlvbkNsaWNrID0gKHRhYikgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZykge1xuICAgICAgc2V0U2VsZWN0ZWRUYWIodGFiKTtcblxuICAgICAgaWYgKHRhYiAhPT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJykpIHtcbiAgICAgICAgdGFiID1cbiAgICAgICAgICB0YWIgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpXG4gICAgICAgICAgICA/ICdjaXR5J1xuICAgICAgICAgICAgOiB0YWIgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgICAgICAgICA/ICdtb25pdG9yZWQnXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIGZldGNoRm9yVGFiU2VsZWN0aW9uKHRhYik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVEcmlsbGVkQXJlYSA9IChyZXNwb25zZSkgPT4ge1xuICAgIGxldCBkYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIHNldFJvd3MoZGF0YSk7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgaW5pdGlhbGl6ZU1hcEFyZWFzKGRhdGEpO1xuICAgIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVBcmVhQ2xpY2sgPSAoYXJlYSkgPT4ge1xuICAgIHpvb21Ub0FyZWEoYXJlYSk7XG5cbiAgICBpZiAoYXJlYS5oYXNfY2hpbGRyZW4pIHtcbiAgICAgIHNldFRhYnMoWy4uLnRhYnMsIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpXSk7XG4gICAgICBzZXRTZWxlY3RlZFRhYihpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSk7XG5cbiAgICAgIGF4aW9zLmdldChmZXRjaFVybChhcmVhLmlkKSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaW5pdGlhbGl6ZURyaWxsZWRBcmVhKHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplQ29tcG9uZW50ID0gKCkgPT4ge1xuICAgIHNldEN1cnJlbnREYXRhKGRhdGEpO1xuICAgIHNldFJvd3MoZGF0YSk7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0Jywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICd3YmVfZGFzaGJvYXJkJyB9KSk7XG4gICAgaW5pdGlhbGl6ZU1hcEFyZWFzKGRhdGEpO1xuICAgIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZyAmJiBkYXRhICE9PSBudWxsKSB7XG4gICAgICBpbml0aWFsaXplQ29tcG9uZW50KCk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZywgc2VsZWN0ZWRUYWcsIGRhdGFdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Q29udGVudD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDE+e2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX08L2gxPlxuICAgICAgICAgIDxBY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICAgICAge3dhdGVyQXV0aG9yaXR5SWQgPT09IFdCRUlzcmFlbElkICYmIChcbiAgICAgICAgICAgICAgPERyb3Bkb3duQnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bi1iYXNpYy1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2J1dHRvbiBidXR0b24tLXNvcnQnfVxuICAgICAgICAgICAgICAgIHRpdGxlPXtzZWxlY3RlZFRhZyArICcgJ31cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0YWdzLm1hcCgodGFnKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZWxlY3RUYWdDbGljayh0YWcpfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3RhZ31cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5JdGVtPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9Ecm9wZG93bkJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEZpcnN0U2VjdGlvbj5cbiAgICAgICAgICA8V2JlU3VtbWFyeUJhciB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfSBpc1J0bD17aXNSdGx9IC8+XG4gICAgICAgIDwvRmlyc3RTZWN0aW9uPlxuXG4gICAgICAgIDxTZWNvbmRTZWN0aW9uPlxuICAgICAgICAgIDxTZWFyY2hJbnB1dCBvbkNoYW5nZUJlaGF2aW9yPXtmaWx0ZXJSZXN1bHRzQW5kU2V0Um93c30gLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RhYnMtY29udGFpbmVyJ30+XG4gICAgICAgICAgICA8VGFic1xuICAgICAgICAgICAgICB0YWJzPXt0YWJzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFRhYj17c2VsZWN0ZWRUYWJ9XG4gICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZVRhYlNlbGVjdGlvbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8TWFwVGFibGVDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxTcGlubmVyIC8+fVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtYXAtY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIG1hcFpvb20gIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICBhcmVhcz17bWFwQXJlYXN9XG4gICAgICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXttYXBab29tfVxuICAgICAgICAgICAgICAgICAgICBlZGdlcz17W119XG4gICAgICAgICAgICAgICAgICAgIHBvaW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxEYXRhfVxuICAgICAgICAgICAgICAgICAgICBtYXBCb3hTdHlsZT17TUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICA8S2FuZG9UYWJsZVxuICAgICAgICAgICAgICAgIGlzUnRsPXtpc1J0bH1cbiAgICAgICAgICAgICAgICBvblJvd0V4cGFuZFRvZ2dsZWQ9e2hhbmRsZU9uUm93RXhwYW5kfVxuICAgICAgICAgICAgICAgIGRhdGE9e3Jvd3N9XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249e2Rpcn1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uUGVyUGFnZT17VEFCTEVfUk9XU19QRVJfUEFHRX1cbiAgICAgICAgICAgICAgICByb3dDb21wb25lbnQ9e0V4cGFuZGVkQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGRlZmF1bHRTb3J0RmllbGRJZD17M31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TZWNvbmRTZWN0aW9uPlxuICAgICAgPC9Db250ZW50PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgUm93TmFtZSA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgIFxuICAgIC5yb3dfbmFtZSB7XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW47ICAgICAgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWNsZWFuIHtcbiAgICAgICAgIGNvbG9yOiAjMjdhNjNhOyBcbiAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI3YTYzYTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5mZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjZTEwMDM2O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxMDAzNjsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5hY3RpdmUtc2FtcGxpbmcge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDUxcHg7JyA6ICdsZWZ0OiA1MXB4OycpfVxuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICB3aWR0aDogNy41ZW07XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG5jb25zdCBBY3Rpb25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEZpcnN0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogODVweCAwIDIwcHggMDtcbmA7XG5cbmNvbnN0IFNlY29uZFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG5gO1xuXG5jb25zdCBNYXBUYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAubWFwLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgLmV2ZW50LXRpbWVyYW5nZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogNjl2aDtcbiAgICAgIHdpZHRoOiAzMHZ3O1xuICAgIH1cbiAgfVxuICBbZGF0YS10ZXN0aWQ9J2thbmRvLXRhYmxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFtkYXRhLWNvbHVtbi1pZD0nMSddIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgLm5hbWUge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogY2FsYygxMjBweCArIDF2dyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJsZS10YWdzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcGFkZGluZzogNjBweCA2MHB4O1xuYDtcbiJdfQ==
|