@kando-env/kando-ui 1.2.318-alpha.4 → 1.2.318-alpha.41
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 +14 -14
- package/lib/Widgets/Map/MapUtils.js +2 -2
- package/lib/Widgets/Map/areas/AreaPolygon.js +25 -34
- package/lib/Widgets/Map/areas/AreaPolygons.js +13 -15
- package/lib/Widgets/Map/areas/AreaUtils.js +2 -2
- package/lib/Widgets/Map/points/PointMarker.js +22 -44
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +20 -20
- package/lib/Widgets/QualitySummary/styles.js +2 -2
- package/lib/Widgets/UtilityInformation/styles.js +2 -2
- package/lib/assets/icons/zoom-in.svg +4 -0
- package/lib/components/Header/InfoBar/InfoBar.js +7 -2
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +3 -2
- package/lib/components/Header/Toolbar/Toolbar.js +3 -2
- package/lib/i18n/en.json +2 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -2
- package/lib/pages/DashboardMap/AreaCard.js +31 -5
- package/lib/pages/DashboardMap/Capacity.js +129 -0
- package/lib/pages/DashboardMap/FactoryCard.js +25 -7
- package/lib/pages/DashboardMap/List.js +46 -9
- package/lib/pages/DashboardMap/WWTPMap.js +41 -45
- package/lib/pages/DashboardMap/Widget.js +9 -26
- package/lib/pages/DashboardMap/utils.js +81 -44
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +2 -2
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +4 -7
- package/lib/store/global/actions.js +5 -3
- package/lib/store/global/reducer.js +3 -2
- package/package.json +1 -1
|
@@ -18,10 +18,11 @@ var _List = require("./List");
|
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
var _Loader = require("./Loader");
|
|
20
20
|
var _reactRouterDom = require("react-router-dom");
|
|
21
|
+
var _useQueryURL = _interopRequireDefault(require("../../hooks/useQueryURL"));
|
|
21
22
|
var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
|
|
22
23
|
var _ListContext = require("./ListContext");
|
|
23
24
|
var _reactBootstrap = require("react-bootstrap");
|
|
24
|
-
var
|
|
25
|
+
var _Capacity = require("./Capacity");
|
|
25
26
|
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); }
|
|
26
27
|
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; }
|
|
27
28
|
var WWTPMap = function WWTPMap(props) {
|
|
@@ -59,37 +60,13 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
59
60
|
var dataExists = function dataExists() {
|
|
60
61
|
return areas_data.newAreas.length !== 0 || points_data.items.length !== 0 || edges_data.items.length !== 0;
|
|
61
62
|
};
|
|
62
|
-
(0, _react.useEffect)(function () {
|
|
63
|
-
// if (
|
|
64
|
-
// !WWTPInfo.area ||
|
|
65
|
-
// !wwtp_dashboard.map ||
|
|
66
|
-
// points_data.items.length === 0
|
|
67
|
-
// )
|
|
68
|
-
// return;
|
|
69
|
-
|
|
70
|
-
if (isMapTab && (WWTPInfo.area || WWTPInfo.point)) {
|
|
71
|
-
(0, _utils.focusMap)(WWTPInfo.area ? WWTPInfo.area : WWTPInfo.point, wwtp_dashboard.map);
|
|
72
|
-
// areaFocusLogic({
|
|
73
|
-
// WWTPInfo,
|
|
74
|
-
// setAreas,
|
|
75
|
-
// map: wwtp_dashboard.map,
|
|
76
|
-
// });
|
|
77
|
-
}
|
|
78
|
-
}, [wwtp_dashboard.map, WWTPInfo]);
|
|
79
63
|
(0, _react.useEffect)(function () {
|
|
80
64
|
if (global_data.waterAuthorityId) {
|
|
81
|
-
|
|
82
|
-
|
|
65
|
+
dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId));
|
|
66
|
+
dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
83
67
|
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, ReduxState.dashboard.period.toString(), true));
|
|
84
68
|
}
|
|
85
69
|
}, [ReduxState.dashboard.period]);
|
|
86
|
-
(0, _react.useEffect)(function () {
|
|
87
|
-
if (global_data.waterAuthorityId) {
|
|
88
|
-
points_data.items.length === 0 && dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId));
|
|
89
|
-
edges_data.items.length === 0 && dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
90
|
-
areas_data.items.length === 0 && dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, ReduxState.dashboard.period, true));
|
|
91
|
-
}
|
|
92
|
-
}, [isMapTab, global_data.waterAuthorityId]);
|
|
93
70
|
(0, _react.useEffect)(function () {
|
|
94
71
|
(0, _utils.initializeWWTPData)({
|
|
95
72
|
areas_data: areas_data,
|
|
@@ -100,8 +77,23 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
100
77
|
dataExists: dataExists,
|
|
101
78
|
id: id
|
|
102
79
|
});
|
|
103
|
-
}, [areas_data
|
|
80
|
+
}, [areas_data]);
|
|
104
81
|
(0, _react.useEffect)(function () {
|
|
82
|
+
setWWTPInfo((0, _utils.calculateWWTPInfo)({
|
|
83
|
+
id: id,
|
|
84
|
+
points_data: points_data,
|
|
85
|
+
areas_data: areas_data
|
|
86
|
+
}));
|
|
87
|
+
}, [id]);
|
|
88
|
+
(0, _react.useEffect)(function () {
|
|
89
|
+
(0, _utils.focusMap)(WWTPInfo.area || WWTPInfo.point, wwtp_dashboard.map);
|
|
90
|
+
}, [WWTPInfo]);
|
|
91
|
+
(0, _react.useEffect)(function () {
|
|
92
|
+
if (global_data.waterAuthorityId) {
|
|
93
|
+
points_data.items.length === 0 && dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId));
|
|
94
|
+
edges_data.items.length === 0 && dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
95
|
+
areas_data.items.length === 0 && dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, ReduxState.dashboard.period, true));
|
|
96
|
+
}
|
|
105
97
|
return function cleanup() {
|
|
106
98
|
setPoints(null);
|
|
107
99
|
setAreas(null);
|
|
@@ -114,23 +106,26 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
114
106
|
};
|
|
115
107
|
}, [global_data.waterAuthorityId]);
|
|
116
108
|
(0, _react.useEffect)(function () {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
var point = points_data.items.find(function (point) {
|
|
125
|
-
return point.id.toString() === id;
|
|
109
|
+
var object = WWTPInfo.area || WWTPInfo.point;
|
|
110
|
+
if (isMapTab && object) {
|
|
111
|
+
var type = WWTPInfo.area ? object.is_virtual === true ? 'varea' : 'area' : 'site';
|
|
112
|
+
var validObject = type === 'site' ? object.id.toString() === id : object.area_id === parseInt(id);
|
|
113
|
+
if (validObject) {
|
|
114
|
+
(0, _Capacity.fetchCapacity)(type, id, global_data.waterAuthorityId).then(function (response) {
|
|
115
|
+
(0, _Capacity.setFocusedItem)(object, response.data, points, areas, dispatch, _WWTPDashboardSlice.setFocusedArea);
|
|
126
116
|
});
|
|
127
|
-
point && dispatch((0, _WWTPDashboardSlice.setFocusedArea)(point));
|
|
128
|
-
} else {
|
|
129
|
-
// console.log('last option');
|
|
130
|
-
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(areas_data.newAreas));
|
|
131
117
|
}
|
|
118
|
+
} else {
|
|
119
|
+
var utilityDirects = (0, _utils.sortAreas)(areas === null || areas === void 0 ? void 0 : areas.filter(
|
|
120
|
+
// consider changing to has_parent = false
|
|
121
|
+
// sorting the list becasue the server doesn't
|
|
122
|
+
function (area) {
|
|
123
|
+
return area.is_virtual === true || area.is_wwtp === true || area.is_inlet === true;
|
|
124
|
+
}));
|
|
125
|
+
(0, _Capacity.setFocusedItem)(undefined, null, points, utilityDirects, dispatch, _WWTPDashboardSlice.setFocusedArea);
|
|
132
126
|
}
|
|
133
|
-
|
|
127
|
+
(0, _utils.focusMap)(object, wwtp_dashboard.map);
|
|
128
|
+
}, [wwtp_dashboard.map]);
|
|
134
129
|
if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
135
130
|
if (!dataExists() || !points || !areas) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
|
|
136
131
|
return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
|
|
@@ -143,7 +138,8 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
143
138
|
global_data: global_data,
|
|
144
139
|
areas: areas,
|
|
145
140
|
points: points,
|
|
146
|
-
WWTPInfo: WWTPInfo
|
|
141
|
+
WWTPInfo: WWTPInfo,
|
|
142
|
+
dispatch: dispatch
|
|
147
143
|
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Col, {
|
|
148
144
|
className: "map-column",
|
|
149
145
|
xs: 12,
|
|
@@ -153,7 +149,7 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
153
149
|
areas: areas,
|
|
154
150
|
global_data: global_data,
|
|
155
151
|
edges: edges_data.items,
|
|
156
|
-
areaToCenterBy:
|
|
152
|
+
areaToCenterBy: null,
|
|
157
153
|
focusedEvent: null,
|
|
158
154
|
includeUnmonitoredPoints: true,
|
|
159
155
|
forEventsView: false,
|
|
@@ -166,4 +162,4 @@ var Container = _styledComponents.default.div.withConfig({
|
|
|
166
162
|
})(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
|
|
167
163
|
var _default = WWTPMap;
|
|
168
164
|
exports.default = _default;
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJfTGlzdENvbnRleHQiLCJfcmVhY3RCb290c3RyYXAiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiZm9jdXNNYXAiLCJtYXAiLCJ3YXRlckF1dGhvcml0eUlkIiwiZmV0Y2hBcmVhcyIsImRhc2hib2FyZCIsInBlcmlvZCIsInRvU3RyaW5nIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2xlYW51cCIsInNldEZvY3VzZWRBcmVhIiwic2V0TWFwIiwiZmluZCIsImFyZWFfaWQiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJMaXN0IiwiTWFwIiwiZWRnZXMiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBmb2N1c01hcCwgaW5pdGlhbGl6ZVdXVFBEYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRBcmVhLFxuICBzZXRNYXAsXG59IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IFNlbGVjdGVkSXRlbVByb3ZpZGVyIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBSb3csIENvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHMge1xuICBjbGFzc05hbWU6IHN0cmluZztcbn1cbmNvbnN0IFdXVFBNYXA6IFJlYWN0LkZDPENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHNlYXJjaFF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaXNNYXBUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ21hcCc7XG4gIGxldCB7IGlkLCBhcmVhSUQsIHNpdGVJRCB9ID0gdXNlUGFyYW1zKCk7XG4gIGlkID0gaWQgfHwgYXJlYUlEIHx8IHNpdGVJRDtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBlZGdlc19kYXRhLCB3d3RwX2Rhc2hib2FyZCB9ID1cbiAgICBSZWR1eFN0YXRlO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8SVBvaW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FyZWFzLCBzZXRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtXV1RQSW5mbywgc2V0V1dUUEluZm9dID0gdXNlU3RhdGU8e1xuICAgIHBvaW50OiBJUG9pbnQgfCBudWxsO1xuICAgIGFyZWE6IElBcmVhIHwgbnVsbDtcbiAgfT4oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgbGV0IGRhdGFFeGlzdHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIGlmIChcbiAgICAvLyAgICFXV1RQSW5mby5hcmVhIHx8XG4gICAgLy8gICAhd3d0cF9kYXNoYm9hcmQubWFwIHx8XG4gICAgLy8gICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDBcbiAgICAvLyApXG4gICAgLy8gICByZXR1cm47XG5cbiAgICBpZiAoaXNNYXBUYWIgJiYgKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQpKSB7XG4gICAgICBmb2N1c01hcChcbiAgICAgICAgV1dUUEluZm8uYXJlYSA/IFdXVFBJbmZvLmFyZWEgOiBXV1RQSW5mby5wb2ludCxcbiAgICAgICAgd3d0cF9kYXNoYm9hcmQubWFwLFxuICAgICAgKTtcbiAgICAgIC8vIGFyZWFGb2N1c0xvZ2ljKHtcbiAgICAgIC8vICAgV1dUUEluZm8sXG4gICAgICAvLyAgIHNldEFyZWFzLFxuICAgICAgLy8gICBtYXA6IHd3dHBfZGFzaGJvYXJkLm1hcCxcbiAgICAgIC8vIH0pO1xuICAgIH1cbiAgfSwgW3d3dHBfZGFzaGJvYXJkLm1hcCwgV1dUUEluZm9dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICAvLyBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICAvLyBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBmZXRjaEFyZWFzKFxuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kLnRvU3RyaW5nKCksXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgYXJlYXNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgZmV0Y2hBcmVhcyhcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2QsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuICB9LCBbaXNNYXBUYWIsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbYXJlYXNfZGF0YS5uZXdBcmVhcywgcG9pbnRzX2RhdGEuaXRlbXNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UG9pbnRzKG51bGwpO1xuICAgICAgc2V0QXJlYXMobnVsbCk7XG4gICAgICBzZXRXV1RQSW5mbyh7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEobnVsbCkpO1xuICAgICAgZGlzcGF0Y2goc2V0TWFwKG51bGwpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFyZWFJRCA9PT0gaWQgJiYgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhcmVhID0gYXJlYXNfZGF0YS5uZXdBcmVhcy5maW5kKFxuICAgICAgICAoYXJlYSkgPT4gYXJlYS5hcmVhX2lkLnRvU3RyaW5nKCkgPT09IGlkLFxuICAgICAgKTtcbiAgICAgIGFyZWEgJiYgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoYXJlYSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwb2ludCA9IHBvaW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZC50b1N0cmluZygpID09PSBpZCxcbiAgICAgICAgKTtcbiAgICAgICAgcG9pbnQgJiYgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEocG9pbnQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYXN0IG9wdGlvbicpO1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShhcmVhc19kYXRhLm5ld0FyZWFzKSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJlYXNdKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzKSByZXR1cm4gPExvYWRlciAvPjtcbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgV1dUUEluZm89e1dXVFBJbmZvfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiB4cz17MTJ9IHNtPXs4fT5cbiAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFzWzBdfVxuICAgICAgICAgICAgICBmb2N1c2VkRXZlbnQ9e251bGx9XG4gICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17dHJ1ZX1cbiAgICAgICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgICAgICAgIGZvcldXVFBEYXNoYm9hcmQ9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwdnc7XG5cbiAgLm1hcC1jb2x1bW4ge1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAua2QtbWFwLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTI1cHgpO1xuICAgIH1cblxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICosXG4gICAgICAqOmZvY3VzLFxuICAgICAgKjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogeC1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFdXVFBNYXA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxLQUFBLEdBQUFQLE9BQUE7QUFHQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxtQkFBQSxHQUFBWCxPQUFBO0FBSUEsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsZUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBZixPQUFBO0FBQWtELFNBQUFnQix5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWYsd0JBQUFtQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFB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
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJkYXNoYm9hcmQiLCJwZXJpb2QiLCJ0b1N0cmluZyIsImluaXRpYWxpemVXV1RQRGF0YSIsImNhbGN1bGF0ZVdXVFBJbmZvIiwiZm9jdXNNYXAiLCJtYXAiLCJjbGVhbnVwIiwic2V0Rm9jdXNlZEFyZWEiLCJzZXRNYXAiLCJvYmplY3QiLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwiYXJlYV9pZCIsInBhcnNlSW50IiwiZmV0Y2hDYXBhY2l0eSIsInRoZW4iLCJyZXNwb25zZSIsInNldEZvY3VzZWRJdGVtIiwiZGF0YSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwiZmlsdGVyIiwiaXNfd3d0cCIsImlzX2lubGV0IiwidW5kZWZpbmVkIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiTG9hZGVyIiwiU2VsZWN0ZWRJdGVtUHJvdmlkZXIiLCJDb250YWluZXIiLCJSb3ciLCJjbGFzc05hbWUiLCJDb2wiLCJ4cyIsInNtIiwiTGlzdCIsIk1hcCIsImVkZ2VzIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZm9yV1dUUERhc2hib2FyZCIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHtcbiAgY2FsY3VsYXRlV1dUUEluZm8sXG4gIGZvY3VzTWFwLFxuICBpbml0aWFsaXplV1dUUERhdGEsXG4gIHNvcnRBcmVhcyxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkQXJlYSxcbiAgc2V0TWFwLFxufSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChcbiAgICAgICAgZmV0Y2hBcmVhcyhcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZC50b1N0cmluZygpLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRXV1RQSW5mbyhjYWxjdWxhdGVXV1RQSW5mbyh7IGlkLCBwb2ludHNfZGF0YSwgYXJlYXNfZGF0YSB9KSk7XG4gIH0sIFtpZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZm9jdXNNYXAoV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludCwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW1dXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgYXJlYXNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgZmV0Y2hBcmVhcyhcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2QsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBzZXRQb2ludHMobnVsbCk7XG4gICAgICBzZXRBcmVhcyhudWxsKTtcbiAgICAgIHNldFdXVFBJbmZvKHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShudWxsKSk7XG4gICAgICBkaXNwYXRjaChzZXRNYXAobnVsbCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuICAgICAgaWYgKHZhbGlkT2JqZWN0KSB7XG4gICAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHV0aWxpdHlEaXJlY3RzID0gc29ydEFyZWFzKFxuICAgICAgICBhcmVhcz8uZmlsdGVyKFxuICAgICAgICAgIC8vIGNvbnNpZGVyIGNoYW5naW5nIHRvIGhhc19wYXJlbnQgPSBmYWxzZVxuICAgICAgICAgIC8vIHNvcnRpbmcgdGhlIGxpc3QgYmVjYXN1ZSB0aGUgc2VydmVyIGRvZXNuJ3RcbiAgICAgICAgICAoYXJlYSkgPT5cbiAgICAgICAgICAgIGFyZWEuaXNfdmlydHVhbCA9PT0gdHJ1ZSB8fFxuICAgICAgICAgICAgYXJlYS5pc193d3RwID09PSB0cnVlIHx8XG4gICAgICAgICAgICBhcmVhLmlzX2lubGV0ID09PSB0cnVlLFxuICAgICAgICApLFxuICAgICAgKTtcblxuICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICB1dGlsaXR5RGlyZWN0cyxcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgKTtcbiAgICB9XG4gICAgZm9jdXNNYXAob2JqZWN0LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICB9LCBbd3d0cF9kYXNoYm9hcmQubWFwXSk7XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICAgICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm5vLWd1dHRlcnNcIj5cbiAgICAgICAgICA8Q29sIHhzPVwiYXV0b1wiIHNtPXs0fSBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1mbGV4XCI+XG4gICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIFdXVFBJbmZvPXtXV1RQSW5mb31cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiB4cz17MTJ9IHNtPXs4fT5cbiAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e251bGx9XG4gICAgICAgICAgICAgIGZvY3VzZWRFdmVudD17bnVsbH1cbiAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgICAgICAgZm9yV1dUUERhc2hib2FyZD17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxu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
|
|
@@ -14,6 +14,7 @@ var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice"
|
|
|
14
14
|
var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
|
|
15
15
|
var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
|
|
16
16
|
var _utils = require("./utils");
|
|
17
|
+
var _Capacity = require("./Capacity");
|
|
17
18
|
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); }
|
|
18
19
|
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; }
|
|
19
20
|
var updatePoint = function updatePoint(_ref) {
|
|
@@ -59,7 +60,8 @@ var Widget = function Widget(props) {
|
|
|
59
60
|
areas = props.areas,
|
|
60
61
|
map = props.map,
|
|
61
62
|
global_data = props.global_data,
|
|
62
|
-
listData = props.listData
|
|
63
|
+
listData = props.listData,
|
|
64
|
+
history = props.history;
|
|
63
65
|
var _useState = (0, _react.useState)(null),
|
|
64
66
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
65
67
|
area = _useState2[0],
|
|
@@ -78,27 +80,11 @@ var Widget = function Widget(props) {
|
|
|
78
80
|
setListItems = _useState8[1];
|
|
79
81
|
var handleClick = function handleClick() {
|
|
80
82
|
map.closePopup();
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
});
|
|
87
|
-
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(_area));
|
|
88
|
-
} else {
|
|
89
|
-
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedArea));
|
|
90
|
-
}
|
|
91
|
-
} else {
|
|
92
|
-
if (point) {
|
|
93
|
-
var focusedPoint = updatePoint({
|
|
94
|
-
point: point,
|
|
95
|
-
listItems: listItems,
|
|
96
|
-
areas: areas,
|
|
97
|
-
points: points
|
|
98
|
-
});
|
|
99
|
-
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedPoint));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
83
|
+
var clickedObject = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, object), {}, {
|
|
84
|
+
clicked: true
|
|
85
|
+
});
|
|
86
|
+
(0, _utils.updateHistory)(clickedObject, history);
|
|
87
|
+
(0, _Capacity.setFocusedItem)(clickedObject, listItems, points, areas, dispatch, _WWTPDashboardSlice.setFocusedArea, true);
|
|
102
88
|
sendButtonClickedAnalytics();
|
|
103
89
|
};
|
|
104
90
|
var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
|
|
@@ -106,9 +92,6 @@ var Widget = function Widget(props) {
|
|
|
106
92
|
utility_name: global_data.waterAuthorityName
|
|
107
93
|
});
|
|
108
94
|
};
|
|
109
|
-
|
|
110
|
-
// Return the point objects of all items in the list sorted by their names
|
|
111
|
-
|
|
112
95
|
var getButtonType = function getButtonType(type) {
|
|
113
96
|
var rc;
|
|
114
97
|
switch (type.toLowerCase()) {
|
|
@@ -171,4 +154,4 @@ var Widget = function Widget(props) {
|
|
|
171
154
|
}, widgetContent()));
|
|
172
155
|
};
|
|
173
156
|
exports.Widget = Widget;
|
|
174
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwidXBkYXRlUG9pbnQiLCJfcmVmIiwicG9pbnQiLCJsaXN0SXRlbXMiLCJhcmVhcyIsInBvaW50cyIsImFyZWFJZHMiLCJtYXAiLCJpdGVtIiwiaWQiLCJzdWJBcmVhcyIsImdldEFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJsZW5ndGgiLCJnZXRQb2ludHMiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJleHBvcnRzIiwidW5kZWZpbmVkIiwicmV0dXJuZWRBcmVhcyIsImNvcnJlc3BvbmRpbmdBcmVhIiwiZmluZCIsImFyZWEiLCJhcmVhX2lkIiwicmV0dXJuZWRQb2ludHMiLCJjb3JyZXNwb25kaW5nUG9pbnQiLCJXaWRnZXQiLCJwcm9wcyIsIm9iamVjdCIsImRpc3BhdGNoIiwiZ2xvYmFsX2RhdGEiLCJsaXN0RGF0YSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldEFyZWEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNldFBvaW50IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJidXR0b25OYW1lIiwic2V0QnV0dG9uTmFtZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2V0TGlzdEl0ZW1zIiwiaGFuZGxlQ2xpY2siLCJjbG9zZVBvcHVwIiwiZm9jdXNlZEFyZWEiLCJzZXRGb2N1c2VkQXJlYSIsImZvY3VzZWRQb2ludCIsInNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzIiwic2VuZEFuYWx5dGljc0V2ZW50IiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2V0QnV0dG9uVHlwZSIsInR5cGUiLCJyYyIsInRvTG93ZXJDYXNlIiwidGl0bGUiLCJwYXlsb2FkIiwibmFtZSIsImFyZWFfbmFtZSIsImJ1dHRvblRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ1c2VFZmZlY3QiLCJpc0FQb2ludCIsImZvcldXVFBNYXAiLCJkYXRhIiwid2lkZ2V0Q29udGVudCIsInNob3dCdXR0b24iLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwib25DbGljayIsImNsYXNzTmFtZSIsImlubGV0cyIsIkZyYWdtZW50IiwiQ2FyZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgQ2FyZCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBJbmxldHNQaWUgZnJvbSAnLi4vLi4vdWkta2l0L0lubGV0c1BpZSc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICcuL3V0aWxzJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG9iamVjdDogYW55O1xuICBkaXNwYXRjaDogYW55O1xuICBwb2ludHM/OiBJUG9pbnRbXTtcbiAgYXJlYXM/OiBJQXJlYVtdO1xuICBtYXA7XG4gIGdsb2JhbF9kYXRhO1xuICBsaXN0RGF0YTogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVBvaW50ID0gKHsgcG9pbnQsIGxpc3RJdGVtcywgYXJlYXMsIHBvaW50cyB9KSA9PiB7XG4gIGNvbnN0IGFyZWFJZHMgPSBsaXN0SXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgY29uc3Qgc3ViQXJlYXMgPSBnZXRBcmVhcyhhcmVhSWRzLCBhcmVhcyk7XG4gIHJldHVybiB7XG4gICAgLi4ucG9pbnQsXG4gICAgZmFjdG9yaWVzOiBzdWJBcmVhcy5sZW5ndGggPiAwID8gW10gOiBnZXRQb2ludHMobGlzdEl0ZW1zLCBwb2ludHMpLFxuICAgIHN1Yl9hcmVhczogc3ViQXJlYXMsXG4gICAgc2hhcGVfZGF0YTogW1twb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXV0sXG4gIH07XG59O1xuXG5jb25zdCBnZXRBcmVhcyA9IChhcmVhSWRzOiBhbnlbXSwgYXJlYXMpID0+IHtcbiAgaWYgKFxuICAgIGFyZWFJZHMubGVuZ3RoID09PSAwIHx8XG4gICAgYXJlYXMgPT09IHVuZGVmaW5lZCB8fFxuICAgIGFyZWFzID09PSBudWxsIHx8XG4gICAgYXJlYXMubGVuZ3RoID09PSAwXG4gIClcbiAgICByZXR1cm4gW107XG5cbiAgY29uc3QgcmV0dXJuZWRBcmVhcyA9IGFyZWFJZHMubWFwKChpZCkgPT4ge1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBcmVhID0gYXJlYXMuZmluZCgoYXJlYSkgPT4gYXJlYS5hcmVhX2lkID09PSBpZCk7XG4gICAgcmV0dXJuIGNvcnJlc3BvbmRpbmdBcmVhO1xuICB9KTtcblxuICByZXR1cm4gcmV0dXJuZWRBcmVhcztcbn07XG5cbmNvbnN0IGdldFBvaW50cyA9IChsaXN0SXRlbXMsIHBvaW50cykgPT4ge1xuICBpZiAobGlzdEl0ZW1zID09PSBudWxsIHx8IHBvaW50cyA9PT0gdW5kZWZpbmVkIHx8IHBvaW50cy5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHJldHVybmVkUG9pbnRzID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdQb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGl0ZW0uaWQpO1xuICAgIHJldHVybiBjb3JyZXNwb25kaW5nUG9pbnQ7XG4gIH0pO1xuXG4gIHJldHVybiByZXR1cm5lZFBvaW50cztcbn07XG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBhcmVhcywgbWFwLCBnbG9iYWxfZGF0YSwgbGlzdERhdGEgfSA9IHByb3BzO1xuICBjb25zdCBbYXJlYSwgc2V0QXJlYV0gPSB1c2VTdGF0ZTxJQXJlYSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcG9pbnQsIHNldFBvaW50XSA9IHVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYnV0dG9uTmFtZSwgc2V0QnV0dG9uTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW2xpc3RJdGVtcywgc2V0TGlzdEl0ZW1zXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcblxuICAgIGlmIChhcmVhKSB7XG4gICAgICBsZXQgZm9jdXNlZEFyZWEgPSBhcmVhO1xuICAgICAgaWYgKGxpc3RJdGVtcyAmJiBsaXN0SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBhcmVhID0ge1xuICAgICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAgICAgICAgIGZhY3RvcmllczpcbiAgICAgICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8gW11cbiAgICAgICAgICAgICAgOiBnZXRQb2ludHMobGlzdEl0ZW1zLCBwb2ludHMpLFxuICAgICAgICB9O1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShhcmVhKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkQXJlYSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnQpIHtcbiAgICAgICAgY29uc3QgZm9jdXNlZFBvaW50ID0gdXBkYXRlUG9pbnQoeyBwb2ludCwgbGlzdEl0ZW1zLCBhcmVhcywgcG9pbnRzIH0pO1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkUG9pbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc2VuZEJ1dHRvbkNsaWNrZWRBbmFseXRpY3MoKTtcbiAgfTtcblxuICBjb25zdCBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyA9ICgpID0+IHtcbiAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCB2aWV3IC0gUG9wdXAgZHJpbGxkb3duIGNsaWNrZWQnLCBidXR0b25OYW1lLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcblxuICAvLyBSZXR1cm4gdGhlIHBvaW50IG9iamVjdHMgb2YgYWxsIGl0ZW1zIGluIHRoZSBsaXN0IHNvcnRlZCBieSB0aGVpciBuYW1lc1xuXG4gIGNvbnN0IGdldEJ1dHRvblR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJjO1xuXG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2FyZWEnOlxuICAgICAgY2FzZSAndmFyZWEnOlxuICAgICAgICByYyA9ICd2aWV3X3N1Yl9hcmVhcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFjdG9yeSc6XG4gICAgICAgIHJjID0gJ3ZpZXdfZmFjdG9yaWVzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByYyA9ICd2aWV3X2lubGV0cyc7XG4gICAgfVxuICAgIHJldHVybiByYztcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9ICcnO1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcGF5bG9hZCA9IHBvaW50Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhKSB7XG4gICAgICAgIHBheWxvYWQgPSBhcmVhLmFyZWFfbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgYnV0dG9uVGl0bGUgPSAoKSA9PiB7XG4gICAgaWYgKGJ1dHRvbk5hbWUgPT09ICcnKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGkxOG4udChgd3d0cFBhZ2UuJHtidXR0b25OYW1lfWApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGlzQVBvaW50ID0gb2JqZWN0LmZvcldXVFBNYXAgIT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc0FQb2ludCkge1xuICAgICAgc2V0UG9pbnQob2JqZWN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QXJlYShvYmplY3QpO1xuICAgIH1cbiAgfSwgW29iamVjdF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3REYXRhID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIHNldExpc3RJdGVtcyhsaXN0RGF0YT8uZGF0YSk7XG4gICAgaWYgKGxpc3REYXRhLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgc2V0QnV0dG9uTmFtZShnZXRCdXR0b25UeXBlKGxpc3REYXRhLmRhdGFbMF0udHlwZSkpO1xuICAgIH1cbiAgfSwgW2xpc3REYXRhXSk7XG5cbiAgY29uc3Qgd2lkZ2V0Q29udGVudCA9ICgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gbGlzdERhdGE/LmRhdGE7XG4gICAgY29uc3Qgc2hvd0J1dHRvbiA9IGRhdGE/Lmxlbmd0aCA+IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAge3Nob3dCdXR0b24gJiYgKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKCl9XG4gICAgICAgICAgICBjbGFzc05hbWU9eydjaGlsZHJlbkJ1dHRvbiByb3VuZGVkLXBpbGwgYnRuLWxpZ2h0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YnV0dG9uVGl0bGUoKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2xpc3RJdGVtc30gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgzPnt0aXRsZSgpfTwvaDM+XG4gICAgICA8Q2FyZCBjbGFzc05hbWU9XCJiZy13aGl0ZSB3aWRnZXQtY29udGFpbmVyXCI+e3dpZGdldENvbnRlbnQoKX08L0NhcmQ+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFH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
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9DYXBhY2l0eSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwidXBkYXRlUG9pbnQiLCJfcmVmIiwicG9pbnQiLCJsaXN0SXRlbXMiLCJhcmVhcyIsInBvaW50cyIsImFyZWFJZHMiLCJtYXAiLCJpdGVtIiwiaWQiLCJzdWJBcmVhcyIsImdldEFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJsZW5ndGgiLCJnZXRQb2ludHMiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJleHBvcnRzIiwidW5kZWZpbmVkIiwicmV0dXJuZWRBcmVhcyIsImNvcnJlc3BvbmRpbmdBcmVhIiwiZmluZCIsImFyZWEiLCJhcmVhX2lkIiwicmV0dXJuZWRQb2ludHMiLCJjb3JyZXNwb25kaW5nUG9pbnQiLCJXaWRnZXQiLCJwcm9wcyIsIm9iamVjdCIsImRpc3BhdGNoIiwiZ2xvYmFsX2RhdGEiLCJsaXN0RGF0YSIsImhpc3RvcnkiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRBcmVhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZXRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNldExpc3RJdGVtcyIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImNsaWNrZWRPYmplY3QiLCJjbGlja2VkIiwidXBkYXRlSGlzdG9yeSIsInNldEZvY3VzZWRJdGVtIiwic2V0Rm9jdXNlZEFyZWEiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsInNlbmRBbmFseXRpY3NFdmVudCIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdldEJ1dHRvblR5cGUiLCJ0eXBlIiwicmMiLCJ0b0xvd2VyQ2FzZSIsInRpdGxlIiwicGF5bG9hZCIsIm5hbWUiLCJhcmVhX25hbWUiLCJidXR0b25UaXRsZSIsImkxOG4iLCJ0IiwiY29uY2F0IiwidXNlRWZmZWN0IiwiaXNBUG9pbnQiLCJmb3JXV1RQTWFwIiwiZGF0YSIsIndpZGdldENvbnRlbnQiLCJzaG93QnV0dG9uIiwiY3JlYXRlRWxlbWVudCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJpbmxldHMiLCJGcmFnbWVudCIsIkNhcmQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50LCB1cGRhdGVIaXN0b3J5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkSXRlbSB9IGZyb20gJy4vQ2FwYWNpdHknO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgb2JqZWN0OiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG4gIG1hcDtcbiAgZ2xvYmFsX2RhdGE7XG4gIGxpc3REYXRhOiBhbnk7XG4gIGhpc3Rvcnk6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVQb2ludCA9ICh7IHBvaW50LCBsaXN0SXRlbXMsIGFyZWFzLCBwb2ludHMgfSkgPT4ge1xuICBjb25zdCBhcmVhSWRzID0gbGlzdEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG4gIGNvbnN0IHN1YkFyZWFzID0gZ2V0QXJlYXMoYXJlYUlkcywgYXJlYXMpO1xuICByZXR1cm4ge1xuICAgIC4uLnBvaW50LFxuICAgIGZhY3Rvcmllczogc3ViQXJlYXMubGVuZ3RoID4gMCA/IFtdIDogZ2V0UG9pbnRzKGxpc3RJdGVtcywgcG9pbnRzKSxcbiAgICBzdWJfYXJlYXM6IHN1YkFyZWFzLFxuICAgIHNoYXBlX2RhdGE6IFtbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV1dLFxuICB9O1xufTtcblxuY29uc3QgZ2V0QXJlYXMgPSAoYXJlYUlkczogYW55W10sIGFyZWFzKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhSWRzLmxlbmd0aCA9PT0gMCB8fFxuICAgIGFyZWFzID09PSB1bmRlZmluZWQgfHxcbiAgICBhcmVhcyA9PT0gbnVsbCB8fFxuICAgIGFyZWFzLmxlbmd0aCA9PT0gMFxuICApXG4gICAgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHJldHVybmVkQXJlYXMgPSBhcmVhSWRzLm1hcCgoaWQpID0+IHtcbiAgICBjb25zdCBjb3JyZXNwb25kaW5nQXJlYSA9IGFyZWFzLmZpbmQoKGFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gaWQpO1xuICAgIHJldHVybiBjb3JyZXNwb25kaW5nQXJlYTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJldHVybmVkQXJlYXM7XG59O1xuXG5jb25zdCBnZXRQb2ludHMgPSAobGlzdEl0ZW1zLCBwb2ludHMpID0+IHtcbiAgaWYgKGxpc3RJdGVtcyA9PT0gbnVsbCB8fCBwb2ludHMgPT09IHVuZGVmaW5lZCB8fCBwb2ludHMubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBbXTtcblxuICBjb25zdCByZXR1cm5lZFBvaW50cyA9IGxpc3RJdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICBjb25zdCBjb3JyZXNwb25kaW5nUG9pbnQgPSBwb2ludHMuZmluZCgocG9pbnQpID0+IHBvaW50LmlkID09PSBpdGVtLmlkKTtcbiAgICByZXR1cm4gY29ycmVzcG9uZGluZ1BvaW50O1xuICB9KTtcblxuICByZXR1cm4gcmV0dXJuZWRQb2ludHM7XG59O1xuZXhwb3J0IGNvbnN0IFdpZGdldDogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgb2JqZWN0LFxuICAgIGRpc3BhdGNoLFxuICAgIHBvaW50cyxcbiAgICBhcmVhcyxcbiAgICBtYXAsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbGlzdERhdGEsXG4gICAgaGlzdG9yeSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbYXJlYSwgc2V0QXJlYV0gPSB1c2VTdGF0ZTxJQXJlYSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcG9pbnQsIHNldFBvaW50XSA9IHVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYnV0dG9uTmFtZSwgc2V0QnV0dG9uTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW2xpc3RJdGVtcywgc2V0TGlzdEl0ZW1zXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICBjb25zdCBjbGlja2VkT2JqZWN0ID0geyAuLi5vYmplY3QsIGNsaWNrZWQ6IHRydWUgfTtcbiAgICB1cGRhdGVIaXN0b3J5KGNsaWNrZWRPYmplY3QsIGhpc3RvcnkpO1xuICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgY2xpY2tlZE9iamVjdCxcbiAgICAgIGxpc3RJdGVtcyxcbiAgICAgIHBvaW50cyxcbiAgICAgIGFyZWFzLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgIHRydWUsXG4gICAgKTtcbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIHZpZXcgLSBQb3B1cCBkcmlsbGRvd24gY2xpY2tlZCcsIGJ1dHRvbk5hbWUsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGdldEJ1dHRvblR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJjO1xuXG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2FyZWEnOlxuICAgICAgY2FzZSAndmFyZWEnOlxuICAgICAgICByYyA9ICd2aWV3X3N1Yl9hcmVhcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFjdG9yeSc6XG4gICAgICAgIHJjID0gJ3ZpZXdfZmFjdG9yaWVzJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByYyA9ICd2aWV3X2lubGV0cyc7XG4gICAgfVxuICAgIHJldHVybiByYztcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9ICcnO1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcGF5bG9hZCA9IHBvaW50Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhKSB7XG4gICAgICAgIHBheWxvYWQgPSBhcmVhLmFyZWFfbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgYnV0dG9uVGl0bGUgPSAoKSA9PiB7XG4gICAgaWYgKGJ1dHRvbk5hbWUgPT09ICcnKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGkxOG4udChgd3d0cFBhZ2UuJHtidXR0b25OYW1lfWApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGlzQVBvaW50ID0gb2JqZWN0LmZvcldXVFBNYXAgIT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc0FQb2ludCkge1xuICAgICAgc2V0UG9pbnQob2JqZWN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QXJlYShvYmplY3QpO1xuICAgIH1cbiAgfSwgW29iamVjdF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxpc3REYXRhID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIHNldExpc3RJdGVtcyhsaXN0RGF0YT8uZGF0YSk7XG4gICAgaWYgKGxpc3REYXRhLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgc2V0QnV0dG9uTmFtZShnZXRCdXR0b25UeXBlKGxpc3REYXRhLmRhdGFbMF0udHlwZSkpO1xuICAgIH1cbiAgfSwgW2xpc3REYXRhXSk7XG5cbiAgY29uc3Qgd2lkZ2V0Q29udGVudCA9ICgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gbGlzdERhdGE/LmRhdGE7XG4gICAgY29uc3Qgc2hvd0J1dHRvbiA9IGRhdGE/Lmxlbmd0aCA+IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAge3Nob3dCdXR0b24gJiYgKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKCl9XG4gICAgICAgICAgICBjbGFzc05hbWU9eydjaGlsZHJlbkJ1dHRvbiByb3VuZGVkLXBpbGwgYnRuLWxpZ2h0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YnV0dG9uVGl0bGUoKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2xpc3RJdGVtc30gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGgzPnt0aXRsZSgpfTwvaDM+XG4gICAgICA8Q2FyZCBjbGFzc05hbWU9XCJiZy13aGl0ZSB3aWRnZXQtY29udGFpbmVyXCI+e3dpZGdldENvbnRlbnQoKX08L0NhcmQ+XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFLLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUE0QyxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEs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
|
|
@@ -4,39 +4,74 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.focusMap = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
7
|
+
exports.updateHistory = exports.sortAreas = exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.focusMap = exports.createPopupForObject = exports.calculateWWTPInfo = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
8
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
9
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
12
|
var _jquery = _interopRequireDefault(require("jquery"));
|
|
11
13
|
var _Analytics = require("utilities/Analytics");
|
|
12
14
|
var initializeWWTPData = function initializeWWTPData(payload) {
|
|
13
15
|
if (payload.dataExists()) {
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
return point.id === parseInt(id);
|
|
17
|
-
});
|
|
18
|
-
if (WWTP === undefined) {
|
|
19
|
-
WWTP = payload.points_data.items.find(function (point) {
|
|
20
|
-
return point.group.area_id === parseInt(id);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
var WWTPArea = payload.areas_data.newAreas.find(function (area) {
|
|
24
|
-
return parseInt(id) === area.area_id;
|
|
25
|
-
});
|
|
26
|
-
if (WWTP !== undefined) {
|
|
27
|
-
WWTP = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, WWTP), {}, {
|
|
28
|
-
forWWTPMap: true
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
payload.setWWTPInfo({
|
|
32
|
-
point: WWTP,
|
|
33
|
-
area: WWTPArea
|
|
34
|
-
});
|
|
16
|
+
var wwtpInfp = calculateWWTPInfo(payload);
|
|
17
|
+
payload.setWWTPInfo(wwtpInfp);
|
|
35
18
|
payload.setPoints(payload.points_data.items);
|
|
36
19
|
payload.setAreas(payload.areas_data.newAreas);
|
|
37
20
|
}
|
|
38
21
|
};
|
|
39
22
|
exports.initializeWWTPData = initializeWWTPData;
|
|
23
|
+
var sortAreas = function sortAreas(areas) {
|
|
24
|
+
if (!areas) return areas;
|
|
25
|
+
var temp = (0, _toConsumableArray2.default)(areas);
|
|
26
|
+
var sortedAreas = temp.sort(function (a, b) {
|
|
27
|
+
return a.is_assessment === b.is_assessment ? 0 : a.is_assessment ? -1 : 1;
|
|
28
|
+
}).sort(function (a, b) {
|
|
29
|
+
return b.area_score - a.area_score;
|
|
30
|
+
});
|
|
31
|
+
return sortedAreas;
|
|
32
|
+
};
|
|
33
|
+
exports.sortAreas = sortAreas;
|
|
34
|
+
var updateHistory = function updateHistory(object, history) {
|
|
35
|
+
var area = object.area_id ? object : null;
|
|
36
|
+
var point = object.id ? object : null;
|
|
37
|
+
if (point) {
|
|
38
|
+
var type = point.group.type === 'Groups::WastewaterTreatmentPlant' ? 'wwtp' : 'site';
|
|
39
|
+
history.push("/dashboard_v2/".concat(type, "/").concat(point.id).concat(history.location.search));
|
|
40
|
+
} else {
|
|
41
|
+
if (area) {
|
|
42
|
+
var _type = area.is_virtual ? 'varea' : 'area';
|
|
43
|
+
history.push("/dashboard_v2/".concat(_type, "/").concat(area.area_id).concat(history.location.search));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.updateHistory = updateHistory;
|
|
48
|
+
var calculateWWTPInfo = function calculateWWTPInfo(_ref) {
|
|
49
|
+
var id = _ref.id,
|
|
50
|
+
points_data = _ref.points_data,
|
|
51
|
+
areas_data = _ref.areas_data;
|
|
52
|
+
var WWTP = points_data.items.find(function (point) {
|
|
53
|
+
return point.id === parseInt(id);
|
|
54
|
+
});
|
|
55
|
+
if (WWTP === undefined) {
|
|
56
|
+
var _points_data$items;
|
|
57
|
+
WWTP = (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.find(function (point) {
|
|
58
|
+
return point.group.area_id === parseInt(id);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
var WWTPArea = areas_data.newAreas.find(function (area) {
|
|
62
|
+
return parseInt(id) === area.area_id;
|
|
63
|
+
});
|
|
64
|
+
if (WWTP !== undefined) {
|
|
65
|
+
WWTP = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, WWTP), {}, {
|
|
66
|
+
forWWTPMap: true
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
point: WWTP,
|
|
71
|
+
area: WWTPArea
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
exports.calculateWWTPInfo = calculateWWTPInfo;
|
|
40
75
|
var createPopupForObject = function createPopupForObject(args) {
|
|
41
76
|
args.marker.bindPopup("<div class=\"widget-container\"></div>", {
|
|
42
77
|
maxWidth: 400,
|
|
@@ -54,42 +89,44 @@ var createPopupForObject = function createPopupForObject(args) {
|
|
|
54
89
|
};
|
|
55
90
|
exports.createPopupForObject = createPopupForObject;
|
|
56
91
|
var areaFocusLogic = function areaFocusLogic(args) {
|
|
57
|
-
var
|
|
92
|
+
var _object$sub_areas;
|
|
93
|
+
var object = args.WWTPInfo.area || args.WWTPInfo.point;
|
|
58
94
|
var map = args.map;
|
|
59
95
|
if (object === null || map === null) return;
|
|
60
|
-
if ((object === null || object === void 0 ? void 0 : object.sub_areas)
|
|
96
|
+
if ((object === null || object === void 0 ? void 0 : (_object$sub_areas = object.sub_areas) === null || _object$sub_areas === void 0 ? void 0 : _object$sub_areas.length) > 0) {
|
|
61
97
|
args.setAreas(object.sub_areas);
|
|
62
98
|
} else {
|
|
63
|
-
|
|
64
|
-
args.setAreas(object.factories);
|
|
65
|
-
}
|
|
66
|
-
// else {
|
|
67
|
-
// latlngs.push([object.latitude, object.longitude]);
|
|
68
|
-
// }
|
|
99
|
+
args.setAreas(object.factories);
|
|
69
100
|
}
|
|
70
101
|
};
|
|
71
102
|
exports.areaFocusLogic = areaFocusLogic;
|
|
72
103
|
var focusMap = function focusMap(object, map) {
|
|
73
104
|
if (object === null || map === null) return;
|
|
74
105
|
var latlngs = [];
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
106
|
+
if (object === undefined) {
|
|
107
|
+
for (var property in map._layers) {
|
|
108
|
+
if (map._layers[property].kando_object === 'Area' || map._layers[property].kando_object === 'Point') {
|
|
109
|
+
latlngs.push(map._layers[property]._bounds);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
80
112
|
} else {
|
|
81
|
-
if ((object === null || object === void 0 ? void 0 : object.
|
|
82
|
-
object.
|
|
83
|
-
|
|
84
|
-
latlngs.push(latlng);
|
|
85
|
-
});
|
|
113
|
+
if ((object === null || object === void 0 ? void 0 : object.shape_data) !== undefined) {
|
|
114
|
+
object.shape_data.forEach(function (latlng) {
|
|
115
|
+
latlngs.push(latlng);
|
|
86
116
|
});
|
|
87
|
-
// object.setAreas(object.sub_areas);
|
|
88
117
|
} else {
|
|
89
|
-
|
|
118
|
+
if (object.sub_areas && object.sub_areas.length > 0) {
|
|
119
|
+
object.sub_areas.forEach(function (sub_area) {
|
|
120
|
+
sub_area.shape_data.forEach(function (latlng) {
|
|
121
|
+
latlngs.push(latlng);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
} else {
|
|
125
|
+
latlngs.push([object.latitude, object.longitude]);
|
|
126
|
+
}
|
|
90
127
|
}
|
|
91
128
|
}
|
|
92
|
-
map.fitBounds(latlngs);
|
|
129
|
+
latlngs.length > 0 && map !== null && (0, _typeof2.default)(map._layers) === 'object' && map._layers.length === undefined && map.fitBounds(latlngs);
|
|
93
130
|
};
|
|
94
131
|
exports.focusMap = focusMap;
|
|
95
132
|
var simpleTruncate = function simpleTruncate(str, length) {
|
|
@@ -121,4 +158,4 @@ var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFi
|
|
|
121
158
|
(0, _Analytics.analyticsTrack)(subject, data);
|
|
122
159
|
};
|
|
123
160
|
exports.sendAnalyticsEvent = sendAnalyticsEvent;
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJpZCIsIldXVFAiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwiZmluZCIsInBvaW50IiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJncm91cCIsImFyZWFfaWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJfb2JqZWN0U3ByZWFkMiIsImRlZmF1bHQiLCJmb3JXV1RQTWFwIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJzZXRBcmVhcyIsImV4cG9ydHMiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsImFyZ3MiLCJtYXJrZXIiLCJiaW5kUG9wdXAiLCJtYXhXaWR0aCIsIm1pbldpZHRoIiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0Iiwib24iLCJzZXRUaW1lb3V0IiwiJCIsImNvbnRlbnRzIiwibGVuZ3RoIiwiYXBwZW5kIiwicmVuZGVyZWRFbGVtZW50IiwiYXJlYUZvY3VzTG9naWMiLCJvYmplY3QiLCJXV1RQSW5mbyIsIm1hcCIsInN1Yl9hcmVhcyIsInNoYXBlX2RhdGEiLCJmYWN0b3JpZXMiLCJmb2N1c01hcCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwibGF0bG5nIiwicHVzaCIsInN1Yl9hcmVhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJmaXRCb3VuZHMiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBjb25zdCBpZDogc3RyaW5nID0gcGF5bG9hZC5pZDtcblxuICAgIGxldCBXV1RQOiBJUG9pbnQgPSBwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IHBhcnNlSW50KGlkKSxcbiAgICApO1xuXG4gICAgaWYgKFdXVFAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgV1dUUCA9IHBheWxvYWQucG9pbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50Lmdyb3VwLmFyZWFfaWQgPT09IHBhcnNlSW50KGlkKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IFdXVFBBcmVhOiBJQXJlYSA9IHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcy5maW5kKFxuICAgICAgKGFyZWE6IElBcmVhKSA9PiBwYXJzZUludChpZCkgPT09IGFyZWEuYXJlYV9pZCxcbiAgICApO1xuXG4gICAgaWYgKFdXVFAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgV1dUUCA9IHtcbiAgICAgICAgLi4uV1dUUCxcbiAgICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBjb25zdCBvYmplY3QgPSBhcmdzLldXVFBJbmZvLmFyZWEgPyBhcmdzLldXVFBJbmZvLmFyZWEgOiBhcmdzLldXVFBJbmZvLnBvaW50O1xuICBjb25zdCBtYXAgPSBhcmdzLm1hcDtcblxuICBpZiAob2JqZWN0ID09PSBudWxsIHx8IG1hcCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gIGlmIChvYmplY3Q/LnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIG9iamVjdC5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgIGFyZ3Muc2V0QXJlYXMob2JqZWN0LnN1Yl9hcmVhcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKG9iamVjdD8uc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmdzLnNldEFyZWFzKG9iamVjdC5mYWN0b3JpZXMpO1xuICAgIH1cbiAgICAvLyBlbHNlIHtcbiAgICAvLyAgIGxhdGxuZ3MucHVzaChbb2JqZWN0LmxhdGl0dWRlLCBvYmplY3QubG9uZ2l0dWRlXSk7XG4gICAgLy8gfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9jdXNNYXAgPSAob2JqZWN0LCBtYXApID0+IHtcbiAgaWYgKG9iamVjdCA9PT0gbnVsbCB8fCBtYXAgPT09IG51bGwpIHJldHVybjtcblxuICBsZXQgbGF0bG5nczogYW55ID0gW107XG5cbiAgaWYgKG9iamVjdD8uc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2JqZWN0LnNoYXBlX2RhdGEuZm9yRWFjaCgobGF0bG5nKSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICB9KTtcbiAgICAvLyBvYmplY3Quc2V0QXJlYXMob2JqZWN0LmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKG9iamVjdD8uc3ViX2FyZWFzICE9PSB1bmRlZmluZWQgJiYgb2JqZWN0LnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmplY3Quc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIHN1Yl9hcmVhLnNoYXBlX2RhdGEuZm9yRWFjaCgobGF0bG5nKSA9PiB7XG4gICAgICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICAvLyBvYmplY3Quc2V0QXJlYXMob2JqZWN0LnN1Yl9hcmVhcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhdGxuZ3MucHVzaChbb2JqZWN0LmxhdGl0dWRlLCBvYmplY3QubG9uZ2l0dWRlXSk7XG4gICAgfVxuICB9XG4gIG1hcC5maXRCb3VuZHMobGF0bG5ncyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2ltcGxlVHJ1bmNhdGUgPSAoc3RyLCBsZW5ndGgpID0+IHtcbiAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBsZW5ndGggIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50cy4gUGxlYXNlIHByb3ZpZGUgYSBzdHJpbmcgYW5kIGEgbnVtYmVyLicpO1xuICB9XG5cbiAgaWYgKHN0ci5sZW5ndGggPD0gbGVuZ3RoKSB7XG4gICAgcmV0dXJuIHN0cjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBsZW5ndGgpICsgJy4uLic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDYXJkQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLmNhcmQge1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbmA7XG5cbi8vIFNlbmQgYW5hbHl0aWNzIGV2ZW50cyBmcm9tIHNldmVyYWwgcGxhY2VzIGluIHd3dHBtYXAuXG4vLyBzdWJqZWN0IGlzIHRoZSBuYW1lIG9mIHRoZSBldmVudFxuLy8gc2VsZWN0aW9uIGlzIHRoZSBvYmplY3QgdGhhdCB3YXMgc2VsZWN0ZWRcbi8vIHNwZWNpZmljRmllbGRzIGlzIGFuIG9iamVjdCB3aXRoIGV2ZW50IGZpZWxkcyB0byBzZW5kIHdoaWNoIGFyZSBjb21iaW5lZCB3aXRoIHRoZSByZXN0IG9mIHRoZSBmaWVsZHNcbmV4cG9ydCBjb25zdCBzZW5kQW5hbHl0aWNzRXZlbnQgPSAoXG4gIHN1YmplY3Q6IHN0cmluZyxcbiAgc2VsZWN0aW9uOiBzdHJpbmcsXG4gIGV2ZW50RmllbGRzOiBPYmplY3QsXG4pID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBzZWxlY3Rpb246IHNlbGVjdGlvbixcbiAgICBwYWdlX25hbWU6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxcbiAgICAuLi5ldmVudEZpZWxkcyxcbiAgfTtcbiAgYW5hbHl0aWNzVHJhY2soc3ViamVjdCwgZGF0YSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFFTyxJQUFNRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJQyxPQUFPLEVBQUs7RUFDN0MsSUFBSUEsT0FBTyxDQUFDQyxVQUFVLENBQUMsQ0FBQyxFQUFFO0lBQ3hCLElBQU1DLEVBQVUsR0FBR0YsT0FBTyxDQUFDRSxFQUFFO0lBRTdCLElBQUlDLElBQVksR0FBR0gsT0FBTyxDQUFDSSxXQUFXLENBQUNDLEtBQUssQ0FBQ0MsSUFBSSxDQUMvQyxVQUFDQyxLQUFhO01BQUEsT0FBS0EsS0FBSyxDQUFDTCxFQUFFLEtBQUtNLFFBQVEsQ0FBQ04sRUFBRSxDQUFDO0lBQUEsQ0FDOUMsQ0FBQztJQUVELElBQUlDLElBQUksS0FBS00sU0FBUyxFQUFFO01BQ3RCTixJQUFJLEdBQUdILE9BQU8sQ0FBQ0ksV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDbkMsVUFBQ0MsS0FBYTtRQUFBLE9BQUtBLEtBQUssQ0FBQ0csS0FBSyxDQUFDQyxPQUFPLEtBQUtILFFBQVEsQ0FBQ04sRUFBRSxDQUFDO01BQUEsQ0FDekQsQ0FBQztJQUNIO0lBRUEsSUFBSVUsUUFBZSxHQUFH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
|
|
161
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJ3d3RwSW5mcCIsImNhbGN1bGF0ZVdXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwic2V0QXJlYXMiLCJhcmVhc19kYXRhIiwibmV3QXJlYXMiLCJleHBvcnRzIiwic29ydEFyZWFzIiwiYXJlYXMiLCJ0ZW1wIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImRlZmF1bHQiLCJzb3J0ZWRBcmVhcyIsInNvcnQiLCJhIiwiYiIsImlzX2Fzc2Vzc21lbnQiLCJhcmVhX3Njb3JlIiwidXBkYXRlSGlzdG9yeSIsIm9iamVjdCIsImhpc3RvcnkiLCJhcmVhIiwiYXJlYV9pZCIsInBvaW50IiwiaWQiLCJ0eXBlIiwiZ3JvdXAiLCJwdXNoIiwiY29uY2F0IiwibG9jYXRpb24iLCJzZWFyY2giLCJpc192aXJ0dWFsIiwiX3JlZiIsIldXVFAiLCJmaW5kIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJfcG9pbnRzX2RhdGEkaXRlbXMiLCJXV1RQQXJlYSIsIl9vYmplY3RTcHJlYWQyIiwiZm9yV1dUUE1hcCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwiYXJncyIsIm1hcmtlciIsImJpbmRQb3B1cCIsIm1heFdpZHRoIiwibWluV2lkdGgiLCJtYXhIZWlnaHQiLCJtaW5IZWlnaHQiLCJvbiIsInNldFRpbWVvdXQiLCIkIiwiY29udGVudHMiLCJsZW5ndGgiLCJhcHBlbmQiLCJyZW5kZXJlZEVsZW1lbnQiLCJhcmVhRm9jdXNMb2dpYyIsIl9vYmplY3Qkc3ViX2FyZWFzIiwiV1dUUEluZm8iLCJtYXAiLCJzdWJfYXJlYXMiLCJmYWN0b3JpZXMiLCJmb2N1c01hcCIsImxhdGxuZ3MiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJfYm91bmRzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJzdWJfYXJlYSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiX3R5cGVvZjIiLCJmaXRCb3VuZHMiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsInBhZ2VfbmFtZSIsIndpbmRvdyIsInBhdGhuYW1lIiwiYW5hbHl0aWNzVHJhY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZVdXVFBEYXRhID0gKHBheWxvYWQpID0+IHtcbiAgaWYgKHBheWxvYWQuZGF0YUV4aXN0cygpKSB7XG4gICAgY29uc3Qgd3d0cEluZnAgPSBjYWxjdWxhdGVXV1RQSW5mbyhwYXlsb2FkKTtcbiAgICBwYXlsb2FkLnNldFdXVFBJbmZvKHd3dHBJbmZwKTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzb3J0QXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgaWYgKCFhcmVhcykgcmV0dXJuIGFyZWFzO1xuXG4gIGNvbnN0IHRlbXAgPSBbLi4uYXJlYXNdO1xuICBjb25zdCBzb3J0ZWRBcmVhcyA9IHRlbXBcbiAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgIGEuaXNfYXNzZXNzbWVudCA9PT0gYi5pc19hc3Nlc3NtZW50ID8gMCA6IGEuaXNfYXNzZXNzbWVudCA/IC0xIDogMSxcbiAgICApXG4gICAgLnNvcnQoKGEsIGIpID0+IGIuYXJlYV9zY29yZSAtIGEuYXJlYV9zY29yZSk7XG5cbiAgcmV0dXJuIHNvcnRlZEFyZWFzO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUhpc3RvcnkgPSAob2JqZWN0LCBoaXN0b3J5KSA9PiB7XG4gIGNvbnN0IGFyZWEgPSBvYmplY3QuYXJlYV9pZCA/IG9iamVjdCA6IG51bGw7XG4gIGNvbnN0IHBvaW50ID0gb2JqZWN0LmlkID8gb2JqZWN0IDogbnVsbDtcblxuICBpZiAocG9pbnQpIHtcbiAgICBjb25zdCB0eXBlID1cbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgPyAnd3d0cCcgOiAnc2l0ZSc7XG4gICAgaGlzdG9yeS5wdXNoKGAvZGFzaGJvYXJkX3YyLyR7dHlwZX0vJHtwb2ludC5pZH0ke2hpc3RvcnkubG9jYXRpb24uc2VhcmNofWApO1xuICB9IGVsc2Uge1xuICAgIGlmIChhcmVhKSB7XG4gICAgICBjb25zdCB0eXBlID0gYXJlYS5pc192aXJ0dWFsID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC9kYXNoYm9hcmRfdjIvJHt0eXBlfS8ke2FyZWEuYXJlYV9pZH0ke2hpc3RvcnkubG9jYXRpb24uc2VhcmNofWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdXVFBJbmZvID0gKHsgaWQsIHBvaW50c19kYXRhLCBhcmVhc19kYXRhIH0pID0+IHtcbiAgbGV0IFdXVFA6IElQb2ludCA9IHBvaW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChpZCksXG4gICk7XG5cbiAgaWYgKFdXVFAgPT09IHVuZGVmaW5lZCkge1xuICAgIFdXVFAgPSBwb2ludHNfZGF0YS5pdGVtcz8uZmluZChcbiAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5ncm91cC5hcmVhX2lkID09PSBwYXJzZUludChpZCksXG4gICAgKTtcbiAgfVxuXG4gIGxldCBXV1RQQXJlYTogSUFyZWEgPSBhcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgKGFyZWE6IElBcmVhKSA9PiBwYXJzZUludChpZCkgPT09IGFyZWEuYXJlYV9pZCxcbiAgKTtcblxuICBpZiAoV1dUUCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgV1dUUCA9IHtcbiAgICAgIC4uLldXVFAsXG4gICAgICBmb3JXV1RQTWFwOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4geyBwb2ludDogV1dUUCwgYXJlYTogV1dUUEFyZWEgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBjb25zdCBvYmplY3QgPSBhcmdzLldXVFBJbmZvLmFyZWEgfHwgYXJncy5XV1RQSW5mby5wb2ludDtcbiAgY29uc3QgbWFwID0gYXJncy5tYXA7XG5cbiAgaWYgKG9iamVjdCA9PT0gbnVsbCB8fCBtYXAgPT09IG51bGwpIHJldHVybjtcblxuICBpZiAob2JqZWN0Py5zdWJfYXJlYXM/Lmxlbmd0aCA+IDApIHtcbiAgICBhcmdzLnNldEFyZWFzKG9iamVjdC5zdWJfYXJlYXMpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3Muc2V0QXJlYXMob2JqZWN0LmZhY3Rvcmllcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb2N1c01hcCA9IChvYmplY3QsIG1hcCkgPT4ge1xuICBpZiAob2JqZWN0ID09PSBudWxsIHx8IG1hcCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gIGxldCBsYXRsbmdzOiBhbnkgPSBbXTtcbiAgaWYgKG9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScgfHxcbiAgICAgICAgbWFwLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChtYXAuX2xheWVyc1twcm9wZXJ0eV0uX2JvdW5kcyk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChvYmplY3Q/LnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqZWN0LnNoYXBlX2RhdGEuZm9yRWFjaCgobGF0bG5nKSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvYmplY3Quc3ViX2FyZWFzICYmIG9iamVjdC5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvYmplY3Quc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgICAgc3ViX2FyZWEuc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbb2JqZWN0LmxhdGl0dWRlLCBvYmplY3QubG9uZ2l0dWRlXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxhdGxuZ3MubGVuZ3RoID4gMCAmJlxuICAgIG1hcCAhPT0gbnVsbCAmJlxuICAgIHR5cGVvZiBtYXAuX2xheWVycyA9PT0gJ29iamVjdCcgJiZcbiAgICBtYXAuX2xheWVycy5sZW5ndGggPT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcC5maXRCb3VuZHMobGF0bG5ncyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2ltcGxlVHJ1bmNhdGUgPSAoc3RyLCBsZW5ndGgpID0+IHtcbiAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBsZW5ndGggIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50cy4gUGxlYXNlIHByb3ZpZGUgYSBzdHJpbmcgYW5kIGEgbnVtYmVyLicpO1xuICB9XG5cbiAgaWYgKHN0ci5sZW5ndGggPD0gbGVuZ3RoKSB7XG4gICAgcmV0dXJuIHN0cjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBsZW5ndGgpICsgJy4uLic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDYXJkQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLmNhcmQge1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbmA7XG5cbi8vIFNlbmQgYW5hbHl0aWNzIGV2ZW50cyBmcm9tIHNldmVyYWwgcGxhY2VzIGluIHd3dHBtYXAuXG4vLyBzdWJqZWN0IGlzIHRoZSBuYW1lIG9mIHRoZSBldmVudFxuLy8gc2VsZWN0aW9uIGlzIHRoZSBvYmplY3QgdGhhdCB3YXMgc2VsZWN0ZWRcbi8vIHNwZWNpZmljRmllbGRzIGlzIGFuIG9iamVjdCB3aXRoIGV2ZW50IGZpZWxkcyB0byBzZW5kIHdoaWNoIGFyZSBjb21iaW5lZCB3aXRoIHRoZSByZXN0IG9mIHRoZSBmaWVsZHNcbmV4cG9ydCBjb25zdCBzZW5kQW5hbHl0aWNzRXZlbnQgPSAoXG4gIHN1YmplY3Q6IHN0cmluZyxcbiAgc2VsZWN0aW9uOiBzdHJpbmcsXG4gIGV2ZW50RmllbGRzOiBPYmplY3QsXG4pID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBzZWxlY3Rpb246IHNlbGVjdGlvbixcbiAgICBwYWdlX25hbWU6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxcbiAgICAuLi5ldmVudEZpZWxkcyxcbiAgfTtcbiAgYW5hbHl0aWNzVHJhY2soc3ViamVjdCwgZGF0YSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUVPLElB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
|