@kando-env/kando-ui 1.2.64-alpha.7 → 1.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +16 -44
- package/lib/Widgets/Map/edges/Edge.js +3 -11
- package/lib/Widgets/Map/edges/Edges.js +4 -8
- package/lib/Widgets/Map/events/EventIndicatorHover.js +2 -2
- package/lib/Widgets/Map/points/PointMarker.js +2 -3
- package/lib/hooks/useInitializeHeaders.js +3 -2
- package/lib/i18n/en.json +1 -0
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +1 -3
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
- package/lib/pages/EventsPage/events/events_list/EventsList.js +4 -13
- package/lib/pages/SamplingsPage/SamplingActionDropdown.js +1 -4
- package/lib/store/events/actionTypes.js +2 -4
- package/lib/store/events/actions.js +1 -9
- package/lib/store/events/reducer.js +1 -6
- package/lib/ui-kit/KandoTable/KandoTable.js +5 -5
- package/lib/utilities/urls.js +2 -2
- package/package.json +1 -1
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +0 -142
package/package.json
CHANGED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.NetworkForSpecificEvent = void 0;
|
|
11
|
-
|
|
12
|
-
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
|
-
var _reactRedux = require("react-redux");
|
|
17
|
-
|
|
18
|
-
var _actions = require("store/events/actions");
|
|
19
|
-
|
|
20
|
-
var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
|
|
21
|
-
|
|
22
|
-
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); }
|
|
23
|
-
|
|
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; }
|
|
25
|
-
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
var NetworkForSpecificEvent = function NetworkForSpecificEvent(_ref) {
|
|
28
|
-
var event = _ref.event,
|
|
29
|
-
edges = _ref.edges,
|
|
30
|
-
points = _ref.points,
|
|
31
|
-
map = _ref.map;
|
|
32
|
-
var dispatch = (0, _reactRedux.useDispatch)();
|
|
33
|
-
var edgesToDraw = [];
|
|
34
|
-
var firstEdge = edges.find(function (edge) {
|
|
35
|
-
return edge.id === event.path[0].edge_id;
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
if (firstEdge !== undefined) {
|
|
39
|
-
var upstreamEdge = edges.find(function (edge) {
|
|
40
|
-
return edge.target_point_id === firstEdge.source_point_id;
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
if (upstreamEdge) {
|
|
44
|
-
var sourcePoint = points.find(function (point) {
|
|
45
|
-
return point.id === upstreamEdge.source_point_id;
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
if (sourcePoint && !sourcePoint.has_device) {
|
|
49
|
-
edgesToDraw.push(upstreamEdge);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
event.path.forEach(function (part) {
|
|
55
|
-
var matchedPart = edges.find(function (edge) {
|
|
56
|
-
return edge.id === part.edge_id;
|
|
57
|
-
});
|
|
58
|
-
if (matchedPart !== undefined) edgesToDraw.push(matchedPart);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
var drawManholeIcon = function drawManholeIcon(sourcePoint) {
|
|
62
|
-
var pointIcon = _leaflet.default.icon({
|
|
63
|
-
iconUrl: _whitePoint.default,
|
|
64
|
-
iconSize: [9, 9],
|
|
65
|
-
iconAnchor: [4.5, 4.5]
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
var manholeIcon = _leaflet.default.marker([sourcePoint.latitude, sourcePoint.longitude], {
|
|
69
|
-
icon: pointIcon,
|
|
70
|
-
riseOnHover: true
|
|
71
|
-
}).addTo(map);
|
|
72
|
-
|
|
73
|
-
manholeIcon.bindTooltip("".concat(sourcePoint.group.name, " (").concat(sourcePoint.id, ")"));
|
|
74
|
-
manholeIcon['kando_object_id'] = sourcePoint.id;
|
|
75
|
-
manholeIcon['kando_object'] = 'UpstreamPoint';
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var drawNetwork = function drawNetwork(edges) {
|
|
79
|
-
var latlngs = [];
|
|
80
|
-
edges.forEach(function (edge) {
|
|
81
|
-
edge.shape_data.forEach(function (data) {
|
|
82
|
-
latlngs.push([data.lat, data.lng]);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
var polylineBack = _leaflet.default.polyline(latlngs, {
|
|
86
|
-
color: 'rgb(227,227,227)',
|
|
87
|
-
weight: 6,
|
|
88
|
-
opacity: 1
|
|
89
|
-
}).addTo(map);
|
|
90
|
-
|
|
91
|
-
if (points.length !== 0) {
|
|
92
|
-
var _sourcePoint = points.find(function (point) {
|
|
93
|
-
return point.id === edge.source_point_id;
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
var targetPoint = points.find(function (point) {
|
|
97
|
-
return point.id === edge.target_point_id;
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
if (_sourcePoint !== undefined && targetPoint !== undefined) {
|
|
101
|
-
polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(_sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (_sourcePoint) drawManholeIcon(_sourcePoint);
|
|
105
|
-
if (targetPoint) drawManholeIcon(targetPoint);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
polylineBack['kando_object_id'] = edge.id;
|
|
109
|
-
polylineBack['kando_object'] = 'HoveredEdge';
|
|
110
|
-
polylineBack.bringToFront();
|
|
111
|
-
|
|
112
|
-
var polylineFront = _leaflet.default.polyline(latlngs, {
|
|
113
|
-
color: 'rgb(29,29,29)',
|
|
114
|
-
weight: 1,
|
|
115
|
-
opacity: 1
|
|
116
|
-
}).addTo(map);
|
|
117
|
-
|
|
118
|
-
polylineFront['kando_object_id'] = edge.id;
|
|
119
|
-
polylineFront['kando_object'] = 'HoveredEdgeFront';
|
|
120
|
-
polylineFront.bringToFront();
|
|
121
|
-
dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
(0, _react.useEffect)(function () {
|
|
126
|
-
drawNetwork(edgesToDraw);
|
|
127
|
-
return function cleanup() {
|
|
128
|
-
dispatch((0, _actions.setHoveredEdgePaths)([]));
|
|
129
|
-
var layers = map._layers;
|
|
130
|
-
|
|
131
|
-
for (var property in layers) {
|
|
132
|
-
if (layers[property].kando_object !== undefined && layers[property].kando_object === 'UpstreamPoint') {
|
|
133
|
-
map.removeLayer(layers[property]);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
}, [event]);
|
|
138
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
exports.NetworkForSpecificEvent = NetworkForSpecificEvent;
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvTmV0d29ya0ZvclNwZWNpZmljRXZlbnQudHN4Il0sIm5hbWVzIjpbIk5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50IiwiZXZlbnQiLCJlZGdlcyIsInBvaW50cyIsIm1hcCIsImRpc3BhdGNoIiwiZWRnZXNUb0RyYXciLCJmaXJzdEVkZ2UiLCJmaW5kIiwiZWRnZSIsImlkIiwicGF0aCIsImVkZ2VfaWQiLCJ1bmRlZmluZWQiLCJ1cHN0cmVhbUVkZ2UiLCJ0YXJnZXRfcG9pbnRfaWQiLCJzb3VyY2VfcG9pbnRfaWQiLCJzb3VyY2VQb2ludCIsInBvaW50IiwiaGFzX2RldmljZSIsInB1c2giLCJmb3JFYWNoIiwicGFydCIsIm1hdGNoZWRQYXJ0IiwiZHJhd01hbmhvbGVJY29uIiwicG9pbnRJY29uIiwiTCIsImljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwiaWNvbkFuY2hvciIsIm1hbmhvbGVJY29uIiwibWFya2VyIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJyaXNlT25Ib3ZlciIsImFkZFRvIiwiYmluZFRvb2x0aXAiLCJncm91cCIsIm5hbWUiLCJkcmF3TmV0d29yayIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwiZGF0YSIsImxhdCIsImxuZyIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwibGVuZ3RoIiwidGFyZ2V0UG9pbnQiLCJiaW5kUG9wdXAiLCJkaXN0YW5jZSIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJjbGVhbnVwIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwicmVtb3ZlTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7OztBQVJBO0FBaUJPLElBQU1BLHVCQUF5QyxHQUFHLFNBQTVDQSx1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R0FBRyxDQUFDMkQsV0FBSixDQUFnQkosTUFBTSxDQUFDRSxRQUFELENBQXRCO0FBQ0Q7QUFDRjtBQUNGLEtBWEQ7QUFZRCxHQWZELEVBZUcsQ0FBQzVELEtBQUQsQ0FmSDtBQWlCQSxzQkFBTywyREFBUDtBQUNELENBakhNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwsIHsgTWFwIGFzIExlYWZsZXRNYXAgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDogTGVhZmxldE1hcCB8IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBtYXAsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgbGV0IGVkZ2VzVG9EcmF3OiBJRWRnZVtdID0gW107XG4gIGxldCBmaXJzdEVkZ2UgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgdXBzdHJlYW1FZGdlID0gZWRnZXMuZmluZChcbiAgICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgKTtcbiAgICBpZiAodXBzdHJlYW1FZGdlKSB7XG4gICAgICBsZXQgc291cmNlUG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gdXBzdHJlYW1FZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmICFzb3VyY2VQb2ludC5oYXNfZGV2aWNlKSB7XG4gICAgICAgIGVkZ2VzVG9EcmF3LnB1c2godXBzdHJlYW1FZGdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG5cbiAgY29uc3QgZHJhd01hbmhvbGVJY29uID0gKHNvdXJjZVBvaW50KSA9PiB7XG4gICAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gICAgfSk7XG4gICAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKS5hZGRUbyhtYXApO1xuICAgIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9ICgke3NvdXJjZVBvaW50LmlkfSlgKTtcbiAgICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBzb3VyY2VQb2ludC5pZDtcbiAgICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnVXBzdHJlYW1Qb2ludCc7XG4gIH07XG5cbiAgY29uc3QgZHJhd05ldHdvcmsgPSAoZWRnZXMpID0+IHtcbiAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgICB3ZWlnaHQ6IDYsXG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgaWYgKHBvaW50cy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnQuZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCk7XG4gICAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50KTtcbiAgICAgIH1cblxuICAgICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcblxuICAgICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlRnJvbnQnO1xuXG4gICAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZHJhd05ldHdvcmsoZWRnZXNUb0RyYXcpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtdKSk7XG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnVXBzdHJlYW1Qb2ludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdfQ==
|