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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/dist/annotations/annotation-node.d.ts +11 -0
  2. package/dist/annotations/annotation-node.js +145 -0
  3. package/dist/annotations/annotation-overlay.d.ts +16 -0
  4. package/dist/annotations/annotation-overlay.js +166 -0
  5. package/dist/annotations/annotation-panel.d.ts +24 -0
  6. package/dist/annotations/annotation-panel.js +362 -0
  7. package/dist/annotations/annotation-text.d.ts +16 -0
  8. package/dist/annotations/annotation-text.js +150 -0
  9. package/dist/annotations/annotation-utils.d.ts +39 -0
  10. package/dist/annotations/annotation-utils.js +156 -0
  11. package/dist/annotations/index.d.ts +7 -0
  12. package/dist/annotations/index.js +53 -0
  13. package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
  14. package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
  15. package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
  16. package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
  17. package/dist/annotations/lexical-editor/index.d.ts +7 -0
  18. package/dist/annotations/lexical-editor/index.js +78 -0
  19. package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
  20. package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
  21. package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
  22. package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
  23. package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
  24. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
  25. package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
  26. package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
  27. package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
  28. package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
  29. package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
  30. package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
  31. package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
  32. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
  33. package/dist/bottom-widget.d.ts +1 -1
  34. package/dist/bottom-widget.js +12 -6
  35. package/dist/common/action-panel.js +1 -1
  36. package/dist/common/animation-control/animation-control.d.ts +1 -0
  37. package/dist/common/animation-control/animation-control.js +3 -1
  38. package/dist/common/animation-control/animation-controller.js +8 -6
  39. package/dist/common/animation-control/export-video-control.d.ts +9 -0
  40. package/dist/common/animation-control/export-video-control.js +43 -0
  41. package/dist/common/animation-control/playback-controls.d.ts +4 -2
  42. package/dist/common/animation-control/playback-controls.js +7 -4
  43. package/dist/common/checkbox.d.ts +5 -21
  44. package/dist/common/checkbox.js +58 -70
  45. package/dist/common/color-legend.d.ts +1 -1
  46. package/dist/common/color-legend.js +3 -3
  47. package/dist/common/data-table/canvas.d.ts +1 -1
  48. package/dist/common/data-table/index.d.ts +2 -2
  49. package/dist/common/data-table/index.js +3 -3
  50. package/dist/common/dnd-layer-items.d.ts +4 -0
  51. package/dist/common/dnd-layer-items.js +6 -2
  52. package/dist/common/error-boundary.d.ts +1 -1
  53. package/dist/common/file-uploader/file-upload.d.ts +1 -1
  54. package/dist/common/file-uploader/file-upload.js +4 -4
  55. package/dist/common/flex-container.d.ts +15 -7
  56. package/dist/common/histogram-plot.js +102 -53
  57. package/dist/common/icon-button.d.ts +53 -6
  58. package/dist/common/icons/3d-models/airplane.d.ts +14 -0
  59. package/dist/common/icons/3d-models/airplane.js +104 -0
  60. package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
  61. package/dist/common/icons/3d-models/bicycle.js +426 -0
  62. package/dist/common/icons/3d-models/boeing.d.ts +14 -0
  63. package/dist/common/icons/3d-models/boeing.js +119 -0
  64. package/dist/common/icons/3d-models/car.d.ts +14 -0
  65. package/dist/common/icons/3d-models/car.js +110 -0
  66. package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
  67. package/dist/common/icons/3d-models/cargoship.js +246 -0
  68. package/dist/common/icons/3d-models/evtol.d.ts +14 -0
  69. package/dist/common/icons/3d-models/evtol.js +134 -0
  70. package/dist/common/icons/3d-models/glider.d.ts +14 -0
  71. package/dist/common/icons/3d-models/glider.js +62 -0
  72. package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
  73. package/dist/common/icons/3d-models/helicopter.js +110 -0
  74. package/dist/common/icons/3d-models/scooter.d.ts +14 -0
  75. package/dist/common/icons/3d-models/scooter.js +159 -0
  76. package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
  77. package/dist/common/icons/3d-models/semitruck.js +177 -0
  78. package/dist/common/icons/3d-models/truck.d.ts +14 -0
  79. package/dist/common/icons/3d-models/truck.js +122 -0
  80. package/dist/common/icons/anchor_window.d.ts +1 -8
  81. package/dist/common/icons/anchor_window.js +17 -10
  82. package/dist/common/icons/annotation-text.d.ts +9 -0
  83. package/dist/common/icons/annotation-text.js +56 -0
  84. package/dist/common/icons/arrow-down-full.d.ts +2 -1
  85. package/dist/common/icons/arrow-down-full.js +1 -1
  86. package/dist/common/icons/folder.d.ts +10 -0
  87. package/dist/common/icons/folder.js +51 -0
  88. package/dist/common/icons/index.d.ts +2 -0
  89. package/dist/common/icons/index.js +15 -1
  90. package/dist/common/icons/timeline-marker.d.ts +2 -1
  91. package/dist/common/icons/timeline-marker.js +1 -1
  92. package/dist/common/item-selector/chickleted-input.d.ts +1 -1
  93. package/dist/common/item-selector/chickleted-input.js +5 -5
  94. package/dist/common/item-selector/dropdown-list.d.ts +1 -1
  95. package/dist/common/item-selector/dropdown-list.js +1 -1
  96. package/dist/common/item-selector/dropdown-select.d.ts +13 -7
  97. package/dist/common/item-selector/item-selector.d.ts +1 -1
  98. package/dist/common/item-selector/item-selector.js +1 -1
  99. package/dist/common/item-selector/typeahead.d.ts +4 -4
  100. package/dist/common/item-selector/typeahead.js +1 -3
  101. package/dist/common/layout-splitter.d.ts +45 -0
  102. package/dist/common/layout-splitter.js +231 -0
  103. package/dist/common/line-chart.d.ts +10 -3
  104. package/dist/common/line-chart.js +219 -52
  105. package/dist/common/modal.d.ts +11 -5
  106. package/dist/common/modal.js +1 -1
  107. package/dist/common/portaled.d.ts +17 -17
  108. package/dist/common/range-plot.js +4 -2
  109. package/dist/common/range-slider.d.ts +2 -0
  110. package/dist/common/range-slider.js +108 -45
  111. package/dist/common/slider/mouse-event.d.ts +1 -1
  112. package/dist/common/slider/mouse-event.js +1 -2
  113. package/dist/common/slider/slider-bar-handle.d.ts +1 -1
  114. package/dist/common/slider/slider-bar-handle.js +1 -1
  115. package/dist/common/slider/slider-handle.d.ts +3 -3
  116. package/dist/common/slider/slider-handle.js +1 -1
  117. package/dist/common/slider/slider.d.ts +8 -4
  118. package/dist/common/slider/slider.js +78 -35
  119. package/dist/common/styled-components.d.ts +628 -178
  120. package/dist/common/styled-components.js +2 -2
  121. package/dist/common/time-range-slider-time-title.d.ts +1 -1
  122. package/dist/common/time-range-slider-time-title.js +5 -5
  123. package/dist/common/time-range-slider.d.ts +2 -1
  124. package/dist/common/time-range-slider.js +19 -7
  125. package/dist/common/timeline-helpers.d.ts +3 -0
  126. package/dist/common/timeline-helpers.js +57 -0
  127. package/dist/common/timeline-slider.js +21 -12
  128. package/dist/common/toolbar-item.js +5 -5
  129. package/dist/common/toolbar.d.ts +1 -1
  130. package/dist/common/toolbar.js +4 -4
  131. package/dist/common/vertical-toolbar.d.ts +13 -3
  132. package/dist/container.d.ts +3 -2
  133. package/dist/container.js +2 -2
  134. package/dist/context.d.ts +1 -1
  135. package/dist/context.js +1 -1
  136. package/dist/dnd-context.d.ts +4 -3
  137. package/dist/dnd-context.js +64 -9
  138. package/dist/effects/compact-color-picker.d.ts +1 -1
  139. package/dist/effects/effect-configurator.d.ts +5 -6
  140. package/dist/effects/effect-configurator.js +213 -52
  141. package/dist/effects/effect-manager.js +3 -3
  142. package/dist/effects/effect-panel-header.js +34 -17
  143. package/dist/effects/effect-panel.d.ts +4 -4
  144. package/dist/effects/effect-panel.js +61 -86
  145. package/dist/effects/effect-time-configurator.js +10 -10
  146. package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
  147. package/dist/effects/effect-type-dropdown-list.js +1 -1
  148. package/dist/effects/effect-type-list-item.d.ts +2 -1
  149. package/dist/effects/effect-type-list-item.js +23 -7
  150. package/dist/effects/effect-type-selector.d.ts +1 -0
  151. package/dist/effects/effect-type-selector.js +2 -2
  152. package/dist/effects/surface-fog-section.d.ts +14 -0
  153. package/dist/effects/surface-fog-section.js +263 -0
  154. package/dist/filters/components.d.ts +7 -5
  155. package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
  156. package/dist/filters/index.d.ts +1 -0
  157. package/dist/filters/index.js +8 -1
  158. package/dist/filters/polygon-filter.js +2 -2
  159. package/dist/filters/time-range-filter.js +3 -1
  160. package/dist/filters/time-widget-settings.d.ts +14 -0
  161. package/dist/filters/time-widget-settings.js +312 -0
  162. package/dist/filters/time-widget-top.d.ts +2 -3
  163. package/dist/filters/time-widget-top.js +32 -39
  164. package/dist/filters/time-widget.d.ts +3 -2
  165. package/dist/filters/time-widget.js +285 -9
  166. package/dist/filters/types.d.ts +3 -3
  167. package/dist/filters/types.js +1 -1
  168. package/dist/geocoder/geocoder.d.ts +4 -1
  169. package/dist/geocoder/geocoder.js +61 -14
  170. package/dist/geocoder-panel.d.ts +3 -2
  171. package/dist/geocoder-panel.js +11 -8
  172. package/dist/hooks/use-dnd-layers.d.ts +4 -3
  173. package/dist/hooks/use-dnd-layers.js +103 -42
  174. package/dist/index.d.ts +17 -2
  175. package/dist/index.js +161 -9
  176. package/dist/injector.d.ts +1 -1
  177. package/dist/kepler-gl.d.ts +179 -27
  178. package/dist/kepler-gl.js +91 -12
  179. package/dist/loading-indicator.d.ts +3 -1
  180. package/dist/loading-indicator.js +6 -3
  181. package/dist/map/annotations/annotation-control.d.ts +16 -0
  182. package/dist/map/annotations/annotation-control.js +56 -0
  183. package/dist/map/layer-hover-info.d.ts +7 -3
  184. package/dist/map/layer-hover-info.js +124 -55
  185. package/dist/map/locale-panel.d.ts +1 -1
  186. package/dist/map/locale-panel.js +2 -2
  187. package/dist/map/map-control-panel.js +3 -2
  188. package/dist/map/map-control-toolbar.d.ts +33 -8
  189. package/dist/map/map-control.d.ts +14 -4
  190. package/dist/map/map-control.js +18 -8
  191. package/dist/map/map-draw-panel.d.ts +1 -1
  192. package/dist/map/map-draw-panel.js +7 -4
  193. package/dist/map/map-legend-panel.d.ts +11 -2
  194. package/dist/map/map-legend-panel.js +25 -8
  195. package/dist/map/map-legend.d.ts +20 -3
  196. package/dist/map/map-legend.js +145 -31
  197. package/dist/map/map-navigation-control.d.ts +13 -0
  198. package/dist/map/map-navigation-control.js +143 -0
  199. package/dist/map/map-popover.js +2 -2
  200. package/dist/map/split-map-button.d.ts +6 -1
  201. package/dist/map/split-map-button.js +113 -19
  202. package/dist/map-container.d.ts +13 -3
  203. package/dist/map-container.js +269 -59
  204. package/dist/map-view-state-context.d.ts +1 -0
  205. package/dist/map-view-state-context.js +1 -1
  206. package/dist/maps-layout.d.ts +3 -0
  207. package/dist/maps-layout.js +86 -26
  208. package/dist/modal-container.d.ts +3 -2
  209. package/dist/modal-container.js +28 -6
  210. package/dist/modals/add-map-style-modal.js +173 -200
  211. package/dist/modals/cloud-tile.d.ts +1 -2
  212. package/dist/modals/data-table-modal.d.ts +1 -1
  213. package/dist/modals/data-table-modal.js +146 -194
  214. package/dist/modals/export-data-modal.js +117 -139
  215. package/dist/modals/export-map-modal/components.d.ts +9 -5
  216. package/dist/modals/export-video-modal.d.ts +28 -0
  217. package/dist/modals/export-video-modal.js +371 -0
  218. package/dist/modals/export-video-modal.spec.d.ts +1 -0
  219. package/dist/modals/export-video-modal.spec.js +686 -0
  220. package/dist/modals/fog-height-animation.d.ts +8 -0
  221. package/dist/modals/fog-height-animation.js +97 -0
  222. package/dist/modals/hubble-utils.d.ts +41 -0
  223. package/dist/modals/hubble-utils.js +294 -0
  224. package/dist/modals/hubble-utils.spec.d.ts +1 -0
  225. package/dist/modals/hubble-utils.spec.js +397 -0
  226. package/dist/modals/modal-dialog.d.ts +1 -1
  227. package/dist/modals/share-map-modal.d.ts +2 -4
  228. package/dist/modals/swipe-composite-utils.d.ts +10 -0
  229. package/dist/modals/swipe-composite-utils.js +108 -0
  230. package/dist/modals/swipe-export-settings.d.ts +24 -0
  231. package/dist/modals/swipe-export-settings.js +370 -0
  232. package/dist/modals/swipe-export-video-container.d.ts +122 -0
  233. package/dist/modals/swipe-export-video-container.js +630 -0
  234. package/dist/modals/swipe-export-video-preview.d.ts +68 -0
  235. package/dist/modals/swipe-export-video-preview.js +339 -0
  236. package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
  237. package/dist/modals/tilesets-modals/load-tileset.js +21 -10
  238. package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
  239. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
  240. package/dist/modals/tilesets-modals/tileset-raster-form.js +90 -11
  241. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
  242. package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
  243. package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
  244. package/dist/notification-panel/notification-item.d.ts +1 -53
  245. package/dist/notification-panel/notification-item.js +47 -75
  246. package/dist/notification-panel.d.ts +1 -1
  247. package/dist/notification-panel.js +20 -42
  248. package/dist/plot-container.js +7 -6
  249. package/dist/side-panel/add-by-dataset-button.js +3 -3
  250. package/dist/side-panel/common/dataset-info.js +2 -2
  251. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
  252. package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
  253. package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
  254. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
  255. package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
  256. package/dist/side-panel/layer-manager.d.ts +5 -4
  257. package/dist/side-panel/layer-manager.js +26 -6
  258. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
  259. package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
  260. package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
  261. package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
  262. package/dist/side-panel/layer-panel/custom-palette.js +5 -5
  263. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
  264. package/dist/side-panel/layer-panel/dataset-layer-group.js +1 -1
  265. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
  266. package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
  267. package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
  268. package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
  269. package/dist/side-panel/layer-panel/layer-configurator.js +450 -76
  270. package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
  271. package/dist/side-panel/layer-panel/layer-group-header.js +179 -0
  272. package/dist/side-panel/layer-panel/layer-list.d.ts +9 -4
  273. package/dist/side-panel/layer-panel/layer-list.js +197 -40
  274. package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
  275. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
  276. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
  277. package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
  278. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
  279. package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
  280. package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
  281. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
  282. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -10
  283. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
  284. package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
  285. package/dist/side-panel/panel-header.d.ts +1 -0
  286. package/dist/side-panel/panel-header.js +9 -2
  287. package/dist/side-panel/panel-tab.d.ts +2 -4
  288. package/dist/side-panel/panel-tab.js +4 -4
  289. package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
  290. package/dist/side-panel/side-bar.d.ts +1 -6
  291. package/dist/side-panel.d.ts +1 -1
  292. package/dist/side-panel.js +5 -1
  293. package/dist/types.d.ts +2 -2
  294. package/dist/types.js +1 -1
  295. package/package.json +53 -48
  296. package/dist/map/layer-selector-panel.d.ts +0 -21
  297. package/dist/map/layer-selector-panel.js +0 -85
  298. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
  299. package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
