@kando-env/kando-ui 1.2.458-alpha.1 → 1.2.458-alpha.11

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.
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- exports.getAllNodeNames = getAllNodeNames;
10
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
10
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
12
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
@@ -20,32 +19,14 @@ var _Loader = require("../../pages/DashboardMap/Loader");
20
19
  var _RightPanel = _interopRequireDefault(require("../../pages/OperationsPage/RightPanel"));
21
20
  var _urls = require("../../utilities/urls");
22
21
  var _useApiWithDashboardQuery = require("../../hooks/useApiWithDashboardQuery");
23
- var _reactSelect = _interopRequireDefault(require("react-select"));
24
- var _d3Hierarchy = require("d3-hierarchy");
25
- var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
26
- var _reactRouterDom = require("react-router-dom");
22
+ var _FilterContainer = _interopRequireDefault(require("../../pages/EventsPage/events/events_list/Filter/FilterContainer"));
27
23
  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); }
28
24
  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; }
29
- function getAllNodeNames(tree) {
30
- var root = (0, _d3Hierarchy.hierarchy)(tree);
31
- return root.descendants().map(function (n) {
32
- var _n$data$attributes;
33
- return {
34
- value: (_n$data$attributes = n.data.attributes) === null || _n$data$attributes === void 0 ? void 0 : _n$data$attributes.point_id,
35
- label: n.data.name
36
- };
37
- });
38
- }
39
25
  var HierarchyGraph = function HierarchyGraph() {
40
26
  var searchQuery = (0, _useQueryURL.default)();
41
- var _useParams = (0, _reactRouterDom.useParams)(),
42
- siteID = _useParams.siteID;
43
27
  var ReduxState = (0, _reactRedux.useSelector)(function (state) {
44
28
  return state;
45
29
  });
46
- // const [depth, setDepth] = useState<number>(12);
47
- // const [treeKey, setTreeKey] = useState<number>(0);
48
- // const [nodeType, setNodeType] = useState<NodeType>('pie');
49
30
  var _useState = (0, _react.useState)(null),
50
31
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
32
  selectedPoint = _useState2[0],
@@ -54,14 +35,10 @@ var HierarchyGraph = function HierarchyGraph() {
54
35
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
55
36
  showRightPanel = _useState4[0],
56
37
  setShowRightPanel = _useState4[1];
57
- var _useState5 = (0, _react.useState)(false),
38
+ var _useState5 = (0, _react.useState)({}),
58
39
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
59
- showOnlyMonitored = _useState6[0],
60
- setShowOnlyMonitored = _useState6[1];
61
- // const updateTreeView = (depth) => {
62
- // setDepth(depth);
63
- // setTreeKey((prev) => prev + 1); // force re-mount to reset tree state
64
- // };
40
+ filterOptions = _useState6[0],
41
+ setFilterOptions = _useState6[1];
65
42
  var isHierarchyTab = searchQuery.get('view') === 'hierarchy';
66
43
  var points_data = ReduxState.points_data,
67
44
  edges_data = ReduxState.edges_data,
@@ -100,8 +77,17 @@ var HierarchyGraph = function HierarchyGraph() {
100
77
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
101
78
  var _step$value = _step.value,
102
79
  site_id = _step$value.site_id,
103
- pollution = _step$value.pollution;
104
- if (pollution === null || pollution === void 0 ? void 0 : pollution.type_distribution) m.set(site_id, pollution.type_distribution);
80
+ pollution = _step$value.pollution,
81
+ sector_name = _step$value.sector_name,
82
+ sector_id = _step$value.sector_id,
83
+ contributor_percents = _step$value.contributor_percents;
84
+ var extraData = {
85
+ sector_name: sector_name,
86
+ contributor_percents: contributor_percents,
87
+ sector_id: sector_id
88
+ };
89
+ if (pollution === null || pollution === void 0 ? void 0 : pollution.type_distribution) extraData['pollution'] = pollution.type_distribution;
90
+ m.set(site_id, extraData);
105
91
  }
106
92
  } catch (err) {
107
93
  _iterator.e(err);
@@ -122,9 +108,7 @@ var HierarchyGraph = function HierarchyGraph() {
122
108
  var numId = Number(id);
123
109
  var pollution = pollutionBySiteId.get(numId);
124
110
  // shallow clone each point; add pollution if exists
125
- copy[numId] = pollution ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base[numId]), {}, {
126
- pollution: pollution
127
- }) : (0, _objectSpread2.default)({}, base[numId]);
111
+ copy[numId] = pollution ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base[numId]), pollution) : (0, _objectSpread2.default)({}, base[numId]);
128
112
  }
129
113
  return copy;
130
114
  }, [points_data.items, pollutionBySiteId]);
@@ -138,96 +122,52 @@ var HierarchyGraph = function HierarchyGraph() {
138
122
  return pointsWithDevice[edge.source_point_id] || edge.descendants_has_device;
139
123
  });
140
124
  }, [points_data.items, edges_data.items]);
125
+ var filterPoints = (0, _react.useMemo)(function () {
126
+ var pointsOption = {};
127
+ var pointList = points_data.items;
128
+ edgesWithDevice.forEach(function (edge) {
129
+ var sourcePoint = pointList.find(function (p) {
130
+ return p.id === edge.source_point_id;
131
+ });
132
+ var targetPoint = pointList.find(function (p) {
133
+ return p.id === edge.target_point_id;
134
+ });
135
+ if (sourcePoint) pointsOption[sourcePoint.id] = {
136
+ id: sourcePoint.id,
137
+ name: sourcePoint.group.name
138
+ };
139
+ if (targetPoint) pointsOption[targetPoint.id] = {
140
+ id: targetPoint.id,
141
+ name: targetPoint.group.name
142
+ };
143
+ });
144
+ return Object.values(pointsOption);
145
+ }, [points_data.items, edgesWithDevice]);
141
146
 
142
147
  // 4) Build the tree ONLY when data is ready; keep referential stability
143
148
  var treeData = (0, _react.useMemo)(function () {
144
149
  if (isLoadingSites || errorSites) return null;
145
150
  return (0, _utils.buildTree)(edgesWithDevice, decoratedPointsById, waterAuthorityName);
146
151
  }, [edgesWithDevice, decoratedPointsById, waterAuthorityName, isLoadingSites, errorSites]);
152
+ var updateFilter = function updateFilter(appliedFilter) {
153
+ // Process the applied filter as needed
154
+ var selectedFilters = {};
155
+ appliedFilter.filter_items.forEach(function (item) {
156
+ selectedFilters[item.type] = item.selected_options;
157
+ });
158
+ setFilterOptions(selectedFilters);
159
+ // You can update state or make API calls based on the applied filter
160
+ };
147
161
 
148
- // const nodeTypeOptions = [
149
- // { label: 'Pie Chart', value: 'pie' },
150
- // { label: 'Bar', value: 'bar' },
151
- // ];
152
-
153
- var _useState7 = (0, _react.useState)(''),
154
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
155
- searchTerm = _useState8[0],
156
- setSearchTerm = _useState8[1];
157
- var searchOptions = (0, _react.useMemo)(function () {
158
- return treeData ? getAllNodeNames(treeData) : [];
159
- }, [treeData]);
160
- var _useState9 = (0, _react.useState)(false),
161
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
162
- showSamplers = _useState10[0],
163
- setShowSamplers = _useState10[1];
164
- (0, _react.useEffect)(function () {
165
- if (siteID) {
166
- var matchedOption = searchOptions.find(function (option) {
167
- var _option$value;
168
- return (option === null || option === void 0 ? void 0 : (_option$value = option.value) === null || _option$value === void 0 ? void 0 : _option$value.toString()) === siteID;
169
- });
170
- if (matchedOption) {
171
- setSearchTerm(matchedOption.label);
172
- }
173
- }
174
- }, [searchOptions]);
175
162
  if (!isHierarchyTab) {
176
163
  return null;
177
164
  }
178
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
179
- style: {
180
- marginTop: '10px',
181
- marginInlineStart: '10px',
182
- display: 'flex',
183
- gap: 8,
184
- zIndex: 10
185
- }
186
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
187
- className: 'mt-2'
188
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
189
- inline: true,
190
- label: 'Show only monitored',
191
- name: "show_only_monitored",
192
- type: "checkbox",
193
- id: "show_only_monitored",
194
- onChange: function onChange(e) {
195
- setShowOnlyMonitored(!showOnlyMonitored);
196
- },
197
- checked: showOnlyMonitored
198
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
199
- className: 'mt-2'
200
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
201
- inline: true,
202
- label: 'Show samplers',
203
- name: "show_samplers",
204
- type: "checkbox",
205
- id: "show_samplers",
206
- onChange: function onChange(e) {
207
- setShowSamplers(!showSamplers);
208
- },
209
- checked: showSamplers
210
- })), /*#__PURE__*/_react.default.createElement("div", {
211
- style: {
212
- width: '240px'
213
- }
214
- }, /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
215
- placeholder: _i18n.default.t('dashboard_v2.utility_dashboard.hierarchy.search'),
216
- value: searchOptions.find(function (option) {
217
- return option.label === searchTerm;
218
- }) || null,
219
- isLoading: !searchOptions.length,
220
- isClearable: true,
221
- isSearchable: true,
222
- name: "color",
223
- onChange: function onChange(value) {
224
- return setSearchTerm((value === null || value === void 0 ? void 0 : value.label) || '');
225
- },
226
- options: searchOptions,
227
- onInputChangeCallback: function onInputChangeCallback(input) {
228
- return setSearchTerm(input);
229
- }
230
- }))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
165
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
166
+ filterPopupOpen: true,
167
+ fetchType: 'HierarchyFilter',
168
+ applyLogic: updateFilter,
169
+ custom_points: filterPoints
170
+ }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
231
171
  fluid: true,
232
172
  className: "p-0",
233
173
  style: {
@@ -244,10 +184,7 @@ var HierarchyGraph = function HierarchyGraph() {
244
184
  treeKey: 0,
245
185
  initialDepth: 12,
246
186
  data: treeData,
247
- nodeType: 'nodeType',
248
- searchTerm: searchTerm,
249
- showOnlyMonitored: showOnlyMonitored,
250
- showSamplers: showSamplers,
187
+ selectedFilters: filterOptions,
251
188
  onNodeClick: onNodeClick
252
189
  }), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
253
190
  className: "right-panel ".concat(showRightPanel ? 'open' : ''),
@@ -260,4 +197,4 @@ var HierarchyGraph = function HierarchyGraph() {
260
197
  };
261
198
  var _default = HierarchyGraph;
262
199
  exports.default = _default;
