@kando-env/kando-ui 1.2.458-alpha.8 → 1.2.459-alpha.0

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.
Files changed (37) hide show
  1. package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +21 -6
  2. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +2 -1
  3. package/lib/Widgets/PotentialImpactSummary/Icon.js +2 -1
  4. package/lib/components/DamageType/DamageType.js +3 -3
  5. package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -3
  6. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +2 -1
  7. package/lib/i18n/en.json +10 -2
  8. package/lib/i18n/fr.json +2 -1
  9. package/lib/i18n/it.json +2 -1
  10. package/lib/macros/getVersion.js +1 -1
  11. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +2 -1
  12. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +2 -1
  13. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +14 -3
  14. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +24 -7
  15. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +4 -1
  16. package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +27 -0
  17. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -3
  18. package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +76 -0
  19. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +3 -1
  20. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +13 -2
  21. package/lib/pages/SamplingsPage/SamplingsPage.js +4 -2
  22. package/lib/pages/SamplingsPage/samplingsPageUtils.js +8 -8
  23. package/lib/pages/SamplingsPage/style.module.scss +4 -0
  24. package/lib/store/filters/IFilterItem.js +1 -1
  25. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +21 -17
  26. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +120 -16
  27. package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +18 -8
  28. package/lib/ui-kit/HierarchyGraph/NodeLayout.js +18 -33
  29. package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +48 -0
  30. package/lib/ui-kit/HierarchyGraph/ScoreNode.js +35 -0
  31. package/lib/ui-kit/HierarchyGraph/style.scss +67 -31
  32. package/lib/ui-kit/HierarchyGraph/utils.js +16 -1
  33. package/lib/utilities/Enum.js +4 -4
  34. package/lib/utilities/urls.js +6 -1
  35. package/package.json +1 -1
  36. package/lib/ui-kit/HierarchyGraph/MicroStackedBarNode.js +0 -67
  37. package/lib/ui-kit/HierarchyGraph/PieNode.js +0 -26
@@ -31,6 +31,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/
31
31
  // }
32
32
  // return points_ids;
33
33
  // };
34
+
34
35
  var getAreasToCenterBy = function getAreasToCenterBy(global_data, mappedAreas) {
35
36
  var _global_data$activeFi;
36
37
  var filters = global_data === null || global_data === void 0 ? void 0 : (_global_data$activeFi = global_data.activeFilter) === null || _global_data$activeFi === void 0 ? void 0 : _global_data$activeFi.filter_items;
@@ -70,4 +71,4 @@ var areasMapper = function areasMapper(areas_data, isTimeFilterNotSelected) {
70
71
  });
71
72
  };
72
73
  exports.areasMapper = areasMapper;
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRBcmVhc1RvQ2VudGVyQnkiLCJnbG9iYWxfZGF0YSIsIm1hcHBlZEFyZWFzIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsInJjIiwibGVuZ3RoIiwiYXJlYUZpbHRlciIsImZpbmQiLCJmaWx0ZXIiLCJ0eXBlIiwic2VsZWN0ZWRfb3B0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImFyZWFJRHMiLCJtYXAiLCJpdGVtIiwiTnVtYmVyIiwiYXJlYXMiLCJBcmVhIiwiaW5jbHVkZXMiLCJhcmVhX2lkIiwiYXJlYSIsInNoYXBlX2RhdGEiLCJmbGF0IiwiZXhwb3J0cyIsImFyZWFzTWFwcGVyIiwiYXJlYXNfZGF0YSIsImlzVGltZUZpbHRlck5vdFNlbGVjdGVkIiwibmV3QXJlYXMiLCJuZXdBcmVhIiwiX29iamVjdFNwcmVhZDIiLCJkZWZhdWx0Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG4vLyBpbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcblxuLy8gdHlwZSBldmVudHNQZXJTaXRlVHlwZSA9IHsgW2tleTogbnVtYmVyXTogbnVtYmVyIH07XG4vLyBjb25zdCBDb3VudEV2ZW50c1BlclNpdGVJRCA9IChldmVudHM6IElFdmVudFtdKTogZXZlbnRzUGVyU2l0ZVR5cGUgPT4ge1xuLy8gICBsZXQgZXZlbnRzUGVyU2l0ZSA9IHt9IGFzIGV2ZW50c1BlclNpdGVUeXBlO1xuXG4vLyAgIGV2ZW50cy5yZWR1Y2UoKEV2ZW50c1BlclNpdGUsIGV2ZW50KSA9PiB7XG4vLyAgICAgZXZlbnRzUGVyU2l0ZSA9IGV2ZW50LnBvaW50X2lkX19ldmVudHM7XG4vLyAgICAgcmV0dXJuIGV2ZW50LnBvaW50X2lkX19ldmVudHM7XG4vLyAgIH0sIGV2ZW50c1BlclNpdGUpO1xuXG4vLyAgIHJldHVybiBldmVudHNQZXJTaXRlO1xuLy8gfTtcblxuLy8gY29uc3QgZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyA9IChcbi8vICAgZm9jdXNlZEV2ZW50OiBJRXZlbnQgfCBudWxsLFxuLy8gKTogeyBba2V5OiBudW1iZXJdOiBib29sZWFuIH0gPT4ge1xuLy8gICBjb25zdCBwb2ludHNfaWRzID0ge30gYXMgeyBba2V5OiBudW1iZXJdOiBib29sZWFuIH07XG4vLyAgIGlmIChmb2N1c2VkRXZlbnQpIHtcbi8vICAgICBmb2N1c2VkRXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goXG4vLyAgICAgICAob2JzZXJ2YXRpb24pID0+IChwb2ludHNfaWRzW29ic2VydmF0aW9uLnBvaW50X2lkXSA9IHRydWUpLFxuLy8gICAgICk7XG4vLyAgIH1cbi8vICAgcmV0dXJuIHBvaW50c19pZHM7XG4vLyB9O1xuXG5jb25zdCBnZXRBcmVhc1RvQ2VudGVyQnkgPSAoXG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGUsXG4gIG1hcHBlZEFyZWFzOiBJQXJlYVtdLFxuKSA9PiB7XG4gIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG4gIGxldCByYyA9IFtdIGFzIGFueVtdO1xuXG4gIGlmIChmaWx0ZXJzIHx8IGZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhcmVhRmlsdGVyID0gZmlsdGVycy5maW5kKFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLnR5cGUgPT09ICdBcmVhRmlsdGVySXRlbScsXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgIGFyZWFGaWx0ZXIgJiZcbiAgICAgIGFyZWFGaWx0ZXIuc2VsZWN0ZWRfb3B0aW9ucyAmJlxuICAgICAgQXJyYXkuaXNBcnJheShhcmVhRmlsdGVyLnNlbGVjdGVkX29wdGlvbnMpICYmXG4gICAgICBhcmVhRmlsdGVyLnNlbGVjdGVkX29wdGlvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3QgYXJlYUlEcyA9IGFyZWFGaWx0ZXIuc2VsZWN0ZWRfb3B0aW9ucy5tYXAoKGl0ZW0pID0+IE51bWJlcihpdGVtKSk7XG4gICAgICBjb25zdCBhcmVhcyA9IG1hcHBlZEFyZWFzLmZpbHRlcigoQXJlYSkgPT5cbiAgICAgICAgYXJlYUlEcy5pbmNsdWRlcyhBcmVhLmFyZWFfaWQpLFxuICAgICAgKTtcblxuICAgICAgcmMgPSBhcmVhcz8ubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXJjIHx8IHJjLmxlbmd0aCA8IDEpIHtcbiAgICByYyA9IG1hcHBlZEFyZWFzPy5tYXAoKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSkuZmxhdCgpO1xuICB9XG5cbiAgcmV0dXJuIHJjO1xufTtcblxuY29uc3QgYXJlYXNNYXBwZXIgPSAoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpID0+IHtcbiAgcmV0dXJuIGFyZWFzX2RhdGEubmV3QXJlYXMubWFwKChhcmVhKSA9PiB7XG4gICAgY29uc3QgbmV3QXJlYSA9IHsgLi4uYXJlYSB9O1xuICAgIG5ld0FyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG4gICAgLy8gaWYgKGlzVGltZUZpbHRlck5vdFNlbGVjdGVkKSB7XG4gICAgLy8gICBuZXdBcmVhLmNvbG9yID0gJyM3ZjdmN2YnO1xuICAgIC8vIH1cbiAgICByZXR1cm4gbmV3QXJlYTtcbiAgfSk7XG59O1xuXG5leHBvcnQge1xuICBhcmVhc01hcHBlcixcbiAgZ2V0QXJlYXNUb0NlbnRlckJ5LFxuICAvLyBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzLFxuICAvLyBDb3VudEV2ZW50c1BlclNpdGVJRCxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0E7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQ3RCQyxXQUF5QixFQUN6QkMsV0FBb0IsRUFDakI7RUFBQSxJQUFBQyxxQkFBQTtFQUNILElBQU1DLE9BQU8sR0FBR0gsV0FBVyxhQUFYQSxXQUFXLHdCQUFBRSxxQkFBQSxHQUFYRixXQUFXLENBQUVJLFlBQVksY0FBQUYscUJBQUEsdUJBQXpCQSxxQkFBQSxDQUEyQkcsWUFBWTtFQUN2RCxJQUFJQyxFQUFFLEdBQUcsRUFBVztFQUVwQixJQUFJSCxPQUFPLElBQUksQ0FBQUEsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVJLE1BQU0sSUFBRyxDQUFDLEVBQUU7SUFDbEMsSUFBTUMsVUFBVSxHQUFHTCxPQUFPLENBQUNNLElBQUksQ0FDN0IsVUFBQ0MsTUFBTTtNQUFBLE9BQUtBLE1BQU0sQ0FBQ0MsSUFBSSxLQUFLLGdCQUFnQjtJQUFBLENBQzlDLENBQUM7SUFFRCxJQUNFSCxVQUFVLElBQ1ZBLFVBQVUsQ0FBQ0ksZ0JBQWdCLElBQzNCQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ04sVUFBVSxDQUFDSSxnQkFBZ0IsQ0FBQyxJQUMxQ0osVUFBVSxDQUFDSSxnQkFBZ0IsQ0FBQ0wsTUFBTSxHQUFHLENBQUMsRUFDdEM7TUFDQSxJQUFNUSxPQUFPLEdBQUdQLFVBQVUsQ0FBQ0ksZ0JBQWdCLENBQUNJLEdBQUcsQ0FBQyxVQUFDQyxJQUFJO1FBQUEsT0FBS0MsTUFBTSxDQUFDRCxJQUFJLENBQUM7TUFBQSxFQUFDO01BQ3ZFLElBQU1FLEtBQUssR0FBR2xCLFdBQVcsQ0FBQ1MsTUFBTSxDQUFDLFVBQUNVLElBQUk7UUFBQSxPQUNwQ0wsT0FBTyxDQUFDTSxRQUFRLENBQUNELElBQUksQ0FBQ0UsT0FBTyxDQUFDO01BQUEsQ0FDaEMsQ0FBQztNQUVEaEIsRUFBRSxHQUFHYSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUgsR0FBRyxDQUFDLFVBQUNPLElBQUk7UUFBQSxPQUFLQSxJQUFJLENBQUNDLFVBQVU7TUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0lBQ25EO0VBQ0Y7RUFFQSxJQUFJLENBQUNuQixFQUFFLElBQUlBLEVBQUUsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsRUFBRTtJQUN4QkQsRUFBRSxHQUFHTCxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWUsR0FBRyxDQUFDLFVBQUNPLElBQUk7TUFBQSxPQUFLQSxJQUFJLENBQUNDLFVBQVU7SUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQ3pEO0VBRUEsT0FBT25CLEVBQUU7QUFDWCxDQUFDO0FBQUNvQixPQUFBLENBQUEzQixrQkFBQSxHQUFBQSxrQkFBQTtBQUVGLElBQU00QixXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsVUFBVSxFQUFFQyx1QkFBdUIsRUFBSztFQUMzRCxPQUFPRCxVQUFVLENBQUNFLFFBQVEsQ0FBQ2QsR0FBRyxDQUFDLFVBQUNPLElBQUksRUFBSztJQUN2QyxJQUFNUSxPQUFPLE9BQUFDLGNBQUEsQ0FBQUMsT0FBQSxNQUFRVixJQUFJLENBQUU7SUFDM0JRLE9BQU8sQ0FBQ0csc0JBQXNCLEdBQUcsSUFBSTtJQUNyQztJQUNBO0lBQ0E7SUFDQSxPQUFPSCxPQUFPO0VBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ0wsT0FBQSxDQUFBQyxXQUFBLEdBQUFBLFdBQUEifQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRBcmVhc1RvQ2VudGVyQnkiLCJnbG9iYWxfZGF0YSIsIm1hcHBlZEFyZWFzIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsInJjIiwibGVuZ3RoIiwiYXJlYUZpbHRlciIsImZpbmQiLCJmaWx0ZXIiLCJ0eXBlIiwic2VsZWN0ZWRfb3B0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImFyZWFJRHMiLCJtYXAiLCJpdGVtIiwiTnVtYmVyIiwiYXJlYXMiLCJBcmVhIiwiaW5jbHVkZXMiLCJhcmVhX2lkIiwiYXJlYSIsInNoYXBlX2RhdGEiLCJmbGF0IiwiZXhwb3J0cyIsImFyZWFzTWFwcGVyIiwiYXJlYXNfZGF0YSIsImlzVGltZUZpbHRlck5vdFNlbGVjdGVkIiwibmV3QXJlYXMiLCJuZXdBcmVhIiwiX29iamVjdFNwcmVhZDIiLCJkZWZhdWx0Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG4vLyBpbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcblxuLy8gdHlwZSBldmVudHNQZXJTaXRlVHlwZSA9IHsgW2tleTogbnVtYmVyXTogbnVtYmVyIH07XG4vLyBjb25zdCBDb3VudEV2ZW50c1BlclNpdGVJRCA9IChldmVudHM6IElFdmVudFtdKTogZXZlbnRzUGVyU2l0ZVR5cGUgPT4ge1xuLy8gICBsZXQgZXZlbnRzUGVyU2l0ZSA9IHt9IGFzIGV2ZW50c1BlclNpdGVUeXBlO1xuXG4vLyAgIGV2ZW50cy5yZWR1Y2UoKEV2ZW50c1BlclNpdGUsIGV2ZW50KSA9PiB7XG4vLyAgICAgZXZlbnRzUGVyU2l0ZSA9IGV2ZW50LnBvaW50X2lkX19ldmVudHM7XG4vLyAgICAgcmV0dXJuIGV2ZW50LnBvaW50X2lkX19ldmVudHM7XG4vLyAgIH0sIGV2ZW50c1BlclNpdGUpO1xuXG4vLyAgIHJldHVybiBldmVudHNQZXJTaXRlO1xuLy8gfTtcblxuLy8gY29uc3QgZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyA9IChcbi8vICAgZm9jdXNlZEV2ZW50OiBJRXZlbnQgfCBudWxsLFxuLy8gKTogeyBba2V5OiBudW1iZXJdOiBib29sZWFuIH0gPT4ge1xuLy8gICBjb25zdCBwb2ludHNfaWRzID0ge30gYXMgeyBba2V5OiBudW1iZXJdOiBib29sZWFuIH07XG4vLyAgIGlmIChmb2N1c2VkRXZlbnQpIHtcbi8vICAgICBmb2N1c2VkRXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goXG4vLyAgICAgICAob2JzZXJ2YXRpb24pID0+IChwb2ludHNfaWRzW29ic2VydmF0aW9uLnBvaW50X2lkXSA9IHRydWUpLFxuLy8gICAgICk7XG4vLyAgIH1cbi8vICAgcmV0dXJuIHBvaW50c19pZHM7XG4vLyB9O1xuXG5jb25zdCBnZXRBcmVhc1RvQ2VudGVyQnkgPSAoXG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGUsXG4gIG1hcHBlZEFyZWFzOiBJQXJlYVtdLFxuKSA9PiB7XG4gIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG4gIGxldCByYyA9IFtdIGFzIGFueVtdO1xuXG4gIGlmIChmaWx0ZXJzIHx8IGZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhcmVhRmlsdGVyID0gZmlsdGVycy5maW5kKFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLnR5cGUgPT09ICdBcmVhRmlsdGVySXRlbScsXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgIGFyZWFGaWx0ZXIgJiZcbiAgICAgIGFyZWFGaWx0ZXIuc2VsZWN0ZWRfb3B0aW9ucyAmJlxuICAgICAgQXJyYXkuaXNBcnJheShhcmVhRmlsdGVyLnNlbGVjdGVkX29wdGlvbnMpICYmXG4gICAgICBhcmVhRmlsdGVyLnNlbGVjdGVkX29wdGlvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3QgYXJlYUlEcyA9IGFyZWFGaWx0ZXIuc2VsZWN0ZWRfb3B0aW9ucy5tYXAoKGl0ZW0pID0+IE51bWJlcihpdGVtKSk7XG4gICAgICBjb25zdCBhcmVhcyA9IG1hcHBlZEFyZWFzLmZpbHRlcigoQXJlYSkgPT5cbiAgICAgICAgYXJlYUlEcy5pbmNsdWRlcyhBcmVhLmFyZWFfaWQpLFxuICAgICAgKTtcblxuICAgICAgcmMgPSBhcmVhcz8ubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXJjIHx8IHJjLmxlbmd0aCA8IDEpIHtcbiAgICByYyA9IG1hcHBlZEFyZWFzPy5tYXAoKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSkuZmxhdCgpO1xuICB9XG5cbiAgcmV0dXJuIHJjO1xufTtcblxuY29uc3QgYXJlYXNNYXBwZXIgPSAoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpID0+IHtcbiAgcmV0dXJuIGFyZWFzX2RhdGEubmV3QXJlYXMubWFwKChhcmVhKSA9PiB7XG4gICAgY29uc3QgbmV3QXJlYSA9IHsgLi4uYXJlYSB9O1xuICAgIG5ld0FyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG4gICAgLy8gaWYgKGlzVGltZUZpbHRlck5vdFNlbGVjdGVkKSB7XG4gICAgLy8gICBuZXdBcmVhLmNvbG9yID0gJyM3ZjdmN2YnO1xuICAgIC8vIH1cbiAgICByZXR1cm4gbmV3QXJlYTtcbiAgfSk7XG59O1xuXG5leHBvcnQge1xuICBhcmVhc01hcHBlcixcbiAgZ2V0QXJlYXNUb0NlbnRlckJ5LFxuICAvLyBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzLFxuICAvLyBDb3VudEV2ZW50c1BlclNpdGVJRCxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0E7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFNQSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUN0QkMsV0FBeUIsRUFDekJDLFdBQW9CLEVBQ2pCO0VBQUEsSUFBQUMscUJBQUE7RUFDSCxJQUFNQyxPQUFPLEdBQUdILFdBQVcsYUFBWEEsV0FBVyx3QkFBQUUscUJBQUEsR0FBWEYsV0FBVyxDQUFFSSxZQUFZLGNBQUFGLHFCQUFBLHVCQUF6QkEscUJBQUEsQ0FBMkJHLFlBQVk7RUFDdkQsSUFBSUMsRUFBRSxHQUFHLEVBQVc7RUFFcEIsSUFBSUgsT0FBTyxJQUFJLENBQUFBLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFSSxNQUFNLElBQUcsQ0FBQyxFQUFFO0lBQ2xDLElBQU1DLFVBQVUsR0FBR0wsT0FBTyxDQUFDTSxJQUFJLENBQzdCLFVBQUNDLE1BQU07TUFBQSxPQUFLQSxNQUFNLENBQUNDLElBQUksS0FBSyxnQkFBZ0I7SUFBQSxDQUM5QyxDQUFDO0lBRUQsSUFDRUgsVUFBVSxJQUNWQSxVQUFVLENBQUNJLGdCQUFnQixJQUMzQkMsS0FBSyxDQUFDQyxPQUFPLENBQUNOLFVBQVUsQ0FBQ0ksZ0JBQWdCLENBQUMsSUFDMUNKLFVBQVUsQ0FBQ0ksZ0JBQWdCLENBQUNMLE1BQU0sR0FBRyxDQUFDLEVBQ3RDO01BQ0EsSUFBTVEsT0FBTyxHQUFHUCxVQUFVLENBQUNJLGdCQUFnQixDQUFDSSxHQUFHLENBQUMsVUFBQ0MsSUFBSTtRQUFBLE9BQUtDLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDO01BQUEsRUFBQztNQUN2RSxJQUFNRSxLQUFLLEdBQUdsQixXQUFXLENBQUNTLE1BQU0sQ0FBQyxVQUFDVSxJQUFJO1FBQUEsT0FDcENMLE9BQU8sQ0FBQ00sUUFBUSxDQUFDRCxJQUFJLENBQUNFLE9BQU8sQ0FBQztNQUFBLENBQ2hDLENBQUM7TUFFRGhCLEVBQUUsR0FBR2EsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVILEdBQUcsQ0FBQyxVQUFDTyxJQUFJO1FBQUEsT0FBS0EsSUFBSSxDQUFDQyxVQUFVO01BQUEsRUFBQyxDQUFDQyxJQUFJLENBQUMsQ0FBQztJQUNuRDtFQUNGO0VBRUEsSUFBSSxDQUFDbkIsRUFBRSxJQUFJQSxFQUFFLENBQUNDLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDeEJELEVBQUUsR0FBR0wsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVlLEdBQUcsQ0FBQyxVQUFDTyxJQUFJO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxVQUFVO0lBQUEsRUFBQyxDQUFDQyxJQUFJLENBQUMsQ0FBQztFQUN6RDtFQUVBLE9BQU9uQixFQUFFO0FBQ1gsQ0FBQztBQUFDb0IsT0FBQSxDQUFBM0Isa0JBQUEsR0FBQUEsa0JBQUE7QUFFRixJQUFNNEIsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLFVBQVUsRUFBRUMsdUJBQXVCLEVBQUs7RUFDM0QsT0FBT0QsVUFBVSxDQUFDRSxRQUFRLENBQUNkLEdBQUcsQ0FBQyxVQUFDTyxJQUFJLEVBQUs7SUFDdkMsSUFBTVEsT0FBTyxPQUFBQyxjQUFBLENBQUFDLE9BQUEsTUFBUVYsSUFBSSxDQUFFO0lBQzNCUSxPQUFPLENBQUNHLHNCQUFzQixHQUFHLElBQUk7SUFDckM7SUFDQTtJQUNBO0lBQ0EsT0FBT0gsT0FBTztFQUNoQixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUNMLE9BQUEsQ0FBQUMsV0FBQSxHQUFBQSxXQUFBIn0=
@@ -21,7 +21,8 @@ var Filter = function Filter(props) {
21
21
  setActiveFilterCopy = props.setActiveFilterCopy,
22
22
  parseSelectedItems = props.parseSelectedItems,
23
23
  availableFilterItems = props.availableFilterItems,
24
- applyFilter = props.applyFilter;
24
+ applyFilter = props.applyFilter,
25
+ resetFilter = props.resetFilter;
25
26
  var _useState = (0, _react.useState)({
26
27
  filterItemId: null,
27
28
  show: false
@@ -56,6 +57,7 @@ var Filter = function Filter(props) {
56
57
  activeFilterCopy.filter_items.push({
57
58
  id: filterItem.type,
58
59
  type: filterItem.type,
60
+ max_selected_items: filterItem.max_selected_items,
59
61
  filter_id: activeFilterCopy.id,
60
62
  available_options: filterItem.options,
61
63
  selected_options: []
@@ -112,8 +114,17 @@ var Filter = function Filter(props) {
112
114
  onClick: function onClick() {
113
115
  handleApplyFilter();
114
116
  }
115
- }, _i18n.default.t('events_overview.filter.apply'))))));
117
+ }, _i18n.default.t('events_overview.filter.apply')))), resetFilter && /*#__PURE__*/_react.default.createElement("li", {
118
+ className: 'fixed-action'
119
+ }, /*#__PURE__*/_react.default.createElement("div", {
120
+ className: 'reset-button-container'
121
+ }, /*#__PURE__*/_react.default.createElement("a", {
122
+ className: 'reset-button',
123
+ onClick: function onClick() {
124
+ resetFilter();
125
+ }
126
+ }, _i18n.default.t('events_overview.filter.reset'))))));
116
127
  };
