@kando-env/kando-ui 1.2.233 → 1.2.235

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 (570) hide show
  1. package/lib/Router.js +66 -4
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +41 -11
  3. package/lib/Widgets/EventsRow/EventsRow.js +41 -14
  4. package/lib/Widgets/Map/GraphUtils.js +4 -1
  5. package/lib/Widgets/Map/Map.js +42 -20
  6. package/lib/Widgets/Map/MapUtils.js +58 -4
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +27 -7
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +21 -8
  9. package/lib/Widgets/Map/edges/Edge.js +30 -9
  10. package/lib/Widgets/Map/edges/Edges.js +17 -11
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +22 -7
  12. package/lib/Widgets/Map/events/Event.js +23 -7
  13. package/lib/Widgets/Map/events/EventIndicator.js +42 -19
  14. package/lib/Widgets/Map/events/EventPath.js +20 -5
  15. package/lib/Widgets/Map/events/EventUtils.js +53 -4
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +16 -5
  17. package/lib/Widgets/Map/events/PointOfEvent.js +32 -3
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +14 -4
  19. package/lib/Widgets/Map/events/Snail.js +19 -7
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +54 -15
  21. package/lib/Widgets/Map/map/FloatingGraph.js +19 -3
  22. package/lib/Widgets/Map/map/GraphDateButton.js +9 -3
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +11 -5
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +10 -4
  25. package/lib/Widgets/Map/points/PointMarker.js +19 -3
  26. package/lib/Widgets/Map/points/PointMarkers.js +19 -6
  27. package/lib/Widgets/Map/points/PointUtils.js +78 -7
  28. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +49 -15
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +19 -4
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +13 -1
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +5 -1
  32. package/lib/Widgets/MostPolluting/Areas/Areas.js +53 -19
  33. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  34. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  35. package/lib/Widgets/MostPolluting/Areas/styles.js +7 -1
  36. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -3
  37. package/lib/Widgets/MostPolluting/Factories/Factories.js +64 -30
  38. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +21 -4
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -1
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +17 -4
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +7 -3
  42. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  43. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  44. package/lib/Widgets/MostPolluting/Factories/styles.js +7 -1
  45. package/lib/Widgets/MostPolluting/MostPolluting.js +17 -4
  46. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +17 -13
  47. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +9 -2
  48. package/lib/Widgets/MostPolluting/ShowMore/styles.js +5 -1
  49. package/lib/Widgets/MostPolluting/assets/index.js +28 -17
  50. package/lib/Widgets/MostPolluting/components/ChangePercent.js +16 -1
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +26 -15
  52. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +26 -4
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +33 -25
  54. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +20 -4
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +43 -29
  56. package/lib/Widgets/MostPolluting/models.js +1 -1
  57. package/lib/Widgets/MostPolluting/styles.js +7 -1
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +9 -2
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +11 -1
  60. package/lib/Widgets/PotentialImpactSummary/index.js +29 -7
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +36 -17
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +15 -2
  63. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  64. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +10 -4
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +21 -7
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +29 -19
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -15
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +21 -7
  69. package/lib/Widgets/QualitySummary/QualitySummary.js +24 -8
  70. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  71. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  72. package/lib/Widgets/QualitySummary/styles.js +16 -3
  73. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +20 -9
  74. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +34 -9
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +18 -9
  76. package/lib/Widgets/UtilityInformation/UtilityInformation.js +45 -22
  77. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  78. package/lib/Widgets/UtilityInformation/styles.js +22 -2
  79. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  80. package/lib/assets/icons/index.js +8 -5
  81. package/lib/assets/icons/kandoStepper/index.js +14 -9
  82. package/lib/components/ApplyButton/ApplyButton.js +11 -5
  83. package/lib/components/ApplyButton/index.js +4 -1
  84. package/lib/components/Backdrop/Backdrop.js +8 -2
  85. package/lib/components/ContentLoader/ContentLoader.js +12 -7
  86. package/lib/components/ContentLoader/index.js +2 -1
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +14 -7
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +8 -2
  89. package/lib/components/CustomInputs/DoubleTabs/styles.js +10 -2
  90. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +18 -5
  91. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +5 -1
  92. package/lib/components/CustomInputs/Search/Search.js +38 -13
  93. package/lib/components/CustomInputs/Search/index.js +4 -1
  94. package/lib/components/CustomInputs/Select/Select.js +31 -13
  95. package/lib/components/CustomInputs/Select/Select.stories.js +8 -2
  96. package/lib/components/DamageType/DamageType.js +76 -37
  97. package/lib/components/DamageType/index.js +4 -1
  98. package/lib/components/DataLoaderError/DataLoaderError.js +10 -4
  99. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +16 -6
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +37 -17
  101. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -12
  102. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -6
  103. package/lib/components/DischargeHeatmap/index.js +4 -1
  104. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  105. package/lib/components/DischargeHeatmap/popupText.js +16 -1
  106. package/lib/components/DischargeHeatmap/titles.js +8 -1
  107. package/lib/components/DischargeHeatmap/types.js +1 -1
  108. package/lib/components/ErrorBoundary.js +15 -3
  109. package/lib/components/Events/Events.js +30 -5
  110. package/lib/components/Events/index.js +4 -1
  111. package/lib/components/Graph/Graph.js +74 -31
  112. package/lib/components/Graph/index.js +4 -1
  113. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +7 -1
  114. package/lib/components/Header/Breadcrumbs/index.js +4 -1
  115. package/lib/components/Header/DoubleTabs/DoubleTabs.js +30 -14
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +8 -2
  117. package/lib/components/Header/DoubleTabs/styles.js +10 -2
  118. package/lib/components/Header/Header.js +7 -1
  119. package/lib/components/Header/Header.stories.js +8 -2
  120. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +11 -1
  121. package/lib/components/Header/InfoBar/InfoBar.js +30 -4
  122. package/lib/components/Header/InfoBar/Search/Control.js +13 -2
  123. package/lib/components/Header/InfoBar/Search/GroupLabel.js +12 -1
  124. package/lib/components/Header/InfoBar/Search/Search.js +26 -5
  125. package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -4
  126. package/lib/components/Header/InfoBar/Search/index.js +4 -1
  127. package/lib/components/Header/InfoBar/Search/searchStyle.js +4 -1
  128. package/lib/components/Header/KandoNavbar/KandoNavbar.js +91 -46
  129. package/lib/components/Header/KandoNavbar/index.js +4 -1
  130. package/lib/components/Header/Slideshow/Slideshow.js +67 -31
  131. package/lib/components/Header/Slideshow/index.js +4 -1
  132. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +7 -1
  133. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +15 -2
  134. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +15 -1
  135. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +24 -7
  136. package/lib/components/Header/Toolbar/Toolbar.js +84 -46
  137. package/lib/components/InfoBar/InfoBar.js +23 -8
  138. package/lib/components/InfoBar/InfoBar.stories.js +8 -2
  139. package/lib/components/KandoModal/KandoModal.js +42 -19
  140. package/lib/components/KandoModal/index.js +4 -1
  141. package/lib/components/Link.js +11 -2
  142. package/lib/components/Links/CustomRedirect/CustomRedirect.js +12 -3
  143. package/lib/components/Links/StyledLink/StyledLink.js +16 -6
  144. package/lib/components/Links/StyledNavLink/StyledNavLink.js +14 -4
  145. package/lib/components/LiveEvents/CarouselSlide.js +11 -5
  146. package/lib/components/LiveEvents/LiveEvents.js +10 -1
  147. package/lib/components/LiveEvents/index.js +4 -1
  148. package/lib/components/LoaderByPercent/LoaderByPercent.js +23 -13
  149. package/lib/components/Map/Map.js +26 -12
  150. package/lib/components/Map/index.js +4 -1
  151. package/lib/components/Modal/Modal.js +10 -3
  152. package/lib/components/NarrowHeader.js +12 -1
  153. package/lib/components/PointInfo/PointInfo.js +22 -10
  154. package/lib/components/PointInfo/index.js +4 -1
  155. package/lib/components/PopupModal/PopupModal.js +17 -6
  156. package/lib/components/PopupModal/PopupModal.stories.js +11 -2
  157. package/lib/components/Sector/Sector.js +13 -4
  158. package/lib/components/Sector/Sector.test.js +8 -3
  159. package/lib/components/Sector/index.js +4 -1
  160. package/lib/components/Sector/sectorIcons.js +27 -1
  161. package/lib/components/SevereEvent/Eta/Eta.js +39 -14
  162. package/lib/components/SevereEvent/Eta/styles.js +5 -1
  163. package/lib/components/SevereEvent/SevereEvent.js +36 -15
  164. package/lib/components/Spinner/Spinner.js +10 -5
  165. package/lib/components/Spinner/Spinner.stories.js +8 -2
  166. package/lib/components/Spinner/index.js +4 -1
  167. package/lib/components/Spinner/styles.js +9 -1
  168. package/lib/components/Tabs/Tabs.js +24 -4
  169. package/lib/components/Tabs/Tabs.stories.js +8 -2
  170. package/lib/components/Tabs/assets/index.js +6 -1
  171. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -2
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +43 -12
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +36 -12
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -1
  175. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +29 -9
  176. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +9 -4
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -1
  178. package/lib/components/TimeRangeSelector/TimeRangeList.js +13 -4
  179. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +24 -11
  180. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +36 -11
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -2
  182. package/lib/components/TimeRangeSelector/constants.js +2 -2
  183. package/lib/components/TimeRangeSelector/index.js +4 -1
  184. package/lib/components/Toggle/Toggle.js +21 -7
  185. package/lib/components/Toggle/index.js +4 -1
  186. package/lib/components/TrendGraph/TrendGraph.js +49 -16
  187. package/lib/components/TrendGraph/index.js +4 -1
  188. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
  189. package/lib/components/TrendGraphNVL/index.js +4 -1
  190. package/lib/development-environment/index.js +13 -1
  191. package/lib/development-environment/mock/browser.js +8 -1
  192. package/lib/development-environment/mock/get.js +5 -1
  193. package/lib/development-environment/mock/handlers.js +26 -1
  194. package/lib/development-environment/mock/mockBus.js +7 -2
  195. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  196. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  197. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  198. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  213. package/lib/development-environment/togly/ToglyDashboard.js +22 -4
  214. package/lib/development-environment/togly/ToglyItem.js +25 -5
  215. package/lib/development-environment/togly/flags.js +1 -1
  216. package/lib/development-environment/togly/init.js +6 -1
  217. package/lib/development-environment/togly/macro.js +9 -7
  218. package/lib/development-environment/togly/useDoubleKeyDown.js +8 -1
  219. package/lib/development-environment/togly/useLocalStorage.js +19 -12
  220. package/lib/hooks/useApi.js +29 -10
  221. package/lib/hooks/useApiWithDashboardQuery.js +30 -10
  222. package/lib/hooks/useClickOutside.js +5 -1
  223. package/lib/hooks/useInitializeHeaders.js +7 -1
  224. package/lib/hooks/useKandoFetch.js +27 -13
  225. package/lib/hooks/useMap.js +39 -8
  226. package/lib/hooks/useNavContext.js +22 -13
  227. package/lib/hooks/useQueryURL.js +4 -1
  228. package/lib/hooks/useRemoveExistingLayers.js +7 -2
  229. package/lib/hooks/useUpdateEventBodyTail.js +10 -1
  230. package/lib/hooks/useUserTimeZone.js +9 -1
  231. package/lib/hooks/useUserTimeZone.test.js +9 -1
  232. package/lib/hooks/useWindowSize.js +19 -14
  233. package/lib/i18n/en.json +2 -1
  234. package/lib/i18n/he.json +2 -1
  235. package/lib/index.js +29 -13
  236. package/lib/macros/getVersion.js +3 -2
  237. package/lib/models/IAction.js +1 -1
  238. package/lib/models/IAppState.js +1 -1
  239. package/lib/pages/AreaPage/AreaPage.js +34 -5
  240. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -6
  241. package/lib/pages/AreaPage/Dashboard/Dashboard.js +23 -2
  242. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +35 -11
  243. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +8 -6
  244. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +64 -28
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +10 -1
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +15 -3
  247. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +7 -3
  248. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  249. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  250. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +10 -2
  251. package/lib/pages/AssessmentPage/AssessmentPage.js +30 -5
  252. package/lib/pages/CannyWidget/Feedback.js +25 -10
  253. package/lib/pages/CovidPage/CovidPage.js +14 -1
  254. package/lib/pages/CovidPage/components/Body.js +33 -9
  255. package/lib/pages/CovidPage/components/Map.js +38 -20
  256. package/lib/pages/CovidPage/components/Sidebar.js +18 -4
  257. package/lib/pages/CovidPage/components/Summary.js +29 -8
  258. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
  259. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -1
  260. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +41 -13
  261. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -1
  262. package/lib/pages/CovidPage/components/areas/Area.js +33 -6
  263. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +45 -4
  264. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +18 -5
  265. package/lib/pages/CovidPage/components/areas/AreasList.js +33 -14
  266. package/lib/pages/CovidPage/components/areas/Sort.js +19 -5
  267. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -2
  268. package/lib/pages/EventsPage/Body/Body.js +19 -2
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +28 -11
  270. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +31 -11
  271. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +11 -4
  272. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -3
  273. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +10 -5
  274. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -1
  275. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +33 -7
  276. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +21 -2
  277. package/lib/pages/EventsPage/EventsPage.js +13 -1
  278. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +32 -9
  279. package/lib/pages/EventsPage/events/MoreInfo.js +19 -1
  280. package/lib/pages/EventsPage/events/Sidebar.js +18 -5
  281. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +29 -5
  282. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -8
  283. package/lib/pages/EventsPage/events/event_info/EventInfo.js +41 -12
  284. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +14 -2
  285. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +40 -10
  286. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +12 -1
  287. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +30 -8
  288. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +8 -1
  289. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +27 -7
  290. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +10 -2
  291. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -5
  292. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +23 -4
  293. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +22 -4
  294. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +33 -6
  295. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +15 -3
  296. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +10 -2
  297. package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -8
  298. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +20 -4
  299. package/lib/pages/EventsPage/events/events_list/EventItem.js +24 -3
  300. package/lib/pages/EventsPage/events/events_list/EventUtils.js +13 -2
  301. package/lib/pages/EventsPage/events/events_list/EventsList.js +102 -38
  302. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +32 -11
  303. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +96 -31
  304. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +55 -10
  305. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +17 -5
  306. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +38 -15
  307. package/lib/pages/EventsPage/events/events_list/Sort.js +23 -4
  308. package/lib/pages/ImportFileWizard/FileUploadRespones.js +19 -4
  309. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -2
  310. package/lib/pages/ImportFileWizard/ImportFile.js +29 -10
  311. package/lib/pages/ImportFileWizard/ResponseBody.js +12 -3
  312. package/lib/pages/ImportFileWizard/ValidationForm.js +27 -7
  313. package/lib/pages/ImportFileWizard/ValidationResponse.js +30 -6
  314. package/lib/pages/ImportFileWizard/importFileUtils.js +2 -1
  315. package/lib/pages/ImportFileWizard/index.js +4 -1
  316. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -7
  317. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +27 -10
  318. package/lib/pages/ImportGisPage/importGisUtils.js +13 -1
  319. package/lib/pages/ImportGisProcess/index.js +18 -4
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +19 -5
  321. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +10 -3
  322. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +8 -1
  323. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +58 -25
  324. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -2
  325. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -8
  326. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  327. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  328. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -2
  329. package/lib/pages/NotificationsPage/NotificationsPage.js +35 -11
  330. package/lib/pages/NotificationsPage/assets/index.js +24 -15
  331. package/lib/pages/NotificationsPageV2/NotificationsPage.js +83 -35
  332. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +24 -4
  333. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +40 -15
  334. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +49 -18
  335. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +47 -4
  336. package/lib/pages/NotificationsPageV2/notificationUtils.js +30 -2
  337. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  338. package/lib/pages/OldSitePage/OldSitePage.js +77 -16
  339. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +16 -3
  340. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -4
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +12 -5
  343. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
  344. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +23 -7
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +59 -28
  351. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +18 -3
  354. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +15 -2
  355. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +16 -8
  356. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +16 -1
  357. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  358. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +10 -2
  359. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +7 -2
  360. package/lib/pages/ProfilePage/Container.js +5 -1
  361. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +43 -16
  362. package/lib/pages/ProfilePage/ProfilePage.js +88 -39
  363. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +32 -9
  364. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +17 -7
  365. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +14 -3
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +43 -7
  367. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +21 -4
  368. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +15 -7
  369. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +29 -8
  370. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -6
  371. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +21 -9
  372. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -1
  373. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -1
  374. package/lib/pages/SamplingsPage/NavigationDropdown.js +21 -3
  375. package/lib/pages/SamplingsPage/NewSamplingAction.js +84 -38
  376. package/lib/pages/SamplingsPage/SamplingMobileModal.js +65 -12
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +19 -5
  378. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +13 -2
  379. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +56 -22
  380. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +20 -4
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +14 -1
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -34
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +42 -11
  384. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -14
  385. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -15
  386. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +23 -5
  387. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +8 -2
  388. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +11 -1
  389. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +36 -7
  390. package/lib/pages/SamplingsPage/SamplingsMobileList.js +34 -10
  391. package/lib/pages/SamplingsPage/SamplingsPage.js +39 -14
  392. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +48 -14
  393. package/lib/pages/SamplingsPage/index.js +3 -1
  394. package/lib/pages/SamplingsPage/samplingsPageUtils.js +30 -7
  395. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +10 -2
  396. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
  397. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +17 -3
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +11 -6
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -15
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -7
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +27 -18
  402. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
  403. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +26 -9
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
  407. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
  408. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +68 -32
  410. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  411. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  412. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +19 -4
  413. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +15 -2
  414. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +38 -17
  415. package/lib/pages/SitePage/SamplingParameters/dataParser.js +29 -13
  416. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +7 -3
  417. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  418. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +10 -2
  419. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +8 -2
  420. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +12 -5
  421. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -1
  422. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +15 -5
  423. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +48 -17
  424. package/lib/pages/SitePage/SiteInformation/style.js +8 -2
  425. package/lib/pages/SitePage/SitePage.js +49 -10
  426. package/lib/pages/UploadLabResult/index.js +8 -1
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -9
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +9 -2
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +16 -2
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +8 -2
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +35 -9
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +5 -1
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +7 -1
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +10 -1
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +16 -7
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  437. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +10 -1
  438. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +5 -1
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +25 -3
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +19 -13
  441. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -6
  442. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +20 -5
  443. package/lib/pages/WbeDashboard/ExpandableComponent.js +11 -1
  444. package/lib/pages/WbeDashboard/GraphWrapper.js +26 -5
  445. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -6
  446. package/lib/pages/WbeDashboard/SearchInput.js +22 -4
  447. package/lib/pages/WbeDashboard/SummaryGraph.js +44 -13
  448. package/lib/pages/WbeDashboard/SummaryGraphModal.js +13 -1
  449. package/lib/pages/WbeDashboard/Tabs.js +9 -3
  450. package/lib/pages/WbeDashboard/WbeDashboardPage.js +112 -25
  451. package/lib/pages/WbeDashboard/WbeSummaryBar.js +42 -8
  452. package/lib/providers/Slideshow/SlideshowContext.js +5 -3
  453. package/lib/providers/Slideshow/SlideshowProvider.js +31 -16
  454. package/lib/providers/Slideshow/SlideshowRunner.js +17 -7
  455. package/lib/providers/UrlHistory/UrlHistoryContext.js +7 -3
  456. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -1
  457. package/lib/providers/UrlHistory/index.js +8 -5
  458. package/lib/providers/UrlHistory/useLastVisited.js +7 -1
  459. package/lib/react-app-env.d.js +1 -1
  460. package/lib/store/ImportGis/action.js +1 -1
  461. package/lib/store/ImportGis/actionTypes.js +2 -1
  462. package/lib/store/ImportGis/actionsCreator.js +17 -7
  463. package/lib/store/ImportGis/models/gisImports.js +1 -1
  464. package/lib/store/ImportGis/reducer.js +17 -1
  465. package/lib/store/WBE/actionTypes.js +1 -1
  466. package/lib/store/WBE/actions.js +3 -1
  467. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  468. package/lib/store/WBE/models/IWBE.js +1 -1
  469. package/lib/store/WBE/models/IWBEState.js +1 -1
  470. package/lib/store/WBE/reducer.js +9 -2
  471. package/lib/store/areas/actionTypes.js +2 -2
  472. package/lib/store/areas/actions.js +11 -2
  473. package/lib/store/areas/models/IArea.js +1 -1
  474. package/lib/store/areas/models/IAreasState.js +1 -1
  475. package/lib/store/areas/reducer.js +9 -1
  476. package/lib/store/context/actionTypes.js +2 -2
  477. package/lib/store/context/actions.js +6 -2
  478. package/lib/store/context/contextMiddlewares.js +9 -1
  479. package/lib/store/context/models/INavContext.js +1 -1
  480. package/lib/store/context/models/INavContextState.js +1 -1
  481. package/lib/store/context/reducer.js +9 -2
  482. package/lib/store/dashboard/dashboardSlice.js +3 -1
  483. package/lib/store/dashboard/periodType.js +1 -1
  484. package/lib/store/edges/actionTypes.js +2 -2
  485. package/lib/store/edges/actions.js +9 -3
  486. package/lib/store/edges/models/IEdge.js +1 -1
  487. package/lib/store/edges/models/IEdgesState.js +1 -1
  488. package/lib/store/edges/reducer.js +16 -2
  489. package/lib/store/events/actionTypes.js +2 -2
  490. package/lib/store/events/actions.js +28 -10
  491. package/lib/store/events/models/IEvent.js +1 -1
  492. package/lib/store/events/models/IEventsState.js +1 -1
  493. package/lib/store/events/models/ISource.js +1 -1
  494. package/lib/store/events/reducer.js +41 -3
  495. package/lib/store/filters/IFilter.js +1 -1
  496. package/lib/store/filters/IFilterItem.js +1 -1
  497. package/lib/store/global/actionTypes.js +2 -2
  498. package/lib/store/global/actions.js +20 -8
  499. package/lib/store/global/models/IGlobalState.js +1 -1
  500. package/lib/store/global/reducer.js +18 -2
  501. package/lib/store/permissions/permissionsSlice.js +6 -1
  502. package/lib/store/points/actionTypes.js +2 -2
  503. package/lib/store/points/actions.js +5 -1
  504. package/lib/store/points/models/IGroup.js +1 -1
  505. package/lib/store/points/models/IPoint.js +1 -1
  506. package/lib/store/points/models/IPointsState.js +1 -1
  507. package/lib/store/points/reducer.js +7 -1
  508. package/lib/store/rootActionTypes.js +1 -1
  509. package/lib/store/rootActions.js +3 -1
  510. package/lib/store/rootReducer.js +23 -4
  511. package/lib/store/rootStore.js +12 -4
  512. package/lib/store/samplings/action.js +1 -1
  513. package/lib/store/samplings/actionTypes.js +2 -1
  514. package/lib/store/samplings/actionsCreator.js +5 -2
  515. package/lib/store/samplings/models/Samplings.js +1 -1
  516. package/lib/store/samplings/reducer.js +9 -1
  517. package/lib/styles/StylesLayout.js +7 -1
  518. package/lib/styles/theme/theme.js +4 -2
  519. package/lib/test/mocks/browser.js +7 -3
  520. package/lib/test/test-utils.js +21 -11
  521. package/lib/ui-kit/Button/Button.js +23 -15
  522. package/lib/ui-kit/Button/Button.test.js +26 -6
  523. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  524. package/lib/ui-kit/Checkbox/Checkbox.js +21 -7
  525. package/lib/ui-kit/DropDown/DropDown.js +16 -5
  526. package/lib/ui-kit/DropDown/DropDown.test.js +12 -6
  527. package/lib/ui-kit/DropDown/DropDownItem.js +13 -5
  528. package/lib/ui-kit/DropDown/DropdownToggle.js +13 -2
  529. package/lib/ui-kit/IconAction/IconAction.js +9 -3
  530. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +70 -19
  531. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +27 -16
  532. package/lib/ui-kit/KandoList/KandoList.js +16 -5
  533. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  534. package/lib/ui-kit/KandoTable/KandoTable.js +35 -21
  535. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -1
  536. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  537. package/lib/ui-kit/Layout/Layout.js +8 -1
  538. package/lib/ui-kit/MobileInput/MobileInput.js +33 -18
  539. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +14 -8
  540. package/lib/ui-kit/ModalConfirmation/index.js +3 -1
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -5
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +11 -3
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +11 -4
  544. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +14 -5
  545. package/lib/ui-kit/Tooltip/Tooltip.js +8 -3
  546. package/lib/ui-kit/index.js +15 -1
  547. package/lib/ui-kit/kandoStepper/KandoStepper.js +7 -2
  548. package/lib/utilities/ActionUtility.js +2 -1
  549. package/lib/utilities/Alert.js +10 -2
  550. package/lib/utilities/Analytics.js +12 -1
  551. package/lib/utilities/Array.js +6 -2
  552. package/lib/utilities/Enum.js +16 -1
  553. package/lib/utilities/ErrorBoundary.js +18 -3
  554. package/lib/utilities/File.js +24 -5
  555. package/lib/utilities/GetDir.js +8 -4
  556. package/lib/utilities/KandoDate.js +7 -1
  557. package/lib/utilities/KandoModal.js +22 -7
  558. package/lib/utilities/LocalStorage.js +13 -2
  559. package/lib/utilities/ThousandsToK.js +3 -1
  560. package/lib/utilities/TimeFormat.js +19 -6
  561. package/lib/utilities/Truncate.js +27 -7
  562. package/lib/utilities/edgesMath.js +24 -5
  563. package/lib/utilities/i18n.js +14 -1
  564. package/lib/utilities/kql.js +10 -3
  565. package/lib/utilities/map/icons.js +14 -1
  566. package/lib/utilities/scoreToColor.js +8 -1
  567. package/lib/utilities/time.js +9 -2
  568. package/lib/utilities/uploadToS3.js +9 -1
  569. package/lib/utilities/urls.js +12 -4
  570. package/package.json +1 -1
