@kando-env/kando-ui 1.2.228-alpha.8 → 1.2.228-alpha.80

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 (577) 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 +15 -42
  4. package/lib/Widgets/Map/GraphUtils.js +1 -4
  5. package/lib/Widgets/Map/Map.js +93 -93
  6. package/lib/Widgets/Map/MapUtils.js +5 -56
  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/Edge.scss +2 -2
  11. package/lib/Widgets/Map/edges/Edges.js +11 -20
  12. package/lib/Widgets/Map/edges/arrows/Arrows.js +7 -22
  13. package/lib/Widgets/Map/events/Event.js +7 -23
  14. package/lib/Widgets/Map/events/EventIndicator.js +23 -42
  15. package/lib/Widgets/Map/events/EventPath.js +5 -20
  16. package/lib/Widgets/Map/events/EventUtils.js +4 -54
  17. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -19
  18. package/lib/Widgets/Map/events/PointOfEvent.js +5 -34
  19. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +4 -14
  20. package/lib/Widgets/Map/events/Snail.js +7 -19
  21. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +15 -54
  22. package/lib/Widgets/Map/map/FloatingGraph.js +3 -19
  23. package/lib/Widgets/Map/map/GraphDateButton.js +3 -9
  24. package/lib/Widgets/Map/matchGraph/MatchGraph.js +5 -11
  25. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +4 -10
  26. package/lib/Widgets/Map/points/PointIcon.js +3 -16
  27. package/lib/Widgets/Map/points/PointIcon.scss +2 -0
  28. package/lib/Widgets/Map/points/PointMarker.js +11 -26
  29. package/lib/Widgets/Map/points/PointMarkers.js +60 -84
  30. package/lib/Widgets/Map/points/PointUtils.js +32 -114
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +15 -49
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +4 -19
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +1 -13
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +1 -5
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +19 -53
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  37. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  38. package/lib/Widgets/MostPolluting/Areas/styles.js +1 -7
  39. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +3 -11
  40. package/lib/Widgets/MostPolluting/Factories/Factories.js +30 -64
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +4 -21
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +1 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +4 -17
  44. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -7
  45. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  46. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  47. package/lib/Widgets/MostPolluting/Factories/styles.js +1 -7
  48. package/lib/Widgets/MostPolluting/MostPolluting.js +4 -17
  49. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +13 -17
  50. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +2 -9
  51. package/lib/Widgets/MostPolluting/ShowMore/styles.js +1 -5
  52. package/lib/Widgets/MostPolluting/assets/index.js +17 -28
  53. package/lib/Widgets/MostPolluting/components/ChangePercent.js +1 -16
  54. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +15 -26
  55. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +4 -26
  56. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +25 -33
  57. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +4 -20
  58. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +29 -43
  59. package/lib/Widgets/MostPolluting/models.js +1 -1
  60. package/lib/Widgets/MostPolluting/styles.js +1 -7
  61. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +2 -9
  62. package/lib/Widgets/PotentialImpactSummary/Icon.js +1 -11
  63. package/lib/Widgets/PotentialImpactSummary/index.js +7 -29
  64. package/lib/Widgets/PotentialImpactSummary/index.test.js +17 -36
  65. package/lib/Widgets/PotentialImpactSummary/styles.js +2 -15
  66. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  67. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +4 -10
  68. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +7 -21
  69. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +19 -29
  70. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +15 -24
  71. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +7 -21
  72. package/lib/Widgets/QualitySummary/QualitySummary.js +8 -24
  73. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  74. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  75. package/lib/Widgets/QualitySummary/styles.js +3 -16
  76. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +10 -21
  77. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +9 -34
  78. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +9 -18
  79. package/lib/Widgets/UtilityInformation/UtilityInformation.js +22 -45
  80. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  81. package/lib/Widgets/UtilityInformation/styles.js +2 -22
  82. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  83. package/lib/assets/icons/index.js +5 -8
  84. package/lib/assets/icons/kandoStepper/index.js +9 -14
  85. package/lib/components/ApplyButton/ApplyButton.js +5 -11
  86. package/lib/components/ApplyButton/index.js +1 -4
  87. package/lib/components/Backdrop/Backdrop.js +2 -8
  88. package/lib/components/ContentLoader/ContentLoader.js +7 -12
  89. package/lib/components/ContentLoader/index.js +1 -2
  90. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +7 -14
  91. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +2 -8
  92. package/lib/components/CustomInputs/DoubleTabs/styles.js +2 -10
  93. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +5 -18
  94. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +1 -5
  95. package/lib/components/CustomInputs/Search/Search.js +13 -38
  96. package/lib/components/CustomInputs/Search/index.js +1 -4
  97. package/lib/components/CustomInputs/Select/Select.js +15 -53
  98. package/lib/components/CustomInputs/Select/Select.stories.js +2 -8
  99. package/lib/components/DamageType/DamageType.js +37 -76
  100. package/lib/components/DamageType/index.js +1 -4
  101. package/lib/components/DataLoaderError/DataLoaderError.js +4 -10
  102. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +6 -16
  103. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +17 -37
  104. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +12 -37
  105. package/lib/components/DischargeHeatmap/HighchartsOptions.js +6 -10
  106. package/lib/components/DischargeHeatmap/index.js +1 -4
  107. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
  108. package/lib/components/DischargeHeatmap/popupText.js +1 -16
  109. package/lib/components/DischargeHeatmap/titles.js +1 -8
  110. package/lib/components/DischargeHeatmap/types.js +1 -1
  111. package/lib/components/ErrorBoundary.js +3 -15
  112. package/lib/components/Events/Events.js +5 -30
  113. package/lib/components/Events/index.js +1 -4
  114. package/lib/components/Graph/Graph.js +31 -74
  115. package/lib/components/Graph/index.js +1 -4
  116. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +1 -7
  117. package/lib/components/Header/Breadcrumbs/index.js +1 -4
  118. package/lib/components/Header/DoubleTabs/DoubleTabs.js +14 -30
  119. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +2 -8
  120. package/lib/components/Header/DoubleTabs/styles.js +2 -10
  121. package/lib/components/Header/Header.js +1 -7
  122. package/lib/components/Header/Header.stories.js +2 -8
  123. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +1 -11
  124. package/lib/components/Header/InfoBar/InfoBar.js +4 -30
  125. package/lib/components/Header/InfoBar/Search/Control.js +2 -13
  126. package/lib/components/Header/InfoBar/Search/GroupLabel.js +1 -12
  127. package/lib/components/Header/InfoBar/Search/Search.js +5 -26
  128. package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -21
  129. package/lib/components/Header/InfoBar/Search/index.js +1 -4
  130. package/lib/components/Header/InfoBar/Search/searchStyle.js +1 -4
  131. package/lib/components/Header/KandoNavbar/KandoNavbar.js +46 -91
  132. package/lib/components/Header/KandoNavbar/index.js +1 -4
  133. package/lib/components/Header/Slideshow/Slideshow.js +35 -71
  134. package/lib/components/Header/Slideshow/index.js +1 -4
  135. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +1 -7
  136. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +2 -15
  137. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +1 -15
  138. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +7 -24
  139. package/lib/components/Header/Toolbar/Toolbar.js +46 -84
  140. package/lib/components/InfoBar/InfoBar.js +8 -23
  141. package/lib/components/InfoBar/InfoBar.stories.js +2 -8
  142. package/lib/components/KandoModal/KandoModal.js +19 -42
  143. package/lib/components/KandoModal/index.js +1 -4
  144. package/lib/components/Link.js +2 -11
  145. package/lib/components/Links/CustomRedirect/CustomRedirect.js +3 -12
  146. package/lib/components/Links/StyledLink/StyledLink.js +6 -16
  147. package/lib/components/Links/StyledNavLink/StyledNavLink.js +4 -14
  148. package/lib/components/LiveEvents/CarouselSlide.js +5 -11
  149. package/lib/components/LiveEvents/LiveEvents.js +1 -10
  150. package/lib/components/LiveEvents/index.js +1 -4
  151. package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -23
  152. package/lib/components/Map/Map.js +12 -26
  153. package/lib/components/Map/index.js +1 -4
  154. package/lib/components/Modal/Modal.js +3 -10
  155. package/lib/components/NarrowHeader.js +1 -12
  156. package/lib/components/PointInfo/PointInfo.js +10 -22
  157. package/lib/components/PointInfo/index.js +1 -4
  158. package/lib/components/PopupModal/PopupModal.js +6 -17
  159. package/lib/components/PopupModal/PopupModal.stories.js +2 -11
  160. package/lib/components/Sector/Sector.js +4 -13
  161. package/lib/components/Sector/Sector.test.js +3 -8
  162. package/lib/components/Sector/index.js +1 -4
  163. package/lib/components/Sector/sectorIcons.js +1 -27
  164. package/lib/components/SevereEvent/Eta/Eta.js +14 -39
  165. package/lib/components/SevereEvent/Eta/styles.js +1 -5
  166. package/lib/components/SevereEvent/SevereEvent.js +15 -36
  167. package/lib/components/Spinner/Spinner.js +5 -10
  168. package/lib/components/Spinner/Spinner.stories.js +2 -8
  169. package/lib/components/Spinner/index.js +1 -4
  170. package/lib/components/Spinner/styles.js +1 -9
  171. package/lib/components/Tabs/Tabs.js +4 -24
  172. package/lib/components/Tabs/Tabs.stories.js +2 -8
  173. package/lib/components/Tabs/assets/index.js +1 -6
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +2 -12
  175. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +12 -43
  176. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +12 -36
  177. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +1 -4
  178. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +9 -29
  179. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +4 -9
  180. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +1 -4
  181. package/lib/components/TimeRangeSelector/TimeRangeList.js +4 -13
  182. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +11 -24
  183. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +11 -36
  184. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +2 -10
  185. package/lib/components/TimeRangeSelector/constants.js +2 -2
  186. package/lib/components/TimeRangeSelector/index.js +1 -4
  187. package/lib/components/Toggle/Toggle.js +7 -21
  188. package/lib/components/Toggle/index.js +1 -4
  189. package/lib/components/TrendGraph/TrendGraph.js +16 -49
  190. package/lib/components/TrendGraph/index.js +1 -4
  191. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +12 -38
  192. package/lib/components/TrendGraphNVL/index.js +1 -4
  193. package/lib/development-environment/index.js +1 -13
  194. package/lib/development-environment/mock/browser.js +1 -8
  195. package/lib/development-environment/mock/get.js +1 -5
  196. package/lib/development-environment/mock/handlers.js +1 -26
  197. package/lib/development-environment/mock/mockBus.js +2 -7
  198. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  213. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  214. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  215. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  216. package/lib/development-environment/togly/ToglyDashboard.js +4 -22
  217. package/lib/development-environment/togly/ToglyItem.js +5 -25
  218. package/lib/development-environment/togly/flags.js +1 -1
  219. package/lib/development-environment/togly/init.js +1 -6
  220. package/lib/development-environment/togly/macro.js +7 -9
  221. package/lib/development-environment/togly/useDoubleKeyDown.js +1 -8
  222. package/lib/development-environment/togly/useLocalStorage.js +12 -19
  223. package/lib/hooks/useApi.js +10 -29
  224. package/lib/hooks/useApiWithDashboardQuery.js +10 -30
  225. package/lib/hooks/useClickOutside.js +1 -5
  226. package/lib/hooks/useInitializeHeaders.js +3 -8
  227. package/lib/hooks/useKandoFetch.js +13 -27
  228. package/lib/hooks/useMap.js +8 -35
  229. package/lib/hooks/useNavContext.js +13 -22
  230. package/lib/hooks/useQueryURL.js +1 -4
  231. package/lib/hooks/useRemoveExistingLayers.js +2 -7
  232. package/lib/hooks/useUpdateEventBodyTail.js +1 -10
  233. package/lib/hooks/useUserTimeZone.js +1 -9
  234. package/lib/hooks/useUserTimeZone.test.js +1 -9
  235. package/lib/hooks/useWindowSize.js +14 -19
  236. package/lib/i18n/en.json +4 -33
  237. package/lib/i18n/en_uk.json +2 -24
  238. package/lib/i18n/fr.json +2 -24
  239. package/lib/i18n/he.json +3 -30
  240. package/lib/i18n/it.json +2 -24
  241. package/lib/index.js +20 -29
  242. package/lib/macros/getVersion.js +2 -3
  243. package/lib/models/IAction.js +1 -1
  244. package/lib/models/IAppState.js +1 -1
  245. package/lib/pages/AreaPage/AreaPage.js +5 -34
  246. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +6 -17
  247. package/lib/pages/AreaPage/Dashboard/Dashboard.js +3 -24
  248. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +11 -35
  249. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +6 -8
  250. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +28 -64
  251. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +1 -10
  252. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +3 -15
  253. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -7
  254. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  255. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  256. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -11
  257. package/lib/pages/AssessmentPage/AssessmentPage.js +5 -30
  258. package/lib/pages/CannyWidget/Feedback.js +10 -25
  259. package/lib/pages/CovidPage/CovidPage.js +1 -14
  260. package/lib/pages/CovidPage/components/Body.js +9 -33
  261. package/lib/pages/CovidPage/components/Map.js +20 -38
  262. package/lib/pages/CovidPage/components/Sidebar.js +4 -18
  263. package/lib/pages/CovidPage/components/Summary.js +8 -29
  264. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +12 -38
  265. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +1 -4
  266. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +14 -44
  267. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +1 -4
  268. package/lib/pages/CovidPage/components/areas/Area.js +6 -33
  269. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +4 -45
  270. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +5 -18
  271. package/lib/pages/CovidPage/components/areas/AreasList.js +14 -33
  272. package/lib/pages/CovidPage/components/areas/Sort.js +5 -19
  273. package/lib/pages/CovidPage/components/nvlStatusHelper.js +2 -11
  274. package/lib/pages/EventsPage/Body/Body.js +2 -19
  275. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +11 -28
  276. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +11 -31
  277. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +4 -11
  278. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +3 -11
  279. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +5 -10
  280. package/lib/pages/EventsPage/DragAndDropArea/index.js +1 -4
  281. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +9 -34
  282. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +2 -21
  283. package/lib/pages/EventsPage/EventsPage.js +1 -13
  284. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +9 -32
  285. package/lib/pages/EventsPage/events/EventsStyle.scss +0 -1
  286. package/lib/pages/EventsPage/events/MoreInfo.js +1 -19
  287. package/lib/pages/EventsPage/events/Sidebar.js +5 -18
  288. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +5 -29
  289. package/lib/pages/EventsPage/events/event_info/EventDetails.js +8 -32
  290. package/lib/pages/EventsPage/events/event_info/EventInfo.js +12 -41
  291. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +2 -14
  292. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +10 -40
  293. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +1 -12
  294. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +8 -30
  295. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +1 -8
  296. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +7 -27
  297. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +2 -10
  298. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +5 -21
  299. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +4 -23
  300. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +4 -22
  301. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +6 -33
  302. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +3 -15
  303. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +2 -10
  304. package/lib/pages/EventsPage/events/event_info/sources/Source.js +8 -31
  305. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +4 -20
  306. package/lib/pages/EventsPage/events/events_list/EventItem.js +3 -24
  307. package/lib/pages/EventsPage/events/events_list/EventUtils.js +2 -13
  308. package/lib/pages/EventsPage/events/events_list/EventsList.js +39 -103
  309. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +11 -32
  310. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +31 -96
  311. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +10 -55
  312. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +5 -17
  313. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -38
  314. package/lib/pages/EventsPage/events/events_list/Sort.js +4 -23
  315. package/lib/pages/ImportFileWizard/FileUploadRespones.js +4 -19
  316. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +2 -8
  317. package/lib/pages/ImportFileWizard/ImportFile.js +10 -29
  318. package/lib/pages/ImportFileWizard/ResponseBody.js +3 -12
  319. package/lib/pages/ImportFileWizard/ValidationForm.js +7 -27
  320. package/lib/pages/ImportFileWizard/ValidationResponse.js +6 -30
  321. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -2
  322. package/lib/pages/ImportFileWizard/index.js +1 -4
  323. package/lib/pages/ImportGisPage/ImportGisContainer.js +7 -27
  324. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +10 -27
  325. package/lib/pages/ImportGisPage/importGisUtils.js +1 -13
  326. package/lib/pages/ImportGisProcess/index.js +4 -18
  327. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +5 -19
  328. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +3 -10
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +1 -8
  330. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +25 -58
  331. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +2 -8
  332. package/lib/pages/NotificationsPage/Notification/Notification.js +8 -16
  333. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  334. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  335. package/lib/pages/NotificationsPage/Notifications.stories.js +2 -10
  336. package/lib/pages/NotificationsPage/NotificationsPage.js +11 -35
  337. package/lib/pages/NotificationsPage/assets/index.js +15 -24
  338. package/lib/pages/NotificationsPageV2/NotificationsPage.js +35 -83
  339. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +4 -24
  340. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +16 -41
  341. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +18 -49
  342. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +6 -49
  343. package/lib/pages/NotificationsPageV2/notificationUtils.js +4 -36
  344. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  345. package/lib/pages/OldSitePage/OldSitePage.js +16 -77
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +3 -16
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -9
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +5 -12
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -23
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +28 -59
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +3 -18
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +8 -16
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +1 -16
  364. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  366. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +2 -7
  367. package/lib/pages/ProfilePage/Container.js +2 -6
  368. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +16 -43
  369. package/lib/pages/ProfilePage/ProfilePage.js +66 -229
  370. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +9 -32
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +7 -17
  372. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +3 -14
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +12 -57
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +4 -21
  375. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +7 -15
  376. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +8 -29
  377. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +6 -25
  378. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +9 -21
  379. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +1 -13
  380. package/lib/pages/SamplingsPage/DesktopActions/index.js +1 -4
  381. package/lib/pages/SamplingsPage/NavigationDropdown.js +3 -21
  382. package/lib/pages/SamplingsPage/NewSamplingAction.js +38 -84
  383. package/lib/pages/SamplingsPage/SamplingMobileModal.js +12 -65
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +5 -19
  385. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +3 -14
  386. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +22 -56
  387. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +4 -20
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +1 -14
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +37 -110
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +11 -42
  391. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +14 -47
  392. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +15 -49
  393. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +5 -23
  394. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +2 -8
  395. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +1 -11
  396. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +7 -36
  397. package/lib/pages/SamplingsPage/SamplingsMobileList.js +10 -34
  398. package/lib/pages/SamplingsPage/SamplingsPage.js +14 -39
  399. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +14 -48
  400. package/lib/pages/SamplingsPage/index.js +1 -3
  401. package/lib/pages/SamplingsPage/samplingsPageUtils.js +7 -30
  402. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +2 -10
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +3 -17
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -11
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +15 -23
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +7 -16
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +18 -27
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -26
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +32 -68
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  419. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +4 -19
  420. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  421. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +17 -38
  422. package/lib/pages/SitePage/SamplingParameters/dataParser.js +13 -29
  423. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +3 -7
  424. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  425. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  426. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +2 -8
  427. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +5 -12
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +1 -10
  429. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +5 -15
  430. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +17 -48
  431. package/lib/pages/SitePage/SiteInformation/style.js +2 -8
  432. package/lib/pages/SitePage/SitePage.js +10 -49
  433. package/lib/pages/UploadLabResult/index.js +1 -8
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +9 -37
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +2 -9
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +2 -16
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +2 -8
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +9 -35
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +1 -5
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +1 -7
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +1 -10
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +7 -16
  443. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  444. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +1 -10
  445. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +1 -5
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +3 -25
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +13 -19
  448. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +8 -18
  449. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +5 -20
  450. package/lib/pages/WbeDashboard/ExpandableComponent.js +4 -16
  451. package/lib/pages/WbeDashboard/GraphWrapper.js +7 -29
  452. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +6 -19
  453. package/lib/pages/WbeDashboard/SearchInput.js +4 -22
  454. package/lib/pages/WbeDashboard/SummaryGraph.js +47 -91
  455. package/lib/pages/WbeDashboard/SummaryGraphModal.js +1 -13
  456. package/lib/pages/WbeDashboard/Tabs.js +3 -10
  457. package/lib/pages/WbeDashboard/WbeDashboardPage.js +67 -149
  458. package/lib/pages/WbeDashboard/WbeSummaryBar.js +15 -53
  459. package/lib/providers/Slideshow/SlideshowContext.js +3 -5
  460. package/lib/providers/Slideshow/SlideshowProvider.js +16 -31
  461. package/lib/providers/Slideshow/SlideshowRunner.js +7 -17
  462. package/lib/providers/UrlHistory/UrlHistoryContext.js +3 -7
  463. package/lib/providers/UrlHistory/UrlHistoryProvider.js +1 -13
  464. package/lib/providers/UrlHistory/index.js +5 -8
  465. package/lib/providers/UrlHistory/useLastVisited.js +1 -7
  466. package/lib/react-app-env.d.js +1 -1
  467. package/lib/store/ImportGis/action.js +1 -1
  468. package/lib/store/ImportGis/actionTypes.js +1 -2
  469. package/lib/store/ImportGis/actionsCreator.js +7 -17
  470. package/lib/store/ImportGis/models/gisImports.js +1 -1
  471. package/lib/store/ImportGis/reducer.js +1 -17
  472. package/lib/store/WBE/actionTypes.js +1 -1
  473. package/lib/store/WBE/actions.js +1 -3
  474. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  475. package/lib/store/WBE/models/IWBE.js +1 -1
  476. package/lib/store/WBE/models/IWBEState.js +1 -1
  477. package/lib/store/WBE/reducer.js +2 -9
  478. package/lib/store/areas/actionTypes.js +2 -2
  479. package/lib/store/areas/actions.js +2 -11
  480. package/lib/store/areas/models/IArea.js +1 -1
  481. package/lib/store/areas/models/IAreasState.js +1 -1
  482. package/lib/store/areas/reducer.js +1 -9
  483. package/lib/store/context/actionTypes.js +2 -2
  484. package/lib/store/context/actions.js +2 -6
  485. package/lib/store/context/contextMiddlewares.js +1 -9
  486. package/lib/store/context/models/INavContext.js +1 -1
  487. package/lib/store/context/models/INavContextState.js +1 -1
  488. package/lib/store/context/reducer.js +2 -9
  489. package/lib/store/dashboard/dashboardSlice.js +1 -3
  490. package/lib/store/dashboard/periodType.js +1 -1
  491. package/lib/store/edges/actionTypes.js +2 -2
  492. package/lib/store/edges/actions.js +3 -9
  493. package/lib/store/edges/models/IEdge.js +1 -1
  494. package/lib/store/edges/models/IEdgesState.js +1 -1
  495. package/lib/store/edges/reducer.js +2 -16
  496. package/lib/store/events/actionTypes.js +2 -2
  497. package/lib/store/events/actions.js +12 -30
  498. package/lib/store/events/models/IEvent.js +1 -1
  499. package/lib/store/events/models/IEventsState.js +1 -1
  500. package/lib/store/events/models/ISource.js +1 -1
  501. package/lib/store/events/reducer.js +3 -41
  502. package/lib/store/filters/IFilter.js +1 -1
  503. package/lib/store/filters/IFilterItem.js +1 -1
  504. package/lib/store/global/actionTypes.js +2 -2
  505. package/lib/store/global/actions.js +8 -20
  506. package/lib/store/global/models/IGlobalState.js +1 -1
  507. package/lib/store/global/reducer.js +2 -18
  508. package/lib/store/permissions/permissionsSlice.js +1 -8
  509. package/lib/store/points/actionTypes.js +2 -2
  510. package/lib/store/points/actions.js +1 -5
  511. package/lib/store/points/models/IGroup.js +1 -1
  512. package/lib/store/points/models/IPoint.js +1 -1
  513. package/lib/store/points/models/IPointsState.js +1 -1
  514. package/lib/store/points/reducer.js +1 -7
  515. package/lib/store/rootActionTypes.js +1 -1
  516. package/lib/store/rootActions.js +1 -3
  517. package/lib/store/rootReducer.js +4 -23
  518. package/lib/store/rootStore.js +4 -12
  519. package/lib/store/samplings/action.js +1 -1
  520. package/lib/store/samplings/actionTypes.js +1 -2
  521. package/lib/store/samplings/actionsCreator.js +2 -5
  522. package/lib/store/samplings/models/Samplings.js +1 -1
  523. package/lib/store/samplings/reducer.js +1 -9
  524. package/lib/styles/StylesLayout.js +1 -7
  525. package/lib/styles/theme/theme.js +2 -4
  526. package/lib/test/mocks/browser.js +3 -7
  527. package/lib/test/test-utils.js +11 -21
  528. package/lib/ui-kit/Button/Button.js +15 -23
  529. package/lib/ui-kit/Button/Button.test.js +6 -26
  530. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  531. package/lib/ui-kit/Checkbox/Checkbox.js +7 -21
  532. package/lib/ui-kit/DropDown/DropDown.js +5 -16
  533. package/lib/ui-kit/DropDown/DropDown.test.js +6 -12
  534. package/lib/ui-kit/DropDown/DropDownItem.js +5 -13
  535. package/lib/ui-kit/DropDown/DropdownToggle.js +2 -13
  536. package/lib/ui-kit/IconAction/IconAction.js +3 -9
  537. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +19 -70
  538. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +16 -27
  539. package/lib/ui-kit/KandoList/KandoList.js +5 -16
  540. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  541. package/lib/ui-kit/KandoTable/KandoTable.js +22 -38
  542. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -16
  543. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  544. package/lib/ui-kit/Layout/Layout.js +1 -8
  545. package/lib/ui-kit/MobileInput/MobileInput.js +18 -33
  546. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +8 -14
  547. package/lib/ui-kit/ModalConfirmation/index.js +1 -3
  548. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +5 -10
  549. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +3 -11
  550. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -11
  551. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +5 -14
  552. package/lib/ui-kit/Tooltip/Tooltip.js +3 -8
  553. package/lib/ui-kit/index.js +1 -15
  554. package/lib/ui-kit/kandoStepper/KandoStepper.js +2 -7
  555. package/lib/utilities/ActionUtility.js +1 -2
  556. package/lib/utilities/Alert.js +2 -10
  557. package/lib/utilities/Analytics.js +1 -12
  558. package/lib/utilities/Array.js +2 -6
  559. package/lib/utilities/Enum.js +1 -16
  560. package/lib/utilities/ErrorBoundary.js +3 -18
  561. package/lib/utilities/File.js +5 -24
  562. package/lib/utilities/GetDir.js +4 -8
  563. package/lib/utilities/KandoDate.js +1 -7
  564. package/lib/utilities/KandoModal.js +7 -22
  565. package/lib/utilities/LocalStorage.js +2 -13
  566. package/lib/utilities/ThousandsToK.js +1 -3
  567. package/lib/utilities/TimeFormat.js +6 -19
  568. package/lib/utilities/Truncate.js +7 -27
  569. package/lib/utilities/edgesMath.js +5 -25
  570. package/lib/utilities/i18n.js +1 -14
  571. package/lib/utilities/kql.js +3 -10
  572. package/lib/utilities/map/icons.js +1 -18
  573. package/lib/utilities/scoreToColor.js +1 -8
  574. package/lib/utilities/time.js +2 -9
  575. package/lib/utilities/uploadToS3.js +1 -9
  576. package/lib/utilities/urls.js +6 -14
  577. package/package.json +3 -1
