@kando-env/kando-ui 1.2.354-alpha.9 → 1.2.354

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 (672) hide show
  1. package/lib/Router.js +76 -37
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +37 -26
  3. package/lib/Widgets/EventsRow/EventsRow.js +41 -28
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +89 -69
  6. package/lib/Widgets/Map/MapUtils.js +42 -42
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +79 -54
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -48
  10. package/lib/Widgets/Map/areas/Patterns.js +5 -5
  11. package/lib/Widgets/Map/edges/Edge.js +34 -28
  12. package/lib/Widgets/Map/edges/Edges.js +26 -20
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
  14. package/lib/Widgets/Map/events/Event.js +18 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +55 -58
  16. package/lib/Widgets/Map/events/EventPath.js +25 -25
  17. package/lib/Widgets/Map/events/EventUtils.js +81 -60
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +38 -32
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +37 -29
  21. package/lib/Widgets/Map/events/Snail.js +21 -19
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +90 -94
  23. package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
  24. package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
  27. package/lib/Widgets/Map/points/PointIcon.js +18 -24
  28. package/lib/Widgets/Map/points/PointMarker.js +89 -71
  29. package/lib/Widgets/Map/points/PointMarkers.js +67 -45
  30. package/lib/Widgets/Map/points/PointUtils.js +88 -146
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +48 -30
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +13 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +61 -31
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
  37. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  38. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  39. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
  40. package/lib/Widgets/MostPolluting/Factories/Factories.js +71 -39
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +19 -16
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +9 -9
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
  44. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  45. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  46. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  47. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  48. package/lib/Widgets/MostPolluting/MostPolluting.js +28 -21
  49. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
  50. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
  51. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
  52. package/lib/Widgets/MostPolluting/assets/index.js +12 -12
  53. package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
  54. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
  55. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +36 -36
  56. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +36 -40
  57. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -29
  58. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +52 -56
  59. package/lib/Widgets/MostPolluting/models.js +1 -1
  60. package/lib/Widgets/MostPolluting/styles.js +6 -4
  61. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
  62. package/lib/Widgets/PotentialImpactSummary/Icon.js +7 -10
  63. package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
  64. package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
  65. package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
  66. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  67. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
  68. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
  69. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +33 -36
  70. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -27
  71. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
  72. package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
  73. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  74. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  75. package/lib/Widgets/QualitySummary/styles.js +21 -24
  76. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
  77. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -27
  78. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +26 -30
  79. package/lib/Widgets/UtilityInformation/UtilityInformation.js +43 -25
  80. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  81. package/lib/Widgets/UtilityInformation/styles.js +31 -30
  82. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  83. package/lib/assets/icons/TopNavbar/index.js +7 -7
  84. package/lib/assets/icons/TrendSvg.js +7 -7
  85. package/lib/assets/icons/index.js +16 -16
  86. package/lib/assets/icons/kandoStepper/index.js +6 -6
  87. package/lib/assets/icons/siteTypes/index.js +2 -2
  88. package/lib/components/ApplyButton/ApplyButton.js +12 -11
  89. package/lib/components/ApplyButton/index.js +4 -3
  90. package/lib/components/Backdrop/Backdrop.js +5 -7
  91. package/lib/components/ContentLoader/ContentLoader.js +10 -12
  92. package/lib/components/ContentLoader/index.js +2 -2
  93. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +15 -15
  94. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
  95. package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
  96. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +21 -13
  97. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
  98. package/lib/components/CustomInputs/Search/Search.js +66 -43
  99. package/lib/components/CustomInputs/Search/index.js +4 -3
  100. package/lib/components/CustomInputs/Select/Select.js +59 -45
  101. package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
  102. package/lib/components/DamageType/DamageType.js +61 -36
  103. package/lib/components/DamageType/index.js +4 -3
  104. package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
  105. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
  106. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
  107. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +40 -28
  108. package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
  109. package/lib/components/DischargeHeatmap/index.js +4 -3
  110. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  111. package/lib/components/DischargeHeatmap/popupText.js +13 -12
  112. package/lib/components/DischargeHeatmap/titles.js +6 -4
  113. package/lib/components/DischargeHeatmap/types.js +1 -1
  114. package/lib/components/ErrorBoundary.js +42 -27
  115. package/lib/components/Events/Events.js +61 -42
  116. package/lib/components/Events/index.js +4 -3
  117. package/lib/components/Graph/Graph.js +94 -73
  118. package/lib/components/Graph/index.js +4 -3
  119. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
  120. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  121. package/lib/components/Header/DoubleTabs/DoubleTabs.js +35 -25
  122. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
  123. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  124. package/lib/components/Header/Header.js +3 -3
  125. package/lib/components/Header/Header.stories.js +9 -5
  126. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +198 -83
  127. package/lib/components/Header/InfoBar/InfoBar.js +105 -75
  128. package/lib/components/Header/InfoBar/Search/Control.js +12 -11
  129. package/lib/components/Header/InfoBar/Search/GroupLabel.js +8 -9
  130. package/lib/components/Header/InfoBar/Search/Search.js +22 -15
  131. package/lib/components/Header/InfoBar/Search/SearchContainer.js +32 -18
  132. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  133. package/lib/components/Header/InfoBar/Search/searchStyle.js +51 -42
  134. package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
  135. package/lib/components/Header/InfoBar/types.js +1 -1
  136. package/lib/components/Header/KandoNavbar/KandoNavbar.js +95 -68
  137. package/lib/components/Header/KandoNavbar/index.js +4 -3
  138. package/lib/components/Header/Slideshow/Slideshow.js +92 -68
  139. package/lib/components/Header/Slideshow/index.js +4 -3
  140. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
  141. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
  142. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +22 -22
  143. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +44 -38
  144. package/lib/components/Header/Toolbar/Toolbar.js +76 -56
  145. package/lib/components/InfoBar/InfoBar.js +24 -10
  146. package/lib/components/InfoBar/InfoBar.stories.js +9 -5
  147. package/lib/components/KandoModal/KandoModal.js +44 -28
  148. package/lib/components/KandoModal/index.js +4 -3
  149. package/lib/components/Link.js +8 -9
  150. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -10
  151. package/lib/components/Links/StyledLink/StyledLink.js +14 -13
  152. package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -12
  153. package/lib/components/LiveEvents/CarouselSlide.js +10 -11
  154. package/lib/components/LiveEvents/LiveEvents.js +6 -7
  155. package/lib/components/LiveEvents/index.js +4 -3
  156. package/lib/components/LoaderByPercent/LoaderByPercent.js +31 -38
  157. package/lib/components/Map/Map.js +26 -21
  158. package/lib/components/Map/index.js +4 -3
  159. package/lib/components/Modal/Modal.js +10 -10
  160. package/lib/components/NarrowHeader.js +32 -18
  161. package/lib/components/PointInfo/PointInfo.js +20 -21
  162. package/lib/components/PointInfo/index.js +4 -3
  163. package/lib/components/PopupModal/PopupModal.js +17 -13
  164. package/lib/components/PopupModal/PopupModal.stories.js +24 -17
  165. package/lib/components/Sector/Sector.js +9 -10
  166. package/lib/components/Sector/Sector.test.js +25 -24
  167. package/lib/components/Sector/index.js +4 -3
  168. package/lib/components/Sector/sectorIcons.js +5 -4
  169. package/lib/components/SevereEvent/Eta/Eta.js +55 -50
  170. package/lib/components/SevereEvent/Eta/styles.js +8 -11
  171. package/lib/components/SevereEvent/SevereEvent.js +38 -30
  172. package/lib/components/Spinner/Spinner.js +9 -9
  173. package/lib/components/Spinner/Spinner.stories.js +11 -6
  174. package/lib/components/Spinner/index.js +4 -3
  175. package/lib/components/Spinner/styles.js +18 -23
  176. package/lib/components/Tabs/Tabs.js +31 -18
  177. package/lib/components/Tabs/Tabs.stories.js +10 -6
  178. package/lib/components/Tabs/assets/index.js +6 -6
  179. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
  180. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +54 -41
  181. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
  182. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  183. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +26 -21
  184. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +16 -15
  185. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  186. package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
  187. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +28 -18
  188. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +35 -32
  189. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
  190. package/lib/components/TimeRangeSelector/constants.js +5 -3
  191. package/lib/components/TimeRangeSelector/index.js +4 -3
  192. package/lib/components/Toggle/Toggle.js +20 -13
  193. package/lib/components/Toggle/index.js +4 -3
  194. package/lib/components/TrendGraph/TrendGraph.js +43 -25
  195. package/lib/components/TrendGraph/index.js +4 -3
  196. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +36 -29
  197. package/lib/components/TrendGraphNVL/index.js +4 -3
  198. package/lib/development-environment/index.js +13 -9
  199. package/lib/development-environment/mock/browser.js +5 -2
  200. package/lib/development-environment/mock/get.js +10 -8
  201. package/lib/development-environment/mock/handlers.js +3 -2
  202. package/lib/development-environment/mock/mockBus.js +5 -4
  203. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  204. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  205. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  206. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  207. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  208. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  209. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  210. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  211. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  212. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  213. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  214. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  215. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  216. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  217. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  218. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  219. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  220. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  221. package/lib/development-environment/togly/ToglyDashboard.js +23 -13
  222. package/lib/development-environment/togly/ToglyItem.js +31 -24
  223. package/lib/development-environment/togly/flags.js +1 -1
  224. package/lib/development-environment/togly/init.js +4 -4
  225. package/lib/development-environment/togly/macro.js +10 -14
  226. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  227. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  228. package/lib/hooks/useApi.js +56 -20
  229. package/lib/hooks/useApiWithDashboardQuery.js +49 -30
  230. package/lib/hooks/useClickOutside.js +5 -4
  231. package/lib/hooks/useInitializeHeaders.js +6 -6
  232. package/lib/hooks/useKandoFetch.js +32 -18
  233. package/lib/hooks/useMap.js +37 -25
  234. package/lib/hooks/useNavContext.js +26 -22
  235. package/lib/hooks/useQueryURL.js +3 -2
  236. package/lib/hooks/useRemoveExistingLayers.js +8 -7
  237. package/lib/hooks/useUpdateEventBodyTail.js +19 -14
  238. package/lib/hooks/useUserTimeZone.js +31 -34
  239. package/lib/hooks/useUserTimeZone.test.js +23 -19
  240. package/lib/hooks/useWindowSize.js +14 -7
  241. package/lib/index.js +13 -11
  242. package/lib/macros/getVersion.js +3 -3
  243. package/lib/models/IAction.js +1 -1
  244. package/lib/models/IAppState.js +1 -1
  245. package/lib/pages/AreaPage/AreaPage.js +68 -34
  246. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -14
  247. package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -28
  248. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +26 -17
  249. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
  250. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +9 -9
  251. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +12 -12
  252. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  253. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  254. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  255. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  256. package/lib/pages/AssessmentPage/AssessmentPage.js +49 -41
  257. package/lib/pages/CannyWidget/Feedback.js +16 -14
  258. package/lib/pages/CovidPage/CovidPage.js +16 -9
  259. package/lib/pages/CovidPage/components/Body.js +30 -26
  260. package/lib/pages/CovidPage/components/Map.js +42 -30
  261. package/lib/pages/CovidPage/components/Sidebar.js +18 -17
  262. package/lib/pages/CovidPage/components/Summary.js +30 -21
  263. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +36 -29
  264. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  265. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
  266. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  267. package/lib/pages/CovidPage/components/areas/Area.js +41 -29
  268. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +49 -56
  269. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
  270. package/lib/pages/CovidPage/components/areas/AreasList.js +47 -34
  271. package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
  272. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  273. package/lib/pages/DashboardMap/AreaCard.js +29 -29
  274. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -9
  275. package/lib/pages/DashboardMap/Capacity.js +85 -34
  276. package/lib/pages/DashboardMap/FactoryCard.js +28 -33
  277. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
  278. package/lib/pages/DashboardMap/List.js +98 -69
  279. package/lib/pages/DashboardMap/ListContext.js +19 -14
  280. package/lib/pages/DashboardMap/Loader.js +3 -3
  281. package/lib/pages/DashboardMap/SeverityBadge.js +19 -11
  282. package/lib/pages/DashboardMap/WWTPMap.js +67 -50
  283. package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
  284. package/lib/pages/DashboardMap/Widget.js +72 -54
  285. package/lib/pages/DashboardMap/index.js +4 -3
  286. package/lib/pages/DashboardMap/utils.js +54 -44
  287. package/lib/pages/EventsPage/Body/Body.js +18 -21
  288. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
  289. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +36 -27
  290. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
  291. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
  292. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
  293. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  294. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +64 -52
  295. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +31 -19
  296. package/lib/pages/EventsPage/EventsPage.js +13 -8
  297. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +42 -28
  298. package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
  299. package/lib/pages/EventsPage/events/Sidebar.js +19 -22
  300. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
  301. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
  302. package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
  303. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
  304. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -42
  305. package/lib/pages/EventsPage/events/event_info/EventInfo.js +45 -44
  306. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
  307. package/lib/pages/EventsPage/events/event_info/EventSection.js +22 -19
  308. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +39 -44
  309. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +51 -40
  310. package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
  311. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +36 -31
  312. package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
  313. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +9 -8
  314. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
  315. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
  316. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
  317. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
  318. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
  319. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
  320. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
  321. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +29 -23
  322. package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
  323. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +11 -14
  324. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +10 -9
  325. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
  326. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +5 -7
  327. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
  328. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
  329. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +9 -11
  330. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
  331. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
  332. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
  333. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
  334. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
  335. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
  336. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
  337. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
  338. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
  339. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
  340. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
  341. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +11 -12
  342. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +14 -18
  343. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
  344. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +5 -4
  345. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
  346. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
  347. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +41 -26
  348. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
  349. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
  350. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
  351. package/lib/pages/EventsPage/events/event_info/sources/Source.js +33 -29
  352. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +29 -24
  353. package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
  354. package/lib/pages/EventsPage/events/events_list/EventItem.js +22 -19
  355. package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
  356. package/lib/pages/EventsPage/events/events_list/EventsList.js +150 -126
  357. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
  358. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +118 -80
  359. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +81 -62
  360. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
  361. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +39 -30
  362. package/lib/pages/EventsPage/events/events_list/Sort.js +19 -14
  363. package/lib/pages/ImportFileWizard/FileUploadRespones.js +23 -15
  364. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
  365. package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
  366. package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
  367. package/lib/pages/ImportFileWizard/ValidationForm.js +25 -25
  368. package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
  369. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  370. package/lib/pages/ImportFileWizard/index.js +4 -3
  371. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
  372. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +26 -23
  373. package/lib/pages/ImportGisPage/importGisUtils.js +25 -16
  374. package/lib/pages/ImportGisProcess/index.js +18 -14
  375. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
  376. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
  377. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
  378. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +66 -34
  379. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
  380. package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
  381. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  382. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  383. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
  384. package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
  385. package/lib/pages/NotificationsPage/assets/index.js +10 -10
  386. package/lib/pages/NotificationsPageV2/NotificationsPage.js +97 -71
  387. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +66 -96
  388. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +144 -131
  389. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +76 -74
  390. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +88 -91
  391. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -55
  392. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  393. package/lib/pages/OldSitePage/OldSitePage.js +133 -57
  394. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  395. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  396. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
  397. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +21 -19
  398. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  399. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
  400. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  401. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  402. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -19
  403. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
  404. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  405. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
  406. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  407. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  408. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  409. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  410. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +29 -33
  411. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +31 -29
  412. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  413. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  414. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +15 -19
  415. package/lib/pages/ProfilePage/Container.js +4 -3
  416. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +45 -28
  417. package/lib/pages/ProfilePage/ProfilePage.js +207 -118
  418. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
  419. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +21 -21
  420. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +35 -32
  421. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +120 -58
  422. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
  423. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
  424. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +46 -41
  425. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +29 -27
  426. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
  427. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
  428. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  429. package/lib/pages/SamplingsPage/NavigationDropdown.js +34 -46
  430. package/lib/pages/SamplingsPage/NewSamplingAction.js +105 -78
  431. package/lib/pages/SamplingsPage/SamplingMobileModal.js +102 -130
  432. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
  433. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
  434. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +64 -39
  435. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
  436. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +10 -11
  437. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +195 -110
  438. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +56 -49
  439. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +44 -47
  440. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +46 -49
  441. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +26 -19
  442. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  443. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
  444. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +55 -58
  445. package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
  446. package/lib/pages/SamplingsPage/SamplingsPage.js +35 -27
  447. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +59 -50
  448. package/lib/pages/SamplingsPage/index.js +3 -2
  449. package/lib/pages/SamplingsPage/samplingsPageUtils.js +93 -69
  450. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
  451. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
  452. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
  453. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  454. package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
  455. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  456. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
  457. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
  458. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
  459. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -15
  460. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
  461. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  462. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
  463. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  464. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  465. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -19
  466. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
  467. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  468. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
  469. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  470. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  471. package/lib/pages/SitePage/SamplingParameters/body/Body.js +12 -11
  472. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
  473. package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
  474. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
  475. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  476. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -61
  477. package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
  478. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  479. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  480. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  481. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +15 -19
  482. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
  483. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +32 -31
  484. package/lib/pages/SitePage/SitePage.js +80 -40
  485. package/lib/pages/UploadLabResult/index.js +16 -15
  486. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
  487. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
  488. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
  489. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
  490. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +51 -48
  491. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
  492. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +7 -6
  493. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
  494. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -14
  495. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  496. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
  497. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +9 -8
  498. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  499. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +27 -17
  500. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
  501. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -14
  502. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
  503. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +32 -27
  504. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
  505. package/lib/pages/WbeDashboard/GraphWrapper.js +37 -30
  506. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
  507. package/lib/pages/WbeDashboard/SearchInput.js +21 -15
  508. package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
  509. package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
  510. package/lib/pages/WbeDashboard/Tabs.js +12 -12
  511. package/lib/pages/WbeDashboard/WbeDashboardPage.js +211 -148
  512. package/lib/pages/WbeDashboard/WbeSummaryBar.js +49 -40
  513. package/lib/pages/WwtpPage/DashboardCard.js +26 -28
  514. package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
  515. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +25 -28
  516. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
  517. package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
  518. package/lib/pages/WwtpPage/Map.js +6 -7
  519. package/lib/pages/WwtpPage/OrganicCard.js +5 -4
  520. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
  521. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +9 -10
  522. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
  523. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
  524. package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
  525. package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
  526. package/lib/pages/WwtpPage/PredictionCard.js +5 -4
  527. package/lib/pages/WwtpPage/TrendCard.js +22 -20
  528. package/lib/pages/WwtpPage/UpgradeBox.js +6 -5
  529. package/lib/pages/WwtpPage/WwtpPage.js +11 -10
  530. package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
  531. package/lib/pages/WwtpPage/index.js +4 -3
  532. package/lib/providers/Slideshow/SlideshowContext.js +10 -11
  533. package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
  534. package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
  535. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
  536. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
  537. package/lib/providers/UrlHistory/index.js +4 -4
  538. package/lib/providers/UrlHistory/useLastVisited.js +7 -6
  539. package/lib/react-app-env.d.js +1 -1
  540. package/lib/store/ImportGis/action.js +1 -1
  541. package/lib/store/ImportGis/actionTypes.js +5 -4
  542. package/lib/store/ImportGis/actionsCreator.js +5 -7
  543. package/lib/store/ImportGis/models/gisImports.js +1 -1
  544. package/lib/store/ImportGis/reducer.js +30 -41
  545. package/lib/store/WBE/actionTypes.js +3 -2
  546. package/lib/store/WBE/actions.js +1 -1
  547. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  548. package/lib/store/WBE/models/IWBE.js +1 -1
  549. package/lib/store/WBE/models/IWBEState.js +1 -1
  550. package/lib/store/WBE/reducer.js +10 -14
  551. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
  552. package/lib/store/WWTPDashboard/types.js +1 -1
  553. package/lib/store/areas/actionTypes.js +7 -4
  554. package/lib/store/areas/actions.js +13 -7
  555. package/lib/store/areas/models/IArea.js +1 -1
  556. package/lib/store/areas/models/IAreasState.js +1 -1
  557. package/lib/store/areas/reducer.js +6 -8
  558. package/lib/store/context/actionTypes.js +5 -3
  559. package/lib/store/context/actions.js +3 -3
  560. package/lib/store/context/contextMiddlewares.js +18 -15
  561. package/lib/store/context/models/INavContext.js +1 -1
  562. package/lib/store/context/models/INavContextState.js +1 -1
  563. package/lib/store/context/reducer.js +10 -14
  564. package/lib/store/dashboard/dashboardSlice.js +11 -18
  565. package/lib/store/dashboard/periodType.js +1 -1
  566. package/lib/store/edges/actionTypes.js +9 -5
  567. package/lib/store/edges/actions.js +8 -4
  568. package/lib/store/edges/models/IEdge.js +1 -1
  569. package/lib/store/edges/models/IEdgesState.js +1 -1
  570. package/lib/store/edges/reducer.js +17 -13
  571. package/lib/store/events/actionTypes.js +33 -17
  572. package/lib/store/events/actions.js +7 -3
  573. package/lib/store/events/models/IEvent.js +1 -1
  574. package/lib/store/events/models/IEventsState.js +1 -1
  575. package/lib/store/events/models/ISource.js +1 -1
  576. package/lib/store/events/reducer.js +49 -42
  577. package/lib/store/filters/IFilter.js +1 -1
  578. package/lib/store/filters/IFilterItem.js +1 -1
  579. package/lib/store/global/actionTypes.js +21 -11
  580. package/lib/store/global/actions.js +6 -8
  581. package/lib/store/global/models/IGlobalState.js +1 -1
  582. package/lib/store/global/reducer.js +10 -11
  583. package/lib/store/permissions/permissionsSlice.js +9 -12
  584. package/lib/store/points/actionTypes.js +5 -3
  585. package/lib/store/points/actions.js +7 -3
  586. package/lib/store/points/models/IGroup.js +1 -1
  587. package/lib/store/points/models/IPoint.js +1 -1
  588. package/lib/store/points/models/IPointsState.js +1 -1
  589. package/lib/store/points/reducer.js +5 -7
  590. package/lib/store/rootActionTypes.js +3 -2
  591. package/lib/store/rootActions.js +1 -1
  592. package/lib/store/rootReducer.js +13 -17
  593. package/lib/store/rootStore.js +6 -6
  594. package/lib/store/samplings/action.js +1 -1
  595. package/lib/store/samplings/actionTypes.js +5 -4
  596. package/lib/store/samplings/actionsCreator.js +1 -1
  597. package/lib/store/samplings/models/Samplings.js +1 -1
  598. package/lib/store/samplings/reducer.js +14 -16
  599. package/lib/styles/StylesLayout.js +6 -7
  600. package/lib/styles/theme/theme.js +30 -26
  601. package/lib/test/mocks/browser.js +5 -2
  602. package/lib/test/test-utils.js +16 -18
  603. package/lib/ui-kit/Button/Button.js +84 -130
  604. package/lib/ui-kit/Button/Button.test.js +33 -27
  605. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  606. package/lib/ui-kit/Checkbox/Checkbox.js +24 -32
  607. package/lib/ui-kit/ContentCard/ContentCard.js +21 -17
  608. package/lib/ui-kit/Dashboard/Dashboard.js +25 -26
  609. package/lib/ui-kit/Dashboard/index.js +4 -3
  610. package/lib/ui-kit/DropDown/DropDown.js +25 -24
  611. package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
  612. package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
  613. package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
  614. package/lib/ui-kit/EmptyState/EmptyState.js +7 -8
  615. package/lib/ui-kit/IconAction/IconAction.js +8 -9
  616. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +66 -49
  617. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +53 -70
  618. package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
  619. package/lib/ui-kit/InletsPie/index.js +4 -3
  620. package/lib/ui-kit/InletsPie/options.js +9 -7
  621. package/lib/ui-kit/KandoList/KandoList.js +12 -13
  622. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  623. package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
  624. package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
  625. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  626. package/lib/ui-kit/Layout/Layout.js +7 -8
  627. package/lib/ui-kit/MobileInput/MobileInput.js +51 -61
  628. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
  629. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  630. package/lib/ui-kit/OrganicEvents/GaugeChart.js +9 -10
  631. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
  632. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +23 -29
  633. package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
  634. package/lib/ui-kit/OrganicEvents/index.js +4 -3
  635. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
  636. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
  637. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
  638. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +25 -22
  639. package/lib/ui-kit/ScoreGauge/constant.js +4 -3
  640. package/lib/ui-kit/ScoreGauge/index.js +4 -3
  641. package/lib/ui-kit/TimeLineChart/TrendChart.js +45 -56
  642. package/lib/ui-kit/TimeLineChart/index.js +4 -3
  643. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
  644. package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
  645. package/lib/ui-kit/index.js +8 -8
  646. package/lib/ui-kit/kandoStepper/KandoStepper.js +15 -14
  647. package/lib/ui-kit/siteName/SiteName.js +11 -13
  648. package/lib/utilities/ActionUtility.js +7 -7
  649. package/lib/utilities/Alert.js +20 -23
  650. package/lib/utilities/Analytics.js +12 -12
  651. package/lib/utilities/Array.js +5 -4
  652. package/lib/utilities/Enum.js +51 -15
  653. package/lib/utilities/ErrorBoundary.js +42 -27
  654. package/lib/utilities/File.js +70 -41
  655. package/lib/utilities/GetDir.js +10 -10
  656. package/lib/utilities/KandoDate.js +15 -7
  657. package/lib/utilities/KandoModal.js +28 -16
  658. package/lib/utilities/LocalStorage.js +10 -8
  659. package/lib/utilities/ThousandsToK.js +3 -3
  660. package/lib/utilities/TimeFormat.js +23 -22
  661. package/lib/utilities/Truncate.js +28 -18
  662. package/lib/utilities/edgesMath.js +16 -15
  663. package/lib/utilities/i18n.js +6 -5
  664. package/lib/utilities/kql.js +14 -12
  665. package/lib/utilities/map/icons.js +4 -4
  666. package/lib/utilities/polylinedecorator.js +113 -88
  667. package/lib/utilities/scoreToData.js +16 -16
  668. package/lib/utilities/scoreToData.test.js +5 -5
  669. package/lib/utilities/time.js +10 -9
  670. package/lib/utilities/uploadToS3.js +12 -12
  671. package/lib/utilities/urls.js +61 -62
  672. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