@@ -1,63 +1,88 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
11
+
9
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
11
16
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
12
18
  var _react = _interopRequireWildcard(require("react"));
19
+
13
20
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
21
+
14
22
  var _Button = _interopRequireWildcard(require("ui-kit/Button/Button"));
23
+
15
24
  var _close = require("@svgr/webpack?-svgo!assets/close.svg");
25
+
16
26
  var _notificationUtils = require("pages/NotificationsPageV2/notificationUtils");
27
+
17
28
  var _reactBootstrap = require("react-bootstrap");
29
+
18
30
  var _NotificationsFormContent = _interopRequireDefault(require("./NotificationsForm/NotificationsFormContent"));
31
+
19
32
  var _reactDeviceDetect = require("react-device-detect");
33
+
20
34
  var _useNavContext2 = require("../../../hooks/useNavContext");
35
+
21
36
  var _NotificationsUtils = require("./NotificationsUtils");
37
+
22
38
  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); }
39
+
23
40
  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; }
41
+
24
42
  var NotificationsSidebar = function NotificationsSidebar(_ref) {
25
43
  var notification = _ref.notification,
26
- setIsSidebarOpen = _ref.setIsSidebarOpen,
27
- points = _ref.points,
28
- tags = _ref.tags,
29
- sensors = _ref.sensors,
30
- waterAuthorities = _ref.waterAuthorities,
31
- updateNotifications = _ref.updateNotifications,
32
- deleteNotification = _ref.deleteNotification,
33
- allowedNotifications = _ref.allowedNotifications,
34
- hasTelegram = _ref.hasTelegram,
35
- hasPhone = _ref.hasPhone;
44
+ setIsSidebarOpen = _ref.setIsSidebarOpen,
45
+ points = _ref.points,
46
+ tags = _ref.tags,
47
+ sensors = _ref.sensors,
48
+ waterAuthorities = _ref.waterAuthorities,
49
+ updateNotifications = _ref.updateNotifications,
50
+ deleteNotification = _ref.deleteNotification,
51
+ allowedNotifications = _ref.allowedNotifications,
52
+ hasTelegram = _ref.hasTelegram,
53
+ hasPhone = _ref.hasPhone;
54
+
36
55
  var _useState = (0, _react.useState)((0, _objectSpread2.default)({}, notification)),
37
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
- newNotification = _useState2[0],
39
- setNewNotification = _useState2[1];
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ newNotification = _useState2[0],
58
+ setNewNotification = _useState2[1];
59
+
40
60
  var _useState3 = (0, _react.useState)(false),
41
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
- openSidebar = _useState4[0],
43
- setOpenSidebar = _useState4[1];
61
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
62
+ openSidebar = _useState4[0],
63
+ setOpenSidebar = _useState4[1];
64
+
44
65
  var _useNavContext = (0, _useNavContext2.useNavContext)(),
45
- isRtl = _useNavContext.isRtl;
66
+ isRtl = _useNavContext.isRtl;
67
+
46
68
  var closeSidebar = function closeSidebar() {
47
69
  setOpenSidebar(false);
48
70
  setTimeout(function () {
49
71
  setIsSidebarOpen(false);
50
72
  }, 1000);
51
73
  };
74
+
52
75
  var handleDeleteNotification = function handleDeleteNotification() {
53
76
  deleteNotification(newNotification);
54
77
  closeSidebar();
55
78
  };
79
+
56
80
  var handleSubmit = function handleSubmit(e) {
57
81
  e.preventDefault();
58
82
  updateNotifications((0, _NotificationsUtils.formatNotification)(newNotification));
59
83
  closeSidebar();
60
84
  };
85
+
61
86
  (0, _react.useEffect)(function () {
62
87
  setOpenSidebar(true);
63
88
  if (!newNotification.id) newNotification.type = _notificationUtils.mockTypes[0];
@@ -93,8 +118,10 @@ var NotificationsSidebar = function NotificationsSidebar(_ref) {
93
118
  type: "submit"
94
119
  }, notification.id !== '' ? _i18n.default.t('notifications_page.edit_save') : _i18n.default.t('notifications_page.edit_add'))))));