@@ -1,14 +1,11 @@
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
7
  exports.graphDatesButtons = exports.dndGraphInitOptions = void 0;
9
-
10
8
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
11
-
12
9
  var dndGraphInitOptions = {
13
10
  scrollbar: {
14
11
  enabled: true,
@@ -103,4 +100,4 @@ var graphDatesButtons = [{
103
100
  time: 2880
104
101
  }];
105
102
  exports.graphDatesButtons = graphDatesButtons;
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzLnRzeCJdLCJuYW1lcyI6WyJkbmRHcmFwaEluaXRPcHRpb25zIiwic2Nyb2xsYmFyIiwiZW5hYmxlZCIsImJhckJhY2tncm91bmRDb2xvciIsImJhckJvcmRlclJhZGl1cyIsImJhckJvcmRlcldpZHRoIiwiYnV0dG9uQmFja2dyb3VuZENvbG9yIiwiYnV0dG9uQm9yZGVyV2lkdGgiLCJidXR0b25BcnJvd0NvbG9yIiwiYnV0dG9uQm9yZGVyUmFkaXVzIiwicmlmbGVDb2xvciIsInRyYWNrQmFja2dyb3VuZENvbG9yIiwidHJhY2tCb3JkZXJXaWR0aCIsInRyYWNrQm9yZGVyQ29sb3IiLCJ0cmFja0JvcmRlclJhZGl1cyIsImNoYXJ0Iiwic3BhY2luZ0JvdHRvbSIsInNwYWNpbmdMZWZ0Iiwic3BhY2luZ1JpZ2h0Iiwic3BhY2luZ1RvcCIsImJhY2tncm91bmRDb2xvciIsImhlaWdodCIsInpvb21UeXBlIiwicmFuZ2VTZWxlY3RvciIsImFsbEJ1dHRvbnNFbmFibGVkIiwiaW5wdXRFbmFibGVkIiwiYnV0dG9ucyIsInR5cGUiLCJjb3VudCIsInRleHQiLCJpMThuIiwidCIsImJ1dHRvblRoZW1lIiwid2lkdGgiLCJmaWxsIiwic3Ryb2tlIiwicGFkZGluZyIsInIiLCJzdHlsZSIsImZvbnRTaXplIiwic3RhdGVzIiwiaG92ZXIiLCJjb2xvciIsImZvbnRXZWlnaHQiLCJzZWxlY3QiLCJncmFwaERhdGVzQnV0dG9ucyIsInRpdGxlIiwidGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBSUE7O0FBY08sSUFBTUEsbUJBQXVDLEdBQUc7QUFDckRDLEVBQUFBLFNBQVMsRUFBRTtBQUNUQyxJQUFBQSxPQUFPLEVBQUUsSUFEQTtBQUVUQyxJQUFBQSxrQkFBa0IsRUFBRSxTQUZYO0FBR1RDLElBQUFBLGVBQWUsRUFBRSxDQUhSO0FBSVRDLElBQUFBLGNBQWMsRUFBRSxDQUpQO0FBS1RDLElBQUFB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QUFJLEVBQUU7QUFGUixDQUQrQixFQUsvQjtBQUNFRCxFQUFBQSxLQUFLLEVBQUUsUUFEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUU7QUFGUixDQUwrQixFQVMvQjtBQUNFRCxFQUFBQSxLQUFLLEVBQUUsU0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUU7QUFGUixDQVQrQixFQWEvQjtBQUNFRCxFQUFBQSxLQUFLLEVBQUUsV0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUU7QUFGUixDQWIrQixDQUExQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnRzU3RhdGUnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaHN0b2NrJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaFR5cGUge1xuICBncmFwaERhdGE6IHtcbiAgICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICAgIGV2ZW50c19kYXRhOiBJRXZlbnRzU3RhdGU7XG4gICAgZ3JhcGhEYXRlOiBudW1iZXI7XG4gIH07XG4gIGdyYXBoRWxlbWVudDogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBHcmFwaHNDb2x1bW5UeXBlIHtcbiAgaWQ6IHN0cmluZztcbiAgZ3JhcGhzOiBHcmFwaFR5cGVbXSB8IFtdO1xufVxuZXhwb3J0IGNvbnN0IGRuZEdyYXBoSW5pdE9wdGlvbnM6IEhpZ2hjaGFydHMuT3B0aW9ucyA9IHtcbiAgc2Nyb2xsYmFyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBiYXJCYWNrZ3JvdW5kQ29sb3I6ICcjREJERUUzJyxcbiAgICBiYXJCb3JkZXJSYWRpdXM6IDcsXG4gICAgYmFyQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiAnI0RCREVFMycsXG4gICAgYnV0dG9uQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQXJyb3dDb2xvcjogJyNmNjAwNGYnLFxuICAgIGJ1dHRvbkJvcmRlclJhZGl1czogNyxcbiAgICByaWZsZUNvbG9yOiAnI2Y2MDA0ZicsXG4gICAgdHJhY2tCYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZicsXG4gICAgdHJhY2tCb3JkZXJXaWR0aDogMixcbiAgICB0cmFja0JvcmRlckNvbG9yOiAnI0RCREVFMycsXG4gICAgdHJhY2tCb3JkZXJSYWRpdXM6IDcsXG4gIH0sXG4gIGNoYXJ0OiB7XG4gICAgc3BhY2luZ0JvdHRvbTogMCxcbiAgICBzcGFjaW5nTGVmdDogMCxcbiAgICBzcGFjaW5nUmlnaHQ6IDAsXG4gICAgc3BhY2luZ1RvcDogMCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDApJyxcbiAgICBoZWlnaHQ6IDIzMCxcbiAgICB6b29tVHlwZTogJ3gnLFxuICB9LFxuXG4gIHJhbmdlU2VsZWN0b3I6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIGFsbEJ1dHRvbnNFbmFibGVkOiB0cnVlLFxuICAgIGlucHV0RW5hYmxlZDogZmFsc2UsXG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZGF5JyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV9kYXknKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdkYXknLFxuICAgICAgICBjb3VudDogMixcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24udHdvX2RheXMnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICd3ZWVrJyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV93ZWVrJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMSxcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX21vbnRoJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMyxcbiAgICAgICAgdGV4dDogaTE4bi50KFxuICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX3F1YXJ0ZXInLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGJ1dHRvblRoZW1lOiB7XG4gICAgICB3aWR0aDogNjAsXG4gICAgICBmaWxsOiAnbm9uZScsXG4gICAgICBzdHJva2U6ICdub25lJyxcbiAgICAgICdzdHJva2Utd2lkdGgnOiAwLFxuICAgICAgcGFkZGluZzogNSxcbiAgICAgIHI6IDgsXG4gICAgICBzdHlsZToge1xuICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgfSxcbiAgICAgIHN0YXRlczoge1xuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGZpbGw6ICcjRTMxQjYyJyxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Q6IHtcbiAgICAgICAgICBmaWxsOiAnI0UzMUI2MicsXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG5leHBvcnQgY29uc3QgZ3JhcGhEYXRlc0J1dHRvbnMgPSBbXG4gIHtcbiAgICB0aXRsZTogJzEgRGF5JyxcbiAgICB0aW1lOiAyNCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBXZWVrJyxcbiAgICB0aW1lOiAxNjgsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJzEgTW9udGgnLFxuICAgIHRpbWU6IDcyMCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBRdWFydGVyJyxcbiAgICB0aW1lOiAyODgwLFxuICB9LFxuXTtcbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsInNjcm9sbGJhciIsImVuYWJsZWQiLCJiYXJCYWNrZ3JvdW5kQ29sb3IiLCJiYXJCb3JkZXJSYWRpdXMiLCJiYXJCb3JkZXJXaWR0aCIsImJ1dHRvbkJhY2tncm91bmRDb2xvciIsImJ1dHRvbkJvcmRlcldpZHRoIiwiYnV0dG9uQXJyb3dDb2xvciIsImJ1dHRvbkJvcmRlclJhZGl1cyIsInJpZmxlQ29sb3IiLCJ0cmFja0JhY2tncm91bmRDb2xvciIsInRyYWNrQm9yZGVyV2lkdGgiLCJ0cmFja0JvcmRlckNvbG9yIiwidHJhY2tCb3JkZXJSYWRpdXMiLCJjaGFydCIsInNwYWNpbmdCb3R0b20iLCJzcGFjaW5nTGVmdCIsInNwYWNpbmdSaWdodCIsInNwYWNpbmdUb3AiLCJiYWNrZ3JvdW5kQ29sb3IiLCJoZWlnaHQiLCJ6b29tVHlwZSIsInJhbmdlU2VsZWN0b3IiLCJhbGxCdXR0b25zRW5hYmxlZCIsImlucHV0RW5hYmxlZCIsImJ1dHRvbnMiLCJ0eXBlIiwiY291bnQiLCJ0ZXh0IiwiaTE4biIsInQiLCJidXR0b25UaGVtZSIsIndpZHRoIiwiZmlsbCIsInN0cm9rZSIsInBhZGRpbmciLCJyIiwic3R5bGUiLCJmb250U2l6ZSIsInN0YXRlcyIsImhvdmVyIiwiY29sb3IiLCJmb250V2VpZ2h0Iiwic2VsZWN0IiwiZXhwb3J0cyIsImdyYXBoRGF0ZXNCdXR0b25zIiwidGl0bGUiLCJ0aW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL0dyYXBoVXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnRzU3RhdGUnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaHN0b2NrJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaFR5cGUge1xuICBncmFwaERhdGE6IHtcbiAgICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICAgIGV2ZW50c19kYXRhOiBJRXZlbnRzU3RhdGU7XG4gICAgZ3JhcGhEYXRlOiBudW1iZXI7XG4gIH07XG4gIGdyYXBoRWxlbWVudDogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBHcmFwaHNDb2x1bW5UeXBlIHtcbiAgaWQ6IHN0cmluZztcbiAgZ3JhcGhzOiBHcmFwaFR5cGVbXSB8IFtdO1xufVxuZXhwb3J0IGNvbnN0IGRuZEdyYXBoSW5pdE9wdGlvbnM6IEhpZ2hjaGFydHMuT3B0aW9ucyA9IHtcbiAgc2Nyb2xsYmFyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBiYXJCYWNrZ3JvdW5kQ29sb3I6ICcjREJERUUzJyxcbiAgICBiYXJCb3JkZXJSYWRpdXM6IDcsXG4gICAgYmFyQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiAnI0RCREVFMycsXG4gICAgYnV0dG9uQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQXJyb3dDb2xvcjogJyNmNjAwNGYnLFxuICAgIGJ1dHRvbkJvcmRlclJhZGl1czogNyxcbiAgICByaWZsZUNvbG9yOiAnI2Y2MDA0ZicsXG4gICAgdHJhY2tCYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZicsXG4gICAgdHJhY2tCb3JkZXJXaWR0aDogMixcbiAgICB0cmFja0JvcmRlckNvbG9yOiAnI0RCREVFMycsXG4gICAgdHJhY2tCb3JkZXJSYWRpdXM6IDcsXG4gIH0sXG4gIGNoYXJ0OiB7XG4gICAgc3BhY2luZ0JvdHRvbTogMCxcbiAgICBzcGFjaW5nTGVmdDogMCxcbiAgICBzcGFjaW5nUmlnaHQ6IDAsXG4gICAgc3BhY2luZ1RvcDogMCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDApJyxcbiAgICBoZWlnaHQ6IDIzMCxcbiAgICB6b29tVHlwZTogJ3gnLFxuICB9LFxuXG4gIHJhbmdlU2VsZWN0b3I6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIGFsbEJ1dHRvbnNFbmFibGVkOiB0cnVlLFxuICAgIGlucHV0RW5hYmxlZDogZmFsc2UsXG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZGF5JyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV9kYXknKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdkYXknLFxuICAgICAgICBjb3VudDogMixcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24udHdvX2RheXMnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICd3ZWVrJyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV93ZWVrJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMSxcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX21vbnRoJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMyxcbiAgICAgICAgdGV4dDogaTE4bi50KFxuICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX3F1YXJ0ZXInLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGJ1dHRvblRoZW1lOiB7XG4gICAgICB3aWR0aDogNjAsXG4gICAgICBmaWxsOiAnbm9uZScsXG4gICAgICBzdHJva2U6ICdub25lJyxcbiAgICAgICdzdHJva2Utd2lkdGgnOiAwLFxuICAgICAgcGFkZGluZzogNSxcbiAgICAgIHI6IDgsXG4gICAgICBzdHlsZToge1xuICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgfSxcbiAgICAgIHN0YXRlczoge1xuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGZpbGw6ICcjRTMxQjYyJyxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Q6IHtcbiAgICAgICAgICBmaWxsOiAnI0UzMUI2MicsXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG5leHBvcnQgY29uc3QgZ3JhcGhEYXRlc0J1dHRvbnMgPSBbXG4gIHtcbiAgICB0aXRsZTogJzEgRGF5JyxcbiAgICB0aW1lOiAyNCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBXZWVrJyxcbiAgICB0aW1lOiAxNjgsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJzEgTW9udGgnLFxuICAgIHRpbWU6IDcyMCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBRdWFydGVyJyxcbiAgICB0aW1lOiAyODgwLFxuICB9LFxuXTtcbiJdLCJtYXBwaW5n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
@@ -1,77 +1,58 @@
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.Map = void 0;
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
-
14
- var _leaflet = _interopRequireDefault(require("leaflet"));
15
-
16
- var _leaflet2 = require("leaflet.markercluster");
17
-
10
+ var L = _interopRequireWildcard(require("leaflet"));
11
+ require("leaflet.markercluster");
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _reactRedux = require("react-redux");
21
-
22
14
  var _actions = require("store/global/actions");
23
-
24
15
  var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
25
-
26
16
  var _AreaPolygons = require("./areas/AreaPolygons");
27
-
28
17
  var _Edges = _interopRequireDefault(require("./edges/Edges"));
29
-
30
18
  require("./Map.scss");
31
-
32
19
  require("./points/PointIcon.scss");
33
-
34
20
  var _PointMarkers = require("./points/PointMarkers");
35
-
36
21
  var _Event = require("./events/Event");
37
-
38
22
  var _MapUtils = require("./MapUtils");
39
-
40
23
  var _theme = require("../../styles/theme/theme");
41
-
42
24
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
43
-
44
25
  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); }