@@ -6,12 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = NotificationItemFactory;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
11
  var _react = _interopRequireWildcard(require("react"));
17
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
@@ -23,8 +18,6 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
23
18
  // Copyright contributors to the kepler.gl project
24
19
  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
20
  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 _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
27
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
28
21
  var NotificationItemContentBlock = _styledComponents["default"].div.attrs({
29
22
  className: 'notification-item--content-block'
30
23
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n position: relative;\n width: ", "px;\n margin-left: auto;\n"])), function (props) {
@@ -74,75 +67,54 @@ var icons = {
74
67
  })
75
68
  };
76
69
  function NotificationItemFactory() {
77
- return /*#__PURE__*/function (_Component) {
78
- function NotificationItem() {
79
- var _this;
80
- (0, _classCallCheck2["default"])(this, NotificationItem);
81
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
82
- args[_key] = arguments[_key];
70
+ return function NotificationItem(_ref) {
71
+ var notification = _ref.notification,
72
+ removeNotification = _ref.removeNotification,
73
+ initialIsExpanded = _ref.isExpanded,
74
+ theme = _ref.theme;
75
+ var _useState = (0, _react.useState)(false),
76
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
77
+ isExpanded = _useState2[0],
78
+ setIsExpanded = _useState2[1];
79
+ (0, _react.useEffect)(function () {
80
+ if (initialIsExpanded) {
81
+ setIsExpanded(true);
83
82
  }
84
- _this = _callSuper(this, NotificationItem, [].concat(args));
85
- (0, _defineProperty2["default"])(_this, "state", {
86
- isExpanded: false
87
- });
88
- return _this;
89
- }
90
- (0, _inherits2["default"])(NotificationItem, _Component);
91
- return (0, _createClass2["default"])(NotificationItem, [{
92
- key: "componentDidMount",
93
- value: function componentDidMount() {
94
- if (this.props.isExpanded) {
95
- this.setState({
96
- isExpanded: true
97
- });
98
- }
83
+ }, [initialIsExpanded]);
84
+ return /*#__PURE__*/_react["default"].createElement(NotificationItemContentBlock, {
85
+ isExpanded: isExpanded,
86
+ theme: theme
87
+ }, (notification.count || 0) > 1 ? /*#__PURE__*/_react["default"].createElement(NotificationCounter, {
88
+ type: notification.type,
89
+ theme: theme
90
+ }, notification.count) : null, /*#__PURE__*/_react["default"].createElement(NotificationItemContent, {
91
+ className: "notification-item",
92
+ type: notification.type,
93
+ isExpanded: isExpanded,
94
+ onClick: function onClick() {
95
+ return setIsExpanded(!isExpanded);
99
96
  }
100
- }, {
101
- key: "render",
102
- value: function render() {
103
- var _this2 = this;
104
- var _this$props = this.props,
105
- notification = _this$props.notification,
106
- removeNotification = _this$props.removeNotification;
107
- var isExpanded = this.state.isExpanded;
108
- return /*#__PURE__*/_react["default"].createElement(NotificationItemContentBlock, {
109
- isExpanded: isExpanded,
110
- theme: this.props.theme
111
- }, (notification.count || 0) > 1 ? /*#__PURE__*/_react["default"].createElement(NotificationCounter, {
112
- type: notification.type,
113
- theme: this.props.theme
114
- }, notification.count) : null, /*#__PURE__*/_react["default"].createElement(NotificationItemContent, {
115
- className: "notification-item",
116
- type: notification.type,
117
- isExpanded: isExpanded,
118
- onClick: function onClick() {
119
- return _this2.setState({
120
- isExpanded: !isExpanded
121
- });
122
- }
123
- }, /*#__PURE__*/_react["default"].createElement(NotificationIcon, {
124
- className: "notification-item--icon"
125
- }, icons[notification.type]), /*#__PURE__*/_react["default"].createElement(NotificationMessage, {
126
- isExpanded: isExpanded,
127
- theme: this.props.theme
128
- }, /*#__PURE__*/_react["default"].createElement(_markdownToJsx["default"], {
129
- options: {
130
- overrides: {
131
- a: {
132
- component: _linkRenderer["default"]
133
- }
134
- }
135
- }
136
- }, notification.message)), typeof removeNotification === 'function' ? /*#__PURE__*/_react["default"].createElement("div", {
137
- className: "notification-item--action"
138
- }, /*#__PURE__*/_react["default"].createElement(DeleteIcon, {
139
- height: "10px",
140
- onClick: function onClick() {
141
- return removeNotification(notification.id);
97
+ }, /*#__PURE__*/_react["default"].createElement(NotificationIcon, {
98
+ className: "notification-item--icon"
99
+ }, icons[notification.type]), /*#__PURE__*/_react["default"].createElement(NotificationMessage, {
100
+ isExpanded: isExpanded,
101
+ theme: theme
102
+ }, /*#__PURE__*/_react["default"].createElement(_markdownToJsx["default"], {
103
+ options: {
104
+ overrides: {
105
+ a: {
106
+ component: _linkRenderer["default"]
142
107
  }
143
- })) : null));
108
+ }
109
+ }
110
+ }, notification.message)), typeof removeNotification === 'function' ? /*#__PURE__*/_react["default"].createElement("div", {
111
+ className: "notification-item--action"
112
+ }, /*#__PURE__*/_react["default"].createElement(DeleteIcon, {
113
+ height: "10px",
114
+ onClick: function onClick() {
115
+ return removeNotification(notification.id);
144
116
  }
145
- }]);
146
- }(_react.Component);
117
+ })) : null));
118
+ };
147
119
  }
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfbWFya2Rvd25Ub0pzeCIsIl9jb25zdGFudHMiLCJfbGlua1JlbmRlcmVyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIk5vdGlmaWNhdGlvbkl0ZW1Db250ZW50QmxvY2siLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm5vdGlmaWNhdGlvblBhbmVsSXRlbVdpZHRoIiwiTnVtYmVyIiwiaXNFeHBhbmRlZCIsIk5vdGlmaWNhdGlvbkl0ZW1Db250ZW50Iiwibm90aWZpY2F0aW9uQ29sb3JzIiwidHlwZSIsIm5vdGlmaWNhdGlvblBhbmVsSXRlbUhlaWdodCIsImJveFNoYWRvdyIsIkRlbGV0ZUljb24iLCJEZWxldGUiLCJOb3RpZmljYXRpb25Db3VudGVyIiwiTm90aWZpY2F0aW9uTWVzc2FnZSIsIk5vdGlmaWNhdGlvbkljb24iLCJpY29ucyIsImluZm8iLCJjcmVhdGVFbGVtZW50IiwiSW5mbyIsImRhdGFUZXN0SWRzIiwiaW5mb0ljb24iLCJ3YXJuaW5nIiwiV2FybmluZyIsIndhcm5pbmdJY29uIiwiZXJyb3IiLCJlcnJvckljb24iLCJzdWNjZXNzIiwiQ2hlY2ttYXJrIiwic3VjY2Vzc0ljb24iLCJOb3RpZmljYXRpb25JdGVtRmFjdG9yeSIsIl9Db21wb25lbnQiLCJOb3RpZmljYXRpb25JdGVtIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsImNvbXBvbmVudERpZE1vdW50Iiwic2V0U3RhdGUiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsIm5vdGlmaWNhdGlvbiIsInJlbW92ZU5vdGlmaWNhdGlvbiIsInN0YXRlIiwiY291bnQiLCJvbkNsaWNrIiwib3B0aW9ucyIsIm92ZXJyaWRlcyIsImNvbXBvbmVudCIsIkxpbmtSZW5kZXJlciIsIm1lc3NhZ2UiLCJoZWlnaHQiLCJpZCIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RpZmljYXRpb24tcGFuZWwvbm90aWZpY2F0aW9uLWl0ZW0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0RlbGV0ZSwgSW5mbywgV2FybmluZywgQ2hlY2ttYXJrfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IE1hcmtkb3duIGZyb20gJ21hcmtkb3duLXRvLWpzeCc7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIHJlbW92ZU5vdGlmaWNhdGlvbiBhcyByZW1vdmVOb3RpZmljYXRpb25BY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbXBvcnQgTGlua1JlbmRlcmVyIGZyb20gJy4uL2NvbW1vbi9saW5rLXJlbmRlcmVyJztcbmludGVyZmFjZSBOb3RpZmljYXRpb25JdGVtQ29udGVudEJsb2NrUHJvcHMge1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uSXRlbUNvbnRlbnRCbG9jayA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdub3RpZmljYXRpb24taXRlbS0tY29udGVudC1ibG9jaydcbn0pPE5vdGlmaWNhdGlvbkl0ZW1Db250ZW50QmxvY2tQcm9wcz5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvblBhbmVsSXRlbVdpZHRoICogKDEgKyBOdW1iZXIocHJvcHMuaXNFeHBhbmRlZCkpfXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbmA7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25JdGVtQ29udGVudFByb3BzIHtcbiAgdHlwZTogc3RyaW5nO1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uSXRlbUNvbnRlbnQgPSBzdHlsZWQuZGl2PE5vdGlmaWNhdGlvbkl0ZW1Db250ZW50UHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1twcm9wcy50eXBlXSB8fCAnIzAwMCd9O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uUGFuZWxJdGVtV2lkdGggKiAoMSArIE51bWJlcihwcm9wcy5pc0V4cGFuZGVkKSl9cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25QYW5lbEl0ZW1IZWlnaHQgKiAoMSArIE51bWJlcihwcm9wcy5pc0V4cGFuZGVkKSl9cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZzogMWVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxuY29uc3QgRGVsZXRlSWNvbiA9IHN0eWxlZChEZWxldGUpYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG5gO1xuXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uQ291bnRlclByb3BzIHtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5jb25zdCBOb3RpZmljYXRpb25Db3VudGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ25vdGlmaWNhdGlvbi1pdGVtLS1jb3VudGVyJ1xufSk8Tm90aWZpY2F0aW9uQ291bnRlclByb3BzPmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxlZnQ6IC00cHg7XG4gIGJvdHRvbTogLTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1twcm9wcy50eXBlXSB8fCAnIzAwMCd9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbcHJvcHMudHlwZV0gfHwgJyMwMDAnfTtcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3hTaGFkb3d9O1xuYDtcblxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbk1lc3NhZ2VQcm9wcyB7XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBOb3RpZmljYXRpb25NZXNzYWdlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ25vdGlmaWNhdGlvbi1pdGVtLS1tZXNzYWdlJ1xufSk8Tm90aWZpY2F0aW9uTWVzc2FnZVByb3BzPmBcbiAgZmxleC1ncm93OiAyO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25QYW5lbEl0ZW1XaWR0aH1weDtcbiAgbWFyZ2luOiAwIDFlbTtcbiAgb3ZlcmZsb3c6ICR7cHJvcHMgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnYXV0bycgOiAnaGlkZGVuJyl9O1xuICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5pc0V4cGFuZGVkID8gJzFlbScgOiAwKX07XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25JY29uID0gc3R5bGVkLmRpdmBcbiAgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIH1cbmA7XG5cbmNvbnN0IGljb25zID0ge1xuICBpbmZvOiA8SW5mbyBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMuaW5mb0ljb259IC8+LFxuICB3YXJuaW5nOiA8V2FybmluZyBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMud2FybmluZ0ljb259IC8+LFxuICBlcnJvcjogPFdhcm5pbmcgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLmVycm9ySWNvbn0gLz4sXG4gIHN1Y2Nlc3M6IDxDaGVja21hcmsgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLnN1Y2Nlc3NJY29ufSAvPlxufTtcblxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkl0ZW1Qcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb3VudD86IG51bWJlcjtcbiAgfTtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIHJlbW92ZU5vdGlmaWNhdGlvbj86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHJlbW92ZU5vdGlmaWNhdGlvbkFjdGlvbnM+O1xuICB0aGVtZT86IGFueTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTm90aWZpY2F0aW9uSXRlbUZhY3RvcnkoKSB7XG4gIHJldHVybiBjbGFzcyBOb3RpZmljYXRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50PE5vdGlmaWNhdGlvbkl0ZW1Qcm9wcz4ge1xuICAgIHN0YXRlID0ge1xuICAgICAgaXNFeHBhbmRlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2lzRXhwYW5kZWQ6IHRydWV9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7bm90aWZpY2F0aW9uLCByZW1vdmVOb3RpZmljYXRpb259ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtpc0V4cGFuZGVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxOb3RpZmljYXRpb25JdGVtQ29udGVudEJsb2NrIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9IHRoZW1lPXt0aGlzLnByb3BzLnRoZW1lfT5cbiAgICAgICAgICB7KG5vdGlmaWNhdGlvbi5jb3VudCB8fCAwKSA+IDEgPyAoXG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uQ291bnRlciB0eXBlPXtub3RpZmljYXRpb24udHlwZX0gdGhlbWU9e3RoaXMucHJvcHMudGhlbWV9PlxuICAgICAgICAgICAgICB7bm90aWZpY2F0aW9uLmNvdW50fVxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25Db3VudGVyPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxOb3RpZmljYXRpb25JdGVtQ29udGVudFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgdHlwZT17bm90aWZpY2F0aW9uLnR5cGV9XG4gICAgICAgICAgICBpc0V4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7aXNFeHBhbmRlZDogIWlzRXhwYW5kZWR9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uSWNvbiBjbGFzc05hbWU9XCJub3RpZmljYXRpb24taXRlbS0taWNvblwiPlxuICAgICAgICAgICAgICB7aWNvbnNbbm90aWZpY2F0aW9uLnR5cGVdfVxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25JY29uPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbk1lc3NhZ2UgaXNFeHBhbmRlZD17aXNFeHBhbmRlZH0gdGhlbWU9e3RoaXMucHJvcHMudGhlbWV9PlxuICAgICAgICAgICAgICA8TWFya2Rvd25cbiAgICAgICAgICAgICAgICBvcHRpb25zPXt7XG4gICAgICAgICAgICAgICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgYToge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogTGlua1JlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge25vdGlmaWNhdGlvbi5tZXNzYWdlfVxuICAgICAgICAgICAgICA8L01hcmtkb3duPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25NZXNzYWdlPlxuICAgICAgICAgICAge3R5cGVvZiByZW1vdmVOb3RpZmljYXRpb24gPT09ICdmdW5jdGlvbicgPyAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLWl0ZW0tLWFjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxEZWxldGVJY29uIGhlaWdodD1cIjEwcHhcIiBvbkNsaWNrPXsoKSA9PiByZW1vdmVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLmlkKX0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L05vdGlmaWNhdGlvbkl0ZW1Db250ZW50PlxuICAgICAgICA8L05vdGlmaWNhdGlvbkl0ZW1Db250ZW50QmxvY2s+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUFtRCxJQUFB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
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfbWFya2Rvd25Ub0pzeCIsIl9jb25zdGFudHMiLCJfbGlua1JlbmRlcmVyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJOb3RpZmljYXRpb25JdGVtQ29udGVudEJsb2NrIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJub3RpZmljYXRpb25QYW5lbEl0ZW1XaWR0aCIsIk51bWJlciIsImlzRXhwYW5kZWQiLCJOb3RpZmljYXRpb25JdGVtQ29udGVudCIsIm5vdGlmaWNhdGlvbkNvbG9ycyIsInR5cGUiLCJub3RpZmljYXRpb25QYW5lbEl0ZW1IZWlnaHQiLCJib3hTaGFkb3ciLCJEZWxldGVJY29uIiwiRGVsZXRlIiwiTm90aWZpY2F0aW9uQ291bnRlciIsIk5vdGlmaWNhdGlvbk1lc3NhZ2UiLCJOb3RpZmljYXRpb25JY29uIiwiaWNvbnMiLCJpbmZvIiwiY3JlYXRlRWxlbWVudCIsIkluZm8iLCJkYXRhVGVzdElkcyIsImluZm9JY29uIiwid2FybmluZyIsIldhcm5pbmciLCJ3YXJuaW5nSWNvbiIsImVycm9yIiwiZXJyb3JJY29uIiwic3VjY2VzcyIsIkNoZWNrbWFyayIsInN1Y2Nlc3NJY29uIiwiTm90aWZpY2F0aW9uSXRlbUZhY3RvcnkiLCJOb3RpZmljYXRpb25JdGVtIiwiX3JlZiIsIm5vdGlmaWNhdGlvbiIsInJlbW92ZU5vdGlmaWNhdGlvbiIsImluaXRpYWxJc0V4cGFuZGVkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNFeHBhbmRlZCIsInVzZUVmZmVjdCIsImNvdW50Iiwib25DbGljayIsIm9wdGlvbnMiLCJvdmVycmlkZXMiLCJjb21wb25lbnQiLCJMaW5rUmVuZGVyZXIiLCJtZXNzYWdlIiwiaGVpZ2h0IiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90aWZpY2F0aW9uLXBhbmVsL25vdGlmaWNhdGlvbi1pdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZSwgdXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7RGVsZXRlLCBJbmZvLCBXYXJuaW5nLCBDaGVja21hcmt9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgTWFya2Rvd24gZnJvbSAnbWFya2Rvd24tdG8tanN4JztcbmltcG9ydCB7ZGF0YVRlc3RJZHN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7QWN0aW9uSGFuZGxlciwgcmVtb3ZlTm90aWZpY2F0aW9uIGFzIHJlbW92ZU5vdGlmaWNhdGlvbkFjdGlvbnN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCBMaW5rUmVuZGVyZXIgZnJvbSAnLi4vY29tbW9uL2xpbmstcmVuZGVyZXInO1xuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkl0ZW1Db250ZW50QmxvY2tQcm9wcyB7XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBOb3RpZmljYXRpb25JdGVtQ29udGVudEJsb2NrID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ25vdGlmaWNhdGlvbi1pdGVtLS1jb250ZW50LWJsb2NrJ1xufSk8Tm90aWZpY2F0aW9uSXRlbUNvbnRlbnRCbG9ja1Byb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uUGFuZWxJdGVtV2lkdGggKiAoMSArIE51bWJlcihwcm9wcy5pc0V4cGFuZGVkKSl9cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuYDtcblxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkl0ZW1Db250ZW50UHJvcHMge1xuICB0eXBlOiBzdHJpbmc7XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBOb3RpZmljYXRpb25JdGVtQ29udGVudCA9IHN0eWxlZC5kaXY8Tm90aWZpY2F0aW9uSXRlbUNvbnRlbnRQcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3Byb3BzLnR5cGVdIHx8ICcjMDAwJ307XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25QYW5lbEl0ZW1XaWR0aCAqICgxICsgTnVtYmVyKHByb3BzLmlzRXhwYW5kZWQpKX1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvblBhbmVsSXRlbUhlaWdodCAqICgxICsgTnVtYmVyKHByb3BzLmlzRXhwYW5kZWQpKX1weDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3hTaGFkb3d9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5jb25zdCBEZWxldGVJY29uID0gc3R5bGVkKERlbGV0ZSlgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbmA7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25Db3VudGVyUHJvcHMge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkNvdW50ZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbm90aWZpY2F0aW9uLWl0ZW0tLWNvdW50ZXInXG59KTxOb3RpZmljYXRpb25Db3VudGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGVmdDogLTRweDtcbiAgYm90dG9tOiAtNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3Byb3BzLnR5cGVdIHx8ICcjMDAwJ307XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1twcm9wcy50eXBlXSB8fCAnIzAwMCd9O1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG5gO1xuXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uTWVzc2FnZVByb3BzIHtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbm90aWZpY2F0aW9uLWl0ZW0tLW1lc3NhZ2UnXG59KTxOb3RpZmljYXRpb25NZXNzYWdlUHJvcHM+YFxuICBmbGV4LWdyb3c6IDI7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvblBhbmVsSXRlbVdpZHRofXB4O1xuICBtYXJnaW46IDAgMWVtO1xuICBvdmVyZmxvdzogJHtwcm9wcyA9PiAocHJvcHMuaXNFeHBhbmRlZCA/ICdhdXRvJyA6ICdoaWRkZW4nKX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnMWVtJyA6IDApfTtcblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkljb24gPSBzdHlsZWQuZGl2YFxuICBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgfVxuYDtcblxuY29uc3QgaWNvbnMgPSB7XG4gIGluZm86IDxJbmZvIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5pbmZvSWNvbn0gLz4sXG4gIHdhcm5pbmc6IDxXYXJuaW5nIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy53YXJuaW5nSWNvbn0gLz4sXG4gIGVycm9yOiA8V2FybmluZyBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMuZXJyb3JJY29ufSAvPixcbiAgc3VjY2VzczogPENoZWNrbWFyayBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMuc3VjY2Vzc0ljb259IC8+XG59O1xuXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uSXRlbVByb3BzIHtcbiAgbm90aWZpY2F0aW9uOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xuICB9O1xuICBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgcmVtb3ZlTm90aWZpY2F0aW9uPzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgcmVtb3ZlTm90aWZpY2F0aW9uQWN0aW9ucz47XG4gIHRoZW1lPzogYW55O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBOb3RpZmljYXRpb25JdGVtRmFjdG9yeSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIE5vdGlmaWNhdGlvbkl0ZW0oe1xuICAgIG5vdGlmaWNhdGlvbixcbiAgICByZW1vdmVOb3RpZmljYXRpb24sXG4gICAgaXNFeHBhbmRlZDogaW5pdGlhbElzRXhwYW5kZWQsXG4gICAgdGhlbWVcbiAgfTogTm90aWZpY2F0aW9uSXRlbVByb3BzKSB7XG4gICAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpbml0aWFsSXNFeHBhbmRlZCkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKHRydWUpO1xuICAgICAgfVxuICAgIH0sIFtpbml0aWFsSXNFeHBhbmRlZF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxOb3RpZmljYXRpb25JdGVtQ29udGVudEJsb2NrIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9IHRoZW1lPXt0aGVtZX0+XG4gICAgICAgIHsobm90aWZpY2F0aW9uLmNvdW50IHx8IDApID4gMSA/IChcbiAgICAgICAgICA8Tm90aWZpY2F0aW9uQ291bnRlciB0eXBlPXtub3RpZmljYXRpb24udHlwZX0gdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgICAgIHtub3RpZmljYXRpb24uY291bnR9XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25Db3VudGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPE5vdGlmaWNhdGlvbkl0ZW1Db250ZW50XG4gICAgICAgICAgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxuICAgICAgICAgIHR5cGU9e25vdGlmaWNhdGlvbi50eXBlfVxuICAgICAgICAgIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNFeHBhbmRlZCghaXNFeHBhbmRlZCl9XG4gICAgICAgID5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uSWNvbiBjbGFzc05hbWU9XCJub3RpZmljYXRpb24taXRlbS0taWNvblwiPlxuICAgICAgICAgICAge2ljb25zW25vdGlmaWNhdGlvbi50eXBlXX1cbiAgICAgICAgICA8L05vdGlmaWNhdGlvbkljb24+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvbk1lc3NhZ2UgaXNFeHBhbmRlZD17aXNFeHBhbmRlZH0gdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgICAgIDxNYXJrZG93blxuICAgICAgICAgICAgICBvcHRpb25zPXt7XG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgICAgICAgICAgICBhOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogTGlua1JlbmRlcmVyXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bm90aWZpY2F0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICA8L01hcmtkb3duPlxuICAgICAgICAgIDwvTm90aWZpY2F0aW9uTWVzc2FnZT5cbiAgICAgICAgICB7dHlwZW9mIHJlbW92ZU5vdGlmaWNhdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLWl0ZW0tLWFjdGlvblwiPlxuICAgICAgICAgICAgICA8RGVsZXRlSWNvbiBoZWlnaHQ9XCIxMHB4XCIgb25DbGljaz17KCkgPT4gcmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi5pZCl9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25JdGVtQ29udGVudD5cbiAgICAgIDwvTm90aWZpY2F0aW9uSXRlbUNvbnRlbnRCbG9jaz5cbiAgICApO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUFtRCxJQUFBTyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBVm5EO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWYsd0JBQUFlLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixD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
@@ -6,7 +6,7 @@ interface NotificationPanelProps {
6
6
  removeNotification?: typeof removeNotification;
7
7
  notifications: Notifications[];
8
8
  }
9
- declare function NotificationPanelFactory(NotificationItem: ReturnType<typeof NotificationItemFactory>): React.ComponentClass<NotificationPanelProps>;
9
+ declare function NotificationPanelFactory(NotificationItem: ReturnType<typeof NotificationItemFactory>): React.FC<NotificationPanelProps>;
10
10
  declare namespace NotificationPanelFactory {
11
11
  var deps: (typeof NotificationItemFactory)[];
12
12
  }
@@ -1,61 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = NotificationPanelFactory;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
- var _react = _interopRequireWildcard(require("react"));
9
+ var _react = _interopRequireDefault(require("react"));
17
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
18
11
  var _notificationItem = _interopRequireDefault(require("./notification-panel/notification-item"));
19
12
  var _constants = require("@kepler.gl/constants");
20
13
  var _templateObject; // SPDX-License-Identifier: MIT
21
14
  // Copyright contributors to the kepler.gl project
22
- 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); }
23
- 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; }
24
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
15
  var NotificationPanelContent = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background: transparent;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n padding: 4px;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n top: 1em;\n right: 1em;\n z-index: 10000;\n box-sizing: border-box;\n"])));
