@kando-env/kando-ui 1.2.458-alpha.22 → 1.2.458-alpha.8
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/MostPolluting/Factories/FactoryBox/CardLayout.js +6 -21
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +1 -2
- package/lib/Widgets/PotentialImpactSummary/Icon.js +1 -2
- package/lib/components/DamageType/DamageType.js +3 -3
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +3 -4
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +1 -2
- package/lib/i18n/en.json +2 -10
- package/lib/i18n/fr.json +1 -2
- package/lib/i18n/it.json +1 -2
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +1 -2
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +1 -2
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +3 -14
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +7 -24
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +0 -27
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +3 -15
- package/lib/pages/SamplingsPage/SamplingsPage.js +2 -4
- package/lib/pages/SamplingsPage/style.module.scss +0 -4
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +17 -21
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +16 -120
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +8 -18
- package/lib/ui-kit/HierarchyGraph/MicroStackedBarNode.js +67 -0
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +33 -18
- package/lib/ui-kit/HierarchyGraph/PieNode.js +26 -0
- package/lib/ui-kit/HierarchyGraph/style.scss +31 -67
- package/lib/ui-kit/HierarchyGraph/utils.js +1 -16
- package/lib/utilities/Enum.js +4 -4
- package/lib/utilities/urls.js +1 -6
- package/package.json +1 -1
- package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +0 -76
- package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +0 -48
- package/lib/ui-kit/HierarchyGraph/ScoreNode.js +0 -35
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
11
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
12
10
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
13
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
@@ -29,39 +27,22 @@ var HierarchyGraph = function HierarchyGraph() {
|
|
|
29
27
|
var ReduxState = (0, _reactRedux.useSelector)(function (state) {
|
|
30
28
|
return state;
|
|
31
29
|
});
|
|
32
|
-
var _useState = (0, _react.useState)(
|
|
30
|
+
var _useState = (0, _react.useState)(null),
|
|
33
31
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var _useState3 = (0, _react.useState)(
|
|
32
|
+
selectedPoint = _useState2[0],
|
|
33
|
+
setSelectedPoint = _useState2[1];
|
|
34
|
+
var _useState3 = (0, _react.useState)(false),
|
|
37
35
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var _useState5 = (0, _react.useState)(
|
|
36
|
+
showRightPanel = _useState4[0],
|
|
37
|
+
setShowRightPanel = _useState4[1];
|
|
38
|
+
var _useState5 = (0, _react.useState)({}),
|
|
41
39
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var _useState7 = (0, _react.useState)({}),
|
|
45
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
46
|
-
filterOptions = _useState8[0],
|
|
47
|
-
setFilterOptions = _useState8[1];
|
|
48
|
-
var _useState9 = (0, _react.useState)(null),
|
|
49
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
50
|
-
filterParameterIds = _useState10[0],
|
|
51
|
-
setFilterParameterIds = _useState10[1];
|
|
52
|
-
var _useState11 = (0, _react.useState)({
|
|
53
|
-
shouldFetch: false,
|
|
54
|
-
siteIds: []
|
|
55
|
-
}),
|
|
56
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
57
|
-
exceededSiteIds = _useState12[0],
|
|
58
|
-
setExceededSiteIds = _useState12[1];
|
|
40
|
+
filterOptions = _useState6[0],
|
|
41
|
+
setFilterOptions = _useState6[1];
|
|
59
42
|
var isHierarchyTab = searchQuery.get('view') === 'hierarchy';
|
|
60
43
|
var points_data = ReduxState.points_data,
|
|
61
44
|
edges_data = ReduxState.edges_data,
|
|
62
|
-
|
|
63
|
-
waterAuthorityName = _ReduxState$global_da.waterAuthorityName,
|
|
64
|
-
waterAuthorityId = _ReduxState$global_da.waterAuthorityId;
|
|
45
|
+
waterAuthorityName = ReduxState.global_data.waterAuthorityName;
|
|
65
46
|
var onNodeClick = function onNodeClick(nodeData) {
|
|
66
47
|
setSelectedPoint(points_data.items.find(function (p) {
|
|
67
48
|
return p.id === nodeData.attributes.point_id;
|
|
@@ -175,102 +156,18 @@ var HierarchyGraph = function HierarchyGraph() {
|
|
|
175
156
|
selectedFilters[item.type] = item.selected_options;
|
|
176
157
|
});
|
|
177
158
|
setFilterOptions(selectedFilters);
|
|
178
|
-
var samplingParameters = appliedFilter.filter_items.find(function (item) {
|
|
179
|
-
return item.type === 'SamplingParameterFilterItem';
|
|
180
|
-
});
|
|
181
|
-
if (samplingParameters) {
|
|
182
|
-
setExceededSiteIds({
|
|
183
|
-
shouldFetch: true,
|
|
184
|
-
siteIds: []
|
|
185
|
-
});
|
|
186
|
-
setFilterParameterIds(samplingParameters.selected_options);
|
|
187
|
-
} else {
|
|
188
|
-
setFilterParameterIds(null);
|
|
189
|
-
setExceededSiteIds({
|
|
190
|
-
shouldFetch: false,
|
|
191
|
-
siteIds: []
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
159
|
// You can update state or make API calls based on the applied filter
|
|
195
160
|
};
|
|
196
161
|
|
|
197
|
-
(0, _react.useEffect)(function () {
|
|
198
|
-
if ((filterParameterIds === null || filterParameterIds === void 0 ? void 0 : filterParameterIds.length) === 0) {
|
|
199
|
-
setExceededSiteIds({
|
|
200
|
-
shouldFetch: false,
|
|
201
|
-
siteIds: []
|
|
202
|
-
});
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
if (!exceededSiteIds.shouldFetch) {
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
var fetchExceededSites = /*#__PURE__*/function () {
|
|
209
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
210
|
-
var response, _yield$response$json, data, siteIds;
|
|
211
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
212
|
-
while (1) {
|
|
213
|
-
switch (_context.prev = _context.next) {
|
|
214
|
-
case 0:
|
|
215
|
-
_context.prev = 0;
|
|
216
|
-
_context.next = 3;
|
|
217
|
-
return fetch((0, _urls.urls)({
|
|
218
|
-
parameterIds: filterParameterIds,
|
|
219
|
-
waterAuthorityId: waterAuthorityId
|
|
220
|
-
}).hierarchy.exceedanceByParameter.url);
|
|
221
|
-
case 3:
|
|
222
|
-
response = _context.sent;
|
|
223
|
-
_context.next = 6;
|
|
224
|
-
return response.json();
|
|
225
|
-
case 6:
|
|
226
|
-
_yield$response$json = _context.sent;
|
|
227
|
-
data = _yield$response$json.data;
|
|
228
|
-
siteIds = data.site_ids || [];
|
|
229
|
-
setExceededSiteIds({
|
|
230
|
-
shouldFetch: false,
|
|
231
|
-
siteIds: siteIds
|
|
232
|
-
});
|
|
233
|
-
_context.next = 15;
|
|
234
|
-
break;
|
|
235
|
-
case 12:
|
|
236
|
-
_context.prev = 12;
|
|
237
|
-
_context.t0 = _context["catch"](0);
|
|
238
|
-
console.error('Error fetching exceeded sites:', _context.t0);
|
|
239
|
-
case 15:
|
|
240
|
-
case "end":
|
|
241
|
-
return _context.stop();
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}, _callee, null, [[0, 12]]);
|
|
245
|
-
}));
|
|
246
|
-
return function fetchExceededSites() {
|
|
247
|
-
return _ref.apply(this, arguments);
|
|
248
|
-
};
|
|
249
|
-
}();
|
|
250
|
-
fetchExceededSites();
|
|
251
|
-
}, [filterParameterIds, exceededSiteIds]);
|
|
252
|
-
var resetFilter = function resetFilter(defaultFilter) {
|
|
253
|
-
setFilterParameterIds(null);
|
|
254
|
-
setExceededSiteIds([]);
|
|
255
|
-
updateFilter(defaultFilter);
|
|
256
|
-
setTreeKey(treeKey + 1);
|
|
257
|
-
};
|
|
258
162
|
if (!isHierarchyTab) {
|
|
259
163
|
return null;
|
|
260
164
|
}
|
|
261
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
262
|
-
className: 'hierarchy-graph-page'
|
|
263
|
-
}, !points_data.isFetching && treeKey > -1 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
|
|
165
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
|
|
264
166
|
filterPopupOpen: true,
|
|
265
167
|
fetchType: 'HierarchyFilter',
|
|
266
168
|
applyLogic: updateFilter,
|
|
267
|
-
custom_points: filterPoints
|
|
268
|
-
|
|
269
|
-
}), filterParameterIds && /*#__PURE__*/_react.default.createElement("div", {
|
|
270
|
-
style: {
|
|
271
|
-
marginInlineStart: 20
|
|
272
|
-
}
|
|
273
|
-
}, "".concat(exceededSiteIds.siteIds.length, " sites with exceeding results"))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
|
|
169
|
+
custom_points: filterPoints
|
|
170
|
+
}), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
|
|
274
171
|
fluid: true,
|
|
275
172
|
className: "p-0",
|
|
276
173
|
style: {
|
|
@@ -283,12 +180,11 @@ var HierarchyGraph = function HierarchyGraph() {
|
|
|
283
180
|
style: {
|
|
284
181
|
height: '85vh'
|
|
285
182
|
}
|
|
286
|
-
}, edges_data.isFetching || points_data.isFetching || !
|
|
287
|
-
treeKey:
|
|
183
|
+
}, edges_data.isFetching || points_data.isFetching || !treeData || isLoadingSites ? /*#__PURE__*/_react.default.createElement(_Loader.Loader, null) : /*#__PURE__*/_react.default.createElement(_AutoFitTree.default, {
|
|
184
|
+
treeKey: 0,
|
|
288
185
|
initialDepth: 12,
|
|
289
186
|
data: treeData,
|
|
290
187
|
selectedFilters: filterOptions,
|
|
291
|
-
exceededSiteIds: exceededSiteIds.siteIds,
|
|
292
188
|
onNodeClick: onNodeClick
|
|
293
189
|
}), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
|
|
294
190
|
className: "right-panel ".concat(showRightPanel ? 'open' : ''),
|
|
@@ -301,4 +197,4 @@ var HierarchyGraph = function HierarchyGraph() {
|
|
|
301
197
|
};
|
|
302
198
|
var _default = HierarchyGraph;
|
|
303
199
|
exports.default = _default;
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfRmlsdGVyQ29udGFpbmVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInRyZWVLZXkiLCJzZXRUcmVlS2V5IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd1JpZ2h0UGFuZWwiLCJzZXRTaG93UmlnaHRQYW5lbCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiZmlsdGVyT3B0aW9ucyIsInNldEZpbHRlck9wdGlvbnMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJmaWx0ZXJQYXJhbWV0ZXJJZHMiLCJzZXRGaWx0ZXJQYXJhbWV0ZXJJZHMiLCJfdXNlU3RhdGUxMSIsInNob3VsZEZldGNoIiwic2l0ZUlkcyIsIl91c2VTdGF0ZTEyIiwiZXhjZWVkZWRTaXRlSWRzIiwic2V0RXhjZWVkZWRTaXRlSWRzIiwiaXNIaWVyYXJjaHlUYWIiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJfUmVkdXhTdGF0ZSRnbG9iYWxfZGEiLCJnbG9iYWxfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJkYXRhIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJfc3RlcCR2YWx1ZSIsInZhbHVlIiwic2l0ZV9pZCIsInBvbGx1dGlvbiIsInNlY3Rvcl9uYW1lIiwic2VjdG9yX2lkIiwiY29udHJpYnV0b3JfcGVyY2VudHMiLCJleHRyYURhdGEiLCJ0eXBlX2Rpc3RyaWJ1dGlvbiIsImVyciIsImUiLCJmIiwiZGVjb3JhdGVkUG9pbnRzQnlJZCIsImJhc2UiLCJtYXBCeUlkIiwiY29weSIsIl9pIiwiX09iamVjdCRrZXlzIiwia2V5cyIsImxlbmd0aCIsIm51bUlkIiwiTnVtYmVyIiwiX29iamVjdFNwcmVhZDIiLCJlZGdlc1dpdGhEZXZpY2UiLCJwb2ludHNXaXRoRGV2aWNlIiwiZmlsdGVyIiwiaGFzX2RldmljZSIsImVkZ2UiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZmlsdGVyUG9pbnRzIiwicG9pbnRzT3B0aW9uIiwicG9pbnRMaXN0IiwiZm9yRWFjaCIsInNvdXJjZVBvaW50IiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJuYW1lIiwiZ3JvdXAiLCJ2YWx1ZXMiLCJ0cmVlRGF0YSIsImJ1aWxkVHJlZSIsInVwZGF0ZUZpbHRlciIsImFwcGxpZWRGaWx0ZXIiLCJzZWxlY3RlZEZpbHRlcnMiLCJmaWx0ZXJfaXRlbXMiLCJpdGVtIiwic2VsZWN0ZWRfb3B0aW9ucyIsInNhbXBsaW5nUGFyYW1ldGVycyIsInVzZUVmZmVjdCIsImZldGNoRXhjZWVkZWRTaXRlcyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInJlc3BvbnNlIiwiX3lpZWxkJHJlc3BvbnNlJGpzb24iLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZmV0Y2giLCJwYXJhbWV0ZXJJZHMiLCJoaWVyYXJjaHkiLCJleGNlZWRhbmNlQnlQYXJhbWV0ZXIiLCJ1cmwiLCJzZW50IiwianNvbiIsInNpdGVfaWRzIiwidDAiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldEZpbHRlciIsImRlZmF1bHRGaWx0ZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaXNGZXRjaGluZyIsIkZyYWdtZW50IiwiZmlsdGVyUG9wdXBPcGVuIiwiZmV0Y2hUeXBlIiwiYXBwbHlMb2dpYyIsImN1c3RvbV9wb2ludHMiLCJzdHlsZSIsIm1hcmdpbklubGluZVN0YXJ0IiwiY29uY2F0IiwiQ29udGFpbmVyIiwiZmx1aWQiLCJvdmVyZmxvdyIsIlJvdyIsInNtIiwiQ29sIiwiaGVpZ2h0IiwiTG9hZGVyIiwiaW5pdGlhbERlcHRoIiwicG9pbnQiLCJvbkNsb3NlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9IaWVyYXJjaHlHcmFwaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBidWlsZFRyZWUsIG1hcEJ5SWQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4uLy4uL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IFt0cmVlS2V5LCBzZXRUcmVlS2V5XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc2VsZWN0ZWRQb2ludCwgc2V0U2VsZWN0ZWRQb2ludF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtmaWx0ZXJPcHRpb25zLCBzZXRGaWx0ZXJPcHRpb25zXSA9IHVzZVN0YXRlKHt9KTtcbiAgY29uc3QgW2ZpbHRlclBhcmFtZXRlcklkcywgc2V0RmlsdGVyUGFyYW1ldGVySWRzXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbZXhjZWVkZWRTaXRlSWRzLCBzZXRFeGNlZWRlZFNpdGVJZHNdID0gdXNlU3RhdGUoe1xuICAgIHNob3VsZEZldGNoOiBmYWxzZSxcbiAgICBzaXRlSWRzOiBbXSxcbiAgfSk7XG4gIGNvbnN0IGlzSGllcmFyY2h5VGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdoaWVyYXJjaHknO1xuICBjb25zdCB7XG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YTogeyB3YXRlckF1dGhvcml0eU5hbWUsIHdhdGVyQXV0aG9yaXR5SWQgfSxcbiAgfSA9IFJlZHV4U3RhdGU7XG5cbiAgY29uc3Qgb25Ob2RlQ2xpY2sgPSAobm9kZURhdGEpID0+IHtcbiAgICBzZXRTZWxlY3RlZFBvaW50KFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmluZCgocCkgPT4gcC5pZCA9PT0gbm9kZURhdGEuYXR0cmlidXRlcy5wb2ludF9pZCksXG4gICAgKTtcbiAgICBzZXRTaG93UmlnaHRQYW5lbCghc2hvd1JpZ2h0UGFuZWwpO1xuICB9O1xuXG4gIC8vIHN0YWJsZSBlbmRwb2ludHMvcGFyYW1zIOKchVxuICBjb25zdCBmYWN0b3JpZXNFbmRQb2ludCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdXJscygpLmRhc2hib2FyZC5VdGlsaXR5LmZhY3RvcmllcyxcbiAgICBbXSxcbiAgKTtcblxuICBjb25zdCBwYXJhbXNBbGwgPSB1c2VNZW1vKCgpID0+ICh7IHR5cGU6ICdBbGwnIH0pLCBbXSk7XG5cbiAgLy8gZmV0Y2hlc1xuICBjb25zdCBbcmVzcG9uc2VTaXRlcywgaXNMb2FkaW5nU2l0ZXMsIGVycm9yU2l0ZXNdID1cbiAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk8RmFjdG9yaWVzUmVzcG9uc2U+KGZhY3Rvcmllc0VuZFBvaW50LCBwYXJhbXNBbGwpO1xuXG4gIC8vIDEpIEJ1aWxkIGEgcG9sbHV0aW9uIG1hcCBmcm9tIGJvdGggcmVzcG9uc2VzIChubyBzdGF0ZTsgcHVyZSBtZW1vKVxuICBjb25zdCBwb2xsdXRpb25CeVNpdGVJZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG0gPSBuZXcgTWFwPG51bWJlciwgYW55PigpO1xuICAgIGlmIChyZXNwb25zZVNpdGVzPy5kYXRhKSB7XG4gICAgICBmb3IgKGNvbnN0IHtcbiAgICAgICAgc2l0ZV9pZCxcbiAgICAgICAgcG9sbHV0aW9uLFxuICAgICAgICBzZWN0b3JfbmFtZSxcbiAgICAgICAgc2VjdG9yX2lkLFxuICAgICAgICBjb250cmlidXRvcl9wZXJjZW50cyxcbiAgICAgIH0gb2YgcmVzcG9uc2VTaXRlcy5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGV4dHJhRGF0YSA9IHsgc2VjdG9yX25hbWUsIGNvbnRyaWJ1dG9yX3BlcmNlbnRzLCBzZWN0b3JfaWQgfTtcbiAgICAgICAgaWYgKHBvbGx1dGlvbj8udHlwZV9kaXN0cmlidXRpb24pXG4gICAgICAgICAgZXh0cmFEYXRhWydwb2xsdXRpb24nXSA9IHBvbGx1dGlvbi50eXBlX2Rpc3RyaWJ1dGlvbjtcbiAgICAgICAgbS5zZXQoc2l0ZV9pZCwgZXh0cmFEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG07XG4gIH0sIFtyZXNwb25zZVNpdGVzPy5kYXRhXSk7XG5cbiAgLy8gMikgQ3JlYXRlIGEgU0FGRSBjb3B5IG9mIHBvaW50X21hcF9kYXRhIHdpdGggcG9sbHV0aW9uIG1lcmdlZCBpbiAobm8gbXV0YXRpb25zKVxuICBjb25zdCBkZWNvcmF0ZWRQb2ludHNCeUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcykgcmV0dXJucyBhIHBsYWluIG9iamVjdCBrZXllZCBieSBpZDsgY2xvbmUgaXRcbiAgICBjb25zdCBiYXNlID0gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgY29uc3QgY29weTogUmVjb3JkPG51bWJlciwgYW55PiA9IHt9O1xuICAgIGZvciAoY29uc3QgaWQgb2YgT2JqZWN0LmtleXMoYmFzZSkpIHtcbiAgICAgIGNvbnN0IG51bUlkID0gTnVtYmVyKGlkKTtcbiAgICAgIGNvbnN0IHBvbGx1dGlvbiA9IHBvbGx1dGlvbkJ5U2l0ZUlkLmdldChudW1JZCk7XG4gICAgICAvLyBzaGFsbG93IGNsb25lIGVhY2ggcG9pbnQ7IGFkZCBwb2xsdXRpb24gaWYgZXhpc3RzXG4gICAgICBjb3B5W251bUlkXSA9IHBvbGx1dGlvblxuICAgICAgICA/IHsgLi4uYmFzZVtudW1JZF0sIC4uLnBvbGx1dGlvbiB9XG4gICAgICAgIDogeyAuLi5iYXNlW251bUlkXSB9O1xuICAgIH1cbiAgICByZXR1cm4gY29weTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBwb2xsdXRpb25CeVNpdGVJZF0pO1xuXG4gIC8vIDMpIENvbXB1dGUgZWRnZXNXaXRoRGV2aWNlIHNhZmVseS9tZW1vaXplZCAobm8gZXh0cmEgcmVuZGVycylcbiAgY29uc3QgZWRnZXNXaXRoRGV2aWNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRzV2l0aERldmljZSA9IG1hcEJ5SWQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maWx0ZXIoKHApID0+IHAuaGFzX2RldmljZSksXG4gICAgKTtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgICAoZWRnZSkgPT5cbiAgICAgICAgcG9pbnRzV2l0aERldmljZVtlZGdlLnNvdXJjZV9wb2ludF9pZF0gfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNfZGF0YS5pdGVtc10pO1xuXG4gIGNvbnN0IGZpbHRlclBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBvaW50c09wdGlvbiA9IHt9O1xuICAgIGNvbnN0IHBvaW50TGlzdCA9IHBvaW50c19kYXRhLml0ZW1zO1xuICAgIGVkZ2VzV2l0aERldmljZS5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2VQb2ludCA9IHBvaW50TGlzdC5maW5kKChwKSA9PiBwLmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHBvaW50TGlzdC5maW5kKChwKSA9PiBwLmlkID09PSBlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICBpZiAoc291cmNlUG9pbnQpXG4gICAgICAgIHBvaW50c09wdGlvbltzb3VyY2VQb2ludC5pZF0gPSB7XG4gICAgICAgICAgaWQ6IHNvdXJjZVBvaW50LmlkLFxuICAgICAgICAgIG5hbWU6IHNvdXJjZVBvaW50Lmdyb3VwLm5hbWUsXG4gICAgICAgIH07XG4gICAgICBpZiAodGFyZ2V0UG9pbnQpXG4gICAgICAgIHBvaW50c09wdGlvblt0YXJnZXRQb2ludC5pZF0gPSB7XG4gICAgICAgICAgaWQ6IHRhcmdldFBvaW50LmlkLFxuICAgICAgICAgIG5hbWU6IHRhcmdldFBvaW50Lmdyb3VwLm5hbWUsXG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMocG9pbnRzT3B0aW9uKTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBlZGdlc1dpdGhEZXZpY2VdKTtcblxuICAvLyA0KSBCdWlsZCB0aGUgdHJlZSBPTkxZIHdoZW4gZGF0YSBpcyByZWFkeTsga2VlcCByZWZlcmVudGlhbCBzdGFiaWxpdHlcbiAgY29uc3QgdHJlZURhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nU2l0ZXMgfHwgZXJyb3JTaXRlcykgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gYnVpbGRUcmVlKGVkZ2VzV2l0aERldmljZSwgZGVjb3JhdGVkUG9pbnRzQnlJZCwgd2F0ZXJBdXRob3JpdHlOYW1lKTtcbiAgfSwgW1xuICAgIGVkZ2VzV2l0aERldmljZSxcbiAgICBkZWNvcmF0ZWRQb2ludHNCeUlkLFxuICAgIHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICBpc0xvYWRpbmdTaXRlcyxcbiAgICBlcnJvclNpdGVzLFxuICBdKTtcblxuICBjb25zdCB1cGRhdGVGaWx0ZXIgPSAoYXBwbGllZEZpbHRlcikgPT4ge1xuICAgIC8vIFByb2Nlc3MgdGhlIGFwcGxpZWQgZmlsdGVyIGFzIG5lZWRlZFxuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IHt9O1xuXG4gICAgYXBwbGllZEZpbHRlci5maWx0ZXJfaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgc2VsZWN0ZWRGaWx0ZXJzW2l0ZW0udHlwZV0gPSBpdGVtLnNlbGVjdGVkX29wdGlvbnM7XG4gICAgfSk7XG4gICAgc2V0RmlsdGVyT3B0aW9ucyhzZWxlY3RlZEZpbHRlcnMpO1xuICAgIGNvbnN0IHNhbXBsaW5nUGFyYW1ldGVycyA9IGFwcGxpZWRGaWx0ZXIuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAoaXRlbSkgPT4gaXRlbS50eXBlID09PSAnU2FtcGxpbmdQYXJhbWV0ZXJGaWx0ZXJJdGVtJyxcbiAgICApO1xuICAgIGlmIChzYW1wbGluZ1BhcmFtZXRlcnMpIHtcbiAgICAgIHNldEV4Y2VlZGVkU2l0ZUlkcyh7IHNob3VsZEZldGNoOiB0cnVlLCBzaXRlSWRzOiBbXSB9KTtcbiAgICAgIHNldEZpbHRlclBhcmFtZXRlcklkcyhzYW1wbGluZ1BhcmFtZXRlcnMuc2VsZWN0ZWRfb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEZpbHRlclBhcmFtZXRlcklkcyhudWxsKTtcbiAgICAgIHNldEV4Y2VlZGVkU2l0ZUlkcyh7IHNob3VsZEZldGNoOiBmYWxzZSwgc2l0ZUlkczogW10gfSk7XG4gICAgfVxuICAgIC8vIFlvdSBjYW4gdXBkYXRlIHN0YXRlIG9yIG1ha2UgQVBJIGNhbGxzIGJhc2VkIG9uIHRoZSBhcHBsaWVkIGZpbHRlclxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZpbHRlclBhcmFtZXRlcklkcz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICBzZXRFeGNlZWRlZFNpdGVJZHMoeyBzaG91bGRGZXRjaDogZmFsc2UsIHNpdGVJZHM6IFtdIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VlZGVkU2l0ZUlkcy5zaG91bGRGZXRjaCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmZXRjaEV4Y2VlZGVkU2l0ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgICAgIHVybHMoeyBwYXJhbWV0ZXJJZHM6IGZpbHRlclBhcmFtZXRlcklkcywgd2F0ZXJBdXRob3JpdHlJZCB9KS5oaWVyYXJjaHlcbiAgICAgICAgICAgIC5leGNlZWRhbmNlQnlQYXJhbWV0ZXIudXJsLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgY29uc3Qgc2l0ZUlkcyA9IGRhdGEuc2l0ZV9pZHMgfHwgW107XG4gICAgICAgIHNldEV4Y2VlZGVkU2l0ZUlkcyh7IHNob3VsZEZldGNoOiBmYWxzZSwgc2l0ZUlkcyB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGV4Y2VlZGVkIHNpdGVzOicsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZmV0Y2hFeGNlZWRlZFNpdGVzKCk7XG4gIH0sIFtmaWx0ZXJQYXJhbWV0ZXJJZHMsIGV4Y2VlZGVkU2l0ZUlkc10pO1xuXG4gIGNvbnN0IHJlc2V0RmlsdGVyID0gKGRlZmF1bHRGaWx0ZXIpID0+IHtcbiAgICBzZXRGaWx0ZXJQYXJhbWV0ZXJJZHMobnVsbCk7XG4gICAgc2V0RXhjZWVkZWRTaXRlSWRzKFtdKTtcbiAgICB1cGRhdGVGaWx0ZXIoZGVmYXVsdEZpbHRlcik7XG4gICAgc2V0VHJlZUtleSh0cmVlS2V5ICsgMSk7XG4gIH07XG5cbiAgaWYgKCFpc0hpZXJhcmNoeVRhYikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2hpZXJhcmNoeS1ncmFwaC1wYWdlJ30+XG4gICAgICB7IXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiYgdHJlZUtleSA+IC0xICYmIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgICBmaWx0ZXJQb3B1cE9wZW49e3RydWV9XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydIaWVyYXJjaHlGaWx0ZXInfVxuICAgICAgICAgICAgYXBwbHlMb2dpYz17dXBkYXRlRmlsdGVyfVxuICAgICAgICAgICAgY3VzdG9tX3BvaW50cz17ZmlsdGVyUG9pbnRzfVxuICAgICAgICAgICAgcmVzZXRGaWx0ZXI9e3Jlc2V0RmlsdGVyfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2ZpbHRlclBhcmFtZXRlcklkcyAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbklubGluZVN0YXJ0OiAyMCB9fVxuICAgICAgICAgICAgPntgJHtleGNlZWRlZFNpdGVJZHMuc2l0ZUlkcy5sZW5ndGh9IHNpdGVzIHdpdGggZXhjZWVkaW5nIHJlc3VsdHNgfTwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvPlxuICAgICAgKX1cblxuICAgICAgPENvbnRhaW5lciBmbHVpZCBjbGFzc05hbWU9XCJwLTBcIiBzdHlsZT17eyBvdmVyZmxvdzogJ2hpZGRlbicgfX0+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHNtPXsxMn0+XG4gICAgICAgICAgPENvbCBzdHlsZT17eyBoZWlnaHQ6ICc4NXZoJyB9fT5cbiAgICAgICAgICAgIHtlZGdlc19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgICAgICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgICAgICAgICFmaWx0ZXJPcHRpb25zIHx8XG4gICAgICAgICAgICAhdHJlZURhdGEgfHxcbiAgICAgICAgICAgIGlzTG9hZGluZ1NpdGVzID8gKFxuICAgICAgICAgICAgICA8TG9hZGVyIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QXV0b0ZpdFRyZWVcbiAgICAgICAgICAgICAgICB0cmVlS2V5PXt0cmVlS2V5fVxuICAgICAgICAgICAgICAgIGluaXRpYWxEZXB0aD17MTJ9XG4gICAgICAgICAgICAgICAgZGF0YT17dHJlZURhdGF9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzPXtmaWx0ZXJPcHRpb25zfVxuICAgICAgICAgICAgICAgIGV4Y2VlZGVkU2l0ZUlkcz17ZXhjZWVkZWRTaXRlSWRzLnNpdGVJZHN9XG4gICAgICAgICAgICAgICAgb25Ob2RlQ2xpY2s9e29uTm9kZUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxSaWdodFBhbmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJpZ2h0LXBhbmVsICR7c2hvd1JpZ2h0UGFuZWwgPyAnb3BlbicgOiAnJ31gfVxuICAgICAgICAgICAgICBwb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gICAgICAgICAgICAgICAgc2V0U2hvd1JpZ2h0UGFuZWwoZmFsc2UpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBIaWVyYXJjaHlHcmFwaDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHlCQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxnQkFBQSxHQUFBVCxzQkFBQSxDQUFBRixPQUFBO0FBQStGLFNBQUFZLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FB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
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfRmlsdGVyQ29udGFpbmVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNlbGVjdGVkUG9pbnQiLCJzZXRTZWxlY3RlZFBvaW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJmaWx0ZXJPcHRpb25zIiwic2V0RmlsdGVyT3B0aW9ucyIsImlzSGllcmFyY2h5VGFiIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJkYXRhIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJfc3RlcCR2YWx1ZSIsInZhbHVlIiwic2l0ZV9pZCIsInBvbGx1dGlvbiIsInNlY3Rvcl9uYW1lIiwic2VjdG9yX2lkIiwiY29udHJpYnV0b3JfcGVyY2VudHMiLCJleHRyYURhdGEiLCJ0eXBlX2Rpc3RyaWJ1dGlvbiIsImVyciIsImUiLCJmIiwiZGVjb3JhdGVkUG9pbnRzQnlJZCIsImJhc2UiLCJtYXBCeUlkIiwiY29weSIsIl9pIiwiX09iamVjdCRrZXlzIiwia2V5cyIsImxlbmd0aCIsIm51bUlkIiwiTnVtYmVyIiwiX29iamVjdFNwcmVhZDIiLCJlZGdlc1dpdGhEZXZpY2UiLCJwb2ludHNXaXRoRGV2aWNlIiwiZmlsdGVyIiwiaGFzX2RldmljZSIsImVkZ2UiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZmlsdGVyUG9pbnRzIiwicG9pbnRzT3B0aW9uIiwicG9pbnRMaXN0IiwiZm9yRWFjaCIsInNvdXJjZVBvaW50IiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJuYW1lIiwiZ3JvdXAiLCJ2YWx1ZXMiLCJ0cmVlRGF0YSIsImJ1aWxkVHJlZSIsInVwZGF0ZUZpbHRlciIsImFwcGxpZWRGaWx0ZXIiLCJzZWxlY3RlZEZpbHRlcnMiLCJmaWx0ZXJfaXRlbXMiLCJpdGVtIiwic2VsZWN0ZWRfb3B0aW9ucyIsImNyZWF0ZUVsZW1lbnQiLCJmaWx0ZXJQb3B1cE9wZW4iLCJmZXRjaFR5cGUiLCJhcHBseUxvZ2ljIiwiY3VzdG9tX3BvaW50cyIsIkNvbnRhaW5lciIsImZsdWlkIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJvdmVyZmxvdyIsIlJvdyIsInNtIiwiQ29sIiwiaGVpZ2h0IiwiaXNGZXRjaGluZyIsIkxvYWRlciIsInRyZWVLZXkiLCJpbml0aWFsRGVwdGgiLCJjb25jYXQiLCJwb2ludCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL0hpZXJhcmNoeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IGJ1aWxkVHJlZSwgbWFwQnlJZCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4uLy4uL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IFtzZWxlY3RlZFBvaW50LCBzZXRTZWxlY3RlZFBvaW50XSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbc2hvd1JpZ2h0UGFuZWwsIHNldFNob3dSaWdodFBhbmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2ZpbHRlck9wdGlvbnMsIHNldEZpbHRlck9wdGlvbnNdID0gdXNlU3RhdGUoe30pO1xuICBjb25zdCBpc0hpZXJhcmNoeVRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnaGllcmFyY2h5JztcbiAgY29uc3Qge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGE6IHsgd2F0ZXJBdXRob3JpdHlOYW1lIH0sXG4gIH0gPSBSZWR1eFN0YXRlO1xuXG4gIGNvbnN0IG9uTm9kZUNsaWNrID0gKG5vZGVEYXRhKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRQb2ludChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbmQoKHApID0+IHAuaWQgPT09IG5vZGVEYXRhLmF0dHJpYnV0ZXMucG9pbnRfaWQpLFxuICAgICk7XG4gICAgc2V0U2hvd1JpZ2h0UGFuZWwoIXNob3dSaWdodFBhbmVsKTtcbiAgfTtcblxuICAvLyBzdGFibGUgZW5kcG9pbnRzL3BhcmFtcyDinIVcbiAgY29uc3QgZmFjdG9yaWVzRW5kUG9pbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IHVybHMoKS5kYXNoYm9hcmQuVXRpbGl0eS5mYWN0b3JpZXMsXG4gICAgW10sXG4gICk7XG5cbiAgY29uc3QgcGFyYW1zQWxsID0gdXNlTWVtbygoKSA9PiAoeyB0eXBlOiAnQWxsJyB9KSwgW10pO1xuXG4gIC8vIGZldGNoZXNcbiAgY29uc3QgW3Jlc3BvbnNlU2l0ZXMsIGlzTG9hZGluZ1NpdGVzLCBlcnJvclNpdGVzXSA9XG4gICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5PEZhY3Rvcmllc1Jlc3BvbnNlPihmYWN0b3JpZXNFbmRQb2ludCwgcGFyYW1zQWxsKTtcblxuICAvLyAxKSBCdWlsZCBhIHBvbGx1dGlvbiBtYXAgZnJvbSBib3RoIHJlc3BvbnNlcyAobm8gc3RhdGU7IHB1cmUgbWVtbylcbiAgY29uc3QgcG9sbHV0aW9uQnlTaXRlSWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtID0gbmV3IE1hcDxudW1iZXIsIGFueT4oKTtcbiAgICBpZiAocmVzcG9uc2VTaXRlcz8uZGF0YSkge1xuICAgICAgZm9yIChjb25zdCB7XG4gICAgICAgIHNpdGVfaWQsXG4gICAgICAgIHBvbGx1dGlvbixcbiAgICAgICAgc2VjdG9yX25hbWUsXG4gICAgICAgIHNlY3Rvcl9pZCxcbiAgICAgICAgY29udHJpYnV0b3JfcGVyY2VudHMsXG4gICAgICB9IG9mIHJlc3BvbnNlU2l0ZXMuZGF0YSkge1xuICAgICAgICBjb25zdCBleHRyYURhdGEgPSB7IHNlY3Rvcl9uYW1lLCBjb250cmlidXRvcl9wZXJjZW50cywgc2VjdG9yX2lkIH07XG4gICAgICAgIGlmIChwb2xsdXRpb24/LnR5cGVfZGlzdHJpYnV0aW9uKVxuICAgICAgICAgIGV4dHJhRGF0YVsncG9sbHV0aW9uJ10gPSBwb2xsdXRpb24udHlwZV9kaXN0cmlidXRpb247XG4gICAgICAgIG0uc2V0KHNpdGVfaWQsIGV4dHJhRGF0YSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtO1xuICB9LCBbcmVzcG9uc2VTaXRlcz8uZGF0YV0pO1xuXG4gIC8vIDIpIENyZWF0ZSBhIFNBRkUgY29weSBvZiBwb2ludF9tYXBfZGF0YSB3aXRoIHBvbGx1dGlvbiBtZXJnZWQgaW4gKG5vIG11dGF0aW9ucylcbiAgY29uc3QgZGVjb3JhdGVkUG9pbnRzQnlJZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpIHJldHVybnMgYSBwbGFpbiBvYmplY3Qga2V5ZWQgYnkgaWQ7IGNsb25lIGl0XG4gICAgY29uc3QgYmFzZSA9IG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIGNvbnN0IGNvcHk6IFJlY29yZDxudW1iZXIsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIE9iamVjdC5rZXlzKGJhc2UpKSB7XG4gICAgICBjb25zdCBudW1JZCA9IE51bWJlcihpZCk7XG4gICAgICBjb25zdCBwb2xsdXRpb24gPSBwb2xsdXRpb25CeVNpdGVJZC5nZXQobnVtSWQpO1xuICAgICAgLy8gc2hhbGxvdyBjbG9uZSBlYWNoIHBvaW50OyBhZGQgcG9sbHV0aW9uIGlmIGV4aXN0c1xuICAgICAgY29weVtudW1JZF0gPSBwb2xsdXRpb25cbiAgICAgICAgPyB7IC4uLmJhc2VbbnVtSWRdLCAuLi5wb2xsdXRpb24gfVxuICAgICAgICA6IHsgLi4uYmFzZVtudW1JZF0gfTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcHk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgcG9sbHV0aW9uQnlTaXRlSWRdKTtcblxuICAvLyAzKSBDb21wdXRlIGVkZ2VzV2l0aERldmljZSBzYWZlbHkvbWVtb2l6ZWQgKG5vIGV4dHJhIHJlbmRlcnMpXG4gIGNvbnN0IGVkZ2VzV2l0aERldmljZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBvaW50c1dpdGhEZXZpY2UgPSBtYXBCeUlkKFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmlsdGVyKChwKSA9PiBwLmhhc19kZXZpY2UpLFxuICAgICk7XG4gICAgcmV0dXJuIGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgICAgKGVkZ2UpID0+XG4gICAgICAgIHBvaW50c1dpdGhEZXZpY2VbZWRnZS5zb3VyY2VfcG9pbnRfaWRdIHx8IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIGVkZ2VzX2RhdGEuaXRlbXNdKTtcblxuICBjb25zdCBmaWx0ZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwb2ludHNPcHRpb24gPSB7fTtcbiAgICBjb25zdCBwb2ludExpc3QgPSBwb2ludHNfZGF0YS5pdGVtcztcbiAgICBlZGdlc1dpdGhEZXZpY2UuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQpO1xuICAgICAgaWYgKHNvdXJjZVBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bc291cmNlUG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiBzb3VyY2VQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiBzb3VyY2VQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgICAgaWYgKHRhcmdldFBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bdGFyZ2V0UG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiB0YXJnZXRQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiB0YXJnZXRQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHBvaW50c09wdGlvbik7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNXaXRoRGV2aWNlXSk7XG5cbiAgLy8gNCkgQnVpbGQgdGhlIHRyZWUgT05MWSB3aGVuIGRhdGEgaXMgcmVhZHk7IGtlZXAgcmVmZXJlbnRpYWwgc3RhYmlsaXR5XG4gIGNvbnN0IHRyZWVEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZ1NpdGVzIHx8IGVycm9yU2l0ZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIGJ1aWxkVHJlZShlZGdlc1dpdGhEZXZpY2UsIGRlY29yYXRlZFBvaW50c0J5SWQsIHdhdGVyQXV0aG9yaXR5TmFtZSk7XG4gIH0sIFtcbiAgICBlZGdlc1dpdGhEZXZpY2UsXG4gICAgZGVjb3JhdGVkUG9pbnRzQnlJZCxcbiAgICB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgaXNMb2FkaW5nU2l0ZXMsXG4gICAgZXJyb3JTaXRlcyxcbiAgXSk7XG5cbiAgY29uc3QgdXBkYXRlRmlsdGVyID0gKGFwcGxpZWRGaWx0ZXIpID0+IHtcbiAgICAvLyBQcm9jZXNzIHRoZSBhcHBsaWVkIGZpbHRlciBhcyBuZWVkZWRcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlcnMgPSB7fTtcblxuICAgIGFwcGxpZWRGaWx0ZXIuZmlsdGVyX2l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHNlbGVjdGVkRmlsdGVyc1tpdGVtLnR5cGVdID0gaXRlbS5zZWxlY3RlZF9vcHRpb25zO1xuICAgIH0pO1xuICAgIHNldEZpbHRlck9wdGlvbnMoc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICAvLyBZb3UgY2FuIHVwZGF0ZSBzdGF0ZSBvciBtYWtlIEFQSSBjYWxscyBiYXNlZCBvbiB0aGUgYXBwbGllZCBmaWx0ZXJcbiAgfTtcblxuICBpZiAoIWlzSGllcmFyY2h5VGFiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgIGZpbHRlclBvcHVwT3Blbj17dHJ1ZX1cbiAgICAgICAgZmV0Y2hUeXBlPXsnSGllcmFyY2h5RmlsdGVyJ31cbiAgICAgICAgYXBwbHlMb2dpYz17dXBkYXRlRmlsdGVyfVxuICAgICAgICBjdXN0b21fcG9pbnRzPXtmaWx0ZXJQb2ludHN9XG4gICAgICAvPlxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIXRyZWVEYXRhIHx8XG4gICAgICAgICAgICBpc0xvYWRpbmdTaXRlcyA/IChcbiAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEF1dG9GaXRUcmVlXG4gICAgICAgICAgICAgICAgdHJlZUtleT17MH1cbiAgICAgICAgICAgICAgICBpbml0aWFsRGVwdGg9ezEyfVxuICAgICAgICAgICAgICAgIGRhdGE9e3RyZWVEYXRhfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsdGVycz17ZmlsdGVyT3B0aW9uc31cbiAgICAgICAgICAgICAgICBvbk5vZGVDbGljaz17b25Ob2RlQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFJpZ2h0UGFuZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcmlnaHQtcGFuZWwgJHtzaG93UmlnaHRQYW5lbCA/ICdvcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICAgIHBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRQb2ludChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRTaG93UmlnaHRQYW5lbChmYWxzZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IEhpZXJhcmNoeUdyYXBoO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHlCQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxnQkFBQSxHQUFBVCxzQkFBQSxDQUFBRixPQUFBO0FBQStGLFNBQUFZLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZCx3QkFBQWtC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
|
|
@@ -16,7 +16,9 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
|
|
|
16
16
|
height = _ref$height === void 0 ? 8 : _ref$height,
|
|
17
17
|
_ref$radius = _ref.radius,
|
|
18
18
|
radius = _ref$radius === void 0 ? 4 : _ref$radius;
|
|
19
|
-
var total =
|
|
19
|
+
var total = segments.reduce(function (s, x) {
|
|
20
|
+
return s + x.value;
|
|
21
|
+
}, 0) || 1;
|
|
20
22
|
var x = 0;
|
|
21
23
|
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
22
24
|
width: width,
|
|
@@ -37,26 +39,14 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
|
|
|
37
39
|
clipPath: "url(#r)"
|
|
38
40
|
}, segments.map(function (s, i) {
|
|
39
41
|
var w = s.value / total * width;
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
key: i
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement("rect", {
|
|
45
|
-
x: segmentX,
|
|
42
|
+
var rect = /*#__PURE__*/_react.default.createElement("rect", {
|
|
43
|
+
key: i,
|
|
44
|
+
x: x,
|
|
46
45
|
y: 0,
|
|
47
46
|
width: w,
|
|
48
47
|
height: height,
|
|
49
48
|
fill: s.color
|
|
50
|
-
})
|
|
51
|
-
x: Math.max(textX, 25),
|
|
52
|
-
y: height / 1.8,
|
|
53
|
-
textAnchor: "middle",
|
|
54
|
-
dominantBaseline: "middle",
|
|
55
|
-
fill: "#fff",
|
|
56
|
-
stroke: 'grey',
|
|
57
|
-
strokeWidth: 0.8,
|
|
58
|
-
fontSize: 'x-large'
|
|
59
|
-
}, s.value, "%"));
|
|
49
|
+
});
|
|
60
50
|
x += w;
|
|
61
51
|
return rect;
|
|
62
52
|
})), /*#__PURE__*/_react.default.createElement("rect", {
|
|
@@ -72,4 +62,4 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
|
|
|
72
62
|
};
|
|
73
63
|
var _default = MicroStackedBar;
|
|
74
64
|
exports.default = _default;
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsInJlZHVjZSIsInMiLCJ4IiwidmFsdWUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsImkiLCJ3IiwicmVjdCIsImtleSIsImZpbGwiLCJjb2xvciIsInN0cm9rZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNaWNyb1N0YWNrZWRCYXIudHN4XG50eXBlIFNlZyA9IHsgdmFsdWU6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfTsgLy8gdmFsdWUgY2FuIGJlIDAuLjEgb3IgMC4uMTAwXG5jb25zdCBNaWNyb1N0YWNrZWRCYXIgPSAoe1xuICBzZWdtZW50cyxcbiAgd2lkdGggPSA4MCxcbiAgaGVpZ2h0ID0gOCxcbiAgcmFkaXVzID0gNCxcbn06IHtcbiAgc2VnbWVudHM6IFNlZ1tdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHRvdGFsID0gc2VnbWVudHMucmVkdWNlKChzLCB4KSA9PiBzICsgeC52YWx1ZSwgMCkgfHwgMTtcbiAgbGV0IHggPSAwO1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3R5bGU9e3sgZGlzcGxheTogJ2Jsb2NrJyB9fT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJyXCI+XG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgICAgIHJ5PXtyYWRpdXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNyKVwiPlxuICAgICAgICB7c2VnbWVudHMubWFwKChzLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgdyA9IChzLnZhbHVlIC8gdG90YWwpICogd2lkdGg7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IChcbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgeD17eH1cbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgd2lkdGg9e3d9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgICBmaWxsPXtzLmNvbG9yfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICAgIHggKz0gdztcbiAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgfSl9XG4gICAgICA8L2c+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCIjQkRCREJEXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+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
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _NodeLayout = _interopRequireDefault(require("./NodeLayout"));
|
|
11
|
+
var _MicroStackedBar = _interopRequireDefault(require("./MicroStackedBar"));
|
|
12
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
13
|
+
var _reactI18next = require("react-i18next");
|
|
14
|
+
var _excluded = ["nodeDatum"];
|
|
15
|
+
var MicroStackedBarNode = function MicroStackedBarNode(_ref) {
|
|
16
|
+
var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4;
|
|
17
|
+
var nodeDatum = _ref.nodeDatum,
|
|
18
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
19
|
+
var pollution = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.pollution) || {};
|
|
20
|
+
var score = ((_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : (_nodeDatum$attributes3 = _nodeDatum$attributes2.score) === null || _nodeDatum$attributes3 === void 0 ? void 0 : _nodeDatum$attributes3.toString()) || -1;
|
|
21
|
+
var segments = [{
|
|
22
|
+
value: pollution.extreme || 0,
|
|
23
|
+
color: '#f6004f',
|
|
24
|
+
title: 'Extreme'
|
|
25
|
+
}, {
|
|
26
|
+
value: pollution.high || 0,
|
|
27
|
+
color: '#f67129',
|
|
28
|
+
title: 'High'
|
|
29
|
+
}, {
|
|
30
|
+
value: pollution.medium || 0,
|
|
31
|
+
color: '#f6b22f',
|
|
32
|
+
title: 'Medium'
|
|
33
|
+
}, {
|
|
34
|
+
value: pollution.clear || 0,
|
|
35
|
+
color: '#23aa24',
|
|
36
|
+
title: 'Clear'
|
|
37
|
+
}];
|
|
38
|
+
if (score < 0) {
|
|
39
|
+
segments.push({
|
|
40
|
+
value: 100,
|
|
41
|
+
color: '#B9BABD',
|
|
42
|
+
title: 'Undefined'
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
var pollutionPercent = score < 0 ? 'NA' : "".concat(pollution.extreme + pollution.high + pollution.medium, "%");
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_NodeLayout.default, Object.assign({
|
|
47
|
+
nodeDatum: nodeDatum
|
|
48
|
+
}, props), ((_nodeDatum$attributes4 = nodeDatum.attributes) === null || _nodeDatum$attributes4 === void 0 ? void 0 : _nodeDatum$attributes4.monitored) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
|
|
49
|
+
overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
|
|
50
|
+
id: "polluted-".concat(nodeDatum.name),
|
|
51
|
+
placement: "auto"
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
|
|
53
|
+
i18nKey: 'dashboard_v2.utility_dashboard.hierarchy.polluted',
|
|
54
|
+
values: {
|
|
55
|
+
pollutionPercent: pollutionPercent
|
|
56
|
+
}
|
|
57
|
+
}))
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement("g", null, /*#__PURE__*/_react.default.createElement(_MicroStackedBar.default, {
|
|
59
|
+
segments: segments,
|
|
60
|
+
width: 160,
|
|
61
|
+
height: 20,
|
|
62
|
+
radius: 8
|
|
63
|
+
}))));
|
|
64
|
+
};
|
|
65
|
+
var _default = MicroStackedBarNode;
|
|
66
|
+
exports.default = _default;
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Ob2RlTGF5b3V0IiwiX01pY3JvU3RhY2tlZEJhciIsIl9yZWFjdEJvb3RzdHJhcCIsIl9yZWFjdEkxOG5leHQiLCJfZXhjbHVkZWQiLCJNaWNyb1N0YWNrZWRCYXJOb2RlIiwiX3JlZiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlcyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczIiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNCIsIm5vZGVEYXR1bSIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImRlZmF1bHQiLCJwb2xsdXRpb24iLCJhdHRyaWJ1dGVzIiwic2NvcmUiLCJ0b1N0cmluZyIsInNlZ21lbnRzIiwidmFsdWUiLCJleHRyZW1lIiwiY29sb3IiLCJ0aXRsZSIsImhpZ2giLCJtZWRpdW0iLCJjbGVhciIsInB1c2giLCJwb2xsdXRpb25QZXJjZW50IiwiY29uY2F0IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsIm1vbml0b3JlZCIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsIm5hbWUiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJ2YWx1ZXMiLCJ3aWR0aCIsImhlaWdodCIsInJhZGl1cyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyTm9kZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBOb2RlTGF5b3V0IGZyb20gJy4vTm9kZUxheW91dCc7XG5pbXBvcnQgeyBOb2RlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBNaWNyb1N0YWNrZWRCYXIgZnJvbSAnLi9NaWNyb1N0YWNrZWRCYXInO1xuaW1wb3J0IHsgT3ZlcmxheVRyaWdnZXIsIFRvb2x0aXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgVHJhbnMgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuY29uc3QgTWljcm9TdGFja2VkQmFyTm9kZSA9ICh7IG5vZGVEYXR1bSwgLi4ucHJvcHMgfTogTm9kZVByb3BzKSA9PiB7XG4gIGNvbnN0IHBvbGx1dGlvbiA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2xsdXRpb24gfHwge307XG4gIGNvbnN0IHNjb3JlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnNjb3JlPy50b1N0cmluZygpIHx8IC0xO1xuICBjb25zdCBzZWdtZW50cyA9IFtcbiAgICB7IHZhbHVlOiBwb2xsdXRpb24uZXh0cmVtZSB8fCAwLCBjb2xvcjogJyNmNjAwNGYnLCB0aXRsZTogJ0V4dHJlbWUnIH0sXG4gICAgeyB2YWx1ZTogcG9sbHV0aW9uLmhpZ2ggfHwgMCwgY29sb3I6ICcjZjY3MTI5JywgdGl0bGU6ICdIaWdoJyB9LFxuICAgIHsgdmFsdWU6IHBvbGx1dGlvbi5tZWRpdW0gfHwgMCwgY29sb3I6ICcjZjZiMjJmJywgdGl0bGU6ICdNZWRpdW0nIH0sXG4gICAgeyB2YWx1ZTogcG9sbHV0aW9uLmNsZWFyIHx8IDAsIGNvbG9yOiAnIzIzYWEyNCcsIHRpdGxlOiAnQ2xlYXInIH0sXG4gIF07XG4gIGlmIChzY29yZSA8IDApIHtcbiAgICBzZWdtZW50cy5wdXNoKHsgdmFsdWU6IDEwMCwgY29sb3I6ICcjQjlCQUJEJywgdGl0bGU6ICdVbmRlZmluZWQnIH0pO1xuICB9XG4gIGNvbnN0IHBvbGx1dGlvblBlcmNlbnQgPVxuICAgIHNjb3JlIDwgMFxuICAgICAgPyAnTkEnXG4gICAgICA6IGAke3BvbGx1dGlvbi5leHRyZW1lICsgcG9sbHV0aW9uLmhpZ2ggKyBwb2xsdXRpb24ubWVkaXVtfSVgO1xuICByZXR1cm4gKFxuICAgIDxOb2RlTGF5b3V0IG5vZGVEYXR1bT17bm9kZURhdHVtfSB7Li4ucHJvcHN9PlxuICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQgJiYgKFxuICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICBvdmVybGF5PXtcbiAgICAgICAgICAgIDxUb29sdGlwIGlkPXtgcG9sbHV0ZWQtJHtub2RlRGF0dW0ubmFtZX1gfSBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICAgIDxUcmFuc1xuICAgICAgICAgICAgICAgIGkxOG5LZXk9eydkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQuaGllcmFyY2h5LnBvbGx1dGVkJ31cbiAgICAgICAgICAgICAgICB2YWx1ZXM9e3sgcG9sbHV0aW9uUGVyY2VudCB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIDxnPlxuICAgICAgICAgICAgPE1pY3JvU3RhY2tlZEJhclxuICAgICAgICAgICAgICBzZWdtZW50cz17c2VnbWVudHN9XG4gICAgICAgICAgICAgIHdpZHRoPXsxNjB9XG4gICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgIHJhZGl1cz17OH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgKX1cbiAgICA8L05vZGVMYXlvdXQ+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgTWljcm9TdGFja2VkQmFyTm9kZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsZUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQXNDLElBQUFLLFNB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
|
|
@@ -17,38 +17,40 @@ var _reactBootstrap = require("react-bootstrap");
|
|
|
17
17
|
var _theme = require("../../styles/theme/theme");
|
|
18
18
|
var _icons = require("utilities/map/icons");
|
|
19
19
|
require("./style.scss");
|
|
20
|
+
var _PollutionScorePercent = require("../../Widgets/MostPolluting/components/PollutionScorePercent");
|
|
21
|
+
var _scoreToData = require("../../utilities/scoreToData");
|
|
22
|
+
var _SeverityBadge = require("../../pages/DashboardMap/SeverityBadge");
|
|
20
23
|
var NodeLayout = function NodeLayout(_ref) {
|
|
21
|
-
var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$attributes5;
|
|
24
|
+
var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$name, _nodeDatum$name$toLow, _nodeDatum$attributes5, _nodeDatum$attributes6, _nodeDatum$attributes7, _nodeDatum$attributes8, _nodeDatum$attributes9, _nodeDatum$attributes10;
|
|
22
25
|
var nodeDatum = _ref.nodeDatum,
|
|
23
26
|
toggleNode = _ref.toggleNode,
|
|
24
27
|
searchTerm = _ref.searchTerm,
|
|
25
28
|
showSamplers = _ref.showSamplers,
|
|
26
|
-
_ref$isHighlight = _ref.isHighlight,
|
|
27
|
-
isHighlight = _ref$isHighlight === void 0 ? false : _ref$isHighlight,
|
|
28
|
-
_ref$isExceeded = _ref.isExceeded,
|
|
29
|
-
isExceeded = _ref$isExceeded === void 0 ? false : _ref$isExceeded,
|
|
30
29
|
children = _ref.children,
|
|
31
30
|
contentStyle = _ref.contentStyle;
|
|
32
31
|
var factoryType = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.type) || '';
|
|
33
32
|
var isLeafNode = !nodeDatum.children || nodeDatum.children.length === 0;
|
|
34
33
|
var isMonitored = (_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : _nodeDatum$attributes2.monitored;
|
|
35
|
-
var
|
|
34
|
+
var score = (_nodeDatum$attributes3 = (_nodeDatum$attributes4 = nodeDatum.attributes) === null || _nodeDatum$attributes4 === void 0 ? void 0 : _nodeDatum$attributes4.score) !== null && _nodeDatum$attributes3 !== void 0 ? _nodeDatum$attributes3 : -1;
|
|
35
|
+
var borderColor = _theme.theme.natural.n30;
|
|
36
|
+
var isHighlighted = !!searchTerm && (((_nodeDatum$name = nodeDatum.name) === null || _nodeDatum$name === void 0 ? void 0 : (_nodeDatum$name$toLow = _nodeDatum$name.toLowerCase()) === null || _nodeDatum$name$toLow === void 0 ? void 0 : _nodeDatum$name$toLow.includes(searchTerm.toLowerCase())) || (nodeDatum === null || nodeDatum === void 0 ? void 0 : (_nodeDatum$attributes5 = nodeDatum.attributes) === null || _nodeDatum$attributes5 === void 0 ? void 0 : (_nodeDatum$attributes6 = _nodeDatum$attributes5.area_name) === null || _nodeDatum$attributes6 === void 0 ? void 0 : (_nodeDatum$attributes7 = _nodeDatum$attributes6.toLowerCase()) === null || _nodeDatum$attributes7 === void 0 ? void 0 : _nodeDatum$attributes7.includes(searchTerm.toLowerCase())));
|
|
37
|
+
// const isFocused = siteID === nodeDatum.attributes?.point_id?.toString();
|
|
38
|
+
|
|
36
39
|
var cardStyle = {
|
|
37
40
|
borderRadius: '4px',
|
|
38
|
-
borderColor:
|
|
41
|
+
borderColor: isHighlighted ? _theme.theme.brand.surface.muted : borderColor,
|
|
39
42
|
borderStyle: isMonitored ? 'solid' : 'dashed',
|
|
40
43
|
borderWidth: '3px',
|
|
41
|
-
color: isHighlight || isExceeded ? 'white' : _theme.theme.natural.text.default,
|
|
42
44
|
backgroundColor: '#FFFFFF',
|
|
43
45
|
stroke: 'none',
|
|
44
46
|
height: '170px'
|
|
45
47
|
};
|
|
46
|
-
var title = factoryType === 'area' ? ((_nodeDatum$
|
|
48
|
+
var title = factoryType === 'area' ? ((_nodeDatum$attributes8 = nodeDatum.attributes) === null || _nodeDatum$attributes8 === void 0 ? void 0 : _nodeDatum$attributes8.area_name) || nodeDatum.name : nodeDatum.name;
|
|
47
49
|
// const onShowDetails = (event) => {
|
|
48
50
|
// event.stopPropagation();
|
|
49
51
|
// onNodeClick(nodeDatum);
|
|
50
52
|
// };
|
|
51
|
-
var isShowSampler = showSamplers && ((_nodeDatum$
|
|
53
|
+
var isShowSampler = showSamplers && ((_nodeDatum$attributes9 = nodeDatum.attributes) === null || _nodeDatum$attributes9 === void 0 ? void 0 : _nodeDatum$attributes9.has_sampler);
|
|
52
54
|
if (!nodeDatum.name) {
|
|
53
55
|
return null;
|
|
54
56
|
}
|
|
@@ -56,16 +58,15 @@ var NodeLayout = function NodeLayout(_ref) {
|
|
|
56
58
|
onClick: toggleNode,
|
|
57
59
|
style: {
|
|
58
60
|
cursor: 'pointer'
|
|
59
|
-
}
|
|
60
|
-
className: isExceeded ? 'exceeded' : isHighlight ? 'highlight' : ''
|
|
61
|
+
}
|
|
61
62
|
}, /*#__PURE__*/_react.default.createElement("foreignObject", {
|
|
62
63
|
x: "-100",
|
|
63
64
|
y: "-137",
|
|
64
65
|
width: "200",
|
|
65
66
|
height: "250"
|
|
66
|
-
}, ((_nodeDatum$
|
|
67
|
+
}, ((_nodeDatum$attributes10 = nodeDatum.attributes) === null || _nodeDatum$attributes10 === void 0 ? void 0 : _nodeDatum$attributes10.point_id) && /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
|
|
67
68
|
style: {
|
|
68
|
-
stroke: _theme.theme.brand.surface.
|
|
69
|
+
stroke: _theme.theme.brand.surface.default,
|
|
69
70
|
strokeWidth: 1,
|
|
70
71
|
background: 'white',
|
|
71
72
|
marginInlineStart: 64
|
|
@@ -108,15 +109,29 @@ var NodeLayout = function NodeLayout(_ref) {
|
|
|
108
109
|
style: cardStyle,
|
|
109
110
|
headerRight: /*#__PURE__*/_react.default.createElement(_NodeIcon.default, {
|
|
110
111
|
type: factoryType
|
|
111
|
-
})
|
|
112
|
-
linkedHeaderUrl: nodeDatum.attributes ? "/dashboard_v2/site/".concat(nodeDatum.attributes.point_id) : ''
|
|
112
|
+
})
|
|
113
113
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
114
|
className: 'node-content',
|
|
115
115
|
style: contentStyle
|
|
116
|
-
}, nodeDatum.attributes && isMonitored &&
|
|
116
|
+
}, nodeDatum.attributes && isMonitored &&
|
|
117
|
+
/*#__PURE__*/
|
|
118
|
+
// <SeverityBadge
|
|
119
|
+
// className={'score'}
|
|
120
|
+
// props={{ score, has_device: isMonitored }}
|
|
121
|
+
// /> &&
|
|
122
|
+
_react.default.createElement(_PollutionScorePercent.Wrapper, {
|
|
123
|
+
scoreColor: (0, _scoreToData.scoreToColor)(score),
|
|
124
|
+
up: true
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_SeverityBadge.SeverityBadge, {
|
|
126
|
+
props: {
|
|
127
|
+
score: score,
|
|
128
|
+
has_device: isMonitored
|
|
129
|
+
},
|
|
130
|
+
className: 'score'
|
|
131
|
+
}))))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
|
|
117
132
|
color: borderColor
|
|
118
133
|
}));
|
|
119
134
|
};
|
|
120
135
|
var _default = NodeLayout;
|
|
121
136
|
exports.default = _default;
|
|
122
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIl9pY29ucyIsIk5vZGVMYXlvdXQiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczMiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM0IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNSIsIm5vZGVEYXR1bSIsInRvZ2dsZU5vZGUiLCJzZWFyY2hUZXJtIiwic2hvd1NhbXBsZXJzIiwiX3JlZiRpc0hpZ2hsaWdodCIsImlzSGlnaGxpZ2h0IiwiX3JlZiRpc0V4Y2VlZGVkIiwiaXNFeGNlZWRlZCIsImNoaWxkcmVuIiwiY29udGVudFN0eWxlIiwiZmFjdG9yeVR5cGUiLCJhdHRyaWJ1dGVzIiwidHlwZSIsImlzTGVhZk5vZGUiLCJsZW5ndGgiLCJpc01vbml0b3JlZCIsIm1vbml0b3JlZCIsImJvcmRlckNvbG9yIiwidGhlbWUiLCJuYXR1cmFsIiwibjYwIiwiY2FyZFN0eWxlIiwiYm9yZGVyUmFkaXVzIiwiY29sb3JTY2hlbWUiLCJkYXRhIiwiUjEwMCIsImJyYW5kIiwic3VyZmFjZSIsIm11dGVkIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJXaWR0aCIsImNvbG9yIiwidGV4dCIsImRlZmF1bHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2UiLCJoZWlnaHQiLCJ0aXRsZSIsImFyZWFfbmFtZSIsIm5hbWUiLCJpc1Nob3dTYW1wbGVyIiwiaGFzX3NhbXBsZXIiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsInN0eWxlIiwiY3Vyc29yIiwiY2xhc3NOYW1lIiwieCIsInkiLCJ3aWR0aCIsInBvaW50X2lkIiwiQWN0aW9uc0NvbnRhaW5lciIsIlN0eWxlZExpbmsiLCJzdHJva2VXaWR0aCIsImJhY2tncm91bmQiLCJtYXJnaW5JbmxpbmVTdGFydCIsInRhcmdldCIsInVwZGF0ZVBhcmFtcyIsInZpZXciLCJ0byIsImNvbmNhdCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJPdmVybGF5VHJpZ2dlciIsIm92ZXJsYXkiLCJUb29sdGlwIiwiaWQiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJNYXBTdmciLCJzcmMiLCJzYW1wbGVySWNvbiIsImFsdCIsImhlYWRlclJpZ2h0IiwibGlua2VkSGVhZGVyVXJsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9Ob2RlTGF5b3V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IENhcmRMYXlvdXQgZnJvbSAnLi4vLi4vV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0ZhY3Rvcmllcy9GYWN0b3J5Qm94L0NhcmRMYXlvdXQnO1xuaW1wb3J0IE5vZGVJY29uIGZyb20gJy4vTm9kZUljb24nO1xuaW1wb3J0IHsgTWFwU3ZnIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2ljb25zL1RvcE5hdmJhcic7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCB7IEFjdGlvbnNDb250YWluZXIsIE5vZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IExlYWZTaWduIGZyb20gJy4vTGVhZlNpZ24nO1xuaW1wb3J0IHsgVHJhbnMgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE92ZXJsYXlUcmlnZ2VyLCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHNhbXBsZXJJY29uIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9tYXAvaWNvbnMnO1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuXG5jb25zdCBOb2RlTGF5b3V0ID0gKHtcbiAgbm9kZURhdHVtLFxuICB0b2dnbGVOb2RlLFxuICBzZWFyY2hUZXJtLFxuICBzaG93U2FtcGxlcnMsXG4gIGlzSGlnaGxpZ2h0ID0gZmFsc2UsXG4gIGlzRXhjZWVkZWQgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRTdHlsZSxcbn06IE5vZGVQcm9wcykgPT4ge1xuICBjb25zdCBmYWN0b3J5VHlwZSA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy50eXBlIHx8ICcnO1xuICBjb25zdCBpc0xlYWZOb2RlID0gIW5vZGVEYXR1bS5jaGlsZHJlbiB8fCBub2RlRGF0dW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICBjb25zdCBpc01vbml0b3JlZCA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQ7XG4gIGNvbnN0IGJvcmRlckNvbG9yID0gdGhlbWUubmF0dXJhbC5uNjA7XG5cbiAgY29uc3QgY2FyZFN0eWxlOiBSZWFjdC5DU1NQcm9wZXJ0aWVzID0ge1xuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyQ29sb3I6IGlzRXhjZWVkZWRcbiAgICAgID8gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwXG4gICAgICA6IGlzSGlnaGxpZ2h0XG4gICAgICA/IHRoZW1lLmJyYW5kLnN1cmZhY2UubXV0ZWRcbiAgICAgIDogYm9yZGVyQ29sb3IsXG4gICAgYm9yZGVyU3R5bGU6IGlzTW9uaXRvcmVkID8gJ3NvbGlkJyA6ICdkYXNoZWQnLFxuICAgIGJvcmRlcldpZHRoOiAnM3B4JyxcbiAgICBjb2xvcjogaXNIaWdobGlnaHQgfHwgaXNFeGNlZWRlZCA/ICd3aGl0ZScgOiB0aGVtZS5uYXR1cmFsLnRleHQuZGVmYXVsdCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICBzdHJva2U6ICdub25lJyxcbiAgICBoZWlnaHQ6ICcxNzBweCcsXG4gIH07XG4gIGNvbnN0IHRpdGxlID1cbiAgICBmYWN0b3J5VHlwZSA9PT0gJ2FyZWEnXG4gICAgICA/IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX25hbWUgfHwgbm9kZURhdHVtLm5hbWVcbiAgICAgIDogbm9kZURhdHVtLm5hbWU7XG4gIC8vIGNvbnN0IG9uU2hvd0RldGFpbHMgPSAoZXZlbnQpID0+IHtcbiAgLy8gICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgLy8gICBvbk5vZGVDbGljayhub2RlRGF0dW0pO1xuICAvLyB9O1xuICBjb25zdCBpc1Nob3dTYW1wbGVyID0gc2hvd1NhbXBsZXJzICYmIG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5oYXNfc2FtcGxlcjtcblxuICBpZiAoIW5vZGVEYXR1bS5uYW1lKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8Z1xuICAgICAgb25DbGljaz17dG9nZ2xlTm9kZX1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogJ3BvaW50ZXInIH19XG4gICAgICBjbGFzc05hbWU9e2lzRXhjZWVkZWQgPyAnZXhjZWVkZWQnIDogaXNIaWdobGlnaHQgPyAnaGlnaGxpZ2h0JyA6ICcnfVxuICAgID5cbiAgICAgIDxmb3JlaWduT2JqZWN0IHg9XCItMTAwXCIgeT1cIi0xMzdcIiB3aWR0aD1cIjIwMFwiIGhlaWdodD1cIjI1MFwiPlxuICAgICAgICB7bm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkICYmIChcbiAgICAgICAgICA8QWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIHsvKntlYXJseUFkb3B0ZXIgJiYgKCovfVxuICAgICAgICAgICAgey8qICA8c3BhbiBzdHlsZT17eyBtYXJnaW5JbmxpbmVFbmQ6ICc4cHgnIH19PiovfVxuICAgICAgICAgICAgey8qICAgIDxPdmVybGF5VHJpZ2dlciovfVxuICAgICAgICAgICAgey8qICAgICAgb3ZlcmxheT17Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDxUb29sdGlwIGlkPXsnZGV0YWlscyd9IHBsYWNlbWVudD1cImF1dG9cIj4qL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgICA8VHJhbnMqL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgICAgIGkxOG5LZXk9eydncm91cF9zY3JlZW4uZ2VuZXJhbF90YWIuZ3JvdXBfZGV0YWlscyd9Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgLz4qL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgPC9Ub29sdGlwPiovfVxuICAgICAgICAgICAgey8qICAgICAgfSovfVxuICAgICAgICAgICAgey8qICAgID4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIDxEZXRhaWxzU3ZnIG9uQ2xpY2s9e29uU2hvd0RldGFpbHN9IC8+Ki99XG4gICAgICAgICAgICB7LyogICAgPC9PdmVybGF5VHJpZ2dlcj4qL31cbiAgICAgICAgICAgIHsvKiAgPC9zcGFuPiovfVxuICAgICAgICAgICAgey8qKX0qL31cbiAgICAgICAgICAgIDxTdHlsZWRMaW5rXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0aGVtZS5icmFuZC5zdXJmYWNlLm11dGVkLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgbWFyZ2luSW5saW5lU3RhcnQ6IDY0LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICB1cGRhdGVQYXJhbXM9e3sgdmlldzogJ21hcCcgfX1cbiAgICAgICAgICAgICAgdG89e2AvZGFzaGJvYXJkX3YyL3NpdGUvJHtub2RlRGF0dW0uYXR0cmlidXRlcy5wb2ludF9pZH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE92ZXJsYXlUcmlnZ2VyXG4gICAgICAgICAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCBpZD1cIm1hcFwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zIGkxOG5LZXk9eydoZWFkZXIubWFwJ30gLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWFwU3ZnIHN0eWxlPXt7IHdpZHRoOiA1NSwgaGVpZ2h0OiA1NSB9fSAvPlxuICAgICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICAgICAgICAge2lzU2hvd1NhbXBsZXIgJiYgKFxuICAgICAgICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICAgICAgICBvdmVybGF5PXtcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwic2FtcGxlclwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zXG4gICAgICAgICAgICAgICAgICAgICAgaTE4bktleT17XG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLmhpZXJhcmNoeS5zYW1wbGVyJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydzYW1wbGVyLWljb24taG9sZGVyJ30+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIHNyYz17c2FtcGxlckljb24oKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2FtcGxlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PXsnc2FtcGxlcid9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9PdmVybGF5VHJpZ2dlcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgICA8Q2FyZExheW91dFxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICBzdHlsZT17Y2FyZFN0eWxlfVxuICAgICAgICAgIGhlYWRlclJpZ2h0PXs8Tm9kZUljb24gdHlwZT17ZmFjdG9yeVR5cGV9IC8+fVxuICAgICAgICAgIGxpbmtlZEhlYWRlclVybD17XG4gICAgICAgICAgICBub2RlRGF0dW0uYXR0cmlidXRlc1xuICAgICAgICAgICAgICA/IGAvZGFzaGJvYXJkX3YyL3NpdGUvJHtub2RlRGF0dW0uYXR0cmlidXRlcy5wb2ludF9pZH1gXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J25vZGUtY29udGVudCd9IHN0eWxlPXtjb250ZW50U3R5bGV9PlxuICAgICAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzICYmIGlzTW9uaXRvcmVkICYmIGNoaWxkcmVufVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0NhcmRMYXlvdXQ+XG4gICAgICA8L2ZvcmVpZ25PYmplY3Q+XG4gICAgICB7aXNMZWFmTm9kZSAmJiA8TGVhZlNpZ24gY29sb3I9e2JvcmRlckNvbG9yfSAvPn1cbiAgICA8L2c+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgTm9kZUxheW91dDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElB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
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIl9pY29ucyIsIl9Qb2xsdXRpb25TY29yZVBlcmNlbnQiLCJfc2NvcmVUb0RhdGEiLCJfU2V2ZXJpdHlCYWRnZSIsIk5vZGVMYXlvdXQiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczMiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM0IiwiX25vZGVEYXR1bSRuYW1lIiwiX25vZGVEYXR1bSRuYW1lJHRvTG93IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNSIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczYiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM3IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzOCIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczkiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMxMCIsIm5vZGVEYXR1bSIsInRvZ2dsZU5vZGUiLCJzZWFyY2hUZXJtIiwic2hvd1NhbXBsZXJzIiwiY2hpbGRyZW4iLCJjb250ZW50U3R5bGUiLCJmYWN0b3J5VHlwZSIsImF0dHJpYnV0ZXMiLCJ0eXBlIiwiaXNMZWFmTm9kZSIsImxlbmd0aCIsImlzTW9uaXRvcmVkIiwibW9uaXRvcmVkIiwic2NvcmUiLCJib3JkZXJDb2xvciIsInRoZW1lIiwibmF0dXJhbCIsIm4zMCIsImlzSGlnaGxpZ2h0ZWQiLCJuYW1lIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImFyZWFfbmFtZSIsImNhcmRTdHlsZSIsImJvcmRlclJhZGl1cyIsImJyYW5kIiwic3VyZmFjZSIsIm11dGVkIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJXaWR0aCIsImJhY2tncm91bmRDb2xvciIsInN0cm9rZSIsImhlaWdodCIsInRpdGxlIiwiaXNTaG93U2FtcGxlciIsImhhc19zYW1wbGVyIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwic3R5bGUiLCJjdXJzb3IiLCJ4IiwieSIsIndpZHRoIiwicG9pbnRfaWQiLCJBY3Rpb25zQ29udGFpbmVyIiwiU3R5bGVkTGluayIsInN0cm9rZVdpZHRoIiwiYmFja2dyb3VuZCIsIm1hcmdpbklubGluZVN0YXJ0IiwidGFyZ2V0IiwidXBkYXRlUGFyYW1zIiwidmlldyIsInRvIiwiY29uY2F0IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsInBsYWNlbWVudCIsIlRyYW5zIiwiaTE4bktleSIsIk1hcFN2ZyIsImNsYXNzTmFtZSIsInNyYyIsInNhbXBsZXJJY29uIiwiYWx0IiwiaGVhZGVyUmlnaHQiLCJXcmFwcGVyIiwic2NvcmVDb2xvciIsInNjb3JlVG9Db2xvciIsInVwIiwiU2V2ZXJpdHlCYWRnZSIsInByb3BzIiwiaGFzX2RldmljZSIsImNvbG9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9Ob2RlTGF5b3V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IENhcmRMYXlvdXQgZnJvbSAnLi4vLi4vV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0ZhY3Rvcmllcy9GYWN0b3J5Qm94L0NhcmRMYXlvdXQnO1xuaW1wb3J0IE5vZGVJY29uIGZyb20gJy4vTm9kZUljb24nO1xuaW1wb3J0IHsgTWFwU3ZnIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2ljb25zL1RvcE5hdmJhcic7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCB7IEFjdGlvbnNDb250YWluZXIsIE5vZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IExlYWZTaWduIGZyb20gJy4vTGVhZlNpZ24nO1xuaW1wb3J0IHsgVHJhbnMgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE92ZXJsYXlUcmlnZ2VyLCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHNhbXBsZXJJY29uIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9tYXAvaWNvbnMnO1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuaW1wb3J0IHsgV3JhcHBlciB9IGZyb20gJy4uLy4uL1dpZGdldHMvTW9zdFBvbGx1dGluZy9jb21wb25lbnRzL1BvbGx1dGlvblNjb3JlUGVyY2VudCc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvc2NvcmVUb0RhdGEnO1xuaW1wb3J0IHsgU2V2ZXJpdHlCYWRnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Rhc2hib2FyZE1hcC9TZXZlcml0eUJhZGdlJztcblxuY29uc3QgTm9kZUxheW91dCA9ICh7XG4gIG5vZGVEYXR1bSxcbiAgdG9nZ2xlTm9kZSxcbiAgc2VhcmNoVGVybSxcbiAgc2hvd1NhbXBsZXJzLFxuICBjaGlsZHJlbixcbiAgY29udGVudFN0eWxlLFxufTogTm9kZVByb3BzKSA9PiB7XG4gIGNvbnN0IGZhY3RvcnlUeXBlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnR5cGUgfHwgJyc7XG4gIGNvbnN0IGlzTGVhZk5vZGUgPSAhbm9kZURhdHVtLmNoaWxkcmVuIHx8IG5vZGVEYXR1bS5jaGlsZHJlbi5sZW5ndGggPT09IDA7XG4gIGNvbnN0IGlzTW9uaXRvcmVkID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/Lm1vbml0b3JlZDtcbiAgY29uc3Qgc2NvcmUgPSBub2RlRGF0dW0uYXR0cmlidXRlcz8uc2NvcmUgPz8gLTE7XG4gIGNvbnN0IGJvcmRlckNvbG9yID0gdGhlbWUubmF0dXJhbC5uMzA7XG4gIGNvbnN0IGlzSGlnaGxpZ2h0ZWQgPVxuICAgICEhc2VhcmNoVGVybSAmJlxuICAgIChub2RlRGF0dW0ubmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgbm9kZURhdHVtPy5hdHRyaWJ1dGVzPy5hcmVhX25hbWVcbiAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgID8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSk7XG4gIC8vIGNvbnN0IGlzRm9jdXNlZCA9IHNpdGVJRCA9PT0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpO1xuXG4gIGNvbnN0IGNhcmRTdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHtcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGJvcmRlckNvbG9yOiBpc0hpZ2hsaWdodGVkID8gdGhlbWUuYnJhbmQuc3VyZmFjZS5tdXRlZCA6IGJvcmRlckNvbG9yLFxuICAgIGJvcmRlclN0eWxlOiBpc01vbml0b3JlZCA/ICdzb2xpZCcgOiAnZGFzaGVkJyxcbiAgICBib3JkZXJXaWR0aDogJzNweCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgc3Ryb2tlOiAnbm9uZScsXG4gICAgaGVpZ2h0OiAnMTcwcHgnLFxuICB9O1xuICBjb25zdCB0aXRsZSA9XG4gICAgZmFjdG9yeVR5cGUgPT09ICdhcmVhJ1xuICAgICAgPyBub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9uYW1lIHx8IG5vZGVEYXR1bS5uYW1lXG4gICAgICA6IG5vZGVEYXR1bS5uYW1lO1xuICAvLyBjb25zdCBvblNob3dEZXRhaWxzID0gKGV2ZW50KSA9PiB7XG4gIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIC8vICAgb25Ob2RlQ2xpY2sobm9kZURhdHVtKTtcbiAgLy8gfTtcbiAgY29uc3QgaXNTaG93U2FtcGxlciA9IHNob3dTYW1wbGVycyAmJiBub2RlRGF0dW0uYXR0cmlidXRlcz8uaGFzX3NhbXBsZXI7XG5cbiAgaWYgKCFub2RlRGF0dW0ubmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGcgb25DbGljaz17dG9nZ2xlTm9kZX0gc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICA8Zm9yZWlnbk9iamVjdCB4PVwiLTEwMFwiIHk9XCItMTM3XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIyNTBcIj5cbiAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7Lyp7ZWFybHlBZG9wdGVyICYmICgqL31cbiAgICAgICAgICAgIHsvKiAgPHNwYW4gc3R5bGU9e3sgbWFyZ2luSW5saW5lRW5kOiAnOHB4JyB9fT4qL31cbiAgICAgICAgICAgIHsvKiAgICA8T3ZlcmxheVRyaWdnZXIqL31cbiAgICAgICAgICAgIHsvKiAgICAgIG92ZXJsYXk9eyovfVxuICAgICAgICAgICAgey8qICAgICAgICA8VG9vbHRpcCBpZD17J2RldGFpbHMnfSBwbGFjZW1lbnQ9XCJhdXRvXCI+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgPFRyYW5zKi99XG4gICAgICAgICAgICB7LyogICAgICAgICAgICBpMThuS2V5PXsnZ3JvdXBfc2NyZWVuLmdlbmVyYWxfdGFiLmdyb3VwX2RldGFpbHMnfSovfVxuICAgICAgICAgICAgey8qICAgICAgICAgIC8+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDwvVG9vbHRpcD4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIH0qL31cbiAgICAgICAgICAgIHsvKiAgICA+Ki99XG4gICAgICAgICAgICB7LyogICAgICA8RGV0YWlsc1N2ZyBvbkNsaWNrPXtvblNob3dEZXRhaWxzfSAvPiovfVxuICAgICAgICAgICAgey8qICAgIDwvT3ZlcmxheVRyaWdnZXI+Ki99XG4gICAgICAgICAgICB7LyogIDwvc3Bhbj4qL31cbiAgICAgICAgICAgIHsvKil9Ki99XG4gICAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdGhlbWUuYnJhbmQuc3VyZmFjZS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgbWFyZ2luSW5saW5lU3RhcnQ6IDY0LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICB1cGRhdGVQYXJhbXM9e3sgdmlldzogJ21hcCcgfX1cbiAgICAgICAgICAgICAgdG89e2AvZGFzaGJvYXJkX3YyL3NpdGUvJHtub2RlRGF0dW0uYXR0cmlidXRlcy5wb2ludF9pZH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE92ZXJsYXlUcmlnZ2VyXG4gICAgICAgICAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCBpZD1cIm1hcFwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zIGkxOG5LZXk9eydoZWFkZXIubWFwJ30gLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWFwU3ZnIHN0eWxlPXt7IHdpZHRoOiA1NSwgaGVpZ2h0OiA1NSB9fSAvPlxuICAgICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICAgICAgICAge2lzU2hvd1NhbXBsZXIgJiYgKFxuICAgICAgICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICAgICAgICBvdmVybGF5PXtcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwic2FtcGxlclwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zXG4gICAgICAgICAgICAgICAgICAgICAgaTE4bktleT17XG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLmhpZXJhcmNoeS5zYW1wbGVyJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydzYW1wbGVyLWljb24taG9sZGVyJ30+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIHNyYz17c2FtcGxlckljb24oKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2FtcGxlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PXsnc2FtcGxlcid9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9PdmVybGF5VHJpZ2dlcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgICA8Q2FyZExheW91dFxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICBzdHlsZT17Y2FyZFN0eWxlfVxuICAgICAgICAgIGhlYWRlclJpZ2h0PXs8Tm9kZUljb24gdHlwZT17ZmFjdG9yeVR5cGV9IC8+fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydub2RlLWNvbnRlbnQnfSBzdHlsZT17Y29udGVudFN0eWxlfT5cbiAgICAgICAgICAgIHtub2RlRGF0dW0uYXR0cmlidXRlcyAmJiBpc01vbml0b3JlZCAmJiAoXG4gICAgICAgICAgICAgIC8vIDxTZXZlcml0eUJhZGdlXG4gICAgICAgICAgICAgIC8vICAgY2xhc3NOYW1lPXsnc2NvcmUnfVxuICAgICAgICAgICAgICAvLyAgIHByb3BzPXt7IHNjb3JlLCBoYXNfZGV2aWNlOiBpc01vbml0b3JlZCB9fVxuICAgICAgICAgICAgICAvLyAvPiAmJlxuICAgICAgICAgICAgICA8V3JhcHBlciBzY29yZUNvbG9yPXtzY29yZVRvQ29sb3Ioc2NvcmUpfSB1cD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgPFNldmVyaXR5QmFkZ2VcbiAgICAgICAgICAgICAgICAgIHByb3BzPXt7IHNjb3JlLCBoYXNfZGV2aWNlOiBpc01vbml0b3JlZCB9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnc2NvcmUnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvV3JhcHBlcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ2FyZExheW91dD5cbiAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgIHtpc0xlYWZOb2RlICYmIDxMZWFmU2lnbiBjb2xvcj17Ym9yZGVyQ29sb3J9IC8+fVxuICAgIDwvZz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOb2RlTGF5b3V0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
|