45
-
46
26
  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; }
47
-
48
27
  // @ts-ignore
28
+
29
+ require('leaflet.markercluster');
49
30
  var Map = function Map(_ref) {
50
31
  var areas = _ref.areas,
51
- edges = _ref.edges,
52
- points = _ref.points,
53
- global_data = _ref.global_data,
54
- areaToCenterBy = _ref.areaToCenterBy,
55
- focusedEvent = _ref.focusedEvent,
56
- hoveredEvent = _ref.hoveredEvent,
57
- _ref$hideEdges = _ref.hideEdges,
58
- hideEdges = _ref$hideEdges === void 0 ? false : _ref$hideEdges,
59
- _ref$mapBoxStyle = _ref.mapBoxStyle,
60
- mapBoxStyle = _ref$mapBoxStyle === void 0 ? _theme.leafletMap.mapDefault : _ref$mapBoxStyle,
61
- children = _ref.children,
62
- _ref$includeUnmonitor = _ref.includeUnmonitoredPoints,
63
- includeUnmonitoredPoints = _ref$includeUnmonitor === void 0 ? true : _ref$includeUnmonitor,
64
- _ref$includeUnmonitor2 = _ref.includeUnmonitoredDescendantsForEdges,
65
- includeUnmonitoredDescendantsForEdges = _ref$includeUnmonitor2 === void 0 ? false : _ref$includeUnmonitor2;
32
+ edges = _ref.edges,
33
+ points = _ref.points,
34
+ global_data = _ref.global_data,
35
+ areaToCenterBy = _ref.areaToCenterBy,
36
+ focusedEvent = _ref.focusedEvent,
37
+ hoveredEvent = _ref.hoveredEvent,
38
+ _ref$hideEdges = _ref.hideEdges,
39
+ hideEdges = _ref$hideEdges === void 0 ? false : _ref$hideEdges,
40
+ _ref$mapBoxStyle = _ref.mapBoxStyle,
41
+ mapBoxStyle = _ref$mapBoxStyle === void 0 ? _theme.leafletMap.mapDefault : _ref$mapBoxStyle,
42
+ children = _ref.children,
43
+ _ref$includeUnmonitor = _ref.includeUnmonitoredPoints,
44
+ includeUnmonitoredPoints = _ref$includeUnmonitor === void 0 ? true : _ref$includeUnmonitor,
45
+ _ref$includeUnmonitor2 = _ref.includeUnmonitoredDescendantsForEdges,
46
+ includeUnmonitoredDescendantsForEdges = _ref$includeUnmonitor2 === void 0 ? false : _ref$includeUnmonitor2,
47
+ _ref$forEventsView = _ref.forEventsView,
48
+ forEventsView = _ref$forEventsView === void 0 ? false : _ref$forEventsView;
66
49
  var map = global_data.map;
67
50
  var mapRef = (0, _react.useRef)(null);
68
51
  var dispatch = (0, _reactRedux.useDispatch)();
69
-
70
52
  var _useState = (0, _react.useState)(2),
71
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
72
- mapZoomLevel = _useState2[0],
73
- setMapZoomLevel = _useState2[1];
74
-
53
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
54
+ mapZoomLevel = _useState2[0],
55
+ setMapZoomLevel = _useState2[1];
75
56
  var eventsData = (0, _reactRedux.useSelector)(function (state) {
76
57
  return state.events_data;
77
58
  });
@@ -81,98 +62,118 @@ var Map = function Map(_ref) {
81
62
  var focusedEventPresent = (0, _react.useMemo)(function () {
82
63
  return focusedEvent !== null && focusedEvent !== undefined;
83
64
  }, [focusedEvent]);
84
-
85
- var _React$useState = _react.default.useState(new _leaflet2.MarkerClusterGroup({
86
- spiderfyOnMaxZoom: false,
87
- showCoverageOnHover: false,
88
- zoomToBoundsOnClick: true,
89
- animate: true,
90
- disableClusteringAtZoom: 14,
91
- removeOutsideVisibleBounds: false,
92
- chunkedLoading: true,
93
- iconCreateFunction: function iconCreateFunction(cluster) {
94
- return _leaflet.default.divIcon({
95
- html: "<div><span>".concat(cluster._childCount, "</span></div><div class='marker-cluster-name'>").concat(_i18n.default.t('industries'), "</div>"),
96
- className: 'marker-cluster',
97
- iconSize: _leaflet.default.point(40, 40)
98
- });
99
- }
100
- })),
101
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
102
- factoriesClusterGroup = _React$useState2[0];
103
-
104
- var _React$useState3 = _react.default.useState(_leaflet.default.layerGroup()),
105
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 1),
106
- wwtpsLayerGroup = _React$useState4[0];
107
-
108
- var _React$useState5 = _react.default.useState(_leaflet.default.layerGroup()),
109
- _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 1),
110
- collectorsLayerGroup = _React$useState6[0];
111
-
65
+ var _useState3 = (0, _react.useState)(window.customLeaflet.markerClusterGroup({
66
+ spiderfyOnMaxZoom: false,
67
+ showCoverageOnHover: false,
68
+ zoomToBoundsOnClick: true,
69
+ animate: true,
70
+ disableClusteringAtZoom: 14,
71
+ removeOutsideVisibleBounds: false,
72
+ chunkedLoading: true,
73
+ iconCreateFunction: function iconCreateFunction(cluster) {
74
+ return new L.DivIcon({
75
+ html: "<div><span>".concat(cluster._childCount, "</span></div><div class='marker-cluster-name'>").concat(_i18n.default.t('industries'), "</div>"),
76
+ className: 'marker-cluster',
77
+ iconSize: new L.Point(40, 40)
78
+ });
79
+ }
80
+ })),
81
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
82
+ factoriesClusterGroup = _useState4[0];
83
+ var _useState5 = (0, _react.useState)(L.layerGroup()),
84
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 1),
85
+ wwtpsLayerGroup = _useState6[0];
86
+ var _useState7 = (0, _react.useState)(L.layerGroup()),
87
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 1),
88
+ collectorsLayerGroup = _useState8[0];
89
+ var _useState9 = (0, _react.useState)(L.layerGroup()),
90
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 1),
91
+ factoriesLayerGroup = _useState10[0];
112
92
  var memoizedPoints = (0, _react.useMemo)(function () {
113
93
  return !eventsData.isFetching && mapRef.current !== null && !focusedEventPresent && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
114
94
  map: mapRef.current,
115
95
  points: points,
116
96
  includeUnmonitoredPoints: includeUnmonitoredPoints,
117
97
  rerender: _MapUtils.zoomLevels[mapZoomLevel],
118
- factoriesGroup: factoriesClusterGroup,
98
+ factoriesGroup: forEventsView ? factoriesLayerGroup : factoriesClusterGroup,
119
99
  wwtpsGroup: wwtpsLayerGroup,
120
- collectorsGroup: collectorsLayerGroup
100
+ collectorsGroup: collectorsLayerGroup,
101
+ forEventsView: forEventsView
121
102
  });
