@kando-env/kando-ui 1.2.135-alpha.18 → 1.2.135-alpha.2
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/Router.js +3 -17
- package/lib/Widgets/Map/Map.js +5 -7
- package/lib/Widgets/Map/Map.scss +0 -17
- package/lib/Widgets/Map/MapUtils.js +14 -44
- package/lib/Widgets/Map/events/Event.js +4 -8
- package/lib/Widgets/Map/events/EventUtils.js +7 -9
- package/lib/Widgets/Map/events/PointOfEvent.js +3 -3
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +8 -8
- package/lib/Widgets/Map/points/PointMarkers.js +4 -4
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +7 -22
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +2 -2
- package/lib/components/Header/Toolbar/Toolbar.js +2 -4
- package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -28
- package/lib/hooks/useUpdateEventBodyTail.js +2 -2
- package/lib/i18n/en.json +3 -28
- package/lib/i18n/en_uk.json +3 -19
- package/lib/i18n/fr.json +1 -1
- package/lib/i18n/he.json +1 -26
- package/lib/i18n/it.json +44 -44
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +13 -38
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
- package/lib/pages/EventsPage/events/event_info/EventInfoStyle.scss +1 -2
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +2 -8
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +1 -2
- package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -3
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +2 -4
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +26 -25
- package/lib/pages/NotificationsPageV2/notificationUtils.js +11 -24
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +26 -12
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +4 -49
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
- package/lib/store/permissions/permissionsSlice.js +1 -4
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +1 -6
- package/lib/utilities/urls.js +1 -6
- package/package.json +1 -1
- package/lib/components/Header/Slideshow/Slideshow.js +0 -234
- package/lib/components/Header/Slideshow/index.js +0 -14
- package/lib/components/Header/Slideshow/styles.scss +0 -70
- package/lib/pages/AssessmentPage/AssessmentPage.js +0 -136
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +0 -42
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +0 -44
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +0 -50
- package/lib/pages/SitePage/SiteInformation/style.js +0 -34
- package/lib/providers/Slideshow/SlideshowContext.js +0 -27
- package/lib/providers/Slideshow/SlideshowProvider.js +0 -68
- package/lib/providers/Slideshow/SlideshowRunner.js +0 -50
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +0 -40
|
@@ -51,15 +51,9 @@ var MiniEventTree = function MiniEventTree(props) {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
var getPoint = function getPoint(point_id) {
|
|
54
|
-
|
|
54
|
+
return points_data.items.filter(function (point) {
|
|
55
55
|
return point.id === point_id;
|
|
56
56
|
})[0];
|
|
57
|
-
if (point === undefined) return {
|
|
58
|
-
group: {
|
|
59
|
-
name: ''
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
return point;
|
|
63
57
|
};
|
|
64
58
|
|
|
65
59
|
var truncateText = function truncateText(text, start, end) {
|
|
@@ -120,4 +114,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
120
114
|
var _default = connector(MiniEventTree);
|
|
121
115
|
|
|
122
116
|
exports.default = _default;
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL01pbmlFdmVudFRyZWUudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiTWluaUV2ZW50VHJlZSIsInByb3BzIiwiZXZlbnQiLCJlZGdlcyIsInRyZWVEYXRhIiwic2V0VHJlZURhdGEiLCJnZXRFZGdlIiwicGF0aCIsIml0ZW1zIiwiZmlsdGVyIiwiZWRnZSIsImlkIiwiZWRnZV9pZCIsImdldFBvaW50IiwicG9pbnRfaWQiLCJwb2ludCIsInRydW5jYXRlVGV4dCIsInRleHQiLCJzdGFydCIsImVuZCIsInN1YnN0cmluZyIsImluaXRpYWxpemVUcmVlIiwiZm9yRWFjaCIsImxlbmd0aCIsIm5hbWUiLCJzb3VyY2VfcG9pbnRfaWQiLCJncm91cCIsInB1c2giLCJsYXN0RWRnZSIsInRhcmdldF9wb2ludF9pZCIsInVuZGVmaW5lZCIsInRyZWUiLCJwYXJlbnRQcm9wZXJ0eSIsImN1c3RvbUlEIiwieCIsInkiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFHQTs7Ozs7O0FBTEE7QUFPQSxTQUFTQSxlQUFULENBQXlCQyxLQUF6QixFQUEyQztBQUN6QyxNQUFRQyxXQUFSLEdBQW9DRCxLQUFwQyxDQUFRQyxXQUFSO0FBQUEsTUFBcUJDLFVBQXJCLEdBQW9DRixLQUFwQyxDQUFxQkUsVUFBckI7QUFFQSxTQUFPO0FBQ0xELElBQUFBLFdBQVcsRUFBWEEsV0FESztBQUVMQyxJQUFBQSxVQUFVLEVBQVZBO0FBRkssR0FBUDtBQUlEOztBQU1ELElBQU1DLGFBQStCLEdBQUcsU0FBbENBLGFBQWtDLENBQUNDLEtBQUQsRUFBVztBQUNqRCxNQUFRSCxXQUFSLEdBQTJDRyxLQUEzQyxDQUFRSCxXQUFSO0FBQUEsTUFBcUJJLEtBQXJCLEdBQTJDRCxLQUEzQyxDQUFxQkMsS0FBckI7QUFBQSxNQUE0QkgsVUFBNUIsR0FBMkNFLEtBQTNDLENBQTRCRixVQUE1QjtBQUNBLE1BQU1JLEtBQVksR0FBRyxFQUFyQjs7QUFDQSxrQkFBZ0Msc0JBQWhDO0FBQUE7QUFBQSxNQUFPQyxRQUFQO0FBQUEsTUFBaUJDLFdBQWpCOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLElBQUQsRUFBZTtBQUM3QixXQUFPUixVQUFVLENBQUNTLEtBQVgsQ0FBaUJDLE1BQWpCLENBQXdCLFVBQUNDLElBQUQ7QUFBQSxhQUFVQSxJQUFJLENBQUNDLEVBQUwsS0FBWUosSUFBSSxDQUFDSyxPQUEzQjtBQUFBLEtBQXhCLENBQVA7QUFDRCxHQUZEOztBQUlBLE1BQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLFFBQUQsRUFBc0I7QUFDckMsV0FBT2hCLFdBQVcsQ0FBQ1UsS0FBWixDQUFrQkMsTUFBbEIsQ0FBeUIsVUFBQ00sS0FBRDtBQUFBLGFBQVdBLEtBQUssQ0FBQ0osRUFBTixLQUFhRyxRQUF4QjtBQUFBLEtBQXpCLEVBQTJELENBQTNELENBQVA7QUFDRCxHQUZEOztBQUlBLE1BQU1FLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLElBQUQsRUFBZUMsS0FBZixFQUE4QkMsR0FBOUIsRUFBOEM7QUFDakUsV0FBT0YsSUFBSSxDQUFDRyxTQUFMLENBQWVGLEtBQWYsRUFBc0JDLEdBQXRCLElBQTZCLEdBQXBDO0FBQ0QsR0FGRDs7QUFJQSxNQUFNRSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLEdBQU07QUFDM0JuQixJQUFBQSxLQUFLLENBQUNLLElBQU4sQ0FBV2UsT0FBWCxDQUFtQixVQUFDZixJQUFELEVBQWU7QUFDaEMsVUFBSUQsT0FBTyxDQUFDQyxJQUFELENBQVAsQ0FBY2dCLE1BQWQsS0FBeUIsQ0FBN0IsRUFBZ0M7QUFDOUIsWUFBSWIsSUFBSSxHQUFHSixPQUFPLENBQUNDLElBQUQsQ0FBUCxDQUFjLENBQWQsQ0FBWDtBQUNBRyxRQUFBQSxJQUFJLENBQUNjLElBQUwsR0FBWVIsWUFBWSxDQUN0QkgsUUFBUSxDQUFDSCxJQUFJLENBQUNlLGVBQU4sQ0FBUixDQUErQkMsS0FBL0IsQ0FBcUNGLElBRGYsRUFFdEIsQ0FGc0IsRUFHdEIsRUFIc0IsQ0FBeEI7QUFLQXJCLFFBQUFBLEtBQUssQ0FBQ3dCLElBQU4sQ0FBV2pCLElBQVg7QUFDRDtBQUNGLEtBVkQ7O0FBWUEsUUFBSVAsS0FBSyxDQUFDb0IsTUFBTixHQUFlLENBQW5CLEVBQXNCO0FBQ3BCLFVBQUlLLFFBQWEsR0FBRzdCLFVBQVUsQ0FBQ1MsS0FBWCxDQUFpQkMsTUFBakIsQ0FDbEIsVUFBQ0MsSUFBRDtBQUFBLGVBQ0VBLElBQUksQ0FBQ2UsZUFBTCxLQUF5QnRCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDb0IsTUFBTixHQUFlLENBQWhCLENBQUwsQ0FBd0JNLGVBRG5EO0FBQUEsT0FEa0IsRUFHbEIsQ0FIa0IsQ0FBcEI7O0FBSUEsVUFBSUQsUUFBUSxLQUFLRSxTQUFqQixFQUE0QjtBQUMxQkYsUUFBQUEsUUFBUSxDQUFDSixJQUFULEdBQWdCUixZQUFZLENBQzFCSCxRQUFRLENBQUNlLFFBQVEsQ0FBQ0gsZUFBVixDQUFSLENBQW1DQyxLQUFuQyxDQUF5Q0YsSUFEZixFQUUxQixDQUYwQixFQUcxQixFQUgwQixDQUE1QjtBQUtBckIsUUFBQUEsS0FBSyxDQUFDd0IsSUFBTixDQUFXQyxRQUFYO0FBQ0QsT0FQRCxNQU9PO0FBQ0w7QUFDQUEsUUFBQUEsUUFBUSxHQUFHO0FBQ1RILFVBQUFBLGVBQWUsRUFBRXRCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDb0IsTUFBTixHQUFlLENBQWhCLENBQUwsQ0FBd0JNLGVBRGhDO0FBRVRBLFVBQUFBLGVBQWUsRUFBRSxJQUZSO0FBR1RMLFVBQUFBLElBQUksRUFBRVIsWUFBWSxDQUNoQkgsUUFBUSxDQUFDVixLQUFLLENBQUNBLEtBQUssQ0FBQ29CLE1BQU4sR0FBZSxDQUFoQixDQUFMLENBQXdCTSxlQUF6QixDQUFSLENBQWtESCxLQUFsRCxDQUF3REYsSUFEeEMsRUFFaEIsQ0FGZ0IsRUFHaEIsRUFIZ0I7QUFIVCxTQUFYO0FBU0FyQixRQUFBQSxLQUFLLENBQUN3QixJQUFOLENBQVdDLFFBQVg7QUFDRDs7QUFFRCxVQUFJRyxJQUFJLEdBQUcsMEJBQVk1QixLQUFaLEVBQW1CO0FBQzVCNkIsUUFBQUEsY0FBYyxFQUFFLGlCQURZO0FBRTVCQyxRQUFBQSxRQUFRLEVBQUU7QUFGa0IsT0FBbkIsQ0FBWDtBQUtBNUIsTUFBQUEsV0FBVyxDQUFDMEIsSUFBRCxDQUFYO0FBQ0Q7QUFDRixHQTlDRDs7QUFnREEsd0JBQVUsWUFBTTtBQUNkVixJQUFBQSxjQUFjO0FBQ2YsR0FGRCxFQUVHLEVBRkg7QUFJQSxzQkFDRSwwQ0FDR2pCLFFBQVEsS0FBSzBCLFNBQWIsaUJBQ0MsNkJBQUMsb0JBQUQ7QUFDRSxJQUFBLElBQUksRUFBRTFCLFFBRFI7QUFFRSxJQUFBLFNBQVMsRUFBRTtBQUFFOEIsTUFBQUEsQ0FBQyxFQUFFLEVBQUw7QUFBU0MsTUFBQUEsQ0FBQyxFQUFFO0FBQVosS0FGYjtBQUdFLElBQUEsSUFBSSxFQUFFLEdBSFI7QUFJRSxJQUFBLFdBQVcsRUFBRTtBQUpmLElBRkosQ0FERjtBQVlELENBaEZEOztBQWtGQSxJQUFNQyxTQUFTLEdBQUcseUJBQVF4QyxlQUFSLENBQWxCOztlQUNld0MsU0FBUyxDQUFDcEMsYUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgVHJlZSBmcm9tICdyZWFjdC1kMy10cmVlJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCBhcnJheVRvVHJlZSBmcm9tICdhcnJheS10by10cmVlJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xufTtcblxuY29uc3QgTWluaUV2ZW50VHJlZTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50c19kYXRhLCBldmVudCwgZWRnZXNfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IGVkZ2VzOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbdHJlZURhdGEsIHNldFRyZWVEYXRhXSA9IHVzZVN0YXRlPGFueT4oKTtcbiAgY29uc3QgZ2V0RWRnZSA9IChwYXRoOiBhbnkpID0+IHtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gIH07XG5cbiAgY29uc3QgZ2V0UG9pbnQgPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiBwb2ludHNfZGF0YS5pdGVtcy5maWx0ZXIoKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gcG9pbnRfaWQpWzBdO1xuICB9O1xuXG4gIGNvbnN0IHRydW5jYXRlVGV4dCA9ICh0ZXh0OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIHRleHQuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpICsgJ+KApic7XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZVRyZWUgPSAoKSA9PiB7XG4gICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgIGlmIChnZXRFZGdlKHBhdGgpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBsZXQgZWRnZSA9IGdldEVkZ2UocGF0aClbMF07XG4gICAgICAgIGVkZ2UubmFtZSA9IHRydW5jYXRlVGV4dChcbiAgICAgICAgICBnZXRQb2ludChlZGdlLnNvdXJjZV9wb2ludF9pZCkuZ3JvdXAubmFtZSxcbiAgICAgICAgICAwLFxuICAgICAgICAgIDEwLFxuICAgICAgICApO1xuICAgICAgICBlZGdlcy5wdXNoKGVkZ2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGVkZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCBsYXN0RWRnZTogYW55ID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgICAgIChlZGdlKSA9PlxuICAgICAgICAgIGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBlZGdlc1tlZGdlcy5sZW5ndGggLSAxXS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApWzBdO1xuICAgICAgaWYgKGxhc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGFzdEVkZ2UubmFtZSA9IHRydW5jYXRlVGV4dChcbiAgICAgICAgICBnZXRQb2ludChsYXN0RWRnZS5zb3VyY2VfcG9pbnRfaWQpLmdyb3VwLm5hbWUsXG4gICAgICAgICAgMCxcbiAgICAgICAgICAxMCxcbiAgICAgICAgKTtcbiAgICAgICAgZWRnZXMucHVzaChsYXN0RWRnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGVyZSBpc24ndCBhbiBlZGdlIHdpdGggYSBzb3VyY2UgcG9pbnQgdGhhdCBlcXVhbHMgdG8gbGFzdCBlZGdlJ3MgdGFyZ2V0IHBvaW50LCB0YWtlIHRoZSB0YXJnZXQgcG9pbnQgYW5kIG1ha2UgYSBmaWN0aW9uYWwgc291cmNlLlxuICAgICAgICBsYXN0RWRnZSA9IHtcbiAgICAgICAgICBzb3VyY2VfcG9pbnRfaWQ6IGVkZ2VzW2VkZ2VzLmxlbmd0aCAtIDFdLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgICB0YXJnZXRfcG9pbnRfaWQ6IG51bGwsXG4gICAgICAgICAgbmFtZTogdHJ1bmNhdGVUZXh0KFxuICAgICAgICAgICAgZ2V0UG9pbnQoZWRnZXNbZWRnZXMubGVuZ3RoIC0gMV0udGFyZ2V0X3BvaW50X2lkKS5ncm91cC5uYW1lLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICAgICksXG4gICAgICAgIH07XG4gICAgICAgIGVkZ2VzLnB1c2gobGFzdEVkZ2UpO1xuICAgICAgfVxuXG4gICAgICBsZXQgdHJlZSA9IGFycmF5VG9UcmVlKGVkZ2VzLCB7XG4gICAgICAgIHBhcmVudFByb3BlcnR5OiAndGFyZ2V0X3BvaW50X2lkJyxcbiAgICAgICAgY3VzdG9tSUQ6ICdzb3VyY2VfcG9pbnRfaWQnLFxuICAgICAgfSk7XG5cbiAgICAgIHNldFRyZWVEYXRhKHRyZWUpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVUcmVlKCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7dHJlZURhdGEgIT09IHVuZGVmaW5lZCAmJiAoXG4gICAgICAgIDxUcmVlXG4gICAgICAgICAgZGF0YT17dHJlZURhdGF9XG4gICAgICAgICAgdHJhbnNsYXRlPXt7IHg6IDEwLCB5OiA4MCB9fVxuICAgICAgICAgIHpvb209ezAuN31cbiAgICAgICAgICBjb2xsYXBzaWJsZT17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKE1pbmlFdmVudFRyZWUpO1xuIl19
|
|
@@ -19,7 +19,6 @@ var Sampling = function Sampling(props) {
|
|
|
19
19
|
var point = props.point,
|
|
20
20
|
sampling = props.sampling,
|
|
21
21
|
timezone = props.timezone;
|
|
22
|
-
if (point === undefined) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
23
22
|
return /*#__PURE__*/_react.default.createElement(SamplingDiv, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
24
23
|
className: "icon"
|
|
25
24
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -43,4 +42,4 @@ var SamplingDiv = _styledComponents.default.div.withConfig({
|
|
|
43
42
|
|
|
44
43
|
var _default = Sampling;
|
|
45
44
|
exports.default = _default;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL3NhbXBsaW5ncy9TYW1wbGluZy50c3giXSwibmFtZXMiOlsiU2FtcGxpbmciLCJwcm9wcyIsInBvaW50Iiwic2FtcGxpbmciLCJ0aW1lem9uZSIsIlNhbXBsaW5nSWNvbiIsIm5hbWUiLCJtb21lbnQiLCJ1bml4Iiwic2FtcGxpbmdfdGltZSIsInR6IiwiZm9ybWF0IiwiU2FtcGxpbmdEaXYiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFFQTs7QUFVQSxJQUFNQSxRQUEwQixHQUFHLFNBQTdCQSxRQUE2QixDQUFDQyxLQUFELEVBQVc7QUFDNUMsTUFBUUMsS0FBUixHQUFzQ0QsS0FBdEMsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLFFBQWYsR0FBc0NGLEtBQXRDLENBQWVFLFFBQWY7QUFBQSxNQUF5QkMsUUFBekIsR0FBc0NILEtBQXRDLENBQXlCRyxRQUF6QjtBQUVBLHNCQUNFLDZCQUFDLFdBQUQscUJBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxHQUFHLEVBQUVDLGtCQUFWO0FBQXdCLElBQUEsTUFBTSxFQUFDLE1BQS9CO0FBQXNDLElBQUEsS0FBSyxFQUFDLE1BQTVDO0FBQW1ELElBQUEsR0FBRyxFQUFDO0FBQXZELElBREYsQ0FERixlQUlFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQXVCSCxLQUFLLENBQUNJLElBQTdCLENBREYsZUFFRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDR0Msd0JBQU9DLElBQVAsQ0FBWUwsUUFBUSxDQUFDTSxhQUFyQixFQUFvQ0MsRUFBcEMsQ0FBdUNOLFFBQXZDLEVBQWlETyxNQUFqRCxDQUF3RCxRQUF4RCxDQURILENBRkYsQ0FKRixDQURGO0FBYUQsQ0FoQkQ7O0FBa0JBLElBQU1DLFdBQVcsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsNlNBQWpCOztlQThCZWQsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2FtcGxpbmdJY29uIGZyb20gJ3NyYy9hc3NldHMvZmxhc2stYmx1ZS5zdmcnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgc2FtcGxpbmc6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgdGltZXpvbmU6IHN0cmluZztcbn07XG5cbmNvbnN0IFNhbXBsaW5nOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgcG9pbnQsIHNhbXBsaW5nLCB0aW1lem9uZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdEaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25cIj5cbiAgICAgICAgPGltZyBzcmM9e1NhbXBsaW5nSWNvbn0gaGVpZ2h0PVwiMTRweFwiIHdpZHRoPVwiMTRweFwiIGFsdD1cInNhbXBsaW5nSWNvblwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc2FtcGxpbmctZGV0YWlsJ30+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmFtZVwiPntwb2ludC5uYW1lfTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVcIj5cbiAgICAgICAgICB7bW9tZW50LnVuaXgoc2FtcGxpbmcuc2FtcGxpbmdfdGltZSkudHoodGltZXpvbmUpLmZvcm1hdCgnaDptbSBhJyl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9TYW1wbGluZ0Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFNhbXBsaW5nRGl2ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIH1cbiAgLnNhbXBsaW5nLWRldGFpbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAubmFtZSxcbiAgICAudGltZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFNhbXBsaW5nO1xuIl19
|
|
@@ -254,7 +254,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
254
254
|
for (var property in layers) {
|
|
255
255
|
var kando_object = layers[property].kando_object;
|
|
256
256
|
|
|
257
|
-
if ((kando_object === null || kando_object === void 0 ? void 0 : kando_object.includes('EventBody')) || ['EventTail', 'SamplingPoint', 'Decorator', 'HoveredEdge', 'HoveredEdgeFront'
|
|
257
|
+
if ((kando_object === null || kando_object === void 0 ? void 0 : kando_object.includes('EventBody')) || ['EventTail', 'SamplingPoint', 'Decorator', 'HoveredEdge', 'HoveredEdgeFront'].includes(kando_object)) {
|
|
258
258
|
map.removeLayer(layers[property]);
|
|
259
259
|
}
|
|
260
260
|
}
|
|
@@ -287,7 +287,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
287
287
|
} else {
|
|
288
288
|
return true;
|
|
289
289
|
}
|
|
290
|
-
}, [events_data.focusedEvent
|
|
290
|
+
}, [events_data.focusedEvent]);
|
|
291
291
|
|
|
292
292
|
var triggerSort = function triggerSort(sort) {
|
|
293
293
|
if (global_data.activeFilter !== null) {
|
|
@@ -429,4 +429,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
429
429
|
var _default = connector(EventsList);
|
|
430
430
|
|
|
431
431
|
exports.default = _default;
|
|
432
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FK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ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4gfCBudWxsLFxuICApID0+IHtcbiAgICBpZiAocmVmICE9PSBudWxsKSBvbk1vdXNlTGVhdmVFdmVudCgpO1xuICAgIC8vIGlmIChob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAvLyAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgIC8vICAgICB9KTtcbiAgICAvLyB9XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlckV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICBzZXRGaWx0ZXJQb3B1cE9wZW4oZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgICAgZXZlbnQuaWRcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgICB9JnZhbGlkRXZlbnQ9JHt2YWxpZGF0ZUV2ZW50KGV2ZW50KX1gLFxuICAgICAgKTtcbiAgICB9LCA1MDApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgICAnRm9jdXNlZEVkZ2UnLFxuICAgICAgICAgICAgJ0ZvY3VzZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICBhcmVhc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZXZlbnRzX2RhdGEuaXNGZXRjaGluZyxcbiAgXSk7XG5cbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgbGV0IEtRTDtcbiAgICAgIGxldCBVUkw7XG4gICAgICBzd2l0Y2ggKHNvcnQpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnbmV3ZXN0Jyl9YDtcbiAgICAgICAgICBVUkwgPSBgLyR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZVxuICAgICAgICAgIH0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgICAgfSZldmVudElkPSR7Z2V0RXZlbnRJZEZyb21VUkwoKX0mbG9jYWxlPSR7XG4gICAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfSZ2YWxpZEV2ZW50PSR7dmFsaWRFdmVudH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdzZXZlcml0eScpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjYWxjRXZlbnRzUmVhbEFtb3VudCA9ICgpID0+IHtcbiAgICBsZXQgZXZlbnRzQ291bnQ6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gICAgZXZlbnRzQ291bnQgPSBldmVudHNfZGF0YS5ldmVudHNfY291bnQ7XG4gICAgaWYgKGV2ZW50c0NvdW50ID4gNTApXG4gICAgICBldmVudHNDb3VudCA9IGAke2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3Lm1vcmVfdGhhbicpfSA1MGA7XG5cbiAgICByZXR1cm4gZXZlbnRzQ291bnQ7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50cyh3YXRlckF1dGhvcml0eUlkLCBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgfHwgJ0RFRkFVTFQnKSk7XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoXG4gICAgICAhZXZlbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcygpO1xuICAgIH1cbiAgfSwgW1xuICAgIGV2ZW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcsXG4gICAgYXJlYXNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW0sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX1cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydldmVudHMtaGVhZGVyX19ldmVudHNfYW1vdW50J30+XG4gICAgICAgICAgICAoe2NhbGNFdmVudHNSZWFsQW1vdW50KCl9KVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJpbmdcIj5cbiAgICAgICAgICB7ZXZlbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICAgIDxTb3J0XG4gICAgICAgICAgICAgIHRyaWdnZXJTb3J0PXt0cmlnZ2VyU29ydH1cbiAgICAgICAgICAgICAgZXZlbnRzPXtldmVudHNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgZXZlbnRzRmV0Y2hpbmc9e2V2ZW50c19kYXRhLmlzRmV0Y2hpbmd9XG4gICAgICAgICAgICAgIGFjdGl2ZUZpbHRlcj17Z2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaWNvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsdGVyXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKCFmaWx0ZXJQb3B1cE9wZW4pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmlsdGVySWNvbiB3aWR0aD1cIjE3cHhcIiBoZWlnaHQ9XCIxN3B4XCIgZmlsbD1cIiNmNjAwNGZcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHtwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgIWZvY3VzZWRFdmVudCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdfQ==
|
|
432
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50Iiwic2V0VGltZW91dCIsImV2ZW50RmlsdGVyUGFyYW0iLCJvbk1vdXNlRW50ZXJFdmVudCIsInJlbW92ZUxheWVyIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwiaW5jbHVkZXMiLCJzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMiLCJlIiwicGFyc2VJbnQiLCJ2YWxpZEV2ZW50IiwidG9TdHJpbmciLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJhY3RpdmVGaWx0ZXIiLCJLUUwiLCJVUkwiLCJjYWxjRXZlbnRzUmVhbEFtb3VudCIsImV2ZW50c0NvdW50IiwiZXZlbnRzX2NvdW50IiwibW9yZUluZm8iLCJhY3RpdmUiLCJmYUNhcmV0TGVmdCIsImZhQ2FyZXRSaWdodCIsImZhQXJyb3dMZWZ0IiwiTGVmdEFycm93SWNvbiIsIk5vRXZlbnRzSW1hZ2UiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUlBOztBQUVBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUEvQkE7QUFpQ0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFDRUMsV0FERixHQU9JRCxLQVBKLENBQ0VDLFdBREY7QUFBQSxNQUVFQyxXQUZGLEdBT0lGLEtBUEosQ0FFRUUsV0FGRjtBQUFBLE1BR0VDLFVBSEYsR0FPSUgsS0FQSixDQUdFRyxVQUhGO0FBQUEsTUFJRUMsV0FK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RixlQUlFO0FBQ0UsSUFBQSxTQUFTLEVBQUUsNkJBRGI7QUFFRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU12QixrQkFBa0IsRUFBeEI7QUFBQTtBQUZYLEtBSUdzQixjQUFLQyxDQUFMLENBQU8sMENBQVAsQ0FKSCxDQUpGLENBTk4sRUFrQkdwRCxLQUFLLENBQUMwQixNQUFOLEtBQWlCLENBQWpCLElBQ0MsQ0FBQy9CLFVBQVUsQ0FBQ00sVUFEYixJQUVDLENBQUNQLFdBQVcsQ0FBQ08sVUFGZCxJQUdDLENBQUNSLFVBQVUsQ0FBQ1EsVUFIYixpQkFJRztBQUFJLElBQUEsU0FBUyxFQUFDO0FBQWQsS0FDR0QsS0FBSyxDQUFDTyxHQUFOLENBQVUsVUFBQzRCLEtBQUQ7QUFBQSx3QkFDVDtBQUFJLE1BQUEsR0FBRyxFQUFFQSxLQUFLLENBQUNlLEVBQWY7QUFBbUIsTUFBQSxTQUFTLEVBQUMsT0FBN0I7QUFBcUMsdUJBQWVmLEtBQUssQ0FBQ2U7QUFBMUQsb0JBQ0UsNkJBQUMsd0JBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRWYsS0FEVDtBQUVFLE1BQUEsV0FBVyxFQUFFeUIsb0JBRmY7QUFHRSxNQUFBLGlCQUFpQixFQUFFSyxpQkFIckI7QUFJRSxNQUFBLGlCQUFpQixFQUFFSCxpQkFKckI7QUFLRSxNQUFBLGFBQWEsRUFBRTVCLGFBTGpCO0FBTUUsTUFBQSxjQUFjLEVBQUVwQjtBQU5sQixNQURGLENBRFM7QUFBQSxHQUFWLENBREgsQ0F0Qk4sQ0F4RkYsQ0FERjtBQWlJRCxDQWpjRDs7QUFtY0EsSUFBTThFLFNBQVMsR0FBRyx5QkFBUXZHLGVBQVIsQ0FBbEI7O2VBQ2V1RyxTQUFTLENBQUMvRixVQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBldGMvbm8tY29tbWVudGVkLW91dC1jb2RlICovXG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFDYXJldExlZnQsXG4gIGZhQ2FyZXRSaWdodCxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTGluaywgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBMZWZ0QXJyb3dJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvYXJyb3ctbGVmdC5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRmlsdGVySWNvbiB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvZnVubmVsLnN2Zyc7XG5pbXBvcnQgTm9FdmVudHNJbWFnZSBmcm9tICdzcmMvYXNzZXRzL25vX2V2ZW50cy5zdmcnO1xuaW1wb3J0IHsgU2V2ZXJlRXZlbnQgfSBmcm9tICdzcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9TZXZlcmVFdmVudCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyB1c2VMYXN0VmlzaXRlZCB9IGZyb20gJ3NyYy9wcm92aWRlcnMvVXJsSGlzdG9yeSc7XG5pbXBvcnQge1xuICBmZXRjaEV2ZW50cyxcbiAgc2V0Rm9jdXNlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRWRnZVBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnQsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEV2ZW50RmlsdGVyUGFyYW0sIHNpZGVOYXZFeHBhbmRlZCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRXZlbnRJbmZvIGZyb20gJy4uL2V2ZW50X2luZm8vRXZlbnRJbmZvJztcbmltcG9ydCBNb3JlSW5mbyBmcm9tICcuLi9Nb3JlSW5mbyc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4vRmlsdGVyL0ZpbHRlckNvbnRhaW5lcic7XG5pbXBvcnQgU29ydCBmcm9tICcuL1NvcnQnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBzaWRlbmF2RXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG5jb25zdCBFdmVudHNMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgYXJlYXNfZGF0YSxcbiAgcG9pbnRzX2RhdGEsXG4gIGVkZ2VzX2RhdGEsXG4gIGdsb2JhbF9kYXRhLFxuICBzaWRlbmF2RXhwYW5kZWQsXG4gIGV2ZW50c19kYXRhLFxuICBuYXZfY29udGV4dF9kYXRhLFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHtcbiAgICBpdGVtcyxcbiAgICBpc0ZldGNoaW5nLFxuICAgIGZvY3VzZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50UGF0aHMsXG4gICAgaG92ZXJlZEVkZ2VQYXRocyxcbiAgfSA9IGV2ZW50c19kYXRhO1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5SWQsIG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtmaWx0ZXJQb3B1cE9wZW4sIHNldEZpbHRlclBvcHVwT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2V4Y2VwdGlvbkFsZXJ0LCBzZXRFeGNlcHRpb25BbGVydF0gPSB1c2VTdGF0ZTx7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9Pih7IG1lc3NhZ2VzOiBbeyBtZXNzYWdlOiAnJywgZXZlbnRfaWQ6IDAgfV0sIGV2ZW50X2lkczogW10gfSk7XG4gIGNvbnN0IGxhc3RWaXNpdGVkID0gdXNlTGFzdFZpc2l0ZWQoKTtcblxuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG4gIGNvbnN0IGdldEV2ZW50SWRGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ2V2ZW50SWQnKTtcbiAgfTtcblxuICBjb25zdCBsb2FkZXIgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKGlzRmV0Y2hpbmcgJiYgaXRlbXMubGVuZ3RoID09PSAwKSB8fFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLmlzRmV0Y2hpbmcgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXsnbG9hZGVyJ30+PC9kaXY+O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCghc2lkZW5hdkV4cGFuZGVkKSk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlEZWZhdWx0RmlsdGVyID0gKCkgPT4ge1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD1gLFxuICAgICk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbSgnJykpO1xuICB9O1xuXG4gIGNvbnN0IHZhbGlkYXRlRXZlbnQgPSAoZXZlbnQ6IElFdmVudCkgPT4ge1xuICAgIC8vIGNoZWNrIHRoYXQgYWxsIG9ic2VydmF0aW9ucycgZWRnZXMgZXhpc3RzLiBJZiB0aGV5IGFyZSBub3QgZXhpc3RzIGl0J3MgaW5kaWNhdGVzIHRoYXQgdGhlaXIgcG9pbnRzIGFyZVxuICAgIC8vIG5vdCBpbiB0aGUgaGllcmFyY2h5IG9yIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50Lm9ic2VydmF0aW9ucy5mb3JFYWNoKChvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgICAvLyBpZiBvYnNlcnZhdGlvbiBpcyByb290IChleC4gV1dUUCkgdGhlcmUgaXMgbm8gZWRnZSB0aGF0IGl0cyBhIHNvdXJjZS4gc28gd2UgY2FuIHNraXAgdGhpcyBjaGVja1xuICAgICAgaWYgKCFvYnNlcnZhdGlvbi5wb2ludF9pc19yb290KSB7XG4gICAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gb2JzZXJ2YXRpb24ucG9pbnRfaWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgIGAke29ic2VydmF0aW9uLnBvaW50X25hbWV9ICgke29ic2VydmF0aW9uLnBvaW50X2lkfSkgYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IGluZGV4ID0gZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMuZmluZEluZGV4KFxuICAgICAgICAobXNnKSA9PiBtc2cuZXZlbnRfaWQgPT09IGV2ZW50LmlkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF9kYXRhX21pc3NpbmcnKX08L3A+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gc2FtZSBjaGVjayBhcyBhYm92ZSBidXQgdGhpcyB0aW1lIGZvciB0aGUgZXZlbnQgcGF0aC4gSWYgZWRnZSBkb2Vzbid0IGV4aXN0LCBpdCdzIGluZGljYXRlcyB0aGF0IG9uZSBvZiB0aGVcbiAgICAvLyBwb2ludHMgZG93bnN0cmVhbSBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZFBhdGhNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgIGxldCBlZGdlID0gZWRnZXNfZGF0YS5pdGVtcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXRoLmVkZ2VfaWQpO1xuICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBlZGdlICR7cGF0aC5lZGdlX2lkfSBjYW4gbm90IGJlIGZvdW5kYCk7XG4gICAgICAgIGxldCBvYnNlcnZhdGlvbiA9IGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKFxuICAgICAgICAgIChvYnNlcnZhdGlvbikgPT4gb2JzZXJ2YXRpb24uaWQgPT09IHBhdGgubGFzdF9vYnNlcnZhdGlvbl9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IGxhc3RPYnNlcnZhdGlvblBvaW50ID0gJ05vdCBmb3VuZCc7XG4gICAgICAgIGlmIChvYnNlcnZhdGlvbikge1xuICAgICAgICAgIGxhc3RPYnNlcnZhdGlvblBvaW50ID0gb2JzZXJ2YXRpb24ucG9pbnRfbmFtZTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdsYXN0T2JzZXJ2YXRpb25Qb2ludCcsIGxhc3RPYnNlcnZhdGlvblBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGludmFsaWRQYXRoTWVzc2FnZXMucHVzaChgJHtsYXN0T2JzZXJ2YXRpb25Qb2ludH0gYCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW52YWxpZFBhdGhNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgbWVzc2FnZXM6IFtcbiAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X3ZlcmlmeV9jb29yZGluYXRlcycpfTwvcD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57aW52YWxpZFBhdGhNZXNzYWdlc308L3NwYW4+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGV2ZW50X2lkOiBldmVudC5pZCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBldmVudF9pZHM6IFsuLi5leGNlcHRpb25BbGVydC5ldmVudF9pZHMsIGV2ZW50LmlkXSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50SXRlbUNsaWNrID0gKFxuICAgIGV2ZW50OiBJRXZlbnQsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgKSA9PiB7XG4gICAgaWYgKHJlZiAhPT0gbnVsbCkgb25Nb3VzZUxlYXZlRXZlbnQoKTtcbiAgICAvLyBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgLy8gICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAvLyAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KGV2ZW50KSk7XG4gICAgc2V0RmlsdGVyUG9wdXBPcGVuKGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke1xuICAgICAgICAgIGV2ZW50LmlkXG4gICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1cbiAgICAgICAgfSZ2YWxpZEV2ZW50PSR7dmFsaWRhdGVFdmVudChldmVudCl9YCxcbiAgICAgICk7XG4gICAgfSwgNTAwKTtcbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRW50ZXJFdmVudCA9IChldmVudCkgPT4ge1xuICAgIGlmICghZm9jdXNlZEV2ZW50ICYmICFob3ZlcmVkRXZlbnQgJiYgdmFsaWRhdGVFdmVudChldmVudCkpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChldmVudCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmVFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoaG92ZXJlZEV2ZW50ICYmIGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgICAgaG92ZXJlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGhvdmVyZWRFZGdlUGF0aHMpIHtcbiAgICAgICAgaG92ZXJlZEVkZ2VQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgY29uc3Qga2FuZG9fb2JqZWN0ID0gbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3Q7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrYW5kb19vYmplY3Q/LmluY2x1ZGVzKCdFdmVudEJvZHknKSB8fFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdFdmVudFRhaWwnLFxuICAgICAgICAgICAgJ1NhbXBsaW5nUG9pbnQnLFxuICAgICAgICAgICAgJ0RlY29yYXRvcicsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2UnLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlRnJvbnQnLFxuICAgICAgICAgIF0uaW5jbHVkZXMoa2FuZG9fb2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgfTtcblxuICBjb25zdCBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gbnVsbCAmJlxuICAgICAgZ2V0RXZlbnRJZEZyb21VUkwoKSAhPT0gJ251bGwnICYmXG4gICAgICBmb2N1c2VkRXZlbnQgPT09IG51bGwgJiZcbiAgICAgIGl0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgIWlzRmV0Y2hpbmcgJiZcbiAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBsZXQgZXZlbnQgPSBldmVudHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgICAoZTogSUV2ZW50KSA9PiBlLmlkID09PSBwYXJzZUludChnZXRFdmVudElkRnJvbVVSTCgpISksXG4gICAgICApO1xuICAgICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaGFuZGxlRXZlbnRJdGVtQ2xpY2soZXZlbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB2YWxpZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgIChlKSA9PiBlLmlkLnRvU3RyaW5nKCkgPT09IGdldEV2ZW50SWRGcm9tVVJMKCksXG4gICAgKTtcblxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFdmVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSwgW2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgIGxldCBLUUw7XG4gICAgICBsZXQgVVJMO1xuICAgICAgc3dpdGNoIChzb3J0KSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ25ld2VzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdvbGRlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY2FsY0V2ZW50c1JlYWxBbW91bnQgPSAoKSA9PiB7XG4gICAgbGV0IGV2ZW50c0NvdW50OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICAgIGV2ZW50c0NvdW50ID0gZXZlbnRzX2RhdGEuZXZlbnRzX2NvdW50O1xuICAgIGlmIChldmVudHNDb3VudCA+IDUwKVxuICAgICAgZXZlbnRzQ291bnQgPSBgJHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5tb3JlX3RoYW4nKX0gNTBgO1xuXG4gICAgcmV0dXJuIGV2ZW50c0NvdW50O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWV2ZW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICBzZXRGb2N1c2VkRXZlbnRJZkZvdW5kSW5QYXJhbXMoKTtcbiAgICB9XG4gIH0sIFtcbiAgICBldmVudHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGVkZ2VzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nLFxuICAgIGFyZWFzX2RhdGEuaXNGZXRjaGluZyxcbiAgICBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnc2lkZW5hdiAnICsgKHNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ3NpZGVuYXYtLWNvbGxhcHNlZCcpfT5cbiAgICAgIHtnbG9iYWxfZGF0YS5tb3JlSW5mbyAhPT0gdW5kZWZpbmVkICYmIGdsb2JhbF9kYXRhLm1vcmVJbmZvLmFjdGl2ZSAmJiAoXG4gICAgICAgIDxNb3JlSW5mbyAvPlxuICAgICAgKX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICdldmVudC1pbmZvICcgK1xuICAgICAgICAgICghaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbFxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiAnZXZlbnQtaW5mby0tY29sbGFwc2VkJylcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICB7IWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICAgIDxFdmVudEluZm9cbiAgICAgICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICByZU9wZW5GaWx0ZXI9eygpID0+IHNldEZpbHRlclBvcHVwT3Blbih0cnVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cInRvZ2dsZS1leHBhbnNpb24tYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hdi1leHBhbnNpb24taWNvblwiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgIGljb249e3NpZGVuYXZFeHBhbmRlZCA/IGZhQ2FyZXRMZWZ0IDogZmFDYXJldFJpZ2h0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17J3RvZ2dsZS1leHBhbnNpb24tYnV0dG9uLW1vYmlsZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cIiNcIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhQXJyb3dMZWZ0fSAvPlxuICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYmFja190b19kZXRhaWxzJyl9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWhlYWRlclwiPlxuICAgICAgICB7bGFzdFZpc2l0ZWQgJiYgIWlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJhY2tcIiB0bz17bGFzdFZpc2l0ZWR9PlxuICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgc3JjPXtMZWZ0QXJyb3dJY29ufVxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxMHB4XCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMnB4XCJcbiAgICAgICAgICAgICAgYWx0PVwiYmFja1wiXG4gICAgICAgICAgICAvPnsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdhcmVhX3NjcmVlbi5iYWNrJyl9XG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICA8aDQ+XG4gICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50c19saXN0Jyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZXZlbnRzLWhlYWRlcl9fZXZlbnRzX2Ftb3VudCd9PlxuICAgICAgICAgICAgKHtjYWxjRXZlbnRzUmVhbEFtb3VudCgpfSlcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyaW5nXCI+XG4gICAgICAgICAge2V2ZW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICB0cmlnZ2VyU29ydD17dHJpZ2dlclNvcnR9XG4gICAgICAgICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGV2ZW50c0ZldGNoaW5nPXtldmVudHNfZGF0YS5pc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXI9e2dsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlclwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEZpbHRlclBvcHVwT3BlbighZmlsdGVyUG9wdXBPcGVuKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZpbHRlckljb24gd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTdweFwiIGZpbGw9XCIjZjYwMDRmXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7cG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmICFmb2N1c2VkRXZlbnQgJiYgKFxuICAgICAgICAgIDxGaWx0ZXJDb250YWluZXJcbiAgICAgICAgICAgIGZpbHRlclBvcHVwT3Blbj17ZmlsdGVyUG9wdXBPcGVufVxuICAgICAgICAgICAgZmV0Y2hUeXBlPXsnRXZlbnRGaWx0ZXInfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzLWNvbnRhaW5lciBzY3JvbGxiYXIgXCI+XG4gICAgICAgIHtsb2FkZXIoKX1cbiAgICAgICAgeyFpc0ZldGNoaW5nICYmXG4gICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnRzX19ibGFua3NsYXRlJ30+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtOb0V2ZW50c0ltYWdlfSBhbHQ9XCJOb0V2ZW50c0ljb25cIiAvPlxuICAgICAgICAgICAgICA8aDI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmhlYWRlcicpfTwvaDI+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5ib2R5Jyl9PC9wPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5X2RlZmF1bHRfZmlsdGVyX2J1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gYXBwbHlEZWZhdWx0RmlsdGVyKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIHtpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhZWRnZXNfZGF0YS5pc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJldmVudHMgXCI+XG4gICAgICAgICAgICAgIHtpdGVtcy5tYXAoKGV2ZW50OiBhbnkpID0+IChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXtldmVudC5pZH0gY2xhc3NOYW1lPVwiZXZlbnRcIiBkYXRhLWV2ZW50LWlkPXtldmVudC5pZH0+XG4gICAgICAgICAgICAgICAgICA8U2V2ZXJlRXZlbnRcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljaz17aGFuZGxlRXZlbnRJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlckV2ZW50PXtvbk1vdXNlRW50ZXJFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlRXZlbnQ9e29uTW91c2VMZWF2ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUV2ZW50PXt2YWxpZGF0ZUV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25BbGVydD17ZXhjZXB0aW9uQWxlcnR9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRzTGlzdCk7XG4iXX0=
|
package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js
CHANGED
|
@@ -94,9 +94,7 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
94
94
|
} : {
|
|
95
95
|
value: 'PollutionAlertConfig',
|
|
96
96
|
label: _i18n.default.t("notifications_page.PollutionAlertConfig")
|
|
97
|
-
}
|
|
98
|
-
isDisabled: notification.id ? true : false,
|
|
99
|
-
isSearchable: false
|
|
97
|
+
}
|
|
100
98
|
})), notification.type === 'PollutionAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
101
99
|
controlId: "notification-severity"
|
|
102
100
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.edit_severity')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
@@ -348,4 +346,4 @@ var NotificationsCheckboxesStyle = _styledComponents.default.div.withConfig({
|
|
|
348
346
|
var gap = _ref14.gap;
|
|
349
347
|
return gap + 'px';
|
|
350
348
|
});
|
|
351
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FB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QnpCO0FBQUEsTUFBR3BCLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmtCLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBL0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtub3RpZmljYXRpb24uaWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgaXNTZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|
|
349
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FB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L0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|