@@ -12,63 +12,59 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactRedux = require("react-redux");
13
13
  var _actions = require("store/events/actions");
14
14
  var _useUpdateEventBodyTail = _interopRequireDefault(require("hooks/useUpdateEventBodyTail"));
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
17
  // @ts-ignore
16
18
 
17
19
  function mapStateToProps(state) {
18
- const {
19
- events_data,
20
- global_data,
21
- edges_data
22
- } = state;
20
+ var events_data = state.events_data,
21
+ global_data = state.global_data,
22
+ edges_data = state.edges_data;
23
23
  return {
24
- events_data,
25
- global_data,
26
- edges_data
24
+ events_data: events_data,
25
+ global_data: global_data,
26
+ edges_data: edges_data
27
27
  };
28
28
  }
29
- const EventIndicator = props => {
30
- const {
31
- L,
32
- map,
33
- events_data,
34
- edges_data,
35
- global_data,
36
- event,
37
- paths
38
- } = props;
39
- const {
40
- eventIndicator
41
- } = events_data;
42
- const dispatch = (0, _reactRedux.useDispatch)();
43
- let eventParts = [];
29
+ var EventIndicator = function EventIndicator(props) {
30
+ var L = props.L,
31
+ map = props.map,
32
+ events_data = props.events_data,
33
+ edges_data = props.edges_data,
34
+ global_data = props.global_data,
35
+ event = props.event,
36
+ paths = props.paths;
37
+ var eventIndicator = events_data.eventIndicator;
38
+ var dispatch = (0, _reactRedux.useDispatch)();
39
+ var eventParts = [];
44
40
  // eslint-disable-next-line etc/no-commented-out-code
45
41
 
46
- const removeExistingIndicator = () => {
42
+ var removeExistingIndicator = function removeExistingIndicator() {
47
43
  if (eventIndicator !== null) {
48
- eventIndicator.eachLayer(layer => {
44
+ eventIndicator.eachLayer(function (layer) {
49
45
  map.removeLayer(layer);
50
46
  });
51
47
  }
52
48
  };
53
- const makePairs = array => {
54
- let pairs = [];
55
- for (let i = 0; i < array.length; i++) {
49
+ var makePairs = function makePairs(array) {
50
+ var pairs = [];
51
+ for (var i = 0; i < array.length; i++) {
56
52
  if (i < array.length - 1) {
57
53
  pairs.push([array[i], array[i + 1]]);
58
54
  }
59
55
  }
60
56
  return pairs;
61
57
  };
62
- const calculateBodyAndTail = (segment, bodyStart, bodyEnd) => {
63
- let tailPath = [];
64
- let bodyPath = [];
65
- let foundBodyStart = false;
66
- let eventBodyStartMarker = bodyStart._latlng;
67
- let eventBodyEndMarker = bodyEnd._latlng;
68
- let subSegments = makePairs(segment._latlngs);
69
- let shouldContinue = true;
70
- for (let i = 0; i < subSegments.length; i++) {
71
- let foundBodyStartOnCurrentSubSegment = false;
58
+ var calculateBodyAndTail = function calculateBodyAndTail(segment, bodyStart, bodyEnd) {
59
+ var tailPath = [];
60
+ var bodyPath = [];
61
+ var foundBodyStart = false;
62
+ var eventBodyStartMarker = bodyStart._latlng;
63
+ var eventBodyEndMarker = bodyEnd._latlng;
64
+ var subSegments = makePairs(segment._latlngs);
65
+ var shouldContinue = true;
66
+ for (var i = 0; i < subSegments.length; i++) {
67
+ var foundBodyStartOnCurrentSubSegment = false;
72
68
  if (shouldContinue && !foundBodyStart) {
73
69
  // if bodyStartMarker exist on subSegment
74
70
 
@@ -81,7 +77,7 @@ const EventIndicator = props => {
81
77
  }
82
78
  }
83
79
  if (shouldContinue && foundBodyStart) {
84
- let beginningOfBody = foundBodyStartOnCurrentSubSegment ? eventBodyStartMarker : subSegments[i][0];
80
+ var beginningOfBody = foundBodyStartOnCurrentSubSegment ? eventBodyStartMarker : subSegments[i][0];
85
81
  if ((0, _leafletGeometryutil.belongsSegment)(eventBodyEndMarker, subSegments[i][0], subSegments[i][1], 0.0000001)) {
86
82
  bodyPath.push([beginningOfBody, eventBodyEndMarker]);
87
83
  shouldContinue = false;
@@ -95,12 +91,12 @@ const EventIndicator = props => {
95
91
  bodyPath: bodyPath
96
92
  };
97
93
  };
98
- const renderEventIndicator = () => {
94
+ var renderEventIndicator = function renderEventIndicator() {
99
95
  if (event !== null && event.path.length >= 1) {
100
96
  removeExistingIndicator();
101
- for (let i = 0; i < event.path.length; i++) {
97
+ for (var i = 0; i < event.path.length; i++) {
102
98
  if (event.path[i] !== undefined && event.path[i].event_body_part <= 100 && event.path[i].event_body_part > 0 && paths[i] !== undefined) {
103
- let eventBodyStart = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, event.path[i].event_tail_part / 100).latLng, {
99
+ var eventBodyStart = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, event.path[i].event_tail_part / 100).latLng, {
104
100
  icon: L.divIcon({
105
101
  iconAnchor: [0, 0],
106
102
  iconSize: [0, 0]
@@ -109,7 +105,7 @@ const EventIndicator = props => {
109
105
  }).addTo(map);
110
106
  eventBodyStart['kando_object_id'] = event.id;
111
107
  eventBodyStart['kando_object'] = 'EventBodyStart';
112
- let eventBodyEnd = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, (event.path[i].event_body_part + event.path[i].event_tail_part) / 100).latLng, {
108
+ var eventBodyEnd = L.marker((0, _leafletGeometryutil.interpolateOnLine)(map, paths[i]._latlngs, (event.path[i].event_body_part + event.path[i].event_tail_part) / 100).latLng, {
113
109
  icon: L.divIcon({
114
110
  iconAnchor: [0, 0],
115
111
  iconSize: [0, 0]
@@ -118,8 +114,8 @@ const EventIndicator = props => {
118
114
  }).addTo(map);
119
115
  eventBodyEnd['kando_object_id'] = event.id;
120
116
  eventBodyEnd['kando_object'] = 'EventBodyEnd';
121
- let path = calculateBodyAndTail(paths[i], eventBodyStart, eventBodyEnd);
122
- let eventTail = L.polyline(path.tailPath, {
117
+ var path = calculateBodyAndTail(paths[i], eventBodyStart, eventBodyEnd);
118
+ var eventTail = L.polyline(path.tailPath, {
123
119
  color: '#f50b56',
124
120
  weight: 12,
125
121
  className: 'event-tail',
@@ -127,7 +123,7 @@ const EventIndicator = props => {
127
123
  }).addTo(map);
128
124
  eventTail['kando_object_id'] = event.id;
129
125
  eventTail['kando_object'] = 'EventTail';
130
- let eventBody = L.polyline(path.bodyPath, {
126
+ var eventBody = L.polyline(path.bodyPath, {
131
127
  color: '#f50b56',
132
128
  weight: 12,
133
129
  className: 'event-body'
@@ -183,15 +179,15 @@ const EventIndicator = props => {
183
179
  arrowHead['kando_object'] = 'Decorator';
184
180
  eventParts.push(eventBody, eventTail, tailDash, bodyLine, arrowHead, tailLine);
185
181
  } else if (event.path[i] !== undefined && event.path[i].event_body_part === 0 && event.path[i].event_tail_part > 0 && paths[i] !== undefined) {
186
- let eventTail = L.polyline(paths[i]._latlngs, {
182
+ var _eventTail = L.polyline(paths[i]._latlngs, {
187
183
  color: '#f50b56',
188
184
  weight: 12,
189
185
  className: 'event-tail',
190
186
  opacity: 0.3
191
187
  }).addTo(map);
192
- eventTail['kando_object_id'] = event.id;
193
- eventTail['kando_object'] = 'EventTail';
194
- tailDash = L.polylineDecorator(eventTail._latlngs, {
188
+ _eventTail['kando_object_id'] = event.id;
189
+ _eventTail['kando_object'] = 'EventTail';
190
+ tailDash = L.polylineDecorator(_eventTail._latlngs, {
195
191
  patterns: [
196
192
  // defines a pattern of 10px-wide dashes, repeated every 20px on the line
197
193
  {
@@ -209,24 +205,25 @@ const EventIndicator = props => {
209
205
  }]
210
206
  }).addTo(map);
211
207
  tailDash['kando_object'] = 'Decorator';
212
- tailLine = L.polyline(eventTail._latlngs, {
208
+ tailLine = L.polyline(_eventTail._latlngs, {
213
209
  color: 'rgba(255, 255, 255)',
214
210
  weight: 1
215
211
  }).addTo(map);
216
212
  tailLine['kando_object'] = 'Decorator';
217
213
  tailDash.bringToFront();
218
- eventParts.push(eventTail, tailDash, tailLine);
214
+ eventParts.push(_eventTail, tailDash, tailLine);
219
215
  }
220
216
  }
221
217
  dispatch((0, _actions.setEventIndicator)(L.layerGroup(eventParts)));
222
218
  }
223
219
  };
224
220
  (0, _useUpdateEventBodyTail.default)(event !== null ? global_data.current_time : 0, event, edges_data, event.hovered);
225
- (0, _react.useEffect)(() => {
221
+ (0, _react.useEffect)(function () {
226
222
  renderEventIndicator();
227
223
  }, [paths, global_data.current_time]);
228
224
  return /*#__PURE__*/_react.default.createElement("div", null);
229
225
  };
230
- const connector = (0, _reactRedux.connect)(mapStateToProps);
231
- var _default = exports.default = connector(EventIndicator);
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldEdlb21ldHJ5dXRpbCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX2FjdGlvbnMiLCJfdXNlVXBkYXRlRXZlbnRCb2R5VGFpbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwiRXZlbnRJbmRpY2F0b3IiLCJwcm9wcyIsIkwiLCJtYXAiLCJldmVudCIsInBhdGhzIiwiZXZlbnRJbmRpY2F0b3IiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZXZlbnRQYXJ0cyIsInJlbW92ZUV4aXN0aW5nSW5kaWNhdG9yIiwiZWFjaExheWVyIiwibGF5ZXIiLCJyZW1vdmVMYXllciIsIm1ha2VQYWlycyIsImFycmF5IiwicGFpcnMiLCJpIiwibGVuZ3RoIiwicHVzaCIsImNhbGN1bGF0ZUJvZHlBbmRUYWlsIiwic2VnbWVudCIsImJvZHlTdGFydCIsImJvZHlFbmQiLCJ0YWlsUGF0aCIsImJvZHlQYXRoIiwiZm91bmRCb2R5U3RhcnQiLCJldmVudEJvZHlTdGFydE1hcmtlciIsIl9sYXRsbmciLCJldmVudEJvZHlFbmRNYXJrZXIiLCJzdWJTZWdtZW50cyIsIl9sYXRsbmdzIiwic2hvdWxkQ29udGludWUiLCJmb3VuZEJvZHlTdGFydE9uQ3VycmVudFN1YlNlZ21lbnQiLCJiZWxvbmdzU2VnbWVudCIsImJlZ2lubmluZ09mQm9keSIsInJlbmRlckV2ZW50SW5kaWNhdG9yIiwicGF0aCIsInVuZGVmaW5lZCIsImV2ZW50X2JvZHlfcGFydCIsImV2ZW50Qm9keVN0YXJ0IiwibWFya2VyIiwiaW50ZXJwb2xhdGVPbkxpbmUiLCJldmVudF90YWlsX3BhcnQiLCJsYXRMbmciLCJpY29uIiwiZGl2SWNvbiIsImljb25BbmNob3IiLCJpY29uU2l6ZSIsIm9wYWNpdHkiLCJhZGRUbyIsImlkIiwiZXZlbnRCb2R5RW5kIiwiZXZlbnRUYWlsIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsImNsYXNzTmFtZSIsImV2ZW50Qm9keSIsImJyaW5nVG9Gcm9udCIsInRhaWxEYXNoIiwicG9seWxpbmVEZWNvcmF0b3IiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImJvZHlMaW5lIiwidGFpbExpbmUiLCJzZXRFdmVudEluZGljYXRvciIsImxheWVyR3JvdXAiLCJ1c2VVcGRhdGVFdmVudEJvZHlUYWlsIiwiY3VycmVudF90aW1lIiwiaG92ZXJlZCIsInVzZUVmZmVjdCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRJbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IGludGVycG9sYXRlT25MaW5lLCBiZWxvbmdzU2VnbWVudCB9IGZyb20gJ2xlYWZsZXQtZ2VvbWV0cnl1dGlsJztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgc2V0RXZlbnRJbmRpY2F0b3IgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB1c2VVcGRhdGVFdmVudEJvZHlUYWlsIGZyb20gJ3NyYy9ob29rcy91c2VVcGRhdGVFdmVudEJvZHlUYWlsJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgZ2xvYmFsX2RhdGEsIGVkZ2VzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgTDogYW55O1xuICBtYXA6IGFueTtcbiAgcGF0aHM6IGFueTtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmNvbnN0IEV2ZW50SW5kaWNhdG9yOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgbWFwLCBldmVudHNfZGF0YSwgZWRnZXNfZGF0YSwgZ2xvYmFsX2RhdGEsIGV2ZW50LCBwYXRocyB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZXZlbnRJbmRpY2F0b3IgfSA9IGV2ZW50c19kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGxldCBldmVudFBhcnRzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZVxuXG4gIGNvbnN0IHJlbW92ZUV4aXN0aW5nSW5kaWNhdG9yID0gKCkgPT4ge1xuICAgIGlmIChldmVudEluZGljYXRvciAhPT0gbnVsbCkge1xuICAgICAgZXZlbnRJbmRpY2F0b3IuZWFjaExheWVyKChsYXllcjogYW55KSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcik7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgbWFrZVBhaXJzID0gKGFycmF5OiBbXSkgPT4ge1xuICAgIGxldCBwYWlyczogYW55W10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaSA8IGFycmF5Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcGFpcnMucHVzaChbYXJyYXlbaV0sIGFycmF5W2kgKyAxXV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYWlycztcbiAgfTtcblxuICBjb25zdCBjYWxjdWxhdGVCb2R5QW5kVGFpbCA9IChzZWdtZW50OiBhbnksIGJvZHlTdGFydDogYW55LCBib2R5RW5kOiBhbnkpID0+IHtcbiAgICBsZXQgdGFpbFBhdGg6IGFueVtdID0gW107XG4gICAgbGV0IGJvZHlQYXRoOiBhbnlbXSA9IFtdO1xuICAgIGxldCBmb3VuZEJvZHlTdGFydCA9IGZhbHNlO1xuICAgIGxldCBldmVudEJvZHlTdGFydE1hcmtlciA9IGJvZHlTdGFydC5fbGF0bG5nO1xuICAgIGxldCBldmVudEJvZHlFbmRNYXJrZXIgPSBib2R5RW5kLl9sYXRsbmc7XG4gICAgbGV0IHN1YlNlZ21lbnRzID0gbWFrZVBhaXJzKHNlZ21lbnQuX2xhdGxuZ3MpO1xuICAgIGxldCBzaG91bGRDb250aW51ZSA9IHRydWU7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1YlNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50ID0gZmFsc2U7XG5cbiAgICAgIGlmIChzaG91bGRDb250aW51ZSAmJiAhZm91bmRCb2R5U3RhcnQpIHtcbiAgICAgICAgLy8gaWYgYm9keVN0YXJ0TWFya2VyIGV4aXN0IG9uIHN1YlNlZ21lbnRcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgYmVsb25nc1NlZ21lbnQoXG4gICAgICAgICAgICBldmVudEJvZHlTdGFydE1hcmtlcixcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzBdLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMV0sXG4gICAgICAgICAgICAwLjAwMDAwMDEsXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICB0YWlsUGF0aC5wdXNoKFtzdWJTZWdtZW50c1tpXVswXSwgZXZlbnRCb2R5U3RhcnRNYXJrZXJdKTtcblxuICAgICAgICAgIGZvdW5kQm9keVN0YXJ0ID0gdHJ1ZTtcbiAgICAgICAgICBmb3VuZEJvZHlTdGFydE9uQ3VycmVudFN1YlNlZ21lbnQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhaWxQYXRoLnB1c2goW3N1YlNlZ21lbnRzW2ldWzBdLCBzdWJTZWdtZW50c1tpXVsxXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRDb250aW51ZSAmJiBmb3VuZEJvZHlTdGFydCkge1xuICAgICAgICBsZXQgYmVnaW5uaW5nT2ZCb2R5ID0gZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50XG4gICAgICAgICAgPyBldmVudEJvZHlTdGFydE1hcmtlclxuICAgICAgICAgIDogc3ViU2VnbWVudHNbaV1bMF07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGJlbG9uZ3NTZWdtZW50KFxuICAgICAgICAgICAgZXZlbnRCb2R5RW5kTWFya2VyLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMF0sXG4gICAgICAgICAgICBzdWJTZWdtZW50c1tpXVsxXSxcbiAgICAgICAgICAgIDAuMDAwMDAwMSxcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIGJvZHlQYXRoLnB1c2goW2JlZ2lubmluZ09mQm9keSwgZXZlbnRCb2R5RW5kTWFya2VyXSk7XG4gICAgICAgICAgc2hvdWxkQ29udGludWUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBib2R5UGF0aC5wdXNoKFtiZWdpbm5pbmdPZkJvZHksIHN1YlNlZ21lbnRzW2ldWzFdXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFpbFBhdGg6IHRhaWxQYXRoLFxuICAgICAgYm9keVBhdGg6IGJvZHlQYXRoLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyRXZlbnRJbmRpY2F0b3IgPSAoKSA9PiB7XG4gICAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50LnBhdGgubGVuZ3RoID49IDEpIHtcbiAgICAgIHJlbW92ZUV4aXN0aW5nSW5kaWNhdG9yKCk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfYm9keV9wYXJ0IDw9IDEwMCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfYm9keV9wYXJ0ID4gMCAmJlxuICAgICAgICAgIHBhdGhzW2ldICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbGV0IGV2ZW50Qm9keVN0YXJ0ID0gTC5tYXJrZXIoXG4gICAgICAgICAgICBpbnRlcnBvbGF0ZU9uTGluZShcbiAgICAgICAgICAgICAgbWFwLFxuICAgICAgICAgICAgICBwYXRoc1tpXS5fbGF0bG5ncyxcbiAgICAgICAgICAgICAgZXZlbnQucGF0aFtpXS5ldmVudF90YWlsX3BhcnQgLyAxMDAsXG4gICAgICAgICAgICApLmxhdExuZyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogTC5kaXZJY29uKHtcbiAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMCwgMF0sXG4gICAgICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICkuYWRkVG8obWFwKTtcbiAgICAgICAgICBldmVudEJvZHlTdGFydFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudEJvZHlTdGFydFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5U3RhcnQnO1xuXG4gICAgICAgICAgbGV0IGV2ZW50Qm9keUVuZCA9IEwubWFya2VyKFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVPbkxpbmUoXG4gICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgcGF0aHNbaV0uX2xhdGxuZ3MsXG4gICAgICAgICAgICAgIChldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCArIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0KSAvXG4gICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgKS5sYXRMbmcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzAsIDBdLFxuICAgICAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5RW5kWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50Qm9keUVuZFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5RW5kJztcblxuICAgICAgICAgIGxldCBwYXRoID0gY2FsY3VsYXRlQm9keUFuZFRhaWwoXG4gICAgICAgICAgICBwYXRoc1tpXSxcbiAgICAgICAgICAgIGV2ZW50Qm9keVN0YXJ0LFxuICAgICAgICAgICAgZXZlbnRCb2R5RW5kLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBsZXQgZXZlbnRUYWlsID0gTC5wb2x5bGluZShwYXRoLnRhaWxQYXRoLCB7XG4gICAgICAgICAgICBjb2xvcjogJyNmNTBiNTYnLFxuICAgICAgICAgICAgd2VpZ2h0OiAxMixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXRhaWwnLFxuICAgICAgICAgICAgb3BhY2l0eTogMC4zLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRUYWlsWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRUYWlsJztcblxuICAgICAgICAgIGxldCBldmVudEJvZHkgPSBMLnBvbHlsaW5lKHBhdGguYm9keVBhdGgsIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2Y1MGI1NicsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEyLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtYm9keScsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICBldmVudEJvZHlbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgICAgICAgZXZlbnRCb2R5WydrYW5kb19vYmplY3QnXSA9ICdFdmVudEJvZHknO1xuICAgICAgICAgIGV2ZW50Qm9keS5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgICAgIHZhciB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwxKScsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICB2YXIgYm9keUxpbmUgPSBMLnBvbHlsaW5lKGV2ZW50Qm9keS5fbGF0bG5ncywge1xuICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIC42KScsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICBib2R5TGluZVsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcblxuICAgICAgICAgIHZhciB0YWlsTGluZSA9IEwucG9seWxpbmUoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSknLFxuICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgdGFpbExpbmVbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICB2YXIgYXJyb3dIZWFkID0gTC5wb2x5bGluZURlY29yYXRvcihldmVudEJvZHksIHtcbiAgICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogNSxcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMSknLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIGFycm93SGVhZFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcblxuICAgICAgICAgIGV2ZW50UGFydHMucHVzaChcbiAgICAgICAgICAgIGV2ZW50Qm9keSxcbiAgICAgICAgICAgIGV2ZW50VGFpbCxcbiAgICAgICAgICAgIHRhaWxEYXNoLFxuICAgICAgICAgICAgYm9keUxpbmUsXG4gICAgICAgICAgICBhcnJvd0hlYWQsXG4gICAgICAgICAgICB0YWlsTGluZSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfYm9keV9wYXJ0ID09PSAwICYmXG4gICAgICAgICAgZXZlbnQucGF0aFtpXS5ldmVudF90YWlsX3BhcnQgPiAwICYmXG4gICAgICAgICAgcGF0aHNbaV0gIT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBsZXQgZXZlbnRUYWlsID0gTC5wb2x5bGluZShwYXRoc1tpXS5fbGF0bG5ncywge1xuICAgICAgICAgICAgY29sb3I6ICcjZjUwYjU2JyxcbiAgICAgICAgICAgIHdlaWdodDogMTIsXG4gICAgICAgICAgICBjbGFzc05hbWU6ICdldmVudC10YWlsJyxcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMyxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICAgICAgZXZlbnRUYWlsWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRUYWlsJztcblxuICAgICAgICAgIHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihldmVudFRhaWwuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDEpJyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcblxuICAgICAgICAgIHRhaWxMaW5lID0gTC5wb2x5bGluZShldmVudFRhaWwuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1KScsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICB0YWlsTGluZVsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgICAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgICAgIGV2ZW50UGFydHMucHVzaChldmVudFRhaWwsIHRhaWxEYXNoLCB0YWlsTGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc2V0RXZlbnRJbmRpY2F0b3IoTC5sYXllckdyb3VwKGV2ZW50UGFydHMpKSk7XG4gICAgfVxuICB9O1xuXG4gIHVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwoXG4gICAgZXZlbnQgIT09IG51bGwgPyBnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWUgOiAwLFxuICAgIGV2ZW50LFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgZXZlbnQuaG92ZXJlZCxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckV2ZW50SW5kaWNhdG9yKCk7XG4gIH0sIFtwYXRocywgZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lXSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50SW5kaWNhdG9yKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxvQkFBQSxHQUFBQyxP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
226
+ var connector = (0, _reactRedux.connect)(mapStateToProps);
227
+ var _default = connector(EventIndicator);
228
+ exports.default = _default;
229
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldEdlb21ldHJ5dXRpbCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdFJlZHV4IiwiX2FjdGlvbnMiLCJfdXNlVXBkYXRlRXZlbnRCb2R5VGFpbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsImVkZ2VzX2RhdGEiLCJFdmVudEluZGljYXRvciIsInByb3BzIiwiTCIsIm1hcCIsImV2ZW50IiwicGF0aHMiLCJldmVudEluZGljYXRvciIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudFBhcnRzIiwicmVtb3ZlRXhpc3RpbmdJbmRpY2F0b3IiLCJlYWNoTGF5ZXIiLCJsYXllciIsInJlbW92ZUxheWVyIiwibWFrZVBhaXJzIiwiYXJyYXkiLCJwYWlycyIsImkiLCJsZW5ndGgiLCJwdXNoIiwiY2FsY3VsYXRlQm9keUFuZFRhaWwiLCJzZWdtZW50IiwiYm9keVN0YXJ0IiwiYm9keUVuZCIsInRhaWxQYXRoIiwiYm9keVBhdGgiLCJmb3VuZEJvZHlTdGFydCIsImV2ZW50Qm9keVN0YXJ0TWFya2VyIiwiX2xhdGxuZyIsImV2ZW50Qm9keUVuZE1hcmtlciIsInN1YlNlZ21lbnRzIiwiX2xhdGxuZ3MiLCJzaG91bGRDb250aW51ZSIsImZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudCIsImJlbG9uZ3NTZWdtZW50IiwiYmVnaW5uaW5nT2ZCb2R5IiwicmVuZGVyRXZlbnRJbmRpY2F0b3IiLCJwYXRoIiwidW5kZWZpbmVkIiwiZXZlbnRfYm9keV9wYXJ0IiwiZXZlbnRCb2R5U3RhcnQiLCJtYXJrZXIiLCJpbnRlcnBvbGF0ZU9uTGluZSIsImV2ZW50X3RhaWxfcGFydCIsImxhdExuZyIsImljb24iLCJkaXZJY29uIiwiaWNvbkFuY2hvciIsImljb25TaXplIiwib3BhY2l0eSIsImFkZFRvIiwiaWQiLCJldmVudEJvZHlFbmQiLCJldmVudFRhaWwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwiZXZlbnRCb2R5IiwiYnJpbmdUb0Zyb250IiwidGFpbERhc2giLCJwb2x5bGluZURlY29yYXRvciIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYm9keUxpbmUiLCJ0YWlsTGluZSIsInNldEV2ZW50SW5kaWNhdG9yIiwibGF5ZXJHcm91cCIsInVzZVVwZGF0ZUV2ZW50Qm9keVRhaWwiLCJjdXJyZW50X3RpbWUiLCJob3ZlcmVkIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50SW5kaWNhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBpbnRlcnBvbGF0ZU9uTGluZSwgYmVsb25nc1NlZ21lbnQgfSBmcm9tICdsZWFmbGV0LWdlb21ldHJ5dXRpbCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEV2ZW50SW5kaWNhdG9yIH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgdXNlVXBkYXRlRXZlbnRCb2R5VGFpbCBmcm9tICdzcmMvaG9va3MvdXNlVXBkYXRlRXZlbnRCb2R5VGFpbCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEsIGdsb2JhbF9kYXRhLCBlZGdlc19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIEw6IGFueTtcbiAgbWFwOiBhbnk7XG4gIHBhdGhzOiBhbnk7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5jb25zdCBFdmVudEluZGljYXRvcjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIG1hcCwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIGdsb2JhbF9kYXRhLCBldmVudCwgcGF0aHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGV2ZW50SW5kaWNhdG9yIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBsZXQgZXZlbnRQYXJ0czogYW55W10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGVcblxuICBjb25zdCByZW1vdmVFeGlzdGluZ0luZGljYXRvciA9ICgpID0+IHtcbiAgICBpZiAoZXZlbnRJbmRpY2F0b3IgIT09IG51bGwpIHtcbiAgICAgIGV2ZW50SW5kaWNhdG9yLmVhY2hMYXllcigobGF5ZXI6IGFueSkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG1ha2VQYWlycyA9IChhcnJheTogW10pID0+IHtcbiAgICBsZXQgcGFpcnM6IGFueVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGkgPCBhcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgIHBhaXJzLnB1c2goW2FycmF5W2ldLCBhcnJheVtpICsgMV1dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFpcnM7XG4gIH07XG5cbiAgY29uc3QgY2FsY3VsYXRlQm9keUFuZFRhaWwgPSAoc2VnbWVudDogYW55LCBib2R5U3RhcnQ6IGFueSwgYm9keUVuZDogYW55KSA9PiB7XG4gICAgbGV0IHRhaWxQYXRoOiBhbnlbXSA9IFtdO1xuICAgIGxldCBib2R5UGF0aDogYW55W10gPSBbXTtcbiAgICBsZXQgZm91bmRCb2R5U3RhcnQgPSBmYWxzZTtcbiAgICBsZXQgZXZlbnRCb2R5U3RhcnRNYXJrZXIgPSBib2R5U3RhcnQuX2xhdGxuZztcbiAgICBsZXQgZXZlbnRCb2R5RW5kTWFya2VyID0gYm9keUVuZC5fbGF0bG5nO1xuICAgIGxldCBzdWJTZWdtZW50cyA9IG1ha2VQYWlycyhzZWdtZW50Ll9sYXRsbmdzKTtcbiAgICBsZXQgc2hvdWxkQ29udGludWUgPSB0cnVlO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudCA9IGZhbHNlO1xuXG4gICAgICBpZiAoc2hvdWxkQ29udGludWUgJiYgIWZvdW5kQm9keVN0YXJ0KSB7XG4gICAgICAgIC8vIGlmIGJvZHlTdGFydE1hcmtlciBleGlzdCBvbiBzdWJTZWdtZW50XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGJlbG9uZ3NTZWdtZW50KFxuICAgICAgICAgICAgZXZlbnRCb2R5U3RhcnRNYXJrZXIsXG4gICAgICAgICAgICBzdWJTZWdtZW50c1tpXVswXSxcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzFdLFxuICAgICAgICAgICAgMC4wMDAwMDAxLFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGFpbFBhdGgucHVzaChbc3ViU2VnbWVudHNbaV1bMF0sIGV2ZW50Qm9keVN0YXJ0TWFya2VyXSk7XG5cbiAgICAgICAgICBmb3VuZEJvZHlTdGFydCA9IHRydWU7XG4gICAgICAgICAgZm91bmRCb2R5U3RhcnRPbkN1cnJlbnRTdWJTZWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YWlsUGF0aC5wdXNoKFtzdWJTZWdtZW50c1tpXVswXSwgc3ViU2VnbWVudHNbaV1bMV1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkQ29udGludWUgJiYgZm91bmRCb2R5U3RhcnQpIHtcbiAgICAgICAgbGV0IGJlZ2lubmluZ09mQm9keSA9IGZvdW5kQm9keVN0YXJ0T25DdXJyZW50U3ViU2VnbWVudFxuICAgICAgICAgID8gZXZlbnRCb2R5U3RhcnRNYXJrZXJcbiAgICAgICAgICA6IHN1YlNlZ21lbnRzW2ldWzBdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBiZWxvbmdzU2VnbWVudChcbiAgICAgICAgICAgIGV2ZW50Qm9keUVuZE1hcmtlcixcbiAgICAgICAgICAgIHN1YlNlZ21lbnRzW2ldWzBdLFxuICAgICAgICAgICAgc3ViU2VnbWVudHNbaV1bMV0sXG4gICAgICAgICAgICAwLjAwMDAwMDEsXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICBib2R5UGF0aC5wdXNoKFtiZWdpbm5pbmdPZkJvZHksIGV2ZW50Qm9keUVuZE1hcmtlcl0pO1xuICAgICAgICAgIHNob3VsZENvbnRpbnVlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYm9keVBhdGgucHVzaChbYmVnaW5uaW5nT2ZCb2R5LCBzdWJTZWdtZW50c1tpXVsxXV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhaWxQYXRoOiB0YWlsUGF0aCxcbiAgICAgIGJvZHlQYXRoOiBib2R5UGF0aCxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50SW5kaWNhdG9yID0gKCkgPT4ge1xuICAgIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudC5wYXRoLmxlbmd0aCA+PSAxKSB7XG4gICAgICByZW1vdmVFeGlzdGluZ0luZGljYXRvcigpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC5wYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBldmVudC5wYXRoW2ldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA8PSAxMDAgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA+IDAgJiZcbiAgICAgICAgICBwYXRoc1tpXSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGxldCBldmVudEJvZHlTdGFydCA9IEwubWFya2VyKFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVPbkxpbmUoXG4gICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgcGF0aHNbaV0uX2xhdGxuZ3MsXG4gICAgICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0IC8gMTAwLFxuICAgICAgICAgICAgKS5sYXRMbmcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzAsIDBdLFxuICAgICAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5U3RhcnRbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgICAgICAgZXZlbnRCb2R5U3RhcnRbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50Qm9keVN0YXJ0JztcblxuICAgICAgICAgIGxldCBldmVudEJvZHlFbmQgPSBMLm1hcmtlcihcbiAgICAgICAgICAgIGludGVycG9sYXRlT25MaW5lKFxuICAgICAgICAgICAgICBtYXAsXG4gICAgICAgICAgICAgIHBhdGhzW2ldLl9sYXRsbmdzLFxuICAgICAgICAgICAgICAoZXZlbnQucGF0aFtpXS5ldmVudF9ib2R5X3BhcnQgKyBldmVudC5wYXRoW2ldLmV2ZW50X3RhaWxfcGFydCkgL1xuICAgICAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgICkubGF0TG5nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFswLCAwXSxcbiAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKS5hZGRUbyhtYXApO1xuICAgICAgICAgIGV2ZW50Qm9keUVuZFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudEJvZHlFbmRbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50Qm9keUVuZCc7XG5cbiAgICAgICAgICBsZXQgcGF0aCA9IGNhbGN1bGF0ZUJvZHlBbmRUYWlsKFxuICAgICAgICAgICAgcGF0aHNbaV0sXG4gICAgICAgICAgICBldmVudEJvZHlTdGFydCxcbiAgICAgICAgICAgIGV2ZW50Qm9keUVuZCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgbGV0IGV2ZW50VGFpbCA9IEwucG9seWxpbmUocGF0aC50YWlsUGF0aCwge1xuICAgICAgICAgICAgY29sb3I6ICcjZjUwYjU2JyxcbiAgICAgICAgICAgIHdlaWdodDogMTIsXG4gICAgICAgICAgICBjbGFzc05hbWU6ICdldmVudC10YWlsJyxcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMyxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudFRhaWxbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50VGFpbCc7XG5cbiAgICAgICAgICBsZXQgZXZlbnRCb2R5ID0gTC5wb2x5bGluZShwYXRoLmJvZHlQYXRoLCB7XG4gICAgICAgICAgICBjb2xvcjogJyNmNTBiNTYnLFxuICAgICAgICAgICAgd2VpZ2h0OiAxMixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LWJvZHknLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgZXZlbnRCb2R5WydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgICAgICAgIGV2ZW50Qm9keVsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRCb2R5JztcbiAgICAgICAgICBldmVudEJvZHkuYnJpbmdUb0Zyb250KCk7XG5cbiAgICAgICAgICB2YXIgdGFpbERhc2ggPSBMLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50VGFpbC5fbGF0bG5ncywge1xuICAgICAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMSknLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgICAgICAgdmFyIGJvZHlMaW5lID0gTC5wb2x5bGluZShldmVudEJvZHkuX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAuNiknLFxuICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgYm9keUxpbmVbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICB2YXIgdGFpbExpbmUgPSBMLnBvbHlsaW5lKGV2ZW50VGFpbC5fbGF0bG5ncywge1xuICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUpJyxcbiAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICAgIHRhaWxMaW5lWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuXG4gICAgICAgICAgdmFyIGFycm93SGVhZCA9IEwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRCb2R5LCB7XG4gICAgICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDUsXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDEpJyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgICAgICBhcnJvd0hlYWRbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICBldmVudFBhcnRzLnB1c2goXG4gICAgICAgICAgICBldmVudEJvZHksXG4gICAgICAgICAgICBldmVudFRhaWwsXG4gICAgICAgICAgICB0YWlsRGFzaCxcbiAgICAgICAgICAgIGJvZHlMaW5lLFxuICAgICAgICAgICAgYXJyb3dIZWFkLFxuICAgICAgICAgICAgdGFpbExpbmUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBldmVudC5wYXRoW2ldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5wYXRoW2ldLmV2ZW50X2JvZHlfcGFydCA9PT0gMCAmJlxuICAgICAgICAgIGV2ZW50LnBhdGhbaV0uZXZlbnRfdGFpbF9wYXJ0ID4gMCAmJlxuICAgICAgICAgIHBhdGhzW2ldICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbGV0IGV2ZW50VGFpbCA9IEwucG9seWxpbmUocGF0aHNbaV0uX2xhdGxuZ3MsIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2Y1MGI1NicsXG4gICAgICAgICAgICB3ZWlnaHQ6IDEyLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtdGFpbCcsXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjMsXG4gICAgICAgICAgfSkuYWRkVG8obWFwKTtcblxuICAgICAgICAgIGV2ZW50VGFpbFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICAgICAgICBldmVudFRhaWxbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50VGFpbCc7XG5cbiAgICAgICAgICB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwxKScsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICAgICAgICB0YWlsTGluZSA9IEwucG9seWxpbmUoZXZlbnRUYWlsLl9sYXRsbmdzLCB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSknLFxuICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgICAgdGFpbExpbmVbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG4gICAgICAgICAgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICAgICAgICBldmVudFBhcnRzLnB1c2goZXZlbnRUYWlsLCB0YWlsRGFzaCwgdGFpbExpbmUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHNldEV2ZW50SW5kaWNhdG9yKEwubGF5ZXJHcm91cChldmVudFBhcnRzKSkpO1xuICAgIH1cbiAgfTtcblxuICB1c2VVcGRhdGVFdmVudEJvZHlUYWlsKFxuICAgIGV2ZW50ICE9PSBudWxsID8gZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIDogMCxcbiAgICBldmVudCxcbiAgICBlZGdlc19kYXRhLFxuICAgIGV2ZW50LmhvdmVyZWQsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZW5kZXJFdmVudEluZGljYXRvcigpO1xuICB9LCBbcGF0aHMsIGdsb2JhbF9kYXRhLmN1cnJlbnRfdGltZV0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudEluZGljYXRvcik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsb0JBQUEsR0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBR0EsSUFBQUssdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQU4sT0FBQTtBQUFzRSxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJ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
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
@@ -10,20 +10,19 @@ var _leaflet = _interopRequireDefault(require("leaflet"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _reactRedux = require("react-redux");
12
12
  var _actions = require("store/events/actions");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
15
  // @ts-ignore
14
16
 
15
- const EventPath = _ref => {
16
- let {
17
- event,
18
- global_data,
19
- eventPaths = []
20
- } = _ref;
21
- const {
22
- map
23
- } = global_data;
24
- const dispatch = (0, _reactRedux.useDispatch)();
25
- const drawPolyline = (event, layerLatlngs, eventPathsAsMapObjects) => {
26
- let eventPath = _leaflet.default.polyline(layerLatlngs, {
17
+ var EventPath = function EventPath(_ref) {
18
+ var event = _ref.event,
19
+ global_data = _ref.global_data,
20
+ _ref$eventPaths = _ref.eventPaths,
21
+ eventPaths = _ref$eventPaths === void 0 ? [] : _ref$eventPaths;
22
+ var map = global_data.map;
23
+ var dispatch = (0, _reactRedux.useDispatch)();
24
+ var drawPolyline = function drawPolyline(event, layerLatlngs, eventPathsAsMapObjects) {
25
+ var eventPath = _leaflet.default.polyline(layerLatlngs, {
27
26
  color: 'rgba(0,0,0,0)',
28
27
  weight: 10,
29
28
  className: 'event-path',
@@ -38,28 +37,28 @@ const EventPath = _ref => {
38
37
  dispatch((0, _actions.setFocusedEventPaths)(eventPathsAsMapObjects));
39
38
  }
40
39
  };
41
- const renderEventPath = (event, isHover) => {
40
+ var renderEventPath = function renderEventPath(event, isHover) {
42
41
  if (map !== undefined) {
43
- let eventPathsAsMapObjects = [];
44
- let layers = map._layers;
45
- event.path.forEach(path => {
46
- for (const property in layers) {
42
+ var eventPathsAsMapObjects = [];
43
+ var layers = map._layers;
44
+ event.path.forEach(function (path) {
45
+ for (var property in layers) {
47
46
  if (layers[property].kando_object_id !== undefined && layers[property].kando_object_id === path.edge_id && layers[property].kando_object === 'Edge') {
48
- let layerLatlngs = layers[property].getLatLngs();
47
+ var layerLatlngs = layers[property].getLatLngs();
49
48
  drawPolyline(event, layerLatlngs, eventPathsAsMapObjects);
50
49
  }
51
50
  }
52
51
  });
53
52
  if (!isHover && eventPaths.length === 0 && eventPathsAsMapObjects.length > 0) {
54
- setTimeout(() => {
53
+ setTimeout(function () {
55
54
  map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
56
55
  }, 1000);
57
56
  }
58
57
  }
59
58
  };
60
- (0, _react.useEffect)(() => {
59
+ (0, _react.useEffect)(function () {
61
60
  if (eventPaths) {
62
- eventPaths.forEach(path => {
61
+ eventPaths.forEach(function (path) {
63
62
  map.removeLayer(path);
64
63
  });
65
64
  renderEventPath(event, event.hovered);
@@ -67,5 +66,6 @@ const EventPath = _ref => {
67
66
  }, [event]);
68
67
  return /*#__PURE__*/_react.default.createElement("div", null);
69
68
  };
70
- var _default = exports.default = EventPath;
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiRXZlbnRQYXRoIiwiX3JlZiIsImV2ZW50IiwiZ2xvYmFsX2RhdGEiLCJldmVudFBhdGhzIiwibWFwIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImRyYXdQb2x5bGluZSIsImxheWVyTGF0bG5ncyIsImV2ZW50UGF0aHNBc01hcE9iamVjdHMiLCJldmVudFBhdGgiLCJMIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsImNsYXNzTmFtZSIsInN0cm9rZSIsImFkZFRvIiwicHVzaCIsImlkIiwiaG92ZXJlZCIsInNldEhvdmVyZWRFdmVudFBhdGhzIiwic2V0Rm9jdXNlZEV2ZW50UGF0aHMiLCJyZW5kZXJFdmVudFBhdGgiLCJpc0hvdmVyIiwidW5kZWZpbmVkIiwibGF5ZXJzIiwiX2xheWVycyIsInBhdGgiLCJmb3JFYWNoIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3RfaWQiLCJlZGdlX2lkIiwia2FuZG9fb2JqZWN0IiwiZ2V0TGF0TG5ncyIsImxlbmd0aCIsInNldFRpbWVvdXQiLCJmaXRCb3VuZHMiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJwYWQiLCJ1c2VFZmZlY3QiLCJyZW1vdmVMYXllciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFBhdGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgZHJhd1BvbHlsaW5lID0gKFxuICAgIGV2ZW50OiBJRXZlbnQsXG4gICAgbGF5ZXJMYXRsbmdzOiBhbnksXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55LFxuICApID0+IHtcbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCwwKScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaChldmVudFBhdGgpO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50UGF0aCc7XG5cbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcblxuICAgICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCA9PT0gcGF0aC5lZGdlX2lkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbGF5ZXJMYXRsbmdzID0gbGF5ZXJzW3Byb3BlcnR5XS5nZXRMYXRMbmdzKCk7XG4gICAgICAgICAgICBkcmF3UG9seWxpbmUoZXZlbnQsIGxheWVyTGF0bG5ncywgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKFxuICAgICAgICAhaXNIb3ZlciAmJlxuICAgICAgICBldmVudFBhdGhzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLmxlbmd0aCA+IDBcbiAgICAgICkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgICAgTC5mZWF0dXJlR3JvdXAoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykuZ2V0Qm91bmRzKCkucGFkKDAuMSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZW50UGF0aHMpIHtcbiAgICAgIGV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgcmVuZGVyRXZlbnRQYXRoKGV2ZW50LCBldmVudC5ob3ZlcmVkKTtcbiAgICB9XG4gIH0sIFtldmVudF0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50UGF0aDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFKQTs7QUFpQkEsTUFBTUssU0FBMkIsR0FBR0MsSUFBQSxJQUk5QjtFQUFBLElBSitCO0lBQ25DQyxLQUFLO0lBQ0xDLFdBQVc7SUFDWEMsVUFBVSxHQUFHO0VBQ2YsQ0FBQyxHQUFBSCxJQUFBO0VBQ0MsTUFBTTtJQUFFSTtFQUFJLENBQUMsR0FBR0YsV0FBVztFQUMzQixNQUFNRyxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxDQUFDO0VBRTlCLE1BQU1DLFlBQVksR0FBR0EsQ0FDbkJOLEtBQWEsRUFDYk8sWUFBaUIsRUFDakJDLHNCQUEyQixLQUN4QjtJQUNILElBQUlDLFNBQVMsR0FBR0MsZ0JBQUMsQ0FBQ0MsUUFBUSxDQUFDSixZQUFZLEVBQUU7TUFDdkNLLEtBQUssRUFBRSxlQUFlO01BQ3RCQyxNQUFNLEVBQUUsRUFBRTtNQUNWQyxTQUFTLEVBQUUsWUFBWTtNQUN2QkMsTUFBTSxFQUFFO0lBQ1YsQ0FBQyxDQUFDLENBQUNDLEtBQUssQ0FBQ2IsR0FBRyxDQUFDO0lBRWJLLHNCQUFzQixDQUFDUyxJQUFJLENBQUNSLFNBQVMsQ0FBQztJQUN0Q0EsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEdBQUdULEtBQUssQ0FBQ2tCLEVBQUU7SUFDdkNULFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXO0lBRXZDLElBQUlULEtBQUssQ0FBQ21CLE9BQU8sRUFBRTtNQUNqQmYsUUFBUSxDQUFDLElBQUFnQiw2QkFBb0IsRUFBQ1osc0JBQXNCLENBQUMsQ0FBQztJQUN4RCxDQUFDLE1BQU07TUFDTEosUUFBUSxDQUFDLElBQUFpQiw2QkFBb0IsRUFBQ2Isc0JBQXNCLENBQUMsQ0FBQztJQUN4RDtFQUNGLENBQUM7RUFFRCxNQUFNYyxlQUFlLEdBQUdBLENBQUN0QixLQUFhLEVBQUV1QixPQUFnQixLQUFLO0lBQzNELElBQUlwQixHQUFHLEtBQUtxQixTQUFTLEVBQUU7TUFDckIsSUFBSWhCLHNCQUE2QixHQUFHLEVBQUU7TUFDdEMsSUFBSWlCLE1BQU0sR0FBR3RCLEdBQUcsQ0FBQ3VCLE9BQU87TUFFeEIxQixLQUFLLENBQUMyQixJQUFJLENBQUNDLE9BQU8sQ0FBRUQsSUFBUyxJQUFLO1FBQ2hDLEtBQUssTUFBTUUsUUFBUSxJQUFJSixNQUFNLEVBQUU7VUFDN0IsSUFDRUEsTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQ0MsZUFBZSxLQUFLTixTQUFTLElBQzlDQyxNQUFNLENBQUNJLFFBQVEsQ0FBQyxDQUFDQyxlQUFlLEtBQUtILElBQUksQ0FBQ0ksT0FBTyxJQUNqRE4sTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQ0csWUFBWSxLQUFLLE1BQU0sRUFDeEM7WUFDQSxJQUFJekIsWUFBWSxHQUFHa0IsTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQ0ksVUFBVSxDQUFDLENBQUM7WUFDaEQzQixZQUFZLENBQUNOLEtBQUssRUFBRU8sWUFBWSxFQUFFQyxzQkFBc0IsQ0FBQztVQUMzRDtRQUNGO01BQ0YsQ0FBQyxDQUFDO01BRUYsSUFDRSxDQUFDZSxPQUFPLElBQ1JyQixVQUFVLENBQUNnQyxNQUFNLEtBQUssQ0FBQyxJQUN2QjFCLHNCQUFzQixDQUFDMEIsTUFBTSxHQUFHLENBQUMsRUFDakM7UUFDQUMsVUFBVSxDQUFDLE1BQU07VUFDZmhDLEdBQUcsQ0FBQ2lDLFNBQVMsQ0FDWDFCLGdCQUFDLENBQUMyQixZQUFZLENBQUM3QixzQkFBc0IsQ0FBQyxDQUFDOEIsU0FBUyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUcsQ0FDNUQsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUM7TUFDVjtJQUNGO0VBQ0YsQ0FBQztFQUVELElBQUFDLGdCQUFTLEVBQUMsTUFBTTtJQUNkLElBQUl0QyxVQUFVLEVBQUU7TUFDZEEsVUFBVSxDQUFDMEIsT0FBTyxDQUFFRCxJQUFJLElBQUs7UUFDM0J4QixHQUFHLENBQUNzQyxXQUFXLENBQUNkLElBQUksQ0FBQztNQUN2QixDQUFDLENBQUM7TUFFRkwsZUFBZSxDQUFDdEIsS0FBSyxFQUFFQSxLQUFLLENBQUNtQixPQUFPLENBQUM7SUFDdkM7RUFDRixDQUFDLEVBQUUsQ0FBQ25CLEtBQUssQ0FBQyxDQUFDO0VBRVgsb0JBQU9OLE1BQUEsQ0FBQWdELE9BQUEsQ0FBQUMsYUFBQSxZQUFVLENBQUM7QUFDcEIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxDQUFBSCxPQUFBLEdBRWE1QyxTQUFTIiwiaWdub3JlTGlzdCI6W119
69
+ var _default = EventPath;
70
+ exports.default = _default;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwic2V0VGltZW91dCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZCIsInVzZUVmZmVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgZXZlbnRQYXRocz86IGFueVtdO1xufTtcblxuY29uc3QgRXZlbnRQYXRoOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgZXZlbnQsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudFBhdGhzID0gW10sXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgbGV0IGV2ZW50UGF0aCA9IEwucG9seWxpbmUobGF5ZXJMYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYmEoMCwwLDAsMCknLFxuICAgICAgd2VpZ2h0OiAxMCxcbiAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXBhdGgnLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueVtdID0gW107XG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG5cbiAgICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBhdGguZWRnZV9pZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyc1twcm9wZXJ0eV0uZ2V0TGF0TG5ncygpO1xuICAgICAgICAgICAgZHJhd1BvbHlsaW5lKGV2ZW50LCBsYXllckxhdGxuZ3MsIGV2ZW50UGF0aHNBc01hcE9iamVjdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgIWlzSG92ZXIgJiZcbiAgICAgICAgZXZlbnRQYXRocy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5sZW5ndGggPiAwXG4gICAgICApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICAgIEwuZmVhdHVyZUdyb3VwKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpLmdldEJvdW5kcygpLnBhZCgwLjEpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnRdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudFBhdGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixP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