@kando-env/kando-ui 1.2.314-alpha.2 → 1.2.314-alpha.3

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