@kepler.gl/components 3.2.5 → 3.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/bottom-widget.d.ts +4 -4
  2. package/dist/common/action-panel.d.ts +3 -3
  3. package/dist/common/animation-control/animation-control.d.ts +1 -1
  4. package/dist/common/animation-control/playback-controls.d.ts +1 -1
  5. package/dist/common/color-legend.d.ts +4 -4
  6. package/dist/common/column-stats-chart.d.ts +3 -3
  7. package/dist/common/data-table/button.d.ts +1 -1
  8. package/dist/common/data-table/canvas.d.ts +0 -1
  9. package/dist/common/data-table/cell-size.d.ts +2 -2
  10. package/dist/common/data-table/display-format.d.ts +1 -1
  11. package/dist/common/data-table/header-cell.d.ts +2 -2
  12. package/dist/common/data-table/index.d.ts +7 -9
  13. package/dist/common/data-table/index.js +1 -1
  14. package/dist/common/data-table/option-dropdown.d.ts +1 -1
  15. package/dist/common/field-selector.d.ts +5 -5
  16. package/dist/common/field-token.d.ts +1 -1
  17. package/dist/common/file-uploader/file-drop.d.ts +1 -1
  18. package/dist/common/file-uploader/file-upload-progress.d.ts +1 -1
  19. package/dist/common/file-uploader/file-upload.d.ts +1 -1
  20. package/dist/common/flex-container.d.ts +2 -3
  21. package/dist/common/histogram-plot.d.ts +1 -1
  22. package/dist/common/icon-button.d.ts +16 -16
  23. package/dist/common/icons/base.d.ts +1 -1
  24. package/dist/common/icons/close.js +7 -6
  25. package/dist/common/icons/effects/distance-fog.d.ts +14 -0
  26. package/dist/common/icons/effects/distance-fog.js +79 -0
  27. package/dist/common/icons/effects/surface-fog.d.ts +14 -0
  28. package/dist/common/icons/effects/surface-fog.js +86 -0
  29. package/dist/common/icons/index.d.ts +3 -0
  30. package/dist/common/icons/index.js +22 -1
  31. package/dist/common/icons/zoom-out.d.ts +10 -0
  32. package/dist/common/icons/zoom-out.js +48 -0
  33. package/dist/common/item-selector/chickleted-input.d.ts +4 -4
  34. package/dist/common/item-selector/dropdown-list.d.ts +3 -3
  35. package/dist/common/item-selector/dropdown-select.d.ts +7 -7
  36. package/dist/common/item-selector/item-selector.d.ts +2 -2
  37. package/dist/common/item-selector/typeahead.d.ts +3 -3
  38. package/dist/common/loading-spinner.d.ts +2 -2
  39. package/dist/common/modal.d.ts +5 -5
  40. package/dist/common/portaled.d.ts +8 -25
  41. package/dist/common/progress-bar.d.ts +1 -1
  42. package/dist/common/radius-legend.d.ts +1 -1
  43. package/dist/common/range-brush.d.ts +1 -1
  44. package/dist/common/range-plot.d.ts +1 -1
  45. package/dist/common/slider/mouse-event.d.ts +1 -1
  46. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  47. package/dist/common/slider/slider-handle.d.ts +3 -3
  48. package/dist/common/slider/slider.d.ts +2 -2
  49. package/dist/common/styled-components.d.ts +157 -158
  50. package/dist/common/sync-timeline-control.d.ts +3 -3
  51. package/dist/common/time-range-slider-time-title.d.ts +1 -1
  52. package/dist/common/time-range-slider.d.ts +2 -2
  53. package/dist/common/timeline-slider.d.ts +1 -1
  54. package/dist/common/tippy-tooltip.d.ts +1 -1
  55. package/dist/common/toolbar-item.d.ts +1 -1
  56. package/dist/common/toolbar.d.ts +1 -1
  57. package/dist/common/vertical-toolbar.d.ts +2 -3
  58. package/dist/container.d.ts +6 -6
  59. package/dist/context.d.ts +3 -3
  60. package/dist/dnd-context.d.ts +2 -2
  61. package/dist/editor/editor.d.ts +1 -1
  62. package/dist/editor/editor.js +1 -1
  63. package/dist/editor/feature-action-panel.d.ts +1 -1
  64. package/dist/editor/feature-action-panel.js +1 -1
  65. package/dist/effects/compact-color-picker.d.ts +1 -1
  66. package/dist/effects/effect-configurator.d.ts +2 -2
  67. package/dist/effects/effect-configurator.js +52 -14
  68. package/dist/effects/effect-list.d.ts +1 -1
  69. package/dist/effects/effect-manager.d.ts +3 -3
  70. package/dist/effects/effect-manager.js +9 -2
  71. package/dist/effects/effect-panel-header.d.ts +2 -2
  72. package/dist/effects/effect-panel-header.js +2 -2
  73. package/dist/effects/effect-panel.d.ts +2 -2
  74. package/dist/effects/effect-time-configurator.d.ts +1 -1
  75. package/dist/effects/effect-time-selector.d.ts +1 -1
  76. package/dist/effects/effect-time-slider.d.ts +3 -3
  77. package/dist/effects/effect-type-dropdown-list.d.ts +2 -2
  78. package/dist/effects/effect-type-list-item.d.ts +1 -1
  79. package/dist/effects/effect-type-selector.d.ts +2 -2
  80. package/dist/effects/side-panel-title.d.ts +1 -1
  81. package/dist/effects/timezone-selector.d.ts +1 -1
  82. package/dist/filters/components.d.ts +2 -3
  83. package/dist/filters/filter-panels/types.d.ts +4 -4
  84. package/dist/filters/types.d.ts +8 -8
  85. package/dist/geocoder/geocoder.d.ts +3 -3
  86. package/dist/geocoder/geocoder.js +5 -1
  87. package/dist/geocoder-panel.d.ts +10 -2
  88. package/dist/geocoder-panel.js +3 -3
  89. package/dist/hooks/use-cloud-list-provider.d.ts +1 -1
  90. package/dist/hooks/use-dnd-effects.d.ts +1 -1
  91. package/dist/hooks/use-dnd-layers.d.ts +1 -1
  92. package/dist/hooks/use-feature-flags.d.ts +1 -1
  93. package/dist/hooks/use-fetch-raster-tile-metadata.d.ts +3 -3
  94. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +2 -2
  95. package/dist/hooks/use-legend-position.d.ts +8 -6
  96. package/dist/hooks/use-legend-position.js +27 -4
  97. package/dist/injector.d.ts +5 -5
  98. package/dist/kepler-gl.d.ts +55 -64
  99. package/dist/loading-indicator.d.ts +4 -4
  100. package/dist/loading-indicator.js +33 -8
  101. package/dist/map/effects/effect-control.d.ts +1 -1
  102. package/dist/map/layer-hover-info.d.ts +3 -3
  103. package/dist/map/layer-hover-info.js +8 -3
  104. package/dist/map/layer-selector-panel.d.ts +1 -1
  105. package/dist/map/lazy-tippy.js +3 -3
  106. package/dist/map/locale-panel.d.ts +1 -1
  107. package/dist/map/map-control-panel.d.ts +1 -1
  108. package/dist/map/map-control-toolbar.d.ts +6 -7
  109. package/dist/map/map-control-tooltip.d.ts +1 -1
  110. package/dist/map/map-control.d.ts +3 -2
  111. package/dist/map/map-control.js +1 -1
  112. package/dist/map/map-draw-panel.d.ts +1 -1
  113. package/dist/map/map-legend-panel.d.ts +4 -3
  114. package/dist/map/map-legend-panel.js +22 -9
  115. package/dist/map/map-legend.d.ts +10 -8
  116. package/dist/map/map-legend.js +37 -7
  117. package/dist/map/map-popover-content.d.ts +2 -2
  118. package/dist/map/map-popover.d.ts +2 -2
  119. package/dist/map/split-map-button.d.ts +1 -1
  120. package/dist/map/toggle-3d-button.d.ts +1 -1
  121. package/dist/map-container.d.ts +2 -2
  122. package/dist/map-container.js +50 -25
  123. package/dist/map-view-state-context.d.ts +9 -2
  124. package/dist/map-view-state-context.js +1 -1
  125. package/dist/modal-container.d.ts +3 -6
  126. package/dist/modals/cloud-components/cloud-header.d.ts +1 -1
  127. package/dist/modals/cloud-components/provider-select.d.ts +1 -1
  128. package/dist/modals/cloud-tile.d.ts +1 -1
  129. package/dist/modals/data-table-modal.d.ts +1 -1
  130. package/dist/modals/export-data-modal.js +2 -2
  131. package/dist/modals/export-image-modal.d.ts +1 -1
  132. package/dist/modals/export-image-modal.js +75 -7
  133. package/dist/modals/export-map-modal/components.d.ts +1 -1
  134. package/dist/modals/export-map-modal/export-html-map.d.ts +1 -1
  135. package/dist/modals/export-map-modal/export-html-map.js +3 -1
  136. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  137. package/dist/modals/image-modal-container.d.ts +1 -1
  138. package/dist/modals/load-data-modal.d.ts +2 -2
  139. package/dist/modals/modal-dialog.d.ts +0 -2
  140. package/dist/modals/overwrite-map-modal.d.ts +1 -1
  141. package/dist/modals/save-map-modal.d.ts +3 -3
  142. package/dist/modals/share-map-modal.d.ts +1 -1
  143. package/dist/modals/tilesets-modals/common.d.ts +3 -3
  144. package/dist/modals/tilesets-modals/common.js +1 -1
  145. package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
  146. package/dist/modals/tilesets-modals/load-tileset.d.ts +1 -1
  147. package/dist/modals/tilesets-modals/load-tileset.js +8 -2
  148. package/dist/modals/tilesets-modals/tileset-icon.d.ts +1 -1
  149. package/dist/modals/tilesets-modals/tileset-raster-form.d.ts +2 -2
  150. package/dist/modals/tilesets-modals/tileset-tile3d-form.d.ts +12 -0
  151. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
  152. package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +3 -3
  153. package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +1 -1
  154. package/dist/modals/tilesets-modals/tileset-wms-form.js +53 -10
  155. package/dist/plot-container.js +82 -11
  156. package/dist/side-panel/add-by-dataset-button.d.ts +1 -1
  157. package/dist/side-panel/common/dataset-info.d.ts +2 -2
  158. package/dist/side-panel/common/dataset-info.js +2 -2
  159. package/dist/side-panel/common/dataset-tag.d.ts +2 -2
  160. package/dist/side-panel/common/dataset-title.d.ts +2 -2
  161. package/dist/side-panel/common/source-data-catalog.d.ts +3 -3
  162. package/dist/side-panel/common/types.d.ts +8 -8
  163. package/dist/side-panel/custom-panel.d.ts +2 -2
  164. package/dist/side-panel/filter-manager.d.ts +3 -3
  165. package/dist/side-panel/filter-panel/add-filter-button.d.ts +1 -1
  166. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +2 -2
  167. package/dist/side-panel/interaction-manager.d.ts +1 -1
  168. package/dist/side-panel/interaction-panel/brush-config.d.ts +1 -1
  169. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
  170. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +1 -1
  171. package/dist/side-panel/layer-manager.d.ts +2 -2
  172. package/dist/side-panel/layer-panel/add-layer-button.d.ts +1 -1
  173. package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +1 -1
  174. package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +4 -4
  175. package/dist/side-panel/layer-panel/color-palette-preset.d.ts +1 -1
  176. package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
  177. package/dist/side-panel/layer-panel/color-range-selector.d.ts +3 -3
  178. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +4 -4
  179. package/dist/side-panel/layer-panel/color-selector.d.ts +3 -3
  180. package/dist/side-panel/layer-panel/column-selector.d.ts +1 -1
  181. package/dist/side-panel/layer-panel/custom-palette.d.ts +10 -10
  182. package/dist/side-panel/layer-panel/custom-picker.d.ts +1 -1
  183. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  184. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +1 -1
  185. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -2
  186. package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +1 -1
  187. package/dist/side-panel/layer-panel/how-to-button.d.ts +1 -1
  188. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +3 -3
  189. package/dist/side-panel/layer-panel/layer-column-config.d.ts +1 -1
  190. package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +3 -3
  191. package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -5
  192. package/dist/side-panel/layer-panel/layer-configurator.d.ts +2 -2
  193. package/dist/side-panel/layer-panel/layer-configurator.js +27 -17
  194. package/dist/side-panel/layer-panel/layer-error-message.d.ts +1 -1
  195. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -2
  196. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +6 -5
  197. package/dist/side-panel/layer-panel/layer-panel-header.js +15 -5
  198. package/dist/side-panel/layer-panel/layer-panel.d.ts +1 -1
  199. package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +2 -2
  200. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +2 -2
  201. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -1
  202. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +1 -1
  203. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
  204. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  205. package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
  206. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +2 -2
  207. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -1
  208. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +1 -1
  209. package/dist/side-panel/layer-panel/vis-config-switch.d.ts +1 -1
  210. package/dist/side-panel/map-manager.d.ts +1 -1
  211. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +1 -1
  212. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +2 -2
  213. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +1 -1
  214. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +1 -1
  215. package/dist/side-panel/panel-header-action.d.ts +1 -1
  216. package/dist/side-panel/panel-header.d.ts +12 -12
  217. package/dist/side-panel/panel-tab.d.ts +4 -4
  218. package/dist/side-panel/panel-title.d.ts +1 -1
  219. package/dist/side-panel/panel-toggle.d.ts +1 -1
  220. package/dist/side-panel/panel-view-list-toggle.d.ts +3 -3
  221. package/dist/side-panel/side-bar.d.ts +2 -2
  222. package/dist/side-panel.d.ts +1 -1
  223. package/dist/types.d.ts +3 -3
  224. package/package.json +23 -22
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.StyledColorSelectorWrapper = exports.PanelLabelWrapper = void 0;
9
9
  exports["default"] = EffectConfiguratorFactory;
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
13
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -22,7 +23,7 @@ var _compactColorPicker = _interopRequireDefault(require("./compact-color-picker
22
23
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12; // SPDX-License-Identifier: MIT
23
24
  // Copyright contributors to the kepler.gl project
24
25
  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); }
