@kando-env/kando-ui 1.2.466-alpha.7 → 1.2.466-alpha.9
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.
- package/lib/Router.js +81 -40
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
- package/lib/Widgets/EventsRow/EventsRow.js +39 -26
- package/lib/Widgets/Map/GraphUtils.js +6 -4
- package/lib/Widgets/Map/Map.js +139 -100
- package/lib/Widgets/Map/MapUtils.js +102 -83
- package/lib/Widgets/Map/areas/AreaPolygon.js +84 -57
- package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
- package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
- package/lib/Widgets/Map/areas/Patterns.js +5 -5
- package/lib/Widgets/Map/edges/Edge.js +41 -32
- package/lib/Widgets/Map/edges/Edges.js +24 -19
- package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
- package/lib/Widgets/Map/events/Event.js +14 -15
- package/lib/Widgets/Map/events/EventIndicator.js +63 -66
- package/lib/Widgets/Map/events/EventPath.js +34 -33
- package/lib/Widgets/Map/events/EventUtils.js +78 -54
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
- package/lib/Widgets/Map/events/PointOfEvent.js +36 -27
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +39 -29
- package/lib/Widgets/Map/events/Snail.js +11 -10
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +79 -77
- package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
- package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
- package/lib/Widgets/Map/points/PointIcon.js +22 -23
- package/lib/Widgets/Map/points/PointMarker.js +88 -68
- package/lib/Widgets/Map/points/PointMarkers.js +36 -30
- package/lib/Widgets/Map/points/PointUtils.js +90 -76
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +43 -25
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +14 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -28
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
- package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +20 -15
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -9
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
- package/lib/Widgets/MostPolluting/MostPolluting.js +34 -23
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
- package/lib/Widgets/MostPolluting/assets/index.js +12 -12
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +54 -49
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -44
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +6 -4
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
- package/lib/Widgets/PotentialImpactSummary/Icon.js +39 -30
- package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
- package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
- package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +31 -34
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -28
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
- package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +21 -24
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +21 -26
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +36 -23
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +31 -30
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
- package/lib/assets/icons/TopNavbar/index.js +7 -7
- package/lib/assets/icons/TrendSvg.js +7 -7
- package/lib/assets/icons/index.js +16 -16
- package/lib/assets/icons/kandoStepper/index.js +7 -7
- package/lib/assets/icons/siteTypes/index.js +2 -2
- package/lib/components/ApplyButton/ApplyButton.js +11 -10
- package/lib/components/ApplyButton/index.js +4 -3
- package/lib/components/Backdrop/Backdrop.js +5 -7
- package/lib/components/ContentLoader/ContentLoader.js +10 -12
- package/lib/components/ContentLoader/index.js +2 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
- package/lib/components/CustomInputs/Search/Search.js +60 -37
- package/lib/components/CustomInputs/Search/index.js +4 -3
- package/lib/components/CustomInputs/Select/Select.js +55 -38
- package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
- package/lib/components/DamageType/DamageType.js +60 -35
- package/lib/components/DamageType/index.js +4 -3
- package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -25
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
- package/lib/components/DischargeHeatmap/index.js +4 -3
- package/lib/components/DischargeHeatmap/mocks/handlers.js +6 -5
- package/lib/components/DischargeHeatmap/popupText.js +12 -11
- package/lib/components/DischargeHeatmap/titles.js +6 -4
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +42 -27
- package/lib/components/Events/Events.js +48 -29
- package/lib/components/Events/index.js +4 -3
- package/lib/components/Graph/Graph.js +95 -74
- package/lib/components/Graph/index.js +4 -3
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
- package/lib/components/Header/Breadcrumbs/index.js +4 -3
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
- package/lib/components/Header/DoubleTabs/styles.js +8 -5
- package/lib/components/Header/Header.js +3 -3
- package/lib/components/Header/Header.stories.js +9 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +36 -24
- package/lib/components/Header/InfoBar/InfoBar.js +102 -69
- package/lib/components/Header/InfoBar/Search/Control.js +10 -11
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
- package/lib/components/Header/InfoBar/Search/Search.js +24 -17
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +35 -21
- package/lib/components/Header/InfoBar/Search/index.js +4 -3
- package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -36
- package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
- package/lib/components/Header/InfoBar/types.js +1 -1
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +93 -66
- package/lib/components/Header/KandoNavbar/index.js +4 -3
- package/lib/components/Header/Slideshow/Slideshow.js +91 -67
- package/lib/components/Header/Slideshow/index.js +4 -3
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -36
- package/lib/components/Header/Toolbar/Toolbar.js +76 -58
- package/lib/components/InfoBar/InfoBar.js +24 -10
- package/lib/components/InfoBar/InfoBar.stories.js +9 -5
- package/lib/components/KandoModal/KandoModal.js +62 -26
- package/lib/components/KandoModal/index.js +4 -3
- package/lib/components/Link.js +8 -9
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +7 -10
- package/lib/components/Links/StyledLink/StyledLink.js +20 -17
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -12
- package/lib/components/LiveEvents/CarouselSlide.js +10 -11
- package/lib/components/LiveEvents/LiveEvents.js +6 -7
- package/lib/components/LiveEvents/index.js +4 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
- package/lib/components/Map/Map.js +25 -20
- package/lib/components/Map/index.js +4 -3
- package/lib/components/Modal/Modal.js +10 -10
- package/lib/components/NarrowHeader.js +32 -18
- package/lib/components/PointInfo/PointInfo.js +19 -20
- package/lib/components/PointInfo/index.js +4 -3
- package/lib/components/PopupModal/PopupModal.js +17 -13
- package/lib/components/PopupModal/PopupModal.stories.js +24 -17
- package/lib/components/SeasonalInsights/SeasonalInsights.js +147 -0
- package/lib/components/Sector/Sector.js +40 -34
- package/lib/components/Sector/Sector.test.js +24 -24
- package/lib/components/Sector/SectorIconsNew.js +19 -26
- package/lib/components/Sector/index.js +4 -3
- package/lib/components/Sector/sectorIcons.js +5 -4
- package/lib/components/SevereEvent/Eta/Eta.js +54 -49
- package/lib/components/SevereEvent/Eta/styles.js +8 -11
- package/lib/components/SevereEvent/SevereEvent.js +52 -28
- package/lib/components/SevereEvent/SevereEvent.scss +24 -0
- package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +11 -6
- package/lib/components/Spinner/index.js +4 -3
- package/lib/components/Spinner/styles.js +16 -21
- package/lib/components/Tabs/Tabs.js +31 -18
- package/lib/components/Tabs/Tabs.stories.js +10 -6
- package/lib/components/Tabs/assets/index.js +6 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -32
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
- package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -26
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
- package/lib/components/TimeRangeSelector/constants.js +5 -3
- package/lib/components/TimeRangeSelector/index.js +4 -3
- package/lib/components/Toggle/Toggle.js +18 -11
- package/lib/components/Toggle/index.js +4 -3
- package/lib/components/TopBanner/TopBanner.js +235 -0
- package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
- package/lib/components/TrendGraph/TrendGraph.js +42 -24
- package/lib/components/TrendGraph/index.js +4 -3
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/components/TrendGraphNVL/index.js +4 -3
- package/lib/development-environment/index.js +13 -9
- package/lib/development-environment/mock/browser.js +5 -2
- package/lib/development-environment/mock/get.js +10 -8
- package/lib/development-environment/mock/handlers.js +3 -2
- package/lib/development-environment/mock/mockBus.js +5 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
- package/lib/development-environment/togly/ToglyDashboard.js +23 -13
- package/lib/development-environment/togly/ToglyItem.js +31 -24
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +4 -4
- package/lib/development-environment/togly/macro.js +9 -13
- package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
- package/lib/development-environment/togly/useLocalStorage.js +18 -13
- package/lib/hooks/useApi.js +56 -20
- package/lib/hooks/useApiWithDashboardQuery.js +43 -23
- package/lib/hooks/useClickOutside.js +5 -4
- package/lib/hooks/useInitializeHeaders.js +6 -6
- package/lib/hooks/useKandoFetch.js +31 -17
- package/lib/hooks/useMap.js +37 -25
- package/lib/hooks/useNavContext.js +26 -22
- package/lib/hooks/useQueryURL.js +3 -2
- package/lib/hooks/useRemoveExistingLayers.js +8 -7
- package/lib/hooks/useUpdateEventBodyTail.js +19 -14
- package/lib/hooks/useUserTimeZone.js +31 -34
- package/lib/hooks/useUserTimeZone.test.js +23 -19
- package/lib/hooks/useWindowSize.js +14 -7
- package/lib/i18n/en.json +15 -3
- package/lib/i18n/fr.json +4 -0
- package/lib/i18n/he.json +12 -1
- package/lib/i18n/it.json +4 -0
- package/lib/index.js +13 -11
- package/lib/macros/getVersion.js +2 -2
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +68 -34
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -15
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -26
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
- package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
- package/lib/pages/CannyWidget/Feedback.js +16 -14
- package/lib/pages/CovidPage/CovidPage.js +16 -9
- package/lib/pages/CovidPage/components/Body.js +30 -26
- package/lib/pages/CovidPage/components/Map.js +40 -28
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +29 -20
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
- package/lib/pages/CovidPage/components/areas/Area.js +36 -24
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
- package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
- package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +27 -27
- package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
- package/lib/pages/DashboardMap/Capacity.js +77 -28
- package/lib/pages/DashboardMap/FactoryCard.js +24 -28
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
- package/lib/pages/DashboardMap/List.js +65 -55
- package/lib/pages/DashboardMap/ListContext.js +19 -14
- package/lib/pages/DashboardMap/Loader.js +3 -3
- package/lib/pages/DashboardMap/SeverityBadge.js +24 -16
- package/lib/pages/DashboardMap/WWTPMap.js +71 -57
- package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
- package/lib/pages/DashboardMap/Widget.js +67 -48
- package/lib/pages/DashboardMap/index.js +4 -3
- package/lib/pages/DashboardMap/utils.js +60 -41
- package/lib/pages/EventsPage/Body/Body.js +12 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -16
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
- package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +38 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -14
- package/lib/pages/EventsPage/EventsPage.js +17 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +40 -26
- package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
- package/lib/pages/EventsPage/events/Sidebar.js +11 -14
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
- package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -35
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +60 -50
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
- package/lib/pages/EventsPage/events/event_info/EventSection.js +21 -18
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +23 -29
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +35 -30
- package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +15 -14
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +12 -9
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +28 -22
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -13
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +19 -23
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +7 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
- package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
- package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
- package/lib/pages/EventsPage/events/events_list/EventsList.js +142 -111
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +135 -90
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +76 -54
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +41 -32
- package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +21 -19
- package/lib/pages/EventsPage/events/events_list/Sort.js +39 -28
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
- package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
- package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
- package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
- package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
- package/lib/pages/ImportFileWizard/index.js +4 -3
- package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +44 -38
- package/lib/pages/ImportGisPage/importGisUtils.js +52 -43
- package/lib/pages/ImportGisProcess/index.js +18 -14
- package/lib/pages/ImportSiteProcess/index.js +18 -14
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +60 -28
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
- package/lib/pages/NotificationsPage/assets/index.js +10 -10
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +101 -72
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +15 -13
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +17 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +22 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +71 -82
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +23 -19
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -71
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +94 -80
- package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +132 -56
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -16
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/OperationsPage/LeftPanel.js +55 -35
- package/lib/pages/OperationsPage/Map/Map.js +12 -12
- package/lib/pages/OperationsPage/Map/useMap.js +64 -52
- package/lib/pages/OperationsPage/OperationsContainerPage.js +59 -32
- package/lib/pages/OperationsPage/OperationsFilePage.js +12 -10
- package/lib/pages/OperationsPage/OperationsUtilityPage.js +6 -5
- package/lib/pages/OperationsPage/RightPanel.js +25 -22
- package/lib/pages/OperationsPage/index.js +4 -4
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +60 -27
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +25 -19
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/Map.js +42 -38
- package/lib/pages/PollutionRiskAssessment/SearchButton.js +10 -11
- package/lib/pages/PollutionRiskAssessment/SearchField.js +40 -26
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
- package/lib/pages/PollutionRiskAssessment/UseCases.js +34 -32
- package/lib/pages/PollutionRiskAssessment/index.js +136 -76
- package/lib/pages/PollutionRiskAssessment/useMap.js +50 -34
- package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
- package/lib/pages/ProfilePage/Container.js +4 -3
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
- package/lib/pages/ProfilePage/ProfilePage.js +205 -106
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -27
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +45 -40
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +24 -25
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
- package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
- package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
- package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +61 -36
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +193 -108
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +53 -51
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
- package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
- package/lib/pages/SamplingsPage/index.js +3 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +83 -52
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -10
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
- package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
- package/lib/pages/SitePage/SitePage.js +77 -37
- package/lib/pages/UploadLabResult/index.js +16 -15
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -20
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -15
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -26
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
- package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
- package/lib/pages/WbeDashboard/SearchInput.js +21 -15
- package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +210 -147
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
- package/lib/pages/WwtpPage/DashboardCard.js +21 -25
- package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +11 -11
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
- package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
- package/lib/pages/WwtpPage/Map.js +6 -6
- package/lib/pages/WwtpPage/OrganicCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
- package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
- package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
- package/lib/pages/WwtpPage/PredictionCard.js +5 -4
- package/lib/pages/WwtpPage/TrendCard.js +22 -20
- package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
- package/lib/pages/WwtpPage/WwtpPage.js +8 -9
- package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
- package/lib/pages/WwtpPage/index.js +4 -3
- package/lib/providers/Slideshow/SlideshowContext.js +10 -11
- package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
- package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
- package/lib/providers/UrlHistory/index.js +4 -4
- package/lib/providers/UrlHistory/useLastVisited.js +6 -5
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +5 -4
- package/lib/store/ImportGis/actionsCreator.js +5 -7
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +7 -9
- package/lib/store/WBE/actionTypes.js +3 -2
- package/lib/store/WBE/actions.js +1 -1
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +8 -10
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
- package/lib/store/WWTPDashboard/types.js +1 -1
- package/lib/store/areas/actionTypes.js +7 -4
- package/lib/store/areas/actions.js +13 -7
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +6 -8
- package/lib/store/context/actionTypes.js +5 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +18 -15
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +8 -10
- package/lib/store/dashboard/dashboardSlice.js +11 -18
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +9 -5
- package/lib/store/edges/actions.js +8 -4
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +17 -13
- package/lib/store/events/actionTypes.js +33 -17
- package/lib/store/events/actions.js +7 -3
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +39 -28
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +21 -11
- package/lib/store/global/actions.js +6 -8
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +7 -9
- package/lib/store/permissions/permissionsSlice.js +9 -12
- package/lib/store/points/actionTypes.js +5 -3
- package/lib/store/points/actions.js +10 -6
- package/lib/store/points/models/IGeoPoint.js +1 -1
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IIssue.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +5 -7
- package/lib/store/rootActionTypes.js +3 -2
- package/lib/store/rootActions.js +1 -1
- package/lib/store/rootReducer.js +10 -12
- package/lib/store/rootStore.js +6 -6
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +5 -4
- package/lib/store/samplings/actionsCreator.js +1 -1
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +10 -10
- package/lib/styles/StylesLayout.js +6 -7
- package/lib/styles/theme/theme.js +26 -23
- package/lib/test/mocks/browser.js +5 -2
- package/lib/test/test-utils.js +9 -12
- package/lib/ui-kit/Alert/KandoAlert.js +6 -8
- package/lib/ui-kit/Button/Button.js +83 -129
- package/lib/ui-kit/Button/Button.test.js +33 -27
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +27 -34
- package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
- package/lib/ui-kit/Dashboard/Dashboard.js +28 -29
- package/lib/ui-kit/Dashboard/index.js +4 -3
- package/lib/ui-kit/DropDown/DropDown.js +22 -23
- package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
- package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +81 -69
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +167 -89
- package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
- package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +19 -17
- package/lib/ui-kit/HierarchyGraph/NodeIcon.js +8 -9
- package/lib/ui-kit/HierarchyGraph/NodeLayout.js +25 -22
- package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +10 -11
- package/lib/ui-kit/HierarchyGraph/ScoreNode.js +9 -10
- package/lib/ui-kit/HierarchyGraph/index.js +4 -3
- package/lib/ui-kit/HierarchyGraph/utils.js +67 -57
- package/lib/ui-kit/IconAction/IconAction.js +8 -9
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
- package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
- package/lib/ui-kit/InletsPie/index.js +4 -3
- package/lib/ui-kit/InletsPie/options.js +9 -7
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +38 -29
- package/lib/ui-kit/KandoFilter/KandoFilter.js +11 -10
- package/lib/ui-kit/KandoList/KandoList.js +12 -13
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
- package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +7 -8
- package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
- package/lib/ui-kit/ModalConfirmation/index.js +3 -2
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +22 -26
- package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
- package/lib/ui-kit/OrganicEvents/index.js +4 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
- package/lib/ui-kit/ScoreGauge/constant.js +4 -3
- package/lib/ui-kit/ScoreGauge/index.js +4 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +28 -25
- package/lib/ui-kit/TimeLineChart/index.js +4 -3
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
- package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
- package/lib/ui-kit/siteName/SiteName.js +11 -13
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +20 -23
- package/lib/utilities/Analytics.js +19 -19
- package/lib/utilities/Array.js +5 -4
- package/lib/utilities/Enum.js +51 -15
- package/lib/utilities/ErrorBoundary.js +42 -27
- package/lib/utilities/File.js +73 -45
- package/lib/utilities/GetDir.js +10 -10
- package/lib/utilities/KandoDate.js +15 -7
- package/lib/utilities/KandoModal.js +28 -16
- package/lib/utilities/LocalStorage.js +7 -5
- package/lib/utilities/ThousandsToK.js +2 -2
- package/lib/utilities/TimeFormat.js +23 -22
- package/lib/utilities/Truncate.js +27 -17
- package/lib/utilities/edgesMath.js +16 -15
- package/lib/utilities/i18n.js +6 -5
- package/lib/utilities/kql.js +12 -10
- package/lib/utilities/map/icons.js +18 -18
- package/lib/utilities/polylinedecorator.js +113 -88
- package/lib/utilities/scoreToData.js +26 -20
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +10 -9
- package/lib/utilities/uploadToS3.js +12 -12
- package/lib/utilities/urls.js +16 -19
- package/package.json +9 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
4
|
-
var
|
|
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
|
});
|
|
@@ -10,41 +10,45 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _PointMarker = _interopRequireDefault(require("./PointMarker"));
|
|
11
11
|
var _PointUtils = require("./PointUtils");
|
|
12
12
|
var _reactRedux = require("react-redux");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
15
|
+
var PointMarkers = function PointMarkers(props) {
|
|
16
|
+
var points = props.points,
|
|
17
|
+
map = props.map,
|
|
18
|
+
factoriesGroup = props.factoriesGroup,
|
|
19
|
+
wwtpsGroup = props.wwtpsGroup,
|
|
20
|
+
collectorsGroup = props.collectorsGroup,
|
|
21
|
+
rerender = props.rerender;
|
|
22
22
|
|
|
23
23
|
// This function is used to determine if a point should be included in the map.
|
|
24
|
-
|
|
24
|
+
var isPointBelongToGroupTypes = function isPointBelongToGroupTypes(point) {
|
|
25
25
|
return (0, _PointUtils.pointIsWWTP)(point) || (0, _PointUtils.pointIsFactory)(point) || point.group.type === 'Groups::Collectors' && point.has_device || point.group.type === 'Groups::PumpStation';
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
var pointHasCoordinates = function pointHasCoordinates(point) {
|
|
28
|
+
var lat = point.latitude;
|
|
29
|
+
var lng = point.longitude;
|
|
30
|
+
var isValid = typeof lat === 'number' && typeof lng === 'number' && !isNaN(lat) && !isNaN(lng);
|
|
31
31
|
if (!isValid) {
|
|
32
32
|
console.warn("Point ".concat(point.id, " has invalid coordinates: ").concat(lat, ", ").concat(lng));
|
|
33
33
|
}
|
|
34
34
|
return isValid;
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
var filterStatement = function filterStatement(point) {
|
|
37
37
|
return isPointBelongToGroupTypes(point) && pointHasCoordinates(point);
|
|
38
38
|
};
|
|
39
|
-
|
|
40
|
-
return points.filter(
|
|
39
|
+
var filteredPoints = (0, _react.useMemo)(function () {
|
|
40
|
+
return points.filter(function (point) {
|
|
41
|
+
return filterStatement(point);
|
|
42
|
+
});
|
|
41
43
|
}, [points]);
|
|
42
44
|
|
|
43
45
|
// const globalData = useSelector(
|
|
44
46
|
// (state: ReturnType<typeof appReducer>) => state.global_data,
|
|
45
47
|
// );
|
|
46
48
|
|
|
47
|
-
|
|
49
|
+
var userInfo = (0, _reactRedux.useSelector)(function (state) {
|
|
50
|
+
return state.permissions.user_info;
|
|
51
|
+
});
|
|
48
52
|
|
|
49
53
|
// const [layersToRemove, setLayersToRemove] = useState<any[]>([]);
|
|
50
54
|
|
|
@@ -118,7 +122,7 @@ const PointMarkers = props => {
|
|
|
118
122
|
// }
|
|
119
123
|
// };
|
|
120
124
|
|
|
121
|
-
(0, _react.useEffect)(()
|
|
125
|
+
(0, _react.useEffect)(function () {
|
|
122
126
|
if (map) {
|
|
123
127
|
// if (forEventsView) {
|
|
124
128
|
// // In events view, always show all layers
|
|
@@ -151,14 +155,16 @@ const PointMarkers = props => {
|
|
|
151
155
|
// }
|
|
152
156
|
}
|
|
153
157
|
}, [rerender, points]);
|
|
154
|
-
return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && filteredPoints.map(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && filteredPoints.map(function (point) {
|
|
159
|
+
return /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
|
|
160
|
+
map: map,
|
|
161
|
+
point: point,
|
|
162
|
+
key: point.id,
|
|
163
|
+
rerender: rerender,
|
|
164
|
+
layerGroup: point.group.type === 'Groups::Factory' ? factoriesGroup : point.group.type === 'Groups::WastewaterTreatmentPlant' ? wwtpsGroup : collectorsGroup,
|
|
165
|
+
flowRateUnit: userInfo.flow_rate_unit
|
|
166
|
+
});
|
|
167
|
+
}));
|
|
162
168
|
};
|
|
163
169
|
exports.PointMarkers = PointMarkers;
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIlBvaW50TWFya2VycyIsInByb3BzIiwicG9pbnRzIiwibWFwIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwicmVyZW5kZXIiLCJpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzIiwicG9pbnQiLCJwb2ludElzV1dUUCIsInBvaW50SXNGYWN0b3J5IiwiZ3JvdXAiLCJ0eXBlIiwiaGFzX2RldmljZSIsInBvaW50SGFzQ29vcmRpbmF0ZXMiLCJsYXQiLCJsYXRpdHVkZSIsImxuZyIsImxvbmdpdHVkZSIsImlzVmFsaWQiLCJpc05hTiIsImNvbnNvbGUiLCJ3YXJuIiwiY29uY2F0IiwiaWQiLCJmaWx0ZXJTdGF0ZW1lbnQiLCJmaWx0ZXJlZFBvaW50cyIsInVzZU1lbW8iLCJmaWx0ZXIiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsInVzZUVmZmVjdCIsImFkZExheWVyR3JvdXAiLCJyZW1vdmVMYXllckdyb3VwIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJsZW5ndGgiLCJrZXkiLCJsYXllckdyb3VwIiwiZmxvd1JhdGVVbml0IiwiZmxvd19yYXRlX3VuaXQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludE1hcmtlcnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IFBvaW50TWFya2VyIGZyb20gJy4vUG9pbnRNYXJrZXInO1xuaW1wb3J0IHtcbiAgYWRkTGF5ZXJHcm91cCxcbiAgcmVtb3ZlTGF5ZXJHcm91cCxcbiAgcG9pbnRJc0ZhY3RvcnksXG4gIHBvaW50SXNXV1RQLFxufSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludHM6IGFueTtcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiBib29sZWFuO1xuICByZXJlbmRlcjogc3RyaW5nO1xuICBmYWN0b3JpZXNHcm91cDogYW55O1xuICB3d3Rwc0dyb3VwOiBhbnk7XG4gIGNvbGxlY3RvcnNHcm91cDogYW55O1xuICBmb3JFdmVudHNWaWV3PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50cywgbWFwLCBmYWN0b3JpZXNHcm91cCwgd3d0cHNHcm91cCwgY29sbGVjdG9yc0dyb3VwLCByZXJlbmRlciB9ID1cbiAgICBwcm9wcztcblxuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgcG9pbnQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBtYXAuXG4gIGNvbnN0IGlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwb2ludElzV1dUUChwb2ludCkgfHxcbiAgICAgIHBvaW50SXNGYWN0b3J5KHBvaW50KSB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnICYmIHBvaW50Lmhhc19kZXZpY2UpIHx8XG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpQdW1wU3RhdGlvbidcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHBvaW50SGFzQ29vcmRpbmF0ZXMgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIGNvbnN0IGxhdCA9IHBvaW50LmxhdGl0dWRlO1xuICAgIGNvbnN0IGxuZyA9IHBvaW50LmxvbmdpdHVkZTtcbiAgICBjb25zdCBpc1ZhbGlkID1cbiAgICAgIHR5cGVvZiBsYXQgPT09ICdudW1iZXInICYmXG4gICAgICB0eXBlb2YgbG5nID09PSAnbnVtYmVyJyAmJlxuICAgICAgIWlzTmFOKGxhdCkgJiZcbiAgICAgICFpc05hTihsbmcpO1xuICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgY29uc29sZS53YXJuKGBQb2ludCAke3BvaW50LmlkfSBoYXMgaW52YWxpZCBjb29yZGluYXRlczogJHtsYXR9LCAke2xuZ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzVmFsaWQ7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyU3RhdGVtZW50ID0gKHBvaW50KSA9PiB7XG4gICAgcmV0dXJuIGlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMocG9pbnQpICYmIHBvaW50SGFzQ29vcmRpbmF0ZXMocG9pbnQpO1xuICB9O1xuXG4gIGNvbnN0IGZpbHRlcmVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IGZpbHRlclN0YXRlbWVudChwb2ludCkpO1xuICB9LCBbcG9pbnRzXSk7XG5cbiAgLy8gY29uc3QgZ2xvYmFsRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAvLyAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmdsb2JhbF9kYXRhLFxuICAvLyApO1xuXG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuXG4gIC8vIGNvbnN0IFtsYXllcnNUb1JlbW92ZSwgc2V0TGF5ZXJzVG9SZW1vdmVdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcblxuICAvLyBjb25zdCByZW1vdmVFdmVudFBvaW50c0Zyb21DbHVzdGVyID0gKHVuaXFlSWRzLCBsb2NhbExheWVyc1RvUmVtb3ZlKSA9PiB7XG4gIC8vICAgaWYgKCFmYWN0b3JpZXNHcm91cCB8fCAhbWFwKSB7XG4gIC8vICAgICBjb25zb2xlLndhcm4oJ0VpdGhlciBmYWN0b3JpZXNHcm91cCBvciBtYXAgaXMgdW5kZWZpbmVkLicpO1xuICAvLyAgICAgcmV0dXJuO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFJlZnJlc2ggY2x1c3RlcnMgdG8gdXBkYXRlIGludGVybmFsIHN0cnVjdHVyZXMuXG4gIC8vICAgZmFjdG9yaWVzR3JvdXAucmVmcmVzaENsdXN0ZXJzKCk7XG5cbiAgLy8gICB1bmlxZUlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAvLyAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAvLyAgICAgICBjb25zdCBsYXllciA9IG1hcC5fbGF5ZXJzW3Byb3BlcnR5XTtcbiAgLy8gICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgbGF5ZXIgZXhpc3RzLCBpcyBvZiB0eXBlICdQb2ludCcsIGhhcyB0aGUgZXhwZWN0ZWQgaWQsXG4gIC8vICAgICAgIC8vIGFuZCB0aGF0IGl0IGltcGxlbWVudHMgZ2V0TGF0TG5nLlxuICAvLyAgICAgICBpZiAoXG4gIC8vICAgICAgICAgbGF5ZXIgJiZcbiAgLy8gICAgICAgICBsYXllci5rYW5kb19vYmplY3QgPT09ICdQb2ludCcgJiZcbiAgLy8gICAgICAgICBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkICYmXG4gIC8vICAgICAgICAgdHlwZW9mIGxheWVyLmdldExhdExuZyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAvLyAgICAgICAgIHR5cGVvZiBsYXllci5fem9vbSA9PT0gJ251bWJlcidcbiAgLy8gICAgICAgKSB7XG4gIC8vICAgICAgICAgbG9jYWxMYXllcnNUb1JlbW92ZS5wdXNoKGxheWVyKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuXG4gIC8vICAgLy8gRmlsdGVyIG91dCBkdXBsaWNhdGVzIGFuZCBhbnkgdW5kZWZpbmVkIGxheWVycy5cbiAgLy8gICBjb25zdCB1bmlxdWVMYXllcnMgPSBsb2NhbExheWVyc1RvUmVtb3ZlLmZpbHRlcihcbiAgLy8gICAgIChsYXllciwgaW5kZXgsIHNlbGYpID0+XG4gIC8vICAgICAgIGxheWVyICYmXG4gIC8vICAgICAgIHR5cGVvZiBsYXllci5nZXRMYXRMbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgLy8gICAgICAgaW5kZXggPT09XG4gIC8vICAgICAgICAgc2VsZi5maW5kSW5kZXgoKGwpID0+IGwua2FuZG9fb2JqZWN0X2lkID09PSBsYXllci5rYW5kb19vYmplY3RfaWQpLFxuICAvLyAgICk7XG5cbiAgLy8gICBzZXRMYXllcnNUb1JlbW92ZSh1bmlxdWVMYXllcnMpO1xuICAvLyAgIGZhY3Rvcmllc0dyb3VwLnJlbW92ZUxheWVycyh1bmlxdWVMYXllcnMpO1xuICAvLyB9O1xuXG4gIC8vIGNvbnN0IGFkZEV2ZW50UG9pbnRzVG9DbHVzdGVyID0gKCkgPT4ge1xuICAvLyAgIGxldCBsYXllcnNUb0RyYXcgPSBbXTtcbiAgLy8gICBsZXQgbGF5ZXJzSWRzID0gbGF5ZXJzVG9SZW1vdmUubWFwKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkKTtcbiAgLy8gICBsZXQgdW5pcWVJZHMgPSBbLi4ubmV3IFNldChsYXllcnNJZHMpXTtcbiAgLy8gICB1bmlxZUlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAvLyAgICAgbGF5ZXJzVG9EcmF3LnB1c2goXG4gIC8vICAgICAgIGxheWVyc1RvUmVtb3ZlLmZpbmQoKGxheWVyKSA9PiBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkKSxcbiAgLy8gICAgICk7XG4gIC8vICAgfSk7XG5cbiAgLy8gICBsYXllcnNUb0RyYXcuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgLy8gICAgIGxldCBwb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGxheWVyLmthbmRvX29iamVjdF9pZCk7XG4gIC8vICAgICBwb2ludCAmJiBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgbGF5ZXIsIHVzZXJJbmZvLmZsb3dfcmF0ZV91bml0KTtcbiAgLy8gICB9KTtcbiAgLy8gICBmYWN0b3JpZXNHcm91cC5hZGRMYXllcnMobGF5ZXJzVG9EcmF3KTtcbiAgLy8gfTtcblxuICAvLyBjb25zdCBtYWtlU3VyZVRoZXJlQXJlTm9EdXBsaWNhdGVzID0gKCkgPT4ge1xuICAvLyAgIGxldCBsb2NhbExheWVyc1RvUmVtb3ZlID0gW107XG5cbiAgLy8gICBpZiAoZXZlbnRzRGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgLy8gICAgIGxldCBvYnNJZHMgPSBldmVudHNEYXRhLmZvY3VzZWRFdmVudC5vYnNlcnZhdGlvbnMubWFwKFxuICAvLyAgICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQsXG4gIC8vICAgICApO1xuICAvLyAgICAgbGV0IHVuaXFlSWRzID0gWy4uLm5ldyBTZXQob2JzSWRzKV07XG4gIC8vICAgICByZW1vdmVFdmVudFBvaW50c0Zyb21DbHVzdGVyKHVuaXFlSWRzLCBsb2NhbExheWVyc1RvUmVtb3ZlKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgYWRkRXZlbnRQb2ludHNUb0NsdXN0ZXIoKTtcbiAgLy8gICB9XG4gIC8vIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWFwKSB7XG4gICAgICAvLyBpZiAoZm9yRXZlbnRzVmlldykge1xuICAgICAgLy8gICAvLyBJbiBldmVudHMgdmlldywgYWx3YXlzIHNob3cgYWxsIGxheWVyc1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAvLyAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAocmVyZW5kZXIpIHtcbiAgICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgLy8gZmFjdG9yaWVzIGdyb3VwIGhhcyBhIHBhcmVudCBsYXllciBpbiBtYXAudHN4XG4gICAgICAgICAgLy8gc28gd2UgZG9uJ3QgbmVlZCB0byByZW1vdmUgaXQgaGVyZVxuICAgICAgICAgIC8vIHJlbW92ZUxheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTGFyZ2UnOlxuICAgICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBjYXNlICdTbWFsbCc6XG4gICAgICAgICAgLy8gd2UgYXJlIGhhbmRsaW5nIGZhY3Rvcmllc1BhcmVudEdyb3VwIGluIG1hcC50c3hcbiAgICAgICAgICAvLyBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfSwgW3JlcmVuZGVyLCBwb2ludHNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7cG9pbnRzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBmaWx0ZXJlZFBvaW50cy5tYXAoKHBvaW50OiBJUG9pbnQpID0+IChcbiAgICAgICAgICA8UG9pbnRNYXJrZXJcbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgcG9pbnQ9e3BvaW50fVxuICAgICAgICAgICAga2V5PXtwb2ludC5pZH1cbiAgICAgICAgICAgIHJlcmVuZGVyPXtyZXJlbmRlcn1cbiAgICAgICAgICAgIGxheWVyR3JvdXA9e1xuICAgICAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5J1xuICAgICAgICAgICAgICAgID8gZmFjdG9yaWVzR3JvdXBcbiAgICAgICAgICAgICAgICA6IHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCdcbiAgICAgICAgICAgICAgICA/IHd3dHBzR3JvdXBcbiAgICAgICAgICAgICAgICA6IGNvbGxlY3RvcnNHcm91cFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmxvd1JhdGVVbml0PXt1c2VySW5mby5mbG93X3JhdGVfdW5pdH1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBTUEsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBYU8sTUFBTUssWUFBNkIsR0FBSUMsS0FBSyxJQUFLO0VBQ3RELE1BQU07SUFBRUMsTUFBTTtJQUFFQyxHQUFHO0lBQUVDLGNBQWM7SUFBRUMsVUFBVTtJQUFFQyxlQUFlO0lBQUVDO0VBQVMsQ0FBQyxHQUMxRU4sS0FBSzs7RUFFUDtFQUNBLE1BQU1PLHlCQUF5QixHQUFJQyxLQUFhLElBQUs7SUFD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
|
|
170
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUG9pbnRNYXJrZXJzIiwicHJvcHMiLCJwb2ludHMiLCJtYXAiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJyZXJlbmRlciIsImlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMiLCJwb2ludCIsInBvaW50SXNXV1RQIiwicG9pbnRJc0ZhY3RvcnkiLCJncm91cCIsInR5cGUiLCJoYXNfZGV2aWNlIiwicG9pbnRIYXNDb29yZGluYXRlcyIsImxhdCIsImxhdGl0dWRlIiwibG5nIiwibG9uZ2l0dWRlIiwiaXNWYWxpZCIsImlzTmFOIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJpZCIsImZpbHRlclN0YXRlbWVudCIsImZpbHRlcmVkUG9pbnRzIiwidXNlTWVtbyIsImZpbHRlciIsInVzZXJJbmZvIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBlcm1pc3Npb25zIiwidXNlcl9pbmZvIiwidXNlRWZmZWN0IiwiYWRkTGF5ZXJHcm91cCIsInJlbW92ZUxheWVyR3JvdXAiLCJjcmVhdGVFbGVtZW50IiwibGVuZ3RoIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImZsb3dfcmF0ZV91bml0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcbmltcG9ydCB7XG4gIGFkZExheWVyR3JvdXAsXG4gIHJlbW92ZUxheWVyR3JvdXAsXG4gIHBvaW50SXNGYWN0b3J5LFxuICBwb2ludElzV1dUUCxcbn0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnRzOiBhbnk7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogYm9vbGVhbjtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgZmFjdG9yaWVzR3JvdXA6IGFueTtcbiAgd3d0cHNHcm91cDogYW55O1xuICBjb2xsZWN0b3JzR3JvdXA6IGFueTtcbiAgZm9yRXZlbnRzVmlldz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgUG9pbnRNYXJrZXJzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwb2ludHMsIG1hcCwgZmFjdG9yaWVzR3JvdXAsIHd3dHBzR3JvdXAsIGNvbGxlY3RvcnNHcm91cCwgcmVyZW5kZXIgfSA9XG4gICAgcHJvcHM7XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIHBvaW50IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbWFwLlxuICBjb25zdCBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnRJc1dXVFAocG9pbnQpIHx8XG4gICAgICBwb2ludElzRmFjdG9yeShwb2ludCkgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBwb2ludEhhc0Nvb3JkaW5hdGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICBjb25zdCBsYXQgPSBwb2ludC5sYXRpdHVkZTtcbiAgICBjb25zdCBsbmcgPSBwb2ludC5sb25naXR1ZGU7XG4gICAgY29uc3QgaXNWYWxpZCA9XG4gICAgICB0eXBlb2YgbGF0ID09PSAnbnVtYmVyJyAmJlxuICAgICAgdHlwZW9mIGxuZyA9PT0gJ251bWJlcicgJiZcbiAgICAgICFpc05hTihsYXQpICYmXG4gICAgICAhaXNOYU4obG5nKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgUG9pbnQgJHtwb2ludC5pZH0gaGFzIGludmFsaWQgY29vcmRpbmF0ZXM6ICR7bGF0fSwgJHtsbmd9YCk7XG4gICAgfVxuICAgIHJldHVybiBpc1ZhbGlkO1xuICB9O1xuXG4gIGNvbnN0IGZpbHRlclN0YXRlbWVudCA9IChwb2ludCkgPT4ge1xuICAgIHJldHVybiBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KSAmJiBwb2ludEhhc0Nvb3JkaW5hdGVzKHBvaW50KTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJlZFBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBwb2ludHMuZmlsdGVyKChwb2ludDogSVBvaW50KSA9PiBmaWx0ZXJTdGF0ZW1lbnQocG9pbnQpKTtcbiAgfSwgW3BvaW50c10pO1xuXG4gIC8vIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgLy8gICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgLy8gKTtcblxuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICAvLyBjb25zdCBbbGF5ZXJzVG9SZW1vdmUsIHNldExheWVyc1RvUmVtb3ZlXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgLy8gY29uc3QgcmVtb3ZlRXZlbnRQb2ludHNGcm9tQ2x1c3RlciA9ICh1bmlxZUlkcywgbG9jYWxMYXllcnNUb1JlbW92ZSkgPT4ge1xuICAvLyAgIGlmICghZmFjdG9yaWVzR3JvdXAgfHwgIW1hcCkge1xuICAvLyAgICAgY29uc29sZS53YXJuKCdFaXRoZXIgZmFjdG9yaWVzR3JvdXAgb3IgbWFwIGlzIHVuZGVmaW5lZC4nKTtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG5cbiAgLy8gICAvLyBSZWZyZXNoIGNsdXN0ZXJzIHRvIHVwZGF0ZSBpbnRlcm5hbCBzdHJ1Y3R1cmVzLlxuICAvLyAgIGZhY3Rvcmllc0dyb3VwLnJlZnJlc2hDbHVzdGVycygpO1xuXG4gIC8vICAgdW5pcWVJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgLy8gICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgLy8gICAgICAgY29uc3QgbGF5ZXIgPSBtYXAuX2xheWVyc1twcm9wZXJ0eV07XG4gIC8vICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGxheWVyIGV4aXN0cywgaXMgb2YgdHlwZSAnUG9pbnQnLCBoYXMgdGhlIGV4cGVjdGVkIGlkLFxuICAvLyAgICAgICAvLyBhbmQgdGhhdCBpdCBpbXBsZW1lbnRzIGdldExhdExuZy5cbiAgLy8gICAgICAgaWYgKFxuICAvLyAgICAgICAgIGxheWVyICYmXG4gIC8vICAgICAgICAgbGF5ZXIua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnICYmXG4gIC8vICAgICAgICAgbGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBpZCAmJlxuICAvLyAgICAgICAgIHR5cGVvZiBsYXllci5nZXRMYXRMbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgLy8gICAgICAgICB0eXBlb2YgbGF5ZXIuX3pvb20gPT09ICdudW1iZXInXG4gIC8vICAgICAgICkge1xuICAvLyAgICAgICAgIGxvY2FsTGF5ZXJzVG9SZW1vdmUucHVzaChsYXllcik7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcblxuICAvLyAgIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlcyBhbmQgYW55IHVuZGVmaW5lZCBsYXllcnMuXG4gIC8vICAgY29uc3QgdW5pcXVlTGF5ZXJzID0gbG9jYWxMYXllcnNUb1JlbW92ZS5maWx0ZXIoXG4gIC8vICAgICAobGF5ZXIsIGluZGV4LCBzZWxmKSA9PlxuICAvLyAgICAgICBsYXllciAmJlxuICAvLyAgICAgICB0eXBlb2YgbGF5ZXIuZ2V0TGF0TG5nID09PSAnZnVuY3Rpb24nICYmXG4gIC8vICAgICAgIGluZGV4ID09PVxuICAvLyAgICAgICAgIHNlbGYuZmluZEluZGV4KChsKSA9PiBsLmthbmRvX29iamVjdF9pZCA9PT0gbGF5ZXIua2FuZG9fb2JqZWN0X2lkKSxcbiAgLy8gICApO1xuXG4gIC8vICAgc2V0TGF5ZXJzVG9SZW1vdmUodW5pcXVlTGF5ZXJzKTtcbiAgLy8gICBmYWN0b3JpZXNHcm91cC5yZW1vdmVMYXllcnModW5pcXVlTGF5ZXJzKTtcbiAgLy8gfTtcblxuICAvLyBjb25zdCBhZGRFdmVudFBvaW50c1RvQ2x1c3RlciA9ICgpID0+IHtcbiAgLy8gICBsZXQgbGF5ZXJzVG9EcmF3ID0gW107XG4gIC8vICAgbGV0IGxheWVyc0lkcyA9IGxheWVyc1RvUmVtb3ZlLm1hcCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCk7XG4gIC8vICAgbGV0IHVuaXFlSWRzID0gWy4uLm5ldyBTZXQobGF5ZXJzSWRzKV07XG4gIC8vICAgdW5pcWVJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgLy8gICAgIGxheWVyc1RvRHJhdy5wdXNoKFxuICAvLyAgICAgICBsYXllcnNUb1JlbW92ZS5maW5kKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBpZCksXG4gIC8vICAgICApO1xuICAvLyAgIH0pO1xuXG4gIC8vICAgbGF5ZXJzVG9EcmF3LmZvckVhY2goKGxheWVyKSA9PiB7XG4gIC8vICAgICBsZXQgcG9pbnQgPSBwb2ludHMuZmluZCgocG9pbnQpID0+IHBvaW50LmlkID09PSBsYXllci5rYW5kb19vYmplY3RfaWQpO1xuICAvLyAgICAgcG9pbnQgJiYgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIGxheWVyLCB1c2VySW5mby5mbG93X3JhdGVfdW5pdCk7XG4gIC8vICAgfSk7XG4gIC8vICAgZmFjdG9yaWVzR3JvdXAuYWRkTGF5ZXJzKGxheWVyc1RvRHJhdyk7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgbWFrZVN1cmVUaGVyZUFyZU5vRHVwbGljYXRlcyA9ICgpID0+IHtcbiAgLy8gICBsZXQgbG9jYWxMYXllcnNUb1JlbW92ZSA9IFtdO1xuXG4gIC8vICAgaWYgKGV2ZW50c0RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gIC8vICAgICBsZXQgb2JzSWRzID0gZXZlbnRzRGF0YS5mb2N1c2VkRXZlbnQub2JzZXJ2YXRpb25zLm1hcChcbiAgLy8gICAgICAgKG9icykgPT4gb2JzLnBvaW50X2lkLFxuICAvLyAgICAgKTtcbiAgLy8gICAgIGxldCB1bmlxZUlkcyA9IFsuLi5uZXcgU2V0KG9ic0lkcyldO1xuICAvLyAgICAgcmVtb3ZlRXZlbnRQb2ludHNGcm9tQ2x1c3Rlcih1bmlxZUlkcywgbG9jYWxMYXllcnNUb1JlbW92ZSk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGFkZEV2ZW50UG9pbnRzVG9DbHVzdGVyKCk7XG4gIC8vICAgfVxuICAvLyB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1hcCkge1xuICAgICAgLy8gaWYgKGZvckV2ZW50c1ZpZXcpIHtcbiAgICAgIC8vICAgLy8gSW4gZXZlbnRzIHZpZXcsIGFsd2F5cyBzaG93IGFsbCBsYXllcnNcbiAgICAgIC8vICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgIC8vICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKHJlcmVuZGVyKSB7XG4gICAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgICAgIC8vIGZhY3RvcmllcyBncm91cCBoYXMgYSBwYXJlbnQgbGF5ZXIgaW4gbWFwLnRzeFxuICAgICAgICAgIC8vIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVtb3ZlIGl0IGhlcmVcbiAgICAgICAgICAvLyByZW1vdmVMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICAgIC8vIHdlIGFyZSBoYW5kbGluZyBmYWN0b3JpZXNQYXJlbnRHcm91cCBpbiBtYXAudHN4XG4gICAgICAgICAgLy8gYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIH1cbiAgICB9XG4gIH0sIFtyZXJlbmRlciwgcG9pbnRzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgZmlsdGVyZWRQb2ludHMubWFwKChwb2ludDogSVBvaW50KSA9PiAoXG4gICAgICAgICAgPFBvaW50TWFya2VyXG4gICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgIHBvaW50PXtwb2ludH1cbiAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICByZXJlbmRlcj17cmVyZW5kZXJ9XG4gICAgICAgICAgICBsYXllckdyb3VwPXtcbiAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSdcbiAgICAgICAgICAgICAgICA/IGZhY3Rvcmllc0dyb3VwXG4gICAgICAgICAgICAgICAgOiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAgICAgICAgICAgPyB3d3Rwc0dyb3VwXG4gICAgICAgICAgICAgICAgOiBjb2xsZWN0b3JzR3JvdXBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZsb3dSYXRlVW5pdD17dXNlckluZm8uZmxvd19yYXRlX3VuaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEs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
|