@kando-env/kando-ui 1.2.300-alpha.1 → 1.2.300-alpha.10

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 (615) hide show
  1. package/lib/Router.js +75 -36
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
  3. package/lib/Widgets/EventsRow/EventsRow.js +39 -26
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +81 -65
  6. package/lib/Widgets/Map/MapUtils.js +41 -41
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +93 -52
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +31 -25
  9. package/lib/Widgets/Map/areas/AreaUtils.js +45 -45
  10. package/lib/Widgets/Map/edges/Edge.js +33 -24
  11. package/lib/Widgets/Map/edges/Edges.js +26 -20
  12. package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
  13. package/lib/Widgets/Map/events/Event.js +18 -17
  14. package/lib/Widgets/Map/events/EventIndicator.js +55 -58
  15. package/lib/Widgets/Map/events/EventPath.js +25 -25
  16. package/lib/Widgets/Map/events/EventUtils.js +80 -56
  17. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +16 -16
  18. package/lib/Widgets/Map/events/PointOfEvent.js +31 -26
  19. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +36 -28
  20. package/lib/Widgets/Map/events/Snail.js +21 -19
  21. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +90 -94
  22. package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
  23. package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
  24. package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
  25. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
  26. package/lib/Widgets/Map/points/PointIcon.js +16 -17
  27. package/lib/Widgets/Map/points/PointMarker.js +97 -67
  28. package/lib/Widgets/Map/points/PointMarkers.js +67 -45
  29. package/lib/Widgets/Map/points/PointUtils.js +81 -56
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +45 -27
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +18 -14
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +12 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  34. package/lib/Widgets/MostPolluting/Areas/Areas.js +58 -28
  35. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
  36. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  37. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
  38. package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +18 -15
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  43. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  44. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  45. package/lib/Widgets/MostPolluting/MostPolluting.js +24 -18
  46. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
  47. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
  48. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
  49. package/lib/Widgets/MostPolluting/assets/index.js +11 -11
  50. package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
  52. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +34 -44
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +36 -40
  54. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
  56. package/lib/Widgets/MostPolluting/styles.js +6 -4
  57. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
  58. package/lib/Widgets/PotentialImpactSummary/Icon.js +6 -8
  59. package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
  60. package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
  61. package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
  62. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
  63. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +33 -36
  65. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -27
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
  67. package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
  68. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  69. package/lib/Widgets/QualitySummary/styles.js +19 -20
  70. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
  71. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +26 -30
  73. package/lib/Widgets/UtilityInformation/UtilityInformation.js +43 -25
  74. package/lib/Widgets/UtilityInformation/styles.js +29 -31
  75. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  76. package/lib/assets/icons/TopNavbar/index.js +6 -6
  77. package/lib/assets/icons/TrendSvg.js +7 -7
  78. package/lib/assets/icons/index.js +14 -14
  79. package/lib/assets/icons/kandoStepper/index.js +5 -5
  80. package/lib/assets/icons/siteTypes/index.js +1 -1
  81. package/lib/components/ApplyButton/ApplyButton.js +11 -10
  82. package/lib/components/ApplyButton/index.js +4 -3
  83. package/lib/components/Backdrop/Backdrop.js +5 -7
  84. package/lib/components/ContentLoader/ContentLoader.js +10 -12
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
  91. package/lib/components/CustomInputs/Search/Search.js +63 -40
  92. package/lib/components/CustomInputs/Search/index.js +4 -3
  93. package/lib/components/CustomInputs/Select/Select.js +56 -42
  94. package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
  95. package/lib/components/DamageType/DamageType.js +60 -35
  96. package/lib/components/DamageType/index.js +4 -3
  97. package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
  98. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
  99. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +72 -71
  100. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +40 -28
  101. package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
  102. package/lib/components/DischargeHeatmap/index.js +4 -3
  103. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  104. package/lib/components/DischargeHeatmap/popupText.js +12 -11
  105. package/lib/components/DischargeHeatmap/titles.js +6 -4
  106. package/lib/components/ErrorBoundary.js +42 -27
  107. package/lib/components/Events/Events.js +48 -29
  108. package/lib/components/Events/index.js +4 -3
  109. package/lib/components/Graph/Graph.js +91 -70
  110. package/lib/components/Graph/index.js +4 -3
  111. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
  112. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  113. package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
  114. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
  115. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  116. package/lib/components/Header/Header.js +3 -3
  117. package/lib/components/Header/Header.stories.js +9 -5
  118. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +24 -24
  119. package/lib/components/Header/InfoBar/InfoBar.js +35 -42
  120. package/lib/components/Header/InfoBar/Search/Control.js +12 -11
  121. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
  122. package/lib/components/Header/InfoBar/Search/Search.js +22 -15
  123. package/lib/components/Header/InfoBar/Search/SearchContainer.js +30 -16
  124. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  125. package/lib/components/Header/InfoBar/Search/searchStyle.js +51 -42
  126. package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
  127. package/lib/components/Header/KandoNavbar/KandoNavbar.js +90 -63
  128. package/lib/components/Header/KandoNavbar/index.js +4 -3
  129. package/lib/components/Header/Slideshow/Slideshow.js +91 -67
  130. package/lib/components/Header/Slideshow/index.js +4 -3
  131. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
  132. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
  133. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +14 -14
  134. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +33 -27
  135. package/lib/components/Header/Toolbar/Toolbar.js +76 -56
  136. package/lib/components/InfoBar/InfoBar.js +24 -10
  137. package/lib/components/InfoBar/InfoBar.stories.js +9 -5
  138. package/lib/components/KandoModal/KandoModal.js +40 -24
  139. package/lib/components/KandoModal/index.js +4 -3
  140. package/lib/components/Link.js +8 -9
  141. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -10
  142. package/lib/components/Links/StyledLink/StyledLink.js +14 -13
  143. package/lib/components/Links/StyledNavLink/StyledNavLink.js +12 -12
  144. package/lib/components/LiveEvents/CarouselSlide.js +10 -11
  145. package/lib/components/LiveEvents/LiveEvents.js +6 -7
  146. package/lib/components/LiveEvents/index.js +4 -3
  147. package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
  148. package/lib/components/Map/Map.js +25 -20
  149. package/lib/components/Map/index.js +4 -3
  150. package/lib/components/Modal/Modal.js +10 -10
  151. package/lib/components/NarrowHeader.js +32 -18
  152. package/lib/components/PointInfo/PointInfo.js +19 -20
  153. package/lib/components/PointInfo/index.js +4 -3
  154. package/lib/components/PopupModal/PopupModal.js +17 -13
  155. package/lib/components/PopupModal/PopupModal.stories.js +24 -17
  156. package/lib/components/Sector/Sector.js +9 -10
  157. package/lib/components/Sector/Sector.test.js +21 -20
  158. package/lib/components/Sector/index.js +4 -3
  159. package/lib/components/Sector/sectorIcons.js +5 -4
  160. package/lib/components/SevereEvent/Eta/Eta.js +54 -49
  161. package/lib/components/SevereEvent/Eta/styles.js +8 -11
  162. package/lib/components/SevereEvent/SevereEvent.js +35 -27
  163. package/lib/components/Spinner/Spinner.js +8 -8
  164. package/lib/components/Spinner/Spinner.stories.js +11 -6
  165. package/lib/components/Spinner/index.js +4 -3
  166. package/lib/components/Spinner/styles.js +16 -21
  167. package/lib/components/Tabs/Tabs.js +29 -18
  168. package/lib/components/Tabs/Tabs.stories.js +10 -6
  169. package/lib/components/Tabs/assets/index.js +5 -5
  170. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
  171. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +48 -35
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  174. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
  175. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
  176. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  177. package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
  178. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
  179. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +32 -29
  180. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
  181. package/lib/components/TimeRangeSelector/constants.js +5 -3
  182. package/lib/components/TimeRangeSelector/index.js +4 -3
  183. package/lib/components/Toggle/Toggle.js +18 -11
  184. package/lib/components/Toggle/index.js +4 -3
  185. package/lib/components/TrendGraph/TrendGraph.js +42 -24
  186. package/lib/components/TrendGraph/index.js +4 -3
  187. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  188. package/lib/components/TrendGraphNVL/index.js +4 -3
  189. package/lib/development-environment/index.js +13 -9
  190. package/lib/development-environment/mock/browser.js +5 -2
  191. package/lib/development-environment/mock/get.js +10 -8
  192. package/lib/development-environment/mock/handlers.js +3 -2
  193. package/lib/development-environment/mock/mockBus.js +5 -4
  194. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  195. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  196. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  197. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  198. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  199. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  200. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  201. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  202. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  203. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  204. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  205. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  206. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  207. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  208. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  209. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  210. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  211. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  212. package/lib/development-environment/togly/ToglyDashboard.js +23 -13
  213. package/lib/development-environment/togly/ToglyItem.js +29 -25
  214. package/lib/development-environment/togly/init.js +3 -3
  215. package/lib/development-environment/togly/macro.js +9 -13
  216. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  217. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  218. package/lib/hooks/useApi.js +56 -20
  219. package/lib/hooks/useApiWithDashboardQuery.js +48 -29
  220. package/lib/hooks/useClickOutside.js +5 -4
  221. package/lib/hooks/useInitializeHeaders.js +6 -6
  222. package/lib/hooks/useKandoFetch.js +31 -17
  223. package/lib/hooks/useMap.js +37 -25
  224. package/lib/hooks/useNavContext.js +26 -22
  225. package/lib/hooks/useQueryURL.js +3 -2
  226. package/lib/hooks/useRemoveExistingLayers.js +8 -7
  227. package/lib/hooks/useUpdateEventBodyTail.js +19 -14
  228. package/lib/hooks/useUserTimeZone.js +29 -32
  229. package/lib/hooks/useUserTimeZone.test.js +23 -19
  230. package/lib/hooks/useWindowSize.js +14 -7
  231. package/lib/i18n/en.json +2 -1
  232. package/lib/i18n/he.json +3 -3
  233. package/lib/index.js +13 -11
  234. package/lib/macros/getVersion.js +2 -2
  235. package/lib/pages/AreaPage/AreaPage.js +64 -28
  236. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -14
  237. package/lib/pages/AreaPage/Dashboard/Dashboard.js +19 -16
  238. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +28 -16
  239. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +7 -7
  240. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +68 -34
  241. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  242. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
  243. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  244. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  245. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  246. package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
  247. package/lib/pages/CannyWidget/Feedback.js +16 -14
  248. package/lib/pages/CovidPage/CovidPage.js +16 -9
  249. package/lib/pages/CovidPage/components/Body.js +30 -26
  250. package/lib/pages/CovidPage/components/Map.js +40 -28
  251. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  252. package/lib/pages/CovidPage/components/Summary.js +29 -20
  253. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  254. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  255. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
  256. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  257. package/lib/pages/CovidPage/components/areas/Area.js +36 -24
  258. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
  259. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
  260. package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
  261. package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
  262. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  263. package/lib/pages/DashboardMap/AreaCard.js +26 -25
  264. package/lib/pages/DashboardMap/FactoryCard.js +20 -24
  265. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
  266. package/lib/pages/DashboardMap/List.js +54 -42
  267. package/lib/pages/DashboardMap/ListContext.js +19 -14
  268. package/lib/pages/DashboardMap/Loader.js +3 -3
  269. package/lib/pages/DashboardMap/WWTPMap.js +57 -42
  270. package/lib/pages/DashboardMap/Widget.js +74 -61
  271. package/lib/pages/DashboardMap/index.js +4 -3
  272. package/lib/pages/DashboardMap/utils.js +24 -19
  273. package/lib/pages/EventsPage/Body/Body.js +18 -21
  274. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
  275. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +36 -27
  276. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
  277. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
  278. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
  279. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  280. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +64 -52
  281. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -17
  282. package/lib/pages/EventsPage/EventsPage.js +13 -8
  283. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +41 -27
  284. package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
  285. package/lib/pages/EventsPage/events/Sidebar.js +19 -22
  286. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
  287. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -34
  288. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
  289. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
  290. package/lib/pages/EventsPage/events/event_info/EventSection.js +18 -15
  291. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +39 -44
  292. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
  293. package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
  294. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +34 -29
  295. package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
  296. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
  297. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
  298. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
  299. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +25 -16
  300. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +4 -4
  301. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
  302. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -12
  303. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +10 -11
  304. package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
  305. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
  306. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
  307. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
  308. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +4 -6
  309. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +6 -11
  310. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -25
  311. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
  312. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +13 -11
  313. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
  314. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
  315. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +10 -13
  316. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
  317. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
  318. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterConsumptionPerDay.js +7 -7
  319. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
  320. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
  321. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
  322. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +11 -12
  323. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +13 -15
  324. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +27 -0
  325. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +5 -4
  326. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
  327. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
  328. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +26 -17
  329. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
  330. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
  331. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
  332. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
  333. package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
  334. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
  335. package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
  336. package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
  337. package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
  338. package/lib/pages/EventsPage/events/events_list/EventsList.js +139 -115
  339. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +56 -39
  340. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +111 -73
  341. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +72 -53
  342. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
  343. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +39 -30
  344. package/lib/pages/EventsPage/events/events_list/Sort.js +19 -14
  345. package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
  346. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
  347. package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
  348. package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
  349. package/lib/pages/ImportFileWizard/ValidationForm.js +22 -22
  350. package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
  351. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  352. package/lib/pages/ImportFileWizard/index.js +4 -3
  353. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
  354. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +26 -23
  355. package/lib/pages/ImportGisPage/importGisUtils.js +24 -15
  356. package/lib/pages/ImportGisProcess/index.js +18 -14
  357. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
  358. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
  359. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
  360. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +58 -28
  361. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
  362. package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
  363. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  364. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
  365. package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
  366. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  367. package/lib/pages/NotificationsPageV2/NotificationsPage.js +97 -71
  368. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
  369. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +140 -127
  370. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -72
  371. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +87 -90
  372. package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
  373. package/lib/pages/OldSitePage/OldSitePage.js +132 -56
  374. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  375. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  376. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
  377. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +21 -19
  378. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  379. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
  380. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  381. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  382. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  383. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
  384. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  385. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
  386. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  387. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  388. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  389. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  390. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
  391. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
  392. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  393. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
  394. package/lib/pages/ProfilePage/Container.js +4 -3
  395. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
  396. package/lib/pages/ProfilePage/ProfilePage.js +205 -113
  397. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
  398. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
  399. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +26 -23
  400. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
  401. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
  402. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
  403. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +43 -39
  404. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +29 -27
  405. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
  406. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
  407. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  408. package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
  409. package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
  410. package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
  411. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
  412. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
  413. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +59 -34
  414. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
  415. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
  416. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +192 -107
  417. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
  418. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
  419. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
  420. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
  421. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  422. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
  423. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +52 -50
  424. package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
  425. package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
  426. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
  427. package/lib/pages/SamplingsPage/index.js +3 -2
  428. package/lib/pages/SamplingsPage/samplingsPageUtils.js +92 -68
  429. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +5 -7
  430. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  431. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
  432. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
  433. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
  434. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -15
  435. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
  436. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  437. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
  438. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +13 -17
  439. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  440. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  441. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
  442. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  443. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
  444. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  445. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  446. package/lib/pages/SitePage/SamplingParameters/body/Body.js +11 -10
  447. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
  448. package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
  449. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
  450. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  451. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
  452. package/lib/pages/SitePage/SamplingParameters/dataParser.js +40 -31
  453. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  454. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  455. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
  456. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +10 -11
  457. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
  458. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +13 -13
  459. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +46 -34
  460. package/lib/pages/SitePage/SiteInformation/style.js +12 -16
  461. package/lib/pages/SitePage/SitePage.js +70 -29
  462. package/lib/pages/UploadLabResult/index.js +16 -15
  463. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
  464. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
  465. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
  466. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
  467. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
  468. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
  469. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
  470. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
  471. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
  472. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
  473. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +9 -8
  474. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  475. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +23 -15
  476. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
  477. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -14
  478. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -6
  479. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +32 -23
  480. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
  481. package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
  482. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
  483. package/lib/pages/WbeDashboard/SearchInput.js +21 -15
  484. package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
  485. package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
  486. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  487. package/lib/pages/WbeDashboard/WbeDashboardPage.js +211 -145
  488. package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
  489. package/lib/pages/WwtpPage/ContaminateCard.js +5 -4
  490. package/lib/pages/WwtpPage/DashboardCard.js +28 -29
  491. package/lib/pages/WwtpPage/DischargePatternCard.js +26 -16
  492. package/lib/pages/WwtpPage/InletsCard.js +17 -19
  493. package/lib/pages/WwtpPage/Map.js +6 -7
  494. package/lib/pages/WwtpPage/OrganicCard.js +5 -4
  495. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
  496. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
  497. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
  498. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
  499. package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
  500. package/lib/pages/WwtpPage/PredictionCard.js +5 -4
  501. package/lib/pages/WwtpPage/TrendCard.js +34 -26
  502. package/lib/pages/WwtpPage/TrendChart.js +12 -12
  503. package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
  504. package/lib/pages/WwtpPage/WwtpPage.js +10 -9
  505. package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
  506. package/lib/pages/WwtpPage/index.js +4 -3
  507. package/lib/providers/Slideshow/SlideshowContext.js +10 -11
  508. package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
  509. package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
  510. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
  511. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
  512. package/lib/providers/UrlHistory/index.js +3 -3
  513. package/lib/providers/UrlHistory/useLastVisited.js +6 -5
  514. package/lib/store/ImportGis/actionTypes.js +5 -4
  515. package/lib/store/ImportGis/actionsCreator.js +5 -7
  516. package/lib/store/ImportGis/reducer.js +30 -41
  517. package/lib/store/WBE/actionTypes.js +3 -2
  518. package/lib/store/WBE/reducer.js +10 -14
  519. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
  520. package/lib/store/areas/actionTypes.js +7 -4
  521. package/lib/store/areas/actions.js +12 -6
  522. package/lib/store/areas/reducer.js +6 -8
  523. package/lib/store/context/actionTypes.js +5 -3
  524. package/lib/store/context/actions.js +3 -3
  525. package/lib/store/context/contextMiddlewares.js +18 -15
  526. package/lib/store/context/reducer.js +10 -14
  527. package/lib/store/dashboard/dashboardSlice.js +11 -18
  528. package/lib/store/edges/actionTypes.js +9 -5
  529. package/lib/store/edges/actions.js +8 -4
  530. package/lib/store/edges/reducer.js +17 -13
  531. package/lib/store/events/actionTypes.js +33 -17
  532. package/lib/store/events/actions.js +7 -3
  533. package/lib/store/events/models/IEvent.js +1 -1
  534. package/lib/store/events/reducer.js +49 -42
  535. package/lib/store/global/actionTypes.js +21 -11
  536. package/lib/store/global/actions.js +4 -6
  537. package/lib/store/global/reducer.js +10 -11
  538. package/lib/store/permissions/permissionsSlice.js +9 -12
  539. package/lib/store/points/actionTypes.js +5 -3
  540. package/lib/store/points/actions.js +7 -3
  541. package/lib/store/points/reducer.js +5 -7
  542. package/lib/store/rootActionTypes.js +3 -2
  543. package/lib/store/rootReducer.js +13 -17
  544. package/lib/store/rootStore.js +6 -6
  545. package/lib/store/samplings/actionTypes.js +5 -4
  546. package/lib/store/samplings/reducer.js +14 -16
  547. package/lib/styles/StylesLayout.js +6 -7
  548. package/lib/styles/theme/theme.js +30 -26
  549. package/lib/test/mocks/browser.js +5 -2
  550. package/lib/test/test-utils.js +16 -18
  551. package/lib/ui-kit/Button/Button.js +83 -129
  552. package/lib/ui-kit/Button/Button.test.js +30 -24
  553. package/lib/ui-kit/Checkbox/Checkbox.js +24 -32
  554. package/lib/ui-kit/ContentCard/ContentCard.js +27 -19
  555. package/lib/ui-kit/Dashboard/Dashboard.js +22 -23
  556. package/lib/ui-kit/Dashboard/index.js +4 -3
  557. package/lib/ui-kit/DropDown/DropDown.js +20 -18
  558. package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
  559. package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
  560. package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
  561. package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
  562. package/lib/ui-kit/IconAction/IconAction.js +8 -9
  563. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
  564. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
  565. package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
  566. package/lib/ui-kit/InletsPie/index.js +4 -3
  567. package/lib/ui-kit/InletsPie/options.js +8 -7
  568. package/lib/ui-kit/KandoList/KandoList.js +12 -13
  569. package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
  570. package/lib/ui-kit/KandoTable/KandoTable.test.js +23 -17
  571. package/lib/ui-kit/Layout/Layout.js +7 -8
  572. package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
  573. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
  574. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  575. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
  576. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
  577. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +23 -29
  578. package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
  579. package/lib/ui-kit/OrganicEvents/index.js +4 -3
  580. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
  581. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +18 -14
  582. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
  583. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
  584. package/lib/ui-kit/ScoreGauge/constant.js +4 -3
  585. package/lib/ui-kit/ScoreGauge/index.js +4 -3
  586. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
  587. package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
  588. package/lib/ui-kit/index.js +8 -8
  589. package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
  590. package/lib/ui-kit/siteName/SiteName.js +11 -13
  591. package/lib/utilities/ActionUtility.js +7 -7
  592. package/lib/utilities/Alert.js +20 -23
  593. package/lib/utilities/Analytics.js +12 -12
  594. package/lib/utilities/Array.js +5 -4
  595. package/lib/utilities/Enum.js +51 -15
  596. package/lib/utilities/ErrorBoundary.js +42 -27
  597. package/lib/utilities/File.js +70 -41
  598. package/lib/utilities/GetDir.js +10 -10
  599. package/lib/utilities/KandoDate.js +15 -7
  600. package/lib/utilities/KandoModal.js +28 -16
  601. package/lib/utilities/LocalStorage.js +7 -5
  602. package/lib/utilities/ThousandsToK.js +2 -2
  603. package/lib/utilities/TimeFormat.js +21 -20
  604. package/lib/utilities/Truncate.js +27 -17
  605. package/lib/utilities/edgesMath.js +16 -15
  606. package/lib/utilities/i18n.js +6 -5
  607. package/lib/utilities/kql.js +12 -10
  608. package/lib/utilities/map/icons.js +4 -4
  609. package/lib/utilities/polylinedecorator.js +113 -88
  610. package/lib/utilities/scoreToData.js +11 -11
  611. package/lib/utilities/scoreToData.test.js +5 -5
  612. package/lib/utilities/time.js +10 -9
  613. package/lib/utilities/uploadToS3.js +12 -12
  614. package/lib/utilities/urls.js +16 -17
  615. package/package.json +1 -1