122
- }, [eventsData.isFetching, mapRef.current, points, focusedEventPresent, mapZoomLevel, factoriesClusterGroup, wwtpsLayerGroup, collectorsLayerGroup]); // const activateZoomControlForIcons = useMemo(() => {
103
+ }, [eventsData.isFetching, mapRef.current, points, focusedEventPresent, mapZoomLevel, factoriesClusterGroup, wwtpsLayerGroup, collectorsLayerGroup]);
104
+
105
+ // const activateZoomControlForIcons = useMemo(() => {
123
106
  // mapRef.current !== null && iconZoomControl(mapRef.current);
124
107
  // }, [mapRef.current, points, focusedEventPresent]);
125
108
 
126
- var memoizedZoomControl = (0, _react.useMemo)(function () {
127
- var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
128
-
109
+ var zoomRulesForEventsView = function zoomRulesForEventsView(payload) {
110
+ payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Edges.default, {
111
+ edges: edges,
112
+ map: mapRef.current,
113
+ L: L,
114
+ points: points,
115
+ hideEdges: hideEdges,
116
+ allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
117
+ }), memoizedPoints);
118
+ return payload;
119
+ };
120
+ var zoomRulesForDashaboardMaps = function zoomRulesForDashaboardMaps(payload) {
129
121
  switch (_MapUtils.zoomLevels[mapZoomLevel]) {
130
122
  case 'Small':
131
- console.warn('Small');
123
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
132
124
  payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Edges.default, {
133
125
  edges: edges,
134
126
  map: mapRef.current,
135
- L: _leaflet.default,
127
+ L: L,
136
128
  points: points,
137
129
  hideEdges: hideEdges,
138
130
  allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
139
131
  }));
