td-stylekit 30.17.2 → 31.0.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 (92) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/es/ActionBar/ActionBar.js +10 -12
  3. package/dist/es/ActionBar/components/IconButton.d.ts +11 -1
  4. package/dist/es/ActionBar/components/IconButton.js +28 -8
  5. package/dist/es/BarChart/BarChart.d.ts +3 -16
  6. package/dist/es/BarChart/BarChart.js +12 -17
  7. package/dist/es/Box/Box.js +3 -5
  8. package/dist/es/Button/Button.d.ts +1 -16
  9. package/dist/es/Button/Button.js +55 -23
  10. package/dist/es/Checkbox/Checkbox.d.ts +0 -4
  11. package/dist/es/Checkbox/Checkbox.js +9 -11
  12. package/dist/es/ComparisonChart/ComparisonChart.d.ts +2 -13
  13. package/dist/es/ComparisonChart/ComparisonChart.js +10 -12
  14. package/dist/es/DataGrid/DataGrid.d.ts +3 -14
  15. package/dist/es/DataGrid/DataGrid.js +83 -61
  16. package/dist/es/DataGrid/components/ColumnHeader.d.ts +2 -6
  17. package/dist/es/DataGrid/components/ColumnHeader.js +8 -10
  18. package/dist/es/DataGrid/components/FocusableRow.js +1 -1
  19. package/dist/es/DataGrid/components/InputCell.js +0 -3
  20. package/dist/es/DataGrid/components/ScrollableTable.d.ts +0 -15
  21. package/dist/es/DataGrid/components/ScrollableTable.js +32 -32
  22. package/dist/es/DataGrid/elements.d.ts +3 -6
  23. package/dist/es/DateControl/DateControl.d.ts +1 -6
  24. package/dist/es/DateControl/DateControl.js +2 -4
  25. package/dist/es/DateControl/elements.d.ts +1 -238
  26. package/dist/es/DatePicker/DatePicker.d.ts +0 -6
  27. package/dist/es/DatePicker/DatePicker.js +28 -19
  28. package/dist/es/DropdownButton/DropdownButton.d.ts +3 -10
  29. package/dist/es/DropdownButton/DropdownButton.js +18 -16
  30. package/dist/es/FileInput/FileInput.d.ts +1 -6
  31. package/dist/es/FileInput/FileInput.js +7 -9
  32. package/dist/es/FormControl/FormControl.d.ts +1 -2
  33. package/dist/es/FormControl/FormControl.js +31 -29
  34. package/dist/es/FormModal/FormModal.d.ts +1 -6
  35. package/dist/es/FormModal/FormModal.js +3 -5
  36. package/dist/es/GrowthRateChart/GrowthRateChart.d.ts +4 -64
  37. package/dist/es/GrowthRateChart/GrowthRateChart.js +32 -17
  38. package/dist/es/IconBar/IconBar.d.ts +4 -2
  39. package/dist/es/IconBar/IconItem.d.ts +4 -2
  40. package/dist/es/Link/Link.d.ts +4 -2
  41. package/dist/es/Link/Link.js +43 -11
  42. package/dist/es/Logo/Logo.d.ts +0 -7
  43. package/dist/es/Logo/Logo.js +6 -8
  44. package/dist/es/Logo/LogoDark.d.ts +1 -8
  45. package/dist/es/Logo/LogoDark.js +5 -7
  46. package/dist/es/Logo/LogoLight.d.ts +1 -8
  47. package/dist/es/Logo/LogoLight.js +5 -7
  48. package/dist/es/Menu/Menu.d.ts +0 -4
  49. package/dist/es/Menu/Menu.js +6 -8
  50. package/dist/es/Menu/MenuElements.d.ts +2 -6
  51. package/dist/es/Menu/MenuElements.js +10 -9
  52. package/dist/es/Modal/Modal.d.ts +2 -9
  53. package/dist/es/Modal/Modal.js +13 -13
  54. package/dist/es/Modal/components/MenuBody.d.ts +1 -3
  55. package/dist/es/Modal/components/ModalMessage.d.ts +1 -6
  56. package/dist/es/Modal/components/ModalMessage.js +14 -16
  57. package/dist/es/Modal/components/ModalOverlay.d.ts +1 -0
  58. package/dist/es/Modal/components/elements.d.ts +19 -19
  59. package/dist/es/Modal/components/elements.js +20 -21
  60. package/dist/es/MultiSelect/MultiSelect.d.ts +3 -27
  61. package/dist/es/MultiSelect/MultiSelect.js +46 -46
  62. package/dist/es/Radio/Radio.d.ts +1 -6
  63. package/dist/es/Radio/Radio.js +14 -15
  64. package/dist/es/SecondaryNavigation/SecondaryNavigation.d.ts +1 -7
  65. package/dist/es/SecondaryNavigation/SecondaryNavigation.js +3 -5
  66. package/dist/es/Section/Section.d.ts +1 -5
  67. package/dist/es/Section/Section.js +4 -6
  68. package/dist/es/Select/Select.d.ts +1 -13
  69. package/dist/es/Select/Select.js +9 -22
  70. package/dist/es/Shuttle/Shuttle.d.ts +3 -15
  71. package/dist/es/Shuttle/Shuttle.js +22 -22
  72. package/dist/es/Tagger/Tagger.d.ts +2 -10
  73. package/dist/es/Tagger/Tagger.js +39 -41
  74. package/dist/es/Tagger/TaggerElements.d.ts +4 -2
  75. package/dist/es/Tagger/components/PopupSelector.d.ts +13 -19
  76. package/dist/es/Tagger/components/PopupSelector.js +49 -50
  77. package/dist/es/Tagger/components/PopupSelectorElements.d.ts +4 -2
  78. package/dist/es/Tagger/types.d.ts +5 -5
  79. package/dist/es/TimeControl/TimeControl.js +25 -18
  80. package/dist/es/TimeControl/elements.d.ts +1 -238
  81. package/dist/es/TimePicker/TimePicker.js +6 -10
  82. package/dist/es/TimePicker/components/Spinner.js +16 -12
  83. package/dist/es/Toast/Toast.d.ts +4 -11
  84. package/dist/es/Toast/Toast.js +12 -13
  85. package/dist/es/Toggle/Toggle.d.ts +0 -5
  86. package/dist/es/Toggle/Toggle.js +10 -11
  87. package/dist/es/TooltipPopover/TooltipPopover.d.ts +1 -8
  88. package/dist/es/TooltipPopover/TooltipPopover.js +6 -9
  89. package/dist/es/Tree/Tree.js +2 -4
  90. package/dist/es/VolumeChart/VolumeChart.d.ts +1 -10
  91. package/dist/es/VolumeChart/VolumeChart.js +6 -8
  92. package/package.json +4 -4
@@ -20,10 +20,6 @@ var _excluded = ["triggerWidth"];
20
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
23
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
24
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
25
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
23
  function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
28
24
  function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
29
25
  function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
@@ -34,6 +30,10 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
34
30
  function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
35
31
  function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