25
- 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; }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
26
27
  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; }
27
28
  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) { (0, _defineProperty2["default"])(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; }
28
29
  var StyledEffectConfigurator = _styledComponents["default"].div.attrs({
@@ -163,13 +164,16 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
163
164
  var _effect$deckEffect;
164
165
  var effect = _ref2.effect,
165
166
  updateEffectConfig = _ref2.updateEffectConfig;
166
- var uniforms = ((_effect$deckEffect = effect.deckEffect) === null || _effect$deckEffect === void 0 ? void 0 : _effect$deckEffect.module.uniforms) || defaultUniforms;
167
+ var uniforms = ((_effect$deckEffect = effect.deckEffect) === null || _effect$deckEffect === void 0 ? void 0 : _effect$deckEffect.module.propTypes) || defaultUniforms;
167
168
  var parameterDescriptions = effect.getParameterDescriptions();
168
169
  var parameters = effect.parameters,
169
170
  id = effect.id;
170
171
  var flatParameterDescriptions = (0, _react.useMemo)(function () {
171
172
  return parameterDescriptions.reduce(function (acc, description) {
172
- if (description.type === 'array') {
173
+ if (description.type === 'color') {
174
+ // color parameters are rendered separately via CompactColorPicker
175
+ acc.push(description);
176
+ } else if (description.type === 'array') {
173
177
  // split arrays of controls into a separate controls for each component
174
178
  if (Array.isArray(description.defaultValue)) {
175
179
  description.defaultValue.forEach(function (_, index) {
@@ -188,16 +192,32 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
188
192
  }, [parameterDescriptions]);
189
193
  var controls = (0, _react.useMemo)(function () {
190
194
  return flatParameterDescriptions.map(function (desc) {
195
+ if (desc.type === 'color') {
196
+ return {
197
+ isColor: true,
198
+ label: desc.label || desc.name,
199
+ paramName: desc.name,
200
+ color: parameters[desc.name] || desc.defaultValue || [255, 255, 255],
201
+ onSetColor: function onSetColor(v) {
202
+ return updateEffectConfig(null, id, {
203
+ parameters: (0, _defineProperty2["default"])({}, desc.name, v)
204
+ });
205
+ }
206
+ };
207
+ }
191
208
  var paramName = desc.name;
192
- var uniform = uniforms[desc.name];
193
- if (!uniform && uniform !== 0 || uniform["private"]) {
209
+ var rawUniform = uniforms[desc.name];
210
+ if (!rawUniform && rawUniform !== 0 || rawUniform["private"]) {
194
211
  return null;
195
212
  }
213
+
214
+ // luma.gl 9 wraps array propTypes as {value: [...]}
215
+ var uniform = rawUniform && (0, _typeof2["default"])(rawUniform) === 'object' && Array.isArray(rawUniform.value) ? rawUniform.value : rawUniform;
196
216
  var prevValue = parameters[paramName];
197
217
  var label = desc.label === false ? false : desc.label || desc.name;
198
218
 
199
219
  // the uniform is [number, number] array
200
- if (uniform.length === 2) {
220
+ if (Array.isArray(uniform) && uniform.length === 2) {
201
221
  return {
202
222
  label: label,
203
223
  value1: prevValue[desc.index || 0] || 0,
@@ -227,12 +247,17 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
227
247
  }
228
248
  // the uniform description is {value: 0, min: 0, max: 1, ...}
229
249
  else if ((0, _utils.isNumber)(uniform.value)) {
230
- var _ref3, _ref4, _desc$min3, _ref5, _ref6, _desc$max2, _ref7, _ref8, _desc$min4;
250
+ var _ref3, _ref4, _desc$min3, _ref5, _ref6, _desc$max2;
251
+ var rangeMin = (_ref3 = (_ref4 = (_desc$min3 = desc.min) !== null && _desc$min3 !== void 0 ? _desc$min3 : uniform.min) !== null && _ref4 !== void 0 ? _ref4 : uniform.softMin) !== null && _ref3 !== void 0 ? _ref3 : 0;
252
+ var rangeMax = (_ref5 = (_ref6 = (_desc$max2 = desc.max) !== null && _desc$max2 !== void 0 ? _desc$max2 : uniform.max) !== null && _ref6 !== void 0 ? _ref6 : uniform.softMax) !== null && _ref5 !== void 0 ? _ref5 : 1;
253
+ var rangeSpan = rangeMax - rangeMin;
254
+ var step = rangeSpan > 10 ? 1 : 0.001;
231
255
  return {
232
256
  label: label,
233
257
  value1: prevValue || 0,
234
- range: [(_ref3 = (_ref4 = (_desc$min3 = desc.min) !== null && _desc$min3 !== void 0 ? _desc$min3 : uniform.min) !== null && _ref4 !== void 0 ? _ref4 : uniform.softMin) !== null && _ref3 !== void 0 ? _ref3 : 0, (_ref5 = (_ref6 = (_desc$max2 = desc.max) !== null && _desc$max2 !== void 0 ? _desc$max2 : uniform.max) !== null && _ref6 !== void 0 ? _ref6 : uniform.softMax) !== null && _ref5 !== void 0 ? _ref5 : 1],
235
- value0: (_ref7 = (_ref8 = (_desc$min4 = desc.min) !== null && _desc$min4 !== void 0 ? _desc$min4 : uniform.min) !== null && _ref8 !== void 0 ? _ref8 : uniform.softMin) !== null && _ref7 !== void 0 ? _ref7 : 0,
258
+ range: [rangeMin, rangeMax],
259
+ value0: rangeMin,
260
+ step: step,
236
261
  onChange: function onChange(newValue, event) {
237
262
  updateEffectConfig(event, id, {
238
263
  parameters: (0, _defineProperty2["default"])({}, paramName, newValue[1])
@@ -252,6 +277,19 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
252
277
  if (!control) {
253
278
  return null;
254
279
  }
280
+ if ('isColor' in control) {
281
+ var _control$onSetColor;
282
+ return /*#__PURE__*/_react["default"].createElement(RegularOuterWrapper, {
283
+ key: "".concat(effect.id, "-").concat(parameterIndex)
284
+ }, /*#__PURE__*/_react["default"].createElement(_compactColorPicker["default"], {
285
+ label: typeof control.label === 'string' ? control.label : 'Color',
286
+ color: control.color,
287
+ onSetColor: (_control$onSetColor = control.onSetColor) !== null && _control$onSetColor !== void 0 ? _control$onSetColor : function () {
288
+ /* noop */
289
+ },
290
+ Icon: _icons.ArrowDownSmall
291
+ }));
292
+ }
255
293
  return /*#__PURE__*/_react["default"].createElement(RegularOuterWrapper, {
256
294
  key: "".concat(effect.id, "-").concat(parameterIndex)
257
295
  }, control.label ? /*#__PURE__*/_react["default"].createElement(RegularSectionTitleWrapper, null, control.label) : null, /*#__PURE__*/_react["default"].createElement(RegularSliderWrapper, null, /*#__PURE__*/_react["default"].createElement(RangeSlider, (0, _extends2["default"])({
@@ -259,9 +297,9 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
259
297
  }, COMMON_SLIDER_PROPS, control))));
260
298
  }));
261
299
  };
262
- var EffectConfigurator = function EffectConfigurator(_ref9) {
263
- var effect = _ref9.effect,
264
- updateEffectConfig = _ref9.updateEffectConfig;
300
+ var EffectConfigurator = function EffectConfigurator(_ref7) {
301
+ var effect = _ref7.effect,
302
+ updateEffectConfig = _ref7.updateEffectConfig;
265
303
  return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type ? /*#__PURE__*/_react["default"].createElement(ShadowEffectConfigurator, {
266
304
  effect: effect,
267
305
  updateEffectConfig: updateEffectConfig
@@ -272,4 +310,4 @@ function EffectConfiguratorFactory(RangeSlider, EffectTimeConfigurator) {
272
310
  };
273
311
  return (0, _reactIntl.injectIntl)(EffectConfigurator);
274
312
  }
275
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9yYW5nZVNsaWRlciIsIl9pY29ucyIsIl9lZmZlY3RUaW1lQ29uZmlndXJhdG9yIiwiX2NvbXBhY3RDb2xvclBpY2tlciIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl90ZW1wbGF0ZU9iamVjdDEyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkRWZmZWN0Q29uZmlndXJhdG9yIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJlZmZlY3RDb25maWd1cmF0b3JNYXJnaW4iLCJlZmZlY3RDb25maWd1cmF0b3JQYWRkaW5nIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJleHBvcnRzIiwiU3R5bGVkQ29sb3JTZWxlY3RvcldyYXBwZXIiLCJTdHlsZWRWZXJ0aWNhbFNlcGFyYXRvciIsImlucHV0QmdkIiwiU3R5bGVkV3JhcHBlciIsIl9wcm9wcyRtYXJnaW5Cb3R0b20iLCJtYXJnaW5Cb3R0b20iLCJTdHlsZWRDb25maWdTZWN0aW9uIiwiU2VjdGlvblRpdGxlIiwiaW5wdXRGb250U2l6ZSIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTEiLCJTZWN0aW9uU3ViVGl0bGUiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkyIiwiU3R5bGVTbGlkZXJXcmFwcGVyIiwiUmVndWxhck91dGVyV3JhcHBlciIsIlJlZ3VsYXJTZWN0aW9uVGl0bGVXcmFwcGVyIiwiUmVndWxhclNsaWRlcldyYXBwZXIiLCJDT01NT05fU0xJREVSX1BST1BTIiwic2hvd0lucHV0IiwiaXNSYW5nZWQiLCJzdGVwIiwibGFiZWwiLCJFZmZlY3RDb25maWd1cmF0b3JGYWN0b3J5IiwiZGVwcyIsIlJhbmdlU2xpZGVyRmFjdG9yeSIsIkVmZmVjdFRpbWVDb25maWd1cmF0b3JGYWN0b3J5IiwiUmFuZ2VTbGlkZXIiLCJFZmZlY3RUaW1lQ29uZmlndXJhdG9yIiwiU2hhZG93RWZmZWN0Q29uZmlndXJhdG9yIiwiX3JlZiIsImVmZmVjdCIsInVwZGF0ZUVmZmVjdENvbmZpZyIsInBhcmFtZXRlcnMiLCJpZCIsInNsaWRlclByb3BzIiwidXNlTWVtbyIsInByb3BOYW1lcyIsIm1hcCIsInByb3BOYW1lIiwidmFsdWUxIiwicmFuZ2UiLCJ2YWx1ZTAiLCJvbkNoYW5nZSIsInZhbHVlIiwiZXZlbnQiLCJvblRpbWVQYXJhbWV0ZXJzQ2hhbmdlZCIsInVzZUNhbGxiYWNrIiwidGltZXN0YW1wIiwidGltZXpvbmUiLCJ0aW1lTW9kZSIsImNvbG9yUGlja2VyUHJvcHMiLCJjb2xvclNldHMiLCJzZWxlY3RlZENvbG9yIiwic2V0Q29sb3IiLCJ2IiwiY3JlYXRlRWxlbWVudCIsImtleSIsImNvbG9yIiwib25TZXRDb2xvciIsIkljb24iLCJBcnJvd0Rvd25TbWFsbCIsIl9leHRlbmRzMiIsImRlZmF1bHRVbmlmb3JtcyIsIlBvc3RQcm9jZXNzaW5nRWZmZWN0Q29uZmlndXJhdG9yIiwiX3JlZjIiLCJfZWZmZWN0JGRlY2tFZmZlY3QiLCJ1bmlmb3JtcyIsImRlY2tFZmZlY3QiLCJtb2R1bGUiLCJwYXJhbWV0ZXJEZXNjcmlwdGlvbnMiLCJnZXRQYXJhbWV0ZXJEZXNjcmlwdGlvbnMiLCJmbGF0UGFyYW1ldGVyRGVzY3JpcHRpb25zIiwicmVkdWNlIiwiYWNjIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdFZhbHVlIiwiXyIsImluZGV4IiwiX2Rlc2NyaXB0aW9uJGxhYmVsIiwiY29udHJvbHMiLCJkZXNjIiwicGFyYW1OYW1lIiwibmFtZSIsInVuaWZvcm0iLCJwcmV2VmFsdWUiLCJuZXdWYWx1ZSIsImlzTnVtYmVyIiwiX2Rlc2MkbWluIiwiX2Rlc2MkbWF4IiwiX2Rlc2MkbWluMiIsIm1pbiIsIm1heCIsIl9yZWYzIiwiX3JlZjQiLCJfZGVzYyRtaW4zIiwiX3JlZjUiLCJfcmVmNiIsIl9kZXNjJG1heDIiLCJfcmVmNyIsIl9yZWY4IiwiX2Rlc2MkbWluNCIsInNvZnRNaW4iLCJzb2Z0TWF4IiwicGFyYW1ldGVySW5kZXgiLCJjb250cm9sIiwiY29uY2F0IiwiRWZmZWN0Q29uZmlndXJhdG9yIiwiX3JlZjkiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsImluamVjdEludGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZWZmZWN0cy9lZmZlY3QtY29uZmlndXJhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7TElHSFRfQU5EX1NIQURPV19FRkZFQ1R9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7aXNOdW1iZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtFZmZlY3QsIEVmZmVjdFVwZGF0ZVByb3BzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IFJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuLi9jb21tb24vcmFuZ2Utc2xpZGVyJztcbmltcG9ydCB7QXJyb3dEb3duU21hbGx9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgRWZmZWN0VGltZUNvbmZpZ3VyYXRvckZhY3RvcnkgZnJvbSAnLi9lZmZlY3QtdGltZS1jb25maWd1cmF0b3InO1xuaW1wb3J0IENvbXBhY3RDb2xvclBpY2tlciBmcm9tICcuL2NvbXBhY3QtY29sb3ItcGlja2VyJztcblxuZXhwb3J0IHR5cGUgRWZmZWN0Q29uZmlndXJhdG9yUHJvcHMgPSB7XG4gIGVmZmVjdDogRWZmZWN0O1xuICB1cGRhdGVFZmZlY3RDb25maWc6IChcbiAgICBlOiBFdmVudCB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBjb25maWc6IFBhcnRpYWw8RWZmZWN0VXBkYXRlUHJvcHM+XG4gICkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFN0eWxlZEVmZmVjdENvbmZpZ3VyYXRvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdlZmZlY3QtcGFuZWxfX2NvbmZpZydcbn0pYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RDb25maWd1cmF0b3JNYXJnaW59O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdENvbmZpZ3VyYXRvclBhZGRpbmd9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtcGFuZWxfX2xhYmVsLXdyYXBwZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7XG5cbiAgLnNpZGUtcGFuZWwtcGFuZWxfX2xhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sb3JTZWxlY3RvcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRWZXJ0aWNhbFNlcGFyYXRvciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuYDtcblxudHlwZSBTdHlsZWRXcmFwcGVyUHJvcHMgPSB7XG4gIG1hcmdpbkJvdHRvbT86IG51bWJlcjtcbn07XG5jb25zdCBTdHlsZWRXcmFwcGVyID0gc3R5bGVkLmRpdjxTdHlsZWRXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMubWFyZ2luQm90dG9tID8/IDl9cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDb25maWdTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmNvbnN0IFNlY3Rpb25UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MX07XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5jb25zdCBTZWN0aW9uU3ViVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTJ9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG5gO1xuXG5jb25zdCBTdHlsZVNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTk5cHg7XG4gIGhlaWdodDogMzJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmtnLXJhbmdlLXNsaWRlcl9faW5wdXQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgfVxuICAua2ctc2xpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgfVxuICAua2ctcmFuZ2Utc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgfVxuYDtcblxuY29uc3QgUmVndWxhck91dGVyV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdlZmZlY3QtY29uZmlndXJhdG9yX19wcC1zZWN0aW9uJ1xufSlgXG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IFJlZ3VsYXJTZWN0aW9uVGl0bGVXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1jb25maWd1cmF0b3JfX3BwLXNlY3Rpb24tdGl0bGUnXG59KWBcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbi1ib3R0b206IC0zcHg7XG5gO1xuXG5jb25zdCBSZWd1bGFyU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdlZmZlY3QtY29uZmlndXJhdG9yX19wcC1zZWN0aW9uLWNvbnRyb2wnXG59KWBcbiAgaGVpZ2h0OiAzMnB4O1xuICAua2ctcmFuZ2Utc2xpZGVyX19pbnB1dCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICB9XG4gIC5rZy1zbGlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5rZy1yYW5nZS1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5jb25zdCBDT01NT05fU0xJREVSX1BST1BTID0ge1xuICBzaG93SW5wdXQ6IHRydWUsXG4gIGlzUmFuZ2VkOiBmYWxzZSxcbiAgc3RlcDogMC4wMDEsXG4gIGxhYmVsOiAndmFsdWUnXG59O1xuXG50eXBlIEVmZmVjdFBhcmFtZXRlckRlc2NyaXB0aW9uRmxhdHRlbmVkID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nIHwgZmFsc2UgfCAoc3RyaW5nIHwgZmFsc2UpW107XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5FZmZlY3RDb25maWd1cmF0b3JGYWN0b3J5LmRlcHMgPSBbUmFuZ2VTbGlkZXJGYWN0b3J5LCBFZmZlY3RUaW1lQ29uZmlndXJhdG9yRmFjdG9yeV07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVmZmVjdENvbmZpZ3VyYXRvckZhY3RvcnkoXG4gIFJhbmdlU2xpZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBSYW5nZVNsaWRlckZhY3Rvcnk+LFxuICBFZmZlY3RUaW1lQ29uZmlndXJhdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RUaW1lQ29uZmlndXJhdG9yRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdENvbmZpZ3VyYXRvclByb3BzPiB7XG4gIGNvbnN0IFNoYWRvd0VmZmVjdENvbmZpZ3VyYXRvcjogUmVhY3QuRkM8RWZmZWN0Q29uZmlndXJhdG9yUHJvcHM+ID0gKHtcbiAgICBlZmZlY3QsXG4gICAgdXBkYXRlRWZmZWN0Q29uZmlnXG4gIH0pID0+IHtcbiAgICBjb25zdCB7cGFyYW1ldGVycywgaWR9ID0gZWZmZWN0O1xuXG4gICAgY29uc3Qgc2xpZGVyUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BOYW1lcyA9IFsnc2hhZG93SW50ZW5zaXR5JywgJ2FtYmllbnRMaWdodEludGVuc2l0eScsICdzdW5MaWdodEludGVuc2l0eSddO1xuICAgICAgcmV0dXJuIHByb3BOYW1lcy5tYXAocHJvcE5hbWUgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlMTogcGFyYW1ldGVyc1twcm9wTmFtZV0sXG4gICAgICAgICAgcmFuZ2U6IFswLCAxXSxcbiAgICAgICAgICB2YWx1ZTA6IDAsXG4gICAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZTogbnVtYmVyW10sIGV2ZW50PzogRXZlbnQgfCBudWxsKSA9PiB7XG4gICAgICAgICAgICB1cGRhdGVFZmZlY3RDb25maWcoZXZlbnQsIGlkLCB7cGFyYW1ldGVyczoge1twcm9wTmFtZV06IHZhbHVlWzFdfX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtpZCwgcGFyYW1ldGVycywgdXBkYXRlRWZmZWN0Q29uZmlnXSk7XG5cbiAgICBjb25zdCBvblRpbWVQYXJhbWV0ZXJzQ2hhbmdlZCA9IHVzZUNhbGxiYWNrKFxuICAgICAgcGFyYW1ldGVycyA9PiB7XG4gICAgICAgIHVwZGF0ZUVmZmVjdENvbmZpZyhudWxsLCBpZCwge1xuICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgIC4uLihwYXJhbWV0ZXJzLnRpbWVzdGFtcCA/IHt0aW1lc3RhbXA6IHBhcmFtZXRlcnMudGltZXN0YW1wfSA6IG51bGwpLFxuICAgICAgICAgICAgLi4uKHBhcmFtZXRlcnMudGltZXpvbmUgPyB7dGltZXpvbmU6IHBhcmFtZXRlcnMudGltZXpvbmV9IDogbnVsbCksXG4gICAgICAgICAgICAuLi4ocGFyYW1ldGVycy50aW1lTW9kZSA/IHt0aW1lTW9kZTogcGFyYW1ldGVycy50aW1lTW9kZX0gOiBudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW2lkLCB1cGRhdGVFZmZlY3RDb25maWddXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbG9yUGlja2VyUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BOYW1lcyA9IFsnYW1iaWVudExpZ2h0Q29sb3InLCAnc3VuTGlnaHRDb2xvcicsICdzaGFkb3dDb2xvciddO1xuICAgICAgcmV0dXJuIHByb3BOYW1lcy5tYXAocHJvcE5hbWUgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbG9yU2V0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yOiBwYXJhbWV0ZXJzW3Byb3BOYW1lXSxcbiAgICAgICAgICAgICAgc2V0Q29sb3I6IHYgPT4gdXBkYXRlRWZmZWN0Q29uZmlnKG51bGwsIGlkLCB7cGFyYW1ldGVyczoge1twcm9wTmFtZV06IHZ9fSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9LCBbaWQsIHBhcmFtZXRlcnMsIHVwZGF0ZUVmZmVjdENvbmZpZ10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RDb25maWd1cmF0b3Iga2V5PXtlZmZlY3QuaWR9PlxuICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgPFNlY3Rpb25UaXRsZT57J0RhdGUgJiBUaW1lJ308L1NlY3Rpb25UaXRsZT5cbiAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgPEVmZmVjdFRpbWVDb25maWd1cmF0b3JcbiAgICAgICAgICB0aW1lc3RhbXA9e3BhcmFtZXRlcnMudGltZXN0YW1wfVxuICAgICAgICAgIHRpbWV6b25lPXtwYXJhbWV0ZXJzLnRpbWV6b25lfVxuICAgICAgICAgIHRpbWVNb2RlPXtwYXJhbWV0ZXJzLnRpbWVNb2RlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvblRpbWVQYXJhbWV0ZXJzQ2hhbmdlZH1cbiAgICAgICAgLz5cblxuICAgICAgICA8U3R5bGVkVmVydGljYWxTZXBhcmF0b3IgLz5cblxuICAgICAgICA8U3R5bGVkV3JhcHBlciBtYXJnaW5Cb3R0b209ezB9PlxuICAgICAgICAgIDxTZWN0aW9uVGl0bGU+eydTaGFkb3cnfTwvU2VjdGlvblRpdGxlPlxuICAgICAgICA8L1N0eWxlZFdyYXBwZXI+XG4gICAgICAgIDxTdHlsZWRXcmFwcGVyIG1hcmdpbkJvdHRvbT17MTZ9PlxuICAgICAgICAgIDxDb21wYWN0Q29sb3JQaWNrZXJcbiAgICAgICAgICAgIGxhYmVsPXsnQ29sb3InfVxuICAgICAgICAgICAgY29sb3I9e2NvbG9yUGlja2VyUHJvcHNbMl0uY29sb3JTZXRzWzBdLnNlbGVjdGVkQ29sb3J9XG4gICAgICAgICAgICBvblNldENvbG9yPXtjb2xvclBpY2tlclByb3BzWzJdLmNvbG9yU2V0c1swXS5zZXRDb2xvcn1cbiAgICAgICAgICAgIEljb249e0Fycm93RG93blNtYWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvblN1YlRpdGxlPkludGVuc2l0eTwvU2VjdGlvblN1YlRpdGxlPlxuICAgICAgICAgICAgPFN0eWxlU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyIHsuLi5DT01NT05fU0xJREVSX1BST1BTfSB7Li4uc2xpZGVyUHJvcHNbMF19IC8+XG4gICAgICAgICAgICA8L1N0eWxlU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1NlY3Rpb24+XG4gICAgICAgIDwvU3R5bGVkV3JhcHBlcj5cblxuICAgICAgICA8U3R5bGVkV3JhcHBlciBtYXJnaW5Cb3R0b209ezB9PlxuICAgICAgICAgIDxTZWN0aW9uVGl0bGU+eydBbWJpZW50IGxpZ2h0J308L1NlY3Rpb25UaXRsZT5cbiAgICAgICAgPC9TdHlsZWRXcmFwcGVyPlxuICAgICAgICA8U3R5bGVkV3JhcHBlciBtYXJnaW5Cb3R0b209ezE2fT5cbiAgICAgICAgICA8Q29tcGFjdENvbG9yUGlja2VyXG4gICAgICAgICAgICBsYWJlbD17J0NvbG9yJ31cbiAgICAgICAgICAgIGNvbG9yPXtjb2xvclBpY2tlclByb3BzWzBdLmNvbG9yU2V0c1swXS5zZWxlY3RlZENvbG9yfVxuICAgICAgICAgICAgb25TZXRDb2xvcj17Y29sb3JQaWNrZXJQcm9wc1swXS5jb2xvclNldHNbMF0uc2V0Q29sb3J9XG4gICAgICAgICAgICBJY29uPXtBcnJvd0Rvd25TbWFsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb25TdWJUaXRsZT5JbnRlbnNpdHk8L1NlY3Rpb25TdWJUaXRsZT5cbiAgICAgICAgICAgIDxTdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgIDxSYW5nZVNsaWRlciB7Li4uQ09NTU9OX1NMSURFUl9QUk9QU30gey4uLnNsaWRlclByb3BzWzFdfSAvPlxuICAgICAgICAgICAgPC9TdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICA8L1N0eWxlZFdyYXBwZXI+XG5cbiAgICAgICAgPFN0eWxlZFdyYXBwZXIgbWFyZ2luQm90dG9tPXswfT5cbiAgICAgICAgICA8U2VjdGlvblRpdGxlPnsnU3VuIGxpZ2h0J308L1NlY3Rpb25UaXRsZT5cbiAgICAgICAgPC9TdHlsZWRXcmFwcGVyPlxuICAgICAgICA8U3R5bGVkV3JhcHBlciBtYXJnaW5Cb3R0b209ezB9PlxuICAgICAgICAgIDxDb21wYWN0Q29sb3JQaWNrZXJcbiAgICAgICAgICAgIGxhYmVsPXsnQ29sb3InfVxuICAgICAgICAgICAgY29sb3I9e2NvbG9yUGlja2VyUHJvcHNbMV0uY29sb3JTZXRzWzBdLnNlbGVjdGVkQ29sb3J9XG4gICAgICAgICAgICBvblNldENvbG9yPXtjb2xvclBpY2tlclByb3BzWzFdLmNvbG9yU2V0c1swXS5zZXRDb2xvcn1cbiAgICAgICAgICAgIEljb249e0Fycm93RG93blNtYWxsfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvblN1YlRpdGxlPkludGVuc2l0eTwvU2VjdGlvblN1YlRpdGxlPlxuICAgICAgICAgICAgPFN0eWxlU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyIHsuLi5DT01NT05fU0xJREVSX1BST1BTfSB7Li4uc2xpZGVyUHJvcHNbMl19IC8+XG4gICAgICAgICAgICA8L1N0eWxlU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1NlY3Rpb24+XG4gICAgICAgIDwvU3R5bGVkV3JhcHBlcj5cbiAgICAgIDwvU3R5bGVkRWZmZWN0Q29uZmlndXJhdG9yPlxuICAgICk7XG4gIH07XG4gIGNvbnN0IGRlZmF1bHRVbmlmb3JtcyA9IHt9O1xuXG4gIGNvbnN0IFBvc3RQcm9jZXNzaW5nRWZmZWN0Q29uZmlndXJhdG9yOiBSZWFjdC5GQzxFZmZlY3RDb25maWd1cmF0b3JQcm9wcz4gPSAoe1xuICAgIGVmZmVjdCxcbiAgICB1cGRhdGVFZmZlY3RDb25maWdcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHVuaWZvcm1zID0gZWZmZWN0LmRlY2tFZmZlY3Q/Lm1vZHVsZS51bmlmb3JtcyB8fCBkZWZhdWx0VW5pZm9ybXM7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVzY3JpcHRpb25zID0gZWZmZWN0LmdldFBhcmFtZXRlckRlc2NyaXB0aW9ucygpO1xuICAgIGNvbnN0IHtwYXJhbWV0ZXJzLCBpZH0gPSBlZmZlY3Q7XG4gICAgY29uc3QgZmxhdFBhcmFtZXRlckRlc2NyaXB0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlckRlc2NyaXB0aW9ucy5yZWR1Y2UoKGFjYywgZGVzY3JpcHRpb24pID0+IHtcbiAgICAgICAgaWYgKGRlc2NyaXB0aW9uLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgICAvLyBzcGxpdCBhcnJheXMgb2YgY29udHJvbHMgaW50byBhIHNlcGFyYXRlIGNvbnRyb2xzIGZvciBlYWNoIGNvbXBvbmVudFxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLmRlZmF1bHRWYWx1ZS5mb3JFYWNoKChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgICAgICAgLi4uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGRlc2NyaXB0aW9uLmxhYmVsPy5baW5kZXhdXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy5wdXNoKGRlc2NyaXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSBhcyBFZmZlY3RQYXJhbWV0ZXJEZXNjcmlwdGlvbkZsYXR0ZW5lZFtdKTtcbiAgICB9LCBbcGFyYW1ldGVyRGVzY3JpcHRpb25zXSk7XG5cbiAgICBjb25zdCBjb250cm9scyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGZsYXRQYXJhbWV0ZXJEZXNjcmlwdGlvbnMubWFwKGRlc2MgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBkZXNjLm5hbWU7XG5cbiAgICAgICAgY29uc3QgdW5pZm9ybSA9IHVuaWZvcm1zW2Rlc2MubmFtZV07XG4gICAgICAgIGlmICgoIXVuaWZvcm0gJiYgdW5pZm9ybSAhPT0gMCkgfHwgdW5pZm9ybS5wcml2YXRlKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSBwYXJhbWV0ZXJzW3BhcmFtTmFtZV07XG5cbiAgICAgICAgY29uc3QgbGFiZWwgPSBkZXNjLmxhYmVsID09PSBmYWxzZSA/IGZhbHNlIDogZGVzYy5sYWJlbCB8fCBkZXNjLm5hbWU7XG5cbiAgICAgICAgLy8gdGhlIHVuaWZvcm0gaXMgW251bWJlciwgbnVtYmVyXSBhcnJheVxuICAgICAgICBpZiAodW5pZm9ybS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB2YWx1ZTE6IHByZXZWYWx1ZVtkZXNjLmluZGV4IHx8IDBdIHx8IDAsXG4gICAgICAgICAgICByYW5nZTogWzAsIDFdLFxuICAgICAgICAgICAgdmFsdWUwOiAwLFxuICAgICAgICAgICAgb25DaGFuZ2U6IChuZXdWYWx1ZTogbnVtYmVyW10sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZUVmZmVjdENvbmZpZyhldmVudCwgaWQsIHtcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICBbcGFyYW1OYW1lXTpcbiAgICAgICAgICAgICAgICAgICAgZGVzYy5pbmRleCA9PT0gMCA/IFtuZXdWYWx1ZVsxXSwgcHJldlZhbHVlWzFdXSA6IFtwcmV2VmFsdWVbMF0sIG5ld1ZhbHVlWzFdXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGUgdW5pZm9ybSBpcyBhIHBsYWluIG51bWJlciB3aXRob3V0IGFueSBkZXNjcmlwdGlvblxuICAgICAgICBlbHNlIGlmIChpc051bWJlcih1bmlmb3JtKSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHZhbHVlMTogcHJldlZhbHVlID8/IDAsXG4gICAgICAgICAgICByYW5nZTogW2Rlc2MubWluID8/IDAsIGRlc2MubWF4ID8/IDUwMF0sXG4gICAgICAgICAgICB2YWx1ZTA6IGRlc2MubWluID8/IDAsXG4gICAgICAgICAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXJbXSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgdXBkYXRlRWZmZWN0Q29uZmlnKGV2ZW50LCBpZCwge3BhcmFtZXRlcnM6IHtbcGFyYW1OYW1lXTogbmV3VmFsdWVbMV19fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGUgdW5pZm9ybSBkZXNjcmlwdGlvbiBpcyB7dmFsdWU6IDAsIG1pbjogMCwgbWF4OiAxLCAuLi59XG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKHVuaWZvcm0udmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdmFsdWUxOiBwcmV2VmFsdWUgfHwgMCxcbiAgICAgICAgICAgIHJhbmdlOiBbXG4gICAgICAgICAgICAgIGRlc2MubWluID8/IHVuaWZvcm0ubWluID8/IHVuaWZvcm0uc29mdE1pbiA/PyAwLFxuICAgICAgICAgICAgICBkZXNjLm1heCA/PyB1bmlmb3JtLm1heCA/PyB1bmlmb3JtLnNvZnRNYXggPz8gMVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHZhbHVlMDogZGVzYy5taW4gPz8gdW5pZm9ybS5taW4gPz8gdW5pZm9ybS5zb2Z0TWluID8/IDAsXG4gICAgICAgICAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXJbXSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgdXBkYXRlRWZmZWN0Q29uZmlnKGV2ZW50LCBpZCwge3BhcmFtZXRlcnM6IHtbcGFyYW1OYW1lXTogbmV3VmFsdWVbMV19fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlnbm9yZSBldmVyeXRoaW5nIGVsc2UgZm9yIG5vd1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgIH0sIFtmbGF0UGFyYW1ldGVyRGVzY3JpcHRpb25zLCBpZCwgcGFyYW1ldGVycywgdXBkYXRlRWZmZWN0Q29uZmlnLCB1bmlmb3Jtc10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RDb25maWd1cmF0b3Iga2V5PXtlZmZlY3QuaWR9PlxuICAgICAgICB7ZmxhdFBhcmFtZXRlckRlc2NyaXB0aW9ucy5tYXAoKGRlc2MsIHBhcmFtZXRlckluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udHJvbCA9IGNvbnRyb2xzW3BhcmFtZXRlckluZGV4XTtcbiAgICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UmVndWxhck91dGVyV3JhcHBlciBrZXk9e2Ake2VmZmVjdC5pZH0tJHtwYXJhbWV0ZXJJbmRleH1gfT5cbiAgICAgICAgICAgICAge2NvbnRyb2wubGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFJlZ3VsYXJTZWN0aW9uVGl0bGVXcmFwcGVyPntjb250cm9sLmxhYmVsfTwvUmVndWxhclNlY3Rpb25UaXRsZVdyYXBwZXI+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8UmVndWxhclNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyIGtleT17cGFyYW1ldGVySW5kZXh9IHsuLi5DT01NT05fU0xJREVSX1BST1BTfSB7Li4uY29udHJvbH0gLz5cbiAgICAgICAgICAgICAgPC9SZWd1bGFyU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICAgIDwvUmVndWxhck91dGVyV3JhcHBlcj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkRWZmZWN0Q29uZmlndXJhdG9yPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRWZmZWN0Q29uZmlndXJhdG9yID0gKHtcbiAgICBlZmZlY3QsXG4gICAgdXBkYXRlRWZmZWN0Q29uZmlnXG4gIH06IEVmZmVjdENvbmZpZ3VyYXRvclByb3BzICYge2ludGw6IEludGxTaGFwZX0pID0+IHtcbiAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IExJR0hUX0FORF9TSEFET1dfRUZGRUNULnR5cGUgPyAoXG4gICAgICA8U2hhZG93RWZmZWN0Q29uZmlndXJhdG9yIGVmZmVjdD17ZWZmZWN0fSB1cGRhdGVFZmZlY3RDb25maWc9e3VwZGF0ZUVmZmVjdENvbmZpZ30gLz5cbiAgICApIDogKFxuICAgICAgPFBvc3RQcm9jZXNzaW5nRWZmZWN0Q29uZmlndXJhdG9yIGVmZmVjdD17ZWZmZWN0fSB1cGRhdGVFZmZlY3RDb25maWc9e3VwZGF0ZUVmZmVjdENvbmZpZ30gLz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKEVmZmVjdENvbmZpZ3VyYXRvcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFHQSxJQUFBTSxZQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSx1QkFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsbUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3RCxJQUFBVSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBZHhEO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFB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a0JBQWtCLEVBQUVtQyxRQUFRLENBQUMsQ0FBQztJQUU3RSxvQkFDRXhJLE1BQUEsWUFBQTZILGFBQUEsQ0FBQ2xFLHdCQUF3QjtNQUFDbUUsR0FBRyxFQUFFMUIsTUFBTSxDQUFDRztJQUFHLEdBQ3RDc0MseUJBQXlCLENBQUNsQyxHQUFHLENBQUMsVUFBQzhDLElBQUksRUFBRXVCLGNBQWMsRUFBSztNQUN2RCxJQUFNQyxPQUFPLEdBQUd6QixRQUFRLENBQUN3QixjQUFjLENBQUM7TUFDeEMsSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDWixPQUFPLElBQUk7TUFDYjtNQUVBLG9CQUNFakwsTUFBQSxZQUFBNkgsYUFBQSxDQUFDekMsbUJBQW1CO1FBQUMwQyxHQUFHLEtBQUFvRCxNQUFBLENBQUs5RSxNQUFNLENBQUNHLEVBQUUsT0FBQTJFLE1BQUEsQ0FBSUYsY0FBYztNQUFHLEdBQ3hEQyxPQUFPLENBQUN0RixLQUFLLGdCQUNaM0YsTUFBQSxZQUFBNkgsYUFBQSxDQUFDeEMsMEJBQTBCLFFBQUU0RixPQUFPLENBQUN0RixLQUFrQyxDQUFDLEdBQ3RFLElBQUksZUFDUjNGLE1BQUEsWUFBQTZILGFBQUEsQ0FBQ3ZDLG9CQUFvQixxQkFDbkJ0RixNQUFBLFlBQUE2SCxhQUFBLENBQUM3QixXQUFXLE1BQUFtQyxTQUFBO1FBQUNMLEdBQUcsRUFBRWtEO01BQWUsR0FBS3pGLG1CQUFtQixFQUFNMEYsT0FBTyxDQUFHLENBQ3JELENBQ0gsQ0FBQztJQUUxQixDQUFDLENBQ3VCLENBQUM7RUFFL0IsQ0FBQztFQUVELElBQU1FLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUFDLEtBQUEsRUFHMkI7SUFBQSxJQUZqRGhGLE1BQU0sR0FBQWdGLEtBQUEsQ0FBTmhGLE1BQU07TUFDTkMsa0JBQWtCLEdBQUErRSxLQUFBLENBQWxCL0Usa0JBQWtCO0lBRWxCLE9BQU9ELE1BQU0sQ0FBQzZDLElBQUksS0FBS29DLGtDQUF1QixDQUFDcEMsSUFBSSxnQkFDakRqSixNQUFBLFlBQUE2SCxhQUFBLENBQUMzQix3QkFBd0I7TUFBQ0UsTUFBTSxFQUFFQSxNQUFPO01BQUNDLGtCQUFrQixFQUFFQTtJQUFtQixDQUFFLENBQUMsZ0JBRXBGckcsTUFBQSxZQUFBNkgsYUFBQSxDQUFDUSxnQ0FBZ0M7TUFBQ2pDLE1BQU0sRUFBRUEsTUFBTztNQUFDQyxrQkFBa0IsRUFBRUE7SUFBbUIsQ0FBRSxDQUM1RjtFQUNILENBQUM7RUFFRCxPQUFPLElBQUFpRixxQkFBVSxFQUFDSCxrQkFBa0IsQ0FBQztBQUN2QyIsImlnbm9yZUxpc3QiOltdfQ==
313
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9yYW5nZVNsaWRlciIsIl9pY29ucyIsIl9lZmZlY3RUaW1lQ29uZmlndXJhdG9yIiwiX2NvbXBhY3RDb2xvclBpY2tlciIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl90ZW1wbGF0ZU9iamVjdDEyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZEVmZmVjdENvbmZpZ3VyYXRvciIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiZWZmZWN0Q29uZmlndXJhdG9yTWFyZ2luIiwiZWZmZWN0Q29uZmlndXJhdG9yUGFkZGluZyIsIlBhbmVsTGFiZWxXcmFwcGVyIiwiZXhwb3J0cyIsIlN0eWxlZENvbG9yU2VsZWN0b3JXcmFwcGVyIiwiU3R5bGVkVmVydGljYWxTZXBhcmF0b3IiLCJpbnB1dEJnZCIsIlN0eWxlZFdyYXBwZXIiLCJfcHJvcHMkbWFyZ2luQm90dG9tIiwibWFyZ2luQm90dG9tIiwiU3R5bGVkQ29uZmlnU2VjdGlvbiIsIlNlY3Rpb25UaXRsZSIsImlucHV0Rm9udFNpemUiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxIiwiU2VjdGlvblN1YlRpdGxlIiwiZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MiIsIlN0eWxlU2xpZGVyV3JhcHBlciIsIlJlZ3VsYXJPdXRlcldyYXBwZXIiLCJSZWd1bGFyU2VjdGlvblRpdGxlV3JhcHBlciIsIlJlZ3VsYXJTbGlkZXJXcmFwcGVyIiwiQ09NTU9OX1NMSURFUl9QUk9QUyIsInNob3dJbnB1dCIsImlzUmFuZ2VkIiwic3RlcCIsImxhYmVsIiwiRWZmZWN0Q29uZmlndXJhdG9yRmFjdG9yeSIsImRlcHMiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJFZmZlY3RUaW1lQ29uZmlndXJhdG9yRmFjdG9yeSIsIlJhbmdlU2xpZGVyIiwiRWZmZWN0VGltZUNvbmZpZ3VyYXRvciIsIlNoYWRvd0VmZmVjdENvbmZpZ3VyYXRvciIsIl9yZWYiLCJlZmZlY3QiLCJ1cGRhdGVFZmZlY3RDb25maWciLCJwYXJhbWV0ZXJzIiwiaWQiLCJzbGlkZXJQcm9wcyIsInVzZU1lbW8iLCJwcm9wTmFtZXMiLCJtYXAiLCJwcm9wTmFtZSIsInZhbHVlMSIsInJhbmdlIiwidmFsdWUwIiwib25DaGFuZ2UiLCJ2YWx1ZSIsImV2ZW50Iiwib25UaW1lUGFyYW1ldGVyc0NoYW5nZWQiLCJ1c2VDYWxsYmFjayIsInRpbWVzdGFtcCIsInRpbWV6b25lIiwidGltZU1vZGUiLCJjb2xvclBpY2tlclByb3BzIiwiY29sb3JTZXRzIiwic2VsZWN0ZWRDb2xvciIsInNldENvbG9yIiwidiIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjb2xvciIsIm9uU2V0Q29sb3IiLCJJY29uIiwiQXJyb3dEb3duU21hbGwiLCJfZXh0ZW5kczIiLCJkZWZhdWx0VW5pZm9ybXMiLCJQb3N0UHJvY2Vzc2luZ0VmZmVjdENvbmZpZ3VyYXRvciIsIl9yZWYyIiwiX2VmZmVjdCRkZWNrRWZmZWN0IiwidW5pZm9ybXMiLCJkZWNrRWZmZWN0IiwibW9kdWxlIiwicHJvcFR5cGVzIiwicGFyYW1ldGVyRGVzY3JpcHRpb25zIiwiZ2V0UGFyYW1ldGVyRGVzY3JpcHRpb25zIiwiZmxhdFBhcmFtZXRlckRlc2NyaXB0aW9ucyIsInJlZHVjZSIsImFjYyIsImRlc2NyaXB0aW9uIiwidHlwZSIsIkFycmF5IiwiaXNBcnJheSIsImRlZmF1bHRWYWx1ZSIsIl8iLCJpbmRleCIsIl9kZXNjcmlwdGlvbiRsYWJlbCIsImNvbnRyb2xzIiwiZGVzYyIsImlzQ29sb3IiLCJuYW1lIiwicGFyYW1OYW1lIiwicmF3VW5pZm9ybSIsInVuaWZvcm0iLCJfdHlwZW9mMiIsInByZXZWYWx1ZSIsIm5ld1ZhbHVlIiwiaXNOdW1iZXIiLCJfZGVzYyRtaW4iLCJfZGVzYyRtYXgiLCJfZGVzYyRtaW4yIiwibWluIiwibWF4IiwiX3JlZjMiLCJfcmVmNCIsIl9kZXNjJG1pbjMiLCJfcmVmNSIsIl9yZWY2IiwiX2Rlc2MkbWF4MiIsInJhbmdlTWluIiwic29mdE1pbiIsInJhbmdlTWF4Iiwic29mdE1heCIsInJhbmdlU3BhbiIsInBhcmFtZXRlckluZGV4IiwiY29udHJvbCIsIl9jb250cm9sJG9uU2V0Q29sb3IiLCJjb25jYXQiLCJFZmZlY3RDb25maWd1cmF0b3IiLCJfcmVmNyIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwiaW5qZWN0SW50bCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1jb25maWd1cmF0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcblxuaW1wb3J0IHtMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtpc051bWJlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0VmZmVjdCwgRWZmZWN0VXBkYXRlUHJvcHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgUmFuZ2VTbGlkZXJGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9yYW5nZS1zbGlkZXInO1xuaW1wb3J0IHtBcnJvd0Rvd25TbWFsbH0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBFZmZlY3RUaW1lQ29uZmlndXJhdG9yRmFjdG9yeSBmcm9tICcuL2VmZmVjdC10aW1lLWNvbmZpZ3VyYXRvcic7XG5pbXBvcnQgQ29tcGFjdENvbG9yUGlja2VyIGZyb20gJy4vY29tcGFjdC1jb2xvci1waWNrZXInO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RDb25maWd1cmF0b3JQcm9wcyA9IHtcbiAgZWZmZWN0OiBFZmZlY3Q7XG4gIHVwZGF0ZUVmZmVjdENvbmZpZzogKFxuICAgIGU6IEV2ZW50IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbmZpZzogUGFydGlhbDxFZmZlY3RVcGRhdGVQcm9wcz5cbiAgKSA9PiB2b2lkO1xufTtcblxuY29uc3QgU3R5bGVkRWZmZWN0Q29uZmlndXJhdG9yID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1wYW5lbF9fY29uZmlnJ1xufSlgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdENvbmZpZ3VyYXRvck1hcmdpbn07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0Q29uZmlndXJhdG9yUGFkZGluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDtcblxuICAuc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xvclNlbGVjdG9yV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFZlcnRpY2FsU2VwYXJhdG9yID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG5gO1xuXG50eXBlIFN0eWxlZFdyYXBwZXJQcm9wcyA9IHtcbiAgbWFyZ2luQm90dG9tPzogbnVtYmVyO1xufTtcbmNvbnN0IFN0eWxlZFdyYXBwZXIgPSBzdHlsZWQuZGl2PFN0eWxlZFdyYXBwZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy5tYXJnaW5Cb3R0b20gPz8gOX1weDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ1NlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgU2VjdGlvblRpdGxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmNvbnN0IFNlY3Rpb25TdWJUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5Mn07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbmA7XG5cbmNvbnN0IFN0eWxlU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxOTlweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAua2ctcmFuZ2Utc2xpZGVyX19pbnB1dCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICB9XG4gIC5rZy1zbGlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5rZy1yYW5nZS1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5jb25zdCBSZWd1bGFyT3V0ZXJXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1jb25maWd1cmF0b3JfX3BwLXNlY3Rpb24nXG59KWBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuY29uc3QgUmVndWxhclNlY3Rpb25UaXRsZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnZWZmZWN0LWNvbmZpZ3VyYXRvcl9fcHAtc2VjdGlvbi10aXRsZSdcbn0pYFxuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luLWJvdHRvbTogLTNweDtcbmA7XG5cbmNvbnN0IFJlZ3VsYXJTbGlkZXJXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1jb25maWd1cmF0b3JfX3BwLXNlY3Rpb24tY29udHJvbCdcbn0pYFxuICBoZWlnaHQ6IDMycHg7XG4gIC5rZy1yYW5nZS1zbGlkZXJfX2lucHV0IHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gIH1cbiAgLmtnLXNsaWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIH1cbiAgLmtnLXJhbmdlLXNsaWRlciB7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmNvbnN0IENPTU1PTl9TTElERVJfUFJPUFMgPSB7XG4gIHNob3dJbnB1dDogdHJ1ZSxcbiAgaXNSYW5nZWQ6IGZhbHNlLFxuICBzdGVwOiAwLjAwMSxcbiAgbGFiZWw6ICd2YWx1ZSdcbn07XG5cbnR5cGUgRWZmZWN0UGFyYW1ldGVyRGVzY3JpcHRpb25GbGF0dGVuZWQgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZT86ICdudW1iZXInIHwgJ2FycmF5JyB8ICdjb2xvcic7XG4gIGxhYmVsPzogc3RyaW5nIHwgZmFsc2UgfCAoc3RyaW5nIHwgZmFsc2UpW107XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgZGVmYXVsdFZhbHVlPzogbnVtYmVyIHwgbnVtYmVyW107XG4gIGluZGV4PzogbnVtYmVyO1xufTtcblxuRWZmZWN0Q29uZmlndXJhdG9yRmFjdG9yeS5kZXBzID0gW1JhbmdlU2xpZGVyRmFjdG9yeSwgRWZmZWN0VGltZUNvbmZpZ3VyYXRvckZhY3RvcnldO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFZmZlY3RDb25maWd1cmF0b3JGYWN0b3J5KFxuICBSYW5nZVNsaWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VTbGlkZXJGYWN0b3J5PixcbiAgRWZmZWN0VGltZUNvbmZpZ3VyYXRvcjogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0VGltZUNvbmZpZ3VyYXRvckZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RDb25maWd1cmF0b3JQcm9wcz4ge1xuICBjb25zdCBTaGFkb3dFZmZlY3RDb25maWd1cmF0b3I6IFJlYWN0LkZDPEVmZmVjdENvbmZpZ3VyYXRvclByb3BzPiA9ICh7XG4gICAgZWZmZWN0LFxuICAgIHVwZGF0ZUVmZmVjdENvbmZpZ1xuICB9KSA9PiB7XG4gICAgY29uc3Qge3BhcmFtZXRlcnMsIGlkfSA9IGVmZmVjdDtcblxuICAgIGNvbnN0IHNsaWRlclByb3BzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wTmFtZXMgPSBbJ3NoYWRvd0ludGVuc2l0eScsICdhbWJpZW50TGlnaHRJbnRlbnNpdHknLCAnc3VuTGlnaHRJbnRlbnNpdHknXTtcbiAgICAgIHJldHVybiBwcm9wTmFtZXMubWFwKHByb3BOYW1lID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB2YWx1ZTE6IHBhcmFtZXRlcnNbcHJvcE5hbWVdLFxuICAgICAgICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgICAgICAgdmFsdWUwOiAwLFxuICAgICAgICAgIG9uQ2hhbmdlOiAodmFsdWU6IG51bWJlcltdLCBldmVudD86IEV2ZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgdXBkYXRlRWZmZWN0Q29uZmlnKGV2ZW50LCBpZCwge3BhcmFtZXRlcnM6IHtbcHJvcE5hbWVdOiB2YWx1ZVsxXX19KTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9LCBbaWQsIHBhcmFtZXRlcnMsIHVwZGF0ZUVmZmVjdENvbmZpZ10pO1xuXG4gICAgY29uc3Qgb25UaW1lUGFyYW1ldGVyc0NoYW5nZWQgPSB1c2VDYWxsYmFjayhcbiAgICAgIHBhcmFtZXRlcnMgPT4ge1xuICAgICAgICB1cGRhdGVFZmZlY3RDb25maWcobnVsbCwgaWQsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAuLi4ocGFyYW1ldGVycy50aW1lc3RhbXAgPyB7dGltZXN0YW1wOiBwYXJhbWV0ZXJzLnRpbWVzdGFtcH0gOiBudWxsKSxcbiAgICAgICAgICAgIC4uLihwYXJhbWV0ZXJzLnRpbWV6b25lID8ge3RpbWV6b25lOiBwYXJhbWV0ZXJzLnRpbWV6b25lfSA6IG51bGwpLFxuICAgICAgICAgICAgLi4uKHBhcmFtZXRlcnMudGltZU1vZGUgPyB7dGltZU1vZGU6IHBhcmFtZXRlcnMudGltZU1vZGV9IDogbnVsbClcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtpZCwgdXBkYXRlRWZmZWN0Q29uZmlnXVxuICAgICk7XG5cbiAgICBjb25zdCBjb2xvclBpY2tlclByb3BzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wTmFtZXMgPSBbJ2FtYmllbnRMaWdodENvbG9yJywgJ3N1bkxpZ2h0Q29sb3InLCAnc2hhZG93Q29sb3InXTtcbiAgICAgIHJldHVybiBwcm9wTmFtZXMubWFwKHByb3BOYW1lID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb2xvclNldHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcjogcGFyYW1ldGVyc1twcm9wTmFtZV0sXG4gICAgICAgICAgICAgIHNldENvbG9yOiB2ID0+IHVwZGF0ZUVmZmVjdENvbmZpZyhudWxsLCBpZCwge3BhcmFtZXRlcnM6IHtbcHJvcE5hbWVdOiB2fX0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSwgW2lkLCBwYXJhbWV0ZXJzLCB1cGRhdGVFZmZlY3RDb25maWddKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0Q29uZmlndXJhdG9yIGtleT17ZWZmZWN0LmlkfT5cbiAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgIDxTZWN0aW9uVGl0bGU+eydEYXRlICYgVGltZSd9PC9TZWN0aW9uVGl0bGU+XG4gICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgIDxFZmZlY3RUaW1lQ29uZmlndXJhdG9yXG4gICAgICAgICAgdGltZXN0YW1wPXtwYXJhbWV0ZXJzLnRpbWVzdGFtcH1cbiAgICAgICAgICB0aW1lem9uZT17cGFyYW1ldGVycy50aW1lem9uZX1cbiAgICAgICAgICB0aW1lTW9kZT17cGFyYW1ldGVycy50aW1lTW9kZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaW1lUGFyYW1ldGVyc0NoYW5nZWR9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFN0eWxlZFZlcnRpY2FsU2VwYXJhdG9yIC8+XG5cbiAgICAgICAgPFN0eWxlZFdyYXBwZXIgbWFyZ2luQm90dG9tPXswfT5cbiAgICAgICAgICA8U2VjdGlvblRpdGxlPnsnU2hhZG93J308L1NlY3Rpb25UaXRsZT5cbiAgICAgICAgPC9TdHlsZWRXcmFwcGVyPlxuICAgICAgICA8U3R5bGVkV3JhcHBlciBtYXJnaW5Cb3R0b209ezE2fT5cbiAgICAgICAgICA8Q29tcGFjdENvbG9yUGlja2VyXG4gICAgICAgICAgICBsYWJlbD17J0NvbG9yJ31cbiAgICAgICAgICAgIGNvbG9yPXtjb2xvclBpY2tlclByb3BzWzJdLmNvbG9yU2V0c1swXS5zZWxlY3RlZENvbG9yfVxuICAgICAgICAgICAgb25TZXRDb2xvcj17Y29sb3JQaWNrZXJQcm9wc1syXS5jb2xvclNldHNbMF0uc2V0Q29sb3J9XG4gICAgICAgICAgICBJY29uPXtBcnJvd0Rvd25TbWFsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb25TdWJUaXRsZT5JbnRlbnNpdHk8L1NlY3Rpb25TdWJUaXRsZT5cbiAgICAgICAgICAgIDxTdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgIDxSYW5nZVNsaWRlciB7Li4uQ09NTU9OX1NMSURFUl9QUk9QU30gey4uLnNsaWRlclByb3BzWzBdfSAvPlxuICAgICAgICAgICAgPC9TdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICA8L1N0eWxlZFdyYXBwZXI+XG5cbiAgICAgICAgPFN0eWxlZFdyYXBwZXIgbWFyZ2luQm90dG9tPXswfT5cbiAgICAgICAgICA8U2VjdGlvblRpdGxlPnsnQW1iaWVudCBsaWdodCd9PC9TZWN0aW9uVGl0bGU+XG4gICAgICAgIDwvU3R5bGVkV3JhcHBlcj5cbiAgICAgICAgPFN0eWxlZFdyYXBwZXIgbWFyZ2luQm90dG9tPXsxNn0+XG4gICAgICAgICAgPENvbXBhY3RDb2xvclBpY2tlclxuICAgICAgICAgICAgbGFiZWw9eydDb2xvcid9XG4gICAgICAgICAgICBjb2xvcj17Y29sb3JQaWNrZXJQcm9wc1swXS5jb2xvclNldHNbMF0uc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgIG9uU2V0Q29sb3I9e2NvbG9yUGlja2VyUHJvcHNbMF0uY29sb3JTZXRzWzBdLnNldENvbG9yfVxuICAgICAgICAgICAgSWNvbj17QXJyb3dEb3duU21hbGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnU2VjdGlvbj5cbiAgICAgICAgICAgIDxTZWN0aW9uU3ViVGl0bGU+SW50ZW5zaXR5PC9TZWN0aW9uU3ViVGl0bGU+XG4gICAgICAgICAgICA8U3R5bGVTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICA8UmFuZ2VTbGlkZXIgey4uLkNPTU1PTl9TTElERVJfUFJPUFN9IHsuLi5zbGlkZXJQcm9wc1sxXX0gLz5cbiAgICAgICAgICAgIDwvU3R5bGVTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgIDwvU3R5bGVkQ29uZmlnU2VjdGlvbj5cbiAgICAgICAgPC9TdHlsZWRXcmFwcGVyPlxuXG4gICAgICAgIDxTdHlsZWRXcmFwcGVyIG1hcmdpbkJvdHRvbT17MH0+XG4gICAgICAgICAgPFNlY3Rpb25UaXRsZT57J1N1biBsaWdodCd9PC9TZWN0aW9uVGl0bGU+XG4gICAgICAgIDwvU3R5bGVkV3JhcHBlcj5cbiAgICAgICAgPFN0eWxlZFdyYXBwZXIgbWFyZ2luQm90dG9tPXswfT5cbiAgICAgICAgICA8Q29tcGFjdENvbG9yUGlja2VyXG4gICAgICAgICAgICBsYWJlbD17J0NvbG9yJ31cbiAgICAgICAgICAgIGNvbG9yPXtjb2xvclBpY2tlclByb3BzWzFdLmNvbG9yU2V0c1swXS5zZWxlY3RlZENvbG9yfVxuICAgICAgICAgICAgb25TZXRDb2xvcj17Y29sb3JQaWNrZXJQcm9wc1sxXS5jb2xvclNldHNbMF0uc2V0Q29sb3J9XG4gICAgICAgICAgICBJY29uPXtBcnJvd0Rvd25TbWFsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb25TdWJUaXRsZT5JbnRlbnNpdHk8L1NlY3Rpb25TdWJUaXRsZT5cbiAgICAgICAgICAgIDxTdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgIDxSYW5nZVNsaWRlciB7Li4uQ09NTU9OX1NMSURFUl9QUk9QU30gey4uLnNsaWRlclByb3BzWzJdfSAvPlxuICAgICAgICAgICAgPC9TdHlsZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TdHlsZWRDb25maWdTZWN0aW9uPlxuICAgICAgICA8L1N0eWxlZFdyYXBwZXI+XG4gICAgICA8L1N0eWxlZEVmZmVjdENvbmZpZ3VyYXRvcj5cbiAgICApO1xuICB9O1xuICBjb25zdCBkZWZhdWx0VW5pZm9ybXMgPSB7fTtcblxuICBjb25zdCBQb3N0UHJvY2Vzc2luZ0VmZmVjdENvbmZpZ3VyYXRvcjogUmVhY3QuRkM8RWZmZWN0Q29uZmlndXJhdG9yUHJvcHM+ID0gKHtcbiAgICBlZmZlY3QsXG4gICAgdXBkYXRlRWZmZWN0Q29uZmlnXG4gIH0pID0+IHtcbiAgICBjb25zdCB1bmlmb3JtcyA9IGVmZmVjdC5kZWNrRWZmZWN0Py5tb2R1bGUucHJvcFR5cGVzIHx8IGRlZmF1bHRVbmlmb3JtcztcbiAgICBjb25zdCBwYXJhbWV0ZXJEZXNjcmlwdGlvbnMgPSBlZmZlY3QuZ2V0UGFyYW1ldGVyRGVzY3JpcHRpb25zKCk7XG4gICAgY29uc3Qge3BhcmFtZXRlcnMsIGlkfSA9IGVmZmVjdDtcbiAgICBjb25zdCBmbGF0UGFyYW1ldGVyRGVzY3JpcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyRGVzY3JpcHRpb25zLnJlZHVjZSgoYWNjLCBkZXNjcmlwdGlvbikgPT4ge1xuICAgICAgICBpZiAoZGVzY3JpcHRpb24udHlwZSA9PT0gJ2NvbG9yJykge1xuICAgICAgICAgIC8vIGNvbG9yIHBhcmFtZXRlcnMgYXJlIHJlbmRlcmVkIHNlcGFyYXRlbHkgdmlhIENvbXBhY3RDb2xvclBpY2tlclxuICAgICAgICAgIGFjYy5wdXNoKGRlc2NyaXB0aW9uKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbi50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgICAgLy8gc3BsaXQgYXJyYXlzIG9mIGNvbnRyb2xzIGludG8gYSBzZXBhcmF0ZSBjb250cm9scyBmb3IgZWFjaCBjb21wb25lbnRcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUpKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbi5kZWZhdWx0VmFsdWUuZm9yRWFjaCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgICAgICAgIC4uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIGxhYmVsOiBkZXNjcmlwdGlvbi5sYWJlbD8uW2luZGV4XVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2MucHVzaChkZXNjcmlwdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10gYXMgRWZmZWN0UGFyYW1ldGVyRGVzY3JpcHRpb25GbGF0dGVuZWRbXSk7XG4gICAgfSwgW3BhcmFtZXRlckRlc2NyaXB0aW9uc10pO1xuXG4gICAgY29uc3QgY29udHJvbHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBmbGF0UGFyYW1ldGVyRGVzY3JpcHRpb25zLm1hcChkZXNjID0+IHtcbiAgICAgICAgaWYgKGRlc2MudHlwZSA9PT0gJ2NvbG9yJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpc0NvbG9yOiB0cnVlIGFzIGNvbnN0LFxuICAgICAgICAgICAgbGFiZWw6IGRlc2MubGFiZWwgfHwgZGVzYy5uYW1lLFxuICAgICAgICAgICAgcGFyYW1OYW1lOiBkZXNjLm5hbWUsXG4gICAgICAgICAgICBjb2xvcjogcGFyYW1ldGVyc1tkZXNjLm5hbWVdIHx8IGRlc2MuZGVmYXVsdFZhbHVlIHx8IFsyNTUsIDI1NSwgMjU1XSxcbiAgICAgICAgICAgIG9uU2V0Q29sb3I6ICh2OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pID0+XG4gICAgICAgICAgICAgIHVwZGF0ZUVmZmVjdENvbmZpZyhudWxsLCBpZCwge3BhcmFtZXRlcnM6IHtbZGVzYy5uYW1lXTogdn19KVxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBkZXNjLm5hbWU7XG5cbiAgICAgICAgY29uc3QgcmF3VW5pZm9ybSA9IHVuaWZvcm1zW2Rlc2MubmFtZV07XG4gICAgICAgIGlmICgoIXJhd1VuaWZvcm0gJiYgcmF3VW5pZm9ybSAhPT0gMCkgfHwgcmF3VW5pZm9ybS5wcml2YXRlKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsdW1hLmdsIDkgd3JhcHMgYXJyYXkgcHJvcFR5cGVzIGFzIHt2YWx1ZTogWy4uLl19XG4gICAgICAgIGNvbnN0IHVuaWZvcm0gPVxuICAgICAgICAgIHJhd1VuaWZvcm0gJiYgdHlwZW9mIHJhd1VuaWZvcm0gPT09ICdvYmplY3QnICYmIEFycmF5LmlzQXJyYXkocmF3VW5pZm9ybS52YWx1ZSlcbiAgICAgICAgICAgID8gcmF3VW5pZm9ybS52YWx1ZVxuICAgICAgICAgICAgOiByYXdVbmlmb3JtO1xuXG4gICAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHBhcmFtZXRlcnNbcGFyYW1OYW1lXTtcblxuICAgICAgICBjb25zdCBsYWJlbCA9IGRlc2MubGFiZWwgPT09IGZhbHNlID8gZmFsc2UgOiBkZXNjLmxhYmVsIHx8IGRlc2MubmFtZTtcblxuICAgICAgICAvLyB0aGUgdW5pZm9ybSBpcyBbbnVtYmVyLCBudW1iZXJdIGFycmF5XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHVuaWZvcm0pICYmIHVuaWZvcm0ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdmFsdWUxOiBwcmV2VmFsdWVbZGVzYy5pbmRleCB8fCAwXSB8fCAwLFxuICAgICAgICAgICAgcmFuZ2U6IFswLCAxXSxcbiAgICAgICAgICAgIHZhbHVlMDogMCxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAobmV3VmFsdWU6IG51bWJlcltdLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICB1cGRhdGVFZmZlY3RDb25maWcoZXZlbnQsIGlkLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgW3BhcmFtTmFtZV06XG4gICAgICAgICAgICAgICAgICAgIGRlc2MuaW5kZXggPT09IDAgPyBbbmV3VmFsdWVbMV0sIHByZXZWYWx1ZVsxXV0gOiBbcHJldlZhbHVlWzBdLCBuZXdWYWx1ZVsxXV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhlIHVuaWZvcm0gaXMgYSBwbGFpbiBudW1iZXIgd2l0aG91dCBhbnkgZGVzY3JpcHRpb25cbiAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIodW5pZm9ybSkpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB2YWx1ZTE6IHByZXZWYWx1ZSA/PyAwLFxuICAgICAgICAgICAgcmFuZ2U6IFtkZXNjLm1pbiA/PyAwLCBkZXNjLm1heCA/PyA1MDBdLFxuICAgICAgICAgICAgdmFsdWUwOiBkZXNjLm1pbiA/PyAwLFxuICAgICAgICAgICAgb25DaGFuZ2U6IChuZXdWYWx1ZTogbnVtYmVyW10sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZUVmZmVjdENvbmZpZyhldmVudCwgaWQsIHtwYXJhbWV0ZXJzOiB7W3BhcmFtTmFtZV06IG5ld1ZhbHVlWzFdfX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhlIHVuaWZvcm0gZGVzY3JpcHRpb24gaXMge3ZhbHVlOiAwLCBtaW46IDAsIG1heDogMSwgLi4ufVxuICAgICAgICBlbHNlIGlmIChpc051bWJlcih1bmlmb3JtLnZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IHJhbmdlTWluID0gZGVzYy5taW4gPz8gdW5pZm9ybS5taW4gPz8gdW5pZm9ybS5zb2Z0TWluID8/IDA7XG4gICAgICAgICAgY29uc3QgcmFuZ2VNYXggPSBkZXNjLm1heCA/PyB1bmlmb3JtLm1heCA/PyB1bmlmb3JtLnNvZnRNYXggPz8gMTtcbiAgICAgICAgICBjb25zdCByYW5nZVNwYW4gPSByYW5nZU1heCAtIHJhbmdlTWluO1xuICAgICAgICAgIGNvbnN0IHN0ZXAgPSByYW5nZVNwYW4gPiAxMCA/IDEgOiAwLjAwMTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB2YWx1ZTE6IHByZXZWYWx1ZSB8fCAwLFxuICAgICAgICAgICAgcmFuZ2U6IFtyYW5nZU1pbiwgcmFuZ2VNYXhdLFxuICAgICAgICAgICAgdmFsdWUwOiByYW5nZU1pbixcbiAgICAgICAgICAgIHN0ZXAsXG4gICAgICAgICAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBudW1iZXJbXSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgdXBkYXRlRWZmZWN0Q29uZmlnKGV2ZW50LCBpZCwge3BhcmFtZXRlcnM6IHtbcGFyYW1OYW1lXTogbmV3VmFsdWVbMV19fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlnbm9yZSBldmVyeXRoaW5nIGVsc2UgZm9yIG5vd1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgIH0sIFtmbGF0UGFyYW1ldGVyRGVzY3JpcHRpb25zLCBpZCwgcGFyYW1ldGVycywgdXBkYXRlRWZmZWN0Q29uZmlnLCB1bmlmb3Jtc10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RDb25maWd1cmF0b3Iga2V5PXtlZmZlY3QuaWR9PlxuICAgICAgICB7ZmxhdFBhcmFtZXRlckRlc2NyaXB0aW9ucy5tYXAoKGRlc2MsIHBhcmFtZXRlckluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udHJvbCA9IGNvbnRyb2xzW3BhcmFtZXRlckluZGV4XTtcbiAgICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICgnaXNDb2xvcicgaW4gY29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFJlZ3VsYXJPdXRlcldyYXBwZXIga2V5PXtgJHtlZmZlY3QuaWR9LSR7cGFyYW1ldGVySW5kZXh9YH0+XG4gICAgICAgICAgICAgICAgPENvbXBhY3RDb2xvclBpY2tlclxuICAgICAgICAgICAgICAgICAgbGFiZWw9e3R5cGVvZiBjb250cm9sLmxhYmVsID09PSAnc3RyaW5nJyA/IGNvbnRyb2wubGFiZWwgOiAnQ29sb3InfVxuICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbnRyb2wuY29sb3J9XG4gICAgICAgICAgICAgICAgICBvblNldENvbG9yPXtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5vblNldENvbG9yID8/XG4gICAgICAgICAgICAgICAgICAgICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgLyogbm9vcCAqL1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgSWNvbj17QXJyb3dEb3duU21hbGx9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9SZWd1bGFyT3V0ZXJXcmFwcGVyPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJlZ3VsYXJPdXRlcldyYXBwZXIga2V5PXtgJHtlZmZlY3QuaWR9LSR7cGFyYW1ldGVySW5kZXh9YH0+XG4gICAgICAgICAgICAgIHtjb250cm9sLmxhYmVsID8gKFxuICAgICAgICAgICAgICAgIDxSZWd1bGFyU2VjdGlvblRpdGxlV3JhcHBlcj57Y29udHJvbC5sYWJlbH08L1JlZ3VsYXJTZWN0aW9uVGl0bGVXcmFwcGVyPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPFJlZ3VsYXJTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDxSYW5nZVNsaWRlciBrZXk9e3BhcmFtZXRlckluZGV4fSB7Li4uQ09NTU9OX1NMSURFUl9QUk9QU30gey4uLmNvbnRyb2x9IC8+XG4gICAgICAgICAgICAgIDwvUmVndWxhclNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICA8L1JlZ3VsYXJPdXRlcldyYXBwZXI+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L1N0eWxlZEVmZmVjdENvbmZpZ3VyYXRvcj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IEVmZmVjdENvbmZpZ3VyYXRvciA9ICh7XG4gICAgZWZmZWN0LFxuICAgIHVwZGF0ZUVmZmVjdENvbmZpZ1xuICB9OiBFZmZlY3RDb25maWd1cmF0b3JQcm9wcyAmIHtpbnRsOiBJbnRsU2hhcGV9KSA9PiB7XG4gICAgcmV0dXJuIGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlID8gKFxuICAgICAgPFNoYWRvd0VmZmVjdENvbmZpZ3VyYXRvciBlZmZlY3Q9e2VmZmVjdH0gdXBkYXRlRWZmZWN0Q29uZmlnPXt1cGRhdGVFZmZlY3RDb25maWd9IC8+XG4gICAgKSA6IChcbiAgICAgIDxQb3N0UHJvY2Vzc2luZ0VmZmVjdENvbmZpZ3VyYXRvciBlZmZlY3Q9e2VmZmVjdH0gdXBkYXRlRWZmZWN0Q29uZmlnPXt1cGRhdGVFZmZlY3RDb25maWd9IC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gaW5qZWN0SW50bChFZmZlY3RDb25maWd1cmF0b3IpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLFlBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHVCQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxtQkFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQXdELElBQUFVLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFkeEQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBeEIsd0JBQUF3QixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFB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
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Effect } from '@kepler.gl/types';
3
3
  import { addEffect, updateEffect, removeEffect, reorderEffect, ActionHandler } from '@kepler.gl/actions';
4
4
  import EffectPanelFactory from './effect-panel';
5
- export declare type EffectListProps = {
5
+ export type EffectListProps = {
6
6
  effects: Effect[];
7
7
  effectOrder: string[];
8
8
  visStateActions: {
@@ -6,7 +6,7 @@ import { VisState } from '@kepler.gl/schemas';
6
6
  import SidePanelTitleFactory from './side-panel-title';
7
7
  import EffectListFactory from './effect-list';
8
8
  import EffectTypeSelectorFactory from './effect-type-selector';
9
- export declare type EffectManagerState = {
9
+ export type EffectManagerState = {
10
10
  visState: VisState;
11
11
  visStateActions: {
12
12
  addEffect: ActionHandler<typeof addEffect>;
@@ -18,8 +18,8 @@ export declare type EffectManagerState = {
18
18
  effectOrder: string[];
19
19
  children: React.ReactNode;
20
20
  };
21
- export declare type EffectManagerProps = EffectManagerWithIntlProp & EffectManagerState;
22
- export declare type EffectManagerWithIntlProp = {
21
+ export type EffectManagerProps = EffectManagerWithIntlProp & EffectManagerState;
22
+ export type EffectManagerWithIntlProp = {
23
23
  intl: IntlShape;
24
24
  };
25
25
  declare function EffectManagerFactory(EffectList: ReturnType<typeof EffectListFactory>, SidePanelTitle: ReturnType<typeof SidePanelTitleFactory>, EffectTypeSelector: ReturnType<typeof EffectTypeSelectorFactory>): React.FC<EffectManagerProps>;
@@ -65,9 +65,16 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
65
65
  var hasShadow = effects.some(function (effect) {
66
66
  return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
67
67
  });
68
+ var hasDistanceFog = effects.some(function (effect) {
69
+ return effect.type === _constants.DISTANCE_FOG_TYPE;
70
+ });
71
+ var hasSurfaceFog = effects.some(function (effect) {
72
+ return effect.type === _constants.SURFACE_FOG_TYPE;
73
+ });
74
+ var hasAnyFog = hasDistanceFog || hasSurfaceFog;
68
75
  return _constants.EFFECT_DESCRIPTIONS.map(function (desc) {
69
76
  return _objectSpread(_objectSpread({}, desc), {}, {
70
- disabled: Boolean(hasShadow && desc.type === _constants.LIGHT_AND_SHADOW_EFFECT.type)
77
+ disabled: Boolean(hasShadow && desc.type === _constants.LIGHT_AND_SHADOW_EFFECT.type || hasAnyFog && (desc.type === _constants.DISTANCE_FOG_TYPE || desc.type === _constants.SURFACE_FOG_TYPE))
71
78
  });
72
79
  });
73
80
  }, [effects]);
@@ -117,4 +124,4 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
117
124
  })((0, _reactIntl.injectIntl)(EffectManager));
118
125
  }
119
126
  var _default = exports["default"] = EffectManagerFactory;
120
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2FjdGlvbnMiLCJfY29uc3RhbnRzIiwiX3JlZHVjZXJzIiwiX2luamVjdG9yIiwiX3NpZGVQYW5lbFRpdGxlIiwiX2VmZmVjdExpc3QiLCJfZWZmZWN0VHlwZVNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJfcmVmIiwiY29uY2F0IiwiZWZmZWN0UGFuZWxQYWRkaW5nVG9wIiwiZWZmZWN0UGFuZWxQYWRkaW5nU2lkZSIsImJvcmRlckNvbG9yIiwiX3JlZjIiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiZXh0ZW5kZWQiLCJFZmZlY3RNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJFZmZlY3RMaXN0RmFjdG9yeSIsIlNpZGVQYW5lbFRpdGxlRmFjdG9yeSIsIkVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnkiLCJFZmZlY3RMaXN0IiwiU2lkZVBhbmVsVGl0bGUiLCJFZmZlY3RUeXBlU2VsZWN0b3IiLCJFZmZlY3RNYW5hZ2VyIiwiaW50bCIsInZpc1N0YXRlQWN0aW9ucyIsInZpc1N0YXRlIiwiY2hpbGRyZW4iLCJlZmZlY3RzIiwiZWZmZWN0T3JkZXIiLCJ2aXNTdGF0ZUFkZEVmZmVjdCIsImFkZEVmZmVjdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInR5cGVTZWxlY3Rvck9wZW5lZCIsInNldFR5cGVTZWxlY3Rvck9wZW5lZCIsImVmZmVjdE9wdGlvbnMiLCJ1c2VNZW1vIiwiaGFzU2hhZG93Iiwic29tZSIsImVmZmVjdCIsInR5cGUiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJtYXAiLCJkZXNjIiwiZGlzYWJsZWQiLCJCb29sZWFuIiwib25BZGRFZmZlY3QiLCJ1c2VDYWxsYmFjayIsIm9uVHlwZVNlbGVjdE9wZW4iLCJvblR5cGVTZWxlY3RDbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsIm9wdGlvbnMiLCJvblNlbGVjdCIsIm9uT3BlbiIsIm9uQmx1ciIsImlzU29ydGFibGUiLCJ3aXRoU3RhdGUiLCJ2aXNTdGF0ZUxlbnMiLCJzdGF0ZSIsInVwZGF0ZUVmZmVjdCIsInJlbW92ZUVmZmVjdCIsInJlb3JkZXJFZmZlY3QiLCJpbmplY3RJbnRsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VmZmVjdHMvZWZmZWN0LW1hbmFnZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7XG4gIGFkZEVmZmVjdCxcbiAgdXBkYXRlRWZmZWN0LFxuICByZW1vdmVFZmZlY3QsXG4gIHJlb3JkZXJFZmZlY3QsXG4gIEFjdGlvbkhhbmRsZXJcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TElHSFRfQU5EX1NIQURPV19FRkZFQ1QsIEVGRkVDVF9ERVNDUklQVElPTlN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7dmlzU3RhdGVMZW5zfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCB7RWZmZWN0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5cbmltcG9ydCB7d2l0aFN0YXRlfSBmcm9tICcuLi9pbmplY3Rvcic7XG5pbXBvcnQgU2lkZVBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC10aXRsZSc7XG5pbXBvcnQgRWZmZWN0TGlzdEZhY3RvcnkgZnJvbSAnLi9lZmZlY3QtbGlzdCc7XG5pbXBvcnQgRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeSwge0VmZmVjdFR5cGVTZWxlY3RvclByb3BzfSBmcm9tICcuL2VmZmVjdC10eXBlLXNlbGVjdG9yJztcblxuZXhwb3J0IHR5cGUgRWZmZWN0TWFuYWdlclN0YXRlID0ge1xuICB2aXNTdGF0ZTogVmlzU3RhdGU7XG4gIHZpc1N0YXRlQWN0aW9uczoge1xuICAgIGFkZEVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkRWZmZWN0PjtcbiAgICB1cGRhdGVFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHVwZGF0ZUVmZmVjdD47XG4gICAgcmVtb3ZlRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW1vdmVFZmZlY3Q+O1xuICAgIHJlb3JkZXJFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHJlb3JkZXJFZmZlY3Q+O1xuICB9O1xuICBlZmZlY3RzOiBFZmZlY3RbXTtcbiAgZWZmZWN0T3JkZXI6IHN0cmluZ1tdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJQcm9wcyA9IEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgJiBFZmZlY3RNYW5hZ2VyU3RhdGU7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgPSB7aW50bDogSW50bFNoYXBlfTtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbi8vIHRvcCByaWdodCBwb3NpdGlvbiBhYnNvbHV0ZVxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWwgPSBzdHlsZWQuZGl2YFxuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6ICR7KHt0aGVtZX0pID0+XG4gICAgYCR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nVG9wfXB4ICR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nU2lkZX1weCA0cHggJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdTaWRlfXB4YH07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvcmRlckNvbG9yfTtcbiAgbWluLXdpZHRoOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5lZmZlY3RQYW5lbFdpZHRofXB4O1xuYDtcblxudHlwZSBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnRQcm9wcyA9IHtcbiAgZXh0ZW5kZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXY8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50UHJvcHM+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmV4dGVuZGVkID8gJzMycHgnIDogJzEwcHggMHB4IDEwcHggMHB4Jyl9O1xuICBvdmVyZmxvdzogb3ZlcmxheTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbkVmZmVjdE1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbRWZmZWN0TGlzdEZhY3RvcnksIFNpZGVQYW5lbFRpdGxlRmFjdG9yeSwgRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeV07XG5cbmZ1bmN0aW9uIEVmZmVjdE1hbmFnZXJGYWN0b3J5KFxuICBFZmZlY3RMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RMaXN0RmFjdG9yeT4sXG4gIFNpZGVQYW5lbFRpdGxlOiBSZXR1cm5UeXBlPHR5cGVvZiBTaWRlUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBFZmZlY3RUeXBlU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdFR5cGVTZWxlY3RvckZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RNYW5hZ2VyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0TWFuYWdlciA9IChwcm9wczogRWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcCAmIEVmZmVjdE1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHtpbnRsLCB2aXNTdGF0ZUFjdGlvbnMsIHZpc1N0YXRlLCBjaGlsZHJlbn0gPSBwcm9wcztcbiAgICBjb25zdCB7ZWZmZWN0cywgZWZmZWN0T3JkZXJ9ID0gdmlzU3RhdGU7XG4gICAgY29uc3Qge2FkZEVmZmVjdDogdmlzU3RhdGVBZGRFZmZlY3R9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IFt0eXBlU2VsZWN0b3JPcGVuZWQsIHNldFR5cGVTZWxlY3Rvck9wZW5lZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAvLyBQcmV2ZW50IHNoYWRvdyBlZmZlY3QgZnJvbSBiZWluZyBhZGRlZCBtdWx0aXBsZSB0aW1lc1xuICAgIGNvbnN0IGVmZmVjdE9wdGlvbnM6IEVmZmVjdFR5cGVTZWxlY3RvclByb3BzWydvcHRpb25zJ10gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGhhc1NoYWRvdyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IExJR0hUX0FORF9TSEFET1dfRUZGRUNULnR5cGU7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMubWFwKGRlc2MgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oaGFzU2hhZG93ICYmIGRlc2MudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtlZmZlY3RzXSk7XG5cbiAgICBjb25zdCBvbkFkZEVmZmVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgdHlwZSA9PiB7XG4gICAgICAgIHZpc1N0YXRlQWRkRWZmZWN0KHt0eXBlfSk7XG4gICAgICB9LFxuICAgICAgW3Zpc1N0YXRlQWRkRWZmZWN0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblR5cGVTZWxlY3RPcGVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKHRydWUpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9uVHlwZVNlbGVjdENsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyXCI+XG4gICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwiZWZmZWN0LXBhbmVsLWhlYWRlclwiPlxuICAgICAgICAgICAgPFNpZGVQYW5lbFRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyLXRpdGxlXCJcbiAgICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdlZmZlY3RNYW5hZ2VyLmVmZmVjdHMnfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZmZlY3RUeXBlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtlZmZlY3RPcHRpb25zfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkFkZEVmZmVjdH1cbiAgICAgICAgICAgICAgICBvbk9wZW49e29uVHlwZVNlbGVjdE9wZW59XG4gICAgICAgICAgICAgICAgb25CbHVyPXtvblR5cGVTZWxlY3RDbG9zZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU2lkZVBhbmVsVGl0bGU+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cblxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgZXh0ZW5kZWQ9e3R5cGVTZWxlY3Rvck9wZW5lZCAmJiBlZmZlY3RzLmxlbmd0aCA9PT0gMH0+XG4gICAgICAgICAgICA8RWZmZWN0TGlzdFxuICAgICAgICAgICAgICBlZmZlY3RzPXtlZmZlY3RzfVxuICAgICAgICAgICAgICBlZmZlY3RPcmRlcj17ZWZmZWN0T3JkZXJ9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBpc1NvcnRhYmxlPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoU3RhdGUoW3Zpc1N0YXRlTGVuc10sIHN0YXRlID0+IHN0YXRlLCB7XG4gICAgdmlzU3RhdGVBY3Rpb25zOiB7YWRkRWZmZWN0LCB1cGRhdGVFZmZlY3QsIHJlbW92ZUVmZmVjdCwgcmVvcmRlckVmZmVjdH1cbiAgfSkoaW5qZWN0SW50bChFZmZlY3RNYW5hZ2VyKSkgYXMgUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRWZmZWN0TWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQU9BLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUlBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGVBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLG1CQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFBMEYsSUFBQVcsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQXRCMUY7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBakIsd0JBQUFpQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEs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
127
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2FjdGlvbnMiLCJfY29uc3RhbnRzIiwiX3JlZHVjZXJzIiwiX2luamVjdG9yIiwiX3NpZGVQYW5lbFRpdGxlIiwiX2VmZmVjdExpc3QiLCJfZWZmZWN0VHlwZVNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJfcmVmIiwiY29uY2F0IiwiZWZmZWN0UGFuZWxQYWRkaW5nVG9wIiwiZWZmZWN0UGFuZWxQYWRkaW5nU2lkZSIsImJvcmRlckNvbG9yIiwiX3JlZjIiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiZXh0ZW5kZWQiLCJFZmZlY3RNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJFZmZlY3RMaXN0RmFjdG9yeSIsIlNpZGVQYW5lbFRpdGxlRmFjdG9yeSIsIkVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnkiLCJFZmZlY3RMaXN0IiwiU2lkZVBhbmVsVGl0bGUiLCJFZmZlY3RUeXBlU2VsZWN0b3IiLCJFZmZlY3RNYW5hZ2VyIiwiaW50bCIsInZpc1N0YXRlQWN0aW9ucyIsInZpc1N0YXRlIiwiY2hpbGRyZW4iLCJlZmZlY3RzIiwiZWZmZWN0T3JkZXIiLCJ2aXNTdGF0ZUFkZEVmZmVjdCIsImFkZEVmZmVjdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInR5cGVTZWxlY3Rvck9wZW5lZCIsInNldFR5cGVTZWxlY3Rvck9wZW5lZCIsImVmZmVjdE9wdGlvbnMiLCJ1c2VNZW1vIiwiaGFzU2hhZG93Iiwic29tZSIsImVmZmVjdCIsInR5cGUiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsImhhc0Rpc3RhbmNlRm9nIiwiRElTVEFOQ0VfRk9HX1RZUEUiLCJoYXNTdXJmYWNlRm9nIiwiU1VSRkFDRV9GT0dfVFlQRSIsImhhc0FueUZvZyIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJtYXAiLCJkZXNjIiwiZGlzYWJsZWQiLCJCb29sZWFuIiwib25BZGRFZmZlY3QiLCJ1c2VDYWxsYmFjayIsIm9uVHlwZVNlbGVjdE9wZW4iLCJvblR5cGVTZWxlY3RDbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsIm9wdGlvbnMiLCJvblNlbGVjdCIsIm9uT3BlbiIsIm9uQmx1ciIsImlzU29ydGFibGUiLCJ3aXRoU3RhdGUiLCJ2aXNTdGF0ZUxlbnMiLCJzdGF0ZSIsInVwZGF0ZUVmZmVjdCIsInJlbW92ZUVmZmVjdCIsInJlb3JkZXJFZmZlY3QiLCJpbmplY3RJbnRsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VmZmVjdHMvZWZmZWN0LW1hbmFnZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7XG4gIGFkZEVmZmVjdCxcbiAgdXBkYXRlRWZmZWN0LFxuICByZW1vdmVFZmZlY3QsXG4gIHJlb3JkZXJFZmZlY3QsXG4gIEFjdGlvbkhhbmRsZXJcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7XG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICBFRkZFQ1RfREVTQ1JJUFRJT05TLFxuICBESVNUQU5DRV9GT0dfVFlQRSxcbiAgU1VSRkFDRV9GT0dfVFlQRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge3Zpc1N0YXRlTGVuc30gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge0VmZmVjdH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1Zpc1N0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3NjaGVtYXMnO1xuXG5pbXBvcnQge3dpdGhTdGF0ZX0gZnJvbSAnLi4vaW5qZWN0b3InO1xuaW1wb3J0IFNpZGVQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwtdGl0bGUnO1xuaW1wb3J0IEVmZmVjdExpc3RGYWN0b3J5IGZyb20gJy4vZWZmZWN0LWxpc3QnO1xuaW1wb3J0IEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnksIHtFZmZlY3RUeXBlU2VsZWN0b3JQcm9wc30gZnJvbSAnLi9lZmZlY3QtdHlwZS1zZWxlY3Rvcic7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJTdGF0ZSA9IHtcbiAgdmlzU3RhdGU6IFZpc1N0YXRlO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHtcbiAgICBhZGRFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGFkZEVmZmVjdD47XG4gICAgdXBkYXRlRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB1cGRhdGVFZmZlY3Q+O1xuICAgIHJlbW92ZUVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgcmVtb3ZlRWZmZWN0PjtcbiAgICByZW9yZGVyRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW9yZGVyRWZmZWN0PjtcbiAgfTtcbiAgZWZmZWN0czogRWZmZWN0W107XG4gIGVmZmVjdE9yZGVyOiBzdHJpbmdbXTtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyUHJvcHMgPSBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wICYgRWZmZWN0TWFuYWdlclN0YXRlO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wID0ge2ludGw6IEludGxTaGFwZX07XG5cbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsgLyogcHJldmVudCBwYWRkaW5nIGZyb20gYmxvY2tpbmcgaW5wdXQgKi9cbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiA+ICoge1xuICAgIC8qIGFsbCBjaGlsZHJlbiBzaG91bGQgYWxsb3cgaW5wdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG5gO1xuXG4vLyB0b3AgcmlnaHQgcG9zaXRpb24gYWJzb2x1dGVcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAkeyh7dGhlbWV9KSA9PlxuICAgIGAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1RvcH1weCAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1NpZGV9cHggNHB4ICR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nU2lkZX1weGB9O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJDb2xvcn07XG4gIG1pbi13aWR0aDogJHsoe3RoZW1lfSkgPT4gdGhlbWUuZWZmZWN0UGFuZWxXaWR0aH1weDtcbmA7XG5cbnR5cGUgU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50UHJvcHMgPSB7XG4gIGV4dGVuZGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2PFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudFByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5leHRlbmRlZCA/ICczMnB4JyA6ICcxMHB4IDBweCAxMHB4IDBweCcpfTtcbiAgb3ZlcmZsb3c6IG92ZXJsYXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5FZmZlY3RNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW0VmZmVjdExpc3RGYWN0b3J5LCBTaWRlUGFuZWxUaXRsZUZhY3RvcnksIEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RNYW5hZ2VyRmFjdG9yeShcbiAgRWZmZWN0TGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0TGlzdEZhY3Rvcnk+LFxuICBTaWRlUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZVBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRWZmZWN0VHlwZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdE1hbmFnZXIgPSAocHJvcHM6IEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgJiBFZmZlY3RNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICBjb25zdCB7aW50bCwgdmlzU3RhdGVBY3Rpb25zLCB2aXNTdGF0ZSwgY2hpbGRyZW59ID0gcHJvcHM7XG4gICAgY29uc3Qge2VmZmVjdHMsIGVmZmVjdE9yZGVyfSA9IHZpc1N0YXRlO1xuICAgIGNvbnN0IHthZGRFZmZlY3Q6IHZpc1N0YXRlQWRkRWZmZWN0fSA9IHZpc1N0YXRlQWN0aW9ucztcbiAgICBjb25zdCBbdHlwZVNlbGVjdG9yT3BlbmVkLCBzZXRUeXBlU2VsZWN0b3JPcGVuZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgLy8gUHJldmVudCBzaGFkb3cgZWZmZWN0IGZyb20gYmVpbmcgYWRkZWQgbXVsdGlwbGUgdGltZXNcbiAgICBjb25zdCBlZmZlY3RPcHRpb25zOiBFZmZlY3RUeXBlU2VsZWN0b3JQcm9wc1snb3B0aW9ucyddID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBoYXNTaGFkb3cgPSBlZmZlY3RzLnNvbWUoZWZmZWN0ID0+IHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNEaXN0YW5jZUZvZyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IERJU1RBTkNFX0ZPR19UWVBFO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNTdXJmYWNlRm9nID0gZWZmZWN0cy5zb21lKGVmZmVjdCA9PiB7XG4gICAgICAgIHJldHVybiBlZmZlY3QudHlwZSA9PT0gU1VSRkFDRV9GT0dfVFlQRTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzQW55Rm9nID0gaGFzRGlzdGFuY2VGb2cgfHwgaGFzU3VyZmFjZUZvZztcblxuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMubWFwKGRlc2MgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oXG4gICAgICAgICAgICAoaGFzU2hhZG93ICYmIGRlc2MudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSkgfHxcbiAgICAgICAgICAgICAgKGhhc0FueUZvZyAmJiAoZGVzYy50eXBlID09PSBESVNUQU5DRV9GT0dfVFlQRSB8fCBkZXNjLnR5cGUgPT09IFNVUkZBQ0VfRk9HX1RZUEUpKVxuICAgICAgICAgIClcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtlZmZlY3RzXSk7XG5cbiAgICBjb25zdCBvbkFkZEVmZmVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgdHlwZSA9PiB7XG4gICAgICAgIHZpc1N0YXRlQWRkRWZmZWN0KHt0eXBlfSk7XG4gICAgICB9LFxuICAgICAgW3Zpc1N0YXRlQWRkRWZmZWN0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblR5cGVTZWxlY3RPcGVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKHRydWUpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9uVHlwZVNlbGVjdENsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyXCI+XG4gICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwiZWZmZWN0LXBhbmVsLWhlYWRlclwiPlxuICAgICAgICAgICAgPFNpZGVQYW5lbFRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyLXRpdGxlXCJcbiAgICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdlZmZlY3RNYW5hZ2VyLmVmZmVjdHMnfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZmZlY3RUeXBlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtlZmZlY3RPcHRpb25zfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkFkZEVmZmVjdH1cbiAgICAgICAgICAgICAgICBvbk9wZW49e29uVHlwZVNlbGVjdE9wZW59XG4gICAgICAgICAgICAgICAgb25CbHVyPXtvblR5cGVTZWxlY3RDbG9zZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU2lkZVBhbmVsVGl0bGU+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cblxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgZXh0ZW5kZWQ9e3R5cGVTZWxlY3Rvck9wZW5lZCAmJiBlZmZlY3RzLmxlbmd0aCA9PT0gMH0+XG4gICAgICAgICAgICA8RWZmZWN0TGlzdFxuICAgICAgICAgICAgICBlZmZlY3RzPXtlZmZlY3RzfVxuICAgICAgICAgICAgICBlZmZlY3RPcmRlcj17ZWZmZWN0T3JkZXJ9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBpc1NvcnRhYmxlPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoU3RhdGUoW3Zpc1N0YXRlTGVuc10sIHN0YXRlID0+IHN0YXRlLCB7XG4gICAgdmlzU3RhdGVBY3Rpb25zOiB7YWRkRWZmZWN0LCB1cGRhdGVFZmZlY3QsIHJlbW92ZUVmZmVjdCwgcmVvcmRlckVmZmVjdH1cbiAgfSkoaW5qZWN0SW50bChFZmZlY3RNYW5hZ2VyKSkgYXMgUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRWZmZWN0TWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQU9BLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQU1BLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUlBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGVBQUEsR0FBQU4sc0JBQUEsQ0FB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
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PanelHeaderActionFactory, { PanelHeaderActionIcon } from '../side-panel/panel-header-action';
3
3
  import { BaseProps } from '../common/icons';
4
- export declare type ActionItem = {
4
+ export type ActionItem = {
5
5
  key: string;
6
6
  isHidden?: boolean;
7
7
  tooltip: string;
@@ -10,7 +10,7 @@ export declare type ActionItem = {
10
10
  tooltipType?: 'error';
11
11
  onClick: () => void;
12
12
  };
13
- export declare type EffectPanelHeaderProps = {
13
+ export type EffectPanelHeaderProps = {
14
14
  type: string;
15
15
  listeners: any;
16
16
  effectId: string;