@kando-env/kando-ui 1.2.232 → 1.2.233

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 (568) hide show
  1. package/lib/Router.js +4 -66
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +11 -41
  3. package/lib/Widgets/EventsRow/EventsRow.js +14 -41
  4. package/lib/Widgets/Map/GraphUtils.js +1 -4
  5. package/lib/Widgets/Map/Map.js +20 -42
  6. package/lib/Widgets/Map/MapUtils.js +4 -58
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +7 -27
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +8 -21
  9. package/lib/Widgets/Map/edges/Edge.js +9 -30
  10. package/lib/Widgets/Map/edges/Edges.js +11 -17
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +7 -22
  12. package/lib/Widgets/Map/events/Event.js +7 -23
  13. package/lib/Widgets/Map/events/EventIndicator.js +19 -42
  14. package/lib/Widgets/Map/events/EventPath.js +5 -20
  15. package/lib/Widgets/Map/events/EventUtils.js +4 -53
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -16
  17. package/lib/Widgets/Map/events/PointOfEvent.js +3 -32
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +4 -14
  19. package/lib/Widgets/Map/events/Snail.js +7 -19
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +15 -54
  21. package/lib/Widgets/Map/map/FloatingGraph.js +3 -19
  22. package/lib/Widgets/Map/map/GraphDateButton.js +3 -9
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +5 -11
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +4 -10
  25. package/lib/Widgets/Map/points/PointMarker.js +3 -19
  26. package/lib/Widgets/Map/points/PointMarkers.js +6 -19
  27. package/lib/Widgets/Map/points/PointUtils.js +7 -78
  28. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +15 -49
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +4 -19
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +1 -13
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +1 -5
  32. package/lib/Widgets/MostPolluting/Areas/Areas.js +19 -53
  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 +1 -7
  36. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +3 -11
  37. package/lib/Widgets/MostPolluting/Factories/Factories.js +30 -64
  38. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +4 -21
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +1 -10
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +4 -17
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -7
  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 +1 -7
  45. package/lib/Widgets/MostPolluting/MostPolluting.js +4 -17
  46. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +13 -17
  47. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +2 -9
  48. package/lib/Widgets/MostPolluting/ShowMore/styles.js +1 -5
  49. package/lib/Widgets/MostPolluting/assets/index.js +17 -28
  50. package/lib/Widgets/MostPolluting/components/ChangePercent.js +1 -16
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +15 -26
  52. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +4 -26
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +25 -33
  54. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +4 -20
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +29 -43
  56. package/lib/Widgets/MostPolluting/models.js +1 -1
  57. package/lib/Widgets/MostPolluting/styles.js +1 -7
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +2 -9
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +1 -11
  60. package/lib/Widgets/PotentialImpactSummary/index.js +7 -29
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +17 -36
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +2 -15
  63. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  64. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +4 -10
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +7 -21
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +19 -29
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +15 -24
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +7 -21
  69. package/lib/Widgets/QualitySummary/QualitySummary.js +8 -24
  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 +3 -16
  73. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +9 -20
  74. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +9 -34
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +9 -18
  76. package/lib/Widgets/UtilityInformation/UtilityInformation.js +22 -45
  77. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  78. package/lib/Widgets/UtilityInformation/styles.js +2 -22
  79. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  80. package/lib/assets/icons/index.js +5 -8
  81. package/lib/assets/icons/kandoStepper/index.js +9 -14
  82. package/lib/components/ApplyButton/ApplyButton.js +5 -11
  83. package/lib/components/ApplyButton/index.js +1 -4
  84. package/lib/components/Backdrop/Backdrop.js +2 -8
  85. package/lib/components/ContentLoader/ContentLoader.js +7 -12
  86. package/lib/components/ContentLoader/index.js +1 -2
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +7 -14
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +2 -8
  89. package/lib/components/CustomInputs/DoubleTabs/styles.js +2 -10
  90. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +5 -18
  91. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +1 -5
  92. package/lib/components/CustomInputs/Search/Search.js +13 -38
  93. package/lib/components/CustomInputs/Search/index.js +1 -4
  94. package/lib/components/CustomInputs/Select/Select.js +13 -31
  95. package/lib/components/CustomInputs/Select/Select.stories.js +2 -8
  96. package/lib/components/DamageType/DamageType.js +37 -76
  97. package/lib/components/DamageType/index.js +1 -4
  98. package/lib/components/DataLoaderError/DataLoaderError.js +4 -10
  99. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +6 -16
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +17 -37
  101. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +12 -37
  102. package/lib/components/DischargeHeatmap/HighchartsOptions.js +6 -10
  103. package/lib/components/DischargeHeatmap/index.js +1 -4
  104. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
  105. package/lib/components/DischargeHeatmap/popupText.js +1 -16
  106. package/lib/components/DischargeHeatmap/titles.js +1 -8
  107. package/lib/components/DischargeHeatmap/types.js +1 -1
  108. package/lib/components/ErrorBoundary.js +3 -15
  109. package/lib/components/Events/Events.js +5 -30
  110. package/lib/components/Events/index.js +1 -4
  111. package/lib/components/Graph/Graph.js +31 -74
  112. package/lib/components/Graph/index.js +1 -4
  113. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +1 -7
  114. package/lib/components/Header/Breadcrumbs/index.js +1 -4
  115. package/lib/components/Header/DoubleTabs/DoubleTabs.js +14 -30
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +2 -8
  117. package/lib/components/Header/DoubleTabs/styles.js +2 -10
  118. package/lib/components/Header/Header.js +1 -7
  119. package/lib/components/Header/Header.stories.js +2 -8
  120. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +1 -11
  121. package/lib/components/Header/InfoBar/InfoBar.js +4 -30
  122. package/lib/components/Header/InfoBar/Search/Control.js +2 -13
  123. package/lib/components/Header/InfoBar/Search/GroupLabel.js +1 -12
  124. package/lib/components/Header/InfoBar/Search/Search.js +5 -26
  125. package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -21
  126. package/lib/components/Header/InfoBar/Search/index.js +1 -4
  127. package/lib/components/Header/InfoBar/Search/searchStyle.js +1 -4
  128. package/lib/components/Header/KandoNavbar/KandoNavbar.js +46 -91
  129. package/lib/components/Header/KandoNavbar/index.js +1 -4
  130. package/lib/components/Header/Slideshow/Slideshow.js +31 -67
  131. package/lib/components/Header/Slideshow/index.js +1 -4
  132. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +1 -7
  133. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +2 -15
  134. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +1 -15
  135. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +7 -24
  136. package/lib/components/Header/Toolbar/Toolbar.js +46 -84
  137. package/lib/components/InfoBar/InfoBar.js +8 -23
  138. package/lib/components/InfoBar/InfoBar.stories.js +2 -8
  139. package/lib/components/KandoModal/KandoModal.js +19 -42
  140. package/lib/components/KandoModal/index.js +1 -4
  141. package/lib/components/Link.js +2 -11
  142. package/lib/components/Links/CustomRedirect/CustomRedirect.js +3 -12
  143. package/lib/components/Links/StyledLink/StyledLink.js +6 -16
  144. package/lib/components/Links/StyledNavLink/StyledNavLink.js +4 -14
  145. package/lib/components/LiveEvents/CarouselSlide.js +5 -11
  146. package/lib/components/LiveEvents/LiveEvents.js +1 -10
  147. package/lib/components/LiveEvents/index.js +1 -4
  148. package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -23
  149. package/lib/components/Map/Map.js +12 -26
  150. package/lib/components/Map/index.js +1 -4
  151. package/lib/components/Modal/Modal.js +3 -10
  152. package/lib/components/NarrowHeader.js +1 -12
  153. package/lib/components/PointInfo/PointInfo.js +10 -22
  154. package/lib/components/PointInfo/index.js +1 -4
  155. package/lib/components/PopupModal/PopupModal.js +6 -17
  156. package/lib/components/PopupModal/PopupModal.stories.js +2 -11
  157. package/lib/components/Sector/Sector.js +4 -13
  158. package/lib/components/Sector/Sector.test.js +3 -8
  159. package/lib/components/Sector/index.js +1 -4
  160. package/lib/components/Sector/sectorIcons.js +1 -27
  161. package/lib/components/SevereEvent/Eta/Eta.js +14 -39
  162. package/lib/components/SevereEvent/Eta/styles.js +1 -5
  163. package/lib/components/SevereEvent/SevereEvent.js +15 -36
  164. package/lib/components/Spinner/Spinner.js +5 -10
  165. package/lib/components/Spinner/Spinner.stories.js +2 -8
  166. package/lib/components/Spinner/index.js +1 -4
  167. package/lib/components/Spinner/styles.js +1 -9
  168. package/lib/components/Tabs/Tabs.js +4 -24
  169. package/lib/components/Tabs/Tabs.stories.js +2 -8
  170. package/lib/components/Tabs/assets/index.js +1 -6
  171. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +2 -12
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +12 -43
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +12 -36
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +1 -4
  175. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +9 -29
  176. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +4 -9
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +1 -4
  178. package/lib/components/TimeRangeSelector/TimeRangeList.js +4 -13
  179. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +11 -24
  180. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +11 -36
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +2 -10
  182. package/lib/components/TimeRangeSelector/constants.js +2 -2
  183. package/lib/components/TimeRangeSelector/index.js +1 -4
  184. package/lib/components/Toggle/Toggle.js +7 -21
  185. package/lib/components/Toggle/index.js +1 -4
  186. package/lib/components/TrendGraph/TrendGraph.js +16 -49
  187. package/lib/components/TrendGraph/index.js +1 -4
  188. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +10 -35
  189. package/lib/components/TrendGraphNVL/index.js +1 -4
  190. package/lib/development-environment/index.js +1 -13
  191. package/lib/development-environment/mock/browser.js +1 -8
  192. package/lib/development-environment/mock/get.js +1 -5
  193. package/lib/development-environment/mock/handlers.js +1 -26
  194. package/lib/development-environment/mock/mockBus.js +2 -7
  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 +4 -22
  214. package/lib/development-environment/togly/ToglyItem.js +5 -25
  215. package/lib/development-environment/togly/flags.js +1 -1
  216. package/lib/development-environment/togly/init.js +1 -6
  217. package/lib/development-environment/togly/macro.js +7 -9
  218. package/lib/development-environment/togly/useDoubleKeyDown.js +1 -8
  219. package/lib/development-environment/togly/useLocalStorage.js +12 -19
  220. package/lib/hooks/useApi.js +10 -29
  221. package/lib/hooks/useApiWithDashboardQuery.js +10 -30
  222. package/lib/hooks/useClickOutside.js +1 -5
  223. package/lib/hooks/useInitializeHeaders.js +1 -7
  224. package/lib/hooks/useKandoFetch.js +13 -27
  225. package/lib/hooks/useMap.js +8 -39
  226. package/lib/hooks/useNavContext.js +13 -22
  227. package/lib/hooks/useQueryURL.js +1 -4
  228. package/lib/hooks/useRemoveExistingLayers.js +2 -7
  229. package/lib/hooks/useUpdateEventBodyTail.js +1 -10
  230. package/lib/hooks/useUserTimeZone.js +1 -9
  231. package/lib/hooks/useUserTimeZone.test.js +1 -9
  232. package/lib/hooks/useWindowSize.js +14 -19
  233. package/lib/index.js +13 -29
  234. package/lib/macros/getVersion.js +2 -3
  235. package/lib/models/IAction.js +1 -1
  236. package/lib/models/IAppState.js +1 -1
  237. package/lib/pages/AreaPage/AreaPage.js +5 -34
  238. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +6 -17
  239. package/lib/pages/AreaPage/Dashboard/Dashboard.js +3 -24
  240. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +11 -35
  241. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +6 -8
  242. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +28 -64
  243. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +1 -10
  244. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +3 -15
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -7
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  247. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  248. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -11
  249. package/lib/pages/AssessmentPage/AssessmentPage.js +5 -30
  250. package/lib/pages/CannyWidget/Feedback.js +10 -25
  251. package/lib/pages/CovidPage/CovidPage.js +1 -14
  252. package/lib/pages/CovidPage/components/Body.js +9 -33
  253. package/lib/pages/CovidPage/components/Map.js +20 -38
  254. package/lib/pages/CovidPage/components/Sidebar.js +4 -18
  255. package/lib/pages/CovidPage/components/Summary.js +8 -29
  256. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +10 -35
  257. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +1 -4
  258. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +13 -41
  259. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +1 -4
  260. package/lib/pages/CovidPage/components/areas/Area.js +6 -33
  261. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +4 -45
  262. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +5 -18
  263. package/lib/pages/CovidPage/components/areas/AreasList.js +14 -33
  264. package/lib/pages/CovidPage/components/areas/Sort.js +5 -19
  265. package/lib/pages/CovidPage/components/nvlStatusHelper.js +2 -11
  266. package/lib/pages/EventsPage/Body/Body.js +2 -19
  267. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +11 -28
  268. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +11 -31
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +4 -11
  270. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +3 -11
  271. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +5 -10
  272. package/lib/pages/EventsPage/DragAndDropArea/index.js +1 -4
  273. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +7 -33
  274. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +2 -21
  275. package/lib/pages/EventsPage/EventsPage.js +1 -13
  276. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +9 -32
  277. package/lib/pages/EventsPage/events/MoreInfo.js +1 -19
  278. package/lib/pages/EventsPage/events/Sidebar.js +5 -18
  279. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +5 -29
  280. package/lib/pages/EventsPage/events/event_info/EventDetails.js +8 -32
  281. package/lib/pages/EventsPage/events/event_info/EventInfo.js +12 -41
  282. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +2 -14
  283. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +10 -40
  284. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +1 -12
  285. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +8 -30
  286. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +1 -8
  287. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +7 -27
  288. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +2 -10
  289. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +5 -21
  290. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +4 -23
  291. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +4 -22
  292. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +6 -33
  293. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +3 -15
  294. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +2 -10
  295. package/lib/pages/EventsPage/events/event_info/sources/Source.js +8 -31
  296. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +4 -20
  297. package/lib/pages/EventsPage/events/events_list/EventItem.js +3 -24
  298. package/lib/pages/EventsPage/events/events_list/EventUtils.js +2 -13
  299. package/lib/pages/EventsPage/events/events_list/EventsList.js +38 -102
  300. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +11 -32
  301. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +31 -96
  302. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +10 -55
  303. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +5 -17
  304. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -38
  305. package/lib/pages/EventsPage/events/events_list/Sort.js +4 -23
  306. package/lib/pages/ImportFileWizard/FileUploadRespones.js +4 -19
  307. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +2 -8
  308. package/lib/pages/ImportFileWizard/ImportFile.js +10 -29
  309. package/lib/pages/ImportFileWizard/ResponseBody.js +3 -12
  310. package/lib/pages/ImportFileWizard/ValidationForm.js +7 -27
  311. package/lib/pages/ImportFileWizard/ValidationResponse.js +6 -30
  312. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -2
  313. package/lib/pages/ImportFileWizard/index.js +1 -4
  314. package/lib/pages/ImportGisPage/ImportGisContainer.js +7 -27
  315. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +10 -27
  316. package/lib/pages/ImportGisPage/importGisUtils.js +1 -13
  317. package/lib/pages/ImportGisProcess/index.js +4 -18
  318. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +5 -19
  319. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +3 -10
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +1 -8
  321. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +25 -58
  322. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +2 -8
  323. package/lib/pages/NotificationsPage/Notification/Notification.js +8 -16
  324. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  325. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  326. package/lib/pages/NotificationsPage/Notifications.stories.js +2 -10
  327. package/lib/pages/NotificationsPage/NotificationsPage.js +11 -35
  328. package/lib/pages/NotificationsPage/assets/index.js +15 -24
  329. package/lib/pages/NotificationsPageV2/NotificationsPage.js +35 -83
  330. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +4 -24
  331. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +15 -40
  332. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +18 -49
  333. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +6 -49
  334. package/lib/pages/NotificationsPageV2/notificationUtils.js +2 -30
  335. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  336. package/lib/pages/OldSitePage/OldSitePage.js +16 -77
  337. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +3 -16
  338. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  339. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -9
  340. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +5 -12
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -23
  343. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  344. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +28 -59
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  351. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +3 -18
  352. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +8 -16
  354. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +1 -16
  355. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  356. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  357. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +2 -7
  358. package/lib/pages/ProfilePage/Container.js +1 -5
  359. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +16 -43
  360. package/lib/pages/ProfilePage/ProfilePage.js +39 -88
  361. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +9 -32
  362. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +7 -17
  363. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +3 -14
  364. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +7 -43
  365. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +4 -21
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +7 -15
  367. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +8 -29
  368. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +6 -25
  369. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +9 -21
  370. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +1 -13
  371. package/lib/pages/SamplingsPage/DesktopActions/index.js +1 -4
  372. package/lib/pages/SamplingsPage/NavigationDropdown.js +3 -21
  373. package/lib/pages/SamplingsPage/NewSamplingAction.js +38 -84
  374. package/lib/pages/SamplingsPage/SamplingMobileModal.js +12 -65
  375. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +5 -19
  376. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -13
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +22 -56
  378. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +4 -20
  379. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +1 -14
  380. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +34 -107
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +11 -42
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +14 -47
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +15 -49
  384. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +5 -21
  385. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +2 -8
  386. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +1 -11
  387. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +7 -36
  388. package/lib/pages/SamplingsPage/SamplingsMobileList.js +10 -34
  389. package/lib/pages/SamplingsPage/SamplingsPage.js +14 -39
  390. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +14 -48
  391. package/lib/pages/SamplingsPage/index.js +1 -3
  392. package/lib/pages/SamplingsPage/samplingsPageUtils.js +7 -30
  393. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +2 -10
  394. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  395. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +3 -17
  396. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -11
  397. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +15 -23
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +7 -16
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +18 -27
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -26
  402. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  403. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  407. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +32 -68
  408. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  410. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +4 -19
  411. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  412. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +17 -38
  413. package/lib/pages/SitePage/SamplingParameters/dataParser.js +13 -29
  414. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +3 -7
  415. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  416. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  417. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +2 -8
  418. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +5 -12
  419. package/lib/pages/SitePage/SiteInformation/EmptyState.js +1 -10
  420. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +5 -15
  421. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +17 -48
  422. package/lib/pages/SitePage/SiteInformation/style.js +2 -8
  423. package/lib/pages/SitePage/SitePage.js +10 -49
  424. package/lib/pages/UploadLabResult/index.js +1 -8
  425. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +9 -37
  426. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +2 -9
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +2 -16
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +2 -8
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +9 -35
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +1 -5
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +1 -7
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +1 -10
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +7 -16
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  435. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +1 -10
  436. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +1 -5
  437. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +3 -25
  438. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +13 -19
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +6 -17
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +5 -20
  441. package/lib/pages/WbeDashboard/ExpandableComponent.js +1 -11
  442. package/lib/pages/WbeDashboard/GraphWrapper.js +5 -26
  443. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +6 -19
  444. package/lib/pages/WbeDashboard/SearchInput.js +4 -22
  445. package/lib/pages/WbeDashboard/SummaryGraph.js +13 -44
  446. package/lib/pages/WbeDashboard/SummaryGraphModal.js +1 -13
  447. package/lib/pages/WbeDashboard/Tabs.js +3 -9
  448. package/lib/pages/WbeDashboard/WbeDashboardPage.js +25 -112
  449. package/lib/pages/WbeDashboard/WbeSummaryBar.js +8 -42
  450. package/lib/providers/Slideshow/SlideshowContext.js +3 -5
  451. package/lib/providers/Slideshow/SlideshowProvider.js +16 -31
  452. package/lib/providers/Slideshow/SlideshowRunner.js +7 -17
  453. package/lib/providers/UrlHistory/UrlHistoryContext.js +3 -7
  454. package/lib/providers/UrlHistory/UrlHistoryProvider.js +1 -13
  455. package/lib/providers/UrlHistory/index.js +5 -8
  456. package/lib/providers/UrlHistory/useLastVisited.js +1 -7
  457. package/lib/react-app-env.d.js +1 -1
  458. package/lib/store/ImportGis/action.js +1 -1
  459. package/lib/store/ImportGis/actionTypes.js +1 -2
  460. package/lib/store/ImportGis/actionsCreator.js +7 -17
  461. package/lib/store/ImportGis/models/gisImports.js +1 -1
  462. package/lib/store/ImportGis/reducer.js +1 -17
  463. package/lib/store/WBE/actionTypes.js +1 -1
  464. package/lib/store/WBE/actions.js +1 -3
  465. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  466. package/lib/store/WBE/models/IWBE.js +1 -1
  467. package/lib/store/WBE/models/IWBEState.js +1 -1
  468. package/lib/store/WBE/reducer.js +2 -9
  469. package/lib/store/areas/actionTypes.js +2 -2
  470. package/lib/store/areas/actions.js +2 -11
  471. package/lib/store/areas/models/IArea.js +1 -1
  472. package/lib/store/areas/models/IAreasState.js +1 -1
  473. package/lib/store/areas/reducer.js +1 -9
  474. package/lib/store/context/actionTypes.js +2 -2
  475. package/lib/store/context/actions.js +2 -6
  476. package/lib/store/context/contextMiddlewares.js +1 -9
  477. package/lib/store/context/models/INavContext.js +1 -1
  478. package/lib/store/context/models/INavContextState.js +1 -1
  479. package/lib/store/context/reducer.js +2 -9
  480. package/lib/store/dashboard/dashboardSlice.js +1 -3
  481. package/lib/store/dashboard/periodType.js +1 -1
  482. package/lib/store/edges/actionTypes.js +2 -2
  483. package/lib/store/edges/actions.js +3 -9
  484. package/lib/store/edges/models/IEdge.js +1 -1
  485. package/lib/store/edges/models/IEdgesState.js +1 -1
  486. package/lib/store/edges/reducer.js +2 -16
  487. package/lib/store/events/actionTypes.js +2 -2
  488. package/lib/store/events/actions.js +10 -28
  489. package/lib/store/events/models/IEvent.js +1 -1
  490. package/lib/store/events/models/IEventsState.js +1 -1
  491. package/lib/store/events/models/ISource.js +1 -1
  492. package/lib/store/events/reducer.js +3 -41
  493. package/lib/store/filters/IFilter.js +1 -1
  494. package/lib/store/filters/IFilterItem.js +1 -1
  495. package/lib/store/global/actionTypes.js +2 -2
  496. package/lib/store/global/actions.js +8 -20
  497. package/lib/store/global/models/IGlobalState.js +1 -1
  498. package/lib/store/global/reducer.js +2 -18
  499. package/lib/store/permissions/permissionsSlice.js +1 -6
  500. package/lib/store/points/actionTypes.js +2 -2
  501. package/lib/store/points/actions.js +1 -5
  502. package/lib/store/points/models/IGroup.js +1 -1
  503. package/lib/store/points/models/IPoint.js +1 -1
  504. package/lib/store/points/models/IPointsState.js +1 -1
  505. package/lib/store/points/reducer.js +1 -7
  506. package/lib/store/rootActionTypes.js +1 -1
  507. package/lib/store/rootActions.js +1 -3
  508. package/lib/store/rootReducer.js +4 -23
  509. package/lib/store/rootStore.js +4 -12
  510. package/lib/store/samplings/action.js +1 -1
  511. package/lib/store/samplings/actionTypes.js +1 -2
  512. package/lib/store/samplings/actionsCreator.js +2 -5
  513. package/lib/store/samplings/models/Samplings.js +1 -1
  514. package/lib/store/samplings/reducer.js +1 -9
  515. package/lib/styles/StylesLayout.js +1 -7
  516. package/lib/styles/theme/theme.js +2 -4
  517. package/lib/test/mocks/browser.js +3 -7
  518. package/lib/test/test-utils.js +11 -21
  519. package/lib/ui-kit/Button/Button.js +15 -23
  520. package/lib/ui-kit/Button/Button.test.js +6 -26
  521. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  522. package/lib/ui-kit/Checkbox/Checkbox.js +7 -21
  523. package/lib/ui-kit/DropDown/DropDown.js +5 -16
  524. package/lib/ui-kit/DropDown/DropDown.test.js +6 -12
  525. package/lib/ui-kit/DropDown/DropDownItem.js +5 -13
  526. package/lib/ui-kit/DropDown/DropdownToggle.js +2 -13
  527. package/lib/ui-kit/IconAction/IconAction.js +3 -9
  528. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +16 -49
  529. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +16 -27
  530. package/lib/ui-kit/KandoList/KandoList.js +5 -16
  531. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  532. package/lib/ui-kit/KandoTable/KandoTable.js +21 -35
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -16
  534. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  535. package/lib/ui-kit/Layout/Layout.js +1 -8
  536. package/lib/ui-kit/MobileInput/MobileInput.js +18 -33
  537. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +8 -14
  538. package/lib/ui-kit/ModalConfirmation/index.js +1 -3
  539. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +5 -10
  540. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +3 -11
  541. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -11
  542. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +5 -14
  543. package/lib/ui-kit/Tooltip/Tooltip.js +3 -8
  544. package/lib/ui-kit/index.js +1 -15
  545. package/lib/ui-kit/kandoStepper/KandoStepper.js +2 -7
  546. package/lib/utilities/ActionUtility.js +1 -2
  547. package/lib/utilities/Alert.js +2 -10
  548. package/lib/utilities/Analytics.js +1 -12
  549. package/lib/utilities/Array.js +2 -6
  550. package/lib/utilities/Enum.js +1 -16
  551. package/lib/utilities/ErrorBoundary.js +3 -18
  552. package/lib/utilities/File.js +5 -24
  553. package/lib/utilities/GetDir.js +4 -8
  554. package/lib/utilities/KandoDate.js +1 -7
  555. package/lib/utilities/KandoModal.js +7 -22
  556. package/lib/utilities/LocalStorage.js +2 -13
  557. package/lib/utilities/ThousandsToK.js +1 -3
  558. package/lib/utilities/TimeFormat.js +6 -19
  559. package/lib/utilities/Truncate.js +7 -27
  560. package/lib/utilities/edgesMath.js +5 -24
  561. package/lib/utilities/i18n.js +1 -14
  562. package/lib/utilities/kql.js +3 -10
  563. package/lib/utilities/map/icons.js +1 -14
  564. package/lib/utilities/scoreToColor.js +1 -8
  565. package/lib/utilities/time.js +2 -9
  566. package/lib/utilities/uploadToS3.js +1 -9
  567. package/lib/utilities/urls.js +4 -12
  568. package/package.json +1 -1
