@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
@@ -42,6 +42,7 @@ function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay, Timeline
42
42
  toggleAnimation = _ref$toggleAnimation === void 0 ? function () {
43
43
  return;
44
44
  } : _ref$toggleAnimation,
45
+ exportAnimation = _ref.exportAnimation,
45
46
  _ref$updateAnimationS = _ref.updateAnimationSpeed,
46
47
  updateAnimationSpeed = _ref$updateAnimationS === void 0 ? function () {
47
48
  return;
@@ -81,6 +82,7 @@ function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay, Timeline
81
82
  isAnimating: isAnimating,
82
83
  pauseAnimation: toggleAnimation,
83
84
  resetAnimation: resetAnimation,
85
+ exportAnimation: exportAnimation,
84
86
  speed: speed,
85
87
  updateAnimationSpeed: updateAnimationSpeed,
86
88
  setFilterAnimationWindow: setAnimationWindow,
@@ -95,4 +97,4 @@ function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay, Timeline
95
97
  return AnimationControl;
96
98
  }
97
99
  var _default = exports["default"] = AnimationControlFactory;
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2NsYXNzbmFtZXMiLCJfc3R5bGVzIiwiX3RpbWVsaW5lU2xpZGVyIiwiX3BsYXliYWNrQ29udHJvbHMiLCJfZmxvYXRpbmdUaW1lRGlzcGxheSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIlNMSURFUl9NQVJHSU5fUEFMTSIsIkFuaW1hdGlvbkNvbnRyb2xDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiY29uY2F0IiwidGhlbWUiLCJib3R0b21Jbm5lclBkVmVydCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tUGFuZWxHYXAiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFuZWxCb3JkZXJDb2xvciIsIkFuaW1hdGlvbldpZGdldElubmVyIiwicGFsbSIsIlRJTUVMSU5FX1BMQVlCQUNLX1NUWUxFIiwiZmxleCIsIkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5IiwiZGVwcyIsIlBsYXliYWNrQ29udHJvbHNGYWN0b3J5IiwiRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnkiLCJUaW1lbGluZVNsaWRlckZhY3RvcnkiLCJQbGF5YmFja0NvbnRyb2xzIiwiRmxvYXRpbmdUaW1lRGlzcGxheSIsIlRpbWVsaW5lU2xpZGVyIiwiQW5pbWF0aW9uQ29udHJvbCIsIl9yZWYiLCJmaWx0ZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJfcmVmJHRvZ2dsZUFuaW1hdGlvbiIsInRvZ2dsZUFuaW1hdGlvbiIsIl9yZWYkdXBkYXRlQW5pbWF0aW9uUyIsInVwZGF0ZUFuaW1hdGlvblNwZWVkIiwic2V0VGltZWxpbmVWYWx1ZSIsInNldEFuaW1hdGlvbldpbmRvdyIsInRpbWVsaW5lIiwiX3JlZiRzaG93VGltZWxpbmUiLCJzaG93VGltZWxpbmUiLCJfcmVmJHNob3dDb250cm9scyIsInNob3dDb250cm9scyIsIl9yZWYkc2hvd1RpbWVEaXNwbGF5Iiwic2hvd1RpbWVEaXNwbGF5IiwiYW5pbWF0aW9uV2luZG93IiwidmFsdWUiLCJzcGVlZCIsImRlZmF1bHRUaW1lRm9ybWF0IiwidGltZUZvcm1hdCIsInRpbWV6b25lIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzbmFtZXMiLCJzdGFydEFuaW1hdGlvbiIsInBhdXNlQW5pbWF0aW9uIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93IiwiY3VycmVudFRpbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtUaW1lbGluZSwgRmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IFRpbWVsaW5lU2xpZGVyRmFjdG9yeSBmcm9tICcuLi90aW1lbGluZS1zbGlkZXInO1xuaW1wb3J0IFBsYXliYWNrQ29udHJvbHNGYWN0b3J5IGZyb20gJy4vcGxheWJhY2stY29udHJvbHMnO1xuaW1wb3J0IEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5IGZyb20gJy4vZmxvYXRpbmctdGltZS1kaXNwbGF5JztcblxuY29uc3QgU0xJREVSX01BUkdJTl9QQUxNID0gNjtcblxuY29uc3QgQW5pbWF0aW9uQ29udHJvbENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gYCR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFZlcnR9cHggJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkU2lkZX1weGB9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tUGFuZWxHYXB9cHg7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIGB9XG5gO1xuXG5jb25zdCBBbmltYXRpb25XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wbGF5YmFjay1jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAucGxheWJhY2stY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtZG9tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI0cHg7XG5cbiAgICAgICYuZG9tYWluLXN0YXJ0IHtcbiAgICAgICAgbGVmdDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgICAmLmRvbWFpbi1lbmQge1xuICAgICAgICByaWdodDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgfVxuICBgfTtcbmA7XG5cbmNvbnN0IFRJTUVMSU5FX1BMQVlCQUNLX1NUWUxFID0ge2ZsZXg6IDF9O1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25Db250cm9sUHJvcHMgPSB7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgdGltZWxpbmU/OiBUaW1lbGluZTtcbiAgaXNBbmltYXRhYmxlPzogYm9vbGVhbjtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICB1cGRhdGVBbmltYXRpb25TcGVlZD86ICh2YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgc2V0QW5pbWF0aW9uV2luZG93PzogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4gdm9pZDtcbiAgcmVzZXRBbmltYXRpb24/OiAoKSA9PiB2b2lkO1xuICBzZXRUaW1lbGluZVZhbHVlOiAodmFsdWU6IG51bWJlcltdKSA9PiB2b2lkO1xuICBzaG93VGltZURpc3BsYXk/OiBib29sZWFuO1xuICBzaG93VGltZWxpbmU/OiBib29sZWFuO1xuICBzaG93Q29udHJvbHM/OiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogb2JqZWN0O1xufTtcblxuQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgUGxheWJhY2tDb250cm9sc0ZhY3RvcnksXG4gIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5LFxuICBUaW1lbGluZVNsaWRlckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5KFxuICBQbGF5YmFja0NvbnRyb2xzOiBSZXR1cm5UeXBlPHR5cGVvZiBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PixcbiAgVGltZWxpbmVTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFRpbWVsaW5lU2xpZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBBbmltYXRpb25Db250cm9sOiBSZWFjdC5GQzxBbmltYXRpb25Db250cm9sUHJvcHM+ID0gKHtcbiAgICBmaWx0ZXIsXG4gICAgY2xhc3NOYW1lLFxuICAgIHN0eWxlLFxuICAgIGlzQW5pbWF0YWJsZSxcbiAgICBpc0FuaW1hdGluZyxcbiAgICByZXNldEFuaW1hdGlvbixcbiAgICB0b2dnbGVBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICB1cGRhdGVBbmltYXRpb25TcGVlZCA9ICgpID0+IHtcbiAgICAgIHJldHVybjtcbiAgICB9LFxuICAgIHNldFRpbWVsaW5lVmFsdWUsXG4gICAgc2V0QW5pbWF0aW9uV2luZG93LFxuICAgIHRpbWVsaW5lLFxuICAgIHNob3dUaW1lbGluZSA9IHRydWUsXG4gICAgc2hvd0NvbnRyb2xzID0gdHJ1ZSxcbiAgICBzaG93VGltZURpc3BsYXkgPSB0cnVlXG4gIH0pID0+IHtcbiAgICBpZiAoIXRpbWVsaW5lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB7YW5pbWF0aW9uV2luZG93LCB2YWx1ZSwgc3BlZWQsIGRlZmF1bHRUaW1lRm9ybWF0LCB0aW1lRm9ybWF0LCB0aW1lem9uZX0gPSB0aW1lbGluZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0aW9uQ29udHJvbENvbnRhaW5lclxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnYW5pbWF0aW9uLWNvbnRyb2wtY29udGFpbmVyJywgY2xhc3NOYW1lKX1cbiAgICAgID5cbiAgICAgICAgPEFuaW1hdGlvbldpZGdldElubmVyIGNsYXNzTmFtZT1cImFuaW1hdGlvbi13aWRnZXQtLWlubmVyXCI+XG4gICAgICAgICAge3Nob3dUaW1lbGluZSA/IChcbiAgICAgICAgICAgIDxUaW1lbGluZVNsaWRlclxuICAgICAgICAgICAgICBzdHlsZT17VElNRUxJTkVfUExBWUJBQ0tfU1RZTEV9XG4gICAgICAgICAgICAgIHRpbWVsaW5lPXt0aW1lbGluZX1cbiAgICAgICAgICAgICAgc2V0VGltZWxpbmVWYWx1ZT17c2V0VGltZWxpbmVWYWx1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge3Nob3dDb250cm9scyA/IChcbiAgICAgICAgICAgIDxQbGF5YmFja0NvbnRyb2xzXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFuaW1hdGlvbi1jb250cm9sLXBsYXlwYXVzZVwiXG4gICAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAgICBpc0FuaW1hdGFibGU9e2lzQW5pbWF0YWJsZX1cbiAgICAgICAgICAgICAgc3RhcnRBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgICBwYXVzZUFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgICByZXNldEFuaW1hdGlvbj17cmVzZXRBbmltYXRpb259XG4gICAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c9e3NldEFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgICAgYW5pbWF0aW9uV2luZG93PXthbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0FuaW1hdGlvbldpZGdldElubmVyPlxuICAgICAgICB7c2hvd1RpbWVEaXNwbGF5ID8gKFxuICAgICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgICBjdXJyZW50VGltZT17dmFsdWV9XG4gICAgICAgICAgICBkZWZhdWx0VGltZUZvcm1hdD17ZGVmYXVsdFRpbWVGb3JtYXR9XG4gICAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgICAgdGltZXpvbmU9e3RpbWV6b25lfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9BbmltYXRpb25Db250cm9sQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2w7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxlQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sb0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUFpRSxJQUFBTyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBWmpFO0FB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USxDQUExRFMsS0FBSztNQUFFQyxpQkFBaUIsR0FBMEJWLFFBQVEsQ0FBbkRVLGlCQUFpQjtNQUFFQyxVQUFVLEdBQWNYLFFBQVEsQ0FBaENXLFVBQVU7TUFBRUMsUUFBUSxHQUFJWixRQUFRLENBQXBCWSxRQUFRO0lBRTdFLG9CQUNFakUsTUFBQSxZQUFBa0UsYUFBQSxDQUFDcEQseUJBQXlCO01BQ3hCNkIsS0FBSyxFQUFFQSxLQUFNO01BQ2JELFNBQVMsRUFBRSxJQUFBeUIsc0JBQVUsRUFBQyw2QkFBNkIsRUFBRXpCLFNBQVM7SUFBRSxnQkFFaEUxQyxNQUFBLFlBQUFrRSxhQUFBLENBQUN2QyxvQkFBb0I7TUFBQ2UsU0FBUyxFQUFDO0lBQXlCLEdBQ3REYSxZQUFZLGdCQUNYdkQsTUFBQSxZQUFBa0UsYUFBQSxDQUFDNUIsY0FBYztNQUNiSyxLQUFLLEVBQUVkLHVCQUF3QjtNQUMvQndCLFFBQVEsRUFBRUEsUUFBUztNQUNuQkYsZ0JBQWdCLEVBQUVBO0lBQWlCLENBQ3BDLENBQUMsR0FDQSxJQUFJLEVBQ1BNLFlBQVksZ0JBQ1h6RCxNQUFBLFlBQUFrRSxhQUFBLENBQUM5QixnQkFBZ0I7TUFDZk0sU0FBUyxFQUFDLDZCQUE2QjtNQUN2Q0QsTUFBTSxFQUFFQSxNQUFPO01BQ2ZHLFlBQVksRUFBRUEsWUFBYTtNQUMzQndCLGNBQWMsRUFBRXBCLGVBQWdCO01BQ2hDSCxXQUFXLEVBQUVBLFdBQVk7TUFDekJ3QixjQUFjLEVBQUVyQixlQUFnQjtNQUNoQ0YsY0FBYyxFQUFFQSxjQUFlO01BQy9CZ0IsS0FBSyxFQUFFQSxLQUFNO01BQ2JaLG9CQUFvQixFQUFFQSxvQkFBcUI7TUFDM0NvQix3QkFBd0IsRUFBRWxCLGtCQUFtQjtNQUM3Q1EsZUFBZSxFQUFFQTtJQUFnQixDQUNsQyxDQUFDLEdBQ0EsSUFDZ0IsQ0FBQyxFQUN0QkQsZUFBZSxnQkFDZDNELE1BQUEsWUFBQWtFLGFBQUEsQ0FBQzdCLG1CQUFtQjtNQUNsQmtDLFdBQVcsRUFBRVYsS0FBTTtNQUNuQkUsaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ0MsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCQyxRQUFRLEVBQUVBO0lBQVMsQ0FDcEIsQ0FBQyxHQUNBLElBQ3FCLENBQUM7RUFFaEMsQ0FBQztFQUVELE9BQU8xQixnQkFBZ0I7QUFDekI7QUFBQyxJQUFBaUMsUUFBQSxHQUFBQyxPQUFBLGNBRWMxQyx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2NsYXNzbmFtZXMiLCJfc3R5bGVzIiwiX3RpbWVsaW5lU2xpZGVyIiwiX3BsYXliYWNrQ29udHJvbHMiLCJfZmxvYXRpbmdUaW1lRGlzcGxheSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIlNMSURFUl9NQVJHSU5fUEFMTSIsIkFuaW1hdGlvbkNvbnRyb2xDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiY29uY2F0IiwidGhlbWUiLCJib3R0b21Jbm5lclBkVmVydCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tUGFuZWxHYXAiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFuZWxCb3JkZXJDb2xvciIsIkFuaW1hdGlvbldpZGdldElubmVyIiwicGFsbSIsIlRJTUVMSU5FX1BMQVlCQUNLX1NUWUxFIiwiZmxleCIsIkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5IiwiZGVwcyIsIlBsYXliYWNrQ29udHJvbHNGYWN0b3J5IiwiRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnkiLCJUaW1lbGluZVNsaWRlckZhY3RvcnkiLCJQbGF5YmFja0NvbnRyb2xzIiwiRmxvYXRpbmdUaW1lRGlzcGxheSIsIlRpbWVsaW5lU2xpZGVyIiwiQW5pbWF0aW9uQ29udHJvbCIsIl9yZWYiLCJmaWx0ZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJfcmVmJHRvZ2dsZUFuaW1hdGlvbiIsInRvZ2dsZUFuaW1hdGlvbiIsImV4cG9ydEFuaW1hdGlvbiIsIl9yZWYkdXBkYXRlQW5pbWF0aW9uUyIsInVwZGF0ZUFuaW1hdGlvblNwZWVkIiwic2V0VGltZWxpbmVWYWx1ZSIsInNldEFuaW1hdGlvbldpbmRvdyIsInRpbWVsaW5lIiwiX3JlZiRzaG93VGltZWxpbmUiLCJzaG93VGltZWxpbmUiLCJfcmVmJHNob3dDb250cm9scyIsInNob3dDb250cm9scyIsIl9yZWYkc2hvd1RpbWVEaXNwbGF5Iiwic2hvd1RpbWVEaXNwbGF5IiwiYW5pbWF0aW9uV2luZG93IiwidmFsdWUiLCJzcGVlZCIsImRlZmF1bHRUaW1lRm9ybWF0IiwidGltZUZvcm1hdCIsInRpbWV6b25lIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzbmFtZXMiLCJzdGFydEFuaW1hdGlvbiIsInBhdXNlQW5pbWF0aW9uIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93IiwiY3VycmVudFRpbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtUaW1lbGluZSwgRmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IFRpbWVsaW5lU2xpZGVyRmFjdG9yeSBmcm9tICcuLi90aW1lbGluZS1zbGlkZXInO1xuaW1wb3J0IFBsYXliYWNrQ29udHJvbHNGYWN0b3J5IGZyb20gJy4vcGxheWJhY2stY29udHJvbHMnO1xuaW1wb3J0IEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5IGZyb20gJy4vZmxvYXRpbmctdGltZS1kaXNwbGF5JztcblxuY29uc3QgU0xJREVSX01BUkdJTl9QQUxNID0gNjtcblxuY29uc3QgQW5pbWF0aW9uQ29udHJvbENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gYCR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFZlcnR9cHggJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkU2lkZX1weGB9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tUGFuZWxHYXB9cHg7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIGB9XG5gO1xuXG5jb25zdCBBbmltYXRpb25XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wbGF5YmFjay1jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAucGxheWJhY2stY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtZG9tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI0cHg7XG5cbiAgICAgICYuZG9tYWluLXN0YXJ0IHtcbiAgICAgICAgbGVmdDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgICAmLmRvbWFpbi1lbmQge1xuICAgICAgICByaWdodDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgfVxuICBgfTtcbmA7XG5cbmNvbnN0IFRJTUVMSU5FX1BMQVlCQUNLX1NUWUxFID0ge2ZsZXg6IDF9O1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25Db250cm9sUHJvcHMgPSB7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgdGltZWxpbmU/OiBUaW1lbGluZTtcbiAgaXNBbmltYXRhYmxlPzogYm9vbGVhbjtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICB1cGRhdGVBbmltYXRpb25TcGVlZD86ICh2YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgc2V0QW5pbWF0aW9uV2luZG93PzogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4gdm9pZDtcbiAgZXhwb3J0QW5pbWF0aW9uPzogKCkgPT4gdm9pZDtcbiAgcmVzZXRBbmltYXRpb24/OiAoKSA9PiB2b2lkO1xuICBzZXRUaW1lbGluZVZhbHVlOiAodmFsdWU6IG51bWJlcltdKSA9PiB2b2lkO1xuICBzaG93VGltZURpc3BsYXk/OiBib29sZWFuO1xuICBzaG93VGltZWxpbmU/OiBib29sZWFuO1xuICBzaG93Q29udHJvbHM/OiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogb2JqZWN0O1xufTtcblxuQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgUGxheWJhY2tDb250cm9sc0ZhY3RvcnksXG4gIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5LFxuICBUaW1lbGluZVNsaWRlckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5KFxuICBQbGF5YmFja0NvbnRyb2xzOiBSZXR1cm5UeXBlPHR5cGVvZiBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PixcbiAgVGltZWxpbmVTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFRpbWVsaW5lU2xpZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBBbmltYXRpb25Db250cm9sOiBSZWFjdC5GQzxBbmltYXRpb25Db250cm9sUHJvcHM+ID0gKHtcbiAgICBmaWx0ZXIsXG4gICAgY2xhc3NOYW1lLFxuICAgIHN0eWxlLFxuICAgIGlzQW5pbWF0YWJsZSxcbiAgICBpc0FuaW1hdGluZyxcbiAgICByZXNldEFuaW1hdGlvbixcbiAgICB0b2dnbGVBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICBleHBvcnRBbmltYXRpb24sXG4gICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQgPSAoKSA9PiB7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICBzZXRUaW1lbGluZVZhbHVlLFxuICAgIHNldEFuaW1hdGlvbldpbmRvdyxcbiAgICB0aW1lbGluZSxcbiAgICBzaG93VGltZWxpbmUgPSB0cnVlLFxuICAgIHNob3dDb250cm9scyA9IHRydWUsXG4gICAgc2hvd1RpbWVEaXNwbGF5ID0gdHJ1ZVxuICB9KSA9PiB7XG4gICAgaWYgKCF0aW1lbGluZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qge2FuaW1hdGlvbldpbmRvdywgdmFsdWUsIHNwZWVkLCBkZWZhdWx0VGltZUZvcm1hdCwgdGltZUZvcm1hdCwgdGltZXpvbmV9ID0gdGltZWxpbmU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGlvbkNvbnRyb2xDb250YWluZXJcbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2FuaW1hdGlvbi1jb250cm9sLWNvbnRhaW5lcicsIGNsYXNzTmFtZSl9XG4gICAgICA+XG4gICAgICAgIDxBbmltYXRpb25XaWRnZXRJbm5lciBjbGFzc05hbWU9XCJhbmltYXRpb24td2lkZ2V0LS1pbm5lclwiPlxuICAgICAgICAgIHtzaG93VGltZWxpbmUgPyAoXG4gICAgICAgICAgICA8VGltZWxpbmVTbGlkZXJcbiAgICAgICAgICAgICAgc3R5bGU9e1RJTUVMSU5FX1BMQVlCQUNLX1NUWUxFfVxuICAgICAgICAgICAgICB0aW1lbGluZT17dGltZWxpbmV9XG4gICAgICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWU9e3NldFRpbWVsaW5lVmFsdWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtzaG93Q29udHJvbHMgPyAoXG4gICAgICAgICAgICA8UGxheWJhY2tDb250cm9sc1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbC1wbGF5cGF1c2VcIlxuICAgICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXtpc0FuaW1hdGFibGV9XG4gICAgICAgICAgICAgIHN0YXJ0QW5pbWF0aW9uPXt0b2dnbGVBbmltYXRpb259XG4gICAgICAgICAgICAgIGlzQW5pbWF0aW5nPXtpc0FuaW1hdGluZ31cbiAgICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICBleHBvcnRBbmltYXRpb249e2V4cG9ydEFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgc3BlZWQ9e3NwZWVkfVxuICAgICAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17dXBkYXRlQW5pbWF0aW9uU3BlZWR9XG4gICAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdz17c2V0QW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgICBhbmltYXRpb25XaW5kb3c9e2FuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvQW5pbWF0aW9uV2lkZ2V0SW5uZXI+XG4gICAgICAgIHtzaG93VGltZURpc3BsYXkgPyAoXG4gICAgICAgICAgPEZsb2F0aW5nVGltZURpc3BsYXlcbiAgICAgICAgICAgIGN1cnJlbnRUaW1lPXt2YWx1ZX1cbiAgICAgICAgICAgIGRlZmF1bHRUaW1lRm9ybWF0PXtkZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICAgIHRpbWVGb3JtYXQ9e3RpbWVGb3JtYXR9XG4gICAgICAgICAgICB0aW1lem9uZT17dGltZXpvbmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L0FuaW1hdGlvbkNvbnRyb2xDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gQW5pbWF0aW9uQ29udHJvbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUdBLElBQUFJLGVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGlCQUFBLEdB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
@@ -86,13 +86,14 @@ function AnimationControllerFactory() {
86
86
  if (!domain) {
87
87
  return;
88
88
  }
89
- // interim solution while we fully migrate filter and layer controllers
90
89
  var setTimelineValue = updateAnimation || _this.props.setTimelineValue;
91
90
  if (Array.isArray(value)) {
91
+ var windowSize = value[1] - value[0];
92
92
  if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
93
93
  setTimelineValue([value[0], value[0] + 1]);
94
94
  } else {
95
- setTimelineValue([domain[0], domain[0] + value[1] - value[0]]);
95
+ var startValue = domain[0] - windowSize;
96
+ setTimelineValue([startValue, startValue + windowSize]);
96
97
  }
97
98
  } else {
98
99
  setTimelineValue(domain[0]);
@@ -216,15 +217,16 @@ function AnimationControllerFactory() {
216
217
  if (Array.isArray(value)) {
217
218
  var value0;
218
219
  var value1;
220
+ var windowSize = value[1] - value[0];
219
221
  if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
220
222
  var lastFrame = value[1] + delta > domain[1];
221
223
  value0 = value[0];
222
224
  value1 = lastFrame ? value[0] + 1 : value[1] + delta;
223
225
  } else {
224
- // use value[0] to display the last item duration as the first item
225
226
  var _lastFrame = value[0] + delta > domain[1];
226
- value0 = _lastFrame ? domain[0] : value[0] + delta;
227
- value1 = value0 + value[1] - value[0];
227
+ var startValue = domain[0] - windowSize;
228
+ value0 = _lastFrame ? startValue : value[0] + delta;
229
+ value1 = value0 + windowSize;
228
230
  }
229
231
  return [value0, value1];
230
232
  }
@@ -266,4 +268,4 @@ function AnimationControllerFactory() {
266
268
  return AnimationController;
267
269
  }
268
270
  var _default = exports["default"] = AnimationControllerFactory;
269
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2QzQXJyYXkiLCJfd2luZG93IiwiX2NvbnNvbGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvbnN0YW50cyIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJfQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrMiIsImFyZ3VtZW50cyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiQ29tcG9uZW50IiwiQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkiLCJBbmltYXRpb25Db250cm9sbGVyIiwiX0NvbXBvbmVudDIiLCJfdGhpcyIsIl9sZW4iLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiX2RlZmluZVByb3BlcnR5MiIsImlzQW5pbWF0aW5nIiwiZGVsYXkiLCJfc3RhcnRUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJsb29wIiwiY3VycmVudCIsImRlbHRhIiwiX25leHRGcmFtZSIsIl90aW1lciIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl90aGlzJHByb3BzIiwicHJvcHMiLCJkb21haW4iLCJ2YWx1ZSIsImFuaW1hdGlvbldpbmRvdyIsInVwZGF0ZUFuaW1hdGlvbiIsInNldFRpbWVsaW5lVmFsdWUiLCJpc0FycmF5IiwiQU5JTUFUSU9OX1dJTkRPVyIsImluY3JlbWVudGFsIiwiX3RoaXMkcHJvcHMyIiwiX3RoaXMkcHJvcHMyJHN0ZXBzIiwic3RlcHMiLCJpbnRlcnZhbCIsIl9yZXNldEFuaW1hdGlvbkJ5VGltZVN0ZXAiLCJfcmVzZXRBbmltYXRpb25CeURvbWFpbiIsIl90aGlzJHByb3BzJHNwZWVkIiwic3BlZWQiLCJfY2xlYXJUaW1lciIsIkNvbnNvbGUiLCJ3YXJuIiwiQkFTRV9TUEVFRCIsIkZQUyIsIl9hbmltYXRlIiwic2V0U3RhdGUiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIm5leHRWYWx1ZSIsIl9uZXh0RnJhbWVCeVRpbWVTdGVwIiwiX25leHRGcmFtZUJ5RG9tYWluIiwia2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJfc3RhcnRPclBhdXNlQW5pbWF0aW9uIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJfdGhpcyRwcm9wczMiLCJfdGhpcyRwcm9wczMkc3BlZWQiLCJfc3RhcnRBbmltYXRpb24iLCJfcGF1c2VBbmltYXRpb24iLCJfdGhpcyRwcm9wczQiLCJfdGhpcyRwcm9wczQkc3BlZWQiLCJfdGhpcyRwcm9wczQkYmFzZVNwZWUiLCJiYXNlU3BlZWQiLCJ2YWx1ZTAiLCJ2YWx1ZTEiLCJsYXN0RnJhbWUiLCJOdW1iZXIiLCJfdGhpcyRwcm9wczUiLCJfdGhpcyRwcm9wczUkc3RlcHMiLCJ2YWwiLCJpbmRleCIsImJpc2VjdExlZnQiLCJuZXh0SWR4IiwicmVuZGVyIiwic3RhdGUiLCJjaGlsZHJlbiIsIl9yZXNldEFuaW1hdGlvbiIsInRpbWVsaW5lIiwiZnJlZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2Jpc2VjdExlZnR9IGZyb20gJ2QzLWFycmF5JztcbmltcG9ydCB7cmVxdWVzdEFuaW1hdGlvbkZyYW1lLCBjYW5jZWxBbmltYXRpb25GcmFtZX0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5pbXBvcnQge0JBU0VfU1BFRUQsIEZQUywgQU5JTUFUSU9OX1dJTkRPV30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtUaW1lbGluZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmludGVyZmFjZSBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiB7XG4gIGlzQW5pbWF0aW5nPzogYm9vbGVhbjtcbiAgc3BlZWQ/OiBudW1iZXI7XG4gIHVwZGF0ZUFuaW1hdGlvbj86ICh4OiBUKSA9PiB2b2lkO1xuICBzZXRUaW1lbGluZVZhbHVlOiAoeDogVCkgPT4gdm9pZDtcbiAgdGltZWxpbmU/OiBUaW1lbGluZTtcbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBzdGVwcz86IG51bWJlcltdIHwgbnVsbDtcbiAgZG9tYWluOiBudW1iZXJbXSB8IG51bGw7XG4gIHZhbHVlOiBUO1xuICBiYXNlU3BlZWQ/OiBudW1iZXI7XG4gIGNoaWxkcmVuPzogKFxuICAgIGlzQW5pbWF0aW5nOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIHN0YXJ0QW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHBhdXNlQW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHJlc2V0QW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHRpbWVsaW5lOiBUaW1lbGluZSB8IHVuZGVmaW5lZCxcbiAgICBzZXRUaW1lbGluZVZhbHVlOiAoeDogVCkgPT4gdm9pZFxuICApID0+IFJlYWN0LlJlYWN0RWxlbWVudCB8IG51bGw7XG59XG5cbmNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJUeXBlPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUPlxuPiB7fVxuXG5mdW5jdGlvbiBBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSgpOiB0eXBlb2YgQW5pbWF0aW9uQ29udHJvbGxlclR5cGUge1xuICAvKipcbiAgICogNCBBbmltYXRpb24gV2luZG93IFR5cGVzXG4gICAqIDEuIGZyZWVcbiAgICogIHwtPiAgfC0+XG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIGZpeGVkIHJhbmdlLCBhbmltYXRlIGEgbW92aW5nIHdpbmRvdyB0aGF0IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHlcbiAgICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMi4gaW5jcmVtZW50YWxcbiAgICogfCAgICB8LT5cbiAgICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gICAqIFRoZSBpbmNyZW1lbnQgaXMgYWxzbyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMy4gcG9pbnRcbiAgICogbyAtPiBvXG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRlIGEgbW92aW5nIHBvaW50IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseVxuICAgKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiA0LiBpbnRlcnZhbFxuICAgKiBvIH4+IG9cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIGFyZSBwcm92aWRlZCxcbiAgICogYW5pbWF0ZSBhIG1vdmluZyBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gICAqL1xuICBjbGFzcyBBbmltYXRpb25Db250cm9sbGVyPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gICAgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQ+XG4gID4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBiYXNlU3BlZWQ6IEJBU0VfU1BFRUQsXG4gICAgICBzcGVlZDogMSxcbiAgICAgIHN0ZXBzOiBudWxsLFxuICAgICAgYW5pbWF0aW9uV2luZG93OiBBTklNQVRJT05fV0lORE9XLmZyZWVcbiAgICB9O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICBpc0FuaW1hdGluZzogZmFsc2VcbiAgICB9O1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGlmICh0aGlzLl90aW1lcikge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90aW1lcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3RpbWVyID0gbnVsbDtcbiAgICBfc3RhcnRUaW1lID0gMDtcblxuICAgIF9zdGFydE9yUGF1c2VBbmltYXRpb24oKSB7XG4gICAgICBjb25zdCB7aXNBbmltYXRpbmcsIHNwZWVkID0gMX0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCF0aGlzLl90aW1lciAmJiBpc0FuaW1hdGluZyAmJiBzcGVlZCA+IDApIHtcbiAgICAgICAgdGhpcy5fc3RhcnRBbmltYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fdGltZXIgJiYgIWlzQW5pbWF0aW5nKSB7XG4gICAgICAgIHRoaXMuX3BhdXNlQW5pbWF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX2FuaW1hdGUgPSBkZWxheSA9PiB7XG4gICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgY29uc3QgbG9vcCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkZWx0YSA9IGN1cnJlbnQgLSB0aGlzLl9zdGFydFRpbWU7XG5cbiAgICAgICAgaWYgKGRlbHRhID49IGRlbGF5KSB7XG4gICAgICAgICAgdGhpcy5fbmV4dEZyYW1lKCk7XG4gICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb25CeURvbWFpbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBhbmltYXRpb25XaW5kb3csIHVwZGF0ZUFuaW1hdGlvbn0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB1cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbmNyZW1lbnRhbCkge1xuICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWUoW3ZhbHVlWzBdLCB2YWx1ZVswXSArIDFdIGFzIFQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWUoW2RvbWFpblswXSwgZG9tYWluWzBdICsgdmFsdWVbMV0gLSB2YWx1ZVswXV0gYXMgVCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVsaW5lVmFsdWUoZG9tYWluWzBdIGFzIFQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbCwgdXBkYXRlQW5pbWF0aW9ufSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICAvLyBpbnRlcmltIHNvbHV0aW9uIHdoaWxlIHdlIGZ1bGx5IG1pZ3JhdGUgZmlsdGVyIGFuZCBsYXllciBjb250cm9sbGVyc1xuICAgICAgY29uc3Qgc2V0VGltZWxpbmVWYWx1ZSA9IHVwZGF0ZUFuaW1hdGlvbiB8fCB0aGlzLnByb3BzLnNldFRpbWVsaW5lVmFsdWU7XG5cbiAgICAgIC8vIGdvIHRvIHRoZSBmaXJzdCBzdGVwc1xuICAgICAgc2V0VGltZWxpbmVWYWx1ZShbc3RlcHNbMF0sIDBdIGFzIFQpO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9zdGFydEFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzcGVlZCA9IDF9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIGlmIChzcGVlZCA+IDApIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgICAgLy8gYW5pbWF0ZSBieSBpbnRlcnZhbFxuICAgICAgICAgIC8vIDMwKjYwMFxuICAgICAgICAgIGNvbnN0IHtzdGVwc30gPSB0aGlzLnByb3BzO1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzdGVwcykgfHwgIXN0ZXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgQ29uc29sZS53YXJuKCdhbmltYXRpb24gc3RlcHMgc2hvdWxkIGJlIGFuIGFycmF5Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHdoZW4gc3BlZWQgPSAxLCBhbmltYXRpb24gc2hvdWxkIGxvb3AgdGhyb3VnaCA2MDAgZnJhbWVzIGF0IDYwIEZQU1xuICAgICAgICAgIC8vIGNhbGN1bGF0ZSBkZWxheSBiYXNlZCBvbiAjIHN0ZXBzXG4gICAgICAgICAgY29uc3QgZGVsYXkgPSAoQkFTRV9TUEVFRCAqICgxMDAwIC8gRlBTKSkgLyBzdGVwcy5sZW5ndGggLyAoc3BlZWQgfHwgMSk7XG4gICAgICAgICAgdGhpcy5fYW5pbWF0ZShkZWxheSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dEZyYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNBbmltYXRpbmc6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgX2NsZWFyVGltZXIgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fdGltZXIpO1xuICAgICAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wYXVzZUFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzQW5pbWF0aW5nOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfbmV4dEZyYW1lID0gKCkgPT4ge1xuICAgICAgdGhpcy5fdGltZXIgPSBudWxsO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID1cbiAgICAgICAgdGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWxcbiAgICAgICAgICA/IHRoaXMuX25leHRGcmFtZUJ5VGltZVN0ZXAoKVxuICAgICAgICAgIDogdGhpcy5fbmV4dEZyYW1lQnlEb21haW4oKTtcblxuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbiB8fCB0aGlzLnByb3BzLnNldFRpbWVsaW5lVmFsdWU7XG4gICAgICBzZXRUaW1lbGluZVZhbHVlKG5leHRWYWx1ZSBhcyBUKTtcbiAgICB9O1xuXG4gICAgX25leHRGcmFtZUJ5RG9tYWluKCkge1xuICAgICAgY29uc3Qge2RvbWFpbiwgdmFsdWUsIHNwZWVkID0gMSwgYmFzZVNwZWVkID0gNjAwLCBhbmltYXRpb25XaW5kb3d9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghZG9tYWluKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlbHRhID0gKChkb21haW5bMV0gLSBkb21haW5bMF0pIC8gYmFzZVNwZWVkKSAqIHNwZWVkO1xuXG4gICAgICAvLyBsb29wIHdoZW4gcmVhY2hlcyB0aGUgZW5kXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSByYW5nZVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGxldCB2YWx1ZTA6IG51bWJlcjtcbiAgICAgICAgbGV0IHZhbHVlMTogbnVtYmVyO1xuICAgICAgICBpZiAoYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsKSB7XG4gICAgICAgICAgY29uc3QgbGFzdEZyYW1lID0gdmFsdWVbMV0gKyBkZWx0YSA+IGRvbWFpblsxXTtcbiAgICAgICAgICB2YWx1ZTAgPSB2YWx1ZVswXTtcbiAgICAgICAgICB2YWx1ZTEgPSBsYXN0RnJhbWUgPyB2YWx1ZVswXSArIDEgOiB2YWx1ZVsxXSArIGRlbHRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHVzZSB2YWx1ZVswXSB0byBkaXNwbGF5IHRoZSBsYXN0IGl0ZW0gIGR1cmF0aW9uIGFzIHRoZSBmaXJzdCBpdGVtXG4gICAgICAgICAgY29uc3QgbGFzdEZyYW1lID0gdmFsdWVbMF0gKyBkZWx0YSA+IGRvbWFpblsxXTtcbiAgICAgICAgICB2YWx1ZTAgPSBsYXN0RnJhbWUgPyBkb21haW5bMF0gOiB2YWx1ZVswXSArIGRlbHRhO1xuICAgICAgICAgIHZhbHVlMSA9IHZhbHVlMCArIHZhbHVlWzFdIC0gdmFsdWVbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt2YWx1ZTAsIHZhbHVlMV07XG4gICAgICB9XG5cbiAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBhIHBvaW50XG4gICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKSArIGRlbHRhID4gZG9tYWluWzFdID8gZG9tYWluWzBdIDogTnVtYmVyKHZhbHVlKSArIGRlbHRhO1xuICAgIH1cblxuICAgIF9uZXh0RnJhbWVCeVRpbWVTdGVwKCkge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbCwgdmFsdWV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghc3RlcHMpIHJldHVybjtcbiAgICAgIGNvbnN0IHZhbCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiBOdW1iZXIodmFsdWUpO1xuICAgICAgY29uc3QgaW5kZXggPSBiaXNlY3RMZWZ0KHN0ZXBzLCB2YWwpO1xuICAgICAgY29uc3QgbmV4dElkeCA9IGluZGV4ID49IHN0ZXBzLmxlbmd0aCAtIDEgPyAwIDogaW5kZXggKyAxO1xuXG4gICAgICAvLyB3aHkgZG8gd2UgbmVlZCB0byBwYXNzIGFuIGFycmF5IG9mIHR3byBvYmplY3RzPyBhcmUgd2UgcmVhZGluZyBuZXh0SWR4IGF0IHNvbWUgcG9pbnQ/XG4gICAgICAvLyBfbmV4dEZyYW1lQnlEb21haW4gb25seSByZXR1cm5zIG9uZSB2YWx1ZVxuICAgICAgcmV0dXJuIFtzdGVwc1tuZXh0SWR4XSwgbmV4dElkeF07XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lzQW5pbWF0aW5nfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcblxuICAgICAgcmV0dXJuIHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkcmVuKFxuICAgICAgICAgICAgaXNBbmltYXRpbmcsXG4gICAgICAgICAgICB0aGlzLl9zdGFydEFuaW1hdGlvbixcbiAgICAgICAgICAgIHRoaXMuX3BhdXNlQW5pbWF0aW9uLFxuICAgICAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb24sXG4gICAgICAgICAgICB0aGlzLnByb3BzLnRpbWVsaW5lLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlXG4gICAgICAgICAgKVxuICAgICAgICA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2xsZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBR0EsSUFB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
271
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2QzQXJyYXkiLCJfd2luZG93IiwiX2NvbnNvbGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvbnN0YW50cyIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJfQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrMiIsImFyZ3VtZW50cyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiQ29tcG9uZW50IiwiQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkiLCJBbmltYXRpb25Db250cm9sbGVyIiwiX0NvbXBvbmVudDIiLCJfdGhpcyIsIl9sZW4iLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiX2RlZmluZVByb3BlcnR5MiIsImlzQW5pbWF0aW5nIiwiZGVsYXkiLCJfc3RhcnRUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJsb29wIiwiY3VycmVudCIsImRlbHRhIiwiX25leHRGcmFtZSIsIl90aW1lciIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl90aGlzJHByb3BzIiwicHJvcHMiLCJkb21haW4iLCJ2YWx1ZSIsImFuaW1hdGlvbldpbmRvdyIsInVwZGF0ZUFuaW1hdGlvbiIsInNldFRpbWVsaW5lVmFsdWUiLCJpc0FycmF5Iiwid2luZG93U2l6ZSIsIkFOSU1BVElPTl9XSU5ET1ciLCJpbmNyZW1lbnRhbCIsInN0YXJ0VmFsdWUiLCJfdGhpcyRwcm9wczIiLCJfdGhpcyRwcm9wczIkc3RlcHMiLCJzdGVwcyIsImludGVydmFsIiwiX3Jlc2V0QW5pbWF0aW9uQnlUaW1lU3RlcCIsIl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluIiwiX3RoaXMkcHJvcHMkc3BlZWQiLCJzcGVlZCIsIl9jbGVhclRpbWVyIiwiQ29uc29sZSIsIndhcm4iLCJCQVNFX1NQRUVEIiwiRlBTIiwiX2FuaW1hdGUiLCJzZXRTdGF0ZSIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwibmV4dFZhbHVlIiwiX25leHRGcmFtZUJ5VGltZVN0ZXAiLCJfbmV4dEZyYW1lQnlEb21haW4iLCJrZXkiLCJjb21wb25lbnREaWRNb3VudCIsIl9zdGFydE9yUGF1c2VBbmltYXRpb24iLCJjb21wb25lbnREaWRVcGRhdGUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIl90aGlzJHByb3BzMyIsIl90aGlzJHByb3BzMyRzcGVlZCIsIl9zdGFydEFuaW1hdGlvbiIsIl9wYXVzZUFuaW1hdGlvbiIsIl90aGlzJHByb3BzNCIsIl90aGlzJHByb3BzNCRzcGVlZCIsIl90aGlzJHByb3BzNCRiYXNlU3BlZSIsImJhc2VTcGVlZCIsInZhbHVlMCIsInZhbHVlMSIsImxhc3RGcmFtZSIsIk51bWJlciIsIl90aGlzJHByb3BzNSIsIl90aGlzJHByb3BzNSRzdGVwcyIsInZhbCIsImluZGV4IiwiYmlzZWN0TGVmdCIsIm5leHRJZHgiLCJyZW5kZXIiLCJzdGF0ZSIsImNoaWxkcmVuIiwiX3Jlc2V0QW5pbWF0aW9uIiwidGltZWxpbmUiLCJmcmVlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9hbmltYXRpb24tY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7YmlzZWN0TGVmdH0gZnJvbSAnZDMtYXJyYXknO1xuaW1wb3J0IHtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUsIGNhbmNlbEFuaW1hdGlvbkZyYW1lfSBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCBDb25zb2xlIGZyb20gJ2dsb2JhbC9jb25zb2xlJztcbmltcG9ydCB7QkFTRV9TUEVFRCwgRlBTLCBBTklNQVRJT05fV0lORE9XfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1RpbWVsaW5lfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW50ZXJmYWNlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IHtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICBzcGVlZD86IG51bWJlcjtcbiAgdXBkYXRlQW5pbWF0aW9uPzogKHg6IFQpID0+IHZvaWQ7XG4gIHNldFRpbWVsaW5lVmFsdWU6ICh4OiBUKSA9PiB2b2lkO1xuICB0aW1lbGluZT86IFRpbWVsaW5lO1xuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIHN0ZXBzPzogbnVtYmVyW10gfCBudWxsO1xuICBkb21haW46IG51bWJlcltdIHwgbnVsbDtcbiAgdmFsdWU6IFQ7XG4gIGJhc2VTcGVlZD86IG51bWJlcjtcbiAgY2hpbGRyZW4/OiAoXG4gICAgaXNBbmltYXRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gICAgc3RhcnRBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgcGF1c2VBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgcmVzZXRBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgdGltZWxpbmU6IFRpbWVsaW5lIHwgdW5kZWZpbmVkLFxuICAgIHNldFRpbWVsaW5lVmFsdWU6ICh4OiBUKSA9PiB2b2lkXG4gICkgPT4gUmVhY3QuUmVhY3RFbGVtZW50IHwgbnVsbDtcbn1cblxuY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclR5cGU8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiBleHRlbmRzIENvbXBvbmVudDxcbiAgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQ+XG4+IHt9XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5KCk6IHR5cGVvZiBBbmltYXRpb25Db250cm9sbGVyVHlwZSB7XG4gIC8qKlxuICAgKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAgICogMS4gZnJlZVxuICAgKiAgfC0+ICB8LT5cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGUgYSBtb3Zpbmcgd2luZG93IHRoYXQgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseVxuICAgKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiAyLiBpbmNyZW1lbnRhbFxuICAgKiB8ICAgIHwtPlxuICAgKiBTYW1lIGFzIGZyZWUsIGN1cnJlbnQgdGltZSBpcyBhIGdyb3dpbmcgcmFuZ2UsIG9ubHkgdGhlIG1heCB2YWx1ZSBvZiByYW5nZSBpbmNyZW1lbnQgZHVyaW5nIGFuaW1hdGlvbi5cbiAgICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiAzLiBwb2ludFxuICAgKiBvIC0+IG9cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGUgYSBtb3ZpbmcgcG9pbnQgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWUgY29udGludW91c2x5XG4gICAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDQuIGludGVydmFsXG4gICAqIG8gfj4gb1xuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludC4gQW4gYXJyYXkgb2Ygc29ydGVkIHRpbWUgc3RlcHMgYXJlIHByb3ZpZGVkLFxuICAgKiBhbmltYXRlIGEgbW92aW5nIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAgICovXG4gIGNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXI8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiBleHRlbmRzIENvbXBvbmVudDxcbiAgICBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VD5cbiAgPiB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGJhc2VTcGVlZDogQkFTRV9TUEVFRCxcbiAgICAgIHNwZWVkOiAxLFxuICAgICAgc3RlcHM6IG51bGwsXG4gICAgICBhbmltYXRpb25XaW5kb3c6IEFOSU1BVElPTl9XSU5ET1cuZnJlZVxuICAgIH07XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIGlzQW5pbWF0aW5nOiBmYWxzZVxuICAgIH07XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgaWYgKHRoaXMuX3RpbWVyKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3RpbWVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfdGltZXIgPSBudWxsO1xuICAgIF9zdGFydFRpbWUgPSAwO1xuXG4gICAgX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZywgc3BlZWQgPSAxfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXRoaXMuX3RpbWVyICYmIGlzQW5pbWF0aW5nICYmIHNwZWVkID4gMCkge1xuICAgICAgICB0aGlzLl9zdGFydEFuaW1hdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl90aW1lciAmJiAhaXNBbmltYXRpbmcpIHtcbiAgICAgICAgdGhpcy5fcGF1c2VBbmltYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfYW5pbWF0ZSA9IGRlbGF5ID0+IHtcbiAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICBjb25zdCBsb29wID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGRlbHRhID0gY3VycmVudCAtIHRoaXMuX3N0YXJ0VGltZTtcblxuICAgICAgICBpZiAoZGVsdGEgPj0gZGVsYXkpIHtcbiAgICAgICAgICB0aGlzLl9uZXh0RnJhbWUoKTtcbiAgICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgfTtcblxuICAgIF9yZXNldEFuaW1hdGlvbkJ5RG9tYWluID0gKCkgPT4ge1xuICAgICAgY29uc3Qge2RvbWFpbiwgdmFsdWUsIGFuaW1hdGlvbldpbmRvdywgdXBkYXRlQW5pbWF0aW9ufSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzZXRUaW1lbGluZVZhbHVlID0gdXBkYXRlQW5pbWF0aW9uIHx8IHRoaXMucHJvcHMuc2V0VGltZWxpbmVWYWx1ZTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHdpbmRvd1NpemUgPSB2YWx1ZVsxXSAtIHZhbHVlWzBdO1xuICAgICAgICBpZiAoYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsKSB7XG4gICAgICAgICAgc2V0VGltZWxpbmVWYWx1ZShbdmFsdWVbMF0sIHZhbHVlWzBdICsgMV0gYXMgVCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc3RhcnRWYWx1ZSA9IGRvbWFpblswXSAtIHdpbmRvd1NpemU7XG4gICAgICAgICAgc2V0VGltZWxpbmVWYWx1ZShbc3RhcnRWYWx1ZSwgc3RhcnRWYWx1ZSArIHdpbmRvd1NpemVdIGFzIFQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lbGluZVZhbHVlKGRvbWFpblswXSBhcyBUKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uQnlUaW1lU3RlcCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHVwZGF0ZUFuaW1hdGlvbn0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFzdGVwcykgcmV0dXJuO1xuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB1cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuXG4gICAgICAvLyBnbyB0byB0aGUgZmlyc3Qgc3RlcHNcbiAgICAgIHNldFRpbWVsaW5lVmFsdWUoW3N0ZXBzWzBdLCAwXSBhcyBUKTtcbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uQnlUaW1lU3RlcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb25CeURvbWFpbigpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfc3RhcnRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCB7c3BlZWQgPSAxfSA9IHRoaXMucHJvcHM7XG4gICAgICB0aGlzLl9jbGVhclRpbWVyKCk7XG4gICAgICBpZiAoc3BlZWQgPiAwKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbnRlcnZhbCkge1xuICAgICAgICAgIC8vIGFuaW1hdGUgYnkgaW50ZXJ2YWxcbiAgICAgICAgICAvLyAzMCo2MDBcbiAgICAgICAgICBjb25zdCB7c3RlcHN9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3RlcHMpIHx8ICFzdGVwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIENvbnNvbGUud2FybignYW5pbWF0aW9uIHN0ZXBzIHNob3VsZCBiZSBhbiBhcnJheScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB3aGVuIHNwZWVkID0gMSwgYW5pbWF0aW9uIHNob3VsZCBsb29wIHRocm91Z2ggNjAwIGZyYW1lcyBhdCA2MCBGUFNcbiAgICAgICAgICAvLyBjYWxjdWxhdGUgZGVsYXkgYmFzZWQgb24gIyBzdGVwc1xuICAgICAgICAgIGNvbnN0IGRlbGF5ID0gKEJBU0VfU1BFRUQgKiAoMTAwMCAvIEZQUykpIC8gc3RlcHMubGVuZ3RoIC8gKHNwZWVkIHx8IDEpO1xuICAgICAgICAgIHRoaXMuX2FuaW1hdGUoZGVsYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX25leHRGcmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzQW5pbWF0aW5nOiB0cnVlfSk7XG4gICAgfTtcblxuICAgIF9jbGVhclRpbWVyID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3RpbWVyKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3RpbWVyKTtcbiAgICAgICAgdGhpcy5fdGltZXIgPSBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcGF1c2VBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICB0aGlzLl9jbGVhclRpbWVyKCk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc0FuaW1hdGluZzogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgX25leHRGcmFtZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDtcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9XG4gICAgICAgIHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsXG4gICAgICAgICAgPyB0aGlzLl9uZXh0RnJhbWVCeVRpbWVTdGVwKClcbiAgICAgICAgICA6IHRoaXMuX25leHRGcmFtZUJ5RG9tYWluKCk7XG5cbiAgICAgIC8vIGludGVyaW0gc29sdXRpb24gd2hpbGUgd2UgZnVsbHkgbWlncmF0ZSBmaWx0ZXIgYW5kIGxheWVyIGNvbnRyb2xsZXJzXG4gICAgICBjb25zdCBzZXRUaW1lbGluZVZhbHVlID0gdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuICAgICAgc2V0VGltZWxpbmVWYWx1ZShuZXh0VmFsdWUgYXMgVCk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWVCeURvbWFpbigpIHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBzcGVlZCA9IDEsIGJhc2VTcGVlZCA9IDYwMCwgYW5pbWF0aW9uV2luZG93fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBkZWx0YSA9ICgoZG9tYWluWzFdIC0gZG9tYWluWzBdKSAvIGJhc2VTcGVlZCkgKiBzcGVlZDtcblxuICAgICAgLy8gbG9vcCB3aGVuIHJlYWNoZXMgdGhlIGVuZFxuICAgICAgLy8gY3VycmVudCB0aW1lIGlzIGEgcmFuZ2VcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBsZXQgdmFsdWUwOiBudW1iZXI7XG4gICAgICAgIGxldCB2YWx1ZTE6IG51bWJlcjtcbiAgICAgICAgY29uc3Qgd2luZG93U2l6ZSA9IHZhbHVlWzFdIC0gdmFsdWVbMF07XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICBjb25zdCBsYXN0RnJhbWUgPSB2YWx1ZVsxXSArIGRlbHRhID4gZG9tYWluWzFdO1xuICAgICAgICAgIHZhbHVlMCA9IHZhbHVlWzBdO1xuICAgICAgICAgIHZhbHVlMSA9IGxhc3RGcmFtZSA/IHZhbHVlWzBdICsgMSA6IHZhbHVlWzFdICsgZGVsdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbGFzdEZyYW1lID0gdmFsdWVbMF0gKyBkZWx0YSA+IGRvbWFpblsxXTtcbiAgICAgICAgICBjb25zdCBzdGFydFZhbHVlID0gZG9tYWluWzBdIC0gd2luZG93U2l6ZTtcbiAgICAgICAgICB2YWx1ZTAgPSBsYXN0RnJhbWUgPyBzdGFydFZhbHVlIDogdmFsdWVbMF0gKyBkZWx0YTtcbiAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTAgKyB3aW5kb3dTaXplO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdmFsdWUwLCB2YWx1ZTFdO1xuICAgICAgfVxuXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSBwb2ludFxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKyBkZWx0YSA+IGRvbWFpblsxXSA/IGRvbWFpblswXSA6IE51bWJlcih2YWx1ZSkgKyBkZWx0YTtcbiAgICB9XG5cbiAgICBfbmV4dEZyYW1lQnlUaW1lU3RlcCgpIHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gYmlzZWN0TGVmdChzdGVwcywgdmFsKTtcbiAgICAgIGNvbnN0IG5leHRJZHggPSBpbmRleCA+PSBzdGVwcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMTtcblxuICAgICAgLy8gd2h5IGRvIHdlIG5lZWQgdG8gcGFzcyBhbiBhcnJheSBvZiB0d28gb2JqZWN0cz8gYXJlIHdlIHJlYWRpbmcgbmV4dElkeCBhdCBzb21lIHBvaW50P1xuICAgICAgLy8gX25leHRGcmFtZUJ5RG9tYWluIG9ubHkgcmV0dXJucyBvbmUgdmFsdWVcbiAgICAgIHJldHVybiBbc3RlcHNbbmV4dElkeF0sIG5leHRJZHhdO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZ30gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3Qge2NoaWxkcmVufSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIHJldHVybiB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjaGlsZHJlbihcbiAgICAgICAgICAgIGlzQW5pbWF0aW5nLFxuICAgICAgICAgICAgdGhpcy5fc3RhcnRBbmltYXRpb24sXG4gICAgICAgICAgICB0aGlzLl9wYXVzZUFuaW1hdGlvbixcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy50aW1lbGluZSxcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0VGltZWxpbmVWYWx1ZVxuICAgICAgICAgIClcbiAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBBbmltYXRpb25Db250cm9sbGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBbmltYXRp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QUQsWUFBQSxDQUFqQ2xDLEtBQUs7VUFBTEEsS0FBSyxHQUFBbUMsa0JBQUEsY0FBRyxJQUFJLEdBQUFBLGtCQUFBO1VBQUU5QyxLQUFLLEdBQUE2QyxZQUFBLENBQUw3QyxLQUFLO1FBQzFCLElBQUksQ0FBQ1csS0FBSyxFQUFFO1FBQ1osSUFBTW9DLEdBQUcsR0FBR2pFLEtBQUssQ0FBQ3NCLE9BQU8sQ0FBQ0osS0FBSyxDQUFDLEdBQUdBLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRzRDLE1BQU0sQ0FBQzVDLEtBQUssQ0FBQztRQUMzRCxJQUFNZ0QsS0FBSyxHQUFHLElBQUFDLG1CQUFVLEVBQUN0QyxLQUFLLEVBQUVvQyxHQUFHLENBQUM7UUFDcEMsSUFBTUcsT0FBTyxHQUFHRixLQUFLLElBQUlyQyxLQUFLLENBQUMvQixNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBR29FLEtBQUssR0FBRyxDQUFDOztRQUV6RDtRQUNBO1FBQ0EsT0FBTyxDQUFDckMsS0FBSyxDQUFDdUMsT0FBTyxDQUFDLEVBQUVBLE9BQU8sQ0FBQztNQUNsQztJQUFDO01BQUF0QixHQUFBO01BQUE1QixLQUFBLEVBRUQsU0FBQW1ELE1BQU1BLENBQUEsRUFBRztRQUNQLElBQU9qRSxXQUFXLEdBQUksSUFBSSxDQUFDa0UsS0FBSyxDQUF6QmxFLFdBQVc7UUFDbEIsSUFBT21FLFFBQVEsR0FBSSxJQUFJLENBQUN2RCxLQUFLLENBQXRCdUQsUUFBUTtRQUVmLE9BQU8sT0FBT0EsUUFBUSxLQUFLLFVBQVUsR0FDakNBLFFBQVEsQ0FDTm5FLFdBQVcsRUFDWCxJQUFJLENBQUNpRCxlQUFlLEVBQ3BCLElBQUksQ0FBQ0MsZUFBZSxFQUNwQixJQUFJLENBQUNrQixlQUFlLEVBQ3BCLElBQUksQ0FBQ3hELEtBQUssQ0FBQ3lELFFBQVEsRUFDbkIsSUFBSSxDQUFDekQsS0FBSyxDQUFDSyxnQkFDYixDQUFDLEdBQ0QsSUFBSTtNQUNWO0lBQUM7RUFBQSxFQXZNNEQ3QixnQkFBUztFQUFBLElBQUFXLGdCQUFBLGFBQWxFVCxtQkFBbUIsa0JBR0Q7SUFDcEJnRSxTQUFTLEVBQUVwQixxQkFBVTtJQUNyQkosS0FBSyxFQUFFLENBQUM7SUFDUkwsS0FBSyxFQUFFLElBQUk7SUFDWFYsZUFBZSxFQUFFSywyQkFBZ0IsQ0FBQ2tEO0VBQ3BDLENBQUM7RUFrTUgsT0FBT2hGLG1CQUFtQjtBQUM1QjtBQUFDLElBQUFpRixRQUFBLEdBQUFDLE9BQUEsY0FFY25GLDBCQUEwQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare function ExportVideoControlFactory(): ({ showAnimationWindowControl, btnStyle, buttonHeight, playbackIcons, exportAnimation }: {
3
+ showAnimationWindowControl: any;
4
+ btnStyle: any;
5
+ buttonHeight: any;
6
+ playbackIcons: any;
7
+ exportAnimation: any;
8
+ }) => React.JSX.Element | null;
9
+ export default ExportVideoControlFactory;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _localization = require("@kepler.gl/localization");
11
+ var _styledComponents = require("../styled-components");
12
+ var _iconButton = _interopRequireDefault(require("../icon-button"));
13
+ // SPDX-License-Identifier: MIT
14
+ // Copyright contributors to the kepler.gl project
15
+
16
+ var DELAY_SHOW = 500;
17
+ function ExportVideoControlFactory() {
18
+ var ExportVideoControl = function ExportVideoControl(_ref) {
19
+ var showAnimationWindowControl = _ref.showAnimationWindowControl,
20
+ btnStyle = _ref.btnStyle,
21
+ buttonHeight = _ref.buttonHeight,
22
+ playbackIcons = _ref.playbackIcons,
23
+ exportAnimation = _ref.exportAnimation;
24
+ return showAnimationWindowControl || !exportAnimation ? null : /*#__PURE__*/_react["default"].createElement(_iconButton["default"], (0, _extends2["default"])({
25
+ "data-tip": true,
26
+ "data-for": "animate-export",
27
+ className: "playback-control-button",
28
+ onClick: exportAnimation
29
+ }, btnStyle), /*#__PURE__*/_react["default"].createElement(playbackIcons["export"], {
30
+ height: buttonHeight
31
+ }), /*#__PURE__*/_react["default"].createElement(_styledComponents.Tooltip, {
32
+ id: "animate-export",
33
+ place: "top",
34
+ delayShow: DELAY_SHOW,
35
+ effect: "solid"
36
+ }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
37
+ id: "tooltip.export"
38
+ })));
39
+ };
40
+ return ExportVideoControl;
41
+ }
42
+ var _default = exports["default"] = ExportVideoControlFactory;
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2NhbGl6YXRpb24iLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29uQnV0dG9uIiwiREVMQVlfU0hPVyIsIkV4cG9ydFZpZGVvQ29udHJvbEZhY3RvcnkiLCJFeHBvcnRWaWRlb0NvbnRyb2wiLCJfcmVmIiwic2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2wiLCJidG5TdHlsZSIsImJ1dHRvbkhlaWdodCIsInBsYXliYWNrSWNvbnMiLCJleHBvcnRBbmltYXRpb24iLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwib25DbGljayIsImhlaWdodCIsIlRvb2x0aXAiLCJpZCIsInBsYWNlIiwiZGVsYXlTaG93IiwiZWZmZWN0IiwiRm9ybWF0dGVkTWVzc2FnZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvZXhwb3J0LXZpZGVvLWNvbnRyb2wudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnLi4vaWNvbi1idXR0b24nO1xuXG5jb25zdCBERUxBWV9TSE9XID0gNTAwO1xuXG5mdW5jdGlvbiBFeHBvcnRWaWRlb0NvbnRyb2xGYWN0b3J5KCkge1xuICBjb25zdCBFeHBvcnRWaWRlb0NvbnRyb2wgPSAoe1xuICAgIHNob3dBbmltYXRpb25XaW5kb3dDb250cm9sLFxuICAgIGJ0blN0eWxlLFxuICAgIGJ1dHRvbkhlaWdodCxcbiAgICBwbGF5YmFja0ljb25zLFxuICAgIGV4cG9ydEFuaW1hdGlvblxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHNob3dBbmltYXRpb25XaW5kb3dDb250cm9sIHx8ICFleHBvcnRBbmltYXRpb24gPyBudWxsIDogKFxuICAgICAgPEljb25CdXR0b25cbiAgICAgICAgZGF0YS10aXBcbiAgICAgICAgZGF0YS1mb3I9XCJhbmltYXRlLWV4cG9ydFwiXG4gICAgICAgIGNsYXNzTmFtZT1cInBsYXliYWNrLWNvbnRyb2wtYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17ZXhwb3J0QW5pbWF0aW9ufVxuICAgICAgICB7Li4uYnRuU3R5bGV9XG4gICAgICA+XG4gICAgICAgIDxwbGF5YmFja0ljb25zLmV4cG9ydCBoZWlnaHQ9e2J1dHRvbkhlaWdodH0gLz5cbiAgICAgICAgPFRvb2x0aXAgaWQ9XCJhbmltYXRlLWV4cG9ydFwiIHBsYWNlPVwidG9wXCIgZGVsYXlTaG93PXtERUxBWV9TSE9XfSBlZmZlY3Q9XCJzb2xpZFwiPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwidG9vbHRpcC5leHBvcnRcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICA8L0ljb25CdXR0b24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRXhwb3J0VmlkZW9Db250cm9sO1xufVxuXG5leHBvcnQgZGVmYXVsdCBFeHBvcnRWaWRlb0NvbnRyb2xGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFOQTtBQUNBOztBQU9BLElBQU1JLFVBQVUsR0FBRyxHQUFHO0FBRXRCLFNBQVNDLHlCQUF5QkEsQ0FBQSxFQUFHO0VBQ25DLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUFDLElBQUEsRUFNbEI7SUFBQSxJQUxKQywwQkFBMEIsR0FBQUQsSUFBQSxDQUExQkMsMEJBQTBCO01BQzFCQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtNQUNSQyxZQUFZLEdBQUFILElBQUEsQ0FBWkcsWUFBWTtNQUNaQyxhQUFhLEdBQUFKLElBQUEsQ0FBYkksYUFBYTtNQUNiQyxlQUFlLEdBQUFMLElBQUEsQ0FBZkssZUFBZTtJQUVmLE9BQU9KLDBCQUEwQixJQUFJLENBQUNJLGVBQWUsR0FBRyxJQUFJLGdCQUMxRGQsTUFBQSxZQUFBZSxhQUFBLENBQUNWLFdBQUEsV0FBVSxNQUFBVyxTQUFBO01BQ1QsZ0JBQVE7TUFDUixZQUFTLGdCQUFnQjtNQUN6QkMsU0FBUyxFQUFDLHlCQUF5QjtNQUNuQ0MsT0FBTyxFQUFFSjtJQUFnQixHQUNyQkgsUUFBUSxnQkFFWlgsTUFBQSxZQUFBZSxhQUFBLENBQUNGLGFBQWE7TUFBUU0sTUFBTSxFQUFFUDtJQUFhLENBQUUsQ0FBQyxlQUM5Q1osTUFBQSxZQUFBZSxhQUFBLENBQUNYLGlCQUFBLENBQUFnQixPQUFPO01BQUNDLEVBQUUsRUFBQyxnQkFBZ0I7TUFBQ0MsS0FBSyxFQUFDLEtBQUs7TUFBQ0MsU0FBUyxFQUFFakIsVUFBVztNQUFDa0IsTUFBTSxFQUFDO0lBQU8sZ0JBQzVFeEIsTUFBQSxZQUFBZSxhQUFBLENBQUNaLGFBQUEsQ0FBQXNCLGdCQUFnQjtNQUFDSixFQUFFLEVBQUM7SUFBZ0IsQ0FBRSxDQUNoQyxDQUNDLENBQ2I7RUFDSCxDQUFDO0VBRUQsT0FBT2Isa0JBQWtCO0FBQzNCO0FBQUMsSUFBQWtCLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEIseUJBQXlCIiwiaWdub3JlTGlzdCI6W119
@@ -5,6 +5,7 @@ import WindowActionControlFactory from './window-action-control';
5
5
  import AnimationWindowControlFactory, { AnimationItem } from './animation-window-control';