140
132
  break;
141
-
142
133
  case 'Medium':
143
- console.warn('Medium');
134
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
144
135
  payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Edges.default, {
145
136
  edges: edges,
146
137
  map: mapRef.current,
147
- L: _leaflet.default,
138
+ L: L,
148
139
  points: points,
149
140
  hideEdges: hideEdges,
150
141
  allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
151
142
  }), memoizedPoints);
152
143
  break;
153
-
154
144
  case 'MLarge':
145
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
146
+ payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
147
+ break;
148
+ case 'Large':
149
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
150
+ payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
151
+ break;
152
+ case 'XLarge':
153
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
155
154
  payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
156
155
  break;
157
-
158
156
  default:
159
157
  payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
160
158
  break;
161
159
  }
162
-
163
160
  return payload;
164
- }, [mapZoomLevel]);
161
+ };
162
+ var memoizedZoomControl = (0, _react.useMemo)(function () {
163
+ var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
164
+ if (forEventsView) payload = zoomRulesForEventsView(payload);
165
+ if (!forEventsView) payload = zoomRulesForDashaboardMaps(payload);
166
+ return payload;
167
+ }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent]);
165
168
  var memoizedEvent = (0, _react.useMemo)(function () {
166
169
  if (focusedEventPresent) {
167
170
  focusedEvent.focused = focusedEventPresent;
168
171
  focusedEvent.hovered = !focusedEventPresent;
169
172
  }
170
-
171
173
  if (hoveredEventPresent) {
172
174
  hoveredEvent.hovered = hoveredEventPresent;
173
175
  hoveredEvent.focused = !hoveredEventPresent;
174
176
  }
175
-
176
177
  if (!hoveredEventPresent && !focusedEventPresent) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
177
178
  return /*#__PURE__*/_react.default.createElement(_Event.Event, {
178
179
  event: focusedEvent || hoveredEvent,
@@ -194,9 +195,9 @@ var Map = function Map(_ref) {
194
195
  if (!mapRef.current) {
195
196
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
196
197
  } else {
197
- (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
198
+ (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areas[0]);
198
199
  }
199
- }, [areaToCenterBy]);
200
+ }, [areas]);
200
201
  return /*#__PURE__*/_react.default.createElement("div", {
201
202
  className: "kd-map-container"
202
203
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -206,11 +207,10 @@ var Map = function Map(_ref) {
206
207
  }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef, edges, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
207
208
  areas: areas,
208
209
  map: mapRef.current,
209
- L: _leaflet.default,
210
+ L: L,
210
211
  areaToCenterBy: areaToCenterBy,
211
212
  mapZoom: mapZoomLevel
212
213
  })), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
213
214
  };
