@kando-env/kando-ui 1.2.411 → 1.2.412-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.List = void 0;
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
10
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
11
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
12
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
10
  var _react = _interopRequireWildcard(require("react"));
14
11
  var _theme = require("styles/theme/theme");
@@ -23,12 +20,13 @@ var _i18n = _interopRequireDefault(require("utilities/i18n"));
23
20
  var _DischargePattern = require("../SitePage/DischargePattern/DischargePattern");
24
21
  var _QualitySummary = require("Widgets/QualitySummary/QualitySummary");
25
22
  var _LineChart = require("pages/AreaPage/Dashboard/LineChart/LineChart");
26
- var _WWTPDashboardSlice = require("store/WWTPDashboard/WWTPDashboardSlice");
27
23
  var _reactI18next = require("react-i18next");
28
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ // import { setFocusedArea } from 'src/store/WWTPDashboard/WWTPDashboardSlice';
27
+
30
28
  var List = function List(props) {
31
- var _WWTPInfo$point, _focusedArea$sub_area, _WWTPInfo$point2;
29
+ var _WWTPInfo$point, _focusedArea$sub_area, _focusedArea$sub_area3, _WWTPInfo$point2;
32
30
  var ReduxState = (0, _reactRedux.useSelector)(function (state) {
33
31
  return state;
34
32
  });
@@ -37,10 +35,8 @@ var List = function List(props) {
37
35
  sub_areas: 'sub_areas',
38
36
  factories: 'factories'
39
37
  };
40
- var areas_data = ReduxState.areas_data,
41
- points_data = ReduxState.points_data,
42
- global_data = ReduxState.global_data;
43
- var dispatch = (0, _reactRedux.useDispatch)();
38
+ var global_data = ReduxState.global_data;
39
+ // const dispatch = useDispatch();
44
40
  var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
45
41
  selectedItem = _useSelectedItem.selectedItem,
46
42
  handleSelectItem = _useSelectedItem.handleSelectItem;
@@ -120,64 +116,75 @@ var List = function List(props) {
120
116
  };
121
117
 
122
118
  // Update the list only if the score of at least one of the sub-areas has changed
123
- (0, _react.useEffect)(function () {
124
- if (focusedArea && focusedArea.sub_areas && focusedArea.sub_areas.length > 0 && (areas_data === null || areas_data === void 0 ? void 0 : areas_data.isFetching) === false) {
125
- var subAreasChanged = areasScoreChangedById(focusedArea.sub_areas, areas_data.newAreas);
126
- if (!subAreasChanged) return;
127
- var focusedAreaWithUpdatedSubAreas = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, focusedArea), {}, {
128
- sub_areas: getUpdatedAreasById(focusedArea.sub_areas, areas_data.newAreas)
129
- });
130
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedAreaWithUpdatedSubAreas));
131
- }
132
- }, [areas_data]);
133
- (0, _react.useEffect)(function () {
134
- var _points_data$items;
135
- if (!focusedArea || !focusedArea.factories || focusedArea.factories.length === 0 || (points_data === null || points_data === void 0 ? void 0 : points_data.isFetching) === true || (points_data === null || points_data === void 0 ? void 0 : (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.length) === 0) return;
136
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, focusedArea), {}, {
137
- factories: (0, _utils.getPoints)(focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.factories, points_data.items)
138
- })));
139
- }, [points_data, areas_data]);
140
- var areasScoreChangedById = function areasScoreChangedById(arr1, arr2) {
141
- // go over the 1st array
142
- var _iterator = (0, _createForOfIteratorHelper2.default)(arr1),
143
- _step;
144
- try {
145
- var _loop = function _loop() {
146
- var item1 = _step.value;
147
- // Find the object with the same id in the second array
148
- var matchingItem = arr2.find(function (item2) {
149
- return (item2 === null || item2 === void 0 ? void 0 : item2.area_id) === (item1 === null || item1 === void 0 ? void 0 : item1.area_id);
150
- });
119
+ // useEffect(() => {
120
+ // if (
121
+ // focusedArea &&
122
+ // focusedArea.sub_areas &&
123
+ // focusedArea.sub_areas.length > 0 &&
124
+ // areas_data?.isFetching === false
125
+ // ) {
126
+ // const subAreasChanged = areasScoreChangedById(
127
+ // focusedArea.sub_areas,
128
+ // areas_data.newAreas,
129
+ // );
130
+ // if (!subAreasChanged) return;
151
131
 
152
- // Return true if one matching item is found in the second array and their scores changed
153
- if (matchingItem && item1.area_score !== matchingItem.area_score) {
154
- return {
155
- v: true
156
- };
157
- }
158
- };
159
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
160
- var _ret = _loop();
161
- if ((0, _typeof2.default)(_ret) === "object") return _ret.v;
162
- }
132
+ // const focusedAreaWithUpdatedSubAreas = {
133
+ // ...focusedArea,
134
+ // sub_areas: getUpdatedAreasById(
135
+ // focusedArea.sub_areas,
136
+ // areas_data.newAreas,
137
+ // ),
138
+ // };
139
+ // dispatch(setFocusedArea(focusedAreaWithUpdatedSubAreas));
140
+ // }
141
+ // }, [areas_data]);
163
142
 
164
- // If all items matched and had the same score, return false
165
- } catch (err) {
166
- _iterator.e(err);
167
- } finally {
168
- _iterator.f();
169
- }
170
- return false;
171
- };
172
- var getUpdatedAreasById = function getUpdatedAreasById(array1, array2) {
173
- var updatedArray = array2.filter(function (obj2) {
174
- return array1.some(function (obj1) {
175
- return obj1.area_id === obj2.area_id;
176
- });
177
- });
178
- return (updatedArray === null || updatedArray === void 0 ? void 0 : updatedArray.length) > 0 ? updatedArray : array1;
179
- };
180
- var listType = (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.area_id) === null ? listTypes.areas : (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.sub_areas.length) > 0 ? listTypes.sub_areas : noAreas ? '' : listTypes.factories;
143
+ // useEffect(() => {
144
+ // if (
145
+ // !focusedArea ||
146
+ // !focusedArea.factories ||
147
+ // focusedArea.factories.length === 0 ||
148
+ // points_data?.isFetching === true ||
149
+ // points_data?.items?.length === 0
150
+ // )
151
+ // return;
152
+
153
+ // dispatch(
154
+ // setFocusedArea({
155
+ // ...focusedArea,
156
+ // factories: getPoints(focusedArea?.factories, points_data.items),
157
+ // }),
158
+ // );
159
+ // }, [points_data, areas_data]);
160
+
161
+ // const areasScoreChangedById = (arr1, arr2) => {
162
+ // // go over the 1st array
163
+ // for (let item1 of arr1) {
164
+ // // Find the object with the same id in the second array
165
+ // let matchingItem = arr2.find(
166
+ // (item2) => item2?.area_id === item1?.area_id,
167
+ // );
168
+
169
+ // // Return true if one matching item is found in the second array and their scores changed
170
+ // if (matchingItem && item1.area_score !== matchingItem.area_score) {
171
+ // return true;
172
+ // }
173
+ // }
174
+
175
+ // // If all items matched and had the same score, return false
176
+ // return false;
177
+ // };
178
+
179
+ // const getUpdatedAreasById = (array1, array2) => {
180
+ // const updatedArray = array2.filter((obj2) =>
181
+ // array1.some((obj1) => obj1.area_id === obj2.area_id),
182
+ // );
183
+
184
+ // return updatedArray?.length > 0 ? updatedArray : array1;
185
+ // };
186
+
187
+ var listType = (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.area_id) === null ? listTypes.areas : (focusedArea === null || focusedArea === void 0 ? void 0 : (_focusedArea$sub_area3 = focusedArea.sub_areas) === null || _focusedArea$sub_area3 === void 0 ? void 0 : _focusedArea$sub_area3.length) > 0 ? listTypes.sub_areas : noAreas ? '' : listTypes.factories;
181
188
  var translatedListType = listType === '' ? '' : /*#__PURE__*/_react.default.createElement("span", null, ' ', "- ", /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
182
189
  i18nKey: _i18n.default.t("wwtpPage.list_type.".concat(listType))
183
190
  }));