27
16
  NotificationPanelFactory.deps = [_notificationItem["default"]];
28
17
  function NotificationPanelFactory(NotificationItem) {
29
- var NotificationPanelUnmemoized = /*#__PURE__*/function (_Component) {
30
- function NotificationPanelUnmemoized() {
31
- (0, _classCallCheck2["default"])(this, NotificationPanelUnmemoized);
32
- return _callSuper(this, NotificationPanelUnmemoized, arguments);
33
- }
34
- (0, _inherits2["default"])(NotificationPanelUnmemoized, _Component);
35
- return (0, _createClass2["default"])(NotificationPanelUnmemoized, [{
36
- key: "render",
37
- value: function render() {
38
- var _this = this;
39
- var globalNotifications = this.props.notifications.filter(function (n) {
40
- return n.topic === _constants.DEFAULT_NOTIFICATION_TOPICS.global;
41
- });
42
- return /*#__PURE__*/_react["default"].createElement(NotificationPanelContent, {
43
- className: "notification-panel",
44
- style: {
45
- display: globalNotifications.length ? 'block' : 'none'
46
- }
47
- }, globalNotifications.map(function (n) {
48
- return /*#__PURE__*/_react["default"].createElement(NotificationItem, {
49
- key: n.id,
50
- notification: n,
51
- removeNotification: _this.props.removeNotification
52
- });
53
- }));
18
+ var NotificationPanel = function NotificationPanel(_ref) {
19
+ var notifications = _ref.notifications,
20
+ removeNotification = _ref.removeNotification;
21
+ var globalNotifications = notifications.filter(function (n) {
22
+ return n.topic === _constants.DEFAULT_NOTIFICATION_TOPICS.global;
23
+ });
24
+ return /*#__PURE__*/_react["default"].createElement(NotificationPanelContent, {
25
+ className: "notification-panel",
26
+ style: {
27
+ display: globalNotifications.length ? 'block' : 'none'
54
28
  }
55
- }]);
56
- }(_react.Component);
57
- (0, _defineProperty2["default"])(NotificationPanelUnmemoized, "displayName", 'NotificationPanel');
58
- var NotificationPanel = /*#__PURE__*/_react["default"].memo(NotificationPanelUnmemoized);
29
+ }, globalNotifications.map(function (n) {
30
+ return /*#__PURE__*/_react["default"].createElement(NotificationItem, {
31
+ key: n.id,
32
+ notification: n,
33
+ removeNotification: removeNotification
34
+ });
35
+ }));
36
+ };
59
37
  return NotificationPanel;
60
38
  }
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbm90aWZpY2F0aW9uSXRlbSIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIk5vdGlmaWNhdGlvblBhbmVsQ29udGVudCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiTm90aWZpY2F0aW9uUGFuZWxGYWN0b3J5IiwiZGVwcyIsIk5vdGlmaWNhdGlvbkl0ZW1GYWN0b3J5IiwiTm90aWZpY2F0aW9uSXRlbSIsIk5vdGlmaWNhdGlvblBhbmVsVW5tZW1vaXplZCIsIl9Db21wb25lbnQiLCJfY2xhc3NDYWxsQ2hlY2syIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzIiwiZ2xvYmFsTm90aWZpY2F0aW9ucyIsInByb3BzIiwibm90aWZpY2F0aW9ucyIsImZpbHRlciIsInRvcGljIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInN0eWxlIiwiZGlzcGxheSIsImxlbmd0aCIsIm1hcCIsImlkIiwibm90aWZpY2F0aW9uIiwicmVtb3ZlTm90aWZpY2F0aW9uIiwiQ29tcG9uZW50IiwiX2RlZmluZVByb3BlcnR5MiIsIk5vdGlmaWNhdGlvblBhbmVsIiwiUmVhY3QiLCJtZW1vIl0sInNvdXJjZXMiOlsiLi4vc3JjL25vdGlmaWNhdGlvbi1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbkl0ZW1GYWN0b3J5IGZyb20gJy4vbm90aWZpY2F0aW9uLXBhbmVsL25vdGlmaWNhdGlvbi1pdGVtJztcbmltcG9ydCB7REVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtyZW1vdmVOb3RpZmljYXRpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmNvbnN0IE5vdGlmaWNhdGlvblBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDRweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMWVtO1xuICByaWdodDogMWVtO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmA7XG5cbk5vdGlmaWNhdGlvblBhbmVsRmFjdG9yeS5kZXBzID0gW05vdGlmaWNhdGlvbkl0ZW1GYWN0b3J5XTtcblxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvblBhbmVsUHJvcHMge1xuICByZW1vdmVOb3RpZmljYXRpb24/OiB0eXBlb2YgcmVtb3ZlTm90aWZpY2F0aW9uO1xuICBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25zW107XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE5vdGlmaWNhdGlvblBhbmVsRmFjdG9yeShcbiAgTm90aWZpY2F0aW9uSXRlbTogUmV0dXJuVHlwZTx0eXBlb2YgTm90aWZpY2F0aW9uSXRlbUZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRDbGFzczxOb3RpZmljYXRpb25QYW5lbFByb3BzPiB7XG4gIGNsYXNzIE5vdGlmaWNhdGlvblBhbmVsVW5tZW1vaXplZCBleHRlbmRzIENvbXBvbmVudDxOb3RpZmljYXRpb25QYW5lbFByb3BzPiB7XG4gICAgc3RhdGljIGRpc3BsYXlOYW1lID0gJ05vdGlmaWNhdGlvblBhbmVsJztcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IGdsb2JhbE5vdGlmaWNhdGlvbnMgPSB0aGlzLnByb3BzLm5vdGlmaWNhdGlvbnMuZmlsdGVyKFxuICAgICAgICBuID0+IG4udG9waWMgPT09IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUy5nbG9iYWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Tm90aWZpY2F0aW9uUGFuZWxDb250ZW50XG4gICAgICAgICAgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLXBhbmVsXCJcbiAgICAgICAgICBzdHlsZT17e2Rpc3BsYXk6IGdsb2JhbE5vdGlmaWNhdGlvbnMubGVuZ3RoID8gJ2Jsb2NrJyA6ICdub25lJ319XG4gICAgICAgID5cbiAgICAgICAgICB7Z2xvYmFsTm90aWZpY2F0aW9ucy5tYXAobiA9PiAoXG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uSXRlbVxuICAgICAgICAgICAgICBrZXk9e24uaWR9XG4gICAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bn1cbiAgICAgICAgICAgICAgcmVtb3ZlTm90aWZpY2F0aW9uPXt0aGlzLnByb3BzLnJlbW92ZU5vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvTm90aWZpY2F0aW9uUGFuZWxDb250ZW50PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBOb3RpZmljYXRpb25QYW5lbCA9IFJlYWN0Lm1lbW8oXG4gICAgTm90aWZpY2F0aW9uUGFuZWxVbm1lbW9pemVkXG4gICkgYXMgdW5rbm93biBhcyB0eXBlb2YgTm90aWZpY2F0aW9uUGFuZWxVbm1lbW9pemVkO1xuICByZXR1cm4gTm90aWZpY2F0aW9uUGFuZWw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQWlFLElBQUFLLGVBQUEsRUFQakU7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUix3QkFBQVEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFXLFdBQUFoQixDQUFBLEVBQUFpQixDQUFBLEVBQUFwQixDQUFBLFdBQUFvQixDQUFBLE9BQUFDLGdCQUFBLGFBQUFELENBQUEsT0FBQUUsMkJBQUEsYUFBQW5CLENBQUEsRUFBQW9CLHlCQUFBLEtBQUFDLE9BQUEsQ0FBQUMsU0FBQSxDQUFBTCxDQUFBLEVBQUFwQixDQUFBLFlBQUFxQixnQkFBQSxhQUFBbEIsQ0FBQSxFQUFBdUIsV0FBQSxJQUFBTixDQUFBLENBQUFPLEtBQUEsQ0FBQXhCLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUF1QiwwQkFBQSxjQUFBcEIsQ0FBQSxJQUFBeUIsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQWQsSUFBQSxDQUFBUSxPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQXpCLENBQUEsYUFBQW9CLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUFwQixDQUFBO0FBVUEsSUFBTTRCLHdCQUF3QixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFuQyxlQUFBLEtBQUFBLGVBQUEsT0FBQW9DLHVCQUFBLHVSQWExQztBQUVEQyx3QkFBd0IsQ0FBQ0MsSUFBSSxHQUFHLENBQUNDLDRCQUF1QixDQUFDO0FBTzFDLFNBQVNGLHdCQUF3QkEsQ0FDOUNHLGdCQUE0RCxFQUNkO0VBQUEsSUFDeENDLDJCQUEyQiwwQkFBQUMsVUFBQTtJQUFBLFNBQUFELDRCQUFBO01BQUEsSUFBQUUsZ0JBQUEsbUJBQUFGLDJCQUFBO01BQUEsT0FBQXBCLFVBQUEsT0FBQW9CLDJCQUFBLEVBQUFHLFNBQUE7SUFBQTtJQUFBLElBQUFDLFVBQUEsYUFBQUosMkJBQUEsRUFBQUMsVUFBQTtJQUFBLFdBQUFJLGFBQUEsYUFBQUwsMkJBQUE7TUFBQU0sR0FBQTtNQUFBQyxLQUFBLEVBRy9CLFNBQUFDLE1BQU1BLENBQUEsRUFBRztRQUFBLElBQUFDLEtBQUE7UUFDUCxJQUFNQyxtQkFBbUIsR0FBRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsYUFBYSxDQUFDQyxNQUFNLENBQ3pELFVBQUE1QyxDQUFDO1VBQUEsT0FBSUEsQ0FBQyxDQUFDNkMsS0FBSyxLQUFLQyxzQ0FBMkIsQ0FBQ0MsTUFBTTtRQUFBLENBQ3JELENBQUM7UUFDRCxvQkFDRWhFLE1BQUEsWUFBQWlFLGFBQUEsQ0FBQ3pCLHdCQUF3QjtVQUN2QjBCLFNBQVMsRUFBQyxvQkFBb0I7VUFDOUJDLEtBQUssRUFBRTtZQUFDQyxPQUFPLEVBQUVWLG1CQUFtQixDQUFDVyxNQUFNLEdBQUcsT0FBTyxHQUFHO1VBQU07UUFBRSxHQUUvRFgsbUJBQW1CLENBQUNZLEdBQUcsQ0FBQyxVQUFBckQsQ0FBQztVQUFBLG9CQUN4QmpCLE1BQUEsWUFBQWlFLGFBQUEsQ0FBQ2xCLGdCQUFnQjtZQUNmTyxHQUFHLEVBQUVyQyxDQUFDLENBQUNzRCxFQUFHO1lBQ1ZDLFlBQVksRUFBRXZELENBQUU7WUFDaEJ3RCxrQkFBa0IsRUFBRWhCLEtBQUksQ0FBQ0UsS0FBSyxDQUFDYztVQUFtQixDQUNuRCxDQUFDO1FBQUEsQ0FDSCxDQUN1QixDQUFDO01BRS9CO0lBQUM7RUFBQSxFQXJCdUNDLGdCQUFTO0VBQUEsSUFBQUMsZ0JBQUEsYUFBN0MzQiwyQkFBMkIsaUJBQ1YsbUJBQW1CO0VBdUIxQyxJQUFNNEIsaUJBQWlCLGdCQUFHQyxpQkFBSyxDQUFDQyxJQUFJLENBQ2xDOUIsMkJBQ0YsQ0FBa0Q7RUFDbEQsT0FBTzRCLGlCQUFpQjtBQUMxQiIsImlnbm9yZUxpc3QiOltdfQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX25vdGlmaWNhdGlvbkl0ZW0iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiTm90aWZpY2F0aW9uUGFuZWxDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJOb3RpZmljYXRpb25QYW5lbEZhY3RvcnkiLCJkZXBzIiwiTm90aWZpY2F0aW9uSXRlbUZhY3RvcnkiLCJOb3RpZmljYXRpb25JdGVtIiwiTm90aWZpY2F0aW9uUGFuZWwiLCJfcmVmIiwibm90aWZpY2F0aW9ucyIsInJlbW92ZU5vdGlmaWNhdGlvbiIsImdsb2JhbE5vdGlmaWNhdGlvbnMiLCJmaWx0ZXIiLCJuIiwidG9waWMiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJkaXNwbGF5IiwibGVuZ3RoIiwibWFwIiwia2V5IiwiaWQiLCJub3RpZmljYXRpb24iXSwic291cmNlcyI6WyIuLi9zcmMvbm90aWZpY2F0aW9uLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBOb3RpZmljYXRpb25JdGVtRmFjdG9yeSBmcm9tICcuL25vdGlmaWNhdGlvbi1wYW5lbC9ub3RpZmljYXRpb24taXRlbSc7XG5pbXBvcnQge0RFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25zfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7cmVtb3ZlTm90aWZpY2F0aW9ufSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5jb25zdCBOb3RpZmljYXRpb25QYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiA0cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFlbTtcbiAgcmlnaHQ6IDFlbTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gO1xuXG5Ob3RpZmljYXRpb25QYW5lbEZhY3RvcnkuZGVwcyA9IFtOb3RpZmljYXRpb25JdGVtRmFjdG9yeV07XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25QYW5lbFByb3BzIHtcbiAgcmVtb3ZlTm90aWZpY2F0aW9uPzogdHlwZW9mIHJlbW92ZU5vdGlmaWNhdGlvbjtcbiAgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uc1tdO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBOb3RpZmljYXRpb25QYW5lbEZhY3RvcnkoXG4gIE5vdGlmaWNhdGlvbkl0ZW06IFJldHVyblR5cGU8dHlwZW9mIE5vdGlmaWNhdGlvbkl0ZW1GYWN0b3J5PlxuKTogUmVhY3QuRkM8Tm90aWZpY2F0aW9uUGFuZWxQcm9wcz4ge1xuICBjb25zdCBOb3RpZmljYXRpb25QYW5lbDogUmVhY3QuRkM8Tm90aWZpY2F0aW9uUGFuZWxQcm9wcz4gPSAoe1xuICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgcmVtb3ZlTm90aWZpY2F0aW9uXG4gIH0pID0+IHtcbiAgICBjb25zdCBnbG9iYWxOb3RpZmljYXRpb25zID0gbm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICBuID0+IG4udG9waWMgPT09IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUy5nbG9iYWxcbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxOb3RpZmljYXRpb25QYW5lbENvbnRlbnRcbiAgICAgICAgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLXBhbmVsXCJcbiAgICAgICAgc3R5bGU9e3tkaXNwbGF5OiBnbG9iYWxOb3RpZmljYXRpb25zLmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSd9fVxuICAgICAgPlxuICAgICAgICB7Z2xvYmFsTm90aWZpY2F0aW9ucy5tYXAobiA9PiAoXG4gICAgICAgICAgPE5vdGlmaWNhdGlvbkl0ZW0ga2V5PXtuLmlkfSBub3RpZmljYXRpb249e259IHJlbW92ZU5vdGlmaWNhdGlvbj17cmVtb3ZlTm90aWZpY2F0aW9ufSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvTm90aWZpY2F0aW9uUGFuZWxDb250ZW50PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIE5vdGlmaWNhdGlvblBhbmVsO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxpQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQWlFLElBQUFJLGVBQUEsRUFQakU7QUFDQTtBQVVBLElBQU1DLHdCQUF3QixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFILGVBQUEsS0FBQUEsZUFBQSxPQUFBSSx1QkFBQSx1UkFhMUM7QUFFREMsd0JBQXdCLENBQUNDLElBQUksR0FBRyxDQUFDQyw0QkFBdUIsQ0FBQztBQU8xQyxTQUFTRix3QkFBd0JBLENBQzlDRyxnQkFBNEQsRUFDMUI7RUFDbEMsSUFBTUMsaUJBQW1ELEdBQUcsU0FBdERBLGlCQUFtREEsQ0FBQUMsSUFBQSxFQUduRDtJQUFBLElBRkpDLGFBQWEsR0FBQUQsSUFBQSxDQUFiQyxhQUFhO01BQ2JDLGtCQUFrQixHQUFBRixJQUFBLENBQWxCRSxrQkFBa0I7SUFFbEIsSUFBTUMsbUJBQW1CLEdBQUdGLGFBQWEsQ0FBQ0csTUFBTSxDQUM5QyxVQUFBQyxDQUFDO01BQUEsT0FBSUEsQ0FBQyxDQUFDQyxLQUFLLEtBQUtDLHNDQUEyQixDQUFDQyxNQUFNO0lBQUEsQ0FDckQsQ0FBQztJQUVELG9CQUNFeEIsTUFBQSxZQUFBeUIsYUFBQSxDQUFDbEIsd0JBQXdCO01BQ3ZCbUIsU0FBUyxFQUFDLG9CQUFvQjtNQUM5QkMsS0FBSyxFQUFFO1FBQUNDLE9BQU8sRUFBRVQsbUJBQW1CLENBQUNVLE1BQU0sR0FBRyxPQUFPLEdBQUc7TUFBTTtJQUFFLEdBRS9EVixtQkFBbUIsQ0FBQ1csR0FBRyxDQUFDLFVBQUFULENBQUM7TUFBQSxvQkFDeEJyQixNQUFBLFlBQUF5QixhQUFBLENBQUNYLGdCQUFnQjtRQUFDaUIsR0FBRyxFQUFFVixDQUFDLENBQUNXLEVBQUc7UUFBQ0MsWUFBWSxFQUFFWixDQUFFO1FBQUNILGtCQUFrQixFQUFFQTtNQUFtQixDQUFFLENBQUM7SUFBQSxDQUN6RixDQUN1QixDQUFDO0VBRS9CLENBQUM7RUFFRCxPQUFPSCxpQkFBaUI7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -12,7 +12,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
- var _reactMapGl = require("react-map-gl");
16
15
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
17
16
  var _utils = require("@kepler.gl/utils");
18
17
  var _reducers = require("@kepler.gl/reducers");
@@ -60,7 +59,7 @@ PlotContainerFactory.deps = [_mapContainer["default"], _mapsLayout["default"]];
60
59
  // Remove split viewport UI controls from exported images when the legend is shown
61
60
 
62
61
  var StyledPlotContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .maplibregl-ctrl-bottom-left,\n .maplibregl-ctrl-bottom-right,\n .maplibre-attribution-container,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapbox-attribution-container,\n .map-control__panel-split-viewport-tools {\n display: none;\n }\n\n position: absolute;\n top: ", "px;\n left: ", "px;\n\n /* Apply zoom to legend panel based on export height */\n .map-control-panel {\n zoom: ", " !important;\n }\n"])), OUT_OF_SCREEN_POSITION, OUT_OF_SCREEN_POSITION, function (props) {
63
- return props.legendZoom || 1;
62
+ return props.$legendZoom || 1;
64
63
  });