36
32
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
33
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
34
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
35
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
36
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
37
37
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
38
38
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
39
39
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -64,7 +64,7 @@ var DefaultOptionFormatterContainer = /*#__PURE__*/(0, _base["default"])('div',
64
64
  } : {
65
65
  name: "l8l8b8",
66
66
  styles: "white-space:nowrap;overflow:hidden;text-overflow:ellipsis",
67
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9UYWdnZXIvY29tcG9uZW50cy9Qb3B1cFNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRHdDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9UYWdnZXIvY29tcG9uZW50cy9Qb3B1cFNlbGVjdG9yLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHRkL2luc3RydW1lbnRhdGlvbiAqL1xuLy8gdGhpcyBsZXZlbCBvZiBmaW5lIGdyYWluZWQgaW5zdHJ1bWVudGF0aW9uIGlzIG5vdCBuZWVkZWRcbmltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgUmVmT2JqZWN0LFxuICBDU1NQcm9wZXJ0aWVzLFxuICBDb21wb25lbnRQcm9wcyxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgY3JlYXRlUmVmLFxuICBQdXJlQ29tcG9uZW50XG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBdXRvU2l6ZXIsIExpc3QgfSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCBCb3ggZnJvbSAnLi4vLi4vQm94J1xuaW1wb3J0IEZvcm1GaWVsZEFkZG9uIGZyb20gJy4uLy4uL0Zvcm1GaWVsZEFkZG9uJ1xuaW1wb3J0IEhpZ2hsaWdodGVyIGZyb20gJy4uLy4uL0hpZ2hsaWdodGVyJ1xuaW1wb3J0IFRvb2x0aXBQb3BvdmVyIGZyb20gJy4uLy4uL1Rvb2x0aXBQb3BvdmVyJ1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCAqIGFzIEVsZW1lbnRzIGZyb20gJy4vUG9wdXBTZWxlY3RvckVsZW1lbnRzJ1xuaW1wb3J0IHsgT1BUSU9OX0hFSUdIVCwgU0VQQVJBVE9SIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmNvbnN0IHtcbiAgQWRkTGluayxcbiAgQWRkTGlua1BvcG92ZXIsXG4gIEhlYWRlcixcbiAgTGlzdENvbnRhaW5lcixcbiAgTGlzdEl0ZW0sXG4gIE5vUmVzdWx0cyxcbiAgU2VhcmNoSW5wdXQsXG4gIFNlYXJjaElucHV0Q29udGFpbmVyLFxuICBTZWFyY2hMaXN0Q29udGFpbmVyLFxuICBTZWxlY3RvclBvcG92ZXIsXG4gIFRleHRhcmVhXG59ID0gRWxlbWVudHNcblxuZXhwb3J0IHR5cGUgVmFsdWUgPSBzdHJpbmcgfCBudW1iZXJcblxuZXhwb3J0IHR5cGUgT3B0aW9uID0ge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlOiBWYWx1ZVxufVxuXG5leHBvcnQgdHlwZSBPcHRpb25Gb3JtYXR0ZXJBcmd1bWVudHMgPSB7XG4gIGZvY3VzZWQ6IGJvb2xlYW5cbiAgb3B0aW9uOiBPcHRpb25cbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmdcbn1cblxuY29uc3QgRGVmYXVsdE9wdGlvbkZvcm1hdHRlckNvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jykoe1xuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcydcbn0pXG5cbmNvbnN0IGRlZmF1bHRPcHRpb25Gb3JtYXR0ZXIgPSAoe1xuICBvcHRpb24sXG4gIHNlYXJjaFN0cmluZ1xufTogT3B0aW9uRm9ybWF0dGVyQXJndW1lbnRzKSA9PiAoXG4gIDxEZWZhdWx0T3B0aW9uRm9ybWF0dGVyQ29udGFpbmVyIHRpdGxlPXtvcHRpb24ubGFiZWx9PlxuICAgIDxIaWdobGlnaHRlciB0ZXh0VG9IaWdobGlnaHQ9e29wdGlvbi5sYWJlbH0gc2VhcmNoU3RyaW5nPXtzZWFyY2hTdHJpbmd9IC8+XG4gIDwvRGVmYXVsdE9wdGlvbkZvcm1hdHRlckNvbnRhaW5lcj5cbilcblxuZXhwb3J0IHR5cGUgUmVuZGVyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAgdHJpZ2dlcldpZHRoOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgVHJpZ2dlclJlbmRlcmVyQXJndW1lbnRzID0ge1xuICBlcnJvcj86IEFycmF5PHN0cmluZz5cbiAgZ2V0UmVmPzogUmVmT2JqZWN0PGFueT5cbiAgaXNPcGVuPzogYm9vbGVhblxuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIG9wdGlvbnM6IEFycmF5PE9wdGlvbj5cbiAgdGFnczogUmVhY3ROb2RlXG4gIHRvb2x0aXA6IFJlYWN0Tm9kZVxufVxuXG5jb25zdCBkZWZhdWx0VHJpZ2dlclJlbmRlcmVyID0gKHtcbiAgZXJyb3IsXG4gIGdldFJlZixcbiAgb25DbGljayxcbiAgdG9vbHRpcFxufTogVHJpZ2dlclJlbmRlcmVyQXJndW1lbnRzKSA9PiB7XG4gIGNvbnN0IGhhc0Vycm9yID0gZXJyb3IgJiYgZXJyb3IubGVuZ3RoID4gMFxuICBjb25zdCBoYXNUb29sdGlwID0gISF0b29sdGlwXG4gIGNvbnN0IHRyaWdnZXIgPSAoXG4gICAgPEFkZExpbmsgY2lyY2xlIHJlZj17Z2V0UmVmfSBoYXNFcnJvcj17aGFzRXJyb3J9IG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPEljb24uU21hbGwuU3ltYm9sUGx1cyBmb2N1c2FibGU9XCJmYWxzZVwiIC8+XG4gICAgPC9BZGRMaW5rPlxuICApXG4gIGlmIChoYXNUb29sdGlwIHx8IGhhc0Vycm9yKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt0cmlnZ2VyfVxuICAgICAgICA8VG9vbHRpcFBvcG92ZXIgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PXtnZXRSZWZ9IGludGVyYWN0aXZlPXtmYWxzZX0+XG4gICAgICAgICAgPEFkZExpbmtQb3BvdmVyIGJhY2tncm91bmRDb2xvcj17aGFzRXJyb3IgPyAnI2ZmZWVmMCcgOiAnJ30+XG4gICAgICAgICAgICB7dG9vbHRpcH1cbiAgICAgICAgICAgIHtoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgIDxGb3JtRmllbGRBZGRvbiBlcnJvckxpc3Q9e2Vycm9yfSB0cnVuY2F0ZUVycm9ycz17ZmFsc2V9IC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQWRkTGlua1BvcG92ZXI+XG4gICAgICAgIDwvVG9vbHRpcFBvcG92ZXI+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cbiAgcmV0dXJuIHRyaWdnZXJcbn1cblxuZXhwb3J0IHR5cGUgUG9wdXBTZWxlY3RvclByb3BzID0ge1xuICBjcmVhdGFibGU/OiBib29sZWFuXG4gIGVycm9yPzogQXJyYXk8c3RyaW5nPlxuICBvblNlbGVjdDogKHZhbHVlOiBWYWx1ZVtdKSA9PiB2b2lkXG4gIG9uT3BlbjogKGlzT3BlbjogYm9vbGVhbikgPT4gdm9pZFxuICBpc09wZW4/OiBib29sZWFuXG4gIGtleTogbnVtYmVyXG4gIGhpbnRUZXh0PzogUmVhY3ROb2RlXG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIG9wdGlvbkZvcm1hdHRlcjogKGZvcm1hdHRlckFyZ3M6IE9wdGlvbkZvcm1hdHRlckFyZ3VtZW50cykgPT4gUmVhY3ROb2RlXG4gIG9wdGlvblJlbmRlckNvbnRhaW5lcjogKHByb3BzOiB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGtleTogc3RyaW5nXG4gICAgc3R5bGU6IENTU1Byb3BlcnRpZXNcbiAgICByb2xlOiBzdHJpbmdcbiAgICBob3ZlcmVkOiBib29sZWFuXG4gICAgb25DbGljazogKCkgPT4gdm9pZFxuICAgIG9uTW91c2VFbnRlcjogKCkgPT4gdm9pZFxuICB9KSA9PiBKU1guRWxlbWVudFxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBwb3NpdGlvblByb3BzPzogUGFydGlhbDxDb21wb25lbnRQcm9wczx0eXBlb2YgVG9vbHRpcFBvcG92ZXI+PlxuICByZW5kZXJDb250YWluZXI6IChwcm9wczogUmVuZGVyQ29udGFpbmVyUHJvcHMpID0+IEpTWC5FbGVtZW50XG4gIHNob3dIZWFkZXJzPzogYm9vbGVhblxuICBzaG93U2VsZWN0ZWRDb3VudD86IGJvb2xlYW5cbiAgdGFncz86IFJlYWN0Tm9kZVxuICB0cmlnZ2VyUmVuZGVyZXI/OiAocmVuZGVyZXJBcmdzOiBUcmlnZ2VyUmVuZGVyZXJBcmd1bWVudHMpID0+IFJlYWN0Tm9kZVxuICB0cmlnZ2VyVG9vbHRpcD86IFJlYWN0Tm9kZVxuICB2YWx1ZTogVmFsdWVbXVxufVxuXG50eXBlIFBvcHVwU2VsZWN0b3JTdGF0ZSA9IHtcbiAgaW1lQ29tcG9zaW5nOiBib29sZWFuXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nXG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlclxuICB0ZXh0VmFsdWU6IHN0cmluZyB8IG51bGxcbiAgdHJpZ2dlcldpZHRoOiBudW1iZXJcbn1cblxuY29uc3QgZ2V0TmV3RW50cnkgPSAodGV4dFZhbHVlLCBsYWJlbCkgPT4ge1xuICByZXR1cm4gW1xuICAgIC8vIFRyaW0gbGFzdCBzZXBhcmF0b3IgKFxcbikgdG8gYXZvaWQgYWRkaW5nIGl0IHVuaW50ZW50aW9uYWxseVxuICAgIHRleHRWYWx1ZS5lbmRzV2l0aChTRVBBUkFUT1IpXG4gICAgICA/IHRleHRWYWx1ZS5zbGljZSgwLCAtU0VQQVJBVE9SLmxlbmd0aClcbiAgICAgIDogdGV4dFZhbHVlLFxuICAgIHRleHRWYWx1ZSAmJiB0ZXh0VmFsdWUubGVuZ3RoID8gU0VQQVJBVE9SIDogJycsXG4gICAgbGFiZWxcbiAgXS5qb2luKCcnKVxufVxuXG5jbGFzcyBQb3B1cFNlbGVjdG9yIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxcbiAgUG9wdXBTZWxlY3RvclByb3BzLFxuICBQb3B1cFNlbGVjdG9yU3RhdGVcbj4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIG9wdGlvbkZvcm1hdHRlcjogZGVmYXVsdE9wdGlvbkZvcm1hdHRlcixcbiAgICBwbGFjZWhvbGRlcjogJzxUeXBlIHRvIGZpbHRlcj4nLFxuICAgIHRyaWdnZXJSZW5kZXJlcjogZGVmYXVsdFRyaWdnZXJSZW5kZXJlcixcbiAgICBvcHRpb25SZW5kZXJDb250YWluZXI6IHByb3BzID0+IDxMaXN0SXRlbSB7Li4ucHJvcHN9IC8+LFxuICAgIHJlbmRlckNvbnRhaW5lcjogKHsgdHJpZ2dlcldpZHRoLCAuLi5wcm9wcyB9OiBSZW5kZXJDb250YWluZXJQcm9wcykgPT4gKFxuICAgICAgPFNlbGVjdG9yUG9wb3ZlciBhcnJvd0hpZGRlbiB7Li4ucHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgc3RhdGljIEVsZW1lbnRzID0gRWxlbWVudHNcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKFxuICAgIHByb3BzOiBQb3B1cFNlbGVjdG9yUHJvcHMsXG4gICAgc3RhdGU6IFBvcHVwU2VsZWN0b3JTdGF0ZVxuICApIHtcbiAgICBpZiAoc3RhdGUudGV4dFZhbHVlID09IG51bGwgJiYgcHJvcHMudmFsdWUgJiYgcHJvcHMub3B0aW9ucykge1xuICAgICAgLy8gbmVlZCB0byBtYXAgdmFsdWVzIHRvIGxhYmVsc1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dFZhbHVlOiBwcm9wcy52YWx1ZVxuICAgICAgICAgIC5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdPcHRpb24gPSBwcm9wcy5vcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIG9wdGlvbiA9PiB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdPcHRpb24gPyBleGlzdGluZ09wdGlvbi5sYWJlbCA6IHZhbHVlXG4gICAgICAgICAgfSlcbiAgICAgICAgICAvLyBwYWQgd2l0aCBhbm90aGVyIGVtcHR5IG5ld2xpbmUgYmVjYXVzZSB0aGUgbGFzdCBlbXB0eSBuZXdsaW5lIGlzIHJlbW92ZWQgb24gY2xvc2VcbiAgICAgICAgICAuY29uY2F0KHByb3BzLnZhbHVlLmxlbmd0aCA+IDAgPyBbJyddIDogW10pXG4gICAgICAgICAgLmpvaW4oU0VQQVJBVE9SKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgc3RhdGUgPSB7XG4gICAgaW1lQ29tcG9zaW5nOiBmYWxzZSxcbiAgICBzZWFyY2hTdHJpbmc6ICcnLFxuICAgIHNlbGVjdGVkSW5kZXg6IDAsXG4gICAgdGV4dFZhbHVlOiBudWxsLFxuICAgIHRyaWdnZXJXaWR0aDogMFxuICB9XG5cbiAgdHJpZ2dlclJlZiA9IGNyZWF0ZVJlZjxhbnk+KClcbiAgcG9wb3ZlclJlZiA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnRyaWdnZXJXaWR0aCAhPT0gdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdHJpZ2dlcldpZHRoOiB0aGlzLnRyaWdnZXJSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGhcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnRyaWdnZXJXaWR0aCAhPT0gdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdHJpZ2dlcldpZHRoOiB0aGlzLnRyaWdnZXJSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGhcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2VsZWN0ID0gKGxhYmVsOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgc3RhdGUgPT4gKHtcbiAgICAgICAgdGV4dFZhbHVlOiBnZXROZXdFbnRyeShzdGF0ZS50ZXh0VmFsdWUsIGxhYmVsKVxuICAgICAgfSksXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBnZXQgdGV4dGFyZWEgcmVmIHNvIHF1ZXJ5c2VsZWN0b3IgaXMgbm90IG5lY2Vzc2FyeVxuICAgICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICd0ZXh0YXJlYVtuYW1lPVwibGlzdFwiXSdcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKHRleHRhcmVhKSB7XG4gICAgICAgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBoYW5kbGVJbnB1dEtleURvd24gPSAoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gICAgb3B0aW9uczogT3B0aW9uW11cbiAgKSA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUuaW1lQ29tcG9zaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgeyBzZWxlY3RlZEluZGV4IH0gPSB0aGlzLnN0YXRlXG4gICAgY29uc3Qgc2FmZVNlbGVjdGVkSW5kZXggPSB0aGlzLnNhZmVJbmRleChzZWxlY3RlZEluZGV4LCBvcHRpb25zKVxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkgJiYgb3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdChvcHRpb25zW3NhZmVTZWxlY3RlZEluZGV4XS5sYWJlbClcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VhcmNoU3RyaW5nOiAnJyB9KVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICBzZWxlY3RlZEluZGV4OlxuICAgICAgICAgICAgc3RhdGUuc2VsZWN0ZWRJbmRleCA8IG9wdGlvbnMubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICA/IHRoaXMuc2FmZUluZGV4KHN0YXRlLnNlbGVjdGVkSW5kZXgsIG9wdGlvbnMpICsgMVxuICAgICAgICAgICAgICA6IDBcbiAgICAgICAgfSkpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgc2VsZWN0ZWRJbmRleDpcbiAgICAgICAgICAgIHN0YXRlLnNlbGVjdGVkSW5kZXggPiAwXG4gICAgICAgICAgICAgID8gdGhpcy5zYWZlSW5kZXgoc3RhdGUuc2VsZWN0ZWRJbmRleCwgb3B0aW9ucykgLSAxXG4gICAgICAgICAgICAgIDogb3B0aW9ucy5sZW5ndGggLSAxXG4gICAgICAgIH0pKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXJSZWYgJiYgdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvLyBrZWVwIHRyYWNrIG9mIElNRSBzdGF0ZSBzbyB3ZSBrbm93IHdoZW4gdG8gaWdub3JlIGtleURvd24gZXZlbnRzXG4gIC8vIG1vcmUgaW5mbzogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL0lNRV9oYW5kbGluZ19ndWlkZVxuICBoYW5kbGVJbWVDb21wb3NpbmcgPSAoY29tcG9zaW5nOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKCFjb21wb3NpbmcpIHtcbiAgICAgIC8vIFNhZmFyaSBidWc6IGNvbXBvc2l0aW9uRW5kIGZpcmVzIEJFRk9SRSBrZXlEb3duIHNvIHdlIG5lZWQgdG8gd2FpdCBmb3Iga2V5RG93biB0byBwcm9jZXNzIGZpcnN0XG4gICAgICAvLyBtb3JlIGluZm86IGh0dHBzOi8vbWVkaXVtLmNvbS9zcXVhcmUtY29ybmVyLWJsb2cvdW5kZXJzdGFuZGluZy1jb21wb3NpdGlvbi1icm93c2VyLWV2ZW50cy1mNDAyYThlZDU2NDNcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB0aGlzLnNldFN0YXRlKCgpID0+ICh7IGltZUNvbXBvc2luZzogY29tcG9zaW5nIH0pKSxcbiAgICAgICAgMTBcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSgoKSA9PiAoeyBpbWVDb21wb3Npbmc6IGNvbXBvc2luZyB9KSlcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZWFyY2ggPSAoeyB2YWx1ZSB9OiB7IHZhbHVlPzogdW5rbm93biB9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSgoKSA9PiAoe1xuICAgICAgc2VhcmNoU3RyaW5nOiBgJHt2YWx1ZX1gXG4gICAgfSkpXG4gIH1cblxuICBjbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uU2VsZWN0KHRoaXMudGV4dFRvVmFsdWUoKSlcbiAgICB0aGlzLnByb3BzLm9uT3BlbihmYWxzZSlcbiAgfVxuXG4gIGZpbHRlcmVkT3B0aW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNyZWF0YWJsZSwgb3B0aW9ucywgdmFsdWUgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHNlYXJjaFN0cmluZywgdGV4dFZhbHVlID0gJycgfTogUG9wdXBTZWxlY3RvclN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGV4dFZhbHVlID8gdGV4dFZhbHVlLnNwbGl0KFNFUEFSQVRPUikgOiBbXVxuICAgIGNvbnN0IHVuc2VsZWN0ZWRPcHRpb25zOiBPcHRpb25bXSA9IG9wdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+IHtcbiAgICAgIHJldHVybiAhc2VsZWN0ZWRWYWx1ZXMuaW5jbHVkZXMoU3RyaW5nKGxhYmVsKSlcbiAgICB9KVxuXG4gICAgaWYgKHNlYXJjaFN0cmluZykge1xuICAgICAgbGV0IGZpbHRlcmVkT3B0aW9uczogT3B0aW9uW10gPSB1bnNlbGVjdGVkT3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICh7IGxhYmVsIH06IE9wdGlvbikgPT5cbiAgICAgICAgICBTdHJpbmcobGFiZWwpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpXG4gICAgICApXG5cbiAgICAgIGlmIChjcmVhdGFibGUpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzZWFyY2hTdHJpbmcudHJpbSgpXG4gICAgICAgIGNvbnN0IGFscmVhZHlJblZhbHVlID0gdmFsdWUuaW5jbHVkZXMobmV3VmFsdWUpXG4gICAgICAgIGNvbnN0IGFscmVhZHlBbk9wdGlvbiA9IHVuc2VsZWN0ZWRPcHRpb25zLnNvbWUoXG4gICAgICAgICAgb3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gbmV3VmFsdWVcbiAgICAgICAgKVxuICAgICAgICBpZiAoIWFscmVhZHlJblZhbHVlICYmICFhbHJlYWR5QW5PcHRpb24pIHtcbiAgICAgICAgICBjb25zdCBuZXdPcHRpb246IE9wdGlvbiA9IHtcbiAgICAgICAgICAgIGxhYmVsOiBuZXdWYWx1ZSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXdWYWx1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpbHRlcmVkT3B0aW9ucyA9IFtuZXdPcHRpb25dLmNvbmNhdChmaWx0ZXJlZE9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpbHRlcmVkT3B0aW9uc1xuICAgIH1cblxuICAgIHJldHVybiB1bnNlbGVjdGVkT3B0aW9uc1xuICB9XG5cbiAgdGV4dFRvVmFsdWUoKTogVmFsdWVbXSB7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgeyB0ZXh0VmFsdWUgfSA9IHRoaXMuc3RhdGVcbiAgICAvLyB0ZXh0IGNvbnRhaW5zIGxhYmVscyBzbyB3ZSBuZWVkIHRvIGNvbnZlcnQgdG8gdmFsdWVzIGlmIG9wdGlvbiBleGlzdHNcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSAodGV4dFZhbHVlIHx8ICcnKS5zcGxpdChTRVBBUkFUT1IpLm1hcChsYWJlbCA9PiB7XG4gICAgICBjb25zdCBleGlzdGluZ09wdGlvbiA9IG9wdGlvbnMuZmluZChvcHRpb24gPT4gbGFiZWwgPT09IG9wdGlvbi5sYWJlbClcbiAgICAgIHJldHVybiBleGlzdGluZ09wdGlvbiA/IGV4aXN0aW5nT3B0aW9uLnZhbHVlIDogbGFiZWxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdGVkT3B0aW9uc1tzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gMV0gPT09ICcnKSB7XG4gICAgICAvLyByZW1vdmUgbGFzdCBlbXB0eSBuZXdsaW5lXG4gICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zLnNsaWNlKDAsIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggLSAxKVxuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zXG4gIH1cblxuICBzYWZlSW5kZXggPSAoaW5kZXg6IG51bWJlciwgb3B0aW9uczogT3B0aW9uW10pID0+IHtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4oaW5kZXgsIG9wdGlvbnMubGVuZ3RoIC0gMSksIDApXG4gIH1cblxuICByZW5kZXJMaXN0ID0gKGZpbHRlcmVkT3B0aW9uczogT3B0aW9uW10sIHNlbGVjdGVkSW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHsgb3B0aW9uRm9ybWF0dGVyLCBvcHRpb25SZW5kZXJDb250YWluZXIgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHNlYXJjaFN0cmluZyB9ID0gdGhpcy5zdGF0ZVxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgPEF1dG9TaXplcj5cbiAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9KSA9PiAoXG4gICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICByb3dSZW5kZXJlcj17KHsga2V5LCBpbmRleCwgc3R5bGUgfSkgPT5cbiAgICAgICAgICAgICAgICBvcHRpb25SZW5kZXJDb250YWluZXIoe1xuICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICAgICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBvcHRpb25Gb3JtYXR0ZXIoe1xuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkOiBzZWxlY3RlZEluZGV4ID09PSBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uOiBmaWx0ZXJlZE9wdGlvbnNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2hTdHJpbmdcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgaG92ZXJlZDogc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXgsXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0KGZpbHRlcmVkT3B0aW9uc1tpbmRleF0ubGFiZWwpXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBnZXQgaW5wdXQgcmVmIHNvIHF1ZXJ5c2VsZWN0b3IgaXMgbm90IG5lY2Vzc2FyeVxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXRbbmFtZT1cInNlYXJjaFwiXSdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hTdHJpbmc6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKCgpID0+ICh7IHNlbGVjdGVkSW5kZXg6IGluZGV4IH0pKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9Sb3dzUmVuZGVyZXI9eygpID0+IDxOb1Jlc3VsdHM+Tm8gcmVzdWx0cyBmb3VuZDwvTm9SZXN1bHRzPn1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgcm93SGVpZ2h0PXtPUFRJT05fSEVJR0hUfVxuICAgICAgICAgICAgICByb3dDb3VudD17ZmlsdGVyZWRPcHRpb25zLmxlbmd0aH1cbiAgICAgICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgICAgICBzY3JvbGxUb0luZGV4PXtzZWxlY3RlZEluZGV4fVxuICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgIClcbiAgfVxuXG4gIHJlbmRlck92ZXJsYXkgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBjcmVhdGFibGUsXG4gICAgICBoaW50VGV4dCxcbiAgICAgIHJlbmRlckNvbnRhaW5lcixcbiAgICAgIHNob3dTZWxlY3RlZENvdW50LFxuICAgICAgc2hvd0hlYWRlcnNcbiAgICB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHsgc2VsZWN0ZWRJbmRleCwgdGV4dFZhbHVlIH0gPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJlZE9wdGlvbnMoKVxuICAgIGNvbnN0IHNhZmVTZWxlY3RlZEluZGV4ID0gdGhpcy5zYWZlSW5kZXgoc2VsZWN0ZWRJbmRleCwgZmlsdGVyZWRPcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlbmRlckNvbnRhaW5lcih7XG4gICAgICB0cmlnZ2VyV2lkdGg6IHRoaXMuc3RhdGUudHJpZ2dlcldpZHRoLFxuICAgICAgY2hpbGRyZW46IChcbiAgICAgICAgPGRpdiBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX0gcmVmPXt0aGlzLnBvcG92ZXJSZWZ9PlxuICAgICAgICAgIDxCb3ggZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgICA8Qm94IGdyb3c9ezF9PlxuICAgICAgICAgICAgICB7c2hvd0hlYWRlcnMgJiYgPEhlYWRlciBoND5TZWxlY3QgVmFsdWUocyk6PC9IZWFkZXI+fVxuICAgICAgICAgICAgICA8U2VhcmNoTGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8U2VhcmNoSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8U2VhcmNoSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWFyY2hTdHJpbmd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZVNlYXJjaH1cbiAgICAgICAgICAgICAgICAgICAgb25Db21wb3NpdGlvblN0YXJ0PXsoKSA9PiB0aGlzLmhhbmRsZUltZUNvbXBvc2luZyh0cnVlKX1cbiAgICAgICAgICAgICAgICAgICAgb25Db21wb3NpdGlvbkVuZD17KCkgPT4gdGhpcy5oYW5kbGVJbWVDb21wb3NpbmcoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnB1dEtleURvd24oZXZlbnQsIGZpbHRlcmVkT3B0aW9ucylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXIgfHwgJ1NlYXJjaCd9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvU2VhcmNoSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyTGlzdChmaWx0ZXJlZE9wdGlvbnMsIHNhZmVTZWxlY3RlZEluZGV4KX1cbiAgICAgICAgICAgICAgPC9TZWFyY2hMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8Qm94IGdyb3c9ezF9PlxuICAgICAgICAgICAgICB7c2hvd0hlYWRlcnMgJiYgPEhlYWRlciBoND5TZWxlY3RlZCBWYWx1ZShzKTo8L0hlYWRlcj59XG4gICAgICAgICAgICAgIDxUZXh0YXJlYVxuICAgICAgICAgICAgICAgIG5hbWU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgIHdyYXA9XCJvZmZcIlxuICAgICAgICAgICAgICAgIG9uS2V5UHJlc3M9e1xuICAgICAgICAgICAgICAgICAgIWNyZWF0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgdGV4dCBlbnRyeVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICB0ZXh0VmFsdWU6IHZhbHVlID09PSB1bmRlZmluZWQgPyBudWxsIDogYCR7dmFsdWV9YFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgICAgICAgIGNyZWF0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/ICdTZWxlY3QgdmFsdWVzIGZyb20gdGhlIGxlZnRcXG5PUlxcblR5cGUgZGlyZWN0bHkgLyBwYXN0ZSBmcm9tIGNsaXBib2FyZCBoZXJlLlxcblxcbk9uZSB2YWx1ZSBwZXIgcm93LidcbiAgICAgICAgICAgICAgICAgICAgOiAnU2VsZWN0IHZhbHVlcyBmcm9tIHRoZSBsZWZ0LidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3RleHRWYWx1ZSB8fCAnJ31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICAgIHsoaGludFRleHQgfHwgc2hvd1NlbGVjdGVkQ291bnQpICYmIChcbiAgICAgICAgICAgIDxCb3hcbiAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAganVzdGlmeT1cImJldHdlZW5cIlxuICAgICAgICAgICAgICBjc3M9e3RoZW1lID0+ICh7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2VbMl19ICR7dGhlbWUuc3BhY2VbNF19YCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogdGhlbWUuZm9udFNpemVbMF0sXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lLnBhbGV0dGUubmV1dHJhbFsxMF1cbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtoaW50VGV4dCAmJiA8Qm94PntoaW50VGV4dH08L0JveD59XG4gICAgICAgICAgICAgIHtzaG93U2VsZWN0ZWRDb3VudCAmJiAoXG4gICAgICAgICAgICAgICAgPEJveD57dGhpcy50ZXh0VG9WYWx1ZSgpLmxlbmd0aH0gc2VsZWN0ZWQgdmFsdWVzPC9Cb3g+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzT3BlbixcbiAgICAgIG9uT3BlbixcbiAgICAgIHRyaWdnZXJSZW5kZXJlciA9IGRlZmF1bHRUcmlnZ2VyUmVuZGVyZXIsXG4gICAgICB0cmlnZ2VyVG9vbHRpcCxcbiAgICAgIGVycm9yLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHBvc2l0aW9uUHJvcHMsXG4gICAgICB0YWdzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge3RyaWdnZXJSZW5kZXJlcih7XG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgZ2V0UmVmOiB0aGlzLnRyaWdnZXJSZWYsXG4gICAgICAgICAgaXNPcGVuLFxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IG9uT3Blbih0cnVlKSxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRhZ3MsXG4gICAgICAgICAgdG9vbHRpcDogdHJpZ2dlclRvb2x0aXAgfHwgbnVsbFxuICAgICAgICB9KX1cbiAgICAgICAgPFRvb2x0aXBQb3BvdmVyXG4gICAgICAgICAgYXJyb3dIaWRkZW5cbiAgICAgICAgICBvbkhpZGU9e3RoaXMuY2xvc2V9XG4gICAgICAgICAgc2hvdz17aXNPcGVufVxuICAgICAgICAgIHRhcmdldD17dGhpcy50cmlnZ2VyUmVmfVxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgcG9wcGVyT3B0aW9ucz17e1xuICAgICAgICAgICAgbW9kaWZpZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBhbHRBeGlzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbWFpbkF4aXM6IGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfX1cbiAgICAgICAgICB7Li4ucG9zaXRpb25Qcm9wc31cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlck92ZXJsYXkoKX1cbiAgICAgICAgPC9Ub29sdGlwUG9wb3Zlcj5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQb3B1cFNlbGVjdG9yXG4iXX0= */",
67
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9UYWdnZXIvY29tcG9uZW50cy9Qb3B1cFNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRHdDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9UYWdnZXIvY29tcG9uZW50cy9Qb3B1cFNlbGVjdG9yLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHRkL2luc3RydW1lbnRhdGlvbiAqL1xuLy8gdGhpcyBsZXZlbCBvZiBmaW5lIGdyYWluZWQgaW5zdHJ1bWVudGF0aW9uIGlzIG5vdCBuZWVkZWRcbmltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgUmVmT2JqZWN0LFxuICBDU1NQcm9wZXJ0aWVzLFxuICBDb21wb25lbnRQcm9wcyxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgY3JlYXRlUmVmLFxuICBQdXJlQ29tcG9uZW50XG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBdXRvU2l6ZXIsIExpc3QgfSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCBCb3ggZnJvbSAnLi4vLi4vQm94J1xuaW1wb3J0IEZvcm1GaWVsZEFkZG9uIGZyb20gJy4uLy4uL0Zvcm1GaWVsZEFkZG9uJ1xuaW1wb3J0IEhpZ2hsaWdodGVyIGZyb20gJy4uLy4uL0hpZ2hsaWdodGVyJ1xuaW1wb3J0IFRvb2x0aXBQb3BvdmVyIGZyb20gJy4uLy4uL1Rvb2x0aXBQb3BvdmVyJ1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCAqIGFzIEVsZW1lbnRzIGZyb20gJy4vUG9wdXBTZWxlY3RvckVsZW1lbnRzJ1xuaW1wb3J0IHsgT1BUSU9OX0hFSUdIVCwgU0VQQVJBVE9SIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmNvbnN0IHtcbiAgQWRkTGluayxcbiAgQWRkTGlua1BvcG92ZXIsXG4gIEhlYWRlcixcbiAgTGlzdENvbnRhaW5lcixcbiAgTGlzdEl0ZW0sXG4gIE5vUmVzdWx0cyxcbiAgU2VhcmNoSW5wdXQsXG4gIFNlYXJjaElucHV0Q29udGFpbmVyLFxuICBTZWFyY2hMaXN0Q29udGFpbmVyLFxuICBTZWxlY3RvclBvcG92ZXIsXG4gIFRleHRhcmVhXG59ID0gRWxlbWVudHNcblxuZXhwb3J0IHR5cGUgVmFsdWUgPSBzdHJpbmcgfCBudW1iZXJcblxuZXhwb3J0IHR5cGUgT3B0aW9uID0ge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlOiBWYWx1ZVxufVxuXG5leHBvcnQgdHlwZSBPcHRpb25Gb3JtYXR0ZXJBcmd1bWVudHMgPSB7XG4gIGZvY3VzZWQ6IGJvb2xlYW5cbiAgb3B0aW9uOiBPcHRpb25cbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmdcbn1cblxuY29uc3QgRGVmYXVsdE9wdGlvbkZvcm1hdHRlckNvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jykoe1xuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcydcbn0pXG5cbmNvbnN0IGRlZmF1bHRPcHRpb25Gb3JtYXR0ZXIgPSAoe1xuICBvcHRpb24sXG4gIHNlYXJjaFN0cmluZ1xufTogT3B0aW9uRm9ybWF0dGVyQXJndW1lbnRzKSA9PiAoXG4gIDxEZWZhdWx0T3B0aW9uRm9ybWF0dGVyQ29udGFpbmVyIHRpdGxlPXtvcHRpb24ubGFiZWx9PlxuICAgIDxIaWdobGlnaHRlciB0ZXh0VG9IaWdobGlnaHQ9e29wdGlvbi5sYWJlbH0gc2VhcmNoU3RyaW5nPXtzZWFyY2hTdHJpbmd9IC8+XG4gIDwvRGVmYXVsdE9wdGlvbkZvcm1hdHRlckNvbnRhaW5lcj5cbilcblxuZXhwb3J0IHR5cGUgUmVuZGVyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAgdHJpZ2dlcldpZHRoOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgT3B0aW9uUmVuZGVyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAga2V5OiBzdHJpbmdcbiAgc3R5bGU6IENTU1Byb3BlcnRpZXNcbiAgcm9sZTogc3RyaW5nXG4gIGhvdmVyZWQ6IGJvb2xlYW5cbiAgb25DbGljazogKCkgPT4gdm9pZFxuICBvbk1vdXNlRW50ZXI6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgVHJpZ2dlclJlbmRlcmVyQXJndW1lbnRzID0ge1xuICBlcnJvcj86IEFycmF5PHN0cmluZz5cbiAgZ2V0UmVmPzogUmVmT2JqZWN0PGFueT5cbiAgaXNPcGVuPzogYm9vbGVhblxuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIG9wdGlvbnM6IEFycmF5PE9wdGlvbj5cbiAgdGFnczogUmVhY3ROb2RlXG4gIHRvb2x0aXA6IFJlYWN0Tm9kZVxufVxuXG5jb25zdCBkZWZhdWx0VHJpZ2dlclJlbmRlcmVyID0gKHtcbiAgZXJyb3IsXG4gIGdldFJlZixcbiAgb25DbGljayxcbiAgdG9vbHRpcFxufTogVHJpZ2dlclJlbmRlcmVyQXJndW1lbnRzKSA9PiB7XG4gIGNvbnN0IGhhc0Vycm9yID0gZXJyb3IgJiYgZXJyb3IubGVuZ3RoID4gMFxuICBjb25zdCBoYXNUb29sdGlwID0gISF0b29sdGlwXG4gIGNvbnN0IHRyaWdnZXIgPSAoXG4gICAgPEFkZExpbmsgY2lyY2xlIHJlZj17Z2V0UmVmfSBoYXNFcnJvcj17aGFzRXJyb3J9IG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPEljb24uU21hbGwuU3ltYm9sUGx1cyBmb2N1c2FibGU9XCJmYWxzZVwiIC8+XG4gICAgPC9BZGRMaW5rPlxuICApXG4gIGlmIChoYXNUb29sdGlwIHx8IGhhc0Vycm9yKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt0cmlnZ2VyfVxuICAgICAgICA8VG9vbHRpcFBvcG92ZXIgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PXtnZXRSZWZ9IGludGVyYWN0aXZlPXtmYWxzZX0+XG4gICAgICAgICAgPEFkZExpbmtQb3BvdmVyIGJhY2tncm91bmRDb2xvcj17aGFzRXJyb3IgPyAnI2ZmZWVmMCcgOiAnJ30+XG4gICAgICAgICAgICB7dG9vbHRpcH1cbiAgICAgICAgICAgIHtoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgIDxGb3JtRmllbGRBZGRvbiBlcnJvckxpc3Q9e2Vycm9yfSB0cnVuY2F0ZUVycm9ycz17ZmFsc2V9IC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQWRkTGlua1BvcG92ZXI+XG4gICAgICAgIDwvVG9vbHRpcFBvcG92ZXI+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cbiAgcmV0dXJuIHRyaWdnZXJcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvblJlbmRlckNvbnRhaW5lciA9IChwcm9wczogT3B0aW9uUmVuZGVyQ29udGFpbmVyUHJvcHMpID0+IChcbiAgPExpc3RJdGVtIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgZGVmYXVsdFJlbmRlckNvbnRhaW5lciA9ICh7XG4gIHRyaWdnZXJXaWR0aCxcbiAgLi4ucHJvcHNcbn06IFJlbmRlckNvbnRhaW5lclByb3BzKSA9PiA8U2VsZWN0b3JQb3BvdmVyIGFycm93SGlkZGVuIHsuLi5wcm9wc30gLz5cblxuZXhwb3J0IHR5cGUgUG9wdXBTZWxlY3RvclByb3BzID0ge1xuICBjcmVhdGFibGU/OiBib29sZWFuXG4gIGVycm9yPzogQXJyYXk8c3RyaW5nPlxuICBvblNlbGVjdDogKHZhbHVlOiBWYWx1ZVtdKSA9PiB2b2lkXG4gIG9uT3BlbjogKGlzT3BlbjogYm9vbGVhbikgPT4gdm9pZFxuICBpc09wZW4/OiBib29sZWFuXG4gIGtleTogbnVtYmVyXG4gIGhpbnRUZXh0PzogUmVhY3ROb2RlXG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIG9wdGlvbkZvcm1hdHRlcj86IChmb3JtYXR0ZXJBcmdzOiBPcHRpb25Gb3JtYXR0ZXJBcmd1bWVudHMpID0+IFJlYWN0Tm9kZVxuICBvcHRpb25SZW5kZXJDb250YWluZXI/OiAocHJvcHM6IE9wdGlvblJlbmRlckNvbnRhaW5lclByb3BzKSA9PiBKU1guRWxlbWVudFxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBwb3NpdGlvblByb3BzPzogUGFydGlhbDxDb21wb25lbnRQcm9wczx0eXBlb2YgVG9vbHRpcFBvcG92ZXI+PlxuICByZW5kZXJDb250YWluZXI/OiAocHJvcHM6IFJlbmRlckNvbnRhaW5lclByb3BzKSA9PiBKU1guRWxlbWVudFxuICBzaG93SGVhZGVycz86IGJvb2xlYW5cbiAgc2hvd1NlbGVjdGVkQ291bnQ/OiBib29sZWFuXG4gIHRhZ3M/OiBSZWFjdE5vZGVcbiAgdHJpZ2dlclJlbmRlcmVyPzogKHJlbmRlcmVyQXJnczogVHJpZ2dlclJlbmRlcmVyQXJndW1lbnRzKSA9PiBSZWFjdE5vZGVcbiAgdHJpZ2dlclRvb2x0aXA/OiBSZWFjdE5vZGVcbiAgdmFsdWU6IFZhbHVlW11cbn1cblxudHlwZSBQb3B1cFNlbGVjdG9yU3RhdGUgPSB7XG4gIGltZUNvbXBvc2luZzogYm9vbGVhblxuICBzZWFyY2hTdHJpbmc6IHN0cmluZ1xuICBzZWxlY3RlZEluZGV4OiBudW1iZXJcbiAgdGV4dFZhbHVlOiBzdHJpbmcgfCBudWxsXG4gIHRyaWdnZXJXaWR0aDogbnVtYmVyXG59XG5cbmNvbnN0IGdldE5ld0VudHJ5ID0gKHRleHRWYWx1ZSwgbGFiZWwpID0+IHtcbiAgcmV0dXJuIFtcbiAgICAvLyBUcmltIGxhc3Qgc2VwYXJhdG9yIChcXG4pIHRvIGF2b2lkIGFkZGluZyBpdCB1bmludGVudGlvbmFsbHlcbiAgICB0ZXh0VmFsdWUuZW5kc1dpdGgoU0VQQVJBVE9SKVxuICAgICAgPyB0ZXh0VmFsdWUuc2xpY2UoMCwgLVNFUEFSQVRPUi5sZW5ndGgpXG4gICAgICA6IHRleHRWYWx1ZSxcbiAgICB0ZXh0VmFsdWUgJiYgdGV4dFZhbHVlLmxlbmd0aCA/IFNFUEFSQVRPUiA6ICcnLFxuICAgIGxhYmVsXG4gIF0uam9pbignJylcbn1cblxuY2xhc3MgUG9wdXBTZWxlY3RvciBleHRlbmRzIFB1cmVDb21wb25lbnQ8XG4gIFBvcHVwU2VsZWN0b3JQcm9wcyxcbiAgUG9wdXBTZWxlY3RvclN0YXRlXG4+IHtcbiAgc3RhdGljIEVsZW1lbnRzID0gRWxlbWVudHNcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKFxuICAgIHByb3BzOiBQb3B1cFNlbGVjdG9yUHJvcHMsXG4gICAgc3RhdGU6IFBvcHVwU2VsZWN0b3JTdGF0ZVxuICApIHtcbiAgICBpZiAoc3RhdGUudGV4dFZhbHVlID09IG51bGwgJiYgcHJvcHMudmFsdWUgJiYgcHJvcHMub3B0aW9ucykge1xuICAgICAgLy8gbmVlZCB0byBtYXAgdmFsdWVzIHRvIGxhYmVsc1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dFZhbHVlOiBwcm9wcy52YWx1ZVxuICAgICAgICAgIC5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdPcHRpb24gPSBwcm9wcy5vcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIG9wdGlvbiA9PiB2YWx1ZSA9PT0gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdPcHRpb24gPyBleGlzdGluZ09wdGlvbi5sYWJlbCA6IHZhbHVlXG4gICAgICAgICAgfSlcbiAgICAgICAgICAvLyBwYWQgd2l0aCBhbm90aGVyIGVtcHR5IG5ld2xpbmUgYmVjYXVzZSB0aGUgbGFzdCBlbXB0eSBuZXdsaW5lIGlzIHJlbW92ZWQgb24gY2xvc2VcbiAgICAgICAgICAuY29uY2F0KHByb3BzLnZhbHVlLmxlbmd0aCA+IDAgPyBbJyddIDogW10pXG4gICAgICAgICAgLmpvaW4oU0VQQVJBVE9SKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgc3RhdGUgPSB7XG4gICAgaW1lQ29tcG9zaW5nOiBmYWxzZSxcbiAgICBzZWFyY2hTdHJpbmc6ICcnLFxuICAgIHNlbGVjdGVkSW5kZXg6IDAsXG4gICAgdGV4dFZhbHVlOiBudWxsLFxuICAgIHRyaWdnZXJXaWR0aDogMFxuICB9XG5cbiAgdHJpZ2dlclJlZiA9IGNyZWF0ZVJlZjxhbnk+KClcbiAgcG9wb3ZlclJlZiA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnRyaWdnZXJXaWR0aCAhPT0gdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdHJpZ2dlcldpZHRoOiB0aGlzLnRyaWdnZXJSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGhcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnRyaWdnZXJXaWR0aCAhPT0gdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQ/Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdHJpZ2dlcldpZHRoOiB0aGlzLnRyaWdnZXJSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGhcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2VsZWN0ID0gKGxhYmVsOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgc3RhdGUgPT4gKHtcbiAgICAgICAgdGV4dFZhbHVlOiBnZXROZXdFbnRyeShzdGF0ZS50ZXh0VmFsdWUsIGxhYmVsKVxuICAgICAgfSksXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBnZXQgdGV4dGFyZWEgcmVmIHNvIHF1ZXJ5c2VsZWN0b3IgaXMgbm90IG5lY2Vzc2FyeVxuICAgICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICd0ZXh0YXJlYVtuYW1lPVwibGlzdFwiXSdcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKHRleHRhcmVhKSB7XG4gICAgICAgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBoYW5kbGVJbnB1dEtleURvd24gPSAoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gICAgb3B0aW9uczogT3B0aW9uW11cbiAgKSA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUuaW1lQ29tcG9zaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgeyBzZWxlY3RlZEluZGV4IH0gPSB0aGlzLnN0YXRlXG4gICAgY29uc3Qgc2FmZVNlbGVjdGVkSW5kZXggPSB0aGlzLnNhZmVJbmRleChzZWxlY3RlZEluZGV4LCBvcHRpb25zKVxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkgJiYgb3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdChvcHRpb25zW3NhZmVTZWxlY3RlZEluZGV4XS5sYWJlbClcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VhcmNoU3RyaW5nOiAnJyB9KVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICBzZWxlY3RlZEluZGV4OlxuICAgICAgICAgICAgc3RhdGUuc2VsZWN0ZWRJbmRleCA8IG9wdGlvbnMubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICA/IHRoaXMuc2FmZUluZGV4KHN0YXRlLnNlbGVjdGVkSW5kZXgsIG9wdGlvbnMpICsgMVxuICAgICAgICAgICAgICA6IDBcbiAgICAgICAgfSkpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgc2VsZWN0ZWRJbmRleDpcbiAgICAgICAgICAgIHN0YXRlLnNlbGVjdGVkSW5kZXggPiAwXG4gICAgICAgICAgICAgID8gdGhpcy5zYWZlSW5kZXgoc3RhdGUuc2VsZWN0ZWRJbmRleCwgb3B0aW9ucykgLSAxXG4gICAgICAgICAgICAgIDogb3B0aW9ucy5sZW5ndGggLSAxXG4gICAgICAgIH0pKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXJSZWYgJiYgdGhpcy50cmlnZ2VyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvLyBrZWVwIHRyYWNrIG9mIElNRSBzdGF0ZSBzbyB3ZSBrbm93IHdoZW4gdG8gaWdub3JlIGtleURvd24gZXZlbnRzXG4gIC8vIG1vcmUgaW5mbzogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL0lNRV9oYW5kbGluZ19ndWlkZVxuICBoYW5kbGVJbWVDb21wb3NpbmcgPSAoY29tcG9zaW5nOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKCFjb21wb3NpbmcpIHtcbiAgICAgIC8vIFNhZmFyaSBidWc6IGNvbXBvc2l0aW9uRW5kIGZpcmVzIEJFRk9SRSBrZXlEb3duIHNvIHdlIG5lZWQgdG8gd2FpdCBmb3Iga2V5RG93biB0byBwcm9jZXNzIGZpcnN0XG4gICAgICAvLyBtb3JlIGluZm86IGh0dHBzOi8vbWVkaXVtLmNvbS9zcXVhcmUtY29ybmVyLWJsb2cvdW5kZXJzdGFuZGluZy1jb21wb3NpdGlvbi1icm93c2VyLWV2ZW50cy1mNDAyYThlZDU2NDNcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB0aGlzLnNldFN0YXRlKCgpID0+ICh7IGltZUNvbXBvc2luZzogY29tcG9zaW5nIH0pKSxcbiAgICAgICAgMTBcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSgoKSA9PiAoeyBpbWVDb21wb3Npbmc6IGNvbXBvc2luZyB9KSlcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZWFyY2ggPSAoeyB2YWx1ZSB9OiB7IHZhbHVlPzogdW5rbm93biB9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSgoKSA9PiAoe1xuICAgICAgc2VhcmNoU3RyaW5nOiBgJHt2YWx1ZX1gXG4gICAgfSkpXG4gIH1cblxuICBjbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uU2VsZWN0KHRoaXMudGV4dFRvVmFsdWUoKSlcbiAgICB0aGlzLnByb3BzLm9uT3BlbihmYWxzZSlcbiAgfVxuXG4gIGZpbHRlcmVkT3B0aW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNyZWF0YWJsZSwgb3B0aW9ucywgdmFsdWUgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHNlYXJjaFN0cmluZywgdGV4dFZhbHVlID0gJycgfTogUG9wdXBTZWxlY3RvclN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGV4dFZhbHVlID8gdGV4dFZhbHVlLnNwbGl0KFNFUEFSQVRPUikgOiBbXVxuICAgIGNvbnN0IHVuc2VsZWN0ZWRPcHRpb25zOiBPcHRpb25bXSA9IG9wdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+IHtcbiAgICAgIHJldHVybiAhc2VsZWN0ZWRWYWx1ZXMuaW5jbHVkZXMoU3RyaW5nKGxhYmVsKSlcbiAgICB9KVxuXG4gICAgaWYgKHNlYXJjaFN0cmluZykge1xuICAgICAgbGV0IGZpbHRlcmVkT3B0aW9uczogT3B0aW9uW10gPSB1bnNlbGVjdGVkT3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICh7IGxhYmVsIH06IE9wdGlvbikgPT5cbiAgICAgICAgICBTdHJpbmcobGFiZWwpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpXG4gICAgICApXG5cbiAgICAgIGlmIChjcmVhdGFibGUpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzZWFyY2hTdHJpbmcudHJpbSgpXG4gICAgICAgIGNvbnN0IGFscmVhZHlJblZhbHVlID0gdmFsdWUuaW5jbHVkZXMobmV3VmFsdWUpXG4gICAgICAgIGNvbnN0IGFscmVhZHlBbk9wdGlvbiA9IHVuc2VsZWN0ZWRPcHRpb25zLnNvbWUoXG4gICAgICAgICAgb3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gbmV3VmFsdWVcbiAgICAgICAgKVxuICAgICAgICBpZiAoIWFscmVhZHlJblZhbHVlICYmICFhbHJlYWR5QW5PcHRpb24pIHtcbiAgICAgICAgICBjb25zdCBuZXdPcHRpb246IE9wdGlvbiA9IHtcbiAgICAgICAgICAgIGxhYmVsOiBuZXdWYWx1ZSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXdWYWx1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpbHRlcmVkT3B0aW9ucyA9IFtuZXdPcHRpb25dLmNvbmNhdChmaWx0ZXJlZE9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpbHRlcmVkT3B0aW9uc1xuICAgIH1cblxuICAgIHJldHVybiB1bnNlbGVjdGVkT3B0aW9uc1xuICB9XG5cbiAgdGV4dFRvVmFsdWUoKTogVmFsdWVbXSB7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgeyB0ZXh0VmFsdWUgfSA9IHRoaXMuc3RhdGVcbiAgICAvLyB0ZXh0IGNvbnRhaW5zIGxhYmVscyBzbyB3ZSBuZWVkIHRvIGNvbnZlcnQgdG8gdmFsdWVzIGlmIG9wdGlvbiBleGlzdHNcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSAodGV4dFZhbHVlIHx8ICcnKS5zcGxpdChTRVBBUkFUT1IpLm1hcChsYWJlbCA9PiB7XG4gICAgICBjb25zdCBleGlzdGluZ09wdGlvbiA9IG9wdGlvbnMuZmluZChvcHRpb24gPT4gbGFiZWwgPT09IG9wdGlvbi5sYWJlbClcbiAgICAgIHJldHVybiBleGlzdGluZ09wdGlvbiA/IGV4aXN0aW5nT3B0aW9uLnZhbHVlIDogbGFiZWxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdGVkT3B0aW9uc1tzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gMV0gPT09ICcnKSB7XG4gICAgICAvLyByZW1vdmUgbGFzdCBlbXB0eSBuZXdsaW5lXG4gICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zLnNsaWNlKDAsIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggLSAxKVxuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zXG4gIH1cblxuICBzYWZlSW5kZXggPSAoaW5kZXg6IG51bWJlciwgb3B0aW9uczogT3B0aW9uW10pID0+IHtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4oaW5kZXgsIG9wdGlvbnMubGVuZ3RoIC0gMSksIDApXG4gIH1cblxuICByZW5kZXJMaXN0ID0gKGZpbHRlcmVkT3B0aW9uczogT3B0aW9uW10sIHNlbGVjdGVkSW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG9wdGlvbkZvcm1hdHRlciA9IGRlZmF1bHRPcHRpb25Gb3JtYXR0ZXIsXG4gICAgICBvcHRpb25SZW5kZXJDb250YWluZXIgPSBkZWZhdWx0T3B0aW9uUmVuZGVyQ29udGFpbmVyXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHNlYXJjaFN0cmluZyB9ID0gdGhpcy5zdGF0ZVxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgPEF1dG9TaXplcj5cbiAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9KSA9PiAoXG4gICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICByb3dSZW5kZXJlcj17KHsga2V5LCBpbmRleCwgc3R5bGUgfSkgPT5cbiAgICAgICAgICAgICAgICBvcHRpb25SZW5kZXJDb250YWluZXIoe1xuICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICAgICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBvcHRpb25Gb3JtYXR0ZXIoe1xuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkOiBzZWxlY3RlZEluZGV4ID09PSBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uOiBmaWx0ZXJlZE9wdGlvbnNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2hTdHJpbmdcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgaG92ZXJlZDogc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXgsXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0KGZpbHRlcmVkT3B0aW9uc1tpbmRleF0ubGFiZWwpXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYgJiYgdGhpcy5wb3BvdmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBnZXQgaW5wdXQgcmVmIHNvIHF1ZXJ5c2VsZWN0b3IgaXMgbm90IG5lY2Vzc2FyeVxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXRbbmFtZT1cInNlYXJjaFwiXSdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hTdHJpbmc6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKCgpID0+ICh7IHNlbGVjdGVkSW5kZXg6IGluZGV4IH0pKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9Sb3dzUmVuZGVyZXI9eygpID0+IDxOb1Jlc3VsdHM+Tm8gcmVzdWx0cyBmb3VuZDwvTm9SZXN1bHRzPn1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgcm93SGVpZ2h0PXtPUFRJT05fSEVJR0hUfVxuICAgICAgICAgICAgICByb3dDb3VudD17ZmlsdGVyZWRPcHRpb25zLmxlbmd0aH1cbiAgICAgICAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICAgICAgICBzY3JvbGxUb0luZGV4PXtzZWxlY3RlZEluZGV4fVxuICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgIClcbiAgfVxuXG4gIHJlbmRlck92ZXJsYXkgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgcGxhY2Vob2xkZXIgPSAnPFR5cGUgdG8gZmlsdGVyPicsXG4gICAgICBjcmVhdGFibGUsXG4gICAgICBoaW50VGV4dCxcbiAgICAgIHJlbmRlckNvbnRhaW5lciA9IGRlZmF1bHRSZW5kZXJDb250YWluZXIsXG4gICAgICBzaG93U2VsZWN0ZWRDb3VudCxcbiAgICAgIHNob3dIZWFkZXJzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHNlbGVjdGVkSW5kZXgsIHRleHRWYWx1ZSB9ID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyZWRPcHRpb25zKClcbiAgICBjb25zdCBzYWZlU2VsZWN0ZWRJbmRleCA9IHRoaXMuc2FmZUluZGV4KHNlbGVjdGVkSW5kZXgsIGZpbHRlcmVkT3B0aW9ucylcblxuICAgIHJldHVybiByZW5kZXJDb250YWluZXIoe1xuICAgICAgdHJpZ2dlcldpZHRoOiB0aGlzLnN0YXRlLnRyaWdnZXJXaWR0aCxcbiAgICAgIGNoaWxkcmVuOiAoXG4gICAgICAgIDxkaXYgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9IHJlZj17dGhpcy5wb3BvdmVyUmVmfT5cbiAgICAgICAgICA8Qm94IGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAgPEJveCBncm93PXsxfT5cbiAgICAgICAgICAgICAge3Nob3dIZWFkZXJzICYmIDxIZWFkZXIgaDQ+U2VsZWN0IFZhbHVlKHMpOjwvSGVhZGVyPn1cbiAgICAgICAgICAgICAgPFNlYXJjaExpc3RDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPFNlYXJjaElucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFNlYXJjaElucHV0XG4gICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VhcmNoU3RyaW5nfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVTZWFyY2h9XG4gICAgICAgICAgICAgICAgICAgIG9uQ29tcG9zaXRpb25TdGFydD17KCkgPT4gdGhpcy5oYW5kbGVJbWVDb21wb3NpbmcodHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ29tcG9zaXRpb25FbmQ9eygpID0+IHRoaXMuaGFuZGxlSW1lQ29tcG9zaW5nKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50LCBmaWx0ZXJlZE9wdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1NlYXJjaElucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckxpc3QoZmlsdGVyZWRPcHRpb25zLCBzYWZlU2VsZWN0ZWRJbmRleCl9XG4gICAgICAgICAgICAgIDwvU2VhcmNoTGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPEJveCBncm93PXsxfT5cbiAgICAgICAgICAgICAge3Nob3dIZWFkZXJzICYmIDxIZWFkZXIgaDQ+U2VsZWN0ZWQgVmFsdWUocyk6PC9IZWFkZXI+fVxuICAgICAgICAgICAgICA8VGV4dGFyZWFcbiAgICAgICAgICAgICAgICBuYW1lPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICB3cmFwPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBvbktleVByZXNzPXtcbiAgICAgICAgICAgICAgICAgICFjcmVhdGFibGVcbiAgICAgICAgICAgICAgICAgICAgPyBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IHRleHQgZW50cnlcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dFZhbHVlOiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGAke3ZhbHVlfWBcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICAgICAgICBjcmVhdGFibGVcbiAgICAgICAgICAgICAgICAgICAgPyAnU2VsZWN0IHZhbHVlcyBmcm9tIHRoZSBsZWZ0XFxuT1JcXG5UeXBlIGRpcmVjdGx5IC8gcGFzdGUgZnJvbSBjbGlwYm9hcmQgaGVyZS5cXG5cXG5PbmUgdmFsdWUgcGVyIHJvdy4nXG4gICAgICAgICAgICAgICAgICAgIDogJ1NlbGVjdCB2YWx1ZXMgZnJvbSB0aGUgbGVmdC4nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlPXt0ZXh0VmFsdWUgfHwgJyd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgICB7KGhpbnRUZXh0IHx8IHNob3dTZWxlY3RlZENvdW50KSAmJiAoXG4gICAgICAgICAgICA8Qm94XG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgIGp1c3RpZnk9XCJiZXR3ZWVuXCJcbiAgICAgICAgICAgICAgY3NzPXt0aGVtZSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGAke3RoZW1lLnNwYWNlWzJdfSAke3RoZW1lLnNwYWNlWzRdfWAsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IHRoZW1lLmZvbnRTaXplWzBdLFxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLm5ldXRyYWxbMTBdXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aGludFRleHQgJiYgPEJveD57aGludFRleHR9PC9Cb3g+fVxuICAgICAgICAgICAgICB7c2hvd1NlbGVjdGVkQ291bnQgJiYgKFxuICAgICAgICAgICAgICAgIDxCb3g+e3RoaXMudGV4dFRvVmFsdWUoKS5sZW5ndGh9IHNlbGVjdGVkIHZhbHVlczwvQm94PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpc09wZW4sXG4gICAgICBvbk9wZW4sXG4gICAgICB0cmlnZ2VyUmVuZGVyZXIgPSBkZWZhdWx0VHJpZ2dlclJlbmRlcmVyLFxuICAgICAgdHJpZ2dlclRvb2x0aXAsXG4gICAgICBlcnJvcixcbiAgICAgIG9wdGlvbnMsXG4gICAgICBwb3NpdGlvblByb3BzLFxuICAgICAgdGFnc1xuICAgIH0gPSB0aGlzLnByb3BzXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt0cmlnZ2VyUmVuZGVyZXIoe1xuICAgICAgICAgIGVycm9yLFxuICAgICAgICAgIGdldFJlZjogdGhpcy50cmlnZ2VyUmVmLFxuICAgICAgICAgIGlzT3BlbixcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBvbk9wZW4odHJ1ZSksXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICB0YWdzLFxuICAgICAgICAgIHRvb2x0aXA6IHRyaWdnZXJUb29sdGlwIHx8IG51bGxcbiAgICAgICAgfSl9XG4gICAgICAgIDxUb29sdGlwUG9wb3ZlclxuICAgICAgICAgIGFycm93SGlkZGVuXG4gICAgICAgICAgb25IaWRlPXt0aGlzLmNsb3NlfVxuICAgICAgICAgIHNob3c9e2lzT3Blbn1cbiAgICAgICAgICB0YXJnZXQ9e3RoaXMudHJpZ2dlclJlZn1cbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgIHBvcHBlck9wdGlvbnM9e3tcbiAgICAgICAgICAgIG1vZGlmaWVyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3ByZXZlbnRPdmVyZmxvdycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgYWx0QXhpczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIG1haW5BeGlzOiBmYWxzZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH19XG4gICAgICAgICAgey4uLnBvc2l0aW9uUHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJPdmVybGF5KCl9XG4gICAgICAgIDwvVG9vbHRpcFBvcG92ZXI+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUG9wdXBTZWxlY3RvclxuIl19 */",
68
68
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
69
69
  });