117
128
  var _default = Filter;
118
129
  exports.default = _default;
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FkZCIsIl9pMThuIiwiX0ZpbHRlckl0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkZpbHRlciIsInByb3BzIiwiYWN0aXZlRmlsdGVyQ29weSIsInNldEFjdGl2ZUZpbHRlckNvcHkiLCJwYXJzZVNlbGVjdGVkSXRlbXMiLCJhdmFpbGFibGVGaWx0ZXJJdGVtcyIsImFwcGx5RmlsdGVyIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJmaWx0ZXJJdGVtSWQiLCJzaG93IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwic2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAiLCJjYW1lbFRvU25ha2VDYXNlIiwic3RyIiwidG9Mb3dlckNhc2UiLCJzbGljZSIsImxlbmd0aCIsInJlcGxhY2UiLCJsZXR0ZXIiLCJjb25jYXQiLCJ0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZSIsImZpbHRlckl0ZW1UeXBlIiwiaTE4biIsInQiLCJidWlsZFVuc2VsZWN0ZWRJdGVtcyIsImZpbHRlcl9pdGVtIiwiZmlsdGVyX2l0ZW1zIiwidW5kZWZpbmVkIiwiZmluZCIsInNlbGVjdGVkX2l0ZW0iLCJ0eXBlIiwiY3JlYXRlRWxlbWVudCIsIkl0ZW0iLCJocmVmIiwib25DbGljayIsImFkZEZpbHRlckl0ZW0iLCJmaWx0ZXJJdGVtIiwicHVzaCIsImlkIiwiZmlsdGVyX2lkIiwiYXZhaWxhYmxlX29wdGlvbnMiLCJvcHRpb25zIiwic2VsZWN0ZWRfb3B0aW9ucyIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUFwcGx5RmlsdGVyIiwidXNlRWZmZWN0IiwiY2xhc3NOYW1lIiwibWFwIiwiVG9nZ2xlIiwidmFyaWFudCIsIlJlYWN0Q29tcG9uZW50IiwiaGVpZ2h0Iiwid2lkdGgiLCJNZW51IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnQGtlbnNob291aS9yZWFjdC1tdWx0aS1zZWxlY3QvZGlzdC9zdHlsZS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL0Ryb3Bkb3duJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBsdXNJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hZGQuc3ZnJztcbmltcG9ydCB7IElGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0nO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCAnLi4vLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRmlsdGVySXRlbSBmcm9tICcuL0ZpbHRlckl0ZW0nO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBwYXJzZVNlbGVjdGVkSXRlbXM6IGFueTtcbiAgYXZhaWxhYmxlRmlsdGVySXRlbXM6IGFueTtcbiAgYXBwbHlGaWx0ZXI6IGFueTtcbn07XG5cbmNvbnN0IEZpbHRlcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYWN0aXZlRmlsdGVyQ29weSxcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5LFxuICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBhcHBseUZpbHRlcixcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAsIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwXSA9IHVzZVN0YXRlKHtcbiAgICBmaWx0ZXJJdGVtSWQ6IG51bGwsXG4gICAgc2hvdzogZmFsc2UsXG4gIH0pO1xuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgdHJhbnNsYXRlRmlsdGVySXRlbVR5cGUgPSAoZmlsdGVySXRlbVR5cGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBpMThuLnQoXG4gICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5maWx0ZXJfdHlwZXMuJHtjYW1lbFRvU25ha2VDYXNlKGZpbHRlckl0ZW1UeXBlKX1gLFxuICAgICk7XG4gIH07XG4gIGNvbnN0IGJ1aWxkVW5zZWxlY3RlZEl0ZW1zID0gKGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgIChzZWxlY3RlZF9pdGVtOiBJRmlsdGVySXRlbSkgPT4gc2VsZWN0ZWRfaXRlbS50eXBlID09PSBmaWx0ZXJfaXRlbS50eXBlLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICBrZXk9e2ZpbHRlcl9pdGVtLnR5cGV9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gYWRkRmlsdGVySXRlbShmaWx0ZXJfaXRlbSwgYWN0aXZlRmlsdGVyQ29weSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbVR5cGUoZmlsdGVyX2l0ZW0udHlwZSl9XG4gICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBhbnksIGFjdGl2ZUZpbHRlckNvcHk6IGFueSkgPT4ge1xuICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnB1c2goe1xuICAgICAgaWQ6IGZpbHRlckl0ZW0udHlwZSxcbiAgICAgIHR5cGU6IGZpbHRlckl0ZW0udHlwZSxcbiAgICAgIGZpbHRlcl9pZDogYWN0aXZlRmlsdGVyQ29weS5pZCxcbiAgICAgIGF2YWlsYWJsZV9vcHRpb25zOiBmaWx0ZXJJdGVtLm9wdGlvbnMsXG4gICAgICBzZWxlY3RlZF9vcHRpb25zOiBbXSxcbiAgICB9KTtcblxuICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZUZpbHRlckR1cGxpY2F0ZSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQXBwbHlGaWx0ZXIgPSAoKSA9PiB7XG4gICAgYXBwbHlGaWx0ZXIoKTtcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCh7IGZpbHRlckl0ZW1JZDogbnVsbCwgc2hvdzogZmFsc2UgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcHBseUZpbHRlcigpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlcid9PlxuICAgICAgPHVsXG4gICAgICAgIGNsYXNzTmFtZT17YGZpbHRlcl9pdGVtcyAke1xuICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmxlbmd0aCA9PT0gYXZhaWxhYmxlRmlsdGVySXRlbXMubGVuZ3RoXG4gICAgICAgICAgICA/ICdmaWx0ZXJfaXRlbXMtLWRpc2FibGVkJ1xuICAgICAgICAgICAgOiAnJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAge2FjdGl2ZUZpbHRlckNvcHkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5tYXAoKGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbSkgPT4gKFxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtJ30ga2V5PXtmaWx0ZXJfaXRlbS5pZH0+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJdGVtXG4gICAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyQ29weT17YWN0aXZlRmlsdGVyQ29weX1cbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5PXtzZXRBY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICAgIGZpbHRlcl9pdGVtPXtmaWx0ZXJfaXRlbX1cbiAgICAgICAgICAgICAgICBwYXJzZVNlbGVjdGVkSXRlbXM9e3BhcnNlU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcz17YXZhaWxhYmxlRmlsdGVySXRlbXN9XG4gICAgICAgICAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwPXtzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDxsaSBjbGFzc05hbWU9eydmaXhlZC1hY3Rpb24nfT5cbiAgICAgICAgICA8RHJvcGRvd24gY2xhc3NOYW1lPXsnYXZhaWxhYmxlLWZpbHRlci1pdGVtcyd9PlxuICAgICAgICAgICAgPERyb3Bkb3duLlRvZ2dsZSB2YXJpYW50PVwic3VjY2Vzc1wiIGlkPVwiZHJvcGRvd24tYmFzaWNcIj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgPFBsdXNJY29uIGNsYXNzTmFtZT1cInBsdXMtaWNvblwiIGhlaWdodD1cIjE1cHhcIiB3aWR0aD1cIjE1cHhcIiAvPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYWRkX2ZpbHRlcl9pdGVtJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvRHJvcGRvd24uVG9nZ2xlPlxuXG4gICAgICAgICAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIHthdmFpbGFibGVGaWx0ZXJJdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUZpbHRlckl0ZW1zLm1hcCgoZmlsdGVyX2l0ZW06IElGaWx0ZXJJdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICBidWlsZFVuc2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzc05hbWU9eydmaXhlZC1hY3Rpb24nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2FwcGx5LWJ1dHRvbi1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5LWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVBcHBseUZpbHRlcigpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmFwcGx5Jyl9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUFnRCxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFHaEQsSUFBQU0sS0FBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFBc0MsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxr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
130
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FkZCIsIl9pMThuIiwiX0ZpbHRlckl0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkZpbHRlciIsInByb3BzIiwiYWN0aXZlRmlsdGVyQ29weSIsInNldEFjdGl2ZUZpbHRlckNvcHkiLCJwYXJzZVNlbGVjdGVkSXRlbXMiLCJhdmFpbGFibGVGaWx0ZXJJdGVtcyIsImFwcGx5RmlsdGVyIiwicmVzZXRGaWx0ZXIiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsImZpbHRlckl0ZW1JZCIsInNob3ciLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAiLCJzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsImNhbWVsVG9TbmFrZUNhc2UiLCJzdHIiLCJ0b0xvd2VyQ2FzZSIsInNsaWNlIiwibGVuZ3RoIiwicmVwbGFjZSIsImxldHRlciIsImNvbmNhdCIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJpMThuIiwidCIsImJ1aWxkVW5zZWxlY3RlZEl0ZW1zIiwiZmlsdGVyX2l0ZW0iLCJmaWx0ZXJfaXRlbXMiLCJ1bmRlZmluZWQiLCJmaW5kIiwic2VsZWN0ZWRfaXRlbSIsInR5cGUiLCJjcmVhdGVFbGVtZW50IiwiSXRlbSIsImhyZWYiLCJvbkNsaWNrIiwiYWRkRmlsdGVySXRlbSIsImZpbHRlckl0ZW0iLCJwdXNoIiwiaWQiLCJtYXhfc2VsZWN0ZWRfaXRlbXMiLCJmaWx0ZXJfaWQiLCJhdmFpbGFibGVfb3B0aW9ucyIsIm9wdGlvbnMiLCJzZWxlY3RlZF9vcHRpb25zIiwiYWN0aXZlRmlsdGVyRHVwbGljYXRlIiwiYXNzaWduIiwiaGFuZGxlQXBwbHlGaWx0ZXIiLCJ1c2VFZmZlY3QiLCJjbGFzc05hbWUiLCJtYXAiLCJUb2dnbGUiLCJ2YXJpYW50IiwiUmVhY3RDb21wb25lbnQiLCJoZWlnaHQiLCJ3aWR0aCIsIk1lbnUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRzX2xpc3QvRmlsdGVyL0ZpbHRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAa2Vuc2hvb3VpL3JlYWN0LW11bHRpLXNlbGVjdC9kaXN0L3N0eWxlLmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEcm9wZG93biBmcm9tICdyZWFjdC1ib290c3RyYXAvRHJvcGRvd24nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgUGx1c0ljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2FkZC5zdmcnO1xuaW1wb3J0IHsgSUZpbHRlckl0ZW0gfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVySXRlbSc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0ICcuLi8uLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBGaWx0ZXJJdGVtIGZyb20gJy4vRmlsdGVySXRlbSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBhY3RpdmVGaWx0ZXJDb3B5OiBhbnk7XG4gIHNldEFjdGl2ZUZpbHRlckNvcHk6IFJlYWN0LkRpc3BhdGNoPGFueT47XG4gIHBhcnNlU2VsZWN0ZWRJdGVtczogYW55O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBhcHBseUZpbHRlcjogYW55O1xuICByZXNldEZpbHRlcjogYW55O1xufTtcblxuY29uc3QgRmlsdGVyOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhY3RpdmVGaWx0ZXJDb3B5LFxuICAgIHNldEFjdGl2ZUZpbHRlckNvcHksXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGF2YWlsYWJsZUZpbHRlckl0ZW1zLFxuICAgIGFwcGx5RmlsdGVyLFxuICAgIHJlc2V0RmlsdGVyLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCwgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXBdID0gdXNlU3RhdGUoe1xuICAgIGZpbHRlckl0ZW1JZDogbnVsbCxcbiAgICBzaG93OiBmYWxzZSxcbiAgfSk7XG4gIGNvbnN0IGNhbWVsVG9TbmFrZUNhc2UgPSAoc3RyOiBzdHJpbmcpID0+XG4gICAgc3RyWzBdLnRvTG93ZXJDYXNlKCkgK1xuICAgIHN0clxuICAgICAgLnNsaWNlKDEsIHN0ci5sZW5ndGgpXG4gICAgICAucmVwbGFjZSgvW0EtWl0vZywgKGxldHRlcikgPT4gYF8ke2xldHRlci50b0xvd2VyQ2FzZSgpfWApO1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZSA9IChmaWx0ZXJJdGVtVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGkxOG4udChcbiAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcl90eXBlcy4ke2NhbWVsVG9TbmFrZUNhc2UoZmlsdGVySXRlbVR5cGUpfWAsXG4gICAgKTtcbiAgfTtcbiAgY29uc3QgYnVpbGRVbnNlbGVjdGVkSXRlbXMgPSAoZmlsdGVyX2l0ZW06IElGaWx0ZXJJdGVtKSA9PiB7XG4gICAgaWYgKFxuICAgICAgYWN0aXZlRmlsdGVyQ29weS5maWx0ZXJfaXRlbXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYWN0aXZlRmlsdGVyQ29weS5maWx0ZXJfaXRlbXMuZmluZChcbiAgICAgICAgKHNlbGVjdGVkX2l0ZW06IElGaWx0ZXJJdGVtKSA9PiBzZWxlY3RlZF9pdGVtLnR5cGUgPT09IGZpbHRlcl9pdGVtLnR5cGUsXG4gICAgICApID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgIGtleT17ZmlsdGVyX2l0ZW0udHlwZX1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhZGRGaWx0ZXJJdGVtKGZpbHRlcl9pdGVtLCBhY3RpdmVGaWx0ZXJDb3B5KX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZShmaWx0ZXJfaXRlbS50eXBlKX1cbiAgICAgICAgPC9Ecm9wZG93bi5JdGVtPlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhZGRGaWx0ZXJJdGVtID0gKGZpbHRlckl0ZW06IGFueSwgYWN0aXZlRmlsdGVyQ29weTogYW55KSA9PiB7XG4gICAgYWN0aXZlRmlsdGVyQ29weS5maWx0ZXJfaXRlbXMucHVzaCh7XG4gICAgICBpZDogZmlsdGVySXRlbS50eXBlLFxuICAgICAgdHlwZTogZmlsdGVySXRlbS50eXBlLFxuICAgICAgbWF4X3NlbGVjdGVkX2l0ZW1zOiBmaWx0ZXJJdGVtLm1heF9zZWxlY3RlZF9pdGVtcyxcbiAgICAgIGZpbHRlcl9pZDogYWN0aXZlRmlsdGVyQ29weS5pZCxcbiAgICAgIGF2YWlsYWJsZV9vcHRpb25zOiBmaWx0ZXJJdGVtLm9wdGlvbnMsXG4gICAgICBzZWxlY3RlZF9vcHRpb25zOiBbXSxcbiAgICB9KTtcblxuICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZUZpbHRlckR1cGxpY2F0ZSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQXBwbHlGaWx0ZXIgPSAoKSA9PiB7XG4gICAgYXBwbHlGaWx0ZXIoKTtcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCh7IGZpbHRlckl0ZW1JZDogbnVsbCwgc2hvdzogZmFsc2UgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcHBseUZpbHRlcigpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlcid9PlxuICAgICAgPHVsXG4gICAgICAgIGNsYXNzTmFtZT17YGZpbHRlcl9pdGVtcyAke1xuICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmxlbmd0aCA9PT0gYXZhaWxhYmxlRmlsdGVySXRlbXMubGVuZ3RoXG4gICAgICAgICAgICA/ICdmaWx0ZXJfaXRlbXMtLWRpc2FibGVkJ1xuICAgICAgICAgICAgOiAnJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAge2FjdGl2ZUZpbHRlckNvcHkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5tYXAoKGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbSkgPT4gKFxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtJ30ga2V5PXtmaWx0ZXJfaXRlbS5pZH0+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJdGVtXG4gICAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyQ29weT17YWN0aXZlRmlsdGVyQ29weX1cbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5PXtzZXRBY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICAgIGZpbHRlcl9pdGVtPXtmaWx0ZXJfaXRlbX1cbiAgICAgICAgICAgICAgICBwYXJzZVNlbGVjdGVkSXRlbXM9e3BhcnNlU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcz17YXZhaWxhYmxlRmlsdGVySXRlbXN9XG4gICAgICAgICAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwPXtzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDxsaSBjbGFzc05hbWU9eydmaXhlZC1hY3Rpb24nfT5cbiAgICAgICAgICA8RHJvcGRvd24gY2xhc3NOYW1lPXsnYXZhaWxhYmxlLWZpbHRlci1pdGVtcyd9PlxuICAgICAgICAgICAgPERyb3Bkb3duLlRvZ2dsZSB2YXJpYW50PVwic3VjY2Vzc1wiIGlkPVwiZHJvcGRvd24tYmFzaWNcIj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgPFBsdXNJY29uIGNsYXNzTmFtZT1cInBsdXMtaWNvblwiIGhlaWdodD1cIjE1cHhcIiB3aWR0aD1cIjE1cHhcIiAvPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYWRkX2ZpbHRlcl9pdGVtJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvRHJvcGRvd24uVG9nZ2xlPlxuXG4gICAgICAgICAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIHthdmFpbGFibGVGaWx0ZXJJdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUZpbHRlckl0ZW1zLm1hcCgoZmlsdGVyX2l0ZW06IElGaWx0ZXJJdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICBidWlsZFVuc2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzc05hbWU9eydmaXhlZC1hY3Rpb24nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2FwcGx5LWJ1dHRvbi1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FwcGx5LWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVBcHBseUZpbHRlcigpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmFwcGx5Jyl9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIHtyZXNldEZpbHRlciAmJiAoXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT17J2ZpeGVkLWFjdGlvbid9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyZXNldC1idXR0b24tY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsncmVzZXQtYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnJlc2V0Jyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICl9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUFnRCxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFHaEQsSUFBQU0sS0FBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFBc0MsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENB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
@@ -42,7 +42,9 @@ var FilterContainer = function FilterContainer(props) {
42
42
  filterPopupOpen = props.filterPopupOpen,
43
43
  applyLogic = props.applyLogic,
44
44
  _props$fetchType = props.fetchType,
45
- fetchType = _props$fetchType === void 0 ? 'EventFilters' : _props$fetchType;
45
+ fetchType = _props$fetchType === void 0 ? 'EventFilters' : _props$fetchType,
46
+ _props$resetFilter = props.resetFilter,
47
+ resetFilter = _props$resetFilter === void 0 ? null : _props$resetFilter;
46
48
  var dispatch = (0, _reactRedux.useDispatch)();
47
49
  var nameInput = (0, _react.useRef)(null);
48
50
  var filterContent = (0, _react.useRef)(null);
@@ -67,10 +69,14 @@ var FilterContainer = function FilterContainer(props) {
67
69
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
68
70
  activeFilter = _useState10[0],
69
71
  setActiveFilter = _useState10[1];
70
- var _useState11 = (0, _react.useState)(undefined),
72
+ var _useState11 = (0, _react.useState)({}),
71
73
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
72
- activeFilterCopy = _useState12[0],
73
- setActiveFilterCopy = _useState12[1];
74
+ defaultFilters = _useState12[0],
75
+ setDefaultFilters = _useState12[1];
76
+ var _useState13 = (0, _react.useState)(undefined),
77
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
78
+ activeFilterCopy = _useState14[0],
79
+ setActiveFilterCopy = _useState14[1];
74
80
  // @ts-ignore
75
81
  var csrf = document.querySelector("meta[name='csrf-token']").getAttribute('content');
76
82
  var useQuery = function useQuery() {
@@ -81,6 +87,11 @@ var FilterContainer = function FilterContainer(props) {
81
87
  var getKQLFromURL = function getKQLFromURL() {
82
88
  return query.get('valuesFromKQL');
83
89
  };
90
+ var handleResetFilter = function handleResetFilter() {
91
+ var defaultFiltersClone = JSON.parse(JSON.stringify(defaultFilters));
92
+ resetFilter && resetFilter(defaultFiltersClone);
93
+ setActiveFilterCopy(defaultFiltersClone);
94
+ };
84
95
  var getPointsToFilters = function getPointsToFilters(availableFilterItems, filters) {
85
96
  var interestPointFilterItem = availableFilterItems.find(function (f) {
86
97
  return f.type === 'InterestPointFilterItem';
@@ -158,6 +169,7 @@ var FilterContainer = function FilterContainer(props) {
158
169
  siteID = _useParams.siteID,
159
170
  areaID = _useParams.areaID;
160
171
  var getData = function getData() {
172
+ var firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
161
173
  fetch("/ui_filters.json?water_authority_id=".concat(global_data.waterAuthorityId, "&filter_type=").concat(fetchType, "&valuesFromKQL=").concat(getKQLFromURL()).concat(siteID ? "&site_id=".concat(siteID) : '').concat(areaID ? "&area_id=".concat(areaID) : '')).then(function (response) {
162
174
  return response.json();
163
175
  }).then(function (json) {
@@ -175,6 +187,10 @@ var FilterContainer = function FilterContainer(props) {
175
187
  setActiveFilter(active);
176
188
  setActiveFilterCopy(active);
177
189
  }
190
+ if (firstTime) {
191
+ var defaultFiltersClone = JSON.parse(JSON.stringify(active));
192
+ setDefaultFilters(defaultFiltersClone);
193
+ }
178
194
  applyFilter(active);
179
195
  });
180
196
  };
@@ -303,7 +319,7 @@ var FilterContainer = function FilterContainer(props) {
303
319
  setWaId(getWaIdFromURL());
304
320
  if (!rendered) {
305
321
  setRendered(true);
306
- getData();
322
+ getData(!rendered);
307
323
  } else {
308
324
  if (global_data.eventFilterParam === '' && filters.length !== 0) {
309
325
  var filter = filters.find(function (filter) {
@@ -383,10 +399,11 @@ var FilterContainer = function FilterContainer(props) {
383
399
  activeFilterCopy: activeFilterCopy,
384
400
  availableFilterItems: availableFilterItems,
385
401
  parseSelectedItems: _kql.parseSelectedItems,
386
- applyFilter: applyFilter
402
+ applyFilter: applyFilter,
403
+ resetFilter: resetFilter ? handleResetFilter : null
387
404
  }))));
388
405
  };
389
406
  var connector = (0, _reactRedux.connect)(mapStateToProps);
390
407
  var _default = connector(FilterContainer);
391
408
  exports.default = _default;
392
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZGlza2V0dGUiLCJfbGlzdCIsIl9hY3Rpb25zIiwiX2kxOG4iLCJfa3FsIiwiX0ZpbHRlciIsIl9GaWx0ZXJzRHJvcERvd24iLCJfYWN0aW9uc0NyZWF0b3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwicG9pbnRzX2RhdGEiLCJGaWx0ZXJDb250YWluZXIiLCJwcm9wcyIsImN1c3RvbV9wb2ludHMiLCJmaWx0ZXJQb3B1cE9wZW4iLCJhcHBseUxvZ2ljIiwiX3Byb3BzJGZldGNoVHlwZSIsImZldGNoVHlwZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJuYW1lSW5wdXQiLCJ1c2VSZWYiLCJmaWx0ZXJDb250ZW50IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiZmlsdGVycyIsInNldEZpbHRlcnMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImF2YWlsYWJsZUZpbHRlckl0ZW1zIiwic2V0QXZhaWxhYmxlRmlsdGVySXRlbXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInJlbmRlcmVkIiwic2V0UmVuZGVyZWQiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsIldhSWQiLCJzZXRXYUlkIiwiX3VzZVN0YXRlOSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTEwIiwiYWN0aXZlRmlsdGVyIiwic2V0QWN0aXZlRmlsdGVyIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiY3NyZiIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImdldEF0dHJpYnV0ZSIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwidXNlTG9jYXRpb24iLCJzZWFyY2giLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMRnJvbVVSTCIsImdldFBvaW50c1RvRmlsdGVycyIsImludGVyZXN0UG9pbnRGaWx0ZXJJdGVtIiwiZmluZCIsImYiLCJ0eXBlIiwiZmlsdGVyZWRQb2ludHNEYXRhIiwiaXRlbXMiLCJmaWx0ZXIiLCJwb2ludCIsInBhcnRfb2Zfb2JzZXJ2YXRpb24iLCJtYXAiLCJpZCIsIm5hbWUiLCJncm91cCIsIm9wdGlvbnMiLCJmb3JFYWNoIiwiZmlsdGVySXRlbSIsImZpbHRlcl9pdGVtcyIsImZpIiwiYXZhaWxhYmxlX29wdGlvbnMiLCJ1cGRhdGVTaXRlVG9GaWx0ZXJzIiwic2l0ZUZpbHRlckl0ZW0iLCJmZXRjaEV2ZW50RmlsdGVycyIsInByZXBhcmVkUGFyYW1zIiwibWV0aG9kIiwidXJsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZmV0Y2giLCJoZWFkZXJzIiwiQWNjZXB0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwiZGF0YSIsImF2YWlsYWJsZV9maWx0ZXJfaXRlbXMiLCJzYXZlZCIsImRlZXBDbG9uZSIsInBhcnNlIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsImdldERhdGEiLCJjb25jYXQiLCJ3YXRlckF1dGhvcml0eUlkIiwianNvblNoYWxsb3dDb3B5IiwiYXNzaWduIiwiYWN0aXZlIiwiZGlzcGxheWVkX2ZpbHRlciIsInNlbGVjdGVkUGVyaW9kIiwic2VsZWN0ZWRfb3B0aW9ucyIsImFjdGl2YXRlRmlsdGVyIiwiYXBwbHlGaWx0ZXIiLCJoYW5kbGVGaWx0ZXJDaGFuZ2UiLCJjdXJyZW50IiwiY2xpY2siLCJzYXZlQWN0aXZlRmlsdGVyIiwiY2xvbmVkRmlsdGVycyIsImZpbHRlclRvTW9kaWZ5SW5kZXgiLCJpbmRleE9mIiwiZmlsdGVyX3R5cGUiLCJ1aV9maWx0ZXIiLCJpc19hY3RpdmUiLCJNYXRoIiwic2lnbiIsImNyZWF0ZUZpbHRlciIsIm5ld0ZpbHRlciIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJkZWxldGVGaWx0ZXIiLCJnZXRFdmVudElkRnJvbVVSTCIsImdldFdhSWRGcm9tVVJMIiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsInZhbHVlIiwibmF2Q29udGV4dCIsImluY2x1ZGVzIiwicHVzaCIsImxvY2FsZSIsImJ1aWxkS1FMUXVlcnkiLCJzZXRFdmVudEZpbHRlclBhcmFtIiwic2V0QWN0aXZlRmlsdGVyR2xvYmFsbHkiLCJzZXRTYW1wbGluZ0RhdGEiLCJjdXJyZW50UGFnZSIsImlzRmV0Y2giLCJoYW5kbGVDcmVhdGlvbkNsaWNrIiwidXNlRWZmZWN0IiwiZXZlbnRGaWx0ZXJQYXJhbSIsImNsZWFudXAiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicmVmIiwiaTE4biIsInQiLCJUb2dnbGUiLCJ2YXJpYW50IiwiUmVhY3RDb21wb25lbnQiLCJoZWlnaHQiLCJ3aWR0aCIsImZpbGwiLCJNZW51IiwiSXRlbSIsImRpc2FibGVkIiwib25DbGljayIsIkZvcm1Db250cm9sIiwicGxhY2Vob2xkZXIiLCJhdXRvRm9jdXMiLCJCdXR0b24iLCJwYXJzZVNlbGVjdGVkSXRlbXMiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIEZvcm1Db250cm9sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBEcm9wZG93biBmcm9tICdyZWFjdC1ib290c3RyYXAvRHJvcGRvd24nO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24sIHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgU2F2ZUljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Rpc2tldHRlLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBMaXN0SWNvbiB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbGlzdC5zdmcnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSUZpbHRlciB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXInO1xuaW1wb3J0IHsgSUZpbHRlckl0ZW0gfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVySXRlbSc7XG5pbXBvcnQge1xuICBzZXRBY3RpdmVGaWx0ZXJHbG9iYWxseSxcbiAgc2V0RXZlbnRGaWx0ZXJQYXJhbSxcbn0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSwgcGFyc2VTZWxlY3RlZEl0ZW1zIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuL0ZpbHRlclN0eWxlLnNjc3MnO1xuaW1wb3J0IEZpbHRlciBmcm9tICcuL0ZpbHRlcic7XG5pbXBvcnQgRmlsdGVyc0Ryb3BEb3duIGZyb20gJy4vRmlsdGVyc0Ryb3BEb3duJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgbmF2X2NvbnRleHRfZGF0YSwgcG9pbnRzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZmlsdGVyUG9wdXBPcGVuOiBib29sZWFuO1xuICBmZXRjaFR5cGU6IHN0cmluZztcbiAgY3VzdG9tX3BvaW50cz86IGFueTtcbiAgYXBwbHlMb2dpYz86ICh2YWx1ZXM6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEZpbHRlckNvbnRhaW5lcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBjdXN0b21fcG9pbnRzLFxuICAgIGZpbHRlclBvcHVwT3BlbixcbiAgICBhcHBseUxvZ2ljLFxuICAgIGZldGNoVHlwZSA9ICdFdmVudEZpbHRlcnMnLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmFtZUlucHV0ID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBmaWx0ZXJDb250ZW50ID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgW2ZpbHRlcnMsIHNldEZpbHRlcnNdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFthdmFpbGFibGVGaWx0ZXJJdGVtcywgc2V0QXZhaWxhYmxlRmlsdGVySXRlbXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbcmVuZGVyZWQsIHNldFJlbmRlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW1dhSWQsIHNldFdhSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4oKTtcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgW2FjdGl2ZUZpbHRlciwgc2V0QWN0aXZlRmlsdGVyXSA9IHVzZVN0YXRlPGFueT4odW5kZWZpbmVkKTtcbiAgY29uc3QgW2FjdGl2ZUZpbHRlckNvcHksIHNldEFjdGl2ZUZpbHRlckNvcHldID0gdXNlU3RhdGU8YW55Pih1bmRlZmluZWQpO1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IGNzcmYgPSBkb2N1bWVudFxuICAgIC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcbiAgICAuZ2V0QXR0cmlidXRlKCdjb250ZW50Jyk7XG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcblxuICBjb25zdCBnZXRQb2ludHNUb0ZpbHRlcnMgPSAoYXZhaWxhYmxlRmlsdGVySXRlbXM6IGFueSwgZmlsdGVyczogYW55KSA9PiB7XG4gICAgbGV0IGludGVyZXN0UG9pbnRGaWx0ZXJJdGVtID0gYXZhaWxhYmxlRmlsdGVySXRlbXMuZmluZChcbiAgICAgIChmOiBJRmlsdGVySXRlbSkgPT4gZi50eXBlID09PSAnSW50ZXJlc3RQb2ludEZpbHRlckl0ZW0nLFxuICAgICk7XG4gICAgbGV0IGZpbHRlcmVkUG9pbnRzRGF0YSA9XG4gICAgICBjdXN0b21fcG9pbnRzIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtc1xuICAgICAgICAuZmlsdGVyKChwb2ludDogSVBvaW50KSA9PiBwb2ludC5wYXJ0X29mX29ic2VydmF0aW9uID09PSB0cnVlKVxuICAgICAgICAubWFwKChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHBvaW50LmlkLCBuYW1lOiBwb2ludC5ncm91cC5uYW1lIH07XG4gICAgICAgIH0pO1xuXG4gICAgaWYgKGludGVyZXN0UG9pbnRGaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVyZXN0UG9pbnRGaWx0ZXJJdGVtLm9wdGlvbnMgPSBmaWx0ZXJlZFBvaW50c0RhdGE7XG4gICAgfVxuXG4gICAgZmlsdGVycy5mb3JFYWNoKChmOiBJRmlsdGVyKSA9PiB7XG4gICAgICBsZXQgZmlsdGVySXRlbSA9IGYuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgIChmaTogSUZpbHRlckl0ZW0pID0+IGZpLnR5cGUgPT09ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgICApO1xuXG4gICAgICBpZiAoZmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgPSBmaWx0ZXJlZFBvaW50c0RhdGE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGN1c3RvbV9wb2ludHMpIHtcbiAgICAgIHVwZGF0ZVNpdGVUb0ZpbHRlcnMoYXZhaWxhYmxlRmlsdGVySXRlbXMsIGZpbHRlcnMpO1xuICAgIH1cbiAgICBzZXRGaWx0ZXJzKGZpbHRlcnMpO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZVNpdGVUb0ZpbHRlcnMgPSAoYXZhaWxhYmxlRmlsdGVySXRlbXM6IGFueSwgZmlsdGVyczogYW55KSA9PiB7XG4gICAgbGV0IHNpdGVGaWx0ZXJJdGVtID0gYXZhaWxhYmxlRmlsdGVySXRlbXMuZmluZChcbiAgICAgIChmOiBJRmlsdGVySXRlbSkgPT4gZi50eXBlID09PSAnU2l0ZUZpbHRlckl0ZW0nLFxuICAgICk7XG4gICAgbGV0IGZpbHRlcmVkUG9pbnRzRGF0YSA9IGN1c3RvbV9wb2ludHM7XG5cbiAgICBpZiAoc2l0ZUZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2l0ZUZpbHRlckl0ZW0ub3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICB9XG5cbiAgICBmaWx0ZXJzLmZvckVhY2goKGY6IElGaWx0ZXIpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJJdGVtID0gZi5maWx0ZXJfaXRlbXMuZmluZChcbiAgICAgICAgKGZpOiBJRmlsdGVySXRlbSkgPT4gZmkudHlwZSA9PT0gJ1NpdGVGaWx0ZXJJdGVtJyxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVySXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBmZXRjaEV2ZW50RmlsdGVycyA9IChcbiAgICBwcmVwYXJlZFBhcmFtczogYW55LFxuICAgIG1ldGhvZDogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGZpbHRlcjogYW55ID0gbnVsbCxcbiAgKSA9PiB7XG4gICAgaWYgKGNzcmYgIT09IG51bGwpIHtcbiAgICAgIGZldGNoKHVybCwge1xuICAgICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgJ1gtQ1NSRi1Ub2tlbic6IGNzcmYsXG4gICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHByZXBhcmVkUGFyYW1zKSxcbiAgICAgIH0pXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIGdldFBvaW50c1RvRmlsdGVycyhkYXRhLmF2YWlsYWJsZV9maWx0ZXJfaXRlbXMsIGRhdGEuZmlsdGVycyk7XG5cbiAgICAgICAgICBpZiAoZmlsdGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgc2F2ZWQgPSBkYXRhLmZpbHRlcnMuZmluZChcbiAgICAgICAgICAgICAgKGY6IElGaWx0ZXIpID0+IGYubmFtZSA9PT0gZmlsdGVyLm5hbWUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyKHNhdmVkKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoc2F2ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRlZXBDbG9uZSA9IChkYXRhOiBhbnkpID0+IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gIH07XG5cbiAgY29uc3QgeyBzaXRlSUQsIGFyZWFJRCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgZ2V0RGF0YSA9ICgpID0+IHtcbiAgICBmZXRjaChcbiAgICAgIGAvdWlfZmlsdGVycy5qc29uP3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICB9JmZpbHRlcl90eXBlPSR7ZmV0Y2hUeXBlfSZ2YWx1ZXNGcm9tS1FMPSR7Z2V0S1FMRnJvbVVSTCgpfSR7XG4gICAgICAgIHNpdGVJRCA/IGAmc2l0ZV9pZD0ke3NpdGVJRH1gIDogJydcbiAgICAgIH0ke2FyZWFJRCA/IGAmYXJlYV9pZD0ke2FyZWFJRH1gIDogJyd9YCxcbiAgICApXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgIGdldFBvaW50c1RvRmlsdGVycyhqc29uLmF2YWlsYWJsZV9maWx0ZXJfaXRlbXMsIGpzb24uZmlsdGVycyk7XG5cbiAgICAgICAgbGV0IGpzb25TaGFsbG93Q29weSA9IE9iamVjdC5hc3NpZ24oe30sIGpzb24pO1xuICAgICAgICBqc29uU2hhbGxvd0NvcHkuZmlsdGVycyA9IGRlZXBDbG9uZShqc29uU2hhbGxvd0NvcHkuZmlsdGVycyk7XG4gICAgICAgIGxldCBhY3RpdmUgPSBqc29uU2hhbGxvd0NvcHkuZGlzcGxheWVkX2ZpbHRlcjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2VsZWN0ZWRQZXJpb2QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGdsb2JhbF9kYXRhLnNlbGVjdGVkUGVyaW9kICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIGFjdGl2ZS5maWx0ZXJfaXRlbXNbMV0uc2VsZWN0ZWRfb3B0aW9ucyA9IFtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgIF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWN0aXZlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhY3RpdmF0ZUZpbHRlcihqc29uU2hhbGxvd0NvcHkuZmlsdGVyc1swXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0QXZhaWxhYmxlRmlsdGVySXRlbXMoanNvblNoYWxsb3dDb3B5LmF2YWlsYWJsZV9maWx0ZXJfaXRlbXMpO1xuICAgICAgICAgIHNldEFjdGl2ZUZpbHRlcihhY3RpdmUpO1xuICAgICAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFwcGx5RmlsdGVyKGFjdGl2ZSk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVGaWx0ZXJDaGFuZ2UgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgc2V0QWN0aXZlRmlsdGVyKGRlZXBDbG9uZShmaWx0ZXIpKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRlZXBDbG9uZShmaWx0ZXIpKTtcbiAgICBmaWx0ZXJDb250ZW50LmN1cnJlbnQhLmNsaWNrKCk7XG4gIH07XG5cbiAgY29uc3Qgc2F2ZUFjdGl2ZUZpbHRlciA9IChcbiAgICBmaWx0ZXI6XG4gICAgICB8IElGaWx0ZXJcbiAgICAgIHwge1xuICAgICAgICAgIGlkOiBudW1iZXI7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGZpbHRlcl9pdGVtczogSUZpbHRlckl0ZW1bXTtcbiAgICAgICAgICBpc19hY3RpdmU6IGJvb2xlYW47XG4gICAgICAgIH0sXG4gICkgPT4ge1xuICAgIGxldCBjbG9uZWRGaWx0ZXJzID0gZGVlcENsb25lKGZpbHRlcnMpO1xuICAgIGxldCBmaWx0ZXJUb01vZGlmeUluZGV4ID0gY2xvbmVkRmlsdGVycy5pbmRleE9mKFxuICAgICAgY2xvbmVkRmlsdGVycy5maW5kKChmOiBhbnkpID0+IGYuaWQgPT09IGZpbHRlci5pZCksXG4gICAgKTtcbiAgICBsZXQgcHJlcGFyZWRQYXJhbXMgPSB7XG4gICAgICBmaWx0ZXJfdHlwZTogZmV0Y2hUeXBlLFxuICAgICAgdWlfZmlsdGVyOiB7XG4gICAgICAgIG5hbWU6IGZpbHRlci5uYW1lLFxuICAgICAgICBpc19hY3RpdmU6IGZpbHRlci5pc19hY3RpdmUsXG4gICAgICAgIGZpbHRlcl9pdGVtczogSlNPTi5zdHJpbmdpZnkoZmlsdGVyLmZpbHRlcl9pdGVtcyksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjbG9uZWRGaWx0ZXJzW2ZpbHRlclRvTW9kaWZ5SW5kZXhdID0gZmlsdGVyO1xuICAgIHNldEZpbHRlcnMoY2xvbmVkRmlsdGVycyk7XG4gICAgc2V0QWN0aXZlRmlsdGVyKGZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShmaWx0ZXIpO1xuXG4gICAgaWYgKE1hdGguc2lnbihmaWx0ZXIuaWQpID4gMCkge1xuICAgICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICAgIHByZXBhcmVkUGFyYW1zLFxuICAgICAgICAnUFVUJyxcbiAgICAgICAgYC91aV9maWx0ZXJzLyR7ZmlsdGVyLmlkfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZldGNoRXZlbnRGaWx0ZXJzKFxuICAgICAgICBwcmVwYXJlZFBhcmFtcyxcbiAgICAgICAgJ1BPU1QnLFxuICAgICAgICBgL3VpX2ZpbHRlcnM/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH1gLFxuICAgICAgICBmaWx0ZXIsXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjcmVhdGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgbmV3RmlsdGVyID0ge1xuICAgICAgaWQ6IC0xLFxuICAgICAgbmFtZTogbmFtZSxcbiAgICAgIGZpbHRlcl9pdGVtczogZmlsdGVyLmZpbHRlcl9pdGVtcyxcbiAgICAgIGlzX2FjdGl2ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHNldEZpbHRlcnMoWy4uLmZpbHRlcnMsIG5ld0ZpbHRlcl0pO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkobmV3RmlsdGVyKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXIobmV3RmlsdGVyKTtcbiAgICBzYXZlQWN0aXZlRmlsdGVyKG5ld0ZpbHRlcik7XG4gIH07XG5cbiAgY29uc3QgZGVsZXRlRmlsdGVyID0gKGZpbHRlcjogSUZpbHRlcikgPT4ge1xuICAgIGlmIChjc3JmICE9PSBudWxsICYmIGZpbHRlci5pZCAhPT0gLTEpIHtcbiAgICAgIGZldGNoKFxuICAgICAgICBgL3VpX2ZpbHRlcnMvJHtmaWx0ZXIuaWR9P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmZpbHRlcl90eXBlPSR7ZmV0Y2hUeXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdYLUNTUkYtVG9rZW4nOiBjc3JmLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIGxldCBhY3RpdmUgPSBkYXRhLmZpbHRlcnMuZmluZChcbiAgICAgICAgICAgIChmaWx0ZXI6IElGaWx0ZXIpID0+IGZpbHRlci5pc19hY3RpdmUgPT09IHRydWUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChhY3RpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2V0RmlsdGVycyhkYXRhLmZpbHRlcnMpO1xuICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyKGFjdGl2ZSk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChkYXRhLmZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGdldERhdGEoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGRhdGEuZmlsdGVyc1swXS5pc19hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoZGF0YS5maWx0ZXJzWzBdKTtcbiAgICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weShkYXRhLmZpbHRlcnNbMF0pO1xuICAgICAgICAgICAgICBzZXRGaWx0ZXJzKGRhdGEuZmlsdGVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGdldFdhSWRGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuXG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuXG4gIGNvbnN0IGFjdGl2YXRlRmlsdGVyID0gKGZpbHRlcjogSUZpbHRlcikgPT4ge1xuICAgIGZldGNoRXZlbnRGaWx0ZXJzKFxuICAgICAge30sXG4gICAgICAnUFVUJyxcbiAgICAgIGAvdWlfZmlsdGVycy9hY3RpdmF0ZS8ke2ZpbHRlci5pZH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mZmlsdGVyX3R5cGU9JHtmZXRjaFR5cGV9YCxcbiAgICAgIGZpbHRlcixcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RmlsdGVyID0gKGZpbHRlciA9IGFjdGl2ZUZpbHRlckNvcHkpID0+IHtcbiAgICBsZXQgdmFsdWUgPSAnc2V2ZXJpdHknO1xuXG4gICAgaWYgKG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lID09PSAnc2FtcGxpbmdzLWxpc3QnKSB7XG4gICAgICB2YWx1ZSA9ICduZXdlc3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZ2V0S1FMVmFsdWVzRnJvbVVSTCgpICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdPUkRFUl9CWScpICYmXG4gICAgICAgICAgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIS5pbmNsdWRlcygnbmV3ZXN0JylcbiAgICAgICAgKSB7XG4gICAgICAgICAgdmFsdWUgPSAnbmV3ZXN0JztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdPUkRFUl9CWScpICYmXG4gICAgICAgICAgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIS5pbmNsdWRlcygnb2xkZXN0JylcbiAgICAgICAgKSB7XG4gICAgICAgICAgdmFsdWUgPSAnb2xkZXN0JztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdPUkRFUl9CWScpICYmXG4gICAgICAgICAgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIS5pbmNsdWRlcygnc2V2ZXJpdHknKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICdzZXZlcml0eSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdldmVudHNfdmlldycpIHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7XG4gICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZ2YWx1ZXNGcm9tS1FMPSR7YnVpbGRLUUxRdWVyeShcbiAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lID09PSAnc2FtcGxpbmdzLWxpc3QnKSB7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICB9JmxvY2FsZT0ke1xuICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgfSZ2YWx1ZXNGcm9tS1FMPSR7YnVpbGRLUUxRdWVyeShmaWx0ZXIsIHZhbHVlKX1gLFxuICAgICAgKTtcblxuICAgICAgaWYgKGFwcGx5TG9naWMgIT09IHVuZGVmaW5lZCkgYXBwbHlMb2dpYyhidWlsZEtRTFF1ZXJ5KGZpbHRlciwgdmFsdWUpKTtcbiAgICB9XG4gICAgaWYgKGZldGNoVHlwZSA9PT0gJ0hpZXJhcmNoeUZpbHRlcicpIHtcbiAgICAgIGFwcGx5TG9naWMoZmlsdGVyKTtcbiAgICB9XG5cbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKGJ1aWxkS1FMUXVlcnkoZmlsdGVyLCB2YWx1ZSkpKTtcbiAgICBkaXNwYXRjaChzZXRBY3RpdmVGaWx0ZXJHbG9iYWxseShmaWx0ZXIpKTtcbiAgICAvLyBBbHdheXMgcmVzZXQgcGFnZSB0byAxIHdoZW4gYSBuZXcgZmlsdGVyIGlzIGFwcGxpZWRcbiAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBjdXJyZW50UGFnZTogMSwgaXNGZXRjaDogZmFsc2UgfSkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNyZWF0aW9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgY3JlYXRlRmlsdGVyKGFjdGl2ZUZpbHRlckNvcHksIG5hbWVJbnB1dC5jdXJyZW50IS52YWx1ZSk7XG4gICAgbmFtZUlucHV0LmN1cnJlbnQhLnZhbHVlID0gJyc7XG4gICAgZmlsdGVyQ29udGVudC5jdXJyZW50IS5jbGljaygpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0V2FJZChnZXRXYUlkRnJvbVVSTCgpKTtcbiAgICBpZiAoIXJlbmRlcmVkKSB7XG4gICAgICBzZXRSZW5kZXJlZCh0cnVlKTtcbiAgICAgIGdldERhdGEoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW0gPT09ICcnICYmIGZpbHRlcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGxldCBmaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoKGZpbHRlcjogSUZpbHRlcikgPT4ge1xuICAgICAgICAgIHJldHVybiBmaWx0ZXIuaXNfYWN0aXZlO1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weShmaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFJlbmRlcmVkKGZhbHNlKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgV2FJZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgZmlsdGVyLWNvbnRhaW5lciAke1xuICAgICAgICBmaWx0ZXJQb3B1cE9wZW4gPyAnJyA6ICdmaWx0ZXItY29udGFpbmVyLS1oaWRkZW4nXG4gICAgICB9YH1cbiAgICA+XG4gICAgICB7YWN0aXZlRmlsdGVyQ29weSAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydmaWx0ZXItY29udGFpbmVyX19jb250ZW50J30gcmVmPXtmaWx0ZXJDb250ZW50fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1jb250YWluZXJfX2NvbnRlbnRfX2hlYWRlcid9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aXRsZSd9PlxuICAgICAgICAgICAgICA8aDQ+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5maWx0ZXInKX08L2g0PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYWN0aW9ucyd9PlxuICAgICAgICAgICAgICA8RHJvcGRvd24gY2xhc3NOYW1lPXsnYWN0aW9uJ30+XG4gICAgICAgICAgICAgICAgPERyb3Bkb3duLlRvZ2dsZSB2YXJpYW50PVwic3VjY2Vzc1wiIGlkPVwiZHJvcGRvd24tYmFzaWNcIj5cbiAgICAgICAgICAgICAgICAgIDxMaXN0SWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcmVzZXQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE0cHhcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE0cHhcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzFkMWQxZFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2FjdGl2ZUZpbHRlckNvcHkubmFtZX17JyAnfVxuICAgICAgICAgICAgICAgICAge2FjdGl2ZUZpbHRlckNvcHkuaWQgPT09IC0xID8gKFxuICAgICAgICAgICAgICAgICAgICA8Yj4gKHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIudW5zYXZlZCcpfSkgPC9iPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5Ub2dnbGU+XG5cbiAgICAgICAgICAgICAgICA8RmlsdGVyc0Ryb3BEb3duXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJzPXtmaWx0ZXJzfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlRmlsdGVyQ2hhbmdlPXtoYW5kbGVGaWx0ZXJDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICAgICAgYWN0aXZhdGVGaWx0ZXI9e2FjdGl2YXRlRmlsdGVyfVxuICAgICAgICAgICAgICAgICAgZGVsZXRlRmlsdGVyPXtkZWxldGVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Ecm9wZG93bj5cblxuICAgICAgICAgICAgICA8RHJvcGRvd24gY2xhc3NOYW1lPXsnYWN0aW9uJ30+XG4gICAgICAgICAgICAgICAgPERyb3Bkb3duLlRvZ2dsZSB2YXJpYW50PVwic3VjY2Vzc1wiIGlkPVwiZHJvcGRvd24tYmFzaWNcIj5cbiAgICAgICAgICAgICAgICAgIDxTYXZlSWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzYXZlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxM3B4XCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxM3B4XCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxZDFkMWRcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuc2F2ZS5sYWJlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgIDxEcm9wZG93bi5NZW51PlxuICAgICAgICAgICAgICAgICAgPERyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2FjdGl2ZUZpbHRlckNvcHkuaWQgPT09IC0xID8gdHJ1ZSA6IGZhbHNlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2F2ZUFjdGl2ZUZpbHRlcihhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLmV4aXN0aW5nJyl9XG4gICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgICAgICAgICA8RHJvcGRvd24gY2xhc3NOYW1lPXsnYWN0aW9uIGFjdGlvbi0tc2F2ZSd9PlxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuc2F2ZS5uZXcnKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5Ub2dnbGU+XG5cbiAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyduZXctZmlsdGVyLXBvcHVwJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLmZpZWxkX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hbWUgdGhpcyBmaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiYmFzaWMtYWRkb24yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtuYW1lSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNyZWF0aW9uQ2xpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkZXZpY2VfaGVhbHRoX3N0YXR1cy5vaycpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1jb250YWluZXJfX2NvbnRlbnRfX2JvZHknfT5cbiAgICAgICAgICAgIDxGaWx0ZXJcbiAgICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weT17c2V0QWN0aXZlRmlsdGVyQ29weX1cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyQ29weT17YWN0aXZlRmlsdGVyQ29weX1cbiAgICAgICAgICAgICAgYXZhaWxhYmxlRmlsdGVySXRlbXM9e2F2YWlsYWJsZUZpbHRlckl0ZW1zfVxuICAgICAgICAgICAgICBwYXJzZVNlbGVjdGVkSXRlbXM9e3BhcnNlU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgICAgYXBwbHlGaWx0ZXI9e2FwcGx5RmlsdGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEZpbHRlckNvbnRhaW5lcik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFMLE9BQUE7QUFBc0UsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBQUEsSUFBQU8sS0FBQSxHQUFBUCxPQUFBO0FBTXRFLElBQUFRLFFBQUEsR0FBQVIsT0FBQTtBQUtBLElBQUFTLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFVLElBQUEsR0FBQVYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQVcsT0FBQSxHQUFBUixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVksZ0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFhLGVBQUEsR0FBQWIsT0FBQTtBQUFxRSxTQUFBYyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEs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
409
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfRHJvcGRvd24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZGlza2V0dGUiLCJfbGlzdCIsIl9hY3Rpb25zIiwiX2kxOG4iLCJfa3FsIiwiX0ZpbHRlciIsIl9GaWx0ZXJzRHJvcERvd24iLCJfYWN0aW9uc0NyZWF0b3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJuYXZfY29udGV4dF9kYXRhIiwicG9pbnRzX2RhdGEiLCJGaWx0ZXJDb250YWluZXIiLCJwcm9wcyIsImN1c3RvbV9wb2ludHMiLCJmaWx0ZXJQb3B1cE9wZW4iLCJhcHBseUxvZ2ljIiwiX3Byb3BzJGZldGNoVHlwZSIsImZldGNoVHlwZSIsIl9wcm9wcyRyZXNldEZpbHRlciIsInJlc2V0RmlsdGVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm5hbWVJbnB1dCIsInVzZVJlZiIsImZpbHRlckNvbnRlbnQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzZXRBdmFpbGFibGVGaWx0ZXJJdGVtcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwicmVuZGVyZWQiLCJzZXRSZW5kZXJlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiV2FJZCIsInNldFdhSWQiLCJfdXNlU3RhdGU5IiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMTAiLCJhY3RpdmVGaWx0ZXIiLCJzZXRBY3RpdmVGaWx0ZXIiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiZGVmYXVsdEZpbHRlcnMiLCJzZXREZWZhdWx0RmlsdGVycyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJhY3RpdmVGaWx0ZXJDb3B5Iiwic2V0QWN0aXZlRmlsdGVyQ29weSIsImNzcmYiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRBdHRyaWJ1dGUiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJxdWVyeSIsImdldEtRTEZyb21VUkwiLCJoYW5kbGVSZXNldEZpbHRlciIsImRlZmF1bHRGaWx0ZXJzQ2xvbmUiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJnZXRQb2ludHNUb0ZpbHRlcnMiLCJpbnRlcmVzdFBvaW50RmlsdGVySXRlbSIsImZpbmQiLCJmIiwidHlwZSIsImZpbHRlcmVkUG9pbnRzRGF0YSIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJwYXJ0X29mX29ic2VydmF0aW9uIiwibWFwIiwiaWQiLCJuYW1lIiwiZ3JvdXAiLCJvcHRpb25zIiwiZm9yRWFjaCIsImZpbHRlckl0ZW0iLCJmaWx0ZXJfaXRlbXMiLCJmaSIsImF2YWlsYWJsZV9vcHRpb25zIiwidXBkYXRlU2l0ZVRvRmlsdGVycyIsInNpdGVGaWx0ZXJJdGVtIiwiZmV0Y2hFdmVudEZpbHRlcnMiLCJwcmVwYXJlZFBhcmFtcyIsIm1ldGhvZCIsInVybCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZldGNoIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwiZGF0YSIsImF2YWlsYWJsZV9maWx0ZXJfaXRlbXMiLCJzYXZlZCIsImRlZXBDbG9uZSIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzaXRlSUQiLCJhcmVhSUQiLCJnZXREYXRhIiwiZmlyc3RUaW1lIiwiY29uY2F0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImpzb25TaGFsbG93Q29weSIsImFzc2lnbiIsImFjdGl2ZSIsImRpc3BsYXllZF9maWx0ZXIiLCJzZWxlY3RlZFBlcmlvZCIsInNlbGVjdGVkX29wdGlvbnMiLCJhY3RpdmF0ZUZpbHRlciIsImFwcGx5RmlsdGVyIiwiaGFuZGxlRmlsdGVyQ2hhbmdlIiwiY3VycmVudCIsImNsaWNrIiwic2F2ZUFjdGl2ZUZpbHRlciIsImNsb25lZEZpbHRlcnMiLCJmaWx0ZXJUb01vZGlmeUluZGV4IiwiaW5kZXhPZiIsImZpbHRlcl90eXBlIiwidWlfZmlsdGVyIiwiaXNfYWN0aXZlIiwiTWF0aCIsInNpZ24iLCJjcmVhdGVGaWx0ZXIiLCJuZXdGaWx0ZXIiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZGVsZXRlRmlsdGVyIiwiZ2V0RXZlbnRJZEZyb21VUkwiLCJnZXRXYUlkRnJvbVVSTCIsImdldEtRTFZhbHVlc0Zyb21VUkwiLCJ2YWx1ZSIsIm5hdkNvbnRleHQiLCJpbmNsdWRlcyIsInB1c2giLCJsb2NhbGUiLCJidWlsZEtRTFF1ZXJ5Iiwic2V0RXZlbnRGaWx0ZXJQYXJhbSIsInNldEFjdGl2ZUZpbHRlckdsb2JhbGx5Iiwic2V0U2FtcGxpbmdEYXRhIiwiY3VycmVudFBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlQ3JlYXRpb25DbGljayIsInVzZUVmZmVjdCIsImV2ZW50RmlsdGVyUGFyYW0iLCJjbGVhbnVwIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsImkxOG4iLCJ0IiwiVG9nZ2xlIiwidmFyaWFudCIsIlJlYWN0Q29tcG9uZW50IiwiaGVpZ2h0Iiwid2lkdGgiLCJmaWxsIiwiTWVudSIsIkl0ZW0iLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJGb3JtQ29udHJvbCIsInBsYWNlaG9sZGVyIiwiYXV0b0ZvY3VzIiwiQnV0dG9uIiwicGFyc2VTZWxlY3RlZEl0ZW1zIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBGb3JtQ29udHJvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL0Ryb3Bkb3duJztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uLCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFNhdmVJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9kaXNrZXR0ZS5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgTGlzdEljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2xpc3Quc3ZnJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElGaWx0ZXIgfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVyJztcbmltcG9ydCB7IElGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0nO1xuaW1wb3J0IHtcbiAgc2V0QWN0aXZlRmlsdGVyR2xvYmFsbHksXG4gIHNldEV2ZW50RmlsdGVyUGFyYW0sXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnksIHBhcnNlU2VsZWN0ZWRJdGVtcyB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCAnLi9GaWx0ZXJTdHlsZS5zY3NzJztcbmltcG9ydCBGaWx0ZXIgZnJvbSAnLi9GaWx0ZXInO1xuaW1wb3J0IEZpbHRlcnNEcm9wRG93biBmcm9tICcuL0ZpbHRlcnNEcm9wRG93bic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEsIHBvaW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGdsb2JhbF9kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGZpbHRlclBvcHVwT3BlbjogYm9vbGVhbjtcbiAgZmV0Y2hUeXBlOiBzdHJpbmc7XG4gIGN1c3RvbV9wb2ludHM/OiBhbnk7XG4gIGFwcGx5TG9naWM/OiAodmFsdWVzOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHJlc2V0RmlsdGVyPzogKGZpbHRlcikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEZpbHRlckNvbnRhaW5lcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBjdXN0b21fcG9pbnRzLFxuICAgIGZpbHRlclBvcHVwT3BlbixcbiAgICBhcHBseUxvZ2ljLFxuICAgIGZldGNoVHlwZSA9ICdFdmVudEZpbHRlcnMnLFxuICAgIHJlc2V0RmlsdGVyID0gbnVsbCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hbWVJbnB1dCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgZmlsdGVyQ29udGVudCA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbYXZhaWxhYmxlRmlsdGVySXRlbXMsIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3JlbmRlcmVkLCBzZXRSZW5kZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtXYUlkLCBzZXRXYUlkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KCk7XG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IFthY3RpdmVGaWx0ZXIsIHNldEFjdGl2ZUZpbHRlcl0gPSB1c2VTdGF0ZTxhbnk+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtkZWZhdWx0RmlsdGVycywgc2V0RGVmYXVsdEZpbHRlcnNdID0gdXNlU3RhdGU8YW55Pih7fSk7XG4gIGNvbnN0IFthY3RpdmVGaWx0ZXJDb3B5LCBzZXRBY3RpdmVGaWx0ZXJDb3B5XSA9IHVzZVN0YXRlPGFueT4odW5kZWZpbmVkKTtcbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBjc3JmID0gZG9jdW1lbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG4gICAgLmdldEF0dHJpYnV0ZSgnY29udGVudCcpO1xuICBjb25zdCB1c2VRdWVyeSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh1c2VMb2NhdGlvbigpLnNlYXJjaCk7XG4gIH07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoKTtcbiAgY29uc3QgZ2V0S1FMRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEZpbHRlcnNDbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGVmYXVsdEZpbHRlcnMpKTtcbiAgICByZXNldEZpbHRlciAmJiByZXNldEZpbHRlcihkZWZhdWx0RmlsdGVyc0Nsb25lKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICB9O1xuXG4gIGNvbnN0IGdldFBvaW50c1RvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID1cbiAgICAgIGN1c3RvbV9wb2ludHMgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LnBhcnRfb2Zfb2JzZXJ2YXRpb24gPT09IHRydWUpXG4gICAgICAgIC5tYXAoKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBpZDogcG9pbnQuaWQsIG5hbWU6IHBvaW50Lmdyb3VwLm5hbWUgfTtcbiAgICAgICAgfSk7XG5cbiAgICBpZiAoaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW50ZXJlc3RQb2ludEZpbHRlckl0ZW0ub3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICB9XG5cbiAgICBmaWx0ZXJzLmZvckVhY2goKGY6IElGaWx0ZXIpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJJdGVtID0gZi5maWx0ZXJfaXRlbXMuZmluZChcbiAgICAgICAgKGZpOiBJRmlsdGVySXRlbSkgPT4gZmkudHlwZSA9PT0gJ0ludGVyZXN0UG9pbnRGaWx0ZXJJdGVtJyxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVySXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9IGZpbHRlcmVkUG9pbnRzRGF0YTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY3VzdG9tX3BvaW50cykge1xuICAgICAgdXBkYXRlU2l0ZVRvRmlsdGVycyhhdmFpbGFibGVGaWx0ZXJJdGVtcywgZmlsdGVycyk7XG4gICAgfVxuICAgIHNldEZpbHRlcnMoZmlsdGVycyk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlU2l0ZVRvRmlsdGVycyA9IChhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55LCBmaWx0ZXJzOiBhbnkpID0+IHtcbiAgICBsZXQgc2l0ZUZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgKGY6IElGaWx0ZXJJdGVtKSA9PiBmLnR5cGUgPT09ICdTaXRlRmlsdGVySXRlbScsXG4gICAgKTtcbiAgICBsZXQgZmlsdGVyZWRQb2ludHNEYXRhID0gY3VzdG9tX3BvaW50cztcblxuICAgIGlmIChzaXRlRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzaXRlRmlsdGVySXRlbS5vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgIH1cblxuICAgIGZpbHRlcnMuZm9yRWFjaCgoZjogSUZpbHRlcikgPT4ge1xuICAgICAgbGV0IGZpbHRlckl0ZW0gPSBmLmZpbHRlcl9pdGVtcy5maW5kKFxuICAgICAgICAoZmk6IElGaWx0ZXJJdGVtKSA9PiBmaS50eXBlID09PSAnU2l0ZUZpbHRlckl0ZW0nLFxuICAgICAgKTtcblxuICAgICAgaWYgKGZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gZmlsdGVyZWRQb2ludHNEYXRhO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRXZlbnRGaWx0ZXJzID0gKFxuICAgIHByZXBhcmVkUGFyYW1zOiBhbnksXG4gICAgbWV0aG9kOiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZmlsdGVyOiBhbnkgPSBudWxsLFxuICApID0+IHtcbiAgICBpZiAoY3NyZiAhPT0gbnVsbCkge1xuICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAnWC1DU1JGLVRva2VuJzogY3NyZixcbiAgICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocHJlcGFyZWRQYXJhbXMpLFxuICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgZ2V0UG9pbnRzVG9GaWx0ZXJzKGRhdGEuYXZhaWxhYmxlX2ZpbHRlcl9pdGVtcywgZGF0YS5maWx0ZXJzKTtcblxuICAgICAgICAgIGlmIChmaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBzYXZlZCA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAoZjogSUZpbHRlcikgPT4gZi5uYW1lID09PSBmaWx0ZXIubmFtZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoc2F2ZWQpO1xuICAgICAgICAgICAgc2V0QWN0aXZlRmlsdGVyQ29weShzYXZlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGVlcENsb25lID0gKGRhdGE6IGFueSkgPT4ge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgfTtcblxuICBjb25zdCB7IHNpdGVJRCwgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCBnZXREYXRhID0gKGZpcnN0VGltZSA9IGZhbHNlKSA9PiB7XG4gICAgZmV0Y2goXG4gICAgICBgL3VpX2ZpbHRlcnMuanNvbj93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX0mdmFsdWVzRnJvbUtRTD0ke2dldEtRTEZyb21VUkwoKX0ke1xuICAgICAgICBzaXRlSUQgPyBgJnNpdGVfaWQ9JHtzaXRlSUR9YCA6ICcnXG4gICAgICB9JHthcmVhSUQgPyBgJmFyZWFfaWQ9JHthcmVhSUR9YCA6ICcnfWAsXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBnZXRQb2ludHNUb0ZpbHRlcnMoanNvbi5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zLCBqc29uLmZpbHRlcnMpO1xuXG4gICAgICAgIGxldCBqc29uU2hhbGxvd0NvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBqc29uKTtcbiAgICAgICAganNvblNoYWxsb3dDb3B5LmZpbHRlcnMgPSBkZWVwQ2xvbmUoanNvblNoYWxsb3dDb3B5LmZpbHRlcnMpO1xuICAgICAgICBsZXQgYWN0aXZlID0ganNvblNoYWxsb3dDb3B5LmRpc3BsYXllZF9maWx0ZXI7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdsb2JhbF9kYXRhLnNlbGVjdGVkUGVyaW9kICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICBhY3RpdmUuZmlsdGVyX2l0ZW1zWzFdLnNlbGVjdGVkX29wdGlvbnMgPSBbXG4gICAgICAgICAgICBnbG9iYWxfZGF0YS5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGl2ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0aXZhdGVGaWx0ZXIoanNvblNoYWxsb3dDb3B5LmZpbHRlcnNbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEF2YWlsYWJsZUZpbHRlckl0ZW1zKGpzb25TaGFsbG93Q29weS5hdmFpbGFibGVfZmlsdGVyX2l0ZW1zKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJzQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGl2ZSkpO1xuICAgICAgICAgIHNldERlZmF1bHRGaWx0ZXJzKGRlZmF1bHRGaWx0ZXJzQ2xvbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXBwbHlGaWx0ZXIoYWN0aXZlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IElGaWx0ZXIpID0+IHtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoZGVlcENsb25lKGZpbHRlcikpO1xuICAgIGZpbHRlckNvbnRlbnQuY3VycmVudCEuY2xpY2soKTtcbiAgfTtcblxuICBjb25zdCBzYXZlQWN0aXZlRmlsdGVyID0gKFxuICAgIGZpbHRlcjpcbiAgICAgIHwgSUZpbHRlclxuICAgICAgfCB7XG4gICAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgZmlsdGVyX2l0ZW1zOiBJRmlsdGVySXRlbVtdO1xuICAgICAgICAgIGlzX2FjdGl2ZTogYm9vbGVhbjtcbiAgICAgICAgfSxcbiAgKSA9PiB7XG4gICAgbGV0IGNsb25lZEZpbHRlcnMgPSBkZWVwQ2xvbmUoZmlsdGVycyk7XG4gICAgbGV0IGZpbHRlclRvTW9kaWZ5SW5kZXggPSBjbG9uZWRGaWx0ZXJzLmluZGV4T2YoXG4gICAgICBjbG9uZWRGaWx0ZXJzLmZpbmQoKGY6IGFueSkgPT4gZi5pZCA9PT0gZmlsdGVyLmlkKSxcbiAgICApO1xuICAgIGxldCBwcmVwYXJlZFBhcmFtcyA9IHtcbiAgICAgIGZpbHRlcl90eXBlOiBmZXRjaFR5cGUsXG4gICAgICB1aV9maWx0ZXI6IHtcbiAgICAgICAgbmFtZTogZmlsdGVyLm5hbWUsXG4gICAgICAgIGlzX2FjdGl2ZTogZmlsdGVyLmlzX2FjdGl2ZSxcbiAgICAgICAgZmlsdGVyX2l0ZW1zOiBKU09OLnN0cmluZ2lmeShmaWx0ZXIuZmlsdGVyX2l0ZW1zKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNsb25lZEZpbHRlcnNbZmlsdGVyVG9Nb2RpZnlJbmRleF0gPSBmaWx0ZXI7XG4gICAgc2V0RmlsdGVycyhjbG9uZWRGaWx0ZXJzKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXIoZmlsdGVyKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG5cbiAgICBpZiAoTWF0aC5zaWduKGZpbHRlci5pZCkgPiAwKSB7XG4gICAgICBmZXRjaEV2ZW50RmlsdGVycyhcbiAgICAgICAgcHJlcGFyZWRQYXJhbXMsXG4gICAgICAgICdQVVQnLFxuICAgICAgICBgL3VpX2ZpbHRlcnMvJHtmaWx0ZXIuaWR9P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9YCxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICAgIHByZXBhcmVkUGFyYW1zLFxuICAgICAgICAnUE9TVCcsXG4gICAgICAgIGAvdWlfZmlsdGVycz93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZUZpbHRlciA9IChmaWx0ZXI6IElGaWx0ZXIsIG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBuZXdGaWx0ZXIgPSB7XG4gICAgICBpZDogLTEsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgZmlsdGVyX2l0ZW1zOiBmaWx0ZXIuZmlsdGVyX2l0ZW1zLFxuICAgICAgaXNfYWN0aXZlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgc2V0RmlsdGVycyhbLi4uZmlsdGVycywgbmV3RmlsdGVyXSk7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShuZXdGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlcihuZXdGaWx0ZXIpO1xuICAgIHNhdmVBY3RpdmVGaWx0ZXIobmV3RmlsdGVyKTtcbiAgfTtcblxuICBjb25zdCBkZWxldGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgaWYgKGNzcmYgIT09IG51bGwgJiYgZmlsdGVyLmlkICE9PSAtMSkge1xuICAgICAgZmV0Y2goXG4gICAgICAgIGAvdWlfZmlsdGVycy8ke2ZpbHRlci5pZH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mZmlsdGVyX3R5cGU9JHtmZXRjaFR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ1gtQ1NSRi1Ub2tlbic6IGNzcmYsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgbGV0IGFjdGl2ZSA9IGRhdGEuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgKGZpbHRlcjogSUZpbHRlcikgPT4gZmlsdGVyLmlzX2FjdGl2ZSA9PT0gdHJ1ZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGFjdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKGRhdGEuZmlsdGVycyk7XG4gICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXIoYWN0aXZlKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRhdGEuZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgZ2V0RGF0YSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGF0YS5maWx0ZXJzWzBdLmlzX2FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHNldEFjdGl2ZUZpbHRlcihkYXRhLmZpbHRlcnNbMF0pO1xuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGRhdGEuZmlsdGVyc1swXSk7XG4gICAgICAgICAgICAgIHNldEZpbHRlcnMoZGF0YS5maWx0ZXJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0V2FJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0S1FMVmFsdWVzRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gIH07XG5cbiAgY29uc3QgYWN0aXZhdGVGaWx0ZXIgPSAoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgZmV0Y2hFdmVudEZpbHRlcnMoXG4gICAgICB7fSxcbiAgICAgICdQVVQnLFxuICAgICAgYC91aV9maWx0ZXJzL2FjdGl2YXRlLyR7ZmlsdGVyLmlkfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZmaWx0ZXJfdHlwZT0ke2ZldGNoVHlwZX1gLFxuICAgICAgZmlsdGVyLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgYXBwbHlGaWx0ZXIgPSAoZmlsdGVyID0gYWN0aXZlRmlsdGVyQ29weSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9ICdzZXZlcml0eSc7XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIHZhbHVlID0gJ25ld2VzdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChnZXRLUUxWYWx1ZXNGcm9tVVJMKCkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCduZXdlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICduZXdlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdvbGRlc3QnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YWx1ZSA9ICdvbGRlc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGdldEtRTFZhbHVlc0Zyb21VUkwoKSEuaW5jbHVkZXMoJ09SREVSX0JZJykgJiZcbiAgICAgICAgICBnZXRLUUxWYWx1ZXNGcm9tVVJMKCkhLmluY2x1ZGVzKCdzZXZlcml0eScpXG4gICAgICAgICkge1xuICAgICAgICAgIHZhbHVlID0gJ3NldmVyaXR5JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZSA9PT0gJ2V2ZW50c192aWV3Jykge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgfSZsb2NhbGU9JHtcbiAgICAgICAgICBuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlXG4gICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWUgPT09ICdzYW1wbGluZ3MtbGlzdCcpIHtcbiAgICAgIGhpc3RvcnkucHVzaChcbiAgICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXG4gICAgICAgIH0mbG9jYWxlPSR7XG4gICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtidWlsZEtRTFF1ZXJ5KGZpbHRlciwgdmFsdWUpfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAoYXBwbHlMb2dpYyAhPT0gdW5kZWZpbmVkKSBhcHBseUxvZ2ljKGJ1aWxkS1FMUXVlcnkoZmlsdGVyLCB2YWx1ZSkpO1xuICAgIH1cbiAgICBpZiAoZmV0Y2hUeXBlID09PSAnSGllcmFyY2h5RmlsdGVyJykge1xuICAgICAgYXBwbHlMb2dpYyhmaWx0ZXIpO1xuICAgIH1cblxuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oYnVpbGRLUUxRdWVyeShmaWx0ZXIsIHZhbHVlKSkpO1xuICAgIGRpc3BhdGNoKHNldEFjdGl2ZUZpbHRlckdsb2JhbGx5KGZpbHRlcikpO1xuICAgIC8vIEFsd2F5cyByZXNldCBwYWdlIHRvIDEgd2hlbiBhIG5ldyBmaWx0ZXIgaXMgYXBwbGllZFxuICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlOiAxLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRpb25DbGljayA9ICgpID0+IHtcbiAgICBjcmVhdGVGaWx0ZXIoYWN0aXZlRmlsdGVyQ29weSwgbmFtZUlucHV0LmN1cnJlbnQhLnZhbHVlKTtcbiAgICBuYW1lSW5wdXQuY3VycmVudCEudmFsdWUgPSAnJztcbiAgICBmaWx0ZXJDb250ZW50LmN1cnJlbnQhLmNsaWNrKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRXYUlkKGdldFdhSWRGcm9tVVJMKCkpO1xuICAgIGlmICghcmVuZGVyZWQpIHtcbiAgICAgIHNldFJlbmRlcmVkKHRydWUpO1xuICAgICAgZ2V0RGF0YSghcmVuZGVyZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbSA9PT0gJycgJiYgZmlsdGVycy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IGZpbHRlcnMuZmluZCgoZmlsdGVyOiBJRmlsdGVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlci5pc19hY3RpdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0UmVuZGVyZWQoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBXYUlkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmaWx0ZXItY29udGFpbmVyICR7XG4gICAgICAgIGZpbHRlclBvcHVwT3BlbiA/ICcnIDogJ2ZpbHRlci1jb250YWluZXItLWhpZGRlbidcbiAgICAgIH1gfVxuICAgID5cbiAgICAgIHthY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1jb250YWluZXJfX2NvbnRlbnQnfSByZWY9e2ZpbHRlckNvbnRlbnR9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9faGVhZGVyJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RpdGxlJ30+XG4gICAgICAgICAgICAgIDxoND57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcicpfTwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydhY3Rpb25zJ30+XG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPExpc3RJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInByZXNldC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMWQxZDFkXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5uYW1lfXsnICd9XG4gICAgICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxiPiAoe2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci51bnNhdmVkJyl9KSA8L2I+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgIDxGaWx0ZXJzRHJvcERvd25cbiAgICAgICAgICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZUZpbHRlckNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHk9e2FjdGl2ZUZpbHRlckNvcHl9XG4gICAgICAgICAgICAgICAgICBhY3RpdmF0ZUZpbHRlcj17YWN0aXZhdGVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBkZWxldGVGaWx0ZXI9e2RlbGV0ZUZpbHRlcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duPlxuXG4gICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24nfT5cbiAgICAgICAgICAgICAgICA8RHJvcGRvd24uVG9nZ2xlIHZhcmlhbnQ9XCJzdWNjZXNzXCIgaWQ9XCJkcm9wZG93bi1iYXNpY1wiPlxuICAgICAgICAgICAgICAgICAgPFNhdmVJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNhdmUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEzcHhcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzFkMWQxZFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uVG9nZ2xlPlxuXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aXZlRmlsdGVyQ29weS5pZCA9PT0gLTEgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzYXZlQWN0aXZlRmlsdGVyKGFjdGl2ZUZpbHRlckNvcHkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZXhpc3RpbmcnKX1cbiAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICAgICAgICAgICAgIDxEcm9wZG93biBjbGFzc05hbWU9eydhY3Rpb24gYWN0aW9uLS1zYXZlJ30+XG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5Ub2dnbGUgdmFyaWFudD1cInN1Y2Nlc3NcIiBpZD1cImRyb3Bkb3duLWJhc2ljXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYXZlLm5ldycpfVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLlRvZ2dsZT5cblxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J25ldy1maWx0ZXItcG9wdXAnfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhdmUuZmllbGRfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmFtZSB0aGlzIGZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e25hbWVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ3JlYXRpb25DbGljaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2RldmljZV9oZWFsdGhfc3RhdHVzLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5NZW51PlxuICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLk1lbnU+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWNvbnRhaW5lcl9fY29udGVudF9fYm9keSd9PlxuICAgICAgICAgICAgPEZpbHRlclxuICAgICAgICAgICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5PXtzZXRBY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcz17YXZhaWxhYmxlRmlsdGVySXRlbXN9XG4gICAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgICBhcHBseUZpbHRlcj17YXBwbHlGaWx0ZXJ9XG4gICAgICAgICAgICAgIHJlc2V0RmlsdGVyPXtyZXNldEZpbHRlciA/IGhhbmRsZVJlc2V0RmlsdGVyIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihGaWx0ZXJDb250YWluZXIpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQXNFLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUFBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQU10RSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFLQSxJQUFBUyxLQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxJQUFBLEdBQUFWLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFZLGdCQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBcUUsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFoQix3QkFBQW9CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxV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
@@ -111,12 +111,15 @@ var FilterItem = function FilterItem(props) {
111
111
  return _i18n.default.t("events_overview.filter.points_mode.".concat(option));
112
112
  case 'SamplerFilterItem':
113
113
  return _i18n.default.t("events_overview.filter.sampler_mode.".concat(option));
114
+ case 'InsightDataFilterItem':
115
+ return _i18n.default.t("events_overview.filter.insight_data.".concat(option));
114
116
  case 'LabFilterItem':
115
117
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
116
118
  case 'SamplingStatusFilterItem':
117
119
  return _i18n.default.t("events_overview.filter.samplings_status.".concat(option));
118
120
  case 'SamplingIdFilterItem':
119
121
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
122
+ case 'SamplingParameterFilterItem':
120
123
  case 'SiteFilterItem':
121
124
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
122
125
  }
@@ -190,4 +193,4 @@ var FilterItem = function FilterItem(props) {
190
193
  };
191
194
  var _default = FilterItem;
192
195
  exports.default = _default;
193
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJJdGVtIiwicHJvcHMiLCJmaWx0ZXJfaXRlbSIsInBhcnNlU2VsZWN0ZWRJdGVtcyIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsInNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwiaGFuZGxlRmlsdGVySXRlbUNsaWNrIiwiZmlsdGVySXRlbSIsInNob3ciLCJmaWx0ZXJJdGVtSWQiLCJpZCIsInJlbW92ZUZpbHRlckl0ZW0iLCJ1bmRlZmluZWQiLCJpbmRleCIsImZpbHRlcl9pdGVtcyIsImluZGV4T2YiLCJmaW5kIiwiaXRlbSIsInNwbGljZSIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkIiwiYWN0aXZlRmlsdGVyIiwic2VsZWN0ZWRPcHRpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInNlbGVjdGlvbiIsInB1c2giLCJvcmlnaW5hbCIsInNlbGVjdGVkX29wdGlvbnMiLCJoYW5kbGVTaW5nbGVTZWxlY3Rpb24iLCJfcmVmIiwiX3JlZiRjdXJyZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsIl9yZWYkY3VzdG9tVmFsdWUiLCJjdXN0b21WYWx1ZSIsInNlbGVjdGVkVmFsdWUiLCJjaGlsZHJlbiIsInZhbHVlIiwic3RyaXBEYW1hZ2VUeXBlIiwic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiY2FtZWxUb1NuYWtlQ2FzZSIsInN0ciIsInNsaWNlIiwibGV0dGVyIiwiY29uY2F0IiwiZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMiLCJvcHRpb24iLCJmb3JPdXRlckRpc3BsYXkiLCJhdmFpbGFibGVfb3B0aW9ucyIsImYiLCJuYW1lIiwidHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsIiwiYXJndW1lbnRzIiwidHlwZSIsImkxOG4iLCJ0IiwiZm9ybWF0VGltZVNlbGVjdGlvbiIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJnZXRTZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtYXRjaEZpbHRlckl0ZW0iLCJhdmFpbGFibGVGaWx0ZXJJdGVtIiwib3B0aW9ucyIsIkZyYWdtZW50Iiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgRm9ybUV2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRmlsdGVyIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlcic7XG5pbXBvcnQgeyBJRmlsdGVySXRlbSB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXJJdGVtJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uLy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IE9wdGlvbnNEcm9wRG93biBmcm9tICcuL09wdGlvbnNEcm9wRG93bic7XG5pbXBvcnQgeyBmb3JtYXRUaW1lU2VsZWN0aW9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvVGltZVJhbmdlU2VsZWN0b3IvVGltZVJhbmdlSGVscGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbTtcbiAgcGFyc2VTZWxlY3RlZEl0ZW1zOiBGdW5jdGlvbjtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xuICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xufTtcblxudHlwZSBJQ3VzdG9tVmFsdWUgPSB7XG4gIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG59O1xuXG50eXBlIElTZWxlY3Rpb25FdmVudCA9IElDdXN0b21WYWx1ZSB8IEZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuY29uc3QgRmlsdGVySXRlbTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVyX2l0ZW0sXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weSxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2sgPSAoZmlsdGVySXRlbTogYW55KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLnNob3cgJiZcbiAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCAhPT0gZmlsdGVySXRlbS5pZFxuICAgICkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlckl0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChhY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBpbmRleCA9IGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmluZGV4T2YoXG4gICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgICAgKGl0ZW06IElGaWx0ZXJJdGVtKSA9PiBpdGVtLmlkID09PSBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyRHVwbGljYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKFxuICAgIHNlbGVjdGVkOiBhbnksXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoc2VsZWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0aW9uLm9yaWdpbmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgICBsZXQgYWN0aXZlRmlsdGVyQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGl2ZUZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTaW5nbGVTZWxlY3Rpb24gPSAoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHsgY3VycmVudFRhcmdldCA9ICcnLCBjdXN0b21WYWx1ZSA9ICcnIH06IElTZWxlY3Rpb25FdmVudCxcbiAgICBmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSxcbiAgICBhY3RpdmVGaWx0ZXI6IElGaWx0ZXIsXG4gICkgPT4ge1xuICAgIGxldCBzZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGN1c3RvbVZhbHVlIHx8IGN1cnJlbnRUYXJnZXQuY2hpbGRyZW5bMF0udmFsdWU7XG4gICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgZmlsdGVySXRlbS5zZWxlY3RlZF9vcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc3RyaXBEYW1hZ2VUeXBlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1snICcvJl0vZywgJy0nKTtcbiAgfTtcblxuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBhbnksXG4gICAgZm9yT3V0ZXJEaXNwbGF5OiBib29sZWFuLFxuICApID0+IHtcbiAgICBsZXQgaXRlbTtcbiAgICBpZiAoZm9yT3V0ZXJEaXNwbGF5ICYmIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGl0ZW0gPSBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zLmZpbmQoKGYpID0+IGYuaWQgPT09IG9wdGlvbik7XG4gICAgICBpdGVtICE9PSB1bmRlZmluZWQgJiYgKGl0ZW0gPSBpdGVtLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtID0gb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9O1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBzdHJpbmcsXG4gICAgZm9yT3V0ZXJEaXNwbGF5ID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHN3aXRjaCAoZmlsdGVySXRlbS50eXBlKSB7XG4gICAgICBjYXNlICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdWYXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnQXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2VjdG9yRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZXZlcml0eUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0RhbWFnZVR5cGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChcbiAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmRhbWFnZV90eXBlcy4ke3N0cmlwRGFtYWdlVHlwZShvcHRpb24pfWAsXG4gICAgICAgICk7XG4gICAgICBjYXNlICdUaW1lRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lU2VsZWN0aW9uKG9wdGlvbik7XG4gICAgICBjYXNlICdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19vcHRpb25zLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdNb2RlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1BvaW50c01vZGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5wb2ludHNfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsZXJGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGVyX21vZGUuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdMYWJGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1NhbXBsaW5nU3RhdHVzRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdzX3N0YXR1cy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsaW5nSWRGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1NpdGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdHJhbnNsYXRlRmlsdGVySXRlbVR5cGUgPSAoZmlsdGVySXRlbVR5cGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBpMThuLnQoXG4gICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5maWx0ZXJfdHlwZXMuJHtjYW1lbFRvU25ha2VDYXNlKGZpbHRlckl0ZW1UeXBlKX1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0U2VsZWN0aW9ucyA9IChzZWxlY3RlZF9vcHRpb25zOiBhbnkpID0+IHtcbiAgICBsZXQgc2VsZWN0aW9uczogYW55W10gPSBbXTtcbiAgICBpZiAoc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pXG4gICAgICAgIC5zbGljZSgwLCAxKVxuICAgICAgICAubWFwKChzZWxlY3Rpb246IHN0cmluZykgPT5cbiAgICAgICAgICBzZWxlY3Rpb25zLnB1c2goXG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnNfX3NlbGVjdGlvbid9XG4gICAgICAgICAgICAgIGtleT17c2VsZWN0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsKGZpbHRlcl9pdGVtLCBzZWxlY3Rpb24sIHRydWUpfVxuICAgICAgICAgICAgPC9saT4sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgPHNwYW4ga2V5PXsnTU9SRSd9PntgICgke3NlbGVjdGVkX29wdGlvbnMubGVuZ3RofSlgfTwvc3Bhbj4sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pLm1hcCgoc2VsZWN0aW9uOiBzdHJpbmcpID0+XG4gICAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50X19zZWxlY3Rpb25zX19zZWxlY3Rpb24nfVxuICAgICAgICAgICAga2V5PXtzZWxlY3Rpb259XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbChmaWx0ZXJfaXRlbSwgc2VsZWN0aW9uLCB0cnVlKX1cbiAgICAgICAgICA8L2xpPixcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbnM7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZmlsdGVyX2l0ZW0uc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwKHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBmaWx0ZXJfaXRlbS5pZCxcbiAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJfaXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgbGV0IG1hdGNoRmlsdGVySXRlbSA9IGF2YWlsYWJsZUZpbHRlckl0ZW1zLmZpbmQoXG4gICAgICAgIChhdmFpbGFibGVGaWx0ZXJJdGVtOiBhbnkpID0+XG4gICAgICAgICAgYXZhaWxhYmxlRmlsdGVySXRlbS50eXBlID09PSBmaWx0ZXJfaXRlbS50eXBlLFxuICAgICAgKTtcblxuICAgICAgaWYgKG1hdGNoRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZpbHRlcl9pdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gbWF0Y2hGaWx0ZXJJdGVtLm9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZmlsdGVyX2l0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnQnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2soZmlsdGVyX2l0ZW0pfVxuICAgICAgPlxuICAgICAgICA8c3Bhbj57dHJhbnNsYXRlRmlsdGVySXRlbVR5cGUoZmlsdGVyX2l0ZW0udHlwZSl9PC9zcGFuPlxuICAgICAgICA8dWwgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnMnfT5cbiAgICAgICAgICB7Z2V0U2VsZWN0aW9ucyhwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pKS5tYXAoXG4gICAgICAgICAgICAoc2VsZWN0aW9uOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICApfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhIG9uQ2xpY2s9eygpID0+IHJlbW92ZUZpbHRlckl0ZW0oZmlsdGVyX2l0ZW0pfT5cbiAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgPC9hPlxuICAgICAge3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCA9PT0gZmlsdGVyX2l0ZW0uaWQgJiZcbiAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAgJiYgKFxuICAgICAgICAgIDxPcHRpb25zRHJvcERvd25cbiAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgZmlsdGVySXRlbT17ZmlsdGVyX2l0ZW19XG4gICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3NldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgaGFuZGxlU2luZ2xlU2VsZWN0aW9uPXtoYW5kbGVTaW5nbGVTZWxlY3Rpb259XG4gICAgICAgICAgICB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWw9e3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbH1cbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbHRlckl0ZW07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFB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
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJJdGVtIiwicHJvcHMiLCJmaWx0ZXJfaXRlbSIsInBhcnNlU2VsZWN0ZWRJdGVtcyIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsInNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwiaGFuZGxlRmlsdGVySXRlbUNsaWNrIiwiZmlsdGVySXRlbSIsInNob3ciLCJmaWx0ZXJJdGVtSWQiLCJpZCIsInJlbW92ZUZpbHRlckl0ZW0iLCJ1bmRlZmluZWQiLCJpbmRleCIsImZpbHRlcl9pdGVtcyIsImluZGV4T2YiLCJmaW5kIiwiaXRlbSIsInNwbGljZSIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkIiwiYWN0aXZlRmlsdGVyIiwic2VsZWN0ZWRPcHRpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInNlbGVjdGlvbiIsInB1c2giLCJvcmlnaW5hbCIsInNlbGVjdGVkX29wdGlvbnMiLCJoYW5kbGVTaW5nbGVTZWxlY3Rpb24iLCJfcmVmIiwiX3JlZiRjdXJyZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsIl9yZWYkY3VzdG9tVmFsdWUiLCJjdXN0b21WYWx1ZSIsInNlbGVjdGVkVmFsdWUiLCJjaGlsZHJlbiIsInZhbHVlIiwic3RyaXBEYW1hZ2VUeXBlIiwic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiY2FtZWxUb1NuYWtlQ2FzZSIsInN0ciIsInNsaWNlIiwibGV0dGVyIiwiY29uY2F0IiwiZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMiLCJvcHRpb24iLCJmb3JPdXRlckRpc3BsYXkiLCJhdmFpbGFibGVfb3B0aW9ucyIsImYiLCJuYW1lIiwidHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsIiwiYXJndW1lbnRzIiwidHlwZSIsImkxOG4iLCJ0IiwiZm9ybWF0VGltZVNlbGVjdGlvbiIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJnZXRTZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtYXRjaEZpbHRlckl0ZW0iLCJhdmFpbGFibGVGaWx0ZXJJdGVtIiwib3B0aW9ucyIsIkZyYWdtZW50Iiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgRm9ybUV2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRmlsdGVyIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlcic7XG5pbXBvcnQgeyBJRmlsdGVySXRlbSB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXJJdGVtJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uLy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IE9wdGlvbnNEcm9wRG93biBmcm9tICcuL09wdGlvbnNEcm9wRG93bic7XG5pbXBvcnQgeyBmb3JtYXRUaW1lU2VsZWN0aW9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvVGltZVJhbmdlU2VsZWN0b3IvVGltZVJhbmdlSGVscGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbTtcbiAgcGFyc2VTZWxlY3RlZEl0ZW1zOiBGdW5jdGlvbjtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xuICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xufTtcblxudHlwZSBJQ3VzdG9tVmFsdWUgPSB7XG4gIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG59O1xuXG50eXBlIElTZWxlY3Rpb25FdmVudCA9IElDdXN0b21WYWx1ZSB8IEZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuY29uc3QgRmlsdGVySXRlbTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVyX2l0ZW0sXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weSxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2sgPSAoZmlsdGVySXRlbTogYW55KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLnNob3cgJiZcbiAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCAhPT0gZmlsdGVySXRlbS5pZFxuICAgICkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlckl0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChhY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBpbmRleCA9IGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmluZGV4T2YoXG4gICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgICAgKGl0ZW06IElGaWx0ZXJJdGVtKSA9PiBpdGVtLmlkID09PSBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyRHVwbGljYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKFxuICAgIHNlbGVjdGVkOiBhbnksXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoc2VsZWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0aW9uLm9yaWdpbmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgICBsZXQgYWN0aXZlRmlsdGVyQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGl2ZUZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTaW5nbGVTZWxlY3Rpb24gPSAoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHsgY3VycmVudFRhcmdldCA9ICcnLCBjdXN0b21WYWx1ZSA9ICcnIH06IElTZWxlY3Rpb25FdmVudCxcbiAgICBmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSxcbiAgICBhY3RpdmVGaWx0ZXI6IElGaWx0ZXIsXG4gICkgPT4ge1xuICAgIGxldCBzZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGN1c3RvbVZhbHVlIHx8IGN1cnJlbnRUYXJnZXQuY2hpbGRyZW5bMF0udmFsdWU7XG4gICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgZmlsdGVySXRlbS5zZWxlY3RlZF9vcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc3RyaXBEYW1hZ2VUeXBlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1snICcvJl0vZywgJy0nKTtcbiAgfTtcblxuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBhbnksXG4gICAgZm9yT3V0ZXJEaXNwbGF5OiBib29sZWFuLFxuICApID0+IHtcbiAgICBsZXQgaXRlbTtcbiAgICBpZiAoZm9yT3V0ZXJEaXNwbGF5ICYmIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGl0ZW0gPSBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zLmZpbmQoKGYpID0+IGYuaWQgPT09IG9wdGlvbik7XG4gICAgICBpdGVtICE9PSB1bmRlZmluZWQgJiYgKGl0ZW0gPSBpdGVtLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtID0gb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9O1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBzdHJpbmcsXG4gICAgZm9yT3V0ZXJEaXNwbGF5ID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHN3aXRjaCAoZmlsdGVySXRlbS50eXBlKSB7XG4gICAgICBjYXNlICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdWYXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnQXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2VjdG9yRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZXZlcml0eUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0RhbWFnZVR5cGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChcbiAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmRhbWFnZV90eXBlcy4ke3N0cmlwRGFtYWdlVHlwZShvcHRpb24pfWAsXG4gICAgICAgICk7XG4gICAgICBjYXNlICdUaW1lRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lU2VsZWN0aW9uKG9wdGlvbik7XG4gICAgICBjYXNlICdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19vcHRpb25zLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdNb2RlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1BvaW50c01vZGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5wb2ludHNfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsZXJGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGVyX21vZGUuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdJbnNpZ2h0RGF0YUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmluc2lnaHRfZGF0YS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0xhYkZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGluZ3Nfc3RhdHVzLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdJZEZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdQYXJhbWV0ZXJGaWx0ZXJJdGVtJzpcbiAgICAgIGNhc2UgJ1NpdGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdHJhbnNsYXRlRmlsdGVySXRlbVR5cGUgPSAoZmlsdGVySXRlbVR5cGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBpMThuLnQoXG4gICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5maWx0ZXJfdHlwZXMuJHtjYW1lbFRvU25ha2VDYXNlKGZpbHRlckl0ZW1UeXBlKX1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0U2VsZWN0aW9ucyA9IChzZWxlY3RlZF9vcHRpb25zOiBhbnkpID0+IHtcbiAgICBsZXQgc2VsZWN0aW9uczogYW55W10gPSBbXTtcbiAgICBpZiAoc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pXG4gICAgICAgIC5zbGljZSgwLCAxKVxuICAgICAgICAubWFwKChzZWxlY3Rpb246IHN0cmluZykgPT5cbiAgICAgICAgICBzZWxlY3Rpb25zLnB1c2goXG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnNfX3NlbGVjdGlvbid9XG4gICAgICAgICAgICAgIGtleT17c2VsZWN0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsKGZpbHRlcl9pdGVtLCBzZWxlY3Rpb24sIHRydWUpfVxuICAgICAgICAgICAgPC9saT4sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgPHNwYW4ga2V5PXsnTU9SRSd9PntgICgke3NlbGVjdGVkX29wdGlvbnMubGVuZ3RofSlgfTwvc3Bhbj4sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pLm1hcCgoc2VsZWN0aW9uOiBzdHJpbmcpID0+XG4gICAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50X19zZWxlY3Rpb25zX19zZWxlY3Rpb24nfVxuICAgICAgICAgICAga2V5PXtzZWxlY3Rpb259XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbChmaWx0ZXJfaXRlbSwgc2VsZWN0aW9uLCB0cnVlKX1cbiAgICAgICAgICA8L2xpPixcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbnM7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZmlsdGVyX2l0ZW0uc2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwKHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBmaWx0ZXJfaXRlbS5pZCxcbiAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJfaXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgbGV0IG1hdGNoRmlsdGVySXRlbSA9IGF2YWlsYWJsZUZpbHRlckl0ZW1zLmZpbmQoXG4gICAgICAgIChhdmFpbGFibGVGaWx0ZXJJdGVtOiBhbnkpID0+XG4gICAgICAgICAgYXZhaWxhYmxlRmlsdGVySXRlbS50eXBlID09PSBmaWx0ZXJfaXRlbS50eXBlLFxuICAgICAgKTtcblxuICAgICAgaWYgKG1hdGNoRmlsdGVySXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZpbHRlcl9pdGVtLmF2YWlsYWJsZV9vcHRpb25zID0gbWF0Y2hGaWx0ZXJJdGVtLm9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZmlsdGVyX2l0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnQnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2soZmlsdGVyX2l0ZW0pfVxuICAgICAgPlxuICAgICAgICA8c3Bhbj57dHJhbnNsYXRlRmlsdGVySXRlbVR5cGUoZmlsdGVyX2l0ZW0udHlwZSl9PC9zcGFuPlxuICAgICAgICA8dWwgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnMnfT5cbiAgICAgICAgICB7Z2V0U2VsZWN0aW9ucyhwYXJzZVNlbGVjdGVkSXRlbXMoZmlsdGVyX2l0ZW0pKS5tYXAoXG4gICAgICAgICAgICAoc2VsZWN0aW9uOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICApfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhIG9uQ2xpY2s9eygpID0+IHJlbW92ZUZpbHRlckl0ZW0oZmlsdGVyX2l0ZW0pfT5cbiAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgPC9hPlxuICAgICAge3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCA9PT0gZmlsdGVyX2l0ZW0uaWQgJiZcbiAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAgJiYgKFxuICAgICAgICAgIDxPcHRpb25zRHJvcERvd25cbiAgICAgICAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcz17cGFyc2VTZWxlY3RlZEl0ZW1zfVxuICAgICAgICAgICAgZmlsdGVySXRlbT17ZmlsdGVyX2l0ZW19XG4gICAgICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5PXthY3RpdmVGaWx0ZXJDb3B5fVxuICAgICAgICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3NldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA9e3Nob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwfVxuICAgICAgICAgICAgaGFuZGxlU2luZ2xlU2VsZWN0aW9uPXtoYW5kbGVTaW5nbGVTZWxlY3Rpb259XG4gICAgICAgICAgICB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWw9e3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbH1cbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbHRlckl0ZW07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFHQSxJQUFBSSxLQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFNLGdCQUFBLEdBQUFELHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTyxnQkFBQSxHQUFBUCxPQUFBO0FBQXVGLFNBQUFRLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJ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