65
64
  var StyledMapContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n height: ", "px;\n display: flex;\n"])), function (props) {
66
65
  return props.width;
@@ -223,10 +222,12 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
223
222
 
224
223
  // Memoize map state
225
224
  var newMapState = (0, _react.useMemo)(function () {
225
+ var zoomOffset = Math.log2(scale) || 0;
226
226
  var baseMapState = _objectSpread(_objectSpread({}, mapState), {}, {
227
227
  width: width,
228
228
  height: height,
229
- zoom: mapState.zoom + (Math.log2(scale) || 0)
229
+ zoom: mapState.zoom + zoomOffset,
230
+ zoomOffset: zoomOffset
230
231
  });
231
232
  if (center) {
232
233
  var renderedLayers = mapFields.visState.layers.filter(function (layer, idx) {
@@ -262,10 +263,10 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
262
263
  settings: (_mapFields$mapControl = mapFields.mapControls) === null || _mapFields$mapControl === void 0 || (_mapFields$mapControl = _mapFields$mapControl.mapLegend) === null || _mapFields$mapControl === void 0 ? void 0 : _mapFields$mapControl.settings
263
264
  }
264
265
  },
265
- MapComponent: _reactMapGl.Map,
266
266
  onMapRender: onMapRender,
267
267
  isExport: true,
268
268
  deckGlProps: _objectSpread(_objectSpread({}, mapFields.deckGlProps), {}, {
269
+ _isExport: true,
269
270
  useDevicePixels: false,
270
271
  deviceProps: {
271
272
  webgl: {
@@ -297,7 +298,7 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
297
298
  }));
298
299
  return /*#__PURE__*/_react["default"].createElement(StyledPlotContainer, {
299
300
  className: "export-map-instance",
300
- legendZoom: legendZoom
301
+ $legendZoom: legendZoom
301
302
  }, /*#__PURE__*/_react["default"].createElement(StyledMapContainer, {
302
303
  ref: plottingAreaRef,
303
304
  width: size.width,
@@ -308,4 +309,4 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
308
309
  }
309
310
  return /*#__PURE__*/_react["default"].memo(PlotContainer);
310
311
  }
311
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiY2FsY3VsYXRlTGVnZW5kWm9vbSIsImhlaWdodCIsImJhc2VIZWlnaHQiLCJtaW5ab29tIiwibWF4Wm9vbSIsIk51bWJlciIsImlzRmluaXRlIiwiem9vbUZhY3RvciIsIk1hdGgiLCJtYXgiLCJtaW4iLCJQbG90Q29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBDb250YWluZXJGYWN0b3J5IiwiTWFwc0xheW91dEZhY3RvcnkiLCJTdHlsZWRQbG90Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsImxlZ2VuZFpvb20iLCJTdHlsZWRNYXBDb250YWluZXIiLCJ3aWR0aCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwiZGVja0xheWVyc0xvYWRpbmdSZWYiLCJtYXBTdHlsZUxvYWRlZFJlZiIsInNjcmVlbnNob3RUYWtlblJlZiIsInNjYWxlIiwidXNlTWVtbyIsImNhbGN1bGF0ZWRTY2FsZSIsImdldFNjYWxlRnJvbUltYWdlU2l6ZSIsImltYWdlVyIsImltYWdlSCIsImlzU3BsaXQiLCJzY2FsZWRNYXBTdHlsZSIsIm1hcFN0eWxlIiwiYm90dG9tTWFwU3R5bGUiLCJzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uIiwidG9wTWFwU3R5bGUiLCJkZWJvdW5jZWRTY3JlZW5zaG90IiwiZGVib3VuY2UiLCJjdXJyZW50IiwiY29udmVydFRvUG5nIiwidGhlbiIsImVyciIsImV4cG9ydEltYWdlRXJyb3IiLCJyZXRyaWV2ZU5ld1NjcmVlbnNob3QiLCJ1c2VDYWxsYmFjayIsInRyeVNjcmVlbnNob3QiLCJ1c2VFZmZlY3QiLCJ0aW1lciIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJkZWJvdW5jZWRNYXBSZW5kZXIiLCJpc1N0eWxlTG9hZGVkIiwib25NYXBSZW5kZXIiLCJkZWNrUmVuZGVyQ2FsbGJhY2tzIiwib25EZWNrQWZ0ZXJSZW5kZXIiLCJkZWNrUHJvcHMiLCJsYXllcnMiLCJzdGlsbExvYWRpbmciLCJhcmVBbnlEZWNrTGF5ZXJzTG9hZGluZyIsInByb2Nlc3NpbmciLCJ1bmRlZmluZWQiLCJfdXNlTWVtbyIsInNpemUiLCJuZXdNYXBTdGF0ZSIsImJhc2VNYXBTdGF0ZSIsInpvb20iLCJsb2cyIiwicmVuZGVyZWRMYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImxheWVyRGF0YSIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsIm1hcFByb3BzIiwiX21hcEZpZWxkcyRtYXBDb250cm9sIiwibWFwQ29udHJvbHMiLCJtYXBMZWdlbmQiLCJzaG93IiwiQm9vbGVhbiIsImFjdGl2ZSIsInNldHRpbmdzIiwiTWFwQ29tcG9uZW50IiwiTWFwIiwiaXNFeHBvcnQiLCJkZWNrR2xQcm9wcyIsInVzZURldmljZVBpeGVscyIsImRldmljZVByb3BzIiwid2ViZ2wiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJtYXBDb250YWluZXJzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImluZGV4IiwicHJpbWFyeSIsImtleSIsInJlZiIsIk1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciIsIlJlYWN0IiwibWVtbyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wbG90LWNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gbGlicmFyaWVzXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7TWFwfSBmcm9tICdyZWFjdC1tYXAtZ2wnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQge1xuICBleHBvcnRJbWFnZUVycm9yLFxuICBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uLFxuICBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyxcbiAgY29udmVydFRvUG5nLFxuICBnZXRTY2FsZUZyb21JbWFnZVNpemVcbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2ZpbmRNYXBCb3VuZHMsIGFyZUFueURlY2tMYXllcnNMb2FkaW5nfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBsZWdlbmQgem9vbSBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gKiBNYXBzIGV4cG9ydCBoZWlnaHQgdG8gYSB6b29tIGZhY3RvciBiZXR3ZWVuIDAuNSBhbmQgM1xuICogQHBhcmFtIGhlaWdodCAtIGV4cG9ydCBoZWlnaHQgaW4gcGl4ZWxzXG4gKiBAcmV0dXJucyB6b29tIGZhY3RvciBmb3IgbGVnZW5kIHBhbmVsXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaGVpZ2h0OiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBiYXNlSGVpZ2h0ID0gMTA4MDsgLy8gMXggem9vbSByZWZlcmVuY2UgaGVpZ2h0XG4gIGNvbnN0IG1pblpvb20gPSAwLjU7XG4gIGNvbnN0IG1heFpvb20gPSAzO1xuXG4gIC8vIEZvciBpbml0aWFsL2ludmFsaWQgaGVpZ2h0cywgYXZvaWQgc2hyaW5raW5nIHRoZSBsZWdlbmQ7IHVzZSBubyBzY2FsaW5nLlxuICBpZiAoIU51bWJlci5pc0Zpbml0ZShoZWlnaHQpIHx8IGhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBMaW5lYXIgbWFwcGluZzogaGVpZ2h0IC8gYmFzZUhlaWdodCBnaXZlcyB1cyB0aGUgc2NhbGVcbiAgY29uc3Qgem9vbUZhY3RvciA9IGhlaWdodCAvIGJhc2VIZWlnaHQ7XG4gIC8vIENsYW1wIGJldHdlZW4gbWluIGFuZCBtYXhcbiAgcmV0dXJuIE1hdGgubWF4KG1pblpvb20sIE1hdGgubWluKG1heFpvb20sIHpvb21GYWN0b3IpKTtcbn1cblxuUGxvdENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtNYXBDb250YWluZXJGYWN0b3J5LCBNYXBzTGF5b3V0RmFjdG9yeV07XG5cbi8vIFJlbW92ZSBtYXBib3ggbG9nbyBpbiBleHBvcnRlZCBtYXAsIGJlY2F1c2UgaXQgY29udGFpbnMgbm9uLWFzY2lpIGNoYXJhY3RlcnNcbi8vIFJlbW92ZSBzcGxpdCB2aWV3cG9ydCBVSSBjb250cm9scyBmcm9tIGV4cG9ydGVkIGltYWdlcyB3aGVuIHRoZSBsZWdlbmQgaXMgc2hvd25cbmludGVyZmFjZSBTdHlsZWRQbG90Q29udGFpbmVyUHJvcHMge1xuICBsZWdlbmRab29tPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRQbG90Q29udGFpbmVyUHJvcHM+YFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGxpYnJlLWF0dHJpYnV0aW9uLWNvbnRhaW5lcixcbiAgLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuICBsZWZ0OiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG5cbiAgLyogQXBwbHkgem9vbSB0byBsZWdlbmQgcGFuZWwgYmFzZWQgb24gZXhwb3J0IGhlaWdodCAqL1xuICAubWFwLWNvbnRyb2wtcGFuZWwge1xuICAgIHpvb206ICR7cHJvcHMgPT4gcHJvcHMubGVnZW5kWm9vbSB8fCAxfSAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udGFpbmVyUHJvcHMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5oZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5pbnRlcmZhY2UgUGxvdENvbnRhaW5lclByb3BzIHtcbiAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gIHJhdGlvPzogc3RyaW5nO1xuICByZXNvbHV0aW9uPzogc3RyaW5nO1xuICBsZWdlbmQ/OiBib29sZWFuO1xuICBjZW50ZXI/OiBib29sZWFuO1xuICBpbWFnZVNpemU6IEV4cG9ydEltYWdlWydpbWFnZVNpemUnXTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcblxuICAvLyBNYXAgc2V0dGluZ3NcbiAgbWFwRmllbGRzOiBSZXR1cm5UeXBlPHR5cGVvZiBtYXBGaWVsZHNTZWxlY3Rvcj47XG4gIHNwbGl0TWFwcz86IFNwbGl0TWFwW107XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIHNldEV4cG9ydEltYWdlU2V0dGluZzogdHlwZW9mIHNldEV4cG9ydEltYWdlU2V0dGluZztcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VEYXRhVXJpO1xuICBzZXRFeHBvcnRJbWFnZUVycm9yOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VFcnJvcjtcbiAgYWRkTm90aWZpY2F0aW9uOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBhZGROb3RpZmljYXRpb24+O1xuXG4gIC8vIEZsYWdzXG4gIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uPzogYm9vbGVhbjtcblxuICAvLyBPcHRpb25hbDogb3ZlcnJpZGUgbGVnZW5kIGhlYWRlciBsb2dvIGR1cmluZyBleHBvcnRcbiAgbG9nb0NvbXBvbmVudD86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGxvdENvbnRhaW5lckZhY3RvcnkoXG4gIE1hcENvbnRhaW5lcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udGFpbmVyRmFjdG9yeT4sXG4gIE1hcHNMYXlvdXQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcHNMYXlvdXRGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxQbG90Q29udGFpbmVyUHJvcHM+IHtcbiAgZnVuY3Rpb24gUGxvdENvbnRhaW5lcih7XG4gICAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gICAgcmF0aW8sXG4gICAgcmVzb2x1dGlvbixcbiAgICBsZWdlbmQgPSBmYWxzZSxcbiAgICBjZW50ZXIsXG4gICAgaW1hZ2VTaXplLFxuICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcblxuICAgIC8vIE1hcCBzZXR0aW5nc1xuICAgIG1hcEZpZWxkcyxcbiAgICBzcGxpdE1hcHMgPSBbXSxcblxuICAgIC8vIENhbGxiYWNrc1xuICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyxcbiAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgICBhZGROb3RpZmljYXRpb24sXG5cbiAgICAvLyBGbGFnc1xuICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgIGxvZ29Db21wb25lbnRcbiAgfTogUGxvdENvbnRhaW5lclByb3BzKSB7XG4gICAgY29uc3QgcGxvdHRpbmdBcmVhUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbcGxvdEVmZmVjdHNdID0gdXNlU3RhdGU8RWZmZWN0W10+KCgpID0+XG4gICAgICBtYXBGaWVsZHMudmlzU3RhdGUuZWZmZWN0cy5tYXAoZWZmZWN0ID0+IGVmZmVjdC5jbG9uZSgpKVxuICAgICk7XG5cbiAgICBjb25zdCB7bWFwU3RhdGV9ID0gbWFwRmllbGRzO1xuXG4gICAgY29uc3QgZGVja0xheWVyc0xvYWRpbmdSZWYgPSB1c2VSZWYodHJ1ZSk7XG4gICAgY29uc3QgbWFwU3R5bGVMb2FkZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHNjcmVlbnNob3RUYWtlblJlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBzY2FsZSBjYWxjdWxhdGlvblxuICAgIGNvbnN0IHNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoaW1hZ2VTaXplLnNjYWxlKSB7XG4gICAgICAgIHJldHVybiBpbWFnZVNpemUuc2NhbGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRTY2FsZSA9IGdldFNjYWxlRnJvbUltYWdlU2l6ZShcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgbWFwU3RhdGUud2lkdGggKiAobWFwU3RhdGUuaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgbWFwU3RhdGUuaGVpZ2h0XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gY2FsY3VsYXRlZFNjYWxlID4gMCA/IGNhbGN1bGF0ZWRTY2FsZSA6IDE7XG4gICAgfSwgW1xuICAgICAgaW1hZ2VTaXplLnNjYWxlLFxuICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICBtYXBTdGF0ZS53aWR0aCxcbiAgICAgIG1hcFN0YXRlLmhlaWdodCxcbiAgICAgIG1hcFN0YXRlLmlzU3BsaXRcbiAgICBdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIGxlZ2VuZCB6b29tIGNhbGN1bGF0aW9uIGJhc2VkIG9uIGV4cG9ydCBoZWlnaHRcbiAgICBjb25zdCBsZWdlbmRab29tID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gY2FsY3VsYXRlTGVnZW5kWm9vbShpbWFnZVNpemUuaW1hZ2VIKTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlSF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbWFwIHN0eWxlXG4gICAgY29uc3Qgc2NhbGVkTWFwU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG1hcFN0eWxlID0gbWFwRmllbGRzLm1hcFN0eWxlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWFwU3R5bGUsXG4gICAgICAgIGJvdHRvbU1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLmJvdHRvbU1hcFN0eWxlLCBzY2FsZSksXG4gICAgICAgIHRvcE1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLnRvcE1hcFN0eWxlLCBzY2FsZSlcbiAgICAgIH07XG4gICAgfSwgW21hcEZpZWxkcy5tYXBTdHlsZSwgc2NhbGVdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHJldHJpZXZlTmV3U2NyZWVuc2hvdCBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZFNjcmVlbnNob3QgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIGlmIChwbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udmVydFRvUG5nKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgICAgIGZpbHRlcjogRE9NX0ZJTFRFUl9GVU5DLFxuICAgICAgICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC50aGVuKHNldEV4cG9ydEltYWdlRGF0YVVyaSlcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgICAgYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgICAgICBhZGROb3RpZmljYXRpb25cbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkU2NyZWVuc2hvdCwgW2RlYm91bmNlZFNjcmVlbnNob3RdKTtcblxuICAgIGNvbnN0IHRyeVNjcmVlbnNob3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAobWFwU3R5bGVMb2FkZWRSZWYuY3VycmVudCAmJiAhZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCkge1xuICAgICAgICBzY3JlZW5zaG90VGFrZW5SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIHJldHJpZXZlTmV3U2NyZWVuc2hvdCgpO1xuICAgICAgfVxuICAgIH0sIFtyZXRyaWV2ZU5ld1NjcmVlbnNob3RdKTtcblxuICAgIC8vIEZhbGxiYWNrOiBpZiBsYXllcnMgbmV2ZXIgZmluaXNoIGxvYWRpbmcsIGNhcHR1cmUgYWZ0ZXIgdGltZW91dFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAoIXNjcmVlbnNob3RUYWtlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMzAwMDApO1xuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgfSwgW3RyeVNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG9uTWFwUmVuZGVyIGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkTWFwUmVuZGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKG1hcCA9PiB7XG4gICAgICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIG1hcFN0eWxlTG9hZGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFt0cnlTY3JlZW5zaG90XVxuICAgICk7XG5cbiAgICBjb25zdCBvbk1hcFJlbmRlciA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZE1hcFJlbmRlciwgW2RlYm91bmNlZE1hcFJlbmRlcl0pO1xuXG4gICAgY29uc3QgZGVja1JlbmRlckNhbGxiYWNrcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBvbkRlY2tBZnRlclJlbmRlcjogKGRlY2tQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgICAgICBjb25zdCBsYXllcnMgPSBkZWNrUHJvcHMubGF5ZXJzIGFzIGFueVtdO1xuICAgICAgICAgIGlmICghbGF5ZXJzKSByZXR1cm47XG4gICAgICAgICAgY29uc3Qgc3RpbGxMb2FkaW5nID0gYXJlQW55RGVja0xheWVyc0xvYWRpbmcobGF5ZXJzKTtcbiAgICAgICAgICBpZiAoZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCAmJiAhc3RpbGxMb2FkaW5nKSB7XG4gICAgICAgICAgICBkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgPSBzdGlsbExvYWRpbmc7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgW3RyeVNjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIC8vIEluaXRpYWwgc2V0dXAgZWZmZWN0XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgIH0sIFtzZXRFeHBvcnRJbWFnZVNldHRpbmddKTtcblxuICAgIC8vIFNjcmVlbnNob3QgdXBkYXRlIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocmF0aW8gIT09IHVuZGVmaW5lZCB8fCByZXNvbHV0aW9uICE9PSB1bmRlZmluZWQgfHwgbGVnZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nKHtwcm9jZXNzaW5nOiB0cnVlfSk7XG4gICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZCwgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLCB0cnlTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHNpemUgY2FsY3VsYXRpb25zXG4gICAgY29uc3Qge3NpemUsIHdpZHRoLCBoZWlnaHR9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBzaXplID0ge1xuICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyB8fCAxLFxuICAgICAgICBoZWlnaHQ6IGltYWdlU2l6ZS5pbWFnZUggfHwgMVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpemUsXG4gICAgICAgIHdpZHRoOiBzaXplLndpZHRoIC8gKGlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHRcbiAgICAgIH07XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZVcsIGltYWdlU2l6ZS5pbWFnZUgsIHNwbGl0TWFwcy5sZW5ndGhdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHN0YXRlXG4gICAgY29uc3QgbmV3TWFwU3RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGJhc2VNYXBTdGF0ZSA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHpvb206IG1hcFN0YXRlLnpvb20gKyAoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgfTtcblxuICAgICAgaWYgKGNlbnRlcikge1xuICAgICAgICBjb25zdCByZW5kZXJlZExheWVycyA9IG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllcnMuZmlsdGVyKFxuICAgICAgICAgIChsYXllciwgaWR4KSA9PlxuICAgICAgICAgICAgbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmXG4gICAgICAgICAgICBsYXllci5zaG91bGRSZW5kZXJMYXllcihtYXBGaWVsZHMudmlzU3RhdGUubGF5ZXJEYXRhW2lkeF0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGZpbmRNYXBCb3VuZHMocmVuZGVyZWRMYXllcnMpO1xuICAgICAgICBjb25zdCBjZW50ZXJBbmRab29tID0gZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMoYm91bmRzLCB7d2lkdGgsIGhlaWdodH0pO1xuICAgICAgICBpZiAoY2VudGVyQW5kWm9vbSkge1xuICAgICAgICAgIGNvbnN0IHpvb20gPSBOdW1iZXIuaXNGaW5pdGUoY2VudGVyQW5kWm9vbS56b29tKSA/IGNlbnRlckFuZFpvb20uem9vbSA6IG1hcFN0YXRlLnpvb207XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VNYXBTdGF0ZSxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMF0sXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMV0sXG4gICAgICAgICAgICB6b29tOiB6b29tICsgTnVtYmVyKE1hdGgubG9nMihzY2FsZSkgfHwgMClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlTWFwU3RhdGU7XG4gICAgfSwgW21hcFN0YXRlLCB3aWR0aCwgaGVpZ2h0LCBzY2FsZSwgY2VudGVyLCBtYXBGaWVsZHMudmlzU3RhdGVdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHByb3BzXG4gICAgY29uc3QgbWFwUHJvcHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgLi4ubWFwRmllbGRzLFxuICAgICAgICBtYXBTdHlsZTogc2NhbGVkTWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlOiBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbWFwQ29udHJvbHM6IHtcbiAgICAgICAgICBtYXBMZWdlbmQ6IHtcbiAgICAgICAgICAgIHNob3c6IEJvb2xlYW4obGVnZW5kKSxcbiAgICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgIHNldHRpbmdzOiBtYXBGaWVsZHMubWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3NcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIE1hcENvbXBvbmVudDogTWFwLFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLmRlY2tHbFByb3BzLFxuICAgICAgICAgIHVzZURldmljZVBpeGVsczogZmFsc2UsXG4gICAgICAgICAgZGV2aWNlUHJvcHM6IHtcbiAgICAgICAgICAgIHdlYmdsOiB7XG4gICAgICAgICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGVja1JlbmRlckNhbGxiYWNrcyxcbiAgICAgICAgdmlzU3RhdGU6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMudmlzU3RhdGUsXG4gICAgICAgICAgZWZmZWN0czogcGxvdEVmZmVjdHNcbiAgICAgICAgfSxcbiAgICAgICAgLy8gYWxsb3cgb3ZlcnJpZGluZyB0aGUgbGVnZW5kIHBhbmVsIGxvZ28gaW4gZXhwb3J0XG4gICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgIH0pLFxuICAgICAgW1xuICAgICAgICBtYXBGaWVsZHMsXG4gICAgICAgIHNjYWxlZE1hcFN0eWxlLFxuICAgICAgICBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbGVnZW5kLFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgZGVja1JlbmRlckNhbGxiYWNrcyxcbiAgICAgICAgcGxvdEVmZmVjdHMsXG4gICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgIGNvbnN0IG1hcENvbnRhaW5lcnMgPSAhaXNTcGxpdCA/IChcbiAgICAgIDxNYXBDb250YWluZXIgaW5kZXg9ezB9IHByaW1hcnk9e3RydWV9IHsuLi5tYXBQcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgPE1hcHNMYXlvdXQgY2xhc3NOYW1lPVwicGxvdC1jb250YWluZXItbWFwc1wiIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgIHtzcGxpdE1hcHMubWFwKChzZXR0aW5ncywgaW5kZXgpID0+IChcbiAgICAgICAgICA8TWFwQ29udGFpbmVyIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gcHJpbWFyeT17aW5kZXggPT09IDF9IHsuLi5tYXBQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L01hcHNMYXlvdXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUGxvdENvbnRhaW5lciBjbGFzc05hbWU9XCJleHBvcnQtbWFwLWluc3RhbmNlXCIgbGVnZW5kWm9vbT17bGVnZW5kWm9vbX0+XG4gICAgICAgIDxTdHlsZWRNYXBDb250YWluZXIgcmVmPXtwbG90dGluZ0FyZWFSZWZ9IHdpZHRoPXtzaXplLndpZHRofSBoZWlnaHQ9e3NpemUuaGVpZ2h0fT5cbiAgICAgICAgICA8TWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgICAgICB7bWFwQ29udGFpbmVyc31cbiAgICAgICAgICA8L01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFBsb3RDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdC5tZW1vKFBsb3RDb250YWluZXIpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFJQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9B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
312
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVib3VuY2UiLCJfdXRpbHMiLCJfcmVkdWNlcnMiLCJfbWFwQ29udGFpbmVyIiwiX21hcHNMYXlvdXQiLCJfbWFwVmlld1N0YXRlQ29udGV4dCIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiQ0xBU1NfRklMVEVSIiwiRE9NX0ZJTFRFUl9GVU5DIiwibm9kZSIsImluY2x1ZGVzIiwiY2xhc3NOYW1lIiwiT1VUX09GX1NDUkVFTl9QT1NJVElPTiIsImNhbGN1bGF0ZUxlZ2VuZFpvb20iLCJoZWlnaHQiLCJiYXNlSGVpZ2h0IiwibWluWm9vbSIsIm1heFpvb20iLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInpvb21GYWN0b3IiLCJNYXRoIiwibWF4IiwibWluIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCIkbGVnZW5kWm9vbSIsIlN0eWxlZE1hcENvbnRhaW5lciIsIndpZHRoIiwiTWFwQ29udGFpbmVyIiwiTWFwc0xheW91dCIsIlBsb3RDb250YWluZXIiLCJfcmVmIiwicmF0aW8iLCJyZXNvbHV0aW9uIiwiX3JlZiRsZWdlbmQiLCJsZWdlbmQiLCJjZW50ZXIiLCJpbWFnZVNpemUiLCJlc2NhcGVYaHRtbEZvcldlYnBhY2siLCJtYXBGaWVsZHMiLCJfcmVmJHNwbGl0TWFwcyIsInNwbGl0TWFwcyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlRGF0YVVyaSIsInNldEV4cG9ydEltYWdlRXJyb3IiLCJhZGROb3RpZmljYXRpb24iLCJlbmFibGVFcnJvck5vdGlmaWNhdGlvbiIsImxvZ29Db21wb25lbnQiLCJwbG90dGluZ0FyZWFSZWYiLCJ1c2VSZWYiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInZpc1N0YXRlIiwiZWZmZWN0cyIsIm1hcCIsImVmZmVjdCIsImNsb25lIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBsb3RFZmZlY3RzIiwibWFwU3RhdGUiLCJkZWNrTGF5ZXJzTG9hZGluZ1JlZiIsIm1hcFN0eWxlTG9hZGVkUmVmIiwic2NyZWVuc2hvdFRha2VuUmVmIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsImxlZ2VuZFpvb20iLCJzY2FsZWRNYXBTdHlsZSIsIm1hcFN0eWxlIiwiYm90dG9tTWFwU3R5bGUiLCJzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uIiwidG9wTWFwU3R5bGUiLCJkZWJvdW5jZWRTY3JlZW5zaG90IiwiZGVib3VuY2UiLCJjdXJyZW50IiwiY29udmVydFRvUG5nIiwidGhlbiIsImVyciIsImV4cG9ydEltYWdlRXJyb3IiLCJyZXRyaWV2ZU5ld1NjcmVlbnNob3QiLCJ1c2VDYWxsYmFjayIsInRyeVNjcmVlbnNob3QiLCJ1c2VFZmZlY3QiLCJ0aW1lciIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJkZWJvdW5jZWRNYXBSZW5kZXIiLCJpc1N0eWxlTG9hZGVkIiwib25NYXBSZW5kZXIiLCJkZWNrUmVuZGVyQ2FsbGJhY2tzIiwib25EZWNrQWZ0ZXJSZW5kZXIiLCJkZWNrUHJvcHMiLCJsYXllcnMiLCJzdGlsbExvYWRpbmciLCJhcmVBbnlEZWNrTGF5ZXJzTG9hZGluZyIsInByb2Nlc3NpbmciLCJ1bmRlZmluZWQiLCJfdXNlTWVtbyIsInNpemUiLCJuZXdNYXBTdGF0ZSIsInpvb21PZmZzZXQiLCJsb2cyIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsInJlbmRlcmVkTGF5ZXJzIiwibGF5ZXIiLCJpZHgiLCJpZCIsIkdFT0NPREVSX0xBWUVSX0lEIiwic2hvdWxkUmVuZGVyTGF5ZXIiLCJsYXllckRhdGEiLCJib3VuZHMiLCJmaW5kTWFwQm91bmRzIiwiY2VudGVyQW5kWm9vbSIsImdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJtYXBQcm9wcyIsIl9tYXBGaWVsZHMkbWFwQ29udHJvbCIsIm1hcENvbnRyb2xzIiwibWFwTGVnZW5kIiwic2hvdyIsIkJvb2xlYW4iLCJhY3RpdmUiLCJzZXR0aW5ncyIsImlzRXhwb3J0IiwiZGVja0dsUHJvcHMiLCJfaXNFeHBvcnQiLCJ1c2VEZXZpY2VQaXhlbHMiLCJkZXZpY2VQcm9wcyIsIndlYmdsIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCB7XG4gIGV4cG9ydEltYWdlRXJyb3IsXG4gIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24sXG4gIGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzLFxuICBjb252ZXJ0VG9QbmcsXG4gIGdldFNjYWxlRnJvbUltYWdlU2l6ZVxufSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7ZmluZE1hcEJvdW5kcywgYXJlQW55RGVja0xheWVyc0xvYWRpbmd9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IE1hcENvbnRhaW5lckZhY3RvcnkgZnJvbSAnLi9tYXAtY29udGFpbmVyJztcbmltcG9ydCBNYXBzTGF5b3V0RmFjdG9yeSBmcm9tICcuL21hcHMtbGF5b3V0JztcbmltcG9ydCB7TWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyfSBmcm9tICcuL21hcC12aWV3LXN0YXRlLWNvbnRleHQnO1xuXG5pbXBvcnQge0dFT0NPREVSX0xBWUVSX0lEfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0VmZmVjdCwgU3BsaXRNYXAsIEV4cG9ydEltYWdlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIEFjdGlvbkhhbmRsZXIsXG4gIGFkZE5vdGlmaWNhdGlvbixcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICBzZXRFeHBvcnRJbWFnZVNldHRpbmdcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7bWFwRmllbGRzU2VsZWN0b3J9IGZyb20gJy4va2VwbGVyLWdsJztcblxuY29uc3QgQ0xBU1NfRklMVEVSID0gW1xuICAnbWFwbGlicmVnbC1jb250cm9sLWNvbnRhaW5lcicsXG4gICdtYXBib3hnbC1jb250cm9sLWNvbnRhaW5lcicsXG4gICdhdHRyaXRpb24tbGluaycsXG4gICdhdHRyaXRpb24tbG9nbycsXG4gICdtYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMnXG5dO1xuY29uc3QgRE9NX0ZJTFRFUl9GVU5DID0gbm9kZSA9PiAhQ0xBU1NfRklMVEVSLmluY2x1ZGVzKG5vZGUuY2xhc3NOYW1lKTtcbmNvbnN0IE9VVF9PRl9TQ1JFRU5fUE9TSVRJT04gPSAtOTk5OTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIGxlZ2VuZCB6b29tIGJhc2VkIG9uIGV4cG9ydCBoZWlnaHRcbiAqIE1hcHMgZXhwb3J0IGhlaWdodCB0byBhIHpvb20gZmFjdG9yIGJldHdlZW4gMC41IGFuZCAzXG4gKiBAcGFyYW0gaGVpZ2h0IC0gZXhwb3J0IGhlaWdodCBpbiBwaXhlbHNcbiAqIEByZXR1cm5zIHpvb20gZmFjdG9yIGZvciBsZWdlbmQgcGFuZWxcbiAqL1xuZnVuY3Rpb24gY2FsY3VsYXRlTGVnZW5kWm9vbShoZWlnaHQ6IG51bWJlcik6IG51bWJlciB7XG4gIGNvbnN0IGJhc2VIZWlnaHQgPSAxMDgwOyAvLyAxeCB6b29tIHJlZmVyZW5jZSBoZWlnaHRcbiAgY29uc3QgbWluWm9vbSA9IDAuNTtcbiAgY29uc3QgbWF4Wm9vbSA9IDM7XG5cbiAgLy8gRm9yIGluaXRpYWwvaW52YWxpZCBoZWlnaHRzLCBhdm9pZCBzaHJpbmtpbmcgdGhlIGxlZ2VuZDsgdXNlIG5vIHNjYWxpbmcuXG4gIGlmICghTnVtYmVyLmlzRmluaXRlKGhlaWdodCkgfHwgaGVpZ2h0IDw9IDApIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIExpbmVhciBtYXBwaW5nOiBoZWlnaHQgLyBiYXNlSGVpZ2h0IGdpdmVzIHVzIHRoZSBzY2FsZVxuICBjb25zdCB6b29tRmFjdG9yID0gaGVpZ2h0IC8gYmFzZUhlaWdodDtcbiAgLy8gQ2xhbXAgYmV0d2VlbiBtaW4gYW5kIG1heFxuICByZXR1cm4gTWF0aC5tYXgobWluWm9vbSwgTWF0aC5taW4obWF4Wm9vbSwgem9vbUZhY3RvcikpO1xufVxuXG5QbG90Q29udGFpbmVyRmFjdG9yeS5kZXBzID0gW01hcENvbnRhaW5lckZhY3RvcnksIE1hcHNMYXlvdXRGYWN0b3J5XTtcblxuLy8gUmVtb3ZlIG1hcGJveCBsb2dvIGluIGV4cG9ydGVkIG1hcCwgYmVjYXVzZSBpdCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyc1xuLy8gUmVtb3ZlIHNwbGl0IHZpZXdwb3J0IFVJIGNvbnRyb2xzIGZyb20gZXhwb3J0ZWQgaW1hZ2VzIHdoZW4gdGhlIGxlZ2VuZCBpcyBzaG93blxuaW50ZXJmYWNlIFN0eWxlZFBsb3RDb250YWluZXJQcm9wcyB7XG4gICRsZWdlbmRab29tPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRQbG90Q29udGFpbmVyUHJvcHM+YFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGxpYnJlLWF0dHJpYnV0aW9uLWNvbnRhaW5lcixcbiAgLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuICBsZWZ0OiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG5cbiAgLyogQXBwbHkgem9vbSB0byBsZWdlbmQgcGFuZWwgYmFzZWQgb24gZXhwb3J0IGhlaWdodCAqL1xuICAubWFwLWNvbnRyb2wtcGFuZWwge1xuICAgIHpvb206ICR7cHJvcHMgPT4gcHJvcHMuJGxlZ2VuZFpvb20gfHwgMX0gIWltcG9ydGFudDtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICByYXRpbz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGVnZW5kPzogYm9vbGVhbjtcbiAgY2VudGVyPzogYm9vbGVhbjtcbiAgaW1hZ2VTaXplOiBFeHBvcnRJbWFnZVsnaW1hZ2VTaXplJ107XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG5cbiAgLy8gTWFwIHNldHRpbmdzXG4gIG1hcEZpZWxkczogUmV0dXJuVHlwZTx0eXBlb2YgbWFwRmllbGRzU2VsZWN0b3I+O1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuXG4gIC8vIENhbGxiYWNrc1xuICBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZVNldHRpbmc7XG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaTogdHlwZW9mIHNldEV4cG9ydEltYWdlRGF0YVVyaTtcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcjogdHlwZW9mIHNldEV4cG9ydEltYWdlRXJyb3I7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcblxuICAvLyBGbGFnc1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGxlZ2VuZCBoZWFkZXIgbG9nbyBkdXJpbmcgZXhwb3J0XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBsb3RDb250YWluZXJGYWN0b3J5KFxuICBNYXBDb250YWluZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRhaW5lckZhY3Rvcnk+LFxuICBNYXBzTGF5b3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBzTGF5b3V0RmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGxvdENvbnRhaW5lclByb3BzPiB7XG4gIGZ1bmN0aW9uIFBsb3RDb250YWluZXIoe1xuICAgIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICAgIHJhdGlvLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGVnZW5kID0gZmFsc2UsXG4gICAgY2VudGVyLFxuICAgIGltYWdlU2l6ZSxcbiAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG5cbiAgICAvLyBNYXAgc2V0dGluZ3NcbiAgICBtYXBGaWVsZHMsXG4gICAgc3BsaXRNYXBzID0gW10sXG5cbiAgICAvLyBDYWxsYmFja3NcbiAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcsXG4gICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgYWRkTm90aWZpY2F0aW9uLFxuXG4gICAgLy8gRmxhZ3NcbiAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICBsb2dvQ29tcG9uZW50XG4gIH06IFBsb3RDb250YWluZXJQcm9wcykge1xuICAgIGNvbnN0IHBsb3R0aW5nQXJlYVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3Bsb3RFZmZlY3RzXSA9IHVzZVN0YXRlPEVmZmVjdFtdPigoKSA9PlxuICAgICAgbWFwRmllbGRzLnZpc1N0YXRlLmVmZmVjdHMubWFwKGVmZmVjdCA9PiBlZmZlY3QuY2xvbmUoKSlcbiAgICApO1xuXG4gICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcblxuICAgIGNvbnN0IGRlY2tMYXllcnNMb2FkaW5nUmVmID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IG1hcFN0eWxlTG9hZGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzY3JlZW5zaG90VGFrZW5SZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgc2NhbGUgY2FsY3VsYXRpb25cbiAgICBjb25zdCBzY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKGltYWdlU2l6ZS5zY2FsZSkge1xuICAgICAgICByZXR1cm4gaW1hZ2VTaXplLnNjYWxlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjYWxjdWxhdGVkU2NhbGUgPSBnZXRTY2FsZUZyb21JbWFnZVNpemUoXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIG1hcFN0YXRlLndpZHRoICogKG1hcFN0YXRlLmlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIG1hcFN0YXRlLmhlaWdodFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRTY2FsZSA+IDAgPyBjYWxjdWxhdGVkU2NhbGUgOiAxO1xuICAgIH0sIFtcbiAgICAgIGltYWdlU2l6ZS5zY2FsZSxcbiAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgbWFwU3RhdGUud2lkdGgsXG4gICAgICBtYXBTdGF0ZS5oZWlnaHQsXG4gICAgICBtYXBTdGF0ZS5pc1NwbGl0XG4gICAgXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBsZWdlbmQgem9vbSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gICAgY29uc3QgbGVnZW5kWm9vbSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaW1hZ2VTaXplLmltYWdlSCk7XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZUhdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG1hcCBzdHlsZVxuICAgIGNvbnN0IHNjYWxlZE1hcFN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBtYXBTdHlsZSA9IG1hcEZpZWxkcy5tYXBTdHlsZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm1hcFN0eWxlLFxuICAgICAgICBib3R0b21NYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS5ib3R0b21NYXBTdHlsZSwgc2NhbGUpLFxuICAgICAgICB0b3BNYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS50b3BNYXBTdHlsZSwgc2NhbGUpXG4gICAgICB9O1xuICAgIH0sIFttYXBGaWVsZHMubWFwU3R5bGUsIHNjYWxlXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSByZXRyaWV2ZU5ld1NjcmVlbnNob3QgY2FsbGJhY2tcbiAgICBjb25zdCBkZWJvdW5jZWRTY3JlZW5zaG90ID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICBpZiAocGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnZlcnRUb1BuZyhwbG90dGluZ0FyZWFSZWYuY3VycmVudCwge1xuICAgICAgICAgICAgICBmaWx0ZXI6IERPTV9GSUxURVJfRlVOQyxcbiAgICAgICAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAudGhlbihzZXRFeHBvcnRJbWFnZURhdGFVcmkpXG4gICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlRXJyb3JOb3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGFkZE5vdGlmaWNhdGlvbihleHBvcnRJbWFnZUVycm9yKHtlcnJ9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICAgICAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICAgICAgYWRkTm90aWZpY2F0aW9uXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IHJldHJpZXZlTmV3U2NyZWVuc2hvdCA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZFNjcmVlbnNob3QsIFtkZWJvdW5jZWRTY3JlZW5zaG90XSk7XG5cbiAgICBjb25zdCB0cnlTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKG1hcFN0eWxlTG9hZGVkUmVmLmN1cnJlbnQgJiYgIWRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2NyZWVuc2hvdFRha2VuUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmV0cmlldmVOZXdTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBGYWxsYmFjazogaWYgbGF5ZXJzIG5ldmVyIGZpbmlzaCBsb2FkaW5nLCBjYXB0dXJlIGFmdGVyIHRpbWVvdXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFzY3JlZW5zaG90VGFrZW5SZWYuY3VycmVudCkge1xuICAgICAgICAgIGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDMwMDAwKTtcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgIH0sIFt0cnlTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBvbk1hcFJlbmRlciBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZE1hcFJlbmRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBkZWJvdW5jZShtYXAgPT4ge1xuICAgICAgICAgIGlmIChtYXAuaXNTdHlsZUxvYWRlZCgpKSB7XG4gICAgICAgICAgICBtYXBTdHlsZUxvYWRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbdHJ5U2NyZWVuc2hvdF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25NYXBSZW5kZXIgPSB1c2VDYWxsYmFjayhkZWJvdW5jZWRNYXBSZW5kZXIsIFtkZWJvdW5jZWRNYXBSZW5kZXJdKTtcblxuICAgIGNvbnN0IGRlY2tSZW5kZXJDYWxsYmFja3MgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgb25EZWNrQWZ0ZXJSZW5kZXI6IChkZWNrUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICAgICAgY29uc3QgbGF5ZXJzID0gZGVja1Byb3BzLmxheWVycyBhcyBhbnlbXTtcbiAgICAgICAgICBpZiAoIWxheWVycykgcmV0dXJuO1xuICAgICAgICAgIGNvbnN0IHN0aWxsTG9hZGluZyA9IGFyZUFueURlY2tMYXllcnNMb2FkaW5nKGxheWVycyk7XG4gICAgICAgICAgaWYgKGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgJiYgIXN0aWxsTG9hZGluZykge1xuICAgICAgICAgICAgZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ID0gc3RpbGxMb2FkaW5nO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIFt0cnlTY3JlZW5zaG90XVxuICAgICk7XG5cbiAgICAvLyBJbml0aWFsIHNldHVwIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9LCBbc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXSk7XG5cbiAgICAvLyBTY3JlZW5zaG90IHVwZGF0ZSBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHJhdGlvICE9PSB1bmRlZmluZWQgfHwgcmVzb2x1dGlvbiAhPT0gdW5kZWZpbmVkIHx8IGxlZ2VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfSwgW3JhdGlvLCByZXNvbHV0aW9uLCBsZWdlbmQsIHNldEV4cG9ydEltYWdlU2V0dGluZywgdHJ5U2NyZWVuc2hvdF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBzaXplIGNhbGN1bGF0aW9uc1xuICAgIGNvbnN0IHtzaXplLCB3aWR0aCwgaGVpZ2h0fSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcgfHwgMSxcbiAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VIIHx8IDFcbiAgICAgIH07XG4gICAgICBjb25zdCBpc1NwbGl0ID0gc3BsaXRNYXBzLmxlbmd0aCA+IDE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzaXplLFxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCAvIChpc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBoZWlnaHQ6IHNpemUuaGVpZ2h0XG4gICAgICB9O1xuICAgIH0sIFtpbWFnZVNpemUuaW1hZ2VXLCBpbWFnZVNpemUuaW1hZ2VILCBzcGxpdE1hcHMubGVuZ3RoXSk7XG5cbiAgICAvLyBNZW1vaXplIG1hcCBzdGF0ZVxuICAgIGNvbnN0IG5ld01hcFN0YXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCB6b29tT2Zmc2V0ID0gTWF0aC5sb2cyKHNjYWxlKSB8fCAwO1xuICAgICAgY29uc3QgYmFzZU1hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIHpvb21PZmZzZXQsXG4gICAgICAgIHpvb21PZmZzZXRcbiAgICAgIH07XG5cbiAgICAgIGlmIChjZW50ZXIpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZWRMYXllcnMgPSBtYXBGaWVsZHMudmlzU3RhdGUubGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAobGF5ZXIsIGlkeCkgPT5cbiAgICAgICAgICAgIGxheWVyLmlkICE9PSBHRU9DT0RFUl9MQVlFUl9JRCAmJlxuICAgICAgICAgICAgbGF5ZXIuc2hvdWxkUmVuZGVyTGF5ZXIobWFwRmllbGRzLnZpc1N0YXRlLmxheWVyRGF0YVtpZHhdKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBib3VuZHMgPSBmaW5kTWFwQm91bmRzKHJlbmRlcmVkTGF5ZXJzKTtcbiAgICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge3dpZHRoLCBoZWlnaHR9KTtcbiAgICAgICAgaWYgKGNlbnRlckFuZFpvb20pIHtcbiAgICAgICAgICBjb25zdCB6b29tID0gTnVtYmVyLmlzRmluaXRlKGNlbnRlckFuZFpvb20uem9vbSkgPyBjZW50ZXJBbmRab29tLnpvb20gOiBtYXBTdGF0ZS56b29tO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlTWFwU3RhdGUsXG4gICAgICAgICAgICBsb25naXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzBdLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzFdLFxuICAgICAgICAgICAgem9vbTogem9vbSArIE51bWJlcihNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZU1hcFN0YXRlO1xuICAgIH0sIFttYXBTdGF0ZSwgd2lkdGgsIGhlaWdodCwgc2NhbGUsIGNlbnRlciwgbWFwRmllbGRzLnZpc1N0YXRlXSk7XG5cbiAgICAvLyBNZW1vaXplIG1hcCBwcm9wc1xuICAgIGNvbnN0IG1hcFByb3BzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIC4uLm1hcEZpZWxkcyxcbiAgICAgICAgbWFwU3R5bGU6IHNjYWxlZE1hcFN0eWxlLFxuICAgICAgICBtYXBTdGF0ZTogbmV3TWFwU3RhdGUsXG4gICAgICAgIG1hcENvbnRyb2xzOiB7XG4gICAgICAgICAgbWFwTGVnZW5kOiB7XG4gICAgICAgICAgICBzaG93OiBCb29sZWFuKGxlZ2VuZCksXG4gICAgICAgICAgICBhY3RpdmU6IHRydWUsXG4gICAgICAgICAgICBzZXR0aW5nczogbWFwRmllbGRzLm1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLmRlY2tHbFByb3BzLFxuICAgICAgICAgIF9pc0V4cG9ydDogdHJ1ZSxcbiAgICAgICAgICB1c2VEZXZpY2VQaXhlbHM6IGZhbHNlLFxuICAgICAgICAgIGRldmljZVByb3BzOiB7XG4gICAgICAgICAgICB3ZWJnbDoge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRlY2tSZW5kZXJDYWxsYmFja3MsXG4gICAgICAgIHZpc1N0YXRlOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLnZpc1N0YXRlLFxuICAgICAgICAgIGVmZmVjdHM6IHBsb3RFZmZlY3RzXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGFsbG93IG92ZXJyaWRpbmcgdGhlIGxlZ2VuZCBwYW5lbCBsb2dvIGluIGV4cG9ydFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgbWFwRmllbGRzLFxuICAgICAgICBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbmV3TWFwU3RhdGUsXG4gICAgICAgIGxlZ2VuZCxcbiAgICAgICAgb25NYXBSZW5kZXIsXG4gICAgICAgIGRlY2tSZW5kZXJDYWxsYmFja3MsXG4gICAgICAgIHBsb3RFZmZlY3RzLFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICBjb25zdCBtYXBDb250YWluZXJzID0gIWlzU3BsaXQgPyAoXG4gICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgKSA6IChcbiAgICAgIDxNYXBzTGF5b3V0IGNsYXNzTmFtZT1cInBsb3QtY29udGFpbmVyLW1hcHNcIiBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPE1hcENvbnRhaW5lciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9IHByaW1hcnk9e2luZGV4ID09PSAxfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFBsb3RDb250YWluZXIgY2xhc3NOYW1lPVwiZXhwb3J0LW1hcC1pbnN0YW5jZVwiICRsZWdlbmRab29tPXtsZWdlbmRab29tfT5cbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3Bsb3R0aW5nQXJlYVJlZn0gd2lkdGg9e3NpemUud2lkdGh9IGhlaWdodD17c2l6ZS5oZWlnaHR9PlxuICAgICAgICAgIDxNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAgICAgIHttYXBDb250YWluZXJzfVxuICAgICAgICAgIDwvTWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkUGxvdENvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oUGxvdENvbnRhaW5lcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUlBLElB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