@@ -1,71 +1,54 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.pointIsWWTP = exports.pointIsObservation = exports.findAndDrawEventNetworkEdges = exports.drawNetwork = exports.findEdgesFromEventPathToDraw = exports.nextLevelDownStream = exports.recursiveDownStreamSearch = exports.findDownstreamEdgesToDraw = exports.findUpstreamEdgesToDraw = exports.getUpstreamEdges = exports.getFirstEdgeOfEventPath = exports.drawManholeIcon = void 0;
9
-
7
+ exports.recursiveDownStreamSearch = exports.pointIsWWTP = exports.pointIsObservation = exports.nextLevelDownStream = exports.getUpstreamEdges = exports.getFirstEdgeOfEventPath = exports.findUpstreamEdgesToDraw = exports.findEdgesFromEventPathToDraw = exports.findDownstreamEdgesToDraw = exports.findAndDrawEventNetworkEdges = exports.drawNetwork = exports.drawManholeIcon = void 0;
10
8
  require("leaflet-polylinedecorator");
11
-
12
9
  var _leaflet = _interopRequireDefault(require("leaflet"));
13
-
14
10
  var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
15
-
16
11
  var _actions = require("../../../store/events/actions");
17
-
18
12
  var _PointUtils = require("../points/PointUtils");
