@kando-env/kando-ui 1.2.458-alpha.2 → 1.2.458-alpha.20

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 (27) hide show
  1. package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +21 -6
  2. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  3. package/lib/components/Header/InfoBar/InfoBar.js +3 -3
  4. package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -3
  5. package/lib/i18n/en.json +9 -3
  6. package/lib/i18n/fr.json +2 -1
  7. package/lib/i18n/it.json +2 -1
  8. package/lib/macros/getVersion.js +2 -2
  9. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +14 -3
  10. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +26 -9
  11. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +3 -1
  12. package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +27 -0
  13. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -3
  14. package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +76 -0
  15. package/lib/store/filters/IFilterItem.js +1 -1
  16. package/lib/ui-kit/Dashboard/Dashboard.js +2 -2
  17. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +15 -14
  18. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +37 -19
  19. package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +18 -8
  20. package/lib/ui-kit/HierarchyGraph/NodeLayout.js +16 -33
  21. package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +48 -0
  22. package/lib/ui-kit/HierarchyGraph/ScoreNode.js +35 -0
  23. package/lib/ui-kit/HierarchyGraph/style.scss +57 -31
  24. package/lib/ui-kit/HierarchyGraph/utils.js +16 -1
  25. package/package.json +1 -1
  26. package/lib/ui-kit/HierarchyGraph/MicroStackedBarNode.js +0 -67
  27. package/lib/ui-kit/HierarchyGraph/PieNode.js +0 -26
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SingleSelect = SingleSelect;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactMultiSelect = _interopRequireDefault(require("@kenshooui/react-multi-select"));
12
+ require("@kenshooui/react-multi-select/dist/style.css");
13
+ var _radioButtonChecked = _interopRequireDefault(require("react-icons/lib/md/radio-button-checked"));
14
+ var _radioButtonUnchecked = _interopRequireDefault(require("react-icons/lib/md/radio-button-unchecked"));
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ // items should be: [{ id, label, ... }, ...]
18
+ // value is a single item or null
19
+ // onChange gets called with the selected item (or null)
20
+ function SingleSelect(_ref) {
21
+ var items = _ref.items,
22
+ value = _ref.value,
23
+ onChange = _ref.onChange,
24
+ responsiveHeight = _ref.responsiveHeight,
25
+ wrapperClassName = _ref.wrapperClassName;
26
+ var _useState = (0, _react.useState)(value || []),
27
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
+ selectedItems = _useState2[0],
29
+ setSelectedItems = _useState2[1];
30
+ var Item = function Item(_ref2) {
31
+ var item = _ref2.item,
32
+ checked = _ref2.checked;
33
+ return /*#__PURE__*/_react.default.createElement("div", {
34
+ style: {
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ lineHeight: '14px',
38
+ height: '100%',
39
+ margin: '12px'
40
+ },
41
+ onClick: function onClick() {
42
+ handleChange([item]);
43
+ }
44
+ }, /*#__PURE__*/_react.default.createElement("div", {
45
+ style: {
46
+ fontSize: '24px',
47
+ margin: '0 12px 0 0'
48
+ }
49
+ }, !checked ? /*#__PURE__*/_react.default.createElement(_radioButtonUnchecked.default, null) : /*#__PURE__*/_react.default.createElement(_radioButtonChecked.default, null)), item.label);
50
+ };
51
+ var handleChange = function handleChange(newSelectedItems) {
52
+ setSelectedItems(newSelectedItems);
53
+ onChange(newSelectedItems);
54
+ };
55
+ (0, _react.useEffect)(function () {
56
+ setSelectedItems(value);
57
+ }, [value]);
58
+ return /*#__PURE__*/_react.default.createElement(_reactMultiSelect.default, {
59
+ responsiveHeight: responsiveHeight - 40,
60
+ wrapperClassName: wrapperClassName,
61
+ items: items,
62
+ selectedItems: selectedItems
63
+ // onChange={handleChange}
64
+ ,
65
+ maxSelectedItems: 2,
66
+ showSearch: false,
67
+ showSelectAll: false
68
+ // 🔒 single selection
69
+ ,
70
+ itemRenderer: Item // 👈 radio UI instead of checkbox
71
+ // Optional tweaks:
72
+ ,
73
+ showSelectedItems: false // keep the right pane, like original UI
74
+ });
75
+ }
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RNdWx0aVNlbGVjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmFkaW9CdXR0b25DaGVja2VkIiwiX3JhZGlvQnV0dG9uVW5jaGVja2VkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTaW5nbGVTZWxlY3QiLCJfcmVmIiwiaXRlbXMiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwicmVzcG9uc2l2ZUhlaWdodCIsIndyYXBwZXJDbGFzc05hbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZWxlY3RlZEl0ZW1zIiwic2V0U2VsZWN0ZWRJdGVtcyIsIkl0ZW0iLCJfcmVmMiIsIml0ZW0iLCJjaGVja2VkIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJsaW5lSGVpZ2h0IiwiaGVpZ2h0IiwibWFyZ2luIiwib25DbGljayIsImhhbmRsZUNoYW5nZSIsImZvbnRTaXplIiwibGFiZWwiLCJuZXdTZWxlY3RlZEl0ZW1zIiwidXNlRWZmZWN0IiwibWF4U2VsZWN0ZWRJdGVtcyIsInNob3dTZWFyY2giLCJzaG93U2VsZWN0QWxsIiwiaXRlbVJlbmRlcmVyIiwic2hvd1NlbGVjdGVkSXRlbXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRzX2xpc3QvRmlsdGVyL1NpbmdsZVNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTXVsdGlTZWxlY3QgZnJvbSAnQGtlbnNob291aS9yZWFjdC1tdWx0aS1zZWxlY3QnO1xuaW1wb3J0ICdAa2Vuc2hvb3VpL3JlYWN0LW11bHRpLXNlbGVjdC9kaXN0L3N0eWxlLmNzcyc7XG5pbXBvcnQgUmFkaW9DaGVja2VkSWNvbiBmcm9tICdyZWFjdC1pY29ucy9saWIvbWQvcmFkaW8tYnV0dG9uLWNoZWNrZWQnO1xuaW1wb3J0IFJhZGlvVW5jaGVja2VkSWNvbiBmcm9tICdyZWFjdC1pY29ucy9saWIvbWQvcmFkaW8tYnV0dG9uLXVuY2hlY2tlZCc7XG5cbi8vIGl0ZW1zIHNob3VsZCBiZTogW3sgaWQsIGxhYmVsLCAuLi4gfSwgLi4uXVxuLy8gdmFsdWUgaXMgYSBzaW5nbGUgaXRlbSBvciBudWxsXG4vLyBvbkNoYW5nZSBnZXRzIGNhbGxlZCB3aXRoIHRoZSBzZWxlY3RlZCBpdGVtIChvciBudWxsKVxuZXhwb3J0IGZ1bmN0aW9uIFNpbmdsZVNlbGVjdCh7XG4gIGl0ZW1zLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIHJlc3BvbnNpdmVIZWlnaHQsXG4gIHdyYXBwZXJDbGFzc05hbWUsXG59KSB7XG4gIGNvbnN0IFtzZWxlY3RlZEl0ZW1zLCBzZXRTZWxlY3RlZEl0ZW1zXSA9IHVzZVN0YXRlKHZhbHVlIHx8IFtdKTtcblxuICBjb25zdCBJdGVtID0gKHsgaXRlbSwgY2hlY2tlZCB9KSA9PiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgbGluZUhlaWdodDogJzE0cHgnLFxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgbWFyZ2luOiAnMTJweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVDaGFuZ2UoW2l0ZW1dKTtcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnLCBtYXJnaW46ICcwIDEycHggMCAwJyB9fT5cbiAgICAgICAgeyFjaGVja2VkID8gPFJhZGlvVW5jaGVja2VkSWNvbiAvPiA6IDxSYWRpb0NoZWNrZWRJY29uIC8+fVxuICAgICAgPC9kaXY+XG4gICAgICB7aXRlbS5sYWJlbH1cbiAgICA8L2Rpdj5cbiAgKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAobmV3U2VsZWN0ZWRJdGVtcykgPT4ge1xuICAgIHNldFNlbGVjdGVkSXRlbXMobmV3U2VsZWN0ZWRJdGVtcyk7XG4gICAgb25DaGFuZ2UobmV3U2VsZWN0ZWRJdGVtcyk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTZWxlY3RlZEl0ZW1zKHZhbHVlKTtcbiAgfSwgW3ZhbHVlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TXVsdGlTZWxlY3RcbiAgICAgIHJlc3BvbnNpdmVIZWlnaHQ9e3Jlc3BvbnNpdmVIZWlnaHQgLSA0MH1cbiAgICAgIHdyYXBwZXJDbGFzc05hbWU9e3dyYXBwZXJDbGFzc05hbWV9XG4gICAgICBpdGVtcz17aXRlbXN9XG4gICAgICBzZWxlY3RlZEl0ZW1zPXtzZWxlY3RlZEl0ZW1zfVxuICAgICAgLy8gb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgIG1heFNlbGVjdGVkSXRlbXM9ezJ9XG4gICAgICBzaG93U2VhcmNoPXtmYWxzZX1cbiAgICAgIHNob3dTZWxlY3RBbGw9e2ZhbHNlfVxuICAgICAgLy8g8J+UkiBzaW5nbGUgc2VsZWN0aW9uXG4gICAgICBpdGVtUmVuZGVyZXI9e0l0ZW19IC8vIPCfkYggcmFkaW8gVUkgaW5zdGVhZCBvZiBjaGVja2JveFxuICAgICAgLy8gT3B0aW9uYWwgdHdlYWtzOlxuICAgICAgc2hvd1NlbGVjdGVkSXRlbXM9e2ZhbHNlfSAvLyBrZWVwIHRoZSByaWdodCBwYW5lLCBsaWtlIG9yaWdpbmFsIFVJXG4gICAgLz5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFBMkUsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFB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
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRmlsdGVySXRlbSB7XG4gIGlkOiBudW1iZXI7XG4gIGZpbHRlcl9pZDogbnVtYmVyO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNlbGVjdGVkX29wdGlvbnM6IGFueVtdO1xuICBhdmFpbGFibGVfb3B0aW9uczogYW55W107XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgdXBkYXRlZF9hdDogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlckl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRmlsdGVySXRlbSB7XG4gIGlkOiBudW1iZXI7XG4gIGZpbHRlcl9pZDogbnVtYmVyO1xuICBtYXhfc2VsZWN0ZWRfaXRlbXM6IG51bWJlcjtcbiAgdHlwZTogc3RyaW5nO1xuICBzZWxlY3RlZF9vcHRpb25zOiBhbnlbXTtcbiAgYXZhaWxhYmxlX29wdGlvbnM6IGFueVtdO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -24,7 +24,6 @@ var Dashboard = function Dashboard(_ref) {
24
24
  var searchQuery = (0, _useQueryURL.default)();
25
25
  var dispatch = (0, _reactRedux.useDispatch)();
26
26
  var isMapTab = searchQuery.get('view') === 'map';
27
- var isHierarchyTab = searchQuery.get('view') === 'hierarchy';
28
27
  var _useSelector = (0, _reactRedux.useSelector)(function (_ref2) {
29
28
  var global_data = _ref2.global_data,
30
29
  permissions = _ref2.permissions;
@@ -35,6 +34,7 @@ var Dashboard = function Dashboard(_ref) {
35
34
  }),
36
35
  waterAuthorityName = _useSelector.waterAuthorityName,
37
36
  enableGraphTab = _useSelector.enableGraphTab;
37
+ var isHierarchyTab = enableGraphTab && searchQuery.get('view') === 'hierarchy';
38
38
  (0, _react.useEffect)(function () {
39
39
  (0, _Analytics.analyticsTrack)("Viewed ".concat(pageName, " Dashboard Page"), {
40
40
  utility_name: waterAuthorityName
@@ -58,4 +58,4 @@ var Dashboard = function Dashboard(_ref) {
58
58
  };
59
59
  var _default = Dashboard;
60
60
  exports.default = _default;
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0luZm9CYXIiLCJfRGFzaGJvYXJkTWFwIiwiX0FuYWx5dGljcyIsIl9hY3Rpb25zIiwiX3JlYWN0UmVkdXgiLCJfSGllcmFyY2h5R3JhcGgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkRhc2hib2FyZCIsIl9yZWYiLCJwYWdlTmFtZSIsImJyZWFkY3J1bWJzIiwiY2hpbGRyZW4iLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImlzTWFwVGFiIiwiaXNIaWVyYXJjaHlUYWIiLCJfdXNlU2VsZWN0b3IiLCJ1c2VTZWxlY3RvciIsIl9yZWYyIiwiZ2xvYmFsX2RhdGEiLCJwZXJtaXNzaW9ucyIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImVuYWJsZUdyYXBoVGFiIiwiZW5hYmxlX2dyYXBoX3RhYiIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwiY29uY2F0IiwidXRpbGl0eV9uYW1lIiwidXBkYXRlTmF2Q29udGV4dCIsIm5hbWUiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJJbmZvQmFyIiwicGFydHMiLCJsaW5rIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNob3dIaWVyYXJjaHkiLCJtYXBEaXNhYmxlIiwiY2xhc3NOYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9EYXNoYm9hcmQvRGFzaGJvYXJkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IEluZm9CYXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0hlYWRlci9JbmZvQmFyL0luZm9CYXInO1xuaW1wb3J0IERhc2hib2FyZE1hcCBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBIaWVyYXJjaHlHcmFwaCBmcm9tICcuLi9IaWVyYXJjaHlHcmFwaCc7XG5cbnR5cGUgRGFzaGJvYXJkUHJvcHMgPSB7XG4gIHBhZ2VOYW1lOiBzdHJpbmc7XG4gIGJyZWFkY3J1bWJzOiAoeyBuYW1lOiBzdHJpbmc7IGxpbms6IHN0cmluZyB9IHwgc3RyaW5nKVtdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcbmNvbnN0IERhc2hib2FyZCA9ICh7IHBhZ2VOYW1lLCBicmVhZGNydW1icywgY2hpbGRyZW4gfTogRGFzaGJvYXJkUHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBjb25zdCBpc0hpZXJhcmNoeVRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnaGllcmFyY2h5JztcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eU5hbWUsIGVuYWJsZUdyYXBoVGFiIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoeyBnbG9iYWxfZGF0YSwgcGVybWlzc2lvbnMgfSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2F0ZXJBdXRob3JpdHlOYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgICAgIGVuYWJsZUdyYXBoVGFiOiBwZXJtaXNzaW9ucy5lbmFibGVfZ3JhcGhfdGFiLFxuICAgICAgfTtcbiAgICB9LFxuICApO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKGBWaWV3ZWQgJHtwYWdlTmFtZX0gRGFzaGJvYXJkIFBhZ2VgLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ2Rhc2hib2FyZF92MicgfSkpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxJbmZvQmFyXG4gICAgICAgIHBhcnRzPXtbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGluazogJy9kYXNoYm9hcmRfdjIvaW5kZXgnLFxuICAgICAgICAgICAgbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uYnJlYWRjcnVtYnMsXG4gICAgICAgIF19XG4gICAgICAgIHNob3dIaWVyYXJjaHk9e2VuYWJsZUdyYXBoVGFifVxuICAgICAgICBtYXBEaXNhYmxlPXtmYWxzZX1cbiAgICAgIC8+XG4gICAgICA8RGFzaGJvYXJkTWFwIGNsYXNzTmFtZT17YCR7IWlzTWFwVGFiID8gJ2Qtbm9uZScgOiAnJ31gfSAvPlxuICAgICAge2VuYWJsZUdyYXBoVGFiICYmIDxIaWVyYXJjaHlHcmFwaCAvPn1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtpc01hcFRhYiB8fCBpc0hpZXJhcmNoeVRhYiA/ICdkLW5vbmUnIDogJyd9YH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IERhc2hib2FyZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZUFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQStDLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWCx3QkFBQWUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQU8vQyxJQUFNVyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBQUMsSUFBQSxFQUE0RDtFQUFBLElBQXREQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUFFQyxXQUFXLEdBQUFGLElBQUEsQ0FBWEUsV0FBVztJQUFFQyxRQUFRLEdBQUFILElBQUEsQ0FBUkcsUUFBUTtFQUNsRCxJQUFNQyxXQUFXLEdBQUcsSUFBQUMsb0JBQVcsRUFBQyxDQUFDO0VBQ2pDLElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBTUMsUUFBUSxHQUFHSixXQUFXLENBQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSztFQUNsRCxJQUFNc0IsY0FBYyxHQUFHTCxXQUFXLENBQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVztFQUM5RCxJQUFBdUIsWUFBQSxHQUErQyxJQUFBQyx1QkFBVyxFQUN4RCxVQUFBQyxLQUFBLEVBQWtDO01BQUEsSUFBL0JDLFdBQVcsR0FBQUQsS0FBQSxDQUFYQyxXQUFXO1FBQUVDLFdBQVcsR0FBQUYsS0FBQSxDQUFYRSxXQUFXO01BQ3pCLE9BQU87UUFDTEMsa0JBQWtCLEVBQUVGLFdBQVcsQ0FBQ0Usa0JBQWtCO1FBQ2xEQyxjQUFjLEVBQUVGLFdBQVcsQ0FBQ0c7TUFDOUIsQ0FBQztJQUNILENBQ0YsQ0FBQztJQVBPRixrQkFBa0IsR0FBQUwsWUFBQSxDQUFsQkssa0JBQWtCO0lBQUVDLGNBQWMsR0FBQU4sWUFBQSxDQUFkTSxjQUFjO0VBUTFDLElBQUFFLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUFDLHlCQUFjLFlBQUFDLE1BQUEsQ0FBV25CLFFBQVEsc0JBQW1CO01BQ2xEb0IsWUFBWSxFQUFFTjtJQUNoQixDQUFDLENBQUM7SUFDRlQsUUFBUSxDQUFDLElBQUFnQix5QkFBZ0IsRUFBQztNQUFFQyxJQUFJLEVBQUU7SUFBZSxDQUFDLENBQUMsQ0FBQztFQUN0RCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sb0JBQ0UxRCxNQUFBLENBQUFtQixPQUFBLENBQUF3QyxhQUFBLENBQUEzRCxNQUFBLENBQUFtQixPQUFBLENBQUF5QyxRQUFBLHFCQUNFNUQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBd0MsYUFBQSxDQUFDdEQsUUFBQSxDQUFBd0QsT0FBTztJQUNOQyxLQUFLLEdBQ0g7TUFDRUMsSUFBSSxFQUFFLHFCQUFxQjtNQUMzQkwsSUFBSSxFQUFFUjtJQUNSLENBQUMsRUFBQUssTUFBQSxLQUFBUyxtQkFBQSxDQUFBN0MsT0FBQSxFQUNFa0IsV0FBVyxFQUNkO0lBQ0Y0QixhQUFhLEVBQUVkLGNBQWU7SUFDOUJlLFVBQVUsRUFBRTtFQUFNLENBQ25CLENBQUMsZUFDRmxFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXdDLGFBQUEsQ0FBQ3JELGFBQUEsQ0FBQWEsT0FBWTtJQUFDZ0QsU0FBUyxLQUFBWixNQUFBLENBQUssQ0FBQ1osUUFBUSxHQUFHLFFBQVEsR0FBRyxFQUFFO0VBQUcsQ0FBRSxDQUFDLEVBQzFEUSxjQUFjLGlCQUFJbkQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBd0MsYUFBQSxDQUFDakQsZUFBQSxDQUFBUyxPQUFjLE1BQUUsQ0FBQyxlQUNyQ25CLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXdDLGFBQUE7SUFBS1EsU0FBUyxLQUFBWixNQUFBLENBQUtaLFFBQVEsSUFBSUMsY0FBYyxHQUFHLFFBQVEsR0FBRyxFQUFFO0VBQUcsR0FDN0ROLFFBQ0UsQ0FDTCxDQUFDO0FBRVAsQ0FBQztBQUFDLElBQUE4QixRQUFBLEdBQ2FsQyxTQUFTO0FBQUFtQyxPQUFBLENBQUFsRCxPQUFBLEdBQUFpRCxRQUFBIn0=
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0luZm9CYXIiLCJfRGFzaGJvYXJkTWFwIiwiX0FuYWx5dGljcyIsIl9hY3Rpb25zIiwiX3JlYWN0UmVkdXgiLCJfSGllcmFyY2h5R3JhcGgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkRhc2hib2FyZCIsIl9yZWYiLCJwYWdlTmFtZSIsImJyZWFkY3J1bWJzIiwiY2hpbGRyZW4iLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImlzTWFwVGFiIiwiX3VzZVNlbGVjdG9yIiwidXNlU2VsZWN0b3IiLCJfcmVmMiIsImdsb2JhbF9kYXRhIiwicGVybWlzc2lvbnMiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJlbmFibGVHcmFwaFRhYiIsImVuYWJsZV9ncmFwaF90YWIiLCJpc0hpZXJhcmNoeVRhYiIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwiY29uY2F0IiwidXRpbGl0eV9uYW1lIiwidXBkYXRlTmF2Q29udGV4dCIsIm5hbWUiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJJbmZvQmFyIiwicGFydHMiLCJsaW5rIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNob3dIaWVyYXJjaHkiLCJtYXBEaXNhYmxlIiwiY2xhc3NOYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9EYXNoYm9hcmQvRGFzaGJvYXJkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IEluZm9CYXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0hlYWRlci9JbmZvQmFyL0luZm9CYXInO1xuaW1wb3J0IERhc2hib2FyZE1hcCBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBIaWVyYXJjaHlHcmFwaCBmcm9tICcuLi9IaWVyYXJjaHlHcmFwaCc7XG5cbnR5cGUgRGFzaGJvYXJkUHJvcHMgPSB7XG4gIHBhZ2VOYW1lOiBzdHJpbmc7XG4gIGJyZWFkY3J1bWJzOiAoeyBuYW1lOiBzdHJpbmc7IGxpbms6IHN0cmluZyB9IHwgc3RyaW5nKVtdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcbmNvbnN0IERhc2hib2FyZCA9ICh7IHBhZ2VOYW1lLCBicmVhZGNydW1icywgY2hpbGRyZW4gfTogRGFzaGJvYXJkUHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBjb25zdCB7IHdhdGVyQXV0aG9yaXR5TmFtZSwgZW5hYmxlR3JhcGhUYWIgfSA9IHVzZVNlbGVjdG9yKFxuICAgICh7IGdsb2JhbF9kYXRhLCBwZXJtaXNzaW9ucyB9KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3YXRlckF1dGhvcml0eU5hbWU6IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgICAgZW5hYmxlR3JhcGhUYWI6IHBlcm1pc3Npb25zLmVuYWJsZV9ncmFwaF90YWIsXG4gICAgICB9O1xuICAgIH0sXG4gICk7XG4gIGNvbnN0IGlzSGllcmFyY2h5VGFiID1cbiAgICBlbmFibGVHcmFwaFRhYiAmJiBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ2hpZXJhcmNoeSc7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soYFZpZXdlZCAke3BhZ2VOYW1lfSBEYXNoYm9hcmQgUGFnZWAsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnZGFzaGJvYXJkX3YyJyB9KSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEluZm9CYXJcbiAgICAgICAgcGFydHM9e1tcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsaW5rOiAnL2Rhc2hib2FyZF92Mi9pbmRleCcsXG4gICAgICAgICAgICBuYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi5icmVhZGNydW1icyxcbiAgICAgICAgXX1cbiAgICAgICAgc2hvd0hpZXJhcmNoeT17ZW5hYmxlR3JhcGhUYWJ9XG4gICAgICAgIG1hcERpc2FibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICAgIDxEYXNoYm9hcmRNYXAgY2xhc3NOYW1lPXtgJHshaXNNYXBUYWIgPyAnZC1ub25lJyA6ICcnfWB9IC8+XG4gICAgICB7ZW5hYmxlR3JhcGhUYWIgJiYgPEhpZXJhcmNoeUdyYXBoIC8+fVxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2lzTWFwVGFiIHx8IGlzSGllcmFyY2h5VGFiID8gJ2Qtbm9uZScgOiAnJ31gfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgRGFzaGJvYXJkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFBK0MsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFYLHdCQUFBZSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdB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
@@ -10,9 +10,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactD3Tree = _interopRequireDefault(require("react-d3-tree"));
13
- var _PieNode = _interopRequireDefault(require("./PieNode"));
14
- var _MicroStackedBarNode = _interopRequireDefault(require("./MicroStackedBarNode"));
13
+ var _ScoreNode = _interopRequireDefault(require("./ScoreNode"));
14
+ var _PollutionContributorNode = _interopRequireDefault(require("./PollutionContributorNode"));
15
+ var _utils = require("./utils");
15
16
  var _reactRedux = require("react-redux");
17
+ var _reactRouterDom = require("react-router-dom");
16
18
  var _excluded = ["data", "orientation", "initialDepth", "treeKey", "selectedFilters"];
17
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -116,23 +118,22 @@ function AutoFitTree(_ref) {
116
118
  var clone = JSON.parse(JSON.stringify(data));
117
119
  return setCollapsedByDepth(clone, initialDepth);
118
120
  }, [data, initialDepth]);
121
+ var _useParams = (0, _reactRouterDom.useParams)(),
122
+ siteID = _useParams.siteID,
123
+ areaID = _useParams.areaID;
119
124
  var renderCustomNodeElement = function renderCustomNodeElement(rd3tProps) {
120
- var _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _selectedFilters$Poin, _selectedFilters$Samp, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4;
125
+ var _selectedFilters$Samp, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4;
121
126
  var isRoot = rd3tProps.nodeDatum.__rd3t.depth === 0;
122
- var isMonitored = (_rd3tProps$nodeDatum$ = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$ === void 0 ? void 0 : _rd3tProps$nodeDatum$.monitored;
123
- var siteId = (_rd3tProps$nodeDatum$2 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$2 === void 0 ? void 0 : _rd3tProps$nodeDatum$2.point_id;
124
- var filterBySite = (selectedFilters === null || selectedFilters === void 0 ? void 0 : selectedFilters.SiteFilterItem) && !selectedFilters.SiteFilterItem.includes(siteId);
125
- var showOnlyMonitored = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Poin = selectedFilters.PointsModeFilterItem) === null || _selectedFilters$Poin === void 0 ? void 0 : _selectedFilters$Poin.toString()) === 'monitored' || false;
126
127
  var showSamplers = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Samp = selectedFilters.SamplerFilterItem) === null || _selectedFilters$Samp === void 0 ? void 0 : _selectedFilters$Samp.toString()) === 'with' || false;
127
- var interestPointsFilter = (selectedFilters === null || selectedFilters === void 0 ? void 0 : selectedFilters.InterestPointFilterItem) || [];
128
- var filterByInterestPoint = interestPointsFilter.length > 0 && !interestPointsFilter.includes((_rd3tProps$nodeDatum$3 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$3 === void 0 ? void 0 : _rd3tProps$nodeDatum$3.point_id);
129
- var filterByArea = (selectedFilters === null || selectedFilters === void 0 ? void 0 : selectedFilters.AreaFilterItem) && selectedFilters.AreaFilterItem.length > 0 && !selectedFilters.AreaFilterItem.includes((_rd3tProps$nodeDatum$4 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$4 === void 0 ? void 0 : _rd3tProps$nodeDatum$4.area_id);
130
- var nodeType = (selectedFilters === null || selectedFilters === void 0 ? void 0 : selectedFilters.NodeTypeFilterItem) || 'pie';
131
- return !isRoot && (showOnlyMonitored && !isMonitored || filterBySite || filterByInterestPoint || filterByArea) ? /*#__PURE__*/_react.default.createElement("div", null) : nodeType === 'pie' ? /*#__PURE__*/_react.default.createElement(_PieNode.default, Object.assign({}, rd3tProps, {
128
+ var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
129
+ var isHighlight = siteID && siteID === ((_rd3tProps$nodeDatum$ = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$ === void 0 ? void 0 : (_rd3tProps$nodeDatum$2 = _rd3tProps$nodeDatum$.point_id) === null || _rd3tProps$nodeDatum$2 === void 0 ? void 0 : _rd3tProps$nodeDatum$2.toString()) || areaID && areaID === ((_rd3tProps$nodeDatum$3 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$3 === void 0 ? void 0 : (_rd3tProps$nodeDatum$4 = _rd3tProps$nodeDatum$3.area_id) === null || _rd3tProps$nodeDatum$4 === void 0 ? void 0 : _rd3tProps$nodeDatum$4.toString());
130
+ return !isRoot && (0, _utils.shouldFilterOut)(rd3tProps, selectedFilters) ? /*#__PURE__*/_react.default.createElement("div", null) : insightData === 'score' ? /*#__PURE__*/_react.default.createElement(_ScoreNode.default, Object.assign({}, rd3tProps, {
131
+ isHighlight: isHighlight,
132
132
  onNodeClick: rest.onNodeClick,
133
133
  earlyAdopter: early_adopter,
134
134
  showSamplers: showSamplers
135
- })) : /*#__PURE__*/_react.default.createElement(_MicroStackedBarNode.default, Object.assign({}, rd3tProps, {
135
+ })) : /*#__PURE__*/_react.default.createElement(_PollutionContributorNode.default, Object.assign({}, rd3tProps, {
136
+ isHighlight: isHighlight,
136
137
  onNodeClick: rest.onNodeClick,
137
138
  earlyAdopter: early_adopter,
138
139
  showSamplers: showSamplers
@@ -164,4 +165,4 @@ function AutoFitTree(_ref) {
164
165
  initialDepth: initialDepth
165
166
  }, rest)));
166
167
  }
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BpZU5vZGUiLCJfTWljcm9TdGFja2VkQmFyTm9kZSIsIl9yZWFjdFJlZHV4IiwiX2V4Y2x1ZGVkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJjb3VudERlcHRoQW5kQnJlYWR0aCIsInJvb3QiLCJtYXhEZXB0aCIsImJyZWFkdGhCeURlcHRoIiwiZGZzIiwibiIsIl9uJGNoaWxkcmVuIiwiZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIk1hdGgiLCJtYXgiLCJjaGlsZHJlbiIsImZvckVhY2giLCJjIiwibWF4QnJlYWR0aCIsImFwcGx5IiwiQXV0b0ZpdFRyZWUiLCJfcmVmIiwiZGF0YSIsIl9yZWYkb3JpZW50YXRpb24iLCJvcmllbnRhdGlvbiIsImluaXRpYWxEZXB0aCIsInRyZWVLZXkiLCJfcmVmJHNlbGVjdGVkRmlsdGVycyIsInNlbGVjdGVkRmlsdGVycyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwicmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQiLCJyZDN0UHJvcHMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQyIiwiX3NlbGVjdGVkRmlsdGVycyRQb2luIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMyIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDQiLCJpc1Jvb3QiLCJub2RlRGF0dW0iLCJfX3JkM3QiLCJkZXB0aCIsImlzTW9uaXRvcmVkIiwiYXR0cmlidXRlcyIsIm1vbml0b3JlZCIsInNpdGVJZCIsInBvaW50X2lkIiwiZmlsdGVyQnlTaXRlIiwiU2l0ZUZpbHRlckl0ZW0iLCJpbmNsdWRlcyIsInNob3dPbmx5TW9uaXRvcmVkIiwiUG9pbnRzTW9kZUZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsInNob3dTYW1wbGVycyIsIlNhbXBsZXJGaWx0ZXJJdGVtIiwiaW50ZXJlc3RQb2ludHNGaWx0ZXIiLCJJbnRlcmVzdFBvaW50RmlsdGVySXRlbSIsImZpbHRlckJ5SW50ZXJlc3RQb2ludCIsImZpbHRlckJ5QXJlYSIsIkFyZWFGaWx0ZXJJdGVtIiwiYXJlYV9pZCIsIm5vZGVUeXBlIiwiTm9kZVR5cGVGaWx0ZXJJdGVtIiwiY3JlYXRlRWxlbWVudCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFBpZU5vZGUgZnJvbSAnLi9QaWVOb2RlJztcbmltcG9ydCBNaWNyb1N0YWNrZWRCYXJOb2RlIGZyb20gJy4vTWljcm9TdGFja2VkQmFyTm9kZSc7XG5pbXBvcnQgeyBOb2RlVHlwZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICAuLi5yZXN0XG59OiB7XG4gIGRhdGE6IGFueTtcbiAgb3JpZW50YXRpb24/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICBpbml0aWFsRGVwdGg6IG51bWJlcjtcbiAgb25Ob2RlQ2xpY2s/OiAobm9kZURhdGE6IGFueSkgPT4gdm9pZDtcbiAgdHJlZUtleTogbnVtYmVyO1xuICBzZWxlY3RlZEZpbHRlcnM/OiBhbnk7XG59KSB7XG4gIGNvbnN0IFBBRERJTkcgPSA0MjsgLy8gc2NyZWVuIHBhZGRpbmcgaW4gcHhcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vZGVTaXplID0geyB4OiAyNzAsIHk6IDI3MCB9OyAvLyBob3cgbXVjaCBzcGFjZSBlYWNoIG5vZGUgb2NjdXBpZXNcbiAgY29uc3Qgc2VwYXJhdGlvbjogU2VwID0geyBzaWJsaW5nczogMC44LCBub25TaWJsaW5nczogMC45IH07IC8vIG5vZGUgc3BhY2luZ1xuICBjb25zdCBbZGltcywgc2V0RGltc10gPSB1c2VTdGF0ZSh7IHdpZHRoOiA1MDAsIGhlaWdodDogMTAwIH0pO1xuICBjb25zdCBlYXJseV9hZG9wdGVyID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBhbnkpID0+IHN0YXRlLnBlcm1pc3Npb25zLmVhcmx5X2Fkb3B0ZXIsXG4gICk7XG5cbiAgLy8ga2VlcCB3cmFwcGVyIHNpemVkIHRvIHRoZSB2aWV3cG9ydFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgY29uc3Qgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3QgciA9IHdyYXBwZXJSZWYuY3VycmVudCEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBzZXREaW1zKHsgd2lkdGg6IHIud2lkdGgsIGhlaWdodDogci5oZWlnaHQgfSk7XG4gICAgfSk7XG4gICAgcm8ub2JzZXJ2ZSh3cmFwcGVyUmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiByby5kaXNjb25uZWN0KCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCB7IHRyYW5zbGF0ZSwgem9vbSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgeyBtYXhEZXB0aCwgbWF4QnJlYWR0aCB9ID0gY291bnREZXB0aEFuZEJyZWFkdGgoZGF0YSk7XG5cbiAgICAvLyBhcHByb3hpbWF0ZSByZXF1aXJlZCBwaXhlbCBzaXplIG9mIHRoZSBsYWlkLW91dCB0cmVlXG4gICAgY29uc3QgcmVxVyA9IG1heEJyZWFkdGggKiBub2RlU2l6ZS54ICogc2VwYXJhdGlvbi5zaWJsaW5ncztcbiAgICBjb25zdCByZXFIID0gKG1heERlcHRoICsgMSkgKiBub2RlU2l6ZS55O1xuXG4gICAgY29uc3QgYXZhaWxXID0gTWF0aC5tYXgoMSwgZGltcy53aWR0aCAtIFBBRERJTkcgKiAyKTtcbiAgICBjb25zdCBhdmFpbEggPSBNYXRoLm1heCgxLCBkaW1zLmhlaWdodCAtIFBBRERJTkcgKiAyKTtcblxuICAgIGNvbnN0IGZpdFpvb20gPSAwLjcgKiBNYXRoLm1pbihhdmFpbFcgLyByZXFXLCBhdmFpbEggLyByZXFIKTtcbiAgICBjb25zdCB6ID0gaXNGaW5pdGUoZml0Wm9vbSkgJiYgZml0Wm9vbSA+IDAgPyBmaXRab29tIDogMS4yO1xuXG4gICAgcmV0dXJuIHsgem9vbTogeiwgdHJhbnNsYXRlOiB7IHg6IGRpbXMud2lkdGggLyAyLCB5OiBQQURESU5HIH0gfTtcbiAgfSwgW1xuICAgIGRhdGEsXG4gICAgbm9kZVNpemUueCxcbiAgICBub2RlU2l6ZS55LFxuICAgIHNlcGFyYXRpb24uc2libGluZ3MsXG4gICAgZGltcy53aWR0aCxcbiAgICBkaW1zLmhlaWdodCxcbiAgXSk7XG5cbiAgZnVuY3Rpb24gc2V0Q29sbGFwc2VkQnlEZXB0aChub2RlOiBhbnksIG1heERlcHRoOiBudW1iZXIsIGQgPSAwKSB7XG4gICAgbm9kZS5jb2xsYXBzZWQgPSBkID49IG1heERlcHRoO1xuICAgIG5vZGUuY2hpbGRyZW4/LmZvckVhY2goKGMpID0+IHNldENvbGxhcHNlZEJ5RGVwdGgoYywgbWF4RGVwdGgsIGQgKyAxKSk7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBjb25zdCB2aWV3RGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghZGF0YSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICByZXR1cm4gc2V0Q29sbGFwc2VkQnlEZXB0aChjbG9uZSwgaW5pdGlhbERlcHRoKTtcbiAgfSwgW2RhdGEsIGluaXRpYWxEZXB0aF0pO1xuXG4gIGNvbnN0IHJlbmRlckN1c3RvbU5vZGVFbGVtZW50ID0gKHJkM3RQcm9wcykgPT4ge1xuICAgIGNvbnN0IGlzUm9vdCA9IHJkM3RQcm9wcy5ub2RlRGF0dW0uX19yZDN0LmRlcHRoID09PSAwO1xuICAgIGNvbnN0IGlzTW9uaXRvcmVkID0gcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQ7XG4gICAgY29uc3Qgc2l0ZUlkID0gcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZDtcbiAgICBjb25zdCBmaWx0ZXJCeVNpdGUgPVxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5TaXRlRmlsdGVySXRlbSAmJlxuICAgICAgIXNlbGVjdGVkRmlsdGVycy5TaXRlRmlsdGVySXRlbS5pbmNsdWRlcyhzaXRlSWQpO1xuICAgIGNvbnN0IHNob3dPbmx5TW9uaXRvcmVkID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uUG9pbnRzTW9kZUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgPT09ICdtb25pdG9yZWQnIHx8XG4gICAgICBmYWxzZTtcbiAgICBjb25zdCBzaG93U2FtcGxlcnMgPVxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5TYW1wbGVyRmlsdGVySXRlbT8udG9TdHJpbmcoKSA9PT0gJ3dpdGgnIHx8IGZhbHNlO1xuICAgIGNvbnN0IGludGVyZXN0UG9pbnRzRmlsdGVyID0gc2VsZWN0ZWRGaWx0ZXJzPy5JbnRlcmVzdFBvaW50RmlsdGVySXRlbSB8fCBbXTtcbiAgICBjb25zdCBmaWx0ZXJCeUludGVyZXN0UG9pbnQgPVxuICAgICAgaW50ZXJlc3RQb2ludHNGaWx0ZXIubGVuZ3RoID4gMCAmJlxuICAgICAgIWludGVyZXN0UG9pbnRzRmlsdGVyLmluY2x1ZGVzKHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQpO1xuICAgIGNvbnN0IGZpbHRlckJ5QXJlYSA9XG4gICAgICBzZWxlY3RlZEZpbHRlcnM/LkFyZWFGaWx0ZXJJdGVtICYmXG4gICAgICBzZWxlY3RlZEZpbHRlcnMuQXJlYUZpbHRlckl0ZW0ubGVuZ3RoID4gMCAmJlxuICAgICAgIXNlbGVjdGVkRmlsdGVycy5BcmVhRmlsdGVySXRlbS5pbmNsdWRlcyhcbiAgICAgICAgcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX2lkLFxuICAgICAgKTtcbiAgICBjb25zdCBub2RlVHlwZSA9IChzZWxlY3RlZEZpbHRlcnM/Lk5vZGVUeXBlRmlsdGVySXRlbSBhcyBOb2RlVHlwZSkgfHwgJ3BpZSc7XG4gICAgcmV0dXJuICFpc1Jvb3QgJiZcbiAgICAgICgoc2hvd09ubHlNb25pdG9yZWQgJiYgIWlzTW9uaXRvcmVkKSB8fFxuICAgICAgICBmaWx0ZXJCeVNpdGUgfHxcbiAgICAgICAgZmlsdGVyQnlJbnRlcmVzdFBvaW50IHx8XG4gICAgICAgIGZpbHRlckJ5QXJlYSkgPyAoXG4gICAgICA8ZGl2PjwvZGl2PlxuICAgICkgOiBub2RlVHlwZSA9PT0gJ3BpZScgPyAoXG4gICAgICA8UGllTm9kZVxuICAgICAgICB7Li4ucmQzdFByb3BzfVxuICAgICAgICBvbk5vZGVDbGljaz17cmVzdC5vbk5vZGVDbGlja31cbiAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxNaWNyb1N0YWNrZWRCYXJOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIG9uTm9kZUNsaWNrPXtyZXN0Lm9uTm9kZUNsaWNrfVxuICAgICAgICBlYXJseUFkb3B0ZXI9e2Vhcmx5X2Fkb3B0ZXJ9XG4gICAgICAgIHNob3dTYW1wbGVycz17c2hvd1NhbXBsZXJzfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgcmVmPXt3cmFwcGVyUmVmfVxuICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDB2dycsIGhlaWdodDogJzEwMHZoJywgb3ZlcmZsb3c6ICdoaWRkZW4nIH19XG4gICAgPlxuICAgICAgPFRyZWVcbiAgICAgICAga2V5PXt0cmVlS2V5fVxuICAgICAgICBkYXRhPXt2aWV3RGF0YX1cbiAgICAgICAgb3JpZW50YXRpb249e29yaWVudGF0aW9ufVxuICAgICAgICBwYXRoRnVuYz1cInN0ZXBcIlxuICAgICAgICBub2RlU2l6ZT17bm9kZVNpemV9XG4gICAgICAgIHNlcGFyYXRpb249e3NlcGFyYXRpb259XG4gICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICB6b29tPXt6b29tfVxuICAgICAgICB6b29tYWJsZVxuICAgICAgICBzY2FsZUV4dGVudD17eyBtaW46IDAuMSwgbWF4OiAyIH19XG4gICAgICAgIHJlbmRlckN1c3RvbU5vZGVFbGVtZW50PXtyZW5kZXJDdXN0b21Ob2RlRWxlbWVudH1cbiAgICAgICAgY29sbGFwc2libGVcbiAgICAgICAgaW5pdGlhbERlcHRoPXtpbml0aWFsRGVwdGh9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFBMEMsSUFBQU0sU0FBQTtBQUFBLFNBQUFDLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQWEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFB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
168
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJyZXN0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIlBBRERJTkciLCJ3cmFwcGVyUmVmIiwidXNlUmVmIiwibm9kZVNpemUiLCJ4IiwieSIsInNlcGFyYXRpb24iLCJzaWJsaW5ncyIsIm5vblNpYmxpbmdzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ3aWR0aCIsImhlaWdodCIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkaW1zIiwic2V0RGltcyIsImVhcmx5X2Fkb3B0ZXIiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicGVybWlzc2lvbnMiLCJ1c2VFZmZlY3QiLCJjdXJyZW50Iiwicm8iLCJSZXNpemVPYnNlcnZlciIsInIiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsIl91c2VNZW1vIiwidXNlTWVtbyIsIl9jb3VudERlcHRoQW5kQnJlYWR0aCIsInJlcVciLCJyZXFIIiwiYXZhaWxXIiwiYXZhaWxIIiwiZml0Wm9vbSIsIm1pbiIsInoiLCJpc0Zpbml0ZSIsInpvb20iLCJ0cmFuc2xhdGUiLCJzZXRDb2xsYXBzZWRCeURlcHRoIiwibm9kZSIsIl9ub2RlJGNoaWxkcmVuIiwiY29sbGFwc2VkIiwidmlld0RhdGEiLCJjbG9uZSIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzaXRlSUQiLCJhcmVhSUQiLCJyZW5kZXJDdXN0b21Ob2RlRWxlbWVudCIsInJkM3RQcm9wcyIsIl9zZWxlY3RlZEZpbHRlcnMkU2FtcCIsIl9zZWxlY3RlZEZpbHRlcnMkSW5zaSIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJCIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDIiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQzIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNCIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiSW5zaWdodERhdGFGaWx0ZXJJdGVtIiwiaXNIaWdobGlnaHQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJhcmVhX2lkIiwic2hvdWxkRmlsdGVyT3V0IiwiY3JlYXRlRWxlbWVudCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCB7IEluc2lnaHREYXRhLCBzaG91bGRGaWx0ZXJPdXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICAuLi5yZXN0XG59OiB7XG4gIGRhdGE6IGFueTtcbiAgb3JpZW50YXRpb24/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICBpbml0aWFsRGVwdGg6IG51bWJlcjtcbiAgb25Ob2RlQ2xpY2s/OiAobm9kZURhdGE6IGFueSkgPT4gdm9pZDtcbiAgdHJlZUtleTogbnVtYmVyO1xuICBzZWxlY3RlZEZpbHRlcnM/OiBhbnk7XG59KSB7XG4gIGNvbnN0IFBBRERJTkcgPSA0MjsgLy8gc2NyZWVuIHBhZGRpbmcgaW4gcHhcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG5vZGVTaXplID0geyB4OiAyNzAsIHk6IDI3MCB9OyAvLyBob3cgbXVjaCBzcGFjZSBlYWNoIG5vZGUgb2NjdXBpZXNcbiAgY29uc3Qgc2VwYXJhdGlvbjogU2VwID0geyBzaWJsaW5nczogMC44LCBub25TaWJsaW5nczogMC45IH07IC8vIG5vZGUgc3BhY2luZ1xuICBjb25zdCBbZGltcywgc2V0RGltc10gPSB1c2VTdGF0ZSh7IHdpZHRoOiA1MDAsIGhlaWdodDogMTAwIH0pO1xuICBjb25zdCBlYXJseV9hZG9wdGVyID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBhbnkpID0+IHN0YXRlLnBlcm1pc3Npb25zLmVhcmx5X2Fkb3B0ZXIsXG4gICk7XG5cbiAgLy8ga2VlcCB3cmFwcGVyIHNpemVkIHRvIHRoZSB2aWV3cG9ydFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgY29uc3Qgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgY29uc3QgciA9IHdyYXBwZXJSZWYuY3VycmVudCEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBzZXREaW1zKHsgd2lkdGg6IHIud2lkdGgsIGhlaWdodDogci5oZWlnaHQgfSk7XG4gICAgfSk7XG4gICAgcm8ub2JzZXJ2ZSh3cmFwcGVyUmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiByby5kaXNjb25uZWN0KCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCB7IHRyYW5zbGF0ZSwgem9vbSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgeyBtYXhEZXB0aCwgbWF4QnJlYWR0aCB9ID0gY291bnREZXB0aEFuZEJyZWFkdGgoZGF0YSk7XG5cbiAgICAvLyBhcHByb3hpbWF0ZSByZXF1aXJlZCBwaXhlbCBzaXplIG9mIHRoZSBsYWlkLW91dCB0cmVlXG4gICAgY29uc3QgcmVxVyA9IG1heEJyZWFkdGggKiBub2RlU2l6ZS54ICogc2VwYXJhdGlvbi5zaWJsaW5ncztcbiAgICBjb25zdCByZXFIID0gKG1heERlcHRoICsgMSkgKiBub2RlU2l6ZS55O1xuXG4gICAgY29uc3QgYXZhaWxXID0gTWF0aC5tYXgoMSwgZGltcy53aWR0aCAtIFBBRERJTkcgKiAyKTtcbiAgICBjb25zdCBhdmFpbEggPSBNYXRoLm1heCgxLCBkaW1zLmhlaWdodCAtIFBBRERJTkcgKiAyKTtcblxuICAgIGNvbnN0IGZpdFpvb20gPSAwLjcgKiBNYXRoLm1pbihhdmFpbFcgLyByZXFXLCBhdmFpbEggLyByZXFIKTtcbiAgICBjb25zdCB6ID0gaXNGaW5pdGUoZml0Wm9vbSkgJiYgZml0Wm9vbSA+IDAgPyBmaXRab29tIDogMS4yO1xuXG4gICAgcmV0dXJuIHsgem9vbTogeiwgdHJhbnNsYXRlOiB7IHg6IGRpbXMud2lkdGggLyAyLCB5OiBQQURESU5HIH0gfTtcbiAgfSwgW1xuICAgIGRhdGEsXG4gICAgbm9kZVNpemUueCxcbiAgICBub2RlU2l6ZS55LFxuICAgIHNlcGFyYXRpb24uc2libGluZ3MsXG4gICAgZGltcy53aWR0aCxcbiAgICBkaW1zLmhlaWdodCxcbiAgXSk7XG5cbiAgZnVuY3Rpb24gc2V0Q29sbGFwc2VkQnlEZXB0aChub2RlOiBhbnksIG1heERlcHRoOiBudW1iZXIsIGQgPSAwKSB7XG4gICAgbm9kZS5jb2xsYXBzZWQgPSBkID49IG1heERlcHRoO1xuICAgIG5vZGUuY2hpbGRyZW4/LmZvckVhY2goKGMpID0+IHNldENvbGxhcHNlZEJ5RGVwdGgoYywgbWF4RGVwdGgsIGQgKyAxKSk7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBjb25zdCB2aWV3RGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghZGF0YSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICByZXR1cm4gc2V0Q29sbGFwc2VkQnlEZXB0aChjbG9uZSwgaW5pdGlhbERlcHRoKTtcbiAgfSwgW2RhdGEsIGluaXRpYWxEZXB0aF0pO1xuXG4gIGNvbnN0IHsgc2l0ZUlELCBhcmVhSUQgfSA9IHVzZVBhcmFtcygpO1xuXG4gIGNvbnN0IHJlbmRlckN1c3RvbU5vZGVFbGVtZW50ID0gKHJkM3RQcm9wcykgPT4ge1xuICAgIGNvbnN0IGlzUm9vdCA9IHJkM3RQcm9wcy5ub2RlRGF0dW0uX19yZDN0LmRlcHRoID09PSAwO1xuICAgIGNvbnN0IHNob3dTYW1wbGVycyA9XG4gICAgICBzZWxlY3RlZEZpbHRlcnM/LlNhbXBsZXJGaWx0ZXJJdGVtPy50b1N0cmluZygpID09PSAnd2l0aCcgfHwgZmFsc2U7XG4gICAgY29uc3QgaW5zaWdodERhdGEgPVxuICAgICAgKHNlbGVjdGVkRmlsdGVycz8uSW5zaWdodERhdGFGaWx0ZXJJdGVtPy50b1N0cmluZygpIGFzIEluc2lnaHREYXRhKSB8fFxuICAgICAgJ3Njb3JlJztcbiAgICBjb25zdCBpc0hpZ2hsaWdodCA9XG4gICAgICAoc2l0ZUlEICYmXG4gICAgICAgIHNpdGVJRCA9PT0gcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZD8udG9TdHJpbmcoKSkgfHxcbiAgICAgIChhcmVhSUQgJiZcbiAgICAgICAgYXJlYUlEID09PSByZDN0UHJvcHMubm9kZURhdHVtLmF0dHJpYnV0ZXM/LmFyZWFfaWQ/LnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiAhaXNSb290ICYmIHNob3VsZEZpbHRlck91dChyZDN0UHJvcHMsIHNlbGVjdGVkRmlsdGVycykgPyAoXG4gICAgICA8ZGl2PjwvZGl2PlxuICAgICkgOiBpbnNpZ2h0RGF0YSA9PT0gJ3Njb3JlJyA/IChcbiAgICAgIDxTY29yZU5vZGVcbiAgICAgICAgey4uLnJkM3RQcm9wc31cbiAgICAgICAgaXNIaWdobGlnaHQ9e2lzSGlnaGxpZ2h0fVxuICAgICAgICBvbk5vZGVDbGljaz17cmVzdC5vbk5vZGVDbGlja31cbiAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxQb2xsdXRpb25Db250cmlidXRvck5vZGVcbiAgICAgICAgey4uLnJkM3RQcm9wc31cbiAgICAgICAgaXNIaWdobGlnaHQ9e2lzSGlnaGxpZ2h0fVxuICAgICAgICBvbk5vZGVDbGljaz17cmVzdC5vbk5vZGVDbGlja31cbiAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwdncnLCBoZWlnaHQ6ICcxMDB2aCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9fVxuICAgID5cbiAgICAgIDxUcmVlXG4gICAgICAgIGtleT17dHJlZUtleX1cbiAgICAgICAgZGF0YT17dmlld0RhdGF9XG4gICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgcGF0aEZ1bmM9XCJzdGVwXCJcbiAgICAgICAgbm9kZVNpemU9e25vZGVTaXplfVxuICAgICAgICBzZXBhcmF0aW9uPXtzZXBhcmF0aW9ufVxuICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgem9vbT17em9vbX1cbiAgICAgICAgem9vbWFibGVcbiAgICAgICAgc2NhbGVFeHRlbnQ9e3sgbWluOiAwLjEsIG1heDogMiB9fVxuICAgICAgICByZW5kZXJDdXN0b21Ob2RlRWxlbWVudD17cmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnR9XG4gICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgIGluaXRpYWxEZXB0aD17aW5pdGlhbERlcHRofVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx5QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUCxPQUFBO0FBQTZDLElBQUFRLFNBQUE7QUFBQSxTQUFBQyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxP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
@@ -27,18 +27,22 @@ var HierarchyGraph = function HierarchyGraph() {
27
27
  var ReduxState = (0, _reactRedux.useSelector)(function (state) {
28
28
  return state;
29
29
  });
30
- var _useState = (0, _react.useState)(null),
30
+ var _useState = (0, _react.useState)(0),
31
31
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
- selectedPoint = _useState2[0],
33
- setSelectedPoint = _useState2[1];
34
- var _useState3 = (0, _react.useState)(false),
32
+ treeKey = _useState2[0],
33
+ setTreeKey = _useState2[1];
34
+ var _useState3 = (0, _react.useState)(null),
35
35
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
36
- showRightPanel = _useState4[0],
37
- setShowRightPanel = _useState4[1];
38
- var _useState5 = (0, _react.useState)({}),
36
+ selectedPoint = _useState4[0],
37
+ setSelectedPoint = _useState4[1];
38
+ var _useState5 = (0, _react.useState)(false),
39
39
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
40
- filterOptions = _useState6[0],
41
- setFilterOptions = _useState6[1];
40
+ showRightPanel = _useState6[0],
41
+ setShowRightPanel = _useState6[1];
42
+ var _useState7 = (0, _react.useState)({}),
43
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
44
+ filterOptions = _useState8[0],
45
+ setFilterOptions = _useState8[1];
42
46
  var isHierarchyTab = searchQuery.get('view') === 'hierarchy';
43
47
  var points_data = ReduxState.points_data,
44
48
  edges_data = ReduxState.edges_data,
@@ -77,8 +81,17 @@ var HierarchyGraph = function HierarchyGraph() {
77
81
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
78
82
  var _step$value = _step.value,
79
83
  site_id = _step$value.site_id,
80
- pollution = _step$value.pollution;
81
- if (pollution === null || pollution === void 0 ? void 0 : pollution.type_distribution) m.set(site_id, pollution.type_distribution);
84
+ pollution = _step$value.pollution,
85
+ sector_name = _step$value.sector_name,
86
+ sector_id = _step$value.sector_id,
87
+ contributor_percents = _step$value.contributor_percents;
88
+ var extraData = {
89
+ sector_name: sector_name,
90
+ contributor_percents: contributor_percents,
91
+ sector_id: sector_id
92
+ };
93
+ if (pollution === null || pollution === void 0 ? void 0 : pollution.type_distribution) extraData['pollution'] = pollution.type_distribution;
94
+ m.set(site_id, extraData);
82
95
  }
83
96
  } catch (err) {
84
97
  _iterator.e(err);
@@ -99,9 +112,7 @@ var HierarchyGraph = function HierarchyGraph() {
99
112
  var numId = Number(id);
100
113
  var pollution = pollutionBySiteId.get(numId);
101
114
  // shallow clone each point; add pollution if exists
102
- copy[numId] = pollution ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base[numId]), {}, {
103
- pollution: pollution
104
- }) : (0, _objectSpread2.default)({}, base[numId]);
115
+ copy[numId] = pollution ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base[numId]), pollution) : (0, _objectSpread2.default)({}, base[numId]);
105
116
  }
106
117
  return copy;
107
118
  }, [points_data.items, pollutionBySiteId]);
@@ -152,14 +163,21 @@ var HierarchyGraph = function HierarchyGraph() {
152
163
  // You can update state or make API calls based on the applied filter
153
164
  };
154
165
 
166
+ var resetFilter = function resetFilter(defaultFilter) {
167
+ updateFilter(defaultFilter);
168
+ setTreeKey(treeKey + 1);
169
+ };
155
170
  if (!isHierarchyTab) {
156
171
  return null;
157
172
  }
158
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
173
+ return /*#__PURE__*/_react.default.createElement("div", {
174
+ className: 'hierarchy-graph-page'
175
+ }, !points_data.isFetching && treeKey > -1 && /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
159
176
  filterPopupOpen: true,
160
177
  fetchType: 'HierarchyFilter',
161
178
  applyLogic: updateFilter,
162
- custom_points: filterPoints
179
+ custom_points: filterPoints,
180
+ resetFilter: resetFilter
163
181
  }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
164
182
  fluid: true,
165
183
  className: "p-0",
@@ -173,8 +191,8 @@ var HierarchyGraph = function HierarchyGraph() {
173
191
  style: {
174
192
  height: '85vh'
175
193
  }
176
- }, edges_data.isFetching || points_data.isFetching || !treeData || isLoadingSites ? /*#__PURE__*/_react.default.createElement(_Loader.Loader, null) : /*#__PURE__*/_react.default.createElement(_AutoFitTree.default, {
177
- treeKey: 0,
194
+ }, edges_data.isFetching || points_data.isFetching || !filterOptions || !treeData || isLoadingSites ? /*#__PURE__*/_react.default.createElement(_Loader.Loader, null) : /*#__PURE__*/_react.default.createElement(_AutoFitTree.default, {
195
+ treeKey: treeKey,
178
196
  initialDepth: 12,
179
197
  data: treeData,
180
198
  selectedFilters: filterOptions,
@@ -190,4 +208,4 @@ var HierarchyGraph = function HierarchyGraph() {
190
208
  };
191
209
  var _default = HierarchyGraph;
192
210
  exports.default = _default;
193
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfRmlsdGVyQ29udGFpbmVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNlbGVjdGVkUG9pbnQiLCJzZXRTZWxlY3RlZFBvaW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJmaWx0ZXJPcHRpb25zIiwic2V0RmlsdGVyT3B0aW9ucyIsImlzSGllcmFyY2h5VGFiIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJkYXRhIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJfc3RlcCR2YWx1ZSIsInZhbHVlIiwic2l0ZV9pZCIsInBvbGx1dGlvbiIsInR5cGVfZGlzdHJpYnV0aW9uIiwiZXJyIiwiZSIsImYiLCJkZWNvcmF0ZWRQb2ludHNCeUlkIiwiYmFzZSIsIm1hcEJ5SWQiLCJjb3B5IiwiX2kiLCJfT2JqZWN0JGtleXMiLCJrZXlzIiwibGVuZ3RoIiwibnVtSWQiLCJOdW1iZXIiLCJfb2JqZWN0U3ByZWFkMiIsImVkZ2VzV2l0aERldmljZSIsInBvaW50c1dpdGhEZXZpY2UiLCJmaWx0ZXIiLCJoYXNfZGV2aWNlIiwiZWRnZSIsInNvdXJjZV9wb2ludF9pZCIsImRlc2NlbmRhbnRzX2hhc19kZXZpY2UiLCJmaWx0ZXJQb2ludHMiLCJwb2ludHNPcHRpb24iLCJwb2ludExpc3QiLCJmb3JFYWNoIiwic291cmNlUG9pbnQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsIm5hbWUiLCJncm91cCIsInZhbHVlcyIsInRyZWVEYXRhIiwiYnVpbGRUcmVlIiwidXBkYXRlRmlsdGVyIiwiYXBwbGllZEZpbHRlciIsInNlbGVjdGVkRmlsdGVycyIsImZpbHRlcl9pdGVtcyIsIml0ZW0iLCJzZWxlY3RlZF9vcHRpb25zIiwiY3JlYXRlRWxlbWVudCIsImZpbHRlclBvcHVwT3BlbiIsImZldGNoVHlwZSIsImFwcGx5TG9naWMiLCJjdXN0b21fcG9pbnRzIiwiQ29udGFpbmVyIiwiZmx1aWQiLCJjbGFzc05hbWUiLCJzdHlsZSIsIm92ZXJmbG93IiwiUm93Iiwic20iLCJDb2wiLCJoZWlnaHQiLCJpc0ZldGNoaW5nIiwiTG9hZGVyIiwidHJlZUtleSIsImluaXRpYWxEZXB0aCIsImNvbmNhdCIsInBvaW50Iiwib25DbG9zZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvSGllcmFyY2h5R3JhcGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgYnVpbGRUcmVlLCBtYXBCeUlkIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEF1dG9GaXRUcmVlIGZyb20gJy4vQXV0b0ZpdFRyZWUnO1xuaW1wb3J0IHsgQ29udGFpbmVyLCBSb3csIENvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9wYWdlcy9EYXNoYm9hcmRNYXAvTG9hZGVyJztcbmltcG9ydCBSaWdodFBhbmVsIGZyb20gJy4uLy4uL3BhZ2VzL09wZXJhdGlvbnNQYWdlL1JpZ2h0UGFuZWwnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSc7XG5pbXBvcnQgeyBGYWN0b3JpZXNSZXNwb25zZSB9IGZyb20gJy4uLy4uL1dpZGdldHMvTW9zdFBvbGx1dGluZy9GYWN0b3JpZXMvZmFjdG9yaWVzUmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi4vLi4vcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRzX2xpc3QvRmlsdGVyL0ZpbHRlckNvbnRhaW5lcic7XG5cbmNvbnN0IEhpZXJhcmNoeUdyYXBoID0gKCkgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgW3NlbGVjdGVkUG9pbnQsIHNldFNlbGVjdGVkUG9pbnRdID0gdXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFtzaG93UmlnaHRQYW5lbCwgc2V0U2hvd1JpZ2h0UGFuZWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZmlsdGVyT3B0aW9ucywgc2V0RmlsdGVyT3B0aW9uc10gPSB1c2VTdGF0ZSh7fSk7XG4gIGNvbnN0IGlzSGllcmFyY2h5VGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdoaWVyYXJjaHknO1xuICBjb25zdCB7XG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YTogeyB3YXRlckF1dGhvcml0eU5hbWUgfSxcbiAgfSA9IFJlZHV4U3RhdGU7XG5cbiAgY29uc3Qgb25Ob2RlQ2xpY2sgPSAobm9kZURhdGEpID0+IHtcbiAgICBzZXRTZWxlY3RlZFBvaW50KFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmluZCgocCkgPT4gcC5pZCA9PT0gbm9kZURhdGEuYXR0cmlidXRlcy5wb2ludF9pZCksXG4gICAgKTtcbiAgICBzZXRTaG93UmlnaHRQYW5lbCghc2hvd1JpZ2h0UGFuZWwpO1xuICB9O1xuXG4gIC8vIHN0YWJsZSBlbmRwb2ludHMvcGFyYW1zIOKchVxuICBjb25zdCBmYWN0b3JpZXNFbmRQb2ludCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdXJscygpLmRhc2hib2FyZC5VdGlsaXR5LmZhY3RvcmllcyxcbiAgICBbXSxcbiAgKTtcblxuICBjb25zdCBwYXJhbXNBbGwgPSB1c2VNZW1vKCgpID0+ICh7IHR5cGU6ICdBbGwnIH0pLCBbXSk7XG5cbiAgLy8gZmV0Y2hlc1xuICBjb25zdCBbcmVzcG9uc2VTaXRlcywgaXNMb2FkaW5nU2l0ZXMsIGVycm9yU2l0ZXNdID1cbiAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk8RmFjdG9yaWVzUmVzcG9uc2U+KGZhY3Rvcmllc0VuZFBvaW50LCBwYXJhbXNBbGwpO1xuXG4gIC8vIDEpIEJ1aWxkIGEgcG9sbHV0aW9uIG1hcCBmcm9tIGJvdGggcmVzcG9uc2VzIChubyBzdGF0ZTsgcHVyZSBtZW1vKVxuICBjb25zdCBwb2xsdXRpb25CeVNpdGVJZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG0gPSBuZXcgTWFwPG51bWJlciwgYW55PigpO1xuICAgIGlmIChyZXNwb25zZVNpdGVzPy5kYXRhKSB7XG4gICAgICBmb3IgKGNvbnN0IHsgc2l0ZV9pZCwgcG9sbHV0aW9uIH0gb2YgcmVzcG9uc2VTaXRlcy5kYXRhKSB7XG4gICAgICAgIGlmIChwb2xsdXRpb24/LnR5cGVfZGlzdHJpYnV0aW9uKVxuICAgICAgICAgIG0uc2V0KHNpdGVfaWQsIHBvbGx1dGlvbi50eXBlX2Rpc3RyaWJ1dGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtO1xuICB9LCBbcmVzcG9uc2VTaXRlcz8uZGF0YV0pO1xuXG4gIC8vIDIpIENyZWF0ZSBhIFNBRkUgY29weSBvZiBwb2ludF9tYXBfZGF0YSB3aXRoIHBvbGx1dGlvbiBtZXJnZWQgaW4gKG5vIG11dGF0aW9ucylcbiAgY29uc3QgZGVjb3JhdGVkUG9pbnRzQnlJZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpIHJldHVybnMgYSBwbGFpbiBvYmplY3Qga2V5ZWQgYnkgaWQ7IGNsb25lIGl0XG4gICAgY29uc3QgYmFzZSA9IG1hcEJ5SWQocG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIGNvbnN0IGNvcHk6IFJlY29yZDxudW1iZXIsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIE9iamVjdC5rZXlzKGJhc2UpKSB7XG4gICAgICBjb25zdCBudW1JZCA9IE51bWJlcihpZCk7XG4gICAgICBjb25zdCBwb2xsdXRpb24gPSBwb2xsdXRpb25CeVNpdGVJZC5nZXQobnVtSWQpO1xuICAgICAgLy8gc2hhbGxvdyBjbG9uZSBlYWNoIHBvaW50OyBhZGQgcG9sbHV0aW9uIGlmIGV4aXN0c1xuICAgICAgY29weVtudW1JZF0gPSBwb2xsdXRpb25cbiAgICAgICAgPyB7IC4uLmJhc2VbbnVtSWRdLCBwb2xsdXRpb24gfVxuICAgICAgICA6IHsgLi4uYmFzZVtudW1JZF0gfTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcHk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgcG9sbHV0aW9uQnlTaXRlSWRdKTtcblxuICAvLyAzKSBDb21wdXRlIGVkZ2VzV2l0aERldmljZSBzYWZlbHkvbWVtb2l6ZWQgKG5vIGV4dHJhIHJlbmRlcnMpXG4gIGNvbnN0IGVkZ2VzV2l0aERldmljZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBvaW50c1dpdGhEZXZpY2UgPSBtYXBCeUlkKFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmlsdGVyKChwKSA9PiBwLmhhc19kZXZpY2UpLFxuICAgICk7XG4gICAgcmV0dXJuIGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgICAgKGVkZ2UpID0+XG4gICAgICAgIHBvaW50c1dpdGhEZXZpY2VbZWRnZS5zb3VyY2VfcG9pbnRfaWRdIHx8IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIGVkZ2VzX2RhdGEuaXRlbXNdKTtcblxuICBjb25zdCBmaWx0ZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwb2ludHNPcHRpb24gPSB7fTtcbiAgICBjb25zdCBwb2ludExpc3QgPSBwb2ludHNfZGF0YS5pdGVtcztcbiAgICBlZGdlc1dpdGhEZXZpY2UuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludExpc3QuZmluZCgocCkgPT4gcC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQpO1xuICAgICAgaWYgKHNvdXJjZVBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bc291cmNlUG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiBzb3VyY2VQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiBzb3VyY2VQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgICAgaWYgKHRhcmdldFBvaW50KVxuICAgICAgICBwb2ludHNPcHRpb25bdGFyZ2V0UG9pbnQuaWRdID0ge1xuICAgICAgICAgIGlkOiB0YXJnZXRQb2ludC5pZCxcbiAgICAgICAgICBuYW1lOiB0YXJnZXRQb2ludC5ncm91cC5uYW1lLFxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHBvaW50c09wdGlvbik7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNXaXRoRGV2aWNlXSk7XG5cbiAgLy8gNCkgQnVpbGQgdGhlIHRyZWUgT05MWSB3aGVuIGRhdGEgaXMgcmVhZHk7IGtlZXAgcmVmZXJlbnRpYWwgc3RhYmlsaXR5XG4gIGNvbnN0IHRyZWVEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZ1NpdGVzIHx8IGVycm9yU2l0ZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIGJ1aWxkVHJlZShlZGdlc1dpdGhEZXZpY2UsIGRlY29yYXRlZFBvaW50c0J5SWQsIHdhdGVyQXV0aG9yaXR5TmFtZSk7XG4gIH0sIFtcbiAgICBlZGdlc1dpdGhEZXZpY2UsXG4gICAgZGVjb3JhdGVkUG9pbnRzQnlJZCxcbiAgICB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgaXNMb2FkaW5nU2l0ZXMsXG4gICAgZXJyb3JTaXRlcyxcbiAgXSk7XG5cbiAgY29uc3QgdXBkYXRlRmlsdGVyID0gKGFwcGxpZWRGaWx0ZXIpID0+IHtcbiAgICAvLyBQcm9jZXNzIHRoZSBhcHBsaWVkIGZpbHRlciBhcyBuZWVkZWRcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlcnMgPSB7fTtcblxuICAgIGFwcGxpZWRGaWx0ZXIuZmlsdGVyX2l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHNlbGVjdGVkRmlsdGVyc1tpdGVtLnR5cGVdID0gaXRlbS5zZWxlY3RlZF9vcHRpb25zO1xuICAgIH0pO1xuICAgIHNldEZpbHRlck9wdGlvbnMoc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICAvLyBZb3UgY2FuIHVwZGF0ZSBzdGF0ZSBvciBtYWtlIEFQSSBjYWxscyBiYXNlZCBvbiB0aGUgYXBwbGllZCBmaWx0ZXJcbiAgfTtcblxuICBpZiAoIWlzSGllcmFyY2h5VGFiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgIGZpbHRlclBvcHVwT3Blbj17dHJ1ZX1cbiAgICAgICAgZmV0Y2hUeXBlPXsnSGllcmFyY2h5RmlsdGVyJ31cbiAgICAgICAgYXBwbHlMb2dpYz17dXBkYXRlRmlsdGVyfVxuICAgICAgICBjdXN0b21fcG9pbnRzPXtmaWx0ZXJQb2ludHN9XG4gICAgICAvPlxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIXRyZWVEYXRhIHx8XG4gICAgICAgICAgICBpc0xvYWRpbmdTaXRlcyA/IChcbiAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEF1dG9GaXRUcmVlXG4gICAgICAgICAgICAgICAgdHJlZUtleT17MH1cbiAgICAgICAgICAgICAgICBpbml0aWFsRGVwdGg9ezEyfVxuICAgICAgICAgICAgICAgIGRhdGE9e3RyZWVEYXRhfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsdGVycz17ZmlsdGVyT3B0aW9uc31cbiAgICAgICAgICAgICAgICBvbk5vZGVDbGljaz17b25Ob2RlQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFJpZ2h0UGFuZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcmlnaHQtcGFuZWwgJHtzaG93UmlnaHRQYW5lbCA/ICdvcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICAgIHBvaW50PXtzZWxlY3RlZFBvaW50fVxuICAgICAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRQb2ludChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRTaG93UmlnaHRQYW5lbChmYWxzZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxu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
211
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfRmlsdGVyQ29udGFpbmVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInRyZWVLZXkiLCJzZXRUcmVlS2V5IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd1JpZ2h0UGFuZWwiLCJzZXRTaG93UmlnaHRQYW5lbCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiZmlsdGVyT3B0aW9ucyIsInNldEZpbHRlck9wdGlvbnMiLCJpc0hpZXJhcmNoeVRhYiIsInBvaW50c19kYXRhIiwiZWRnZXNfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdsb2JhbF9kYXRhIiwib25Ob2RlQ2xpY2siLCJub2RlRGF0YSIsIml0ZW1zIiwiZmluZCIsInAiLCJpZCIsImF0dHJpYnV0ZXMiLCJwb2ludF9pZCIsImZhY3Rvcmllc0VuZFBvaW50IiwidXNlTWVtbyIsInVybHMiLCJkYXNoYm9hcmQiLCJVdGlsaXR5IiwiZmFjdG9yaWVzIiwicGFyYW1zQWxsIiwidHlwZSIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUSIsInVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUTIiLCJyZXNwb25zZVNpdGVzIiwiaXNMb2FkaW5nU2l0ZXMiLCJlcnJvclNpdGVzIiwicG9sbHV0aW9uQnlTaXRlSWQiLCJtIiwiTWFwIiwiZGF0YSIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNpdGVfaWQiLCJwb2xsdXRpb24iLCJzZWN0b3JfbmFtZSIsInNlY3Rvcl9pZCIsImNvbnRyaWJ1dG9yX3BlcmNlbnRzIiwiZXh0cmFEYXRhIiwidHlwZV9kaXN0cmlidXRpb24iLCJlcnIiLCJlIiwiZiIsImRlY29yYXRlZFBvaW50c0J5SWQiLCJiYXNlIiwibWFwQnlJZCIsImNvcHkiLCJfaSIsIl9PYmplY3Qka2V5cyIsImtleXMiLCJsZW5ndGgiLCJudW1JZCIsIk51bWJlciIsIl9vYmplY3RTcHJlYWQyIiwiZWRnZXNXaXRoRGV2aWNlIiwicG9pbnRzV2l0aERldmljZSIsImZpbHRlciIsImhhc19kZXZpY2UiLCJlZGdlIiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsImZpbHRlclBvaW50cyIsInBvaW50c09wdGlvbiIsInBvaW50TGlzdCIsImZvckVhY2giLCJzb3VyY2VQb2ludCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwibmFtZSIsImdyb3VwIiwidmFsdWVzIiwidHJlZURhdGEiLCJidWlsZFRyZWUiLCJ1cGRhdGVGaWx0ZXIiLCJhcHBsaWVkRmlsdGVyIiwic2VsZWN0ZWRGaWx0ZXJzIiwiZmlsdGVyX2l0ZW1zIiwiaXRlbSIsInNlbGVjdGVkX29wdGlvbnMiLCJyZXNldEZpbHRlciIsImRlZmF1bHRGaWx0ZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaXNGZXRjaGluZyIsImZpbHRlclBvcHVwT3BlbiIsImZldGNoVHlwZSIsImFwcGx5TG9naWMiLCJjdXN0b21fcG9pbnRzIiwiQ29udGFpbmVyIiwiZmx1aWQiLCJzdHlsZSIsIm92ZXJmbG93IiwiUm93Iiwic20iLCJDb2wiLCJoZWlnaHQiLCJMb2FkZXIiLCJpbml0aWFsRGVwdGgiLCJjb25jYXQiLCJwb2ludCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL0hpZXJhcmNoeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IGJ1aWxkVHJlZSwgbWFwQnlJZCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgRmlsdGVyQ29udGFpbmVyIGZyb20gJy4uLy4uL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IFt0cmVlS2V5LCBzZXRUcmVlS2V5XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc2VsZWN0ZWRQb2ludCwgc2V0U2VsZWN0ZWRQb2ludF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtmaWx0ZXJPcHRpb25zLCBzZXRGaWx0ZXJPcHRpb25zXSA9IHVzZVN0YXRlKHt9KTtcbiAgY29uc3QgaXNIaWVyYXJjaHlUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ2hpZXJhcmNoeSc7XG4gIGNvbnN0IHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhOiB7IHdhdGVyQXV0aG9yaXR5TmFtZSB9LFxuICB9ID0gUmVkdXhTdGF0ZTtcblxuICBjb25zdCBvbk5vZGVDbGljayA9IChub2RlRGF0YSkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maW5kKChwKSA9PiBwLmlkID09PSBub2RlRGF0YS5hdHRyaWJ1dGVzLnBvaW50X2lkKSxcbiAgICApO1xuICAgIHNldFNob3dSaWdodFBhbmVsKCFzaG93UmlnaHRQYW5lbCk7XG4gIH07XG5cbiAgLy8gc3RhYmxlIGVuZHBvaW50cy9wYXJhbXMg4pyFXG4gIGNvbnN0IGZhY3Rvcmllc0VuZFBvaW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiB1cmxzKCkuZGFzaGJvYXJkLlV0aWxpdHkuZmFjdG9yaWVzLFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IHBhcmFtc0FsbCA9IHVzZU1lbW8oKCkgPT4gKHsgdHlwZTogJ0FsbCcgfSksIFtdKTtcblxuICAvLyBmZXRjaGVzXG4gIGNvbnN0IFtyZXNwb25zZVNpdGVzLCBpc0xvYWRpbmdTaXRlcywgZXJyb3JTaXRlc10gPVxuICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeTxGYWN0b3JpZXNSZXNwb25zZT4oZmFjdG9yaWVzRW5kUG9pbnQsIHBhcmFtc0FsbCk7XG5cbiAgLy8gMSkgQnVpbGQgYSBwb2xsdXRpb24gbWFwIGZyb20gYm90aCByZXNwb25zZXMgKG5vIHN0YXRlOyBwdXJlIG1lbW8pXG4gIGNvbnN0IHBvbGx1dGlvbkJ5U2l0ZUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbSA9IG5ldyBNYXA8bnVtYmVyLCBhbnk+KCk7XG4gICAgaWYgKHJlc3BvbnNlU2l0ZXM/LmRhdGEpIHtcbiAgICAgIGZvciAoY29uc3Qge1xuICAgICAgICBzaXRlX2lkLFxuICAgICAgICBwb2xsdXRpb24sXG4gICAgICAgIHNlY3Rvcl9uYW1lLFxuICAgICAgICBzZWN0b3JfaWQsXG4gICAgICAgIGNvbnRyaWJ1dG9yX3BlcmNlbnRzLFxuICAgICAgfSBvZiByZXNwb25zZVNpdGVzLmRhdGEpIHtcbiAgICAgICAgY29uc3QgZXh0cmFEYXRhID0geyBzZWN0b3JfbmFtZSwgY29udHJpYnV0b3JfcGVyY2VudHMsIHNlY3Rvcl9pZCB9O1xuICAgICAgICBpZiAocG9sbHV0aW9uPy50eXBlX2Rpc3RyaWJ1dGlvbilcbiAgICAgICAgICBleHRyYURhdGFbJ3BvbGx1dGlvbiddID0gcG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9uO1xuICAgICAgICBtLnNldChzaXRlX2lkLCBleHRyYURhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbTtcbiAgfSwgW3Jlc3BvbnNlU2l0ZXM/LmRhdGFdKTtcblxuICAvLyAyKSBDcmVhdGUgYSBTQUZFIGNvcHkgb2YgcG9pbnRfbWFwX2RhdGEgd2l0aCBwb2xsdXRpb24gbWVyZ2VkIGluIChubyBtdXRhdGlvbnMpXG4gIGNvbnN0IGRlY29yYXRlZFBvaW50c0J5SWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAvLyBtYXBCeUlkKHBvaW50c19kYXRhLml0ZW1zKSByZXR1cm5zIGEgcGxhaW4gb2JqZWN0IGtleWVkIGJ5IGlkOyBjbG9uZSBpdFxuICAgIGNvbnN0IGJhc2UgPSBtYXBCeUlkKHBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBjb25zdCBjb3B5OiBSZWNvcmQ8bnVtYmVyLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhiYXNlKSkge1xuICAgICAgY29uc3QgbnVtSWQgPSBOdW1iZXIoaWQpO1xuICAgICAgY29uc3QgcG9sbHV0aW9uID0gcG9sbHV0aW9uQnlTaXRlSWQuZ2V0KG51bUlkKTtcbiAgICAgIC8vIHNoYWxsb3cgY2xvbmUgZWFjaCBwb2ludDsgYWRkIHBvbGx1dGlvbiBpZiBleGlzdHNcbiAgICAgIGNvcHlbbnVtSWRdID0gcG9sbHV0aW9uXG4gICAgICAgID8geyAuLi5iYXNlW251bUlkXSwgLi4ucG9sbHV0aW9uIH1cbiAgICAgICAgOiB7IC4uLmJhc2VbbnVtSWRdIH07XG4gICAgfVxuICAgIHJldHVybiBjb3B5O1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIHBvbGx1dGlvbkJ5U2l0ZUlkXSk7XG5cbiAgLy8gMykgQ29tcHV0ZSBlZGdlc1dpdGhEZXZpY2Ugc2FmZWx5L21lbW9pemVkIChubyBleHRyYSByZW5kZXJzKVxuICBjb25zdCBlZGdlc1dpdGhEZXZpY2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwb2ludHNXaXRoRGV2aWNlID0gbWFwQnlJZChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocCkgPT4gcC5oYXNfZGV2aWNlKSxcbiAgICApO1xuICAgIHJldHVybiBlZGdlc19kYXRhLml0ZW1zLmZpbHRlcihcbiAgICAgIChlZGdlKSA9PlxuICAgICAgICBwb2ludHNXaXRoRGV2aWNlW2VkZ2Uuc291cmNlX3BvaW50X2lkXSB8fCBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UsXG4gICAgKTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBlZGdlc19kYXRhLml0ZW1zXSk7XG5cbiAgY29uc3QgZmlsdGVyUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRzT3B0aW9uID0ge307XG4gICAgY29uc3QgcG9pbnRMaXN0ID0gcG9pbnRzX2RhdGEuaXRlbXM7XG4gICAgZWRnZXNXaXRoRGV2aWNlLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gcG9pbnRMaXN0LmZpbmQoKHApID0+IHAuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gcG9pbnRMaXN0LmZpbmQoKHApID0+IHAuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludClcbiAgICAgICAgcG9pbnRzT3B0aW9uW3NvdXJjZVBvaW50LmlkXSA9IHtcbiAgICAgICAgICBpZDogc291cmNlUG9pbnQuaWQsXG4gICAgICAgICAgbmFtZTogc291cmNlUG9pbnQuZ3JvdXAubmFtZSxcbiAgICAgICAgfTtcbiAgICAgIGlmICh0YXJnZXRQb2ludClcbiAgICAgICAgcG9pbnRzT3B0aW9uW3RhcmdldFBvaW50LmlkXSA9IHtcbiAgICAgICAgICBpZDogdGFyZ2V0UG9pbnQuaWQsXG4gICAgICAgICAgbmFtZTogdGFyZ2V0UG9pbnQuZ3JvdXAubmFtZSxcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhwb2ludHNPcHRpb24pO1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIGVkZ2VzV2l0aERldmljZV0pO1xuXG4gIC8vIDQpIEJ1aWxkIHRoZSB0cmVlIE9OTFkgd2hlbiBkYXRhIGlzIHJlYWR5OyBrZWVwIHJlZmVyZW50aWFsIHN0YWJpbGl0eVxuICBjb25zdCB0cmVlRGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmdTaXRlcyB8fCBlcnJvclNpdGVzKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBidWlsZFRyZWUoZWRnZXNXaXRoRGV2aWNlLCBkZWNvcmF0ZWRQb2ludHNCeUlkLCB3YXRlckF1dGhvcml0eU5hbWUpO1xuICB9LCBbXG4gICAgZWRnZXNXaXRoRGV2aWNlLFxuICAgIGRlY29yYXRlZFBvaW50c0J5SWQsXG4gICAgd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIGlzTG9hZGluZ1NpdGVzLFxuICAgIGVycm9yU2l0ZXMsXG4gIF0pO1xuXG4gIGNvbnN0IHVwZGF0ZUZpbHRlciA9IChhcHBsaWVkRmlsdGVyKSA9PiB7XG4gICAgLy8gUHJvY2VzcyB0aGUgYXBwbGllZCBmaWx0ZXIgYXMgbmVlZGVkXG4gICAgY29uc3Qgc2VsZWN0ZWRGaWx0ZXJzID0ge307XG5cbiAgICBhcHBsaWVkRmlsdGVyLmZpbHRlcl9pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBzZWxlY3RlZEZpbHRlcnNbaXRlbS50eXBlXSA9IGl0ZW0uc2VsZWN0ZWRfb3B0aW9ucztcbiAgICB9KTtcbiAgICBzZXRGaWx0ZXJPcHRpb25zKHNlbGVjdGVkRmlsdGVycyk7XG4gICAgLy8gWW91IGNhbiB1cGRhdGUgc3RhdGUgb3IgbWFrZSBBUEkgY2FsbHMgYmFzZWQgb24gdGhlIGFwcGxpZWQgZmlsdGVyXG4gIH07XG5cbiAgY29uc3QgcmVzZXRGaWx0ZXIgPSAoZGVmYXVsdEZpbHRlcikgPT4ge1xuICAgIHVwZGF0ZUZpbHRlcihkZWZhdWx0RmlsdGVyKTtcbiAgICBzZXRUcmVlS2V5KHRyZWVLZXkgKyAxKTtcbiAgfTtcblxuICBpZiAoIWlzSGllcmFyY2h5VGFiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnaGllcmFyY2h5LWdyYXBoLXBhZ2UnfT5cbiAgICAgIHshcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJiB0cmVlS2V5ID4gLTEgJiYgKFxuICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXt0cnVlfVxuICAgICAgICAgIGZldGNoVHlwZT17J0hpZXJhcmNoeUZpbHRlcid9XG4gICAgICAgICAgYXBwbHlMb2dpYz17dXBkYXRlRmlsdGVyfVxuICAgICAgICAgIGN1c3RvbV9wb2ludHM9e2ZpbHRlclBvaW50c31cbiAgICAgICAgICByZXNldEZpbHRlcj17cmVzZXRGaWx0ZXJ9XG4gICAgICAgIC8+XG4gICAgICApfVxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIWZpbHRlck9wdGlvbnMgfHxcbiAgICAgICAgICAgICF0cmVlRGF0YSB8fFxuICAgICAgICAgICAgaXNMb2FkaW5nU2l0ZXMgPyAoXG4gICAgICAgICAgICAgIDxMb2FkZXIgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxBdXRvRml0VHJlZVxuICAgICAgICAgICAgICAgIHRyZWVLZXk9e3RyZWVLZXl9XG4gICAgICAgICAgICAgICAgaW5pdGlhbERlcHRoPXsxMn1cbiAgICAgICAgICAgICAgICBkYXRhPXt0cmVlRGF0YX1cbiAgICAgICAgICAgICAgICBzZWxlY3RlZEZpbHRlcnM9e2ZpbHRlck9wdGlvbnN9XG4gICAgICAgICAgICAgICAgb25Ob2RlQ2xpY2s9e29uTm9kZUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxSaWdodFBhbmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJpZ2h0LXBhbmVsICR7c2hvd1JpZ2h0UGFuZWwgPyAnb3BlbicgOiAnJ31gfVxuICAgICAgICAgICAgICBwb2ludD17c2VsZWN0ZWRQb2ludH1cbiAgICAgICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkUG9pbnQobnVsbCk7XG4gICAgICAgICAgICAgICAgc2V0U2hvd1JpZ2h0UGFuZWwoZmFsc2UpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBIaWVyYXJjaHlHcmFwaDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFB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
@@ -16,9 +16,7 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
16
16
  height = _ref$height === void 0 ? 8 : _ref$height,
17
17
  _ref$radius = _ref.radius,
18
18
  radius = _ref$radius === void 0 ? 4 : _ref$radius;
19
- var total = segments.reduce(function (s, x) {
20
- return s + x.value;
21
- }, 0) || 1;
19
+ var total = 100;
22
20
  var x = 0;
23
21
  return /*#__PURE__*/_react.default.createElement("svg", {
24
22
  width: width,
@@ -39,14 +37,26 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
39
37
  clipPath: "url(#r)"
40
38
  }, segments.map(function (s, i) {
41
39
  var w = s.value / total * width;
42
- var rect = /*#__PURE__*/_react.default.createElement("rect", {
43
- key: i,
44
- x: x,
40
+ var segmentX = x;
41
+ var textX = segmentX + w / 2;
42
+ var rect = /*#__PURE__*/_react.default.createElement("g", {
43
+ key: i
44
+ }, /*#__PURE__*/_react.default.createElement("rect", {
45
+ x: segmentX,
45
46
  y: 0,
46
47
  width: w,
47
48
  height: height,
48
49
  fill: s.color
49
- });
50
+ }), /*#__PURE__*/_react.default.createElement("text", {
51
+ x: Math.max(textX, 25),
52
+ y: height / 1.8,
53
+ textAnchor: "middle",
54
+ dominantBaseline: "middle",
55
+ fill: "#fff",
56
+ stroke: 'grey',
57
+ strokeWidth: 0.8,
58
+ fontSize: 'x-large'
59
+ }, s.value, "%"));
50
60
  x += w;
51
61
  return rect;
52
62
  })), /*#__PURE__*/_react.default.createElement("rect", {
@@ -62,4 +72,4 @@ var MicroStackedBar = function MicroStackedBar(_ref) {
62
72
  };
63
73
  var _default = MicroStackedBar;
64
74
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsInJlZHVjZSIsInMiLCJ4IiwidmFsdWUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsImkiLCJ3IiwicmVjdCIsImtleSIsImZpbGwiLCJjb2xvciIsInN0cm9rZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvTWljcm9TdGFja2VkQmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNaWNyb1N0YWNrZWRCYXIudHN4XG50eXBlIFNlZyA9IHsgdmFsdWU6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfTsgLy8gdmFsdWUgY2FuIGJlIDAuLjEgb3IgMC4uMTAwXG5jb25zdCBNaWNyb1N0YWNrZWRCYXIgPSAoe1xuICBzZWdtZW50cyxcbiAgd2lkdGggPSA4MCxcbiAgaGVpZ2h0ID0gOCxcbiAgcmFkaXVzID0gNCxcbn06IHtcbiAgc2VnbWVudHM6IFNlZ1tdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHRvdGFsID0gc2VnbWVudHMucmVkdWNlKChzLCB4KSA9PiBzICsgeC52YWx1ZSwgMCkgfHwgMTtcbiAgbGV0IHggPSAwO1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3R5bGU9e3sgZGlzcGxheTogJ2Jsb2NrJyB9fT5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8Y2xpcFBhdGggaWQ9XCJyXCI+XG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgIHk9XCIwXCJcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgICAgIHJ5PXtyYWRpdXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNyKVwiPlxuICAgICAgICB7c2VnbWVudHMubWFwKChzLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgdyA9IChzLnZhbHVlIC8gdG90YWwpICogd2lkdGg7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IChcbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgeD17eH1cbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgd2lkdGg9e3d9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgICBmaWxsPXtzLmNvbG9yfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICAgIHggKz0gdztcbiAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgfSl9XG4gICAgICA8L2c+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCIjQkRCREJEXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+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
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1pY3JvU3RhY2tlZEJhciIsIl9yZWYiLCJzZWdtZW50cyIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwiX3JlZiRyYWRpdXMiLCJyYWRpdXMiLCJ0b3RhbCIsIngiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwieSIsInJ4IiwicnkiLCJjbGlwUGF0aCIsIm1hcCIsInMiLCJpIiwidyIsInZhbHVlIiwic2VnbWVudFgiLCJ0ZXh0WCIsInJlY3QiLCJrZXkiLCJmaWxsIiwiY29sb3IiLCJNYXRoIiwibWF4IiwidGV4dEFuY2hvciIsImRvbWluYW50QmFzZWxpbmUiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsImZvbnRTaXplIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9NaWNyb1N0YWNrZWRCYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbi8vIE1pY3JvU3RhY2tlZEJhci50c3hcbnR5cGUgU2VnID0geyB2YWx1ZTogbnVtYmVyOyBjb2xvcjogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9OyAvLyB2YWx1ZSBjYW4gYmUgMC4uMSBvciAwLi4xMDBcbmNvbnN0IE1pY3JvU3RhY2tlZEJhciA9ICh7XG4gIHNlZ21lbnRzLFxuICB3aWR0aCA9IDgwLFxuICBoZWlnaHQgPSA4LFxuICByYWRpdXMgPSA0LFxufToge1xuICBzZWdtZW50czogU2VnW107XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHJhZGl1cz86IG51bWJlcjtcbn0pID0+IHtcbiAgY29uc3QgdG90YWwgPSAxMDA7XG4gIGxldCB4ID0gMDtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9IHN0eWxlPXt7IGRpc3BsYXk6ICdibG9jaycgfX0+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGNsaXBQYXRoIGlkPVwiclwiPlxuICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICB4PVwiMFwiXG4gICAgICAgICAgICB5PVwiMFwiXG4gICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgIHJ4PXtyYWRpdXN9XG4gICAgICAgICAgICByeT17cmFkaXVzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8L2RlZnM+XG4gICAgICA8ZyBjbGlwUGF0aD1cInVybCgjcilcIj5cbiAgICAgICAge3NlZ21lbnRzLm1hcCgocywgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHcgPSAocy52YWx1ZSAvIHRvdGFsKSAqIHdpZHRoO1xuICAgICAgICAgIGNvbnN0IHNlZ21lbnRYID0geDtcbiAgICAgICAgICBjb25zdCB0ZXh0WCA9IHNlZ21lbnRYICsgdyAvIDI7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IChcbiAgICAgICAgICAgIDxnIGtleT17aX0+XG4gICAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgeD17c2VnbWVudFh9XG4gICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICB3aWR0aD17d31cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICBmaWxsPXtzLmNvbG9yfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIHg9e01hdGgubWF4KHRleHRYLCAyNSl9XG4gICAgICAgICAgICAgICAgeT17aGVpZ2h0IC8gMS44fVxuICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICAgIGRvbWluYW50QmFzZWxpbmU9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9eydncmV5J31cbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD17MC44fVxuICAgICAgICAgICAgICAgIGZvbnRTaXplPXsneC1sYXJnZSd9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cy52YWx1ZX0lXG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICApO1xuICAgICAgICAgIHggKz0gdztcbiAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgfSl9XG4gICAgICA8L2c+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgcng9e3JhZGl1c31cbiAgICAgICAgcnk9e3JhZGl1c31cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCIjQkRCREJEXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNaWNyb1N0YWNrZWRCYXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQTtBQUM2RDtBQUM3RCxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUFDLElBQUEsRUFVZjtFQUFBLElBVEpDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUFDLFVBQUEsR0FBQUYsSUFBQSxDQUNSRyxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLEVBQUUsR0FBQUEsVUFBQTtJQUFBRSxXQUFBLEdBQUFKLElBQUEsQ0FDVkssTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxDQUFDLEdBQUFBLFdBQUE7SUFB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