95
120
  };
121
+
96
122
  var _default = NotificationsSidebar;
97
123
  exports.default = _default;
124
+
98
125
  var NotificationSidebarStyle = _styledComponents.default.div.withConfig({
99
126
  displayName: "NotificationsSidebar__NotificationSidebarStyle",
100
127
  componentId: "sc-18000x7-0"
@@ -108,12 +135,14 @@ var NotificationSidebarStyle = _styledComponents.default.div.withConfig({
108
135
  }, function (p) {
109
136
  return p.isRtl ? 'left: -800px;' : 'right: -800px;';
110
137
  });
138
+
111
139
  var NotificationSidebarMainStyle = _styledComponents.default.div.withConfig({
112
140
  displayName: "NotificationsSidebar__NotificationSidebarMainStyle",
113
141
  componentId: "sc-18000x7-1"
114
142
  })(["padding:", ";height:100%;"], _reactDeviceDetect.isMobile ? '10px 30px 10px 10px' : function (p) {
115
143
  return p.isRtl ? '20px' : '20px 40px 20px 20px';
116
144
  });
145
+
117
146
  var NotificationSidebarHeadStyle = _styledComponents.default.div.withConfig({
118
147
  displayName: "NotificationsSidebar__NotificationSidebarHeadStyle",
119
148
  componentId: "sc-18000x7-2"
@@ -124,10 +153,12 @@ var NotificationSidebarHeadStyle = _styledComponents.default.div.withConfig({
124
153
  var theme = _ref4.theme;
125
154
  return theme.colorScheme.natural.n70;
126
155
  });
156
+
127
157
  var NotificationsSidebarFooterStyle = _styledComponents.default.div.withConfig({
128
158
  displayName: "NotificationsSidebar__NotificationsSidebarFooterStyle",
129
159
  componentId: "sc-18000x7-3"
130
160
  })(["@media (max-width:500px){padding:0 35px 18vh 35px !important;}display:flex;justify-content:space-evenly;align-items:center;height:75px;padding:0 35px;.btn{padding:5px 30px;}"]);
161
+
131
162
  var NotificationsSidebarDeleteStyle = _styledComponents.default.div.withConfig({
132
163
  displayName: "NotificationsSidebar__NotificationsSidebarDeleteStyle",
133
164
  componentId: "sc-18000x7-4"
@@ -147,4 +178,4 @@ var NotificationsSidebarDeleteStyle = _styledComponents.default.div.withConfig({
147
178
  var theme = _ref9.theme;
148
179
  return theme.colorScheme.primary.pt70;
149
180
  });
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwiX2Nsb3NlIiwiX25vdGlmaWNhdGlvblV0aWxzIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX05vdGlmaWNhdGlvbnNGb3JtQ29udGVudCIsIl9yZWFjdERldmljZURldGVjdCIsIl91c2VOYXZDb250ZXh0MiIsIl9Ob3RpZmljYXRpb25zVXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyIiwiX3JlZiIsIm5vdGlmaWNhdGlvbiIsInNldElzU2lkZWJhck9wZW4iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwiZGVsZXRlTm90aWZpY2F0aW9uIiwiYWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJoYXNUZWxlZ3JhbSIsImhhc1Bob25lIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfb2JqZWN0U3ByZWFkMiIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJuZXdOb3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm9wZW5TaWRlYmFyIiwic2V0T3BlblNpZGViYXIiLCJfdXNlTmF2Q29udGV4dCIsInVzZU5hdkNvbnRleHQiLCJpc1J0bCIsImNsb3NlU2lkZWJhciIsInNldFRpbWVvdXQiLCJoYW5kbGVEZWxldGVOb3RpZmljYXRpb24iLCJoYW5kbGVTdWJtaXQiLCJlIiwicHJldmVudERlZmF1bHQiLCJmb3JtYXROb3RpZmljYXRpb24iLCJ1c2VFZmZlY3QiLCJpZCIsInR5cGUiLCJtb2NrVHlwZXMiLCJjcmVhdGVFbGVtZW50IiwiTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwiTm90aWZpY2F0aW9uU2lkZWJhck1haW5TdHlsZSIsIk5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGUiLCJpMThuIiwidCIsIlJlYWN0Q29tcG9uZW50Iiwib25DbGljayIsIkZvcm0iLCJvblN1Ym1pdCIsIk5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUiLCJOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlIiwidmFyaWFudCIsIlBSSU1BUlkiLCJzaXplIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJpc01vYmlsZSIsInAiLCJfcmVmMiIsInRoZW1lIiwiekluZGV4ZXMiLCJtb2RhbCIsIl9yZWYzIiwiZm9udFNpemUiLCJ4eGwiLCJfcmVmNCIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm43MCIsIl9yZWY1IiwibWQiLCJfcmVmNiIsInByaW1hcnkiLCJwMSIsIl9yZWY3IiwiX3JlZjgiLCJwdDcwIiwiX3JlZjkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNTaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBCdXR0b24sIHsgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQvQnV0dG9uL0J1dHRvbic7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZSB9IGZyb20gJ3NyYy9hc3NldHMvY2xvc2Uuc3ZnJztcbmltcG9ydCB7XG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxuICBtb2NrVHlwZXMsXG4gIE5vdGlmaWNhdGlvbixcbn0gZnJvbSAnc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50IGZyb20gJy4vTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50JztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTmF2Q29udGV4dCc7XG5pbXBvcnQgeyBmb3JtYXROb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbnNVdGlscyc7XG5cbmludGVyZmFjZSBub3RpZmljYXRpb25TaWRlYmFyUHJvcHMge1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnM6IChub3RpZmljYXRpb246IHtcbiAgICB1c2VyOiB7IGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30gfTtcbiAgfSkgPT4gdm9pZDtcbiAgZGVsZXRlTm90aWZpY2F0aW9uOiAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHZvaWQ7XG4gIHNldElzU2lkZWJhck9wZW46IChpc1NpZGViYXJPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbiAgaGFzUGhvbmU6IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyOiBSZWFjdC5GQzxub3RpZmljYXRpb25TaWRlYmFyUHJvcHM+ID0gKHtcbiAgbm90aWZpY2F0aW9uLFxuICBzZXRJc1NpZGViYXJPcGVuLFxuICBwb2ludHMsXG4gIHRhZ3MsXG4gIHNlbnNvcnMsXG4gIHdhdGVyQXV0aG9yaXRpZXMsXG4gIHVwZGF0ZU5vdGlmaWNhdGlvbnMsXG4gIGRlbGV0ZU5vdGlmaWNhdGlvbixcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnMsXG4gIGhhc1RlbGVncmFtLFxuICBoYXNQaG9uZSxcbn0pID0+IHtcbiAgY29uc3QgW25ld05vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uXSA9IHVzZVN0YXRlKHsgLi4ubm90aWZpY2F0aW9uIH0pO1xuICBjb25zdCBbb3BlblNpZGViYXIsIHNldE9wZW5TaWRlYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBpc1J0bCB9ID0gdXNlTmF2Q29udGV4dCgpO1xuXG4gIGNvbnN0IGNsb3NlU2lkZWJhciA9ICgpID0+IHtcbiAgICBzZXRPcGVuU2lkZWJhcihmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1NpZGViYXJPcGVuKGZhbHNlKTtcbiAgICB9LCAxMDAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGVOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gICAgZGVsZXRlTm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbik7XG4gICAgY2xvc2VTaWRlYmFyKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGU6IFJlYWN0LkZvcm1FdmVudDxIVE1MRm9ybUVsZW1lbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHVwZGF0ZU5vdGlmaWNhdGlvbnMoZm9ybWF0Tm90aWZpY2F0aW9uKG5ld05vdGlmaWNhdGlvbikpO1xuICAgIGNsb3NlU2lkZWJhcigpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3BlblNpZGViYXIodHJ1ZSk7XG4gICAgaWYgKCFuZXdOb3RpZmljYXRpb24uaWQpIG5ld05vdGlmaWNhdGlvbi50eXBlID0gbW9ja1R5cGVzWzBdO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm90aWZpY2F0aW9uU2lkZWJhclN0eWxlXG4gICAgICBjbGFzc05hbWU9e2BzaWRlYmFyLXdyYXBwZXIgJHtcbiAgICAgICAgb3BlblNpZGViYXIgPyAnb3Blbi1zaWRlYmFyJyA6ICdjbG9zZS1zaWRlYmFyJ1xuICAgICAgfWB9XG4gICAgICBpc1J0bD17aXNSdGx9XG4gICAgPlxuICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgPE5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGU+XG4gICAgICAgICAgPGgyPntgJHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5pZFxuICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5hZGRfbm90aWZpY2F0aW9uJylcbiAgICAgICAgICB9YH08L2gyPlxuICAgICAgICAgIDxDbG9zZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNpZGViYXIoKX0gLz5cbiAgICAgICAgPC9Ob3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlPlxuICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc3VidGl0bGUnKX08L3A+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zRm9ybUNvbnRlbnRcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bmV3Tm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgIHRhZ3M9e3RhZ3N9XG4gICAgICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdGllcz17d2F0ZXJBdXRob3JpdGllc31cbiAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgIGhhc1RlbGVncmFtPXtoYXNUZWxlZ3JhbX1cbiAgICAgICAgICAgIGhhc1Bob25lPXtoYXNQaG9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxOb3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc1NpZGViYXJEZWxldGVTdHlsZVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZU5vdGlmaWNhdGlvbigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZGVsZXRlX25vdGlmaWNhdGlvbicpfVxuICAgICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNTaWRlYmFyRGVsZXRlU3R5bGU+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PXt2YXJpYW50LlBSSU1BUll9IHNpemU9XCJtZFwiIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgICAgICAgICAge25vdGlmaWNhdGlvbi5pZCAhPT0gJydcbiAgICAgICAgICAgICAgICA/IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2F2ZScpXG4gICAgICAgICAgICAgICAgOiBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2FkZCcpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L05vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGU+XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyU3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25zU2lkZWJhcjtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhclN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnY2FsYygxMDB2dyArIDIwcHgpJyA6ICc1MDBweCd9O1xuICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnMTAwdmgnIDogJ2NhbGMoMTAwdmggLSA1N3B4KSd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgdG9wOiAke2lzTW9iaWxlID8gJzAnIDogJzY3cHgnfTtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIH1cblxuICAmJiYub3Blbi1zaWRlYmFyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDBweDsnIDogJ3JpZ2h0OiAtMjBweDsnKX1cbiAgfVxuICAmJiYuY2xvc2Utc2lkZWJhciB7XG4gICAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogLTgwMHB4OycgOiAncmlnaHQ6IC04MDBweDsnKX1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICBsYWJlbFtmb3I9J3B1bXBfb25seSddIHtcbiAgICBtYXJnaW46IDAgNnB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFyTWFpblN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiAke2lzTW9iaWxlXG4gICAgPyAnMTBweCAzMHB4IDEwcHggMTBweCdcbiAgICA6IChwKSA9PiAocC5pc1J0bCA/ICcyMHB4JyA6ICcyMHB4IDQwcHggMjBweCAyMHB4Jyl9O1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnh4bH07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIHN2Zzpob3ZlciB7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm43MH07XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBwYWRkaW5nOiAwIDM1cHggMTh2aCAzNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwYWRkaW5nOiAwIDM1cHg7XG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICB9XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnB0NzB9O1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHQ3MH07XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUosdUJBQUEsQ0FBQUMsT0FBQTtBQUEyRCxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFM0QsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUtBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHlCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxrQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsbUJBQUEsR0FBQVYsT0FBQTtBQUEwRCxTQUFBVyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWIsd0JBQUFpQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFM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
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1NpZGViYXIudHN4Il0sIm5hbWVzIjpbIk5vdGlmaWNhdGlvbnNTaWRlYmFyIiwibm90aWZpY2F0aW9uIiwic2V0SXNTaWRlYmFyT3BlbiIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwid2F0ZXJBdXRob3JpdGllcyIsInVwZGF0ZU5vdGlmaWNhdGlvbnMiLCJkZWxldGVOb3RpZmljYXRpb24iLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsImhhc1RlbGVncmFtIiwiaGFzUGhvbmUiLCJuZXdOb3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJvcGVuU2lkZWJhciIsInNldE9wZW5TaWRlYmFyIiwiaXNSdGwiLCJjbG9zZVNpZGViYXIiLCJzZXRUaW1lb3V0IiwiaGFuZGxlRGVsZXRlTm90aWZpY2F0aW9uIiwiaGFuZGxlU3VibWl0IiwiZSIsInByZXZlbnREZWZhdWx0IiwiaWQiLCJ0eXBlIiwibW9ja1R5cGVzIiwiaTE4biIsInQiLCJ2YXJpYW50IiwiUFJJTUFSWSIsIk5vdGlmaWNhdGlvblNpZGViYXJTdHlsZSIsInN0eWxlZCIsImRpdiIsImlzTW9iaWxlIiwicCIsInRoZW1lIiwiekluZGV4ZXMiLCJtb2RhbCIsIk5vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGUiLCJOb3RpZmljYXRpb25TaWRlYmFySGVhZFN0eWxlIiwiZm9udFNpemUiLCJ4eGwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNzAiLCJOb3RpZmljYXRpb25zU2lkZWJhckZvb3RlclN0eWxlIiwiTm90aWZpY2F0aW9uc1NpZGViYXJEZWxldGVTdHlsZSIsIm1kIiwicHJpbWFyeSIsInAxIiwicHQ3MCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7OztBQUVBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFrQkEsSUFBTUEsb0JBQXdELEdBQUcsU0FBM0RBLG9CQUEyRCxPQVkzRDtBQUFBLE1BWEpDLFlBV0ksUUFYSkEsWUFXSTtBQUFBLE1BVkpDLGdCQVVJLFFBVkpBLGdCQVVJO0FBQUEsTUFUSkMsTUFTSSxRQVRKQSxNQVNJO0FBQUEsTUFSSkMsSUFRSSxRQVJKQSxJQVFJO0FBQUEsTUFQSkMsT0FPSSxRQVBKQSxPQU9JO0FBQUEsTUFOSkMsZ0JBTUksUUFOSkEsZ0JBTUk7QUFBQSxNQUxKQyxtQkFLSSxRQUxKQSxtQkFLSTtBQUFBLE1BSkpDLGtCQUlJLFFBSkpBLGtCQUlJO0FBQUEsTUFISkMsb0JBR0ksUUFISkEsb0JBR0k7QUFBQSxNQUZKQyxXQUVJLFFBRkpBLFdBRUk7QUFBQSxNQURKQyxRQUNJLFFBREpBLFFBQ0k7O0FBQ0osa0JBQThDLHFEQUFjVixZQUFkLEVBQTlDO0FBQUE7QUFBQSxNQUFPVyxlQUFQO0FBQUEsTUFBd0JDLGtCQUF4Qjs7QUFDQSxtQkFBc0MscUJBQVMsS0FBVCxDQUF0QztBQUFBO0FBQUEsTUFBT0MsV0FBUDtBQUFBLE1BQW9CQyxjQUFwQjs7QUFDQSx1QkFBa0Isb0NBQWxCO0FBQUEsTUFBUUMsS0FBUixrQkFBUUEsS0FBUjs7QUFFQSxNQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxHQUFNO0FBQ3pCRixJQUFBQSxjQUFjLENBQUMsS0FBRCxDQUFkO0FBQ0FHLElBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZoQixNQUFBQSxnQkFBZ0IsQ0FBQyxLQUFELENBQWhCO0FBQ0QsS0FGUyxFQUVQLElBRk8sQ0FBVjtBQUdELEdBTEQ7O0FBT0EsTUFBTWlCLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBMkIsR0FBTTtBQUNyQ1gsSUFBQUEsa0JBQWtCLENBQUNJLGVBQUQsQ0FBbEI7QUFDQUssSUFBQUEsWUFBWTtBQUNiLEdBSEQ7O0FBS0EsTUFBTUcsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsQ0FBRCxFQUF5QztBQUM1REEsSUFBQUEsQ0FBQyxDQUFDQyxjQUFGO0FBQ0FmLElBQUFBLG1CQUFtQixDQUFDLDRDQUFtQkssZUFBbkIsQ0FBRCxDQUFuQjtBQUNBSyxJQUFBQSxZQUFZO0FBQ2IsR0FKRDs7QUFNQSx3QkFBVSxZQUFNO0FBQ2RGLElBQUFBLGNBQWMsQ0FBQyxJQUFELENBQWQ7QUFDQSxRQUFJLENBQUNILGVBQWUsQ0FBQ1csRUFBckIsRUFBeUJYLGVBQWUsQ0FBQ1ksSUFBaEIsR0FBdUJDLDZCQUFVLENBQVYsQ0FBdkI7QUFDMUIsR0FIRCxFQUdHLEVBSEg7QUFLQSxzQkFDRSw2QkFBQyx3QkFBRDtBQUNFLElBQUEsU0FBUyw0QkFDUFgsV0FBVyxHQUFHLGNBQUgsR0FBb0IsZUFEeEIsQ0FEWDtBQUlFLElBQUEsS0FBSyxFQUFFRTtBQUpULGtCQU1FLDZCQUFDLDRCQUFEO0FBQThCLElBQUEsS0FBSyxFQUFFQTtBQUFyQyxrQkFDRSw2QkFBQyw0QkFBRCxxQkFDRSxtREFDRWYsWUFBWSxDQUFDc0IsRUFBYixHQUNJRyxjQUFLQyxDQUFMLENBQU8sc0NBQVAsQ0FESixHQUVJRCxjQUFLQyxDQUFMLENBQU8scUNBQVAsQ0FITixFQURGLGVBTUUsNkJBQUMscUJBQUQ7QUFBTyxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU1WLFlBQVksRUFBbEI7QUFBQTtBQUFoQixJQU5GLENBREYsZUFTRSx3Q0FBSVMsY0FBS0MsQ0FBTCxDQUFPLDZCQUFQLENBQUosQ0FURixlQVVFLDZCQUFDLG9CQUFEO0FBQU0sSUFBQSxRQUFRLEVBQUVQO0FBQWhCLGtCQUNFLDZCQUFDLGlDQUFEO0FBQ0UsSUFBQSxZQUFZLEVBQUVSLGVBRGhCO0FBRUUsSUFBQSxrQkFBa0IsRUFBRUMsa0JBRnRCO0FBR0UsSUFBQSxNQUFNLEVBQUVWLE1BSFY7QUFJRSxJQUFBLElBQUksRUFBRUMsSUFKUjtBQUtFLElBQUEsT0FBTyxFQUFFQyxPQUxYO0FBTUUsSUFBQSxnQkFBZ0IsRUFBRUMsZ0JBTnBCO0FBT0UsSUFBQSxvQkFBb0IsRUFBRUcsb0JBUHhCO0FBUUUsSUFBQSxXQUFXLEVBQUVDLFdBUmY7QUFTRSxJQUFBLFFBQVEsRUFBRUM7QUFUWixJQURGLGVBWUUsNkJBQUMsK0JBQUQsUUFDR1YsWUFBWSxDQUFDc0IsRUFBYixLQUFvQixFQUFwQixpQkFDQyw2QkFBQywrQkFBRDtBQUNFLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTUosd0JBQXdCLEVBQTlCO0FBQUE7QUFEWCxLQUdHTyxjQUFLQyxDQUFMLENBQU8sNkNBQVAsQ0FISCxDQUZKLGVBUUUsNkJBQUMsZUFBRDtBQUFRLElBQUEsT0FBTyxFQUFFQyxnQkFBUUMsT0FBekI7QUFBa0MsSUFBQSxJQUFJLEVBQUMsSUFBdkM7QUFBNEMsSUFBQSxJQUFJLEVBQUM7QUFBakQsS0FDRzVCLFlBQVksQ0FBQ3NCLEVBQWIsS0FBb0IsRUFBcEIsR0FDR0csY0FBS0MsQ0FBTCxDQUFPLDhCQUFQLENBREgsR0FFR0QsY0FBS0MsQ0FBTCxDQUFPLDZCQUFQLENBSE4sQ0FSRixDQVpGLENBVkYsQ0FORixDQURGO0FBK0NELENBdkZEOztlQXlGZTNCLG9COzs7QUFFZixJQUFNOEIsd0JBQXdCLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdlQUtuQkMsOEJBQVcsb0JBQVgsR0FBa0MsT0FMZixFQU1sQkEsOEJBQVcsT0FBWCxHQUFxQixvQkFOSCxFQVExQixVQUFDQyxDQUFEO0FBQUEsU0FBUUEsQ0FBQyxDQUFDbEIsS0FBRixHQUFVLGVBQVYsR0FBNEIsZ0JBQXBDO0FBQUEsQ0FSMEIsRUFTckJpQiw4QkFBVyxHQUFYLEdBQWlCLE1BVEksRUFVakI7QUFBQSxNQUFHRSxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQVZpQixFQTBCeEIsVUFBQ0gsQ0FBRDtBQUFBLFNBQVFBLENBQUMsQ0FBQ2xCLEtBQUYsR0FBVSxZQUFWLEdBQXlCLGVBQWpDO0FBQUEsQ0ExQndCLEVBNkJ4QixVQUFDa0IsQ0FBRDtBQUFBLFNBQVFBLENBQUMsQ0FBQ2xCLEtBQUYsR0FBVSxlQUFWLEdBQTRCLGdCQUFwQztBQUFBLENBN0J3QixDQUE5Qjs7QUEwQ0EsSUFBTXNCLDRCQUE0QixHQUFHUCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxrQ0FDckJDLDhCQUNQLHFCQURPLEdBRVAsVUFBQ0MsQ0FBRDtBQUFBLFNBQVFBLENBQUMsQ0FBQ2xCLEtBQUYsR0FBVSxNQUFWLEdBQW1CLHFCQUEzQjtBQUFBLENBSDRCLENBQWxDOztBQU9BLElBQU11Qiw0QkFBNEIsR0FBR1IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsbUxBS2pCO0FBQUEsTUFBR0csS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDSyxRQUFOLENBQWVDLEdBQTlCO0FBQUEsQ0FMaUIsRUFldEI7QUFBQSxNQUFHTixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNPLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQUF6QztBQUFBLENBZnNCLENBQWxDOztBQW1CQSxJQUFNQywrQkFBK0IsR0FBR2QsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEscUxBQXJDOztBQWVBLElBQU1jLCtCQUErQixHQUFHZiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxxTEFNdEI7QUFBQSxNQUFHRyxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNLLFFBQU4sQ0FBZU8sRUFBOUI7QUFBQSxDQU5zQixFQU8xQjtBQUFBLE1BQUdaLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ08sV0FBTixDQUFrQk0sT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FQMEIsRUFXekI7QUFBQSxNQUFHZCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNPLFdBQU4sQ0FBa0JNLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBWHlCLEVBY3hCO0FBQUEsTUFBR2QsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDTyxXQUFOLENBQWtCTSxPQUFsQixDQUEwQkUsSUFBekM7QUFBQSxDQWR3QixFQWdCdkI7QUFBQSxNQUFHZixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNPLFdBQU4sQ0FBa0JNLE9BQWxCLENBQTBCRSxJQUF6QztBQUFBLENBaEJ1QixDQUFyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IEJ1dHRvbiwgeyB2YXJpYW50IH0gZnJvbSAnc3JjL3VpLWtpdC9CdXR0b24vQnV0dG9uJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIENsb3NlIH0gZnJvbSAnc3JjL2Fzc2V0cy9jbG9zZS5zdmcnO1xuaW1wb3J0IHtcbiAgQWR2YW5jZWRTZWxlY3Rpb24sXG4gIG1vY2tUeXBlcyxcbiAgTm90aWZpY2F0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQgZnJvbSAnLi9Ob3RpZmljYXRpb25zRm9ybS9Ob3RpZmljYXRpb25zRm9ybUNvbnRlbnQnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZU5hdkNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VOYXZDb250ZXh0JztcbmltcG9ydCB7IGZvcm1hdE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uc1V0aWxzJztcblxuaW50ZXJmYWNlIG5vdGlmaWNhdGlvblNpZGViYXJQcm9wcyB7XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb25bXTtcbiAgdGFnczogQWR2YW5jZWRTZWxlY3Rpb25bXTtcbiAgc2Vuc29yczogQWR2YW5jZWRTZWxlY3Rpb25bXTtcbiAgd2F0ZXJBdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb25bXTtcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnM6IHN0cmluZ1tdO1xuICBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbjtcbiAgdXBkYXRlTm90aWZpY2F0aW9uczogKG5vdGlmaWNhdGlvbjoge1xuICAgIHVzZXI6IHsgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7fSB9O1xuICB9KSA9PiB2b2lkO1xuICBkZWxldGVOb3RpZmljYXRpb246IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgc2V0SXNTaWRlYmFyT3BlbjogKGlzU2lkZWJhck9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGhhc1RlbGVncmFtOiBib29sZWFuO1xuICBoYXNQaG9uZTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc1NpZGViYXI6IFJlYWN0LkZDPG5vdGlmaWNhdGlvblNpZGViYXJQcm9wcz4gPSAoe1xuICBub3RpZmljYXRpb24sXG4gIHNldElzU2lkZWJhck9wZW4sXG4gIHBvaW50cyxcbiAgdGFncyxcbiAgc2Vuc29ycyxcbiAgd2F0ZXJBdXRob3JpdGllcyxcbiAgdXBkYXRlTm90aWZpY2F0aW9ucyxcbiAgZGVsZXRlTm90aWZpY2F0aW9uLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgaGFzVGVsZWdyYW0sXG4gIGhhc1Bob25lLFxufSkgPT4ge1xuICBjb25zdCBbbmV3Tm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb25dID0gdXNlU3RhdGUoeyAuLi5ub3RpZmljYXRpb24gfSk7XG4gIGNvbnN0IFtvcGVuU2lkZWJhciwgc2V0T3BlblNpZGViYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGlzUnRsIH0gPSB1c2VOYXZDb250ZXh0KCk7XG5cbiAgY29uc3QgY2xvc2VTaWRlYmFyID0gKCkgPT4ge1xuICAgIHNldE9wZW5TaWRlYmFyKGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldElzU2lkZWJhck9wZW4oZmFsc2UpO1xuICAgIH0sIDEwMDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgICBkZWxldGVOb3RpZmljYXRpb24obmV3Tm90aWZpY2F0aW9uKTtcbiAgICBjbG9zZVNpZGViYXIoKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZTogUmVhY3QuRm9ybUV2ZW50PEhUTUxGb3JtRWxlbWVudD4pID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdXBkYXRlTm90aWZpY2F0aW9ucyhmb3JtYXROb3RpZmljYXRpb24obmV3Tm90aWZpY2F0aW9uKSk7XG4gICAgY2xvc2VTaWRlYmFyKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRPcGVuU2lkZWJhcih0cnVlKTtcbiAgICBpZiAoIW5ld05vdGlmaWNhdGlvbi5pZCkgbmV3Tm90aWZpY2F0aW9uLnR5cGUgPSBtb2NrVHlwZXNbMF07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxOb3RpZmljYXRpb25TaWRlYmFyU3R5bGVcbiAgICAgIGNsYXNzTmFtZT17YHNpZGViYXItd3JhcHBlciAke1xuICAgICAgICBvcGVuU2lkZWJhciA/ICdvcGVuLXNpZGViYXInIDogJ2Nsb3NlLXNpZGViYXInXG4gICAgICB9YH1cbiAgICAgIGlzUnRsPXtpc1J0bH1cbiAgICA+XG4gICAgICA8Tm90aWZpY2F0aW9uU2lkZWJhck1haW5TdHlsZSBpc1J0bD17aXNSdGx9PlxuICAgICAgICA8Tm90aWZpY2F0aW9uU2lkZWJhckhlYWRTdHlsZT5cbiAgICAgICAgICA8aDI+e2Ake1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLmlkXG4gICAgICAgICAgICAgID8gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9ub3RpZmljYXRpb24nKVxuICAgICAgICAgICAgICA6IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmFkZF9ub3RpZmljYXRpb24nKVxuICAgICAgICAgIH1gfTwvaDI+XG4gICAgICAgICAgPENsb3NlIG9uQ2xpY2s9eygpID0+IGNsb3NlU2lkZWJhcigpfSAvPlxuICAgICAgICA8L05vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGU+XG4gICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zdWJ0aXRsZScpfTwvcD5cbiAgICAgICAgPEZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uPXtuZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb249e3NldE5ld05vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgdGFncz17dGFnc31cbiAgICAgICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgICAgICB3YXRlckF1dGhvcml0aWVzPXt3YXRlckF1dGhvcml0aWVzfVxuICAgICAgICAgICAgYWxsb3dlZE5vdGlmaWNhdGlvbnM9e2FsbG93ZWROb3RpZmljYXRpb25zfVxuICAgICAgICAgICAgaGFzVGVsZWdyYW09e2hhc1RlbGVncmFtfVxuICAgICAgICAgICAgaGFzUGhvbmU9e2hhc1Bob25lfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLmlkICE9PSAnJyAmJiAoXG4gICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zU2lkZWJhckRlbGV0ZVN0eWxlXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlTm90aWZpY2F0aW9uKCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9kZWxldGVfbm90aWZpY2F0aW9uJyl9XG4gICAgICAgICAgICAgIDwvTm90aWZpY2F0aW9uc1NpZGViYXJEZWxldGVTdHlsZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9e3ZhcmlhbnQuUFJJTUFSWX0gc2l6ZT1cIm1kXCIgdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICAgICAgICB7bm90aWZpY2F0aW9uLmlkICE9PSAnJ1xuICAgICAgICAgICAgICAgID8gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zYXZlJylcbiAgICAgICAgICAgICAgICA6IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWRkJyl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L05vdGlmaWNhdGlvbnNTaWRlYmFyRm9vdGVyU3R5bGU+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgIDwvTm90aWZpY2F0aW9uU2lkZWJhck1haW5TdHlsZT5cbiAgICA8L05vdGlmaWNhdGlvblNpZGViYXJTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNTaWRlYmFyO1xuXG5jb25zdCBOb3RpZmljYXRpb25TaWRlYmFyU3R5bGUgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogJHtpc01vYmlsZSA/ICdjYWxjKDEwMHZ3ICsgMjBweCknIDogJzUwMHB4J307XG4gIGhlaWdodDogJHtpc01vYmlsZSA/ICcxMDB2aCcgOiAnY2FsYygxMDB2aCAtIDU3cHgpJ307XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAkeyhwKSA9PiAocC5pc1J0bCA/ICdsZWZ0OiAtODAwcHg7JyA6ICdyaWdodDogLTgwMHB4OycpfVxuICB0b3A6ICR7aXNNb2JpbGUgPyAnMCcgOiAnNjdweCd9O1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgfVxuXG4gICYmJi5vcGVuLXNpZGViYXIge1xuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgJHsocCkgPT4gKHAuaXNSdGwgPyAnbGVmdDogMHB4OycgOiAncmlnaHQ6IC0yMHB4OycpfVxuICB9XG4gICYmJi5jbG9zZS1zaWRlYmFyIHtcbiAgICAkeyhwKSA9PiAocC5pc1J0bCA/ICdsZWZ0OiAtODAwcHg7JyA6ICdyaWdodDogLTgwMHB4OycpfVxuICB9XG5cbiAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIGxhYmVsW2Zvcj0ncHVtcF9vbmx5J10ge1xuICAgIG1hcmdpbjogMCA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvblNpZGViYXJNYWluU3R5bGUgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6ICR7aXNNb2JpbGVcbiAgICA/ICcxMHB4IDMwcHggMTBweCAxMHB4J1xuICAgIDogKHApID0+IChwLmlzUnRsID8gJzIwcHgnIDogJzIwcHggNDBweCAyMHB4IDIwcHgnKX07XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvblNpZGViYXJIZWFkU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGgyIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueHhsfTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgc3ZnOmhvdmVyIHtcbiAgICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjcwfTtcbiAgfVxuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uc1NpZGViYXJGb290ZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIHBhZGRpbmc6IDAgMzVweCAxOHZoIDM1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDc1cHg7XG4gIHBhZGRpbmc6IDAgMzVweDtcbiAgLmJ0biB7XG4gICAgcGFkZGluZzogNXB4IDMwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNTaWRlYmFyRGVsZXRlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5tZH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHQ3MH07XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wdDcwfTtcbiAgICB9XG4gIH1cbmA7XG4iXX0=
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.validateValueIsNotAnObject = exports.parseSeverities = exports.parseNotificationAdvancedSelection = exports.handleWaterAuthorities = exports.handleTags = exports.handleSources = exports.handleSeverities = exports.handleSensors = exports.handleSendVia = exports.handleSelectionAndSet = exports.handleNotificationType = exports.handleNotificationSample = exports.formatSendVia = exports.formatNotification = exports.deleteAttributes = void 0;
8
+ exports.formatNotification = exports.parseSeverities = exports.formatSendVia = exports.deleteAttributes = exports.parseNotificationAdvancedSelection = exports.validateValueIsNotAnObject = exports.handleNotificationSample = exports.handleSendVia = exports.handleSelectionAndSet = exports.handleSensors = exports.handleTags = exports.handleSources = exports.handleWaterAuthorities = exports.handleSeverities = exports.handleNotificationType = void 0;
9
+
8
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
11
+
9
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
+
10
14
  var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
+
11
16
  var handleNotificationType = function handleNotificationType(option, notification, setNewNotification) {
12
17
  var value = notification.available_types.find(function (type) {
13
18
  return type === option.value;
@@ -18,7 +23,9 @@ var handleNotificationType = function handleNotificationType(option, notificatio
18
23
  });
19
24
  });
20
25
  };
26
+
21
27
  exports.handleNotificationType = handleNotificationType;
28
+
22
29
  var handleSeverities = function handleSeverities(e, setNewNotification) {
23
30
  var value = e.target.value;
24
31
  setNewNotification(function (prevState) {
@@ -27,7 +34,9 @@ var handleSeverities = function handleSeverities(e, setNewNotification) {
27
34
  });
28
35
  });
29
36
  };
37
+
30
38
  exports.handleSeverities = handleSeverities;
39
+
31
40
  var handleWaterAuthorities = function handleWaterAuthorities(e) {
32
41
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
33
42
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
@@ -35,7 +44,9 @@ var handleWaterAuthorities = function handleWaterAuthorities(e) {
35
44
  var value = (0, _objectSpread3.default)({}, newNotification.water_authorities);
36
45
  handleSelectionAndSet(value, 'water_authorities', e, option, setNewNotification);
37
46
  };
47
+
38
48
  exports.handleWaterAuthorities = handleWaterAuthorities;
49
+
39
50
  var handleSources = function handleSources(e) {
40
51
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
41
52
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
@@ -43,7 +54,9 @@ var handleSources = function handleSources(e) {
43
54
  var value = (0, _objectSpread3.default)({}, newNotification.points);
44
55
  handleSelectionAndSet(value, 'points', e, option, setNewNotification);
45
56
  };
57
+
46
58
  exports.handleSources = handleSources;
59
+
47
60
  var handleTags = function handleTags(e) {
48
61
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
49
62
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
@@ -51,7 +64,9 @@ var handleTags = function handleTags(e) {
51
64
  var value = (0, _objectSpread3.default)({}, newNotification.tags);
52
65
  handleSelectionAndSet(value, 'tags', e, option, setNewNotification);
53
66
  };
67
+
54
68
  exports.handleTags = handleTags;
69
+
55
70
  var handleSensors = function handleSensors(e) {
56
71
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
57
72
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
@@ -59,47 +74,59 @@ var handleSensors = function handleSensors(e) {
59
74
  var value = (0, _objectSpread3.default)({}, newNotification.sensors);
60
75
  handleSelectionAndSet(value, 'sensors', e, option, setNewNotification);
61
76
  };
77
+
62
78
  exports.handleSensors = handleSensors;
79
+
63
80
  var handleSelectionAndSet = function handleSelectionAndSet(value, field, e) {
64
81
  var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
65
82
  var setNewNotification = arguments.length > 4 ? arguments[4] : undefined;
83
+
66
84
  if (e !== undefined && e.target !== undefined) {
67
85
  value.selection_type = e.target.value;
68
86
  } else {
69
87
  value.selection_type = option.selection_type;
70
88
  }
89
+
71
90
  if (value.selection_type === 'all') {
72
91
  value.set = new Array();
73
92
  } else {
74
93
  var _option$set;
94
+
75
95
  var set = [];
76
96
  (_option$set = option.set) === null || _option$set === void 0 ? void 0 : _option$set.forEach(function (option) {
77
97
  set.push(JSON.stringify(option.value));
78
98
  });
79
99
  value.set = set;
80
100
  }
101
+
81
102
  setNewNotification(function (prevState) {
82
103
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
83
104
  });
84
105
  };
106
+
85
107
  exports.handleSelectionAndSet = handleSelectionAndSet;
108
+
86
109
  var handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
87
110
  var value = (0, _objectSpread3.default)({}, newNotification.actions);
88
111
  var field = e.target.value;
89
112
  value[field] = !value[field];
113
+
90
114
  if (field === 'sms' || field === 'telegram') {
91
115
  setModalDetails({
92
116
  open: true,
93
117
  instance: field
94
118
  });
95
119
  }
120
+
96
121
  setNewNotification(function (prevState) {
97
122
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
98
123
  actions: value
99
124
  });
100
125
  });
101
126
  };
127
+
102
128
  exports.handleSendVia = handleSendVia;
129
+
103
130
  var handleNotificationSample = function handleNotificationSample(e, setNewNotification) {
104
131
  var value = e.target.checked;
105
132
  var parsedValue = value ? '1' : '0';
@@ -109,14 +136,17 @@ var handleNotificationSample = function handleNotificationSample(e, setNewNotifi
109
136
  });
110
137
  });
111
138
  };
139
+
112
140
  exports.handleNotificationSample = handleNotificationSample;
141
+
113
142
  var validateValueIsNotAnObject = function validateValueIsNotAnObject(value) {
114
143
  return (0, _typeof2.default)(value) === 'object' && !Array.isArray(value) && value !== null && value !== undefined;
115
144
  };
145
+
116
146
  exports.validateValueIsNotAnObject = validateValueIsNotAnObject;
147
+
117
148
  var parseNotificationAdvancedSelection = function parseNotificationAdvancedSelection(notification) {
118
149
  // If there'll be a future requirement to add another AdvancedSelection fields, please add them right below
119
-
120
150
  var points = notification.points;
121
151
  var waterAuthorities = notification.water_authorities;
122
152
  var tags = notification.tags;
@@ -130,16 +160,18 @@ var parseNotificationAdvancedSelection = function parseNotificationAdvancedSelec
130
160
  });
131
161
  selection.set = set;
132
162
  }