263
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfcmVhY3RTZWxlY3QiLCJfZDNIaWVyYXJjaHkiLCJfaTE4biIsIl9yZWFjdFJvdXRlckRvbSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZ2V0QWxsTm9kZU5hbWVzIiwidHJlZSIsInJvb3QiLCJoaWVyYXJjaHkiLCJkZXNjZW5kYW50cyIsIm1hcCIsIm4iLCJfbiRkYXRhJGF0dHJpYnV0ZXMiLCJ2YWx1ZSIsImRhdGEiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJsYWJlbCIsIm5hbWUiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwic2l0ZUlEIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1JpZ2h0UGFuZWwiLCJzZXRTaG93UmlnaHRQYW5lbCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd09ubHlNb25pdG9yZWQiLCJzZXRTaG93T25seU1vbml0b3JlZCIsImlzSGllcmFyY2h5VGFiIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIiLCJfc3RlcCIsInMiLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJzaXRlX2lkIiwicG9sbHV0aW9uIiwidHlwZV9kaXN0cmlidXRpb24iLCJlcnIiLCJlIiwiZiIsImRlY29yYXRlZFBvaW50c0J5SWQiLCJiYXNlIiwibWFwQnlJZCIsImNvcHkiLCJfaSIsIl9PYmplY3Qka2V5cyIsImtleXMiLCJsZW5ndGgiLCJudW1JZCIsIk51bWJlciIsIl9vYmplY3RTcHJlYWQyIiwiZWRnZXNXaXRoRGV2aWNlIiwicG9pbnRzV2l0aERldmljZSIsImZpbHRlciIsImhhc19kZXZpY2UiLCJlZGdlIiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsInRyZWVEYXRhIiwiYnVpbGRUcmVlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWFyY2hUZXJtIiwic2V0U2VhcmNoVGVybSIsInNlYXJjaE9wdGlvbnMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJzaG93U2FtcGxlcnMiLCJzZXRTaG93U2FtcGxlcnMiLCJ1c2VFZmZlY3QiLCJtYXRjaGVkT3B0aW9uIiwib3B0aW9uIiwiX29wdGlvbiR2YWx1ZSIsInRvU3RyaW5nIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwibWFyZ2luVG9wIiwibWFyZ2luSW5saW5lU3RhcnQiLCJkaXNwbGF5IiwiZ2FwIiwiekluZGV4IiwiRm9ybSIsIkdyb3VwIiwiY2xhc3NOYW1lIiwiQ2hlY2siLCJpbmxpbmUiLCJvbkNoYW5nZSIsImNoZWNrZWQiLCJ3aWR0aCIsInBsYWNlaG9sZGVyIiwiSTE4biIsInQiLCJpc0xvYWRpbmciLCJpc0NsZWFyYWJsZSIsImlzU2VhcmNoYWJsZSIsIm9wdGlvbnMiLCJvbklucHV0Q2hhbmdlQ2FsbGJhY2siLCJpbnB1dCIsIkNvbnRhaW5lciIsImZsdWlkIiwib3ZlcmZsb3ciLCJSb3ciLCJzbSIsIkNvbCIsImhlaWdodCIsImlzRmV0Y2hpbmciLCJMb2FkZXIiLCJ0cmVlS2V5IiwiaW5pdGlhbERlcHRoIiwibm9kZVR5cGUiLCJjb25jYXQiLCJwb2ludCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL0hpZXJhcmNoeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgYnVpbGRUcmVlLCBtYXBCeUlkLCBUcmVlRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wsIEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7IGhpZXJhcmNoeSB9IGZyb20gJ2QzLWhpZXJhcmNoeSc7XG5pbXBvcnQgSTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbE5vZGVOYW1lcyh0cmVlOiBUcmVlRGF0YSk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgcm9vdCA9IGhpZXJhcmNoeSh0cmVlIGFzIGFueSk7XG4gIHJldHVybiByb290LmRlc2NlbmRhbnRzKCkubWFwKChuKSA9PiB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IG4uZGF0YS5hdHRyaWJ1dGVzPy5wb2ludF9pZCwgbGFiZWw6IG4uZGF0YS5uYW1lIH07XG4gIH0pO1xufVxuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB7IHNpdGVJRCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgLy8gY29uc3QgW2RlcHRoLCBzZXREZXB0aF0gPSB1c2VTdGF0ZTxudW1iZXI+KDEyKTtcbiAgLy8gY29uc3QgW3RyZWVLZXksIHNldFRyZWVLZXldID0gdXNlU3RhdGU8bnVtYmVyPigwKTtcbiAgLy8gY29uc3QgW25vZGVUeXBlLCBzZXROb2RlVHlwZV0gPSB1c2VTdGF0ZTxOb2RlVHlwZT4oJ3BpZScpO1xuICBjb25zdCBbc2VsZWN0ZWRQb2ludCwgc2V0U2VsZWN0ZWRQb2ludF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93T25seU1vbml0b3JlZCwgc2V0U2hvd09ubHlNb25pdG9yZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAvLyBjb25zdCB1cGRhdGVUcmVlVmlldyA9IChkZXB0aCkgPT4ge1xuICAvLyAgIHNldERlcHRoKGRlcHRoKTtcbiAgLy8gICBzZXRUcmVlS2V5KChwcmV2KSA9PiBwcmV2ICsgMSk7IC8vIGZvcmNlIHJlLW1vdW50IHRvIHJlc2V0IHRyZWUgc3RhdGVcbiAgLy8gfTtcbiAgY29uc3QgaXNIaWVyYXJjaHlUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ2hpZXJhcmNoeSc7XG4gIGNvbnN0IHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhOiB7IHdhdGVyQXV0aG9yaXR5TmFtZSB9LFxuICB9ID0gUmVkdXhTdGF0ZTtcblxuICBjb25zdCBvbk5vZGVDbGljayA9IChub2RlRGF0YSkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maW5kKChwKSA9PiBwLmlkID09PSBub2RlRGF0YS5hdHRyaWJ1dGVzLnBvaW50X2lkKSxcbiAgICApO1xuICAgIHNldFNob3dSaWdodFBhbmVsKCFzaG93UmlnaHRQYW5lbCk7XG4gIH07XG5cbiAgLy8gc3RhYmxlIGVuZHBvaW50cy9wYXJhbXMg4pyFXG4gIGNvbnN0IGZhY3Rvcmllc0VuZFBvaW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiB1cmxzKCkuZGFzaGJvYXJkLlV0aWxpdHkuZmFjdG9yaWVzLFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IHBhcmFtc0FsbCA9IHVzZU1lbW8oKCkgPT4gKHsgdHlwZTogJ0FsbCcgfSksIFtdKTtcblxuICAvLyBmZXRjaGVzXG4gIGNvbnN0IFtyZXNwb25zZVNpdGVzLCBpc0xvYWRpbmdTaXRlcywgZXJyb3JTaXRlc10gPVxuICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeTxGYWN0b3JpZXNSZXNwb25zZT4oZmFjdG9yaWVzRW5kUG9pbnQsIHBhcmFtc0FsbCk7XG5cbiAgLy8gMSkgQnVpbGQgYSBwb2xsdXRpb24gbWFwIGZyb20gYm90aCByZXNwb25zZXMgKG5vIHN0YXRlOyBwdXJlIG1lbW8pXG4gIGNvbnN0IHBvbGx1dGlvbkJ5U2l0ZUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbSA9IG5ldyBNYXA8bnVtYmVyLCBhbnk+KCk7XG4gICAgaWYgKHJlc3BvbnNlU2l0ZXM/LmRhdGEpIHtcbiAgICAgIGZvciAoY29uc3QgeyBzaXRlX2lkLCBwb2xsdXRpb24gfSBvZiByZXNwb25zZVNpdGVzLmRhdGEpIHtcbiAgICAgICAgaWYgKHBvbGx1dGlvbj8udHlwZV9kaXN0cmlidXRpb24pXG4gICAgICAgICAgbS5zZXQoc2l0ZV9pZCwgcG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG07XG4gIH0sIFtyZXNwb25zZVNpdGVzPy5kYXRhXSk7XG5cbiAgLy8gMikgQ3JlYXRlIGEgU0FGRSBjb3B5IG9mIHBvaW50X21hcF9kYXRhIHdpdGggcG9sbHV0aW9uIG1lcmdlZCBpbiAobm8gbXV0YXRpb25zKVxuICBjb25zdCBkZWNvcmF0ZWRQb2ludHNCeUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcykgcmV0dXJucyBhIHBsYWluIG9iamVjdCBrZXllZCBieSBpZDsgY2xvbmUgaXRcbiAgICBjb25zdCBiYXNlID0gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgY29uc3QgY29weTogUmVjb3JkPG51bWJlciwgYW55PiA9IHt9O1xuICAgIGZvciAoY29uc3QgaWQgb2YgT2JqZWN0LmtleXMoYmFzZSkpIHtcbiAgICAgIGNvbnN0IG51bUlkID0gTnVtYmVyKGlkKTtcbiAgICAgIGNvbnN0IHBvbGx1dGlvbiA9IHBvbGx1dGlvbkJ5U2l0ZUlkLmdldChudW1JZCk7XG4gICAgICAvLyBzaGFsbG93IGNsb25lIGVhY2ggcG9pbnQ7IGFkZCBwb2xsdXRpb24gaWYgZXhpc3RzXG4gICAgICBjb3B5W251bUlkXSA9IHBvbGx1dGlvblxuICAgICAgICA/IHsgLi4uYmFzZVtudW1JZF0sIHBvbGx1dGlvbiB9XG4gICAgICAgIDogeyAuLi5iYXNlW251bUlkXSB9O1xuICAgIH1cbiAgICByZXR1cm4gY29weTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBwb2xsdXRpb25CeVNpdGVJZF0pO1xuXG4gIC8vIDMpIENvbXB1dGUgZWRnZXNXaXRoRGV2aWNlIHNhZmVseS9tZW1vaXplZCAobm8gZXh0cmEgcmVuZGVycylcbiAgY29uc3QgZWRnZXNXaXRoRGV2aWNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRzV2l0aERldmljZSA9IG1hcEJ5SWQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maWx0ZXIoKHApID0+IHAuaGFzX2RldmljZSksXG4gICAgKTtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgICAoZWRnZSkgPT5cbiAgICAgICAgcG9pbnRzV2l0aERldmljZVtlZGdlLnNvdXJjZV9wb2ludF9pZF0gfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNfZGF0YS5pdGVtc10pO1xuXG4gIC8vIDQpIEJ1aWxkIHRoZSB0cmVlIE9OTFkgd2hlbiBkYXRhIGlzIHJlYWR5OyBrZWVwIHJlZmVyZW50aWFsIHN0YWJpbGl0eVxuICBjb25zdCB0cmVlRGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmdTaXRlcyB8fCBlcnJvclNpdGVzKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBidWlsZFRyZWUoZWRnZXNXaXRoRGV2aWNlLCBkZWNvcmF0ZWRQb2ludHNCeUlkLCB3YXRlckF1dGhvcml0eU5hbWUpO1xuICB9LCBbXG4gICAgZWRnZXNXaXRoRGV2aWNlLFxuICAgIGRlY29yYXRlZFBvaW50c0J5SWQsXG4gICAgd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIGlzTG9hZGluZ1NpdGVzLFxuICAgIGVycm9yU2l0ZXMsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IG5vZGVUeXBlT3B0aW9ucyA9IFtcbiAgLy8gICB7IGxhYmVsOiAnUGllIENoYXJ0JywgdmFsdWU6ICdwaWUnIH0sXG4gIC8vICAgeyBsYWJlbDogJ0JhcicsIHZhbHVlOiAnYmFyJyB9LFxuICAvLyBdO1xuXG4gIGNvbnN0IFtzZWFyY2hUZXJtLCBzZXRTZWFyY2hUZXJtXSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3Qgc2VhcmNoT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHRyZWVEYXRhID8gZ2V0QWxsTm9kZU5hbWVzKHRyZWVEYXRhKSA6IFtdKSxcbiAgICBbdHJlZURhdGFdLFxuICApO1xuICBjb25zdCBbc2hvd1NhbXBsZXJzLCBzZXRTaG93U2FtcGxlcnNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNpdGVJRCkge1xuICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHNlYXJjaE9wdGlvbnMuZmluZChcbiAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uPy52YWx1ZT8udG9TdHJpbmcoKSA9PT0gc2l0ZUlELFxuICAgICAgKTtcbiAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgIHNldFNlYXJjaFRlcm0obWF0Y2hlZE9wdGlvbi5sYWJlbCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbc2VhcmNoT3B0aW9uc10pO1xuXG4gIGlmICghaXNIaWVyYXJjaHlUYWIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Ub3A6ICcxMHB4JyxcbiAgICAgICAgICBtYXJnaW5JbmxpbmVTdGFydDogJzEwcHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBnYXA6IDgsXG4gICAgICAgICAgekluZGV4OiAxMCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB1cGRhdGVUcmVlVmlldygxKX0+eydDb2xsYXBzZSBBbGwnfTwvQnV0dG9uPiovfVxuICAgICAgICB7Lyo8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHVwZGF0ZVRyZWVWaWV3KDEyKX0+eydFeHBhbmQgQWxsJ308L0J1dHRvbj4qL31cblxuICAgICAgICB7Lyo8U2VsZWN0Ki99XG4gICAgICAgIHsvKiAgb3B0aW9ucz17bm9kZVR5cGVPcHRpb25zfSovfVxuICAgICAgICB7LyogIHZhbHVlPXtub2RlVHlwZU9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IG5vZGVUeXBlKX0qL31cbiAgICAgICAgey8qICBzZXRWYWx1ZT17KHNlbGVjdGVkKSA9PiBzZXROb2RlVHlwZShzZWxlY3RlZC52YWx1ZSl9Ki99XG4gICAgICAgIHsvKiAgbWVudVdpZHRoPXsxMjB9Ki99XG4gICAgICAgIHsvKi8+Ki99XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17J210LTInfT5cbiAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBsYWJlbD17J1Nob3cgb25seSBtb25pdG9yZWQnfVxuICAgICAgICAgICAgbmFtZT1cInNob3dfb25seV9tb25pdG9yZWRcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwic2hvd19vbmx5X21vbml0b3JlZFwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd09ubHlNb25pdG9yZWQoIXNob3dPbmx5TW9uaXRvcmVkKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjaGVja2VkPXtzaG93T25seU1vbml0b3JlZH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17J210LTInfT5cbiAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBsYWJlbD17J1Nob3cgc2FtcGxlcnMnfVxuICAgICAgICAgICAgbmFtZT1cInNob3dfc2FtcGxlcnNcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwic2hvd19zYW1wbGVyc1wiXG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd1NhbXBsZXJzKCFzaG93U2FtcGxlcnMpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3Nob3dTYW1wbGVyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6ICcyNDBweCcgfX0+XG4gICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17STE4bi50KFxuICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLmhpZXJhcmNoeS5zZWFyY2gnLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgc2VhcmNoT3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5sYWJlbCA9PT0gc2VhcmNoVGVybSkgfHxcbiAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXNMb2FkaW5nPXshc2VhcmNoT3B0aW9ucy5sZW5ndGh9XG4gICAgICAgICAgICBpc0NsZWFyYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIG5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiBzZXRTZWFyY2hUZXJtKHZhbHVlPy5sYWJlbCB8fCAnJyl9XG4gICAgICAgICAgICBvcHRpb25zPXtzZWFyY2hPcHRpb25zfVxuICAgICAgICAgICAgb25JbnB1dENoYW5nZUNhbGxiYWNrPXsoaW5wdXQpID0+IHNldFNlYXJjaFRlcm0oaW5wdXQpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7Lyo8aW5wdXQqL31cbiAgICAgICAgey8qICB0eXBlPVwidGV4dFwiKi99XG4gICAgICAgIHsvKiAgc3R5bGU9e3sgaGVpZ2h0OiAnMzBweCcsIG1hcmdpblRvcDogNiwgcGFkZGluZ0lubGluZVN0YXJ0OiA1IH19Ki99XG4gICAgICAgIHsvKiAgdmFsdWU9e3NlYXJjaFRlcm19Ki99XG4gICAgICAgIHsvKiAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXJtKGUudGFyZ2V0LnZhbHVlKX0qL31cbiAgICAgICAgey8qICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBieSBuYW1lLi4uXCIqL31cbiAgICAgICAgey8qLz4qL31cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIXRyZWVEYXRhIHx8XG4gICAgICAgICAgICBpc0xvYWRpbmdTaXRlcyA/IChcbiAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEF1dG9GaXRUcmVlXG4gICAgICAgICAgICAgICAgdHJlZUtleT17MH1cbiAgICAgICAgICAgICAgICBpbml0aWFsRGVwdGg9ezEyfVxuICAgICAgICAgICAgICAgIGRhdGE9e3RyZWVEYXRhfVxuICAgICAgICAgICAgICAgIG5vZGVUeXBlPXsnbm9kZVR5cGUnfVxuICAgICAgICAgICAgICAgIHNlYXJjaFRlcm09e3NlYXJjaFRlcm19XG4gICAgICAgICAgICAgICAgc2hvd09ubHlNb25pdG9yZWQ9e3Nob3dPbmx5TW9uaXRvcmVkfVxuICAgICAgICAgICAgICAgIHNob3dTYW1wbGVycz17c2hvd1NhbXBsZXJzfVxuICAgICAgICAgICAgICAgIG9uTm9kZUNsaWNrPXtvbk5vZGVDbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByaWdodC1wYW5lbCAke3Nob3dSaWdodFBhbmVsID8gJ29wZW4nIDogJyd9YH1cbiAgICAgICAgICAgICAgcG9pbnQ9e3NlbGVjdGVkUG9pbnR9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFBvaW50KG51bGwpO1xuICAgICAgICAgICAgICAgIHNldFNob3dSaWdodFBhbmVsKGZhbHNlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgSGllcmFyY2h5R3JhcGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHlCQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxZQUFBLEdBQUFULHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxLQUFBLEdBQUFYLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBYyxlQUFBLEdBQUFkLE9BQUE7QUFBNkMsU0FBQWUseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFB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
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfRmlsdGVyQ29udGFpbmVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNlbGVjdGVkUG9pbnQiLCJzZXRTZWxlY3RlZFBvaW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJmaWx0ZXJPcHRpb25zIiwic2V0RmlsdGVyT3B0aW9ucyIsImlzSGllcmFyY2h5VGFiIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJkYXRhIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJfc3RlcCR2YWx1ZSIsInZhbHVlIiwic2l0ZV9pZCIsInBvbGx1dGlvbiIsInNlY3Rvcl9uYW1lIiwic2VjdG9yX2lkIiwiY29udHJpYnV0b3JfcGVyY2VudHMiLCJleHRyYURhdGEiLCJ0eXBlX2Rpc3RyaWJ1dGlvbiIsImVyciIsImUiLCJmIiwiZGVjb3JhdGVkUG9pbnRzQnlJZCIsImJhc2UiLCJtYXBCeUlkIiwiY29weSIsIl9pIiwiX09iamVjdCRrZXlzIiwia2V5cyIsImxlbmd0aCIsIm51bUlkIiwiTnVtYmVyIiwiX29iamVjdFNwcmVhZDIiLCJlZGdlc1dpdGhEZXZpY2UiLCJwb2ludHNXaXRoRGV2aWNlIiwiZmlsdGVyIiwiaGFzX2RldmljZSIsImVkZ2UiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZmlsdGVyUG9pbnRzIiwicG9pbnRzT3B0aW9uIiwicG9pbnRMaXN0IiwiZm9yRWFjaCIsInNvdXJjZVBvaW50IiwidGFyZ2V0UG9pbnQiLCJ0YXJnZXRfcG9pbnRfaWQiLCJuYW1lIiwiZ3JvdXAiLCJ2YWx1ZXMiLCJ0cmVlRGF0YSIsImJ1aWxkVHJlZSIsInVwZGF0ZUZpbHRlciIsImFwcGxpZWRGaWx0ZXIiLCJzZWxlY3RlZEZpbHRlcnMiLCJmaWx0ZXJfaXRlbXMiLCJpdGVtIiwic2VsZWN0ZWRfb3B0aW9ucyIsImNyZWF0ZUVsZW1lbnQiLCJmaWx0ZXJQb3B1cE9wZW4iLCJmZXRjaFR5cGUiLCJhcHBseUxvZ2ljIiwiY3VzdG9tX3BvaW50cyIsIkNvbnRhaW5lciIsImZsdWlkIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJvdmVyZmxvdyIsIlJvdyIsInNtIiwiQ29sIiwiaGVpZ2h0IiwiaXNGZXRjaGluZyIsIkxvYWRlciIsInRyZWVLZXkiLCJpbml0aWFsRGVwdGgiLCJjb25jYXQiLCJwb2ludCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL0hpZXJhcmNoeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IGJ1aWxkVHJlZSwgbWFwQnlJZCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4uLy4uL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IFtzZWxlY3RlZFBvaW50LCBzZXRTZWxlY3RlZFBvaW50XSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbc2hvd1JpZ2h0UGFuZWwsIHNldFNob3dSaWdodFBhbmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2ZpbHRlck9wdGlvbnMsIHNldEZpbHRlck9wdGlvbnNdID0gdXNlU3RhdGUoe30pO1xuICBjb25zdCBpc0hpZXJhcmNoeVRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnaGllcmFyY2h5JztcbiAgY29uc3Qge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGE6IHsgd2F0ZXJBdXRob3JpdHlOYW1lIH0sXG4gIH0gPSBSZWR1eFN0YXRlO1xuXG4gIGNvbnN0IG9uTm9kZUNsaWNrID0gKG5vZGVEYXRhKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRQb2ludChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbmQoKHApID0+IHAuaWQgPT09IG5vZGVEYXRhLmF0dHJpYnV0ZXMucG9pbnRfaWQpLFxuICAgICk7XG4gICAgc2V0U2hvd1JpZ2h0UGFuZWwoIXNob3dSaWdodFBhbmVsKTtcbiAgfTtcblxuICAvLyBzdGFibGUgZW5kcG9pbnRzL3BhcmFtcyDinIVcbiAgY29uc3QgZmFjdG9yaWVzRW5kUG9pbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IHVybHMoKS5kYXNoYm9hcmQuVXRpbGl0eS5mYWN0b3JpZXMsXG4gICAgW10sXG4gICk7XG5cbiAgY29uc3QgcGFyYW1zQWxsID0gdXNlTWVtbygoKSA9PiAoeyB0eXBlOiAnQWxsJyB9KSwgW10pO1xuXG4gIC8vIGZldGNoZXNcbiAgY29uc3QgW3Jlc3BvbnNlU2l0ZXMsIGlzTG9hZGluZ1NpdGVzLCBlcnJvclNpdGVzXSA9XG4gICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5PEZhY3Rvcmllc1Jlc3BvbnNlPihmYWN0b3JpZXNFbmRQb2ludCwgcGFyYW1zQWxsKTtcblxuICAvLyAxKSBCdWlsZCBhIHBvbGx1dGlvbiBtYXAgZnJvbSBib3RoIHJlc3BvbnNlcyAobm8gc3RhdGU7IHB1cmUgbWVtbylcbiAgY29uc3QgcG9sbHV0aW9uQnlTaXRlSWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtID0gbmV3IE1hcDxudW1iZXIsIGFueT4oKTtcbiAgICBpZiAocmVzcG9uc2VTaXRlcz8uZGF0YSkge1xuICAgICAgZm9yIChjb25zdCB7XG4gICAgICAgIHNpdGVfaWQsXG4gICAgICAgIHBvbGx1dGlvbixcbiAgICAgICAgc2VjdG9yX25hbWUsXG4gICAgICAgIHNlY3Rvcl9pZCxcbiAgICAgICAgY29udHJpYnV0b3JfcGVyY2VudHMsXG4gICAgICB9IG9mIHJlc3BvbnNlU2l0ZXMuZGF0YSkge1xuICAgICAgICBjb25zdCBleHRyYURhdGEgPSB7IHNlY3Rvcl9uYW1lLCBjb250cmlidXRvcl9wZXJjZW50cywgc2VjdG9yX2lkIH07XG4gICAgICAgIGlmIChwb2xsdXRpb24/LnR5cGVfZGlzdHJpYnV0aW9uKVxuICAgICAgICAgIGV4dHJhRGF0YVsncG9sbHV0aW9uJ10gPSBwb2xsdXRpb24udHlwZV9kaXN0cmlidXRpb247XG4gICAgICAgIG0uc2V0KHNpdGVfaWQsIGV4dHJhRGF0YSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtO1xuICB9LCBbcmVzcG9uc2VTaXRlcz8uZGF0YV0pO1xuXG4gIC8vIDIpIENyZWF0ZSBhIFNBRkUgY29weSBvZiBwb2ludF9tYXBfZGF0YSB3aXRoIHBvbGx1dGlvbiBtZXJnZWQgaW4gKG5vIG11dGF0aW9ucylcbiAgY29uc3QgZGVjb3JhdGVkUG9pbnRzQnlJZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpIHJldHVybnMgYSBwbGFpbiBvYmplY3Qga2V5ZWQgYnkgaWQ7IGNsb25lIGl0XG4gICAgY29uc3QgYmFzZSA9IG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIGNvbnN0IGNvcHk6IFJlY29yZDxudW1iZXIsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIE9iamVjdC5rZXlzKGJhc2UpKSB7XG4gICAgICBjb25zdCBudW1JZCA9IE51bWJlcihpZCk7XG4gICAgICBjb25zdCBwb2xsdXRpb24gPSBwb2xsdXRpb25CeVNpdGVJZC5nZXQobnVtSWQpO1xuICAgICAgLy8gc2hhbGxvdyBjbG9uZSBlYWNoIHBvaW50OyBhZGQgcG9sbHV0aW9uIGlmIGV4aXN0c1xuICAgICAgY29weVtudW1JZF0gPSBwb2xsdXRpb25cbiAgICAgICAgPyB7IC4uLmJhc2VbbnVtSWRdLCAuLi5wb2xsdXRpb24gfVxuICAgICAgICA6IHsgLi4uYmFzZVtudW1JZF0gfTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcHk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgcG9sbHV0aW9uQnlTaXRlSWRdKTtcblxuICAvLyAzKSBDb21wdXRlIGVkZ2VzV2l0aERldmljZSBzYWZlbHkvbWVtb2l6ZWQgKG5vIGV4dHJhIHJlbmRlcnMpXG4gIGNvbnN0IGVkZ2VzV2l0aERldmljZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBvaW50c1dpdGhEZXZpY2UgPSBtYXBCeUlkKFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmlsdGVyKChwKSA9PiBwLmhhc19kZXZpY2UpLFxuICAgICk7XG4gICAgcmV0dXJuIGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgICAgKGVkZ2UpID0+XG4gICAgICAgIHBvaW50c1dpdGhEZXZpY2VbZWRnZS5zb3VyY2VfcG9pbnRfaWRdIHx8IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIGVkZ2VzX2RhdGEuaXRlbXNdKTtcblxuICBjb25zdCBmaWx0ZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwb2ludHNPcHRpb24gPSB7fTtcbiAgICBjb25zdCBwb2ludExpc3QgPSBwb2ludHNfZGF0YS5pdGVtcztcbiAgICBlZGdlc1dpdGhEZXZpY2UuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQpO1xuICAgICAgaWYgKHNvdXJjZVBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bc291cmNlUG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiBzb3VyY2VQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiBzb3VyY2VQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgICAgaWYgKHRhcmdldFBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bdGFyZ2V0UG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiB0YXJnZXRQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiB0YXJnZXRQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHBvaW50c09wdGlvbik7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNXaXRoRGV2aWNlXSk7XG5cbiAgLy8gNCkgQnVpbGQgdGhlIHRyZWUgT05MWSB3aGVuIGRhdGEgaXMgcmVhZHk7IGtlZXAgcmVmZXJlbnRpYWwgc3RhYmlsaXR5XG4gIGNvbnN0IHRyZWVEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZ1NpdGVzIHx8IGVycm9yU2l0ZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIGJ1aWxkVHJlZShlZGdlc1dpdGhEZXZpY2UsIGRlY29yYXRlZFBvaW50c0J5SWQsIHdhdGVyQXV0aG9yaXR5TmFtZSk7XG4gIH0sIFtcbiAgICBlZGdlc1dpdGhEZXZpY2UsXG4gICAgZGVjb3JhdGVkUG9pbnRzQnlJZCxcbiAgICB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgaXNMb2FkaW5nU2l0ZXMsXG4gICAgZXJyb3JTaXRlcyxcbiAgXSk7XG5cbiAgY29uc3QgdXBkYXRlRmlsdGVyID0gKGFwcGxpZWRGaWx0ZXIpID0+IHtcbiAgICAvLyBQcm9jZXNzIHRoZSBhcHBsaWVkIGZpbHRlciBhcyBuZWVkZWRcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlcnMgPSB7fTtcblxuICAgIGFwcGxpZWRGaWx0ZXIuZmlsdGVyX2l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHNlbGVjdGVkRmlsdGVyc1tpdGVtLnR5cGVdID0gaXRlbS5zZWxlY3RlZF9vcHRpb25zO1xuICAgIH0pO1xuICAgIHNldEZpbHRlck9wdGlvbnMoc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICAvLyBZb3UgY2FuIHVwZGF0ZSBzdGF0ZSBvciBtYWtlIEFQSSBjYWxscyBiYXNlZCBvbiB0aGUgYXBwbGllZCBmaWx0ZXJcbiAgfTtcblxuICBpZiAoIWlzSGllcmFyY2h5VGFiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgIGZpbHRlclBvcHVwT3Blbj17dHJ1ZX1cbiAgICAgICAgZmV0Y2hUeXBlPXsnSGllcmFyY2h5RmlsdGVyJ31cbiAgICAgICAgYXBwbHlMb2dpYz17dXBkYXRlRmlsdGVyfVxuICAgICAgICBjdXN0b21fcG9pbnRzPXtmaWx0ZXJQb2ludHN9XG4gICAgICAvPlxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIXRyZWVEYXRhIHx8XG4gICAgICAgICAgICBpc0xvYWRpbmdTaXRlcyA/IChcbiAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEF1dG9GaXRUcmVlXG4gICAgICAgICAgICAgICAgdHJlZUtleT17MH1cbiAgICAgICAgICAgICAgICBpbml0aWFsRGVwdGg9ezEyfVxuICAgICAgICAgICAgICAgIGRhdGE9e3RyZWVEYXRhfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsdGVycz17ZmlsdGVyT3B0aW9uc31cbiAgICAgICAgICAgICAgICBvbk5vZGVDbGljaz17b25Ob2RlQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFJpZ2h0UGFuZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcmlnaHQtcGFuZWwgJHtzaG93UmlnaHRQYW5lbCA/ICdvcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICAgIHBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRQb2ludChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRTaG93UmlnaHRQYW5lbChmYWxzZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IEhpZXJhcmNoeUdyYXBoO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHlCQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxnQkFBQSxHQUFBVCxzQkFBQSxDQUFBRixPQUFBO0FBQStGLFNBQUFZLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZCx3QkFBQWtC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
@@ -16,9 +16,7 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
16
16
  height = _ref$height === void 0 ? 8 : _ref$height,