@@ -229,4 +236,4 @@ var ErrorMessage = _styledComponents.default.div.withConfig({
229
236
  displayName: "List__ErrorMessage",
230
237
  componentId: "sc-1f5wz2c-4"
231
238
  })(["display:flex;height:100%;font-size:20px;justify-content:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;padding:20px;"]);
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX3JlYWN0STE4bmV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkxpc3QiLCJwcm9wcyIsIl9XV1RQSW5mbyRwb2ludCIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYSIsIl9XV1RQSW5mbyRwb2ludDIiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImxpc3RUeXBlcyIsImFyZWFzIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwiYXJlYXNfZGF0YSIsInBvaW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJXV1RQSW5mbyIsIl91c2VTZWxlY3RvciIsInd3dHBfZGFzaGJvYXJkIiwiZm9jdXNlZEFyZWEiLCJtYXAiLCJzZWxlY3RlZFJlZiIsInVzZVJlZiIsInNpdGVJRCIsInBvaW50IiwiaWQiLCJoYW5kbGVJdGVtQ2xpY2siLCJpdGVtIiwibm9EYXRhTWVzc2FnZSIsImkxOG4iLCJ0Iiwic2hvd2VkQXJlYXMiLCJhbGxBcnJheSIsInNvcnRBcmVhcyIsImZpbHRlciIsIkJvb2xlYW4iLCJhcmVhX2lkIiwiYXJlYV9uYW1lIiwiYXJlYSIsInRvcF9sZXZlbCIsIm5vQXJlYXMiLCJmb3JXV1RQTWFwIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwibGlzdERldGFpbHMiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEyIiwiaGFzX2RldmljZSIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0Q29udGFpbmVyIiwiRXJyb3JNZXNzYWdlIiwiU3VtbWFyeUNvbXBvbmVudCIsImVuZHBvaW50IiwiY29uY2F0IiwiY2xhc3NOYW1lIiwiTGluZUNoYXJ0Q29tcG9uZW50IiwidGl0bGUiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwiQXJlYUNhcmQiLCJvYmplY3QiLCJtYXBSZWYiLCJvbkNsaWNrIiwic2VsZWN0ZWQiLCJpdGVtUmVmIiwic29ydFBvaW50cyIsImZhY3RvcnkiLCJGYWN0b3J5Q2FyZCIsInVzZUVmZmVjdCIsImlzRmV0Y2hpbmciLCJzdWJBcmVhc0NoYW5nZWQiLCJhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQiLCJuZXdBcmVhcyIsImZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcyIsIl9vYmplY3RTcHJlYWQyIiwiZ2V0VXBkYXRlZEFyZWFzQnlJZCIsInNldEZvY3VzZWRBcmVhIiwiX3BvaW50c19kYXRhJGl0ZW1zIiwiaXRlbXMiLCJnZXRQb2ludHMiLCJhcnIxIiwiYXJyMiIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwiX2xvb3AiLCJpdGVtMSIsInZhbHVlIiwibWF0Y2hpbmdJdGVtIiwiZmluZCIsIml0ZW0yIiwiYXJlYV9zY29yZSIsInYiLCJzIiwibiIsImRvbmUiLCJfcmV0IiwiX3R5cGVvZjIiLCJlcnIiLCJlIiwiZiIsImFycmF5MSIsImFycmF5MiIsInVwZGF0ZWRBcnJheSIsIm9iajIiLCJzb21lIiwib2JqMSIsImxpc3RUeXBlIiwidHJhbnNsYXRlZExpc3RUeXBlIiwiVHJhbnMiLCJpMThuS2V5IiwiX3NlbGVjdGVkUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaW5saW5lIiwiZ3JvdXAiLCJ0eXBlIiwiY2xpY2tlZCIsIldXVFBEZXRhaWxzIiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hbWUiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJ0aGVtZSIsIldXVFBNYXAiLCJiZyIsIlF1YWxpdHlTdW1tYXJ5IiwiTGluZUNoYXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBnZXRQb2ludHMsIHNvcnRQb2ludHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEFyZWFDYXJkIH0gZnJvbSAnLi9BcmVhQ2FyZCc7XG5pbXBvcnQgeyBGYWN0b3J5Q2FyZCB9IGZyb20gJy4vRmFjdG9yeUNhcmQnO1xuaW1wb3J0IE9yZ2FuaWNDYXJkIGZyb20gJy4uL1d3dHBQYWdlL09yZ2FuaWNDYXJkJztcbmltcG9ydCBJbXBhY3RDYXJkIGZyb20gJy4uL1d3dHBQYWdlL1BvdGVudGlhbFNhdmluZyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBEaXNjaGFyZ2VQYXR0ZXJuIH0gZnJvbSAnLi4vU2l0ZVBhZ2UvRGlzY2hhcmdlUGF0dGVybi9EaXNjaGFyZ2VQYXR0ZXJuJztcbmltcG9ydCB7IFF1YWxpdHlTdW1tYXJ5IH0gZnJvbSAnc3JjL1dpZGdldHMvUXVhbGl0eVN1bW1hcnkvUXVhbGl0eVN1bW1hcnknO1xuaW1wb3J0IHsgTGluZUNoYXJ0IH0gZnJvbSAnc3JjL3BhZ2VzL0FyZWFQYWdlL0Rhc2hib2FyZC9MaW5lQ2hhcnQvTGluZUNoYXJ0JztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBXV1RQSW5mbzogYW55O1xuICBkaXNwYXRjaDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IExpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBsaXN0VHlwZXMgPSB7XG4gICAgYXJlYXM6ICdhcmVhcycsXG4gICAgc3ViX2FyZWFzOiAnc3ViX2FyZWFzJyxcbiAgICBmYWN0b3JpZXM6ICdmYWN0b3JpZXMnLFxuICB9O1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIHBvaW50c19kYXRhLCBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICBjb25zdCBsaXN0RGV0YWlscyA9ICgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9BcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gc2hvd2VkQXJlYXMoZm9jdXNlZEFyZWEpLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhhcmVhLmFyZWFfaWQpfVxuICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gVXBkYXRlIHRoZSBsaXN0IG9ubHkgaWYgdGhlIHNjb3JlIG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgc3ViLWFyZWFzIGhhcyBjaGFuZ2VkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZm9jdXNlZEFyZWEgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDAgJiZcbiAgICAgIGFyZWFzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICBjb25zdCBzdWJBcmVhc0NoYW5nZWQgPSBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQoXG4gICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgICAgICk7XG4gICAgICBpZiAoIXN1YkFyZWFzQ2hhbmdlZCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMgPSB7XG4gICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAgICAgICBzdWJfYXJlYXM6IGdldFVwZGF0ZWRBcmVhc0J5SWQoXG4gICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAgICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gICAgICAgICksXG4gICAgICB9O1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzKSk7XG4gICAgfVxuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWZvY3VzZWRBcmVhIHx8XG4gICAgICAhZm9jdXNlZEFyZWEuZmFjdG9yaWVzIHx8XG4gICAgICBmb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YT8uaXNGZXRjaGluZyA9PT0gdHJ1ZSB8fFxuICAgICAgcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggPT09IDBcbiAgICApXG4gICAgICByZXR1cm47XG5cbiAgICBkaXNwYXRjaChcbiAgICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YSwgYXJlYXNfZGF0YV0pO1xuXG4gIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZChcbiAgICAgICAgKGl0ZW0yKSA9PiBpdGVtMj8uYXJlYV9pZCA9PT0gaXRlbTE/LmFyZWFfaWQsXG4gICAgICApO1xuXG4gICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcy5sZW5ndGggPiAwXG4gICAgICA/IGxpc3RUeXBlcy5zdWJfYXJlYXNcbiAgICAgIDogbm9BcmVhc1xuICAgICAgPyAnJ1xuICAgICAgOiBsaXN0VHlwZXMuZmFjdG9yaWVzO1xuXG4gIGNvbnN0IHRyYW5zbGF0ZWRMaXN0VHlwZSA9XG4gICAgbGlzdFR5cGUgPT09ICcnID8gKFxuICAgICAgJydcbiAgICApIDogKFxuICAgICAgPHNwYW4+XG4gICAgICAgIHsnICd9XG4gICAgICAgIC0gPFRyYW5zIGkxOG5LZXk9e2kxOG4udChgd3d0cFBhZ2UubGlzdF90eXBlLiR7bGlzdFR5cGV9YCl9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlbGVjdGVkUmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICAgIGlubGluZTogJ2NlbnRlcicsXG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICBpZiAoXG4gICAgZm9jdXNlZEFyZWE/Lmdyb3VwICYmXG4gICAgZm9jdXNlZEFyZWEuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JyAmJlxuICAgIGZvY3VzZWRBcmVhPy5jbGlja2VkID09PSB1bmRlZmluZWRcbiAgKVxuICAgIHJldHVybiAoXG4gICAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgICA8aDM+e1dXVFBJbmZvLnBvaW50Py5uYW1lfTwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaC1hdXRvIG15LTQnfT5cbiAgICAgICAgICA8T3JnYW5pY0NhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaC1hdXRvIG10LTInfT5cbiAgICAgICAgICA8SW1wYWN0Q2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvV1dUUERldGFpbHM+XG4gICAgKTtcblxuICByZXR1cm4gKFxuICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICA8aDM+XG4gICAgICAgIHtmb2N1c2VkQXJlYT8uYXJlYV9uYW1lIHx8XG4gICAgICAgICAgZm9jdXNlZEFyZWE/Lm5hbWUgfHxcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWV9XG4gICAgICAgIHt0cmFuc2xhdGVkTGlzdFR5cGV9XG4gICAgICA8L2gzPlxuICAgICAgPHVsIGNsYXNzTmFtZT17J214LW4zJ30+e2xpc3REZXRhaWxzKCl9PC91bD5cbiAgICA8L1dXVFBEZXRhaWxzPlxuICApO1xufTtcblxuY29uc3QgV1dUUERldGFpbHMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICBiYWNrZ3JvdW5kOiAke3RoZW1lLldXVFBNYXAuYmd9O1xuYDtcblxuY29uc3QgU3VtbWFyeUNvbXBvbmVudCA9IHN0eWxlZChRdWFsaXR5U3VtbWFyeSlgXG4gIGdyaWQtYXJlYTogc3VtbWFyeTtcblxuICBzdW1tYXJ5LWNvbXBvbmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuYDtcblxuY29uc3QgTGluZUNoYXJ0Q29tcG9uZW50ID0gc3R5bGVkKExpbmVDaGFydClgXG4gIGdyaWQtYXJlYTogZ3JhcGg7XG5gO1xuXG5jb25zdCBMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGdhcDogMzBweDtcbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZWJlYmViO1xuICBwYWRkaW5nOiAyMHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFB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
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfcmVhY3RJMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMaXN0IiwicHJvcHMiLCJfV1dUUEluZm8kcG9pbnQiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEzIiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibGlzdFR5cGVzIiwiYXJlYXMiLCJzdWJfYXJlYXMiLCJmYWN0b3JpZXMiLCJnbG9iYWxfZGF0YSIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiV1dUUEluZm8iLCJfdXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImZvY3VzZWRBcmVhIiwibWFwIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsInNob3dlZEFyZWFzIiwiYWxsQXJyYXkiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYV9pZCIsImFyZWFfbmFtZSIsImFyZWEiLCJ0b3BfbGV2ZWwiLCJub0FyZWFzIiwiZm9yV1dUUE1hcCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImxpc3REZXRhaWxzIiwiX2ZvY3VzZWRBcmVhJHN1Yl9hcmVhMiIsImhhc19kZXZpY2UiLCJjcmVhdGVFbGVtZW50IiwiTGlzdENvbnRhaW5lciIsIkVycm9yTWVzc2FnZSIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiRGlzY2hhcmdlUGF0dGVybiIsIk51bWJlciIsIkFyZWFDYXJkIiwib2JqZWN0IiwibWFwUmVmIiwib25DbGljayIsInNlbGVjdGVkIiwiaXRlbVJlZiIsInNvcnRQb2ludHMiLCJmYWN0b3J5IiwiRmFjdG9yeUNhcmQiLCJsaXN0VHlwZSIsInRyYW5zbGF0ZWRMaXN0VHlwZSIsIlRyYW5zIiwiaTE4bktleSIsInVzZUVmZmVjdCIsIl9zZWxlY3RlZFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsImlubGluZSIsImdyb3VwIiwidHlwZSIsImNsaWNrZWQiLCJXV1RQRGV0YWlscyIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGhlbWUiLCJXV1RQTWFwIiwiYmciLCJRdWFsaXR5U3VtbWFyeSIsIkxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBzb3J0UG9pbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG4vLyBpbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgV1dUUEluZm86IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgbGlzdFR5cGVzID0ge1xuICAgIGFyZWFzOiAnYXJlYXMnLFxuICAgIHN1Yl9hcmVhczogJ3N1Yl9hcmVhcycsXG4gICAgZmFjdG9yaWVzOiAnZmFjdG9yaWVzJyxcbiAgfTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgLy8gY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICBjb25zdCBsaXN0RGV0YWlscyA9ICgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9BcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gc2hvd2VkQXJlYXMoZm9jdXNlZEFyZWEpLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhhcmVhLmFyZWFfaWQpfVxuICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gVXBkYXRlIHRoZSBsaXN0IG9ubHkgaWYgdGhlIHNjb3JlIG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgc3ViLWFyZWFzIGhhcyBjaGFuZ2VkXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgZm9jdXNlZEFyZWEgJiZcbiAgLy8gICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAvLyAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDAgJiZcbiAgLy8gICAgIGFyZWFzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IGZhbHNlXG4gIC8vICAgKSB7XG4gIC8vICAgICBjb25zdCBzdWJBcmVhc0NoYW5nZWQgPSBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQoXG4gIC8vICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgLy8gICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgLy8gICAgICk7XG4gIC8vICAgICBpZiAoIXN1YkFyZWFzQ2hhbmdlZCkgcmV0dXJuO1xuXG4gIC8vICAgICBjb25zdCBmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMgPSB7XG4gIC8vICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAvLyAgICAgICBzdWJfYXJlYXM6IGdldFVwZGF0ZWRBcmVhc0J5SWQoXG4gIC8vICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAvLyAgICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gIC8vICAgICAgICksXG4gIC8vICAgICB9O1xuICAvLyAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzKSk7XG4gIC8vICAgfVxuICAvLyB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgIWZvY3VzZWRBcmVhIHx8XG4gIC8vICAgICAhZm9jdXNlZEFyZWEuZmFjdG9yaWVzIHx8XG4gIC8vICAgICBmb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwIHx8XG4gIC8vICAgICBwb2ludHNfZGF0YT8uaXNGZXRjaGluZyA9PT0gdHJ1ZSB8fFxuICAvLyAgICAgcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggPT09IDBcbiAgLy8gICApXG4gIC8vICAgICByZXR1cm47XG5cbiAgLy8gICBkaXNwYXRjaChcbiAgLy8gICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgLy8gICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gIC8vICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgLy8gICAgIH0pLFxuICAvLyAgICk7XG4gIC8vIH0sIFtwb2ludHNfZGF0YSwgYXJlYXNfZGF0YV0pO1xuXG4gIC8vIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gIC8vICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gIC8vICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAvLyAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAvLyAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZChcbiAgLy8gICAgICAgKGl0ZW0yKSA9PiBpdGVtMj8uYXJlYV9pZCA9PT0gaXRlbTE/LmFyZWFfaWQsXG4gIC8vICAgICApO1xuXG4gIC8vICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAvLyAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG5cbiAgLy8gICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAvLyAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gIC8vICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAvLyAgICk7XG5cbiAgLy8gICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICAvLyB9O1xuXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubGVuZ3RoID4gMFxuICAgICAgPyBsaXN0VHlwZXMuc3ViX2FyZWFzXG4gICAgICA6IG5vQXJlYXNcbiAgICAgID8gJydcbiAgICAgIDogbGlzdFR5cGVzLmZhY3RvcmllcztcblxuICBjb25zdCB0cmFuc2xhdGVkTGlzdFR5cGUgPVxuICAgIGxpc3RUeXBlID09PSAnJyA/IChcbiAgICAgICcnXG4gICAgKSA6IChcbiAgICAgIDxzcGFuPlxuICAgICAgICB7JyAnfVxuICAgICAgICAtIDxUcmFucyBpMThuS2V5PXtpMThuLnQoYHd3dHBQYWdlLmxpc3RfdHlwZS4ke2xpc3RUeXBlfWApfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWxlY3RlZFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICBpbmxpbmU6ICdjZW50ZXInLFxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgaWYgKFxuICAgIGZvY3VzZWRBcmVhPy5ncm91cCAmJlxuICAgIGZvY3VzZWRBcmVhLmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgJiZcbiAgICBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkXG4gIClcbiAgICByZXR1cm4gKFxuICAgICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgICAgPGgzPntXV1RQSW5mby5wb2ludD8ubmFtZX08L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBteS00J30+XG4gICAgICAgICAgPE9yZ2FuaWNDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBtdC0yJ30+XG4gICAgICAgICAgPEltcGFjdENhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1dXVFBEZXRhaWxzPlxuICAgICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgPGgzPlxuICAgICAgICB7Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fFxuICAgICAgICAgIGZvY3VzZWRBcmVhPy5uYW1lIHx8XG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lfVxuICAgICAgICB7dHJhbnNsYXRlZExpc3RUeXBlfVxuICAgICAgPC9oMz5cbiAgICAgIDx1bCBjbGFzc05hbWU9eydteC1uMyd9PntsaXN0RGV0YWlscygpfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLGdCQUFBLEdBQUFELHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxLQUFBLEdBQUFILHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBVyxpQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBRUEsSUFBQWMsYUFBQSxHQUFBZCxPQUFBO0FBQXNDLFNBQUFlLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZ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
@@ -133,15 +133,16 @@ var WWTPMap = function WWTPMap(props) {
133
133
  // }, [ReduxState.wwtp_dashboard.focusedArea]);
134
134
 
135
135
  var getAreaToCenterBy = function getAreaToCenterBy() {
136
- var _ReduxState$wwtp_dash2, _ReduxState$wwtp_dash4, _ReduxState$wwtp_dash5;
136
+ var _ReduxState$wwtp_dash2;
137
137
  if ((_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data) {
138
138
  var _ReduxState$wwtp_dash3;
139
139
  return (_ReduxState$wwtp_dash3 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash3 === void 0 ? void 0 : _ReduxState$wwtp_dash3.shape_data;
140
140
  }
141
- return (_ReduxState$wwtp_dash4 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash4 === void 0 ? void 0 : (_ReduxState$wwtp_dash5 = _ReduxState$wwtp_dash4.sub_areas) === null || _ReduxState$wwtp_dash5 === void 0 ? void 0 : _ReduxState$wwtp_dash5.map(function (area) {
142
- return area.shape_data;
143
- });
141
+ // return ReduxState.wwtp_dashboard.focusedArea?.sub_areas?.map(
142
+ // (area) => area.shape_data,
143
+ // );
144
144
  };
145
+
145
146
  var showList = (0, _react.useMemo)(function () {
146
147
  if (areas_data.isFetching || points_data.isFetching) return null;
147
148
  return /*#__PURE__*/_react.default.createElement(_List.List, {
@@ -179,4 +180,4 @@ var Container = _styledComponents.default.div.withConfig({
179
180
  })(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
180
181
  var _default = WWTPMap;
181
182
  exports.default = _default;
182
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImdldEFyZWFUb0NlbnRlckJ5IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoMiIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDQiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2g1Iiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzdWJfYXJlYXMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxpc3QiLCJGcmFnbWVudCIsIkxvYWRlciIsIlNlbGVjdGVkSXRlbVByb3ZpZGVyIiwiQ29udGFpbmVyIiwiUm93IiwiY2xhc3NOYW1lIiwiQ29sIiwieHMiLCJzbSIsIk1hcCIsImVkZ2VzIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiZm9yRXZlbnRzVmlldyIsImZvcldXVFBEYXNoYm9hcmQiLCJhcmVhVG9DZW50ZXJCeSIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgLy8gICAgIGNvbnN0IHBlcmlvZCA9XG4gIC8vICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgLy8gICB9XG4gIC8vIH0sIFtSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gIC8vICAgLy9mb2N1c01hcChSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhLCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYV0pO1xuXG4gIGNvbnN0IGdldEFyZWFUb0NlbnRlckJ5ID0gKCkgPT4ge1xuICAgIGlmIChSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zaGFwZV9kYXRhKSB7XG4gICAgICByZXR1cm4gUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubWFwKFxuICAgICAgKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzKSByZXR1cm4gPExvYWRlciAvPjtcbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIHtzaG93TGlzdH1cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiB4cz17MTJ9IHNtPXs4fT5cbiAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgICAgICAgZm9yV1dUUERhc2hib2FyZD17dHJ1ZX1cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2dldEFyZWFUb0NlbnRlckJ5KCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwdnc7XG5cbiAgLm1hcC1jb2x1bW4ge1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAua2QtbWFwLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTI1cHgpO1xuICAgIH1cblxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICosXG4gICAgICAqOmZvY3VzLFxuICAgICAgKjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogeC1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFdXVFBNYXA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxLQUFBLEdBQUFQLE9BQUE7QUFHQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFDLHNCQUFBLENBQUFaLE9BQUE7QUFDQSxJQUFBYSxtQkFBQSxHQUFB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
183
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImdldEFyZWFUb0NlbnRlckJ5IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoMiIsInNoYXBlX2RhdGEiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gzIiwic2hvd0xpc3QiLCJ1c2VNZW1vIiwiaXNGZXRjaGluZyIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0IiwiRnJhZ21lbnQiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGluaXRpYWxpemVXV1RQRGF0YSwgc29ydEFyZWFzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IFNlbGVjdGVkSXRlbVByb3ZpZGVyIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBSb3csIENvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBmZXRjaENhcGFjaXR5LCBzZXRGb2N1c2VkSXRlbSB9IGZyb20gJy4vQ2FwYWNpdHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHMge1xuICBjbGFzc05hbWU6IHN0cmluZztcbn1cbmNvbnN0IFdXVFBNYXA6IFJlYWN0LkZDPENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHNlYXJjaFF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaXNNYXBUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ21hcCc7XG4gIGxldCB7IGlkLCBhcmVhSUQsIHNpdGVJRCB9ID0gdXNlUGFyYW1zKCk7XG4gIGlkID0gaWQgfHwgYXJlYUlEIHx8IHNpdGVJRDtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBlZGdlc19kYXRhLCB3d3RwX2Rhc2hib2FyZCB9ID1cbiAgICBSZWR1eFN0YXRlO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8SVBvaW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FyZWFzLCBzZXRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtXV1RQSW5mbywgc2V0V1dUUEluZm9dID0gdXNlU3RhdGU8e1xuICAgIHBvaW50OiBJUG9pbnQgfCBudWxsO1xuICAgIGFyZWE6IElBcmVhIHwgbnVsbDtcbiAgfT4oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgbGV0IGRhdGFFeGlzdHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gIC8vICAgICBjb25zdCBwZXJpb2QgPVxuICAvLyAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RbJ3JhbmdlJ10gfHwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gIC8vICAgfVxuICAvLyB9LCBbUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplV1dUUERhdGEoe1xuICAgICAgYXJlYXNfZGF0YSxcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgc2V0UG9pbnRzLFxuICAgICAgc2V0QXJlYXMsXG4gICAgICBzZXRXV1RQSW5mbyxcbiAgICAgIGRhdGFFeGlzdHMsXG4gICAgICBpZCxcbiAgICB9KTtcbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIHNldFdXVFBJbmZvKGNhbGN1bGF0ZVdXVFBJbmZvKHsgaWQsIHBvaW50c19kYXRhLCBhcmVhc19kYXRhIH0pKTtcbiAgLy8gfSwgW2lkXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBmb2N1c01hcChXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbV1dUUEluZm9dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBwZXJpb2QgPVxuICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RbJ3JhbmdlJ10gfHwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICBzZXRQb2ludHMobnVsbCk7XG4gICAgLy8gICBzZXRBcmVhcyhudWxsKTtcbiAgICAvLyAgIHNldFdXVFBJbmZvKHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gICAgLy8gfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb2JqZWN0ID0gV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludDtcblxuICAgIGlmIChpc01hcFRhYiAmJiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBXV1RQSW5mby5hcmVhXG4gICAgICAgID8gb2JqZWN0LmlzX3ZpcnR1YWwgPT09IHRydWVcbiAgICAgICAgICA/ICd2YXJlYSdcbiAgICAgICAgICA6ICdhcmVhJ1xuICAgICAgICA6ICdzaXRlJztcblxuICAgICAgY29uc3QgdmFsaWRPYmplY3QgPVxuICAgICAgICB0eXBlID09PSAnc2l0ZSdcbiAgICAgICAgICA/IG9iamVjdC5pZC50b1N0cmluZygpID09PSBpZFxuICAgICAgICAgIDogb2JqZWN0LmFyZWFfaWQgPT09IHBhcnNlSW50KGlkKTtcblxuICAgICAgY29uc3Qgc2hvd0V4dHJhID0gb2JqZWN0LmlkID09PSBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5pZDtcblxuICAgICAgaWYgKHZhbGlkT2JqZWN0KSB7XG4gICAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgICAgIHNob3dFeHRyYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXRpbGl0eURpcmVjdHMgPSBzb3J0QXJlYXMoYXJlYXMpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgIHV0aWxpdHlEaXJlY3RzLFxuICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gICAgLy8gZm9jdXNNYXAob2JqZWN0LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICB9LCBbd3d0cF9kYXNoYm9hcmQubWFwLCBXV1RQSW5mb10pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKCFSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhIHx8ICF3d3RwX2Rhc2hib2FyZC5tYXApIHJldHVybjtcblxuICAvLyAgIC8vZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICAgIC8vIHJldHVybiBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lm1hcChcbiAgICAvLyAgIChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEsXG4gICAgLy8gKTtcbiAgfTtcblxuICBjb25zdCBzaG93TGlzdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcmVhc19kYXRhLmlzRmV0Y2hpbmcgfHwgcG9pbnRzX2RhdGEuaXNGZXRjaGluZykgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPExpc3QgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfSBXV1RQSW5mbz17V1dUUEluZm99IGRpc3BhdGNoPXtkaXNwYXRjaH0gLz5cbiAgICApO1xuICB9LCBbYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIFdXVFBJbmZvXSk7XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICAgICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm5vLWd1dHRlcnNcIj5cbiAgICAgICAgICA8Q29sIHhzPVwiYXV0b1wiIHNtPXs0fSBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1mbGV4XCI+XG4gICAgICAgICAgICB7c2hvd0xpc3R9XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgeHM9ezEyfSBzbT17OH0+XG4gICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17dHJ1ZX1cbiAgICAgICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgICAgICAgIGZvcldXVFBEYXNoYm9hcmQ9e3RydWV9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXtnZXRBcmVhVG9DZW50ZXJCeSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIC5tYXAtY29sdW1uIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmtkLW1hcC1jb250YWluZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyNXB4KTtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAqLFxuICAgICAgKjpmb2N1cyxcbiAgICAgICo6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBXV1RQTWFwO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sS0FBQSxHQUFBUCxPQUFBO0FBR0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsT0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsWUFBQSxHQUFBQyxzQkFBQSxDQUFBWixPQUFBO0FBQ0EsSUFBQWEsbUJBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLFlBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLGVBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQixTQUFBLEdBQUFoQixPQUFBO0FBQTJELFNBQUFpQix5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWhCLHdCQUFBb0IsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQUszRCxJQUFNVyxPQUE0QyxHQUFHLFNBQS9DQSxPQUE0Q0EsQ0FBSUMsS0FBSyxFQUFLO0VBQzlELElBQU1DLFdBQVcsR0FBRyxJQUFBQyxvQkFBVyxFQUFDLENBQUM7RUFDakMsSUFBTUMsUUFBUSxHQUFHRixXQUFXLENBQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLO0VBQ2xELElBQUFpQixVQUFBLEdBQTZCLElBQUFDLHlCQUFTLEVBQUMsQ0FBQztJQUFsQ0MsRUFBRSxHQUFBRixVQUFBLENBQUZFLEVBQUU7SUFBRUMsTUFBTSxHQUFBSCxVQUFBLENBQU5HLE1BQU07SUFBRUMsTUFBTSxHQUFBSixVQUFBLENBQU5JLE1BQU07RUFDeEJGLEVBQUUsR0FBR0EsRUFBRSxJQUFJQyxNQUFNLElBQUlDLE1BQU07RUFDM0IsSUFBTUMsVUFBVSxHQUFHLElBQUFDLHVCQUFXLEVBQUMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUs7RUFBQSxFQUFDO0VBQ2hELElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBUUMsVUFBVSxHQUNoQkwsVUFBVSxDQURKSyxVQUFVO0lBQUVDLFdBQVcsR0FDN0JOLFVBQVUsQ0FEUU0sV0FBVztJQUFFQyxXQUFXLEdBQzFDUCxVQUFVLENBRHFCTyxXQUFXO0lBQUVDLFVBQVUsR0FDdERSLFVBQVUsQ0FEa0NRLFVBQVU7SUFBRUMsY0FBYyxHQUN0RVQsVUFBVSxDQUQ4Q1MsY0FBYztFQUV4RSxJQUFBQyxTQUFBLEdBQTRCLElBQUFDLGVBQVEsRUFBa0IsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBdEMsT0FBQSxFQUFBbUMsU0FBQTtJQUFwREksTUFBTSxHQUFBRixVQUFBO0lBQUVHLFNBQVMsR0FBQUgsVUFBQTtFQUN4QixJQUFBSSxVQUFBLEdBQTBCLElBQUFMLGVBQVEsRUFBaUIsSUFBSSxDQUFDO0lBQUFNLFVBQUEsT0FBQUosZUFBQSxDQUFBdEMsT0FBQSxFQUFBeUMsVUFBQTtJQUFqREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFBRyxVQUFBLEdBQWdDLElBQUFULGVBQVEsRUFHckM7TUFBRVUsS0FBSyxFQUFFLElBQUk7TUFBRUMsSUFBSSxFQUFFO0lBQUssQ0FBQyxDQUFDO0lBQUFDLFVBQUEsT0FBQVYsZUFBQSxDQUFBdEMsT0FBQSxFQUFBNkMsVUFBQTtJQUh4QkksUUFBUSxHQUFBRCxVQUFBO0lBQUVFLFdBQVcsR0FBQUYsVUFBQTtFQUk1QixJQUFJRyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3JCLE9BQ0VyQixVQUFVLENBQUNzQixRQUFRLENBQUNDLE1BQU0sS0FBSyxDQUFDLElBQ2hDckIsV0FBVyxDQUFDc0IsS0FBSyxDQUFDRCxNQUFNLEtBQUssQ0FBQyxJQUM5QnBCLFVBQVUsQ0FBQ3FCLEtBQUssQ0FBQ0QsTUFBTSxLQUFLLENBQUM7RUFFakMsQ0FBQzs7RUFFRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUEsSUFBQUUsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBQUMseUJBQWtCLEVBQUM7TUFDakIxQixVQUFVLEVBQVZBLFVBQVU7TUFDVkUsV0FBVyxFQUFYQSxXQUFXO01BQ1hRLFNBQVMsRUFBVEEsU0FBUztNQUNUSSxRQUFRLEVBQVJBLFFBQVE7TUFDUk0sV0FBVyxFQUFYQSxXQUFXO01BQ1hDLFVBQVUsRUFBVkEsVUFBVTtNQUNWN0IsRUFBRSxFQUFGQTtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxDQUFDUSxVQUFVLENBQUMsQ0FBQzs7RUFFaEI7RUFDQTtFQUNBOztFQUVBO0VBQ0E7RUFDQTs7RUFFQSxJQUFBeUIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSXhCLFdBQVcsQ0FBQzBCLGdCQUFnQixFQUFFO01BQ2hDLElBQU1DLE1BQU0sR0FDVmpDLFVBQVUsQ0FBQ2tDLFNBQVMsQ0FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJakMsVUFBVSxDQUFDa0MsU0FBUyxDQUFDRCxNQUFNO01BQ3JFOUIsUUFBUSxDQUFDLElBQUFnQyxxQkFBVyxFQUFDN0IsV0FBVyxDQUFDMEIsZ0JBQWdCLEVBQUVDLE1BQU0sQ0FBQyxDQUFDO01BQzNEOUIsUUFBUSxDQUFDLElBQUFpQyxvQkFBVSxFQUFDOUIsV0FBVyxDQUFDMEIsZ0JBQWdCLENBQUMsQ0FBQztNQUNsRDdCLFFBQVEsQ0FBQyxJQUFBa0MsbUJBQVUsRUFBQy9CLFdBQVcsQ0FBQzBCLGdCQUFnQixFQUFFQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEU7O0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNGLENBQUMsRUFBRSxDQUFDM0IsV0FBVyxDQUFDMEIsZ0JBQWdCLEVBQUVoQyxVQUFVLENBQUNrQyxTQUFTLENBQUNELE1BQU0sQ0FBQyxDQUFDO0VBRS9ELElBQUFILGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQU1RLE1BQU0sR0FBR2QsUUFBUSxDQUFDRixJQUFJLElBQUlFLFFBQVEsQ0FBQ0gsS0FBSztJQUU5QyxJQUFJM0IsUUFBUSxJQUFJNEMsTUFBTSxFQUFFO01BQUEsSUFBQUMscUJBQUE7TUFDdEIsSUFBTUMsSUFBSSxHQUFHaEIsUUFBUSxDQUFDRixJQUFJLEdBQ3RCZ0IsTUFBTSxDQUFDRyxVQUFVLEtBQUssSUFBSSxHQUN4QixPQUFPLEdBQ1AsTUFBTSxHQUNSLE1BQU07TUFFVixJQUFNQyxXQUFXLEdBQ2ZGLElBQUksS0FBSyxNQUFNLEdBQ1hGLE1BQU0sQ0FBQ3pDLEVBQUUsQ0FBQzhDLFFBQVEsQ0FBQyxDQUFDLEtBQUs5QyxFQUFFLEdBQzNCeUMsTUFBTSxDQUFDTSxPQUFPLEtBQUtDLFFBQVEsQ0FBQ2hELEVBQUUsQ0FBQztNQUVyQyxJQUFNaUQsU0FBUyxHQUFHUixNQUFNLENBQUN6QyxFQUFFLE9BQUEwQyxxQkFBQSxHQUFLdkMsVUFBVSxDQUFDUyxjQUFjLENBQUNzQyxXQUFXLGNBQUFSLHFCQUFBLHVCQUFyQ0EscUJBQUEsQ0FBdUMxQyxFQUFFO01BRXpFLElBQUk2QyxXQUFXLEVBQUU7UUFDZixJQUFBTSx1QkFBYSxFQUFDUixJQUFJLEVBQUUzQyxFQUFFLEVBQUVTLFdBQVcsQ0FBQzBCLGdCQUFnQixDQUFDLENBQUNpQixJQUFJLENBQ3hELFVBQUNDLFFBQVEsRUFBSztVQUNaLElBQUFDLHdCQUFjLEVBQ1piLE1BQU0sRUFDTlksUUFBUSxDQUFDRSxJQUFJLEVBQ2J0QyxNQUFNLEVBQ05JLEtBQUssRUFDTGYsUUFBUSxFQUNSa0Qsa0NBQWMsRUFDZFAsU0FDRixDQUFDO1FBQ0gsQ0FDRixDQUFDO01BQ0g7SUFDRixDQUFDLE1BQU07TUFDTCxJQUFNUSxjQUFjLEdBQUcsSUFBQUMsZ0JBQVMsRUFBQ3JDLEtBQUssQ0FBQztNQUV2Q3NDLFVBQVUsQ0FBQyxZQUFNO1FBQ2YsSUFBQUwsd0JBQWMsRUFDWk0sU0FBUyxFQUNULElBQUksRUFDSjNDLE1BQU0sRUFDTndDLGNBQWMsRUFDZG5ELFFBQVEsRUFDUmtELGtDQUFjLEVBQ2QsSUFDRixDQUFDO01BQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNQO0lBQ0E7RUFDRixDQUFDLEVBQUUsQ0FBQzVDLGNBQWMsQ0FBQ2lELEdBQUcsRUFBRWxDLFFBQVEsQ0FBQyxDQUFDOztFQUVsQztFQUNBOztFQUVBO0VBQ0E7O0VBRUEsSUFBTW1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUEsRUFBUztJQUFBLElBQUFDLHNCQUFBO0lBQzlCLEtBQUFBLHNCQUFBLEdBQUk1RCxVQUFVLENBQUNTLGNBQWMsQ0FBQ3NDLFdBQVcsY0FBQWEsc0JBQUEsdUJBQXJDQSxzQkFBQSxDQUF1Q0MsVUFBVSxFQUFFO01BQUEsSUFBQUMsc0JBQUE7TUFDckQsUUFBQUEsc0JBQUEsR0FBTzlELFVBQVUsQ0FBQ1MsY0FBYyxDQUFDc0MsV0FBVyxjQUFBZSxzQkFBQSx1QkFBckNBLHNCQUFBLENBQXVDRCxVQUFVO0lBQzFEO0lBQ0E7SUFDQTtJQUNBO0VBQ0YsQ0FBQzs7RUFFRCxJQUFNRSxRQUFRLEdBQUcsSUFBQUMsY0FBTyxFQUFDLFlBQU07SUFDN0IsSUFBSTNELFVBQVUsQ0FBQzRELFVBQVUsSUFBSTFELFdBQVcsQ0FBQzBELFVBQVUsRUFBRSxPQUFPLElBQUk7SUFFaEUsb0JBQ0VsSCxNQUFBLENBQUF3QixPQUFBLENBQUEyRixhQUFBLENBQUM3RyxLQUFBLENBQUE4RyxJQUFJO01BQUM3RCxXQUFXLEVBQUVBLFdBQVk7TUFBQ2tCLFFBQVEsRUFBRUEsUUFBUztNQUFDckIsUUFBUSxFQUFFQTtJQUFTLENBQUUsQ0FBQztFQUU5RSxDQUFDLEVBQUUsQ0FBQ0UsVUFBVSxFQUFFRSxXQUFXLEVBQUVpQixRQUFRLENBQUMsQ0FBQztFQUV2QyxJQUFJLENBQUM5QixRQUFRLEVBQUUsb0JBQU8zQyxNQUFBLENBQUF3QixPQUFBLENBQUEyRixhQUFBLENBQUFuSCxNQUFBLENBQUF3QixPQUFBLENBQUE2RixRQUFBLE1BQUksQ0FBQztFQUMzQixJQUFJLENBQUMxQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUNaLE1BQU0sSUFBSSxDQUFDSSxLQUFLLEVBQUUsb0JBQU9uRSxNQUFBLENBQUF3QixPQUFBLENBQUEyRixhQUFBLENBQUMzRyxPQUFBLENBQUE4RyxNQUFNLE1BQUUsQ0FBQztFQUN6RCxvQkFDRXRILE1BQUEsQ0FBQXdCLE9BQUEsQ0FBQTJGLGFBQUEsQ0FBQ3RHLFlBQUEsQ0FBQTBHLG9CQUFvQixxQkFDbkJ2SCxNQUFBLENBQUF3QixPQUFBLENBQUEyRixhQUFBLENBQUNLLFNBQVMsRUFBS2hGLEtBQUssZUFDbEJ4QyxNQUFBLENBQUF3QixPQUFBLENBQUEyRixhQUFBLENBQUNyRyxlQUFBLENBQUEyRyxHQUFHO0lBQUNDLFNBQVMsRUFBQztFQUFZLGdCQUN6QjFILE1BQUEsQ0FBQXdCLE9BQUEsQ0FBQTJGLGFBQUEsQ0FBQ3JHLGVBQUEsQ0FBQTZHLEdBQUc7SUFBQ0MsRUFBRSxFQUFDLE1BQU07SUFBQ0MsRUFBRSxFQUFFLENBQUU7SUFBQ0gsU0FBUyxFQUFDO0VBQWtCLEdBQy9DVixRQUNFLENBQUMsZUFDTmhILE1BQUEsQ0FBQXdCLE9BQUEsQ0FBQTJGLGFBQUEsQ0FBQ3JHLGVBQUEsQ0FBQTZHLEdBQUc7SUFBQ0QsU0FBUyxFQUFDLFlBQVk7SUFBQ0UsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3hDN0gsTUFBQSxDQUFBd0IsT0FBQSxDQUFBMkYsYUFBQSxDQUFDakgsSUFBQSxDQUFBNEgsR0FBRztJQUNGL0QsTUFBTSxFQUFFQSxNQUFPO0lBQ2ZJLEtBQUssRUFBRUEsS0FBTTtJQUNiWixXQUFXLEVBQUVBLFdBQVk7SUFDekJ3RSxLQUFLLEVBQUV0RSxVQUFVLENBQUNxQixLQUFNO0lBQ3hCa0Qsd0JBQXdCLEVBQUUsSUFBSztJQUMvQkMsYUFBYSxFQUFFLEtBQU07SUFDckJDLGdCQUFnQixFQUFFLElBQUs7SUFDdkJDLGNBQWMsRUFBRXZCLGlCQUFpQixDQUFDO0VBQUUsQ0FDckMsQ0FDRSxDQUNGLENBQ0ksQ0FDUyxDQUFDO0FBRTNCLENBQUM7QUFFRCxJQUFNWSxTQUFTLEdBQUdZLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzUUE4QjNCO0FBQUMsSUFBQUMsUUFBQSxHQUVhbEcsT0FBTztBQUFBbUcsT0FBQSxDQUFBbEgsT0FBQSxHQUFBaUgsUUFBQSJ9
@@ -78,7 +78,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
78
78
  var mappedPoints = (0, _react.useMemo)(function () {
79
79
  return points_data.items.map(function (point) {
80
80
  var newPoint = (0, _objectSpread2.default)({}, point);
81
- if (!EventsPerSite[point.id] || (0, _EventUtils.isCollectorUnmonitored)(point)) {
81
+ if (EventsPerSite === undefined || !EventsPerSite[point.id] || (0, _EventUtils.isCollectorUnmonitored)(point)) {
82
82
  newPoint.hide = true;
83
83
  }
84
84
  if (events_data.focusedEvent) {
@@ -94,7 +94,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
94
94
  newPoint.hide = false;
95
95
  }
96
96
  }
97
- newPoint.relatedEventsAmount = EventsPerSite[point.id] || 0;
97
+ newPoint.relatedEventsAmount = EventsPerSite ? EventsPerSite[point.id] : 0;
98
98
  newPoint.eventsViewHovered = true;
99
99
  return newPoint;
100
100
  });
@@ -149,4 +149,4 @@ var EventsMapContainer = function EventsMapContainer(props) {
149
149
  }));
150
150
  };
151
151
  exports.EventsMapContainer = EventsMapContainer;
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1zW2luZGV4XS5zZWxlY3RlZF9vcHRpb25zID09PSAnc3RyaW5nJylcbiAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyxcbiAgICAgICAgICApO1xuXG4gICAgICAgIGFjdGl2ZVRpbWVGaWx0ZXIgPSBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9uc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICB9O1xuXG4gIGNvbnN0IEV2ZW50c1BlclNpdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IENvdW50RXZlbnRzUGVyU2l0ZUlEKGV2ZW50c19kYXRhLml0ZW1zKSxcbiAgICBbZXZlbnRzX2RhdGEuaXRlbXNdLFxuICApO1xuXG4gIGNvbnN0IE11c3RTZWVuU2l0ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH0sIFtFdmVudHNQZXJTaXRlLCBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IG1hcHBlZFBvaW50cyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLm1hcCgocG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UG9pbnQgPSB7IC4uLnBvaW50IH07XG5cbiAgICAgICAgaWYgKCFFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fCBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHBvaW50KSkge1xuICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0pIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0gJiYgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmV3UG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA9IEV2ZW50c1BlclNpdGVbcG9pbnQuaWRdIHx8IDA7XG4gICAgICAgIG5ld1BvaW50LmV2ZW50c1ZpZXdIb3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIG5ld1BvaW50O1xuICAgICAgfSksXG4gICAgW1xuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBFdmVudHNQZXJTaXRlLFxuICAgICAgZXZlbnRzX2RhdGEuaXRlbXMsXG4gICAgICBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsXG4gICAgICBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQsXG4gICAgXSxcbiAgKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgbWFwcGVkRWRnZXMgPSBlZGdlc19kYXRhLml0ZW1zLmZpbHRlcihcbiAgICAoZWRnZSkgPT5cbiAgICAgIC8vIChOdW1iZXIoRXZlbnRzUGVyU2l0ZVtlZGdlLnNvdXJjZV9wb2ludF9pZF0pID4gMCB8fFxuICAgICAgLy8gTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS50YXJnZXRfcG9pbnRfaWRdKSA+IDApXG4gICAgICAvLyAgJiZcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZSA9PT0gdHJ1ZSB8fFxuICAgICAgZWRnZS5kZXNjZW5kYW50c19oYXNfbm9uZV9jb2xsZWN0b3JzID09PSB0cnVlLFxuICApO1xuXG4gIGNvbnN0IGFyZWFUb0NlbnRlckJ5ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBnZXRBcmVhc1RvQ2VudGVyQnkoZ2xvYmFsX2RhdGEsIG1hcHBlZEFyZWFzKSxcbiAgICBbZ2xvYmFsX2RhdGE/LmFjdGl2ZUZpbHRlciwgbWFwcGVkQXJlYXNdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9IGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QoKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAgIH1cbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcFxuICAgICAgey4uLlJlZHV4U3RhdGV9XG4gICAgICBhcmVhcz17bWFwcGVkQXJlYXN9XG4gICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICBwb2ludHM9e21hcHBlZFBvaW50c31cbiAgICAgIGVkZ2VzPXttYXBwZWRFZGdlc31cbiAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgIGhvdmVyZWRFdmVudD17ZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50fVxuICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgaGlkZUVkZ2VzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtmYWxzZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM9e3RydWV9XG4gICAgICBmb3JFdmVudHNWaWV3PXt0cnVlfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtcbiAgICAgICAgPERyYWdBbmREcm9wQXJlYSBmb2N1c2VkRXZlbnRQYXRoPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50UGF0aHN9PlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBmbG9hdGluZ0dyYXBoOiAoXG4gICAgICAgICAgICAgIDxGbG9hdGluZ0dyYXBoXG4gICAgICAgICAgICAgICAgaXNPcGVuPXtnbG9iYWxfZGF0YT8uZmxvYXRpbmdHcmFwaC5vcGVufVxuICAgICAgICAgICAgICAgIGN1c3RvbUhpZ2hDaGFydE9wdGlvbnM9e2RuZEdyYXBoSW5pdE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgY2xvc2VHcmFwaEhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGdsb2JhbERhdGFGbG9hdGluZ0dyYXBoPXtnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBofVxuICAgICAgICAgICAgICAgIGV2ZW50X2RhdGE9e2V2ZW50c19kYXRhPy5mb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICAgICAgZ3JhcGhJZD17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGg/LnBvaW50Py5pZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9EcmFnQW5kRHJvcEFyZWE+XG4gICAgICB9XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FB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
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1zW2luZGV4XS5zZWxlY3RlZF9vcHRpb25zID09PSAnc3RyaW5nJylcbiAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyxcbiAgICAgICAgICApO1xuXG4gICAgICAgIGFjdGl2ZVRpbWVGaWx0ZXIgPSBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9uc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICB9O1xuXG4gIGNvbnN0IEV2ZW50c1BlclNpdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IENvdW50RXZlbnRzUGVyU2l0ZUlEKGV2ZW50c19kYXRhLml0ZW1zKSxcbiAgICBbZXZlbnRzX2RhdGEuaXRlbXNdLFxuICApO1xuXG4gIGNvbnN0IE11c3RTZWVuU2l0ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH0sIFtFdmVudHNQZXJTaXRlLCBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IG1hcHBlZFBvaW50cyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLm1hcCgocG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UG9pbnQgPSB7IC4uLnBvaW50IH07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIEV2ZW50c1BlclNpdGUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICFFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fFxuICAgICAgICAgIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpXG4gICAgICAgICkge1xuICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0pIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0gJiYgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmV3UG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA9IEV2ZW50c1BlclNpdGVcbiAgICAgICAgICA/IEV2ZW50c1BlclNpdGVbcG9pbnQuaWRdXG4gICAgICAgICAgOiAwO1xuICAgICAgICBuZXdQb2ludC5ldmVudHNWaWV3SG92ZXJlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBuZXdQb2ludDtcbiAgICAgIH0pLFxuICAgIFtcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgRXZlbnRzUGVyU2l0ZSxcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLFxuICAgICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgICAgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50LFxuICAgIF0sXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IG1hcHBlZEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+XG4gICAgICAvLyAoTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIC8vIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwKVxuICAgICAgLy8gICYmXG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyA9PT0gdHJ1ZSxcbiAgKTtcblxuICBjb25zdCBhcmVhVG9DZW50ZXJCeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0QXJlYXNUb0NlbnRlckJ5KGdsb2JhbF9kYXRhLCBtYXBwZWRBcmVhcyksXG4gICAgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXIsIG1hcHBlZEFyZWFzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBwZXJpb2QgPSBnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kKCk7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXBcbiAgICAgIHsuLi5SZWR1eFN0YXRlfVxuICAgICAgYXJlYXM9e21hcHBlZEFyZWFzfVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgcG9pbnRzPXttYXBwZWRQb2ludHN9XG4gICAgICBlZGdlcz17bWFwcGVkRWRnZXN9XG4gICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgZm9jdXNlZEV2ZW50PXtldmVudHNfZGF0YS5mb2N1c2VkRXZlbnR9XG4gICAgICBob3ZlcmVkRXZlbnQ9e2V2ZW50c19kYXRhLmhvdmVyZWRFdmVudH1cbiAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgIGhpZGVFZGdlcz17dHJ1ZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17ZmFsc2V9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPXt0cnVlfVxuICAgICAgZm9yRXZlbnRzVmlldz17dHJ1ZX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7XG4gICAgICAgIDxEcmFnQW5kRHJvcEFyZWEgZm9jdXNlZEV2ZW50UGF0aD17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudFBhdGhzfT5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgZmxvYXRpbmdHcmFwaDogKFxuICAgICAgICAgICAgICA8RmxvYXRpbmdHcmFwaFxuICAgICAgICAgICAgICAgIGlzT3Blbj17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGgub3Blbn1cbiAgICAgICAgICAgICAgICBjdXN0b21IaWdoQ2hhcnRPcHRpb25zPXtkbmRHcmFwaEluaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgIGNsb3NlR3JhcGhIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBnbG9iYWxEYXRhRmxvYXRpbmdHcmFwaD17Z2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaH1cbiAgICAgICAgICAgICAgICBldmVudF9kYXRhPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICAgIGdyYXBoSWQ9e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoPy5wb2ludD8uaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJhZ0FuZERyb3BBcmVhPlxuICAgICAgfVxuICAgIDwvTWFwPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsMEJBQUEsR0FBQUYsT0FB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