@@ -1,50 +1,59 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.SamplingsPageContainer = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _reactRedux = require("react-redux");
11
- var _useKandoFetch = _interopRequireDefault(require("hooks/useKandoFetch"));
12
+ var _useKandoFetch2 = _interopRequireDefault(require("hooks/useKandoFetch"));
12
13
  var _Analytics = require("utilities/Analytics");
13
14
  var _actionsCreator = require("store/samplings/actionsCreator");
14
15
  var _urls = require("utilities/urls");
15
- var _useNavContext = require("hooks/useNavContext");
16
+ var _useNavContext2 = require("hooks/useNavContext");
16
17
  var _SamplingsPage = require("./SamplingsPage");
17
18
  var _samplingsPageUtils = require("./samplingsPageUtils");
18
19
  var _useUserTimeZone = require("hooks/useUserTimeZone");
19
- const SamplingsPageContainer = () => {
20
- const dispatch = (0, _reactRedux.useDispatch)();
21
- const [kql, setKql] = (0, _react.useState)('');
22
- const waterAuthorityId = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityId);
23
- const {
24
- currentPage,
25
- perPage,
26
- url,
27
- orderBy,
28
- orderDirection
29
- } = (0, _reactRedux.useSelector)(state => state.samplings_data);
30
- const waterAuthorityName = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityName);
31
- const {
32
- data,
33
- isFetching
34
- } = (0, _useKandoFetch.default)(url);
35
- const {
36
- locale
37
- } = (0, _useNavContext.useNavContext)();
38
- const columns = (0, _samplingsPageUtils.getColumns)();
39
- (0, _react.useEffect)(() => {
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+ var SamplingsPageContainer = function SamplingsPageContainer() {
23
+ var dispatch = (0, _reactRedux.useDispatch)();
24
+ var _useState = (0, _react.useState)(''),
25
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
+ kql = _useState2[0],
27
+ setKql = _useState2[1];
28
+ var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
29
+ return state.global_data.waterAuthorityId;
30
+ });
31
+ var _useSelector = (0, _reactRedux.useSelector)(function (state) {
32
+ return state.samplings_data;
33
+ }),
34
+ currentPage = _useSelector.currentPage,
35
+ perPage = _useSelector.perPage,
36
+ url = _useSelector.url,
37
+ orderBy = _useSelector.orderBy,
38
+ orderDirection = _useSelector.orderDirection;
39
+ var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
40
+ return state.global_data.waterAuthorityName;
41
+ });
42
+ var _useKandoFetch = (0, _useKandoFetch2.default)(url),
43
+ data = _useKandoFetch.data,
44
+ isFetching = _useKandoFetch.isFetching;
45
+ var _useNavContext = (0, _useNavContext2.useNavContext)(),
46
+ locale = _useNavContext.locale;
47
+ var columns = (0, _samplingsPageUtils.getColumns)();
48
+ (0, _react.useEffect)(function () {
40
49
  (0, _Analytics.analyticsTrack)('Samplings page view', {
41
50
  utility_name: waterAuthorityName
42
51
  });
43
52
  }, []);