17
17
  _ref$radius = _ref.radius,
18
18
  radius = _ref$radius === void 0 ? 4 : _ref$radius;
19
- var total = segments.reduce(function (s, x) {
20
- return s + x.value;
21
- }, 0) || 1;
19
+ var total = 100;
22
20
  var x = 0;
23
21
  return /*#__PURE__*/_react.default.createElement("svg", {
24
22
  width: width,
@@ -62,4 +60,4 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
62
60
  };
63
61
  var _default = MicroStackedBar;
64
62
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsInJlZHVjZSIsInMiLCJ4IiwidmFsdWUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsImkiLCJ3IiwicmVjdCIsImtleSIsImZpbGwiLCJjb2xvciIsInN0cm9rZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNaWNyb1N0YWNrZWRCYXIudHN4XG50eXBlIFNlZyA9IHsgdmFsdWU6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfTsgLy8gdmFsdWUgY2FuIGJlIDAuLjEgb3IgMC4uMTAwXG5jb25zdCBNaWNyb1N0YWNrZWRCYXIgPSAoe1xuICBzZWdtZW50cyxcbiAgd2lkdGggPSA4MCxcbiAgaGVpZ2h0ID0gOCxcbiAgcmFkaXVzID0gNCxcbn06IHtcbiAgc2VnbWVudHM6IFNlZ1tdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHRvdGFsID0gc2VnbWVudHMucmVkdWNlKChzLCB4KSA9PiBzICsgeC52YWx1ZSwgMCkgfHwgMTtcbiAgbGV0IHggPSAwO1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3R5bGU9e3sgZGlzcGxheTogJ2Jsb2NrJyB9fT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJyXCI+XG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgICAgIHJ5PXtyYWRpdXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNyKVwiPlxuICAgICAgICB7c2VnbWVudHMubWFwKChzLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgdyA9IChzLnZhbHVlIC8gdG90YWwpICogd2lkdGg7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IChcbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgeD17eH1cbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgd2lkdGg9e3d9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgICBmaWxsPXtzLmNvbG9yfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICAgIHggKz0gdztcbiAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgfSl9XG4gICAgICA8L2c+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCIjQkRCREJEXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNaWNyb1N0YWNrZWRCYXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQTtBQUM2RDtBQUM3RCxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUFDLElBQUEsRUFVZjtFQUFBLElBVEpDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUFDLFVBQUEsR0FBQUYsSUFBQSxDQUNSRyxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLEVBQUUsR0FBQUEsVUFBQTtJQUFBRSxXQUFBLEdBQUFKLElBQUEsQ0FDVkssTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxDQUFDLEdBQUFBLFdBQUE7SUFBQUUsV0FBQSxHQUFBTixJQUFBLENBQ1ZPLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsQ0FBQyxHQUFBQSxXQUFBO0VBT1YsSUFBTUUsS0FBSyxHQUFHUCxRQUFRLENBQUNRLE1BQU0sQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLEdBQUdDLENBQUMsQ0FBQ0MsS0FBSztFQUFBLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztFQUM1RCxJQUFJRCxDQUFDLEdBQUcsQ0FBQztFQUNULG9CQUNFZixNQUFBLENBQUFpQixPQUFBLENBQUFDLGFBQUE7SUFBS1gsS0FBSyxFQUFFQSxLQUFNO0lBQUNFLE1BQU0sRUFBRUEsTUFBTztJQUFDVSxLQUFLLEVBQUU7TUFBRUMsT0FBTyxFQUFFO0lBQVE7RUFBRSxnQkFDN0RwQixNQUFBLENBQUFpQixPQUFBLENBQUFDLGFBQUEsNEJBQ0VsQixNQUFBLENBQUFpQixPQUFBLENBQUFDLGFBQUE7SUFBVUcsRUFBRSxFQUFDO0VBQUcsZ0JBQ2RyQixNQUFBLENBQUFpQixPQUFBLENBQUFDLGFBQUE7SUFDRUgsQ0FBQyxFQUFDLEdBQUc7SUFDTE8sQ0FBQyxFQUFDLEdBQUc7SUFDTGYsS0FBSyxFQUFFQSxLQUFNO0lBQ2JFLE1BQU0sRUFBRUEsTUFBTztJQUNmYyxFQUFFLEVBQUVaLE1BQU87SUFDWGEsRUFBRSxFQUFFYjtFQUFPLENBQ1osQ0FDTyxDQUNOLENBQUMsZUFDUFgsTUFBQSxDQUFBaUIsT0FBQSxDQUFBQyxhQUFBO0lBQUdPLFFBQVEsRUFBQztFQUFTLEdBQ2xCcEIsUUFBUSxDQUFDcUIsR0FBRyxDQUFDLFVBQUNaLENBQUMsRUFBRWEsQ0FBQyxFQUFLO0lBQ3RCLElBQU1DLENBQUMsR0FBSWQsQ0FBQyxDQUFDRSxLQUFLLEdBQUdKLEtBQUssR0FBSUwsS0FBSztJQUNuQyxJQUFNc0IsSUFBSSxnQkFDUjdCLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQUMsYUFBQTtNQUNFWSxHQUFHLEVBQUVILENBQUU7TUFDUFosQ0FBQyxFQUFFQSxDQUFFO01BQ0xPLENBQUMsRUFBRSxDQUFFO01BQ0xmLEtBQUssRUFBRXFCLENBQUU7TUFDVG5CLE1BQU0sRUFBRUEsTUFBTztNQUNmc0IsSUFBSSxFQUFFakIsQ0FBQyxDQUFDa0I7SUFBTSxDQUNmLENBQ0Y7SUFDRGpCLENBQUMsSUFBSWEsQ0FBQztJQUNOLE9BQU9DLElBQUk7RUFDYixDQUFDLENBQ0EsQ0FBQyxlQUNKN0IsTUFBQSxDQUFBaUIsT0FBQSxDQUFBQyxhQUFBO0lBQ0VILENBQUMsRUFBQyxHQUFHO0lBQ0xPLENBQUMsRUFBQyxHQUFHO0lBQ0xmLEtBQUssRUFBRUEsS0FBTTtJQUNiRSxNQUFNLEVBQUVBLE1BQU87SUFDZmMsRUFBRSxFQUFFWixNQUFPO0lBQ1hhLEVBQUUsRUFBRWIsTUFBTztJQUNYb0IsSUFBSSxFQUFDLE1BQU07SUFDWEUsTUFBTSxFQUFDO0VBQVMsQ0FDakIsQ0FDRSxDQUFDO0FBRVYsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYS9CLGVBQWU7QUFBQWdDLE9BQUEsQ0FBQWxCLE9BQUEsR0FBQWlCLFFBQUEifQ==
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsIngiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsInMiLCJpIiwidyIsInZhbHVlIiwicmVjdCIsImtleSIsImZpbGwiLCJjb2xvciIsInN0cm9rZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNaWNyb1N0YWNrZWRCYXIudHN4XG50eXBlIFNlZyA9IHsgdmFsdWU6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfTsgLy8gdmFsdWUgY2FuIGJlIDAuLjEgb3IgMC4uMTAwXG5jb25zdCBNaWNyb1N0YWNrZWRCYXIgPSAoe1xuICBzZWdtZW50cyxcbiAgd2lkdGggPSA4MCxcbiAgaGVpZ2h0ID0gOCxcbiAgcmFkaXVzID0gNCxcbn06IHtcbiAgc2VnbWVudHM6IFNlZ1tdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHRvdGFsID0gMTAwO1xuICBsZXQgeCA9IDA7XG4gIHJldHVybiAoXG4gICAgPHN2ZyB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fSBzdHlsZT17eyBkaXNwbGF5OiAnYmxvY2snIH19PlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxjbGlwUGF0aCBpZD1cInJcIj5cbiAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgeD1cIjBcIlxuICAgICAgICAgICAgeT1cIjBcIlxuICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICByeD17cmFkaXVzfVxuICAgICAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgICAvPlxuICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgPC9kZWZzPlxuICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI3IpXCI+XG4gICAgICAgIHtzZWdtZW50cy5tYXAoKHMsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCB3ID0gKHMudmFsdWUgLyB0b3RhbCkgKiB3aWR0aDtcbiAgICAgICAgICBjb25zdCByZWN0ID0gKFxuICAgICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICB4PXt4fVxuICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICB3aWR0aD17d31cbiAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgIGZpbGw9e3MuY29sb3J9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgICAgeCArPSB3O1xuICAgICAgICAgIHJldHVybiByZWN0O1xuICAgICAgICB9KX1cbiAgICAgIDwvZz5cbiAgICAgIDxyZWN0XG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICByeD17cmFkaXVzfVxuICAgICAgICByeT17cmFkaXVzfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZT1cIiNCREJEQkRcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1pY3JvU3RhY2tlZEJhcjtcbiJdLCJt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
@@ -17,10 +17,8 @@ var _reactBootstrap = require("react-bootstrap");
17
17
  var _theme = require("../../styles/theme/theme");
18
18
  var _icons = require("utilities/map/icons");
19
19
  require("./style.scss");
20
- var _PollutionScorePercent = require("../../Widgets/MostPolluting/components/PollutionScorePercent");
21
- var _scoreToData = require("../../utilities/scoreToData");
22
20
  var NodeLayout = function NodeLayout(_ref) {
23
- var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$name, _nodeDatum$name$toLow, _nodeDatum$attributes5, _nodeDatum$attributes6, _nodeDatum$attributes7, _nodeDatum$attributes8, _nodeDatum$attributes9, _nodeDatum$attributes10;
21
+ var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$name, _nodeDatum$name$toLow, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$attributes5, _nodeDatum$attributes6, _nodeDatum$attributes7, _nodeDatum$attributes8;
24
22
  var nodeDatum = _ref.nodeDatum,
25
23
  toggleNode = _ref.toggleNode,
26
24
  searchTerm = _ref.searchTerm,
@@ -30,26 +28,25 @@ var NodeLayout = function NodeLayout(_ref) {
30
28
  var factoryType = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.type) || '';
31
29
  var isLeafNode = !nodeDatum.children || nodeDatum.children.length === 0;
32
30
  var isMonitored = (_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : _nodeDatum$attributes2.monitored;
33
- var score = (_nodeDatum$attributes3 = (_nodeDatum$attributes4 = nodeDatum.attributes) === null || _nodeDatum$attributes4 === void 0 ? void 0 : _nodeDatum$attributes4.score) !== null && _nodeDatum$attributes3 !== void 0 ? _nodeDatum$attributes3 : -1;
34
31
  var borderColor = _theme.theme.natural.n30;
35
- var isHighlighted = !!searchTerm && (((_nodeDatum$name = nodeDatum.name) === null || _nodeDatum$name === void 0 ? void 0 : (_nodeDatum$name$toLow = _nodeDatum$name.toLowerCase()) === null || _nodeDatum$name$toLow === void 0 ? void 0 : _nodeDatum$name$toLow.includes(searchTerm.toLowerCase())) || (nodeDatum === null || nodeDatum === void 0 ? void 0 : (_nodeDatum$attributes5 = nodeDatum.attributes) === null || _nodeDatum$attributes5 === void 0 ? void 0 : (_nodeDatum$attributes6 = _nodeDatum$attributes5.area_name) === null || _nodeDatum$attributes6 === void 0 ? void 0 : (_nodeDatum$attributes7 = _nodeDatum$attributes6.toLowerCase()) === null || _nodeDatum$attributes7 === void 0 ? void 0 : _nodeDatum$attributes7.includes(searchTerm.toLowerCase())));
32
+ var isHighlighted = !!searchTerm && (((_nodeDatum$name = nodeDatum.name) === null || _nodeDatum$name === void 0 ? void 0 : (_nodeDatum$name$toLow = _nodeDatum$name.toLowerCase()) === null || _nodeDatum$name$toLow === void 0 ? void 0 : _nodeDatum$name$toLow.includes(searchTerm.toLowerCase())) || (nodeDatum === null || nodeDatum === void 0 ? void 0 : (_nodeDatum$attributes3 = nodeDatum.attributes) === null || _nodeDatum$attributes3 === void 0 ? void 0 : (_nodeDatum$attributes4 = _nodeDatum$attributes3.area_name) === null || _nodeDatum$attributes4 === void 0 ? void 0 : (_nodeDatum$attributes5 = _nodeDatum$attributes4.toLowerCase()) === null || _nodeDatum$attributes5 === void 0 ? void 0 : _nodeDatum$attributes5.includes(searchTerm.toLowerCase())));
36
33
  // const isFocused = siteID === nodeDatum.attributes?.point_id?.toString();
37
34
 
38
35
  var cardStyle = {
39
36
  borderRadius: '4px',
40
- borderColor: isHighlighted ? _theme.theme.colorScheme.secondary.s1 : borderColor,
37
+ borderColor: isHighlighted ? _theme.theme.brand.surface.muted : borderColor,
41
38
  borderStyle: isMonitored ? 'solid' : 'dashed',
42
39
  borderWidth: '3px',
43
40
  backgroundColor: '#FFFFFF',
44
41
  stroke: 'none',
45
42
  height: '170px'
46
43
  };
47
- var title = factoryType === 'area' ? ((_nodeDatum$attributes8 = nodeDatum.attributes) === null || _nodeDatum$attributes8 === void 0 ? void 0 : _nodeDatum$attributes8.area_name) || nodeDatum.name : nodeDatum.name;
44
+ var title = factoryType === 'area' ? ((_nodeDatum$attributes6 = nodeDatum.attributes) === null || _nodeDatum$attributes6 === void 0 ? void 0 : _nodeDatum$attributes6.area_name) || nodeDatum.name : nodeDatum.name;
48
45
  // const onShowDetails = (event) => {
49
46
  // event.stopPropagation();
50
47
  // onNodeClick(nodeDatum);
51
48
  // };
52
- var isShowSampler = showSamplers && ((_nodeDatum$attributes9 = nodeDatum.attributes) === null || _nodeDatum$attributes9 === void 0 ? void 0 : _nodeDatum$attributes9.has_sampler);
49
+ var isShowSampler = showSamplers && ((_nodeDatum$attributes7 = nodeDatum.attributes) === null || _nodeDatum$attributes7 === void 0 ? void 0 : _nodeDatum$attributes7.has_sampler);
53
50
  if (!nodeDatum.name) {
54
51
  return null;
55
52
  }
@@ -63,9 +60,9 @@ var NodeLayout = function NodeLayout(_ref) {
63
60
  y: "-137",
64
61
  width: "200",
65
62
  height: "250"
66
- }, ((_nodeDatum$attributes10 = nodeDatum.attributes) === null || _nodeDatum$attributes10 === void 0 ? void 0 : _nodeDatum$attributes10.point_id) && /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
63
+ }, ((_nodeDatum$attributes8 = nodeDatum.attributes) === null || _nodeDatum$attributes8 === void 0 ? void 0 : _nodeDatum$attributes8.point_id) && /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
67
64
  style: {
68
- stroke: borderColor,
65
+ stroke: _theme.theme.brand.surface.default,
69
66
  strokeWidth: 1,
70
67
  background: 'white',
71
68
  marginInlineStart: 64
@@ -112,19 +109,10 @@ var NodeLayout = function NodeLayout(_ref) {
112
109
  }, /*#__PURE__*/_react.default.createElement("div", {
113
110
  className: 'node-content',
114
111
  style: contentStyle
115
- }, nodeDatum.attributes && isMonitored &&
116
- /*#__PURE__*/
117
- // <SeverityBadge
118
- // className={'score'}
119
- // props={{ score, has_device: isMonitored }}
120
- // /> &&
121
- _react.default.createElement(_PollutionScorePercent.Wrapper, {
122
- scoreColor: (0, _scoreToData.scoreToColor)(score),
123
- up: true
124
- }, score < 0 ? (0, _PollutionScorePercent.render_score_undefined)((0, _scoreToData.scoreToLabel)(score)) : (0, _PollutionScorePercent.scoreLevel)((0, _scoreToData.scoreToLabel)(score), score))))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
112
+ }, nodeDatum.attributes && isMonitored && children))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
125
113
  color: borderColor