70
70
  var defaultOptionFormatter = function defaultOptionFormatter(_ref) {
@@ -121,6 +121,19 @@ var defaultTriggerRenderer = function defaultTriggerRenderer(_ref2) {
121
121
  }
122
122
  return trigger;
123
123
  };
124
+ var defaultOptionRenderContainer = function defaultOptionRenderContainer(props) {
125
+ return (0, _jsxRuntime.jsx)(ListItem, _objectSpread({
126
+ "data-gs": gs("src", "tagger", "components", "list-item")
127
+ }, props));
128
+ };
129
+ var defaultRenderContainer = function defaultRenderContainer(_ref3) {
130
+ var triggerWidth = _ref3.triggerWidth,
131
+ props = _objectWithoutProperties(_ref3, _excluded);
132
+ return (0, _jsxRuntime.jsx)(SelectorPopover, _objectSpread({
133
+ "data-gs": gs("src", "tagger", "components", "selector-popover"),
134
+ arrowHidden: true
135
+ }, props));
136
+ };
124
137
  var getNewEntry = function getNewEntry(textValue, label) {
125
138
  return [
126
139
  // Trim last separator (\n) to avoid adding it unintentionally
@@ -220,8 +233,8 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
220
233
  });
221
234
  }
222
235
  });
223
- _defineProperty(_this, "handleSearch", function (_ref3) {
224
- var value = _ref3.value;
236
+ _defineProperty(_this, "handleSearch", function (_ref4) {
237
+ var value = _ref4.value;
225
238
  _this.setState(function () {
226
239
  return {
227
240
  searchString: "".concat(value)
@@ -242,13 +255,13 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
242
255
  _this$state$textValue = _this$state.textValue,
243
256
  textValue = _this$state$textValue === void 0 ? '' : _this$state$textValue;
244
257
  var selectedValues = textValue ? textValue.split(_constants.SEPARATOR) : [];
245
- var unselectedOptions = options.filter(function (_ref4) {
246
- var label = _ref4.label;
258
+ var unselectedOptions = options.filter(function (_ref5) {
259
+ var label = _ref5.label;
247
260
  return !selectedValues.includes(String(label));
248
261
  });
249
262
  if (searchString) {
250
- var filteredOptions = unselectedOptions.filter(function (_ref5) {
251
- var label = _ref5.label;
263
+ var filteredOptions = unselectedOptions.filter(function (_ref6) {
264
+ var label = _ref6.label;
252
265
  return String(label).toLowerCase().includes(searchString.toLowerCase());
253
266
  });
254
267
  if (creatable) {
@@ -274,21 +287,23 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
274
287
  });
275
288
  _defineProperty(_this, "renderList", function (filteredOptions, selectedIndex) {
276
289
  var _this$props2 = _this.props,
277
- optionFormatter = _this$props2.optionFormatter,
278
- optionRenderContainer = _this$props2.optionRenderContainer;
290
+ _this$props2$optionFo = _this$props2.optionFormatter,
291
+ optionFormatter = _this$props2$optionFo === void 0 ? defaultOptionFormatter : _this$props2$optionFo,
292
+ _this$props2$optionRe = _this$props2.optionRenderContainer,
293
+ optionRenderContainer = _this$props2$optionRe === void 0 ? defaultOptionRenderContainer : _this$props2$optionRe;
279
294
  var searchString = _this.state.searchString;
280
295
  return (0, _jsxRuntime.jsx)(ListContainer, {
281
296
  "data-gs": gs("src", "tagger", "components", "popup-selector", "list-container"),
282
297
  children: (0, _jsxRuntime.jsx)(_reactVirtualized.AutoSizer, {
283
- "data-gs-c": gsC(function children(_ref6) {
284
- var height = _ref6.height,
285
- width = _ref6.width;
298
+ "data-gs-c": gsC(function children(_ref7) {
299
+ var height = _ref7.height,
300
+ width = _ref7.width;
286
301
  return (0, _jsxRuntime.jsx)(_reactVirtualized.List, {
287
302
  "data-gs": gs("src", "tagger", "components", "popup-selector", "list-container", "auto-sizer", "list"),
288
- rowRenderer: function rowRenderer(_ref7) {
289
- var key = _ref7.key,
290
- index = _ref7.index,
291
- style = _ref7.style;
303
+ rowRenderer: function rowRenderer(_ref8) {
304
+ var key = _ref8.key,
305
+ index = _ref8.index,
306
+ style = _ref8.style;
292
307
  return optionRenderContainer({
293
308
  key: key,
294
309
  style: style,
@@ -340,15 +355,15 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
340
355
  });
341
356
  }),
342
357
  "data-gs": gs("src", "tagger", "components", "popup-selector", "list-container", "auto-sizer"),
343
- children: function children(_ref6) {
344
- var height = _ref6.height,
345
- width = _ref6.width;
358
+ children: function children(_ref7) {
359
+ var height = _ref7.height,
360
+ width = _ref7.width;
346
361
  return (0, _jsxRuntime.jsx)(_reactVirtualized.List, {
347
362
  "data-gs": gs("src", "tagger", "components", "popup-selector", "list-container", "auto-sizer", "list"),
348
- rowRenderer: function rowRenderer(_ref7) {
349
- var key = _ref7.key,
350
- index = _ref7.index,
351
- style = _ref7.style;
363
+ rowRenderer: function rowRenderer(_ref8) {
364
+ var key = _ref8.key,
365
+ index = _ref8.index,
366
+ style = _ref8.style;
352
367
  return optionRenderContainer({
353
368
  key: key,
354
369
  style: style,
@@ -403,10 +418,12 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
403
418
  });
404
419
  _defineProperty(_this, "renderOverlay", function () {
405
420
  var _this$props3 = _this.props,
406
- placeholder = _this$props3.placeholder,
421
+ _this$props3$placehol = _this$props3.placeholder,
422
+ placeholder = _this$props3$placehol === void 0 ? '<Type to filter>' : _this$props3$placehol,
407
423
  creatable = _this$props3.creatable,
408
424
  hintText = _this$props3.hintText,
409
- renderContainer = _this$props3.renderContainer,
425
+ _this$props3$renderCo = _this$props3.renderContainer,
426
+ renderContainer = _this$props3$renderCo === void 0 ? defaultRenderContainer : _this$props3$renderCo,
410
427
  showSelectedCount = _this$props3.showSelectedCount,
411
428
  showHeaders = _this$props3.showHeaders;
412
429
  var _this$state2 = _this.state,
@@ -454,7 +471,7 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
454
471
  onKeyDown: function onKeyDown(event) {
455
472
  return _this.handleInputKeyDown(event, filteredOptions);
456
473
  },
457
- placeholder: placeholder || 'Search'
474
+ placeholder: placeholder
458
475
  })
459
476
  }), _this.renderList(filteredOptions, safeSelectedIndex)]
460
477
  })]
@@ -476,8 +493,8 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
476
493
  // prevent text entry
477
494
  event.preventDefault();
478
495
  } : undefined,
479
- onChange: function onChange(_ref8) {
480
- var value = _ref8.value;
496
+ onChange: function onChange(_ref9) {
497
+ var value = _ref9.value;
481
498
  _this.setState({
482
499
  textValue: value === undefined ? null : "".concat(value)
483
500
  });
@@ -619,23 +636,5 @@ var PopupSelector = /*#__PURE__*/function (_PureComponent) {
619
636
  }
620
637
  }]);
621
638
  }(_react.PureComponent);
622
- _defineProperty(PopupSelector, "defaultProps", {
623
- optionFormatter: defaultOptionFormatter,
624
- placeholder: '<Type to filter>',
625
- triggerRenderer: defaultTriggerRenderer,
626
- optionRenderContainer: function optionRenderContainer(props) {
627
- return (0, _jsxRuntime.jsx)(ListItem, _objectSpread({
628
- "data-gs": gs("src", "tagger", "components", "list-item")
629
- }, props));
630
- },
631
- renderContainer: function renderContainer(_ref9) {
632
- var triggerWidth = _ref9.triggerWidth,
633
- props = _objectWithoutProperties(_ref9, _excluded);
634
- return (0, _jsxRuntime.jsx)(SelectorPopover, _objectSpread({
635
- "data-gs": gs("src", "tagger", "components", "selector-popover"),
636
- arrowHidden: true
637
- }, props));
638
- }
639
- });
640
639
  _defineProperty(PopupSelector, "Elements", Elements);
641
640
  var _default = exports["default"] = PopupSelector;
@@ -10,12 +10,14 @@ export declare const AddLinkPopover: import("@emotion/styled").StyledComponent<i
10
10
  }, {}, {}>;
11
11
  export declare const ListContainer: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
12
  export declare const SearchListContainer: import("@emotion/styled").StyledComponent<any, {}, {}>;
13
- export declare const ListItem: import("@emotion/styled").StyledComponent<{
13
+ export declare const ListItem: import("@emotion/styled").StyledComponent<Omit<{
14
14
  theme?: import("@emotion/react").Theme | undefined;
15
15
  as?: import("react").ElementType<any> | undefined;
16
16
  } & Partial<import("../../mixins").Border & import("../../mixins").Color & import("../../mixins").Spacing> & import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & {
17
17
  theme?: import("@emotion/react").Theme | undefined;
18
- } & import("../../Link").LinkProps & import("react").ClassAttributes<HTMLAnchorElement> & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
18
+ } & import("../../Link").LinkProps & import("react").ClassAttributes<HTMLAnchorElement> & import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "ref"> & import("react").RefAttributes<HTMLAnchorElement> & {
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ } & import("../../Link").LinkProps & {
19
21
  hovered: boolean;
20
22
  }, {}, {}>;
21
23
  export declare const NoResults: import("@emotion/styled").StyledComponent<{
@@ -14,7 +14,7 @@ export type TaggerProps = {
14
14
  /** Allow editing in the textarea and adding new options */
15
15
  creatable?: boolean;
16
16
  error?: Array<string>;
17
- disabled: boolean;
17
+ disabled?: boolean;
18
18
  'data-instrumentation'?: string;
19
19
  name: string;
20
20
  onChange: ({ name, value }: OnChangeArguments) => void;
@@ -30,16 +30,16 @@ export type TaggerProps = {
30
30
  searchOptionRenderContainer?: PopupSelectorProps['optionRenderContainer'];
31
31
  searchTriggerRenderer?: (rendererArgs: TriggerRendererArguments) => React.ReactNode;
32
32
  searchTriggerTooltip?: React.ReactNode;
33
- selectorRenderer: (rendererArgs: Partial<PopupSelectorProps>) => React.ReactNode;
33
+ selectorRenderer?: (rendererArgs: Partial<PopupSelectorProps>) => React.ReactNode;
34
34
  /** Change only the container of the popup */
35
35
  selectorRenderContainer?: PopupSelectorProps['renderContainer'];
36
36
  /** Show column headers in the popup */
37
- showSearchHeaders: PopupSelectorProps['showHeaders'];
37
+ showSearchHeaders?: PopupSelectorProps['showHeaders'];
38
38
  /** Show number of selected options in the lower right of the popup */
39
39
  showSearchSelectedCount?: PopupSelectorProps['showSelectedCount'];
40
40
  /** Show selected tags separate from the trigger */
41
- showTags: boolean;
42
- tagRenderer: (rendererArgs: TagRendererArguments) => React.ReactNode;
41
+ showTags?: boolean;
42
+ tagRenderer?: (rendererArgs: TagRendererArguments) => React.ReactNode;
43
43
  value: Value[];
44
44
  };
45
45
  type OnChangeArguments = {
@@ -12,6 +12,7 @@ var _utils = require("./utils");
12
12
  var _elements = require("./elements");
13
13
  var _TooltipPopover = _interopRequireDefault(require("../TooltipPopover"));
14
14
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
+ var _excluded = ["variant", "data-instrumentation", "editor", "popoverPlacement", "initialOpen"];
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
17
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -19,16 +20,29 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
19
20
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
21
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
22
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
23
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
24
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
22
25
  if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
23
26
  if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {};
24
- var TimeControl = exports.TimeControl = function TimeControl(props) {
25
- var _useState = (0, _react.useState)(props.initialOpen),
27
+ var TimeControl = exports.TimeControl = function TimeControl(_ref) {
28
+ var _ref$variant = _ref.variant,
29
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
30
+ _ref$dataInstrumenta = _ref['data-instrumentation'],
31
+ dataInstrumentation = _ref$dataInstrumenta === void 0 ? 'timecontrol' : _ref$dataInstrumenta,
32
+ _ref$editor = _ref.editor,
33
+ editor = _ref$editor === void 0 ? 'hours-minutes-seconds' : _ref$editor,
34
+ _ref$popoverPlacement = _ref.popoverPlacement,
35
+ popoverPlacement = _ref$popoverPlacement === void 0 ? 'bottom' : _ref$popoverPlacement,
36
+ _ref$initialOpen = _ref.initialOpen,
37
+ initialOpen = _ref$initialOpen === void 0 ? false : _ref$initialOpen,
38
+ props = _objectWithoutProperties(_ref, _excluded);
39
+ var _useState = (0, _react.useState)(initialOpen),
26
40
  _useState2 = _slicedToArray(_useState, 2),
27
41
  open = _useState2[0],
28
42
  setOpen = _useState2[1];
29
43
  var inputRef = (0, _react.useRef)(null);
30
44
  var pickerRef = (0, _react.useRef)(null);
31
- var _useDisplayValue = (0, _utils.useDisplayValue)(props.time, props.editor, props.onChange),
45
+ var _useDisplayValue = (0, _utils.useDisplayValue)(props.time, editor, props.onChange),
32
46
  displayValue = _useDisplayValue.displayValue,
33
47
  period = _useDisplayValue.period,
34
48
  errors = _useDisplayValue.errors,
@@ -77,18 +91,18 @@ var TimeControl = exports.TimeControl = function TimeControl(props) {
77
91
  "data-gs": gs("src", "timecontrol", "timecontrol.tsx", "container"),
78
92
  className: props.className,
79
93
  onKeyDown: handleKeyDown,
80
- "data-instrumentation": "".concat(props['data-instrumentation'], "-container"),
94
+ "data-instrumentation": "".concat(dataInstrumentation, "-container"),
81
95
  children: [(0, _jsxRuntime.jsx)(_elements.TimeFormControl, {
82
96
  "data-gs-c": gsC(displayValue),
83
97
  "data-gs": gs("src", "timecontrol", "timecontrol.tsx", "container", "time-form-control"),
84
98
  type: "text",
85
99
  className: "timecontrol-input",
86
- variant: props.variant,
100
+ variant: variant,
87
101
  inputRef: inputRef,
88
102
  value: displayValue,
89
103
  blockLabel: props.blockLabel,
90
104
  label: props.label,
91
- "data-instrumentation": props['data-instrumentation'],
105
+ "data-instrumentation": dataInstrumentation,
92
106
  labelWidth: props.labelWidth,
93
107
  disabled: props.disabled,
94
108
  required: props.required,
@@ -101,10 +115,10 @@ var TimeControl = exports.TimeControl = function TimeControl(props) {
101
115
  }), (0, _jsxRuntime.jsx)(_TooltipPopover["default"], {
102
116
  "data-gs": gs("src", "timecontrol", "timecontrol.tsx", "container", "tooltip-popover"),
103
117
  onHide: handleDismiss,
104
- placement: props.popoverPlacement,
118
+ placement: popoverPlacement,
105
119
  show: open,
106
120
  target: inputRef.current,
107
- "data-instrumentation": "".concat(props['data-instrumentation'], "-overlay"),
121
+ "data-instrumentation": "".concat(dataInstrumentation, "-overlay"),
108
122
  interactive: true,
109
123
  children: (0, _jsxRuntime.jsx)(_elements.StyledPopover, {
110
124
  "data-gs": gs("src", "timecontrol", "timecontrol.tsx", "container", "tooltip-popover", "styled-popover"),
@@ -114,10 +128,10 @@ var TimeControl = exports.TimeControl = function TimeControl(props) {
114
128
  children: (0, _jsxRuntime.jsx)(_TimePicker["default"], {
115
129
  "data-gs": gs("src", "timecontrol", "timecontrol.tsx", "container", "tooltip-popover", "styled-popover", "div", "time-picker"),
116
130
  time: props.time,
117
- "data-instrumentation": "".concat(props['data-instrumentation'], "-timepicker"),
131
+ "data-instrumentation": "".concat(dataInstrumentation, "-timepicker"),
118
132
  initialPeriod: period,
119
- editor: props.editor,
120
- variant: props.variant,
133
+ editor: editor,
134
+ variant: variant,
121
135
  disabled: props.disabled,
122
136
  readonly: props.readonly,
123
137
  borderless: true,
@@ -130,11 +144,4 @@ var TimeControl = exports.TimeControl = function TimeControl(props) {
130
144
  });
131
145
  };
132
146
  TimeControl.displayName = 'TimeControl';
133
- TimeControl.defaultProps = {
134
- variant: 'primary',
135
- 'data-instrumentation': 'timecontrol',
136
- editor: 'hours-minutes-seconds',
137
- popoverPlacement: 'bottom',
138
- initialOpen: false
139
- };
140
147
  var _default = exports["default"] = TimeControl;