163
+
133
164
  if (selection && selection.set !== undefined && selection.set === null) {
134
165
  selection.set = [];
135
166
  }
136
167
  });
137
168
  return notification;
138
169
  };
170
+
139
171
  exports.parseNotificationAdvancedSelection = parseNotificationAdvancedSelection;
172
+
140
173
  var deleteAttributes = function deleteAttributes(notification, newNotification) {
141
174
  // Make sure to remove unnecessary attributes for some AlertConfigs
142
-
143
175
  delete notification.available_types;
144
176
  if (newNotification.type !== 'PollutionAlertConfig' && notification.type !== 'RollingEventAlertConfig') delete notification.severity;
145
177
  if (newNotification.type !== 'PollutionAlertConfig' && notification.type !== 'RollingEventAlertConfig') delete notification.pump_only;
@@ -150,7 +182,9 @@ var deleteAttributes = function deleteAttributes(notification, newNotification)
150
182
  notification['_destroy'] = 0;
151
183
  return notification;
152
184
  };
185
+
153
186
  exports.deleteAttributes = deleteAttributes;
187
+
154
188
  var formatSendVia = function formatSendVia(notification) {
155
189
  var formattedValue = [];
156
190
  if (notification.actions['telegram']) formattedValue.push(['SendTelegramAction', '0']);
@@ -159,23 +193,31 @@ var formatSendVia = function formatSendVia(notification) {
159
193
  notification.actions = formattedValue.flat();
160
194
  return notification;
161
195
  };
196
+
162
197
  exports.formatSendVia = formatSendVia;
198
+
163
199
  var parseSeverities = function parseSeverities(notification) {
164
200
  var value;
201
+
165
202
  switch (notification.severity) {
166
203
  case 'medium':
167
204
  value = '0';
168
205
  break;
206
+
169
207
  case 'high':
170
208
  value = '1';
171
209
  break;
210
+
172
211
  case 'extreme':
173
212
  value = '2';
174
213
  }
214
+
175
215
  notification.severity = value;
176
216
  return notification;
177
217
  };
218
+
178
219
  exports.parseSeverities = parseSeverities;
220
+
179
221
  var formatNotification = function formatNotification(newNotification) {
180
222
  var notificationCopy = JSON.parse(JSON.stringify(newNotification));
181
223
  notificationCopy = parseNotificationAdvancedSelection(notificationCopy);
@@ -196,5 +238,6 @@ var formatNotification = function formatNotification(newNotification) {
196
238
  notificationWithTimeStamp.user.alert_configs_attributes["".concat(now.getTime())] = notificationToSave.user.alert_configs_attributes;
197
239
  return notificationWithTimeStamp;
198
240
  };
241
+
199
242
  exports.formatNotification = formatNotification;
200
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoYW5kbGVOb3RpZmljYXRpb25UeXBlIiwib3B0aW9uIiwibm90aWZpY2F0aW9uIiwic2V0TmV3Tm90aWZpY2F0aW9uIiwidmFsdWUiLCJhdmFpbGFibGVfdHlwZXMiLCJmaW5kIiwidHlwZSIsInByZXZTdGF0ZSIsIl9vYmplY3RTcHJlYWQzIiwiZGVmYXVsdCIsImV4cG9ydHMiLCJoYW5kbGVTZXZlcml0aWVzIiwiZSIsInRhcmdldCIsInNldmVyaXR5IiwiaGFuZGxlV2F0ZXJBdXRob3JpdGllcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5ld05vdGlmaWNhdGlvbiIsIndhdGVyX2F1dGhvcml0aWVzIiwiaGFuZGxlU2VsZWN0aW9uQW5kU2V0IiwiaGFuZGxlU291cmNlcyIsInBvaW50cyIsImhhbmRsZVRhZ3MiLCJ0YWdzIiwiaGFuZGxlU2Vuc29ycyIsInNlbnNvcnMiLCJmaWVsZCIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwiQXJyYXkiLCJfb3B0aW9uJHNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJoYW5kbGVTZW5kVmlhIiwic2V0TW9kYWxEZXRhaWxzIiwiYWN0aW9ucyIsIm9wZW4iLCJpbnN0YW5jZSIsImhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSIsImNoZWNrZWQiLCJwYXJzZWRWYWx1ZSIsInB1bXBfb25seSIsInZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0IiwiX3R5cGVvZjIiLCJpc0FycmF5IiwicGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyIsInNlbGVjdGlvbiIsInBvaW50IiwiaWQiLCJkZWxldGVBdHRyaWJ1dGVzIiwiZm9ybWF0U2VuZFZpYSIsImZvcm1hdHRlZFZhbHVlIiwiZmxhdCIsInBhcnNlU2V2ZXJpdGllcyIsImZvcm1hdE5vdGlmaWNhdGlvbiIsIm5vdGlmaWNhdGlvbkNvcHkiLCJwYXJzZSIsIm5vdGlmaWNhdGlvblRvU2F2ZSIsInVzZXIiLCJhbGVydF9jb25maWdzX2F0dHJpYnV0ZXMiLCJub3RpZmljYXRpb25XaXRoVGltZVN0YW1wIiwibm93IiwiRGF0ZSIsImNvbmNhdCIsImdldFRpbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlLnNlbGVjdGlvbl90eXBlID0gb3B0aW9uLnNlbGVjdGlvbl90eXBlO1xuICB9XG5cbiAgaWYgKHZhbHVlLnNlbGVjdGlvbl90eXBlID09PSAnYWxsJykge1xuICAgIHZhbHVlLnNldCA9IG5ldyBBcnJheSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0Py5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KG9wdGlvbi52YWx1ZSkpO1xuICAgIH0pO1xuICAgIHZhbHVlLnNldCA9IHNldDtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBbZmllbGRdOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbmRWaWEgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbiAgc2V0TW9kYWxEZXRhaWxzLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uYWN0aW9ucyB9O1xuICBjb25zdCBmaWVsZCA9IGUudGFyZ2V0LnZhbHVlO1xuICB2YWx1ZVtmaWVsZF0gPSAhdmFsdWVbZmllbGRdO1xuXG4gIGlmIChmaWVsZCA9PT0gJ3NtcycgfHwgZmllbGQgPT09ICd0ZWxlZ3JhbScpIHtcbiAgICBzZXRNb2RhbERldGFpbHMoeyBvcGVuOiB0cnVlLCBpbnN0YW5jZTogZmllbGQgfSk7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgYWN0aW9uczogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC5jaGVja2VkO1xuICBsZXQgcGFyc2VkVmFsdWUgPSB2YWx1ZSA/ICcxJyA6ICcwJztcbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHB1bXBfb25seTogcGFyc2VkVmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCA9ICh2YWx1ZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIHZhbHVlICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBJZiB0aGVyZSdsbCBiZSBhIGZ1dHVyZSByZXF1aXJlbWVudCB0byBhZGQgYW5vdGhlciBBZHZhbmNlZFNlbGVjdGlvbiBmaWVsZHMsIHBsZWFzZSBhZGQgdGhlbSByaWdodCBiZWxvd1xuXG4gIGxldCBwb2ludHMgPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBsZXQgd2F0ZXJBdXRob3JpdGllcyA9IG5vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcztcbiAgbGV0IHRhZ3MgPSBub3RpZmljYXRpb24udGFncztcbiAgbGV0IHNlbnNvcnMgPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBjb25zdCBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyA9IFtwb2ludHMsIHdhdGVyQXV0aG9yaXRpZXMsIHRhZ3MsIHNlbnNvcnNdO1xuXG4gIGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zLmZvckVhY2goKHNlbGVjdGlvbikgPT4ge1xuICAgIGlmIChcbiAgICAgIHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0KFxuICAgICAgICBzZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ICE9PSBudWxsICYmIHNlbGVjdGlvbi5zZXRbMF0sXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgICBzZWxlY3Rpb24uc2V0LmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KHBvaW50LmlkKSk7XG4gICAgICB9KTtcblxuICAgICAgc2VsZWN0aW9uLnNldCA9IHNldDtcbiAgICB9XG5cbiAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5zZXQgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ID09PSBudWxsKSB7XG4gICAgICBzZWxlY3Rpb24uc2V0ID0gW107XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUF0dHJpYnV0ZXMgPSAobm90aWZpY2F0aW9uLCBuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgLy8gTWFrZSBzdXJlIHRvIHJlbW92ZSB1bm5lY2Vzc2FyeSBhdHRyaWJ1dGVzIGZvciBzb21lIEFsZXJ0Q29uZmlnc1xuXG4gIGRlbGV0ZSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzO1xuICBpZiAoXG4gICAgbmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycgJiZcbiAgICBub3RpZmljYXRpb24udHlwZSAhPT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJ1xuICApXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZXZlcml0eTtcbiAgaWYgKFxuICAgIG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZydcbiAgKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucHVtcF9vbmx5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIG5vdGlmaWNhdGlvblsnYWxlcnRfdHlwZSddID0gbm90aWZpY2F0aW9uLnR5cGU7XG4gIG5vdGlmaWNhdGlvblsnX2Rlc3Ryb3knXSA9IDA7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRTZW5kVmlhID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgZm9ybWF0dGVkVmFsdWU6IGFueSA9IFtdO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3RlbGVncmFtJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRUZWxlZ3JhbUFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ2VtYWlsJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRFbWFpbEFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3NtcyddKSBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFNtc0FjdGlvbicsICcwJ10pO1xuICBub3RpZmljYXRpb24uYWN0aW9ucyA9IGZvcm1hdHRlZFZhbHVlLmZsYXQoKTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlU2V2ZXJpdGllcyA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IHZhbHVlO1xuICBzd2l0Y2ggKG5vdGlmaWNhdGlvbi5zZXZlcml0eSkge1xuICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICB2YWx1ZSA9ICcwJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2hpZ2gnOlxuICAgICAgdmFsdWUgPSAnMSc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdleHRyZW1lJzpcbiAgICAgIHZhbHVlID0gJzInO1xuICB9XG4gIG5vdGlmaWNhdGlvbi5zZXZlcml0eSA9IHZhbHVlO1xuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE5vdGlmaWNhdGlvbiA9IChuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgbGV0IG5vdGlmaWNhdGlvbkNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG5ld05vdGlmaWNhdGlvbikpO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbihub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGZvcm1hdFNlbmRWaWEobm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBkZWxldGVBdHRyaWJ1dGVzKG5vdGlmaWNhdGlvbkNvcHksIG5ld05vdGlmaWNhdGlvbik7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZVNldmVyaXRpZXMobm90aWZpY2F0aW9uQ29weSk7XG5cbiAgbGV0IG5vdGlmaWNhdGlvblRvU2F2ZSA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uQ29weSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzW2Ake25vdy5nZXRUaW1lKCl9YF0gPVxuICAgIG5vdGlmaWNhdGlvblRvU2F2ZS51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcztcblxuICByZXR1cm4gbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUNqQ0MsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLGtC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
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIkFycmF5IiwiZm9yRWFjaCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwiaGFuZGxlU2VuZFZpYSIsInNldE1vZGFsRGV0YWlscyIsImFjdGlvbnMiLCJvcGVuIiwiaW5zdGFuY2UiLCJoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUiLCJjaGVja2VkIiwicGFyc2VkVmFsdWUiLCJwdW1wX29ubHkiLCJ2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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dkJDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSx3QkFBd0Isa0NBQ25CSixnQkFEbUI7QUFEcEI7QUFEaUIsR0FBekI7QUFRQSxNQUFNSyx5QkFBeUIsR0FBRztBQUNoQ0YsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLHdCQUF3QixFQUFFO0FBRHRCO0FBRDBCLEdBQWxDO0FBTUEsTUFBTUUsR0FBRyxHQUFHLElBQUlDLElBQUosRUFBWjtBQUNBRixFQUFBQSx5QkFBeUIsQ0FBQ0YsSUFBMUIsQ0FBK0JDLHdCQUEvQixXQUEyREUsR0FBRyxDQUFDRSxPQUFKLEVBQTNELEtBQ0VOLGtCQUFrQixDQUFDQyxJQUFuQixDQUF3QkMsd0JBRDFCO0FBR0EsU0FBT0MseUJBQVA7QUFDRCxDQTFCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVOb3RpZmljYXRpb25UeXBlID0gKFxuICBvcHRpb24sXG4gIG5vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gbm90aWZpY2F0aW9uLmF2YWlsYWJsZV90eXBlcyEuZmluZChcbiAgICAodHlwZSkgPT4gdHlwZSA9PT0gb3B0aW9uLnZhbHVlLFxuICApO1xuICBpZiAodmFsdWUpXG4gICAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICB0eXBlOiB2YWx1ZSxcbiAgICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2V2ZXJpdGllcyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBzZXZlcml0eTogdmFsdWUsXG4gIH0pKTtcbn07XG5leHBvcnQgY29uc3QgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KFxuICAgIHZhbHVlLFxuICAgICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgZSxcbiAgICBvcHRpb24sXG4gICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNvdXJjZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnBvaW50cyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQodmFsdWUsICdwb2ludHMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlVGFncyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24udGFncyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQodmFsdWUsICd0YWdzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbnNvcnMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnNlbnNvcnMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAnc2Vuc29ycycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZWxlY3Rpb25BbmRTZXQgPSAoXG4gIHZhbHVlLFxuICBmaWVsZDogc3RyaW5nLFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGlmIChlICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlLnNlbGVjdGlvbl90eXBlID0gZS50YXJnZXQudmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgdmFsdWUuc2VsZWN0aW9uX3R5cGUgPSBvcHRpb24uc2VsZWN0aW9uX3R5cGU7XG4gIH1cblxuICBpZiAodmFsdWUuc2VsZWN0aW9uX3R5cGUgPT09ICdhbGwnKSB7XG4gICAgdmFsdWUuc2V0ID0gbmV3IEFycmF5KCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2V0OiBzdHJpbmdbXSA9IFtdO1xuICAgIG9wdGlvbi5zZXQ/LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkob3B0aW9uLnZhbHVlKSk7XG4gICAgfSk7XG4gICAgdmFsdWUuc2V0ID0gc2V0O1xuICB9XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIFtmaWVsZF06IHZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VuZFZpYSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBzZXRNb2RhbERldGFpbHMsXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5hY3Rpb25zIH07XG4gIGNvbnN0IGZpZWxkID0gZS50YXJnZXQudmFsdWU7XG4gIHZhbHVlW2ZpZWxkXSA9ICF2YWx1ZVtmaWVsZF07XG5cbiAgaWYgKGZpZWxkID09PSAnc21zJyB8fCBmaWVsZCA9PT0gJ3RlbGVncmFtJykge1xuICAgIHNldE1vZGFsRGV0YWlscyh7IG9wZW46IHRydWUsIGluc3RhbmNlOiBmaWVsZCB9KTtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBhY3Rpb25zOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gIGxldCBwYXJzZWRWYWx1ZSA9IHZhbHVlID8gJzEnIDogJzAnO1xuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgcHVtcF9vbmx5OiBwYXJzZWRWYWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0ID0gKHZhbHVlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24gPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIElmIHRoZXJlJ2xsIGJlIGEgZnV0dXJlIHJlcXVpcmVtZW50IHRvIGFkZCBhbm90aGVyIEFkdmFuY2VkU2VsZWN0aW9uIGZpZWxkcywgcGxlYXNlIGFkZCB0aGVtIHJpZ2h0IGJlbG93XG5cbiAgbGV0IHBvaW50cyA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGxldCB3YXRlckF1dGhvcml0aWVzID0gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzO1xuICBsZXQgdGFncyA9IG5vdGlmaWNhdGlvbi50YWdzO1xuICBsZXQgc2Vuc29ycyA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGNvbnN0IGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zID0gW3BvaW50cywgd2F0ZXJBdXRob3JpdGllcywgdGFncywgc2Vuc29yc107XG5cbiAgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMuZm9yRWFjaCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgaWYgKFxuICAgICAgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QoXG4gICAgICAgIHNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgIT09IG51bGwgJiYgc2VsZWN0aW9uLnNldFswXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHNlbGVjdGlvbi5zZXQuZm9yRWFjaCgocG9pbnQpID0+IHtcbiAgICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkocG9pbnQuaWQpKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxlY3Rpb24uc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnNldCAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgPT09IG51bGwpIHtcbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBbXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlQXR0cmlidXRlcyA9IChub3RpZmljYXRpb24sIG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBNYWtlIHN1cmUgdG8gcmVtb3ZlIHVubmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZm9yIHNvbWUgQWxlcnRDb25maWdzXG5cbiAgZGVsZXRlIG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXM7XG4gIGlmIChcbiAgICBuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgIG5vdGlmaWNhdGlvbi50eXBlICE9PSAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnXG4gIClcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNldmVyaXR5O1xuICBpZiAoXG4gICAgbmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycgJiZcbiAgICBub3RpZmljYXRpb24udHlwZSAhPT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJ1xuICApXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wdW1wX29ubHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSA9PT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnBvaW50cztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24udGFncztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbm90aWZpY2F0aW9uWydhbGVydF90eXBlJ10gPSBub3RpZmljYXRpb24udHlwZTtcbiAgbm90aWZpY2F0aW9uWydfZGVzdHJveSddID0gMDtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlbmRWaWEgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBmb3JtYXR0ZWRWYWx1ZTogYW55ID0gW107XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1sndGVsZWdyYW0nXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFRlbGVncmFtQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snZW1haWwnXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZEVtYWlsQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snc21zJ10pIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kU21zQWN0aW9uJywgJzAnXSk7XG4gIG5vdGlmaWNhdGlvbi5hY3Rpb25zID0gZm9ybWF0dGVkVmFsdWUuZmxhdCgpO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VTZXZlcml0aWVzID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgdmFsdWU7XG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnNldmVyaXR5KSB7XG4gICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgIHZhbHVlID0gJzAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICB2YWx1ZSA9ICcxJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2V4dHJlbWUnOlxuICAgICAgdmFsdWUgPSAnMic7XG4gIH1cbiAgbm90aWZpY2F0aW9uLnNldmVyaXR5ID0gdmFsdWU7XG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90aWZpY2F0aW9uID0gKG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgbm90aWZpY2F0aW9uQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3Tm90aWZpY2F0aW9uKSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZm9ybWF0U2VuZFZpYShub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGRlbGV0ZUF0dHJpYnV0ZXMobm90aWZpY2F0aW9uQ29weSwgbmV3Tm90aWZpY2F0aW9uKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlU2V2ZXJpdGllcyhub3RpZmljYXRpb25Db3B5KTtcblxuICBsZXQgbm90aWZpY2F0aW9uVG9TYXZlID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge1xuICAgICAgICAuLi5ub3RpZmljYXRpb25Db3B5LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXNbYCR7bm93LmdldFRpbWUoKX1gXSA9XG4gICAgbm90aWZpY2F0aW9uVG9TYXZlLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzO1xuXG4gIHJldHVybiBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wO1xufTtcbiJdfQ==