126
114
  }));
127
115
  };
128
116
  var _default = NodeLayout;
129
117
  exports.default = _default;
130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIl9pY29ucyIsIl9Qb2xsdXRpb25TY29yZVBlcmNlbnQiLCJfc2NvcmVUb0RhdGEiLCJOb2RlTGF5b3V0IiwiX3JlZiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlcyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczIiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNCIsIl9ub2RlRGF0dW0kbmFtZSIsIl9ub2RlRGF0dW0kbmFtZSR0b0xvdyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczUiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM2IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczgiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM5IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMTAiLCJub2RlRGF0dW0iLCJ0b2dnbGVOb2RlIiwic2VhcmNoVGVybSIsInNob3dTYW1wbGVycyIsImNoaWxkcmVuIiwiY29udGVudFN0eWxlIiwiZmFjdG9yeVR5cGUiLCJhdHRyaWJ1dGVzIiwidHlwZSIsImlzTGVhZk5vZGUiLCJsZW5ndGgiLCJpc01vbml0b3JlZCIsIm1vbml0b3JlZCIsInNjb3JlIiwiYm9yZGVyQ29sb3IiLCJ0aGVtZSIsIm5hdHVyYWwiLCJuMzAiLCJpc0hpZ2hsaWdodGVkIiwibmFtZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJhcmVhX25hbWUiLCJjYXJkU3R5bGUiLCJib3JkZXJSYWRpdXMiLCJjb2xvclNjaGVtZSIsInNlY29uZGFyeSIsInMxIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJXaWR0aCIsImJhY2tncm91bmRDb2xvciIsInN0cm9rZSIsImhlaWdodCIsInRpdGxlIiwiaXNTaG93U2FtcGxlciIsImhhc19zYW1wbGVyIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwic3R5bGUiLCJjdXJzb3IiLCJ4IiwieSIsIndpZHRoIiwicG9pbnRfaWQiLCJBY3Rpb25zQ29udGFpbmVyIiwiU3R5bGVkTGluayIsInN0cm9rZVdpZHRoIiwiYmFja2dyb3VuZCIsIm1hcmdpbklubGluZVN0YXJ0IiwidGFyZ2V0IiwidXBkYXRlUGFyYW1zIiwidmlldyIsInRvIiwiY29uY2F0IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsInBsYWNlbWVudCIsIlRyYW5zIiwiaTE4bktleSIsIk1hcFN2ZyIsImNsYXNzTmFtZSIsInNyYyIsInNhbXBsZXJJY29uIiwiYWx0IiwiaGVhZGVyUmlnaHQiLCJXcmFwcGVyIiwic2NvcmVDb2xvciIsInNjb3JlVG9Db2xvciIsInVwIiwicmVuZGVyX3Njb3JlX3VuZGVmaW5lZCIsInNjb3JlVG9MYWJlbCIsInNjb3JlTGV2ZWwiLCJjb2xvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTm9kZUxheW91dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDYXJkTGF5b3V0IGZyb20gJy4uLy4uL1dpZGdldHMvTW9zdFBvbGx1dGluZy9GYWN0b3JpZXMvRmFjdG9yeUJveC9DYXJkTGF5b3V0JztcbmltcG9ydCBOb2RlSWNvbiBmcm9tICcuL05vZGVJY29uJztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJy4uLy4uL2Fzc2V0cy9pY29ucy9Ub3BOYXZiYXInO1xuaW1wb3J0IHsgU3R5bGVkTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgeyBBY3Rpb25zQ29udGFpbmVyLCBOb2RlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMZWFmU2lnbiBmcm9tICcuL0xlYWZTaWduJztcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBPdmVybGF5VHJpZ2dlciwgVG9vbHRpcCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBzYW1wbGVySWNvbiB9IGZyb20gJ3NyYy91dGlsaXRpZXMvbWFwL2ljb25zJztcbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCB7XG4gIHJlbmRlcl9zY29yZV91bmRlZmluZWQsXG4gIHNjb3JlTGV2ZWwsXG4gIFdyYXBwZXIsXG59IGZyb20gJy4uLy4uL1dpZGdldHMvTW9zdFBvbGx1dGluZy9jb21wb25lbnRzL1BvbGx1dGlvblNjb3JlUGVyY2VudCc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IsIHNjb3JlVG9MYWJlbCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9zY29yZVRvRGF0YSc7XG5cbmNvbnN0IE5vZGVMYXlvdXQgPSAoe1xuICBub2RlRGF0dW0sXG4gIHRvZ2dsZU5vZGUsXG4gIHNlYXJjaFRlcm0sXG4gIHNob3dTYW1wbGVycyxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRTdHlsZSxcbn06IE5vZGVQcm9wcykgPT4ge1xuICBjb25zdCBmYWN0b3J5VHlwZSA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy50eXBlIHx8ICcnO1xuICBjb25zdCBpc0xlYWZOb2RlID0gIW5vZGVEYXR1bS5jaGlsZHJlbiB8fCBub2RlRGF0dW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICBjb25zdCBpc01vbml0b3JlZCA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQ7XG4gIGNvbnN0IHNjb3JlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnNjb3JlID8/IC0xO1xuICBjb25zdCBib3JkZXJDb2xvciA9IHRoZW1lLm5hdHVyYWwubjMwO1xuICBjb25zdCBpc0hpZ2hsaWdodGVkID1cbiAgICAhIXNlYXJjaFRlcm0gJiZcbiAgICAobm9kZURhdHVtLm5hbWU/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgIG5vZGVEYXR1bT8uYXR0cmlidXRlcz8uYXJlYV9uYW1lXG4gICAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgICA/LmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkpO1xuICAvLyBjb25zdCBpc0ZvY3VzZWQgPSBzaXRlSUQgPT09IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZD8udG9TdHJpbmcoKTtcblxuICBjb25zdCBjYXJkU3R5bGU6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSB7XG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXJDb2xvcjogaXNIaWdobGlnaHRlZCA/IHRoZW1lLmNvbG9yU2NoZW1lLnNlY29uZGFyeS5zMSA6IGJvcmRlckNvbG9yLFxuICAgIGJvcmRlclN0eWxlOiBpc01vbml0b3JlZCA/ICdzb2xpZCcgOiAnZGFzaGVkJyxcbiAgICBib3JkZXJXaWR0aDogJzNweCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgc3Ryb2tlOiAnbm9uZScsXG4gICAgaGVpZ2h0OiAnMTcwcHgnLFxuICB9O1xuICBjb25zdCB0aXRsZSA9XG4gICAgZmFjdG9yeVR5cGUgPT09ICdhcmVhJ1xuICAgICAgPyBub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9uYW1lIHx8IG5vZGVEYXR1bS5uYW1lXG4gICAgICA6IG5vZGVEYXR1bS5uYW1lO1xuICAvLyBjb25zdCBvblNob3dEZXRhaWxzID0gKGV2ZW50KSA9PiB7XG4gIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIC8vICAgb25Ob2RlQ2xpY2sobm9kZURhdHVtKTtcbiAgLy8gfTtcbiAgY29uc3QgaXNTaG93U2FtcGxlciA9IHNob3dTYW1wbGVycyAmJiBub2RlRGF0dW0uYXR0cmlidXRlcz8uaGFzX3NhbXBsZXI7XG5cbiAgaWYgKCFub2RlRGF0dW0ubmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGcgb25DbGljaz17dG9nZ2xlTm9kZX0gc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICA8Zm9yZWlnbk9iamVjdCB4PVwiLTEwMFwiIHk9XCItMTM3XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIyNTBcIj5cbiAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7Lyp7ZWFybHlBZG9wdGVyICYmICgqL31cbiAgICAgICAgICAgIHsvKiAgPHNwYW4gc3R5bGU9e3sgbWFyZ2luSW5saW5lRW5kOiAnOHB4JyB9fT4qL31cbiAgICAgICAgICAgIHsvKiAgICA8T3ZlcmxheVRyaWdnZXIqL31cbiAgICAgICAgICAgIHsvKiAgICAgIG92ZXJsYXk9eyovfVxuICAgICAgICAgICAgey8qICAgICAgICA8VG9vbHRpcCBpZD17J2RldGFpbHMnfSBwbGFjZW1lbnQ9XCJhdXRvXCI+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgPFRyYW5zKi99XG4gICAgICAgICAgICB7LyogICAgICAgICAgICBpMThuS2V5PXsnZ3JvdXBfc2NyZWVuLmdlbmVyYWxfdGFiLmdyb3VwX2RldGFpbHMnfSovfVxuICAgICAgICAgICAgey8qICAgICAgICAgIC8+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDwvVG9vbHRpcD4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIH0qL31cbiAgICAgICAgICAgIHsvKiAgICA+Ki99XG4gICAgICAgICAgICB7LyogICAgICA8RGV0YWlsc1N2ZyBvbkNsaWNrPXtvblNob3dEZXRhaWxzfSAvPiovfVxuICAgICAgICAgICAgey8qICAgIDwvT3ZlcmxheVRyaWdnZXI+Ki99XG4gICAgICAgICAgICB7LyogIDwvc3Bhbj4qL31cbiAgICAgICAgICAgIHsvKil9Ki99XG4gICAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHN0cm9rZTogYm9yZGVyQ29sb3IsXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5JbmxpbmVTdGFydDogNjQsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHVwZGF0ZVBhcmFtcz17eyB2aWV3OiAnbWFwJyB9fVxuICAgICAgICAgICAgICB0bz17YC9kYXNoYm9hcmRfdjIvc2l0ZS8ke25vZGVEYXR1bS5hdHRyaWJ1dGVzLnBvaW50X2lkfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICAgICAgICBvdmVybGF5PXtcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwibWFwXCIgcGxhY2VtZW50PVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICA8VHJhbnMgaTE4bktleT17J2hlYWRlci5tYXAnfSAvPlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxNYXBTdmcgc3R5bGU9e3sgd2lkdGg6IDU1LCBoZWlnaHQ6IDU1IH19IC8+XG4gICAgICAgICAgICAgIDwvT3ZlcmxheVRyaWdnZXI+XG4gICAgICAgICAgICA8L1N0eWxlZExpbms+XG4gICAgICAgICAgICB7aXNTaG93U2FtcGxlciAmJiAoXG4gICAgICAgICAgICAgIDxPdmVybGF5VHJpZ2dlclxuICAgICAgICAgICAgICAgIG92ZXJsYXk9e1xuICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9XCJzYW1wbGVyXCIgcGxhY2VtZW50PVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICA8VHJhbnNcbiAgICAgICAgICAgICAgICAgICAgICBpMThuS2V5PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQuaGllcmFyY2h5LnNhbXBsZXInXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J3NhbXBsZXItaWNvbi1ob2xkZXInfT5cbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzYW1wbGVySWNvbigpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzYW1wbGVyLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9eydzYW1wbGVyJ31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FjdGlvbnNDb250YWluZXI+XG4gICAgICAgICl9XG4gICAgICAgIDxDYXJkTGF5b3V0XG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgIHN0eWxlPXtjYXJkU3R5bGV9XG4gICAgICAgICAgaGVhZGVyUmlnaHQ9ezxOb2RlSWNvbiB0eXBlPXtmYWN0b3J5VHlwZX0gLz59XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J25vZGUtY29udGVudCd9IHN0eWxlPXtjb250ZW50U3R5bGV9PlxuICAgICAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzICYmIGlzTW9uaXRvcmVkICYmIChcbiAgICAgICAgICAgICAgLy8gPFNldmVyaXR5QmFkZ2VcbiAgICAgICAgICAgICAgLy8gICBjbGFzc05hbWU9eydzY29yZSd9XG4gICAgICAgICAgICAgIC8vICAgcHJvcHM9e3sgc2NvcmUsIGhhc19kZXZpY2U6IGlzTW9uaXRvcmVkIH19XG4gICAgICAgICAgICAgIC8vIC8+ICYmXG4gICAgICAgICAgICAgIDxXcmFwcGVyIHNjb3JlQ29sb3I9e3Njb3JlVG9Db2xvcihzY29yZSl9IHVwPXt0cnVlfT5cbiAgICAgICAgICAgICAgICB7c2NvcmUgPCAwXG4gICAgICAgICAgICAgICAgICA/IHJlbmRlcl9zY29yZV91bmRlZmluZWQoc2NvcmVUb0xhYmVsKHNjb3JlKSlcbiAgICAgICAgICAgICAgICAgIDogc2NvcmVMZXZlbChzY29yZVRvTGFiZWwoc2NvcmUpLCBzY29yZSl9XG4gICAgICAgICAgICAgIDwvV3JhcHBlcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ2FyZExheW91dD5cbiAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgIHtpc0xlYWZOb2RlICYmIDxMZWFmU2lnbiBjb2xvcj17Ym9yZGVyQ29sb3J9IC8+fVxuICAgIDwvZz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOb2RlTGF5b3V0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxP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
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIl9pY29ucyIsIk5vZGVMYXlvdXQiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMiIsIl9ub2RlRGF0dW0kbmFtZSIsIl9ub2RlRGF0dW0kbmFtZSR0b0xvdyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczMiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM0IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNSIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczYiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM3IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzOCIsIm5vZGVEYXR1bSIsInRvZ2dsZU5vZGUiLCJzZWFyY2hUZXJtIiwic2hvd1NhbXBsZXJzIiwiY2hpbGRyZW4iLCJjb250ZW50U3R5bGUiLCJmYWN0b3J5VHlwZSIsImF0dHJpYnV0ZXMiLCJ0eXBlIiwiaXNMZWFmTm9kZSIsImxlbmd0aCIsImlzTW9uaXRvcmVkIiwibW9uaXRvcmVkIiwiYm9yZGVyQ29sb3IiLCJ0aGVtZSIsIm5hdHVyYWwiLCJuMzAiLCJpc0hpZ2hsaWdodGVkIiwibmFtZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJhcmVhX25hbWUiLCJjYXJkU3R5bGUiLCJib3JkZXJSYWRpdXMiLCJicmFuZCIsInN1cmZhY2UiLCJtdXRlZCIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2UiLCJoZWlnaHQiLCJ0aXRsZSIsImlzU2hvd1NhbXBsZXIiLCJoYXNfc2FtcGxlciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsInN0eWxlIiwiY3Vyc29yIiwieCIsInkiLCJ3aWR0aCIsInBvaW50X2lkIiwiQWN0aW9uc0NvbnRhaW5lciIsIlN0eWxlZExpbmsiLCJzdHJva2VXaWR0aCIsImJhY2tncm91bmQiLCJtYXJnaW5JbmxpbmVTdGFydCIsInRhcmdldCIsInVwZGF0ZVBhcmFtcyIsInZpZXciLCJ0byIsImNvbmNhdCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJPdmVybGF5VHJpZ2dlciIsIm92ZXJsYXkiLCJUb29sdGlwIiwiaWQiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJNYXBTdmciLCJjbGFzc05hbWUiLCJzcmMiLCJzYW1wbGVySWNvbiIsImFsdCIsImhlYWRlclJpZ2h0IiwiY29sb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL05vZGVMYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2FyZExheW91dCBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL0ZhY3RvcnlCb3gvQ2FyZExheW91dCc7XG5pbXBvcnQgTm9kZUljb24gZnJvbSAnLi9Ob2RlSWNvbic7XG5pbXBvcnQgeyBNYXBTdmcgfSBmcm9tICcuLi8uLi9hc3NldHMvaWNvbnMvVG9wTmF2YmFyJztcbmltcG9ydCB7IFN0eWxlZExpbmsgfSBmcm9tICdzcmMvY29tcG9uZW50cy9MaW5rcy9TdHlsZWRMaW5rL1N0eWxlZExpbmsnO1xuaW1wb3J0IHsgQWN0aW9uc0NvbnRhaW5lciwgTm9kZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgTGVhZlNpZ24gZnJvbSAnLi9MZWFmU2lnbic7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHsgT3ZlcmxheVRyaWdnZXIsIFRvb2x0aXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgc2FtcGxlckljb24gfSBmcm9tICdzcmMvdXRpbGl0aWVzL21hcC9pY29ucyc7XG5pbXBvcnQgJy4vc3R5bGUuc2Nzcyc7XG5cbmNvbnN0IE5vZGVMYXlvdXQgPSAoe1xuICBub2RlRGF0dW0sXG4gIHRvZ2dsZU5vZGUsXG4gIHNlYXJjaFRlcm0sXG4gIHNob3dTYW1wbGVycyxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRTdHlsZSxcbn06IE5vZGVQcm9wcykgPT4ge1xuICBjb25zdCBmYWN0b3J5VHlwZSA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy50eXBlIHx8ICcnO1xuICBjb25zdCBpc0xlYWZOb2RlID0gIW5vZGVEYXR1bS5jaGlsZHJlbiB8fCBub2RlRGF0dW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICBjb25zdCBpc01vbml0b3JlZCA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQ7XG4gIGNvbnN0IGJvcmRlckNvbG9yID0gdGhlbWUubmF0dXJhbC5uMzA7XG4gIGNvbnN0IGlzSGlnaGxpZ2h0ZWQgPVxuICAgICEhc2VhcmNoVGVybSAmJlxuICAgIChub2RlRGF0dW0ubmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgbm9kZURhdHVtPy5hdHRyaWJ1dGVzPy5hcmVhX25hbWVcbiAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgID8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSk7XG4gIC8vIGNvbnN0IGlzRm9jdXNlZCA9IHNpdGVJRCA9PT0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpO1xuXG4gIGNvbnN0IGNhcmRTdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHtcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGJvcmRlckNvbG9yOiBpc0hpZ2hsaWdodGVkID8gdGhlbWUuYnJhbmQuc3VyZmFjZS5tdXRlZCA6IGJvcmRlckNvbG9yLFxuICAgIGJvcmRlclN0eWxlOiBpc01vbml0b3JlZCA/ICdzb2xpZCcgOiAnZGFzaGVkJyxcbiAgICBib3JkZXJXaWR0aDogJzNweCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgc3Ryb2tlOiAnbm9uZScsXG4gICAgaGVpZ2h0OiAnMTcwcHgnLFxuICB9O1xuICBjb25zdCB0aXRsZSA9XG4gICAgZmFjdG9yeVR5cGUgPT09ICdhcmVhJ1xuICAgICAgPyBub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9uYW1lIHx8IG5vZGVEYXR1bS5uYW1lXG4gICAgICA6IG5vZGVEYXR1bS5uYW1lO1xuICAvLyBjb25zdCBvblNob3dEZXRhaWxzID0gKGV2ZW50KSA9PiB7XG4gIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIC8vICAgb25Ob2RlQ2xpY2sobm9kZURhdHVtKTtcbiAgLy8gfTtcbiAgY29uc3QgaXNTaG93U2FtcGxlciA9IHNob3dTYW1wbGVycyAmJiBub2RlRGF0dW0uYXR0cmlidXRlcz8uaGFzX3NhbXBsZXI7XG5cbiAgaWYgKCFub2RlRGF0dW0ubmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGcgb25DbGljaz17dG9nZ2xlTm9kZX0gc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICA8Zm9yZWlnbk9iamVjdCB4PVwiLTEwMFwiIHk9XCItMTM3XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIyNTBcIj5cbiAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7Lyp7ZWFybHlBZG9wdGVyICYmICgqL31cbiAgICAgICAgICAgIHsvKiAgPHNwYW4gc3R5bGU9e3sgbWFyZ2luSW5saW5lRW5kOiAnOHB4JyB9fT4qL31cbiAgICAgICAgICAgIHsvKiAgICA8T3ZlcmxheVRyaWdnZXIqL31cbiAgICAgICAgICAgIHsvKiAgICAgIG92ZXJsYXk9eyovfVxuICAgICAgICAgICAgey8qICAgICAgICA8VG9vbHRpcCBpZD17J2RldGFpbHMnfSBwbGFjZW1lbnQ9XCJhdXRvXCI+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgPFRyYW5zKi99XG4gICAgICAgICAgICB7LyogICAgICAgICAgICBpMThuS2V5PXsnZ3JvdXBfc2NyZWVuLmdlbmVyYWxfdGFiLmdyb3VwX2RldGFpbHMnfSovfVxuICAgICAgICAgICAgey8qICAgICAgICAgIC8+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDwvVG9vbHRpcD4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIH0qL31cbiAgICAgICAgICAgIHsvKiAgICA+Ki99XG4gICAgICAgICAgICB7LyogICAgICA8RGV0YWlsc1N2ZyBvbkNsaWNrPXtvblNob3dEZXRhaWxzfSAvPiovfVxuICAgICAgICAgICAgey8qICAgIDwvT3ZlcmxheVRyaWdnZXI+Ki99XG4gICAgICAgICAgICB7LyogIDwvc3Bhbj4qL31cbiAgICAgICAgICAgIHsvKil9Ki99XG4gICAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdGhlbWUuYnJhbmQuc3VyZmFjZS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgbWFyZ2luSW5saW5lU3RhcnQ6IDY0LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICB1cGRhdGVQYXJhbXM9e3sgdmlldzogJ21hcCcgfX1cbiAgICAgICAgICAgICAgdG89e2AvZGFzaGJvYXJkX3YyL3NpdGUvJHtub2RlRGF0dW0uYXR0cmlidXRlcy5wb2ludF9pZH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE92ZXJsYXlUcmlnZ2VyXG4gICAgICAgICAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCBpZD1cIm1hcFwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zIGkxOG5LZXk9eydoZWFkZXIubWFwJ30gLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TWFwU3ZnIHN0eWxlPXt7IHdpZHRoOiA1NSwgaGVpZ2h0OiA1NSB9fSAvPlxuICAgICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICAgICAgICAge2lzU2hvd1NhbXBsZXIgJiYgKFxuICAgICAgICAgICAgICA8T3ZlcmxheVRyaWdnZXJcbiAgICAgICAgICAgICAgICBvdmVybGF5PXtcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwic2FtcGxlclwiIHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zXG4gICAgICAgICAgICAgICAgICAgICAgaTE4bktleT17XG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLmhpZXJhcmNoeS5zYW1wbGVyJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydzYW1wbGVyLWljb24taG9sZGVyJ30+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIHNyYz17c2FtcGxlckljb24oKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2FtcGxlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PXsnc2FtcGxlcid9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9PdmVybGF5VHJpZ2dlcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgICA8Q2FyZExheW91dFxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICBzdHlsZT17Y2FyZFN0eWxlfVxuICAgICAgICAgIGhlYWRlclJpZ2h0PXs8Tm9kZUljb24gdHlwZT17ZmFjdG9yeVR5cGV9IC8+fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydub2RlLWNvbnRlbnQnfSBzdHlsZT17Y29udGVudFN0eWxlfT5cbiAgICAgICAgICAgIHtub2RlRGF0dW0uYXR0cmlidXRlcyAmJiBpc01vbml0b3JlZCAmJiBjaGlsZHJlbn1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9DYXJkTGF5b3V0PlxuICAgICAgPC9mb3JlaWduT2JqZWN0PlxuICAgICAge2lzTGVhZk5vZGUgJiYgPExlYWZTaWduIGNvbG9yPXtib3JkZXJDb2xvcn0gLz59XG4gICAgPC9nPlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IE5vZGVMYXlvdXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQUEsT0FBQTtBQUVBLElBQU1XLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBQyxJQUFBLEVBT0M7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBO0VBQUEsSUFOZkMsU0FBUyxHQUFBWCxJQUFBLENBQVRXLFNBQVM7SUFDVEMsVUFBVSxHQUFBWixJQUFBLENBQVZZLFVBQVU7SUFDVkMsVUFBVSxHQUFBYixJQUFBLENBQVZhLFVBQVU7SUFDVkMsWUFBWSxHQUFBZCxJQUFBLENBQVpjLFlBQVk7SUFDWkMsUUFBUSxHQUFBZixJQUFBLENBQVJlLFFBQVE7SUFDUkMsWUFBWSxHQUFBaEIsSUFBQSxDQUFaZ0IsWUFBWTtFQUVaLElBQU1DLFdBQVcsR0FBRyxFQUFBaEIscUJBQUEsR0FBQVUsU0FBUyxDQUFDTyxVQUFVLGNBQUFqQixxQkFBQSx1QkFBcEJBLHFCQUFBLENBQXNCa0IsSUFBSSxLQUFJLEVBQUU7RUFDcEQsSUFBTUMsVUFBVSxHQUFHLENBQUNULFNBQVMsQ0FBQ0ksUUFBUSxJQUFJSixTQUFTLENBQUNJLFFBQVEsQ0FBQ00sTUFBTSxLQUFLLENBQUM7RUFDekUsSUFBTUMsV0FBVyxJQUFBcEIsc0JBQUEsR0FBR1MsU0FBUyxDQUFDTyxVQUFVLGNBQUFoQixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCcUIsU0FBUztFQUNuRCxJQUFNQyxXQUFXLEdBQUdDLFlBQUssQ0FBQ0MsT0FBTyxDQUFDQyxHQUFHO0VBQ3JDLElBQU1DLGFBQWEsR0FDakIsQ0FBQyxDQUFDZixVQUFVLEtBQ1gsRUFBQVYsZUFBQSxHQUFBUSxTQUFTLENBQUNrQixJQUFJLGNBQUExQixlQUFBLHdCQUFBQyxxQkFBQSxHQUFkRCxlQUFBLENBQWdCMkIsV0FBVyxDQUFDLENBQUMsY0FBQTFCLHFCQUFBLHVCQUE3QkEscUJBQUEsQ0FBK0IyQixRQUFRLENBQUNsQixVQUFVLENBQUNpQixXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQ2hFbkIsU0FBUyxhQUFUQSxTQUFTLHdCQUFBTixzQkFBQSxHQUFUTSxTQUFTLENBQUVPLFVBQVUsY0FBQWIsc0JBQUEsd0JBQUFDLHNCQUFBLEdBQXJCRCxzQkFBQSxDQUF1QjJCLFNBQVMsY0FBQTFCLHNCQUFBLHdCQUFBQyxzQkFBQSxHQUFoQ0Qsc0JBQUEsQ0FDSXdCLFdBQVcsQ0FBQyxDQUFDLGNBQUF2QixzQkFBQSx1QkFEakJBLHNCQUFBLENBRUl3QixRQUFRLENBQUNsQixVQUFVLENBQUNpQixXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUM7RUFDM0M7O0VBRUEsSUFBTUcsU0FBOEIsR0FBRztJQUNyQ0MsWUFBWSxFQUFFLEtBQUs7SUFDbkJWLFdBQVcsRUFBRUksYUFBYSxHQUFHSCxZQUFLLENBQUNVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDQyxLQUFLLEdBQUdiLFdBQVc7SUFDcEVjLFdBQVcsRUFBRWhCLFdBQVcsR0FBRyxPQUFPLEdBQUcsUUFBUTtJQUM3Q2lCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCQyxlQUFlLEVBQUUsU0FBUztJQUMxQkMsTUFBTSxFQUFFLE1BQU07SUFDZEMsTUFBTSxFQUFFO0VBQ1YsQ0FBQztFQUNELElBQU1DLEtBQUssR0FDVDFCLFdBQVcsS0FBSyxNQUFNLEdBQ2xCLEVBQUFULHNCQUFBLEdBQUFHLFNBQVMsQ0FBQ08sVUFBVSxjQUFBVixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCd0IsU0FBUyxLQUFJckIsU0FBUyxDQUFDa0IsSUFBSSxHQUNqRGxCLFNBQVMsQ0FBQ2tCLElBQUk7RUFDcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxJQUFNZSxhQUFhLEdBQUc5QixZQUFZLE1BQUFMLHNCQUFBLEdBQUlFLFNBQVMsQ0FBQ08sVUFBVSxjQUFBVCxzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCb0MsV0FBVztFQUV2RSxJQUFJLENBQUNsQyxTQUFTLENBQUNrQixJQUFJLEVBQUU7SUFDbkIsT0FBTyxJQUFJO0VBQ2I7RUFDQSxvQkFDRTNDLE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQTtJQUFHQyxPQUFPLEVBQUVwQyxVQUFXO0lBQUNxQyxLQUFLLEVBQUU7TUFBRUMsTUFBTSxFQUFFO0lBQVU7RUFBRSxnQkFDbkRoRSxNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUE7SUFBZUksQ0FBQyxFQUFDLE1BQU07SUFBQ0MsQ0FBQyxFQUFDLE1BQU07SUFBQ0MsS0FBSyxFQUFDLEtBQUs7SUFBQ1gsTUFBTSxFQUFDO0VBQUssR0FDdEQsRUFBQWhDLHNCQUFBLEdBQUFDLFNBQVMsQ0FBQ08sVUFBVSxjQUFBUixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCNEMsUUFBUSxrQkFDN0JwRSxNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUEsQ0FBQ3RELE1BQUEsQ0FBQThELGdCQUFnQixxQkFnQmZyRSxNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUEsQ0FBQ3ZELFdBQUEsQ0FBQWdFLFVBQVU7SUFDVFAsS0FBSyxFQUFFO01BQ0xSLE1BQU0sRUFBRWhCLFlBQUssQ0FBQ1UsS0FBSyxDQUFDQyxPQUFPLENBQUNVLE9BQU87TUFDbkNXLFdBQVcsRUFBRSxDQUFDO01BQ2RDLFVBQVUsRUFBRSxPQUFPO01BQ25CQyxpQkFBaUIsRUFBRTtJQUNyQixDQUFFO0lBQ0ZDLE1BQU0sRUFBQyxRQUFRO0lBQ2ZDLFlBQVksRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBTSxDQUFFO0lBQzlCQyxFQUFFLHdCQUFBQyxNQUFBLENBQXdCckQsU0FBUyxDQUFDTyxVQUFVLENBQUNvQyxRQUFRLENBQUc7SUFDMUROLE9BQU8sRUFBRSxTQUFBQSxRQUFDaUIsQ0FBQztNQUFBLE9BQUtBLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7SUFBQTtFQUFDLGdCQUVwQ2hGLE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQSxDQUFDbkQsZUFBQSxDQUFBdUUsY0FBYztJQUNiQyxPQUFPLGVBQ0xsRixNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUEsQ0FBQ25ELGVBQUEsQ0FBQXlFLE9BQU87TUFBQ0MsRUFBRSxFQUFDLEtBQUs7TUFBQ0MsU0FBUyxFQUFDO0lBQU0sZ0JBQ2hDckYsTUFBQSxDQUFBNEQsT0FBQSxDQUFBQyxhQUFBLENBQUNwRCxhQUFBLENBQUE2RSxLQUFLO01BQUNDLE9BQU8sRUFBRTtJQUFhLENBQUUsQ0FDeEI7RUFDVixnQkFFRHZGLE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQSxDQUFDeEQsVUFBQSxDQUFBbUYsTUFBTTtJQUFDekIsS0FBSyxFQUFFO01BQUVJLEtBQUssRUFBRSxFQUFFO01BQUVYLE1BQU0sRUFBRTtJQUFHO0VBQUUsQ0FBRSxDQUM3QixDQUNOLENBQUMsRUFDWkUsYUFBYSxpQkFDWjFELE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQSxDQUFDbkQsZUFBQSxDQUFBdUUsY0FBYztJQUNiQyxPQUFPLGVBQ0xsRixNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUEsQ0FBQ25ELGVBQUEsQ0FBQXlFLE9BQU87TUFBQ0MsRUFBRSxFQUFDLFNBQVM7TUFBQ0MsU0FBUyxFQUFDO0lBQU0sZ0JBQ3BDckYsTUFBQSxDQUFBNEQsT0FBQSxDQUFBQyxhQUFBLENBQUNwRCxhQUFBLENBQUE2RSxLQUFLO01BQ0pDLE9BQU8sRUFDTDtJQUNELENBQ0YsQ0FDTTtFQUNWLGdCQUVEdkYsTUFBQSxDQUFBNEQsT0FBQSxDQUFBQyxhQUFBO0lBQU00QixTQUFTLEVBQUU7RUFBc0IsZ0JBQ3JDekYsTUFBQSxDQUFBNEQsT0FBQSxDQUFBQyxhQUFBO0lBQ0U2QixHQUFHLEVBQUUsSUFBQUMsa0JBQVcsRUFBQyxDQUFFO0lBQ25CRixTQUFTLEVBQUMsY0FBYztJQUN4QkcsR0FBRyxFQUFFO0VBQVUsQ0FDaEIsQ0FDRyxDQUNRLENBRUYsQ0FDbkIsZUFDRDVGLE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQSxDQUFDMUQsV0FBQSxDQUFBeUQsT0FBVTtJQUNUSCxLQUFLLEVBQUVBLEtBQU07SUFDYk0sS0FBSyxFQUFFaEIsU0FBVTtJQUNqQjhDLFdBQVcsZUFBRTdGLE1BQUEsQ0FBQTRELE9BQUEsQ0FBQUMsYUFBQSxDQUFDekQsU0FBQSxDQUFBd0QsT0FBUTtNQUFDM0IsSUFBSSxFQUFFRjtJQUFZLENBQUU7RUFBRSxnQkFFN0MvQixNQUFBLENBQUE0RCxPQUFBLENBQUFDLGFBQUE7SUFBSzRCLFNBQVMsRUFBRSxjQUFlO0lBQUMxQixLQUFLLEVBQUVqQztFQUFhLEdBQ2pETCxTQUFTLENBQUNPLFVBQVUsSUFBSUksV0FBVyxJQUFJUCxRQUNyQyxDQUNLLENBQ0MsQ0FBQyxFQUNmSyxVQUFVLGlCQUFJbEMsTUFBQSxDQUFBNEQsT0FBQSxDQUFBQyxhQUFBLENBQUNyRCxTQUFBLENBQUFvRCxPQUFRO0lBQUNrQyxLQUFLLEVBQUV4RDtFQUFZLENBQUUsQ0FDN0MsQ0FBQztBQUVSLENBQUM7QUFBQyxJQUFBeUQsUUFBQSxHQUNhbEYsVUFBVTtBQUFBbUYsT0FBQSxDQUFBcEMsT0FBQSxHQUFBbUMsUUFBQSJ9
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _NodeLayout = _interopRequireDefault(require("./NodeLayout"));
11
+ var _MicroStackedBar = _interopRequireDefault(require("./MicroStackedBar"));
12
+ var _reactBootstrap = require("react-bootstrap");
13
+ var _reactI18next = require("react-i18next");
14
+ var _scoreToData = require("../../utilities/scoreToData");
15
+ var _excluded = ["nodeDatum"];
16
+ var PollutionContributorNode = function PollutionContributorNode(_ref) {
17
+ var _nodeDatum$attributes;
18
+ var nodeDatum = _ref.nodeDatum,
19
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
+ var contribution_percent = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.contributor_percents) || 0;
21
+ var segments = [{
22
+ value: contribution_percent,
23
+ color: (0, _scoreToData.scoreToColor)(contribution_percent),
24
+ title: 'Extreme'
25
+ }];
26
+ var pollutionPercent = "".concat(contribution_percent, "%");
27
+ return /*#__PURE__*/_react.default.createElement(_NodeLayout.default, Object.assign({
28
+ nodeDatum: nodeDatum
29
+ }, props), contribution_percent > 0 && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
30
+ overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
31
+ id: "polluted-".concat(nodeDatum.name),
32
+ placement: "auto"
33
+ }, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
34
+ i18nKey: 'dashboard_v2.utility_dashboard.hierarchy.polluted',
35
+ values: {
36
+ pollutionPercent: pollutionPercent
37
+ }
38
+ }))
39
+ }, /*#__PURE__*/_react.default.createElement("g", null, /*#__PURE__*/_react.default.createElement(_MicroStackedBar.default, {
40
+ segments: segments,
41
+ width: 160,
42
+ height: 20,
43
+ radius: 8
44
+ }))));
45
+ };
46
+ var _default = PollutionContributorNode;
47
+ exports.default = _default;
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Ob2RlTGF5b3V0IiwiX01pY3JvU3RhY2tlZEJhciIsIl9yZWFjdEJvb3RzdHJhcCIsIl9yZWFjdEkxOG5leHQiLCJfc2NvcmVUb0RhdGEiLCJfZXhjbHVkZWQiLCJQb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwibm9kZURhdHVtIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZGVmYXVsdCIsImNvbnRyaWJ1dGlvbl9wZXJjZW50IiwiYXR0cmlidXRlcyIsImNvbnRyaWJ1dG9yX3BlcmNlbnRzIiwic2VnbWVudHMiLCJ2YWx1ZSIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwidGl0bGUiLCJwb2xsdXRpb25QZXJjZW50IiwiY29uY2F0IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsIm5hbWUiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJ2YWx1ZXMiLCJ3aWR0aCIsImhlaWdodCIsInJhZGl1cyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IE5vZGVMYXlvdXQgZnJvbSAnLi9Ob2RlTGF5b3V0JztcbmltcG9ydCB7IE5vZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IE1pY3JvU3RhY2tlZEJhciBmcm9tICcuL01pY3JvU3RhY2tlZEJhcic7XG5pbXBvcnQgeyBPdmVybGF5VHJpZ2dlciwgVG9vbHRpcCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcblxuY29uc3QgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlID0gKHsgbm9kZURhdHVtLCAuLi5wcm9wcyB9OiBOb2RlUHJvcHMpID0+IHtcbiAgY29uc3QgY29udHJpYnV0aW9uX3BlcmNlbnQgPSBub2RlRGF0dW0uYXR0cmlidXRlcz8uY29udHJpYnV0b3JfcGVyY2VudHMgfHwgMDtcbiAgY29uc3Qgc2VnbWVudHMgPSBbXG4gICAge1xuICAgICAgdmFsdWU6IGNvbnRyaWJ1dGlvbl9wZXJjZW50LFxuICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihjb250cmlidXRpb25fcGVyY2VudCksXG4gICAgICB0aXRsZTogJ0V4dHJlbWUnLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgcG9sbHV0aW9uUGVyY2VudCA9IGAke2NvbnRyaWJ1dGlvbl9wZXJjZW50fSVgO1xuICByZXR1cm4gKFxuICAgIDxOb2RlTGF5b3V0IG5vZGVEYXR1bT17bm9kZURhdHVtfSB7Li4ucHJvcHN9PlxuICAgICAge2NvbnRyaWJ1dGlvbl9wZXJjZW50ID4gMCAmJiAoXG4gICAgICAgIDxPdmVybGF5VHJpZ2dlclxuICAgICAgICAgIG92ZXJsYXk9e1xuICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Bwb2xsdXRlZC0ke25vZGVEYXR1bS5uYW1lfWB9IHBsYWNlbWVudD1cImF1dG9cIj5cbiAgICAgICAgICAgICAgPFRyYW5zXG4gICAgICAgICAgICAgICAgaTE4bktleT17J2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5oaWVyYXJjaHkucG9sbHV0ZWQnfVxuICAgICAgICAgICAgICAgIHZhbHVlcz17eyBwb2xsdXRpb25QZXJjZW50IH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgICA8TWljcm9TdGFja2VkQmFyXG4gICAgICAgICAgICAgIHNlZ21lbnRzPXtzZWdtZW50c31cbiAgICAgICAgICAgICAgd2lkdGg9ezE2MH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgcmFkaXVzPXs4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvT3ZlcmxheVRyaWdnZXI+XG4gICAgICApfVxuICAgIDwvTm9kZUxheW91dD5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBQb2xsdXRpb25Db250cmlidXRvck5vZGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUEyRCxJQUFBTSxTQUFBO0FBRTNELElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUFDLElBQUEsRUFBMkM7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBQXJDQyxTQUFTLEdBQUFGLElBQUEsQ0FBVEUsU0FBUztJQUFLQyxLQUFLLE9BQUFDLHlCQUFBLENBQUFDLE9BQUEsRUFBQUwsSUFBQSxFQUFBRixTQUFBO0VBQ3JELElBQU1RLG9CQUFvQixHQUFHLEVBQUFMLHFCQUFBLEdBQUFDLFNBQVMsQ0FBQ0ssVUFBVSxjQUFBTixxQkFBQSx1QkFBcEJBLHFCQUFBLENBQXNCTyxvQkFBb0IsS0FBSSxDQUFDO0VBQzVFLElBQU1DLFFBQVEsR0FBRyxDQUNmO0lBQ0VDLEtBQUssRUFBRUosb0JBQW9CO0lBQzNCSyxLQUFLLEVBQUUsSUFBQUMseUJBQVksRUFBQ04sb0JBQW9CLENBQUM7SUFDekNPLEtBQUssRUFBRTtFQUNULENBQUMsQ0FDRjtFQUVELElBQU1DLGdCQUFnQixNQUFBQyxNQUFBLENBQU1ULG9CQUFvQixNQUFHO0VBQ25ELG9CQUNFaEIsTUFBQSxDQUFBZSxPQUFBLENBQUFXLGFBQUEsQ0FBQ3ZCLFdBQUEsQ0FBQVksT0FBVSxFQUFBWSxNQUFBLENBQUFDLE1BQUE7SUFBQ2hCLFNBQVMsRUFBRUE7RUFBVSxHQUFLQyxLQUFLLEdBQ3hDRyxvQkFBb0IsR0FBRyxDQUFDLGlCQUN2QmhCLE1BQUEsQ0FBQWUsT0FBQSxDQUFBVyxhQUFBLENBQUNyQixlQUFBLENBQUF3QixjQUFjO0lBQ2JDLE9BQU8sZUFDTDlCLE1BQUEsQ0FBQWUsT0FBQSxDQUFBVyxhQUFBLENBQUNyQixlQUFBLENBQUEwQixPQUFPO01BQUNDLEVBQUUsY0FBQVAsTUFBQSxDQUFjYixTQUFTLENBQUNxQixJQUFJLENBQUc7TUFBQ0MsU0FBUyxFQUFDO0lBQU0sZ0JBQ3pEbEMsTUFBQSxDQUFBZSxPQUFBLENBQUFXLGFBQUEsQ0FBQ3BCLGFBQUEsQ0FBQTZCLEtBQUs7TUFDSkMsT0FBTyxFQUFFLG1EQUFvRDtNQUM3REMsTUFBTSxFQUFFO1FBQUViLGdCQUFnQixFQUFoQkE7TUFBaUI7SUFBRSxDQUM5QixDQUNNO0VBQ1YsZ0JBRUR4QixNQUFBLENBQUFlLE9BQUEsQ0FBQVcsYUFBQSx5QkFDRTFCLE1BQUEsQ0FBQWUsT0FBQSxDQUFBVyxhQUFBLENBQUN0QixnQkFBQSxDQUFBVyxPQUFlO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUztJQUNuQm1CLEtBQUssRUFBRSxHQUFJO0lBQ1hDLE1BQU0sRUFBRSxFQUFHO0lBQ1hDLE1BQU0sRUFBRTtFQUFFLENBQ1gsQ0FDQSxDQUNXLENBRVIsQ0FBQztBQUVqQixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUNhaEMsd0JBQXdCO0FBQUFpQyxPQUFBLENBQUEzQixPQUFBLEdBQUEwQixRQUFBIn0=