@kando-env/kando-ui 1.2.75-alpha.13 → 1.2.75-alpha.14
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
CHANGED
|
@@ -39,6 +39,8 @@ var _NetworkForSpecificEvent = require("./events/NetworkForSpecificEvent");
|
|
|
39
39
|
|
|
40
40
|
var _PointMarkers = require("./points/PointMarkers");
|
|
41
41
|
|
|
42
|
+
var _useQueryURL = _interopRequireDefault(require("../../hooks/useQueryURL"));
|
|
43
|
+
|
|
42
44
|
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); }
|
|
43
45
|
|
|
44
46
|
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; }
|
|
@@ -86,6 +88,18 @@ var Map = function Map(_ref) {
|
|
|
86
88
|
return area && area.length > 0 && Object.keys(area[0]).length > 0;
|
|
87
89
|
};
|
|
88
90
|
|
|
91
|
+
var query = (0, _useQueryURL.default)();
|
|
92
|
+
|
|
93
|
+
var isValidEvent = function isValidEvent() {
|
|
94
|
+
var validEvent = query.get('validEvent');
|
|
95
|
+
|
|
96
|
+
if (validEvent === 'false') {
|
|
97
|
+
return false;
|
|
98
|
+
} else {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
89
103
|
var initializeMap = function initializeMap() {
|
|
90
104
|
// @ts-ignore
|
|
91
105
|
mapRef.current = _leaflet.default.map('map', {
|
|
@@ -226,9 +240,9 @@ var Map = function Map(_ref) {
|
|
|
226
240
|
L: _leaflet.default,
|
|
227
241
|
points: points,
|
|
228
242
|
hideEdges: hideEdges
|
|
229
|
-
})), children), /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, focusedEvent !== null && /*#__PURE__*/_react.default.createElement("div", {
|
|
243
|
+
})), children), /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, focusedEvent !== null && isValidEvent() && /*#__PURE__*/_react.default.createElement("div", {
|
|
230
244
|
className: 'event-timerange'
|
|
231
|
-
}, /*#__PURE__*/_react.default.createElement(_EventTimeRange.default, null)))), focusedEvent && /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_NetworkForSpecificEvent.NetworkForSpecificEvent, {
|
|
245
|
+
}, /*#__PURE__*/_react.default.createElement(_EventTimeRange.default, null)))), focusedEvent && isValidEvent() && /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_NetworkForSpecificEvent.NetworkForSpecificEvent, {
|
|
232
246
|
event: focusedEvent,
|
|
233
247
|
map: map,
|
|
234
248
|
edges: edges,
|
|
@@ -247,4 +261,4 @@ var Map = function Map(_ref) {
|
|
|
247
261
|
};
|
|
248
262
|
|
|
249
263
|
exports.Map = Map;
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiZXZlbnRzIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJmb2N1c2VkRXZlbnRQYXRocyIsImhpZGVFZGdlcyIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIm1hcEJveFN0eWxlIiwiY2hpbGRyZW4iLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJtYXAiLCJtYXBSZWYiLCJkaXNwYXRjaCIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsImV2ZW50c0RhdGEiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsImluaXRpYWxpemVNYXAiLCJjdXJyZW50IiwiTCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsImxheWVycyIsInRpbGVMYXllciIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsIndoZW5SZWFkeSIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImZpdEJvdW5kcyIsIm9uIiwiZSIsImdldFpvb20iLCJyZW5kZXJOZXR3b3JrIiwicmVuZGVyRXZlbnRQYXRoT25Ib3ZlciIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjbGVhbnVwIiwicmVtb3ZlIiwidW5kZWZpbmVkIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcEluc3RhbmNlIiwicGFkZGluZyIsImdyb3VwIiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwicHVzaCIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInNpZGVuYXZFeHBhbmRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUlBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFuQkE7QUFzQ0EsSUFBTUEsMEJBQTBCLEdBQUcsMkJBQW5DOztBQUNPLElBQU1DLEdBQXVCLEdBQUcsU0FBMUJBLEdBQTBCLE9BZ0JqQztBQUFBLE1BZkpDLEtBZUksUUFmSkEsS0FlSTtBQUFBLE1BZEpDLEtBY0ksUUFkSkEsS0FjSTtBQUFBLE1BYkpDLE1BYUksUUFiSkEsTUFhSTtBQUFBLE1BWkpDLFdBWUksUUFaSkEsV0FZSTtBQUFBLE1BWEpDLE1BV0ksUUFYSkEsTUFXSTtBQUFBLE1BVkpDLGNBVUksUUFWSkEsY0FVSTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLG1DQVJKQyxpQkFRSTtBQUFBLE1BUkpBLGlCQVFJLHNDQVJnQixFQVFoQjtBQUFBLDRCQVBKQyxTQU9JO0FBQUEsTUFQSkEsU0FPSSwrQkFQUSxLQU9SO0FBQUEsK0JBTkpDLFlBTUk7QUFBQSxNQU5KQSxZQU1JLGtDQU5XLElBTVg7QUFBQSxtQ0FMSkMsaUJBS0k7QUFBQSxNQUxKQSxpQkFLSSxzQ0FMZ0IsRUFLaEI7QUFBQSxtQ0FKSkMsZ0JBSUk7QUFBQSxNQUpKQSxnQkFJSSxzQ0FKZSxFQUlmO0FBQUEsOEJBSEpDLFdBR0k7QUFBQSxNQUhKQSxXQUdJLGlDQUhVZCwwQkFHVjtBQUFBLE1BRkplLFFBRUksUUFGSkEsUUFFSTtBQUFBLG1DQURKQyx3QkFDSTtBQUFBLE1BREpBLHdCQUNJLHNDQUR1QixLQUN2QjtBQUNKLE1BQVFDLEdBQVIsR0FBZ0JaLFdBQWhCLENBQVFZLEdBQVI7QUFDQSxNQUFNQyxNQUFNLEdBQUcsbUJBQWMsSUFBZCxDQUFmO0FBQ0EsTUFB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eUNHQSxZQUFZLGlCQUNYLDZCQUFDLHNCQUFELHFCQUNFLDZCQUFDLGdEQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVBLFlBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRVMsR0FGUDtBQUdFLElBQUEsS0FBSyxFQUFFZCxLQUhUO0FBSUUsSUFBQSxNQUFNLEVBQUVDO0FBSlYsSUFERixlQU9FLDZCQUFDLGtCQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVJLFlBRFQ7QUFFRSxJQUFBLFdBQVcsRUFBRUgsV0FGZjtBQUdFLElBQUEsaUJBQWlCLEVBQUVJLGlCQUhyQjtBQUlFLElBQUEsWUFBWSxFQUFFRDtBQUpoQixJQVBGLEVBY0dDLGlCQUFpQixDQUFDa0IsTUFBbEIsR0FBMkIsQ0FBM0IsaUJBQ0MsNkJBQUMsdUJBQUQ7QUFDRSxJQUFBLEdBQUcsRUFBRVYsR0FEUDtBQUVFLElBQUEsS0FBSyxFQUFFUixpQkFGVDtBQUdFLElBQUEsWUFBWSxFQUFFRCxZQUhoQjtBQUlFLElBQUEsQ0FBQyxFQUFFd0I7QUFKTCxJQWZKLENBMUNKLEVBbUVHckIsWUFBWSxpQkFDWCw2QkFBQyxzQkFBRCxRQUNHOEMsc0JBREgsRUFFR0QsYUFGSCxDQXBFSixDQURGO0FBNEVELENBcFBNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2lkZU5hdkV4cGFuZGVkLCBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgRXZlbnRJbmRpY2F0b3IgZnJvbSAnLi9ldmVudHMvRXZlbnRJbmRpY2F0b3InO1xuaW1wb3J0IEV2ZW50UGF0aCBmcm9tICcuL2V2ZW50cy9FdmVudFBhdGgnO1xuaW1wb3J0IEV2ZW50VGltZVJhbmdlIGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50VGltZVJhbmdlJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgRXZlbnRJbmRpY2F0b3JIb3ZlciBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50SW5kaWNhdG9ySG92ZXInO1xuaW1wb3J0IHsgTmV0d29ya0ZvclNwZWNpZmljRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9OZXR3b3JrRm9yU3BlY2lmaWNFdmVudCc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xuICBldmVudHM6IElFdmVudFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgZm9jdXNlZEV2ZW50UGF0aHM/OiBhbnlbXTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50UGF0aHM/OiBhbnlbXTtcbiAgaG92ZXJlZEVkZ2VQYXRocz86IGFueVtdO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbn1cbmNvbnN0IE1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFID0gJ2NrZndjczM1azRnNjIxYXBrZWM5d3Bva2wnO1xuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudHMsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGZvY3VzZWRFdmVudFBhdGhzID0gW10sXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBob3ZlcmVkRXZlbnQgPSBudWxsLFxuICBob3ZlcmVkRXZlbnRQYXRocyA9IFtdLFxuICBob3ZlcmVkRWRnZVBhdGhzID0gW10sXG4gIG1hcEJveFN0eWxlID0gTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXA+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgxMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcblxuICBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZU1hcCA9ICgpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbWFwUmVmLmN1cnJlbnQgPSBMLm1hcCgnbWFwJywge1xuICAgICAgY2VudGVyOiBbMzIuMTA5MzMzLCAzNC44NTU0OTldLCAvLyBUZWwtQXZpdlxuICAgICAgem9vbVNuYXA6IDEsXG4gICAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gICAgICBsYXllcnM6IFtcbiAgICAgICAgTC50aWxlTGF5ZXIoXG4gICAgICAgICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICAgICAgICBpZDogJ21hcGJveC9zdHJlZXRzLXYxMScsXG4gICAgICAgICAgICB0aWxlU2l6ZTogNTEyLFxuICAgICAgICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICAgICAgICB1cGRhdGVXaGVuWm9vbWluZzogZmFsc2UsXG4gICAgICAgICAgICB1cGRhdGVXaGVuSWRsZTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcbiAgICAgIH0sIDApO1xuICAgICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJOZXR3b3JrID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIGhvdmVyZWRFdmVudFBhdGhzLmxlbmd0aCA+IDAgJiYgaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxOZXR3b3JrRm9yU3BlY2lmaWNFdmVudFxuICAgICAgICAgICAgZXZlbnQ9e2hvdmVyZWRFdmVudH1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgZWRnZXM9e2VkZ2VzfVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RXZlbnRJbmRpY2F0b3JIb3ZlclxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBwYXRocz17aG92ZXJlZEV2ZW50UGF0aHN9XG4gICAgICAgICAgICBob3ZlcmVkRXZlbnQ9e2hvdmVyZWRFdmVudH1cbiAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPD48Lz47XG4gICAgfVxuICB9LCBbaG92ZXJlZEV2ZW50LCBob3ZlcmVkRXZlbnRQYXRoc10pO1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aE9uSG92ZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RXZlbnRQYXRoXG4gICAgICAgICAgZXZlbnQ9e2hvdmVyZWRFdmVudH1cbiAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgZm9jdXNlZEV2ZW50UGF0aHM9e2hvdmVyZWRFdmVudFBhdGhzfVxuICAgICAgICAgIGhvdmVyZWRFdmVudD17aG92ZXJlZEV2ZW50fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDw+PC8+O1xuICAgIH1cbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IHJlbmRlclBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhZXZlbnRzRGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbZXZlbnRzRGF0YS5pc0ZldGNoaW5nXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKCk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IG1hcEluc3RhbmNlOiBhbnkgPSBtYXBSZWYuY3VycmVudDtcbiAgICAgIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgICAgIGlmIChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLW1hcC1jb250YWluZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7Z2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge3JlbmRlclBvaW50c31cbiAgICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgICBlZGdlcz17ZWRnZXN9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuXG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIHtmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC10aW1lcmFuZ2UnfT5cbiAgICAgICAgICAgICAgPEV2ZW50VGltZVJhbmdlIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cblxuICAgICAge2ZvY3VzZWRFdmVudCAmJiAoXG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxOZXR3b3JrRm9yU3BlY2lmaWNFdmVudFxuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgZWRnZXM9e2VkZ2VzfVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RXZlbnRQYXRoXG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgZm9jdXNlZEV2ZW50UGF0aHM9e2ZvY3VzZWRFdmVudFBhdGhzfVxuICAgICAgICAgICAgZm9jdXNlZEV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIHtmb2N1c2VkRXZlbnRQYXRocy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxFdmVudEluZGljYXRvclxuICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgcGF0aHM9e2ZvY3VzZWRFdmVudFBhdGhzfVxuICAgICAgICAgICAgICBmb2N1c2VkRXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgKX1cblxuICAgICAge2hvdmVyZWRFdmVudCAmJiAoXG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIHtyZW5kZXJFdmVudFBhdGhPbkhvdmVyfVxuICAgICAgICAgIHtyZW5kZXJOZXR3b3JrfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
|
|
264
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiZXZlbnRzIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJmb2N1c2VkRXZlbnRQYXRocyIsImhpZGVFZGdlcyIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIm1hcEJveFN0eWxlIiwiY2hpbGRyZW4iLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJtYXAiLCJtYXBSZWYiLCJkaXNwYXRjaCIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsImV2ZW50c0RhdGEiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsInF1ZXJ5IiwiaXNWYWxpZEV2ZW50IiwidmFsaWRFdmVudCIsImdldCIsImluaXRpYWxpemVNYXAiLCJjdXJyZW50IiwiTCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsImxheWVycyIsInRpbGVMYXllciIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsIndoZW5SZWFkeSIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImZpdEJvdW5kcyIsIm9uIiwiZSIsImdldFpvb20iLCJyZW5kZXJOZXR3b3JrIiwicmVuZGVyRXZlbnRQYXRoT25Ib3ZlciIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjbGVhbnVwIiwicmVtb3ZlIiwidW5kZWZpbmVkIiwid2F0ZXJBdXRob3JpdHlJZCIsIm1hcEluc3RhbmNlIiwicGFkZGluZyIsImdyb3VwIiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwicHVzaCIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInNpZGVuYXZFeHBhbmRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUlBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUFyQkE7QUF1Q0EsSUFBTUEsMEJBQTBCLEdBQUcsMkJBQW5DOztBQUNPLElBQU1DLEdBQXVCLEdBQUcsU0FBMUJBLEdBQTBCLE9BZ0JqQztBQUFBLE1BZkpDLEtBZUksUUFmSkEsS0FlSTtBQUFBLE1BZEpDLEtBY0ksUUFkSkEsS0FjSTtBQUFBLE1BYkpDLE1BYUksUUFiSkEsTUFhSTtBQUFBLE1BWkpDLFdBWUksUUFaSkEsV0FZSTtBQUFBLE1BWEpDLE1BV0ksUUFYSkEsTUFXSTtBQUFBLE1BVkpDLGNBVUksUUFWSkEsY0FVSTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLG1DQVJKQyxpQkFRSTtBQUFBLE1BUkpBLGlCQVFJLHNDQVJnQixFQVFoQjtBQUFBLDRCQVBKQyxTQU9JO0FBQUEsTUFQSkEsU0FPSSwrQkFQUSxLQU9SO0FBQUEsK0JBTkpDLFlBTUk7QUFBQSxNQU5KQSxZQU1JLGtDQU5XLElBTVg7QUFBQSxtQ0FMSkMsaUJBS0k7QUFBQSxNQUxKQSxpQkFLSSxzQ0FMZ0IsRUFLaEI7QUFBQSxtQ0FKSkMsZ0JBSUk7QUFBQSxNQUpKQSxnQkFJSSxzQ0FKZSxFQUlmO0FBQUEsOEJBSEpDLFdBR0k7QUFBQSxNQUhKQSxXQUdJLGlDQUhVZCwwQkFHVjtBQUFBLE1BRkplLFFBRUksUUFGSkEsUUFFSTtBQUFBLG1DQURKQyx3QkFDSTtBQUFBLE1BREpBLHdCQUNJLHNDQUR1QixLQUN2QjtBQUNKLE1BQVFDLEdBQVIsR0FBZ0JaLFdBQWhCLENBQVFZLEdB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bXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCBFdmVudEluZGljYXRvciBmcm9tICcuL2V2ZW50cy9FdmVudEluZGljYXRvcic7XG5pbXBvcnQgRXZlbnRQYXRoIGZyb20gJy4vZXZlbnRzL0V2ZW50UGF0aCc7XG5pbXBvcnQgRXZlbnRUaW1lUmFuZ2UgZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vRXZlbnRUaW1lUmFuZ2UnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCBFdmVudEluZGljYXRvckhvdmVyIGZyb20gJ3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRJbmRpY2F0b3JIb3Zlcic7XG5pbXBvcnQgeyBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudCB9IGZyb20gJy4vZXZlbnRzL05ldHdvcmtGb3JTcGVjaWZpY0V2ZW50JztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xuICBldmVudHM6IElFdmVudFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgZm9jdXNlZEV2ZW50UGF0aHM/OiBhbnlbXTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50UGF0aHM/OiBhbnlbXTtcbiAgaG92ZXJlZEVkZ2VQYXRocz86IGFueVtdO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbn1cbmNvbnN0IE1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFID0gJ2NrZndjczM1azRnNjIxYXBrZWM5d3Bva2wnO1xuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudHMsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGZvY3VzZWRFdmVudFBhdGhzID0gW10sXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBob3ZlcmVkRXZlbnQgPSBudWxsLFxuICBob3ZlcmVkRXZlbnRQYXRocyA9IFtdLFxuICBob3ZlcmVkRWRnZVBhdGhzID0gW10sXG4gIG1hcEJveFN0eWxlID0gTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXA+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgxMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcblxuICBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG4gIH07XG5cbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc1ZhbGlkRXZlbnQgPSAoKSA9PiB7XG4gICAgbGV0IHZhbGlkRXZlbnQgPSBxdWVyeS5nZXQoJ3ZhbGlkRXZlbnQnKTtcblxuICAgIGlmICh2YWxpZEV2ZW50ID09PSAnZmFsc2UnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwID0gKCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgICBjZW50ZXI6IFszMi4xMDkzMzMsIDM0Ljg1NTQ5OV0sIC8vIFRlbC1Bdml2XG4gICAgICB6b29tU25hcDogMSxcbiAgICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICAgIGxheWVyczogW1xuICAgICAgICBMLnRpbGVMYXllcihcbiAgICAgICAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICAgICAgICBtYXhab29tOiAxOCxcbiAgICAgICAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgICAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICAgICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgICAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgICAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICApLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgICAgfSwgMCk7XG4gICAgICBpZiAobWFwUmVmLmN1cnJlbnQgJiYgaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgICAgc2V0TWFwWm9vbUxldmVsKHpvb20pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlck5ldHdvcmsgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgaG92ZXJlZEV2ZW50UGF0aHMubGVuZ3RoID4gMCAmJiBob3ZlcmVkRXZlbnQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50XG4gICAgICAgICAgICBldmVudD17aG92ZXJlZEV2ZW50fVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBlZGdlcz17ZWRnZXN9XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxFdmVudEluZGljYXRvckhvdmVyXG4gICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgIHBhdGhzPXtob3ZlcmVkRXZlbnRQYXRoc31cbiAgICAgICAgICAgIGhvdmVyZWRFdmVudD17aG92ZXJlZEV2ZW50fVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiA8PjwvPjtcbiAgICB9XG4gIH0sIFtob3ZlcmVkRXZlbnQsIGhvdmVyZWRFdmVudFBhdGhzXSk7XG5cbiAgY29uc3QgcmVuZGVyRXZlbnRQYXRoT25Ib3ZlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxFdmVudFBhdGhcbiAgICAgICAgICBldmVudD17aG92ZXJlZEV2ZW50fVxuICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICBmb2N1c2VkRXZlbnRQYXRocz17aG92ZXJlZEV2ZW50UGF0aHN9XG4gICAgICAgICAgaG92ZXJlZEV2ZW50PXtob3ZlcmVkRXZlbnR9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPD48Lz47XG4gICAgfVxuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgcmVuZGVyUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBMPXtMfVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17aW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtldmVudHNEYXRhLmlzRmV0Y2hpbmddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICAgICAgaWYgKGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICB9XG4gIH0sIFthcmVhVG9DZW50ZXJCeV0pO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJiBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAge2ZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBpc1ZhbGlkRXZlbnQoKSAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LXRpbWVyYW5nZSd9PlxuICAgICAgICAgICAgICA8RXZlbnRUaW1lUmFuZ2UgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7Zm9jdXNlZEV2ZW50ICYmIGlzVmFsaWRFdmVudCgpICYmIChcbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPE5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50XG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBlZGdlcz17ZWRnZXN9XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxFdmVudFBhdGhcbiAgICAgICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICBmb2N1c2VkRXZlbnRQYXRocz17Zm9jdXNlZEV2ZW50UGF0aHN9XG4gICAgICAgICAgICBmb2N1c2VkRXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAge2ZvY3VzZWRFdmVudFBhdGhzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPEV2ZW50SW5kaWNhdG9yXG4gICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICBwYXRocz17Zm9jdXNlZEV2ZW50UGF0aHN9XG4gICAgICAgICAgICAgIGZvY3VzZWRFdmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICApfVxuXG4gICAgICB7aG92ZXJlZEV2ZW50ICYmIChcbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAge3JlbmRlckV2ZW50UGF0aE9uSG92ZXJ9XG4gICAgICAgICAge3JlbmRlck5ldHdvcmt9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -224,11 +224,9 @@ var EventsList = function EventsList(_ref) {
|
|
|
224
224
|
// dispatch(setHoveredEventPaths([]));
|
|
225
225
|
// dispatch(setHoverEventIndicator(null));
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&eventId=").concat(event.id, "&valuesFromKQL=").concat(global_data.eventFilterParam));
|
|
231
|
-
}
|
|
227
|
+
dispatch((0, _actions.setFocusedEvent)(event));
|
|
228
|
+
setFilterPopupOpen(false);
|
|
229
|
+
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&eventId=").concat(event.id, "&valuesFromKQL=").concat(global_data.eventFilterParam, "&validEvent=").concat(validateEvent(event)));
|
|
232
230
|
};
|
|
233
231
|
|
|
234
232
|
var onMouseEnterEvent = function onMouseEnterEvent(event) {
|
|
@@ -403,4 +401,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
403
401
|
var _default = connector(EventsList);
|
|
404
402
|
|
|
405
403
|
exports.default = _default;
|
|
406
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInRyaWdnZXJTb3J0Iiwic29ydCIsImFjdGl2ZUZpbHRlciIsIktRTCIsIlVSTCIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiZmFDYXJldExlZnQiLCJmYUNhcmV0UmlnaHQiLCJmYUFycm93TGVmdCIsIkxlZnRBcnJvd0ljb24iLCJOb0V2ZW50c0ltYWdlIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFJQTs7QUFFQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBL0JBO0FBaUNBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQ0VDLFdBREYsR0FPSUQsS0FQSixDQUNFQyxXQURGO0FBQUEsTUFFRUMsV0FGRixHQU9JRixLQVBKLENBRUVFLFdBRkY7QUFBQSxNQUdFQyxVQUhGLEdBT0lILEtBUEosQ0FHRUcsVUFIRjtBQUFBLE1BSUVDLFdBSkYsR0FPSUosS0FQSixDQUlFSSxXQUpGO0FBQUEsTUFLRUMsVUFMRixHQU9JTCxLQVBKLENBS0VLLFVBTEY7QUFBQSxNQU1FQyxnQkFORixHQU9JTixLQVBK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Q0FBQ1AsV0FBVyxDQUFDTyxVQUZkLElBR0MsQ0FBQ1IsVUFBVSxDQUFDUSxVQUhiLGlCQUlHO0FBQUksSUFBQSxTQUFTLEVBQUM7QUFBZCxLQUNHRCxLQUFLLENBQUNPLEdBQU4sQ0FBVSxVQUFDNEIsS0FBRDtBQUFBLHdCQUNUO0FBQUksTUFBQSxHQUFHLEVBQUVBLEtBQUssQ0FBQ2UsRUFBZjtBQUFtQixNQUFBLFNBQVMsRUFBQyxPQUE3QjtBQUFxQyx1QkFBZWYsS0FBSyxDQUFDZTtBQUExRCxvQkFDRSw2QkFBQyx3QkFBRDtBQUNFLE1BQUEsS0FBSyxFQUFFZixLQURUO0FBRUUsTUFBQSxXQUFXLEVBQUV5QixvQkFGZjtBQUdFLE1BQUEsaUJBQWlCLEVBQUVJLGlCQUhyQjtBQUlFLE1BQUEsaUJBQWlCLEVBQUVGLGlCQUpyQjtBQUtFLE1BQUEsYUFBYSxFQUFFNUIsYUFMakI7QUFNRSxNQUFBLGNBQWMsRUFBRXBCO0FBTmxCLE1BREYsQ0FEUztBQUFBLEdBQVYsQ0FESCxDQXRCTixDQXRGRixDQURGO0FBK0hELENBOVhEOztBQWdZQSxJQUFNd0UsU0FBUyxHQUFHLHlCQUFRakcsZUFBUixDQUFsQjs7ZUFDZWlHLFNBQVMsQ0FBQ3pGLFVBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoZXZlbnQ6IElFdmVudCwgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgb25Nb3VzZUxlYXZlRXZlbnQoKTtcbiAgICAvLyBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgLy8gICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAvLyAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgaWYgKHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke2V2ZW50LmlkfSZ2YWx1ZXNGcm9tS1FMPSR7Z2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUVudGVyRXZlbnQgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCAmJiAhaG92ZXJlZEV2ZW50ICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudCAmJiBob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChob3ZlcmVkRWRnZVBhdGhzKSB7XG4gICAgICAgIGhvdmVyZWRFZGdlUGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgIGNvbnN0IGthbmRvX29iamVjdCA9IGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0O1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2FuZG9fb2JqZWN0Py5pbmNsdWRlcygnRXZlbnRCb2R5JykgfHxcbiAgICAgICAgICBbXG4gICAgICAgICAgICAnRXZlbnRUYWlsJyxcbiAgICAgICAgICAgICdTYW1wbGluZ1BvaW50JyxcbiAgICAgICAgICAgICdEZWNvcmF0b3InLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZUZyb250JyxcbiAgICAgICAgICBdLmluY2x1ZGVzKGthbmRvX29iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtdKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09IG51bGwgJiZcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09ICdudWxsJyAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGU6IElFdmVudCkgPT4gZS5pZCA9PT0gcGFyc2VJbnQoZ2V0RXZlbnRJZEZyb21VUkwoKSEpLFxuICAgICAgKTtcbiAgICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmlnZ2VyU29ydCA9IChzb3J0OiBudW1iZXIpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyICE9PSBudWxsKSB7XG4gICAgICBsZXQgS1FMO1xuICAgICAgbGV0IFVSTDtcbiAgICAgIHN3aXRjaCAoc29ydCkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICduZXdlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge3NldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcygpfVxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX0gKHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGh9KVxuICAgICAgICA8L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmluZ1wiPlxuICAgICAgICAgIHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBldmVudHNGZXRjaGluZz17ZXZlbnRzX2RhdGEuaXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyPXtnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4oIWZpbHRlclBvcHVwT3Blbil9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJY29uIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiBmaWxsPVwiI2Y2MDA0ZlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3BvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdfQ==
|
|
404
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInRyaWdnZXJTb3J0Iiwic29ydCIsImFjdGl2ZUZpbHRlciIsIktRTCIsIlVSTCIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiZmFDYXJldExlZnQiLCJmYUNhcmV0UmlnaHQiLCJmYUFycm93TGVmdCIsIkxlZnRBcnJvd0ljb24iLCJOb0V2ZW50c0ltYWdlIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFJQTs7QUFFQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBL0JBO0FBaUNBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQ0VDLFdBREYsR0FPSUQsS0FQSixDQUNFQyxXQURGO0FBQUEsTUFFRUMsV0FGRixHQU9JRixLQVBKLENBRUVFLFdBRkY7QUFBQSxNQUdFQyxVQUhGLEdBT0lILEtBUEosQ0FHRUcsVUFIRjtBQUFBLE1BSUVDLFdBSkYsR0FPSUosS0FQSixDQUlFSSxXQUpGO0FBQUEsTUFLRUMsVUFMRixHQU9JTCxLQVBKLENBS0VLLFVBTEY7QUFBQSxNQU1FQyxnQkFORixHQU9JTixLQVBK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RmQsSUFHQyxDQUFDUixVQUFVLENBQUNRLFVBSGIsaUJBSUc7QUFBSSxJQUFBLFNBQVMsRUFBQztBQUFkLEtBQ0dELEtBQUssQ0FBQ08sR0FBTixDQUFVLFVBQUM0QixLQUFEO0FBQUEsd0JBQ1Q7QUFBSSxNQUFBLEdBQUcsRUFBRUEsS0FBSyxDQUFDZSxFQUFmO0FBQW1CLE1BQUEsU0FBUyxFQUFDLE9BQTdCO0FBQXFDLHVCQUFlZixLQUFLLENBQUNlO0FBQTFELG9CQUNFLDZCQUFDLHdCQUFEO0FBQ0UsTUFBQSxLQUFLLEVBQUVmLEtBRFQ7QUFFRSxNQUFBLFdBQVcsRUFBRXlCLG9CQUZmO0FBR0UsTUFBQSxpQkFBaUIsRUFBRUksaUJBSHJCO0FBSUUsTUFBQSxpQkFBaUIsRUFBRUYsaUJBSnJCO0FBS0UsTUFBQSxhQUFhLEVBQUU1QixhQUxqQjtBQU1FLE1BQUEsY0FBYyxFQUFFcEI7QUFObEIsTUFERixDQURTO0FBQUEsR0FBVixDQURILENBdEJOLENBdEZGLENBREY7QUErSEQsQ0FsWUQ7O0FBb1lBLElBQU13RSxTQUFTLEdBQUcseUJBQVFqRyxlQUFSLENBQWxCOztlQUNlaUcsU0FBUyxDQUFDekYsVUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZSAqL1xuaW1wb3J0IHtcbiAgZmFBcnJvd0xlZnQsXG4gIGZhQ2FyZXRMZWZ0LFxuICBmYUNhcmV0UmlnaHQsXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IExpbmssIHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTGVmdEFycm93SWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Fycm93LWxlZnQuc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEZpbHRlckljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Z1bm5lbC5zdmcnO1xuaW1wb3J0IE5vRXZlbnRzSW1hZ2UgZnJvbSAnc3JjL2Fzc2V0cy9ub19ldmVudHMuc3ZnJztcbmltcG9ydCB7IFNldmVyZUV2ZW50IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU2V2ZXJlRXZlbnQvU2V2ZXJlRXZlbnQnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgdXNlTGFzdFZpc2l0ZWQgfSBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnknO1xuaW1wb3J0IHtcbiAgZmV0Y2hFdmVudHMsXG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0SG92ZXJlZEVkZ2VQYXRocyxcbiAgc2V0SG92ZXJlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRFdmVudEZpbHRlclBhcmFtLCBzaWRlTmF2RXhwYW5kZWQgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnkgfSBmcm9tICdzcmMvdXRpbGl0aWVzL2txbCc7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IEV2ZW50SW5mbyBmcm9tICcuLi9ldmVudF9pbmZvL0V2ZW50SW5mbyc7XG5pbXBvcnQgTW9yZUluZm8gZnJvbSAnLi4vTW9yZUluZm8nO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tICcuL0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuaW1wb3J0IFNvcnQgZnJvbSAnLi9Tb3J0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgc2lkZW5hdkV4cGFuZGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgRXZlbnRzTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGFyZWFzX2RhdGEsXG4gIHBvaW50c19kYXRhLFxuICBlZGdlc19kYXRhLFxuICBnbG9iYWxfZGF0YSxcbiAgc2lkZW5hdkV4cGFuZGVkLFxuICBldmVudHNfZGF0YSxcbiAgbmF2X2NvbnRleHRfZGF0YSxcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7XG4gICAgaXRlbXMsXG4gICAgaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudFBhdGhzLFxuICAgIGhvdmVyZWRFZGdlUGF0aHMsXG4gIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pIGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBpbmRleCA9IGV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgKG1zZykgPT4gbXNnLmV2ZW50X2lkID09PSBldmVudC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGF0YV9taXNzaW5nJyl9PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNhbWUgY2hlY2sgYXMgYWJvdmUgYnV0IHRoaXMgdGltZSBmb3IgdGhlIGV2ZW50IHBhdGguIElmIGVkZ2UgZG9lc24ndCBleGlzdCwgaXQncyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlXG4gICAgLy8gcG9pbnRzIGRvd25zdHJlYW0gZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRQYXRoTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGF0aC5lZGdlX2lkKTtcbiAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgZWRnZSAke3BhdGguZWRnZV9pZH0gY2FuIG5vdCBiZSBmb3VuZGApO1xuICAgICAgICBsZXQgb2JzZXJ2YXRpb24gPSBldmVudC5vYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAob2JzZXJ2YXRpb24pID0+IG9ic2VydmF0aW9uLmlkID09PSBwYXRoLmxhc3Rfb2JzZXJ2YXRpb25faWQsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9ICdOb3QgZm91bmQnO1xuICAgICAgICBpZiAob2JzZXJ2YXRpb24pIHtcbiAgICAgICAgICBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9IG9ic2VydmF0aW9uLnBvaW50X25hbWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbGFzdE9ic2VydmF0aW9uUG9pbnQnLCBsYXN0T2JzZXJ2YXRpb25Qb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnZhbGlkUGF0aE1lc3NhZ2VzLnB1c2goYCR7bGFzdE9ic2VydmF0aW9uUG9pbnR9IGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRQYXRoTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF92ZXJpZnlfY29vcmRpbmF0ZXMnKX08L3A+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRQYXRoTWVzc2FnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljayA9IChldmVudDogSUV2ZW50LCByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgIH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke1xuICAgICAgICBldmVudC5pZFxuICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1cbiAgICAgIH0mdmFsaWRFdmVudD0ke3ZhbGlkYXRlRXZlbnQoZXZlbnQpfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRW50ZXJFdmVudCA9IChldmVudCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50ICYmICFob3ZlcmVkRXZlbnQgJiYgdmFsaWRhdGVFdmVudChldmVudCkpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChldmVudCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmVFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50ICYmIGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGhvdmVyZWRFZGdlUGF0aHMpIHtcbiAgICAgICAgaG92ZXJlZEVkZ2VQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgY29uc3Qga2FuZG9fb2JqZWN0ID0gbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3Q7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrYW5kb19vYmplY3Q/LmluY2x1ZGVzKCdFdmVudEJvZHknKSB8fFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdFdmVudFRhaWwnLFxuICAgICAgICAgICAgJ1NhbXBsaW5nUG9pbnQnLFxuICAgICAgICAgICAgJ0RlY29yYXRvcicsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2UnLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KGV2ZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgIGxldCBLUUw7XG4gICAgICBsZXQgVVJMO1xuICAgICAgc3dpdGNoIChzb3J0KSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ25ld2VzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnb2xkZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9JHtLUUx9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50cyh3YXRlckF1dGhvcml0eUlkLCBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnKSk7XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J3NpZGVuYXYgJyArIChzaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdzaWRlbmF2LS1jb2xsYXBzZWQnKX0+XG4gICAgICB7c2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zKCl9XG4gICAgICB7Z2xvYmFsX2RhdGEubW9yZUluZm8gIT09IHVuZGVmaW5lZCAmJiBnbG9iYWxfZGF0YS5tb3JlSW5mby5hY3RpdmUgJiYgKFxuICAgICAgICA8TW9yZUluZm8gLz5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAnZXZlbnQtaW5mbyAnICtcbiAgICAgICAgICAoIWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGxcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogJ2V2ZW50LWluZm8tLWNvbGxhcHNlZCcpXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgeyFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgICA8RXZlbnRJbmZvXG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgcmVPcGVuRmlsdGVyPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4odHJ1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJ0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuYXYtZXhwYW5zaW9uLWljb25cIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICBpY29uPXtzaWRlbmF2RXhwYW5kZWQgPyBmYUNhcmV0TGVmdCA6IGZhQ2FyZXRSaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eyd0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvbi1tb2JpbGUnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCIjXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZGV0YWlscycpfTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1oZWFkZXJcIj5cbiAgICAgICAge2xhc3RWaXNpdGVkICYmICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICA8TGluayBjbGFzc05hbWU9XCJiYWNrXCIgdG89e2xhc3RWaXNpdGVkfT5cbiAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz17TGVmdEFycm93SWNvbn1cbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTBweFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTJweFwiXG4gICAgICAgICAgICAgIGFsdD1cImJhY2tcIlxuICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnYXJlYV9zY3JlZW4uYmFjaycpfVxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgICAgPGg0PlxuICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudHNfbGlzdCcpfSAoe2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aH0pXG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgICBmaWx0ZXJQb3B1cE9wZW49e2ZpbHRlclBvcHVwT3Blbn1cbiAgICAgICAgICAgIGZldGNoVHlwZT17J0V2ZW50RmlsdGVyJ31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1jb250YWluZXIgc2Nyb2xsYmFyIFwiPlxuICAgICAgICB7bG9hZGVyKCl9XG4gICAgICAgIHshaXNGZXRjaGluZyAmJlxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50c19fYmxhbmtzbGF0ZSd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17Tm9FdmVudHNJbWFnZX0gYWx0PVwiTm9FdmVudHNJY29uXCIgLz5cbiAgICAgICAgICAgICAgPGgyPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5oZWFkZXInKX08L2gyPlxuICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYm9keScpfTwvcD5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhcHBseV9kZWZhdWx0X2ZpbHRlcl9idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFwcGx5RGVmYXVsdEZpbHRlcigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJ1dHRvbicpfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICB7aXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiZXZlbnRzIFwiPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17ZXZlbnQuaWR9IGNsYXNzTmFtZT1cImV2ZW50XCIgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgPFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUV2ZW50SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJFdmVudD17b25Nb3VzZUVudGVyRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZUV2ZW50PXtvbk1vdXNlTGVhdmVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVFdmVudD17dmFsaWRhdGVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQ9e2V4Y2VwdGlvbkFsZXJ0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50c0xpc3QpO1xuIl19
|