6
6
  import ResetControlFactory from './reset-control';
7
7
  import PlayControlFactory from './play-control';
8
+ import ExportVideoControlFactory from './export-video-control';
8
9
  import { BaseComponentProps } from '../../types';
9
10
  export type StyledAnimationControlsProps = BaseComponentProps & {
10
11
  width?: number;
@@ -21,6 +22,7 @@ export interface PlaybackControlsProps {
21
22
  pauseAnimation?: () => void;
22
23
  resetAnimation?: () => void;
23
24
  startAnimation: () => void;
25
+ exportAnimation?: () => void;
24
26
  playbackIcons?: Record<string, React.FC<{
25
27
  height: number;
26
28
  }>>;
@@ -32,8 +34,8 @@ export interface PlaybackControlsProps {
32
34
  playbackActionItems?: React.FC[];
33
35
  className?: string;
34
36
  }
35
- declare function PlaybackControlsFactory(AnimationSpeedSlider: ReturnType<typeof AnimationSpeedSliderFactory>, WindowActionControl: any, AnimationWindowControl: any, ResetControl: any, PlayControl: any): React.FC<PlaybackControlsProps>;
37
+ declare function PlaybackControlsFactory(AnimationSpeedSlider: ReturnType<typeof AnimationSpeedSliderFactory>, WindowActionControl: any, AnimationWindowControl: any, ResetControl: any, PlayControl: any, ExportVideoControl: any): React.FC<PlaybackControlsProps>;
36
38
  declare namespace PlaybackControlsFactory {
37
- var deps: (typeof AnimationSpeedSliderFactory | typeof WindowActionControlFactory | typeof AnimationWindowControlFactory | typeof ResetControlFactory | typeof PlayControlFactory)[];
39
+ var deps: (typeof AnimationSpeedSliderFactory | typeof WindowActionControlFactory | typeof AnimationWindowControlFactory | typeof ResetControlFactory | typeof PlayControlFactory | typeof ExportVideoControlFactory)[];
38
40
  }
39
41
  export default PlaybackControlsFactory;
@@ -20,6 +20,7 @@ var _animationWindowControl = _interopRequireDefault(require("./animation-window
20
20
  var _resetControl = _interopRequireDefault(require("./reset-control"));
21
21
  var _playControl = _interopRequireDefault(require("./play-control"));
22
22
  var _speedControl = _interopRequireDefault(require("./speed-control"));
23
+ var _exportVideoControl = _interopRequireDefault(require("./export-video-control"));
23
24
  var _templateObject; // SPDX-License-Identifier: MIT
24
25
  // Copyright contributors to the kepler.gl project
25
26
  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); }
@@ -73,9 +74,9 @@ var DEFAULT_ANIMATE_ITEMS = (0, _defineProperty2["default"])((0, _defineProperty
73
74
  });
74
75
  PlaybackControlsFactory.deps = [
75
76
  // keeping this for backwards compatibility but we can decide to drop it later
76
- _animationSpeedSlider["default"], _windowActionControl["default"], _animationWindowControl["default"], _resetControl["default"], _playControl["default"]];
77
- function PlaybackControlsFactory(AnimationSpeedSlider, WindowActionControl, AnimationWindowControl, ResetControl, PlayControl) {
78
- var PLAYBACK_CONTROLS_DEFAULT_ACTION_COMPONENTS = [PlayControl, (0, _speedControl["default"])(AnimationSpeedSlider), ResetControl, WindowActionControl, AnimationWindowControl];
77
+ _animationSpeedSlider["default"], _windowActionControl["default"], _animationWindowControl["default"], _resetControl["default"], _playControl["default"], _exportVideoControl["default"]];
78
+ function PlaybackControlsFactory(AnimationSpeedSlider, WindowActionControl, AnimationWindowControl, ResetControl, PlayControl, ExportVideoControl) {
79
+ var PLAYBACK_CONTROLS_DEFAULT_ACTION_COMPONENTS = [PlayControl, (0, _speedControl["default"])(AnimationSpeedSlider), ResetControl, WindowActionControl, AnimationWindowControl, ExportVideoControl];
79
80
 
80
81
  // eslint-disable-next-line complexity
81
82
  var PlaybackControls = function PlaybackControls(_ref) {
@@ -95,6 +96,7 @@ function PlaybackControlsFactory(AnimationSpeedSlider, WindowActionControl, Anim
95
96
  resetAnimation = _ref$resetAnimation === void 0 ? nop : _ref$resetAnimation,
96
97
  _ref$startAnimation = _ref.startAnimation,
97
98
  startAnimation = _ref$startAnimation === void 0 ? nop : _ref$startAnimation,
99
+ exportAnimation = _ref.exportAnimation,
98
100
  _ref$playbackIcons = _ref.playbackIcons,
99
101
  playbackIcons = _ref$playbackIcons === void 0 ? DEFAULT_ICONS : _ref$playbackIcons,
100
102
  _ref$animationItems = _ref.animationItems,
@@ -150,6 +152,7 @@ function PlaybackControlsFactory(AnimationSpeedSlider, WindowActionControl, Anim
150
152
  pauseAnimation: pauseAnimation,
151
153
  resetAnimation: resetAnimation,
152
154
  startAnimation: startAnimation,
155
+ exportAnimation: exportAnimation,
153
156
  playbackIcons: playbackIcons,
154
157
  isSpeedControlVisible: isSpeedControlVisible,
155
158
  speed: speed
@@ -159,4 +162,4 @@ function PlaybackControlsFactory(AnimationSpeedSlider, WindowActionControl, Anim
159
162
  return PlaybackControls;
160
163
  }
161
164
  var _default = exports["default"] = PlaybackControlsFactory;
162
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9pY29ucyIsIl9jb25zdGFudHMiLCJfYW5pbWF0aW9uU3BlZWRTbGlkZXIiLCJfd2luZG93QWN0aW9uQ29udHJvbCIsIl9hbmltYXRpb25XaW5kb3dDb250cm9sIiwiX3Jlc2V0Q29udHJvbCIsIl9wbGF5Q29udHJvbCIsIl9zcGVlZENvbnRyb2wiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJERUZBVUxUX0JVVFRPTl9IRUlHSFQiLCJTdHlsZWRBbmltYXRpb25Db250cm9scyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ3aWR0aCIsIkRFRkFVTFRfSUNPTlMiLCJyZXNldCIsImNyZWF0ZUVsZW1lbnQiLCJSZXNldCIsImhlaWdodCIsInBsYXkiLCJQbGF5IiwicGF1c2UiLCJQYXVzZSIsImV4cG9ydCIsIlNhdmUiLCJzcGVlZCIsIlNwZWVkIiwiYW5pbWF0aW9uRnJlZSIsIkZyZWVXaW5kb3ciLCJhbmltYXRpb25JbmNyZW1lbnRhbCIsIkFuY2hvcldpbmRvdyIsIm5vcCIsIkRFRkFVTFRfQU5JTUFURV9JVEVNUyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJBTklNQVRJT05fV0lORE9XIiwiZnJlZSIsImlkIiwiaWNvbiIsInRvb2x0aXAiLCJpbmNyZW1lbnRhbCIsIlBsYXliYWNrQ29udHJvbHNGYWN0b3J5IiwiZGVwcyIsIkFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeSIsIldpbmRvd0FjdGlvbkNvbnRyb2xGYWN0b3J5IiwiQW5pbWF0aW9uV2luZG93Q29udHJvbEZhY3RvcnkiLCJSZXNldENvbnRyb2xGYWN0b3J5IiwiUGxheUNvbnRyb2xGYWN0b3J5IiwiQW5pbWF0aW9uU3BlZWRTbGlkZXIiLCJXaW5kb3dBY3Rpb25Db250cm9sIiwiQW5pbWF0aW9uV2luZG93Q29udHJvbCIsIlJlc2V0Q29udHJvbCIsIlBsYXlDb250cm9sIiwiUExBWUJBQ0tfQ09OVFJPTFNfREVGQVVMVF9BQ1RJT05fQ09NUE9ORU5UUyIsIlNwZWVkQ29udHJvbEZhY3RvcnkiLCJQbGF5YmFja0NvbnRyb2xzIiwiX3JlZiIsImZpbHRlciIsIl9yZWYkaXNBbmltYXRhYmxlIiwiaXNBbmltYXRhYmxlIiwiaXNBbmltYXRpbmciLCJfcmVmJGFuaW1hdGlvbldpbmRvdyIsImFuaW1hdGlvbldpbmRvdyIsInNldEZpbHRlckFuaW1hdGlvbldpbmRvdyIsInVwZGF0ZUFuaW1hdGlvblNwZWVkIiwiX3JlZiRwYXVzZUFuaW1hdGlvbiIsInBhdXNlQW5pbWF0aW9uIiwiX3JlZiRyZXNldEFuaW1hdGlvbiIsInJlc2V0QW5pbWF0aW9uIiwiX3JlZiRzdGFydEFuaW1hdGlvbiIsInN0YXJ0QW5pbWF0aW9uIiwiX3JlZiRwbGF5YmFja0ljb25zIiwicGxheWJhY2tJY29ucyIsIl9yZWYkYW5pbWF0aW9uSXRlbXMiLCJhbmltYXRpb25JdGVtcyIsIl9yZWYkYnV0dG9uU3R5bGUiLCJidXR0b25TdHlsZSIsIl9yZWYkYnV0dG9uSGVpZ2h0IiwiYnV0dG9uSGVpZ2h0IiwiX3JlZiRwbGF5YmFja0FjdGlvbkl0IiwicGxheWJhY2tBY3Rpb25JdGVtcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlzU3BlZWRDb250cm9sVmlzaWJsZSIsInRvZ2dsZVNwZWVkQ29udHJvbCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2wiLCJzZXRTaG93QW5pbWF0aW9uV2luZG93Q29udHJvbCIsInRvZ2dsZUFuaW1hdGlvbldpbmRvd0NvbnRyb2wiLCJ1c2VDYWxsYmFjayIsImJ0blN0eWxlIiwiaGlkZUFuZFNob3dTcGVlZENvbnRyb2wiLCJ3aW5kb3ciLCJzZXRUaW1lb3V0IiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsImRpc2FibGVkIiwibWFwIiwiQWN0aW9uQ29tcG9uZW50IiwiaW5kZXgiLCJrZXkiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL3BsYXliYWNrLWNvbnRyb2xzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHtJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7UmVzZXQsIFBsYXksIFBhdXNlLCBTYXZlLCBTcGVlZCwgQW5jaG9yV2luZG93LCBGcmVlV2luZG93fSBmcm9tICcuLi9pY29ucyc7XG5pbXBvcnQge0FOSU1BVElPTl9XSU5ET1d9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7RmlsdGVyLCBUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IEFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeSBmcm9tICcuL2FuaW1hdGlvbi1zcGVlZC1zbGlkZXInO1xuaW1wb3J0IFdpbmRvd0FjdGlvbkNvbnRyb2xGYWN0b3J5IGZyb20gJy4vd2luZG93LWFjdGlvbi1jb250cm9sJztcbmltcG9ydCBBbmltYXRpb25XaW5kb3dDb250cm9sRmFjdG9yeSwge0FuaW1hdGlvbkl0ZW19IGZyb20gJy4vYW5pbWF0aW9uLXdpbmRvdy1jb250cm9sJztcbmltcG9ydCBSZXNldENvbnRyb2xGYWN0b3J5IGZyb20gJy4vcmVzZXQtY29udHJvbCc7XG5pbXBvcnQgUGxheUNvbnRyb2xGYWN0b3J5IGZyb20gJy4vcGxheS1jb250cm9sJztcbmltcG9ydCBTcGVlZENvbnRyb2xGYWN0b3J5IGZyb20gJy4vc3BlZWQtY29udHJvbCc7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRQcm9wc30gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBERUZBVUxUX0JVVFRPTl9IRUlHSFQgPSAnMjBweCc7XG5cbmV4cG9ydCB0eXBlIFN0eWxlZEFuaW1hdGlvbkNvbnRyb2xzUHJvcHMgPSBCYXNlQ29tcG9uZW50UHJvcHMgJiB7XG4gIHdpZHRoPzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQW5pbWF0aW9uQ29udHJvbHM6IElTdHlsZWRDb21wb25lbnQ8XG4gICd3ZWInLFxuICBTdHlsZWRBbmltYXRpb25Db250cm9sc1Byb3BzXG4+ID0gc3R5bGVkLmRpdjxTdHlsZWRBbmltYXRpb25Db250cm9sc1Byb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBERUZBVUxUX0lDT05TID0ge1xuICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cbiAgcmVzZXQ6ICgpID0+IDxSZXNldCBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIHBsYXk6ICgpID0+IDxQbGF5IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgcGF1c2U6ICgpID0+IDxQYXVzZSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIGV4cG9ydDogKCkgPT4gPFNhdmUgaGVpZ2h0PVwiMTZweFwiIC8+LFxuICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuICBzcGVlZDogKCkgPT4gPFNwZWVkIGhlaWdodD1cIjE2cHhcIiAvPixcbiAgYW5pbWF0aW9uRnJlZTogRnJlZVdpbmRvdyxcbiAgYW5pbWF0aW9uSW5jcmVtZW50YWw6IEFuY2hvcldpbmRvd1xufTtcblxuZnVuY3Rpb24gbm9wKCkge1xuICByZXR1cm47XG59XG5cbmNvbnN0IERFRkFVTFRfQU5JTUFURV9JVEVNUyA9IHtcbiAgW0FOSU1BVElPTl9XSU5ET1cuZnJlZV06IHtcbiAgICBpZDogQU5JTUFUSU9OX1dJTkRPVy5mcmVlLFxuICAgIGljb246IERFRkFVTFRfSUNPTlMuYW5pbWF0aW9uRnJlZSxcbiAgICB0b29sdGlwOiAndG9vbHRpcC5hbmltYXRpb25CeVdpbmRvdydcbiAgfSxcbiAgW0FOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWxdOiB7XG4gICAgaWQ6IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwsXG4gICAgaWNvbjogREVGQVVMVF9JQ09OUy5hbmltYXRpb25JbmNyZW1lbnRhbCxcbiAgICB0b29sdGlwOiAndG9vbHRpcC5hbmltYXRpb25CeUluY3JlbWVudGFsJ1xuICB9XG59O1xuZXhwb3J0IGludGVyZmFjZSBQbGF5YmFja0NvbnRyb2xzUHJvcHMge1xuICBmaWx0ZXI/OiBGaWx0ZXI7XG4gIGlzQW5pbWF0YWJsZT86IGJvb2xlYW47XG4gIGlzQW5pbWF0aW5nPzogYm9vbGVhbjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIHNwZWVkOiBudW1iZXI7XG4gIGFuaW1hdGlvbldpbmRvdz86IG51bGwgfCBUaW1lUmFuZ2VGaWx0ZXJbJ2FuaW1hdGlvbldpbmRvdyddO1xuICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c/OiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ/OiAoaWR4OiBudW1iZXIsIHNwZWVkOiBudW1iZXIpID0+IHZvaWQ7XG4gIHBhdXNlQW5pbWF0aW9uPzogKCkgPT4gdm9pZDtcbiAgcmVzZXRBbmltYXRpb24/OiAoKSA9PiB2b2lkO1xuICBzdGFydEFuaW1hdGlvbjogKCkgPT4gdm9pZDtcbiAgcGxheWJhY2tJY29ucz86IFJlY29yZDxzdHJpbmcsIFJlYWN0LkZDPHtoZWlnaHQ6IG51bWJlcn0+PjtcbiAgYW5pbWF0aW9uSXRlbXM/OiB7W2tleTogc3RyaW5nXTogQW5pbWF0aW9uSXRlbX07XG4gIGJ1dHRvblN0eWxlPzogc3RyaW5nO1xuICBidXR0b25IZWlnaHQ/OiBzdHJpbmc7XG4gIHBsYXliYWNrQWN0aW9uSXRlbXM/OiBSZWFjdC5GQ1tdO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cblBsYXliYWNrQ29udHJvbHNGYWN0b3J5LmRlcHMgPSBbXG4gIC8vIGtlZXBpbmcgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYnV0IHdlIGNhbiBkZWNpZGUgdG8gZHJvcCBpdCBsYXRlclxuICBBbmltYXRpb25TcGVlZFNsaWRlckZhY3RvcnksXG4gIFdpbmRvd0FjdGlvbkNvbnRyb2xGYWN0b3J5LFxuICBBbmltYXRpb25XaW5kb3dDb250cm9sRmFjdG9yeSxcbiAgUmVzZXRDb250cm9sRmFjdG9yeSxcbiAgUGxheUNvbnRyb2xGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeShcbiAgQW5pbWF0aW9uU3BlZWRTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIEFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeT4sXG4gIFdpbmRvd0FjdGlvbkNvbnRyb2wsXG4gIEFuaW1hdGlvbldpbmRvd0NvbnRyb2wsXG4gIFJlc2V0Q29udHJvbCxcbiAgUGxheUNvbnRyb2xcbikge1xuICBjb25zdCBQTEFZQkFDS19DT05UUk9MU19ERUZBVUxUX0FDVElPTl9DT01QT05FTlRTID0gW1xuICAgIFBsYXlDb250cm9sLFxuICAgIFNwZWVkQ29udHJvbEZhY3RvcnkoQW5pbWF0aW9uU3BlZWRTbGlkZXIpLFxuICAgIFJlc2V0Q29udHJvbCxcbiAgICBXaW5kb3dBY3Rpb25Db250cm9sLFxuICAgIEFuaW1hdGlvbldpbmRvd0NvbnRyb2xcbiAgXTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICBjb25zdCBQbGF5YmFja0NvbnRyb2xzOiBSZWFjdC5GQzxQbGF5YmFja0NvbnRyb2xzUHJvcHM+ID0gKHtcbiAgICBmaWx0ZXIsXG4gICAgaXNBbmltYXRhYmxlID0gdHJ1ZSxcbiAgICBpc0FuaW1hdGluZyxcbiAgICB3aWR0aCxcbiAgICBzcGVlZCxcbiAgICBhbmltYXRpb25XaW5kb3cgPSBBTklNQVRJT05fV0lORE9XLmZyZWUsXG4gICAgc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93LFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkLFxuICAgIHBhdXNlQW5pbWF0aW9uID0gbm9wLFxuICAgIHJlc2V0QW5pbWF0aW9uID0gbm9wLFxuICAgIHN0YXJ0QW5pbWF0aW9uID0gbm9wLFxuICAgIHBsYXliYWNrSWNvbnMgPSBERUZBVUxUX0lDT05TLFxuICAgIGFuaW1hdGlvbkl0ZW1zID0gREVGQVVMVF9BTklNQVRFX0lURU1TLFxuICAgIGJ1dHRvblN0eWxlID0gJ3NlY29uZGFyeScsXG4gICAgYnV0dG9uSGVpZ2h0ID0gREVGQVVMVF9CVVRUT05fSEVJR0hULFxuICAgIHBsYXliYWNrQWN0aW9uSXRlbXMgPSBQTEFZQkFDS19DT05UUk9MU19ERUZBVUxUX0FDVElPTl9DT01QT05FTlRTXG4gIH0pID0+IHtcbiAgICBjb25zdCBbaXNTcGVlZENvbnRyb2xWaXNpYmxlLCB0b2dnbGVTcGVlZENvbnRyb2xdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzaG93QW5pbWF0aW9uV2luZG93Q29udHJvbCwgc2V0U2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2xdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgdG9nZ2xlQW5pbWF0aW9uV2luZG93Q29udHJvbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFNob3dBbmltYXRpb25XaW5kb3dDb250cm9sKCFzaG93QW5pbWF0aW9uV2luZG93Q29udHJvbCk7XG4gICAgfSwgW3Nob3dBbmltYXRpb25XaW5kb3dDb250cm9sLCBzZXRTaG93QW5pbWF0aW9uV2luZG93Q29udHJvbF0pO1xuICAgIGNvbnN0IGJ0blN0eWxlID0gYnV0dG9uU3R5bGUgPyB7W2J1dHRvblN0eWxlXTogdHJ1ZX0gOiB7fTtcblxuICAgIGNvbnN0IGhpZGVBbmRTaG93U3BlZWRDb250cm9sID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKCFpc1NwZWVkQ29udHJvbFZpc2libGUpIHtcbiAgICAgICAgdG9nZ2xlU3BlZWRDb250cm9sKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVE9ETzogQSBIQUNLIHRvIGFsbG93IGlucHV0IG9uYmx1ciBnZXQgdHJpZ2dlcmVkIGJlZm9yZSB0aGUgaW5wdXQgaXMgdW5tb3VudGVkXG4gICAgICAgIC8vIEEgYmV0dGVyIHNvbHV0aW9uIHNob3VsZCBiZSBpbnZlc3RlZCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTIzNjNcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdG9nZ2xlU3BlZWRDb250cm9sKGZhbHNlKSwgMjAwKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTcGVlZENvbnRyb2xWaXNpYmxlLCB0b2dnbGVTcGVlZENvbnRyb2xdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQW5pbWF0aW9uQ29udHJvbHNcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdwbGF5YmFjay1jb250cm9scycsIHtcbiAgICAgICAgICBkaXNhYmxlZDogIWlzQW5pbWF0YWJsZVxuICAgICAgICB9KX1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgPlxuICAgICAgICB7LyoqIFdpbmRvdyAqL31cbiAgICAgICAge3BsYXliYWNrQWN0aW9uSXRlbXMubWFwKChBY3Rpb25Db21wb25lbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEFjdGlvbkNvbXBvbmVudFxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbldpbmRvd0NvbnRyb2w9e3RvZ2dsZUFuaW1hdGlvbldpbmRvd0NvbnRyb2x9XG4gICAgICAgICAgICBzaG93QW5pbWF0aW9uV2luZG93Q29udHJvbD17c2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2x9XG4gICAgICAgICAgICBidG5TdHlsZT17YnRuU3R5bGV9XG4gICAgICAgICAgICBoaWRlQW5kU2hvd1NwZWVkQ29udHJvbD17aGlkZUFuZFNob3dTcGVlZENvbnRyb2x9XG4gICAgICAgICAgICBhbmltYXRpb25JdGVtcz17YW5pbWF0aW9uSXRlbXN9XG4gICAgICAgICAgICBhbmltYXRpb25XaW5kb3c9e2FuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgIGJ1dHRvbkhlaWdodD17YnV0dG9uSGVpZ2h0fVxuICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c9e3NldEZpbHRlckFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkPXt1cGRhdGVBbmltYXRpb25TcGVlZH1cbiAgICAgICAgICAgIGlzQW5pbWF0aW5nPXtpc0FuaW1hdGluZ31cbiAgICAgICAgICAgIHBhdXNlQW5pbWF0aW9uPXtwYXVzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldEFuaW1hdGlvbn1cbiAgICAgICAgICAgIHN0YXJ0QW5pbWF0aW9uPXtzdGFydEFuaW1hdGlvbn1cbiAgICAgICAgICAgIHBsYXliYWNrSWNvbnM9e3BsYXliYWNrSWNvbnN9XG4gICAgICAgICAgICBpc1NwZWVkQ29udHJvbFZpc2libGU9e2lzU3BlZWRDb250cm9sVmlzaWJsZX1cbiAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvU3R5bGVkQW5pbWF0aW9uQ29udHJvbHM+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gUGxheWJhY2tDb250cm9scztcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGxheWJhY2tDb250cm9sc0ZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLHFCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxvQkFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsdUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFlBQUEsR0FBQVIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVQsc0JBQUEsQ0FBQUYsT0FBQTtBQUFrRCxJQUFBWSxlQUFBLEVBZGxEO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FB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
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9pY29ucyIsIl9jb25zdGFudHMiLCJfYW5pbWF0aW9uU3BlZWRTbGlkZXIiLCJfd2luZG93QWN0aW9uQ29udHJvbCIsIl9hbmltYXRpb25XaW5kb3dDb250cm9sIiwiX3Jlc2V0Q29udHJvbCIsIl9wbGF5Q29udHJvbCIsIl9zcGVlZENvbnRyb2wiLCJfZXhwb3J0VmlkZW9Db250cm9sIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiREVGQVVMVF9CVVRUT05fSEVJR0hUIiwiU3R5bGVkQW5pbWF0aW9uQ29udHJvbHMiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwid2lkdGgiLCJERUZBVUxUX0lDT05TIiwicmVzZXQiLCJjcmVhdGVFbGVtZW50IiwiUmVzZXQiLCJoZWlnaHQiLCJwbGF5IiwiUGxheSIsInBhdXNlIiwiUGF1c2UiLCJleHBvcnQiLCJTYXZlIiwic3BlZWQiLCJTcGVlZCIsImFuaW1hdGlvbkZyZWUiLCJGcmVlV2luZG93IiwiYW5pbWF0aW9uSW5jcmVtZW50YWwiLCJBbmNob3JXaW5kb3ciLCJub3AiLCJERUZBVUxUX0FOSU1BVEVfSVRFTVMiLCJfZGVmaW5lUHJvcGVydHkyIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpZCIsImljb24iLCJ0b29sdGlwIiwiaW5jcmVtZW50YWwiLCJQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSIsImRlcHMiLCJBbmltYXRpb25TcGVlZFNsaWRlckZhY3RvcnkiLCJXaW5kb3dBY3Rpb25Db250cm9sRmFjdG9yeSIsIkFuaW1hdGlvbldpbmRvd0NvbnRyb2xGYWN0b3J5IiwiUmVzZXRDb250cm9sRmFjdG9yeSIsIlBsYXlDb250cm9sRmFjdG9yeSIsIkV4cG9ydFZpZGVvQ29udHJvbEZhY3RvcnkiLCJBbmltYXRpb25TcGVlZFNsaWRlciIsIldpbmRvd0FjdGlvbkNvbnRyb2wiLCJBbmltYXRpb25XaW5kb3dDb250cm9sIiwiUmVzZXRDb250cm9sIiwiUGxheUNvbnRyb2wiLCJFeHBvcnRWaWRlb0NvbnRyb2wiLCJQTEFZQkFDS19DT05UUk9MU19ERUZBVUxUX0FDVElPTl9DT01QT05FTlRTIiwiU3BlZWRDb250cm9sRmFjdG9yeSIsIlBsYXliYWNrQ29udHJvbHMiLCJfcmVmIiwiZmlsdGVyIiwiX3JlZiRpc0FuaW1hdGFibGUiLCJpc0FuaW1hdGFibGUiLCJpc0FuaW1hdGluZyIsIl9yZWYkYW5pbWF0aW9uV2luZG93IiwiYW5pbWF0aW9uV2luZG93Iiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93IiwidXBkYXRlQW5pbWF0aW9uU3BlZWQiLCJfcmVmJHBhdXNlQW5pbWF0aW9uIiwicGF1c2VBbmltYXRpb24iLCJfcmVmJHJlc2V0QW5pbWF0aW9uIiwicmVzZXRBbmltYXRpb24iLCJfcmVmJHN0YXJ0QW5pbWF0aW9uIiwic3RhcnRBbmltYXRpb24iLCJleHBvcnRBbmltYXRpb24iLCJfcmVmJHBsYXliYWNrSWNvbnMiLCJwbGF5YmFja0ljb25zIiwiX3JlZiRhbmltYXRpb25JdGVtcyIsImFuaW1hdGlvbkl0ZW1zIiwiX3JlZiRidXR0b25TdHlsZSIsImJ1dHRvblN0eWxlIiwiX3JlZiRidXR0b25IZWlnaHQiLCJidXR0b25IZWlnaHQiLCJfcmVmJHBsYXliYWNrQWN0aW9uSXQiLCJwbGF5YmFja0FjdGlvbkl0ZW1zIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaXNTcGVlZENvbnRyb2xWaXNpYmxlIiwidG9nZ2xlU3BlZWRDb250cm9sIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93QW5pbWF0aW9uV2luZG93Q29udHJvbCIsInNldFNob3dBbmltYXRpb25XaW5kb3dDb250cm9sIiwidG9nZ2xlQW5pbWF0aW9uV2luZG93Q29udHJvbCIsInVzZUNhbGxiYWNrIiwiYnRuU3R5bGUiLCJoaWRlQW5kU2hvd1NwZWVkQ29udHJvbCIsIndpbmRvdyIsInNldFRpbWVvdXQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiZGlzYWJsZWQiLCJtYXAiLCJBY3Rpb25Db21wb25lbnQiLCJpbmRleCIsImtleSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvcGxheWJhY2stY29udHJvbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge0lTdHlsZWRDb21wb25lbnR9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtSZXNldCwgUGxheSwgUGF1c2UsIFNhdmUsIFNwZWVkLCBBbmNob3JXaW5kb3csIEZyZWVXaW5kb3d9IGZyb20gJy4uL2ljb25zJztcbmltcG9ydCB7QU5JTUFUSU9OX1dJTkRPV30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGaWx0ZXIsIFRpbWVSYW5nZUZpbHRlcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQgQW5pbWF0aW9uU3BlZWRTbGlkZXJGYWN0b3J5IGZyb20gJy4vYW5pbWF0aW9uLXNwZWVkLXNsaWRlcic7XG5pbXBvcnQgV2luZG93QWN0aW9uQ29udHJvbEZhY3RvcnkgZnJvbSAnLi93aW5kb3ctYWN0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IEFuaW1hdGlvbldpbmRvd0NvbnRyb2xGYWN0b3J5LCB7QW5pbWF0aW9uSXRlbX0gZnJvbSAnLi9hbmltYXRpb24td2luZG93LWNvbnRyb2wnO1xuaW1wb3J0IFJlc2V0Q29udHJvbEZhY3RvcnkgZnJvbSAnLi9yZXNldC1jb250cm9sJztcbmltcG9ydCBQbGF5Q29udHJvbEZhY3RvcnkgZnJvbSAnLi9wbGF5LWNvbnRyb2wnO1xuaW1wb3J0IFNwZWVkQ29udHJvbEZhY3RvcnkgZnJvbSAnLi9zcGVlZC1jb250cm9sJztcbmltcG9ydCBFeHBvcnRWaWRlb0NvbnRyb2xGYWN0b3J5IGZyb20gJy4vZXhwb3J0LXZpZGVvLWNvbnRyb2wnO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50UHJvcHN9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3QgREVGQVVMVF9CVVRUT05fSEVJR0hUID0gJzIwcHgnO1xuXG5leHBvcnQgdHlwZSBTdHlsZWRBbmltYXRpb25Db250cm9sc1Byb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICB3aWR0aD86IG51bWJlcjtcbn07XG5cbmNvbnN0IFN0eWxlZEFuaW1hdGlvbkNvbnRyb2xzOiBJU3R5bGVkQ29tcG9uZW50PFxuICAnd2ViJyxcbiAgU3R5bGVkQW5pbWF0aW9uQ29udHJvbHNQcm9wc1xuPiA9IHN0eWxlZC5kaXY8U3R5bGVkQW5pbWF0aW9uQ29udHJvbHNQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgREVGQVVMVF9JQ09OUyA9IHtcbiAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZGlzcGxheS1uYW1lICovXG4gIHJlc2V0OiAoKSA9PiA8UmVzZXQgaGVpZ2h0PVwiMTZweFwiIC8+LFxuICBwbGF5OiAoKSA9PiA8UGxheSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIHBhdXNlOiAoKSA9PiA8UGF1c2UgaGVpZ2h0PVwiMTZweFwiIC8+LFxuICBleHBvcnQ6ICgpID0+IDxTYXZlIGhlaWdodD1cIjE2cHhcIiAvPixcbiAgLyogZXNsaW50LWVuYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cbiAgc3BlZWQ6ICgpID0+IDxTcGVlZCBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIGFuaW1hdGlvbkZyZWU6IEZyZWVXaW5kb3csXG4gIGFuaW1hdGlvbkluY3JlbWVudGFsOiBBbmNob3JXaW5kb3dcbn07XG5cbmZ1bmN0aW9uIG5vcCgpIHtcbiAgcmV0dXJuO1xufVxuXG5jb25zdCBERUZBVUxUX0FOSU1BVEVfSVRFTVMgPSB7XG4gIFtBTklNQVRJT05fV0lORE9XLmZyZWVdOiB7XG4gICAgaWQ6IEFOSU1BVElPTl9XSU5ET1cuZnJlZSxcbiAgICBpY29uOiBERUZBVUxUX0lDT05TLmFuaW1hdGlvbkZyZWUsXG4gICAgdG9vbHRpcDogJ3Rvb2x0aXAuYW5pbWF0aW9uQnlXaW5kb3cnXG4gIH0sXG4gIFtBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsXToge1xuICAgIGlkOiBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsLFxuICAgIGljb246IERFRkFVTFRfSUNPTlMuYW5pbWF0aW9uSW5jcmVtZW50YWwsXG4gICAgdG9vbHRpcDogJ3Rvb2x0aXAuYW5pbWF0aW9uQnlJbmNyZW1lbnRhbCdcbiAgfVxufTtcbmV4cG9ydCBpbnRlcmZhY2UgUGxheWJhY2tDb250cm9sc1Byb3BzIHtcbiAgZmlsdGVyPzogRmlsdGVyO1xuICBpc0FuaW1hdGFibGU/OiBib29sZWFuO1xuICBpc0FuaW1hdGluZz86IGJvb2xlYW47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBzcGVlZDogbnVtYmVyO1xuICBhbmltYXRpb25XaW5kb3c/OiBudWxsIHwgVGltZVJhbmdlRmlsdGVyWydhbmltYXRpb25XaW5kb3cnXTtcbiAgc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93PzogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZUFuaW1hdGlvblNwZWVkPzogKGlkeDogbnVtYmVyLCBzcGVlZDogbnVtYmVyKSA9PiB2b2lkO1xuICBwYXVzZUFuaW1hdGlvbj86ICgpID0+IHZvaWQ7XG4gIHJlc2V0QW5pbWF0aW9uPzogKCkgPT4gdm9pZDtcbiAgc3RhcnRBbmltYXRpb246ICgpID0+IHZvaWQ7XG4gIGV4cG9ydEFuaW1hdGlvbj86ICgpID0+IHZvaWQ7XG4gIHBsYXliYWNrSWNvbnM/OiBSZWNvcmQ8c3RyaW5nLCBSZWFjdC5GQzx7aGVpZ2h0OiBudW1iZXJ9Pj47XG4gIGFuaW1hdGlvbkl0ZW1zPzoge1trZXk6IHN0cmluZ106IEFuaW1hdGlvbkl0ZW19O1xuICBidXR0b25TdHlsZT86IHN0cmluZztcbiAgYnV0dG9uSGVpZ2h0Pzogc3RyaW5nO1xuICBwbGF5YmFja0FjdGlvbkl0ZW1zPzogUmVhY3QuRkNbXTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5QbGF5YmFja0NvbnRyb2xzRmFjdG9yeS5kZXBzID0gW1xuICAvLyBrZWVwaW5nIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJ1dCB3ZSBjYW4gZGVjaWRlIHRvIGRyb3AgaXQgbGF0ZXJcbiAgQW5pbWF0aW9uU3BlZWRTbGlkZXJGYWN0b3J5LFxuICBXaW5kb3dBY3Rpb25Db250cm9sRmFjdG9yeSxcbiAgQW5pbWF0aW9uV2luZG93Q29udHJvbEZhY3RvcnksXG4gIFJlc2V0Q29udHJvbEZhY3RvcnksXG4gIFBsYXlDb250cm9sRmFjdG9yeSxcbiAgRXhwb3J0VmlkZW9Db250cm9sRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gUGxheWJhY2tDb250cm9sc0ZhY3RvcnkoXG4gIEFuaW1hdGlvblNwZWVkU2xpZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBBbmltYXRpb25TcGVlZFNsaWRlckZhY3Rvcnk+LFxuICBXaW5kb3dBY3Rpb25Db250cm9sLFxuICBBbmltYXRpb25XaW5kb3dDb250cm9sLFxuICBSZXNldENvbnRyb2wsXG4gIFBsYXlDb250cm9sLFxuICBFeHBvcnRWaWRlb0NvbnRyb2xcbikge1xuICBjb25zdCBQTEFZQkFDS19DT05UUk9MU19ERUZBVUxUX0FDVElPTl9DT01QT05FTlRTID0gW1xuICAgIFBsYXlDb250cm9sLFxuICAgIFNwZWVkQ29udHJvbEZhY3RvcnkoQW5pbWF0aW9uU3BlZWRTbGlkZXIpLFxuICAgIFJlc2V0Q29udHJvbCxcbiAgICBXaW5kb3dBY3Rpb25Db250cm9sLFxuICAgIEFuaW1hdGlvbldpbmRvd0NvbnRyb2wsXG4gICAgRXhwb3J0VmlkZW9Db250cm9sXG4gIF07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgY29uc3QgUGxheWJhY2tDb250cm9sczogUmVhY3QuRkM8UGxheWJhY2tDb250cm9sc1Byb3BzPiA9ICh7XG4gICAgZmlsdGVyLFxuICAgIGlzQW5pbWF0YWJsZSA9IHRydWUsXG4gICAgaXNBbmltYXRpbmcsXG4gICAgd2lkdGgsXG4gICAgc3BlZWQsXG4gICAgYW5pbWF0aW9uV2luZG93ID0gQU5JTUFUSU9OX1dJTkRPVy5mcmVlLFxuICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdyxcbiAgICB1cGRhdGVBbmltYXRpb25TcGVlZCxcbiAgICBwYXVzZUFuaW1hdGlvbiA9IG5vcCxcbiAgICByZXNldEFuaW1hdGlvbiA9IG5vcCxcbiAgICBzdGFydEFuaW1hdGlvbiA9IG5vcCxcbiAgICBleHBvcnRBbmltYXRpb24sXG4gICAgcGxheWJhY2tJY29ucyA9IERFRkFVTFRfSUNPTlMsXG4gICAgYW5pbWF0aW9uSXRlbXMgPSBERUZBVUxUX0FOSU1BVEVfSVRFTVMsXG4gICAgYnV0dG9uU3R5bGUgPSAnc2Vjb25kYXJ5JyxcbiAgICBidXR0b25IZWlnaHQgPSBERUZBVUxUX0JVVFRPTl9IRUlHSFQsXG4gICAgcGxheWJhY2tBY3Rpb25JdGVtcyA9IFBMQVlCQUNLX0NPTlRST0xTX0RFRkFVTFRfQUNUSU9OX0NPTVBPTkVOVFNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtpc1NwZWVkQ29udHJvbFZpc2libGUsIHRvZ2dsZVNwZWVkQ29udHJvbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3Nob3dBbmltYXRpb25XaW5kb3dDb250cm9sLCBzZXRTaG93QW5pbWF0aW9uV2luZG93Q29udHJvbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCB0b2dnbGVBbmltYXRpb25XaW5kb3dDb250cm9sID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0U2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2woIXNob3dBbmltYXRpb25XaW5kb3dDb250cm9sKTtcbiAgICB9LCBbc2hvd0FuaW1hdGlvbldpbmRvd0NvbnRyb2wsIHNldFNob3dBbmltYXRpb25XaW5kb3dDb250cm9sXSk7XG4gICAgY29uc3QgYnRuU3R5bGUgPSBidXR0b25TdHlsZSA/IHtbYnV0dG9uU3R5bGVdOiB0cnVlfSA6IHt9O1xuXG4gICAgY29uc3QgaGlkZUFuZFNob3dTcGVlZENvbnRyb2wgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoIWlzU3BlZWRDb250cm9sVmlzaWJsZSkge1xuICAgICAgICB0b2dnbGVTcGVlZENvbnRyb2wodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBBIEhBQ0sgdG8gYWxsb3cgaW5wdXQgb25ibHVyIGdldCB0cmlnZ2VyZWQgYmVmb3JlIHRoZSBpbnB1dCBpcyB1bm1vdW50ZWRcbiAgICAgICAgLy8gQSBiZXR0ZXIgc29sdXRpb24gc2hvdWxkIGJlIGludmVzdGVkLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjM2M1xuICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0b2dnbGVTcGVlZENvbnRyb2woZmFsc2UpLCAyMDApO1xuICAgICAgfVxuICAgIH0sIFtpc1NwZWVkQ29udHJvbFZpc2libGUsIHRvZ2dsZVNwZWVkQ29udHJvbF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRBbmltYXRpb25Db250cm9sc1xuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ3BsYXliYWNrLWNvbnRyb2xzJywge1xuICAgICAgICAgIGRpc2FibGVkOiAhaXNBbmltYXRhYmxlXG4gICAgICAgIH0pfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICA+XG4gICAgICAgIHsvKiogV2luZG93ICovfVxuICAgICAgICB7cGxheWJhY2tBY3Rpb25JdGVtcy5tYXAoKEFjdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QWN0aW9uQ29tcG9uZW50XG4gICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgdG9nZ2xlQW5pbWF0aW9uV2luZG93Q29udHJvbD17dG9nZ2xlQW5pbWF0aW9uV2luZG93Q29udHJvbH1cbiAgICAgICAgICAgIHNob3dBbmltYXRpb25XaW5kb3dDb250cm9sPXtzaG93QW5pbWF0aW9uV2luZG93Q29udHJvbH1cbiAgICAgICAgICAgIGJ0blN0eWxlPXtidG5TdHlsZX1cbiAgICAgICAgICAgIGhpZGVBbmRTaG93U3BlZWRDb250cm9sPXtoaWRlQW5kU2hvd1NwZWVkQ29udHJvbH1cbiAgICAgICAgICAgIGFuaW1hdGlvbkl0ZW1zPXthbmltYXRpb25JdGVtc31cbiAgICAgICAgICAgIGFuaW1hdGlvbldpbmRvdz17YW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgYnV0dG9uSGVpZ2h0PXtidXR0b25IZWlnaHR9XG4gICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdz17c2V0RmlsdGVyQW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3BhdXNlQW5pbWF0aW9ufVxuICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgc3RhcnRBbmltYXRpb249e3N0YXJ0QW5pbWF0aW9ufVxuICAgICAgICAgICAgZXhwb3J0QW5pbWF0aW9uPXtleHBvcnRBbmltYXRpb259XG4gICAgICAgICAgICBwbGF5YmFja0ljb25zPXtwbGF5YmFja0ljb25zfVxuICAgICAgICAgICAgaXNTcGVlZENvbnRyb2xWaXNpYmxlPXtpc1NwZWVkQ29udHJvbFZpc2libGV9XG4gICAgICAgICAgICBzcGVlZD17c3BlZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgICA8L1N0eWxlZEFuaW1hdGlvbkNvbnRyb2xzPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIFBsYXliYWNrQ29udHJvbHM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBsYXliYWNrQ29udHJvbHNGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxxQkFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sb0JBQUEsR0FBQUwsc0JBQUEsQ0FB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
@@ -1,5 +1,4 @@
1
- import React, { ChangeEventHandler, Component, FocusEventHandler, ReactNode } from 'react';
2
- declare function noop(): void;
1
+ import { ChangeEventHandler, FC, FocusEventHandler, ReactNode } from 'react';
3
2
  interface CheckboxProps {
4
3
  id: string;
5
4
  type?: string;
@@ -13,24 +12,9 @@ interface CheckboxProps {
13
12
  switch?: boolean;
14
13
  activeColor?: string;
15
14
  secondary?: boolean;
16
- onBlur: FocusEventHandler<HTMLInputElement>;
15
+ onBlur?: FocusEventHandler<HTMLInputElement>;
17
16
  onChange?: ChangeEventHandler<HTMLInputElement>;
18
- onFocus: FocusEventHandler<HTMLInputElement>;
17
+ onFocus?: FocusEventHandler<HTMLInputElement>;
19
18
  }
20
- export default class Checkbox extends Component<CheckboxProps> {
21
- static defaultProps: {
22
- disabled: boolean;
23
- checked: boolean;
24
- onBlur: typeof noop;
25
- onChange: typeof noop;
26
- onFocus: typeof noop;
27
- label: string;
28
- };
29
- state: {
30
- focused: boolean;
31
- };
32
- handleFocus: FocusEventHandler<HTMLInputElement>;
33
- handleBlur: FocusEventHandler<HTMLInputElement>;
34
- render(): React.JSX.Element;
35
- }
36
- export {};
19
+ declare const Checkbox: FC<CheckboxProps>;
20
+ export default Checkbox;