19
-
20
13
  var drawManholeIcon = function drawManholeIcon(sourcePoint, map) {
21
14
  var pointIcon = _leaflet.default.icon({
22
15
  iconUrl: _whitePoint.default,
23
16
  iconSize: [9, 9],
24
17
  iconAnchor: [4.5, 4.5]
25
18
  });
26
-
27
19
  var manholeIcon = _leaflet.default.marker([sourcePoint.latitude, sourcePoint.longitude], {
28
20
  icon: pointIcon,
29
21
  riseOnHover: true
30
22
  }).addTo(map);
31
-
32
23
  manholeIcon.bindTooltip("".concat(sourcePoint.group.name, " (").concat(sourcePoint.group.sector_name, ")"));
33
24
  manholeIcon['kando_object_id'] = sourcePoint.id;
34
25
  manholeIcon['kando_object'] = 'UpstreamPoint';
35
26
  };
36
-
37
27
  exports.drawManholeIcon = drawManholeIcon;
38
-
39
28
  var getFirstEdgeOfEventPath = function getFirstEdgeOfEventPath(edges, event) {
40
29
  if (event.path[0] === undefined) return;
41
30
  return edges.find(function (edge) {
42
31
  return edge.id === event.path[0].edge_id;
43
32
  });
44
33
  };