214
-
215
215
  exports.Map = Map;
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1hcCIsImFyZWFzIiwiZWRnZXMiLCJwb2ludHMiLCJnbG9iYWxfZGF0YSIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiaGlkZUVkZ2VzIiwibWFwQm94U3R5bGUiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJNYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJMIiwiZGl2SWNvbiIsImh0bWwiLCJfY2hpbGRDb3VudCIsImkxOG4iLCJ0IiwiY2xhc3NOYW1lIiwiaWNvblNpemUiLCJwb2ludCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsImxheWVyR3JvdXAiLCJ3d3Rwc0xheWVyR3JvdXAiLCJjb2xsZWN0b3JzTGF5ZXJHcm91cCIsIm1lbW9pemVkUG9pbnRzIiwiaXNGZXRjaGluZyIsImN1cnJlbnQiLCJ6b29tTGV2ZWxzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsInBheWxvYWQiLCJjb25zb2xlIiwid2FybiIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsImV2ZW50RmlsdGVyUGFyYW0iLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsImNsZWFudXAiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwic2lkZW5hdkV4cGFuZGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBUUE7O0FBQ0E7Ozs7OztBQTdCQTtBQTZDTyxJQUFNQSxHQUF1QixHQUFHLFNBQTFCQSxHQUEwQixPQWFqQztBQUFBLE1BWkpDLEtBWUksUUFaSkEsS0FZSTtBQUFBLE1BWEpDLEtBV0ksUUFYSkEsS0FXSTtBQUFBLE1BVkpDLE1BVUksUUFWSkEsTUFVSTtBQUFBLE1BVEpDLFdBU0ksUUFUSkEsV0FTSTtBQUFBLE1BUkpDLGNBUUksUUFSSkEsY0FRSTtBQUFBLE1BUEpDLFlBT0ksUUFQSkEsWUFPSTtBQUFBLE1BTkpDLFlBTUksUUFOSkEsWUFNSTtBQUFBLDRCQUxKQyxTQUtJO0FBQUEsTUFMSkEsU0FLSSwrQkFMUSxLQUtSO0FBQUEsOEJBSkpDLFdBSUk7QUFBQSxNQUpKQSxXQUlJLGlDQUpVQyxrQkFBV0MsVUFJckI7QUFBQSxNQUhKQyxRQUdJLFFBSEpBLFFBR0k7QUFBQSxtQ0FGSkMsd0JBRUk7QUFBQSxNQUZKQSx3QkFFSSxzQ0FGdUIsSUFFdkI7QUFBQSxvQ0FESkMscUNBQ0k7QUFBQSxNQURKQSxxQ0FDSSx1Q0FEb0MsS0FDcEM7QUFDSixNQUFRQyxHQUFSLEdBQWdCWCxXQUFoQixDQUFRVyxHQUFSO0FBQ0EsTUFBTUMsTUFBTSxHQUFHLG1CQUFjLElBQWQsQ0FBZjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0Esa0JBQXdDLHFCQUFTLENBQVQsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFB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RCxFQWVHLENBQUNBLGNBQUQsQ0FmSDtBQWlCQSxzQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFDRSxJQUFBLFNBQVMsMkJBQ1BELFdBQVcsQ0FBQ2dFLGVBQVosR0FBOEIsRUFBOUIsR0FBbUMsa0NBRDVCO0FBRFgsa0JBS0UsNkJBQUMsc0JBQUQscUJBQ0U7QUFBSyxJQUFBLEVBQUUsRUFBQztBQUFSLElBREYsRUFFRyxvQ0FBcUJoRSxXQUFyQixFQUFrQ1ksTUFBbEMsRUFBMENkLEtBQTFDLEVBQWlEQyxNQUFqRCxrQkFDQyx5RUFDRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFRixLQURUO0FBRUUsSUFBQSxHQUFHLEVBQUVlLE1BQU0sQ0FBQ3FDLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRWYsZ0JBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWpDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVhO0FBTFgsSUFERixDQUhKLEVBYUcsNENBQTZCaEIsS0FBN0IsRUFBb0NELEtBQXBDLEVBQTJDRyxXQUEzQyxFQUF3RFksTUFBeEQsa0JBQ0MsNERBQ0cyQyxhQURILEVBRUdKLG1CQUZILEVBR0czQyxRQUhILENBZEosQ0FMRixDQURGLENBREY7QUErQkQsQ0FqT00iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IE1hcmtlckNsdXN0ZXJHcm91cCB9IGZyb20gJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCBbZmFjdG9yaWVzQ2x1c3Rlckdyb3VwXSA9IFJlYWN0LnVzZVN0YXRlPGFueT4oXG4gICAgbmV3IE1hcmtlckNsdXN0ZXJHcm91cCh7XG4gICAgICBzcGlkZXJmeU9uTWF4Wm9vbTogZmFsc2UsXG4gICAgICBzaG93Q292ZXJhZ2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIHpvb21Ub0JvdW5kc09uQ2xpY2s6IHRydWUsXG4gICAgICBhbmltYXRlOiB0cnVlLFxuICAgICAgZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IDE0LFxuICAgICAgcmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHM6IGZhbHNlLFxuICAgICAgY2h1bmtlZExvYWRpbmc6IHRydWUsXG4gICAgICBpY29uQ3JlYXRlRnVuY3Rpb246IGZ1bmN0aW9uIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBMLmRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBMLnBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IFJlYWN0LnVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbY29sbGVjdG9yc0xheWVyR3JvdXBdID0gUmVhY3QudXNlU3RhdGU8YW55PihMLmxheWVyR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG5cbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICBjb25zb2xlLndhcm4oJ1NtYWxsJyk7XG4gICAgICAgIHBheWxvYWQgPSAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBjb25zb2xlLndhcm4oJ01lZGl1bScpO1xuICAgICAgICBwYXlsb2FkID0gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sIFttYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoXG4gICAgICBtYXBab29tTGV2ZWwsXG4gICAgICBtYXBCb3hTdHlsZSxcbiAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0sIFthcmVhVG9DZW50ZXJCeV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKGVkZ2VzLCBhcmVhcywgZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIm1hcCIsIm1hcFJlZiIsInVzZVJlZiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtYXBab29tTGV2ZWwiLCJzZXRNYXBab29tTGV2ZWwiLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJmYWN0b3JpZXNMYXllckdyb3VwIiwibWVtb2l6ZWRQb2ludHMiLCJpc0ZldGNoaW5nIiwiY3VycmVudCIsImNyZWF0ZUVsZW1lbnQiLCJQb2ludE1hcmtlcnMiLCJyZXJlbmRlciIsInpvb21MZXZlbHMiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50IiwiYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzIiwiem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMiLCJjb25zb2xlIiwid2FybiIsIm1lbW9pemVkWm9vbUNvbnRyb2wiLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZU1hcCIsInNhdGVsbGl0ZSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsInN0b3JlTWFwIiwid2F0ZXJBdXRob3JpdHlJZCIsImFyZWFGb2N1c0xvZ2ljIiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsIkFyZWFQb2x5Z29ucyIsIm1hcFpvb20iLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG4gIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXA+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgW2ZhY3Rvcmllc0NsdXN0ZXJHcm91cF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cuY3VzdG9tTGVhZmxldC5tYXJrZXJDbHVzdGVyR3JvdXAoe1xuICAgICAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxNCxcbiAgICAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbiAgICAgIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICAgICAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4gICAgICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtcbiAgICAgICAgICAgIGNsdXN0ZXIuX2NoaWxkQ291bnRcbiAgICAgICAgICB9PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KFxuICAgICAgICAgICAgJ2luZHVzdHJpZXMnLFxuICAgICAgICAgICl9PC9kaXY+YCxcbiAgICAgICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgICAhZm9jdXNlZEV2ZW50UHJlc2VudCAmJiAoXG4gICAgICAgIDxQb2ludE1hcmtlcnNcbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17aW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAgIHJlcmVuZGVyPXt6b29tTGV2ZWxzW21hcFpvb21MZXZlbF19XG4gICAgICAgICAgZmFjdG9yaWVzR3JvdXA9e1xuICAgICAgICAgICAgZm9yRXZlbnRzVmlldyA/IGZhY3Rvcmllc0xheWVyR3JvdXAgOiBmYWN0b3JpZXNDbHVzdGVyR3JvdXBcbiAgICAgICAgICB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17Zm9yRXZlbnRzVmlld31cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbXG4gICAgZXZlbnRzRGF0YS5pc0ZldGNoaW5nLFxuICAgIG1hcFJlZi5jdXJyZW50LFxuICAgIHBvaW50cyxcbiAgICBmb2N1c2VkRXZlbnRQcmVzZW50LFxuICAgIG1hcFpvb21MZXZlbCxcbiAgICBmYWN0b3JpZXNDbHVzdGVyR3JvdXAsXG4gICAgd3d0cHNMYXllckdyb3VwLFxuICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICBdKTtcblxuICAvLyBjb25zdCBhY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgLy8gICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJiBpY29uWm9vbUNvbnRyb2wobWFwUmVmLmN1cnJlbnQpO1xuICAvLyB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcgPSAocGF5bG9hZCkgPT4ge1xuICAgIHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RWRnZXNcbiAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAvPlxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAocGF5bG9hZCkgPT4ge1xuICAgIHN3aXRjaCAoem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKSB7XG4gICAgICBjYXNlICdTbWFsbCc6XG4gICAgICAgIGNvbnNvbGUud2Fybih6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pO1xuICAgICAgICBwYXlsb2FkID0gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgY29uc29sZS53YXJuKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSk7XG4gICAgICAgIHBheWxvYWQgPSAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHttZW1vaXplZFBvaW50c31cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgICBjb25zb2xlLndhcm4oem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKTtcbiAgICAgICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMYXJnZSc6XG4gICAgICAgIGNvbnNvbGUud2Fybih6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pO1xuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICAgIGNvbnNvbGUud2Fybih6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pO1xuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9IDw+PC8+O1xuICAgIGlmIChmb3JFdmVudHNWaWV3KSBwYXlsb2FkID0gem9vbVJ1bGVzRm9yRXZlbnRzVmlldyhwYXlsb2FkKTtcbiAgICBpZiAoIWZvckV2ZW50c1ZpZXcpIHBheWxvYWQgPSB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyhwYXlsb2FkKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LCBbbWFwWm9vbUxldmVsLCBldmVudHNEYXRhLmlzRmV0Y2hpbmcsIGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhc1swXSk7XG4gICAgfVxuICB9LCBbYXJlYXNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhlZGdlcywgYXJlYXMsIGdsb2JhbF9kYXRhLCBtYXBSZWYpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUdBLElBQUFJLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFWLE9BQUE7QUFRQSxJQUFBVyxNQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxLQUFBLEdBQUFQLHNCQUFBLENBQUFMLE9BQUE7QUFBd0MsU0FBQWEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxr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