44
- (0, _react.useEffect)(() => {
53
+ (0, _react.useEffect)(function () {
45
54
  fetchSamplings();
46
55
  }, [currentPage, perPage, waterAuthorityId, orderBy, orderDirection, locale, kql]);
47
- (0, _react.useEffect)(() => {
56
+ (0, _react.useEffect)(function () {
48
57
  if (isFetching || !data) {
49
58
  return;
50
59
  }
@@ -55,53 +64,53 @@ const SamplingsPageContainer = () => {
55
64
  }));
56
65
  onSetTableData();
57
66
  }, [data, isFetching]);
58
- const onSetPerPage = (0, _react.useCallback)((currentRowsPerPage, currentPage) => {
67
+ var onSetPerPage = (0, _react.useCallback)(function (currentRowsPerPage, currentPage) {
59
68
  dispatch((0, _actionsCreator.setSamplingData)({
60
- currentPage,
69
+ currentPage: currentPage,
61
70
  perPage: currentRowsPerPage
62
71
  }));
63
72
  }, [currentPage, perPage]);
64
- const onChangePage = (0, _react.useCallback)(page => {
73
+ var onChangePage = (0, _react.useCallback)(function (page) {
65
74
  dispatch((0, _actionsCreator.setSamplingData)({
66
75
  currentPage: page,
67
76
  isFetch: false
68
77
  }));
69
78
  }, [currentPage]);
70
- const handleSort = (0, _react.useCallback)((column, sortDirection) => {
79
+ var handleSort = (0, _react.useCallback)(function (column, sortDirection) {
71
80
  dispatch((0, _actionsCreator.setSamplingData)({
72
81
  orderBy: column.sortfield,
73
82
  orderDirection: sortDirection
74
83
  }));
75
84
  (0, _Analytics.analyticsTrack)("Sort sampling page by ".concat(column.sortfield, ", ").concat(sortDirection));
76
85
  }, [orderBy, orderDirection]);
77
- const getValuesFromKQL = values => {
86
+ var getValuesFromKQL = function getValuesFromKQL(values) {
78
87
  setKql(values);
79
88
  (0, _Analytics.analyticsTrack)('Sampling Operations Filter', {
80
89
  filter: values
81
90
  });
82
91
  };
83
- const fetchSamplings = (0, _react.useCallback)(() => {
84
- const samplingsUrl = (0, _urls.urls)({
85
- currentPage,
86
- perPage,
87
- waterAuthorityId,
88
- orderBy,
89
- orderDirection,
90
- locale,
91
- kql
92
+ var fetchSamplings = (0, _react.useCallback)(function () {
93
+ var samplingsUrl = (0, _urls.urls)({
94
+ currentPage: currentPage,
95
+ perPage: perPage,
96
+ waterAuthorityId: waterAuthorityId,
97
+ orderBy: orderBy,
98
+ orderDirection: orderDirection,
99
+ locale: locale,
100
+ kql: kql
92
101
  }).samplingsPage.getAll;
93
102
  dispatch((0, _actionsCreator.setSamplingData)({
94
103
  url: samplingsUrl.url,
95
104
  isFetch: true
96
105
  }));
97
106
  }, [currentPage, perPage, waterAuthorityId, orderBy, orderDirection, locale, kql]);
98
- const userFormat = (0, _useUserTimeZone.useUserSelectedDateFormat)();
99
- const onSetTableData = () => {
107
+ var userFormat = (0, _useUserTimeZone.useUserSelectedDateFormat)();
108
+ var onSetTableData = function onSetTableData() {
100
109
  var _data$data;
101
110
  if (isFetching) {
102
111
  return;
103
112
  }
104
- const samplings = data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(sampling => {
113
+ var samplings = data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (sampling) {
105
114
  return {
106
115
  bottle_level: sampling.bottle_level,
107
116
  sampling_id: sampling.sampling_id,
@@ -116,7 +125,7 @@ const SamplingsPageContainer = () => {
116
125
  };
117
126
  });
118
127
  dispatch((0, _actionsCreator.setSamplingData)({
119
- samplings,
128
+ samplings: samplings,
120
129
  isFetch: false
121
130
  }));
122
131
  };
@@ -126,12 +135,12 @@ const SamplingsPageContainer = () => {
126
135
  onChangePage: onChangePage,
127
136
  handleSort: handleSort,
128
137
  downloadData: {
129
- kql,
130
- orderBy,
131
- orderDirection
138
+ kql: kql,
139
+ orderBy: orderBy,
140
+ orderDirection: orderDirection
132
141
  },
133
142
  getValuesFromKQL: getValuesFromKQL
134
143
  });
135
144
  };
136
145
  exports.SamplingsPageContainer = SamplingsPageContainer;
137
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VLYW5kb0ZldGNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BbmFseXRpY3MiLCJfYWN0aW9uc0NyZWF0b3IiLCJfdXJscyIsIl91c2VOYXZDb250ZXh0IiwiX1NhbXBsaW5nc1BhZ2UiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX3VzZVVzZXJUaW1lWm9uZSIsIlNhbXBsaW5nc1BhZ2VDb250YWluZXIiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwia3FsIiwic2V0S3FsIiwidXNlU3RhdGUiLCJ3YXRlckF1dGhvcml0eUlkIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwiY3VycmVudFBhZ2UiLCJwZXJQYWdlIiwidXJsIiwib3JkZXJCeSIsIm9yZGVyRGlyZWN0aW9uIiwic2FtcGxpbmdzX2RhdGEiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJkYXRhIiwiaXNGZXRjaGluZyIsInVzZUthbmRvRmV0Y2giLCJsb2NhbGUiLCJ1c2VOYXZDb250ZXh0IiwiY29sdW1ucyIsImdldENvbHVtbnMiLCJ1c2VFZmZlY3QiLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsImZldGNoU2FtcGxpbmdzIiwic2V0U2FtcGxpbmdEYXRhIiwidG90YWxSb3dzIiwidG90YWwiLCJ0b3RhbFBhZ2VzIiwidG90YWxfcGFnZXMiLCJsYWJzIiwib25TZXRUYWJsZURhdGEiLCJvblNldFBlclBhZ2UiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnRSb3dzUGVyUGFnZSIsIm9uQ2hhbmdlUGFnZSIsInBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlU29ydCIsImNvbHVtbiIsInNvcnREaXJlY3Rpb24iLCJzb3J0ZmllbGQiLCJjb25jYXQiLCJnZXRWYWx1ZXNGcm9tS1FMIiwidmFsdWVzIiwiZmlsdGVyIiwic2FtcGxpbmdzVXJsIiwidXJscyIsInNhbXBsaW5nc1BhZ2UiLCJnZXRBbGwiLCJ1c2VyRm9ybWF0IiwidXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCIsIl9kYXRhJGRhdGEiLCJzYW1wbGluZ3MiLCJtYXAiLCJzYW1wbGluZyIsImJvdHRsZV9sZXZlbCIsInNhbXBsaW5nX2lkIiwic2FtcGxpbmdfbW9kZSIsInR5cGUiLCJzaXRlIiwibWFuaG9sZV9hZGRyZXNzIiwic2FtcGxpbmdfZGF0ZSIsImRheUZvcm1hdEZyb21UaW1lIiwibGFiX25hbWUiLCJzdGF0dXMiLCJpZCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiU2FtcGxpbmdzUGFnZSIsImRvd25sb2FkRGF0YSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ3NQYWdlQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICdyZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJ3NyYy9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy91c2VOYXZDb250ZXh0JztcblxuaW1wb3J0IHsgU2FtcGxpbmdzUGFnZSB9IGZyb20gJy4vU2FtcGxpbmdzUGFnZSc7XG5pbXBvcnQge1xuICBTYW1wbGluZ0RhdGEsXG4gIFNhbXBsaW5nRmV0Y2hEYXRhLFxuICBnZXRDb2x1bW5zLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5pbXBvcnQge1xuICBkYXlGb3JtYXRGcm9tVGltZSxcbiAgdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCxcbn0gZnJvbSAnc3JjL2hvb2tzL3VzZVVzZXJUaW1lWm9uZSc7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ3NQYWdlQ29udGFpbmVyOiBGQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBba3FsLCBzZXRLcWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4oJycpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IHsgY3VycmVudFBhZ2UsIHBlclBhZ2UsIHVybCwgb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb24gfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnNhbXBsaW5nc19kYXRhLFxuICApO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nIH0gPSB1c2VLYW5kb0ZldGNoKHVybCk7XG5cbiAgY29uc3QgeyBsb2NhbGUgfSA9IHVzZU5hdkNvbnRleHQoKTtcblxuICBjb25zdCBjb2x1bW5zID0gZ2V0Q29sdW1ucygpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZ3MgcGFnZSB2aWV3Jywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoU2FtcGxpbmdzKCk7XG4gIH0sIFtcbiAgICBjdXJyZW50UGFnZSxcbiAgICBwZXJQYWdlLFxuICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgb3JkZXJCeSxcbiAgICBvcmRlckRpcmVjdGlvbixcbiAgICBsb2NhbGUsXG4gICAga3FsLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0ZldGNoaW5nIHx8ICFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlzcGF0Y2goXG4gICAgICBzZXRTYW1wbGluZ0RhdGEoe1xuICAgICAgICB0b3RhbFJvd3M6IGRhdGEudG90YWwsXG4gICAgICAgIHRvdGFsUGFnZXM6IGRhdGEudG90YWxfcGFnZXMsXG4gICAgICAgIGxhYnM6IGRhdGEubGFicyxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgb25TZXRUYWJsZURhdGEoKTtcbiAgfSwgW2RhdGEsIGlzRmV0Y2hpbmddKTtcblxuICBjb25zdCBvblNldFBlclBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoY3VycmVudFJvd3NQZXJQYWdlOiBudW1iZXIsIGN1cnJlbnRQYWdlOiBudW1iZXIpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlLCBwZXJQYWdlOiBjdXJyZW50Um93c1BlclBhZ2UgfSkpO1xuICAgIH0sXG4gICAgW2N1cnJlbnRQYWdlLCBwZXJQYWdlXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZVBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAocGFnZTogbnVtYmVyKSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBjdXJyZW50UGFnZTogcGFnZSwgaXNGZXRjaDogZmFsc2UgfSkpO1xuICAgIH0sXG4gICAgW2N1cnJlbnRQYWdlXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTb3J0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbHVtbjogVGFibGVDb2x1bW48U2FtcGxpbmdEYXRhPiwgc29ydERpcmVjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBkaXNwYXRjaChcbiAgICAgICAgc2V0U2FtcGxpbmdEYXRhKHtcbiAgICAgICAgICBvcmRlckJ5OiBjb2x1bW4uc29ydGZpZWxkLFxuICAgICAgICAgIG9yZGVyRGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgICBhbmFseXRpY3NUcmFjayhcbiAgICAgICAgYFNvcnQgc2FtcGxpbmcgcGFnZSBieSAke2NvbHVtbi5zb3J0ZmllbGR9LCAke3NvcnREaXJlY3Rpb259YCxcbiAgICAgICk7XG4gICAgfSxcbiAgICBbb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb25dLFxuICApO1xuXG4gIGNvbnN0IGdldFZhbHVlc0Zyb21LUUwgPSAodmFsdWVzKSA9PiB7XG4gICAgc2V0S3FsKHZhbHVlcyk7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5nIE9wZXJhdGlvbnMgRmlsdGVyJywge1xuICAgICAgZmlsdGVyOiB2YWx1ZXMsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2FtcGxpbmdzVXJsID0gdXJscyh7XG4gICAgICBjdXJyZW50UGFnZSxcbiAgICAgIHBlclBhZ2UsXG4gICAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgb3JkZXJCeSxcbiAgICAgIG9yZGVyRGlyZWN0aW9uLFxuICAgICAgbG9jYWxlLFxuICAgICAga3FsLFxuICAgIH0pLnNhbXBsaW5nc1BhZ2UuZ2V0QWxsO1xuICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IHVybDogc2FtcGxpbmdzVXJsLnVybCwgaXNGZXRjaDogdHJ1ZSB9KSk7XG4gIH0sIFtcbiAgICBjdXJyZW50UGFnZSxcbiAgICBwZXJQYWdlLFxuICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgb3JkZXJCeSxcbiAgICBvcmRlckRpcmVjdGlvbixcbiAgICBsb2NhbGUsXG4gICAga3FsLFxuICBdKTtcblxuICBjb25zdCB1c2VyRm9ybWF0ID0gdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCgpO1xuICBjb25zdCBvblNldFRhYmxlRGF0YSA9ICgpID0+IHtcbiAgICBpZiAoaXNGZXRjaGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbXBsaW5nczogU2FtcGxpbmdEYXRhW10gPSBkYXRhPy5kYXRhPy5tYXAoXG4gICAgICAoc2FtcGxpbmc6IFNhbXBsaW5nRmV0Y2hEYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm90dGxlX2xldmVsOiBzYW1wbGluZy5ib3R0bGVfbGV2ZWwsXG4gICAgICAgICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nLnNhbXBsaW5nX2lkLFxuICAgICAgICAgIHNhbXBsaW5nX21vZGU6IHNhbXBsaW5nLnNhbXBsaW5nX21vZGUsXG4gICAgICAgICAgdHlwZTogc2FtcGxpbmcudHlwZSxcbiAgICAgICAgICBzaXRlOiBzYW1wbGluZy5zaXRlLFxuICAgICAgICAgIG1hbmhvbGVfYWRkcmVzczogc2FtcGxpbmcubWFuaG9sZV9hZGRyZXNzLFxuICAgICAgICAgIHNhbXBsaW5nX2RhdGU6IGRheUZvcm1hdEZyb21UaW1lKHNhbXBsaW5nLnNhbXBsaW5nX2RhdGUsIHVzZXJGb3JtYXQpLFxuICAgICAgICAgIGxhYl9uYW1lOiBzYW1wbGluZy5sYWJfbmFtZSxcbiAgICAgICAgICBzdGF0dXM6IHNhbXBsaW5nLnN0YXR1cyxcbiAgICAgICAgICBpZDogc2FtcGxpbmcuc2FtcGxpbmdfaWQsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICk7XG4gICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgc2FtcGxpbmdzLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdzUGFnZVxuICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgIG9uU2V0UGVyUGFnZT17b25TZXRQZXJQYWdlfVxuICAgICAgb25DaGFuZ2VQYWdlPXtvbkNoYW5nZVBhZ2V9XG4gICAgICBoYW5kbGVTb3J0PXtoYW5kbGVTb3J0fVxuICAgICAgZG93bmxvYWREYXRhPXt7IGtxbCwgb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb24gfX1cbiAgICAgIGdldFZhbHVlc0Zyb21LUUw9e2dldFZhbHVlc0Zyb21LUUx9XG4gICAgLz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsY0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsY0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsbUJBQUEsR0FBQVQsT0FBQTtBQUtBLElBQUFVLGdCQUFBLEdBQUFWLE9BQUE7QUFLTyxNQUFNVyxzQkFBMEIsR0FBR0EsQ0FBQSxLQUFNO0VBQzlDLE1BQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsTUFBTSxDQUFDQyxHQUFHLEVBQUVDLE1BQU0sQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFBZ0IsRUFBRSxDQUFDO0VBQ2pELE1BQU1DLGdCQUFnQixHQUFHLElBQUFDLHVC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
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VLYW5kb0ZldGNoMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQW5hbHl0aWNzIiwiX2FjdGlvbnNDcmVhdG9yIiwiX3VybHMiLCJfdXNlTmF2Q29udGV4dDIiLCJfU2FtcGxpbmdzUGFnZSIsIl9zYW1wbGluZ3NQYWdlVXRpbHMiLCJfdXNlVXNlclRpbWVab25lIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTYW1wbGluZ3NQYWdlQ29udGFpbmVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImtxbCIsInNldEtxbCIsIndhdGVyQXV0aG9yaXR5SWQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJfdXNlU2VsZWN0b3IiLCJzYW1wbGluZ3NfZGF0YSIsImN1cnJlbnRQYWdlIiwicGVyUGFnZSIsInVybCIsIm9yZGVyQnkiLCJvcmRlckRpcmVjdGlvbiIsIndhdGVyQXV0aG9yaXR5TmFtZSIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwiX3VzZU5hdkNvbnRleHQiLCJ1c2VOYXZDb250ZXh0IiwibG9jYWxlIiwiY29sdW1ucyIsImdldENvbHVtbnMiLCJ1c2VFZmZlY3QiLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsImZldGNoU2FtcGxpbmdzIiwic2V0U2FtcGxpbmdEYXRhIiwidG90YWxSb3dzIiwidG90YWwiLCJ0b3RhbFBhZ2VzIiwidG90YWxfcGFnZXMiLCJsYWJzIiwib25TZXRUYWJsZURhdGEiLCJvblNldFBlclBhZ2UiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnRSb3dzUGVyUGFnZSIsIm9uQ2hhbmdlUGFnZSIsInBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlU29ydCIsImNvbHVtbiIsInNvcnREaXJlY3Rpb24iLCJzb3J0ZmllbGQiLCJjb25jYXQiLCJnZXRWYWx1ZXNGcm9tS1FMIiwidmFsdWVzIiwiZmlsdGVyIiwic2FtcGxpbmdzVXJsIiwidXJscyIsInNhbXBsaW5nc1BhZ2UiLCJnZXRBbGwiLCJ1c2VyRm9ybWF0IiwidXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCIsIl9kYXRhJGRhdGEiLCJzYW1wbGluZ3MiLCJtYXAiLCJzYW1wbGluZyIsImJvdHRsZV9sZXZlbCIsInNhbXBsaW5nX2lkIiwic2FtcGxpbmdfbW9kZSIsInR5cGUiLCJzaXRlIiwibWFuaG9sZV9hZGRyZXNzIiwic2FtcGxpbmdfZGF0ZSIsImRheUZvcm1hdEZyb21UaW1lIiwibGFiX25hbWUiLCJzdGF0dXMiLCJpZCIsImNyZWF0ZUVsZW1lbnQiLCJTYW1wbGluZ3NQYWdlIiwiZG93bmxvYWREYXRhIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nc1BhZ2VDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IHVzZUthbmRvRmV0Y2ggZnJvbSAnc3JjL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnc3JjL2hvb2tzL3VzZU5hdkNvbnRleHQnO1xuXG5pbXBvcnQgeyBTYW1wbGluZ3NQYWdlIH0gZnJvbSAnLi9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCB7XG4gIFNhbXBsaW5nRGF0YSxcbiAgU2FtcGxpbmdGZXRjaERhdGEsXG4gIGdldENvbHVtbnMsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcbmltcG9ydCB7XG4gIGRheUZvcm1hdEZyb21UaW1lLFxuICB1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0LFxufSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nc1BhZ2VDb250YWluZXI6IEZDID0gKCkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFtrcWwsIHNldEtxbF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPignJyk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcbiAgY29uc3QgeyBjdXJyZW50UGFnZSwgcGVyUGFnZSwgdXJsLCBvcmRlckJ5LCBvcmRlckRpcmVjdGlvbiB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuc2FtcGxpbmdzX2RhdGEsXG4gICk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuICBjb25zdCB7IGRhdGEsIGlzRmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2godXJsKTtcblxuICBjb25zdCB7IGxvY2FsZSB9ID0gdXNlTmF2Q29udGV4dCgpO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBnZXRDb2x1bW5zKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5ncyBwYWdlIHZpZXcnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ3MoKTtcbiAgfSwgW1xuICAgIGN1cnJlbnRQYWdlLFxuICAgIHBlclBhZ2UsXG4gICAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgICBvcmRlckJ5LFxuICAgIG9yZGVyRGlyZWN0aW9uLFxuICAgIGxvY2FsZSxcbiAgICBrcWwsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzRmV0Y2hpbmcgfHwgIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaXNwYXRjaChcbiAgICAgIHNldFNhbXBsaW5nRGF0YSh7XG4gICAgICAgIHRvdGFsUm93czogZGF0YS50b3RhbCxcbiAgICAgICAgdG90YWxQYWdlczogZGF0YS50b3RhbF9wYWdlcyxcbiAgICAgICAgbGFiczogZGF0YS5sYWJzLFxuICAgICAgfSksXG4gICAgKTtcbiAgICBvblNldFRhYmxlRGF0YSgpO1xuICB9LCBbZGF0YSwgaXNGZXRjaGluZ10pO1xuXG4gIGNvbnN0IG9uU2V0UGVyUGFnZSA9IHVzZUNhbGxiYWNrKFxuICAgIChjdXJyZW50Um93c1BlclBhZ2U6IG51bWJlciwgY3VycmVudFBhZ2U6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgY3VycmVudFBhZ2UsIHBlclBhZ2U6IGN1cnJlbnRSb3dzUGVyUGFnZSB9KSk7XG4gICAgfSxcbiAgICBbY3VycmVudFBhZ2UsIHBlclBhZ2VdLFxuICApO1xuXG4gIGNvbnN0IG9uQ2hhbmdlUGFnZSA9IHVzZUNhbGxiYWNrKFxuICAgIChwYWdlOiBudW1iZXIpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlOiBwYWdlLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gICAgfSxcbiAgICBbY3VycmVudFBhZ2VdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNvcnQgPSB1c2VDYWxsYmFjayhcbiAgICAoY29sdW1uOiBUYWJsZUNvbHVtbjxTYW1wbGluZ0RhdGE+LCBzb3J0RGlyZWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBzZXRTYW1wbGluZ0RhdGEoe1xuICAgICAgICAgIG9yZGVyQnk6IGNvbHVtbi5zb3J0ZmllbGQsXG4gICAgICAgICAgb3JkZXJEaXJlY3Rpb246IHNvcnREaXJlY3Rpb24sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIGFuYWx5dGljc1RyYWNrKFxuICAgICAgICBgU29ydCBzYW1wbGluZyBwYWdlIGJ5ICR7Y29sdW1uLnNvcnRmaWVsZH0sICR7c29ydERpcmVjdGlvbn1gLFxuICAgICAgKTtcbiAgICB9LFxuICAgIFtvcmRlckJ5LCBvcmRlckRpcmVjdGlvbl0sXG4gICk7XG5cbiAgY29uc3QgZ2V0VmFsdWVzRnJvbUtRTCA9ICh2YWx1ZXMpID0+IHtcbiAgICBzZXRLcWwodmFsdWVzKTtcbiAgICBhbmFseXRpY3NUcmFjaygnU2FtcGxpbmcgT3BlcmF0aW9ucyBGaWx0ZXInLCB7XG4gICAgICBmaWx0ZXI6IHZhbHVlcyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBmZXRjaFNhbXBsaW5ncyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzYW1wbGluZ3NVcmwgPSB1cmxzKHtcbiAgICAgIGN1cnJlbnRQYWdlLFxuICAgICAgcGVyUGFnZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBvcmRlckJ5LFxuICAgICAgb3JkZXJEaXJlY3Rpb24sXG4gICAgICBsb2NhbGUsXG4gICAgICBrcWwsXG4gICAgfSkuc2FtcGxpbmdzUGFnZS5nZXRBbGw7XG4gICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgdXJsOiBzYW1wbGluZ3NVcmwudXJsLCBpc0ZldGNoOiB0cnVlIH0pKTtcbiAgfSwgW1xuICAgIGN1cnJlbnRQYWdlLFxuICAgIHBlclBhZ2UsXG4gICAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgICBvcmRlckJ5LFxuICAgIG9yZGVyRGlyZWN0aW9uLFxuICAgIGxvY2FsZSxcbiAgICBrcWwsXG4gIF0pO1xuXG4gIGNvbnN0IHVzZXJGb3JtYXQgPSB1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0KCk7XG4gIGNvbnN0IG9uU2V0VGFibGVEYXRhID0gKCkgPT4ge1xuICAgIGlmIChpc0ZldGNoaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2FtcGxpbmdzOiBTYW1wbGluZ0RhdGFbXSA9IGRhdGE/LmRhdGE/Lm1hcChcbiAgICAgIChzYW1wbGluZzogU2FtcGxpbmdGZXRjaERhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib3R0bGVfbGV2ZWw6IHNhbXBsaW5nLmJvdHRsZV9sZXZlbCxcbiAgICAgICAgICBzYW1wbGluZ19pZDogc2FtcGxpbmcuc2FtcGxpbmdfaWQsXG4gICAgICAgICAgc2FtcGxpbmdfbW9kZTogc2FtcGxpbmcuc2FtcGxpbmdfbW9kZSxcbiAgICAgICAgICB0eXBlOiBzYW1wbGluZy50eXBlLFxuICAgICAgICAgIHNpdGU6IHNhbXBsaW5nLnNpdGUsXG4gICAgICAgICAgbWFuaG9sZV9hZGRyZXNzOiBzYW1wbGluZy5tYW5ob2xlX2FkZHJlc3MsXG4gICAgICAgICAgc2FtcGxpbmdfZGF0ZTogZGF5Rm9ybWF0RnJvbVRpbWUoc2FtcGxpbmcuc2FtcGxpbmdfZGF0ZSwgdXNlckZvcm1hdCksXG4gICAgICAgICAgbGFiX25hbWU6IHNhbXBsaW5nLmxhYl9uYW1lLFxuICAgICAgICAgIHN0YXR1czogc2FtcGxpbmcuc3RhdHVzLFxuICAgICAgICAgIGlkOiBzYW1wbGluZy5zYW1wbGluZ19pZCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBzYW1wbGluZ3MsIGlzRmV0Y2g6IGZhbHNlIH0pKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ3NQYWdlXG4gICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgb25TZXRQZXJQYWdlPXtvblNldFBlclBhZ2V9XG4gICAgICBvbkNoYW5nZVBhZ2U9e29uQ2hhbmdlUGFnZX1cbiAgICAgIGhhbmRsZVNvcnQ9e2hhbmRsZVNvcnR9XG4gICAgICBkb3dubG9hZERhdGE9e3sga3FsLCBvcmRlckJ5LCBvcmRlckRpcmVjdGlvbiB9fVxuICAgICAgZ2V0VmFsdWVzRnJvbUtRTD17Z2V0VmFsdWVzRnJvbUtRTH1cbiAgICAvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsZUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxP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
@@ -5,5 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _SamplingsPageContainer = require("./SamplingsPageContainer");
8
- var _default = exports.default = _SamplingsPageContainer.SamplingsPageContainer;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdzUGFnZUNvbnRhaW5lciIsInJlcXVpcmUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwiU2FtcGxpbmdzUGFnZUNvbnRhaW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYW1wbGluZ3NQYWdlQ29udGFpbmVyIH0gZnJvbSAnLi9TYW1wbGluZ3NQYWdlQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgU2FtcGxpbmdzUGFnZUNvbnRhaW5lcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsdUJBQUEsR0FBQUMsT0FBQTtBQUFrRSxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVuREMsOENBQXNCIn0=
8
+ var _default = _SamplingsPageContainer.SamplingsPageContainer;
9
+ exports.default = _default;
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdzUGFnZUNvbnRhaW5lciIsInJlcXVpcmUiLCJfZGVmYXVsdCIsIlNhbXBsaW5nc1BhZ2VDb250YWluZXIiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYW1wbGluZ3NQYWdlQ29udGFpbmVyIH0gZnJvbSAnLi9TYW1wbGluZ3NQYWdlQ29udGFpbmVyJztcblxuZXhwb3J0IGRlZmF1bHQgU2FtcGxpbmdzUGFnZUNvbnRhaW5lcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsdUJBQUEsR0FBQUMsT0FBQTtBQUFrRSxJQUFBQyxRQUFBLEdBRW5EQyw4Q0FBc0I7QUFBQUMsT0FBQSxDQUFBQyxPQUFBLEdBQUFILFFBQUEifQ==
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.shouldShowBottleLevel = exports.getColumns = exports.TOOLTIP_TEXT_LENGTH = exports.TOOLTIP_SITE_LENGTH = exports.TABLE_PAGINATION_PER_PAGE = exports.SPECIAL_MENU_ID_TO_OP = exports.ROWS_PER_PAGE_OPTIONS = exports.REVERT_CANCELLATION = exports.MOBILE_PAGINATION_PER_PAGE = exports.MOBILE_MODAL_TEXT_LENGTH = exports.MOBILE_DEFAULT_SORTFIELD = exports.MANHOLE_PROPERTIES_OP = exports.LAB_RESULT_OP = exports.EDIT_PROPERTIES_OP = exports.DELETE_SAMPLING_OP = exports.DEFAULT_SORTFIELD = exports.COLLECT_SAMPLING_OP = exports.CANCEL_SAMPLING_OP = exports.BuildActionsDropdownOptions = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _SamplingSiteTableCell = require("./SamplingSiteTableCell");
9
10
  var _NavigationDropdown = require("./NavigationDropdown");
10
11
  var _react = _interopRequireDefault(require("react"));
@@ -14,60 +15,85 @@ var _SamplingStatusHelper = require("ui-kit/SamplingStatus/SamplingStatusHelper"
14
15
  var _SamplingStatus = _interopRequireDefault(require("ui-kit/SamplingStatus/SamplingStatus"));
15
16
  var _reactRedux = require("react-redux");
16
17
  var _InfoTooltip = require("ui-kit/InfoTooltip/InfoTooltip");
17
- const COLLECT_SAMPLING_OP = exports.COLLECT_SAMPLING_OP = 'collecting';
18
- const CANCEL_SAMPLING_OP = exports.CANCEL_SAMPLING_OP = 'cancelling';
19
- const REVERT_CANCELLATION = exports.REVERT_CANCELLATION = 'reverting_cancelled';
20
- const EDIT_PROPERTIES_OP = exports.EDIT_PROPERTIES_OP = 'edit';
21
- const LAB_RESULT_OP = exports.LAB_RESULT_OP = 'lab_result';
22
- const MANHOLE_PROPERTIES_OP = exports.MANHOLE_PROPERTIES_OP = 'manhole_properties';
23
- const DELETE_SAMPLING_OP = exports.DELETE_SAMPLING_OP = 'delete_sampling';
24
- const ROWS_PER_PAGE_OPTIONS = exports.ROWS_PER_PAGE_OPTIONS = [5, 15, 25, 50, 100];
25
- const TOOLTIP_TEXT_LENGTH = exports.TOOLTIP_TEXT_LENGTH = 36;
26
- const TOOLTIP_SITE_LENGTH = exports.TOOLTIP_SITE_LENGTH = 10;
27
- const TABLE_PAGINATION_PER_PAGE = exports.TABLE_PAGINATION_PER_PAGE = 100;
28
- const DEFAULT_SORTFIELD = exports.DEFAULT_SORTFIELD = 1;
29
- const MOBILE_PAGINATION_PER_PAGE = exports.MOBILE_PAGINATION_PER_PAGE = 25;
30
- const MOBILE_DEFAULT_SORTFIELD = exports.MOBILE_DEFAULT_SORTFIELD = 'sampling_date';
31
- const MOBILE_MODAL_TEXT_LENGTH = exports.MOBILE_MODAL_TEXT_LENGTH = 20;
32
- const getColumns = () => {
33
- const tableColumns = [{
18
+ var COLLECT_SAMPLING_OP = 'collecting';
19
+ exports.COLLECT_SAMPLING_OP = COLLECT_SAMPLING_OP;
20
+ var CANCEL_SAMPLING_OP = 'cancelling';
21
+ exports.CANCEL_SAMPLING_OP = CANCEL_SAMPLING_OP;
22
+ var REVERT_CANCELLATION = 'reverting_cancelled';
23
+ exports.REVERT_CANCELLATION = REVERT_CANCELLATION;
24
+ var EDIT_PROPERTIES_OP = 'edit';
25
+ exports.EDIT_PROPERTIES_OP = EDIT_PROPERTIES_OP;
26
+ var LAB_RESULT_OP = 'lab_result';
27
+ exports.LAB_RESULT_OP = LAB_RESULT_OP;
28
+ var MANHOLE_PROPERTIES_OP = 'manhole_properties';
29
+ exports.MANHOLE_PROPERTIES_OP = MANHOLE_PROPERTIES_OP;
30
+ var DELETE_SAMPLING_OP = 'delete_sampling';
31
+ exports.DELETE_SAMPLING_OP = DELETE_SAMPLING_OP;
32
+ var ROWS_PER_PAGE_OPTIONS = [5, 15, 25, 50, 100];
33
+ exports.ROWS_PER_PAGE_OPTIONS = ROWS_PER_PAGE_OPTIONS;
34
+ var TOOLTIP_TEXT_LENGTH = 36;
35
+ exports.TOOLTIP_TEXT_LENGTH = TOOLTIP_TEXT_LENGTH;
36
+ var TOOLTIP_SITE_LENGTH = 10;
37
+ exports.TOOLTIP_SITE_LENGTH = TOOLTIP_SITE_LENGTH;
38
+ var TABLE_PAGINATION_PER_PAGE = 100;
39
+ exports.TABLE_PAGINATION_PER_PAGE = TABLE_PAGINATION_PER_PAGE;
40
+ var DEFAULT_SORTFIELD = 1;
41
+ exports.DEFAULT_SORTFIELD = DEFAULT_SORTFIELD;
42
+ var MOBILE_PAGINATION_PER_PAGE = 25;
43
+ exports.MOBILE_PAGINATION_PER_PAGE = MOBILE_PAGINATION_PER_PAGE;
44
+ var MOBILE_DEFAULT_SORTFIELD = 'sampling_date';
45
+ exports.MOBILE_DEFAULT_SORTFIELD = MOBILE_DEFAULT_SORTFIELD;
46
+ var MOBILE_MODAL_TEXT_LENGTH = 20;
47
+ exports.MOBILE_MODAL_TEXT_LENGTH = MOBILE_MODAL_TEXT_LENGTH;
48
+ var getColumns = function getColumns() {
49
+ var tableColumns = [{
34
50
  name: _i18n.default.t('samplings_page.samplings_table_cols.sampling_id'),
35
- selector: row => row.sampling_id,
51
+ selector: function selector(row) {
52
+ return row.sampling_id;
53
+ },
36
54
  sortable: true,
37
55
  sortfield: 'id'
38
56
  }, {
39
57
  name: _i18n.default.t('samplings_page.samplings_table_cols.sampling_date'),
40
- selector: row => row.sampling_date,
58
+ selector: function selector(row) {
59
+ return row.sampling_date;
60
+ },
41
61
  sortable: true,
42
62
  minWidth: '140px',
43
63
  sortfield: 'sampling_date'
44
64
  }, {
45
65
  name: _i18n.default.t('samplings_page.samplings_table_cols.site'),
46
- selector: row => row.site,
66
+ selector: function selector(row) {
67
+ return row.site;
68
+ },
47
69
  sortable: true,
48
70
  sortfield: 'site_name',
49
- cell: row => {
71
+ cell: function cell(row) {
50
72
  return /*#__PURE__*/_react.default.createElement(_SamplingSiteTableCell.SamplingSiteTableCell, {
51
73
  site: row.site
52
74
  });
53
75
  }
54
76
  }, {
55
77
  name: _i18n.default.t('samplings_page.samplings_table_cols.manhole_address'),
56
- selector: row => row.manhole_address,
78
+ selector: function selector(row) {
79
+ return row.manhole_address;
80
+ },
57
81
  sortable: true,
58
82
  sortfield: 'site_address',
59
83
  minWidth: '260px',
60
- cell: row => {
84
+ cell: function cell(row) {
61
85
  return /*#__PURE__*/_react.default.createElement(_NavigationDropdown.NavigationDropdown, {
62
86
  manholeAddress: row.manhole_address
63
87
  });
64
88
  }
65
89
  }, {
66
90
  name: _i18n.default.t('samplings_page.samplings_table_cols.type'),
67
- selector: row => row.type,
91
+ selector: function selector(row) {
92
+ return row.type;
93
+ },
68
94
  sortable: true,
69
95
  sortfield: 'type',
70
- cell: row => {
96
+ cell: function cell(row) {
71
97
  return /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
72
98
  alternateIcon: '',
73
99
  padding: false,
@@ -76,10 +102,12 @@ const getColumns = () => {
76
102
  }
77
103
  }, {
78
104
  name: _i18n.default.t('samplings_page.samplings_table_cols.status'),
79
- selector: row => row.status.name,
105
+ selector: function selector(row) {
106
+ return row.status.name;
107
+ },
80
108
  sortable: true,
81
109
  sortfield: 'status',
82
- cell: row => {
110
+ cell: function cell(row) {
83
111
  return /*#__PURE__*/_react.default.createElement(_SamplingStatus.default, {
84
112
  status: row.status,
85
113
  display: "inline-block"
@@ -87,13 +115,15 @@ const getColumns = () => {
87
115
  }
88
116
  }, {
89
117
  name: _i18n.default.t('samplings_page.samplings_table_cols.bottle_level'),
90
- selector: row => row.bottle_level,
118
+ selector: function selector(row) {
119
+ return row.bottle_level;
120
+ },
91
121
  sortable: true,
92
122
  sortfield: 'bottle_level',
93
- cell: row => {
123
+ cell: function cell(row) {
94
124
  if (shouldShowBottleLevel(row.status.machine_name)) {
95
125
  if (row.bottle_level) {
96
- const bottleLevelNumber = Number(row.bottle_level);
126
+ var bottleLevelNumber = Number(row.bottle_level);
97
127
  return /*#__PURE__*/_react.default.createElement("span", null, row.bottle_level, ' ', isNaN(bottleLevelNumber) ? '' : _i18n.default.t('samplings_page.samplings_table_cols.ml'));
98
128
  } else {
99
129
  return;
@@ -104,12 +134,14 @@ const getColumns = () => {
104
134
  }
105
135
  }, {
106
136
  name: _i18n.default.t('samplings_page.samplings_table_cols.lab_name'),
107
- selector: row => row.lab_name,
137
+ selector: function selector(row) {
138
+ return row.lab_name;
139
+ },
108
140
  sortable: true,
109
141
  sortfield: 'lab_name'
110
142
  }];
111
143
  tableColumns.push({
112
- cell: row => {
144
+ cell: function cell(row) {
113
145
  return /*#__PURE__*/_react.default.createElement(_SamplingActionDropdown.default, {
114
146
  sampling: row
115
147
  });
@@ -118,12 +150,12 @@ const getColumns = () => {
118
150
  return tableColumns;
119
151
  };
120
152
  exports.getColumns = getColumns;
121
- const shouldShowBottleLevel = sampleStatus => {
153
+ var shouldShowBottleLevel = function shouldShowBottleLevel(sampleStatus) {
122
154
  return ['sampler_finished', 'sampler_started'].includes(sampleStatus);
123
155
  };
124
156
  exports.shouldShowBottleLevel = shouldShowBottleLevel;
125
- const actionMenuItemsMap = key => {
126
- const items = {
157
+ var actionMenuItemsMap = function actionMenuItemsMap(key) {
158
+ var items = {
127
159
  collect: {
128
160
  value: _i18n.default.t('samplings_page.collect'),
129
161
  id: COLLECT_SAMPLING_OP,
@@ -157,60 +189,52 @@ const actionMenuItemsMap = key => {
157
189
  };
158
190
  return items[key];
159
191
  };
160
- const BuildActionsDropdownOptions = sampling => {
161
- const status = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(sampling.status.machine_name);
162
- const {
163
- enable_view_lab_result,
164
- enable_delete_sampling
165
- } = (0, _reactRedux.useSelector)(_ref => {
166
- let {
167
- permissions
168
- } = _ref;
169
- return permissions;
170
- });
171
- let result = [];
192
+ var BuildActionsDropdownOptions = function BuildActionsDropdownOptions(sampling) {
193
+ var status = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(sampling.status.machine_name);
194
+ var _useSelector = (0, _reactRedux.useSelector)(function (_ref) {
195
+ var permissions = _ref.permissions;
196
+ return permissions;
197
+ }),
198
+ enable_view_lab_result = _useSelector.enable_view_lab_result,
199
+ enable_delete_sampling = _useSelector.enable_delete_sampling;
200
+ var result = [];
172
201
  if (['planned', 'active', 'ready'].includes(status)) {
173
202
  result.push(actionMenuItemsMap('collect'));
174
203
  result.push(actionMenuItemsMap('cancel'));
175
- result.push({
176
- ...actionMenuItemsMap('delete'),
204
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('delete')), {}, {
177
205
  disabled: !enable_delete_sampling
178
- });
206
+ }));
179
207
  } else if (status === 'collected') {
180
208
  result.push(actionMenuItemsMap('properties_edit'));
181
209
  result.push(actionMenuItemsMap('cancel'));
182
- result.push({
183
- ...actionMenuItemsMap('delete'),
210
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('delete')), {}, {
184
211
  disabled: !enable_delete_sampling
185
- });
212
+ }));
186
213
  } else if (status === 'canceled') {
187
214
  result.push(actionMenuItemsMap('properties_edit'));
188
215
  result.push(actionMenuItemsMap('revert_cancel'));
189
- result.push({
190
- ...actionMenuItemsMap('delete'),
216
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('delete')), {}, {
191
217
  disabled: !enable_delete_sampling
192
- });
218
+ }));
193
219
  } else if (status === 'completed') {
194
220
  result.push(actionMenuItemsMap('properties_edit'));
195
- result.push({
196
- ...actionMenuItemsMap('cancel'),
221
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('cancel')), {}, {
197
222
  disabled: true
198
- });
199
- result.push({
200
- ...actionMenuItemsMap('delete'),
223
+ }));
224
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('delete')), {}, {
201
225
  disabled: true
202
- });
203
- result.push({
204
- ...actionMenuItemsMap('lab_result'),
226
+ }));
227
+ result.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMenuItemsMap('lab_result')), {}, {
205
228
  disabled: !enable_view_lab_result
206
- });
229
+ }));
207
230
  }
208
231
  return result;
209
232
  };
210
233
  exports.BuildActionsDropdownOptions = BuildActionsDropdownOptions;
211
- const SPECIAL_MENU_ID_TO_OP = exports.SPECIAL_MENU_ID_TO_OP = {
234
+ var SPECIAL_MENU_ID_TO_OP = {
212
235
  collect: COLLECT_SAMPLING_OP,
213
236
  cancel: CANCEL_SAMPLING_OP,
214
237
  revert_cancel: REVERT_CANCELLATION
215
238
  };
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdTaXRlVGFibGVDZWxsIiwicmVxdWlyZSIsIl9OYXZpZ2F0aW9uRHJvcGRvd24iLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU2FtcGxpbmdBY3Rpb25Ecm9wZG93biIsIl9TYW1wbGluZ1N0YXR1c0hlbHBlciIsIl9TYW1wbGluZ1N0YXR1cyIsIl9yZWFjdFJlZHV4IiwiX0luZm9Ub29sdGlwIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsImV4cG9ydHMiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiRURJVF9QUk9QRVJUSUVTX09QIiwiTEFCX1JFU1VMVF9PUCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsIkRFTEVURV9TQU1QTElOR19PUCIsIlJPV1NfUEVSX1BBR0VfT1BUSU9OUyIsIlRPT0xUSVBfVEVYVF9MRU5HVEgiLCJUT09MVElQX1NJVEVfTEVOR1RIIiwiVEFCTEVfUEFHSU5BVElPTl9QRVJfUEFHRSIsIkRFRkFVTFRfU09SVEZJRUxEIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJNT0JJTEVfREVGQVVMVF9TT1JURklFTEQiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJnZXRDb2x1bW5zIiwidGFibGVDb2x1bW5zIiwibmFtZSIsImkxOG4iLCJ0Iiwic2VsZWN0b3IiLCJyb3ciLCJzYW1wbGluZ19pZCIsInNvcnRhYmxlIiwic29ydGZpZWxkIiwic2FtcGxpbmdfZGF0ZSIsIm1pbldpZHRoIiwic2l0ZSIsImNlbGwiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCIsIm1hbmhvbGVfYWRkcmVzcyIsIk5hdmlnYXRpb25Ecm9wZG93biIsIm1hbmhvbGVBZGRyZXNzIiwidHlwZSIsIkluZm9Ub29sdGlwIiwiYWx0ZXJuYXRlSWNvbiIsInBhZGRpbmciLCJkYXRhIiwiY29uY2F0Iiwic3RhdHVzIiwiZGlzcGxheSIsImJvdHRsZV9sZXZlbCIsInNob3VsZFNob3dCb3R0bGVMZXZlbCIsIm1hY2hpbmVfbmFtZSIsImJvdHRsZUxldmVsTnVtYmVyIiwiTnVtYmVyIiwiaXNOYU4iLCJsYWJfbmFtZSIsInB1c2giLCJzYW1wbGluZyIsInNhbXBsZVN0YXR1cyIsImluY2x1ZGVzIiwiYWN0aW9uTWVudUl0ZW1zTWFwIiwia2V5IiwiaXRlbXMiLCJjb2xsZWN0IiwidmFsdWUiLCJpZCIsImhyZWYiLCJjYW5jZWwiLCJyZXZlcnRfY2FuY2VsIiwiZGVsZXRlIiwicHJvcGVydGllc19lZGl0IiwibGFiX3Jlc3VsdCIsIkJ1aWxkQWN0aW9uc0Ryb3Bkb3duT3B0aW9ucyIsImZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzIiwiZW5hYmxlX3ZpZXdfbGFiX3Jlc3VsdCIsImVuYWJsZV9kZWxldGVfc2FtcGxpbmciLCJ1c2VTZWxlY3RvciIsIl9yZWYiLCJwZXJtaXNzaW9ucyIsInJlc3VsdCIsImRpc2FibGVkIiwiU1BFQ0lBTF9NRU5VX0lEX1RPX09QIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2Uvc2FtcGxpbmdzUGFnZVV0aWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCB9IGZyb20gJy4vU2FtcGxpbmdTaXRlVGFibGVDZWxsJztcbmltcG9ydCB7IE5hdmlnYXRpb25Ecm9wZG93biB9IGZyb20gJy4vTmF2aWdhdGlvbkRyb3Bkb3duJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFNhbXBsaW5nQWN0aW9uRHJvcGRvd24gZnJvbSAnLi9BY3Rpb25zRHJvcERvd24vU2FtcGxpbmdBY3Rpb25Ecm9wZG93bic7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW1UeXBlIH0gZnJvbSAnc3JjL3VpLWtpdC9Ecm9wRG93bi9Ecm9wRG93bkl0ZW0nO1xuaW1wb3J0IHsgZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMgfSBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzSGVscGVyJztcbmltcG9ydCBTYW1wbGluZ1N0YXR1cyBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICdzcmMvdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcblxuZXhwb3J0IGNvbnN0IENPTExFQ1RfU0FNUExJTkdfT1AgPSAnY29sbGVjdGluZyc7XG5leHBvcnQgY29uc3QgQ0FOQ0VMX1NBTVBMSU5HX09QID0gJ2NhbmNlbGxpbmcnO1xuZXhwb3J0IGNvbnN0IFJFVkVSVF9DQU5DRUxMQVRJT04gPSAncmV2ZXJ0aW5nX2NhbmNlbGxlZCc7XG5leHBvcnQgY29uc3QgRURJVF9QUk9QRVJUSUVTX09QID0gJ2VkaXQnO1xuZXhwb3J0IGNvbnN0IExBQl9SRVNVTFRfT1AgPSAnbGFiX3Jlc3VsdCc7XG5leHBvcnQgY29uc3QgTUFOSE9MRV9QUk9QRVJUSUVTX09QID0gJ21hbmhvbGVfcHJvcGVydGllcyc7XG5leHBvcnQgY29uc3QgREVMRVRFX1NBTVBMSU5HX09QID0gJ2RlbGV0ZV9zYW1wbGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuaG9sZUFkZHJlc3Mge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxhdF9sbmc6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhbXBsaW5nRmV0Y2hEYXRhIHtcbiAgaWQ6IG51bWJlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBzYW1wbGluZ19pZDogbnVtYmVyO1xuICBzYW1wbGluZ19wbGFuX2lkOiBudW1iZXI7XG4gIHNhbXBsaW5nX2RhdGU6IHN0cmluZztcbiAgdGltZV96b25lOiBzdHJpbmc7XG4gIHNpdGU6IHN0cmluZztcbiAgc2FtcGxpbmdfbW9kZTogc3RyaW5nO1xuICBtYW5ob2xlX2FkZHJlc3M6IE1hbmhvbGVBZGRyZXNzO1xuICBjb250YWN0OiBzdHJpbmc7XG4gIGNvbnRhY3RfbnVtYmVyOiBudW1iZXI7XG4gIGJvdHRsZV9sZXZlbDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIG1hY2hpbmVfdHlwZTpcbiAgICB8ICdzYW1wbGluZ190eXBlX3JhcGlkJ1xuICAgIHwgJ3NhbXBsaW5nX3R5cGVfY29tcGxleCdcbiAgICB8ICdzYW1wbGluZ190eXBlX2JvdGgnO1xuICBzdGF0dXM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbWFjaGluZV9uYW1lOiBzdHJpbmc7XG4gIH07XG4gIGxhYl9uYW1lOiBudWxsIHwgc3RyaW5nO1xuICBsYWJzPzogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxpbmdEYXRhIHtcbiAgc2FtcGxpbmdfZGF0ZTogc3RyaW5nO1xuICBzaXRlOiBzdHJpbmc7XG4gIG1hbmhvbGVfYWRkcmVzczogTWFuaG9sZUFkZHJlc3M7XG4gIGNvbnRhY3Q6IHN0cmluZztcbiAgY29udGFjdF9udW1iZXI6IHN0cmluZyB8IG51bWJlcjtcbiAgYm90dGxlX2xldmVsOiBzdHJpbmcgfCBudW1iZXI7XG4gIHR5cGU6IHN0cmluZztcbiAgc2FtcGxpbmdfbW9kZTogc3RyaW5nO1xuICBsYWJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgc3RhdHVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1hY2hpbmVfbmFtZTogc3RyaW5nO1xuICB9O1xuICBzYW1wbGluZ19pZDogbnVtYmVyO1xuICBpZDogbnVtYmVyO1xuICBzYW1wbGluZ190aW1lPzogc3RyaW5nO1xuICBsYWJzPzogW107XG59XG5cbmV4cG9ydCBjb25zdCBST1dTX1BFUl9QQUdFX09QVElPTlMgPSBbNSwgMTUsIDI1LCA1MCwgMTAwXTtcbmV4cG9ydCBjb25zdCBUT09MVElQX1RFWFRfTEVOR1RIID0gMzY7XG5leHBvcnQgY29uc3QgVE9PTFRJUF9TSVRFX0xFTkdUSCA9IDEwO1xuZXhwb3J0IGNvbnN0IFRBQkxFX1BBR0lOQVRJT05fUEVSX1BBR0UgPSAxMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TT1JURklFTEQgPSAxO1xuZXhwb3J0IGNvbnN0IE1PQklMRV9QQUdJTkFUSU9OX1BFUl9QQUdFID0gMjU7XG5leHBvcnQgY29uc3QgTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxEID0gJ3NhbXBsaW5nX2RhdGUnO1xuZXhwb3J0IGNvbnN0IE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCA9IDIwO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sdW1ucyA9ICgpID0+IHtcbiAgY29uc3QgdGFibGVDb2x1bW5zOiBUYWJsZUNvbHVtbjxTYW1wbGluZ0RhdGE+W10gPSBbXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19pZCcpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5zYW1wbGluZ19pZCxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnaWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19kYXRlJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnNhbXBsaW5nX2RhdGUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIG1pbldpZHRoOiAnMTQwcHgnLFxuICAgICAgc29ydGZpZWxkOiAnc2FtcGxpbmdfZGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc2l0ZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnc2l0ZV9uYW1lJyxcbiAgICAgIGNlbGw6IChyb3c6IHsgc2l0ZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxTYW1wbGluZ1NpdGVUYWJsZUNlbGwgc2l0ZT17cm93LnNpdGV9IC8+O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMubWFuaG9sZV9hZGRyZXNzJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm1hbmhvbGVfYWRkcmVzcyxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnc2l0ZV9hZGRyZXNzJyxcbiAgICAgIG1pbldpZHRoOiAnMjYwcHgnLFxuICAgICAgY2VsbDogKHJvdzogeyBtYW5ob2xlX2FkZHJlc3M6IE1hbmhvbGVBZGRyZXNzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxOYXZpZ2F0aW9uRHJvcGRvd24gbWFuaG9sZUFkZHJlc3M9e3Jvdy5tYW5ob2xlX2FkZHJlc3N9IC8+O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMudHlwZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy50eXBlLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICd0eXBlJyxcbiAgICAgIGNlbGw6IChyb3c6IHsgdHlwZSB9KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICBhbHRlcm5hdGVJY29uPXsnJ31cbiAgICAgICAgICAgIHBhZGRpbmc9e2ZhbHNlfVxuICAgICAgICAgICAgZGF0YT17aTE4bi50KGBzYW1wbGluZ3NfcGFnZS50eXBlLiR7cm93LnR5cGV9YCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3Jvdy50eXBlfVxuICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zdGF0dXMnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc3RhdHVzLm5hbWUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ3N0YXR1cycsXG4gICAgICBjZWxsOiAocm93OiB7IHN0YXR1cyB9KSA9PiB7XG4gICAgICAgIHJldHVybiA8U2FtcGxpbmdTdGF0dXMgc3RhdHVzPXtyb3cuc3RhdHVzfSBkaXNwbGF5PVwiaW5saW5lLWJsb2NrXCIgLz47XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5ib3R0bGVfbGV2ZWwnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuYm90dGxlX2xldmVsLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdib3R0bGVfbGV2ZWwnLFxuICAgICAgY2VsbDogKHJvdykgPT4ge1xuICAgICAgICBpZiAoc2hvdWxkU2hvd0JvdHRsZUxldmVsKHJvdy5zdGF0dXMubWFjaGluZV9uYW1lKSkge1xuICAgICAgICAgIGlmIChyb3cuYm90dGxlX2xldmVsKSB7XG4gICAgICAgICAgICBjb25zdCBib3R0bGVMZXZlbE51bWJlciA9IE51bWJlcihyb3cuYm90dGxlX2xldmVsKTtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtyb3cuYm90dGxlX2xldmVsfXsnICd9XG4gICAgICAgICAgICAgICAge2lzTmFOKGJvdHRsZUxldmVsTnVtYmVyKVxuICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLm1sJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5sYWJfbmFtZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnbGFiX25hbWUnLFxuICAgIH0sXG4gIF07XG4gIHRhYmxlQ29sdW1ucy5wdXNoKHtcbiAgICBjZWxsOiAocm93KSA9PiB7XG4gICAgICByZXR1cm4gPFNhbXBsaW5nQWN0aW9uRHJvcGRvd24gc2FtcGxpbmc9e3Jvd30gLz47XG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIHRhYmxlQ29sdW1ucztcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRTaG93Qm90dGxlTGV2ZWwgPSAoc2FtcGxlU3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIFsnc2FtcGxlcl9maW5pc2hlZCcsICdzYW1wbGVyX3N0YXJ0ZWQnXS5pbmNsdWRlcyhzYW1wbGVTdGF0dXMpO1xufTtcblxuY29uc3QgYWN0aW9uTWVudUl0ZW1zTWFwID0gKGtleTogc3RyaW5nKTogRHJvcERvd25JdGVtVHlwZSA9PiB7XG4gIGNvbnN0IGl0ZW1zID0ge1xuICAgIGNvbGxlY3Q6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKSxcbiAgICAgIGlkOiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBjYW5jZWw6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgICAgaWQ6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgcmV2ZXJ0X2NhbmNlbDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UucmV2ZXJ0X2NhbmNlbGxhdGlvbicpLFxuICAgICAgaWQ6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIGRlbGV0ZToge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdfc2NyZWVuLmRlbGV0ZV9zYW1wbGluZycpLFxuICAgICAgaWQ6IERFTEVURV9TQU1QTElOR19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgcHJvcGVydGllc19lZGl0OiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyksXG4gICAgICBpZDogRURJVF9QUk9QRVJUSUVTX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBsYWJfcmVzdWx0OiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5sYWJfcmVzdWx0JyksXG4gICAgICBpZDogTEFCX1JFU1VMVF9PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGl0ZW1zW2tleV07XG59O1xuXG5leHBvcnQgY29uc3QgQnVpbGRBY3Rpb25zRHJvcGRvd25PcHRpb25zID0gKHNhbXBsaW5nOiBTYW1wbGluZ0RhdGEpID0+IHtcbiAgY29uc3Qgc3RhdHVzID0gZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMoc2FtcGxpbmcuc3RhdHVzLm1hY2hpbmVfbmFtZSk7XG4gIGNvbnN0IHsgZW5hYmxlX3ZpZXdfbGFiX3Jlc3VsdCwgZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHsgcGVybWlzc2lvbnMgfSkgPT4gcGVybWlzc2lvbnMsXG4gICk7XG4gIGxldCByZXN1bHQ6IERyb3BEb3duSXRlbVR5cGVbXSA9IFtdO1xuXG4gIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoc3RhdHVzKSkge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgnY29sbGVjdCcpKTtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3Byb3BlcnRpZXNfZWRpdCcpKTtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NhbmNlbGVkJykge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncHJvcGVydGllc19lZGl0JykpO1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncmV2ZXJ0X2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3Byb3BlcnRpZXNfZWRpdCcpKTtcbiAgICByZXN1bHQucHVzaCh7IC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnY2FuY2VsJyksIGRpc2FibGVkOiB0cnVlIH0pO1xuICAgIHJlc3VsdC5wdXNoKHsgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdkZWxldGUnKSwgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdsYWJfcmVzdWx0JyksXG4gICAgICBkaXNhYmxlZDogIWVuYWJsZV92aWV3X2xhYl9yZXN1bHQsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IFNQRUNJQUxfTUVOVV9JRF9UT19PUDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgY29sbGVjdDogQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgY2FuY2VsOiBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIHJldmVydF9jYW5jZWw6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsc0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyx1QkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQU0scUJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGVBQUEsR0FBQUosc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNB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
239
+ exports.SPECIAL_MENU_ID_TO_OP = SPECIAL_MENU_ID_TO_OP;
240
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdTaXRlVGFibGVDZWxsIiwicmVxdWlyZSIsIl9OYXZpZ2F0aW9uRHJvcGRvd24iLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU2FtcGxpbmdBY3Rpb25Ecm9wZG93biIsIl9TYW1wbGluZ1N0YXR1c0hlbHBlciIsIl9TYW1wbGluZ1N0YXR1cyIsIl9yZWFjdFJlZHV4IiwiX0luZm9Ub29sdGlwIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsImV4cG9ydHMiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiRURJVF9QUk9QRVJUSUVTX09QIiwiTEFCX1JFU1VMVF9PUCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsIkRFTEVURV9TQU1QTElOR19PUCIsIlJPV1NfUEVSX1BBR0VfT1BUSU9OUyIsIlRPT0xUSVBfVEVYVF9MRU5HVEgiLCJUT09MVElQX1NJVEVfTEVOR1RIIiwiVEFCTEVfUEFHSU5BVElPTl9QRVJfUEFHRSIsIkRFRkFVTFRfU09SVEZJRUxEIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJNT0JJTEVfREVGQVVMVF9TT1JURklFTEQiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJnZXRDb2x1bW5zIiwidGFibGVDb2x1bW5zIiwibmFtZSIsImkxOG4iLCJ0Iiwic2VsZWN0b3IiLCJyb3ciLCJzYW1wbGluZ19pZCIsInNvcnRhYmxlIiwic29ydGZpZWxkIiwic2FtcGxpbmdfZGF0ZSIsIm1pbldpZHRoIiwic2l0ZSIsImNlbGwiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCIsIm1hbmhvbGVfYWRkcmVzcyIsIk5hdmlnYXRpb25Ecm9wZG93biIsIm1hbmhvbGVBZGRyZXNzIiwidHlwZSIsIkluZm9Ub29sdGlwIiwiYWx0ZXJuYXRlSWNvbiIsInBhZGRpbmciLCJkYXRhIiwiY29uY2F0Iiwic3RhdHVzIiwiZGlzcGxheSIsImJvdHRsZV9sZXZlbCIsInNob3VsZFNob3dCb3R0bGVMZXZlbCIsIm1hY2hpbmVfbmFtZSIsImJvdHRsZUxldmVsTnVtYmVyIiwiTnVtYmVyIiwiaXNOYU4iLCJsYWJfbmFtZSIsInB1c2giLCJzYW1wbGluZyIsInNhbXBsZVN0YXR1cyIsImluY2x1ZGVzIiwiYWN0aW9uTWVudUl0ZW1zTWFwIiwia2V5IiwiaXRlbXMiLCJjb2xsZWN0IiwidmFsdWUiLCJpZCIsImhyZWYiLCJjYW5jZWwiLCJyZXZlcnRfY2FuY2VsIiwiZGVsZXRlIiwicHJvcGVydGllc19lZGl0IiwibGFiX3Jlc3VsdCIsIkJ1aWxkQWN0aW9uc0Ryb3Bkb3duT3B0aW9ucyIsImZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzIiwiX3VzZVNlbGVjdG9yIiwidXNlU2VsZWN0b3IiLCJfcmVmIiwicGVybWlzc2lvbnMiLCJlbmFibGVfdmlld19sYWJfcmVzdWx0IiwiZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyIsInJlc3VsdCIsIl9vYmplY3RTcHJlYWQyIiwiZGlzYWJsZWQiLCJTUEVDSUFMX01FTlVfSURfVE9fT1AiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9zYW1wbGluZ3NQYWdlVXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgU2FtcGxpbmdTaXRlVGFibGVDZWxsIH0gZnJvbSAnLi9TYW1wbGluZ1NpdGVUYWJsZUNlbGwnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkRyb3Bkb3duIH0gZnJvbSAnLi9OYXZpZ2F0aW9uRHJvcGRvd24nO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgU2FtcGxpbmdBY3Rpb25Ecm9wZG93biBmcm9tICcuL0FjdGlvbnNEcm9wRG93bi9TYW1wbGluZ0FjdGlvbkRyb3Bkb3duJztcbmltcG9ydCB7IERyb3BEb3duSXRlbVR5cGUgfSBmcm9tICdzcmMvdWkta2l0L0Ryb3BEb3duL0Ryb3BEb3duSXRlbSc7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJbmZvVG9vbHRpcCB9IGZyb20gJ3NyYy91aS1raXQvSW5mb1Rvb2x0aXAvSW5mb1Rvb2x0aXAnO1xuXG5leHBvcnQgY29uc3QgQ09MTEVDVF9TQU1QTElOR19PUCA9ICdjb2xsZWN0aW5nJztcbmV4cG9ydCBjb25zdCBDQU5DRUxfU0FNUExJTkdfT1AgPSAnY2FuY2VsbGluZyc7XG5leHBvcnQgY29uc3QgUkVWRVJUX0NBTkNFTExBVElPTiA9ICdyZXZlcnRpbmdfY2FuY2VsbGVkJztcbmV4cG9ydCBjb25zdCBFRElUX1BST1BFUlRJRVNfT1AgPSAnZWRpdCc7XG5leHBvcnQgY29uc3QgTEFCX1JFU1VMVF9PUCA9ICdsYWJfcmVzdWx0JztcbmV4cG9ydCBjb25zdCBNQU5IT0xFX1BST1BFUlRJRVNfT1AgPSAnbWFuaG9sZV9wcm9wZXJ0aWVzJztcbmV4cG9ydCBjb25zdCBERUxFVEVfU0FNUExJTkdfT1AgPSAnZGVsZXRlX3NhbXBsaW5nJztcblxuZXhwb3J0IGludGVyZmFjZSBNYW5ob2xlQWRkcmVzcyB7XG4gIHRleHQ6IHN0cmluZztcbiAgbGF0X2xuZzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxpbmdGZXRjaERhdGEge1xuICBpZDogbnVtYmVyO1xuICBkYXRlOiBzdHJpbmc7XG4gIHNhbXBsaW5nX2lkOiBudW1iZXI7XG4gIHNhbXBsaW5nX3BsYW5faWQ6IG51bWJlcjtcbiAgc2FtcGxpbmdfZGF0ZTogc3RyaW5nO1xuICB0aW1lX3pvbmU6IHN0cmluZztcbiAgc2l0ZTogc3RyaW5nO1xuICBzYW1wbGluZ19tb2RlOiBzdHJpbmc7XG4gIG1hbmhvbGVfYWRkcmVzczogTWFuaG9sZUFkZHJlc3M7XG4gIGNvbnRhY3Q6IHN0cmluZztcbiAgY29udGFjdF9udW1iZXI6IG51bWJlcjtcbiAgYm90dGxlX2xldmVsOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbWFjaGluZV90eXBlOlxuICAgIHwgJ3NhbXBsaW5nX3R5cGVfcmFwaWQnXG4gICAgfCAnc2FtcGxpbmdfdHlwZV9jb21wbGV4J1xuICAgIHwgJ3NhbXBsaW5nX3R5cGVfYm90aCc7XG4gIHN0YXR1czoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtYWNoaW5lX25hbWU6IHN0cmluZztcbiAgfTtcbiAgbGFiX25hbWU6IG51bGwgfCBzdHJpbmc7XG4gIGxhYnM/OiBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYW1wbGluZ0RhdGEge1xuICBzYW1wbGluZ19kYXRlOiBzdHJpbmc7XG4gIHNpdGU6IHN0cmluZztcbiAgbWFuaG9sZV9hZGRyZXNzOiBNYW5ob2xlQWRkcmVzcztcbiAgY29udGFjdDogc3RyaW5nO1xuICBjb250YWN0X251bWJlcjogc3RyaW5nIHwgbnVtYmVyO1xuICBib3R0bGVfbGV2ZWw6IHN0cmluZyB8IG51bWJlcjtcbiAgdHlwZTogc3RyaW5nO1xuICBzYW1wbGluZ19tb2RlOiBzdHJpbmc7XG4gIGxhYl9uYW1lOiBzdHJpbmcgfCBudWxsO1xuICBzdGF0dXM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbWFjaGluZV9uYW1lOiBzdHJpbmc7XG4gIH07XG4gIHNhbXBsaW5nX2lkOiBudW1iZXI7XG4gIGlkOiBudW1iZXI7XG4gIHNhbXBsaW5nX3RpbWU/OiBzdHJpbmc7XG4gIGxhYnM/OiBbXTtcbn1cblxuZXhwb3J0IGNvbnN0IFJPV1NfUEVSX1BBR0VfT1BUSU9OUyA9IFs1LCAxNSwgMjUsIDUwLCAxMDBdO1xuZXhwb3J0IGNvbnN0IFRPT0xUSVBfVEVYVF9MRU5HVEggPSAzNjtcbmV4cG9ydCBjb25zdCBUT09MVElQX1NJVEVfTEVOR1RIID0gMTA7XG5leHBvcnQgY29uc3QgVEFCTEVfUEFHSU5BVElPTl9QRVJfUEFHRSA9IDEwMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NPUlRGSUVMRCA9IDE7XG5leHBvcnQgY29uc3QgTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UgPSAyNTtcbmV4cG9ydCBjb25zdCBNT0JJTEVfREVGQVVMVF9TT1JURklFTEQgPSAnc2FtcGxpbmdfZGF0ZSc7XG5leHBvcnQgY29uc3QgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIID0gMjA7XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5zID0gKCkgPT4ge1xuICBjb25zdCB0YWJsZUNvbHVtbnM6IFRhYmxlQ29sdW1uPFNhbXBsaW5nRGF0YT5bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNhbXBsaW5nX2lkJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnNhbXBsaW5nX2lkLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdpZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNhbXBsaW5nX2RhdGUnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc2FtcGxpbmdfZGF0ZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgbWluV2lkdGg6ICcxNDBweCcsXG4gICAgICBzb3J0ZmllbGQ6ICdzYW1wbGluZ19kYXRlJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2l0ZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5zaXRlLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdzaXRlX25hbWUnLFxuICAgICAgY2VsbDogKHJvdzogeyBzaXRlOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICByZXR1cm4gPFNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCBzaXRlPXtyb3cuc2l0ZX0gLz47XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5tYW5ob2xlX2FkZHJlc3MnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubWFuaG9sZV9hZGRyZXNzLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdzaXRlX2FkZHJlc3MnLFxuICAgICAgbWluV2lkdGg6ICcyNjBweCcsXG4gICAgICBjZWxsOiAocm93OiB7IG1hbmhvbGVfYWRkcmVzczogTWFuaG9sZUFkZHJlc3MgfSkgPT4ge1xuICAgICAgICByZXR1cm4gPE5hdmlnYXRpb25Ecm9wZG93biBtYW5ob2xlQWRkcmVzcz17cm93Lm1hbmhvbGVfYWRkcmVzc30gLz47XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy50eXBlJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnR5cGUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ3R5cGUnLFxuICAgICAgY2VsbDogKHJvdzogeyB0eXBlIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgIGFsdGVybmF0ZUljb249eycnfVxuICAgICAgICAgICAgcGFkZGluZz17ZmFsc2V9XG4gICAgICAgICAgICBkYXRhPXtpMThuLnQoYHNhbXBsaW5nc19wYWdlLnR5cGUuJHtyb3cudHlwZX1gKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cm93LnR5cGV9XG4gICAgICAgICAgPC9JbmZvVG9vbHRpcD5cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnN0YXR1cycpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5zdGF0dXMubmFtZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnc3RhdHVzJyxcbiAgICAgIGNlbGw6IChyb3c6IHsgc3RhdHVzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3Jvdy5zdGF0dXN9IGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIiAvPjtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmJvdHRsZV9sZXZlbCcpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5ib3R0bGVfbGV2ZWwsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ2JvdHRsZV9sZXZlbCcsXG4gICAgICBjZWxsOiAocm93KSA9PiB7XG4gICAgICAgIGlmIChzaG91bGRTaG93Qm90dGxlTGV2ZWwocm93LnN0YXR1cy5tYWNoaW5lX25hbWUpKSB7XG4gICAgICAgICAgaWYgKHJvdy5ib3R0bGVfbGV2ZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRsZUxldmVsTnVtYmVyID0gTnVtYmVyKHJvdy5ib3R0bGVfbGV2ZWwpO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge3Jvdy5ib3R0bGVfbGV2ZWx9eycgJ31cbiAgICAgICAgICAgICAgICB7aXNOYU4oYm90dGxlTGV2ZWxOdW1iZXIpXG4gICAgICAgICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICAgICAgICA6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMubWwnKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LmxhYl9uYW1lLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdsYWJfbmFtZScsXG4gICAgfSxcbiAgXTtcbiAgdGFibGVDb2x1bW5zLnB1c2goe1xuICAgIGNlbGw6IChyb3cpID0+IHtcbiAgICAgIHJldHVybiA8U2FtcGxpbmdBY3Rpb25Ecm9wZG93biBzYW1wbGluZz17cm93fSAvPjtcbiAgICB9LFxuICB9KTtcblxuICByZXR1cm4gdGFibGVDb2x1bW5zO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZFNob3dCb3R0bGVMZXZlbCA9IChzYW1wbGVTdGF0dXM6IHN0cmluZykgPT4ge1xuICByZXR1cm4gWydzYW1wbGVyX2ZpbmlzaGVkJywgJ3NhbXBsZXJfc3RhcnRlZCddLmluY2x1ZGVzKHNhbXBsZVN0YXR1cyk7XG59O1xuXG5jb25zdCBhY3Rpb25NZW51SXRlbXNNYXAgPSAoa2V5OiBzdHJpbmcpOiBEcm9wRG93bkl0ZW1UeXBlID0+IHtcbiAgY29uc3QgaXRlbXMgPSB7XG4gICAgY29sbGVjdDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpLFxuICAgICAgaWQ6IENPTExFQ1RfU0FNUExJTkdfT1AsXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIGNhbmNlbDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgICBpZDogQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICByZXZlcnRfY2FuY2VsOiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5yZXZlcnRfY2FuY2VsbGF0aW9uJyksXG4gICAgICBpZDogUkVWRVJUX0NBTkNFTExBVElPTixcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ19zY3JlZW4uZGVsZXRlX3NhbXBsaW5nJyksXG4gICAgICBpZDogREVMRVRFX1NBTVBMSU5HX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzX2VkaXQ6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX3Byb3BlcnRpZXMnKSxcbiAgICAgIGlkOiBFRElUX1BST1BFUlRJRVNfT1AsXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIGxhYl9yZXN1bHQ6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmxhYl9yZXN1bHQnKSxcbiAgICAgIGlkOiBMQUJfUkVTVUxUX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gaXRlbXNba2V5XTtcbn07XG5cbmV4cG9ydCBjb25zdCBCdWlsZEFjdGlvbnNEcm9wZG93bk9wdGlvbnMgPSAoc2FtcGxpbmc6IFNhbXBsaW5nRGF0YSkgPT4ge1xuICBjb25zdCBzdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzYW1wbGluZy5zdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgY29uc3QgeyBlbmFibGVfdmlld19sYWJfcmVzdWx0LCBlbmFibGVfZGVsZXRlX3NhbXBsaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoeyBwZXJtaXNzaW9ucyB9KSA9PiBwZXJtaXNzaW9ucyxcbiAgKTtcbiAgbGV0IHJlc3VsdDogRHJvcERvd25JdGVtVHlwZVtdID0gW107XG5cbiAgaWYgKFsncGxhbm5lZCcsICdhY3RpdmUnLCAncmVhZHknXS5pbmNsdWRlcyhzdGF0dXMpKSB7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdjb2xsZWN0JykpO1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgnY2FuY2VsJykpO1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnZGVsZXRlJyksXG4gICAgICBkaXNhYmxlZDogIWVuYWJsZV9kZWxldGVfc2FtcGxpbmcsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoc3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncHJvcGVydGllc19lZGl0JykpO1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgnY2FuY2VsJykpO1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnZGVsZXRlJyksXG4gICAgICBkaXNhYmxlZDogIWVuYWJsZV9kZWxldGVfc2FtcGxpbmcsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoc3RhdHVzID09PSAnY2FuY2VsZWQnKSB7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdwcm9wZXJ0aWVzX2VkaXQnKSk7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdyZXZlcnRfY2FuY2VsJykpO1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnZGVsZXRlJyksXG4gICAgICBkaXNhYmxlZDogIWVuYWJsZV9kZWxldGVfc2FtcGxpbmcsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJykge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncHJvcGVydGllc19lZGl0JykpO1xuICAgIHJlc3VsdC5wdXNoKHsgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdjYW5jZWwnKSwgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgcmVzdWx0LnB1c2goeyAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLCBkaXNhYmxlZDogdHJ1ZSB9KTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2xhYl9yZXN1bHQnKSxcbiAgICAgIGRpc2FibGVkOiAhZW5hYmxlX3ZpZXdfbGFiX3Jlc3VsdCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgU1BFQ0lBTF9NRU5VX0lEX1RPX09QOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBjb2xsZWN0OiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICBjYW5jZWw6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgcmV2ZXJ0X2NhbmNlbDogUkVWRVJUX0NBTkNFTExBVElPTixcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsc0JBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyx1QkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQU0scUJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGVBQUEsR0FBQUosc0JBQUEsQ0FBQUgsT0FB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