45
-
46
34
  exports.getFirstEdgeOfEventPath = getFirstEdgeOfEventPath;
47
-
48
35
  var findEdges = function findEdges(edges, nextUpstreamLevelIds) {
49
36
  return edges.filter(function (edge) {
50
37
  return nextUpstreamLevelIds.includes(edge.target_point_id);
51
38
  });
52
39
  };
53
-
54
40
  var recursiveUpstreamSearch = function recursiveUpstreamSearch(nextLevel, edges, mapAllEdgesNesting, allUpstreamEdges) {
55
41
  var nextUpstreamLevelIds = nextLevel.map(function (edge) {
56
42
  return edge.source_point_id;
57
43
  });
58
-
59
44
  if (findEdges(edges, nextUpstreamLevelIds).length === 0) {
60
45
  return mapAllEdgesNesting([nextLevel]);
61
46
  } else {
62
47
  allUpstreamEdges.push(findEdges(edges, nextUpstreamLevelIds));
63
48
  recursiveUpstreamSearch(findEdges(edges, nextUpstreamLevelIds), edges, mapAllEdgesNesting, allUpstreamEdges);
64
49
  }
65
-
66
50
  return mapAllEdgesNesting(allUpstreamEdges);
67
51
  };
68
-
69
52
  var mapAllEdgesNesting = function mapAllEdgesNesting(allUpstreamEdges) {
70
53
  var mapped = [];
71
54
  allUpstreamEdges.forEach(function (edges) {
@@ -75,7 +58,6 @@ var mapAllEdgesNesting = function mapAllEdgesNesting(allUpstreamEdges) {
75
58
  });
76
59
  return mapped;
77
60
  };
78
-
79
61
  var getUpstreamEdges = function getUpstreamEdges(firstEdge, edges) {
80
62
  var allUpstreamEdges = [];
81
63
  var firstUpstreamLevel = edges.filter(function (edge) {
@@ -83,9 +65,7 @@ var getUpstreamEdges = function getUpstreamEdges(firstEdge, edges) {
83
65
  });
84
66
  return recursiveUpstreamSearch(firstUpstreamLevel, edges, mapAllEdgesNesting, allUpstreamEdges);
85
67
  };
86
-
87
68
  exports.getUpstreamEdges = getUpstreamEdges;
88
-
89
69
  var findUpstreamEdgesToDraw = function findUpstreamEdgesToDraw(upstreamEdges, edgesToDraw, points, edges) {
90
70
  upstreamEdges.forEach(function (upstreamEdge) {
91
71
  if (upstreamEdge) {
@@ -101,20 +81,15 @@ var findUpstreamEdgesToDraw = function findUpstreamEdgesToDraw(upstreamEdges, ed
101
81
  if (connectionEdge !== undefined) edgesToDraw.push(connectionEdge);
102
82
  return edgesToDraw;
103
83
  };
104
-
105
84
  exports.findUpstreamEdgesToDraw = findUpstreamEdgesToDraw;
106
-
107
85
  var findDownstreamEdgesToDraw = function findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw) {
108
86
  recursiveDownStreamSearch(downstreamNetwork, edges).forEach(function (downStreamEdge) {
109
87
  edgesToDraw.push(downStreamEdge);
110
88
  });
111
89
  };
112
-
113
90
  exports.findDownstreamEdgesToDraw = findDownstreamEdgesToDraw;
114
-
115
91
  var recursiveDownStreamSearch = function recursiveDownStreamSearch(downstreamNetwork, edges) {
116
92
  var lastDownStreamEdge = downstreamNetwork[downstreamNetwork.length - 1];
117
-
118
93
  if (nextLevelDownStream(lastDownStreamEdge, edges).length === 0) {
119
94
  return downstreamNetwork;
120
95
  } else {
@@ -123,20 +98,15 @@ var recursiveDownStreamSearch = function recursiveDownStreamSearch(downstreamNet
123
98
  recursiveDownStreamSearch(downstreamNetwork, edges);
124
99
  });
125
100
  }
126
-
127
101
  return downstreamNetwork;
128
102
  };
129
-
130
103
  exports.recursiveDownStreamSearch = recursiveDownStreamSearch;
131
-
132
104
  var nextLevelDownStream = function nextLevelDownStream(firstEdge, edges) {
133
105
  return edges.filter(function (edge) {
134
106
  return edge.source_point_id === firstEdge.target_point_id;
135
107
  });
136
108
  };
137
-
138
109
  exports.nextLevelDownStream = nextLevelDownStream;
139
-
140
110
  var findEdgesFromEventPathToDraw = function findEdgesFromEventPathToDraw(edgesToDraw, event, edges) {
141
111
  event.path.forEach(function (part) {
142
112
  var matchedPart = edges.find(function (edge) {
@@ -145,24 +115,21 @@ var findEdgesFromEventPathToDraw = function findEdgesFromEventPathToDraw(edgesTo
145
115
  if (matchedPart !== undefined) edgesToDraw.push(matchedPart);
146
116
  });
147
117
  };
148
-
149
118
  exports.findEdgesFromEventPathToDraw = findEdgesFromEventPathToDraw;
150
-
151
119
  var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
152
120
  var latlngs = [];
153
121
  edges.forEach(function (edge) {
154
122
  edge.shape_data.forEach(function (data) {
155
123
  latlngs.push([data.lat, data.lng]);
156
124
  });
157
-
158
125
  var polylineBack = _leaflet.default.polyline(latlngs, {
159
126
  color: 'rgb(227,227,227)',
160
127
  weight: 6,
161
128
  opacity: 1
162
129
  }).addTo(map);
163
-
164
130
  var tailDash = _leaflet.default.polylineDecorator(polylineBack._latlngs, {
165
- patterns: [// defines a pattern of 10px-wide dashes, repeated every 20px on the line
131
+ patterns: [
132
+ // defines a pattern of 10px-wide dashes, repeated every 20px on the line
166
133
  {
167
134
  offset: 15,
168
135
  repeat: 25,
@@ -177,9 +144,7 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
177
144
  })
178
145
  }]
179
146
  }).addTo(map);
180
-
181
147
  tailDash['kando_object'] = 'Decorator';
182
-
183
148
  if (points.length !== 0) {
184
149
  var sourcePoint = points.find(function (point) {
185
150
  return point.id === edge.source_point_id;
@@ -187,29 +152,24 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
187
152
  var targetPoint = points.find(function (point) {
188
153
  return point.id === edge.target_point_id;
189
154
  });
190
-
191
155
  if (sourcePoint !== undefined && targetPoint !== undefined) {
192
156
  polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
193
157
  }
194
-
195
158
  if (sourcePoint) drawManholeIcon(sourcePoint, map);
196
159
  if (targetPoint) drawManholeIcon(targetPoint, map);
197
160
  if (sourcePoint && (sourcePoint.has_device || pointIsWWTP(sourcePoint))) (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint, map);
198
161
  if (targetPoint && (targetPoint.has_device || pointIsWWTP(targetPoint))) (0, _PointUtils.createBubblePoint)([targetPoint.latitude, targetPoint.longitude], targetPoint, map);
199
162
  }
200
-
201
163
  polylineBack['kando_object_id'] = edge.id;
202
164
  if (event.hovered) polylineBack['kando_object'] = 'HoveredEdge';
203
165
  if (event.focused) polylineBack['kando_object'] = 'FocusedEdge';
204
166
  polylineBack.bringToFront();
205
167
  tailDash.bringToFront();
206
-
207
168
  var polylineFront = _leaflet.default.polyline(latlngs, {
208
169
  color: 'rgb(29,29,29)',
209
170
  weight: 1,
210
171
  opacity: 1
211
172
  }).addTo(map);
212
-
213
173
  polylineFront['kando_object_id'] = edge.id;
214
174
  if (event.hovered) polylineFront['kando_object'] = 'HoveredEdgeFront';
215
175
  if (event.focused) polylineFront['kando_object'] = 'FocusedEdgeFront';
@@ -218,13 +178,10 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
218
178
  latlngs = [];
219
179
  });
220
180
  };
221
-
222
181
  exports.drawNetwork = drawNetwork;
223
-
224
182
  var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges, event, points, dispatch, map) {
225
183
  var edgesToDraw = [];
226
184
  var firstEdge = getFirstEdgeOfEventPath(edges, event);
227
-
228
185
  if (firstEdge !== undefined) {
229
186
  var downstreamNetwork = [firstEdge];
230
187
  var upstreamEdges = getUpstreamEdges(firstEdge, edges);
@@ -232,23 +189,17 @@ var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges,
232
189
  if (upstreamEdges.length !== 0) findUpstreamEdgesToDraw(upstreamEdges, edgesToDraw, points, edges);
233
190
  findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw);
234
191
  }
235
-
236
192
  drawNetwork(edgesToDraw, points, dispatch, map, event);
237
193
  };
238
-
239
194
  exports.findAndDrawEventNetworkEdges = findAndDrawEventNetworkEdges;
240
-
241
195
  var pointIsObservation = function pointIsObservation(event, point) {
242
196
  return event.observations.find(function (obs) {
243
197
  return obs.point_id === point.id;
244
198
  });
245
199
  };
246
-
247
200
  exports.pointIsObservation = pointIsObservation;
248
-
249
201
  var pointIsWWTP = function pointIsWWTP(point) {
250
202
  return point.group.type === 'Groups::WastewaterTreatmentPlant';
251
203
  };
252
-
253
204
  exports.pointIsWWTP = pointIsWWTP;
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1QlgsV0FBVyxDQUFDWSxTQUFuQyxDQURx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QXRDLENBQXpCO0FBQ0Q7O0FBRURjLEVBQUFBLFdBQVcsQ0FBQ2QsV0FBRCxFQUFjQyxNQUFkLEVBQXNCYyxRQUF0QixFQUFnQzdELEdBQWhDLEVBQXFDcUIsS0FBckMsQ0FBWDtBQUNELENBcEJNOzs7O0FBc0JBLElBQU0wRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUMxRSxLQUFELEVBQWdCNEIsS0FBaEIsRUFBa0M7QUFDbEUsU0FBTzVCLEtBQUssQ0FBQzJFLFlBQU4sQ0FBbUJ4RSxJQUFuQixDQUF3QixVQUFDeUUsR0FBRDtBQUFBLFdBQVNBLEdBQUcsQ0FBQ0MsUUFBSixLQUFpQmpELEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZb0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG4gICAgfVxuICB9KTtcblxuICBsZXQgY29ubmVjdGlvbkVkZ2UgPSBlZGdlcy5maW5kKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlc1swXS50YXJnZXRfcG9pbnRfaWQsXG4gICk7XG4gIGlmIChjb25uZWN0aW9uRWRnZSAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKGNvbm5lY3Rpb25FZGdlKTtcbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQgJiYgKHRhcmdldFBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpKSlcbiAgICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgICAgW3RhcmdldFBvaW50LmxhdGl0dWRlLCB0YXJnZXRQb2ludC5sb25naXR1ZGVdLFxuICAgICAgICAgIHRhcmdldFBvaW50LFxuICAgICAgICAgIG1hcCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZSc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2UnO1xuXG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgIHdlaWdodDogMSxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuIl19
205
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3doaXRlUG9pbnQiLCJfYWN0aW9ucyIsIl9Qb2ludFV0aWxzIiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJMIiwiaWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwibWFuaG9sZUljb24iLCJtYXJrZXIiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInJpc2VPbkhvdmVyIiwiYWRkVG8iLCJiaW5kVG9vbHRpcCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsInNlY3Rvcl9uYW1lIiwiaWQiLCJleHBvcnRzIiwiZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgiLCJlZGdlcyIsImV2ZW50IiwicGF0aCIsInVuZGVmaW5lZCIsImZpbmQiLCJlZGdlIiwiZWRnZV9pZCIsImZpbmRFZGdlcyIsIm5leHRVcHN0cmVhbUxldmVsSWRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ0YXJnZXRfcG9pbnRfaWQiLCJyZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCIsIm5leHRMZXZlbCIsIm1hcEFsbEVkZ2VzTmVzdGluZyIsImFsbFVwc3RyZWFtRWRnZXMiLCJzb3VyY2VfcG9pbnRfaWQiLCJsZW5ndGgiLCJwdXNoIiwibWFwcGVkIiwiZm9yRWFjaCIsImdldFVwc3RyZWFtRWRnZXMiLCJmaXJzdEVkZ2UiLCJmaXJzdFVwc3RyZWFtTGV2ZWwiLCJmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyIsInVwc3RyZWFtRWRnZXMiLCJlZGdlc1RvRHJhdyIsInBvaW50cyIsInVwc3RyZWFtRWRnZSIsInBvaW50IiwiY29ubmVjdGlvbkVkZ2UiLCJmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3IiwiZG93bnN0cmVhbU5ldHdvcmsiLCJyZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoIiwiZG93blN0cmVhbUVkZ2UiLCJsYXN0RG93blN0cmVhbUVkZ2UiLCJuZXh0TGV2ZWxEb3duU3RyZWFtIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsInBhcnQiLCJtYXRjaGVkUGFydCIsImRyYXdOZXR3b3JrIiwiZGlzcGF0Y2giLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsImRhdGEiLCJsYXQiLCJsbmciLCJwb2x5bGluZUJhY2siLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0Iiwib3BhY2l0eSIsInRhaWxEYXNoIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwidGFyZ2V0UG9pbnQiLCJiaW5kUG9wdXAiLCJkaXN0YW5jZSIsImhhc19kZXZpY2UiLCJwb2ludElzV1dUUCIsImNyZWF0ZUJ1YmJsZVBvaW50IiwiaG92ZXJlZCIsImZvY3VzZWQiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMiLCJwb2ludElzT2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG4gICAgfVxuICB9KTtcblxuICBsZXQgY29ubmVjdGlvbkVkZ2UgPSBlZGdlcy5maW5kKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlc1swXS50YXJnZXRfcG9pbnRfaWQsXG4gICk7XG4gIGlmIChjb25uZWN0aW9uRWRnZSAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKGNvbm5lY3Rpb25FZGdlKTtcbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQgJiYgKHRhcmdldFBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpKSlcbiAgICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgICAgW3RhcmdldFBvaW50LmxhdGl0dWRlLCB0YXJnZXRQb2ludC5sb25naXR1ZGVdLFxuICAgICAgICAgIHRhcmdldFBvaW50LFxuICAgICAgICAgIG1hcCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZSc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2UnO1xuXG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgIHdlaWdodDogMSxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7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
@@ -1,43 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.NetworkForSpecificEvent = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _reactRedux = require("react-redux");
13
-
14
10
  var _actions = require("store/events/actions");
15
-
16
11
  var _EventUtils = require("./EventUtils");
17
-
18
12
  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); }
19
-
20
13
  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; }
21
-
22
14
  // @ts-ignore
15
+
23
16
  var NetworkForSpecificEvent = function NetworkForSpecificEvent(_ref) {
24
17
  var event = _ref.event,
25
- edges = _ref.edges,
26
- points = _ref.points,
27
- map = _ref.map;
18
+ edges = _ref.edges,
19
+ points = _ref.points,
20
+ map = _ref.map;
28
21
  var dispatch = (0, _reactRedux.useDispatch)();
29
-
30
22
  var cleanupLogic = function cleanupLogic() {
31
23
  dispatch((0, _actions.setHoveredEdgePaths)([]));
32
24
  var layers = map._layers;
33
-
34
25
  for (var property in layers) {
35
26
  if (layers[property].kando_object !== undefined && (layers[property].kando_object === 'UpstreamPoint' || layers[property].kando_object === 'Point')) {
36
27
  map.removeLayer(layers[property]);
37
28
  }
38
29
  }
39
30
  };
40
-
41
31
  (0, _react.useEffect)(function () {
42
32
  (0, _EventUtils.findAndDrawEventNetworkEdges)(edges, event, points, dispatch, map);
43
33
  return function cleanup() {
@@ -46,6 +36,5 @@ var NetworkForSpecificEvent = function NetworkForSpecificEvent(_ref) {
46
36
  }, [event]);
47
37
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
48
38
  };
49
-
50
39
  exports.NetworkForSpecificEvent = NetworkForSpecificEvent;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvTmV0d29ya0ZvclNwZWNpZmljRXZlbnQudHN4Il0sIm5hbWVzIjpbIk5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50IiwiZXZlbnQiLCJlZGdlcyIsInBvaW50cyIsIm1hcCIsImRpc3BhdGNoIiwiY2xlYW51cExvZ2ljIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwidW5kZWZpbmVkIiwicmVtb3ZlTGF5ZXIiLCJjbGVhbnVwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFJQTs7Ozs7O0FBUkE7QUFpQk8sSUFBTUEsdUJBQXlDLEdBQUcsU0FBNUNBLHVCQUE0QyxPQUtuRDtBQUFBLE1BSkpDLEtBSUksUUFKSkEsS0FJSTtBQUFBLE1BSEpDLEtBR0ksUUFISkEsS0FHSTtBQUFBLE1BRkpDLE1BRUksUUFGSkEsTUFFSTtBQUFBLE1BREpDLEdBQ0ksUUFESkEsR0FDSTtBQUNKLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0EsTUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsR0FBTTtBQUN6QkQsSUFBQUEsUUFBUSxDQUFDLGtDQUFvQixFQUFwQixDQUFELENBQVI7QUFDQSxRQUFJRSxNQUFNLEdBQUdILEdBQUcsQ0FBQ0ksT0FBakI7O0FBQ0EsU0FBSyxJQUFNQyxRQUFYLElBQXVCRixNQUF2QixFQUErQjtBQUM3QixVQUNFQSxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0NDLFNBQWxDLEtBQ0NKLE1BQU0sQ0FBQ0UsUUFBRCxDQUFOLENBQWlCQyxZQUFqQixLQUFrQyxlQUFsQyxJQUNDSCxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0MsT0FGcEMsQ0FERixFQUlFO0FBQ0FOLFFBQUFBLEdBQUcsQ0FBQ1EsV0FBSixDQUFnQkwsTUFBTSxDQUFDRSxRQUFELENBQXRCO0FBQ0Q7QUFDRjtBQUNGLEdBWkQ7O0FBY0Esd0JBQVUsWUFBTTtBQUNkLGtEQUE2QlAsS0FBN0IsRUFBb0NELEtBQXBDLEVBQTJDRSxNQUEzQyxFQUFtREUsUUFBbkQsRUFBNkRELEdBQTdEO0FBRUEsV0FBTyxTQUFTUyxPQUFULEdBQW1CO0FBQ3hCUCxNQUFBQSxZQUFZO0FBQ2IsS0FGRDtBQUdELEdBTkQsRUFNRyxDQUFDTCxLQUFELENBTkg7QUFRQSxzQkFBTywyREFBUDtBQUNELENBOUJNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgTWFwIGFzIExlYWZsZXRNYXAgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDogTGVhZmxldE1hcCB8IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBtYXAsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgY2xlYW51cExvZ2ljID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50JyB8fFxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnKVxuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzKGVkZ2VzLCBldmVudCwgcG9pbnRzLCBkaXNwYXRjaCwgbWFwKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY2xlYW51cExvZ2ljKCk7XG4gICAgfTtcbiAgfSwgW2V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50IiwiX3JlZiIsImV2ZW50IiwiZWRnZXMiLCJwb2ludHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiY2xlYW51cExvZ2ljIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsInJlbW92ZUxheWVyIiwidXNlRWZmZWN0IiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsImNsZWFudXAiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9OZXR3b3JrRm9yU3BlY2lmaWNFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgTWFwIGFzIExlYWZsZXRNYXAgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDogTGVhZmxldE1hcCB8IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBtYXAsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgY2xlYW51cExvZ2ljID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50JyB8fFxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnKVxuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzKGVkZ2VzLCBldmVudCwgcG9pbnRzLCBkaXNwYXRjaCwgbWFwKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY2xlYW51cExvZ2ljKCk7XG4gICAgfTtcbiAgfSwgW2V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUE0RCxTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFSNUQ7O0FBaUJPLElBQU1XLHVCQUF5QyxHQUFHLFNBQTVDQSx1QkFBeUNBLENBQUFDLElBQUEsRUFLaEQ7RUFBQSxJQUpKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUNMQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUNMQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxHQUFHLEdBQUFKLElBQUEsQ0FBSEksR0FBRztFQUVILElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QkYsUUFBUSxDQUFDLElBQUFHLDRCQUFtQixFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLElBQUlDLE1BQU0sR0FBR0wsR0FBRyxDQUFDTSxPQUFPO0lBQ3hCLEtBQUssSUFBTUMsUUFBUSxJQUFJRixNQUFNLEVBQUU7TUFDN0IsSUFDRUEsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLQyxTQUFTLEtBQzFDSixNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDQyxZQUFZLEtBQUssZUFBZSxJQUNoREgsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLLE9BQU8sQ0FBQyxFQUM1QztRQUNBUixHQUFHLENBQUNVLFdBQVcsQ0FBQ0wsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQztNQUNuQztJQUNGO0VBQ0YsQ0FBQztFQUVELElBQUFJLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUFDLHdDQUE0QixFQUFDZCxLQUFLLEVBQUVELEtBQUssRUFBRUUsTUFBTSxFQUFFRSxRQUFRLEVBQUVELEdBQUcsQ0FBQztJQUVqRSxPQUFPLFNBQVNhLE9BQU9BLENBQUEsRUFBRztNQUN4QlYsWUFBWSxDQUFDLENBQUM7SUFDaEIsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDTixLQUFLLENBQUMsQ0FBQztFQUVYLG9CQUFPL0IsTUFBQSxDQUFBYyxPQUFBLENBQUFrQyxhQUFBLENBQUFoRCxNQUFBLENBQUFjLE9BQUEsQ0FBQW1DLFFBQUEsTUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUFDQyxPQUFBLENBQUFyQix1QkFBQSxHQUFBQSx1QkFBQSJ9
@@ -1,50 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.PointOfEvent = void 0;
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _PointUtils = require("../points/PointUtils");
15
-
16
11
  var _reactDom = _interopRequireDefault(require("react-dom"));
17
-
18
12
  var _TimeFormat = _interopRequireDefault(require("../../../utilities/TimeFormat"));
19
-
20
13
  var _Sector = _interopRequireDefault(require("../../../components/Sector"));
21
-
22
14
  var _jquery = _interopRequireDefault(require("jquery"));
23
-
24
15
  var _actions = require("../../../store/global/actions");
25
-
26
16
  var _reactRedux = require("react-redux");
27
-
28
17
  var _useRemoveExistingLayers = require("../../../hooks/useRemoveExistingLayers");
29
-
30
18
  var _EventUtils = require("./EventUtils");
31
-
32
19
  var _MapUtils = require("../MapUtils");
33
-
34
20
  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); }
35
-
36
21
  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; }
37
-
38
22
  var PointOfEvent = function PointOfEvent(_ref) {
39
23
  var map = _ref.map,
40
- point = _ref.point,
41
- event = _ref.event;
24
+ point = _ref.point,
25
+ event = _ref.event;
42
26
  var dispatch = (0, _reactRedux.useDispatch)();
43
-
44
27
  var bindPopupToPoint = function bindPopupToPoint() {
45
28
  var obs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
46
29
  var layers = map._layers;
47
-
48
30
  var _loop = function _loop(property) {
49
31
  if (['Point', 'Observation'].includes(layers[property].kando_object) && layers[property].kando_object_id === point.id) {
50
32
  layers[property].bindPopup((0, _PointUtils.popupContent)(obs, point), {
@@ -54,13 +36,11 @@ var PointOfEvent = function PointOfEvent(_ref) {
54
36
  var firstSeen = document.createElement('div');
55
37
  var lastSeen = document.createElement('div');
56
38
  var sector = document.createElement('div');
57
-
58
39
  if (obs !== null) {
59
40
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_TimeFormat.default, {
60
41
  timestamp: obs.start_time,
61
42
  time_zone: obs.time_zone
62
43
  }), firstSeen);
63
-
64
44
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_TimeFormat.default, {
65
45
  timestamp: obs.last_seen_time,
66
46
  time_zone: obs.time_zone
@@ -72,20 +52,17 @@ var PointOfEvent = function PointOfEvent(_ref) {
72
52
  width: "37"
73
53
  }), sector);
74
54
  }
75
-
76
55
  setTimeout(function () {
77
56
  (0, _jquery.default)('#first-seen-popup').append(firstSeen);
78
57
  (0, _jquery.default)('#last-seen-popup').append(lastSeen);
79
58
  (0, _jquery.default)('#sector').append(sector);
80
59
  }, 200);
81
-
82
60
  var attachClickEvent = function attachClickEvent(selector, observation) {
83
61
  (0, _jquery.default)(document.body).on('click', selector, function () {
84
62
  dispatch((0, _actions.closeFloatingGraph)());
85
63
  dispatch((0, _actions.openFloatingGraph)(true, observation, point));
86
64
  });
87
65
  };
88
-
89
66
  if (obs !== null) {
90
67
  attachClickEvent('.popup-graph-icon-' + obs.id, obs);
91
68
  } else {
@@ -97,29 +74,24 @@ var PointOfEvent = function PointOfEvent(_ref) {
97
74
  });
98
75
  }
99
76
  };
100
-
101
77
  for (var property in layers) {
102
78
  _loop(property);
103
79
  }
104
80
  };
105
-
106
81
  (0, _react.useEffect)(function () {
107
82
  var markerLocation = [point['latitude'], point['longitude']];
108
83
  (0, _PointUtils.createManholePoint)(markerLocation, point, map, event.hovered);
109
84
  if (point.has_device || (0, _EventUtils.pointIsObservation)(event, point) || (0, _EventUtils.pointIsWWTP)(point)) (0, _PointUtils.createBubblePoint)(markerLocation, point, map, event.hovered);
110
85
  if (event.focused) (0, _PointUtils.createSamplingIcons)(markerLocation, event, point, map, event.hovered);
111
86
  var hasPrimaryIcon = (0, _PointUtils.matchIconToPoint)(point, event) !== null;
112
-
113
87
  if ((0, _EventUtils.pointIsObservation)(event, point) && event.focused) {
114
88
  (0, _PointUtils.createObservationIconPoint)(markerLocation, hasPrimaryIcon, map, point, event, event.hovered);
115
89
  }
116
-
117
90
  var obs = event.observations.filter(function (obs) {
118
91
  return obs.point_id === point.id;
119
92
  })[0];
120
93
  if (obs !== undefined && event.focused) bindPopupToPoint(obs);
121
94
  (0, _MapUtils.iconZoomControl)(map);
122
-
123
95
  if (event.hovered) {
124
96
  return function cleanup() {
125
97
  // UNBIND POPUP
@@ -140,6 +112,5 @@ var PointOfEvent = function PointOfEvent(_ref) {
140
112
  }, [event, event.focused]);
141
113
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
142
114
  };
143
-
144
115
  exports.PointOfEvent = PointOfEvent;
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRPZkV2ZW50LnRzeCJdLCJuYW1lcyI6WyJQb2ludE9mRXZlbnQiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJiaW5kUG9wdXBUb1BvaW50Iiwib2JzIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwib24iLCJlIiwiZmlyc3RTZWVuIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibGFzdFNlZW4iLCJzZWN0b3IiLCJSZWFjdERPTSIsInJlbmRlciIsInN0YXJ0X3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3NlZW5fdGltZSIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJzZWN0b3JfaWNvbl9uYW1lIiwic2V0VGltZW91dCIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsIm9wZW5Qb3B1cCIsIm1hcmtlckxvY2F0aW9uIiwiaG92ZXJlZCIsImhhc19kZXZpY2UiLCJmb2N1c2VkIiwiaGFzUHJpbWFyeUljb24iLCJvYnNlcnZhdGlvbnMiLCJmaWx0ZXIiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsImNsZWFudXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBT0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQVFPLElBQU1BLFlBQThCLEdBQUcsU0FBakNBLFlBQWlDLE9BQTJCO0FBQUEsTUFBeEJDLEdBQXdCLFFBQXhCQSxHQUF3QjtBQUFBLE1BQW5CQyxLQUFtQixRQUFuQkEsS0FBbUI7QUFBQSxNQUFaQyxLQUFZLFFBQVpBLEtBQVk7QUFDdkUsTUFBTUMsUUFBUSxHQUFHLDhCQUFqQjs7QUFF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e1xuICBjcmVhdGVCdWJibGVQb2ludCxcbiAgY3JlYXRlTWFuaG9sZVBvaW50LFxuICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCxcbiAgY3JlYXRlU2FtcGxpbmdJY29ucyxcbiAgbWF0Y2hJY29uVG9Qb2ludCxcbiAgcG9wdXBDb250ZW50LFxufSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcbmltcG9ydCBTZWN0b3IgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7XG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgb3BlbkZsb2F0aW5nR3JhcGgsXG59IGZyb20gJy4uLy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHJlbW92ZUZyb21NYXAgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZW1vdmVFeGlzdGluZ0xheWVycyc7XG5pbXBvcnQgeyBwb2ludElzT2JzZXJ2YXRpb24sIHBvaW50SXNXV1RQIH0gZnJvbSAnLi9FdmVudFV0aWxzJztcbmltcG9ydCB7IGljb25ab29tQ29udHJvbCB9IGZyb20gJy4uL01hcFV0aWxzJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICBldmVudDogSUV2ZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50T2ZFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG1hcCwgcG9pbnQsIGV2ZW50IH0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGZpcnN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjbGFzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGxhc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNzZWN0b3InKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBjcmVhdGVNYW5ob2xlUG9pbnQobWFya2VyTG9jYXRpb24sIHBvaW50LCBtYXAsIGV2ZW50LmhvdmVyZWQpO1xuICAgIGlmIChcbiAgICAgIHBvaW50Lmhhc19kZXZpY2UgfHxcbiAgICAgIHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpIHx8XG4gICAgICBwb2ludElzV1dUUChwb2ludClcbiAgICApXG4gICAgICBjcmVhdGVCdWJibGVQb2ludChtYXJrZXJMb2NhdGlvbiwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgICBjcmVhdGVTYW1wbGluZ0ljb25zKG1hcmtlckxvY2F0aW9uLCBldmVudCwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsO1xuXG4gICAgaWYgKHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpICYmIGV2ZW50LmZvY3VzZWQpIHtcbiAgICAgIGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50KFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgaGFzUHJpbWFyeUljb24sXG4gICAgICAgIG1hcCxcbiAgICAgICAgcG9pbnQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBldmVudC5ob3ZlcmVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcigob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgICBpZiAob2JzICE9PSB1bmRlZmluZWQgJiYgZXZlbnQuZm9jdXNlZCkgYmluZFBvcHVwVG9Qb2ludChvYnMpO1xuXG4gICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb25Ib3ZlcmVkJyk7XG4gICAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50SG92ZXJlZCcpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZ0hvdmVyZWQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlckhvdmVyZWQnKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlcicpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtldmVudCwgZXZlbnQuZm9jdXNlZF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRVdGlscyIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGltZUZvcm1hdCIsIl9TZWN0b3IiLCJfanF1ZXJ5IiwiX2FjdGlvbnMiLCJfcmVhY3RSZWR1eCIsIl91c2VSZW1vdmVFeGlzdGluZ0xheWVycyIsIl9FdmVudFV0aWxzIiwiX01hcFV0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQb2ludE9mRXZlbnQiLCJfcmVmIiwibWFwIiwicG9pbnQiLCJldmVudCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJiaW5kUG9wdXBUb1BvaW50Iiwib2JzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwibGF5ZXJzIiwiX2xheWVycyIsIl9sb29wIiwicHJvcGVydHkiLCJpbmNsdWRlcyIsImthbmRvX29iamVjdCIsImthbmRvX29iamVjdF9pZCIsImlkIiwiYmluZFBvcHVwIiwicG9wdXBDb250ZW50IiwibWluV2lkdGgiLCJvbiIsImUiLCJmaXJzdFNlZW4iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJsYXN0U2VlbiIsInNlY3RvciIsIlJlYWN0RE9NIiwicmVuZGVyIiwidGltZXN0YW1wIiwic3RhcnRfdGltZSIsInRpbWVfem9uZSIsImxhc3Rfc2Vlbl90aW1lIiwic2VjdG9yTmFtZSIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJzZWN0b3JJY29uTmFtZSIsInNlY3Rvcl9pY29uX25hbWUiLCJ3aWR0aCIsInNldFRpbWVvdXQiLCIkIiwiYXBwZW5kIiwiYXR0YWNoQ2xpY2tFdmVudCIsInNlbGVjdG9yIiwib2JzZXJ2YXRpb24iLCJib2R5IiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwib3BlbkZsb2F0aW5nR3JhcGgiLCJvcGVuUG9wdXAiLCJ1c2VFZmZlY3QiLCJtYXJrZXJMb2NhdGlvbiIsImNyZWF0ZU1hbmhvbGVQb2ludCIsImhvdmVyZWQiLCJoYXNfZGV2aWNlIiwicG9pbnRJc09ic2VydmF0aW9uIiwicG9pbnRJc1dXVFAiLCJjcmVhdGVCdWJibGVQb2ludCIsImZvY3VzZWQiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwiaGFzUHJpbWFyeUljb24iLCJtYXRjaEljb25Ub1BvaW50IiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbnMiLCJmaWx0ZXIiLCJwb2ludF9pZCIsImljb25ab29tQ29udHJvbCIsImNsZWFudXAiLCJyZW1vdmVGcm9tTWFwIiwiRnJhZ21lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9Qb2ludE9mRXZlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBjcmVhdGVCdWJibGVQb2ludCxcbiAgY3JlYXRlTWFuaG9sZVBvaW50LFxuICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCxcbiAgY3JlYXRlU2FtcGxpbmdJY29ucyxcbiAgbWF0Y2hJY29uVG9Qb2ludCxcbiAgcG9wdXBDb250ZW50LFxufSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcbmltcG9ydCBTZWN0b3IgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7XG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgb3BlbkZsb2F0aW5nR3JhcGgsXG59IGZyb20gJy4uLy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHJlbW92ZUZyb21NYXAgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZW1vdmVFeGlzdGluZ0xheWVycyc7XG5pbXBvcnQgeyBwb2ludElzT2JzZXJ2YXRpb24sIHBvaW50SXNXV1RQIH0gZnJvbSAnLi9FdmVudFV0aWxzJztcbmltcG9ydCB7IGljb25ab29tQ29udHJvbCB9IGZyb20gJy4uL01hcFV0aWxzJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICBldmVudDogSUV2ZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50T2ZFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG1hcCwgcG9pbnQsIGV2ZW50IH0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGZpcnN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjbGFzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGxhc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNzZWN0b3InKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBjcmVhdGVNYW5ob2xlUG9pbnQobWFya2VyTG9jYXRpb24sIHBvaW50LCBtYXAsIGV2ZW50LmhvdmVyZWQpO1xuICAgIGlmIChcbiAgICAgIHBvaW50Lmhhc19kZXZpY2UgfHxcbiAgICAgIHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpIHx8XG4gICAgICBwb2ludElzV1dUUChwb2ludClcbiAgICApXG4gICAgICBjcmVhdGVCdWJibGVQb2ludChtYXJrZXJMb2NhdGlvbiwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgICBjcmVhdGVTYW1wbGluZ0ljb25zKG1hcmtlckxvY2F0aW9uLCBldmVudCwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsO1xuXG4gICAgaWYgKHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpICYmIGV2ZW50LmZvY3VzZWQpIHtcbiAgICAgIGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50KFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgaGFzUHJpbWFyeUljb24sXG4gICAgICAgIG1hcCxcbiAgICAgICAgcG9pbnQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBldmVudC5ob3ZlcmVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcigob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgICBpZiAob2JzICE9PSB1bmRlZmluZWQgJiYgZXZlbnQuZm9jdXNlZCkgYmluZFBvcHVwVG9Qb2ludChvYnMpO1xuXG4gICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb25Ib3ZlcmVkJyk7XG4gICAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50SG92ZXJlZCcpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZ0hvdmVyZWQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlckhvdmVyZWQnKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlcicpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtldmVudCwgZXZlbnQuZm9jdXNlZF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBUUEsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBT0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsd0JBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFNBQUEsR0FBQVgsT0FBQTtBQUE4QyxTQUFBWSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWQsd0JBQUFrQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFB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